/* Mobile readability guard: prevents the hero copy from exceeding the viewport. */
.hero-copy {
  min-width: 0;
}

.hero h1,
.lead {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 620px) {
  body {
    overflow-x: clip;
  }

  .hero {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 3rem;
    gap: 1.75rem;
  }

  .hero-copy {
    width: 100%;
    min-width: 0;
  }

  .hero h1 {
    font-size: clamp(2rem, 10.5vw, 2.8rem);
    line-height: 1.04;
    letter-spacing: -0.025em;
    overflow-wrap: anywhere;
  }

  .lead {
    font-size: 1rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .hero-actions,
  .hero-actions .button {
    width: 100%;
  }

  .hero-actions {
    gap: 1rem;
  }
}
