@font-face{font-family:__Bricolage_Grotesque_1243c3;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-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:__Bricolage_Grotesque_1243c3;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_1243c3;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-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:__Bricolage_Grotesque_Fallback_1243c3;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_1243c3{font-family:__Bricolage_Grotesque_1243c3,__Bricolage_Grotesque_Fallback_1243c3;font-style:normal}.__variable_1243c3{--font-display:"__Bricolage_Grotesque_1243c3","__Bricolage_Grotesque_Fallback_1243c3"}@font-face{font-family:__DM_Sans_231f96;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Sans_231f96;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_Fallback_231f96;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_231f96{font-family:__DM_Sans_231f96,__DM_Sans_Fallback_231f96;font-style:normal}.__variable_231f96{--font-sans:"__DM_Sans_231f96","__DM_Sans_Fallback_231f96"}@font-face{font-family:__DM_Mono_f9c3d4;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Mono_f9c3d4;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-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:__DM_Mono_f9c3d4;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Mono_f9c3d4;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-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:__DM_Mono_Fallback_f9c3d4;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_f9c3d4{font-family:__DM_Mono_f9c3d4,__DM_Mono_Fallback_f9c3d4;font-style:normal}.__variable_f9c3d4{--font-mono:"__DM_Mono_f9c3d4","__DM_Mono_Fallback_f9c3d4"}@font-face{font-family:__Newsreader_d13f9c;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c.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:__Newsreader_d13f9c;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Newsreader_d13f9c;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f.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:__Newsreader_d13f9c;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c.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:__Newsreader_d13f9c;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Newsreader_d13f9c;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f.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:__Newsreader_d13f9c;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c.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:__Newsreader_d13f9c;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Newsreader_d13f9c;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f.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:__Newsreader_d13f9c;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062.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:__Newsreader_d13f9c;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/665e920483964785.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Newsreader_d13f9c;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5611c55482296524.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:__Newsreader_d13f9c;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062.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:__Newsreader_d13f9c;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/665e920483964785.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Newsreader_d13f9c;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/5611c55482296524.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:__Newsreader_d13f9c;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062.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:__Newsreader_d13f9c;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/665e920483964785.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Newsreader_d13f9c;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5611c55482296524.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}.__className_d13f9c{font-family:__Newsreader_d13f9c}.__variable_d13f9c{--font-read-serif:"__Newsreader_d13f9c"}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_d8ebd1;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d8ebd1{font-family:__Inter_d8ebd1,__Inter_Fallback_d8ebd1;font-style:normal}.__variable_d8ebd1{--font-read-sans:"__Inter_d8ebd1","__Inter_Fallback_d8ebd1"}:root{color-scheme:light;--c-bg:#fff;--c-surface:#fff;--c-sunk:#f4f4f2;--c-fg:#16181c;--c-muted:#5c6168;--c-faint:#6b7077;--c-line:#e4e4df;--c-line-strong:#d2d3cc;--c-accent:#0f6b4a;--c-accent-soft:#e9f2ec;--p-body:#121317;--p-ink:#f4f3ee;--p-dim:#8f9299;--p-rit:#f76902;--f-sans:var(--font-sans),"DM Sans",system-ui,sans-serif;--f-mono:var(--font-mono),"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--f-display:var(--font-display),"Bricolage Grotesque",system-ui,sans-serif;--t-display:clamp(1.85rem,1.35rem + 1.9vw,2.65rem);--t-h2:clamp(1.25rem,1.12rem + 0.52vw,1.55rem);--t-h3:1.0625rem;--t-body:1rem;--t-s:0.875rem;--t-xs:0.78125rem;--t-mono:0.75rem;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:2.75rem;--s-section:clamp(2.25rem,1.5rem + 2.6vw,3.5rem);--gutter:clamp(1.125rem,0.8rem + 1.2vw,2rem);--maxw:68rem;--radius:10px;--radius-sm:7px;--ease:cubic-bezier(0.22,1,0.36,1);--shadow:0 1px 2px rgba(22,24,28,.05);--shadow-lift:0 2px 4px rgba(22,24,28,.05),0 10px 22px rgba(22,24,28,.07);--z-header:50;--z-curtain:90;--z-top:100}*,:after,:before{box-sizing:border-box}*{margin:0}html{text-size-adjust:none;background:var(--c-bg);color:var(--c-fg)}body{min-height:100dvh;font-family:var(--f-sans);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,picture,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:inherit;font-size:inherit}p{text-wrap:pretty}ul{list-style:none;padding:0}::selection{background:var(--c-accent-soft);color:var(--c-fg)}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:var(--radius-sm)}#main:focus{outline:none}.skip-link{position:fixed;left:var(--gutter);top:var(--gutter);z-index:calc(var(--z-top) + 1);padding:.55em .9em;background:var(--c-fg);color:var(--c-bg);border-radius:var(--radius-sm);font-size:var(--t-s);font-weight:500;transform:translateY(-250%)}.skip-link:focus-visible{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}#curtain{position:fixed;inset:0;z-index:var(--z-curtain);pointer-events:none;visibility:hidden;overflow:hidden}.curtain__panel{position:absolute;inset:0;background:var(--c-fg)}.curtain__edge{position:absolute;inset:0 0 0 auto;width:2px;background:var(--c-accent)}.motion [data-reveal]{visibility:hidden}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.motion [data-enter]{animation:rise .55s var(--ease) both;animation-delay:calc(var(--d, 0) * 1s)}.shell{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}section{padding-block:var(--s-section)}section+section{padding-top:0}section[id]{scroll-margin-top:4.75rem}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);padding-bottom:var(--s-3);margin-bottom:var(--s-5);border-bottom:1px solid var(--c-line)}.sec-head h2{font-size:var(--t-h2);font-weight:600;letter-spacing:-.018em}.sec-head__aside{font-family:var(--f-mono);font-size:var(--t-mono);color:var(--c-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.prose{color:var(--c-muted);max-width:64ch}.prose+.prose{margin-top:var(--s-3)}.meta{font-family:var(--f-mono);font-size:var(--t-mono);color:var(--c-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);background:color-mix(in srgb,var(--c-bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s ease}html.scrolled .topbar{border-bottom-color:var(--c-line)}.topbar__inner{max-width:var(--maxw);margin:0 auto;padding:var(--s-3) var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.wordmark{font-size:var(--t-s);font-weight:600;letter-spacing:-.01em;white-space:nowrap;padding:var(--s-2) var(--s-3);margin-left:calc(var(--s-3) * -1);border-radius:var(--radius-sm);transition:background .22s ease}@media (hover:hover){.wordmark:hover{background:var(--c-sunk)}}.wordmark:focus-visible{background:var(--c-sunk)}.topnav{display:flex;align-items:center;gap:var(--s-1)}.topnav a{font-size:var(--t-s);color:var(--c-muted);padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);transition:background .22s ease,color .22s ease}@media (hover:hover){.topnav a:hover{background:var(--c-sunk);color:var(--c-fg)}}.topnav a:focus-visible{background:var(--c-sunk);color:var(--c-fg)}@media (max-width:760px){.topnav a:not(.btn){display:none}}.btn{display:inline-flex;align-items:center;gap:.45em;font-size:var(--t-s);font-weight:500;padding:.5em .85em;border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-fg);box-shadow:var(--shadow);transition:background .22s ease,border-color .22s ease,transform .22s var(--ease)}@media (hover:hover){.btn:hover{background:var(--c-sunk);border-color:var(--c-line-strong);transform:translateY(-1px)}}.btn:active{transform:translateY(0)}.btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:#fff}@media (hover:hover){.btn--primary:hover{background:#0c5a3e;border-color:#0c5a3e}}.arrow{display:inline-block;transition:transform .22s var(--ease)}@media (hover:hover){.btn:hover .arrow,a:hover .arrow{transform:translate(2px,-2px)}}.stack{--paper:#e3eef4;--tab:62px;--fillet:15px;--grain:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:relative;background:var(--paper)}.stack[data-live]{height:calc(6 * 100svh)}.stack__pin{position:-webkit-sticky;position:sticky;top:0;height:100svh;overflow:hidden;background:var(--paper)}.stack__head{position:absolute;inset:0 0 auto 0;height:47svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--gutter);text-align:center;will-change:transform,opacity}.fluid{--fx1:#c3c45a;--fx2:#e7c0c6;--fx3:#b9a1ad;--fx4:#9d2a2a;position:relative}.fluid,.fluid__text{display:block}.fluid[data-gl] .fluid__text{opacity:0}.fluid__gl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:none;display:none}.fluid[data-gl] .fluid__gl{display:block}.stack__name{font-family:var(--f-display);font-weight:400;font-size:clamp(2.6rem,1.4rem + 5.4vw,5.5rem);line-height:.96;letter-spacing:-.015em;color:#16202a}.stack__role{font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.17em;text-transform:uppercase;color:#41535f}.stack__cue{margin-top:var(--s-4);font-size:var(--t-xs);color:#4a5c6a}.motion .stack__cue{animation:cue 2.8s var(--ease) infinite}@keyframes cue{0%,70%,to{transform:translateY(0);opacity:1}84%{transform:translateY(3px);opacity:.68}}.folder{position:absolute;inset:0 0 auto 0;height:100svh;will-change:transform}[data-tone=olive]{--f:#c3c45a;--fi:#1b1c12;--fd:#45461f}[data-tone=blush]{--f:#e7c0c6;--fi:#241a1c;--fd:#65464b}[data-tone=mauve]{--f:#b9a1ad;--fi:#211a1e;--fd:#4e383f}[data-tone=red]{--f:#9d2a2a;--fi:#f7efe5;--fd:#eec4b4}[data-tone=ink]{--f:#24262a;--fi:#f1efe9;--fd:#a6aeb6}.folder__tab{position:absolute;top:0;left:calc(2.5% + var(--i) * 17.2%);width:26%;min-width:8.5rem;height:var(--tab);display:grid;place-items:center;padding-inline:var(--s-3);background:var(--grain),var(--f);background-blend-mode:multiply;background-size:180px,auto;border-radius:13px 13px 0 0;color:var(--fi);font-size:var(--t-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center;cursor:pointer;transition:filter .2s ease}@media (hover:hover){.folder__tab:hover{filter:brightness(1.07)}}.folder__tab:focus-visible{outline-offset:-3px}.folder__tab:after,.folder__tab:before{content:"";position:absolute;bottom:0;width:var(--fillet);height:var(--fillet)}.folder__tab:before{left:calc(var(--fillet) * -1);background:radial-gradient(circle at 0 0,transparent var(--fillet),var(--f) var(--fillet))}.folder__tab:after{right:calc(var(--fillet) * -1);background:radial-gradient(circle at 100% 0,transparent var(--fillet),var(--f) var(--fillet))}.folder__panel{position:absolute;top:var(--tab);left:0;right:0;bottom:0;background:var(--grain),var(--f);background-blend-mode:multiply;background-size:180px,auto;color:var(--fi);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.17),0 -1px 10px rgba(16,24,32,.16)}.folder__inner{height:var(--avail,100%);max-width:var(--maxw);margin:0 auto;padding:clamp(1rem,2.4svh,2.1rem) var(--gutter);overflow-y:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;justify-content:safe center;gap:var(--s-3);visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s}.folder[data-open] .folder__inner{visibility:visible;opacity:1}.folder__inner--end{gap:var(--s-4)}.panel__kicker{font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fd);flex:none}.panel__title{font-family:var(--f-display);font-weight:400;font-size:clamp(1.75rem,1.1rem + 2.4vw,3rem);line-height:1.04;letter-spacing:-.012em;text-wrap:balance;flex:none}.panel__lead{max-width:62ch;font-size:var(--t-s);line-height:1.5;flex:none}.panel__chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.panel__chips li{font-size:var(--t-xs);padding:.3em .7em;border-radius:999px;border:1px solid color-mix(in srgb,var(--fi) 28%,transparent)}.panel__pubs{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-2)}.pcard{display:block;padding:var(--s-3) var(--s-4);border:1px solid color-mix(in srgb,var(--fi) 22%,transparent);border-radius:var(--radius-sm);transition:background .2s ease,border-color .2s ease}@media (hover:hover){.pcard:hover{background:color-mix(in srgb,var(--fi) 9%,transparent);border-color:color-mix(in srgb,var(--fi) 46%,transparent)}}.pcard:focus-visible{background:color-mix(in srgb,var(--fi) 9%,transparent)}.pcard__title{display:block;font-size:var(--t-s);font-weight:600;line-height:1.35}.pcard__meta{display:block;margin-top:3px;font-size:var(--t-xs);line-height:1.4;color:var(--fd)}.pcard__meta b{color:var(--fi);font-weight:600}.panel__roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4);margin-top:var(--s-2)}.rcard{padding:var(--s-4);border:1px solid color-mix(in srgb,var(--fi) 20%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--fi) 5%,transparent)}.rcard__title{font-size:var(--t-s);font-weight:650;line-height:1.3}.rcard__org{font-size:var(--t-xs);margin-top:2px}.rcard__when{font-family:var(--f-mono);font-size:var(--t-mono);color:var(--fd);margin-top:4px}.rcard__points{margin-top:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.rcard__points li{font-size:var(--t-xs);line-height:1.45;padding-left:.85em;position:relative}.rcard__points li:before{content:"";position:absolute;left:0;top:.66em;width:4px;height:1px;background:currentColor}.panel__projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4);margin-top:var(--s-2)}.jcard{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid color-mix(in srgb,var(--fi) 24%,transparent);border-radius:var(--radius-sm);transition:background .2s ease,transform .22s var(--ease)}@media (hover:hover){.jcard:hover{background:color-mix(in srgb,var(--fi) 9%,transparent);transform:translateY(-2px)}.jcard:hover .jcard__shot img{transform:scale(1.04)}}.jcard:focus-visible{background:color-mix(in srgb,var(--fi) 9%,transparent)}.jcard__shot{display:block;height:clamp(96px,17svh,184px);overflow:hidden;border-radius:5px;background:color-mix(in srgb,var(--fi) 12%,transparent)}.jcard__shot img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform .4s var(--ease)}.jcard__title{font-size:var(--t-s);font-weight:650;line-height:1.3}.jcard__blurb{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--t-xs);line-height:1.45;color:var(--fd)}.jcard__go{margin-top:auto;font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase}.folder__inner--end .contact__email{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap}.folder__inner--end .contact__address{font-family:var(--f-display);font-size:clamp(1.6rem,.9rem + 2.6vw,3rem);line-height:1.05;border-bottom:1px solid color-mix(in srgb,var(--fi) 35%,transparent);transition:border-color .2s ease}@media (hover:hover){.folder__inner--end .contact__address:hover{border-bottom-color:var(--fi)}}.folder__inner--end .copy{font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fd);padding:.4em .8em;border:1px solid color-mix(in srgb,var(--fi) 30%,transparent);border-radius:999px;transition:color .2s ease,border-color .2s ease}@media (hover:hover){.folder__inner--end .copy:hover{color:var(--fi);border-color:var(--fi)}}.panel__socials{display:flex;flex-wrap:wrap;gap:var(--s-2)}.scard{display:inline-flex;align-items:center;gap:.45em;font-size:var(--t-s);padding:.5em 1em;border:1px solid color-mix(in srgb,var(--fi) 30%,transparent);border-radius:999px;transition:background .2s ease,border-color .2s ease}@media (hover:hover){.scard:hover{background:color-mix(in srgb,var(--fi) 12%,transparent);border-color:var(--fi)}}.scard:focus-visible{background:color-mix(in srgb,var(--fi) 12%,transparent)}.panel__colophon{font-size:var(--t-xs);color:var(--fd)}@media (max-width:860px){.stack{--tab:52px;--fillet:12px}.folder__tab{left:calc(2% + var(--i) * 13.2%);width:44%;min-width:0;letter-spacing:.06em}.panel__projects,.panel__roles{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}.panel__projects::-webkit-scrollbar,.panel__roles::-webkit-scrollbar{display:none}.jcard,.rcard{flex:0 0 min(78vw,22rem);scroll-snap-align:start}}@media (prefers-reduced-motion:reduce){.stack,.stack[data-live]{height:auto}.stack__pin{overflow:visible}.stack__head,.stack__pin{position:static;height:auto}.stack__head{padding-block:var(--s-7)}.folder{height:auto;transform:none!important;margin-top:var(--s-5)}.folder,.folder__panel{position:static}.folder__inner{height:auto!important;overflow:visible;visibility:visible;opacity:1}.folder__tab{position:static;width:auto;display:inline-grid}.folder__tab:after,.folder__tab:before{display:none}}.contact{border-top:1px solid var(--c-line);margin-top:var(--s-6)}.contact__inner{max-width:var(--maxw);margin:0 auto;padding:var(--s-6) var(--gutter) var(--s-5)}.contact__top{display:flex;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap}.contact__lead{font-size:var(--t-h2);font-weight:600;letter-spacing:-.018em}.contact__email{display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-3)}.contact__address{font-size:var(--t-body);-webkit-user-select:all;-moz-user-select:all;user-select:all;text-decoration:underline;-webkit-text-decoration-color:var(--c-line-strong);text-decoration-color:var(--c-line-strong);text-underline-offset:3px;transition:color .22s ease,-webkit-text-decoration-color .22s ease;transition:color .22s ease,text-decoration-color .22s ease;transition:color .22s ease,text-decoration-color .22s ease,-webkit-text-decoration-color .22s ease}@media (hover:hover){.contact__address:hover{color:var(--c-accent);-webkit-text-decoration-color:var(--c-accent);text-decoration-color:var(--c-accent)}}.contact__address:focus-visible{color:var(--c-accent)}.copy{font-size:var(--t-xs);color:var(--c-muted);border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);padding:.3em .6em;background:var(--c-surface);transition:background .22s ease,color .22s ease}@media (hover:hover){.copy:hover{background:var(--c-sunk);color:var(--c-fg)}}.socials{gap:var(--s-2);align-items:flex-start}.colophon,.socials{display:flex;flex-wrap:wrap}.colophon{justify-content:space-between;gap:var(--s-4);margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--c-line);font-size:var(--t-xs);color:var(--c-faint)}.nf{padding-block:clamp(4rem,12vh,7rem)}.nf h1{font-size:var(--t-display);font-weight:650;letter-spacing:-.028em}.nf p{margin-top:var(--s-3)}.nf__back{margin-top:var(--s-5)}@media (max-width:860px){.research{gap:var(--s-5)}.research,.xp__item{grid-template-columns:1fr}.xp__item{gap:var(--s-2)}.xp__when{flex-direction:row;gap:var(--s-3)}}@media (max-width:560px){.hero__portrait{width:56px;height:56px}.pub{flex-direction:column;gap:var(--s-2)}.pub__right{text-align:left}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover,.proj:hover,.pub:hover{transform:none}}