.case-collection { padding-top: clamp(34px, 6vw, 74px); scroll-margin-top: 20px; }
.case-lead { max-width: 74ch; }
.case-cards, .case-stage-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 28px 0;
}
.case-cards > li, .case-stage-list > li { min-width: 0; }
.case-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: #f5f1e7;
  background: #121e16;
  border: 1px solid #846c40;
  border-radius: 4px;
  overflow: hidden;
  transition: border-color .18s, background .18s;
}
.case-card:hover, .case-card:focus-visible { border-color: #efd18b; background: #1a2a1e; }
.case-card img, .case-feature img { display: block; width: 100%; object-fit: cover; }
.case-card img { aspect-ratio: 16 / 9; height: auto; }
.case-card-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.case-card-body .eyebrow { color: #efd18b; letter-spacing: 1.4px; }
.case-card-body h3 { margin: 10px 0 0; font-size: 1.45rem; }
.case-card-body p { color: #d6ddd3; }
.case-read { margin-top: auto; color: #efd18b; font-weight: 700; text-decoration: underline; }
.case-collection-end { margin-top: 36px; max-width: 82ch; }
.case-feature { margin: 0; }
.case-feature img { aspect-ratio: 2.4 / 1; height: auto; border: 1px solid #846c40; }
.case-feature figcaption { font-size: .87rem; color: #d6ddd3; margin-top: 8px; }
.case-feature a, .case-related a, .case-cta a:not(.button) { text-decoration: underline; text-underline-offset: 4px; }
.case-detail { padding-top: 32px; }
.case-article { max-width: 78ch; margin: 0 auto; }
.case-article h2 { font-size: clamp(26px, 4vw, 38px); margin-top: 34px; }
.case-subtitle { max-width: 65ch; }
.case-stage-list li, .case-key, .case-disclosure, .case-cta {
  padding: clamp(14px, 3vw, 24px);
  background: #121e16;
  border: 1px solid #846c40;
  border-left: 3px solid #d0aa54;
}
.case-stage-list strong, .case-key h2, .case-disclosure h2 { color: #efd18b; }
.case-stage-list p { margin-bottom: 0; }
.case-key h2, .case-disclosure h2, .case-cta h2 { margin-top: 0; }
.case-disclosure { margin-block: 24px; font-size: .94rem; }
.case-related { display: flex; flex-wrap: wrap; gap: 14px 22px; margin: 26px 0; font-size: 1rem; color: #efd18b; }
.case-cta a { margin: 4px 8px 4px 0; }
@media (max-width: 960px) { .case-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .case-cards, .case-stage-list { grid-template-columns: minmax(0, 1fr); }
  .case-feature img { aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) { .case-card { transition: none; } }
