/* Additions for cases 03–05 only. Existing pages keep their original CSS. */
.case-expansion .case-title-lead {
  font-size: clamp(36px, 5.4vw, 82px);
}
.case-patrick .case-title-lead {
  font-size: clamp(34px, 4.5vw, 72px);
}
.case-expansion .case-work-outro {
  border-top: 1px solid #bdbdbb;
  margin-top: 32px;
  padding-top: 24px;
  max-width: 86ch;
}
.case-expansion .case-region-title {
  font-size: clamp(23px, 2.6vw, 38px);
  line-height: 1.25;
  margin-top: 0;
}
.case-expansion .case-metric-wide {
  grid-column: 1 / -1;
}
.geo-leader {
  margin-bottom: 42px;
}
.geo-leader-value {
  display: block;
  font-family: var(--display);
  font-size: clamp(88px, 11vw, 180px);
  line-height: 1.05;
  letter-spacing: -.06em;
}
.geo-leader h3 {
  font-size: 21px;
  margin-top: 20px;
}
.geo-leader p {
  max-width: 68ch;
  margin-top: 12px;
}
.geo-sov {
  margin-top: 28px;
}
.geo-scale {
  position: relative;
  height: 8px;
  background: #ffffff40;
}
.geo-scale-range {
  position: absolute;
  left: 41%;
  width: 3%;
  height: 100%;
  background: white;
}
.geo-scale-range::before,
.geo-scale-range::after {
  content: '';
  position: absolute;
  top: -5px;
  height: 18px;
  width: 1px;
  background: white;
}
.geo-scale-range::before {
  left: 0;
}
.geo-scale-range::after {
  right: 0;
}
.geo-scale-bounds {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  margin-top: 10px;
}
.geo-sov figcaption {
  font-size: 12px;
  margin-top: 16px;
  line-height: 1.7;
}
.seo-comparisons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
  margin-bottom: 42px;
}
.seo-comparison {
  border-top: 1px solid #9bb9ff;
  padding-top: 22px;
  min-width: 0;
}
.seo-comparison h3 {
  font-size: clamp(19px, 2vw, 28px);
}
.seo-ranks {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.1fr);
  align-items: baseline;
  gap: 18px;
  margin-top: 24px;
}
.seo-ranks strong {
  display: block;
  font-family: var(--display);
  line-height: 1.05;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.seo-rank-before strong {
  font-size: clamp(44px, 5vw, 72px);
  color: #cedeff;
}
.seo-rank-after strong {
  font-size: clamp(64px, 7vw, 108px);
}
.seo-ranks div > span {
  display: block;
  font-size: 12px;
  margin-top: 10px;
}
.seo-rank-arrow {
  font-size: 38px;
  align-self: center;
}
.seo-rank-caption {
  font-family: var(--display);
  font-size: 17px;
  margin-top: 24px;
}
.seo-period {
  font-size: 12px;
  margin-top: 7px;
}
.seo-comparison > p:last-child {
  font-size: 14px;
  margin-top: 18px;
}
@media (max-width: 1000px) {
  .seo-ranks {
    gap: 12px;
  }
  .seo-rank-before strong {
    font-size: 44px;
  }
  .seo-rank-after strong {
    font-size: 64px;
  }
  .seo-rank-arrow {
    font-size: 28px;
  }
}
@media (max-width: 700px) {
  .case-expansion .case-title-lead {
    font-size: clamp(28px, 8vw, 52px);
  }
  .case-patrick .case-title-lead {
    font-size: clamp(29px, 7.5vw, 49px);
  }
  .geo-leader-value {
    font-size: clamp(72px, 18vw, 110px);
  }
  .geo-leader h3 {
    font-size: 18px;
  }
  .geo-leader p {
    font-size: 14px;
  }
  .seo-comparisons {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .seo-ranks {
    gap: 16px;
  }
  .seo-rank-before strong {
    font-size: 48px;
  }
  .seo-rank-after strong {
    font-size: 76px;
  }
  .seo-comparison > p:last-child {
    font-size: 13px;
  }
}
