@media (max-width: 1180px) {
  .services-full { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 920px) {
  .site-header { height: 68px; }
  .menu-toggle { display: block; color: inherit; }
  .site-nav {
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 20px 22px;
    color: var(--text);
    background: #fff;
    box-shadow: 0 20px 35px rgba(16,32,51,.12);
  }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 12px 0; }
  .site-nav a::after { display: none; }
  .nav-cta { text-align: center; margin-top: 8px; }
  .split,
  .split.reverse,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .service-grid,
  .values-grid {
    grid-template-columns: 1fr 1fr;
  }
  .stats-band { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .hero { min-height: 88vh; }
  .hero-content { margin-left: 20px; width: calc(100% - 40px); }
  .hero h1,
  .page-hero h1 { font-size: 40px; }
  .hero p:not(.eyebrow) { font-size: 17px; }
  .section { padding: 64px 20px; }
  .service-grid,
  .values-grid,
  .services-full,
  .timeline-grid,
  .stats-band,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .service-card,
  .value-card,
  .contact-card,
  .privacy-card { padding: 22px; }
  .page-hero { min-height: 360px; padding-top: 126px; }
}
