.cases-index-hero {
  padding: 120px max(30px, calc((100vw - 1240px) / 2));
  color: white;
  background: var(--navy);
}

.cases-index-hero > span,
.cases-index-card > div > span {
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cases-index-hero h1 {
  max-width: 950px;
  margin: 18px 0 24px;
  font: 600 clamp(3.2rem, 7vw, 7rem) / 0.94 "Space Grotesk";
  letter-spacing: -0.06em;
}

.cases-index-hero h1 em {
  color: var(--gold);
  font-style: normal;
}

.cases-index-hero p {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.8;
}

.cases-index-grid {
  display: grid;
  max-width: 1240px;
  margin: auto;
  padding: 100px 30px 130px;
  gap: 70px;
}

.cases-index-card {
  display: grid;
  min-height: 440px;
  grid-template-columns: 1.15fr 0.85fr;
  background: white;
}

.cases-index-card > a {
  min-width: 0;
}

.cases-index-cover {
  position: relative;
  overflow: hidden;
}

.cases-index-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
  object-position: center bottom;
}

.cases-index-card > div {
  padding: 55px;
  align-self: center;
}

.cases-index-card h2 {
  margin: 12px 0 18px;
  font: 600 clamp(2rem, 4vw, 3.7rem) / 1 "Space Grotesk";
  letter-spacing: -0.045em;
}

.cases-index-card p {
  color: #62747e;
  line-height: 1.75;
}

.cases-index-link {
  display: flex;
  margin-top: 34px;
  padding: 17px 0;
  justify-content: space-between;
  border-top: 1px solid #d4dde1;
  border-bottom: 1px solid #d4dde1;
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
}

.case-cover-band {
  position: absolute;
  inset: auto 0 0;
  min-height: 19%;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: white;
  background: rgba(0, 36, 66, 0.9);
  pointer-events: none;
}

.case-cover-band > span { display: grid; gap: 3px; }
.case-cover-band strong { color: var(--gold); font: 700 clamp(1.2rem, 2vw, 1.8rem) "Space Grotesk"; text-transform: uppercase; }
.case-cover-band small { color: white; font-size: 10px; }
.case-cover-band > img { width: min(30%, 180px) !important; height: auto !important; min-height: 0 !important; object-fit: contain !important; }
.case-cover-band.compact { min-height: 17%; padding: 10px 14px; }
.case-cover-band.compact strong { font-size: 14px; }
.case-cover-band.compact small { font-size: 8px; }

.cases-index-review { margin: 24px 0 4px; padding: 18px 0; border-top: 1px solid #d9dfe2; }
.cases-index-review > span { color: var(--gold); font-size: 12px; font-weight: 800; }
.cases-index-review blockquote { margin: 10px 0 12px; padding: 0; border: 0; color: var(--navy); font: 500 14px/1.65 "Space Grotesk"; }
.cases-index-review strong { color: #61727c; font-size: 10px; text-transform: uppercase; }

@media (max-width: 800px) {
  .cases-index-hero {
    padding: 90px 24px;
  }

  .cases-index-grid {
    padding: 60px 18px 100px;
    gap: 34px;
  }

  .cases-index-card {
    grid-template-columns: 1fr;
  }

  .cases-index-card img {
    min-height: 320px;
  }

  .cases-index-card > div {
    padding: 34px 24px;
  }
}
