@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-inter:"__Inter_d8ebd1","__Inter_Fallback_d8ebd1"}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-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:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-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:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-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:__Space_Grotesk_Fallback_c219ed;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_c219ed{font-family:__Space_Grotesk_c219ed,__Space_Grotesk_Fallback_c219ed;font-style:normal}.__variable_c219ed{--font-space:"__Space_Grotesk_c219ed","__Space_Grotesk_Fallback_c219ed"}@font-face{font-family:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48410f3df60da620-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48410f3df60da620-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-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:__Cormorant_Garamond_75f1fe;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-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:__Cormorant_Garamond_Fallback_75f1fe;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_75f1fe{font-family:__Cormorant_Garamond_75f1fe,__Cormorant_Garamond_Fallback_75f1fe;font-style:normal}.__variable_75f1fe{--font-serif:"__Cormorant_Garamond_75f1fe","__Cormorant_Garamond_Fallback_75f1fe"}@tailwind base;@tailwind components;@tailwind utilities;:root{--ink:#080808;--charcoal:#111;--paper:#f4f3ef;--white:#fff;--fog:#888;--rule:#282828;--signal:#b7ffde;--serif:var(--font-serif),Georgia,serif;--sans:var(--font-inter),Arial,sans-serif;--display:var(--font-space),Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body,html{background:var(--ink)}body{margin:0;color:var(--white);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--signal);color:var(--ink)}.site-underlay{opacity:1;transition:opacity .5s ease}.site-underlay.is-loading{opacity:.05}.loading-screen{position:fixed;inset:0;z-index:100;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:2rem}.loading-mark{flex:1 1;display:grid;place-items:center;font:700 clamp(5rem,14vw,13rem)/1 var(--display);letter-spacing:-.11em}.loading-meta{display:flex;justify-content:space-between;font:500 .63rem/1 var(--display);letter-spacing:.16em;color:var(--fog)}.site-nav{position:fixed;inset:0 0 auto;z-index:40;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.1vw;mix-blend-mode:difference;color:var(--white)}.wordmark{display:inline-flex;width:max-content;align-items:center;gap:.55rem;font:700 1.25rem/1 var(--display);letter-spacing:-.08em}.wordmark i{display:block;width:34px;height:1px;background:currentColor;opacity:.7}.nav-links{display:flex;gap:1.45rem;align-items:center}.mobile-nav a,.nav-actions,.nav-links a{font:500 .61rem/1 var(--display);letter-spacing:.15em}.nav-links a{opacity:.65;transition:opacity .25s ease,transform .25s ease}.nav-links a:hover{opacity:1;transform:translateY(-2px)}.nav-actions{justify-self:end;display:flex;align-items:center;gap:.95rem}.nav-actions a{display:grid;place-items:center;opacity:.7;transition:opacity .25s ease}.nav-actions a:hover{opacity:1}.availability{display:inline-flex;align-items:center;gap:.45rem;opacity:.78}.availability i{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(183,255,222,.12)}.menu-toggle{display:none;justify-self:end;border:0;color:inherit;background:none;padding:.5rem}.mobile-nav{position:fixed;inset:0;z-index:-1;padding:8.5rem 7vw 2rem;background:var(--ink);display:flex;flex-direction:column;gap:1.5rem}.mobile-nav a{font-size:clamp(2rem,8vw,4.2rem);letter-spacing:-.06em}.mobile-nav-footer{margin-top:auto;border-top:1px solid var(--rule);padding-top:1rem;display:flex;justify-content:space-between;color:var(--fog)}.mobile-nav-footer a{font-size:.65rem;color:var(--paper)}.section{position:relative;overflow:hidden}.section-label{display:flex;align-items:center;gap:.7rem;font:500 .63rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase}.section-label:before{content:"";display:block;width:24px;height:1px;background:currentColor;opacity:.7}.section-index{font:500 .63rem/1 var(--display);letter-spacing:.18em;color:var(--fog)}.display{font-family:var(--display);letter-spacing:-.085em}.serif{font-family:var(--serif)}.rule{height:1px;background:currentColor;opacity:.17}.hero{min-height:100vh;background:var(--paper);color:var(--ink);padding:9rem 5vw 3rem;flex-direction:column}.hero,.hero-top{display:flex;justify-content:space-between}.hero-top{align-items:flex-start}.hero-kicker{max-width:13rem;font:500 .7rem/1.5 var(--display);letter-spacing:.15em;text-transform:uppercase}.hero-corner{text-align:right;font:500 .63rem/1.4 var(--display);letter-spacing:.12em;color:#666;text-transform:uppercase}.hero-main{position:relative;flex:1 1;display:flex;align-items:center;justify-content:center;padding:4vh 0 5vh}.hero-title{position:relative;z-index:2;margin:0;max-width:15ch;text-align:center;font:700 clamp(4.9rem,13.4vw,13.2rem)/.78 var(--display);text-transform:uppercase}.hero-title span{display:block;overflow:hidden}.hero-title em{font:500 .4em/1 var(--serif);text-transform:lowercase;letter-spacing:-.04em}.hero-ghost{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:transparent;-webkit-text-stroke:1px rgba(8,8,8,.12);white-space:nowrap;font:700 clamp(6rem,19vw,19rem)/.75 var(--display);letter-spacing:-.1em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-orbit{position:absolute;width:min(52vw,550px);aspect-ratio:1;border:1px solid rgba(8,8,8,.16);border-radius:50%;transform:rotate(-18deg)}.hero-orbit:after,.hero-orbit:before{content:"";position:absolute;inset:11% -7%;border:1px solid rgba(8,8,8,.11);border-radius:50%;transform:rotate(61deg)}.hero-orbit:after{inset:-8% 13%;transform:rotate(-48deg)}.hero-bottom{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:2rem;gap:2rem;align-items:end}.hero-bottom p{margin:0;font:500 .72rem/1.55 var(--display);letter-spacing:.11em;text-transform:uppercase;max-width:18rem}.hero-bottom p:last-of-type{justify-self:end;max-width:19rem;text-align:right;color:#555}.scroll-cue{display:flex;flex-direction:column;gap:.6rem;align-items:center;font:500 .58rem/1 var(--display);letter-spacing:.18em;color:#777}.scroll-cue i{display:block;height:42px;width:1px;background:#777}.about{min-height:100vh;background:var(--ink);padding:8rem 5vw;display:grid;grid-template-columns:1fr 1.35fr;grid-gap:7vw;gap:7vw;align-items:center}.about-art{min-height:62vh;position:relative;background:linear-gradient(145deg,#171717,#050505 65%);overflow:hidden}.about-art:before{content:"V";position:absolute;inset:12% auto auto 9%;font:700 30rem/.7 var(--display);color:#1e1e1e;letter-spacing:-.2em}.about-art:after{content:"";position:absolute;width:72%;aspect-ratio:.72;left:18%;bottom:-12%;border:1px solid #444;border-radius:50% 50% 0 0;transform:rotate(14deg);opacity:.65}.about-art-label{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;z-index:2;display:flex;justify-content:space-between;border-top:1px solid #3b3b3b;padding-top:.75rem;font:500 .59rem/1.3 var(--display);letter-spacing:.13em;color:#aaa}.about-copy{max-width:42rem}.about-title{margin:2rem 0 2.2rem;font:700 clamp(4.3rem,10vw,10.5rem)/.74 var(--display);letter-spacing:-.11em;text-transform:uppercase}.about-title em{font:500 .5em/1 var(--serif);text-transform:lowercase;letter-spacing:-.04em}.about-lead{max-width:34rem;margin:0 0 3rem;color:#c4c4c4;font:400 clamp(1.35rem,2.35vw,2.25rem)/1.12 var(--serif)}.about-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem;border-top:1px solid var(--rule);padding-top:1.1rem}.meta-block span{display:block;color:var(--fog);font:500 .59rem/1.2 var(--display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.55rem}.meta-block strong{display:block;font:500 .8rem/1.4 var(--display);letter-spacing:.04em}.experience{min-height:100vh;background:var(--charcoal);padding:8rem 5vw}.experience-ghost{position:absolute;left:3vw;bottom:7vh;color:#191919;font:700 clamp(5rem,14vw,14rem)/.72 var(--display);letter-spacing:-.12em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.experience-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start}.experience-title{margin:6rem 0 4rem;max-width:10ch;font:700 clamp(4.5rem,11vw,11rem)/.75 var(--display);letter-spacing:-.115em;text-transform:uppercase}.experience-title em{font:500 .42em/1 var(--serif);letter-spacing:-.02em;text-transform:lowercase}.timeline{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;border-top:1px solid #3a3a3a}.timeline-item{min-height:16rem;padding:1.4rem 1.2rem 1.3rem 0;border-right:1px solid #3a3a3a;position:relative}.timeline-item:not(:first-child){padding-left:1.2rem}.timeline-item:last-child{border-right:0}.timeline-dot{width:8px;height:8px;background:var(--signal);border-radius:50%;margin-bottom:2.3rem;box-shadow:0 0 0 5px rgba(183,255,222,.08)}.timeline-year{font:500 .72rem/1 var(--display);letter-spacing:.16em;color:var(--signal)}.timeline-label{margin:.8rem 0 1.3rem;font:700 clamp(1.4rem,2.8vw,2.6rem)/.95 var(--display);letter-spacing:-.07em}.timeline-item p{max-width:18rem;margin:0;color:#999;font:400 .92rem/1.45 var(--sans)}.timeline-project{position:absolute;left:0;bottom:1.2rem;color:#555;font:500 .58rem/1 var(--display);letter-spacing:.13em;text-transform:uppercase}.skills{background:var(--paper);color:var(--ink);padding:8rem 5vw 9rem}.skills-top{display:flex;justify-content:space-between;align-items:flex-start}.skills-title{margin:4.5rem 0 4rem;font:700 clamp(4.5rem,12vw,12rem)/.74 var(--display);letter-spacing:-.12em;text-transform:uppercase}.skills-title em{font:500 .37em/1 var(--serif);letter-spacing:-.02em;text-transform:lowercase}.skills-list{border-top:1px solid #b9b8b3}.skill-row{display:grid;grid-template-columns:.85fr 1.5fr .9fr;grid-gap:2rem;gap:2rem;padding:1.2rem 0;border-bottom:1px solid #b9b8b3;align-items:start;transition:padding .3s ease,background .3s ease}.skill-row:hover{padding-left:1rem;padding-right:1rem;background:#ebeae5}.skill-row h3{margin:0;font:700 .75rem/1 var(--display);letter-spacing:.14em}.skill-items{display:flex;flex-wrap:wrap;gap:.35rem .75rem}.skill-items span{font:500 clamp(1rem,1.65vw,1.4rem)/1.15 var(--display);letter-spacing:-.04em}.skill-note{margin:0;color:#777;font:400 .75rem/1.35 var(--sans)}.projects{background:var(--paper);color:var(--ink);padding:8rem 0 0}.projects-head{padding:0 5vw;display:flex;justify-content:space-between;align-items:flex-start}.projects-title{margin:4.5rem 0 1rem;max-width:10ch;font:700 clamp(4.5rem,12vw,12rem)/.73 var(--display);letter-spacing:-.12em;text-transform:uppercase}.projects-title em{font:500 .38em/1 var(--serif);text-transform:lowercase;letter-spacing:-.02em}.projects-intro{max-width:17rem;margin-top:4.8rem;font:500 .72rem/1.45 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#6d6d69}.gallery-pin{height:70vh;overflow:hidden;display:flex;align-items:center;cursor:-webkit-grab;cursor:grab}.gallery-pin:active{cursor:-webkit-grabbing;cursor:grabbing}.gallery-track{display:flex;gap:2vw;padding:0 5vw;will-change:transform}.project-card{width:min(39vw,560px);min-width:min(39vw,560px);height:min(60vh,570px);padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border:1px solid #c8c7c1;background:var(--white);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease}.project-card:hover{transform:translateY(-12px) rotateX(1deg) rotateY(-2deg);box-shadow:20px 26px 0 rgba(8,8,8,.08)}.project-card.ink{background:var(--ink);color:var(--paper);border-color:#303030}.project-card.grey{background:#dad9d4;border-color:#bbb9b0}.project-card-bottom,.project-card-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}.project-card-bottom span,.project-card-top span{font:500 .59rem/1.2 var(--display);letter-spacing:.13em;text-transform:uppercase}.project-card-bottom{align-items:flex-end}.project-card h3{max-width:8ch;font:700 clamp(2.6rem,5.2vw,5rem)/.78 var(--display);letter-spacing:-.11em;text-transform:uppercase}.project-card h3,.project-card p{position:relative;z-index:2;margin:0}.project-card p{max-width:23rem;font:400 .8rem/1.35 var(--sans);color:#666}.ink .project-card p{color:#aaa}.project-card-art{position:absolute;inset:17% 8% 27%;display:grid;place-items:center;border:1px solid;opacity:.34;transform:rotate(-9deg)}.project-card-art:after,.project-card-art:before{content:"";position:absolute;border:1px solid}.project-card-art:before{inset:12% 17%;transform:rotate(23deg)}.project-card-art:after{width:42%;aspect-ratio:1;border-radius:50%}.project-card-art strong{font:700 clamp(3rem,8vw,8rem)/1 var(--display);letter-spacing:-.12em;opacity:.5}.project-card-link{display:inline-flex;align-items:center;gap:.35rem;border-bottom:1px solid;padding-bottom:.25rem}.gallery-hint,.project-card-link{font:500 .6rem/1 var(--display);letter-spacing:.15em;text-transform:uppercase}.gallery-hint{padding:.25rem 5vw .5rem;display:flex;justify-content:space-between;color:#888}.gallery-hint span:last-child{display:inline-flex;align-items:center;gap:.5rem}.gallery-hint i{display:block;width:42px;height:1px;background:currentColor}.research{background:var(--ink);padding:4rem 5vw 9rem}.research-title{margin:4.5rem 0 4rem;max-width:9ch;font:700 clamp(4.2rem,11vw,11rem)/.75 var(--display);letter-spacing:-.12em;text-transform:uppercase}.research-title em{font:500 .4em/1 var(--serif);text-transform:lowercase;letter-spacing:-.02em}.research-list{border-top:1px solid var(--rule)}.research-row{display:grid;grid-template-columns:.12fr 1fr 1fr .7fr;grid-gap:1.5rem;gap:1.5rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--rule)}.research-number{color:var(--signal);font:500 .7rem/1 var(--display);letter-spacing:.1em}.research-row h3{margin:0;max-width:15ch;font:600 clamp(1.45rem,2.6vw,2.4rem)/.9 var(--display);letter-spacing:-.07em}.research-row p{margin:0;max-width:19rem;color:#999;font:400 .8rem/1.4 var(--sans)}.research-row p strong{font:500 .6rem/1 var(--display);letter-spacing:.12em;color:var(--signal)}.research-link{justify-self:end;color:var(--paper);font:500 .6rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #555;padding-bottom:.3rem}.contact{min-height:88vh;background:var(--charcoal);color:var(--paper);padding:8rem 5vw 2rem;flex-direction:column}.contact,.contact-head{display:flex;justify-content:space-between}.contact-title{margin:5rem 0 2rem;max-width:10ch;font:700 clamp(4.4rem,12.5vw,13rem)/.73 var(--display);letter-spacing:-.13em;text-transform:uppercase}.contact-title em{font:500 .38em/1 var(--serif);text-transform:lowercase;letter-spacing:-.02em}.contact-copy{max-width:18rem;margin:0 0 2rem;color:#999;font:500 .72rem/1.5 var(--display);letter-spacing:.08em;text-transform:uppercase}.contact-links{display:flex;flex-wrap:wrap;gap:.65rem}.magnetic-link{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #444;padding:.9rem 1.1rem;font:500 .62rem/1 var(--display);letter-spacing:.15em;transition:background .25s ease,color .25s ease,border .25s ease}.magnetic-link:hover{background:var(--signal);color:var(--ink);border-color:var(--signal)}.contact-footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #333;padding-top:1rem;color:#777;font:500 .6rem/1.3 var(--display);letter-spacing:.13em;text-transform:uppercase}.contact-footer a:hover{color:var(--paper)}.github-panel{margin-top:2.2rem;border-top:1px solid var(--rule);padding-top:1rem}.github-panel-head{display:flex;align-items:center;justify-content:space-between}.github-panel-head .section-label:before{display:none}.github-panel-head a{opacity:.7;transition:opacity .25s ease}.github-panel-head a:hover{opacity:1}.github-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.7rem;gap:.7rem;margin-top:1.2rem}.github-stats-grid div{display:flex;flex-direction:column;gap:.35rem}.github-stats-grid strong{font:600 1.8rem/.9 var(--display);letter-spacing:-.08em}.github-stats-grid span{font:500 .56rem/1 var(--display);letter-spacing:.13em;color:var(--fog)}.github-activity{margin-top:1.2rem;border-top:1px solid var(--rule)}.github-activity a{display:grid;grid-template-columns:.8fr 1fr auto;grid-gap:.7rem;gap:.7rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--rule);font:500 .62rem/1 var(--display);letter-spacing:.06em}.github-activity a span{color:var(--fog)}.github-activity a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.github-loading{color:var(--fog);font:500 .7rem/1.4 var(--display);letter-spacing:.08em}.case-study{background:var(--paper);color:var(--ink);min-height:100vh}.case-hero{min-height:76vh;padding:10rem 5vw 4rem;flex-direction:column}.case-hero,.case-hero-top{display:flex;justify-content:space-between}.back-link{display:inline-flex;align-items:center;gap:.35rem;font:500 .64rem/1 var(--display);letter-spacing:.13em;border-bottom:1px solid;padding-bottom:.3rem}.back-link,.case-title{text-transform:uppercase}.case-title{margin:6rem 0 3rem;max-width:9ch;font:700 clamp(4.6rem,12vw,13rem)/.72 var(--display);letter-spacing:-.13em}.case-deck{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;align-items:end}.case-deck p{max-width:28rem;margin:0;font:400 clamp(1.2rem,2vw,1.8rem)/1.12 var(--serif)}.case-visual{margin:0 5vw 6rem;min-height:35rem;background:var(--ink);color:var(--paper);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:1.4rem}.case-visual.paper{background:var(--paper);color:var(--ink);border:1px solid #c8c7c1}.case-visual.grey{background:#dad9d4;color:var(--ink)}.case-visual-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(currentColor 1px,transparent 0),linear-gradient(90deg,currentColor 1px,transparent 0);background-size:70px 70px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}.case-visual-mark{position:absolute;inset:20% auto auto 8%;font:700 clamp(6rem,20vw,22rem)/.7 var(--display);letter-spacing:-.15em;opacity:.16}.case-visual-bottom,.case-visual-top{position:relative;z-index:1;display:flex;justify-content:space-between;font:500 .62rem/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase}.case-layout{padding:0 5vw 8rem}.case-section{display:grid;grid-template-columns:.75fr 1.5fr;grid-gap:5vw;gap:5vw;padding:5rem 0;border-top:1px solid #bdbcb6}.case-section-label{font:500 .65rem/1.3 var(--display);letter-spacing:.15em;text-transform:uppercase}.case-section h2{max-width:11ch;margin:0;font:700 clamp(2.7rem,5vw,5rem)/.82 var(--display);letter-spacing:-.1em;text-transform:uppercase}.case-section-content{max-width:42rem}.case-section-content p{margin:0 0 1.4rem;color:#555;font:400 1rem/1.55 var(--sans)}.case-section-content ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.6rem 1rem;gap:.6rem 1rem}.case-section-content li{border-top:1px solid #c9c8c2;padding-top:.55rem;font:500 .78rem/1.35 var(--display)}.case-tags{display:flex;flex-wrap:wrap;gap:.45rem}.case-tag{border:1px solid #bbb9b2;padding:.55rem .7rem;font:500 .63rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.case-cta{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:1rem}.case-cta a{background:var(--ink);color:var(--paper)}.case-cta a:hover{background:var(--signal);color:var(--ink)}.case-footer{background:var(--ink);color:var(--paper);padding:1.2rem 5vw;display:flex;justify-content:space-between;font:500 .62rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase}@media(max-width:900px){.site-nav{grid-template-columns:1fr auto}.nav-actions,.nav-links{display:none}.menu-toggle{display:block}.hero{padding-left:6vw;padding-right:6vw}.hero-bottom{grid-template-columns:1fr 1fr}.scroll-cue{display:none}.about{grid-template-columns:1fr;gap:3rem}.about-art{min-height:50vh}.project-card{width:66vw;min-width:66vw}.gallery-pin{height:auto;overflow-x:auto;padding:3rem 0 4rem;scrollbar-width:none}.gallery-pin::-webkit-scrollbar{display:none}.gallery-track{transform:none!important}}@media(max-width:640px){.site-nav{height:64px;padding:0 5vw}.hero{min-height:92vh;padding-top:7rem}.hero-top{gap:1rem}.hero-corner{max-width:8rem}.hero-main{padding:10vh 0}.hero-title{font-size:clamp(3.7rem,17vw,7rem)}.hero-ghost{font-size:30vw}.hero-orbit{width:72vw}.hero-bottom{grid-template-columns:1fr;gap:1.2rem}.hero-bottom p:last-of-type{justify-self:start;text-align:left}.about,.contact,.experience,.research,.skills{padding:6rem 6vw}.about-meta{grid-template-columns:1fr}.contact-title,.experience-title,.projects-title,.research-title,.skills-title{margin-top:3.5rem}.timeline{grid-template-columns:1fr}.timeline-item,.timeline-item:not(:first-child){min-height:13rem;padding:1.2rem 0;border-right:0;border-bottom:1px solid #3a3a3a}.timeline-item:last-child{border-bottom:0}.timeline-dot{margin-bottom:1.2rem}.timeline-project{bottom:1.2rem}.skill-row{grid-template-columns:1fr;gap:.7rem}.skill-note{max-width:22rem}.projects{padding-top:6rem}.projects-head{padding:0 6vw;display:block}.projects-intro{margin-top:0;padding-bottom:1.5rem}.gallery-track{padding:0 6vw;gap:1rem}.project-card{width:82vw;min-width:82vw;height:72vh}.gallery-hint{padding-left:6vw;padding-right:6vw}.research-row{grid-template-columns:.15fr 1fr;gap:.8rem}.research-link,.research-row p{grid-column:2;justify-self:start}.contact-footer{flex-direction:column;gap:.8rem}.case-hero{min-height:72vh;padding:8rem 6vw 3rem}.case-deck{grid-template-columns:1fr}.case-visual{min-height:25rem;margin:0 6vw 4rem}.case-layout{padding:0 6vw 5rem}.case-section{gap:1.5rem;padding:3.5rem 0}.case-section,.case-section-content ul{grid-template-columns:1fr}.case-footer{padding:1.2rem 6vw}.github-stats-grid strong{font-size:1.45rem}.github-activity a{grid-template-columns:.9fr 1fr auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.site-underlay{transition:none}.gallery-pin{overflow-x:auto}}