/* ============================================================
   RESPONSIVE.CSS — breakpoints for laptop, tablet, and mobile
   ============================================================ */

/* ----- Laptop / small desktop (<=1180px) ----- */
@media (max-width:1180px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .industries-grid{grid-template-columns:repeat(3,1fr);}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(3,1fr);row-gap:2rem;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

/* ----- Tablet (<=900px) ----- */
@media (max-width:900px){
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:280px;background:#fff;
    box-shadow:var(--shadow-lg);padding:6rem 2rem 2rem;
    transform:translateX(100%);transition:transform var(--transition);z-index:99;
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;gap:1.5rem;}
  .main-nav a{color:var(--color-navy-900) !important;font-size:1.05rem;}
  .hamburger{display:flex;}
  .header-actions .btn-primary{display:none;}

  .hero-stats{grid-template-columns:repeat(2,1fr);row-gap:1.6rem;}
  .split-section{grid-template-columns:1fr;}
  .split-media{min-height:280px;order:-1;}
  .contact-grid{grid-template-columns:1fr;}
  .process-track{flex-wrap:wrap;}
  .process-track::before{display:none;}
  .process-step{flex:1 1 45%;margin-bottom:1.6rem;}
}

/* ----- Mobile (<=640px) ----- */
@media (max-width:640px){
  section{padding:var(--space-5) 0;}
  .hero{padding-top:5.5rem;text-align:left;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{width:100%;}
  .hero-stats{grid-template-columns:repeat(2,1fr);}

  .services-grid,.industries-grid,.feature-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;text-align:left;gap:2.2rem;}
  .footer-bottom-inner{flex-direction:column;text-align:center;}
  .form-row{grid-template-columns:1fr;}
  .contact-form-wrap,.contact-info-card{padding:1.6rem;}
  .process-step{flex:1 1 100%;}
  .back-to-top{right:1rem;bottom:1rem;width:42px;height:42px;}
}

/* ----- Reduced motion ----- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
