html{scrollbar-gutter:stable}
/* Opening uses the existing terrain, one glass polygon and compositor transforms. */
.is-entering #world,.is-revealing #world{clip-path:none!important;filter:none!important;scale:1!important;animation:none!important}
.scene-opening{background:none!important;opacity:1!important;transition:none!important}
.scene-opening::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#0b293bb0,#12324428 70%);opacity:calc(1 - var(--opening-progress,0));pointer-events:none}
.scene-opening .opening-title{left:7vw;top:32vh;bottom:auto;width:min(42vw,600px);max-width:none;transform-origin:0 0;will-change:transform;transition:none!important;translate:none!important;filter:none!important}
.scene-opening .opening-title h2{font:400 clamp(64px,6.4vw,105px)/1.025 var(--ui);letter-spacing:-.06em;text-shadow:none;margin:0}
.scene-opening .opening-title h2 span{display:block;white-space:normal}
.scene-opening .opening-title h2 span+span{color:#c4dce6}
.scene-opening .opening-brand{transition:none;z-index:2}
.scene-opening .opening-brand img{height:auto}
.opening-skip{position:absolute;right:48px;top:38px;display:flex;align-items:center;gap:14px;min-height:42px;padding:10px 16px;border:1px solid #d8edf24d;border-radius:40px;background:#1537486b;color:#edf8fa;font:500 11px/1.4 var(--ui);cursor:pointer}
.opening-skip svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.opening-skip:hover{background:#305668b3}.opening-skip:focus-visible,.opening-foot a:focus-visible{outline:2px solid #d0effb;outline-offset:5px}
.scene-opening .opening-foot{left:48px;right:48px;bottom:40px;opacity:calc(1 - var(--opening-progress,0));transition:none}
.scene-opening .opening-foot a{font:500 11px/1.4 var(--ui);color:#dbeaf1;gap:22px;display:inline-flex;align-items:center}
.scene-opening .opening-foot svg{width:18px;height:18px}
.scene-opening .opening-foot p{font:400 11px/1.4 var(--ui);color:#c0d6df}
.is-revealing .opening-skip{opacity:calc(1 - var(--opening-progress,0))}
.is-entering .aperture-material{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:calc(.62 + .38 * var(--opening-progress,0))}
.is-entering .aperture-frame{opacity:1!important}
.is-entering .story-copy,.is-entering .chapter-rail,.is-entering .scene-bottom,.is-entering .transformer-hotspot{visibility:hidden!important}
.is-revealing .scene-opening{pointer-events:auto}
.arrival-clouds img{animation:opening-mist 24s linear both;opacity:.28;width:135vw;height:135vw;left:14vw;top:-64vw;will-change:transform}
.arrival-clouds img+img{animation:opening-mist-low 27s linear both;opacity:.18;left:-59vw;top:12vh;width:125vw;height:125vw}
@keyframes opening-mist{from{transform:translate3d(0,0,0)}to{transform:translate3d(22vw,12vh,0)}}
@keyframes opening-mist-low{from{transform:translate3d(0,0,0)}to{transform:translate3d(24vw,-12vh,0)}}
@media(max-width:760px){
 .scene-opening .opening-title{left:28px;top:34vh;width:calc(100% - 56px)}
 .scene-opening .opening-title h2{font-size:clamp(38px,10vw,58px)}
 .scene-opening .opening-foot{left:28px;right:28px;bottom:28px}
 .opening-skip{right:26px;top:30px;padding:8px 12px;gap:9px;font-size:10px}
 .arrival-clouds img{width:230vw;height:230vw;left:-60vw;top:-100vw;opacity:.25}
 .arrival-clouds img+img{width:240vw;height:240vw;left:-120vw;top:35vh;opacity:.15}
}
@media(prefers-reduced-motion:reduce){.scene-opening .opening-title{will-change:auto}.arrival-clouds img{animation:none!important}}

/* Keep the matched headline in place at the handoff; only supporting UI arrives. */
.entry-complete .story-copy{animation:none!important}
.entry-complete .story-panel[data-scene="0"]>p,.entry-complete .story-panel[data-scene="0"] .hero-cta{animation:opening-in .65s cubic-bezier(.2,.7,.2,1) backwards}
.opening-handoff .aperture-material{animation:opening-frost .55s ease-out both!important}
@keyframes opening-frost{from{backdrop-filter:blur(0px) saturate(.75);-webkit-backdrop-filter:blur(0px) saturate(.75)}to{backdrop-filter:blur(24px) saturate(.75);-webkit-backdrop-filter:blur(24px) saturate(.75)}}
@media(max-width:760px),(prefers-reduced-motion:reduce){.opening-handoff .aperture-material{animation:none!important}}

.entry-complete .site-header{animation:none!important}
.entry-complete .site-header .desktop-nav,.entry-complete .site-header .header-contact,.entry-complete .site-header .menu-toggle{animation:opening-in .65s cubic-bezier(.2,.7,.2,1) backwards}

/* Separate reconstruction study, enabled only by ?opening=reconstruction. */
.reconstruction-stage{position:absolute;inset:0;background:#081e2b;pointer-events:none;z-index:0;will-change:opacity}
.reconstruction-stage canvas{display:block;width:100%;height:100%}
[data-opening-style="reconstruction"] .scene-opening .opening-title,[data-opening-style="reconstruction"] .scene-opening .opening-foot,[data-opening-style="reconstruction"] .scene-opening .opening-skip{z-index:2}
[data-opening-style="reconstruction"] .scene-opening::before{display:none}
