.cases-index { background: var(--_website---white); }
.cases-index__intro { display: flex; flex-direction: column; gap: 32px; padding-block: 48px; }
.cases-index .breadcrumbs { width: auto; }
.cases-index__heading { display: flex; flex-direction: column; gap: 16px; }
.cases-index__heading h1 { margin: 0; color: var(--blue); font-size: var(--display); line-height: 64px; font-weight: 500; letter-spacing: -1.5px; }
.cases-index__heading p { max-width: 832px; margin: 0; color: var(--case-text); font-size: 18px; line-height: 28px; }
.cases-index__list { display: flex; flex-direction: column; gap: 80px; padding-bottom: 80px; }
.cases-index__empty { margin: 0; color: var(--case-text); font-size: 18px; line-height: 28px; }
.cases-featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; color: var(--blue); text-decoration: none; }
.cases-featured__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-lg); }
.cases-featured__body { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; min-width: 0; }
.cases-featured__info { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cases-featured p, .cases-featured h2 { margin: 0; overflow-wrap: anywhere; }
.cases-featured h2 { color: var(--blue); font-size: 44px; line-height: 52px; font-weight: 500; letter-spacing: -1px; }
.cases-featured__context { color: var(--case-muted); font-size: 14px; line-height: 20px; font-weight: 500; }
.cases-featured__services { color: var(--case-text); font-size: 18px; line-height: 28px; }
.cases-featured__metric { display: flex; align-items: center; gap: 24px; padding-top: 24px; border-top: 1px solid var(--content-line); }
.cases-featured__value { color: var(--blue); font-size: 64px; line-height: 72px; font-weight: 500; letter-spacing: -2px; }
.cases-featured__measurement { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cases-featured__label { font-size: 16px; line-height: 24px; white-space: pre-line; }
.cases-featured__note { color: var(--case-muted); font-size: 13px; line-height: 1.5; }
.cases-featured__link { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 16px; border-top: 1px solid var(--content-line); color: var(--blue); font-size: 16px; line-height: 24px; font-weight: 500; }
.cases-featured__link img { flex: none; }
.cases-featured:hover .cases-featured__link > span { text-decoration: underline; text-underline-offset: 3px; }
.cases-featured:not(:has(.cases-featured__image)) { grid-template-columns: minmax(0, 1fr); }
.cases-index .case-related-section { padding-bottom: 80px; background: var(--_website---white); }
.cases-index .case-related-section .case-section__inner { gap: 32px; }
.cases-index .case-related-heading h2 { font-size: 32px; line-height: 40px; letter-spacing: -.5px; }

@media (max-width: 991px) {
  .cases-index__heading h1 { font-size: 44px; line-height: 52px; letter-spacing: -1px; }
  .cases-featured { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 767px) {
  .cases-index__intro { padding-block: 24px 32px; }
  .cases-index__heading h1 { font-size: 28px; line-height: 34px; letter-spacing: -.6px; }
  .cases-index__heading p { font-size: 16px; line-height: 25.6px; }
  .cases-index__list { gap: 56px; padding-bottom: 56px; }
  .cases-featured__body { gap: 24px; }
  .cases-featured h2 { font-size: 24px; line-height: 32px; letter-spacing: -.4px; }
  .cases-featured__context { font-weight: 400; line-height: 22.4px; }
  .cases-featured__services { font-size: 16px; line-height: 25.6px; }
  .cases-featured__label { font-size: 14px; line-height: 22.4px; }
  .cases-featured__note { font-size: 12.5px; line-height: 18.75px; }
  .cases-featured__link { font-size: 14px; line-height: 20px; }
  .cases-index .case-related-section { padding-top: 0; padding-bottom: 56px; }
  .cases-index .case-related-section .case-section__inner { gap: 24px; }
  .cases-index .case-related-heading h2, .cases-index .case-related-card__title { font-size: 24px; line-height: 32px; letter-spacing: -.4px; }
}
