@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-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 Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-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 Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-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 Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-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 Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-serif:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:300;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;font-style:normal;font-weight:300;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;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:300;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;font-style:normal;font-weight:300;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;font-style:normal;font-weight:300;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:300;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;font-style:normal;font-weight:400;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;font-style:normal;font-weight:400;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;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;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;font-style:normal;font-weight:400;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;font-style:normal;font-weight:400;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;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;font-style:normal;font-weight:500;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;font-style:normal;font-weight:500;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;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;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;font-style:normal;font-weight:500;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;font-style:normal;font-weight:500;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;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;font-style:normal;font-weight:600;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;font-style:normal;font-weight:600;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;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;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;font-style:normal;font-weight:600;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;font-style:normal;font-weight:600;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;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;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_0fc2d1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_0fc2d1{--font-sans:"Inter","Inter 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-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#0a0a0a;--bg-2:#0f0f10;--ink:#f4efe6;--ink-2:#b9b3a6;--ink-3:#6f6a5e;--line:hsla(39,39%,93%,.09);--line-2:hsla(39,39%,93%,.16);--accent:#e8b75a;--serif:var(--font-serif),"Cormorant Garamond",Georgia,serif;--sans:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,"SF Mono",Menlo,monospace;--gut:clamp(20px,5vw,88px);--gut-v:clamp(48px,6vw,96px)}:root[data-density=compact]{--gut-v:clamp(36px,4.5vw,64px)}:root[data-density=roomy]{--gut-v:clamp(80px,10vw,160px)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink)}html{scroll-behavior:smooth;scroll-padding-top:80px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;line-height:1.55}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.005em}.italic{font-style:italic}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.mono,.muted{color:var(--ink-2)}a{color:inherit;text-decoration:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.9  0 0 0 0 0.88  0 0 0 0 0.82  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.5;mix-blend-mode:overlay}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);transition:background .3s ease,padding .3s ease,border-color .3s ease,-webkit-backdrop-filter .3s ease;transition:background .3s ease,backdrop-filter .3s ease,padding .3s ease,border-color .3s ease;transition:background .3s ease,backdrop-filter .3s ease,padding .3s ease,border-color .3s ease,-webkit-backdrop-filter .3s ease;border-bottom:1px solid transparent}.nav--scrolled{padding-top:12px;padding-bottom:12px;background:hsla(0,0%,4%,.72);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--line)}.nav__brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:18px;white-space:nowrap}.nav__links{display:flex;gap:28px;font-size:10.5px}.nav__links a{position:relative;transition:color .2s}.nav__links a:hover{color:var(--ink)}.nav__links a:after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--accent);transition:width .25s ease}.nav__links a:hover:after{width:100%}.nav__cta{font-size:10.5px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;transition:all .2s}.nav__cta:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:820px){.nav__links{display:none}}.section{padding:var(--gut-v) var(--gut);border-top:1px solid var(--line);position:relative}.section-label{display:flex;align-items:center;gap:14px;margin-bottom:clamp(48px,6vw,80px)}.section-label__rule{flex:0 0 64px;height:1px;background:var(--line-2)}.section-label .mono{color:var(--ink-2)}.display{font-family:var(--serif);font-size:clamp(32px,4.6vw,64px);line-height:1.02;letter-spacing:-.01em;font-weight:400;margin:0 0 28px;color:var(--ink);text-wrap:balance;max-width:18ch}.body-lg{font-size:clamp(15px,1.1vw,18px);line-height:1.6;color:var(--ink-2);max-width:58ch;margin:0 0 18px;text-wrap:pretty}.about__grid{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:clamp(40px,6vw,80px);gap:clamp(40px,6vw,80px);align-items:start}@media (max-width:900px){.about__grid{grid-template-columns:1fr}}.clients{margin-top:36px}.clients__label{margin-bottom:14px}.clients__list{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 14px;border:1px solid var(--line-2);border-radius:999px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink);text-transform:uppercase;transition:border-color .2s,color .2s}.chip:hover{border-color:var(--accent);color:var(--accent)}.about__metrics{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.metric{background:var(--bg);padding:28px 24px;display:flex;flex-direction:column;gap:10px;transition:background .2s}.metric:hover{background:var(--bg-2)}.metric__value{font-family:var(--serif);font-size:clamp(36px,4vw,56px);line-height:1;color:var(--accent);letter-spacing:-.02em}.metric__label{color:var(--ink-2);font-size:10px}.timeline{list-style:none;margin:0;padding:0}.timeline__row{display:grid;grid-template-columns:180px 32px 1fr;grid-gap:clamp(16px,2vw,32px);gap:clamp(16px,2vw,32px);padding:32px 0;border-top:1px solid var(--line);align-items:start;position:relative;transition:background .3s}.timeline__row:first-child{border-top:none}.timeline__row:hover{background:linear-gradient(90deg,transparent,rgba(232,183,90,.03),transparent)}.timeline__year{padding-top:6px;color:var(--ink-2);font-size:10.5px}.timeline__dot{display:flex;align-items:center;justify-content:center;padding-top:4px;color:var(--accent)}.timeline__role{font-family:var(--serif);font-size:clamp(22px,2.2vw,32px);line-height:1.1;margin-bottom:6px}.timeline__org{color:var(--ink);font-size:14px;margin-bottom:10px}.timeline__note{color:var(--ink-2);font-size:14.5px;line-height:1.55;max-width:60ch}@media (max-width:700px){.timeline__row{grid-template-columns:1fr;gap:6px}.timeline__dot{display:none}}.work__intro{margin-bottom:clamp(40px,5vw,64px);max-width:720px}.work__intro .display{margin-bottom:20px}.projects{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);position:relative}.project__head{all:unset;cursor:pointer;display:grid;grid-template-columns:70px 1fr 220px 80px 32px;grid-gap:24px;gap:24px;align-items:center;padding:28px 0;width:100%;transition:padding .3s}.project__head:hover{padding-left:12px}.project__head:hover .project__title{color:var(--accent)}.project__idx{color:var(--ink-3)}.project__title{font-family:var(--serif);font-size:clamp(22px,2.4vw,34px);line-height:1.1;color:var(--ink);transition:color .25s;letter-spacing:-.01em}.project__client{color:var(--ink-2)}.project__client,.project__year{font-size:10.5px;text-align:right}.project__year{color:var(--ink-3)}.project__chev{font-family:var(--serif);font-size:24px;color:var(--accent);text-align:center;width:32px;line-height:1;transition:transform .25s}.project--open .project__chev{transform:rotate(90deg)}.project__body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.3,.7,.4,1)}.project--open .project__body{max-height:1000px}.project__inner{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:clamp(32px,4vw,72px);gap:clamp(32px,4vw,72px);padding:8px 0 40px 94px}@media (max-width:900px){.project__head{grid-template-columns:50px 1fr 32px}.project__client,.project__year{display:none}.project__inner{grid-template-columns:1fr;padding-left:58px}}.kv{margin-bottom:22px}.kv__k{color:var(--ink-3);margin-bottom:6px;font-size:10px}.kv__v{color:var(--ink-2);margin:0;font-size:15px;line-height:1.6;text-wrap:pretty}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.tag{padding:5px 10px;font-size:10px;border-radius:4px;background:rgba(232,183,90,.08);color:var(--accent);border:1px solid rgba(232,183,90,.18)}.outcomes{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.outcome{background:var(--bg);padding:20px 16px;display:flex;flex-direction:column;gap:6px}.outcome__k{font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);color:var(--accent);line-height:1}.outcome__v{font-size:9.5px;color:var(--ink-2)}.skills__grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:clamp(20px,2.5vw,40px);gap:clamp(20px,2.5vw,40px)}@media (max-width:1080px){.skills__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.skills__grid{grid-template-columns:repeat(2,1fr)}}.skillcol__head{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line-2);color:var(--accent)}.skillcol__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.skillcol__list li{font-size:14px;color:var(--ink-2);transition:color .2s,transform .2s;cursor:default}.skillcol__list li:hover{color:var(--ink);transform:translateX(3px)}.contact__wrap{padding-bottom:clamp(80px,8vw,140px)}.contact__headline{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7vw,104px);line-height:.98;letter-spacing:-.015em;margin:0 0 40px;text-wrap:balance}.contact__mail{display:inline-flex;align-items:baseline;gap:12px;font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);color:var(--accent);border-bottom:1px solid rgba(232,183,90,.3);padding-bottom:8px;margin-bottom:60px;transition:color .2s,border-color .2s}.contact__mail:hover{color:var(--ink);border-color:var(--ink)}.contact__mail-arrow{font-size:.7em;transition:transform .2s}.contact__mail:hover .contact__mail-arrow{transform:translate(4px,-4px)}.contact__meta{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(24px,3vw,56px);gap:clamp(24px,3vw,56px);padding-top:32px;border-top:1px solid var(--line)}@media (max-width:700px){.contact__meta{grid-template-columns:1fr}}.contact__col-h{margin-bottom:10px}.contact__link{color:var(--ink);border-bottom:1px solid transparent;transition:border-color .2s,color .2s}.contact__link:hover{border-color:var(--accent);color:var(--accent)}.contact__socials{display:flex;flex-direction:column;gap:8px}.foot{margin-top:80px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--ink-3);font-size:9.5px;flex-wrap:wrap;gap:12px}.hero-term-v2{position:relative;min-height:100vh;padding:max(96px,11vh) clamp(32px,6vw,96px) max(80px,10vh);background:#0a0a0c;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,3vh,44px);text-align:center}.hero-term-v2:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.025) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 75%);pointer-events:none;z-index:0}.hero-term-v2__top{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.hero-term-v2__eyebrow{color:var(--accent);font-size:11px;letter-spacing:.24em;margin-bottom:20px;display:inline-flex;align-items:center;gap:12px}.hero-term-v2__eyebrow:after,.hero-term-v2__eyebrow:before{content:"";width:28px;height:1px;background:var(--accent);opacity:.7}.hero-term-v2__name{font-family:var(--serif);font-size:clamp(46px,6vw,88px);line-height:.98;letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:400}.hero-term-v2__bottom{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px;max-width:720px}.hero-term-v2__tag{font-family:var(--serif);font-size:clamp(18px,1.6vw,24px);line-height:1.5;color:var(--ink-2);margin:0;text-wrap:pretty}.hero-term-v2__tag em{font-style:italic;color:var(--accent)}.hero-term-v2__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.hero-term-v2__meta-row{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.2em;color:var(--ink-2)}.hero-term-v2__meta-row--muted{color:var(--ink-3)}.hero-term-v2__meta-sep{width:4px;height:4px;border-radius:50%;background:var(--ink-3);opacity:.5}.hero-term-v2__meta-row .pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulseDot 1.6s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.hero-term-v2__window{position:relative;z-index:2;flex:0 0 auto;width:100%;max-width:820px;background:#0e0e11;border:1px solid hsla(0,0%,100%,.08);border-radius:14px;overflow:hidden;box-shadow:0 50px 100px -30px rgba(0,0,0,.8),inset 0 0 0 1px hsla(0,0%,100%,.02),inset 0 1px 0 hsla(0,0%,100%,.04);display:flex;flex-direction:column;height:clamp(340px,46vh,460px);cursor:text;isolation:isolate;text-align:left}.hero-term-v2__hint{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:9.5px;letter-spacing:.22em;z-index:2;animation:hintPulse 2.4s ease-in-out infinite;pointer-events:none}.hero-term-v2__hint-line{width:40px;height:1px;background:var(--ink-3)}@keyframes hintPulse{0%,to{opacity:.55}50%{opacity:1}}@media (max-height:820px){.hero-term-v2__hint{display:none}}@media (max-width:700px){.hero-term-v2__window{height:380px}.hero-term-v2__name{font-size:clamp(42px,11vw,60px)}.hero-term-v2__tag{font-size:16px}.hero-term-v2__hint{display:none}}.hero-term__bar{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:20px;gap:20px;padding:14px 20px;border-bottom:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.015);z-index:3}.hero-term__bar-dots{display:flex;gap:8px}.hero-term__bar-dots .dot{width:11px;height:11px;border-radius:50%;background:hsla(0,0%,100%,.14)}.hero-term__bar-dots .dot--r{background:#e06c75}.hero-term__bar-dots .dot--y{background:#e5c07b}.hero-term__bar-dots .dot--g{background:#98c379}.hero-term__bar-title{text-align:center;color:var(--ink-2);font-size:11px;letter-spacing:.02em}.hero-term__body{flex:1 1 auto;overflow-y:auto;padding:24px 28px 28px;font-size:13px;line-height:1.6;color:var(--ink);text-shadow:0 0 .6px currentColor;scroll-behavior:smooth;font-family:var(--mono);text-transform:none;letter-spacing:.01em}.hero-term__body::-webkit-scrollbar{width:8px}.hero-term__body::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.08);border-radius:4px}.tline{white-space:pre-wrap;word-break:break-word;opacity:1}.tline--system{color:var(--accent);letter-spacing:.01em}.tline--dim{color:var(--ink-2)}.tline--ok{color:#98c379}.tline--warn{color:#e5c07b}.tline--accent{color:var(--accent)}.tline--bare,.tline--echo{color:var(--ink)}.tline__prompt{color:var(--accent);opacity:.75}.tline--input{display:flex;align-items:center;color:var(--ink);position:relative;margin-top:6px}.tline__typed{white-space:pre}.tline__caret{display:inline-block;width:8px;height:15px;background:var(--accent);margin-left:2px;opacity:0;vertical-align:-2px}.tline__caret.on{opacity:.9}.tline__hidden-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.hero-term__scan{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(180deg,hsla(0,0%,100%,.02) 0,hsla(0,0%,100%,.02) 1px,transparent 0,transparent 3px);mix-blend-mode:overlay;opacity:.6;z-index:2}@media (max-width:700px){.hero-term__body{padding:20px 18px 24px;font-size:12px}}