/* Final responsive overrides for compressed desktop, tablet, and mobile layouts. */

.hero {
  background-position: center right;
}

.hero .hero-actions {
  display: none;
}

.hero-copy {
  position: relative;
  z-index: 1;
}

@media (max-width: 1340px) {
  .hero {
    min-height: 0;
    padding: 92px 0 0;
    background:
      linear-gradient(
        180deg,
        rgba(7, 17, 13, 1) 0%,
        rgba(7, 17, 13, 0.99) 34%,
        rgba(7, 17, 13, 0.72) 46%,
        rgba(7, 17, 13, 0.18) 58%,
        rgba(7, 17, 13, 0) 68%
      ),
      url("../img/hero.png");
    background-size: 100% 100%, auto clamp(520px, 54vw, 760px);
    background-position: center top, center bottom;
    background-repeat: no-repeat;
  }

  .hero::after {
    content: "";
    display: block;
    height: clamp(520px, 54vw, 760px);
    pointer-events: none;
  }

  .hero-grid {
    display: block;
  }

  .hero-copy {
    max-width: 760px;
    transform: none;
  }

  .hero-copy h1 {
    max-width: 760px;
    font-size: clamp(3.3rem, 7vw, 5.35rem);
  }

  .hero-lede {
    max-width: 680px;
  }
}

@media (max-width: 980px) {
  .hero {
    padding-top: 68px;
    background-size: 100% 100%, auto clamp(440px, 76vw, 620px);
  }

  .hero::after {
    height: clamp(440px, 76vw, 620px);
  }

  .hero-copy {
    max-width: 680px;
  }

  .hero-copy h1 {
    max-width: 660px;
    font-size: clamp(3rem, 10vw, 5rem);
  }

  .hero-lede {
    max-width: 620px;
  }

  .split-grid,
  .team-story-grid,
  .network-step,
  .network-step.reverse {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .section {
    padding-block: 56px;
  }

  .nav-cta {
    display: inline-flex;
    min-height: 40px;
    padding: 9px 13px;
    font-size: 0.86rem;
    white-space: nowrap;
  }

  .nav {
    align-items: center;
  }

  .nav-links {
    order: 3;
  }

  .hero {
    padding: 34px 0 0;
    background:
      linear-gradient(
        180deg,
        rgba(7, 17, 13, 1) 0%,
        rgba(7, 17, 13, 1) 36%,
        rgba(7, 17, 13, 0.78) 48%,
        rgba(7, 17, 13, 0.18) 60%,
        rgba(7, 17, 13, 0) 70%
      ),
      url("../img/hero.png");
    background-size: 100% 100%, auto clamp(360px, 116vw, 500px);
    background-position: center top, center bottom;
    background-repeat: no-repeat;
  }

  .hero::after {
    height: clamp(360px, 116vw, 500px);
  }

  .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 11vw, 3.45rem);
    line-height: 0.98;
  }

  .hero-lede {
    margin-top: 18px;
    font-size: 0.98rem;
  }

  .module-grid,
  .card-grid.three,
  .card-grid.four,
  .stats-grid,
  .updates-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .nav-cta {
    min-height: 38px;
    padding: 8px 11px;
    font-size: 0.78rem;
  }

  .hero {
    background-size: 100% 100%, auto clamp(330px, 110vw, 440px);
  }

  .hero::after {
    height: clamp(330px, 110vw, 440px);
  }

  .hero-copy h1 {
    font-size: clamp(2.05rem, 11.5vw, 3rem);
  }
}
