@page { size: A4; margin: 0; }
:root { --ink:#14181c; --muted:#555c62; --faint:#7c858d; --rule:#d7dadd; }
* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
body { color:var(--ink); font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:9.25pt; line-height:1.36; -webkit-font-smoothing:antialiased; }
.page { padding:9mm 15mm 0; }
header { margin-bottom:12px; }
h1 { margin:0; font-family:"Newsreader", Georgia, serif; font-size:27pt; font-weight:600; letter-spacing:-.35px; line-height:1; }
.title { margin-top:5px; font-size:10.2pt; font-weight:700; }
.contact { display:flex; flex-wrap:wrap; gap:4px 13px; margin-top:8px; padding-top:8px; border-top:1.5px solid var(--ink); color:var(--muted); font-size:8.4pt; }
a { color:var(--ink); text-decoration:none; border-bottom:1px solid var(--faint); }
.download { border:0; border-radius:2px; background:var(--ink); color:#fff; font-size:7.8pt; font-weight:700; padding:3px 7px; }
@media print { .download { display:none; } }
section { margin-top:9px; }
h2 { display:flex; align-items:center; gap:9px; margin:0 0 6px; font-size:8.2pt; font-weight:700; letter-spacing:1.55px; text-transform:uppercase; }
h2::after { content:""; flex:1; height:1px; background:var(--rule); }
.summary { margin:0; color:#2c3a44; font-size:9.5pt; line-height:1.4; }
.entry { margin:0 0 8px; }
.row { display:flex; justify-content:space-between; align-items:baseline; gap:14px; }
.org { font-size:10pt; font-weight:700; }
.role { color:var(--muted); font-weight:600; }
.dates { flex:none; color:var(--faint); font-size:8.1pt; font-weight:600; letter-spacing:.2px; white-space:nowrap; }
.entry p { margin:2px 0 0; color:#2c3a44; }
.entry ul { margin:3px 0 0; padding-left:15px; color:#2c3a44; }
.entry li { margin:1.5px 0; }
.label { color:var(--ink); font-weight:700; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; }
.card { color:#2c3a44; }
.card b { color:var(--ink); }
.project { margin:0 0 5px; padding-left:12px; position:relative; color:#2c3a44; }
.project::before { content:""; position:absolute; top:6px; left:0; width:3px; height:3px; border-radius:50%; background:var(--faint); }
.tech { color:var(--faint); font-style:italic; }
.small { color:#2c3a44; font-size:8.85pt; }
.compact { margin:2px 0; color:#2c3a44; }
