.cv{padding:50px 0 100px}.cv-label{font:10px/1.6 var(--mono);letter-spacing:.075em;text-transform:uppercase}.cv-hero{grid-template-columns:minmax(0,1fr) 335px;align-items:center;column-gap:8%;display:grid}.cv-hero-copy>.cv-label{color:var(--accent);margin-bottom:30px}.cv-hero h1{letter-spacing:-.07em;font-size:clamp(65px,7.6vw,112px);line-height:.98}.cv-hero h1>span{color:var(--accent)}.cv-title{color:var(--text);font-family:var(--display);letter-spacing:-.035em;margin-top:23px;font-size:clamp(23px,2.3vw,34px);line-height:1.2}.cv-summary{max-width:49ch;margin-top:24px;font-size:17px;line-height:1.75}.cv-downloads{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:28px}.cv-downloads h2{font-size:31px}.cv-downloads>p{margin-top:11px;font-size:12px}.cv-download-buttons{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.cv-download-buttons .button{gap:12px;padding:13px 17px;font-size:12px}.cv-contact{border-bottom:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:18px 30px;margin-top:34px;padding:32px 0;font-size:12px;display:flex}.cv-contact>p{color:var(--text);align-items:center;gap:10px;display:flex}.cv-location-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.cv-contact-separator{color:var(--faint);margin:0 4px}.cv-contact>div{flex-wrap:wrap;gap:16px 28px;display:flex}.cv-contact a{align-items:center;gap:7px;display:inline-flex}.cv-contact a:hover{color:var(--accent)}.cv-index{flex-wrap:wrap;gap:35px;padding:24px 0;display:flex}.cv-index a{align-items:center;gap:12px;min-height:28px;font-size:12px;display:flex}.cv-index a>span{font:9px var(--mono);color:var(--accent)}.cv-index a>svg{opacity:.6}.cv-index a:hover{color:var(--accent)}.cv-section{border-top:1px solid var(--line);grid-template-columns:minmax(170px,.72fr) minmax(0,2fr);gap:clamp(35px,7vw,110px);margin-top:65px;padding-top:45px;display:grid}.cv-section-heading h2{margin:21px 0 18px;font-size:clamp(31px,3.1vw,45px)}.cv-section-heading>p{max-width:26ch;font-size:14px;line-height:1.75}.cv-section-number{font:11px var(--mono);color:var(--accent)}.cv-position{border-bottom:1px solid var(--line);grid-template-columns:113px minmax(0,1fr);gap:24px;padding:34px 0;display:grid}.cv-position:first-child{padding-top:0}.cv-tenure{font:10px/1.8 var(--mono);color:var(--muted)}.cv-position>.cv-tenure{flex-direction:column;align-items:flex-start;gap:11px;padding-top:6px;display:flex}.cv-position h3{font-size:clamp(28px,2.6vw,38px)}.cv-role{color:var(--text);margin-top:10px;font-size:13px}.cv-position ul{margin:20px 0 0;padding:0;list-style:none}.cv-position li{color:var(--muted);margin-top:10px;padding-left:17px;font-size:14px;line-height:1.85;position:relative}.cv-position li:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:.78em;left:0}.cv-inline-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;transition:color .2s}.cv-inline-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.cv-earlier-heading{font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:35px}.cv-earlier-grid{grid-template-columns:1fr 1fr;gap:30px 38px;margin-top:24px;display:grid}.cv-earlier-position{min-width:0}.cv-earlier-position h4{font:550 24px/1.15 var(--display);letter-spacing:-.035em;margin:10px 0 0}.cv-earlier-position .cv-role{margin-top:7px;font-size:12px}.cv-earlier-description{margin-top:14px;font-size:13px;line-height:1.8}.cv-products{grid-template-columns:1fr 1fr;gap:36px 25px;display:grid}.cv-product{border-bottom:1px solid var(--line);grid-template-columns:118px minmax(0,1fr);align-content:start;align-items:center;gap:20px 17px;min-width:0;padding-bottom:28px;display:grid}.cv-product-image{aspect-ratio:1.4;border-radius:4px;position:relative;overflow:hidden}.cv-product-image .capture-viewport{height:100%}.cv-product-heading .cv-label{color:var(--muted);letter-spacing:.025em;font-size:8px}.cv-product h3{margin-top:8px;font-size:clamp(23px,2.2vw,30px)}.cv-product-description{grid-column:1/-1;font-size:13px;line-height:1.85}.cv-product .button{grid-column:1/-1;justify-self:start;padding:12px 18px;font-size:12px}.cv-toolkit{grid-template-columns:1fr 1fr;gap:36px;display:grid}.cv-toolkit .cv-label{color:var(--muted);font-size:9px}.cv-toolkit h3{margin:11px 0 14px;font-size:23px}.cv-toolkit p{font-size:13px;line-height:1.85}@media (max-width:1100px){.cv-hero{grid-template-columns:minmax(0,1fr) 300px;column-gap:5%}.cv-downloads{padding:23px}.cv-hero h1{font-size:clamp(55px,8vw,85px)}.cv-section{grid-template-columns:1fr;gap:32px}.cv-section-heading{grid-template-columns:25px 1fr 1fr;align-items:baseline;gap:20px;display:grid}.cv-section-heading h2{margin:0}.cv-section-heading>p{justify-self:end;max-width:34ch}.cv-position{grid-template-columns:145px minmax(0,1fr)}.cv-products{gap:35px}.cv-product{grid-template-columns:140px minmax(0,1fr)}}@media (max-width:700px){.cv{padding-top:35px;padding-bottom:60px}.cv-hero{grid-template-columns:1fr}.cv-hero h1{font-size:clamp(54px,12.7vw,83px)}.cv-hero-copy>.cv-label{margin-bottom:23px;font-size:9px}.cv-title{margin-top:16px;font-size:25px}.cv-summary{margin-top:20px;font-size:15px}.cv-downloads{margin-top:28px;padding:21px}.cv-downloads h2{font-size:25px}.cv-downloads>p{margin-top:9px;font-size:11px}.cv-download-buttons{margin-top:18px}.cv-download-buttons .button{white-space:nowrap;flex:1}.cv-contact{gap:17px;margin-top:6px;padding:24px 0;font-size:11px}.cv-contact>div{gap:13px 20px}.cv-contact a:first-child{flex-basis:100%}.cv-index{gap:3px 18px;padding:15px 0}.cv-index a{gap:7px;min-height:40px;font-size:11px}.cv-index a>svg{display:none}.cv-section{gap:30px;margin-top:37px;padding-top:28px}.cv-section-heading{grid-template-columns:20px 1fr;gap:12px}.cv-section-heading h2{font-size:32px}.cv-section-heading>p{grid-column:2;justify-self:start;max-width:38ch;font-size:13px}.cv-position{grid-template-columns:1fr;gap:13px;padding-block:29px}.cv-position>.cv-tenure{flex-direction:row;align-items:center;padding-top:0}.cv-position h3{font-size:29px}.cv-position li{font-size:13px;line-height:1.8}.cv-earlier-grid{grid-template-columns:1fr;gap:26px}.cv-earlier-position{border-bottom:1px solid var(--line);padding-bottom:23px}.cv-earlier-position h4{font-size:24px}.cv-products{grid-template-columns:1fr;gap:28px}.cv-product{grid-template-columns:100px minmax(0,1fr);gap:16px}.cv-product h3{font-size:29px}.cv-toolkit{gap:28px 20px}.cv-toolkit h3{font-size:22px}.cv-toolkit p{font-size:12px}}@media (max-width:360px){.cv-hero h1{font-size:50px}.cv-downloads{padding:18px 15px}.cv-download-buttons .button{padding-inline:13px;font-size:11px}.cv-toolkit{grid-template-columns:1fr}}@media print{.cv{padding:0}.cv-hero{display:block}.cv-hero h1{font-size:36px}.cv-title{margin-top:10px;font-size:18px}.cv-summary{max-width:none;font-size:11px}.cv-downloads,.cv-index,.cv-product-image,.cv-product .button{display:none}.cv-contact{margin-top:0;padding:15px 0}.cv-section{margin-top:20px;padding-top:20px;display:block}.cv-section-heading{margin-bottom:18px;display:block}.cv-section-heading>p,.cv-section-number{display:none}.cv-section-heading h2{font-size:24px}.cv-position,.cv-product,.cv-earlier-position,.cv-toolkit>div{break-inside:avoid}.cv-position{grid-template-columns:95px 1fr;padding:16px 0}.cv-position h3{font-size:20px}.cv-position li,.cv-product-description,.cv-earlier-description,.cv-toolkit p{font-size:10px}.cv-product{display:block}.cv-product-description{margin-top:10px}}.cv-portrait{border-radius:4px;width:100%;max-width:280px;height:auto;margin-bottom:24px;display:block}.cv-downloads{scroll-margin-top:30px}.cv a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media (max-width:700px){.cv-portrait{max-width:240px}}@media print{.cv-portrait{display:none}}@media screen{.cv-hero{align-items:start}.cv-contact{margin-top:24px;padding-block:24px}.cv-index{gap:12px 30px;padding-block:16px}.cv-index a{min-height:44px;font-size:14px}.cv-section{margin-top:44px;padding-top:36px}.cv-contact a{min-height:44px;font-size:14px}.cv-product{align-items:start}.cv-product-heading{min-width:0}.cv-product h3{overflow-wrap:anywhere}@media (max-width:700px){.cv{padding:28px 0 64px}.cv-hero-copy>.cv-label,.cv-label,.cv-product-heading .cv-label,.cv-toolkit .cv-label{font-size:11px;line-height:1.6}.cv-title{font-size:26px;line-height:1.25}.cv-summary{margin-top:20px;font-size:16px;line-height:1.75}.cv-downloads{grid-template-columns:96px minmax(0,1fr);gap:8px 18px;margin-top:28px;padding:20px;display:grid}.cv-portrait{grid-row:1/3;width:96px;max-width:100%;margin:0}.cv-downloads h2{align-self:end;font-size:27px}.cv-downloads>p{margin:0;font-size:14px;line-height:1.6}.cv-download-buttons{grid-column:1/-1;gap:12px;margin-top:12px}.cv-download-buttons .button{min-height:48px;padding:12px 16px;font-size:14px}.cv-contact{gap:8px;margin-top:8px;padding-block:20px;font-size:14px}.cv-contact>div{gap:0 24px;width:100%}.cv-contact a{min-height:44px;font-size:14px}.cv-index{gap:0;padding-block:12px;display:grid}.cv-index a{gap:12px;min-height:44px;font-size:14px}.cv-index a>span{font-size:11px}.cv-section{gap:26px;margin-top:28px;padding-top:28px}.cv-section-heading{gap:10px 12px}.cv-section-heading>p{font-size:15px;line-height:1.7}.cv-position{gap:10px;padding-block:28px}.cv-position li,.cv-earlier-description,.cv-product-description,.cv-toolkit p{font-size:16px;line-height:1.75}.cv-role,.cv-earlier-position .cv-role{font-size:14px;line-height:1.6}.cv-tenure{font-size:12px}.cv-earlier-heading{margin-top:28px;font-size:12px}.cv-earlier-grid{gap:24px}.cv-product{grid-template-columns:96px minmax(0,1fr);gap:18px}.cv-product h3{font-size:27px}.cv-product .button{min-height:48px;font-size:14px}.cv-toolkit{grid-template-columns:1fr;gap:28px}.cv-toolkit h3{margin:8px 0 12px;font-size:25px}}.cv{max-width:1280px;margin-inline:auto}.cv-hero{grid-template-columns:minmax(0,1fr) 360px;column-gap:clamp(32px,5vw,72px)}.cv-summary{max-width:62ch;font-size:18px}.cv-portrait{max-width:none}.cv-index{border-bottom:1px solid var(--line)}.cv-index+.cv-section{border-top:0;margin-top:0;padding-top:32px}@media (max-width:1100px){.cv-hero{grid-template-columns:minmax(0,1fr) 300px;column-gap:32px}.cv-summary{font-size:17px}}@media (max-width:700px){.cv-hero{grid-template-columns:1fr}.cv-summary{font-size:16px}.cv-index+.cv-section{padding-top:28px}}}
