/* =========================================================
   RESPONSIVE.CSS — Breakpoints for all device classes
   Desktop > Laptop > Tablet/iPad > Large Phone > Small Phone
========================================================= */

/* ---------- Laptop (<=1200px) ---------- */
@media (max-width: 1200px){
  .container{ padding: 0 var(--s3); }
  .hero__inner{ gap: var(--s5); }
  .services-grid{ grid-template-columns: repeat(3,1fr); }
}

/* ---------- Tablet / iPad (<=1024px) ---------- */
@media (max-width: 1024px){
  .main-nav{ display:none; }
  .hamburger{ display:flex; }

  .hero__inner{ grid-template-columns: 1fr; }
  .hero__content{ text-align:center; }
  .hero__subtitle{ margin-left:auto; margin-right:auto; }
  .hero__trust-badges{ justify-content:center; }
  .hero__cta{ justify-content:center; }
  .hero__form-wrap{ max-width:520px; margin:0 auto; }

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

  .why-grid, .about-grid, .contact-grid{ grid-template-columns:1fr; }
  .why-image{ max-width:480px; margin:0 auto var(--s6); }
  .about-image{ max-width:380px; margin:0 auto var(--s5); }

  .stats-grid{ grid-template-columns: repeat(2,1fr); row-gap: var(--s5); }
  .timeline{ grid-template-columns: repeat(3,1fr); row-gap: var(--s5); }
  .timeline::before{ display:none; }
  .about-pillars{ grid-template-columns:1fr; }

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

/* ---------- Top bar collapses location on tablet ---------- */
@media (max-width: 900px){
  .top-bar__item--location{ display:none; }
}

/* ---------- Large phones (<=767px) ---------- */
@media (max-width: 767px){
  :root{ --header-h:64px; }

  .top-bar__inner{ padding: 6px 16px; font-size:11px; }
  .top-bar__info{ gap: var(--s2); }

  .hero{ padding: var(--s5) 0 var(--s7); }
  .hero__title{ font-size: 30px; }
  .hero__subtitle{ font-size:16px; }
  .hero__trust-badges{ gap: var(--s3); flex-wrap:wrap; }
  .hero__cta{ flex-direction:column; width:100%; }
  .hero__cta .btn{ width:100%; }
  .hero__form-card{ padding: var(--s4); }

  .trust-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .timeline{ grid-template-columns:1fr 1fr; }
  .stats-grid{ grid-template-columns:1fr 1fr; }

  .footer-grid{ grid-template-columns:1fr; text-align:center; }
  .footer-social{ justify-content:center; }
  .logo--footer{ justify-content:center; }
  .footer-bottom__inner{ flex-direction:column; gap:8px; text-align:center; }

  .fab--whatsapp{ display:none; } /* replaced by sticky mobile bar */
  .sticky-mobile-cta{ display:flex; }
  main{ padding-bottom: 76px; } /* room for sticky bar */
  .back-to-top{ bottom:88px; left:16px; width:42px; height:42px; }

  .section-heading{ margin-bottom: var(--s5); }
  h2{ font-size: 26px; }
}

/* ---------- Small phones (<=430px) ---------- */
@media (max-width: 430px){
  .container{ padding: 0 var(--s2); }
  .logo__text{ font-size:15px; }
  .hero__title{ font-size:26px; }
  .hero__badge{ font-size:12px; }
  .trust-badge strong{ font-size:22px; }
  .timeline{ grid-template-columns:1fr; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .about-pillars{ grid-template-columns:1fr; }
  .site-header__cta .btn--ghost{ display:none; } /* keep only primary + hamburger visible */
}

/* ---------- Foldable / very narrow (<=344px) ---------- */
@media (max-width: 344px){
  .hero__title{ font-size:23px; }
  .btn{ padding:12px 20px; font-size:14px; }
  .stats-grid{ grid-template-columns:1fr; }
}

/* ---------- Landscape phones ---------- */
@media (max-height: 480px) and (orientation: landscape){
  .hero{ padding: var(--s4) 0; }
  .mobile-nav{ padding-top: 80px; overflow-y:auto; }
}

/* ---------- Large desktop / wide screens ---------- */
@media (min-width: 1440px){
  .container{ max-width: 1360px; }
  .hero__title{ font-size:58px; }
}

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