.cv-document{--cv-ink:#1e1b19;--cv-muted:#5c554e;--cv-cobalt:#173f8a;--cv-link:#1e4e9d;--cv-hairline:#c9d0dc;--cv-paper:#fff;--cv-font-display:Georgia, Cambria, "Times New Roman", serif;--cv-font-sans:"Segoe UI", Inter, Arial, sans-serif;--cv-name-size:27.5pt;--cv-page-w:210mm;--cv-page-h:297mm;--cv-margin-x:15mm;--cv-margin-y:12.5mm;--cv-primary-col:113mm;--cv-gutter:8mm;--cv-secondary-col:59mm;--cv-masthead-gap:10.6mm;--cv-intro-gap:8.2mm;--cv-stack-gap:9.4mm;--cv-role-gap:8.45mm;--cv-edu-gap:5.8mm;--cv-tech-gap:5mm;--cv-heading-gap:4mm;--cv-rule-hairline:.55pt;background:var(--color-ivory);color:var(--cv-ink);font-family:var(--cv-font-sans);hyphens:none;overflow-wrap:normal;word-break:normal;font-size:9.7pt;line-height:14.5pt}.cv-document[data-cv-format=letter]{--cv-name-size:27pt;--cv-page-w:215.9mm;--cv-page-h:279.4mm;--cv-margin-x:14.5mm;--cv-margin-y:10.5mm;--cv-primary-col:117.6mm;--cv-gutter:8.3mm;--cv-secondary-col:61mm;--cv-masthead-gap:10.2mm;--cv-intro-gap:6.6mm;--cv-stack-gap:8.6mm;--cv-role-gap:6.6mm;--cv-edu-gap:4.5mm;--cv-tech-gap:4.4mm;--cv-heading-gap:3.3mm}.cv-page{box-sizing:border-box;width:min(calc(100% - 2rem), var(--cv-page-w));min-height:var(--cv-page-h);padding:var(--cv-margin-y) var(--cv-margin-x);color:var(--cv-ink);background:var(--cv-paper);print-color-adjust:exact;flex-direction:column;margin:2rem auto;display:flex;position:relative;overflow:visible}.cv-page:before{content:"";top:var(--cv-margin-y);bottom:var(--cv-margin-y);left:calc(var(--cv-margin-x) + var(--cv-primary-col) + (var(--cv-gutter) / 2) - .275pt);z-index:0;width:var(--cv-rule-hairline);min-width:var(--cv-rule-hairline);max-width:var(--cv-rule-hairline);background:var(--cv-hairline);pointer-events:none;position:absolute}.cv-page p{text-align:start;hyphens:none;margin:0}.cv-page a,.cv-page a:link,.cv-page a:visited,.cv-page a:hover,.cv-page a:active{color:var(--cv-link);text-decoration:none}.cv-page a:focus-visible{outline:2px solid var(--cv-cobalt);outline-offset:2px}.cv-header,.cv-body{z-index:1;grid-template-columns:minmax(0, var(--cv-primary-col)) var(--cv-gutter) minmax(0, var(--cv-secondary-col));align-items:start;column-gap:0;display:grid;position:relative}.cv-header{flex:none;height:auto;margin:0;padding:0}.cv-masthead{grid-column:1}.cv-contact{grid-column:3}.cv-masthead h1,.cv-page h1{color:var(--cv-ink);font-family:var(--cv-font-display);font-size:var(--cv-name-size);letter-spacing:0;text-wrap:nowrap;margin:0;font-weight:400;line-height:1}.cv-identity{color:var(--cv-ink);font-family:var(--cv-font-sans);font-size:10.8pt;font-weight:600;line-height:1.15;margin-top:2mm!important}.cv-contact{color:var(--cv-ink);font-family:var(--cv-font-sans);text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;font-size:8.6pt;font-style:normal;font-weight:400;line-height:11.2pt;display:flex}.cv-contact a{color:var(--cv-link)}.cv-body{align-content:start;row-gap:var(--cv-intro-gap);padding-top:var(--cv-masthead-gap);flex:auto;grid-template-areas:"profile.technical""primary.secondary"}.cv-profile{grid-area:profile;max-width:none;margin:0}.cv-technical{grid-area:technical;min-width:0}.cv-primary{flex-direction:column;grid-area:primary;align-items:stretch;min-width:0;display:flex}.cv-secondary{align-items:stretch;gap:var(--cv-stack-gap);flex-direction:column;grid-area:secondary;min-width:0;display:flex}@media print{@supports (anchor-name:--cv-technical) and (position-anchor:--cv-technical) and (top:anchor(bottom)) and (left:anchor(left)) and (width:anchor-size(width)){.cv-technical{anchor-name:--cv-technical}.cv-secondary{position-anchor:--cv-technical;top:calc(anchor(bottom) + var(--cv-intro-gap));left:anchor(left);width:anchor-size(width);position:absolute}}}.cv-page h2{margin:0 0 var(--cv-heading-gap);color:var(--cv-cobalt);font-family:var(--cv-font-sans);letter-spacing:.055em;text-transform:uppercase;align-items:center;gap:2.4mm;font-size:8.35pt;font-weight:700;line-height:1;display:flex}.cv-heading-text{flex:0 auto}.cv-heading-rule{height:var(--cv-rule-hairline);min-height:var(--cv-rule-hairline);max-height:var(--cv-rule-hairline);background:var(--cv-hairline);flex:4mm;align-self:center;min-width:3mm;display:block}.cv-profile p{font-size:9.8pt;line-height:13.2pt}.cv-page h3{color:var(--cv-ink);font-family:var(--cv-font-sans);letter-spacing:0;margin:0;font-size:11.1pt;font-weight:700;line-height:1.15}.cv-roles{border-top:0}.cv-role+.cv-role{margin-top:var(--cv-role-gap);padding-top:var(--cv-role-gap);position:relative}.cv-role+.cv-role:before{content:"";height:var(--cv-rule-hairline);min-height:var(--cv-rule-hairline);max-height:var(--cv-rule-hairline);background:var(--cv-hairline);pointer-events:none;position:absolute;top:0;left:0;right:0}.cv-role header{justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:2.1mm;display:flex}.cv-period{color:var(--cv-muted);font-size:8.6pt;font-weight:400;line-height:1.15}.cv-role-title{color:var(--cv-ink);font-size:9pt;font-weight:600;line-height:12pt;margin-top:.7mm!important}.cv-period{font-variant-numeric:tabular-nums;text-align:right;flex:none}.cv-primary .cv-role>p{font-size:9.7pt;line-height:14.5pt}.cv-highlights{margin:2.3mm 0 0;padding:0 0 0 4.6mm;list-style:outside}.cv-highlights li{margin:0 0 1.45mm;padding:0;font-size:9.45pt;line-height:14.15pt}.cv-highlights li::marker{color:var(--cv-ink);font-size:.72em}.cv-technologies{font-size:8.8pt;line-height:12.4pt;margin-top:2.3mm!important}.cv-context-label{font-weight:700}.cv-technical-group h3,.cv-education-list h3{font-size:9.1pt;line-height:11.6pt}.cv-technical-group p,.cv-secondary p,.cv-current-development p{font-size:9pt;line-height:12.4pt}.cv-technical-group+.cv-technical-group{margin-top:var(--cv-tech-gap)}.cv-education-list{gap:var(--cv-edu-gap);display:grid}.cv-education-list article>p:first-of-type{margin-top:.7mm}.cv-education-list .cv-period,.cv-technical-group p{color:var(--cv-muted);text-align:start;font-size:8.5pt;line-height:11.2pt}.cv-languages{gap:1.2mm;margin:0;display:grid}.cv-languages div{grid-template-columns:18mm minmax(0,1fr);align-items:baseline;column-gap:2mm;display:grid}.cv-languages dt{font-size:8.7pt;font-weight:700;line-height:11.4pt}.cv-languages dd{color:var(--cv-muted);margin:0;font-size:8.5pt;font-weight:400;line-height:11.4pt}@media screen{.cv-document,.cv-document[data-cv-format=letter]{overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.65}.cv-page{width:100%;max-width:none;min-height:0;box-shadow:none;background:0 0;margin:0;padding:1.85rem 0 3.75rem}.cv-page:before{content:none}.cv-header,.cv-body{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.82fr);column-gap:clamp(1.5rem,4vw,3.75rem)}.cv-contact{grid-column:2;margin-top:.35rem;font-size:.9375rem;line-height:1.5}.cv-masthead h1,.cv-page h1{letter-spacing:-.02em;text-wrap:wrap;overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.15rem,5vw,3.4rem);line-height:1.08}.cv-identity{font-size:1.125rem;font-weight:650;line-height:1.4;margin-top:.55rem!important}.cv-actions{flex-wrap:wrap;gap:.35rem 1.35rem;margin:1rem 0 0;display:flex}.cv-actions a{min-height:2.75rem;color:var(--color-cobalt);text-underline-offset:.2em;align-items:center;font-size:.98rem;font-weight:650;text-decoration:none;display:inline-flex}.cv-actions a:hover,.cv-actions a:focus-visible{text-decoration:underline}.cv-body{grid-template-areas:"profile technical""primary secondary";row-gap:clamp(1.75rem,3vw,2.75rem);padding-top:1.85rem}.cv-profile{max-width:40rem}.cv-secondary{gap:1.85rem;width:auto;position:static;inset:auto}.cv-page h2{gap:.7rem;margin-bottom:.85rem;font-size:.84rem;line-height:1.2}.cv-heading-rule{flex-basis:1.25rem;min-width:1.25rem}.cv-profile p,.cv-primary .cv-role>p,.cv-highlights li,.cv-secondary p,.cv-current-development p{font-size:1.0625rem;line-height:1.65}.cv-page h3{font-size:1.2rem;line-height:1.3}.cv-role+.cv-role{margin-top:1.65rem;padding-top:1.65rem}.cv-role header{flex-wrap:wrap;margin-bottom:.55rem}.cv-role-title{font-size:1rem;line-height:1.4;margin-top:.2rem!important}.cv-period,.cv-education-list .cv-period,.cv-technical-group p{text-align:start;overflow-wrap:anywhere;flex:8rem;font-size:.9375rem;line-height:1.45}.cv-highlights{margin-top:.7rem;padding-left:1.2rem}.cv-highlights li{margin-bottom:.4rem}.cv-technologies{font-size:.98rem;line-height:1.5;margin-top:.7rem!important}.cv-technical-group h3,.cv-education-list h3{font-size:1.05rem;line-height:1.35}.cv-technical-group+.cv-technical-group{margin-top:1.15rem}.cv-education-list{gap:1.15rem}.cv-education-list article>p:first-of-type{margin-top:.25rem}.cv-languages{gap:.45rem}.cv-languages div{grid-template-columns:auto minmax(0,1fr);column-gap:.75rem}.cv-languages dt,.cv-languages dd{font-size:.98rem;line-height:1.45}.cv-contact a{overflow-wrap:anywhere}}@media screen and (width<=54rem){.cv-header,.cv-body{grid-template-columns:minmax(0,1fr);column-gap:0}.cv-contact{grid-column:auto;margin-top:1rem}.cv-body{grid-template-areas:"profile""technical""primary""secondary";row-gap:1.75rem;padding-top:1.6rem}.cv-masthead h1,.cv-page h1{font-size:clamp(2rem,9vw,2.55rem)}.cv-identity{font-size:1.0625rem}.cv-actions{gap:.15rem 1.1rem}.cv-profile{max-width:none}.cv-secondary{gap:1.65rem}}@media print{.cv-actions,.skip-link,.site-header,.site-footer{display:none!important}.page{background:var(--cv-paper);background-image:none;grid-template-columns:none;width:auto;max-width:none;min-height:0;display:block}.page>*{grid-column:auto}.cv-document{background:var(--cv-paper);background-image:none;width:auto;max-width:none;min-height:0;font-size:9.7pt;line-height:14.5pt;display:block}.cv-page{width:var(--cv-page-w);max-width:none;min-height:var(--cv-page-h);height:var(--cv-page-h);padding:var(--cv-margin-y) var(--cv-margin-x);background:var(--cv-paper);box-shadow:none;print-color-adjust:exact;margin:0}.cv-header,.cv-body{grid-template-columns:var(--cv-primary-col) var(--cv-gutter) var(--cv-secondary-col);column-gap:0}.cv-page,.cv-page *{print-color-adjust:exact}.cv-page a,.cv-page a:link,.cv-page a:visited,.cv-page a:hover,.cv-page a:active{color:var(--cv-link);text-decoration:none}.cv-page a:focus,.cv-page a:focus-visible{outline:none}.cv-role,.cv-education-list article,.cv-technical-group,.cv-languages,.cv-profile,.cv-current-development{break-inside:avoid;page-break-inside:avoid}.cv-page h2,.cv-page h3{break-after:avoid;page-break-after:avoid}}
