/* Native scroll drives these scenes; normal document layout is the fallback. */
.scroll-story{position:relative;background:#11191b;--phase:0;--progress:0}
.story-stage{position:relative}
.scroll-story{--story-ui:#182023}
.scroll-story[data-active="1"]{--story-ui:#f1ece2}
.story-heading,.story-controls{display:none}
.story-panel{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:3vw;align-items:center;min-height:650px;padding:100px 8vw;overflow:hidden}
.story-strategy{background:#eeeae1;color:#182023}
.story-product{background:#11191b;color:#eeeae1}
.story-partner{background:#ff570b;color:#11191b}
.story-copy{position:relative;z-index:2;min-width:0}
.story-kicker{font-size:11px;letter-spacing:2px;margin:0 0 28px;font-weight:600}
.story-copy h2{font-size:clamp(48px,6.3vw,96px);line-height:1.02;letter-spacing:-4px;margin:0 0 25px}
.story-copy>p:not(.story-kicker){font-size:15px;line-height:1.8;opacity:.75}
.story-strategy em,.story-product em{color:#ff570b}
.story-partner em{color:#fff4e2}
.story-link{display:inline-flex;align-items:center;gap:30px;font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding:15px 0 12px;margin-top:15px}
.story-link>span{font-size:24px;transition:transform .25s}.story-link:hover>span{transform:translate(4px,-4px)}
.story-visual{position:relative;height:450px;min-width:0;display:grid;place-items:center;isolation:isolate}
.story-ghost{position:absolute;inset:0;display:grid;place-items:center;font:600 clamp(220px,31vw,470px)/1 'Space Grotesk',sans-serif;letter-spacing:-30px;color:transparent;-webkit-text-stroke:1px currentColor;opacity:.1;z-index:-1;transform:translateX(calc(var(--phase) * -15px))}
.direction-ring{position:absolute;width:78%;aspect-ratio:1;border:1px solid #b8b3a5;border-radius:50%;transform:rotate(calc(var(--phase) * 110deg))}
.direction-ring:before{content:"";position:absolute;inset:14%;border:1px dashed #b8b3a5;border-radius:50%}
.direction-ring:after{content:"N";position:absolute;left:48%;top:-27px;color:#ff570b;font-size:11px}
.ring-inner{width:50%;transform:rotateX(52deg) rotate(calc(var(--phase) * -160deg));border-color:#ff570b}
.ring-inner:after,.ring-inner:before{display:none}
.direction-needle{width:38%;height:55%;background:#ff570b;clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);transform:rotate(calc(25deg + var(--phase) * 140deg));filter:drop-shadow(0 20px 15px #0002)}
.visual-label{position:absolute;bottom:0;font-size:9px;letter-spacing:2px;opacity:.65}
.story-product-tile{width:55%;aspect-ratio:1;transform:rotate(calc(-15deg + var(--phase) * 16deg)) translateY(calc((1 - var(--phase)) * 28px));border-radius:24px;box-shadow:12px 14px 0 #852c06,24px 35px 50px #0008;overflow:hidden}
.story-product-tile img{display:block;width:100%;height:100%;object-fit:cover}
.story-product-frame{position:absolute;width:58%;aspect-ratio:1;border:1px solid #a2b6a65c;border-radius:24px}
.frame-back{transform:translate(30px,-35px) rotate(calc(-30deg + var(--phase) * 35deg))}
.frame-mid{border-color:#ff570b88;transform:translate(-30px,35px) rotate(calc(25deg - var(--phase) * 35deg))}
.partner-loop{position:absolute;width:55%;aspect-ratio:1;border:40px solid #11191b;border-radius:50%;box-shadow:7px 12px 0 #bd3d07;transform:translateX(calc(-90px + var(--phase) * 25px)) rotateY(28deg)}
.loop-two{border-color:#fff4e2;transform:translateX(calc(90px - var(--phase) * 25px)) rotateY(-28deg);mix-blend-mode:normal}
.loop-star{position:absolute;top:0;right:4%;font-size:58px;transform:rotate(calc(var(--phase) * 110deg))}
.scroll-manifesto{background:#11191b;color:#f1ece2;padding:90px 8vw}
.manifesto-inner h2{font-size:clamp(42px,6.6vw,100px);letter-spacing:-4px;line-height:1.18;margin:40px 0}
.manifesto-inner h2>span{display:block;color:#f1ece2}
.manifesto-inner h2>span em{color:inherit}
.manifesto-inner>a{font-size:13px;border-bottom:1px solid #647166;padding-bottom:10px}
.manifesto-inner>a span{color:#ff570b;margin-left:20px}
.scroll-enabled .scroll-story{height:350svh}
.scroll-enabled .story-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.scroll-enabled .story-panel{position:absolute;inset:0;min-height:0;padding:110px 8vw 115px;opacity:var(--weight,0);pointer-events:none}
.scroll-enabled .story-panel:first-of-type{--weight:1}
.scroll-enabled .story-panel.is-active{pointer-events:auto;z-index:2}
.scroll-enabled .story-copy{transform:translateY(var(--offset,0px));opacity:var(--copy-opacity,1)}
.scroll-enabled .story-heading{display:flex;position:absolute;top:32px;left:8vw;right:8vw;justify-content:space-between;gap:20px;z-index:5;font-size:9px;letter-spacing:1.8px;color:#fff;mix-blend-mode:difference}
.story-hint>span{display:inline-block;margin-left:12px}
.scroll-enabled .story-controls{display:flex;position:absolute;bottom:34px;left:8vw;right:8vw;z-index:5;gap:28px;align-items:center;padding-bottom:20px;color:#fff;mix-blend-mode:difference}
.story-controls button{border:0;background:none;color:inherit;opacity:.5;padding:8px 0;font:500 12px 'DM Sans',sans-serif;cursor:pointer}
.story-controls button[aria-current="step"]{opacity:1}
.story-controls button>span{font-size:9px;margin-right:9px}
.story-count{margin-left:auto;font-size:10px;letter-spacing:2px}
.story-progress{position:absolute;bottom:0;left:0;right:0;height:1px;background:#ffffff40}
.story-progress>span{display:block;height:2px;background:white;transform-origin:left;transform:scaleX(var(--progress));width:100%}
.scroll-enabled .scroll-manifesto{height:155svh;padding-top:0;padding-bottom:0}
.scroll-enabled .manifesto-inner{height:100svh;position:sticky;top:0;display:flex;justify-content:center;align-items:flex-start;flex-direction:column}
.scroll-enabled .manifesto-inner h2>span{background:linear-gradient(90deg,#f1ece2 0%,#f1ece2 var(--fill,0%),#48504d var(--fill,0%),#48504d 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.scroll-enabled .manifesto-inner h2>span em{background:linear-gradient(90deg,#ff570b 0%,#ff570b var(--fill,0%),#48504d var(--fill,0%));background-clip:text;-webkit-background-clip:text;color:transparent}
.home .hero-art{transform:translateY(var(--hero-travel,0px)) scale(var(--hero-scale,1));will-change:transform}
.scroll-enabled .hero-copy{translate:0 var(--copy-travel,0px)}
.home .next-chapter{clip-path:inset(0 var(--closing-inset,0%) round var(--closing-radius,0px))}
.scroll-enabled .story-controls,.scroll-enabled .story-heading{color:var(--story-ui);mix-blend-mode:normal}
.story-controls button{opacity:.7}
.story-progress{background:color-mix(in srgb,currentColor 25%,transparent)}
.story-progress>span{background:currentColor}
.story-ghost{-webkit-text-stroke:1px #9ba99a80}
@media(max-width:900px){
 .story-copy h2{font-size:clamp(42px,6vw,66px);letter-spacing:-2px}
 .story-visual{height:350px}.partner-loop{border-width:28px}
}
@media(max-width:760px){
 .story-panel{grid-template-columns:1fr;gap:10px;padding:60px 7vw;min-height:650px}
 .story-copy h2{font-size:clamp(39px,10vw,62px);letter-spacing:-2px;margin-bottom:15px}
 .story-kicker{font-size:9px;margin-bottom:18px}
 .story-copy>p:not(.story-kicker){font-size:12px;line-height:1.6}
 .story-link{font-size:12px;padding:6px 0;margin-top:2px;gap:25px}
 .story-visual{height:235px;max-width:330px;width:100%;margin:auto}
 .story-ghost{font-size:260px;letter-spacing:-15px}
 .direction-ring{width:58%}.ring-inner{width:43%}.direction-needle{width:27%;height:58%}
 .story-product-tile{width:44%;border-radius:16px}
 .story-product-frame{width:43%;border-radius:16px}
 .partner-loop{width:46%;border-width:25px}
 .loop-star{font-size:36px;top:10px}.visual-label{font-size:7px}
 .scroll-enabled .scroll-story{height:330svh}
 .scroll-enabled .story-panel{padding:90px 7vw 100px;grid-template-rows:auto minmax(180px,1fr);align-items:center}
 .scroll-enabled .story-heading{top:24px;left:7vw;right:7vw;font-size:7px;letter-spacing:.8px}
 .story-hint{max-width:90px;text-align:right;line-height:1.6}
 .scroll-enabled .story-controls{left:7vw;right:7vw;bottom:24px;gap:18px}
 .story-controls button{font-size:10px}.story-controls button>span{margin-right:4px;font-size:8px}.story-count{font-size:8px;letter-spacing:.5px}
 .scroll-manifesto{padding:60px 7vw}.manifesto-inner h2{font-size:clamp(34px,8.5vw,55px);letter-spacing:-1.6px;line-height:1.3}
}
@media(prefers-reduced-motion:reduce),(max-height:620px){
 .home .hero-art{transform:none!important}.home .hero-copy{translate:none!important}
 .manifesto-inner h2>span{color:#f1ece2}.manifesto-inner h2>span em{color:#ff570b}
 .home .next-chapter{clip-path:none}
}
