/* =========================================================
   Responsive rules — mobile-first overrides
   Breakpoints tested: 320 375 390 414 480 768 1024 1280 1440 1920
   ========================================================= */

/* ---------- ≤1280px : tighten large-desktop grids ---------- */
@media (max-width:1280px){
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .industry-grid{grid-template-columns:repeat(3,1fr);}
  .bento-grid{grid-template-columns:repeat(3,1fr);}
  .bento-item.span-2{grid-column:span 2;}
}

/* ---------- ≤1024px : tablet ---------- */
@media (max-width:1024px){
  :root{--header-h:72px;}
  .main-nav{display:none;}
  .menu-toggle{display:flex;}
  .header-actions .btn-primary span{display:none;}
  .header-actions .btn-primary{padding:12px;}

  .split{grid-template-columns:1fr;gap:36px;}
  .split-media{order:-1;}
  .check-list{grid-template-columns:1fr;}

  .quick-bar__inner{grid-template-columns:repeat(2,1fr);}
  .quick-bar__item:nth-child(2){border-right:none;}

  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .industry-grid{grid-template-columns:repeat(2,1fr);}
  .bento-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}
  .bento-item.span-2{grid-column:span 2;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .contact-cards{grid-template-columns:repeat(2,1fr);}
  .cert-grid{grid-template-columns:repeat(2,1fr);}

  .process-timeline{grid-template-columns:repeat(3,1fr);row-gap:36px;}
  .process-timeline::before,.process-timeline__line{display:none;}

  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .blog-featured{grid-template-columns:1fr;}

  .footer-top{grid-template-columns:1fr 1fr;}

  .gallery-grid{columns:3 200px;}
}

/* ---------- ≤768px : large phone / small tablet ---------- */
@media (max-width:768px){
  .section{padding:60px 0;}
  .section--tight{padding:40px 0;}

  .hero{height:640px;}
  .hero-slide__content{padding-bottom:96px;}
  .hero-controls{right:16px;bottom:18px;}
  .hero-dots{left:16px;bottom:24px;}

  .quick-bar{margin-top:-46px;}
  .quick-bar__inner{grid-template-columns:repeat(2,1fr);border-radius:var(--radius);}
  .quick-bar__item{padding:20px 12px;}
  .quick-bar__item .num{font-size:1.6rem;}

  .cta-band__inner{flex-direction:column;align-items:flex-start;}

  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:1fr;}
  .industry-grid{grid-template-columns:repeat(2,1fr);}
  .bento-grid{grid-template-columns:1fr;grid-auto-rows:auto;}
  .bento-item.span-2{grid-column:span 1;}
  .bento-item.row-2{grid-row:span 1;}
  .feature-grid{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr;}
  .cert-grid{grid-template-columns:1fr 1fr;}

  .process-timeline{grid-template-columns:1fr 1fr;}

  .catalog-toolbar{flex-direction:column;align-items:stretch;}
  .search-box{min-width:0;}

  .blog-grid{grid-template-columns:1fr;}
  .blog-featured__body{padding:26px;}

  .footer-top{grid-template-columns:1fr 1fr;padding:52px 0 32px;gap:32px;}
  .footer-brand{grid-column:1 / -1;}
  .footer-bottom{flex-direction:column;text-align:center;}

  .gallery-grid{columns:2 160px;}

  body{padding-bottom:64px;} /* room for sticky CTA */
  .sticky-cta{display:grid;}
  .back-to-top{right:16px;bottom:76px;width:42px;height:42px;}
}

/* ---------- ≤480px : phones ---------- */
@media (max-width:480px){
  .container{padding-inline:18px;}
  .hero{height:580px;}
  .quick-bar__inner{grid-template-columns:1fr 1fr;}
  .industry-grid{grid-template-columns:1fr;}
  .cert-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .process-timeline{grid-template-columns:1fr;}
  .gallery-grid{columns:2 140px;column-gap:10px;}
  .form-grid{grid-template-columns:1fr;}
  .form-card{padding:24px 20px;}
  .toast-stack{left:16px;right:16px;top:16px;}
  .toast{min-width:0;max-width:none;width:100%;}
}

/* ---------- ≤375px : narrow phones ---------- */
@media (max-width:375px){
  .hero-slide__content h1{font-size:1.85rem;}
  .quick-bar__inner{grid-template-columns:1fr 1fr;}
  .btn{padding:13px 20px;font-size:.88rem;}
}
