/* Case typography uses the same roles, colors and sizes as the home. */
:root,body{background:var(--bg);color:var(--fg)}
body{font-size:var(--text-body);line-height:var(--text-body-leading)}
.hero>h1{font-size:var(--text-title);font-weight:500;line-height:1.4}
.hero>h2,.chapter>header h2,.case-topic>h3{
  font-size:var(--text-body);line-height:var(--text-body-leading);font-weight:400;letter-spacing:0;color:var(--text-section-color);
}
.hero-intro,.chapter header>.intro,.case-topic>p,.customer-journey p,.solution-copy p,.project-statement .statement-detail,.qa-record p,.reflection-list li,.outcomes p,.roadmap-reflection p{
  font-size:var(--text-body);line-height:var(--text-body-leading);font-weight:400;letter-spacing:0;color:var(--muted);
}
.schedule-context{font-size:var(--text-body)!important;line-height:var(--text-body-leading);color:var(--muted)}
.customer-journey h4,.solution-copy h3,.qa-record h4,.outcomes h3,.wf-heading>strong{
  font-size:var(--text-label-small);font-weight:500;line-height:1.5;letter-spacing:0;color:var(--fg);
}
.project-statement .statement-text,.project-framing .statement-text,.project-framing #ideia-central .statement-text{font-size:var(--text-title);font-weight:500;line-height:1.4;letter-spacing:0;color:var(--fg)}
.eyebrow,.solution-copy .eyebrow,.project-statement h3,.overview span,.overview strong,.store-facts span,.store-facts strong,.outcomes span,.source-note,.scope-note,.solution-route,.roadmap-reflection h4,.research-participants li,.store-carousel-position,.end,
.film figcaption,.wireframe-board figcaption,.store-gallery figcaption,.brand-photos figcaption,figcaption,
.roadmap-stage,.roadmap-table caption,.roadmap-table thead th,.roadmap-table .roadmap-duration,.roadmap-table .roadmap-undated{
  font-size:var(--text-body-small);line-height:var(--text-body-small-leading);font-weight:400;letter-spacing:0;color:var(--muted);
}
.overview strong,.store-facts strong{color:var(--fg)}
.eyebrow,.project-statement h3,.overview span,.outcomes span,.roadmap-stage{text-transform:none}
.eyebrow,.overview span,.outcomes span{color:var(--text-section-color)}
.schedule-footnote{font-size:var(--text-body-small)!important;line-height:var(--text-body-small-leading);color:var(--muted)}
.source-note{font-size:var(--text-body-small)!important;color:var(--muted)!important}
main strong,.reflection-list strong{color:var(--fg);font-weight:500}
main a{color:var(--fg)}
.case-nav a{font-size:var(--text-body-small);line-height:var(--text-body-small-leading);color:var(--text-section-color)}
.case-nav a:hover,.case-nav a[aria-current]{color:var(--fg)}
.case-nav .link-label::before{background:transparent}
.case-nav a[aria-current] .link-label::after{transform:scaleX(1)}
.project-back{color:var(--muted)}
.project-back:hover{color:var(--fg);background:var(--soft)}
.project-back:focus-visible,main a:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.project-statement,.project-framing .project-statement,.customer-journey .journey-focus{background:var(--soft);border-color:var(--line)}
.overview,.end,.qa-record,.outcomes article,.customer-journey li,.research-participants li,.roadmap-reflection{border-color:var(--line)}
.table-scroll thead th{background:var(--soft);color:var(--fg)}
.table-scroll th,.table-scroll td{font-size:var(--text-body-small);line-height:var(--text-body-small-leading);border-color:var(--line)}
.table-scroll td{color:var(--muted)}
.research-participants a:hover span{text-decoration:none}
.research-participants a:hover,.research-participants a:hover svg{color:var(--fg)}
.research-participants svg{color:var(--muted)}
.store-carousel-controls button{background:var(--bg);color:var(--muted);border-color:var(--line)}
.store-carousel-controls button:hover:not(:disabled){background:var(--soft);color:var(--fg)}
/* Diagram interiors retain their source palette; captions follow the site. */
.wireframe-board{--fg:#1a1a1a;--muted:#666;background:#f8f8f8;color:#1a1a1a;border-color:var(--line)}
.wireframe-board strong,.wireframe-board .wf-heading>strong{color:#1a1a1a}
.wireframe-board figcaption{color:#666}
@media(max-width:999.98px){.case-chrome{background:color-mix(in srgb,var(--bg) 97%,transparent);border-color:var(--line)}}

/* Follow the row in view while preserving its activity and duration. */
.roadmap-scroll{--roadmap-work:260px;--roadmap-duration:90px;max-height:min(640px,72dvh);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-color:var(--line);background:var(--bg)}
.roadmap-table{min-width:calc(var(--roadmap-work) + var(--roadmap-duration) + 480px);border-collapse:separate;border-spacing:0}
.roadmap-work-col{width:var(--roadmap-work)}
.roadmap-duration-col{width:var(--roadmap-duration)}
.roadmap-month-col{width:auto}
.roadmap-table caption{background:var(--bg);border-color:var(--line)}
.roadmap-table th,.roadmap-table td{border-color:var(--line);padding:14px 12px}
.roadmap-table thead th{background:var(--soft);border-color:var(--line);box-shadow:0 1px var(--line)}
.roadmap-table tbody th,.roadmap-table .roadmap-duration{position:sticky;background:var(--bg);box-shadow:1px 0 var(--line);z-index:2}
.roadmap-table tbody th{left:0}
.roadmap-table .roadmap-duration{left:var(--roadmap-work)}
.roadmap-table thead th:first-child{left:0;z-index:5;box-shadow:1px 0 var(--line),0 1px var(--line)}
.roadmap-table thead th:nth-child(2){left:var(--roadmap-work);z-index:5;box-shadow:1px 0 var(--line),0 1px var(--line)}
.roadmap-table .roadmap-month{border-color:var(--line);background:linear-gradient(to right,transparent 49.5%,var(--soft) 49.5%,var(--soft) 50.5%,transparent 50.5%)}
.roadmap-table .roadmap-undated{background:var(--soft)}
.roadmap-table a{font-size:var(--text-body-small);line-height:var(--text-body-small-leading);font-weight:500;color:var(--fg)}
.roadmap-table .roadmap-active>th,.roadmap-table .roadmap-active>.roadmap-duration{background:var(--soft)}
.roadmap-active .roadmap-bar{background:var(--fg)}
@media(min-width:1280px){.roadmap-scroll{width:min(860px,calc(100vw - 500px));position:relative;left:50%;transform:translateX(-50%)}}
@media(max-width:600px){.roadmap-scroll{--roadmap-work:246px;--roadmap-duration:76px}.roadmap-table th,.roadmap-table td{padding:12px 8px}.roadmap-related th[scope=row]{padding-left:14px}}
@media print{.roadmap-scroll{width:100%;max-height:none;overflow:visible;left:auto;transform:none}.roadmap-table{min-width:0}.roadmap-table th,.roadmap-table .roadmap-duration{position:static}}

.roadmap-table tbody th a{white-space:nowrap}
.roadmap-table tbody th,.roadmap-table tbody td{padding-top:8px;padding-bottom:8px;border-bottom:0}
.roadmap-table tbody th[scope=row]{padding-left:12px}
.roadmap-table tbody tr:first-child>*{border-top:1px solid var(--line)}
.roadmap-table tbody:first-of-type tr:first-child>*{border-top:0}
.roadmap-table tbody tr:first-child>th{padding-top:14px}
.roadmap-table tbody tr:last-child>*{padding-bottom:14px}
.roadmap-table tbody tr:first-child>.roadmap-duration,.roadmap-table tbody tr:first-child>.roadmap-month,.roadmap-table tbody tr:first-child>.roadmap-undated{padding-top:39px}
.roadmap-stage{margin-bottom:6px}
@media(max-width:600px){.roadmap-table tbody th,.roadmap-table .roadmap-duration{position:static}.roadmap-table thead th:first-child,.roadmap-table thead th:nth-child(2){left:auto}.roadmap-scroll{scroll-padding-left:0}}

/* Paired pain points and responses share the interview table design. */
.solution-comparison{width:100%;overflow:visible}
.solution-comparison table{min-width:0;table-layout:fixed}
.solution-comparison th,.solution-comparison td{width:50%;overflow-wrap:break-word}
.solution-comparison td+td,.solution-comparison th+th{border-left:1px solid var(--line)}

.intro-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
.intro-photos img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}
.intro-photos figure:first-child img{object-position:50% 86%}
.intro-photos figure:last-child img{object-position:50% 52%}
@media(max-width:550px){.intro-photos{gap:12px}}
