/* ==========================================================================
   GRACE DIGITAL MEDIA — RESPONSIVE STYLESHEET
   Breakpoints: 1200px (laptop) / 992px (small laptop) / 768px (tablet) / 540px (mobile)
   ========================================================================== */

/* ---------- Laptop ≤1200px ---------- */
@media (max-width:1200px){
  .services-grid, .why-grid, .portfolio-grid, .team-grid, .award-grid, .values-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid{ grid-template-columns:repeat(3,1fr); }
  .insta-grid{ grid-template-columns:repeat(4,1fr); }
  .testi-arrow.prev{ left:-10px; } .testi-arrow.next{ right:-10px; }
  .stats-grid{ grid-template-columns:repeat(4,1fr); gap:20px; }
}

/* ---------- Small laptop / tablet landscape ≤992px ---------- */
@media (max-width:992px){
  :root{ --nav-h:76px; }
  .nav-links{ display:none; }
  .nav-toggle{ display:flex; }
  .hero .container{ grid-template-columns:1fr; text-align:center; }
  .hero-copy p.lead{ margin-left:auto; margin-right:auto; }
  .hero-actions, .hero-trust{ justify-content:center; }
  .hero-visual{ max-width:440px; margin:30px auto 60px; }
  .hero-card{ display:none; }
  .about-preview .container{ grid-template-columns:1fr; }
  .about-media{ max-width:420px; margin:0 auto; }
  .why-grid.media-split{ grid-template-columns:1fr; }
  .why-media{ max-width:420px; margin:0 auto; }
  .process-rail{ grid-template-columns:repeat(3,1fr); row-gap:50px; }
  .process-rail::before{ display:none; }
  .service-detail{ grid-template-columns:1fr; gap:36px; }
  .service-detail.reverse{ direction:ltr; }
  .service-detail.reverse .service-media{ order:-1; }
  .contact-grid{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:40px; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .stats-grid{ grid-template-columns:repeat(2,1fr); gap:30px; }
  .newsletter-band{ flex-direction:column; text-align:center; }
  .newsletter-band form{ width:100%; min-width:0; }
}

/* ---------- Tablet ≤768px ---------- */
@media (max-width:768px){
  .section{ padding:80px 0; }
  .h0{ font-size:clamp(2.2rem,7vw,3rem); }
  .services-grid, .why-grid, .portfolio-grid, .team-grid, .award-grid, .values-grid{ grid-template-columns:1fr 1fr; }
  .insta-grid{ grid-template-columns:repeat(3,1fr); }
  .process-rail{ grid-template-columns:repeat(2,1fr); }
  .form-row{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr; gap:36px; padding-bottom:40px; }
  .footer-bottom{ flex-direction:column; text-align:center; }
  .logo-strip{ justify-content:center; gap:26px; }
  .testi-arrow{ display:none; }
  .gallery-grid{ grid-auto-rows:130px; }
  .stats-band{ padding:46px 24px; }
}

/* ---------- Mobile ≤540px ---------- */
@media (max-width:540px){
  .container{ padding:0 18px; }
  .section{ padding:64px 0; }
  .section-header{ margin-bottom:40px; }
  .services-grid, .why-grid, .portfolio-grid, .team-grid, .award-grid, .values-grid,
  .gallery-grid, .insta-grid, .process-rail, .blog-grid{ grid-template-columns:1fr; }
  .gallery-grid{ grid-auto-rows:220px; }
  .gallery-grid .wide, .gallery-grid .tall{ grid-column:span 1; grid-row:span 1; }
  .insta-grid{ grid-template-columns:repeat(2,1fr); }
  .hero-actions{ flex-direction:column; width:100%; }
  .hero-actions .btn{ width:100%; }
  .hero-trust{ gap:20px; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .contact-form-card{ padding:28px; }
  .newsletter-band{ padding:36px 24px; }
  .cta-banner{ padding:54px 26px; }
  .footer-newsletter .newsletter-form{ flex-direction:row; }
  .mobile-nav a{ font-size:1.2rem; }
  .lightbox{ padding:16px; }
  .lightbox-info{ padding:20px; }
  .back-to-top{ width:44px; height:44px; bottom:18px; right:18px; }
  .testi-card{ padding:30px 24px; }
}
