:root{--ink:#0a0a0a;--dim:rgba(10,10,10,.45);--line:rgba(10,10,10,.1);--bg:#fff}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);overflow-x:clip}
body{font-family:'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:break-word;text-wrap:balance}
a{color:var(--ink);text-decoration:none}
a:hover{opacity:.6}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav .logo{height:30px;display:block}
.nav.on-dark{background:transparent;border-bottom-color:transparent;backdrop-filter:none}
.nav.on-dark .logo{filter:invert(1)}
.nav.on-dark a{color:#fff}
.nav-links{display:flex;gap:32px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:16px 26px;border:none;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.btn:hover{opacity:.85}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.nav .btn{padding:11px 18px;font-size:11px}
.chapter{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 32px;position:relative}
.chapter.short{min-height:70vh}
.statement{font-weight:600;font-size:clamp(3rem,9vw,10rem);line-height:.95;letter-spacing:-.04em;margin:0;max-width:18ch}
.statement.center{align-self:center;text-align:center}
.sub{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.5;color:var(--dim);max-width:52ch;margin:32px 0 0}
.label{margin-bottom:28px;display:block}
.hairline{border:none;border-top:1px solid var(--line);margin:0}
.index-list{border-top:1px solid var(--line);margin-top:64px}
.index-row{display:grid;grid-template-columns:64px 1fr 1fr auto;gap:24px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.index-row .num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim)}
.index-row .name{font-weight:500;font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em}
.index-row .tag{font-size:15px;color:var(--dim)}
.index-row .arr{color:var(--dim)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.stat .n{font-weight:600;font-size:clamp(2.5rem,5.5vw,5rem);letter-spacing:-.03em;line-height:1}
.stat .l{margin-top:12px;font-size:14px;color:var(--dim);max-width:24ch}
.video-slot{position:relative;background:#0a0a0a;overflow:hidden}
.video-slot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-slot .grain{position:absolute;inset:-50%;background:radial-gradient(ellipse at 30% 40%,rgba(255,255,255,.07),transparent 55%),radial-gradient(ellipse at 70% 65%,rgba(255,255,255,.05),transparent 50%);animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(-4%,-3%) scale(1)}to{transform:translate(4%,3%) scale(1.08)}}
/* Scroll-scrub video — playhead driven by scroll position, see app.js */
.scrub{position:relative;height:300vh;background:#0a0a0a}
.scrub-stage{position:sticky;top:0;height:100vh;height:100svh;width:100%}
.scrub-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(5,5,5,.6) 100%)}
.scrub-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;will-change:opacity,transform}
.scrub-mark img{width:clamp(64px,8vw,120px);height:auto;display:block;filter:drop-shadow(0 8px 44px rgba(0,0,0,.6))}
.scrub-mark.lockup img{width:clamp(260px,46vw,780px)}
.scrub.hero{height:340vh}
.hero-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:120px 32px;will-change:opacity,transform}
footer{padding:120px 32px 40px;border-top:1px solid var(--line)}
footer .big{font-weight:600;font-size:clamp(3.5rem,11vw,11rem);letter-spacing:-.045em;line-height:.9;margin:0 0 72px}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--line);padding-top:32px;font-size:15px;line-height:1.7}
.foot-grid .mono{display:block;margin-bottom:10px}
.foot-base{display:flex;justify-content:space-between;margin-top:64px}
.form-card{border:1px solid var(--line);border-radius:6px;padding:36px;max-width:560px;width:100%}
.form-card .bar{display:flex;gap:6px;margin-bottom:28px}
.form-card .bar i{flex:1;height:2px;background:var(--line)}
.form-card .bar i.on{background:var(--ink)}
.opt{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:17px 20px;margin-bottom:8px;background:none;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:16px;color:var(--ink);cursor:pointer}
.opt:hover{border-color:var(--ink)}
.form-card input{width:100%;padding:16px 18px;margin-bottom:8px;border:1px solid var(--line);border-radius:4px;background:none;font:inherit;font-size:16px;color:var(--ink);outline:none}
.form-card input:focus{border-color:var(--ink)}
.q-title{font-weight:500;font-size:26px;letter-spacing:-.02em;margin:0 0 20px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.video-slot .grain{animation:none}.scrub,.scrub.hero{height:auto}.scrub-stage{position:relative;height:100vh}.scrub-mark{display:none}}
@media (max-width:900px){
.nav{padding:14px 18px}.nav-links{display:none}
.chapter{padding:100px 20px;min-height:auto}
.chapter.hero-vh{min-height:100vh}
.index-row{grid-template-columns:40px 1fr;row-gap:6px}
.index-row .tag{grid-column:2}.index-row .arr{display:none}
.grid-2,.grid-3{grid-template-columns:1fr;gap:32px}
.foot-grid{grid-template-columns:1fr 1fr}
footer{padding:80px 20px 32px}
.scrub{height:250vh}
.scrub.hero{height:280vh}
.hero-copy{padding:100px 20px}
.nav .btn{white-space:nowrap}
}
@media (max-width:400px){
.nav{padding:8px 16px}
.nav .logo{height:24px}
.nav .btn{padding:9px 13px;font-size:10px;letter-spacing:.08em}
.nav a{display:flex;align-items:center;min-height:44px}
.hero-copy{padding:88px 20px 40px}
.statement{font-size:clamp(2.4rem,12vw,3rem)}
}
