:root{--bg:#0A0A0F;--bg2:#08080A;--card:#0E0E12;--card2:#121216;--line:rgba(255,255,255,.08);--text:#ECECF1;--muted:rgba(255,255,255,.62);--green:#06FFA5;--purple:#8B5CF6;--pink:#FF3B8D}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(139,92,246,.18),transparent 60%),var(--bg);color:var(--text);font:400 17px/1.65 "Geist",system-ui,sans-serif}
a{color:var(--green)}a:hover{color:#fff}
.top,footer{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;max-width:960px;margin:0 auto;padding:1.25rem 1.25rem}
.brand{font:400 1.5rem "Instrument Serif",serif;color:#fff;text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}nav a{font:400 .8rem "Fragment Mono",monospace;color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.06em}nav a:hover,nav a[aria-current]{color:var(--green)}
main{max-width:960px;margin:0 auto;padding:0 1.25rem 3rem}
section{border-top:1px solid var(--line);padding:2rem 0}.hero{border:0;padding:3rem 0 2rem}
.kicker{font:400 .8rem "Fragment Mono",monospace;color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem}
h1,h2{font-family:"Instrument Serif",serif;font-weight:400;line-height:1.1;margin:0 0 1rem;color:#fff}
h1{font-size:clamp(2.4rem,7vw,4.2rem)}h2{font-size:clamp(1.7rem,4.5vw,2.3rem)}
.lead{font-size:1.15rem;color:#fff;max-width:46em}
.btn{display:inline-block;margin:.4rem .5rem 0 0;padding:.75rem 1.15rem;border-radius:14px;background:linear-gradient(135deg,var(--purple),var(--green));color:#08080A;font-weight:500;text-decoration:none;word-break:break-all}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#fff}
ul{padding-left:1.2rem}li{margin:.35rem 0;color:var(--muted)}li a{font-weight:500}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}
.grid li{margin:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;color:var(--text)}
.proj{list-style:none;padding:0}.proj li{background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:12px;padding:.9rem 1rem;margin:.6rem 0}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;margin:.6rem 0}summary{cursor:pointer;color:#fff;font-weight:500}details p{color:var(--muted);margin:.6rem 0 0}
p{color:var(--muted)}footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}footer p{margin:0;color:inherit}
