@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{color-scheme:dark;--bg:#11120f;--panel:#171914;--text:#eeeade;--muted:#a5a496;--line:#37392e;--accent:#d4b56e;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.site-header,.site-footer{width:min(1120px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.site-header{height:90px;border-bottom:1px solid var(--line)}
.wordmark{font-size:15px;font-weight:800;letter-spacing:-.06em}.wordmark span{color:var(--accent);font-weight:500}
nav{display:flex;gap:32px;color:var(--muted);font-size:12px}.site-header nav a:hover,.site-footer>a:last-child:hover,.text-link:hover{color:var(--accent)}
main{width:min(1120px,calc(100% - 48px));margin:0 auto}
.hero{padding:clamp(90px,14vw,176px) 0 84px;max-width:920px}
.eyebrow,.section-heading>span,.tag,.index{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.eyebrow{margin:0 0 22px}
h1,h2,p{margin-top:0}
h1{font-size:clamp(66px,12vw,150px);line-height:.92;letter-spacing:-.09em;margin:0 0 32px;font-weight:600}
h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em;color:var(--accent)}
.intro{max-width:610px;color:#c0bfb2;font-size:clamp(16px,2vw,21px);line-height:1.55;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:28px;padding:13px 18px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#181810}.button-primary:hover{background:#e8cd8d}
.text-link{font-size:12px;color:var(--muted);transition:color .2s}.text-link span{color:var(--accent);margin-left:8px}
.rule{height:1px;background:var(--line);margin:92px 0 24px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.facts div{display:flex;flex-direction:column}.facts strong{font-size:21px;font-weight:600;letter-spacing:-.04em}.facts span{font-size:11px;color:var(--muted)}
.section{padding:72px 0;border-top:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.section-heading .eyebrow{margin:0}.section-heading>span{color:var(--muted);font-size:9px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.work-card{position:relative;min-height:250px;background:var(--panel);padding:25px;display:flex;flex-direction:column;align-items:flex-start}
.index{color:#78796d}.work-card h2{font-size:18px;letter-spacing:-.04em;margin:36px 0 10px}.work-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 24px}.tag{margin-top:auto;color:var(--accent);font-size:9px}
.open-source{padding-bottom:92px}.project-list{border-top:1px solid var(--line)}.project{min-height:72px;display:grid;grid-template-columns:1fr 2fr 24px;gap:20px;align-items:center;border-bottom:1px solid var(--line);transition:padding .2s,color .2s}.project:hover{padding-left:10px;color:var(--accent)}.project-name{font-weight:700;font-size:13px}.project-summary{font-size:12px;color:var(--muted)}.arrow{justify-self:end;color:var(--accent)}
.closing{padding:80px 0 110px;border-top:1px solid var(--line)}.closing h2{font-size:clamp(42px,7vw,78px);letter-spacing:-.08em;line-height:1.02;font-weight:600;margin-bottom:32px}
.site-footer{min-height:84px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.site-footer .wordmark{color:var(--text)}.site-footer>a:last-child{transition:color .2s}
.profile-page{min-height:calc(100vh - 174px)}.profile-hero{padding:clamp(80px,12vw,140px) 0 62px;max-width:820px}.profile-hero h1{font-size:clamp(72px,13vw,138px);margin-bottom:23px}.profile-hero .intro{font-size:14px;color:var(--accent);margin-bottom:23px}.profile-lede{max-width:660px;color:#c0bfb2;font-size:17px;line-height:1.8;margin:0 0 25px}.profile-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr)}.profile-details article{padding:24px 28px 24px 0;border-bottom:1px solid var(--line)}.profile-details article:nth-child(2n){padding-left:28px;border-left:1px solid var(--line)}.profile-details article:nth-last-child(-n+2){border-bottom:0}.profile-details .eyebrow{font-size:9px;margin-bottom:10px}.profile-details article p:last-child{color:#c0bfb2;font-size:13px;line-height:1.8;margin:0}.profile-stack{padding-bottom:64px}.stack{font-size:clamp(16px,2.5vw,24px);letter-spacing:-.04em}.stack i{font-style:normal;color:var(--accent);padding:0 7px}.profile-links{padding-top:0;border-top:0}.back-link{padding:16px 0 72px}
@media(max-width:700px){.site-header,.site-footer,main{width:calc(100% - 36px)}.site-header{height:74px}nav{gap:14px;font-size:10px}nav a:nth-child(2){display:none}.hero{padding-top:92px}.hero h1{font-size:clamp(62px,17vw,100px)}.rule{margin-top:65px}.facts{gap:10px}.facts strong{font-size:18px}.facts span{font-size:9px}.section{padding:55px 0}.work-grid{grid-template-columns:1fr}.work-card{min-height:205px}.work-card h2{margin-top:22px}.project{grid-template-columns:1fr 24px;gap:4px;padding:16px 0}.project-summary{grid-row:2}.project .arrow{grid-column:2;grid-row:1/3}.site-footer{gap:14px;flex-wrap:wrap;padding:20px 0}.site-footer>span{display:none}.profile-hero{padding-top:88px}.profile-details{grid-template-columns:1fr}.profile-details article,.profile-details article:nth-child(2n){padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}.profile-details article:last-child{border-bottom:0}.profile-lede{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
