.cv-document{--cv-label: 152px;--cv-gutter: 32px}.cv-document .cv-intro{padding:28px 0 0}.cv-document .cv-identity{min-width:0}.cv-document .cv-eyebrow{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.13em;line-height:1.4;text-transform:uppercase}.cv-document h1{font-size:clamp(36px,4.5vw,50px);line-height:1.08;letter-spacing:-.035em;margin:10px 0;text-wrap:auto}.cv-document .cv-discipline{font-size:22px;font-weight:400;color:var(--accent);line-height:1.35;letter-spacing:-.015em}.cv-document .cv-meta{display:flex;flex-wrap:wrap;column-gap:18px;row-gap:3px;list-style:none;margin-top:12px;font-size:13px;color:var(--muted)}.cv-document .cv-meta li{position:relative}.cv-document .cv-meta li+li:before{position:absolute;left:-11px;content:"·";color:var(--muted)}.cv-document .cv-contact-line{display:flex;flex-wrap:wrap;align-items:center;column-gap:22px;row-gap:8px;margin-top:24px;font-size:14px}.cv-document .cv-contact-line>a:not(.btn){padding-block:6px}.cv-document .cv-email{overflow-wrap:anywhere}.cv-document .cv-request{margin:0 0 0 auto;padding:10px 15px;font-size:13px;white-space:nowrap}.cv-document .cv-target{margin-top:28px;border-top:1px solid var(--rule);padding-top:22px}.cv-document .cv-target-label{font-size:11px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase}.cv-document .cv-target ul{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin-top:7px}.cv-document .cv-target li{font-size:15px;font-weight:500}.cv-document .cv-target li+li{border-left:1px solid var(--rule);padding-left:20px}.cv-document .cv-summary{max-width:72ch;font-size:17px;line-height:1.65;margin-top:20px}.cv-document .cv-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px;padding:24px 0 28px;border-top:1px solid var(--rule)}.cv-document .cv-evidence>div{display:flex;flex-direction:column;min-width:0;padding-left:18px;border-left:2px solid var(--accent)}.cv-document .cv-evidence dt{font-size:12px;color:var(--muted);line-height:1.5;max-width:24ch;margin-top:4px}.cv-document .cv-evidence dd{order:-1;font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.025em}.cv-document .cv-index{display:flex;align-items:baseline;gap:12px 24px;padding:13px 0;border-block:1px solid var(--rule);font-size:12px}.cv-document .cv-index-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.cv-document .cv-index ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 22px}.cv-document .cv-index a{display:inline-block;padding-block:3px;color:var(--muted);text-decoration:none}.cv-document .cv-index a:hover{color:var(--accent);text-decoration:underline}.cv-document .cv-section{padding:34px 0 38px;border-bottom:1px solid var(--rule);scroll-margin-top:24px}.cv-document .cv-section:last-child{border-bottom:none}.cv-document .cv-section-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:24px}.cv-document .cv-section-heading>span{color:var(--muted);font-size:11px;letter-spacing:.05em}.cv-document .cv-section-heading h2{color:var(--ink);font-size:20px;line-height:1.3;letter-spacing:-.025em;font-weight:500}.cv-document .row{grid-template-columns:var(--cv-label) minmax(0,1fr);column-gap:var(--cv-gutter)}.cv-document .row+.row{margin-top:27px}.cv-document .label{font-size:12px}.cv-document .org{font-size:18px}.cv-document .role{font-size:14px;font-weight:500}.cv-document .role .kind{display:block;margin-top:3px;font-size:12px;font-weight:400}.cv-document .role .kind:before{content:none}.cv-document .bullets{font-size:15px;line-height:1.6;margin-top:12px}.cv-document .bullets li+li{margin-top:7px}.cv-document .cv-project-link{margin-top:24px;margin-left:calc(var(--cv-label) + var(--cv-gutter));font-size:13px}.cv-document .cv-project-link a{display:inline-block;padding-block:4px}.cv-document .list dl.rows{row-gap:16px;font-size:15px}.cv-document .list .row+.row{margin-top:0}.cv-document .list dt.label{font-size:13px;line-height:1.5}.cv-document .edu-detail,.cv-document .cv-languages .cert-detail,.cv-document .cv-languages .cert-meta,.cv-document .cv-languages .cert-verify-line{font-size:13px}.cv-document .cv-languages .cert-name{font-size:15px}@media(max-width:719px){.cv-document .cv-intro{padding-top:24px}.cv-document h1{font-size:36px;margin-top:9px}.cv-document .cv-discipline{font-size:18px}.cv-document .cv-meta{gap:2px 16px;font-size:12px;margin-top:10px}.cv-document .cv-meta li+li:before{left:-10px}.cv-document .cv-contact-line{margin-top:20px;column-gap:18px;font-size:13px}.cv-document .cv-request{margin-left:0}.cv-document .cv-target{margin-top:24px;padding-top:18px}.cv-document .cv-target ul{gap:5px 16px}.cv-document .cv-target li{font-size:14px}.cv-document .cv-target li+li{padding-left:0;border:none}.cv-document .cv-summary{font-size:16px;line-height:1.65;margin-top:17px}.cv-document .cv-evidence{gap:15px;margin-top:22px;padding-block:20px 24px}.cv-document .cv-evidence>div{padding-left:10px}.cv-document .cv-evidence dd{font-size:23px}.cv-document .cv-evidence dt{font-size:11px}.cv-document .cv-index{align-items:start;gap:6px 16px}.cv-document .cv-index-label{padding-top:4px}.cv-document .cv-index ul{gap:4px 16px}.cv-document .cv-section{padding-block:28px 32px}.cv-document .cv-section-heading{margin-bottom:21px}.cv-document .cv-section-heading h2{font-size:19px}.cv-document .row{grid-template-columns:minmax(0,1fr);row-gap:7px}.cv-document .row+.row{margin-top:25px}.cv-document .cv-experience .row+.row{border-top:1px solid var(--rule);padding-top:24px}.cv-document .org{font-size:17px}.cv-document .bullets{font-size:14px}.cv-document .cv-project-link{margin-left:0;margin-top:20px}.cv-document .list .row{row-gap:5px}.cv-document .list dl.rows{font-size:14px;row-gap:19px}}@media(max-width:559px){.cv-document .cv-meta li:last-child{flex-basis:100%}.cv-document .cv-meta li:last-child:before{content:none}.cv-document .cv-evidence{grid-template-columns:minmax(0,1fr);gap:14px}.cv-document .cv-evidence>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:baseline}.cv-document .cv-evidence dd{font-size:18px}.cv-document .cv-evidence dt{margin:0;font-size:12px;max-width:none}}@media(max-width:389px){.cv-document h1{font-size:32px}.cv-document .cv-discipline{font-size:16px}}@media print{.cv-document{--cv-label: 30mm;--cv-gutter: 6mm;font-size:9.5pt}.cv-document .reveal{animation:none}.cv-document .cv-intro{padding-top:4mm}.cv-document h1{font-size:27pt;margin:2mm 0}.cv-document .cv-discipline{font-size:13pt}.cv-document .cv-eyebrow{font-size:8pt}.cv-document .cv-meta{font-size:8pt;margin-top:2mm}.cv-document .cv-contact-line{font-size:9pt;margin-top:3mm;gap:2mm 6mm}.cv-document .cv-contact-line a{padding-block:0}.cv-document .cv-target{margin-top:3mm;padding-top:3mm}.cv-document .cv-target-label{font-size:7.5pt}.cv-document .cv-target ul{margin-top:1mm}.cv-document .cv-target li{font-size:9pt}.cv-document .cv-summary{font-size:9.5pt;line-height:1.5;margin-top:3mm}.cv-document .cv-evidence{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:3mm;padding-block:3mm 4mm;gap:5mm;border-bottom:1px solid var(--rule)}.cv-document .cv-evidence>div{display:flex;flex-direction:column;gap:0;padding-left:3mm}.cv-document .cv-evidence dd{flex:auto;font-size:16pt}.cv-document .cv-evidence dt{font-size:8pt;margin-top:1mm}.cv-document .cv-index{display:none}.cv-document .cv-section{padding-block:4mm 5mm}.cv-document .cv-section-heading{margin-bottom:3mm;break-after:avoid;break-inside:avoid}.cv-document .cv-section-heading>span{font-size:8pt}.cv-document .cv-section-heading h2{font-size:12pt}.cv-document .row{grid-template-columns:var(--cv-label) minmax(0,1fr);gap:0 var(--cv-gutter)}.cv-document .row+.row{margin-top:4mm}.cv-document .cv-experience .row+.row{border:none;padding-top:0}.cv-document .label{font-size:8pt}.cv-document .org{font-size:11pt}.cv-document .role{font-size:9pt}.cv-document .role .kind{font-size:8pt;margin-top:0}.cv-document .bullets{font-size:9pt;line-height:1.45;margin-top:2mm}.cv-document .bullets li+li{margin-top:1mm}.cv-document .cv-project-link{margin-left:calc(var(--cv-label) + var(--cv-gutter));margin-top:3mm;font-size:8.5pt}.cv-document .cv-project-link a{padding-block:0}.cv-document .list dl.rows{font-size:9pt;row-gap:2.5mm}.cv-document .list dt.label{font-size:8.5pt}.cv-document .edu-prog,.cv-document .cv-languages .cert-name{font-size:9pt}.cv-document .edu-detail,.cv-document .cv-languages .cert-detail,.cv-document .cv-languages .cert-meta,.cv-document .cv-languages .cert-verify-line{font-size:8.5pt}.cv-document .cv-intro,.cv-document .cv-skills,.cv-document .cv-languages{break-inside:avoid}}
