:root { --ink:#17212b; --muted:#5d6c7b; --faint:#e6ebef; --accent:#186c75; --paper:#f8fafb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.site-header, main, footer { width:min(100% - 48px,920px); margin-inline:auto; }
.site-header { display:flex; justify-content:space-between; align-items:center; min-height:76px; border-bottom:1px solid var(--faint); }
.name, nav a { color:var(--ink); text-decoration:none; }
.name { font-size:1.18rem; font-weight:700; letter-spacing:-.02em; }
nav { display:flex; gap:24px; font-size:.9rem; }
nav a:hover, a:hover { color:var(--accent); }
.profile { padding:88px 0 72px; max-width:770px; }
.kicker { margin:0 0 14px; color:var(--accent); font-size:.78rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3 { margin-top:0; letter-spacing:-.025em; }
h1 { margin-bottom:22px; font-size:clamp(2rem,5.2vw,3.7rem); line-height:1.1; }
.lead { max-width:660px; margin:0; color:var(--muted); font-size:1.18rem; }
section:not(.profile) { display:grid; grid-template-columns:190px 1fr; gap:36px; border-top:1px solid var(--faint); padding:36px 0 40px; }
.section-label { display:flex; align-items:baseline; gap:12px; }
.section-label span { color:var(--accent); font:700 .75rem ui-monospace,SFMono-Regular,Consolas,monospace; }
h2 { margin:0; font-size:1rem; }
.content > p { max-width:640px; margin:0; color:var(--muted); }
.topics { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.topics span { border:1px solid #ccd6dc; border-radius:3px; color:#40515f; font-size:.82rem; padding:4px 9px; }
.projects { display:grid; gap:0; }
article { border-top:1px solid var(--faint); padding:18px 0; }
article:first-child { border-top:0; padding-top:0; }
h3 { margin-bottom:5px; font-size:1rem; }
article p { margin:0; color:var(--muted); font-size:.94rem; }
article p + p { margin-top:8px; }
a { color:var(--accent); text-underline-offset:3px; }
.links { display:flex; gap:22px; margin-top:18px !important; font-size:.9rem; font-weight:650; }
footer { border-top:1px solid var(--faint); padding:24px 0 42px; color:var(--muted); font-size:.82rem; }
@media (max-width:650px) { .site-header,main,footer { width:min(100% - 36px,920px); } .profile { padding:64px 0 52px; } section:not(.profile) { grid-template-columns:1fr; gap:18px; padding:28px 0; } }
