@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_be5b54{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_be5b54{--font-main:"Instrument Sans","Instrument Sans Fallback"}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_d2fc81{font-family:Playfair Display,Playfair Display Fallback}.__variable_d2fc81{--font-display:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-alt:"JetBrains Mono","JetBrains Mono Fallback"}:root{--paper:#faf8f4;--card:#ffffff;--ink:#14120e;--muted:#6b6660;--faint:#726c64;--on-ink:#faf8f4;--rule:#e4dfd6;--accent:oklch(0.55 0.115 52);--header-bg:rgba(250,248,244,0.88);--code-bg:#16151a;--code-rule:#262530;--code-fg:#abb2bf;--code-dim:#9995a8;--code-keyword:#c678dd;--code-fn:#61afef;--code-string:#98c379;--live:#27c93f;--shell:1240px;--gutter:clamp(20px,4vw,48px);--section-gap:clamp(64px,9vw,112px);--header-h:68px;color-scheme:light}:root[data-theme=dark]{--paper:#14130f;--card:#1b1a15;--ink:#f3f0e9;--muted:#a8a29a;--faint:#8f8a81;--on-ink:#14130f;--rule:#2c2a24;--accent:oklch(0.72 0.115 52);--header-bg:rgba(20,19,15,0.88);color-scheme:dark}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + 12px)}body{font-family:var(--font-main),system-ui,sans-serif;font-size:17px;line-height:1.7;background:var(--paper);color:var(--ink);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--ink);color:var(--on-ink)}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:var(--rule)}img{max-width:100%}.shell{max-width:var(--shell);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);width:100%}.mono{font-family:var(--font-alt),ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.display{font-family:var(--font-display),Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:1.05}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal.active{opacity:1;transform:none}.reveal-delay-1{transition-delay:.07s}.reveal-delay-2{transition-delay:.14s}.reveal-delay-3{transition-delay:.21s}.reveal-delay-4{transition-delay:.28s}.reveal-delay-5{transition-delay:.35s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:900;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.header-inner{max-width:var(--shell);margin:0 auto;padding:12px var(--gutter);min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:14px 32px}.wordmark{display:flex;align-items:baseline;gap:10px;color:var(--ink)}.wordmark-name{font-family:var(--font-display),Georgia,serif;font-size:21px;font-weight:500;letter-spacing:-.02em}.wordmark-alias{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.header-right{display:flex;align-items:center;gap:20px}.site-nav{display:flex;flex-wrap:wrap;gap:10px 22px}.site-nav a{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:4px 0;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.site-nav a:hover{color:var(--ink)}.site-nav a.active{color:var(--ink);border-bottom-color:var(--accent)}.icon-btn{background:none;border:1px solid var(--rule);color:var(--muted);cursor:pointer;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease;flex-shrink:0;padding:0}.icon-btn:hover{color:var(--ink);border-color:var(--ink)}.icon-btn svg{width:15px;height:15px}.menu-btn{display:none;border-radius:0;border-color:transparent}.menu-btn svg{width:20px;height:20px}.nav-backdrop{display:none}.section{max-width:var(--shell);margin:0 auto;padding:var(--section-gap) var(--gutter) 0}.section-head{display:flex;align-items:baseline;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--ink)}.section-head .num{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.2em;color:var(--accent)}.section-head h2{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.05;letter-spacing:-.03em;color:var(--ink)}.section-head .aside{font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-left:auto}.hero{max-width:var(--shell);margin:0 auto;padding:clamp(56px,8vw,104px) var(--gutter) 0}.hero-top{display:flex;flex-wrap:wrap;gap:clamp(36px,5vw,72px);align-items:flex-end}.hero-copy{flex:1 1 400px;min-width:0}.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:36px}.hero-eyebrow:before{content:"";width:36px;height:1px;background:var(--accent);display:block;flex-shrink:0}.hero-eyebrow span{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.hero-title{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(3.4rem,7.4vw,6.4rem);line-height:.94;letter-spacing:-.035em;color:var(--ink);margin-bottom:32px}.hero-lede{font-size:21px;line-height:1.6;color:var(--ink);max-width:640px;margin-bottom:20px}.hero-sub{font-size:17px;line-height:1.75;color:var(--muted);max-width:600px;margin-bottom:44px}.hero-sub strong,.inline-link{color:var(--ink);font-weight:500}.inline-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);transition:color .2s ease,-webkit-text-decoration-color .2s ease;transition:color .2s ease,text-decoration-color .2s ease;transition:color .2s ease,text-decoration-color .2s ease,-webkit-text-decoration-color .2s ease}.inline-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:500;padding:14px 26px;border-radius:2px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .2s ease,border-color .2s ease,color .2s ease}.btn svg{width:15px;height:15px;flex-shrink:0}.btn-solid{background:var(--ink);color:var(--on-ink)}.btn-solid:hover{background:var(--accent);color:#faf8f4}.btn-outline{color:var(--ink);border-color:var(--rule)}.btn-outline:hover{border-color:var(--ink)}.btn-quiet{color:var(--muted);padding:14px 12px}.btn-quiet:hover{color:var(--ink)}.hero-side{flex:0 1 282px;min-width:228px}.hero-portrait{position:relative;width:100%;aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;-webkit-mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,0) 99%)}.fact-list{display:flex;flex-direction:column;margin-top:20px}.fact-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule);font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.06em}.fact-row dt{color:var(--faint);text-transform:uppercase;letter-spacing:.14em}.fact-row dd{color:var(--ink);text-align:right}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1px;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(56px,7vw,96px)}.stat{background:var(--paper);padding:28px 26px}.stat-n{font-family:var(--font-display),Georgia,serif;font-size:38px;line-height:1;letter-spacing:-.02em;color:var(--ink);margin-bottom:10px}.stat-label{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:12px}.stat-src{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);line-height:1.6}.about-grid{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:flex-start;margin-top:56px}.about-panel{flex:1 1 370px;min-width:0;background:var(--card);border:1px solid var(--rule);overflow:hidden}.panel-bar{position:relative;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;align-items:center;padding:13px 18px}.panel-dots{display:flex;gap:7px}.panel-dots span{width:10px;height:10px;border-radius:50%}.panel-dots span:first-child{background:#ff5f57}.panel-dots span:nth-child(2){background:#ffbd2e}.panel-dots span:nth-child(3){background:#28c840}.panel-title{position:absolute;left:0;right:0;text-align:center;font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.1em;color:var(--faint);pointer-events:none}.about-rows{padding:8px 24px 20px}.about-row{padding:18px 0;border-bottom:1px solid var(--rule)}.about-row:last-child{border-bottom:none}.about-row dt{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.about-row dd{font-size:15px;line-height:1.65;color:var(--muted)}.code-panel{flex:1 1 370px;min-width:0;background:var(--code-bg);border:1px solid var(--code-rule);overflow:hidden}.code-bar{align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--code-rule);font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.1em}.code-bar,.code-copy{display:flex;color:var(--code-dim)}.code-copy{background:none;border:none;cursor:pointer;padding:4px;transition:color .2s ease}.code-copy:hover{color:#cfccd8}.code-copy svg{width:14px;height:14px}.code-body{padding:22px;overflow-x:auto}.code-body pre{margin:0;font-family:var(--font-alt),monospace;font-size:12.5px;line-height:1.75;color:var(--code-fg);white-space:pre-wrap}.tok-kw{color:var(--code-keyword)}.tok-fn{color:var(--code-fn)}.tok-str{color:var(--code-string)}.work-row{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(36px,5vw,56px) 0;border-bottom:1px solid var(--rule)}.work-media{flex:1 1 380px;min-width:0}.work-text{flex:1 1 330px;min-width:0}.work-row.flip .work-media{order:2}.work-row.flip .work-text{order:1}.work-frame{position:relative;background:var(--card);border:1px solid var(--rule);overflow:hidden}.work-frame-inner{position:relative;width:100%;padding-bottom:60%}.work-frame-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}.work-frame-inner img.fit-cover{object-fit:cover;object-position:center top}.expand-btn{position:absolute;bottom:12px;right:12px;background:rgba(20,18,14,.72);color:#faf8f4;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.expand-btn:hover{background:var(--ink)}.expand-btn svg{width:15px;height:15px}.work-kind{font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.16em;color:var(--accent);margin-bottom:14px;text-transform:uppercase}.work-title{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:29px;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin-bottom:16px}.work-desc{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:24px}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px}.chip{font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.06em;color:var(--muted);border:1px solid var(--rule);padding:5px 10px}.work-links{display:flex;flex-wrap:wrap;gap:22px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:3px;transition:border-color .2s ease,color .2s ease}.text-link:hover{border-bottom-color:var(--accent);color:var(--accent)}.text-link svg{width:14px;height:14px;flex-shrink:0}.rule-row{display:grid;grid-template-columns:minmax(140px,210px) minmax(0,1fr);grid-gap:clamp(20px,3vw,48px);gap:clamp(20px,3vw,48px);border-bottom:1px solid var(--rule)}.timeline-row{padding:38px 0}.stack-row{padding:26px 0;align-items:baseline}.rule-key{font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);line-height:1.7;padding-top:6px}.stack-row .rule-key{font-size:11px;letter-spacing:.14em;color:var(--ink);padding-top:0}.stack-items{font-size:15.5px;line-height:1.9;color:var(--muted)}.timeline-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:14px}.timeline-head h3{font-size:21px;font-weight:600;letter-spacing:-.015em;color:var(--ink);line-height:1.3}.timeline-head .org{font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.1em;color:var(--accent)}.timeline-row p{font-size:15.5px;line-height:1.72;color:var(--muted);margin-bottom:10px;max-width:820px}.timeline-row p:last-child{margin-bottom:0}.writing-grid{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:flex-start;margin-top:48px}.writing-main{flex:1 1 380px;min-width:0}.writing-side{flex:1 1 240px;min-width:0}.post-meta{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-family:var(--font-alt),monospace;font-size:11.5px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse-dot 2s infinite;flex-shrink:0}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.post-meta .label{letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.post-meta .date{letter-spacing:.06em;color:var(--muted)}.post-title{display:block;font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.22;letter-spacing:-.025em;color:var(--ink);margin-bottom:24px;max-width:720px;transition:color .2s ease}.post-title:hover{color:var(--accent)}.post-title svg{width:22px;height:22px;margin-left:10px;vertical-align:baseline;display:inline-block}.writing-desc{font-size:16.5px;line-height:1.75;color:var(--muted);max-width:640px}.topic-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--rule)}.topic-row svg{width:15px;height:15px;color:var(--accent);flex-shrink:0}.topic-row span{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.1em;color:var(--muted)}.writing-side .btn{margin-top:28px;padding:13px 24px}.contact{max-width:var(--shell);margin:var(--section-gap) auto 0;padding:0 var(--gutter)}.contact-inner{border-top:1px solid var(--ink);padding:clamp(56px,7vw,88px) 0 clamp(60px,7vw,96px);display:flex;flex-wrap:wrap;gap:clamp(32px,4vw,56px);align-items:flex-end;justify-content:space-between}.contact-copy{flex:1 1 380px;min-width:0}.contact-eyebrow{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:24px}.contact-title{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.035em;color:var(--ink);margin-bottom:28px}.contact-note{font-size:17px;line-height:1.7;color:var(--muted);max-width:520px}.contact-actions{display:flex;flex-direction:column;gap:14px;flex:0 1 300px;min-width:260px}.contact-action{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:500;color:var(--ink);border:1px solid var(--rule);padding:17px 22px;background:none;font-family:inherit;cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease}.contact-action:hover{border-color:var(--ink)}.contact-action svg{width:15px;height:15px;color:var(--faint);flex-shrink:0}.contact-action.filled{color:var(--on-ink);background:var(--ink);border-color:var(--ink)}.contact-action.filled svg{color:currentColor}.contact-action.filled:hover{background:var(--accent);border-color:var(--accent);color:#faf8f4}.site-footer{border-top:1px solid var(--rule)}.footer-inner{max-width:var(--shell);margin:0 auto;padding:30px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}.audio-panel{background:var(--card);border:1px solid var(--rule);padding:26px;display:flex;flex-direction:column;gap:18px}.audio-panel-label{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.audio-controls{gap:18px}.audio-controls,.play-btn{display:flex;align-items:center}.play-btn{background:none;border:1px solid var(--ink);color:var(--ink);width:44px;height:44px;border-radius:50%;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease}.play-btn.playing,.play-btn:hover{background:var(--ink);color:var(--on-ink)}.play-btn svg{width:17px;height:17px}.audio-track{flex:1 1;display:flex;flex-direction:column;gap:8px}.audio-bar{width:100%;height:2px;background:var(--rule);position:relative;cursor:pointer}.audio-fill{position:absolute;inset:0 auto 0 0;height:100%;width:0;background:var(--accent);transition:width .1s linear}.audio-time{font-family:var(--font-alt),monospace;font-size:11px;letter-spacing:.08em;color:var(--faint);text-align:right}.lightbox{position:fixed;inset:0;background:rgba(20,18,14,.9);z-index:10001;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:48px 24px}.lightbox-panel{position:relative;width:100%;max-width:1180px;background:var(--card);padding:24px;margin:auto}.lightbox-title{font-family:var(--font-alt),monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:18px;padding-right:40px}.lightbox-panel img{width:100%;height:auto;display:block}.lightbox-close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1;padding:4px}.back-to-top,.lightbox-close:hover{color:var(--ink)}.back-to-top{position:fixed;bottom:28px;right:28px;width:42px;height:42px;border:1px solid var(--rule);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,background .2s ease;z-index:880}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.back-to-top svg{width:17px;height:17px}@media (max-width:900px){.menu-btn{display:inline-flex}.site-nav{position:fixed;top:0;right:-100%;width:74%;max-width:320px;height:100vh;flex-direction:column;flex-wrap:nowrap;gap:4px;background:var(--paper);border-left:1px solid var(--rule);padding:96px 28px;transition:right .3s ease;z-index:901}.site-nav.open{right:0}.site-nav a{font-size:13px;padding:14px 0;border-bottom:1px solid var(--rule)}.site-nav a.active{border-bottom-color:var(--accent)}.nav-backdrop{display:block;position:fixed;inset:0;background:rgba(20,18,14,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:899}}@media (max-width:768px){body{font-size:16px}.section-head{flex-wrap:wrap;gap:8px 16px}.section-head .aside{margin-left:0;flex-basis:100%}.hero-side{flex:1 1 100%;max-width:300px}.work-row.flip .work-media,.work-row.flip .work-text{order:0}.rule-row{grid-template-columns:1fr;gap:12px}.rule-key{padding-top:0}.contact-actions{flex:1 1 100%}.footer-inner{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width:480px){.hero-lede{font-size:18px}.hero-actions .btn{flex:1 1 100%;justify-content:center}.lightbox{padding:24px 12px}.lightbox-panel{padding:16px}}