.site-pages { --gutter:32px; }
.site-pages > .site-nav { margin-inline:calc(-1 * var(--gutter)); }
.site-pages .wrap { max-width:1120px; }
.site-pages .home-hero { grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); gap:88px; padding:64px 0; }
.home-hero h1 { font-size:clamp(36px,3.8vw,48px); }
.home-hero figure { padding:0; border:0; background:transparent; }
.home-hero figure img { aspect-ratio:4/5; border-radius:4px; object-position:center 22%; }
.home-hero figcaption { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font:15px/1.5 var(--sans); }
.home-hero .hero-profile-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font:600 16px/1.5 var(--sans); color:var(--accent); text-decoration:none; }
.home-hero .actions { gap:8px 24px; }
.home-hero .roles { margin-top:22px; }
.site-pages .home-latest { position:relative; }
.home-latest > .intro { max-width:42rem; }
.home-latest .feature { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); border-radius:4px; }
.home-latest .feature img { object-position:center 45%; }
.text-link { display:inline-flex; align-items:center; gap:16px; min-height:48px; font:600 17px/1.5 var(--sans); color:var(--accent); text-decoration:underline; }
.text-link span, .hero-profile-link span { font-family:var(--sans); }
.section-link { margin-top:24px; }
.ministry-entry { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-height:210px; padding:28px; border:1px solid var(--line); border-top:3px solid var(--gold); background:var(--card); border-radius:4px; text-decoration:none; }
.ministry-entry .meta { font:600 13px/1.5 var(--sans); letter-spacing:.1em; color:var(--muted); }
.ministry-entry h3 { font-size:26px; line-height:1.45; }
.ministry-entry .entry-arrow { margin-top:auto; align-self:flex-end; font:28px/1 var(--sans); color:var(--accent); }
.ministry-entry:hover { border-color:var(--accent); background:var(--cream); }
.resource-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.site-pages .resource-entry { padding-bottom:56px; }
.resource-entry .intro { font-size:18px; line-height:1.85; }
.resource-entry > .text-link { margin-top:18px; }
.resource-entry picture img { max-height:260px!important; aspect-ratio:16/9; }
.qt-entry .qt-summary { border-bottom:0; }
.qt-summary li { grid-template-columns:minmax(0,1fr); gap:12px; padding-block:22px; }
.qt-summary .go { justify-content:flex-start; padding-inline:0; text-decoration:underline; }
.site-pages .partner-banner { margin-bottom:40px; padding:40px; border:0; background:var(--heading); border-radius:5px; }
.partner-banner .label { color:#ddd0b4; }
.partner-banner h2, .partner-banner p, .partner-banner .intro, .partner-banner p span { color:#fff!important; }
.partner-banner > .btn { margin-top:24px; background:white; color:var(--heading); border-color:white; gap:16px; }
.partner-banner > p .btn { background:transparent; color:#fff; border-color:#8193a1; }
.partner-banner .btn:hover { background:#e9e8e2; color:var(--heading); }
.home-directory { display:flex; gap:20px; justify-content:space-between; border-top:1px solid var(--line); padding-block:16px 24px; }
.home-directory a { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:48px; width:50%; padding:8px 0; color:var(--accent); font:600 18px/1.5 var(--sans); text-decoration:none; }
.breadcrumbs { display:flex; gap:12px; align-items:center; padding-top:24px; color:var(--muted); font:15px/1.5 var(--sans); }
.breadcrumbs a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; color:var(--accent); }
.site-pages .page-section { padding-block:32px 56px; border-top:0; }
.page-section > .label { margin-bottom:14px; }
.page-section > h1 { max-width:22ch; font-size:clamp(36px,4.2vw,54px); line-height:1.3; letter-spacing:-.025em; }
.page-section .feature h2 { font-size:28px; line-height:1.5; }
.page-section .card h2 { font-size:25px; line-height:1.5; }
.page-section .vid h2 { font-size:23px; line-height:1.5; }
.page-section .give h2 { font:600 20px/1.5 var(--sans); margin-bottom:16px; }
.page-section .card { scroll-margin-top:140px; }
.page-section .intro { max-width:46rem; font-size:19px; }
.page-section .about { grid-template-columns:minmax(0,1fr) 300px; gap:72px; margin-top:36px; }
.page-section .about .flow { max-width:42rem; }
.family-photo { margin:56px 0 0; max-width:660px; }
.family-photo img { width:100%; height:auto; max-height:650px; object-fit:cover; object-position:center 55%; border-radius:5px; }
.field-photo { margin:40px 0; }
.field-photo img { display:block; width:100%; height:auto; max-height:460px; object-fit:cover; border-radius:4px; }
.field-photo figcaption { margin-top:10px; color:var(--muted); font:15px/1.7 var(--sans); }
.page-section .upcoming { display:block; border-left:4px solid var(--gold); background:var(--cream); }
.upcoming .body { max-width:52rem; }
.missionfund-panel { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:36px; padding:36px; background:var(--heading); color:white; border-radius:5px; }
.missionfund-panel .label { color:#ddd0b4; }
.missionfund-panel h2 { font-size:27px; margin:10px 0 14px; color:white; }
.missionfund-panel p { color:white; font-size:18px; }
.missionfund-panel .btn { background:white; border-color:white; color:var(--heading); gap:12px; flex-shrink:0; }
.missionfund-panel .btn:hover { background:var(--cream); }
.partner-banner .btn:focus-visible, .missionfund-panel .btn:focus-visible { outline-color:#fff; }
.page-return { border-top:1px solid var(--line); margin-bottom:36px; padding-top:18px; }
.page-next { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; margin:10px 0 16px; padding:28px; border-radius:5px; background:var(--cream); }
.page-next .btn { gap:18px; }
.page-next .text-link { gap:18px; }
.partner-page > p > .btn { background:transparent; color:var(--accent); }
.partner-page > p > .btn:hover { background:var(--cream); }
.site-pages .site-footer { padding-bottom:48px; }
@media(max-width:1050px) {
  .site-pages .home-hero { gap:40px; }
  .home-hero h1 { font-size:38px; }
  .resource-grid { gap:36px; }
  .missionfund-panel { flex-direction:column; align-items:flex-start; }
}
@media(max-width:680px) {
  .site-pages { --gutter:24px; }
  .site-pages .home-hero { grid-template-columns:1fr; gap:32px; padding-block:32px 44px; }
  .home-hero h1 { font-size:34px; }
  html:lang(en) .home-hero h1 { font-size:39px; }
  .home-hero .tag { font-size:19px; }
  .home-hero .actions .btn:first-child { flex-basis:auto; width:100%; }
  .home-hero .actions .ghost { margin-inline:0; }
  .home-hero figure { max-width:320px; margin-inline:auto; width:100%; }
  .home-hero figure img { aspect-ratio:4/5; }
  .home-hero figcaption { font-size:14px; }
  .home-latest .feature { grid-template-columns:1fr; }
  .home-latest .feature img { aspect-ratio:4/3; }
  .ministry-entry { min-height:160px; padding:24px; gap:12px; }
  .ministry-entry h3 { font-size:25px; }
  .resource-grid { grid-template-columns:1fr; gap:0; }
  .site-pages .resource-entry { padding-bottom:36px; }
  .site-pages .partner-banner { padding:28px 24px; margin-top:16px; }
  .partner-banner > .btn { width:100%; }
  .home-directory { flex-direction:column; gap:0; }
  .home-directory a { width:100%; }
  .breadcrumbs { font-size:14px; padding-top:16px; }
  .breadcrumbs > span:last-child { max-width:70%; }
  .site-pages .page-section { padding-top:24px; padding-bottom:40px; }
  .page-section > h1 { font-size:36px; }
  .page-section .intro { font-size:18px; }
  .page-section .feature h2 { font-size:25px; }
  .page-section .vid h2 { font-size:19px; }
  .page-section .about { grid-template-columns:1fr; gap:30px; }
  .page-section .about > picture { max-width:280px; }
  .family-photo { margin-top:36px; }
  .field-photo { margin-block:32px; }
  .missionfund-panel { padding:28px 24px; gap:24px; }
  .missionfund-panel h2 { font-size:26px; }
  .missionfund-panel .btn { width:100%; }
  .page-next { align-items:stretch; flex-direction:column; gap:14px; padding:24px; }
  .page-next .btn, .page-next .text-link { justify-content:space-between; }
}
@media(max-width:359px) { .site-pages { --gutter:18px; } }
