/* Case-study media preserves the source evidence and its native proportions. */
.case-study-page p { line-height: 1.65; }
.case-study-breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-6); }
.case-study-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--space-7); align-items: center; }
.case-study-intro h1 { max-width: 18ch; }
.case-study-lede { font-size: 1.3rem; max-width: 38ch; }
.case-study-hero .case-study-lede, .case-study-hero .case-study-facts dt { color: #cbd5e1; }
.case-study-hero .media__caption { color: var(--color-text); background: var(--color-surface); }
.case-study-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); padding: var(--space-5) 0 0; margin: var(--space-7) 0 0; border-top: 1px solid var(--color-border-strong); }
.case-study-facts dt { font-size: var(--font-size-small); }
.case-study-facts dd { margin: var(--space-2) 0 0; font-weight: var(--font-weight-semibold); }
.case-study-split { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: var(--space-7); }
.case-study-copy { max-width: 70ch; }
.case-study-surface { background: var(--color-surface); }
.case-study-setups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); align-items: start; }
.case-study-page .card { height: auto; min-width: 0; }
.case-study-page .media { min-width: 0; max-width: 100%; }
.case-study-page .media__frame, .case-study-teaser .media__frame { aspect-ratio: auto; background: var(--color-card); }
.case-study-page .media__img, .case-study-teaser .media__img { display: block; width: auto; height: auto; max-width: 100%; margin-inline: auto; object-fit: contain; }
.case-study-intro > .media { width: 100%; max-width: 560px; justify-self: center; }
.case-study-setups .media { margin: 0 0 var(--space-5); }
.case-study-setups .media__frame { display: flex; align-items: center; justify-content: center; height: clamp(240px, 29vw, 360px); padding: var(--space-3); }
.case-study-setups .media__img { max-height: 100%; }
.case-study-video { margin: 0; width: 100%; }
.case-study-video video { width: 100%; height: auto; display: block; aspect-ratio: 16 / 9; object-fit: contain; background: #0f172a; }
.case-study-video details { margin-top: var(--space-3); font-size: var(--font-size-small); }
.case-study-video summary { cursor: pointer; color: var(--color-primary-strong); }
.case-study-demo-section .case-study-split { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); max-width: 1060px; }
.case-study-demo-section .case-study-split > div { max-width: 70ch; }
.case-study-page [id] { scroll-margin-top: 140px; }
.case-study-teaser { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--space-6); align-items: center; height: auto; }
.case-study-teaser h3 { font-size: var(--font-size-h2); }
.case-study-teaser .media { margin: 0; min-width: 0; }
.case-study-teaser + .case-study-teaser { margin-top: var(--space-5); }
.case-study-examples { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin: var(--space-6) auto 0; max-width: 1060px; }
.case-study-example { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.case-study-example > div { order: -1; max-width: 70ch; }
.case-study-example .media { margin: 0; }
.case-study-example .media__img { width: 100%; }
@media (max-width: 980px) {
  .case-study-intro, .case-study-split { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .case-study-intro h1 { max-width: 24ch; }
}
@media (max-width: 640px) {
  .case-study-setups, .case-study-teaser, .case-study-facts { grid-template-columns: minmax(0, 1fr); }
  .case-study-facts { gap: var(--space-4); }
  .case-study-setups .media__frame { height: auto; min-height: 220px; }
  .case-study-setups .media__img { max-height: 340px; }
  .case-study-page .actions .btn { width: 100%; }
}

/* Keep the reading column clear on small screens; the inline link remains available. */
main.case-study-page { scroll-margin-top: 140px; }
.case-study-page .case-study-back-to-top { display: none; }
@media (max-width: 640px) {
  .case-study-page ~ .back-to-top { display: none; }
  .case-study-page .case-study-back-to-top { display: inline-flex; }
}
