/* V9 — full-viewport cinematic layout and Android viewport stability.
   Appended after the original design so the palette, type and branding stay consistent. */
html{overflow-anchor:none}
.home-page .stage{height:100dvh;min-height:100dvh;top:0;overflow:hidden;overscroll-behavior:contain}
.home-page .scroll-story{height:calc(8 * 100lvh);min-height:0}
.home-page .scene-stack,.home-page .scene,.home-page .scene-media{height:100%;width:100%}
.home-page .scene-media{overflow:hidden}
.home-page .stage-bottom{padding-bottom:env(safe-area-inset-bottom)}
.home-page .stage{background:#090d1b}
.home-page .scene-media:before{background:#0a0e20}
@media(max-width:720px){
 .home-page .stage{height:100dvh!important;min-height:100dvh!important;max-height:100dvh;top:0!important}
 .home-page .scroll-story{height:calc(8 * 100lvh)!important;min-height:0!important}
 .home-page .scene-media img{height:100%;width:100%;object-fit:contain!important;object-position:center center}
 .home-page .scene-media{background:#080b18}
 .home-page .scene-copy{max-height:calc(100dvh - 140px);overflow:visible}
 .home-page .stage-bottom{bottom:max(14px,env(safe-area-inset-bottom))}
}
/* All secondary page images become true section-wide compositions. */
.edge-to-edge-page main{overflow:clip}
.edge-to-edge-page .page-lead,
.edge-to-edge-page .experience-intro-hero{height:100dvh;min-height:640px;max-height:none;isolation:isolate;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#0a0e20}
.edge-to-edge-page .fullbleed-picture{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}
.edge-to-edge-page .fullbleed-picture img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;max-height:none;max-width:none;filter:none;mask-image:none}
.edge-to-edge-page .page-lead-copy,
.edge-to-edge-page .experience-hero-copy{position:relative;z-index:3;padding:clamp(140px,16vh,190px) var(--page-inset) clamp(72px,11vh,125px);max-width:830px;align-self:flex-end}
.edge-to-edge-page .page-lead-wash,
.edge-to-edge-page .experience-hero-wash{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,8,24,.90) 0%,rgba(5,8,24,.49) 41%,rgba(5,8,24,.1) 78%),linear-gradient(to top,rgba(4,7,19,.91),transparent 60%,rgba(8,10,28,.30))}
.edge-to-edge-page .experience-hero-art{z-index:0}
.edge-to-edge-page .experience-feature{position:relative;display:flex;min-height:100dvh;height:auto;align-items:flex-end;justify-content:flex-start;padding:130px var(--page-inset) clamp(72px,11vh,130px);background:#090d1e!important;overflow:hidden;isolation:isolate;gap:0}
.edge-to-edge-page .experience-feature:nth-of-type(even) .experience-feature-media{order:initial}
.edge-to-edge-page .experience-feature-media{position:absolute;inset:0;z-index:0;overflow:hidden;margin:0;width:100%;height:100%;min-height:0;max-width:none;order:initial!important}
.edge-to-edge-page .ambient-media-bg{position:absolute;inset:-8%;background-image:var(--feature-image);background-position:center;background-size:cover;filter:blur(32px) brightness(.52) saturate(.9);transform:scale(1.13);opacity:.9}
.edge-to-edge-page .experience-feature-media .exp-feature-picture{position:absolute;inset:0;width:100%;height:100%}
/* Portrait originals can fill the frame vertically, without cropping their subject or becoming boxed cards. */
.edge-to-edge-page .experience-feature-media .exp-feature-picture img{position:absolute;right:0;left:auto;width:min(67vw,900px);height:100%;object-fit:contain!important;object-position:center center;max-width:none;max-height:none;filter:none;mask-image:none!important}
.edge-to-edge-page .experience-feature:nth-of-type(even) .experience-feature-media .exp-feature-picture img{right:0;left:auto}
.edge-to-edge-page .experience-feature-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,7,22,.94) 0%,rgba(5,7,22,.72) 27%,rgba(5,7,22,.12) 75%),linear-gradient(to top,rgba(5,7,20,.9) 0%,transparent 49%,rgba(5,7,20,.14) 100%)}
.edge-to-edge-page .experience-feature-text{position:relative;z-index:3;width:min(100%,620px);max-width:620px;padding:0!important;transform:none;align-self:flex-end}
.edge-to-edge-page .experience-feature-text h2{font-size:clamp(48px,5.4vw,88px);text-shadow:0 2px 32px rgba(0,0,0,.33)}
.edge-to-edge-page .experience-feature-description{color:#eaebf6;line-height:1.66;text-shadow:0 1px 19px rgba(0,0,0,.65)}
.edge-to-edge-page .experience-highlights{display:flex;flex-wrap:wrap;gap:9px 16px}
.edge-to-edge-page .experience-highlights li{border:1px solid rgba(170,176,238,.36);background:rgba(8,11,28,.36);border-radius:30px;padding:8px 12px;backdrop-filter:blur(6px)}
.edge-to-edge-page .media-disclaimer{position:absolute;z-index:5;bottom:17px;right:var(--page-inset);left:auto}
.edge-to-edge-page .experience-feature.reveal{transform:none!important;opacity:1!important}
.edge-to-edge-page .experience-feature.reveal .experience-feature-text{transition:opacity .8s ease,transform .8s ease;opacity:0;transform:translate3d(0,20px,0)}
.edge-to-edge-page .experience-feature.reveal.in-view .experience-feature-text{opacity:1;transform:translate3d(0,0,0)}
.edge-to-edge-page .immersive-editorial,
.edge-to-edge-page .wide-story,
.edge-to-edge-page .immersive-visit,
.edge-to-edge-page .immersive-partners,
.edge-to-edge-page .page-bottom-action,
.edge-to-edge-page .experiences-ending{position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;overflow:hidden;padding:clamp(130px,17vh,210px) var(--page-inset) clamp(78px,12vh,142px);text-align:start;background:#080b1c;gap:0}
.edge-to-edge-page .immersive-editorial:after,
.edge-to-edge-page .wide-story:after,
.edge-to-edge-page .immersive-visit:after,
.edge-to-edge-page .immersive-partners:after,
.edge-to-edge-page .page-bottom-action:after,
.edge-to-edge-page .experiences-ending:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(6,8,21,.93),rgba(6,8,21,.27) 62%,rgba(6,8,21,.20)),linear-gradient(90deg,rgba(5,7,19,.68),transparent 75%)}
.edge-to-edge-page .immersive-editorial> :not(.fullbleed-picture),
.edge-to-edge-page .wide-story-text,
.edge-to-edge-page .immersive-visit> :not(.fullbleed-picture),
.edge-to-edge-page .immersive-partners> :not(.fullbleed-picture),
.edge-to-edge-page .page-bottom-action> :not(.fullbleed-picture),
.edge-to-edge-page .experiences-ending> :not(.fullbleed-picture){position:relative;z-index:3;max-width:830px}
.edge-to-edge-page .immersive-editorial h2,
.edge-to-edge-page .wide-story-text h2{font-size:clamp(47px,6vw,90px);line-height:1.02;letter-spacing:-.065em;margin:12px 0 23px}
.edge-to-edge-page .immersive-editorial p,
.edge-to-edge-page .wide-story-text p{max-width:690px;font-size:clamp(17px,1.7vw,22px);line-height:1.65;color:#ecedfc}
.edge-to-edge-page .wide-story-img{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-height:none;display:block}
.edge-to-edge-page .wide-story-img .fullbleed-picture{position:absolute;inset:0;width:100%;height:100%}
.edge-to-edge-page .wide-story-img img{width:100%;height:100%;object-fit:cover;max-height:none;filter:none}
.edge-to-edge-page .wide-story-text{max-width:710px}
.edge-to-edge-page .page-bottom-action,.edge-to-edge-page .experiences-ending{align-items:center;text-align:center;justify-content:center}
.edge-to-edge-page .page-bottom-action>*:not(.fullbleed-picture),.edge-to-edge-page .experiences-ending>*:not(.fullbleed-picture){max-width:800px}
.edge-to-edge-page .immersive-partners .partner-organization-grid{width:100%;max-width:1160px}
.edge-to-edge-page .visit-metadata{max-width:1100px;width:100%;margin:30px 0}
.edge-to-edge-page .immersive-visit>*:not(.fullbleed-picture){max-width:1160px}
.edge-to-edge-page .support-bridge{position:relative;isolation:isolate;overflow:hidden;min-height:93dvh;display:flex;align-items:center;background:linear-gradient(130deg,#121a3a,#0b0f22)}
.edge-to-edge-page .support-bridge:before{content:"";position:absolute;inset:0;background:url('../images/experience-cover.webp') center/cover no-repeat;opacity:.20;z-index:-1;pointer-events:none}
.edge-to-edge-page .support-bridge-inner{width:100%}
/* Mobile: use dedicated portrait source assets; keep the original artwork visible. */
@media(max-width:720px){
 .edge-to-edge-page .page-lead,.edge-to-edge-page .experience-intro-hero{height:100dvh;min-height:0}
 .edge-to-edge-page .fullbleed-picture img{object-fit:cover;object-position:center center}
 .edge-to-edge-page .page-lead-copy,.edge-to-edge-page .experience-hero-copy{padding:100px 22px clamp(58px,10dvh,105px);max-width:100%;align-self:flex-end}
 .edge-to-edge-page .page-lead-wash,.edge-to-edge-page .experience-hero-wash{background:linear-gradient(to top,rgba(4,7,19,.94) 0%,rgba(6,9,24,.65) 29%,rgba(9,12,31,.04) 68%,rgba(6,8,23,.33) 100%)}
 .edge-to-edge-page .experience-feature{min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:115px 22px clamp(66px,10dvh,106px)}
 .edge-to-edge-page .experience-feature-media{width:100%;height:100%}
 .edge-to-edge-page .experience-feature-media .exp-feature-picture img{inset:0;width:100%;height:100%;object-fit:contain!important;object-position:center center;max-width:none}
 .edge-to-edge-page .experience-feature-media:after{background:linear-gradient(to top,rgba(4,7,20,.97) 0%,rgba(5,8,21,.9) 22%,rgba(5,8,21,.14) 65%,rgba(5,8,21,.27) 100%)}
 .edge-to-edge-page .experience-feature-text{width:100%;max-width:100%;padding:0}
 .edge-to-edge-page .experience-feature-text h2{font-size:clamp(36px,9vw,56px)}
 .edge-to-edge-page .experience-feature-subtitle{font-size:17px;margin-bottom:13px}
 .edge-to-edge-page .experience-feature-description{font-size:14px;line-height:1.48;margin-bottom:13px}
 .edge-to-edge-page .experience-highlights{font-size:12px;gap:7px}
 .edge-to-edge-page .experience-highlights li{padding:5px 9px}
 .edge-to-edge-page .experience-includes{margin:12px 0 7px;font-size:10px}
 .edge-to-edge-page .media-disclaimer{display:none}
 .edge-to-edge-page .immersive-editorial,.edge-to-edge-page .wide-story,.edge-to-edge-page .immersive-visit,.edge-to-edge-page .immersive-partners,.edge-to-edge-page .page-bottom-action,.edge-to-edge-page .experiences-ending{min-height:100dvh;padding:110px 22px 80px;gap:0}
 .edge-to-edge-page .immersive-editorial h2,.edge-to-edge-page .wide-story-text h2{font-size:clamp(39px,10vw,54px)}
 .edge-to-edge-page .immersive-editorial p,.edge-to-edge-page .wide-story-text p{font-size:15px;line-height:1.55}
 .edge-to-edge-page .visit-metadata{margin:24px 0}
 .edge-to-edge-page .immersive-partners .partner-organization-grid{max-width:100%}
 .edge-to-edge-page .support-bridge{min-height:100dvh}
 .edge-to-edge-page .wide-story-img img{object-fit:cover}
}
@media(prefers-reduced-motion:reduce){.edge-to-edge-page .experience-feature.reveal .experience-feature-text{transition:none;transform:none;opacity:1}}

/* Final polish: visible atmospheric backdrop across the entire desktop spread. */
@media(min-width:721px){
 .edge-to-edge-page .ambient-media-bg{filter:blur(29px) brightness(.82) saturate(1.03);opacity:1}
 .edge-to-edge-page .experience-feature-media .exp-feature-picture{mask-image:linear-gradient(to right,transparent 0%,black 17%,black 100%)}
 .edge-to-edge-page .experience-feature-media:after{background:linear-gradient(90deg,rgba(5,7,22,.82) 0%,rgba(5,7,22,.55) 32%,rgba(5,7,22,.06) 77%),linear-gradient(to top,rgba(5,7,20,.72),transparent 52%)}
}
.edge-to-edge-page .immersive-opening{position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:150px var(--page-inset) clamp(90px,11vh,130px);overflow:hidden;text-align:start;background:#0c1024}
.edge-to-edge-page .immersive-opening:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(6,8,23,.94),rgba(7,11,28,.52) 44%,rgba(8,11,25,.22)),linear-gradient(90deg,rgba(6,8,23,.68),transparent 70%)}
.edge-to-edge-page .immersive-opening>:not(.fullbleed-picture){position:relative;z-index:2;max-width:850px}
.edge-to-edge-page .immersive-opening h2{font-size:clamp(48px,6vw,90px);line-height:1.06}
.edge-to-edge-page .immersive-opening p{font-size:clamp(17px,1.7vw,22px);line-height:1.7;max-width:740px;color:#e5e5f3}
@media(max-width:720px){.edge-to-edge-page .immersive-opening{padding:120px 22px 86px;min-height:100dvh}.edge-to-edge-page .immersive-opening h2{font-size:clamp(39px,10vw,57px)}.edge-to-edge-page .immersive-opening p{font-size:15px}}
