@media (max-width: 1080px) {
  .global-nav {
    display: none;
  }

  .header-inner {
    grid-template-columns: auto 1fr auto;
  }

  .header-cta {
    display: none;
  }
}

@media (max-width: 820px) {
  html {
    font-size: 16px;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .concept-layout,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .hero,
  .page-hero {
    min-height: 72vh;
  }

  .hero-title {
    font-size: clamp(3.25rem, 18vw, 5.8rem);
  }

  .page-title {
    font-size: clamp(3rem, 16vw, 5.5rem);
  }

  .menu-button {
    min-width: 5.2rem;
  }

  .footer-nav {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 520px) {
  .button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .hero-content,
  .page-hero-content {
    padding-bottom: 2.4rem;
  }

  .hero-services .tag {
    font-size: .7rem;
  }
}
