@media (max-width: 980px) {
  .split,
  .grid-3,
  .grid-2,
  .contact-layout,
  .footer-grid,
  .trust-strip {
    grid-template-columns: 1fr;
  }

  .site-nav {
    display: none;
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 1rem;
    right: 1rem;
    flex-direction: column;
    align-items: stretch;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 1rem;
    box-shadow: var(--shadow-card);
  }

  .site-nav.open {
    display: flex;
  }

  .menu-toggle {
    display: block;
  }
}

@media (max-width: 640px) {
  .container {
    width: min(calc(100% - 1.2rem), var(--container));
  }

  .section {
    padding-block: 4rem;
  }

  .hero,
  .internal-hero,
  .cta-band {
    padding: var(--space-5);
  }

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