.cover{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem 4rem;max-width:1100px;margin:0 auto;text-align:center}.cover .eyebrow{margin-bottom:2.5rem}.cover h1{font-size:clamp(2.2rem,5.4vw,3.8rem);font-weight:400;letter-spacing:-.015em;max-width:20ch;line-height:1.1;margin-bottom:2.75rem;color:var(--ink)}.cover .lede{max-width:54ch;color:var(--body);font-size:1.12rem;line-height:1.7;text-align:left}.cover .lede+.lede{margin-top:1rem}.cover .scroll-cue{margin-top:5rem;color:var(--muted)}.cover .scroll-cue:after{content:" ↓"}.scroll-section{position:relative;height:660vh}.sticky-wrap{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;justify-content:center;overflow:hidden}.sticky-inner,.sticky-wrap{width:100%;align-items:center}.sticky-inner{max-width:1180px;padding:0 3rem;display:grid;grid-template-columns:5fr 6fr;grid-gap:4rem;gap:4rem}.caption-col{position:relative;min-height:420px}.caption{position:absolute;top:0;left:0;right:0;opacity:0;transition:opacity .55s ease;pointer-events:none}.caption.active{opacity:1;pointer-events:auto}.caption .chapter{margin-bottom:1.25rem}.caption h2{font-size:clamp(1.7rem,2.5vw,2.15rem);font-weight:400;letter-spacing:-.012em;line-height:1.18;margin-bottom:1.4rem;color:var(--ink);max-width:20ch}.caption p{color:var(--body);font-size:1.02rem;line-height:1.65;max-width:44ch}.caption p+p{margin-top:.85rem}.detail-meta{display:block;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.detail-meta.spaced{margin-top:.9rem}.detail-method-note{margin-left:.45rem;font-size:.7rem;letter-spacing:.06em}.detail-method-note,.interact-hint{display:inline-block;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;text-transform:uppercase}.interact-hint{margin-top:1.4rem;font-size:10px;letter-spacing:.12em;border-top:1px solid var(--rule);padding-top:.75rem}.viz-col{position:relative}#viz{width:100%;height:auto;display:block;overflow:visible;max-height:78vh}.methodology-note{margin-top:1rem;max-width:42ch;opacity:0;transition:opacity .35s ease}.methodology-note.visible{opacity:1}.layer{cursor:pointer}.layer-hit{pointer-events:all}.layer-label{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.1em;fill:var(--muted);transition:fill .3s ease,font-weight .3s ease;pointer-events:none;text-transform:uppercase}.layer.is-active .layer-label,.layer:hover .layer-label{fill:var(--ink)}.layer-track{stroke:var(--rule);stroke-width:1;opacity:.55;pointer-events:none}.layer-bar{fill:var(--neutral);transition:width .95s cubic-bezier(.33,0,.15,1),fill .5s ease,opacity .4s ease;pointer-events:none}.layer-bar.compressed{fill:var(--compressed)}.layer-bar.accent{fill:var(--accent)}.layer-bar.accent-lite{fill:var(--accent-lite)}.layer.is-active .layer-bar{fill:var(--accent-deep)}.layer.is-dim .layer-bar{opacity:.35}.layer-callout{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.06em;fill:var(--muted);opacity:0;transition:opacity .6s ease;pointer-events:none}.layer-callout.visible{opacity:1}.dollar-hint{opacity:0;transition:opacity .7s ease;pointer-events:none}.dollar-hint.visible{opacity:1}.dollar-hint text{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;fill:var(--accent)}.dollar-hint circle,.dollar-hint line{stroke:var(--accent);fill:var(--accent)}.axis-mark{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;fill:var(--muted-soft);opacity:0;transition:opacity .6s ease}.axis-mark.visible{opacity:1}.closing{padding:12rem 2rem 8rem;max-width:640px;margin:0 auto}.closing .chapter{margin-bottom:1.5rem}.closing h2{font-size:clamp(1.9rem,3.8vw,2.6rem);font-weight:400;letter-spacing:-.015em;line-height:1.15;margin-bottom:2rem}.closing p{color:var(--body);font-size:1.12rem;line-height:1.7}.closing p+p{margin-top:1.2rem}.closing .sig{margin-top:3.5rem;color:var(--muted);letter-spacing:.6em}@media (max-width:900px){body{font-size:16px}.cover{padding:4rem 1.5rem 3rem}.sticky-inner{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem;align-items:start}.caption-col{min-height:180px;order:2}.viz-col{order:1}.methodology-note{margin-top:.75rem;max-width:none}.caption h2{font-size:1.35rem;margin-bottom:.85rem}.caption p{font-size:.92rem;max-width:none}.caption p+p{margin-top:.55rem}.scroll-section{height:780vh}.closing{padding:6rem 1.5rem 5rem}#viz{max-height:52vh}}@media (max-width:560px){.caption p:nth-of-type(2){display:none}.caption-col{min-height:140px}.methodology-note{font-size:9px;line-height:1.5}}