:root{--paper:#f5faf5;--mint:#d5f1d8;--ink:#193a2b;--muted:#4f6557;--line:#193a2b30;--serif:'Fraunces',Georgia,serif;--sans:'Inter',Arial,sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;scroll-behavior:smooth;scroll-padding-top:105px}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-underline-offset:5px}
button,a,summary{-webkit-tap-highlight-color:transparent}
.wrap{max-width:1200px;width:calc(100% - 80px);margin-inline:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.055em;line-height:1.04}
p{line-height:1.75}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:600}
.preview-label{font-size:.75rem;color:var(--muted);letter-spacing:.05em}
.header-link{font-size:.875rem;text-decoration:none;display:flex;gap:18px;align-items:center}
.header-link:hover{text-decoration:underline}
.highlight{position:relative;isolation:isolate;white-space:nowrap}
.highlight::before{content:'';position:absolute;inset:50% -.035em -.01em;background:var(--mint);z-index:-1;border-radius:3px;transform:rotate(-2deg)}
.portrait{padding-top:5px;transform:rotate(2deg);max-width:450px;width:100%}
.portrait-frame{position:relative;border-radius:43% 57% 47% 53% / 49% 42% 58% 51%}
.portrait-frame::before{content:"";position:absolute;inset:-12px -10px;border:1px solid #193a2b40;border-radius:48% 52% 43% 57% / 44% 47% 53% 56%;transform:rotate(-7deg);pointer-events:none}
.portrait-frame img{display:block;width:100%;height:auto;aspect-ratio:1/1.05;object-fit:cover;border-radius:inherit}
.scope{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);padding-block:30px 40px;margin-bottom:15px}
.scope>div{display:flex;flex-direction:column-reverse;gap:8px;padding-left:42px;border-left:1px solid var(--line)}
.scope>div:first-child{padding-left:0;border:0}
.scope dd{font-family:var(--serif);font-size:3.4rem;letter-spacing:-.05em;line-height:1;margin:0}
.scope dd span{font-size:1.65rem}
.scope dt{font-size:.875rem;color:var(--muted)}
.career{background:var(--paper);padding:85px 0 95px;border-top:1px solid var(--line);scroll-margin-top:85px}
.section-intro{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:45px}
.section-intro h2{font-size:clamp(2.6rem,4.1vw,3.6rem);margin-top:15px}
.section-intro>p{font-size:.9rem;color:var(--muted)}
.career-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:55px;align-items:start}
.chapter-list{display:flex;flex-direction:column;position:sticky;top:108px}
.chapter{display:flex;flex-direction:column;padding:20px 18px;border-top:1px solid var(--line);text-decoration:none;transition:background .2s,transform .2s}
.chapter:last-child{border-bottom:1px solid var(--line)}
.chapter:hover{background:#d5f1d888;transform:translateX(3px)}
.chapter.active{background:var(--ink);color:var(--paper);border-radius:10px;border-color:transparent}
.chapter-top{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.035em}
.chapter strong{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;font-size:1.8rem;margin-top:9px}
.chapter>span:last-child{font-size:.8rem;margin-top:5px;line-height:1.5}
.story{background:var(--paper);padding:40px;border-radius:4px 28px 4px 4px;border:1px solid var(--line);box-shadow:5px 5px 0 #193a2b08;scroll-margin-top:110px}
.story+.story{margin-top:32px}
.story-meta{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted);letter-spacing:.035em}
.story h3{font-size:clamp(2.7rem,4.7vw,4.2rem);margin-block:28px 18px}
.role{font-weight:500;font-size:.875rem;line-height:1.65}
.role span{font-weight:400;color:var(--muted);display:block}
.story-lead{color:var(--muted);margin-top:18px;font-size:1rem;max-width:60ch}
.metric-hint{font-size:.75rem;color:var(--muted);margin-top:34px;margin-bottom:10px}
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}
.result{border-top:1px solid var(--ink)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.result summary{padding:17px 0 12px}
.result-value{font-family:var(--serif);font-size:3.45rem;letter-spacing:-.06em;line-height:1.1;display:block;transition:transform .2s}
.result-value>span{font-size:2rem}
.result-label{display:flex;gap:6px;justify-content:space-between;align-items:center;font-size:.75rem;line-height:1.5;margin-top:12px}
.result i{font-style:normal;font-size:1rem;width:18px;flex:none;text-align:center;transition:transform .2s}
.result[open] i{transform:rotate(45deg)}
.result summary:hover .result-value{transform:translateY(-3px)}
.result p{font-size:.875rem;color:var(--muted);padding:3px 0 16px;line-height:1.65}
.shift{background:var(--mint);padding:22px 24px;margin-top:28px;border-radius:7px}
.shift>div{display:flex;align-items:center;gap:20px;margin-block:13px 10px;font-family:var(--serif);font-size:2rem;letter-spacing:-.03em}
.shift-line{height:1px;background:var(--ink);flex:1;position:relative}
.shift-line::after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);transform:rotate(45deg)}
.shift strong{font-weight:500}
.shift p{font-size:.875rem}
.wider{margin-top:27px;border:0}
.wider summary{padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;font-family:var(--serif);font-size:1.5rem;letter-spacing:-.025em;font-weight:500}
.wider summary:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.wider summary span{position:relative;display:block;width:24px;height:24px;flex:none;font-size:0}
.wider summary span::before,.wider summary span::after{content:"";position:absolute;left:4px;top:11px;width:16px;height:1.5px;background:currentColor;transition:transform .2s}
.wider summary span::after{transform:rotate(90deg)}
.wider[open] summary span::after{transform:rotate(0)}
.wider ul{padding:0 0 0 19px;margin:22px 0 24px}
.wider li{padding-left:5px;margin-top:13px;font-size:.9rem;line-height:1.7;color:var(--muted)}
.small-note{font-size:.8rem;color:var(--muted);padding-bottom:20px}
.contact{background:var(--ink);color:var(--paper);padding:80px 0 35px}
.contact h2{font-size:clamp(3rem,5.8vw,5.2rem);margin:25px 0 30px}
.email{display:inline-flex;gap:30px;text-decoration:none;font-size:clamp(1.05rem,2vw,1.5rem);border-bottom:1px solid #f5faf580;padding-bottom:8px}
.contact-bottom{border-top:1px solid #ffffff30;display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:55px;padding-top:26px;font-size:.8rem}
.contact-bottom a{text-decoration:none}
.contact-bottom a:hover{text-decoration:underline}
.contact-bottom>span{margin-left:auto;color:#c2d4c7}
[hidden]{display:none!important}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}
.career-layout{grid-template-columns:205px minmax(0,1fr);gap:25px}
.story{padding:28px}
.section-intro>p{max-width:30ch}
.result-value{font-size:2.7rem}
.result-value>span{font-size:1.5rem}
.result-label{font-size:.75rem}
.results{gap:10px}
}
@media(max-width:680px){.preview-label{display:none}
.header-link{font-size:.8rem;gap:8px}
.wrap{width:calc(100% - 40px)}
.portrait{width:74%;max-width:330px;justify-self:center}
.scope{gap:15px;padding-block:25px 32px}
.scope>div{padding-left:14px}
.scope dd{font-size:2.5rem}
.scope dd span{font-size:1.1rem}
.scope dt{font-size:.75rem;line-height:1.5}
.career{padding-block:55px}
.section-intro{display:block;margin-bottom:30px}
.section-intro>p{margin-top:20px;max-width:none}
.section-intro h2{font-size:2.75rem}
.career-layout{display:block}
.chapter-list{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:7px;margin-bottom:25px}
.chapter{padding:13px 14px;border:1px solid var(--line);border-radius:8px}
.chapter strong{font-size:1.45rem;margin-top:6px}
.chapter>span:last-child{font-size:.75rem}
.chapter-top{font-size:.7rem}
.story{padding:25px 20px;border-radius:4px 23px 4px 4px}
.story h3{font-size:3rem}
.story-meta{font-size:.7rem}
.results{gap:12px}
.result-value{font-size:2.45rem}
.result-value>span{font-size:1.3rem}
.result-label{display:block;position:relative;padding-right:12px}
.result i{position:absolute;right:-2px;top:0;width:12px}
.result p{font-size:.8rem}
.shift{padding:20px}
.shift>div{gap:15px;font-size:1.7rem}
.contact{padding-top:55px}
.contact-bottom{gap:22px}
.contact-bottom>span{margin:6px 0 0;width:100%}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}
.result-value.compact{font-size:2.85rem}
.result-value.word{font-size:2.6rem}
.results-words .result-value.word{font-size:2rem}
.story[role="tabpanel"]{min-height:710px}
.story[role="tabpanel"]+.story{margin-top:0}
@supports(interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}details::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .25s,opacity .25s,content-visibility .25s;transition-behavior:allow-discrete}details[open]::details-content{block-size:auto;opacity:1}}
@media(max-width:900px){.result-value.compact{font-size:2.2rem}
.result-value.word{font-size:2rem}
.results-words .result-value.word{font-size:1.45rem}
.shift>div{font-size:1.6rem}
}
@media(max-width:680px){.story[role="tabpanel"]{min-height:0}
.result-value.compact{font-size:2rem}
.result-value.word{font-size:1.8rem}
.results-words .result-value.word{font-size:1.35rem}
.shift>div{font-size:1.5rem;gap:12px}
}
@media print{.wrap{width:100%;max-width:none}
.portrait{max-width:230px}
.scope{padding:20px 0}
.career{background:white;padding:25px 0}
.career-layout{display:block}
.story[hidden]{display:block!important}
.story{margin:20px 0!important;break-inside:avoid;box-shadow:none;min-height:0!important}
.story h3{font-size:2.5rem}
.story details::details-content{display:block!important;content-visibility:visible!important;block-size:auto!important;opacity:1!important}
.result p,.wider ul,.wider .small-note{display:block!important}
.contact{background:white;color:#193a2b;padding:20px 0}
.contact h2{font-size:2rem}
.contact-bottom>span{color:#4f6557}
.section-intro>p{display:none}
}

/* Keep the small-screen version readable when result details are open. */
.result-label,.chapter>span:last-child,.metric-hint,.contact-bottom{font-size:.875rem}
.result p{font-size:1rem}
.scope dt{font-size:.875rem}
@media(max-width:680px){.scope dt{font-size:.8rem}
.chapter>span:last-child{font-size:.8rem}
.results{display:block}
.result summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:17px 0}
.result-value,.result-value.compact,.result-value.word,.results-words .result-value.word{width:auto;min-width:115px;flex:none;font-size:2.6rem}
.result-value.word,.results-words .result-value.word{font-size:1.8rem}
.result-label{margin:0;flex:1 1 130px;min-width:0;font-size:.875rem;padding-right:16px}
.result p{font-size:1rem}
.shift>div{flex-wrap:wrap}
.shift-line{min-width:20px}
.contact-bottom{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){details::details-content{transition:none!important}
}

.cv-hero .highlight{white-space:normal;background:#f5faf599;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.scope{border-top:0;padding-top:40px;margin-top:0}
@media(max-width:680px){.scope{padding-top:28px}
}
@media(max-width:900px){.scope>div{padding-left:20px}
}
@media(max-width:680px){.scope{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.scope>div{padding-left:18px}
.scope>div:nth-child(odd){padding-left:0;border-left:0}
}

.cv-hero .highlight::before{display:none}

.section-intro>div{max-width:680px}
.section-intro>p{flex-shrink:0}
@media(max-width:900px){.section-intro>p{flex-shrink:1}
}

.story-lead+.results{margin-top:34px}

#career-heading .highlight{white-space:normal;background:var(--mint);border-radius:5px;padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
#career-heading .highlight::before{display:none}

/* Accent panels with a stronger contrast for the outcome block. */
.story{background:radial-gradient(ellipse 110% 340px at 50% 0,rgba(181,224,188,.48),rgba(213,241,216,.2) 52%,rgba(213,241,216,0) 100%),var(--paper)}

.story .shift{background:var(--mint);color:var(--ink)}

.story .shift-line{background:currentColor}

.story .wider summary:hover{background:transparent}

.story .shift-line::after{border-color:currentColor}

/* Qualitative achievements read as stories, with the outcome before the detail. */
.achievements{margin-top:34px}

.achievement{padding:22px 0;border-top:1px solid var(--line)}

.achievement:last-child{padding-bottom:0}

.achievement h4{margin:0 0 10px;font-family:var(--serif);font-size:1.55rem;font-weight:500;letter-spacing:-.035em;line-height:1.2;text-wrap:balance}

.achievement p{max-width:62ch;color:var(--muted);font-size:.9375rem;line-height:1.7}

/* Reuse the service-page hero layout, retaining the CV portrait treatment. */

.playroom .cv-hero .portrait{padding:0;max-width:none;width:80%;justify-self:center;margin-inline:auto}
@media(max-width:800px){.playroom .cv-hero .portrait{max-width:360px}}

@media print{.playroom .cv-hero{background:white;margin:0;padding:20px 0;overflow:visible}
.playroom .cv-hero::after{display:none}
.playroom .cv-hero .service-hero-inner{grid-template-columns:1.5fr 1fr}
.cv-hero .portrait{max-width:230px}
}

.story:focus-visible{outline:2px solid var(--ink);outline-offset:5px}

/* Reserve the same numeric row height for standard and compact desktop stats. */
@media(min-width:681px){.result-value{min-height:3.8rem}}
@media(min-width:681px) and (max-width:900px){.result-value{min-height:2.97rem}}
