.cv .head h1{margin:0 0 var(--space-1)}.cv .head .title{color:var(--text-secondary);margin-bottom:2px}.cv .head .loc{color:var(--text-muted);margin-bottom:var(--space-2);font-size:13px}.cv .loc-mark{color:var(--accent)}.cv .head-contact{gap:var(--space-1) var(--space-2);color:var(--text-secondary);margin:0 0 var(--space-4);padding:var(--space-1) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:13px;display:flex}.cv .body{flex-direction:column;display:flex}.cv .primary{order:1;display:block}.cv .secondary{order:2;display:block}.cv .role{margin-bottom:var(--space-3)}.cv .role-head{margin-bottom:var(--space-1)}.cv .role-title{font-size:var(--size-body)}.cv .role-company{color:var(--text-secondary);font-size:13px}.cv .dates{color:var(--text-muted);margin-top:2px;font-size:12px}.cv .subrole{margin:var(--space-2) 0 var(--space-2) var(--space-2);padding-left:var(--space-2);border-left:1px solid var(--border)}.cv .subrole-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.cv .subrole-head em{font-style:normal;font-weight:500}.cv .skills{margin:0}.cv .skills dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:12px;font-weight:600}.cv .skills dd{color:var(--text-secondary);margin:2px 0 0}.cv .edu{margin-bottom:var(--space-1)}.cv .edu-cred{color:var(--text-secondary);font-size:13px}.cv .edu-dates{font-size:12px}.cv .plain{margin:0;padding:0;list-style:none}.cv .plain li{margin-bottom:4px}@media print{@page{size:A4;background:#fff}:root,html,body,main,main.cv{print-color-adjust:exact!important;background:#fff!important}:root,body{--bg:#fff;--surface:#fff;--text-primary:#0a0a0a;--text-secondary:#2a2a2a;--text-muted:#6b7280;--accent:#2d5a3d;--rule:#0a0a0a;--border:#d4d4d8;color:var(--text-primary)!important}html,body{font-feature-settings:"calt" 1, "ss01" 1, "tnum" 1;font-size:9.5pt;line-height:1.45;margin:0!important}main.cv{box-sizing:border-box;max-width:none;margin:0;padding:0 16mm}.cv .head{border-bottom:1.2pt solid var(--rule);grid-template-columns:1.2fr 1fr;align-items:end;gap:12pt;margin-bottom:14pt;padding-bottom:8pt;display:grid}.cv .head-main{min-width:0}.cv .head h1{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 4pt;font-size:26pt;font-weight:800;line-height:1}.cv .head .title{color:var(--accent);letter-spacing:0;margin:0 0 2pt;font-size:11.5pt;font-weight:600}.cv .head .loc{color:var(--text-muted);letter-spacing:.04em;margin:0;font-size:8.5pt}.cv .loc-mark{color:var(--accent);margin-right:2pt}.cv .head-contact{color:var(--text-secondary);text-align:right;letter-spacing:0;border:0;flex-direction:column;gap:1.5pt;margin:0;padding:0;font-size:8.5pt;display:flex}.cv .head-contact a{color:var(--text-primary);border:0;text-decoration:none}.cv .head-contact .muted{color:var(--text-muted)}.cv .body{display:block;overflow:visible}.cv .secondary{float:right;border-left:.6pt solid var(--border);box-sizing:border-box;width:33%;margin:0 0 8pt 14pt;padding-left:12pt;display:block}.cv .primary{display:block}.cv .section{page-break-inside:auto;margin:0 0 11pt}.cv .section:last-child{margin-bottom:0}.cv h2.label{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6pt;margin:0 0 7pt;padding:0;font-size:7.5pt;font-weight:700;display:flex}.cv h2.label>span{flex:none}.cv h2.label:after{content:"";background:var(--accent);opacity:.5;flex:auto;height:.5pt}.cv .section>p{color:var(--text-secondary);margin:0 0 4pt;font-size:9.5pt}.cv .role{page-break-inside:avoid;margin:0 0 10pt}.cv .role-grouped{margin-bottom:12pt}.cv .role-head{grid-template-columns:1fr auto;align-items:baseline;gap:10pt;margin-bottom:3pt;display:grid}.cv .role-main{min-width:0}.cv .role-title{line-height:1.2}.cv .role-title strong{color:var(--text-primary);font-size:10pt;font-weight:700}.cv .role-company{color:var(--accent);margin-top:1pt;font-size:9pt;font-weight:600}.cv .role-company .muted{color:var(--text-muted);font-weight:400}.cv .role-head .dates{color:var(--text-muted);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:0 0;margin:0;padding:0;font-size:8pt}.cv .subrole{border-left:.8pt solid var(--accent);page-break-inside:avoid;margin:5pt 0 0;padding:0 0 0 9pt}.cv .subrole+.subrole{margin-top:6pt}.cv .subrole-head{grid-template-columns:1fr auto;align-items:baseline;gap:8pt;margin-bottom:1pt;display:grid}.cv .subrole-head em{color:var(--text-primary);font-size:9.5pt;font-style:normal;font-weight:600}.cv .subrole-head .dates{color:var(--text-muted);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:8pt}.cv .role-body ul{margin:3pt 0 0;padding-left:0;list-style:none}.cv .role-body li{color:var(--text-secondary);margin-bottom:2pt;padding-left:9pt;font-size:9pt;line-height:1.4;position:relative}.cv .role-body li:before{content:"›";color:var(--accent);font-weight:700;position:absolute;top:0;left:0}.cv .skills{margin:0;display:block}.cv .skills dt{letter-spacing:0;text-transform:none;color:var(--text-primary);margin-top:7pt;font-size:8.5pt;font-weight:700}.cv .skills dt:first-child{margin-top:0}.cv .skills dd{color:var(--text-secondary);margin:1pt 0 0;font-size:9.5pt;line-height:1.45}.cv .edu{margin-bottom:7pt}.cv .edu-school strong{color:var(--text-primary);font-size:10pt;font-weight:700}.cv .edu-cred{color:var(--text-secondary);margin-top:1pt;font-size:9pt}.cv .edu-dates{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:1pt;font-size:8.5pt}.cv .plain{margin:0;padding:0;list-style:none}.cv .plain li{color:var(--text-secondary);margin-bottom:3pt;font-size:9pt;line-height:1.4}.cv .plain li strong{color:var(--text-primary);font-weight:600}.cv .certs li{padding-left:9pt;position:relative}.cv .certs li:before{content:"—";color:var(--accent);position:absolute;left:0}.cv a{color:var(--text-primary);text-underline-offset:1.5pt;text-decoration:underline .4pt}.cv .back{display:none}.cv h1,.cv h2,.cv h3,.cv .role-head,.cv .subrole-head,.cv .edu-school{break-after:avoid}.cv .role,.cv .subrole,.cv .edu{break-inside:avoid}}
