@media (max-width: 1080px) {
  .services-grid, .segment-grid, .gallery-mini, .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .represented-grid, .represented-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .menu-toggle { display: inline-flex; }
  .nav {
    position: fixed;
    top: 76px;
    left: 16px;
    right: 16px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    max-height: calc(100svh - 96px);
    overflow: auto;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius);
    background: rgba(7,8,9,.98);
  }
  .nav.is-open { display: flex; }
  .nav a, .nav-dropdown > button { width: 100%; justify-content: space-between; padding: 0 6px; }
  .nav-cta { justify-content: center !important; margin-top: 8px; }
  .dropdown-menu {
    position: static;
    display: none;
    min-width: 0;
    margin-top: 6px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    background: rgba(255,255,255,.96);
  }
  .nav-dropdown:hover .dropdown-menu { display: none; }
  .nav-dropdown.is-open .dropdown-menu { display: block; }
  .intro-grid, .split-section, .text-layout, .service-detail, .represented-detail, .contact-layout, .diagnostic-list {
    grid-template-columns: 1fr;
  }
  .metric-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 32px, var(--container)); }
  .site-header { padding: 14px 16px; }
  .brand img { width: 98px; }
  .hero, .home-hero { min-height: 650px; }
  .hero-inner { padding-top: 84px; }
  h1 { font-size: clamp(38px, 13vw, 54px); }
  .hero-actions, .cta-block, .footer-bottom { flex-direction: column; align-items: stretch; }
  .hero-actions .button, .cta-block .button { width: 100%; }
  .section { padding: 72px 0; }
  .section-title h2 { font-size: 32px; }
  .services-grid, .segment-grid, .gallery-mini, .gallery-grid, .represented-grid, .represented-strip, .pillars-grid, .footer-grid {
    grid-template-columns: 1fr;
  }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .segment-card { min-height: 260px; }
  .gallery-card { min-height: 240px; }
  .form-row { grid-template-columns: 1fr; }
  .cta-block { padding: 26px; }
  .lightbox { padding: 18px; }
}
