/* ============================================================
   assets/css/responsive.css  —  Media Queries
   Curve Matrix LLP
   ============================================================ */

/* ── Tablet landscape  (≤ 1200px) ──────────────────────────── */
@media (max-width: 1200px) {
  .footer-inner   { grid-template-columns: 1fr 1fr; }
  .auto-grid-4    { grid-template-columns: repeat(2, 1fr); }
  .stats-grid     { grid-template-columns: repeat(2, 1fr); }
  .stat-item:nth-child(2) { border-right: none; }
  .stat-item:nth-child(3),
  .stat-item:nth-child(4) { border-top: 1px solid var(--border); }
}

/* ── Tablet portrait  (≤ 960px) ────────────────────────────── */
@media (max-width: 960px) {
  /* Nav */
  .nav-links,
  .nav-cta          { display: none; }
  .hamburger        { display: flex; }

  /* Hero */
  .hero-glow-1 { width: 420px; height: 420px; }
  .hero-glow-2 { display: none; }

  /* Split grid → stack */
  .split-grid {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 6vw, 3rem);
  }
  /* About visual max-width when stacked */
  .about-visual { max-width: 420px; margin-inline: auto; }

  /* Process → 2-col */
  .process-grid         { grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
  .process-grid::before { display: none; }

  /* Services grid min narrower */
  .services-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
}

/* ── Mobile  (≤ 640px) ─────────────────────────────────────── */
@media (max-width: 640px) {
  /* Hide custom cursor on touch */
  #cursor-dot, #cursor-ring { display: none; }
  body { cursor: auto; }
  .hamburger { cursor: pointer; }
  .btn-primary, .btn-secondary, .btn-ghost { cursor: pointer; }
  .service-card, .faq-question { cursor: pointer; }

  /* Hero actions stack */
  .hero-actions { flex-direction: column; align-items: flex-start; }

  /* Stats 1-col */
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* Services single col */
  .services-grid { grid-template-columns: 1fr; }

  /* Process single col */
  .process-grid { grid-template-columns: 1fr; }

  /* Footer single col */
  .footer-inner { grid-template-columns: 1fr; }

  /* Contact */
  .contact-info { flex-direction: column; gap: var(--sp-6); }

  /* Mobile menu links smaller */
  .mob-link { font-size: 2rem; }

  /* Hero headline tight */
  .hero-headline { font-size: clamp(2.6rem, 14vw, 5rem); }

  /* Locations chips row */
  .locations-chips { gap: var(--sp-3); }
  .location-chip   { padding: 0.7rem 1.2rem; font-size: 0.85rem; }

  /* Stats */
  .stat-item { padding: var(--sp-6) var(--sp-4); }

  /* Float WA lower on small screen */
  .float-wa { bottom: 1.2rem; right: 1.2rem; width: 46px; height: 46px; }
}

/* ── Very small  (≤ 380px) ─────────────────────────────────── */
@media (max-width: 380px) {
  .hero-headline { font-size: clamp(2.2rem, 16vw, 3.5rem); }
  .btn-primary,
  .btn-secondary { padding: 0.8rem 1.4rem; font-size: 0.82rem; }
  .about-badge   { bottom: -12px; right: -8px; }
}
