@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap");:root{--bg:#f4f0e8;--bg-raised:#fbf9f4;--ink:#1a1714;--ink-soft:#4a443c;--ink-faint:#8c8478;--line:#ddd6c8;--accent:#8c2f39;--accent-soft:#e7d4d2;--code-bg:#1c1a17;--maxw:1120px;--maxw-prose:780px;--fs-xs:.72rem;--fs-sm:.88rem;--fs-prose:1.08rem;--fs-lede:1.2rem;--fs-h3:1.4rem;--fs-h2:clamp(1.6rem,2.5vw,2rem);--fs-h1:clamp(2.3rem,5vw,3.3rem);--font-display:"Fraunces",Georgia,serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--radius:2px;--shadow:0 1px 2px rgba(26,23,20,.04),0 8px 24px rgba(26,23,20,.06);--ease:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(circle at 1px 1px,rgba(26,23,20,.025) 1px,transparent 0);background-size:22px 22px}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-.01em}h1{font-size:var(--fs-h1);font-weight:600}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}.eyebrow,.mono{font-family:var(--font-mono)}.eyebrow{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.wrap{max-width:var(--maxw)}.prose-wrap,.wrap{margin:0 auto;padding:0 28px}.prose-wrap{max-width:var(--maxw-prose)}.link{position:relative;color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .3s var(--ease),color .3s var(--ease)}.link:hover{color:var(--accent);border-color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .55s var(--ease) both}.d1{animation-delay:.03s}.d2{animation-delay:.09s}.d3{animation-delay:.15s}.d4{animation-delay:.21s}.d5{animation-delay:.27s}.project-row-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px 28px;gap:18px 28px;align-items:center}.project-row-grid>[aria-hidden]{display:none}@media (min-width:880px){.project-row-grid{grid-template-columns:minmax(0,1fr) 200px 96px}.project-row-grid>[aria-hidden]{display:block}}.status-word{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.status-word.is-strong{color:var(--accent)}.stack-line{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--ink-faint)}.facts{border-top:1px solid var(--line)}.facts-row{display:flex;gap:24px;padding:13px 0;border-bottom:1px solid var(--line)}.facts-label{flex:0 0 92px;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding-top:.3em}.facts-label,.facts-value{font-family:var(--font-mono)}.facts-value{font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.7}@media (prefers-reduced-motion:reduce){.rise{animation:none}html{scroll-behavior:auto}}@media (prefers-reduced-motion:no-preference){.tl.tl-ready .tl-row{opacity:0;transform:translateY(30px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.tl.tl-ready .tl-row .tl-year{opacity:0;transform:translateX(-14px);transition:opacity .65s var(--ease) .08s,transform .65s var(--ease) .08s}.tl.tl-ready .tl-row.in{opacity:1;transform:translateY(0)}.tl.tl-ready .tl-row.in .tl-year{opacity:1;transform:translateX(0)}}.pin-track{position:relative}.pin-ready .pin-stage{position:-webkit-sticky;position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:flex-start;padding:84px 0 40px}.pin-ready .pin-frame{flex:1 1;min-height:0;overflow:hidden}.pin-ready .pin-list{will-change:transform}.story-track{position:relative}.story-stage{justify-content:center}.story-panels,.story-stage{display:flex;flex-direction:column}.story-panels{margin-top:36px;gap:48px}.story-ready .story-stage{position:-webkit-sticky;position:sticky;top:0;height:100svh}.story-ready .story-panels{display:block;position:relative}.story-ready .story-panel{position:absolute;top:0;left:0;right:0;will-change:opacity,transform}.scrolly-rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:5;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}.scrolly-rail.is-on{opacity:1;pointer-events:auto}.scrolly-rail-item{display:flex;align-items:center;gap:10px;border:none;background:none;padding:0;cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-faint);opacity:.35;transition:opacity .25s var(--ease),color .25s var(--ease)}.scrolly-rail-item:hover{opacity:1}.scrolly-rail-item[data-active]{opacity:1;color:var(--accent)}.scrolly-rail-label{opacity:0;transform:translateX(4px);transition:opacity .25s var(--ease),transform .25s var(--ease)}.scrolly-rail-item:hover .scrolly-rail-label,.scrolly-rail-item[data-active] .scrolly-rail-label{opacity:1;transform:none}.scrolly-rail-tick{width:16px;height:1px;background:currentColor;transition:width .25s var(--ease)}.scrolly-rail-item[data-active] .scrolly-rail-tick{width:26px}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 5% cover 18%}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.deck{position:relative}.deck>.sheet{position:-webkit-sticky;position:sticky;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:64px 0 80px;background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px,rgba(26,23,20,.025) 1px,transparent 0);background-size:22px 22px;border-top:1px solid var(--line);box-shadow:0 -22px 48px rgba(26,23,20,.12);transform-origin:center top}.deck>.sheet:first-child{border-top:none;box-shadow:none}.deck>.sheet:after{content:"";position:absolute;inset:0;background:var(--bg);opacity:var(--veil,0);pointer-events:none}.deck>.sheet.sheet-alt{background-color:color-mix(in srgb,var(--accent-soft) 38%,var(--bg))}.deck>.sheet.sheet-alt:after{background:color-mix(in srgb,var(--accent-soft) 38%,var(--bg))}.prose{font-size:var(--fs-prose)}.prose>*+*{margin-top:1.4rem}.prose h2{margin-top:2.6rem}.prose h3{margin-top:2rem}.prose p{color:var(--ink-soft)}.prose a{color:var(--accent);border-bottom:1px solid var(--accent-soft)}.prose ol,.prose ul{padding-left:1.4rem;color:var(--ink-soft)}.prose li+li{margin-top:.4rem}.prose hr{border:none;border-top:1px solid var(--line);margin-top:2.2rem}.prose blockquote{border-left:2px solid var(--accent);padding-left:1.2rem;font-style:italic;color:var(--ink-soft)}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--accent-soft);padding:.12em .4em;border-radius:var(--radius)}.prose pre{background:var(--code-bg)!important;padding:1.2rem 1.4rem;border-radius:6px;overflow-x:auto;font-size:var(--fs-sm);line-height:1.6}.prose pre code{background:none;padding:0;font-size:inherit}