/* Resume — A4 printable CV. Accent color: --accent. */
:root{--accent:#0f766e;--ink:#1c1c1c;--muted:#666;--side:#0f2f2c;--font:"DM Sans",system-ui,sans-serif;--serif:"DM Serif Display",Georgia,serif}
*{box-sizing:border-box}
body{margin:0;background:#e8ebea;font-family:var(--font);color:var(--ink);line-height:1.5}
.toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px;background:#111;color:#ddd;font-size:.9rem}
.toolbar button{border:0;border-radius:999px;padding:10px 18px;font:600 .9rem var(--font);cursor:pointer;background:#fff;color:#111}
.toolbar button:last-child{background:var(--accent);color:#fff}
.page{width:210mm;min-height:297mm;margin:28px auto;background:#fff;display:grid;grid-template-columns:72mm 1fr;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.page.editing{outline:3px dashed var(--accent);outline-offset:6px}
.side{background:var(--side);color:#e6f2f0;padding:14mm 9mm}
.photo{width:34mm;height:34mm;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#5eead4,#0f766e);font-family:var(--serif);font-size:2.4rem;color:#fff;margin-bottom:8mm}
.side h1{font-family:var(--serif);font-weight:400;font-size:2.4rem;line-height:1;margin:0}
.role{color:#5eead4;font-weight:700;margin:6px 0 10mm;font-size:.95rem}
.side h2,.main h2{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 4mm}
.side h2{color:#5eead4}
.side section{margin-bottom:9mm}
.side ul{list-style:none;padding:0;margin:0;display:grid;gap:3mm;font-size:.85rem}
.contact b{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8fb8b2;font-weight:500}
.skills li span{display:block;height:5px;margin-top:5px;border-radius:9px;background:rgba(255,255,255,.15);position:relative;overflow:hidden}
.skills li span::after{content:"";position:absolute;inset:0;width:var(--v);background:#5eead4;border-radius:9px}
.langs li{display:flex;justify-content:space-between}.langs em{font-style:normal;color:#8fb8b2}
.main{padding:14mm 12mm}
.main section{margin-bottom:8mm}
.main h2{color:var(--accent);padding-bottom:2mm;border-bottom:2px solid #e3eeec}
.main p{margin:0 0 3mm;font-size:.92rem}
.job{margin-bottom:5mm}.job__head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.job h3{margin:0;font-size:1.02rem}.job__head span{color:var(--muted);font-size:.82rem;white-space:nowrap}
.org{color:var(--accent);font-weight:700;font-size:.85rem!important}
.job ul{margin:0;padding-left:1.1em;font-size:.88rem;color:#333;display:grid;gap:1.5mm}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm}
.projects div{padding:4mm;border-radius:4mm;background:#f2f7f6}.projects p{font-size:.8rem;color:var(--muted);margin:1mm 0 0}
@media (max-width:820px){.page{width:auto;min-height:0;margin:14px;grid-template-columns:1fr}.projects{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:0}
  body{background:#fff}.no-print{display:none!important}
  .page{margin:0;box-shadow:none;width:210mm;min-height:297mm;outline:0!important}
  .side{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .skills li span,.photo,.projects div{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
