/* ==========================================================================
   RESPONSIVE.CSS — Tablet, Laptop small, and Mobile breakpoints
   ========================================================================== */

/* ---------- Laptops / small desktops ---------- */
@media (max-width: 1200px) {
  :root {
    --fs-3xl: 3.2rem;
    --fs-2xl: 2.5rem;
    --container-w: 960px;
  }
  .why-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Tablets ---------- */
@media (max-width: 992px) {
  :root {
    --fs-3xl: 2.6rem;
    --fs-2xl: 2.1rem;
    --space-xl: 4rem;
    --space-lg: 2.75rem;
  }

  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .call-btn span { display: none; }
  .call-btn { padding: 11px; }

  .nav-links.mobile-open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 78%;
    max-width: 320px;
    background: var(--cream);
    padding: 110px var(--space-md) var(--space-md);
    box-shadow: var(--shadow-strong);
    gap: var(--space-sm);
    z-index: 1000;
  }

  .about-grid,
  .contact-grid { grid-template-columns: 1fr; }
  .about-media { max-width: 460px; margin: 0 auto; }
  .about-badge { right: 50%; transform: translateX(50%); bottom: -20px; }

  .features-grid,
  .products-grid,
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }

  .why-grid { grid-template-columns: repeat(3, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }

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

  .masonry { column-count: 2; }

  .cta-band { flex-direction: column; text-align: center; }
  .cta-actions { justify-content: center; }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
  :root {
    --fs-3xl: 2.1rem;
    --fs-2xl: 1.7rem;
    --fs-xl: 1.4rem;
    --space-xl: 3rem;
    --space-lg: 2rem;
  }

  section { padding: var(--space-xl) 0; }

  .hero { min-height: 92vh; text-align: left; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { justify-content: center; }

  .features-grid,
  .products-grid,
  .testimonials-grid,
  .why-grid { grid-template-columns: 1fr; }

  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item .stat-num { font-size: var(--fs-2xl); }

  .about-points { grid-template-columns: 1fr; }

  .form-row { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr; gap: var(--space-md); }
  .footer-bottom { flex-direction: column; text-align: center; }

  .masonry { column-count: 1; }

  .page-header { padding: 130px 0 var(--space-md); }

  .contact-info-card,
  .contact-form-card { padding: var(--space-md); }

  .back-to-top { width: 42px; height: 42px; bottom: 18px; right: 18px; }
}

@media (max-width: 380px) {
  .logo-text .secondary { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
}
