:root{--font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Fraunces","Iowan Old Style",Georgia,serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--font-courier:"Courier Prime","Courier New",ui-monospace,monospace;--u:clamp(4px,0.72vw,11px);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:48px;--s9:64px;--s10:96px;--paper:#b8eb96;--panel:#c9f0ad;--ink:#1e2b16;--ink-2:#374a2a;--ink-3:#4f683f;--rule:rgba(30,43,22,0.18);--rule-strong:rgba(30,43,22,0.32);--accent:#1e2b16;--accent-hover:#16200f;--accent-text:#1e2b16;--on-accent:#b8eb96;--accent-bright:#e8734a;--focus:var(--ink);--demo-top:#35241d;--demo-bot:#1a120e;--on-demo:rgba(255,246,240,0.34);--on-demo-faint:rgba(255,246,240,0.07);--t-display:min(calc(var(--u) * 13),19vw);--t-h2:clamp(2.125rem,4.4vw,3.5rem);--t-statement:clamp(1.5rem,2.4vw,2rem);--t-h3:1.3125rem;--t-lead:1.25rem;--t-body:1.0625rem;--t-small:0.9375rem;--t-label:0.6875rem;--t-post-h2:clamp(2.5rem,5vw,4.5rem);--t-post-h3:clamp(1.45rem,2.1vw,1.85rem);--t-case-h2:clamp(2rem,3.2vw,3.25rem);--t-case-h2-mobile:clamp(1.8rem,8vw,2.6rem);--t-post-body:1.08rem;--t-post-body-mobile:1rem;--t-post-link:0.95rem;--t-post-lede:clamp(1.3rem,2.2vw,1.55rem);--t-post-label:0.75rem;--t-runner:clamp(3.4rem,7.8vw,7rem);--t-divider:clamp(3.2rem,7.4vw,6.6rem);--r-panel:18px;--ease:cubic-bezier(0.51,0.01,0.2,1);--dur:300ms;--nav-h:60px;color-scheme:light}.tone-sage{--paper:#b8eb96;--panel:#c9f0ad;--ink:#1e2b16;--ink-2:#374a2a;--ink-3:#4f683f;--rule:rgba(30,43,22,0.18);--rule-strong:rgba(30,43,22,0.32);--accent:#1e2b16;--accent-hover:#16200f;--accent-text:#1e2b16;--on-accent:#b8eb96}.tone-pink{--paper:#f4c2da;--panel:#f9d9e8;--ink:#1e2b16;--ink-2:#3a3f2f;--ink-3:#5e5851;--rule:rgba(30,43,22,0.18);--rule-strong:rgba(30,43,22,0.32);--accent:#1e2b16;--accent-hover:#16200f;--accent-text:#1e2b16;--on-accent:#f4c2da}.tone-forest{--paper:#1e2b16;--panel:#2b3d20;--ink:#b8eb96;--ink-2:#95bf79;--ink-3:#76985f;--rule:rgba(184,235,150,0.18);--rule-strong:rgba(184,235,150,0.32);--accent:#b8eb96;--accent-hover:#c6f0a9;--accent-text:#b8eb96;--on-accent:#1e2b16}.tone-lilac{--paper:#9a95dd;--panel:#b0abe6;--ink:#1e2b16;--ink-2:var(--ink);--ink-3:var(--ink);--rule:rgba(30,43,22,0.22);--rule-strong:rgba(30,43,22,0.38);--accent:#1e2b16;--accent-hover:#16200f;--accent-text:#1e2b16;--on-accent:#9a95dd}.tone-orange{--paper:#e8734a;--panel:#ed8a68;--ink:#1e2b16;--ink-2:var(--ink);--ink-3:var(--ink);--rule:rgba(30,43,22,0.22);--rule-strong:rgba(30,43,22,0.38);--accent:#1e2b16;--accent-hover:#16200f;--accent-text:#1e2b16;--on-accent:#e8734a}html:has([data-project-tone=sage]){--paper:#c7bbed;--panel:#ded6f7;--ink:#2d1938;--ink-2:#493653;--ink-3:#6e5d79;--rule:rgba(45,25,56,0.2);--rule-strong:rgba(45,25,56,0.38);--accent:#2d1938;--accent-hover:#472356;--accent-text:#2d1938;--on-accent:#c7bbed;--focus:var(--ink)}html:has([data-project-tone=forest]){--paper:#2a1c35;--panel:#3d2b4c;--ink:#f3d8a4;--ink-2:#e8c9b8;--ink-3:#c09aa6;--rule:rgba(243,216,164,0.22);--rule-strong:rgba(243,216,164,0.42);--accent:#f3d8a4;--accent-hover:#ffe7bf;--accent-text:#f3d8a4;--on-accent:#2a1c35;--focus:var(--ink)}html[data-mode=grind]{--paper:#15163d;--panel:#25265c;--ink:#d8ff63;--ink-2:#e8eaff;--ink-3:#aeb3e6;--rule:rgba(216,255,99,0.22);--rule-strong:rgba(216,255,99,0.4);--accent:#d8ff63;--accent-hover:#efffa2;--accent-text:#d8ff63;--on-accent:#15163d;--accent-bright:#ff668f;--demo-top:#25265c;--demo-bot:#0b0d27;--on-demo:rgba(232,234,255,0.38);--on-demo-faint:rgba(232,234,255,0.08);--font-display:var(--font-mono);--t-display:min(calc(var(--u) * 11),17vw);--t-h2:clamp(1.95rem,3.8vw,3.125rem);--t-statement:clamp(1.35rem,2.1vw,1.75rem);--ease:cubic-bezier(0.22,1,0.36,1);--dur:420ms}html[data-mode=grind] .tone-forest,html[data-mode=grind] .tone-pink,html[data-mode=grind] .tone-sage,html[data-mode=grind].tone-forest,html[data-mode=grind].tone-pink,html[data-mode=grind].tone-sage{--paper:#15163d;--panel:#25265c;--ink:#d8ff63;--ink-2:#e8eaff;--ink-3:#aeb3e6;--rule:rgba(216,255,99,0.22);--rule-strong:rgba(216,255,99,0.4);--accent:#d8ff63;--accent-hover:#efffa2;--accent-text:#d8ff63;--on-accent:#15163d;--focus:var(--ink);background:var(--paper);color:var(--ink-2)}html[data-mode=grind] .tone-lilac{--paper:#7568ff;--panel:#9289ff;--ink:#15163d;--ink-2:var(--ink);--ink-3:var(--ink);--rule:rgba(21,22,61,0.26);--rule-strong:rgba(21,22,61,0.44);--accent:#15163d;--accent-hover:#0b0d27;--accent-text:#15163d;--on-accent:#7568ff;--focus:var(--ink)}html[data-mode=grind] .tone-orange{--paper:#ff668f;--panel:#ff8eaa;--ink:#15163d;--ink-2:var(--ink);--ink-3:var(--ink);--rule:rgba(21,22,61,0.26);--rule-strong:rgba(21,22,61,0.44);--accent:#15163d;--accent-hover:#0b0d27;--accent-text:#15163d;--on-accent:#ff668f;--focus:var(--ink)}.tone-forest,.tone-lilac,.tone-orange,.tone-pink,.tone-sage{transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);--focus:var(--ink);background:var(--paper);color:var(--ink-2)}@font-face{font-family:Inter;src:url(/fonts/Inter-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--s6))}body{background:var(--paper);color:var(--ink-2);font-family:var(--font);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}body,dd,dl,figcaption,figure,h1,h2,h3,ol,p,ul{margin:0}ol,ul{padding:0}img{max-width:100%}:root{--cursor-paw:auto;--cursor-paw-tap:pointer}@media (hover:hover) and (pointer:fine){:root{--cursor-paw:url(/cursor/paw.png) 4 3,auto;--cursor-paw-tap:url(/cursor/paw.png) 4 3,pointer}@supports ((cursor:-webkit-image-set(url("/cursor/paw.png") 1x)) or (cursor:image-set(url("/cursor/paw.png") 1x))){:root{--cursor-paw:image-set(url("/cursor/paw.png") 1x,url("/cursor/paw@2x.png") 2x) 4 3,auto;--cursor-paw-tap:image-set(url("/cursor/paw.png") 1x,url("/cursor/paw@2x.png") 2x) 4 3,pointer}}html{cursor:var(--cursor-paw)}[role=button],a,button,label,summary{cursor:var(--cursor-paw-tap)}input,select,textarea{cursor:auto}}h1{font-size:var(--t-display);line-height:.92;letter-spacing:-.02em}h1,h2{color:var(--ink);font-family:var(--font-display);font-weight:600}h2{font-size:var(--t-h2);line-height:1.04;letter-spacing:-.014em;text-wrap:balance}h3{color:var(--ink);font-family:var(--font-display);font-size:var(--t-h3);font-weight:600;line-height:1.25;letter-spacing:-.008em}p{color:var(--ink-2)}code{padding:.15em .28em;border-radius:4px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:.88em}.wrap{width:min(1120px,calc(100vw - var(--s8)));margin:0 auto}@media (max-width:900px){.wrap{width:min(1120px,calc(100vw - var(--s6)))}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 var(--s6);border:1px solid transparent;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:var(--t-small);font-weight:500;letter-spacing:-.005em;text-decoration:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover{background:var(--accent-hover)}.btn.secondary{background:transparent;border-color:var(--rule-strong);color:var(--ink)}.btn.secondary:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:var(--ink)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}[data-reveal].is-hidden{opacity:0;transform:translateY(12px)}[data-reveal].is-revealed{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}[data-reveal=display].is-hidden{transform:translateY(.14em)}[data-reveal=display].is-revealed{transition:opacity .9s var(--ease),transform .9s var(--ease)}[data-reveal=mark].is-hidden{transform:scale(.94)}[data-reveal=mark].is-revealed{transition:opacity .8s var(--ease),transform .8s var(--ease)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-reveal].is-hidden{opacity:1;transform:none}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-horizontal],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}