.composed-page { --page-accent: var(--soft-pink); }
.composed-page.accent-aqua { --page-accent: var(--aqua); }
.composed-page.accent-yellow { --page-accent: var(--yellow); }
.composed-hero { padding: 88px max(25px,6vw); text-align: center; background: color-mix(in srgb,var(--page-accent) 16%,var(--ivory)); border-bottom: 1px solid var(--line); }
.composed-hero>div { max-width: 900px; margin: auto; }
.composed-hero h1 { font-size: clamp(45px,5.5vw,80px); line-height: 1.04; margin: 22px 0; overflow-wrap: anywhere; }
.composed-hero p { max-width: 660px; font-size: 17px; line-height: 1.85; margin: 24px auto 0; }
.composed-hero>img { max-width: 1000px; width: 100%; height: 500px; object-fit: cover; margin: 40px auto 0; border-radius: 22px; }
.composed-hero-split { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 65px; text-align: left; }
.composed-hero-split>div { margin: 0; }
.composed-hero-split>img { height: 580px; margin: 0; border: 2px solid var(--ink); box-shadow: 12px 12px 0 var(--page-accent); object-position: center 25%; }
.composed-hero .button { margin-top: 30px; }
.composed-section { padding: 65px max(25px,6vw); max-width: 1600px; margin: auto; }
.composed-section h2 { font-size: clamp(34px,3.5vw,52px); line-height: 1.12; overflow-wrap: anywhere; }
.composed-text>.prose { max-width: 800px; margin: auto; }
.composed-text .prose>h2:first-child { margin-top: 0; }
.composed-image { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.composed-image figure { margin: 0; }
.composed-image.image-right figure { order: 2; }
.composed-image img { width: 100%; max-height: 650px; object-fit: cover; border-radius: 18px; }
.composed-image figcaption { font-size: 13px; margin-top: 14px; color: var(--muted); }
.composed-quote { text-align: center; background: color-mix(in srgb,var(--page-accent) 20%,var(--ivory)); }
.composed-quote>span { font-family: var(--serif); font-size: 90px; line-height: 1; color: var(--rose); }
.composed-quote blockquote { max-width: 900px; margin: auto; }
.composed-quote blockquote p { font-family: var(--serif); font-size: clamp(28px,3.5vw,48px); line-height: 1.3; white-space: pre-line; }
.composed-quote cite { display: block; margin-top: 24px; font-style: normal; font-size: 14px; }
.composed-callout { display: flex; align-items: center; justify-content: space-between; gap: 45px; background: var(--page-accent); border-block: 2px solid var(--ink); }
.composed-callout>div { max-width: 750px; }
.composed-callout p { margin-top: 20px; line-height: 1.8; white-space: pre-line; }
.composed-callout .button { flex-shrink: 0; }
.composed-faq { padding-block: 12px; max-width: 1100px; }
.composed-faq details { border-bottom: 1px solid var(--ink); }
.composed-faq summary { display: flex; justify-content: space-between; gap: 25px; align-items: center; cursor: pointer; list-style: none; font-size: 21px; font-weight: 600; padding: 26px 0; }
.composed-faq summary::-webkit-details-marker { display: none; }
.composed-faq summary span { font-size: 30px; }
.composed-faq details[open] summary span { transform: rotate(45deg); }
.composed-faq .prose { padding-bottom: 24px; }
.composed-features>h2,.ministry-section-intro { margin-bottom: 35px; }
.composed-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.composed-card-grid article { border: 2px solid var(--ink); border-radius: 20px; padding: 30px; background: color-mix(in srgb,var(--soft-pink) 15%,var(--ivory)); }
.composed-card-grid article:nth-child(2) { background: color-mix(in srgb,var(--aqua) 15%,var(--ivory)); }
.composed-card-grid article:nth-child(3) { background: color-mix(in srgb,var(--yellow) 30%,var(--ivory)); }
.composed-card-grid h3 { font-size: 30px; line-height: 1.15; margin: 20px 0; overflow-wrap: anywhere; }
.composed-card-grid p { font-size: 15px; line-height: 1.8; white-space: pre-line; }
.page-preview-banner { display: flex; justify-content: center; align-items: center; gap: 22px; padding: 16px 25px; background: var(--yellow); border-bottom: 2px solid var(--ink); font-size: 13px; flex-wrap: wrap; }
.page-preview-banner a { text-decoration: underline; }
.ministry-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.ministry-story h2 { margin: 20px 0 26px; }
.ministry-section-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: end; }
.ministry-section-intro p { font-size: 16px; line-height: 1.85; }
.ministry-invitation { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; background: color-mix(in srgb,var(--aqua) 9%,var(--ivory)); scroll-margin-top: 25px; }
.ministry-invitation-copy { position: sticky; top: 35px; }
.ministry-invitation-copy h2 { margin: 22px 0; }
.ministry-invitation .form-card { padding: 35px; min-width: 0; }
.ministry-invitation .form-card h2 { font-size: 30px; margin-bottom: 22px; }
.ministry-invitation .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ministry-invitation .field-row>div { min-width: 0; }
.ministry-invitation input,.ministry-invitation textarea,.ministry-invitation select { font-size: 16px; }
.ministry-invitation .field-hint { font-size: 14px; margin-bottom: 25px; line-height: 1.7; }
.ministry-invitation .button { white-space: normal; }
@media(max-width:1000px) { .composed-hero-split { gap: 35px; }.composed-hero-split>img { height: 500px; }.ministry-invitation { gap: 30px; grid-template-columns: .8fr 1.2fr; }.ministry-invitation .field-row { display: block; }.composed-card-grid { gap: 16px; }.composed-card-grid article { padding: 24px; } }
@media(max-width:750px) {
 .composed-hero { padding: 45px 25px; }.composed-hero-split { grid-template-columns: 1fr; gap: 35px; }.composed-hero h1 { font-size: 48px; }.composed-hero p { font-size: 16px; }.composed-hero>img { height: 450px; }.composed-hero-split>img { width: calc(100% - 8px); box-shadow: 8px 8px 0 var(--page-accent); }.composed-section { padding: 45px 25px; }.composed-image,.ministry-story,.ministry-section-intro,.ministry-invitation { grid-template-columns: 1fr; gap: 30px; }.composed-image.image-right figure { order: 0; }.composed-card-grid { grid-template-columns: 1fr; gap: 20px; }.composed-card-grid article { padding: 28px; }.composed-callout { display: block; }.composed-callout .button { margin-top: 25px; }.composed-faq { padding-block: 8px; }.composed-faq summary { font-size: 18px; }.ministry-invitation-copy { position: static; }.ministry-invitation .form-card { padding: 25px 20px; }.ministry-invitation .form-card h2 { font-size: 28px; }.page-preview-banner { gap: 10px; justify-content: flex-start; }
}
