.case-page { color: var(--ink); background: var(--paper); }
.case-nav { min-height: 88px; padding: 20px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); background: var(--paper); }
.case-brand { display: inline-flex; align-items: center; gap: 9px; font-size: 32px; letter-spacing: -1.5px; line-height: 1; }
.case-brand svg { height: 34px; width: 34px; fill: currentColor; }
.case-back,.case-contact { font-size: 14px; }
.case-contact { border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.case-intro { padding: 42px var(--gutter) 36px; max-width: 1600px; margin: auto; }
.case-kicker { display: flex; justify-content: space-between; gap: 24px; font: 12px/1.5 var(--mono); text-transform: uppercase; }
.case-kicker span:last-child { color: var(--muted); }
.case-intro h1 { font-weight: 400; font-size: clamp(44px,5.5vw,84px); line-height: 1.07; letter-spacing: -.055em; max-width: 1150px; margin: 32px 0 25px; text-wrap: balance; }
.case-lede { max-width: 860px; font-size: clamp(19px,1.6vw,24px); line-height: 1.5; letter-spacing: -.02em; }
.case-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; padding-top: 26px; margin-top: 32px; border-top: 1px solid var(--line); }
.case-facts span { display: block; font: 11px var(--mono); color: var(--muted); text-transform: uppercase; margin-bottom: 10px; }
.case-facts p { font-size: 15px; line-height: 1.5; }
.case-cover { width: min(960px, calc(100% - var(--gutter) * 2)); margin: 0 auto; overflow: hidden; }
.case-cover img { display: block; width: 100%; height: auto; object-fit: contain; }
.case-reading { padding: 64px var(--gutter) 24px; display: grid; grid-template-columns: minmax(180px,230px) minmax(0,900px); justify-content: space-between; gap: 60px; max-width: 1600px; margin: auto; }
.case-toc { position: sticky; top: 35px; align-self: start; }
.case-toc > span { font: 11px var(--mono); text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 28px; }
.case-toc nav { border-top: 1px solid var(--line); }
.case-toc nav a { padding: 15px 0; display: flex; gap: 13px; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.45; }
.case-toc nav small { font: 10px/2 var(--mono); color: var(--muted); }
.case-toc a:hover { color: var(--accent); }
.case-toc-back { display: block; margin-top: 32px; font-size: 13px; }
.case-chapter { padding-bottom: 55px; margin-bottom: 55px; border-bottom: 1px solid var(--line); scroll-margin-top: 30px; }
.chapter-number { font: 11px var(--mono); color: var(--accent); }
.case-chapter h2 { font-size: clamp(28px,2.7vw,42px); font-weight: 400; letter-spacing: -.04em; line-height: 1.15; margin: 18px 0 27px; max-width: 730px; }
.case-prose > p { max-width: 720px; font-size: 19px; line-height: 1.75; margin-bottom: 23px; }
.case-prose > ul { padding-left: 22px; max-width: 720px; font-size: 18px; line-height: 1.7; }
.case-prose li { margin-bottom: 20px; padding-left: 6px; }
.case-prose figure { margin: 36px 0 28px; }
.case-prose img { width: 100%; height: auto; border: 1px solid var(--line); display: block; }
.case-prose figcaption,.case-prose p.study-detail-caption { font: 12px/1.6 var(--mono); color: var(--muted); margin: 13px 0; }
.case-prose figcaption a { border-bottom: 1px solid currentColor; }
.case-prose .article-callout p { font-size: 16px; }
.case-prose .text-link,.case-prose .study-detail-links { font-size: 16px; margin-top: 25px; }
.case-next { display: block; padding: 55px var(--gutter) 70px; border-top: 1px solid var(--line); background: #e3e5dc; }
.case-next > span { font: 11px var(--mono); color: var(--muted); text-transform: uppercase; }
.case-next > div { display: flex; justify-content: space-between; align-items: center; gap: 30px; font-size: clamp(30px,4vw,58px); letter-spacing: -.04em; margin-top: 20px; }
.case-next:hover { color: var(--accent); }
.case-footer { padding: 35px var(--gutter); display: flex; justify-content: space-between; gap: 30px; font-size: 13px; }
.case-footer > span { color: var(--muted); }
@media(max-width:1000px){.case-reading{grid-template-columns:170px minmax(0,1fr);gap:36px}.case-facts{grid-template-columns:1fr 1fr}.case-kicker{font-size:11px}.case-prose>p{font-size:18px}}
@media(max-width:760px){.case-nav{min-height:74px;padding:20px 22px}.case-brand{font-size:27px}.case-brand svg{width:29px;height:29px}.case-back{font-size:12px}.case-contact{display:none}.case-intro{padding:38px 22px 32px}.case-kicker{display:block}.case-kicker span{display:block;margin-bottom:8px}.case-intro h1{font-size:clamp(34px,8.4vw + 1px,42px);margin:24px 0 20px;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}.case-lede{font-size:19px}.case-facts{gap:24px;margin-top:32px}.case-facts p{font-size:13px}.case-cover{width:calc(100% - 44px);margin:0 auto}.case-cover img{aspect-ratio:8 / 5;object-fit:contain}.case-reading{display:block;padding:36px 22px 0}.case-toc{position:static;margin-bottom:45px}.case-toc>span{margin-bottom:15px}.case-toc nav{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:0}.case-toc nav a{min-width:155px;max-width:180px;flex-shrink:0;border-bottom:0;font-size:13px}.case-toc-back{display:none}.case-chapter{padding-bottom:35px;margin-bottom:40px}.case-chapter h2{font-size:30px}.case-prose>p{font-size:18px;line-height:1.7}.case-prose>ul{font-size:17px}.case-next{padding:35px 22px 45px}.case-next>div{font-size:33px}.case-footer{padding:25px 22px;flex-wrap:wrap}.case-footer>span{display:none}}

/* Reading navigation keeps every chapter accessible on narrow screens. */
.case-toc-mobile { display: none; }
.case-discuss { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; max-width: 1600px; margin: 0 auto; padding: 16px var(--gutter) 52px; }
.case-discuss h2 { font-size: clamp(24px, 2.3vw, 32px); font-weight: 400; letter-spacing: -.035em; margin: 0; }
.case-discuss > a { font-size: 16px; border-bottom: 1px solid currentColor; padding-bottom: 5px; white-space: nowrap; }
.case-discuss > a:hover { color: var(--accent); }
@media(max-width:760px) {
  .case-toc { margin-bottom: 34px; }
  .case-toc > span, .case-toc > nav { display: none; }
  .case-toc-mobile { display: block; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .case-toc-mobile summary { cursor: pointer; min-height: 52px; display: flex; align-items: center; gap: 12px; font-size: 15px; list-style: none; }
  .case-toc-mobile summary::-webkit-details-marker { display: none; }
  .case-toc-mobile summary > span { color: var(--muted); font: 12px var(--mono); }
  .case-toc-mobile summary::after { content: '+'; margin-left: auto; font: 20px var(--mono); }
  .case-toc-mobile[open] summary::after { content: '−'; }
  .case-toc-mobile nav { display: block; border-bottom: 0; overflow: visible; }
  .case-toc-mobile nav a { max-width: none; min-width: 0; min-height: 48px; align-items: baseline; border-bottom: 1px solid var(--line); padding: 13px 0; font-size: 14px; }
  .case-toc-mobile nav a:last-child { border-bottom: 0; }
  .case-discuss { display: block; padding: 8px 22px 40px; }
  .case-discuss h2 { margin-bottom: 18px; }
  .case-discuss > a { display: inline-block; }
}

.case-prose .case-results { display: grid; gap: 16px; }
.case-prose .case-results p { margin: 0; line-height: 1.55; }
.case-related{border-top:1px solid var(--line);padding:24px 0 32px}.case-related h2{font-size:21px;font-weight:400;margin-bottom:18px}.case-related a{display:block;width:fit-content;margin:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:16px}.case-related a:hover{color:var(--accent)}
