:root { --ink:#1b1d21; --muted:#5d636e; --line:#e3e5e8; --accent:#1f5fbf; --bg:#ffffff; }
@media (prefers-color-scheme: dark) { :root { --ink:#eceef1; --muted:#a3a9b3; --line:#2c3038; --accent:#7fb0ff; --bg:#121418; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
main { max-width:680px; margin:0 auto; padding:64px 24px 48px; }
.mark { font-weight:700; letter-spacing:.18em; color:var(--accent); margin:0 0 12px; font-size:14px; }
h1 { font-size:30px; line-height:1.25; margin:0 0 16px; }
.lede { color:var(--muted); margin:0; }
section { border-top:1px solid var(--line); margin-top:40px; padding-top:28px; }
h2 { font-size:13px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); margin:0 0 16px; }
h3 { font-size:19px; margin:0 0 4px; }
.projects { list-style:none; padding:0; margin:0; display:grid; gap:20px; }
.projects p { margin:0; color:var(--muted); }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
.contact { display:grid; grid-template-columns:90px 1fr; gap:8px 16px; margin:0; }
.contact dt { color:var(--muted); }
.contact dd { margin:0; }
footer { margin-top:48px; font-size:14px; color:var(--muted); }
