@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-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:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/3724a2679eb55e3d-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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/dec24892df1f6098-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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6448e9c529f1ef4a-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/287637279c44650d-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b387097da7407747-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/cb9f64d62d112b41-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_56bdf6{font-family:Fraunces,Fraunces Fallback}.__variable_56bdf6{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-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:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-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:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-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:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-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:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-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:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-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_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#0c0a09;--bg-2:#14110f;--bg-3:#1c1815;--fg:#f5efe6;--fg-2:#a89c8a;--fg-3:#6b6358;--accent:#d4a574;--accent-2:#8b6f47;--border:#2a2420;--green:#7dd97f}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-geist),system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.display{font-family:var(--font-fraunces),Georgia,serif;font-variation-settings:"opsz" 144,"SOFT" 80;font-weight:300}.mono{font-family:var(--font-jetbrains-mono),monospace}a{color:inherit}.grain{position:fixed;inset:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.glow,.grain{pointer-events:none;z-index:0}.glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(212,165,116,.1) 0,transparent 70%);filter:blur(40px);top:-200px;right:-200px}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.fadeup{animation:fadeUp .9s cubic-bezier(.22,1,.36,1) backwards}.container{max-width:1240px;margin:0 auto;padding:0 40px;position:relative;z-index:2}@media (max-width:640px){.container{padding:0 24px}}.statusbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(12,10,9,.82);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--border)}.statusbar-inner{display:flex;justify-content:space-between;align-items:center;padding:14px 40px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);font-family:JetBrains Mono,monospace}@media (max-width:640px){.statusbar-inner{padding:12px 24px;font-size:10px}}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:10px;vertical-align:middle;box-shadow:0 0 10px var(--green);animation:pulse 2s ease-in-out infinite}.statusbar-right{color:var(--fg-3)}@media (max-width:720px){.statusbar-right{display:none}}.hero{padding:100px 0 140px;position:relative}@media (max-width:768px){.hero{padding:60px 0 80px}}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr minmax(220px,300px);grid-gap:clamp(40px,6vw,80px);gap:clamp(40px,6vw,80px);align-items:end}.hero-col--lead{grid-column:1;grid-row:1}.hero-col--body{grid-column:2;grid-row:1}.hero-photo-wrap{grid-column:3;grid-row:1;justify-self:end;width:100%;max-width:300px}.hero-photo-frame{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border);background:var(--bg-2);box-shadow:0 28px 56px rgba(0,0,0,.45)}.hero-photo{object-fit:cover;object-position:50% 30%}@media (max-width:900px){.hero-grid{display:flex;flex-direction:column;gap:32px;align-items:stretch}.hero-col--lead{order:1}.hero-photo-wrap{order:2;grid-column:unset;grid-row:unset;justify-self:center;max-width:320px;margin:0 auto;width:100%}.hero-col--body{order:3}}.eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin-bottom:28px;display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent)}.hero-name{font-size:clamp(56px,11vw,160px);line-height:.86;letter-spacing:-.045em;margin:0 0 36px}.hero-name em{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;color:var(--accent)}.hero-tagline{font-size:18px;color:var(--fg-2);max-width:460px;margin:0 0 44px;line-height:1.6}.hero-tagline strong{color:var(--fg);font-weight:500}.hero-meta{display:flex;flex-direction:column;gap:14px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--fg-2);letter-spacing:.04em}.hero-meta a,.hero-meta div{display:inline-flex;align-items:center;gap:12px}.hero-meta a{color:var(--fg-2);text-decoration:none;transition:color .2s}.hero-meta a:hover{color:var(--accent)}.hero-meta svg{opacity:.55}.section{padding:110px 0;position:relative;z-index:2}@media (max-width:768px){.section{padding:70px 0}}.section-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-3);letter-spacing:.22em;text-transform:uppercase;margin-bottom:64px;padding-top:28px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:24px}.section-label .num{color:var(--accent)}@media (max-width:640px){.section-label{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:40px}}.about-grid{display:grid;grid-template-columns:1fr 1.8fr;grid-gap:100px;gap:100px}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:40px}}.about-heading{font-size:clamp(40px,5.5vw,72px);line-height:.96;letter-spacing:-.035em;margin:0}.about-heading em{font-style:italic;color:var(--accent);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}.about-body p{font-size:17px;line-height:1.7;color:var(--fg-2);margin:0 0 22px;max-width:640px}.about-body strong{color:var(--fg);font-weight:500}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);margin-top:80px}@media (max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--bg);padding:36px 28px}.stat-n{font-size:52px;font-weight:300;color:var(--accent);letter-spacing:-.04em;line-height:1;margin-bottom:12px}.stat-l{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-3);letter-spacing:.18em;text-transform:uppercase;line-height:1.4}.projects{display:flex;flex-direction:column;gap:80px}.project{display:grid;grid-template-columns:1fr 1.7fr;grid-gap:60px;gap:60px;padding-bottom:80px;border-bottom:1px solid var(--border)}.project:last-child{border-bottom:0;padding-bottom:0}@media (max-width:900px){.project{grid-template-columns:1fr;gap:24px}}.project-num{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-3);letter-spacing:.18em;margin-bottom:16px}.project-name{font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.03em;margin:0 0 16px}.project-name em{font-style:italic;color:var(--accent);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}.project-tag{font-size:15px;color:var(--fg-2);margin:0 0 24px;line-height:1.55}.project-link{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);padding:9px 16px;border:1px solid var(--accent-2);border-radius:999px;text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:all .25s}.project-link:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.project-body p{font-size:16px;line-height:1.7;color:var(--fg-2);margin:0 0 22px}.project-body strong{color:var(--fg);font-weight:500}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tag{font-family:JetBrains Mono,monospace;font-size:11px;padding:5px 12px;border:1px solid var(--border);border-radius:4px;color:var(--fg-2)}.clients{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border)}@media (max-width:700px){.clients{grid-template-columns:repeat(2,1fr)}}.client{background:var(--bg);padding:44px 24px;text-align:center;transition:background .25s}.client:hover{background:var(--bg-2)}.client-cat{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--fg-3);letter-spacing:.22em;text-transform:uppercase;display:block;margin-bottom:12px}.client-n{font-family:Fraunces,Georgia,serif;font-size:24px;letter-spacing:-.015em;line-height:1;font-weight:300}.timeline{display:flex;flex-direction:column;gap:0}.role{display:grid;grid-template-columns:220px 1fr;grid-gap:60px;gap:60px;padding:40px 0;border-bottom:1px solid var(--border)}.role:last-child{border-bottom:0}@media (max-width:760px){.role{grid-template-columns:1fr;gap:12px}}.role-date{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-3);letter-spacing:.14em;padding-top:4px}.role-co{font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:400;margin:0 0 6px;letter-spacing:-.01em}.role-title{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent);letter-spacing:.1em;margin-bottom:18px}.role-desc{font-size:15px;color:var(--fg-2);line-height:1.65;margin:0;max-width:720px}.role-desc strong{color:var(--fg);font-weight:500}.skills{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:56px;gap:56px}@media (max-width:800px){.skills{grid-template-columns:1fr;gap:32px}}.skill h4{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--border)}.skill ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.skill li{font-family:Fraunces,Georgia,serif;font-size:19px;color:var(--fg);letter-spacing:-.005em}.edu-grid{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:80px;gap:80px}@media (max-width:800px){.edu-grid{grid-template-columns:1fr;gap:40px}}.edu-item{margin-bottom:36px}.edu-title{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.01em;margin:0 0 6px}.edu-meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-3);letter-spacing:.14em}.cert{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}.cert:last-child{border-bottom:0}.cert-issuer{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-3);letter-spacing:.12em;white-space:nowrap}.contact{padding:160px 0 100px;text-align:center;position:relative;z-index:2}@media (max-width:768px){.contact{padding:100px 0 70px}}.contact-h{font-size:clamp(52px,9vw,140px);line-height:.92;letter-spacing:-.04em;margin:32px 0 36px}.contact-h em{font-style:italic;color:var(--accent);font-variation-settings:"opsz" 144,"WONK" 1}.contact-sub{color:var(--fg-2);font-size:16px;max-width:520px;margin:0 auto 48px;line-height:1.6}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}.contact-link{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border:1px solid var(--border);border-radius:999px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);text-decoration:none;transition:all .25s}.contact-link:hover{border-color:var(--accent);color:var(--accent)}[data-animate]{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}[data-animate=slide-left]{transform:translateX(-28px)}[data-animate].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-animate]{opacity:1!important;transform:none!important;transition:none!important}}.footer{padding:40px;border-top:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-3);letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;position:relative;z-index:2}