:root{--cv-paper:#f0efe7;--cv-ink:#151817;--cv-muted:#5b615a;--cv-line:#c8cbc3;--cv-accent:#d9f36b;--cv-accent-dark:#6b851f;--cv-dark:#0b0c0d;--cv-mono:"Geist Mono","DejaVu Sans Mono",monospace;--cv-display:"Archivo",Inter,Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-width:0;background:#0b0c0d;color:var(--cv-paper);font-family:Inter,Arial,sans-serif}
a{color:inherit}
.cv-sitebar{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1240px;margin:0 auto;padding:18px 24px;color:#a6aaa5;font:11px/1.4 var(--cv-mono);letter-spacing:.1em;text-transform:uppercase}
.cv-back,.cv-download{text-decoration:none}
.cv-back span,.cv-download span{color:var(--cv-accent);margin-right:6px}
.cv-download{border:1px solid #4b504a;padding:11px 14px;color:#f3f3ed;transition:background .2s,border-color .2s,color .2s}
.cv-download:hover{background:var(--cv-accent);border-color:var(--cv-accent);color:#10120e}
.cv-sheet{width:min(1120px,calc(100% - 48px));margin:0 auto 36px;padding:35px 42px 31px;background:var(--cv-paper);color:var(--cv-ink);border:1px solid #d5d8cf;position:relative;overflow:hidden;box-shadow:0 30px 100px #0005}
.cv-sheet:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#1720160b 1px,transparent 1px),linear-gradient(90deg,#1720160b 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(110deg,#000,transparent 78%)}
.cv-sheet>*{position:relative;z-index:1}
.cv-header{display:block;padding:0 0 24px;border-bottom:2px solid var(--cv-ink)}
.cv-header-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:32px;align-items:end}
.cv-header-top h1{margin:0;font:800 clamp(48px,6vw,78px)/.98 var(--cv-display);letter-spacing:-.075em;min-width:0}
.cv-roleline{margin:13px 0 0;max-width:650px;font:700 13px/1.55 var(--cv-mono);letter-spacing:-.02em;color:#293021}
.cv-summary{margin:19px 0 0;max-width:720px;font:400 15px/1.65 Inter,Arial,sans-serif;color:#434941}
.cv-contact{min-width:0;border-left:4px solid var(--cv-accent);padding:3px 0 3px 18px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.cv-contact p{margin:0 0 10px}.cv-contact p:last-child{margin-bottom:0}
.cv-contact a{text-decoration:none;overflow-wrap:anywhere}.cv-contact a:hover{color:#617d17;text-decoration:underline}
.cv-section{min-width:0}
.cv-section-heading{display:flex;align-items:center;gap:14px;margin:0 0 13px;padding:0 0 8px;border-bottom:1px solid var(--cv-ink);font:700 17px/1.2 var(--cv-display);letter-spacing:-.025em}
.cv-section-heading:after{content:"";height:3px;width:28px;flex:none;background:var(--cv-accent-dark);order:-1}
.cv-experience{margin-top:24px}
.cv-job{padding:0 0 17px;border-bottom:1px solid var(--cv-line)}
.cv-company{font:700 19px/1.2 var(--cv-display);letter-spacing:-.025em;margin:0 0 9px;overflow-wrap:anywhere}
.cv-role-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:5px 0;color:#30362d;font-size:13px;line-height:1.5}
.cv-role-row span{font-weight:600;min-width:0}.cv-role-row time{flex:none;color:var(--cv-accent-dark);font:600 11px/1.45 var(--cv-mono);text-align:right;white-space:nowrap}
.cv-job-intro{margin:12px 0 9px;font-size:13px;line-height:1.6;color:#4a5048;font-weight:500}
.cv-bullets{margin:0;padding-left:19px;font-size:13px;line-height:1.58;color:#292f28}
.cv-bullets li{padding-left:3px;margin:3px 0}.cv-bullets li::marker{color:#789623}
.cv-job-secondary{padding-top:16px;padding-bottom:14px}
.cv-job-secondary .cv-company{font-size:17px}.cv-job-secondary .cv-role-row{margin-bottom:7px}
.cv-skills{margin-top:23px}
.cv-skills-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:30px}
.cv-skill-group{min-width:0;border:1px solid var(--cv-line);background:#e9e9df;padding:15px 17px 14px}
.cv-skill-group h3{font:700 15px/1.3 var(--cv-display);margin:0 0 9px;letter-spacing:-.02em}
.cv-skill-group ul{margin:0;padding-left:17px;color:#3d443a;font-size:12.5px;line-height:1.55}
.cv-skill-group li{margin:1px 0;padding-left:2px}.cv-skill-group li::marker{color:#7e9a27}
.cv-skills-right{display:flex;flex-direction:column;gap:12px;min-width:0}
.cv-bottom-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:30px;margin-top:23px;padding-top:18px;border-top:1px solid var(--cv-ink)}
.cv-edu-item{padding:3px 0 11px}.cv-edu-item+h3{margin-top:12px}
.cv-edu-item h3{font:700 14px/1.35 var(--cv-display);margin:0 0 5px;letter-spacing:-.015em}
.cv-edu-item p{font-size:12px;line-height:1.5;color:#414840;margin:2px 0}
.cv-cert-list{margin:0;padding:0;list-style:none;font-size:12px;line-height:1.5;color:#414840}
.cv-cert-list li{padding:6px 0;border-bottom:1px solid #d6d8cf;overflow-wrap:anywhere}.cv-cert-list li:last-child{border-bottom:0}
.cv-in-overlay .cv-sitebar{display:none!important}
.cv-in-overlay .cv-sheet{width:100%;max-width:100%;margin:0;padding:30px clamp(22px,4vw,48px);border:0;box-shadow:none;min-height:100%;}
.cv-in-overlay body{background:var(--cv-paper)}
@media(max-width:800px){.cv-sheet{width:calc(100% - 24px);padding:27px 23px}.cv-header-top{grid-template-columns:1fr;gap:18px}.cv-contact{max-width:600px}.cv-skills-grid,.cv-bottom-grid{grid-template-columns:1fr;gap:14px}.cv-sitebar-label{display:none}}
@media(max-width:560px){.cv-sitebar{padding:14px 12px;font-size:10px}.cv-sheet{width:100%;padding:22px 16px;margin:0;border-left:0;border-right:0}.cv-header{padding-bottom:19px}.cv-header-top h1{font-size:48px}.cv-roleline{font-size:11px}.cv-summary{font-size:13px}.cv-contact{font-size:12px;padding-left:12px}.cv-section-heading{font-size:16px}.cv-company{font-size:17px}.cv-role-row{align-items:flex-start;flex-direction:column;gap:2px;font-size:12px}.cv-role-row time{font-size:10px;text-align:left;white-space:normal}.cv-bullets{font-size:12px}.cv-skill-group ul,.cv-cert-list{font-size:12px}}
@page{size:A4;margin:0}
@media print{
 html,body{width:210mm;margin:0!important;padding:0!important;background:#f0efe7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .cv-sitebar{display:none!important}
 .cv-sheet{width:210mm!important;max-width:none!important;min-height:297mm!important;margin:0!important;padding:10mm 10.5mm 8mm!important;border:0!important;box-shadow:none!important;overflow:visible!important}
 .cv-sheet:before{opacity:.55}
 .cv-header{padding-bottom:4mm}
 .cv-header-top{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6mm}
 .cv-header-top h1{font-size:30pt}.cv-roleline{font-size:7.1pt;line-height:1.4;margin-top:2mm}.cv-summary{font-size:7.4pt;line-height:1.45;margin-top:3mm}
 .cv-contact{font-size:7.1pt;line-height:1.45;padding-left:3mm;border-left-width:1mm}.cv-contact p{margin-bottom:2mm}
 .cv-experience{margin-top:4mm}.cv-section-heading{font-size:10pt;margin-bottom:2mm;padding-bottom:1.5mm}.cv-section-heading:after{height:1.1mm;width:6mm}
 .cv-job{padding-bottom:2.6mm}.cv-company{font-size:10pt;margin-bottom:1mm}.cv-role-row{font-size:7.3pt;line-height:1.3;margin:1mm 0;gap:3mm}.cv-role-row time{font-size:6.5pt}
 .cv-job-intro{font-size:7.2pt;line-height:1.35;margin:1.8mm 0 1.3mm}.cv-bullets{font-size:7.15pt;line-height:1.33;padding-left:4.2mm}.cv-bullets li{margin:.45mm 0;padding-left:.6mm}.cv-job-secondary{padding-top:2.5mm;padding-bottom:2mm}.cv-job-secondary .cv-company{font-size:9.4pt}
 .cv-skills{margin-top:4mm}.cv-skills-grid{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:4mm}.cv-skill-group{padding:2.2mm 2.6mm}.cv-skill-group h3{font-size:8.5pt;margin-bottom:1mm}.cv-skill-group ul{font-size:6.9pt;line-height:1.32;padding-left:3.5mm}.cv-skill-group li{margin:0;padding-left:.4mm}.cv-skills-right{gap:2mm}
 .cv-bottom-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:5mm;margin-top:4mm;padding-top:3mm}.cv-edu-item{padding:0 0 2mm}.cv-edu-item h3{font-size:8pt;margin-bottom:.7mm}.cv-edu-item p{font-size:7pt;line-height:1.3;margin:.4mm 0}.cv-cert-list{font-size:6.8pt;line-height:1.25}.cv-cert-list li{padding:1mm 0}
 a{text-decoration:none}
}
@media(prefers-reduced-motion:reduce){html:not([data-motion-mode="full"]) .cv-download{transition:none}}
