/* Analytical case pages. Typography follows the approved company site. */
.case-page .case-hero{padding:55px 0 65px}.case-hero h1{font-size:clamp(44px,6.4vw,86px);line-height:1.03;letter-spacing:-.055em;max-width:1050px;margin:25px 0}.case-hero .case-dek{font-size:20px;line-height:1.6;max-width:820px;color:var(--room-muted)}.case-jumps{display:flex;gap:16px 30px;flex-wrap:wrap;padding:25px 0;border-block:1px solid var(--room-line)}.case-jumps a{font-size:13px;color:var(--room-muted);min-height:38px;display:flex;align-items:center}.case-jumps a:hover{color:var(--teal-bright)}.case-context{padding:30px 0 0;max-width:900px;line-height:1.7;color:var(--room-muted);font-size:16px}.case-context a{color:var(--room-text);text-decoration:underline;text-underline-offset:3px}.case-panel{padding:68px 0;border-bottom:1px solid var(--room-line);scroll-margin-top:25px}.case-panel>.wrap{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.65fr);gap:65px;align-items:start}.case-reading h2{font-size:30px;line-height:1.18;letter-spacing:-.035em;margin:0 0 24px}.case-reading p{color:var(--room-muted);font-size:16px;line-height:1.75;margin:0 0 20px}.case-chart{margin:0;min-width:0}.case-chart figcaption h3{font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.25;margin:0 0 11px}.case-chart figcaption p{font-size:13px;color:var(--room-muted);line-height:1.6;margin:0;max-width:830px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px 24px;padding:23px 0 12px;min-height:38px}.chart-legend span{font-size:12px;line-height:1.5;color:#c5d3d5;display:inline-flex;gap:10px;align-items:center}.chart-legend i{width:20px;border-top:2px solid var(--series-color);display:inline-block}.chart-legend span:nth-child(2) i{border-top-style:dashed}.chart-legend span:nth-child(3) i{border-top-style:dotted}.chart-legend span:nth-child(4) i{border-top-style:dashed}.chart-body{position:relative}.chart-surface{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#49676f #0b1519;overscroll-behavior-inline:contain}.chart-surface svg{display:block;max-width:none;font-family:var(--sans)}.chart-label{font-size:13px;fill:#adc0c5}.chart-grid{stroke:#284047;stroke-width:1}.chart-zero{stroke:#92a7ac;stroke-width:1}.chart-cell{font-size:12px;fill:#e2eeed}.dark-label{fill:#06242b}.chart-connector{stroke:#648089;stroke-width:1;stroke-dasharray:3 4}.chart-surface [tabindex]:focus-visible{outline:2px solid #e5efee;outline-offset:-2px}.chart-tooltip{position:absolute;z-index:3;background:#e6eeed;color:#13282d;box-shadow:0 10px 35px #0006;padding:14px 16px;font-size:12px;line-height:1.6;max-width:270px;pointer-events:none;white-space:normal}.heat-key{font-size:12px;color:#9ab3ba;margin:10px 0 0}.chart-data{border-top:1px solid var(--room-line);margin-top:18px;padding-top:8px}.chart-data summary{font-size:12px;color:#9bb5bb;padding:10px 0;cursor:pointer;min-height:40px}.chart-data summary:hover{color:var(--teal-bright)}.data-table-wrap{overflow:auto;max-height:390px}.chart-data table{border-collapse:collapse;min-width:450px;width:100%;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}.chart-data th,.chart-data td{text-align:right;padding:9px 14px;border-bottom:1px solid #284047}.chart-data th:first-child,.chart-data td:first-child{text-align:left}.chart-data thead{position:sticky;top:0;background:#122229;color:#dce8e8}.chart-data td{color:#afc1c6}.case-methods{padding:50px 0 65px}.case-methods>.wrap{max-width:1050px}.case-methods .method-summary{font-size:14px;line-height:1.75;color:#8fa7ae;margin-bottom:20px}.case-methods details{border-block:1px solid var(--room-line);padding:14px 0}.case-methods summary{font-size:15px;cursor:pointer;padding:9px 0;min-height:44px}.case-methods ul{padding-left:18px;margin:20px 0}.case-methods li,.case-methods p{font-size:14px;line-height:1.75;color:#aabdc1;margin-bottom:10px}.case-methods a{color:var(--teal-bright)}.case-methods .source-links{display:grid;gap:13px;margin:25px 0}.case-methods .archive-link{margin-top:26px}.case-page .related-reading{border-top:0}.portfolio-page .case-summary h3{max-width:1000px}.portfolio-page .case-summary .read-on{font-size:12px}.portfolio-page .case-model-note{font-size:14px;color:var(--room-muted);max-width:950px;line-height:1.7;margin:22px 0 0}
@media(min-width:1550px){.case-panel>.wrap{gap:90px}.chart-label{font-size:12px}.chart-cell{font-size:12px}}
@media(max-width:1080px){.case-panel>.wrap{grid-template-columns:1fr;gap:25px}.case-reading{max-width:830px}.case-reading h2{font-size:34px;max-width:700px}.case-reading p{font-size:17px}.case-panel{padding-block:50px}.case-chart figcaption h3{font-size:24px}}
@media(max-width:600px){.case-page .case-hero{padding:30px 0 42px}.case-hero h1{font-size:42px}.case-hero .case-dek{font-size:17px}.case-jumps{display:block;padding:12px 0}.case-jumps a{font-size:13px;min-height:40px}.case-panel{padding:38px 0}.case-panel>.wrap{gap:18px}.case-reading h2{font-size:28px}.case-reading p{font-size:16px}.case-chart figcaption h3{font-size:21px}.chart-legend{gap:8px 18px;padding-block:16px 8px}.chart-legend span{font-size:11px}.case-methods{padding:34px 0 45px}.case-context{font-size:14px}.chart-tooltip{max-width:245px}.case-methods li{font-size:13px}}
@media print{.chart-surface{overflow:visible}.chart-surface svg{width:100%;height:auto}.chart-tooltip,.chart-data{display:none}.case-panel{break-inside:avoid}.case-panel>.wrap{display:block}.case-chart{margin-top:20px}.case-methods details:not([open])>*:not(summary){display:block}}
