:root{
  --ink:#1a1a1a;
  --muted:#5b6470;
  --accent:#1f3a5f;
  --line:#e3e7ec;
  --bg:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:#f4f6f8;
  line-height:1.55;
  padding:32px 16px;
}
.cv{
  max-width:820px;
  margin:0 auto;
  background:var(--bg);
  padding:48px 56px;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  border:1px solid var(--line);
}
.cv-header{border-bottom:2px solid var(--accent);padding-bottom:20px;margin-bottom:28px;}
.cv-header h1{font-size:30px;letter-spacing:.3px;color:var(--accent);}
.role{font-size:15px;color:var(--muted);margin-top:4px;font-weight:600;text-transform:uppercase;letter-spacing:1px;}
.contact{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:14px;color:var(--muted);}
.contact a{color:var(--accent);text-decoration:none;}
.contact a:hover{text-decoration:underline;}
section{margin-bottom:30px;}
h2{font-size:14px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:14px;}
h3{font-size:16px;color:var(--ink);}
.job,.cert,.edu{margin-bottom:18px;}
.job-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.dates{font-size:13px;color:var(--muted);white-space:nowrap;}
.org{font-size:14px;color:var(--muted);font-style:italic;margin:2px 0 8px;}
p{font-size:15px;margin-bottom:8px;}
.meta{font-size:13px;color:var(--muted);margin-top:10px;}
.job ul{margin-left:0;padding-left:18px;list-style:disc;}
.job ul li{font-size:14px;margin-bottom:6px;}
.skills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;}
.skills li{background:#eef2f6;border:1px solid var(--line);color:var(--ink);font-size:13px;padding:5px 12px;border-radius:2px;}
.cert-link{margin-top:14px;}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-size:14px;padding:9px 18px;border-radius:3px;}
.btn:hover{background:#16293f;}
.cv-footer{border-top:1px solid var(--line);padding-top:18px;margin-top:8px;font-size:13px;color:var(--muted);text-align:center;}
.cv-footer a{color:var(--accent);text-decoration:none;}
@media (max-width:600px){.cv{padding:32px 22px;}.cv-header h1{font-size:24px;}}
@media print{body{background:#fff;padding:0;}.cv{box-shadow:none;border:none;max-width:none;padding:0;}}
