.case-content { gap: 5rem; }
.case-content > *, .case-columns > *, .case-theme-grid > * { min-width: 0; }
.case-intro { display: grid; gap: 2rem; }
.case-heading { display: grid; gap: 1rem; }
.case-lead { max-width: 44rem; font-size: 1.125rem; }
.case-meta, .case-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 0; }
.case-meta div, .case-facts div { display: flex; flex-direction: column; gap: 0.25rem; }
.case-meta dt { font-weight: 600; }
.case-meta dd, .case-facts dd { margin: 0; }
.case-cover { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.case-section { display: grid; gap: 2rem; }
.case-copy { max-width: 44rem; }
.case-context { display: grid; gap: 2.5rem; }
.case-contribution { --paragraph-gap: 1rem; width: 100%; max-width: 44rem; gap: var(--paragraph-gap); padding-block: 1.5rem; border-block: 2px solid var(--swiss-red); break-inside: avoid; }
.case-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--column-gap); }
.case-facts { padding-block: 1.5rem; border-block: 1px solid var(--divider); }
.case-facts dd { order: -1; font-size: 2rem; font-weight: 300; line-height: 1.25; }
.case-figure { margin: 0; display: grid; gap: 0.75rem; }
.case-figure img, .case-figure video { display: block; width: 100%; height: auto; }
.case-figure video { background: var(--subtle); }
.case-figure figcaption { font-size: 0.875rem; line-height: 1.5; }
.case-image-link { display: block; cursor: zoom-in; }
.case-theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.5rem; }
.case-video-wide { width: 100%; max-width: 54rem; justify-self: center; }
.case-library-video { width: 100%; max-width: 37.375rem; }
.case-list { margin: 0.5rem 0; padding-left: 1.25rem; display: grid; gap: 0.75rem; }
.case-lesson-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.case-lessons { padding-top: 2rem; border-top: 1px solid var(--divider); }
.case-back { justify-self: start; }
@media (max-width: 1199px) {
  .case-theme-grid { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 899px) {
  .case-content { gap: 4rem; }
  .case-intro, .case-section, .case-context { gap: 4rem; }
  .case-meta { grid-template-columns: 1fr; gap: 1rem; }
  .case-columns, .case-lesson-grid { grid-template-columns: 1fr; gap: 4rem; }
  .case-facts { gap: 1rem; }
  .case-facts dt { font-size: 0.875rem; }
  .case-library-video { justify-self: center; }
  .case-cover { margin-block: -1rem; }
}
@media print {
  .case-content { gap: 2rem; }
  .case-cover { max-height: 20rem; object-fit: contain; }
  .case-figure, .case-meta, .case-facts { break-inside: avoid; }
  .case-back { display: none; }
}

/* Keep the process and its decision rationale within the contribution block. */
.case-process { --paragraph-gap: 1rem; margin-top: 1rem; }
.case-process > p + p { margin-block-start: 0; }
