@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--bg:#101a24;--panel:#15232f;--text:#edf1ec;--muted:#9aa9af;--line:#2b3b45;--accent:#b6e3bf;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6}.topbar,main,footer{width:min(1040px,calc(100% - 48px));margin:auto}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;font-size:20px;color:var(--text);text-decoration:none}.wordmark span{color:var(--accent)}nav{display:flex;gap:30px}nav a,footer a{color:var(--muted);text-decoration:none;font-size:13px}nav a:hover,footer a:hover{color:var(--accent)}button{background:none;color:var(--text);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:18px}.hero{padding:100px 0 80px;max-width:730px}.eyebrow,.section-label,.contact,.project b{font:11px var(--mono);letter-spacing:.12em;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:9px}h1{font-size:clamp(64px,10vw,112px);line-height:.96;letter-spacing:-.075em;margin:26px 0 24px}h1 em{font-family:'Playfair Display',serif;font-weight:500;color:var(--accent);letter-spacing:-.06em}.intro{font-size:18px;color:#c1cbca;max-width:570px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.button{border:1px solid var(--line);padding:11px 15px;border-radius:4px;color:var(--text);text-decoration:none;font-size:13px}.button span{margin-left:12px;color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:#14231c}.button.primary span{color:#14231c}.contact{margin-top:22px;letter-spacing:0}.contact span{padding:0 9px;color:var(--accent)}.section{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:38px 0;border-top:1px solid var(--line)}.section-label{padding-top:6px}.row,.entry{border-bottom:1px solid var(--line);padding:0 0 21px;margin-bottom:21px}.row:last-child,.entry:last-child{border:0;margin-bottom:0}.row,.entry-head{display:flex;justify-content:space-between;gap:20px}h2{font-size:17px;margin:0 0 3px;font-weight:600}.row p,.entry-head p,.project p,.skills p{margin:0;color:var(--muted);font-size:14px}small{font-size:12px;color:var(--muted);font-weight:400;margin-left:6px}time{font:11px var(--mono);color:var(--muted);white-space:nowrap;padding-top:5px}.entry ul{margin:15px 0 0;padding-left:18px;color:#bdc8c8;font-size:14px}.entry li{padding:3px 0 3px 4px}.entry li::marker{color:var(--accent)}.project{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;text-decoration:none;color:var(--text)}.project:first-child{padding-top:0}.project:last-child{border:0}.project h2 span{font-size:14px;color:var(--accent)}.project b{font-size:10px;white-space:nowrap;padding-top:4px;color:var(--accent)}.skills{display:grid;grid-template-columns:1fr 1fr;gap:24px}.skills b{font-size:13px}.skills p{margin-top:5px}footer{border-top:1px solid var(--line);padding:24px 0 36px;display:flex;justify-content:space-between;color:var(--muted);font:11px var(--mono)}body.light{--bg:#f5f5ef;--panel:#fff;--text:#18252c;--muted:#637277;--line:#d8dfd9;--accent:#47865a}body.light .intro,body.light .entry ul{color:#435157}@media(max-width:650px){.topbar,main,footer{width:calc(100% - 36px)}nav{gap:13px}nav a{font-size:11px}.hero{padding:78px 0 60px}.section{grid-template-columns:1fr;gap:18px;padding:28px 0}.section-label{font-size:10px}.skills{gap:18px}.entry-head{gap:10px}.project{display:block}.project b{display:block;margin-top:10px}}@media(max-width:420px){nav{gap:9px}nav a{font-size:10px}.topbar{height:65px}.intro{font-size:16px}}
