@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_1bc20f{--font-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}@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_315a98{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400;font-style:normal}.__variable_315a98{--font-display:"Instrument Serif","Instrument Serif Fallback"}:root{--ink:#f1ede4;--ink-strong:#fffdf8;--paper:#0a0908;--paper-raised:#11100e;--paper-soft:#171512;--muted:#99958c;--muted-light:#bcb7ad;--line:rgba(241,237,228,0.17);--line-strong:rgba(241,237,228,0.34);--accent:#f15a24;--accent-on-light:#b64013;--accent-soft:rgba(241,90,36,0.12);--content:1320px;--gutter:clamp(20px,4vw,64px)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:72px}body,html{background:var(--paper)}body{min-height:100vh;margin:0;overflow-x:hidden;color:var(--ink);font-family:var(--font-sans),sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{position:fixed;z-index:-1;inset:0;background-image:linear-gradient(rgba(241,237,228,.018) 1px,transparent 0),linear-gradient(90deg,rgba(241,237,228,.018) 1px,transparent 0),radial-gradient(circle at 13% 28%,rgba(241,90,36,.09),transparent 24rem);background-size:64px 64px,64px 64px,100% 100%;content:"";-webkit-mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 96%);mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 96%);pointer-events:none}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent;scroll-margin-block:88px 24px}button{color:inherit;font:inherit}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 14px;transform:translateY(-160%);background:var(--ink);color:var(--paper);font-family:var(--font-mono),monospace;font-size:12px;text-transform:uppercase}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.title-line{display:block}.site-header{position:-webkit-sticky;position:sticky;z-index:30;top:0;display:flex;width:100%;height:72px;align-items:center;justify-content:space-between;padding-inline:max(var(--gutter),calc((100vw - var(--content)) / 2));border-bottom:1px solid var(--line);background:var(--paper);isolation:isolate}.site-header:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:var(--accent);content:"";pointer-events:none;transform:scaleX(0);transform-origin:left}.wordmark{display:inline-flex;min-height:44px;align-items:center;font-family:var(--font-mono),monospace;font-size:14px;font-weight:500;letter-spacing:-.02em}.wordmark span{color:var(--accent)}.footer-bottom nav,.hero-actions,.project-links,.site-nav{display:flex;align-items:center}.site-nav{gap:clamp(18px,2.5vw,36px)}.all-work-link a,.footer-bottom a,.hero-actions>a:not(.primary-action),.project-links a,.site-nav a{position:relative;display:inline-flex;min-height:44px;align-items:center;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase}.all-work-link a:after,.footer-bottom a:after,.hero-actions>a:not(.primary-action):after,.project-links a:after,.site-nav a:after{position:absolute;right:0;bottom:7px;left:0;height:1px;transform:scaleX(0);transform-origin:right;background:currentColor;content:"";transition:transform .18s ease}.all-work-link a:focus-visible:after,.all-work-link a:hover:after,.footer-bottom a:focus-visible:after,.footer-bottom a:hover:after,.hero-actions>a:not(.primary-action):focus-visible:after,.hero-actions>a:not(.primary-action):hover:after,.project-links a:focus-visible:after,.project-links a:hover:after,.site-nav a:focus-visible:after,.site-nav a:hover:after{transform:scaleX(1);transform-origin:left}main{display:block}.hero{display:grid;width:min(100%,var(--content));min-height:calc(100svh - 72px);margin:0 auto;padding:clamp(72px,10vh,116px) var(--gutter) 52px;align-items:center;grid-column-gap:clamp(44px,7vw,112px);column-gap:clamp(44px,7vw,112px);grid-template-areas:"identity copy" ". thesis";grid-template-columns:minmax(170px,.58fr) minmax(0,2.42fr);grid-template-rows:1fr auto;grid-row-gap:54px;row-gap:54px}.identity-block{position:relative;display:flex;flex-direction:column;align-items:flex-start;align-self:center;grid-area:identity}.portrait-button{position:relative;width:168px;height:168px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.portrait-button:before{position:absolute;z-index:-1;inset:-20%;border-radius:50%;background:radial-gradient(circle,rgba(241,90,36,.2),transparent 66%);content:"";opacity:.55;transform:scale(.9);transition:opacity .25s ease,transform .25s ease}.portrait-frame{position:relative;display:block;width:100%;height:100%;overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;background:#080706;box-shadow:0 0 0 6px rgba(241,237,228,.025);transition:border-color .25s ease,transform .25s ease}.portrait-impact{position:absolute;z-index:2;inset:-9px;border:1px solid var(--accent);border-radius:50%;opacity:0;pointer-events:none}.portrait-frame:after{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0,transparent 3px,rgba(10,9,8,.12) 4px);content:"";mix-blend-mode:multiply;pointer-events:none}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .25s ease,transform .25s ease}.portrait-button:focus-visible:before,.portrait-button:hover:before{opacity:1;transform:scale(1.05)}.portrait-button:focus-visible .portrait-frame,.portrait-button:hover .portrait-frame{border-color:var(--accent);transform:rotate(-2deg) scale(1.02)}.portrait-button:focus-visible img,.portrait-button:hover img{filter:saturate(1.14) contrast(1.03);transform:scale(1.035)}.identity-copy{margin-top:24px}.eyebrow,.identity-copy p,.identity-copy span,.portrait-hint,.project-heading>p,.project-index,.section-label,.stack-line span,.thesis-note>span{font-family:var(--font-mono),monospace}.identity-copy p{margin:0 0 4px;color:var(--ink-strong);font-size:14px;font-weight:500}.identity-copy span{font-size:11px;letter-spacing:.05em}.identity-copy span,.portrait-hint{color:var(--muted);text-transform:uppercase}.portrait-hint{margin-top:18px;font-size:9px;letter-spacing:.12em}.portrait-hint:before{display:inline-block;width:16px;height:1px;margin-right:8px;background:currentColor;content:"";vertical-align:middle}.hero-copy{align-self:center;grid-area:copy}.eyebrow,.project-heading>p,.section-label,.thesis-note>span{margin:0;color:var(--muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}.eyebrow:before{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft);content:""}.contact-handle,.hero h1,.project-heading h3,.section-intro h2,.site-footer h2,.working-set h2{font-family:var(--font-display),serif;font-weight:400}.hero h1{max-width:1010px;margin:0;color:var(--ink-strong);font-size:clamp(66px,8.5vw,128px);letter-spacing:-.052em;line-height:.85;text-wrap:balance}.hero h1 em{color:var(--accent);font-weight:400}.hero-summary{max-width:650px;margin:34px 0 0;color:var(--muted-light);font-size:clamp(16px,1.4vw,20px);line-height:1.65}.hero-actions{gap:26px;margin-top:34px}.primary-action{display:inline-flex;min-height:50px;align-items:center;justify-content:space-between;gap:30px;padding:0 18px;background:var(--accent);color:var(--paper);font-family:var(--font-mono),monospace;font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;transition:background .18s ease,color .18s ease,transform .18s ease}.primary-action:focus-visible,.primary-action:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.thesis-note{display:grid;width:min(100%,720px);padding-top:18px;border-top:1px solid var(--line);justify-self:end;grid-area:thesis;grid-template-columns:120px 1fr;grid-gap:22px;gap:22px}.thesis-note p{margin:0;color:var(--muted);font-family:var(--font-mono),monospace;font-size:11px;line-height:1.65}.reveal{animation:reveal-up .7s cubic-bezier(.22,1,.36,1) both}.reveal-two{animation-delay:90ms}.reveal-three{animation-delay:.18s}.work-section,.working-set{width:min(100%,var(--content));margin:0 auto;padding-inline:var(--gutter)}.work-section{padding-top:clamp(96px,12vw,168px);padding-bottom:clamp(52px,6vw,80px);border-top:1px solid var(--line)}.section-intro{display:grid;align-items:end;margin-bottom:72px;grid-template-columns:.7fr 1.35fr 1fr;grid-gap:clamp(28px,5vw,80px);gap:clamp(28px,5vw,80px)}.section-intro h2,.site-footer h2,.working-set h2{margin:0;color:var(--ink-strong);letter-spacing:-.035em;line-height:.94}.section-intro h2{font-size:clamp(54px,6vw,86px)}.footer-lead>p:last-child,.section-intro>p:last-child,.working-set-copy>p:first-child{margin:0;color:var(--muted-light);font-size:15px;line-height:1.75}.project-list{border-top:1px solid var(--line-strong)}.project-row{position:relative;display:grid;min-height:180px;align-items:center;padding:30px 22px 30px 0;border-bottom:1px solid var(--line);grid-template-columns:64px minmax(210px,.9fr) minmax(320px,1.3fr) minmax(100px,auto);grid-gap:clamp(20px,3vw,48px);gap:clamp(20px,3vw,48px);cursor:pointer;isolation:isolate;transition:background-color .22s ease,color .22s ease,padding .22s ease}.project-description,.project-heading,.project-index{position:relative;z-index:1}.project-featured:before{position:absolute;top:24px;bottom:24px;left:-1px;width:3px;background:var(--accent);content:""}.project-index{align-self:start;padding-top:3px;color:var(--muted);font-size:10px;letter-spacing:.1em}.project-heading h3{position:relative;z-index:1;margin:8px 0 0;color:var(--ink-strong);font-size:clamp(40px,4.2vw,62px);letter-spacing:-.035em;line-height:.95;transition:color .22s ease,transform .22s ease}.project-heading{min-height:94px}.project-heading>p{position:relative;z-index:1}.project-glyph{position:absolute;right:0;bottom:-4px;width:clamp(92px,9vw,128px);height:52px;margin:0;color:var(--muted);opacity:.2;pointer-events:none;transition:color .22s ease,opacity .22s ease,transform .22s ease}svg.project-glyph{overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2;vector-effect:non-scaling-stroke}.project-glyph .glyph-accent-fill{fill:var(--accent);stroke:none}.project-glyph .glyph-dash{stroke-dasharray:3 4}.project-glyph-cat{width:auto;height:auto;color:var(--muted);font-family:var(--font-mono),monospace;font-size:10px;line-height:1.05;text-align:left;white-space:pre}.project-description{max-width:620px;margin:0;color:var(--muted-light);font-size:14px;line-height:1.72;transition:color .22s ease}.project-links{flex-direction:column;align-items:flex-end;justify-content:center;pointer-events:none}.project-links a{position:relative;z-index:3;color:var(--muted-light);pointer-events:auto}.project-primary-link{position:static!important}.project-primary-link:before{position:absolute;z-index:2;inset:0;content:""}.project-primary-link:after{display:none}.all-work-link{display:flex;min-height:90px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:13px}.all-work-link a{color:var(--ink)}.working-set{display:grid;align-items:start;padding-top:clamp(72px,7vw,104px);padding-bottom:clamp(96px,12vw,160px);border-top:1px solid var(--line);grid-template-columns:.7fr 1.35fr 1fr;grid-gap:clamp(28px,5vw,80px);gap:clamp(28px,5vw,80px)}.working-set h2{max-width:600px;font-size:clamp(50px,5vw,76px)}.working-set-copy{display:grid;grid-gap:34px;gap:34px}.stack-line{margin:0;color:var(--muted);font-family:var(--font-mono),monospace;font-size:10px;line-height:2.15}.stack-line span{display:inline-block;min-width:82px;color:var(--ink);text-transform:uppercase}.site-footer{display:grid;padding:clamp(84px,10vw,136px) max(var(--gutter),calc((100vw - var(--content)) / 2)) 34px;background:var(--ink);color:var(--paper);grid-template-columns:1fr 1.25fr;grid-gap:62px;gap:62px}.site-footer .section-label{color:#6f6b64}.site-footer h2{margin-top:24px;color:var(--paper);font-size:clamp(64px,8vw,120px)}.footer-lead>p:last-child{max-width:540px;margin-top:24px;color:#5f5b55}.contact-handle{display:flex;align-items:center;justify-content:space-between;align-self:end;padding-bottom:20px;border-bottom:2px solid var(--paper);color:var(--accent-on-light);font-size:clamp(54px,7vw,104px);letter-spacing:-.04em;line-height:.9;transition:color .18s ease,padding .18s ease}.contact-handle span{font-family:var(--font-sans),sans-serif;font-size:.38em}.contact-handle:focus-visible,.contact-handle:hover{padding-right:14px;color:var(--paper)}.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(10,9,8,.22);grid-column:1/-1;gap:32px}.footer-bottom nav{flex-wrap:wrap;gap:24px}.footer-bottom a{color:var(--paper)}.footer-bottom p{margin:0;color:#6f6b64;font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.site-footer :focus-visible{outline-color:var(--paper)}.coin-layer{position:fixed;z-index:100;inset:0;overflow:hidden;pointer-events:none}.coin{position:absolute;top:0;left:0;display:grid;width:28px;height:28px;place-items:center;font-family:var(--font-sans),sans-serif;font-size:22px;font-weight:600;line-height:1;text-shadow:0 0 16px currentColor;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.coin-btc{color:#f7931a}.coin-eth{color:#8b9fff}@media (hover:hover){.project-row:focus-within,.project-row:hover{padding-right:30px;padding-left:14px;background:var(--ink);color:var(--paper)}.project-row:focus-within .project-heading>p,.project-row:focus-within .project-index,.project-row:hover .project-heading>p,.project-row:hover .project-index{color:#6f6b64}.project-row:focus-within .project-heading h3,.project-row:hover .project-heading h3{color:var(--paper);transform:translateX(5px)}.project-row:focus-within .project-description,.project-row:focus-within .project-links a,.project-row:hover .project-description,.project-row:hover .project-links a{color:#514e49}.project-row:focus-within :focus-visible{outline-color:var(--paper)}.project-row:focus-within .project-glyph,.project-row:hover .project-glyph{color:#6f6b64;opacity:.72;transform:translateX(-5px)}}@supports (animation-timeline:scroll()){.site-header:after{animation:scroll-ledger linear both;animation-timeline:scroll(root block)}}@supports (animation-timeline:view()){.project-row,.section-intro>*,.working-set>*{animation:ledger-enter linear both;animation-range:entry 0 entry 42%;animation-timeline:view(block)}}@media (max-width:980px){.hero{grid-template-columns:150px minmax(0,1fr);column-gap:42px}.portrait-button{width:136px;height:136px}.hero h1{font-size:clamp(62px,10vw,98px)}.section-intro,.working-set{grid-template-columns:.55fr 1.2fr}.section-intro>p:last-child,.working-set-copy{grid-column:2}.project-row{grid-template-columns:48px minmax(190px,.8fr) minmax(240px,1.2fr)}.project-links{flex-direction:row;align-items:center;justify-content:flex-start;grid-column:2/-1;gap:24px}.site-footer{grid-template-columns:1fr}}@media (max-width:700px){:root{--gutter:20px}html{scroll-padding-top:64px}.site-header{height:64px}.site-nav{gap:16px}.site-nav a{min-height:44px;font-size:10px}.hero{min-height:auto;padding-top:54px;padding-bottom:24px;grid-template-areas:"identity" "copy" "thesis";grid-template-columns:1fr;grid-template-rows:auto;row-gap:48px}.identity-block{flex-direction:row;align-items:center}.portrait-button{width:112px;height:112px}.identity-copy{margin-top:0;margin-left:20px}.portrait-hint{position:absolute;bottom:-24px;left:0;display:block;margin:0;font-size:8px}.eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(54px,16.5vw,78px);line-height:.88}.hero-summary{margin-top:26px;font-size:15px}.hero-actions{margin-top:28px}.thesis-note{grid-template-columns:1fr;gap:10px}.work-section{padding-top:40px;padding-bottom:42px}.section-intro,.working-set{grid-template-columns:1fr;gap:26px}.section-intro{margin-bottom:48px}.section-intro h2,.working-set h2{font-size:clamp(48px,14vw,68px)}.section-intro>p:last-child,.working-set-copy{grid-column:auto}.project-row{min-height:0;padding:28px 0;align-items:start;grid-template-columns:34px 1fr;gap:12px 14px}.project-featured:before{top:28px;bottom:28px;left:-10px}.project-index{padding-top:3px}.project-heading{grid-column:2;min-height:88px}.project-heading h3{font-size:clamp(42px,13vw,58px)}.project-glyph{right:2px;bottom:0;width:92px;height:42px;opacity:.27}.project-glyph-cat{width:auto;height:auto;font-size:9px}.project-description,.project-links{margin-top:8px;grid-column:2}.project-links{gap:22px}.all-work-link{align-items:flex-start;padding:22px 0;flex-direction:column;gap:4px}.working-set{padding-top:64px;padding-bottom:96px}.site-footer{padding-top:78px;gap:54px}.site-footer h2{font-size:clamp(60px,18vw,86px)}.contact-handle{font-size:clamp(50px,15vw,74px)}.footer-bottom{align-items:flex-start;flex-direction:column}}@media (max-width:430px){.wordmark{font-size:12px}.site-nav{gap:12px}.site-nav a{font-size:10px}.primary-action{gap:18px;padding-inline:14px}.hero-actions{gap:18px}.project-glyph{display:none}.footer-bottom,.footer-bottom nav{width:100%}.footer-bottom nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:16px;column-gap:16px}.footer-bottom nav a:last-child{grid-column:1/-1}.contact-handle{font-size:49px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.site-header:after{display:none}.project-row,.section-intro>*,.working-set>*{opacity:1!important;transform:none!important}}@keyframes scroll-ledger{to{transform:scaleX(1)}}@keyframes ledger-enter{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}