/* One brand scene, then one distinct chapter at a time. */
.hero{position:relative;isolation:isolate;height:100svh;min-height:620px;overflow:hidden;background:#080a0e}.hero-inner{position:relative;height:100%;width:100%}.hero-art,.motion-system{position:absolute;inset:0}.hero-art{z-index:1;background:radial-gradient(ellipse at 52% 38%,#242424 0%,#151515 40%,#08090b 78%)}.hero-art::after{content:'';position:absolute;inset:0;background:linear-gradient(#08090b66,transparent 27%,transparent 48%,#08090b99 76%,#08090bc7);pointer-events:none}.hero-copy{position:absolute;inset:0;z-index:3;pointer-events:none}.pre-soma-word{position:absolute;inset:auto var(--gutter) max(12%,122px);display:flex;gap:.12em;justify-content:space-between;font-size:calc((100vw - 2 * var(--gutter)) * .205);font-weight:540;letter-spacing:-.065em;line-height:.88;white-space:nowrap;opacity:var(--entry-title,1);transform:translateY(calc((1 - var(--entry-title,1))*60px));clip-path:inset(0 0 calc((1 - var(--entry-title,1))*100%) 0)}.pre-soma-word>span{display:block}.hero-scene-label{position:absolute;top:calc(var(--header-height) + 32px);left:var(--gutter);z-index:3;font-size:clamp(15px,1.4vw,20px);line-height:1.6;font-weight:400;color:#c6cdd7;opacity:var(--entry-copy,1)}.hero-coordinate{position:absolute;right:var(--gutter);bottom:38px;font-size:11px;letter-spacing:.08em;color:#9ba8bc;z-index:3}.intro-control{position:absolute;right:var(--gutter);top:calc(var(--header-height) + 29px);display:flex;gap:14px;align-items:center;z-index:4;font-size:12px;color:#a9b4c4;padding:10px 0}.intro-control:hover{color:white}.hero-scroll-cue{position:absolute;z-index:4;bottom:35px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:#b4becd}.hero-scroll-cue>span:last-child{font-size:24px;animation:scroll-invite 2.6s ease-in-out infinite}.hero .chrome-fallback{width:100%;height:100%;left:0;top:0;object-fit:cover}@keyframes scroll-invite{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.arrival{position:fixed;inset:0;z-index:100;background:#0b0d10;color:#eff0ed;padding:32px var(--gutter);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.arrival-top,.arrival-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}.arrival-top>span{font-size:20px;font-weight:650;letter-spacing:-.05em}.arrival-top button{font-size:13px;padding:9px 0;color:#adb7c6}.arrival-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;font-size:clamp(58px,12vw,200px);letter-spacing:-.065em;line-height:1;font-weight:500;transform:translateY(calc((1 - var(--loading-progress,0))*24px));opacity:1;transition:transform .15s linear}.arrival-wordmark{display:flex;gap:.12em}.arrival-wordmark>span{position:relative;color:transparent;-webkit-text-stroke:1px #88929f;--word-progress:clamp(0,calc(var(--loading-progress,0)*2),1)}.arrival-wordmark>span:last-child{--word-progress:clamp(0,calc(var(--loading-progress,0)*2 - 1),1)}.arrival-wordmark>span::after{content:attr(data-word);position:absolute;inset:0;background:linear-gradient(115deg,#f5f6fa 12%,#a5afc1 45%,#fff 65%,#9ba5b5);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:0;clip-path:inset(0 calc(100% - var(--word-progress)*100%) 0 0)}.arrival-caption{font-size:clamp(12px,1.2vw,16px);font-weight:400;line-height:1.6;letter-spacing:-.02em;color:#a9b3c2}.arrival-bottom>[data-arrival-label]::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#becbe0;margin-right:9px;vertical-align:middle;animation:arrival-pulse 1.2s ease-in-out infinite}.arrival[data-state="complete"] [data-arrival-label]::before{animation:none;background:#f5f5f2}@keyframes arrival-pulse{50%{opacity:.3}}.arrival-bottom{margin-bottom:15px;align-items:flex-end}.arrival-bottom>span:first-child{font-size:12px;color:#9ba6b8}.arrival-counter{display:flex;align-items:baseline;gap:20px}.arrival-counter b{font-size:clamp(60px,8vw,120px);font-weight:350;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.arrival-counter small{font-size:13px;color:#8d97a8}.arrival-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#242b35}.arrival-track>span{display:block;height:100%;background:#e0e7f3;transform:scaleX(var(--loading-progress,0));transform-origin:left;transition:transform .4s ease}.arrival.is-leaving{pointer-events:none;animation:arrival-away .85s cubic-bezier(.77,0,.175,1) forwards}@keyframes arrival-away{to{clip-path:inset(0 0 100% 0)}}
.chapter-nav{position:fixed;right:15px;top:50%;transform:translateY(-50%);z-index:34;display:flex;flex-direction:column;align-items:center;gap:4px;mix-blend-mode:difference;color:white}.chapter-button{position:relative;width:23px;height:23px;display:grid;place-items:center;padding:0}.chapter-button::before{content:'';width:4px;height:4px;border-radius:50%;background:#fff;opacity:.3;transition:opacity .3s,transform .3s}.chapter-button[aria-current=true]::before,.chapter-button[aria-current=step]::before{opacity:1;transform:scale(1.5)}.chapter-button>span{position:absolute;right:30px;white-space:nowrap;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.chapter-button:hover>span,.chapter-button:focus-visible>span{opacity:1}.chapter-current,.chapter-count{font-size:11px;font-variant-numeric:tabular-nums;margin:8px 0}.chapter>*{min-width:0}.chapter-nav[hidden]{display:none}
@media(max-width:680px){.hero{min-height:0}.hero-scene-label{top:100px;font-size:15px}.intro-control{font-size:10px;top:96px;gap:8px}.pre-soma-word{bottom:22%;font-size:calc((100vw - 2 * var(--gutter)) * .206)}.hero .chrome-fallback{width:100%;height:100%;left:0;top:0}.hero-scroll-cue{bottom:calc(32px + env(safe-area-inset-bottom));flex-direction:row;gap:15px;white-space:nowrap;font-size:11px}.hero-coordinate{display:none}.arrival{padding:25px 22px}.arrival-top>span{font-size:17px}.arrival-top button{font-size:12px}.arrival-bottom{margin-bottom:30px}.arrival-bottom>span:first-child{max-width:14em;line-height:1.6;word-break:keep-all}.arrival-counter{gap:10px}.arrival-counter b{font-size:68px}.arrival-counter small{font-size:11px}.arrival-center{font-size:15vw}.chapter-nav{right:0;gap:0}.chapter-button{width:24px;height:24px}.chapter-button::before{width:3px;height:3px}.chapter-button>span{display:none}.chapter-current,.chapter-count{font-size:9px;margin:5px 0}}
/* Touch scrolling stays native: full-height chapters must not snap back during momentum or viewport changes. */
/* Short landscape screens use the header menu instead of clipped section dots. */
@media(max-height:560px){.chapter-nav{display:none}}
@media(max-height:620px) and (min-aspect-ratio:1/1){.hero{min-height:0}.hero-scene-label{top:calc(var(--header-height) + 14px);font-size:13px}.intro-control{top:calc(var(--header-height) + 12px)}.pre-soma-word{bottom:max(24%,100px);font-size:min(calc((100vw - 2 * var(--gutter)) * .205),24svh);justify-content:center}.hero-scroll-cue{bottom:calc(20px + env(safe-area-inset-bottom));flex-direction:row;gap:12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.pre-soma-word,.hero-scene-label{opacity:1;transform:none;clip-path:none}.arrival{display:none!important}.chapter-nav{display:none}.hero-scroll-cue>span:last-child{animation:none}}
.chapter-button .chapter-button-number{display:none}.chapter-button .chapter-button-label{right:28px}.chapter-nav .scene-position{display:flex;flex-direction:column;align-items:center;font-size:10px;gap:5px;margin-top:14px}.chapter-nav .scene-position>i{height:28px;width:1px;background:#ffffff50}.chapter-nav .scene-position>i>b{display:block;width:100%;height:100%;transform:scaleY(var(--scene-position,0));transform-origin:top;background:white}.scenes-enabled .chapter>.section-title,.scenes-enabled .chapter>.journey-heading,.scenes-enabled .chapter>.overview-heading{translate:0 var(--scene-lift,0px);opacity:var(--scene-ink,1)}.arrival-pending .chapter-nav{visibility:hidden}.menu-open .chapter-nav{visibility:hidden}

body[data-active-scene="1"] .floating-cta,.arrival-pending .floating-cta,.menu-open .floating-cta{visibility:hidden;pointer-events:none}
