/* Responsive — Infynix-inspired agency */
@media (max-width: 1100px) {
  .grid-4,
  .stat-grid,
  .testimonial-grid,
  .contact-cards,
  .process-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-rail::before { display: none; }
  .service-layout { grid-template-columns: 1fr; }
  .service-sidebar { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .info-box-address { display: none; }
  .header-info { gap: 1rem; }
}

@media (max-width: 900px) {
  .grid-3,
  .split,
  .split-reverse,
  .media-row,
  .value-grid,
  .deliverables,
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .header-info { display: none; }
  .primary-nav { display: none; }
  .nav-cta { display: none; }
  .nav-toggle { display: inline-flex; }
  .nav-bar { display: none; }
  .hero { min-height: auto; }
  .hero-inner { padding: 3.5rem 0 3rem; }
  .hero-scroll { display: none; }
  .section { padding: 3.5rem 0; }
  .form-grid { grid-template-columns: 1fr; }
  .service-panels { grid-template-columns: 1fr; }
  .service-panel-media { min-height: 180px; height: 180px; }
  .pillar-row { grid-template-columns: 4rem 1fr; }
  .page-banner { padding: 3.5rem 0; }
  .hero-brand { font-size: 1.35rem; }
  .hero h1 { font-size: 1.85rem; }
  .consent-group { overflow: hidden; }
  .consent-label { display: block; overflow: hidden; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 1.75rem, var(--container)); }
  body { font-size: 16px; }
  .grid-4,
  .grid-3,
  .stat-grid,
  .testimonial-grid,
  .contact-cards,
  .footer-grid,
  .process-rail {
    grid-template-columns: 1fr;
  }
  .btn-row { width: 100%; }
  .btn-row .btn { width: 100%; }
  .cta-band { padding: 3.5rem 0; }
  .form-panel { padding: 1.25rem; }
  .cookie-banner { left: 0.65rem; right: 0.65rem; bottom: 0.65rem; }
  .cookie-content { flex-direction: column; align-items: stretch; }
  .cookie-buttons .btn { flex: 1; }
  .frame-photo::before { inset: 8px; }
  .header-upper-inner { min-height: 72px; padding: 12px 0; }
}

@media (max-width: 390px) {
  body { font-size: 15px; }
  .hero h1, .page-banner h1 { font-size: 1.65rem; }
  .hero-brand { font-size: 1.25rem; }
}
