.cv-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap;clip-path:inset(50%)}.cv-page{--ink:#1c1c1c;--ink-soft:#4b4b4b;--ink-mute:#737373;--ink-faint:#a3a3a3;--rule:#e7e7e7;--bl:18px;--cap:4.41px;font-family:var(--font-dm-sans),system-ui,sans-serif;min-height:100vh;padding:32px 16px 96px;background:transparent}.cv-sheet{margin:0 auto;background:#ffffff;color:var(--ink-soft);border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 40px rgba(0,0,0,.1);max-width:892.44px;padding:55.28px 51.02px;min-height:1262.88px}.cv-sheet+.cv-sheet{margin-top:28px}.cv-grid{display:grid;grid-template-columns:31.3249% 1fr;-moz-column-gap:34.02px;column-gap:34.02px}.cv-grid--lead{grid-template-rows:auto 1fr}.cv-headline{grid-column:1;grid-row:1}.cv-h2.cv-profile-heading{grid-column:2;grid-row:1;align-self:last baseline;top:-1.8px;margin-bottom:0}.cv-grid--lead .cv-side{grid-column:1;grid-row:2}.cv-grid--lead .cv-content{grid-column:2;grid-row:2}.cv-side{min-width:0;container-type:inline-size}.cv-name{font-size:29.25px;line-height:36px;position:relative;top:3.39px;font-weight:700;letter-spacing:-.01em;word-spacing:.01em;color:var(--ink)}.cv-role{font-size:11.25px;line-height:18px;position:relative;top:.51px;font-weight:500;color:var(--ink-mute);white-space:nowrap}.cv-photo{display:block;width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:8px;margin:calc(calc(var(--bl) * 1) + var(--cap)) 0 0}.cv-block{margin-top:calc(var(--bl) * 2)}.cv-education .cv-entries{gap:var(--bl)}.cv-side .cv-certs .cv-list{gap:9px}.cv-cert-name{font-weight:700}.cv-sheet--cont .cv-headline{margin-top:0}.cv-sheet--cont .cv-content{padding-top:33.24px}.cv-sheet--cont .cv-side{grid-column:1;grid-row:1}.cv-sheet--cont .cv-content{grid-column:2;grid-row:1}.cv-sheet--cont .cv-content .cv-block:first-of-type{margin-top:0}.cv-h2{font-size:18px;line-height:18px;position:relative;top:-1.78px;font-weight:700;letter-spacing:-.01em;word-spacing:.01em;color:var(--ink);margin-bottom:calc(var(--bl) * 1)}.cv-list{list-style:none;display:flex;flex-direction:column;gap:0}.cv-list li{font-size:12.75px;line-height:18px;position:relative;top:0;color:var(--ink-soft)}.cv-contact{display:flex;flex-direction:column;gap:0}.cv-contact-row{display:flex;align-items:baseline;gap:8px}.cv-contact-key{font-size:11.25px;top:.51px;flex:none;min-width:16px;font-family:var(--font-dm-mono),ui-monospace,monospace;color:var(--ink-faint);letter-spacing:.02em}.cv-contact-key,.cv-contact-val{line-height:18px;position:relative}.cv-contact-val{font-size:12.75px;top:0;color:var(--ink-soft);word-break:break-word}a.cv-contact-val:hover{color:var(--ink);text-decoration:underline}.cv-contact .cv-contact-key,.cv-portfolio .cv-contact-key{min-width:8.5ch}.cv-content{min-width:0}.cv-grid--lead .cv-profile{margin-top:calc(var(--bl) * 1)}.cv-profile .cv-note{margin-top:0}.cv-entries{display:flex;flex-direction:column;gap:calc(var(--bl) * 2)}.cv-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;-moz-column-gap:16px;column-gap:16px;align-items:start}.cv-entry>*{grid-column:1/-1;min-width:0}.cv-entry-line1{grid-column:1;grid-row:1}.cv-entry-line2{grid-column:1;grid-row:2}.cv-entry-role{font-size:14.25px;top:-.51px;font-weight:700;color:#2a2a2a}.cv-entry-org,.cv-entry-role{line-height:18px;position:relative}.cv-entry-org{font-size:12.75px;top:0;display:inline-flex;align-items:center;gap:4px;color:var(--ink-soft);border-radius:3px}a.cv-entry-org:hover{color:var(--ink)}.cv-entry-role a.cv-entry-org{font-weight:700;font-size:14.25px;top:0}.cv-entry-compact .cv-entry-role{color:var(--ink-soft)}.cv-entry-loc{color:var(--ink-soft)}.cv-entry-loc,.cv-entry-meta{font-size:12.75px;line-height:18px;position:relative;top:0}.cv-entry-meta{color:var(--ink-soft)}.cv-entry-meta .cv-entry-org{display:inline;top:0}.cv-bullets{list-style:none;margin-top:calc(var(--bl) * 1);display:flex;flex-direction:column;gap:0}.cv-bullets li{font-size:12.75px;line-height:18px;position:relative;top:0;padding-left:0;color:var(--ink-soft)}.cv-bullets li:before{content:"·";position:absolute;left:-11px;color:var(--ink-faint)}.cv-note{font-size:12.75px;top:0;margin-top:calc(var(--bl) * 1);color:var(--ink-soft)}.cv-date,.cv-note{line-height:18px;position:relative}.cv-date{font-size:11.25px;top:.51px;text-align:right;font-family:var(--font-dm-mono),ui-monospace,monospace;color:var(--ink-mute);white-space:nowrap;letter-spacing:.02em;margin-right:-.02em}.cv-entry>.cv-date{grid-column:2}.cv-date-end{grid-row:1}.cv-date-start{grid-row:2}.cv-entry-org svg{margin-bottom:0}.cv-side .cv-h2{position:relative;top:0;font-size:18px;line-height:1.2;margin-bottom:9px}.cv-side .cv-block{margin-top:22px}.cv-side .cv-block:first-of-type{margin-top:18px}.cv-side .cv-list{gap:5px}.cv-side .cv-list li{position:relative;top:0;font-size:12.75px;line-height:1.4}.cv-side .cv-contact{gap:5px}.cv-side .cv-contact-row{gap:8px;font-size:12.75px;line-height:1.4}.cv-side .cv-contact-key,.cv-side .cv-contact-val{position:relative;top:0;font-size:12.75px;line-height:1.4}.cv-headline .cv-name{position:relative;top:0;font-size:29.25px;line-height:1.04}.cv-headline .cv-role{position:relative;top:0;margin-top:3px;font-size:12.375px;line-height:1.4}@media (max-width:640px){.cv-sheet{padding:32px 24px 40px;border-radius:10px;min-height:0}.cv-grid{grid-template-columns:1fr;row-gap:0}.cv-grid--lead{grid-template-rows:none}.cv-h2.cv-profile-heading,.cv-headline{grid-column:auto;grid-row:auto;align-self:auto}.cv-h2.cv-profile-heading{margin-top:calc(var(--bl) * 2)}.cv-grid--lead .cv-content,.cv-grid--lead .cv-side{grid-column:auto;grid-row:auto;align-self:auto}.cv-photo{margin-top:calc(var(--bl) * 1)}.cv-sheet--cont .cv-side{order:-1}.cv-sheet--cont .cv-content,.cv-sheet--cont .cv-side{grid-column:auto;grid-row:auto;align-self:auto}}@media print{.cv-page{--bl:12pt;--cap:2.94pt;background:#fff}.cv-page,.cv-sheet{padding:0;min-height:0}.cv-sheet{max-width:none;margin:0;border-radius:0;box-shadow:none;color:#333}.cv-sheet+.cv-sheet{margin-top:0}.cv-sheet--cont{-moz-column-break-before:page;break-before:page;page-break-before:always}.cv-grid{grid-template-columns:31.3249% 1fr;-moz-column-gap:8mm;column-gap:8mm}.cv-h2.cv-profile-heading{margin-bottom:0;top:-1.1pt}.cv-name{font-size:19.5pt;line-height:24pt;top:2.26pt}.cv-role{font-size:7.5pt;line-height:12pt;top:.34pt}.cv-photo{border-radius:6pt;overflow:hidden!important}.cv-side .cv-certs .cv-list{gap:5pt}.cv-sheet--cont .cv-headline{margin-top:0}.cv-sheet--cont .cv-content{padding-top:22.16pt}.cv-h2{font-size:12pt;line-height:12pt;top:-1.19pt;-moz-column-break-after:avoid;break-after:avoid}.cv-list li{font-size:8.5pt;line-height:12pt;top:0}.cv-contact-row{gap:2.5pt}.cv-contact-key{font-size:7.5pt;line-height:12pt;top:.34pt;min-width:12pt}.cv-contact-val{font-size:8.5pt;line-height:12pt;top:0}.cv-entry{-moz-column-gap:8pt;column-gap:8pt}.cv-entry-role{font-size:9.5pt;line-height:12pt;top:-.34pt}.cv-entry-org{font-size:8.5pt;line-height:12pt;top:0}.cv-entry-role a.cv-entry-org{font-size:9.5pt;top:0}.cv-entry-loc,.cv-entry-meta{font-size:8.5pt;line-height:12pt;top:0}.cv-entry-meta .cv-entry-org{top:0}.cv-bullets li{font-size:8.5pt;line-height:12pt;top:0;-moz-column-break-inside:avoid;break-inside:avoid}.cv-bullets li:before{left:-8pt}.cv-note{font-size:8.5pt;line-height:12pt;top:0}.cv-date{font-size:7.5pt;line-height:12pt;top:.34pt}.cv-entry-org svg{display:none!important}.cv-side .cv-h2{font-size:12pt;line-height:1.2;margin-bottom:5pt}.cv-side .cv-block{margin-top:13pt}.cv-side .cv-block:first-of-type{margin-top:11pt}.cv-side .cv-list{gap:2.5pt}.cv-side .cv-list li{font-size:8.5pt;line-height:1.35}.cv-side .cv-contact{gap:2.5pt}.cv-side .cv-contact-row{gap:2.5pt}.cv-side .cv-contact-key,.cv-side .cv-contact-row,.cv-side .cv-contact-val{font-size:8.5pt;line-height:1.4}.cv-headline .cv-name{font-size:19.5pt;line-height:1.04}.cv-headline .cv-role{font-size:8.25pt;line-height:1.4}*{overflow:visible!important}body,html{height:auto!important;background:#fff!important}body,html,main{margin:0!important;padding:0!important}main{overflow:visible!important}.cv-entry-compact,.cv-entry:not(:first-child),.cv-side .cv-block{-moz-column-break-inside:avoid;break-inside:avoid}}@media screen and (max-width:957px){.cv-role{white-space:normal}}@supports (margin-top:round(nearest,1px,1px)){@media screen{.cv-photo+.cv-block{margin-top:calc(round(nearest, var(--cap) + 100cqw, var(--bl)) + calc(var(--bl) * 3) - var(--cap) - 100cqw)}}}