:root{--bg:#050505;--ink:#f5f5f5;--ink-dim:#8a8a8a;--line:hsla(0,0%,100%,.14);--glass:hsla(0,0%,100%,.03);--ease:cubic-bezier(.2,.75,.2,1);font-size:clamp(15px,1.1vw,18px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a,button{color:inherit}button{font:inherit}:focus-visible{border-radius:4px;outline:2px solid var(--ink);outline-offset:3px}.dot-dim{color:var(--ink-dim)}.cursor{display:none}@media(pointer:fine){.js .seg,.js a,.js body,.js button{cursor:none}.js .cursor{display:block;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .35s ease;will-change:transform;z-index:200}.cursor.is-visible{opacity:1}.cursor-ring{border:1px solid hsla(0,0%,96%,.55);border-radius:50%;display:block;height:clamp(1.6rem,2vw,2rem);transform:translate(-50%,-50%);transition:width .32s var(--ease),height .32s var(--ease),background .32s ease,border-color .32s ease;width:clamp(1.6rem,2vw,2rem)}.cursor.is-hover .cursor-ring{background:#f5f5f514;border-color:#f5f5f5e6;height:clamp(3.4rem,5vw,4.4rem);width:clamp(3.4rem,5vw,4.4rem)}.cursor.is-down .cursor-ring{transform:translate(-50%,-50%) scale(.82)}}.loader{display:none}.js .loader{background:var(--bg);display:grid;inset:0;place-items:center;position:fixed;transition:opacity .7s ease,visibility .7s ease;z-index:9999}.loader.is-done{opacity:0;visibility:hidden}.loader-inner{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.loader-logo{animation:loaderLogo .8s var(--ease) both;font-size:clamp(3rem,9vw,5.5rem);font-weight:800;letter-spacing:.02em}@keyframes loaderLogo{0%{letter-spacing:.35em;opacity:0;transform:translateY(14px) scale(.96)}to{letter-spacing:.02em;opacity:1;transform:none}}.loader-bar{background:var(--line);display:block;height:2px;overflow:hidden;width:clamp(120px,20vw,200px)}.loader-bar-fill{animation:loaderBar 1.15s cubic-bezier(.5,0,.2,1) forwards;background:var(--ink);display:block;height:100%;transform:scaleX(0);transform-origin:left}@keyframes loaderBar{to{transform:scaleX(1)}}.site-header{align-items:center;border-bottom:1px solid transparent;display:flex;gap:1.6rem;left:0;padding:1.1rem 6vw;position:fixed;right:0;top:0;transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease;z-index:10}.site-header.is-scrolled{backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);background:#0a0a0e80;border-bottom-color:var(--line)}.brand{font-size:1.2rem;font-weight:800;letter-spacing:.04em;text-decoration:none}.site-header nav{display:flex;gap:1.4rem;margin-left:auto}.site-header nav a{color:var(--ink-dim);font-size:.82rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .2s}.site-header nav a:hover{color:var(--ink)}.pill-group{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid hsla(0,0%,100%,.2);border-radius:999px;display:inline-flex;overflow:hidden}.pill-group a{color:var(--ink-dim);font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.4rem .7rem;text-decoration:none;transition:background .2s,color .2s}.pill-group a:hover{color:var(--ink)}.pill-group a[aria-current=true]{background:var(--ink);color:var(--bg)}.sobriety-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid hsla(0,0%,100%,.2);border-radius:999px;color:var(--ink-dim);display:inline-flex;font-size:.75rem;gap:.5rem;letter-spacing:.06em;padding:.45rem .9rem;transition:border-color .2s,color .2s}.sobriety-btn:hover{border-color:#ffffff80;color:var(--ink)}.sobriety-btn .dot{background:var(--ink);border-radius:50%;box-shadow:0 0 8px #fffc;height:8px;transition:background .2s,box-shadow .2s;width:8px}body.sober .sobriety-btn .dot{background:#666;box-shadow:none}.hero{-moz-column-gap:clamp(2rem,5vw,5rem);column-gap:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto 1fr;min-height:100svh;padding:clamp(5.8rem,11vh,8rem) 6vw 0}.kicker-row{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;margin-bottom:1.4rem}.kicker{color:var(--ink-dim);letter-spacing:.3em}.kicker,.status{font-size:.75rem;text-transform:uppercase}.status{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--glass);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:.6rem;letter-spacing:.15em;padding:.35rem .9rem}.status:before{animation:breathe 2.4s ease-in-out infinite;background:var(--ink);border-radius:50%;box-shadow:0 0 8px #ffffffb3;content:"";height:7px;width:7px}@keyframes breathe{50%{opacity:.35}}.hero h1{font-size:clamp(3.4rem,8.4vw,7.8rem);font-weight:800;letter-spacing:-.01em;line-height:.92;text-transform:uppercase}.outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.lens{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-top:clamp(1.5rem,2.8vh,2.2rem)}.lens-label{color:var(--ink-dim);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}.seg{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid hsla(0,0%,100%,.22);border-radius:999px;display:inline-flex;padding:4px;position:relative}.seg-thumb{background:var(--ink);border-radius:999px;bottom:4px;left:0;position:absolute;top:4px;transition:transform .45s var(--ease),width .45s var(--ease)}.seg button{background:transparent;border:0;border-radius:999px;color:var(--ink-dim);font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:.55rem 1.05rem;position:relative;text-transform:uppercase;transition:color .3s ease;white-space:nowrap;z-index:1}.seg button:hover{color:var(--ink)}.seg button[aria-checked=true]{color:var(--bg)}.seg:not(.is-ready) .seg-thumb{display:none}.seg:not(.is-ready) button[aria-checked=true]{background:var(--ink)}.seg .short{display:none}.pitch{margin-top:1.6rem;max-width:36rem}.pitch-role{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700;line-height:1.35}.pitch-lede{color:var(--ink-dim);font-size:1.08rem;line-height:1.7;margin-top:.8rem}.pitch-loc{color:var(--ink-dim);font-size:.78rem;letter-spacing:.14em;margin-top:1rem;text-transform:uppercase}.swap{animation:swap .5s var(--ease) both}@keyframes swap{0%{opacity:0;transform:translateY(10px)}}.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:.8rem;gap:.6rem;letter-spacing:.12em;padding:.75rem 1.35rem;text-decoration:none;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}.btn i{font-style:normal;transition:transform .25s ease}.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn:hover i{transform:translate(5px)}.btn--solid{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn--solid:hover{background:transparent;color:var(--ink)}.panel{backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);background:#ffffff06;border:1px solid var(--line);border-radius:16px;position:relative}.instrument{align-self:end;padding:1.4rem 1.4rem 1.2rem}.eyebrow{color:var(--ink-dim);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.instrument-head{align-items:baseline;display:flex;gap:1rem;justify-content:space-between}.instrument-time{font-size:.85rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}.instrument-stat{align-items:baseline;display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.9rem}.instrument-stat b{font-size:clamp(2.2rem,4vw,3.2rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.instrument-stat span{color:var(--ink-dim);font-size:.85rem;line-height:1.4;max-width:14rem}.solar{display:block;height:auto;margin-top:.8rem;overflow:visible;width:100%}.solar .base,.tl .axis{stroke:#ffffff47;stroke-width:1}.solar .tick,.tl .grid{stroke:#ffffff17;stroke-width:1}.solar .area{fill:#f5f5f517}.solar .curve{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.solar .now-line{stroke:#ffffff73;stroke-dasharray:3 3;stroke-width:1}.solar .now-dot{fill:var(--ink);stroke:var(--bg);stroke-width:2}.solar .now-ring{animation:ring 2.4s ease-out infinite;fill:none;stroke:var(--ink);stroke-width:1;transform-box:fill-box;transform-origin:center}@keyframes ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3.4)}}.solar text,.tl .yr{fill:var(--ink-dim);font-size:10px;letter-spacing:.08em}.solar .probe{opacity:0;stroke:var(--ink);stroke-width:1}.solar .probe.is-on{opacity:.5}.instrument-foot{color:var(--ink-dim);display:flex;flex-wrap:wrap;font-size:.75rem;font-variant-numeric:tabular-nums;gap:1rem;justify-content:space-between;letter-spacing:.06em;margin-top:.7rem;min-height:1.2em}.instrument-note{color:var(--ink-dim);font-size:.8rem;line-height:1.6;margin-top:.9rem;padding-top:.9rem}.figures,.instrument-note{border-top:1px solid var(--line)}.figures{border-bottom:1px solid var(--line);display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(1.8rem,3.6vh,3rem)}.figure{padding:1.3rem 1.4rem 1.4rem 0}.figure+.figure{border-left:1px solid var(--line);padding-left:1.4rem}.figure b{display:block;font-size:clamp(2rem,4.2vw,3.4rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em;line-height:1;white-space:nowrap}.figure span{color:var(--ink-dim);display:block;font-size:.85rem;line-height:1.5;margin-top:.6rem;max-width:15rem}.marquee{align-self:end;border-bottom:1px solid var(--line);grid-column:1/-1;margin-left:-6vw;margin-top:clamp(2rem,5vh,3.5rem);overflow:hidden;padding:.85rem 0;width:100vw}.marquee-track{animation:marquee 34s linear infinite;display:flex;width:-moz-max-content;width:max-content}.marquee-track span{color:var(--ink-dim);font-size:.75rem;letter-spacing:.35em;padding-right:2rem;text-transform:uppercase;white-space:nowrap}@keyframes marquee{to{transform:translate(-50%)}}.section{margin:0 auto;max-width:92rem;padding:clamp(5rem,12vh,8rem) 6vw 0}.section-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem 3rem;justify-content:space-between;margin-bottom:clamp(1.6rem,4vh,2.6rem)}.section h2{font-size:clamp(2.4rem,6vw,4.5rem);font-weight:800;letter-spacing:-.01em;line-height:1;text-transform:uppercase}.section h2 em{color:transparent;font-style:normal;-webkit-text-stroke:1.5px var(--ink)}.section-sub{color:var(--ink-dim);font-size:.95rem;line-height:1.6;max-width:26rem}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s var(--ease)}.js .reveal.is-inview{opacity:1;transform:none}.tl-wrap{padding:1.2rem 1.2rem .6rem}.tl-scroll{overflow-x:auto;scrollbar-color:#333 transparent;scrollbar-width:thin}.tl{display:block;height:auto;min-width:760px;width:100%}.tl .row-label{fill:var(--ink-dim);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}.tl .yr{font-size:10.5px;font-variant-numeric:tabular-nums;text-anchor:middle}.tl .seg-g rect{fill:#f5f5f50d;stroke:#f5f5f542;stroke-width:1;transition:fill .35s ease,stroke .35s ease}.tl .seg-g text{fill:var(--ink-dim);font-size:11px;font-weight:700;letter-spacing:.1em;pointer-events:none;text-anchor:middle;text-transform:uppercase;transition:fill .35s ease}.tl .seg-g.approx rect{fill:transparent;stroke-dasharray:4 3}.tl .seg-g.lit rect{fill:#f5f5f533;stroke:#f5f5f599}.tl .seg-g.lit text{fill:var(--ink)}.tl .seg-g:hover rect{stroke:var(--ink)}.tl .seg-g.sel rect{fill:var(--ink);stroke:var(--ink);stroke-dasharray:none}.tl .seg-g.sel text{fill:var(--bg)}.tl .now{stroke:var(--ink);stroke-width:1}.tl .now-label{fill:var(--ink);font-size:10.5px;letter-spacing:.14em;text-anchor:end;text-transform:uppercase}.tl .pulse{animation:run 7s linear infinite;fill:var(--ink);filter:drop-shadow(0 0 5px #fff)}@keyframes run{0%{opacity:0;transform:translate(var(--x0))}8%,92%{opacity:1}to{opacity:0;transform:translate(var(--x1))}}.tl-foot{color:var(--ink-dim);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.6rem 2rem;justify-content:space-between;letter-spacing:.04em;padding:.4rem .2rem .6rem}.tip{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0c0c0eeb;border:1px solid hsla(0,0%,100%,.25);border-radius:10px;font-size:.78rem;font-variant-numeric:tabular-nums;line-height:1.45;opacity:0;padding:.55rem .8rem;pointer-events:none;position:fixed;transform:translate(-50%,calc(-100% - 14px));transition:opacity .15s ease;white-space:nowrap;z-index:50}.tip.is-on{opacity:1}.tip small{color:var(--ink-dim);display:block;font-size:.72rem}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tabs button{background:var(--glass);border:1px solid var(--line);border-radius:999px;color:var(--ink-dim);font-size:.76rem;letter-spacing:.04em;padding:.42rem .9rem;transition:background .25s ease,color .25s ease,border-color .25s ease}.tabs button:hover{border-color:#fff6;color:var(--ink)}.tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.sheet{display:grid;gap:1.6rem clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:1rem;padding:clamp(1.4rem,3vw,2.4rem)}.sheet-dates{border:1px solid var(--line);border-radius:999px;color:var(--ink-dim);display:inline-block;font-size:.78rem;letter-spacing:.15em;padding:.35rem .9rem}.sheet h3,.sheet-dates{text-transform:uppercase}.sheet h3{font-size:clamp(2rem,4.4vw,3.6rem);font-weight:800;letter-spacing:-.01em;line-height:.98;margin-top:1.1rem}.sheet h3 em{color:transparent;font-style:normal;-webkit-text-stroke:1.5px var(--ink)}.sheet-role{font-size:1.05rem;font-weight:600;line-height:1.4;margin-top:.9rem}.sheet-context{color:var(--ink-dim);font-size:.95rem;line-height:1.7;margin-top:1rem}.sheet-context a{color:var(--ink)}.facts{counter-reset:fact;list-style:none}.facts li{border-top:1px solid var(--line);color:var(--ink-dim);counter-increment:fact;display:grid;font-size:.98rem;grid-template-columns:2.4rem minmax(0,1fr);line-height:1.6;padding:.85rem 0;transition:color .35s ease}.facts li:last-child{border-bottom:1px solid var(--line)}.facts li:before{color:var(--ink-dim);content:counter(fact,decimal-leading-zero);font-size:.72rem;letter-spacing:.1em;padding-top:.3rem}.facts li.lit{color:var(--ink)}.facts li.lit:before{color:var(--ink);content:"●";font-size:.6rem;padding-top:.5rem}.facts-legend{color:var(--ink-dim);font-size:.75rem;letter-spacing:.04em;margin-top:.8rem}.chips,.facts-legend--projects{margin-top:1.4rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.chips li{background:var(--glass);border:1px solid hsla(0,0%,96%,.4);border-radius:999px;font-size:.78rem;letter-spacing:.03em;padding:.36rem .85rem}.chips.dashed{margin-top:.6rem}.chips.dashed li{border-color:var(--line);border-style:dashed;color:var(--ink-dim)}.method{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.q{display:flex;flex-direction:column;gap:2.4rem;justify-content:space-between;min-height:11rem;padding:1.5rem}.q p{font-size:clamp(1.15rem,1.9vw,1.5rem);font-weight:700;line-height:1.3}.method-wide{grid-column:span 2;padding:1.5rem}.method-self p,.method-wide p{color:var(--ink-dim);font-size:.98rem;line-height:1.7;margin-top:.8rem}.method-self{padding:1.5rem}.flow{align-items:center;display:flex;flex-wrap:wrap;font-size:.72rem;gap:.5rem;letter-spacing:.12em;margin-top:1.2rem;text-transform:uppercase}.flow span{border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem}.flow span.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.flow i{color:var(--ink-dim);font-style:normal}.tools{border-top:1px solid var(--line)}.tool-row{align-items:baseline;border-bottom:1px solid var(--line);display:grid;gap:1rem 2rem;grid-template-columns:14rem minmax(0,1fr);padding:1.15rem 0;transition:opacity .35s ease}.tool-row dt{font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:800;letter-spacing:.01em;text-transform:uppercase}.tool-row dd,.tool-row dt{color:var(--ink-dim);transition:color .35s ease}.tool-row dd{font-size:.98rem;line-height:1.75}.tool-row.lit dd,.tool-row.lit dt{color:var(--ink)}.contact h2{font-size:clamp(2.2rem,5vw,4rem);text-transform:none}.contact p{color:var(--ink-dim);font-size:1.05rem;line-height:1.7;margin-top:1.2rem;max-width:36rem}.mail{border-bottom:1px solid;display:inline-block;font-size:clamp(1.1rem,2.5vw,1.6rem);margin-top:1.6rem;padding-bottom:.2rem;text-decoration:none;transition:color .2s}.mail:hover{color:var(--ink-dim)}.socials{gap:.8rem;margin-top:2.2rem}.site-footer,.socials{display:flex;flex-wrap:wrap}.site-footer{border-top:1px solid var(--line);color:var(--ink-dim);font-size:.75rem;font-variant-numeric:tabular-nums;gap:.6rem 2rem;justify-content:space-between;letter-spacing:.06em;margin-top:clamp(5rem,12vh,8rem);padding:1.4rem 6vw 2rem}body.sober .marquee-track,body.sober .solar .now-ring,body.sober .status:before,body.sober .tl .pulse{animation:none}body.sober .solar .now-ring,body.sober .tl .pulse{display:none}body.sober .reveal{opacity:1;transform:none;transition:none}body.sober .swap{animation:none}body.sober .seg-thumb{transition:none}@media(max-width:1050px){.hero{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.instrument{margin-top:2.4rem;max-width:34rem}.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.figure:nth-child(3){border-left:0;padding-left:0}.figure:nth-child(n+3){border-top:1px solid var(--line)}.method,.sheet{grid-template-columns:minmax(0,1fr)}.method-wide{grid-column:auto}.q{gap:1.4rem;min-height:0}.tool-row{gap:.3rem;grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.site-header{gap:.8rem;padding:.9rem 5vw}.site-header nav{display:none}.site-header .pill-group{margin-left:auto}.sobriety-btn span:last-child{display:none}.sobriety-btn{padding:.55rem}.hero{padding-left:5vw;padding-right:5vw}.marquee{margin-left:-5vw}.section{padding-left:5vw;padding-right:5vw}.seg{width:100%}.seg button{flex:1;font-size:.72rem;padding:.6rem .4rem}.seg .long{display:none}.seg .short{display:inline}.outline{-webkit-text-stroke-width:1.5px}.figure b{font-size:1.75rem}.figure{padding-right:.8rem}.figure+.figure{padding-left:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader-bar-fill,.loader-logo,.marquee-track,.solar .now-ring,.status:before,.swap,.tl .pulse{animation:none}.solar .now-ring,.tl .pulse{display:none}.js .reveal{opacity:1;transform:none}.js .reveal,.seg-thumb{transition:none}}
