/* Reusable compositions for future case studies. */
.case-study { background:var(--color-paper); color:var(--color-ink); }
.case-header { max-width:var(--page-max); margin:auto; display:flex; align-items:center; justify-content:space-between; padding:64px 32px 32px; }
.case-study main { max-width:var(--page-max); margin:auto; padding:0 32px 160px; }
.case-hero { padding-top:32px; }
.case-company { font:400 var(--text-title)/1.12 var(--font-book); letter-spacing:-.04em; color:var(--color-brand); margin:0 0 24px; }
.case-hero h1 { font:400 var(--text-title)/1.15 var(--font-medium); letter-spacing:-.03em; margin:0 0 48px; }
.case-metadata { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin:48px 0 0; font-size:var(--text-small); line-height:1.6; }
.case-metadata dt { font-family:var(--font-medium); margin-bottom:8px; }
.case-metadata dd { margin:0; }
.case-section { margin-top:var(--space-section); }
.case-section h2 { font:400 var(--text-heading)/1.12 var(--font-medium); color:var(--color-brand); letter-spacing:-.02em; margin:0 0 32px; }
.case-eyebrow { font:400 var(--text-small)/1.5 var(--font-medium); }
.case-copy { font:400 var(--text-body)/1.4 var(--font-regular); letter-spacing:-.015em; }
.case-copy p { margin:0 0 24px; }
.case-media { margin:0; min-width:0; }
.case-media img,.case-media video { display:block; width:100%; height:auto; border-radius:var(--radius-media); }
.case-media figcaption { margin-top:12px; color:var(--color-body); font:400 var(--text-caption)/1.6 var(--font-regular); }
.case-pair { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.case-pair-reverse > :first-child { order:2; }
.case-question { margin-top:var(--space-section); padding:64px; background:var(--color-brand-soft); border-radius:var(--radius-media); }
.case-question p { font:400 var(--text-title)/1.15 var(--font-medium); letter-spacing:-.03em; margin:0; }
.case-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:48px; font-size:var(--text-body); line-height:1.4; }
.case-result-value { font:400 var(--text-title)/1.12 var(--font-book); color:var(--color-brand); margin:0 0 16px; }
@media (width < 1440px) { .case-pair { gap:32px; } }
@media (width < 810px) {
  .case-header { padding:64px 24px 32px; }
  .case-study main { padding:0 24px 80px; }
  .case-metadata { grid-template-columns:1fr; text-align:center; gap:48px; }
  .case-pair { grid-template-columns:1fr; gap:32px; }
  .case-pair-reverse > :first-child { order:0; }
  .case-question { padding:32px 24px; }
}
