/* 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: 52px; }
  .brand-name { font-size: 12px; letter-spacing: 0.03em; }
}

@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; }

  .trust-grid,
  .feature,
  .quality-grid,
  .split,
  .two,
  .contact-grid,
  .footer-grid,
  .cta-split,
  .hero-directors,
  .plant-grid,
  .video-grid { grid-template-columns: 1fr; }

  .card-grid.cols-3,
  .work-grid,
  .people { grid-template-columns: 1fr 1fr; }

  .section.hero-intro { padding: 56px 0; }
  .hero-intro .trust-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-intro-text {
    padding: 28px 0 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .frame img,
  .cover { height: 340px; }
  .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 { gap: 8px; }
  .brand img { height: 46px; }
  .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; }

  .cover,
  .cover-short { height: 240px; }
  .section.hero-intro { padding: 40px 0 48px; }
  .hero-intro h1 { font-size: 2rem; }
  .hero-intro .actions { width: 100%; }
  .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; }
}
