.cv-document{--ink:#1b1d22;--muted2:#5b6068;--rule:#d9d7d0;--nhs:var(--nhs-blue,#2863ab);--cv-accent:#a94800;--foreground:var(--ink);--muted-foreground:var(--muted2);--ring:var(--nhs);--cv-rail:var(--rail,8.25rem);--cv-rail-gap:var(--rail-gap,2rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#fff;margin:0}@supports (color:lab(0% 0 0)){.cv-document{--nhs:var(--nhs-blue,lab(41.1474% .443444 -44.8274));--cv-accent:lab(43.1443% 44.8365 81.302)}}.cv-document *{box-sizing:border-box}.cv-document.doc{max-width:8.5in;margin:0 auto;padding:32px clamp(24px,5vw,.78in) 96px}@media screen and (min-width:56.01rem){.cv-document.doc{outline:1px solid var(--border)}}@media screen and (max-width:56rem){:is(html:has(.cv-document.doc),body:has(.cv-document.doc)){background:#fff}.cv-document.doc{max-width:none}}.cv-document .doc-frame{border-collapse:collapse;width:100%}.cv-document .doc-frame td{padding:0}.cv-document .running-hdr,.cv-document .running-ftr,.cv-document .hdr-space,.cv-document .ftr-space{display:none}.cv-document h1,.cv-document h2,.cv-document h3{text-wrap:balance}.cv-document p,.cv-document li,.cv-document dd{text-wrap:pretty}.cv-document a{color:var(--nhs);text-underline-offset:2px;text-decoration:underline}.cv-document .cv-tap-target{position:relative}.cv-document .cv-tap-target:after{content:"";min-width:44px;position:absolute;inset:-16px 0}.cv-document .cv-doi-link{white-space:nowrap}.cv-document .cv-contact span.type-ident{color:inherit}.cv-document .cv-running-name{font-family:var(--font-body)}.cv-document .cv-sitebar{font:400 var(--text-label)/1 var(--font-body);border-bottom:3px double var(--rule);justify-content:space-between;align-items:center;margin:0 0 28px;padding-bottom:8px;display:flex}.cv-document .cv-sitebar--end{border-bottom:0;border-top:3px double var(--rule);margin:36px 0 0;padding:8px 0 0}.cv-document .cv-sitebar a{color:var(--muted2);text-decoration:none}.cv-document .cv-sitebar svg{vertical-align:-.125em;margin-right:.5em;display:inline-block}.cv-document .cv-sitebar a:hover{color:var(--ink)}.cv-document .cv-header{border-bottom:2.5px solid var(--ink);padding-bottom:16px}.cv-document .cv-name{font-family:var(--font-display);font-weight:400;font-size:var(--text-title);letter-spacing:-.02em;margin:0;line-height:1}.cv-document .cv-subtitle{font-family:var(--font-display);font-style:italic;font-size:var(--text-ui);color:var(--muted2);margin:9px 0 0;line-height:1.4}.cv-document .cv-contact{--cv-ring-reach:calc(var(--focus-offset,2px) + var(--focus-width,2px));margin:10px calc(-1 * var(--cv-ring-reach)) 0 -.5em;padding:0 var(--cv-ring-reach) 0 .5em;font:400 var(--text-label)/1.6 var(--font-body);flex-wrap:wrap;column-gap:1.6em;list-style:none;display:flex;overflow-x:clip}@media (any-pointer:coarse){.cv-document .cv-contact{row-gap:25px}.cv-document .cv-contact+.cv-contact{margin-top:25px}}@media not (any-pointer:coarse){.cv-document .cv-contact .cv-tap-target:after,.cv-document .cv-doi-link:after{display:none}}.cv-document .cv-contact li{white-space:nowrap;position:relative}.cv-document .cv-contact li:before{content:"·";content:"·" / "";text-align:center;width:1.6em;color:var(--muted2);position:absolute;right:100%}.cv-document .cv-h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-heading);letter-spacing:-.01em;text-transform:none;color:var(--ink);border-bottom:1px solid var(--ink);break-after:avoid;margin:36px 0 0;padding-bottom:6px;line-height:1.25}.cv-document .cv-summary{font-size:var(--text-ui);margin:13px 0 0;line-height:1.6}.cv-document .cv-entry{grid-template-columns:var(--cv-rail) minmax(0, 1fr);column-gap:var(--cv-rail-gap);border-top:1px solid var(--rule);align-items:baseline;padding:13px 0;display:grid}.cv-document .cv-h2+.cv-entry{border-top:0}.cv-document .cv-rail p{margin:0}.cv-document .cv-date span{white-space:nowrap;display:block}.cv-document .cv-stage{color:var(--ink);margin-top:4px}.cv-document .cv-role{font-family:var(--font-display);font-weight:400;font-size:var(--text-body);margin:0;line-height:1.25}.cv-document .cv-employer{font-size:var(--text-meta);color:var(--ink);margin:3px 0 0;line-height:1.5}.cv-document .cv-desc{font-size:var(--text-meta);color:var(--muted2);margin:4px 0 0;line-height:1.55}.cv-document .cv-bullets{font-size:var(--text-meta);margin:8px 0 0;padding:0;line-height:1.55;list-style:none}.cv-document .cv-bullets li{padding-left:1.1em;position:relative}.cv-document .cv-bullets li+li{margin-top:4px}.cv-document .cv-bullets li:before{content:"–";content:"–" / "";color:var(--muted2);position:absolute;left:0}.cv-document .cv-subhead{break-after:avoid;margin:16px 0 0}.cv-document .cv-pubs{margin:0;padding:0;list-style:none}.cv-document .cv-pub{grid-template-columns:var(--cv-rail) minmax(0, 1fr);column-gap:var(--cv-rail-gap);font-size:var(--text-meta);align-items:baseline;padding:10px 0;line-height:1.5;display:grid}.cv-document .cv-pub+.cv-pub{border-top:1px solid var(--rule)}.cv-document .cv-pub-num[data-type=preprint]{color:var(--cv-accent)}.cv-document .cv-pub-title{font-family:var(--font-display);font-size:var(--text-body);margin:0;line-height:1.25}.cv-document .cv-pub-meta{color:var(--muted2);margin:3px 0 0}.cv-document .cv-pub-role{color:var(--ink);margin:3px 0 0}.cv-document .cv-pub .self{color:var(--ink);white-space:nowrap}.cv-document .cv-def{grid-template-columns:var(--cv-rail) minmax(0, 1fr);gap:10px var(--cv-rail-gap);font-size:var(--text-meta);align-items:baseline;margin:13px 0 0;line-height:1.55;display:grid}@media print{html{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{margin:0;padding:0}.cv-document.doc{max-width:none!important;margin:0!important;padding:0 .7in!important}.cv-document .hdr-space,.cv-document .ftr-space{display:table-cell;height:.7in!important}.cv-document .running-hdr,.cv-document .running-ftr{justify-content:space-between;align-items:baseline;left:0;right:0;margin:0!important;display:flex!important;position:fixed!important}.cv-document .running-hdr{top:0;padding:.32in .7in 0!important}.cv-document .running-ftr{bottom:0;padding:0 .7in .32in!important}.cv-document a{color:var(--ink)!important}.cv-document .cv-tap-target:after{display:none}.cv-document .cv-contact{row-gap:0}.cv-document .cv-contact+.cv-contact{margin-top:2px}.cv-document .cv-sitebar{display:none}.cv-document .cv-pub+.cv-pub,.cv-document .cv-entry{border-top:0}.cv-document{--cv-rail:1in;--cv-rail-gap:16px}.cv-document .cv-header{padding-bottom:10px}.cv-document .cv-h2{margin-top:20px;padding-bottom:4px}.cv-document .cv-entry{padding:8px 0}.cv-document .cv-pub{padding:6px 0}.cv-document .cv-subhead{margin-top:10px}.cv-document .cv-bullets{margin-top:4px;line-height:1.45}.cv-document .cv-bullets li+li{margin-top:1px}.cv-document .cv-name{font-size:24pt}.cv-document .cv-subtitle{font-size:10.5pt}.cv-document .cv-h2{font-size:12pt}.cv-document .cv-role,.cv-document .cv-pub-title{font-size:10.5pt}.cv-document .cv-summary,.cv-document .cv-employer,.cv-document .cv-desc,.cv-document .cv-bullets,.cv-document .cv-pub,.cv-document .cv-def{row-gap:8px;font-size:9pt}.cv-document .type-ident,.cv-document .type-label,.cv-document .cv-contact{font-size:7.5pt}.cv-document h1,.cv-document h2,.cv-document h3,.cv-document h4{break-after:avoid}.cv-document .cv-entry,.cv-document .cv-pub,.cv-document .cv-secblock{break-inside:avoid}.cv-document p,.cv-document li{orphans:3;widows:3}}@media print,screen and (min-width:561px){.cv-document .cv-rail,.cv-document .cv-pub-num,.cv-document .cv-def dt{text-align:end}}@media screen and (max-width:560px){.cv-document .cv-entry,.cv-document .cv-pub{grid-template-columns:minmax(0,1fr);row-gap:4px}.cv-document .cv-rail{flex-wrap:wrap;align-items:baseline;gap:0 .75em;display:flex}.cv-document .cv-date span{display:inline}.cv-document .cv-stage{margin-top:0}.cv-document .cv-def{grid-template-columns:minmax(0,1fr);gap:2px}.cv-document .cv-def dd+dt{margin-top:8px}}