/* Case studies: readable, image-led chapters built from the portfolio material. */
.case-hero .hero-subtitle{white-space:normal}
.case-hero .role-detail{max-width:55ch}
.case-hero .role-value{text-wrap:balance}
.case-hero .stats{margin-top:32px}
.case-section .section-body>p{line-height:1.65}
.case-section .insight p{line-height:1.6}
.case-section.layout-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.case-section.layout-editorial .section-body{grid-column:2;grid-row:1;align-self:end;padding:0}
.case-section.layout-editorial .section-heading{grid-column:1;grid-row:1}
.case-section.layout-editorial .section-visuals{grid-column:1/-1;grid-row:2}
.case-section.layout-editorial .section-visuals img{max-height:650px}
body[data-project=glancemap] .case-section[id^=process]{grid-template-columns:1.25fr .75fr;column-gap:56px}
body[data-project=glancemap] .case-section[id^=process]>.section-heading{grid-column:1/-1}
body[data-project=glancemap] .case-section[id^=process]>.section-visuals{grid-column:1;grid-row:2}
body[data-project=glancemap] .case-section[id^=process]>.section-body{grid-column:2;grid-row:2;position:static}
body[data-project=glancemap] .case-section[id^=process] .figure-pair{grid-template-columns:1fr;gap:18px}
body[data-project=glancemap] .case-section[id^=process] .figure-media{padding:0}
body[data-project=glancemap] .case-section[id^=process] img{max-height:245px}
body[data-project=glancemap] .case-section[id^=process] figcaption{font-size:13px;padding-top:8px}
body[data-project=glancemap] .case-section[id^=process] blockquote{font-size:23px;line-height:1.4;padding:20px 0;border-top:1px solid var(--line);margin-top:20px}
body[data-project=glancemap] .case-section[id^=process] blockquote cite{font-size:12px;display:block;margin-top:12px;color:var(--muted)}
.glance-walking,.glance-study{display:block!important;padding:80px 0!important}
.glance-walking h2,.glance-study h2{font-size:clamp(32px,3.3vw,49px);max-width:24ch;line-height:1.1}
.walking-story{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center;margin-top:36px}
.walking-art{position:relative;width:100%;max-width:680px}
.walking-art>img{width:100%;height:auto;display:block}
.walk-tag{position:absolute;color:var(--accent);background:#101210;border:1px solid #83b84388;border-radius:3px;padding:8px 12px;box-shadow:0 8px 30px #0006;font-size:clamp(12px,1.4vw,19px);white-space:nowrap}
.walk-tag b{margin-right:8px;font-size:.72em;opacity:.65}.tag-one{left:48%;top:12%}.tag-two{left:6%;top:42%}.tag-three{left:65%;top:76%}
.walk-step{padding:24px 0;border-bottom:1px solid var(--line)}
.walk-step span{color:var(--accent);font-size:11px;letter-spacing:.08em}.walk-step h3{font-size:clamp(21px,2vw,29px);font-weight:500;margin:10px 0}.walk-step p{font-size:16px;max-width:34ch;color:var(--muted);line-height:1.6}
[data-sequence]{opacity:0;transform:translateY(18px);transition:opacity .45s,transform .65s cubic-bezier(.2,.65,.2,1)}[data-sequence].sequence-visible{opacity:1;transform:none}
.editorial-question{border-left:2px solid var(--accent);padding:14px 24px;margin:32px 0 0 auto;max-width:830px;font-size:clamp(20px,2.2vw,30px);line-height:1.4}
.study-deck{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin:30px 0 32px}.study-deck>p{font-size:17px;line-height:1.7;color:var(--muted)}
.study-deck dl{display:flex;justify-content:space-between;gap:24px}.study-deck dt{font-size:29px;color:var(--accent)}.study-deck dd{font-size:12px;margin:5px 0 0;color:var(--muted)}
.route-story{position:relative}.route-map{width:min(68%,760px);margin:0 auto 80px}.route-map img{display:block;width:100%;height:auto}
.route-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.route-leaders path{stroke:var(--accent);stroke-width:1.25;opacity:.65;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s ease}.route-leaders path:nth-child(2){transition-delay:.15s}.route-leaders path:nth-child(3){transition-delay:.3s}.route-leaders circle{fill:var(--accent);opacity:0;transition:opacity .4s}.route-visible .route-leaders path{stroke-dashoffset:0}.route-visible .route-leaders circle{opacity:1}
.route-people{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;position:relative}.route-person{margin:0}.route-person-art{height:210px;display:flex;justify-content:center;align-items:end}.route-person-art img{width:auto;max-width:100%;max-height:210px;object-fit:contain}
.route-person figcaption{display:flex;gap:14px;border-top:1px solid var(--line);padding:20px 0 0;margin-top:24px}.route-person figcaption>span{color:var(--accent);font-size:12px}.route-person strong{font-size:19px;font-weight:500}.route-person p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:8px}
.route-study-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.route-study-notes>p{font-size:14px;line-height:1.7;color:var(--muted)}.route-study-notes b{color:var(--ink);font-size:16px}.route-study-notes blockquote{margin:0;font-size:19px;line-height:1.45;border:0;padding:0}.route-study-notes cite{display:block;font:400 12px/1.5 var(--font-body);color:var(--muted);margin-top:12px}.study-voices{display:flex;gap:48px;margin-top:28px}.study-voices p{flex:1;font-size:14px;color:var(--muted);line-height:1.6}.study-voices b{color:var(--ink)}
.project-next-home .next-project-name{font-size:clamp(30px,5vw,64px)}
@media(max-width:700px){
 .case-section.layout-editorial,.walking-story,.study-deck{display:block}
 .case-section.layout-editorial .section-body{padding-top:10px}.walking-copy{display:grid;grid-template-columns:1fr;gap:0;margin-top:20px}.walking-art{max-width:500px;margin:auto}.walk-step{padding:16px 0}.walk-step p{max-width:none}.glance-walking,.glance-study{padding:56px 0!important}.study-deck dl{justify-content:flex-start;margin-top:24px;gap:38px}.route-map{width:94%;margin-bottom:62px}.route-person-art,.route-person-art img{max-height:140px;height:140px}.route-person-art img{height:auto}.route-people{gap:4%}.route-person figcaption{display:block;padding-top:12px;margin-top:14px}.route-person strong{font-size:15px;display:block;margin-top:7px}.route-person p{font-size:12px}.route-study-notes{grid-template-columns:1fr;gap:24px}.study-voices{display:block}.study-voices p+p{margin-top:14px}.editorial-question{padding:8px 16px}.route-leaders path{stroke-width:1}
 body[data-project=glancemap] .case-section[id^=process] .figure-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){[data-sequence]{opacity:1;transform:none;transition:none}.route-leaders path{stroke-dashoffset:0;transition:none}.route-leaders circle{opacity:1}}

.hero-outcome{padding:0 0 18px;margin-top:20px}.hero-outcome>span{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;margin-bottom:9px}.hero-outcome>p{font-size:16px;line-height:1.55;color:var(--ink)}
