/* Let form controls shrink within flex rows instead of widening the page. */
.flex > input,
.flex > textarea,
.flex > select {
  min-width: 0;
}

@media (max-width: 767px) {
  /* Contain decorative animations without disabling vertical scrolling or zoom. */
  html,
  body {
    overflow-x: clip;
  }

  .container {
    padding-inline: 1rem;
  }

  nav .shrink-0 {
    flex-shrink: 1;
    min-width: 0;
  }

  nav .font-heading {
    font-size: clamp(1rem, 5vw, 1.25rem);
    white-space: nowrap;
  }

  nav button[aria-label="Toggle menu"] {
    flex-shrink: 0;
    margin-left: 0.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  .home-hero {
    min-height: auto;
  }

  .home-hero > .container {
    padding-block: 3rem;
  }

  .home-hero h1 {
    font-size: clamp(1.875rem, 8.5vw, 2.625rem);
    line-height: 1.15;
    overflow-wrap: break-word;
  }

  .home-hero h1 + p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .home-hero .text-yellow-400 {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }

  .home-hero .text-yellow-400 > svg {
    flex-shrink: 0;
  }

  .home-hero .text-yellow-400 > span {
    flex-basis: 100%;
    margin-left: 0;
  }

  .home-hero .flex-col > a,
  .home-hero .flex-col > button {
    width: 100%;
    min-width: 0;
    padding: 1rem;
    font-size: 1.125rem;
  }

  .home-hero .inline-flex.rounded-full {
    max-width: 100%;
    font-size: 0.8125rem;
  }

  /* The bottom call bar already supplies a mobile call action. */
  a.fixed[aria-label="Call Now"] {
    width: 3rem;
    height: 3rem;
    right: 0.75rem;
    bottom: 5rem;
  }

}
