:root{--paper:#f2efe8;--ink:#171815;--muted:#696b65;--line:#d0cabd;--orange:#ed623d;--dark:#171a17;--acid:#d9ff58;--white:#faf8f2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ddd8ce;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button{font:inherit}
.resume-nav{height:70px;padding:0 4vw;background:var(--dark);color:var(--white);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;border-bottom:1px solid #33362f}
.nav-brand{display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.nav-brand span{width:34px;height:34px;border:1px solid #767a70;display:grid;place-items:center;letter-spacing:-.08em}
.resume-nav>div{display:flex;align-items:center;gap:20px}.resume-nav a,.resume-nav button{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.resume-nav button{border:0;background:var(--acid);color:#171815;padding:11px 16px;font-weight:700;cursor:pointer}
.resume-shell{width:min(1200px,calc(100% - 40px));margin:45px auto;display:grid;grid-template-columns:340px minmax(0,1fr);box-shadow:0 25px 70px rgba(24,22,18,.12)}
.profile{background:var(--dark);color:var(--white);padding:42px 36px;position:relative}
.profile-photo{height:270px;margin:-42px -36px 38px;overflow:hidden;background:#252823;position:relative}.profile-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(23,26,23,.75))}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:grayscale(1);mix-blend-mode:luminosity}
.kicker{color:var(--orange);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 14px}.profile h1{font-size:42px;line-height:.92;letter-spacing:-.055em;margin:0 0 20px}.role{font-family:Georgia,serif;color:var(--acid);font-size:17px;line-height:1.35;margin:0 0 24px}.intro{color:#b4b5ae;font-size:12px;margin:0}
.side-section{margin-top:43px;padding-top:23px;border-top:1px solid #3b3e37}.side-section h2{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#8e9189;margin:0 0 18px}
.contact-list a,.contact-list>p{display:flex;gap:11px;align-items:flex-start;font-size:11px;color:#d4d5ce;margin:0 0 13px;overflow-wrap:anywhere}.contact-list i{color:var(--orange);width:15px}.contact-list a:hover span{color:var(--acid)}
.focus-list{margin:0;padding:0;list-style:none;display:flex;gap:7px;flex-wrap:wrap}.focus-list li{font-size:9px;text-transform:uppercase;letter-spacing:.06em;border:1px solid #4a4e45;border-radius:30px;padding:7px 10px;color:#c6c8bf}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 15px}.stats h2{grid-column:1/-1;margin-bottom:0}.stats strong,.stats span{display:block}.stats strong{font-size:27px;line-height:1;color:var(--acid);letter-spacing:-.05em}.stats span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8e9189;margin-top:7px}
.resume-content{background:var(--paper);padding:55px 58px}
.content-section{padding-bottom:55px;margin-bottom:55px;border-bottom:1px solid var(--line)}.content-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.section-label{display:flex;align-items:center;gap:12px;margin-bottom:27px}.section-label span{font-size:9px;color:var(--orange);font-weight:700}.section-label h2{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:0}
.summary .lead{font-size:28px;line-height:1.22;letter-spacing:-.035em;margin:0 0 24px}.summary .lead strong{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.summary>p:last-child,.community-intro,.education>p{font-size:13px;color:var(--muted);max-width:760px;margin:0}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.impact-grid div{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-grid strong{font-size:22px;letter-spacing:-.04em;color:var(--orange)}.impact-grid p{font-size:11px;color:var(--muted);margin:8px 0 0}
.job{padding:0 0 37px;margin:0 0 37px;border-bottom:1px solid var(--line)}.job:last-child{border:0;margin-bottom:0;padding-bottom:0}.job-head{display:grid;grid-template-columns:135px 1fr;gap:20px}.period{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:4px 0 0}.job h3{font-size:23px;line-height:1.15;letter-spacing:-.035em;margin:0}.company{font-family:Georgia,serif;color:var(--orange);font-size:16px;margin:5px 0 0}.company span{font-family:Arial,sans-serif;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.job-summary{margin:20px 0 13px 155px;font-size:12px;font-weight:700}.job ul{margin:0 0 0 155px;padding-left:17px;color:var(--muted);font-size:11px}.job li{margin:7px 0;padding-left:5px}.job li::marker{color:var(--orange)}
.skill-groups{display:grid;grid-template-columns:1fr 1fr;gap:28px 35px}.skill-groups h3{font-size:14px;margin:0 0 8px}.skill-groups p{color:var(--muted);font-size:11px;margin:0}
.community-intro{margin-bottom:28px}.publication-list{border-top:1px solid var(--line)}.publication-list a{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:17px 0;border-bottom:1px solid var(--line);position:relative}.publication-list strong{font-size:12px;padding-right:30px}.publication-list span{grid-column:1;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.publication-list i{grid-column:2;grid-row:1/3;color:var(--orange);align-self:center}.publication-list a:hover strong{color:var(--orange)}
.resume-footer{width:min(1200px,calc(100% - 40px));margin:0 auto 40px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#65665f}.resume-footer a{color:var(--ink);font-weight:700}
@media(max-width:900px){.resume-shell{grid-template-columns:1fr;width:min(720px,calc(100% - 28px));margin:20px auto}.profile{display:grid;grid-template-columns:200px 1fr;gap:0 30px}.profile-photo{grid-row:1/6;width:200px;height:240px;margin:-42px 0 0 -36px}.profile .kicker,.profile h1,.profile .role,.profile .intro{grid-column:2}.profile .side-section{grid-column:1/-1}.resume-content{padding:45px 35px}.resume-footer{width:calc(100% - 28px)}}
@media(max-width:620px){.resume-nav{padding:0 18px}.resume-nav>div>a{display:none}.resume-shell{width:100%;margin:0}.profile{display:block;padding:35px 24px}.profile-photo{width:auto;height:300px;margin:-35px -24px 35px}.profile .kicker,.profile h1,.profile .role,.profile .intro{display:block}.resume-content{padding:40px 23px}.summary .lead{font-size:23px}.impact-grid,.skill-groups{grid-template-columns:1fr}.job-head{grid-template-columns:1fr;gap:8px}.job-summary,.job ul{margin-left:0}.company span{display:block;margin-top:5px}.resume-footer{display:none}}
@media print{@page{size:A4;margin:11mm}body{background:white;font-size:9pt}.no-print{display:none!important}.resume-shell{display:block;width:auto;margin:0;box-shadow:none}.profile{background:#171a17!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:8mm;display:grid;grid-template-columns:32mm 1fr 1fr;gap:0 7mm}.profile-photo{width:32mm;height:38mm;margin:-8mm 0 0 -8mm;grid-row:1/5}.profile .kicker,.profile h1,.profile .role,.profile .intro{grid-column:2/4}.profile h1{font-size:27pt}.profile .side-section{display:none}.resume-content{padding:8mm 0;background:white}.content-section{padding-bottom:6mm;margin-bottom:6mm;break-inside:auto}.impact-grid{break-inside:avoid}.job{break-inside:avoid;padding-bottom:5mm;margin-bottom:5mm}.job h3{font-size:14pt}.job-summary{font-size:8.5pt}.job ul{font-size:7.5pt}.experience .section-label{break-after:avoid}.section-label{margin-bottom:4mm}.summary .lead{font-size:17pt}.publication-list a{break-inside:avoid}.resume-footer{display:none}}
