.hero{position:relative;height:100vh;height:100svh;overflow:hidden;background:#0d1116;isolation:isolate}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.1s var(--ease)}.hero.is-ready .hero__canvas{opacity:1}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;opacity:0;transition:opacity 1.1s var(--ease)}.hero.is-ready .hero__video{opacity:1}.hero__sheet{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;background:linear-gradient(to bottom,#ffffff 0%,var(--white) 55%,var(--handoff-ground) 100%)}.hero__scrim{position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-image:linear-gradient(to bottom,#080c1080,#080c1000),linear-gradient(to top,#080c1085,#080c1000);background-position:top center,bottom center;background-size:100% 112px,100% 38%}.hero__overlay{position:absolute;inset:0;display:grid;align-content:end;justify-items:start;padding:0 var(--gutter) clamp(6rem,15vh,11rem);pointer-events:none}.hero__chapter{grid-area:1 / 1;opacity:0;visibility:hidden}.hero__eyebrow{font-family:var(--sans);font-size:.6875rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#ffffffb8;margin-bottom:clamp(1rem,2.2vh,1.75rem)}.hero__headline{font-family:var(--serif);font-weight:300;font-size:clamp(2.5rem,1.2rem + 5.2vw,6rem);line-height:.98;letter-spacing:-.015em;color:#fff;text-shadow:0 1px 40px rgba(8,12,16,.35)}.hero__line{display:block}.hero__ctaGate{position:absolute;right:var(--gutter);top:50%;translate:0 -50%;z-index:3;opacity:0;visibility:hidden;transition:opacity .9s var(--ease)}.is-intro-complete .hero__ctaGate{opacity:1;visibility:visible}.hero__cta{display:inline-block;padding-block:.8rem;color:#fff;text-shadow:0 1px 18px rgba(8,12,16,.55)}.hero__ctaInner{display:inline-flex;align-items:center;gap:.7rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.5);transition:border-color .45s var(--ease)}.hero__ctaLabel{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}.hero__ctaArrow{width:13px;height:13px;flex:none;transition:transform .45s var(--ease)}.hero__cta:hover .hero__ctaInner{border-bottom-color:#fff}.hero__cta:hover .hero__ctaArrow{transform:translate(3px,-3px)}.hero__cta:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:2px}@media(max-width:700px){.hero__ctaGate{top:auto;bottom:calc(clamp(6rem,15vh,11rem) + clamp(9rem,26vh,15rem));translate:none}.hero__ctaLabel{font-size:.6875rem;letter-spacing:.2em}}@media(prefers-reduced-motion:reduce){.hero__ctaGate,.hero__ctaInner,.hero__ctaArrow{transition:none}}.hero__cue{position:absolute;left:50%;bottom:clamp(2rem,5vh,3.25rem);transform:translate(-50%);display:grid;justify-items:center;gap:.85rem;pointer-events:none}.hero__cueLine{width:1px;height:clamp(2rem,5vh,3rem);background:linear-gradient(to bottom,#fff0,#fffc)}.hero__cueLabel{font-size:.625rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#fffc}.hero__progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff29}.hero__progressFill{display:block;height:100%;background:#ffffffe6;transform:scaleX(0);transform-origin:left center}.hero__loader{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#0d1116;transition:opacity .9s var(--ease),visibility .9s}.hero.is-ready .hero__loader{opacity:0;visibility:hidden;pointer-events:none}.hero__loaderInner{display:grid;justify-items:center;gap:1.5rem}.hero__loaderMark{font-family:var(--serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;letter-spacing:.06em;color:#ffffffeb}.hero__loaderTrack{display:block;width:clamp(140px,22vw,220px);height:1px;background:#ffffff2e;overflow:hidden}.hero__loaderBar{display:block;height:100%;background:#ffffffd9;transform:scaleX(0);transform-origin:left center;transition:transform .35s linear}.hero__loaderLabel{font-size:.625rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#ffffff73}.intro{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:0 var(--gutter);text-align:center;pointer-events:none}.intro__veil{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse 78% 62% at 50% 46%,#080c108f,#080c1057 45%,#080c1000 78%)}.intro__inner{position:relative;display:grid;gap:clamp(1rem,2.2vh,1.75rem);transform:translateY(-4%)}.intro__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.75rem,.9rem + 3.4vw,4rem);line-height:1.08;text-transform:uppercase;letter-spacing:.14em;text-indent:.14em;color:#fff;text-shadow:0 1px 44px rgba(8,12,16,.45);opacity:0}.intro__meta{font-family:var(--sans);font-weight:400;font-size:clamp(.6875rem,.62rem + .3vw,.8125rem);letter-spacing:.2em;text-transform:uppercase;color:#ffffffc7;text-shadow:0 1px 30px rgba(8,12,16,.5);opacity:0}.intro__metaItem{white-space:nowrap}.intro__metaSep{opacity:.55}@media(max-width:640px){.intro__title{letter-spacing:.1em;text-indent:.1em}.intro__meta{letter-spacing:.14em;max-width:24ch;margin-inline:auto;line-height:1.9}}.hero--fallback{background:#0d1116 url(/stills/sky.jpg) center / cover no-repeat}.hero--fallback .hero__loader,.hero--fallback .hero__progress{display:none}.hero__noscript{position:absolute;inset:auto 0 0;z-index:6;padding:var(--gutter);background:#080c10d1;color:#fff;font-size:.9375rem}.hero__noscript a{text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.hero__overlay{padding-bottom:clamp(6rem,17vh,9rem)}.hero__headline{font-size:clamp(2.25rem,1.5rem + 3.4vw,3rem)}}
/* Phones only. The hero is pinned at the height it measures, and GSAP deliberately ignores toolbar resizes on touch devices, so at 100svh a band of page opened under the film once the browser toolbar collapsed. 100lvh fills the screen with the toolbar hidden; while it is still showing, the cue, loader and opening title are lifted by the toolbar height so they stay on screen. */@media (hover:none) and (pointer:coarse) and (max-width:600px),(hover:none) and (pointer:coarse) and (max-height:600px){.hero{height:100vh;height:100lvh}.hero__cue{bottom:calc(clamp(2rem,5vh,3.25rem) + 100lvh - 100svh)}.hero__loader,.intro{padding-bottom:calc(100lvh - 100svh)}}