:root{--ground: #16171c;--paper: #fbfaf7;--ink: #17181c;--ink-2: #4a4d55;--ink-3: #7c7f88;--rule: #e4e1da;--accent: #b5761f;--f-display: "Bricolage Grotesque Variable", "Helvetica Neue", Arial, sans-serif;--f-body: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono: "Geist Mono Variable", ui-monospace, Menlo, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}body.cv-body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:10pt;line-height:1.5;-webkit-font-smoothing:antialiased;padding:0 16px 48px}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.cv-bar{position:sticky;top:0;z-index:5;max-width:210mm;margin:0 auto;padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ground)}.bar-right{display:flex;gap:10px;align-items:center}.bar-btn{font-family:var(--f-mono);font-size:12px;color:#d9d6cf;text-decoration:none;cursor:pointer;background:transparent;border:1px solid rgba(236,233,226,.22);border-radius:999px;padding:8px 14px;transition:border-color .2s,background .2s,color .2s}.bar-btn:hover{border-color:#ece9e2}.bar-btn.primary{background:#ece9e2;color:#08090c;border-color:#ece9e2}.bar-btn.primary:hover{background:#f2b45a;border-color:#f2b45a}.seg{display:inline-flex;border:1px solid rgba(236,233,226,.22);border-radius:999px;padding:2px}.seg button{background:none;border:0;cursor:pointer;font-family:var(--f-mono);font-size:11px;padding:5px 10px;border-radius:999px;color:#8e929c}.seg button[aria-pressed=true]{background:#ece9e2;color:#08090c}.sheet{max-width:210mm;min-height:297mm;margin:0 auto;background:var(--paper);padding:16mm 16mm 12mm;box-shadow:0 30px 80px #00000073;border-radius:2px;display:flex;flex-direction:column}h1,h2,h3{margin:0}.cv-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8mm;align-items:end;padding-bottom:6mm;border-bottom:1.5px solid var(--ink)}.cv-head h1{font-family:var(--f-display);font-weight:600;font-size:30pt;letter-spacing:-.025em;line-height:.95;font-variation-settings:"opsz" 96}.cv-role{margin:2.5mm 0 0;font-size:11pt;color:var(--ink-2)}.cv-tags{margin:1mm 0 0;font-family:var(--f-mono);font-size:8pt;color:var(--accent)}.cv-contact{list-style:none;margin:0;padding:0;text-align:right;font-family:var(--f-mono);font-size:8pt;color:var(--ink-2);line-height:1.65}.cv-contact a{text-decoration:none}.cv-contact a:hover{color:var(--accent)}h2{font-family:var(--f-mono);font-weight:500;font-size:7.5pt;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 3mm}section{margin-top:6mm}.cv-summary p{margin:0 0 1.5mm;color:var(--ink-2);max-width:165mm}.cv-cols{display:grid;grid-template-columns:minmax(0,1fr) 52mm;gap:9mm}.cv-side{border-left:1px solid var(--rule);padding-left:6mm}.job,.proj{padding:0 0 4mm;margin-bottom:4mm;border-bottom:1px solid var(--rule);break-inside:avoid}.job:last-child,.proj:last-child{border-bottom:0;margin-bottom:0}.job-top{display:flex;justify-content:space-between;align-items:baseline;gap:4mm}.job h3,.proj h3{font-family:var(--f-display);font-weight:600;font-size:12pt;letter-spacing:-.01em}.when{font-family:var(--f-mono);font-size:8pt;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.job-org{margin-top:.8mm;font-size:9pt;color:var(--ink-2)}.job-org strong{color:var(--ink);font-weight:600}.job p,.proj p{margin:1.8mm 0 0;color:var(--ink-2)}.job ul{margin:1.8mm 0 0;padding-left:4.5mm;color:var(--ink-2)}.job li{margin-bottom:.8mm}.job li::marker{color:var(--accent)}.job-stack{margin-top:1.8mm;font-family:var(--f-mono);font-size:7.5pt;color:var(--ink-3)}.sk{margin-bottom:3mm;break-inside:avoid}.sk h3{font-size:9pt;font-weight:600}.sk p{margin:.6mm 0 0;font-size:8.5pt;color:var(--ink-2);line-height:1.45}.job.compact{padding-bottom:1.6mm;margin-bottom:1.6mm;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:4mm}.job.compact .job-top{display:contents}.job.compact h3{font-size:10pt;grid-column:1}.job.compact .when{grid-column:2;grid-row:1}.job.compact .job-org{grid-column:1;margin-top:.3mm;font-size:8.5pt}.earlier{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3mm 6mm;padding-top:1mm}.early h3{font-family:var(--f-display);font-weight:600;font-size:9.5pt}.early .job-org{font-size:8.5pt;margin-top:.3mm}.edu{display:flex;flex-direction:column;font-size:9pt;padding:1mm 0}.edu strong{font-weight:600}.lg{display:flex;justify-content:space-between;gap:3mm;font-size:9pt;padding:1mm 0}.muted{color:var(--ink-3)}.cv-foot{margin-top:auto;padding-top:6mm;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:7.5pt;color:var(--ink-3)}@media (max-width: 720px){.earlier{grid-template-columns:minmax(0,1fr)}body.cv-body{font-size:10.5pt}.sheet{min-height:0;padding:22px 18px}.cv-head,.cv-cols{grid-template-columns:minmax(0,1fr)}.cv-contact{text-align:left}.cv-side{border-left:0;padding-left:0;border-top:1px solid var(--rule)}}@page{size:A4;margin:0}@media print{body.cv-body{background:#fff;padding:0}.cv-bar{display:none}.sheet{box-shadow:none;max-width:none;width:210mm;min-height:0;border-radius:0;padding-bottom:10mm}a{text-decoration:none}body.cv-body{font-size:9pt;line-height:1.45}.sheet{padding:11mm 14mm 7mm}section{margin-top:4.2mm}.cv-head h1{font-size:27pt}.job p{margin-top:1.2mm}.cv-foot{padding-top:1.5mm}.sheet{padding-bottom:5mm}.cv-summary p{margin-bottom:1mm}.job,.proj{padding-bottom:2.6mm;margin-bottom:2.6mm}.job.compact{padding-bottom:1.4mm;margin-bottom:1.4mm}.cv-head{padding-bottom:5mm}.sk{margin-bottom:2.4mm}}
