.scene{position:relative}
.stick{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
#hero{height:320vh}#decades{height:640vh}#xscene{height:300vh}
#hero .stick{background:radial-gradient(ellipse at 50% 60%,#fff 0,var(--bg) 70%)}
.htitle{position:absolute;top:13vh;left:0;right:0;text-align:center;z-index:3;will-change:transform,opacity}
.htitle h1{font-size:clamp(64px,11vw,190px);line-height:.85;letter-spacing:-.05em;margin:10px 0 0;font-weight:800}.htitle h1 em{color:var(--a)}
.hsub{position:absolute;top:20vh;left:0;right:0;text-align:center;font-size:24px;opacity:0;z-index:3}
.hsub b{color:var(--a)}
#stack{position:absolute;bottom:4vh;width:min(560px,80vw);height:auto;z-index:2;overflow:visible}
.cue{position:absolute;bottom:3vh;left:50%;transform:translateX(-50%);z-index:4}
.cue i{display:block;width:2px;height:40px;background:var(--ink);margin:8px auto 0;animation:cue 1.6s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}
.words{padding:22vh 8vw;font-size:clamp(40px,6vw,96px);font-weight:800;letter-spacing:-.04em;line-height:1}
.words span{opacity:.12;display:inline}.words em{color:var(--d)}
#decades .stick{background:#f3a712}
.dbg{position:absolute;inset:0}
.dyear{position:relative;z-index:2;font-size:clamp(120px,24vw,380px);font-weight:800;letter-spacing:-.06em;line-height:.8;color:#1d1033;text-align:center}
.dyear .yr{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.dyear .ph{visibility:hidden}
.dcap{position:absolute;bottom:10vh;left:0;right:0;text-align:center;font-size:22px;z-index:3}
.dcap span{position:absolute;left:0;right:0;opacity:0}
.etoy{position:absolute;z-index:1;opacity:0}
.drail{position:absolute;top:50%;right:4vw;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:3}
.drail b{font:700 13px "Space Mono";padding:6px 10px;border:2px solid #1d1033;border-radius:20px;background:#fff8}
#xscene .stick{background:#140a26;color:#fff}
#xscene h2{position:absolute;top:9vh;left:0;right:0;text-align:center;font-size:clamp(44px,6vw,96px);letter-spacing:-.04em;margin:0}#xscene h2 em{color:var(--c)}
#xbot{width:min(720px,88vw);position:relative;z-index:2;margin-top:8vh;filter:drop-shadow(0 30px 40px #0008)}
.glow{position:absolute;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,#00c2b255,transparent 60%);z-index:1}
.xsteps{position:absolute;bottom:9vh;left:0;right:0;display:flex;justify-content:center;gap:12px}
.xsteps span{font:700 13px "Space Mono";letter-spacing:.12em;text-transform:uppercase;border:2px solid #fff4;border-radius:30px;padding:8px 14px;transition:.3s}
.xsteps span.on{background:var(--c);color:#1d1033;border-color:var(--c)}
.xbar{position:absolute;bottom:5vh;left:30%;right:30%;height:4px;background:#fff2;border-radius:4px}.xbar i{display:block;height:100%;background:var(--c);transform-origin:left;transform:scaleX(0);border-radius:4px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left}
.stats b{display:block;font-size:clamp(64px,8vw,130px);letter-spacing:-.05em;line-height:.9;font-weight:800}.stats b em{color:var(--a)}
/* toy story */
#tstage{height:280vh}#tstage .stick{background:radial-gradient(circle at 50% 45%,#fff6d8,#ffc62b)}
#tbot{width:min(680px,80vw);margin-top:6vh}
.tcap{position:absolute;left:6vw;top:22vh;max-width:380px;z-index:3}
.tcap div{position:absolute;opacity:0;width:380px}.tcap h3{font-size:46px;letter-spacing:-.03em;margin:8px 0}
#tgauge{height:220vh}#tgauge .stick{background:#140a26;color:#fff}
.gbig{width:min(640px,86vw)}.gbig .needle2{transform-origin:110px 110px}
.gnum{font-size:clamp(70px,10vw,150px);font-weight:800;letter-spacing:-.05em;text-align:center;line-height:.9}
@media (prefers-reduced-motion:reduce){#hero,#decades,#xscene,#tstage,#tgauge{height:auto}.stick{position:relative;height:auto;min-height:100vh;padding:12vh 0}.words span{opacity:1}.hsub,.dcap span:first-child,.tcap div:first-child{opacity:1}.cue{display:none}}
.hsub{font-weight:800;font-size:clamp(28px,3.4vw,52px);letter-spacing:-.03em}
.drail b.on{background:#1d1033;color:#fff}
.gbig{display:block;margin:20px auto}
.cats{grid-template-columns:repeat(4,1fr)}.cat h3{font-size:28px}
@media (max-width:900px){.cats{grid-template-columns:1fr 1fr}}
.drail{gap:8px}
