.hero-visual .visual-card {
  top: 49%;
}

@media (min-width: 851px) and (max-aspect-ratio: 4 / 3) {
  .hero {
    min-height: 640px;
  }

  .hero-grid {
    grid-template-columns: 1.25fr .75fr;
  }

  .hero-copy {
    padding-top: 68px;
    padding-bottom: 48px;
  }

  .hero h1 {
    font-size: 64px;
  }

  .hero-lede {
    margin-top: 22px;
    margin-bottom: 22px;
    font-size: 18px;
  }

  .trust-row {
    margin-top: 44px;
  }

  .visual-card {
    width: 220px;
    padding: 22px;
  }

  .visual-number {
    font-size: 60px;
  }
}

@media (min-width: 1100px) and (max-width: 1920px) {
  .hero {
    min-height: 685px;
    padding-bottom: 56px;
    border-bottom: 1px solid var(--line);
  }

  .hero-copy {
    padding-top: 64px;
    padding-bottom: 58px;
  }

  .trust-row {
    margin-top: 56px;
  }
}

@media (min-width: 1921px) {
  .hero {
    min-height: 680px;
  }

  .hero-copy {
    padding-top: 76px;
    padding-bottom: 52px;
  }

  .hero h1 {
    font-size: clamp(45px, 5.2vw, 70px);
  }

  .hero-lede {
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .trust-row {
    margin-top: 48px;
  }
}

@media (min-width: 2560px) {
  .hero h1 {
    font-size: 68px;
  }
}

/* Keep the low-aspect-ratio treatment authoritative over width breakpoints. */
@media (min-width: 851px) and (max-aspect-ratio: 4 / 3) {
  .hero {
    min-height: 640px;
  }

  .hero-copy {
    padding-top: 68px;
    padding-bottom: 48px;
  }

  .trust-row {
    margin-top: 44px;
  }
}
