@media (max-width: 1200px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 992px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  section { padding-block: clamp(56px, 8vw, 96px); }
  .blog-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; }
}

@media (max-width: 768px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }

  .hero, .hero-slide-caption { min-height: 78vh; }
  .hero { min-height: 78vh; }
  .hero-content { padding-bottom: 44px; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { width: 100%; }

  .footer-bottom { flex-direction: column; text-align: center; }
  .process-step { flex-direction: column; gap: 8px; }

  .top-bar-tagline { display: none; }
  .top-bar-contact a span { display: none; }
  .top-bar-inner { justify-content: space-between; }

  .page-banner-photo-wrap { padding-block: 24px; }
}

@media (max-width: 576px) {
  .site-container { width: 92%; }
  .whatsapp-float { width: 52px; height: 52px; bottom: 16px; right: 16px; }

  /* Top bar: contact only, no divider clutter, blog button stays compact */
  .top-bar-divider { display: none; }
  .top-bar-contact { gap: 10px; }
  .top-bar-blog-btn { padding: 5px 12px; font-size: 11.5px; }
  .social-icon { width: 24px; height: 24px; }

  /* Nav: keep "Request a Quote" on one line so it never crowds the logo/menu button */
  .nav-cta-group { gap: 8px; }
  .nav-cta-group .btn-primary { padding: 9px 16px; font-size: 13px; white-space: nowrap; }
  .logo-chip img { height: 28px; }

  /* Hero */
  .hero-heading { font-size: clamp(34px, 9vw, 48px); }
  .hero-arrow { width: 36px; height: 36px; }
  .hero-arrow-prev { left: 10px; }
  .hero-arrow-next { right: 10px; }
  .hero-dots { bottom: 16px; }
  .hero-content p { font-size: 16px !important; }

  /* Page banner */
  .page-banner-title { font-size: clamp(24px, 7vw, 32px); }
  .page-banner-crumbs ol { font-size: 12.5px; gap: 6px; }

  /* Cards / grids */
  .service-card-img-body { padding: 18px; }
  .presence-card { padding: 24px; }
  .stat-card { padding: 24px 16px; }

  /* Blog */
  .blog-sidebar-box { padding: 18px; }
  .blog-recent-list img { width: 46px; height: 46px; }

  /* Enquiry widget */
  .enquiry-widget { padding: 18px; }

  /* Mobile menu */
  .mobile-nav a { font-size: 19px; padding: 13px 0; }
  .mobile-menu-logo { height: 28px; }

  /* Footer */
  .footer-brand { font-size: 24px; }
  .grid[style*="1.5fr"] { grid-template-columns: 1fr !important; gap: 32px !important; }
}

@media (max-width: 400px) {
  .top-bar-contact a[href^="mailto"] { display: none; }
}

/* Prevent horizontal overflow globally */
html, body { overflow-x: hidden; max-width: 100%; }
* { min-width: 0; }
img, video { max-width: 100%; height: auto; }
