@media (max-width: 1024px) {
  :root { --section-pad: 82px; }
  .hero-grid, .split-layout, .coverage-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero { padding-top: 130px; }
  .hero h1 { font-size: clamp(2.6rem, 10vw, 4.6rem); }
  .floating-note { left: 18px; bottom: -20px; }
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .testimonials-grid { grid-template-columns: repeat(2,1fr); }
  .blog-grid { grid-template-columns: repeat(2,1fr); }
  .sticky-copy { position: static; }
  .strip-inner { justify-content: flex-start; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-cta-inner { grid-template-columns: 1fr; gap: 28px; }
  .map-section-inner { grid-template-columns: 1fr; }
  .trust-row { max-width: 100%; }
  .archive-layout { grid-template-columns: 1fr; }
  .single-layout { grid-template-columns: 1fr; }
  .service-single-layout { grid-template-columns: 1fr; }
  .about-intro { grid-template-columns: 1fr; gap: 40px; }
  .contact-layout { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  :root { --section-pad: 64px; }
  #primary-navigation .nav-menu,
  #primary-navigation .nav-cta { display: none; }
  .hamburger { display: flex; }
  #site-header { height: 68px; padding: 8px 10px 8px 14px; }
  .services-grid { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-section-header { flex-direction: column; gap: 16px; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
  .footer-bottom-links { justify-content: center; }
  .posts-grid { grid-template-columns: 1fr; }
  .about-values-grid { grid-template-columns: repeat(2,1fr); }
  .contact-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 26px, var(--container)); }
  .logo-tagline { display: none; }
  .hero { padding-bottom: 64px; }
  .hero-text { font-size: 1rem; }
  .trust-row, .campaign-stats, .progress-list { grid-template-columns: 1fr; }
  .campaign-card { padding: 20px; border-radius: 26px; }
  .map-visual { height: 200px; }
  .floating-note { display: none; }
  .footer-cta-inner { padding: 26px; border-radius: 26px; }
  .coverage-panel, .area-card { padding: 26px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .about-values-grid { grid-template-columns: 1fr; }
}
