/* Responsive layout */

@media (max-width: 1100px) {
  .stat-grid,
  .sector-grid,
  .footer-grid { grid-template-columns: 1fr 1fr; }

  .nav a { padding-inline: 8px; font-size: 0.9rem; }
  .brand img { height: 54px; }
}

@media (max-width: 980px) {
  .menu-toggle { display: inline-grid; place-items: center; }
  .nav-cta { display: none; }

  .nav {
    display: none;
    position: absolute;
    left: 16px;
    right: 16px;
    top: calc(100% + 8px);
    background: white;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 10px;
  }

  .nav.is-open { display: block; }
  .nav ul { flex-direction: column; align-items: stretch; }
  .nav a { display: flex; }
  .nav.is-open a.btn.nav-mobile-cta { display: inline-flex; width: 100%; margin-top: 8px; }
  .nav-bar { position: relative; }

  .hero-grid,
  .trust-grid,
  .feature,
  .quality-grid,
  .split,
  .two,
  .contact-grid,
  .footer-grid,
  .cta-split,
  .hero-directors { grid-template-columns: 1fr; }

  .card-grid.cols-3,
  .work-grid,
  .people { grid-template-columns: 1fr 1fr; }

  .hero-slider,
  .frame img,
  .cover { height: 340px; }
  .float-card { left: 14px; }
  .service-feature { min-height: 360px; }
  .gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; }
  .gallery-item:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 240px; }
}

@media (max-width: 700px) {
  .container { width: min(var(--container), calc(100% - 28px)); }
  .section { padding: 64px 0; }
  .brand img, .footer-logo { height: 52px; }

  .stat-grid,
  .card-grid.cols-3,
  .card-grid.cols-2,
  .work-grid,
  .people,
  .sector-grid,
  .form-grid,
  .footer-grid,
  .gallery { grid-template-columns: 1fr; }

  .hero-slider,
  .cover,
  .cover-short { height: 240px; }
  .float-card { position: static; width: auto; margin-top: 12px; }
  .hero-controls { right: 10px; top: 10px; }
  .ticker { grid-template-columns: 1fr; }
  .ticker-label { justify-content: start; padding: 8px 16px; }
  .timeline li { grid-template-columns: 1fr; gap: 4px; }
  .footer-base { flex-direction: column; }
  .service-row { grid-template-columns: auto 1fr; }
  .service-row .arrow { display: none; }
  h1 { font-size: 2.35rem; }
  .btn { width: auto; }
  .actions .btn { flex: 1 1 auto; }
}
