.cv-page{background:#07172b}
.cv-masthead{color:#e8eced}
.cv-hero{min-height:calc(100svh - 76px);background:radial-gradient(ellipse at 74% 34%,#173554,#07172b 70%);display:grid;grid-template-columns:minmax(0,51%) minmax(0,49%);align-items:center;padding:clamp(48px,6vw,100px) clamp(24px,7vw,130px);overflow:hidden;gap:2vw}
.cv-hero-copy{position:relative;z-index:1;max-width:720px}
.cv-kicker,.cv-section-head>p,.career-date,.career-story>span{font:700 11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e6a765}
.cv-kicker{margin:0 0 28px}
.cv-hero h1,.cv-section-head h2,.cv-after h2{font:400 clamp(64px,6.7vw,112px)/.99 Georgia,serif;letter-spacing:-.065em;margin:0}
.cv-hero h1 em{font-weight:400;color:#f7c995}
.cv-role{font-size:clamp(17px,1.5vw,23px);font-weight:700;margin:29px 0 20px}
.cv-opening{font:400 clamp(20px,1.75vw,27px)/1.42 Georgia,serif;max-width:630px;color:#cfdae0;margin:0}
.cv-down{display:inline-flex;gap:42px;align-items:center;margin-top:38px;border-bottom:1px solid #aebcc2;padding:10px 0;color:#e8eced;text-decoration:none;font-size:14px;font-weight:700;transition:color .2s,gap .2s}
.cv-down:hover{color:#f7c995;gap:52px}
.cv-route{align-self:center;justify-self:center;width:min(100%,680px);aspect-ratio:4/3;transform:rotate(-3deg)}
.cv-route svg{width:100%;height:100%;overflow:visible}
.route-path{filter:drop-shadow(0 0 4px #f4aa79)}
.route-reveal{stroke-dasharray:100;stroke-dashoffset:100}
.cv-route.is-revealed .route-reveal{animation:route-arrive 2.2s cubic-bezier(.3,.1,.2,1) .2s forwards}
@keyframes route-arrive{to{stroke-dashoffset:0}}
.route-point{cursor:pointer}
.route-point .route-hit{fill:transparent}
.route-point circle:not(.route-hit){transform-box:fill-box;transform-origin:center;transition:transform .25s,filter .25s}
.route-point:hover circle:not(.route-hit),.route-point:focus-visible circle:not(.route-hit){transform:scale(1.25);filter:drop-shadow(0 0 5px #b5633e)}
.route-point:focus-visible{outline:2px solid #b5633e;outline-offset:4px}
.route-point text{fill:#704b36;font:700 17px Arial,Helvetica,sans-serif;letter-spacing:.02em}
.cv-content{background:#ede8dd;color:#1a2b32;display:grid;grid-template-columns:42% minmax(0,58%);gap:5%;padding:clamp(90px,9vw,145px) clamp(24px,7vw,130px);scroll-margin-top:0}
.cv-section-head h2,.cv-after h2{font-size:clamp(57px,5.7vw,93px);line-height:1.02;margin:29px 0 34px}
.cv-section-head h2 em,.cv-after h2 em{font-weight:400;color:#b5633e}
.cv-section-head>span{display:block;max-width:270px;color:#65757b;font-size:11px;line-height:1.55;letter-spacing:.1em;text-transform:uppercase}
.career{list-style:none;margin:5px 0 0;padding:0 0 0 32px;border-left:1px solid #b5b5ab}
.career-item{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:28px;padding:3px 0 38px;border-bottom:1px solid #b5b5ab;margin-bottom:36px}
.career-item{scroll-margin-top:105px}
.career-item:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.career-item:before{content:"";position:absolute;left:-40px;top:8px;width:14px;height:14px;border:2px solid #b5633e;background:#ede8dd;border-radius:50%}
.career-date{color:#a35534;padding-top:5px;white-space:nowrap}
.career-story>span{color:#66777c}
.career-story .career-now{color:#a35534}
.career-story h3{font:400 clamp(27px,2.65vw,39px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:9px 0 15px}
.career-story p{font:400 17px/1.65 Arial,Helvetica,sans-serif;max-width:600px;margin:0}
.cv-after{display:grid;grid-template-columns:42% minmax(0,58%);gap:5%;background:#e0e7e5;color:#1a2b32;padding:clamp(90px,9vw,145px) clamp(24px,7vw,130px)}
.cv-after .cv-kicker{color:#a35534}
.education-list{padding-top:9px;max-width:670px}
.education-list p{border-top:1px solid #aab8b8;padding:18px 0;margin:0;display:flex;gap:20px;justify-content:space-between;line-height:1.55}
.education-list strong{font-size:16px;max-width:210px}
.education-list span{font-size:16px;color:#4b5d62;max-width:360px}
.education-list .education-note{display:block;font:400 clamp(22px,2.3vw,32px)/1.35 Georgia,serif;letter-spacing:-.025em;padding-top:33px;border-bottom:0}
.cv-end{display:flex;justify-content:space-between;background:#f4eee3;color:#1a2b32;padding:46px clamp(24px,7vw,130px)}
.cv-end a{display:flex;gap:70px;min-width:38%;justify-content:space-between;border-bottom:1px solid currentColor;padding:13px 0;text-decoration:none;font:400 clamp(23px,2.7vw,36px) Georgia,serif;letter-spacing:-.03em;transition:color .2s}
.cv-end a:hover{color:#b5633e}
.cv-end a span{font:22px Arial,Helvetica,sans-serif}
@media(max-width:900px){.cv-hero{grid-template-columns:1fr;padding:65px 6vw 40px}.cv-hero h1{font-size:clamp(62px,10vw,100px)}.cv-route{width:min(100%,620px);margin-top:-10px}.cv-content,.cv-after{grid-template-columns:1fr;gap:50px;padding:85px 6vw}.cv-section-head h2,.cv-after h2{max-width:620px}.cv-section-head>span{max-width:none}.cv-end{padding:35px 6vw}}
@media(max-width:600px){.cv-hero{min-height:0;padding:47px 6vw 35px}.cv-kicker{font-size:10px;margin-bottom:20px}.cv-hero h1{font-size:clamp(56px,14vw,76px);line-height:1.01}.cv-role{font-size:16px;margin:23px 0 15px}.cv-opening{font-size:19px;line-height:1.38}.cv-down{margin-top:27px}.cv-route{width:110%;margin:6px -5% 0}.cv-content,.cv-after{padding:78px 6vw}.cv-section-head h2,.cv-after h2{font-size:clamp(53px,12vw,70px)}.career{padding-left:23px}.career-item{display:block;padding-bottom:25px;margin-bottom:25px}.career-item:before{left:-31px;top:5px;width:12px;height:12px}.career-date{margin-bottom:13px}.career-story h3{font-size:30px}.career-story p{font-size:16px}.education-list p{display:block}.education-list strong,.education-list span{display:block;max-width:none}.education-list strong{margin-bottom:3px}.education-list .education-note{font-size:24px}.cv-end{display:block;padding:35px 6vw}.cv-end a{margin:0 0 19px;font-size:29px}}
@media(max-width:600px){.route-point text{font-size:22px}.career-date{font-size:12px}.cv-kicker{font-size:12px}.career-item{scroll-margin-top:28px}}
@media(prefers-reduced-motion:reduce){.cv-down,.cv-end a,.route-point circle:not(.route-hit){transition:none}.route-reveal,.cv-route.is-revealed .route-reveal{animation:none;stroke-dashoffset:0}}

/* A full professional record, with paper marginalia and optional story space. */
.career-responsibilities{margin:16px 0 0;padding-left:18px;color:#4a5f64;font:15px/1.65 Arial,Helvetica,sans-serif}
.career-responsibilities li{padding-left:3px;margin:8px 0}
.cv-game-slot{grid-column:1/-1;min-width:0}
.cv-game-slot:empty{display:none}
.career-date{white-space:normal}
.cv-detail-section{display:grid;grid-template-columns:42% minmax(0,58%);gap:5%;padding:clamp(78px,8vw,125px) clamp(24px,7vw,130px);color:#1a2b32}
.cv-detail-section .cv-kicker{color:#a35534}
.cv-detail-heading h2{font:400 clamp(53px,5.5vw,88px)/1.04 Georgia,serif;letter-spacing:-.055em;margin:28px 0 34px}
.cv-detail-heading h2 em{color:#a85e3d;font-weight:400}
.cv-detail-body{min-width:0;max-width:690px}
.cv-learning{background:#eee4d3}.cv-skills{background:#e2e6df}.cv-projects{background:#eee8db}
.cv-section-lead{font:400 clamp(21px,2vw,27px)/1.45 Georgia,serif;margin:4px 0 29px}
.learning-anchor{margin:36px 0 0;max-width:280px}
.learning-anchor strong{display:block;font:italic 42px/1.1 Georgia,serif;color:#9d5738}
.learning-anchor span{display:block;margin-top:10px;font:14px/1.5 Arial,Helvetica,sans-serif;color:#607074}
.learning-list{margin:0}
.learning-list>div{border-top:1px solid #c2b79f;display:flex;gap:20px;justify-content:space-between;padding:17px 0}
.learning-list dt{font:700 16px/1.5 Arial,Helvetica,sans-serif;max-width:58%}
.learning-list dt span{display:block;font-weight:400;color:#63706d;font-size:14px}
.learning-list dd{margin:0;text-align:right;font:14px/1.5 Arial,Helvetica,sans-serif;color:#536360;max-width:45%}
.learning-list .learning-planned{border-top-style:dashed}.learning-planned dt{font-weight:400}
.cv-small-note{font:14px/1.6 Arial,Helvetica,sans-serif;color:#56686a;margin:22px 0 0}
.skill-notes article,.project-experiences article{border-top:1px solid #aeb9b2;padding:18px 0 25px}
.skill-notes h3,.project-experiences h3{font:400 28px/1.15 Georgia,serif;letter-spacing:-.025em;margin:0 0 11px}
.skill-notes p,.project-experiences p{font:16px/1.65 Arial,Helvetica,sans-serif;margin:0;color:#435b60}
.language-list{margin:21px 0 0;border-top:1px solid #aeb9b2;padding-top:13px}
.language-list>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;font:15px/1.4 Arial,Helvetica,sans-serif}
.language-list dd{margin:0;color:#5e6f6e}
.project-experiences article>span{display:block;font:700 10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.12em;color:#996140;margin:0 0 12px}
.cv-inline-link{display:inline-block;color:#8b4c31;margin-top:16px;text-underline-offset:5px;font:14px/1.5 Arial,Helvetica,sans-serif}
.career-trace{list-style:none;width:92px;height:68px;margin:0 0 25px auto;transform:rotate(-3deg);pointer-events:none}
.career-trace svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 3px #5040251a)}
.career-trace .trace-fold{fill:#e3d8c0;stroke:#c2b394;stroke-width:.8}
.career-trace .trace-drawing{fill:none;stroke:#b16e4a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.trace-suns{margin-top:24px;margin-bottom:0}.trace-suns circle{fill:#ba8155;opacity:.7}
@supports(animation-timeline:view()){.career-trace{animation:paper-trace-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes paper-trace-arrive{from{transform:translateY(10px) rotate(7deg)}to{transform:translateY(0) rotate(-3deg)}}}
@media(max-width:1100px) and (min-width:901px){.career-item{grid-template-columns:1fr;gap:10px}.career-date{padding-top:0}}
@media(max-width:900px){.cv-detail-section{grid-template-columns:1fr;gap:38px;padding:78px 6vw}.cv-detail-body{max-width:none}.learning-anchor{margin-top:28px}}
@media(max-width:600px){.cv-detail-heading h2{font-size:clamp(51px,12vw,70px)}.learning-list>div{display:block}.learning-list dt,.learning-list dd{max-width:none;text-align:left}.learning-list dd{margin-top:5px}.skill-notes h3,.project-experiences h3{font-size:26px}.career-responsibilities{font-size:15px}.career-trace{width:76px;height:56px}}
@media(prefers-reduced-motion:reduce){.career-trace{animation:none!important}}
@media print{.masthead,.cv-down,.cv-route,.cv-end,.career-trace,.cv-game-slot{display:none!important}.cv-hero,.cv-content,.cv-after,.cv-detail-section{display:block;min-height:0;padding:20px 0;background:white!important;color:#172b31!important}.cv-hero h1{font-size:42px}.cv-role,.cv-opening{color:#172b31}.cv-detail-heading h2,.cv-section-head h2,.cv-after h2{font-size:32px;margin:10px 0 20px}.cv-detail-body{max-width:none}.career{padding-left:0;border:0}.career-item:before{display:none}.career-item,.learning-list>div,.skill-notes article,.project-experiences article{break-inside:avoid}.cv-kicker,.career-story>span{color:#765240}.cv-detail-section{break-before:auto}a{color:#172b31}footer{background:white!important;color:#172b31!important}}

.learning-subheading{font:400 23px/1.25 Georgia,serif;letter-spacing:-.02em;margin:0 0 20px}.further-learning-title{margin-top:35px}.certified-learning dd{font-size:13px}

.cv-return-line{font:italic clamp(22px,2.6vw,34px)/1.3 Georgia;color:#c49d72;margin:22px 0 28px;max-width:550px}
