/* The calendar stays in the original middle row; the description has its own row. */
[data-screen="home"].active{grid-template-rows:var(--home-hero-height) minmax(0,1fr) auto auto}
[data-screen="home"]>.home-mission{position:relative;z-index:1;grid-row:3;grid-column:1;min-width:0;margin:0;background:transparent;color:#505760;font-family:var(--home-body),Arial,sans-serif}
[data-screen="home"]>.info-nav{grid-row:4}
/* R470: anchor the logo to the first grid row, never to page-height percentages.
   The first row contains the blue hero and keeps the same edge when text opens. */
[data-screen="home"]>#homeLogo{grid-row:1 / 2;grid-column:1 / 2;top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}
/* Paint the original landscape across BOTH lower rows. Reserving a disclosure
   row must not shorten/crop the picture or move its lower white fade upward. */
[data-screen="home"]::before{content:"";position:absolute;grid-row:2 / 3;grid-column:1 / 2;inset:0 0 auto;height:calc(100% + var(--dol-mission-summary-height,44px));pointer-events:none;z-index:0;background:linear-gradient(to bottom,#fff 0 40%,#ffffffdb 48%,#ffffff2e 60% 100%),linear-gradient(to top,#fff 0 12%,#fffffffa 16%,#ffffffc2 21%,#fff0 30%),url("home-freedom-road-v2.webp") center calc(50% + 44px)/cover no-repeat}
[data-screen="home"]>.home-white{background:none!important;background-color:transparent!important}
.home-mission>summary{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;padding:10px 32px;list-style:none;cursor:pointer;text-align:left;color:#8c2940;font:650 16px/1.3 var(--home-body),Arial,sans-serif;touch-action:manipulation}
.home-mission>summary::-webkit-details-marker{display:none}
.home-mission-icon{display:block;flex:0 0 22px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-mission>summary:focus-visible,.home-mission-body button:focus-visible{outline:3px solid #bc861a;outline-offset:-3px}
.home-mission-body{padding:16px 24px 24px;background:#fff;overflow-wrap:anywhere;text-align:left;font-size:16px;line-height:1.65}
.home-mission-body h2{margin:0 0 18px;color:#16396a;font-family:var(--display),Arial,sans-serif;font-size:22px;line-height:1.4;font-weight:700}
.home-mission-body p{margin:0 0 18px}
.home-mission-body a{color:#8c2940;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.home-mission-body a:focus-visible{outline:3px solid #bc861a;outline-offset:3px}
.home-mission-body .home-mission-lead,.home-mission-body .home-mission-closing{font-weight:700}
.home-mission-body blockquote{margin:20px 0 24px;padding:0 0 0 15px;border-left:3px solid #8c2940;color:#505760}
.home-mission-body blockquote p{margin-bottom:6px}
.home-mission-body cite{font-size:14px;font-style:normal}
.home-mission-body [data-mission-close]{min-height:44px;padding:8px 13px;border:1px solid #cdd8e5;border-radius:10px;background:#fff;color:#505760;font:inherit;font-size:14px}
.home-mission-audio{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:14px}
.home-mission-audio[hidden],.home-mission-body [hidden]{display:none!important}
.home-mission-audio .dol-narration-controls{margin:0}
.home-mission-audio [data-mission-player]{min-width:0}
body.home-active .dol-events-toast{bottom:var(--dol-mission-toast-offset,118px)}
body.home-active:has(.home-mission[open]) .dol-events-toast{display:none}
/* Opening the article extends the document, without stretching the landscape. */
html:has(body.home-active .home-mission[open]),body.home-active:has(.home-mission[open]){height:auto;overflow:auto;overscroll-behavior-y:auto}
body.home-active:has(.home-mission[open]) #app{height:auto!important;min-height:var(--dol-home-height,100dvh);overflow:visible!important}
body.home-active #app [data-screen="home"].active:has(>.home-mission[open]){height:auto!important;min-height:var(--dol-home-height,100dvh);grid-template-rows:var(--dol-mission-hero,41dvh) var(--dol-mission-main,45dvh) auto auto;overflow:visible!important}
/* R472: while the article is open, gestures anywhere on the home screen
   must reach the document. The viewport-only middle scroller otherwise traps
   gestures with overscroll-behavior:contain, even at its scroll boundary. */
body.home-active #app [data-screen="home"].active:has(>.home-mission[open]){overscroll-behavior:auto}
body.home-active #app [data-screen="home"].active:has(>.home-mission[open])>.home-white{overflow:visible;overscroll-behavior:auto}
@media(max-width:350px){.home-mission-body{padding-left:20px;padding-right:20px}.home-mission-body h2{font-size:20px}}
@media(max-width:360px){.home-mission>summary{padding-left:24px;padding-right:24px;font-size:15px}}
@media(max-height:700px){[data-screen="home"] .ministry-dest{margin-bottom:0}}
@media(min-width:600px) and (max-height:820px){[data-screen="home"] .ministry-dest{margin-bottom:0}[data-screen="home"] .service{margin-bottom:10px}}
