/* ========================
   RESPONSIVE — Mobile First
   375 → 768 → 1024 → 1440
   ======================== */

/* 375px base (default — already mobile first) */
@media (max-width: 374px) {
  h1 { font-size: 1.75rem; }
  .btn-lg { padding: 0.875rem 1.5rem; font-size: 0.9375rem; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; text-align: center; justify-content: center; }
}

/* 768px — Tablet */
@media (min-width: 768px) {
  :root { --header-h: 80px; }
}

/* max-width 767px — Mobile only */
@media (max-width: 767px) {
  .section     { padding-block: 3.5rem; }
  .section-lg  { padding-block: 4.5rem; }

  .grid-2,
  .grid-3,
  .grid-4 { grid-template-columns: 1fr; }

  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }

  .lead-form-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
  .lead-form-box  { padding: 1.75rem 1.25rem; }

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

  .ba-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

  .tc-slide { flex: 0 0 100%; }

  .contact-layout { grid-template-columns: 1fr; }
  .about-layout   { grid-template-columns: 1fr; }
  .service-layout { grid-template-columns: 1fr; }
  .sidebar-card   { position: static; }

  .journey-steps  { flex-direction: column; align-items: center; }
  .step-arrow     { display: none; }

  .hero-actions { flex-wrap: wrap; }

  .section-header { margin-bottom: 2.5rem; }

  .footer-bottom .flex-between { flex-direction: column; gap: 0.5rem; text-align: center; }

  .page-hero { padding-block: 3rem 2rem; }
}

/* 1024px — Desktop */
@media (min-width: 1024px) {
  .nav-toggle  { display: none; }
  .nav-primary {
    position: static;
    transform: none;
    background: none;
    padding: 0;
    overflow: visible;
  }
  .nav-list { flex-direction: row; }

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

  .lead-form-wrap { grid-template-columns: 1fr 1fr; }
  .service-layout { grid-template-columns: 1fr 300px; }
  .contact-layout { grid-template-columns: 1fr 1fr; }
  .about-layout   { grid-template-columns: 2fr 1fr; }
  .footer-grid    { grid-template-columns: 2fr 1fr 1fr 1.5fr; }
}

/* 1440px — Wide */
@media (min-width: 1440px) {
  :root { --max-width: 1360px; }
  .stat-number { font-size: 4rem; }
}

/* === PRINT === */
@media print {
  .site-header,
  .whatsapp-float,
  .mobile-sticky-bar,
  .exit-popup-overlay { display: none !important; }
  body { padding-top: 0; padding-bottom: 0; }
}
