/* ==========================================================================
   Responsive breakpoints
   Desktop-refined down to mobile-first baseline already set in style.css
   ========================================================================== */

/* Laptop / small desktop */
@media (max-width: 1200px){
  :root{ --container-w: 100%; }
  .bridge-trace{ right:8px; }
}

/* Tablet */
@media (max-width: 992px){
  .nav-links{ display:none; }
  .nav-toggle{ display:flex; }
  .nav-mobile{ display:flex; }

  .bridge-trace{ display:none; }

  .mvv-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .why-grid{ grid-template-columns:repeat(2,1fr); }
  .tech-grid{ grid-template-columns:repeat(2,1fr); }

  .timeline-steps{
    grid-template-columns:repeat(4,1fr);
    row-gap:36px;
  }
  .timeline-track{ display:none; }

  .contact-grid{ grid-template-columns:1fr; gap:48px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}

/* Mobile */
@media (max-width: 640px){
  .section{ padding:80px 0; }
  .container{ padding:0 20px; }

  .hero{ min-height:560px; }
  .hero-content{ padding-bottom:56px; }
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn{ width:100%; }

  .section-title{ font-size:1.7rem; }

  .services-grid{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:1fr; }
  .tech-grid{ grid-template-columns:1fr; }

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

  .industries-grid{ gap:12px; }
  .industry-chip{ padding:12px 18px; font-size:0.88rem; }

  .form-row{ grid-template-columns:1fr; }
  .contact-form{ padding:28px 22px; }

  .footer-grid{ grid-template-columns:1fr; gap:36px; text-align:left; }
}

/* Small mobile */
@media (max-width: 380px){
  .nav-inner{ padding:0 18px; }
  .btn{ padding:14px 24px; font-size:0.9rem; }
}
