:root{--ink:#101f32;--muted:#536174;--blue:#254edb;--line:#dce1e8;--paper:#f8fafc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #b05d00;outline-offset:6px}a:hover{text-decoration:underline}img{max-width:100%;display:block}.wrap{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}.nav{display:flex;justify-content:space-between;align-items:center;padding-block:30px;border-bottom:1px solid var(--line);gap:30px}.wordmark{font-size:17px;letter-spacing:.1em;font-weight:800;line-height:1.3}.wordmark span{display:block;font-size:11px;letter-spacing:.16em;font-weight:500;margin-top:6px}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav-contact{border:1px solid var(--ink);padding:9px 17px;border-radius:4px}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:65px;padding-block:70px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;margin:0 0 24px;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,4.8vw,69px);font-weight:500;letter-spacing:-.055em;line-height:1.06;margin-bottom:28px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue);letter-spacing:-.055em}.intro{font-size:20px;line-height:1.55;max-width:570px;margin-bottom:18px}.subintro{color:var(--muted);max-width:490px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:22px;padding:13px 18px;border-radius:4px;font-size:14px;font-weight:600}.primary{background:var(--blue);color:white}.secondary{border:1px solid var(--line)}.format{font-size:11px;color:var(--muted)}.portrait{margin:0;text-align:center;justify-self:center;width:100%}.portrait img{width:60%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;margin-inline:auto;border:4px solid white;box-shadow:0 0 0 1px var(--line)}.portrait figcaption{position:static;background:transparent;padding:20px 0 0;line-height:1.5}.portrait strong{display:block;font-size:17px}.portrait figcaption span{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0;border-block:1px solid var(--line)}.stats>div{padding:0 32px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:44px;letter-spacing:-.04em;font-weight:500;line-height:1.2}.stats strong span{font-size:19px;letter-spacing:0}.stats p{font-size:14px;line-height:1.5;max-width:245px;color:var(--muted);margin:8px 0 0}.section{padding-block:90px}.section-heading{max-width:650px;margin-bottom:38px}h2{font-size:clamp(32px,3.5vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1.15;margin-bottom:22px}.section-heading>p:last-child{color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{background:white;border:1px solid var(--line);border-radius:5px;padding:26px;display:flex;flex-direction:column}.project-top{display:flex;justify-content:space-between;color:var(--blue);font-size:11px;letter-spacing:.07em;font-weight:700;margin-bottom:26px;gap:10px}h3{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}.project>p{font-size:15px;color:var(--muted);line-height:1.7}.result{margin-top:auto;padding:25px 0}.result strong{font-size:43px;line-height:1.2;letter-spacing:-.04em;display:block;font-weight:500}.result span{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:8px}.text-result strong{font-size:28px;line-height:1.84}details{border-top:1px solid var(--line);font-size:14px}summary{display:flex;justify-content:space-between;cursor:pointer;padding-top:17px;list-style:none}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.detail{padding-top:18px;color:var(--muted)}.experience-band{background:var(--ink);color:#fff}.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px}.experience-band .eyebrow{color:#a9bdff}.experience-intro{color:#c6d0df}.text-link{display:inline-block;border-bottom:1px solid #7d90a9;padding:8px 0}.timeline article{border-bottom:1px solid #394657;padding-bottom:28px;margin-bottom:28px}.timeline article:last-child{border:0;margin-bottom:0;padding-bottom:0}.date{font-size:12px;letter-spacing:.1em;color:#a9bdff;margin-bottom:12px}.timeline h3{margin-bottom:5px}.timeline p:not(.date){color:#c6d0df;font-size:15px}.timeline .company{margin-bottom:15px}.timeline .education{margin-bottom:0}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 60px}.skills-grid article{border-top:1px solid var(--line);padding-top:22px}.skill-number{font-size:12px;color:var(--blue)}.skills-grid h3{margin-top:10px}.skills-grid p{color:var(--muted);max-width:470px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:12px;border:1px solid var(--line);border-radius:3px;padding:4px 10px}.contact{border-top:1px solid var(--line);padding-block:55px 65px;display:grid;grid-template-columns:1.2fr 1fr;gap:0 50px}.contact .eyebrow{grid-column:1/-1}.contact h2{margin:0}.contact>div{align-self:end}.contact p:not(.eyebrow){color:var(--muted);font-size:15px}.contact a{font-size:clamp(17px,2.2vw,26px);color:var(--blue);border-bottom:1px solid var(--blue);overflow-wrap:anywhere}footer{display:flex;gap:28px;border-top:1px solid var(--line);padding-block:24px;font-size:12px;color:var(--muted)}footer span{margin-right:auto}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-block:90px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:30px}.nav nav{gap:18px}.work-grid{gap:12px}.project{padding:20px}.experience-layout{gap:45px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{align-items:flex-start;padding-block:22px}.nav nav{gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.nav nav>a:first-child,.nav nav>a:nth-child(3){display:none}.nav-contact{padding:5px 9px}.wordmark{font-size:14px}.wordmark span{font-size:10px}.hero{grid-template-columns:1fr;padding-block:42px;gap:32px}h1{font-size:48px}.intro{font-size:18px}.portrait{max-width:460px}.portrait img{width:52%;aspect-ratio:1;object-position:center}.stats{gap:20px;grid-template-columns:1fr;padding-block:25px}.stats>div,.stats>div:first-child{padding:0 0 20px;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:125px 1fr;gap:15px;align-items:center}.stats>div:last-child{border:0;padding:0}.stats strong{font-size:36px}.stats strong span{font-size:14px}.stats p{margin:0}.section{padding-block:55px}.work-grid,.experience-layout,.skills-grid,.contact{grid-template-columns:1fr}.work-grid{gap:20px}.project{padding:26px}.experience-layout{gap:40px}.skills-grid{gap:28px}.contact{gap:22px}.contact .eyebrow{margin:0}footer{flex-wrap:wrap;gap:12px 24px}footer span{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.nav nav,.actions,details,.contact,footer,.skip{display:none}.wrap{width:100%}.hero{padding:20px 0}.section{padding:25px 0}.experience-band{background:white;color:var(--ink)}.experience-band p,.timeline p:not(.date){color:var(--muted)}.project{break-inside:avoid}.portrait{max-width:240px}.work-grid{display:block}.project{margin-bottom:15px}}

/* Keep longer project labels readable beside their expand controls. */
.project summary{gap:12px;align-items:flex-start}.project summary>span{flex-shrink:0}

.stats .winback-metric{white-space:nowrap}@media(max-width:760px){.stats .winback-metric{font-size:26px}}

.result .personalization-metric{font-size:clamp(27px,3.2vw,43px);white-space:nowrap}

@media(max-width:760px){.hero>.portrait{order:-1}}

@media(max-width:760px){.hero>.portrait{justify-self:start;text-align:left}.hero>.portrait img{margin-inline:0}}

.stats .winback-metric{display:inline-flex;align-items:center;gap:.22em}.stats .winback-metric>span{line-height:1}@media(max-width:760px){.stats strong:not(.winback-metric){font-size:30px}.stats strong:not(.winback-metric)>span{display:block;margin-top:4px}}

.stats .winback-metric{flex-wrap:wrap;column-gap:.22em;row-gap:4px}.stats .winback-metric>.winback-values{display:inline-flex;align-items:center;gap:.22em;font-size:inherit;letter-spacing:inherit;line-height:1.2}.stats .winback-metric>.metric-period{align-self:flex-end;line-height:1.4}@media(max-width:760px){.stats .winback-metric>.metric-period{flex-basis:100%;line-height:1.2}}
