:root { --ink:#172033; --muted:#62708a; --line:#dce3ee; --accent:#174ea6; --paper:#fff; --wash:#f6f8fc; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 Georgia, 'Times New Roman', serif; }
a { color:var(--accent); text-decoration-thickness:1px; text-underline-offset:3px; }
.wrap { width:min(960px, calc(100% - 40px)); margin:auto; }
header { border-bottom:1px solid var(--line); background:#fff; }
.bar { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.name { color:var(--ink); text-decoration:none; font-size:1.32rem; font-weight:bold; }
nav { display:flex; flex-wrap:wrap; gap:18px; font-family:system-ui,sans-serif; font-size:.9rem; }
nav a { color:var(--ink); text-decoration:none; } nav a:hover, nav a[aria-current='page'] { color:var(--accent); }
main { padding:62px 0 72px; } h1 { font-size:2.25rem; line-height:1.15; margin:0 0 26px; } h2 { font-size:1.35rem; margin:38px 0 10px; } h3 { font-size:1.08rem; margin:25px 0 5px; }
.lead { max-width:760px; color:#34415a; font-size:1.13rem; } .section { max-width:790px; } ul { padding-left:22px; } li { margin:8px 0; }
.callout { margin:34px 0; padding:25px 28px; background:var(--wash); border-left:4px solid var(--accent); max-width:790px; }.callout h2 { margin-top:0; }
.button { display:inline-block; margin-top:8px; padding:9px 13px; background:var(--accent); color:#fff; text-decoration:none; border-radius:4px; font-family:system-ui,sans-serif; font-size:.9rem; }
.cv { width:100%; height:900px; border:1px solid var(--line); } footer { border-top:1px solid var(--line); padding:26px 0 45px; color:var(--muted); font-size:.92rem; }
@media (max-width:640px) { .bar { padding:16px 0; align-items:flex-start; flex-direction:column; gap:10px; } main { padding-top:42px; } h1 { font-size:1.9rem; } .cv { height:650px; } }
