@font-face{font-family:Bitter;font-weight:800;font-style:italic;font-display:swap;src:url(/fonts/bitter-latin-800-italic.woff2) format("woff2")}
@font-face{font-family:Bitter;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/bitter-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url(/fonts/manrope-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url(/fonts/manrope-latin-700-normal.woff2) format("woff2")}
:root{--bg:#0b0a09;--fg:#f2ece4;--mut:#9b9189;--o:#ff6a00;--line:#2a2623;--f:Bitter,Georgia,serif;--s:Manrope,system-ui,sans-serif;--m:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font:1.0625rem/1.6 var(--s);scroll-behavior:smooth}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}main{flex:1;width:min(1100px,100% - 2.5rem);margin:0 auto}
a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--o);outline-offset:3px}
.skip{position:absolute;left:-999px;background:var(--o);color:#000;padding:.5rem 1rem}.skip:focus{left:1rem;top:1rem;z-index:9}
.top{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;align-items:center;width:min(1100px,100% - 2.5rem);margin:0 auto;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:.6rem;align-items:center;font-weight:700;text-decoration:none;letter-spacing:.02em}.top nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-family:var(--m);font-size:.9rem}.top nav a{text-decoration:none;color:var(--mut);padding:.25rem 0;border-bottom:2px solid transparent}.top nav a:hover,.top nav a[aria-current]{color:var(--fg);border-color:var(--o)}
h1,h2{font-family:var(--f);font-weight:800;line-height:1.02;letter-spacing:-.02em;margin:0}h1{font-size:clamp(2.6rem,9vw,6rem)}h1 em{color:var(--o);font-style:italic}
.kicker{font:.85rem var(--m);text-transform:uppercase;letter-spacing:.14em;color:var(--o);margin:0 0 1.2rem}.lede{font-size:1.2rem;color:#d8d0c7;max-width:34em;margin:1.5rem 0 0}
.hero{display:grid;gap:2rem;padding:clamp(3rem,10vw,7rem) 0;align-items:center}.mono{width:min(60%,280px);justify-self:start;animation:in 1s both}
@media(min-width:800px){.hero{grid-template-columns:1.6fr 1fr}.mono{width:100%;justify-self:end;transform:rotate(-4deg)}}
@keyframes in{from{opacity:0;translate:0 20px}}
.cta{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.btn{display:inline-block;background:var(--o);color:#0b0a09;padding:.9rem 1.5rem;font-weight:700;text-decoration:none;clip-path:polygon(0 0,100% 0,100% 70%,92% 100%,0 100%);transition:background .2s}.btn:hover{background:#ffa050}.link{color:var(--fg);text-underline-offset:4px;text-decoration-color:var(--o)}
.sec{font-size:clamp(1.6rem,4vw,2.4rem);display:flex;gap:1rem;align-items:baseline;margin-bottom:2rem}.sec span{font:.9rem var(--m);color:var(--o)}
.work,.about{padding:3rem 0;border-top:1px solid var(--line)}
.list{list-style:none;margin:0;padding:0}.list li{border-bottom:1px solid var(--line)}.list a{display:grid;gap:.4rem;padding:1.5rem 0;text-decoration:none;transition:padding .25s,background .25s}.list a:hover{padding-left:1rem;background:linear-gradient(90deg,#ff6a0018,transparent)}.n{font:700 clamp(1.8rem,5vw,3rem)/1 var(--f)}.list a:hover .n{color:var(--o)}.d{color:var(--mut);max-width:38em}.go{font:.85rem var(--m);color:var(--o)}
@media(min-width:800px){.list a{grid-template-columns:1fr 1.4fr auto;align-items:baseline;gap:2rem}}
.cols{display:grid;gap:1.5rem;max-width:62rem}@media(min-width:800px){.cols{grid-template-columns:1fr 1fr;gap:3rem}}.cols p{margin:0}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:2rem 0 0}.tags li{font:.85rem var(--m);border:1px solid var(--line);padding:.3rem .8rem;clip-path:polygon(0 0,100% 0,100% 60%,90% 100%,0 100%)}
.end{padding:4rem 0 5rem;border-top:1px solid var(--line)}.end h2{font-size:clamp(2rem,6vw,3.6rem);margin-bottom:1.5rem}
.page{padding:clamp(3rem,8vw,6rem) 0 4rem}.big{font:700 clamp(1.4rem,5vw,2.6rem) var(--f);margin:2.5rem 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.big a{color:var(--o);text-underline-offset:6px}
.copy{font:.85rem var(--m);background:none;color:var(--fg);border:1px solid var(--mut);padding:.4rem .9rem;cursor:pointer}.copy:hover{border-color:var(--o);color:var(--o)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rows{list-style:none;padding:0;margin:0}.rows li{border-top:1px solid var(--line)}.rows li:last-child{border-bottom:1px solid var(--line)}.rows a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;text-decoration:none}.rows a span:last-child{font-family:var(--m);font-size:.9rem;color:var(--mut)}.rows a:hover span{color:var(--o)}
.spec{margin:2.5rem 0 0}.spec div{display:grid;gap:.3rem;padding:1.2rem 0;border-top:1px solid var(--line)}.spec dt{font:.85rem var(--m);color:var(--o);text-transform:uppercase;letter-spacing:.1em}.spec dd{margin:0;max-width:40em}@media(min-width:800px){.spec div{grid-template-columns:12rem 1fr}}
.foot{width:min(1100px,100% - 2.5rem);margin:0 auto;padding:1.5rem 0 2.5rem;border-top:1px solid var(--line);color:var(--mut);font-size:.9rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem}.foot p{margin:0}.foot a:hover{color:var(--o)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.name{font-size:clamp(4.5rem,19vw,11rem);line-height:.85;text-transform:uppercase;letter-spacing:-.04em;display:flex;flex-direction:column}.name .o{color:var(--o);padding-left:.4em}
.tag{font:700 clamp(1.4rem,4vw,2.2rem)/1.15 var(--f);margin:1.5rem 0 0}.tag em{color:var(--o)}

.xp{list-style:none;margin:0;padding:0}.xp li{display:grid;gap:.4rem;padding:1.4rem 0;border-top:1px solid var(--line)}.xp li:last-child{border-bottom:1px solid var(--line)}.when{font:.85rem var(--m);color:var(--o)}.xp h3{font:800 1.35rem/1.2 var(--f);margin:0 0 .4rem}.xp p{margin:0;color:#d8d0c7;max-width:42em}
@media(min-width:800px){.xp li{grid-template-columns:12rem 1fr;gap:2rem}}
.sub{font:.85rem var(--m);text-transform:uppercase;letter-spacing:.12em;color:var(--o);margin:2.5rem 0 1rem}.edu{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;max-width:46em}.edu li{padding-left:1rem;border-left:3px solid var(--o)}

.list .row{display:grid;gap:.4rem;padding:1.5rem 0}.list .go{color:var(--mut)}
@media(min-width:800px){.list .row{grid-template-columns:1fr 1.4fr auto;align-items:baseline;gap:2rem}}
