@layer overrides {
  .providers-page {
    padding-top: 1px;
  }

  .gp-hero {
    min-height: 820px;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 45px;
    padding-block: 85px 55px;
  }

  .gp-hero h1 {
    margin: 0 0 42px;
    font-size: clamp(76px, 5vw, 96px);
    line-height: 1.02;
    letter-spacing: -0.05em;
  }

  .gp-hero-copy > p {
    max-width: 720px;
    font-size: 21px;
    line-height: 1.28;
  }

  .gp-hero-art {
    width: min(100%, 800px);
    max-height: 690px;
    justify-self: end;
    object-fit: contain;
  }

  .gp-provider-list {
    padding-block: 70px 215px;
  }

  .gp-provider-card {
    padding: 34px;
    background: #fff;
    border: 1.5px solid var(--rp-navy);
    border-radius: 16px;
    box-shadow: 5px 6px 0 var(--rp-navy);
  }

  .gp-provider-card img {
    display: block;
    width: 100%;
    height: auto;
  }

  .gp-contact {
    padding-bottom: 240px;
  }

  .gp-subscribe {
    padding-bottom: 190px;
  }

  @media (max-width: 1400px) {
    .gp-hero h1 {
      font-size: clamp(62px, 6vw, 82px);
    }
  }

  @media (max-width: 900px) {
    .gp-hero {
      min-height: 0;
      grid-template-columns: 1fr;
      padding-block: 60px 90px;
    }

    .gp-hero-art {
      grid-row: 1;
      justify-self: center;
    }

    .gp-hero h1 {
      font-size: clamp(42px, 10vw, 62px);
    }

    .gp-provider-list {
      padding-block: 30px 130px;
    }

    .gp-provider-card {
      padding: 18px;
    }

    .gp-contact {
      padding-bottom: 140px;
    }
  }

  @media (max-width: 560px) {
    .gp-hero-copy > p {
      font-size: 16px;
    }

    .gp-provider-card {
      padding: 8px;
      border-radius: 10px;
    }
  }
}
