/* Case study layout; shared guide styles provide navigation and typography. */
.case-study .integration-hero { grid-template-columns: minmax(0, 1.4fr) minmax(240px, .65fr); gap: 56px; }
.case-study .integration-hero h1 { max-width: 19ch; font-size: clamp(2.5rem, 4.8vw, 4rem); }
.case-summary { margin: 0; padding: 24px; border: 1px solid var(--border-subtle); border-radius: 14px; }
.case-summary div + div { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--border-subtle); }
.case-summary dt { font-size: .85rem; color: var(--text-muted); }
.case-summary dd { margin: 4px 0 0; font-size: 2.5rem; font-weight: 650; line-height: 1.2; letter-spacing: -.035em; }
.case-context { max-width: 76ch; color: var(--text-muted); margin: 0 0 32px; }
.case-gallery { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; margin: 32px 0; }
.case-gallery figure { margin: 0; }
.case-gallery a { display: block; padding: 12px; background: #f5f6fa; border: 1px solid var(--border-subtle); border-radius: 14px; }
.case-gallery img { display: block; width: 100%; height: 500px; object-fit: contain; }
.case-gallery figcaption, .case-dashboard figcaption { color: var(--text-muted); font-size: .85rem; line-height: 1.6; margin-top: 14px; }
.case-acceptance { margin: 28px 0; }
.case-acceptance div { padding: 20px 0; border-top: 1px solid var(--border-subtle); }
.case-acceptance dt { font-weight: 600; }
.case-acceptance dd { margin: 8px 0 0; color: var(--text-muted); }
.case-dashboard { margin: 32px 0; }
.case-dashboard img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--border-subtle); }
.case-source { font-size: .9rem; color: var(--text-muted); }
@media (max-width: 800px) {
  .case-study .integration-hero { grid-template-columns: 1fr; gap: 28px; }
  .case-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .case-summary div + div { padding: 0; margin: 0; border: 0; }
  .case-summary dd { font-size: 2rem; }
  .case-gallery img { height: 380px; }
}
@media (max-width: 480px) {
  .case-summary { display: block; }
  .case-summary div + div { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border-subtle); }
  .case-gallery { grid-template-columns: 1fr; gap: 28px; }
  .case-gallery img { height: auto; max-height: 540px; }
}
