.review-banner { padding: 9px 24px; text-align: center; background: #e8a33d; color: #101418; font-size: .8rem; font-weight: 800; }
.review-banner span { font-weight: 500; }
.case-skip { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 12px 20px; background: white; color: #101418; }
.case-skip:focus { top: 12px; }
.case-page a:focus-visible { outline: 3px solid #5c93a3; outline-offset: 5px; }
.case-hero { padding: 76px 0 0; color: var(--chalk); background: radial-gradient(ellipse at 80% 30%, #303932, transparent 60%), var(--ink); }
.case-hero-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.case-hero h1 { margin: 22px 0; font-size: clamp(2.9rem, 5.4vw, 4.8rem); line-height: 1.04; letter-spacing: -.055em; }
.case-hero h1 em { color: var(--marigold); font-style: normal; }
.case-lead { max-width: 490px; margin: 24px 0 30px; font-size: 1.15rem; color: var(--chalk-dim); }
.case-byline { margin-top: 22px; font-size: .78rem; color: var(--chalk-dim); }
.case-hero-figure { margin: 0; min-width: 0; }
.case-browser-bar { display: flex; align-items: center; gap: 28px; padding: 13px 18px; border: 1px solid #49504a; border-bottom: 0; border-radius: 12px 12px 0 0; background: #282e2a; color: #d8ddce; font-size: .75rem; }
.case-browser-bar span { letter-spacing: 3px; color: #e8a33d; }
.case-hero-figure img { display: block; width: 100%; height: auto; border-radius: 0 0 10px 10px; box-shadow: 0 28px 55px #0004; }
.case-page figcaption { margin-top: 16px; font-size: .78rem; line-height: 1.6; }
.case-hero-figure figcaption { color: var(--chalk-dim); }
.case-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 62px 0 0; padding: 30px 0; border-top: 1px solid #ffffff26; }
.case-facts dt { margin-bottom: 9px; color: var(--chalk-dim); text-transform: uppercase; font-size: .66rem; letter-spacing: .12em; }
.case-facts dd { margin: 0; font-size: .9rem; font-weight: 700; }
.case-section, .case-solution, .case-takeaway { padding: clamp(64px, 8vw, 108px) 0; }
.case-story-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; }
.case-page h2 { margin: 18px 0 0; font-size: clamp(2.15rem, 3.7vw, 3.35rem); line-height: 1.1; letter-spacing: -.045em; }
.case-prose { padding-top: 24px; border-top: 1px solid #10141830; }
.case-prose p { margin: 0 0 22px; font-size: 1.08rem; line-height: 1.8; color: #3e484e; }
.case-inline-link { color: #263f35; font-weight: 800; text-underline-offset: 5px; }
.case-solution { background: #202725; color: var(--chalk); }
.case-section-heading { max-width: 740px; }
.case-section-heading > p { color: var(--chalk-dim); margin: 24px 0 0; font-size: 1.1rem; max-width: 570px; }
.case-feature-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 58px; margin-top: 48px; align-items: start; }
.case-menu-figure { margin: 0; }
.case-menu-figure img { display: block; width: 100%; height: auto; border-radius: 12px; }
.case-menu-figure figcaption { color: var(--chalk-dim); }
.case-feature-list article { display: flex; gap: 20px; padding: 23px 0; border-top: 1px solid #ffffff26; }
.case-feature-list article:first-child { padding-top: 0; border-top: 0; }
.case-feature-list article > span { padding-top: 4px; font-size: .74rem; color: var(--marigold); font-weight: 800; }
.case-feature-list h3 { margin: 0; font-size: 1.24rem; line-height: 1.3; }
.case-feature-list p { margin: 10px 0 0; color: var(--chalk-dim); font-size: .98rem; line-height: 1.7; }
.case-takeaway { background: #e6dfd1; }
@media (max-width: 900px) {
  .case-hero-grid, .case-story-grid, .case-feature-grid { grid-template-columns: 1fr; gap: 38px; }
  .case-hero h1 { font-size: clamp(3rem, 8vw, 4.8rem); }
  .case-hero-figure { max-width: 680px; }
  .case-facts { grid-template-columns: repeat(2, 1fr); }
  .case-menu-figure { max-width: 680px; }
}
@media (max-width: 480px) {
  .case-hero { padding-top: 44px; }
  .case-facts { margin-top: 38px; gap: 26px 18px; }
  .case-facts dd { font-size: .82rem; }
  .case-byline { line-height: 1.7; }
  .case-page .about-primary-link { width: 100%; padding-inline: 12px; font-size: .9rem; }
}
