.cv-page{--cv-rule:rgb(var(--color-hairline) / .55);--cv-muted:rgb(var(--color-text-muted));--cv-accent:rgb(var(--color-accent));--cv-kicker:rgb(var(--wheat-600));--cv-gutter:var(--portfolio-gutter);width:calc(min(100%, 1680px) - 2 * var(--cv-gutter));color:rgb(var(--color-text));font-size:var(--type-body);grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,24px);margin-inline:auto;padding-block:clamp(20px,3vw,36px) clamp(32px,4vw,56px);line-height:1.75;display:grid}.cv-page :is(a,button):focus-visible{outline:2px dashed rgb(var(--color-text));outline-offset:3px}.cv-page__nav,.cv-page__nav>div,.cv-page__footer{justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.cv-page__nav,.cv-page__footer{min-height:64px;padding:8px 10px 8px 16px}.cv-page .desk-button svg{flex:none;width:16px;height:16px}.cv-page__footer p{color:rgb(var(--color-text));font:var(--type-small)/1.8 var(--font-body);margin:0}.cv-hero__body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:28px 7%;display:grid}.cv-eyebrow{color:var(--cv-kicker);font:var(--type-caps)/1.8 var(--font-ui);text-transform:uppercase;margin:0 0 14px}.cv-page h1{color:rgb(var(--color-text));font:400 var(--type-title)/.92 var(--font-display);letter-spacing:0;text-shadow:var(--title-shadow);margin:0}.cv-hero__role{color:var(--cv-accent);font-size:var(--type-small);margin:20px 0 0}.cv-hero__role>span{color:var(--cv-muted)}.cv-hero__role>span:first-child{padding-inline:9px}.cv-hero__details{border:var(--window-edge);background:rgb(var(--color-surface-sunken));box-shadow:inset 2px 2px 0 rgb(var(--color-band-shade));padding:14px 18px}.cv-contacts{font-size:var(--type-small);flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none;display:flex}.cv-contacts li:first-child{flex-basis:100%}.cv-contacts a{min-height:44px;color:var(--cv-accent);overflow-wrap:anywhere;text-underline-offset:4px;align-items:center;gap:8px;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.cv-contacts a:hover{color:rgb(var(--color-text))}.cv-index{flex-wrap:wrap;gap:2px 6px;padding:6px 8px;display:flex}.cv-index a{min-height:40px;color:rgb(var(--color-text));font:var(--type-label) var(--font-display);align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.cv-index a:hover{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.cv-section{scroll-margin-top:calc(var(--header-height) + var(--nav-height) + 16px)}.cv-section__body{grid-template-columns:minmax(150px,.37fr) minmax(0,1fr);gap:5%;display:grid}.cv-section h2{color:rgb(var(--color-text));font:400 var(--type-section)/1 var(--font-display);letter-spacing:0;margin:0}.cv-section h2>span[aria-hidden=true]{color:var(--cv-kicker);font:var(--type-caps)/1.5 var(--font-ui);margin-bottom:12px;display:block}.cv-section__content{min-width:0}.cv-entry__header{justify-content:space-between;align-items:flex-start;gap:10px 30px;display:flex}.cv-page h3{color:rgb(var(--color-text));font:400 var(--type-item)/1.05 var(--font-display);letter-spacing:0;margin:0}.cv-entry__role{color:var(--cv-accent);font-size:var(--type-small);margin:8px 0 0}.cv-entry__date{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-tooltip));box-shadow:2px 2px 0 rgb(var(--color-text) / .6);font:var(--type-small)/1.5 var(--font-body);white-space:nowrap;flex-shrink:0;margin:0;padding:4px 8px}.cv-highlights{max-width:75ch;color:rgb(var(--color-text));margin:20px 0 4px;padding-left:1.2em;list-style:square}.cv-highlights li{text-wrap:pretty;margin-block:10px;padding-left:.4em}.cv-highlights li::marker{color:var(--cv-accent)}.cv-evidence{min-height:44px;color:var(--cv-accent);font:var(--type-label) var(--font-display);text-underline-offset:var(--underline-offset);align-items:center;gap:8px;margin-top:8px;text-decoration:underline;display:inline-flex}.cv-evidence:hover{color:rgb(var(--color-text))}.cv-entry__end{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding-top:4px;display:flex}.cv-entry__end .cv-evidence{margin:0}.cv-status{color:var(--cv-muted);font:var(--type-small)/1.7 var(--font-body);margin:14px 0 0}.cv-education__focus{color:rgb(var(--color-text));margin:18px 0 0}.cv-coursework{max-width:64ch;color:var(--cv-muted);margin:16px 0 0}.cv-coursework strong{color:var(--cv-kicker);font:var(--type-caps)/1.7 var(--font-ui);text-transform:uppercase;margin-bottom:6px;display:block}.cv-skills{margin:0}.cv-skills>div{grid-template-columns:170px minmax(0,1fr);gap:10px 24px;display:grid}.cv-skills dt{color:var(--cv-kicker);font:var(--type-caps)/1.75 var(--font-ui);text-transform:uppercase}.cv-skills dd{color:rgb(var(--color-text));margin:0}.cv-print-only{display:none}@container page (width<=1000px){.cv-hero__body{grid-template-columns:1fr;gap:28px}.cv-contacts li:first-child{flex-basis:auto}.cv-entry__header{flex-direction:column}.cv-skills>div{grid-template-columns:1fr;gap:4px}}@container page (width<=719px){.cv-page{--cv-gutter:var(--portfolio-gutter);gap:14px}.cv-page__nav{flex-wrap:wrap;padding:6px 8px}.cv-page__nav>div{flex:100%}.cv-page__nav .desk-button{flex:1 1 0}.cv-page__footer{flex-wrap:wrap;padding:10px}.cv-page__footer .desk-button{flex:100%}.cv-hero__role{flex-wrap:wrap;gap:4px 12px;display:flex}.cv-hero__role>span:first-child{display:none}.cv-hero__role>span:last-child{flex-basis:100%}.cv-hero__details{padding:6px 10px}.cv-index{gap:0;padding:4px}.cv-index a{padding-inline:8px}.cv-section__body{grid-template-columns:1fr;gap:22px}.cv-section h2{align-items:baseline;gap:14px;display:flex}.cv-section h2>span[aria-hidden=true]{margin:0}.cv-highlights{padding-left:1.1em}}@media (prefers-reduced-motion:no-preference){html:has(.cv-page){scroll-behavior:smooth}}@media print{@page{size:letter;margin:14mm 15mm;background:rgb(var(--white))}html:has(.cv-page){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.cv-page__nav,.cv-index,.cv-page__footer,.cv-eyebrow,.cv-evidence,.cv-page .desk-window__bar{display:none!important}body:has(.cv-page) .site-footer{display:none!important}.cv-page{--cv-muted:rgb(var(--black));--cv-accent:rgb(var(--black));--cv-kicker:rgb(var(--black));--cv-rule:rgb(var(--black));width:100%;font:var(--type-small)/1.3 "Times New Roman", Times, serif;padding:0;display:block}.cv-page .desk-window,.cv-hero__details{box-shadow:none;background:0 0;border:0}.cv-page :is(h1,h2,h3,p,a,dt,dd,span,strong){letter-spacing:normal;color:rgb(var(--black));font-family:inherit}.cv-hero{text-align:center;padding:0 0 8pt}.cv-hero__body{padding:0;display:block}.cv-hero__details{padding:0}.cv-page h1{font-size:var(--type-item);text-shadow:none;font-weight:700;line-height:1.2}.cv-hero__role{font-size:var(--type-small);margin:4pt 0;display:block}.cv-contacts{font-size:var(--type-small);justify-content:center;gap:0 15pt;margin:4pt 0 0}.cv-contacts li:first-child{flex-basis:auto}.cv-contacts a{min-height:0;text-decoration:none}.cv-print-only{display:block}.cv-section{padding:8pt 0 0;scroll-margin-top:0;display:block}.cv-section__body{padding:0;display:block}.cv-section h2{font-size:var(--type-body);text-transform:uppercase;border-bottom:.8pt solid rgb(var(--black));break-after:avoid;margin-bottom:4pt;padding-bottom:2pt;font-weight:700;line-height:1.3;display:block}.cv-section h2>span[aria-hidden=true]{display:none}.cv-entry{break-inside:avoid}.cv-entry+.cv-entry{border:0;margin-top:7pt;padding-top:0}.cv-entry__header{flex-flow:row;align-items:baseline;gap:15pt}.cv-entry__date{width:auto;box-shadow:none;font-size:var(--type-small);background:0 0;border:0;padding:0;font-style:italic;line-height:1.3}.cv-page h3{font-size:var(--type-body);font-weight:700;line-height:1.3}.cv-entry__role{font-size:var(--type-small);margin-top:1pt;font-style:italic}.cv-highlights{max-width:none;margin:4pt 0 0;list-style:outside}.cv-highlights li{margin-block:2pt;padding-left:0}.cv-highlights li::marker{color:rgb(var(--black))}.cv-entry__end{padding-top:2pt}.cv-status{font-size:var(--type-small);margin:2pt 0 0;font-style:italic}.cv-education__focus,.cv-coursework{margin-top:4pt}.cv-coursework{max-width:none}.cv-coursework strong{font-size:inherit;text-transform:none;margin-right:4pt;font-weight:700;display:inline}.cv-skills>div{grid-template-columns:95pt 1fr;gap:10pt;display:grid}.cv-skills>div+div{border:0;margin-top:3pt;padding-top:0}.cv-skills dt{font-size:inherit;font-weight:700;line-height:inherit;text-transform:none}.cv-page svg{display:none}.cv-page .typewriter-text,.cv-page .typewriter-text__word{display:inline;position:static}.cv-page .typewriter-text__source{opacity:1}}
