@page{size:A4;margin:0}.cv-root{--ink:#1b2328;--muted:#5b6770;--accent:#1f5f6b;--accent-soft:#e8f0f1;--rule:#d9dfe2;background:#eceff1;padding:24px 0;color:var(--ink);font-family:var(--font-inter),system-ui,sans-serif;font-size:8.6pt;line-height:1.42;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-page{position:relative;width:210mm;height:297mm;margin:0 auto 24px;padding:13mm 14mm 14mm;background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.12);overflow:hidden;box-sizing:border-box}@media print{.cv-root{background:none;padding:0}.cv-page{margin:0;box-shadow:none;page-break-after:always;break-after:page}.cv-page:last-child{page-break-after:auto;break-after:auto}}@media screen and (max-width:820px){.cv-root{overflow-x:hidden}.cv-page{zoom:.44}}.cv-header{display:flex;gap:6mm;align-items:center;padding-bottom:5mm;border-bottom:1.2pt solid var(--accent)}.cv-photo{width:30mm;height:30mm;border-radius:4mm;object-fit:cover;object-position:50% 20%;flex-shrink:0}.cv-id h1{margin:0;font-size:25pt;font-weight:700;letter-spacing:-.02em;line-height:1.05}.cv-headline{margin:1.6mm 0 2.4mm;color:var(--accent);font-size:10.5pt;font-weight:600}.cv-contact{margin:0 0 .8mm;display:flex;flex-wrap:wrap;gap:.6mm 3.2mm;color:var(--muted);font-size:8pt}.cv-contact span+span:before{content:"·";margin-right:3.2mm;color:var(--rule)}.cv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5mm;margin:4.5mm 0 1mm}.cv-stats div{background:var(--accent-soft);border-radius:2mm;padding:2.4mm 3mm}.cv-stats strong{display:block;color:var(--accent);font-size:14pt;line-height:1.1;letter-spacing:-.01em}.cv-stats span{color:var(--muted);font-size:7.4pt}.cv-page h2{margin:4.6mm 0 1.8mm;padding-bottom:1mm;border-bottom:.6pt solid var(--rule);color:var(--accent);font-size:8.4pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cv-profile{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:9.6pt;line-height:1.5}.cv-role{margin-bottom:2.6mm}.cv-role-head{display:flex;justify-content:space-between;gap:4mm;align-items:baseline}.cv-role-title{font-weight:700;font-size:9.2pt}.cv-role-org{color:var(--accent);font-weight:600}.cv-role-period{flex-shrink:0;color:var(--muted);font-size:8pt;font-variant-numeric:tabular-nums}.cv-role-summary{margin:.6mm 0 0;color:#33404a}.cv-role ul{margin:1mm 0 0;padding-left:4mm;list-style:disc}.cv-role li{margin-bottom:.7mm}.cv-role li::marker{color:var(--accent)}.cv-cols{display:grid;grid-template-columns:1.12fr .88fr;gap:8mm}.cv-cols>div>h2:first-child{margin-top:0}.cv-ai,.cv-awards,.cv-list,.cv-tags{list-style:none;margin:0;padding:0}.cv-awards li{display:grid;grid-template-columns:10mm 1fr;gap:2mm;margin-bottom:1.8mm}.cv-year{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.cv-awards strong,.cv-list strong{display:block;font-weight:650}.cv-awards span,.cv-list span{display:block;color:var(--muted)}.cv-ai li{margin-bottom:1.5mm;color:#33404a}.cv-ai strong{color:var(--ink)}.cv-list li{margin-bottom:1.6mm}.cv-small{margin:0;color:#33404a;line-height:1.55}.cv-tags{display:flex;flex-wrap:wrap;gap:1.3mm}.cv-tags li{background:var(--accent-soft);color:var(--accent);border-radius:1.2mm;padding:.6mm 2mm;font-size:7.8pt;font-weight:550}.cv-first{margin-top:0!important}.cv-refs-intro{margin:0 0 4mm;color:var(--muted);font-size:8pt}.cv-refs{display:grid;grid-template-columns:1fr 1fr;gap:4.2mm 7mm}.cv-refs figure{margin:0;padding-left:3.2mm;border-left:1.2pt solid var(--accent);break-inside:avoid;min-width:0}.cv-refs blockquote{margin:0 0 1.6mm;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:8.9pt;line-height:1.47}.cv-refs blockquote.cv-summary{color:#33404a}.cv-refs figcaption{font-size:7.6pt;line-height:1.4}.cv-refs figcaption span,.cv-refs figcaption strong{display:block}.cv-refs figcaption strong{color:var(--ink);font-size:8.4pt}.cv-refs figcaption span{color:var(--muted)}.cv-ref-meta{margin-top:.4mm;font-size:7.2pt}.cv-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(31,95,107,.35);text-decoration-thickness:.6pt;text-underline-offset:1.5pt}.cv-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.cv-page,.cv-page *{overflow-wrap:anywhere;min-width:0}.cv-role-period,.cv-year{overflow-wrap:normal;white-space:nowrap}.cv-footer{position:absolute;left:14mm;right:14mm;bottom:7mm;display:flex;justify-content:space-between;color:#9aa4ab;font-size:7pt;letter-spacing:.04em}