@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&display=swap";
:root{--bg:#f2f2ef;--text:#111;--muted:#5d5d5d;--line:#d4d4cf}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at top right,#fff 0%,var(--bg)45%);color:var(--text);font-family:Manrope,Avenir Next,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.site-shell{width:min(1000px,92vw);margin:0 auto;padding:1.2rem 0 4rem}.topbar{z-index:10;background:color-mix(in srgb,var(--bg)92%,white 8%);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:space-between;align-items:center;padding:.9rem 0;display:flex;position:sticky;top:0}.brand{letter-spacing:.18em;font-size:.84rem;font-weight:800}.nav{gap:1.3rem;display:flex}.nav a{color:var(--muted);font-size:.85rem;transition:color .16s}.nav a:hover{color:var(--text)}.hero{border-bottom:1px solid var(--line);padding:6rem 0 5rem}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 1.4rem;font-size:.73rem}.hero h1{letter-spacing:-.035em;max-width:12ch;margin:0;font-size:clamp(2.2rem,7vw,5.1rem);line-height:1.02}.intro{max-width:56ch;color:var(--muted);margin:1.6rem 0 0}.section{border-bottom:1px solid var(--line);padding:3.1rem 0}.split{grid-template-columns:160px 1fr;gap:1.4rem;display:grid}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem}.project-list{gap:1rem;display:grid}.project-card{border:1px solid var(--line);background:#fbfbf8;grid-template-columns:1fr auto;gap:.3rem 1rem;padding:1rem;display:grid}.project-card h3{margin:0;font-size:1.1rem}.project-card p{color:var(--muted);margin:0}.project-card span{color:var(--muted);align-self:center;font-size:.84rem}.contact a{border-bottom:1px solid var(--text);margin-top:1rem;padding-bottom:.1rem;display:inline-block}@media (max-width:700px){.site-shell{width:min(1000px,90vw)}.topbar{position:static}.split{grid-template-columns:1fr;gap:.75rem}.hero{padding-top:3.6rem}.hero h1{max-width:100%}}
