/* responsive.css — All media queries */

/* ── TABLET (≤1024px) ─────────────────────────────────────── */
@media (max-width: 1024px) {
  :root {
    --text-6xl: 3.25rem;
    --text-5xl: 2.5rem;
    --text-4xl: 2rem;
  }
  .footer-main { grid-template-columns: 1fr 1fr; gap: var(--sp-10); }
  .nav-dropdown { min-width: 600px; }
  .nav-dropdown__grid { grid-template-columns: repeat(2, 1fr); }
  .content-sidebar { grid-template-columns: 1fr; }
  .sidebar-card { position: static; }
  .bento-grid { grid-template-columns: repeat(2, 1fr); }
  .bento-card--tall { grid-row: span 1; }
  .bento-card--wide { grid-column: span 2; }
}

/* ── MOBILE NAV TRIGGER (≤768px) ─────────────────────────── */
@media (max-width: 768px) {
  :root {
    --header-h: var(--header-h-sm);
    --text-6xl: 2.5rem;
    --text-4xl: 1.875rem;
    --text-5xl: 2.25rem;
  }

  /* Show mobile toggle, hide desktop nav */
  .nav-toggle { display: flex; }
  .site-nav   { display: none; }
  .site-header__actions .btn--cta { display: none; }

  /* Show mobile bottom bar */
  .mobile-cta-bar { display: block; }
  body { padding-bottom: 64px; }

  /* Hero */
  .hero { min-height: auto; padding: calc(var(--sp-20) + var(--header-h-sm)) 0 var(--sp-16); }
  .hero-grid { grid-template-columns: 1fr; gap: var(--sp-8); padding: 0; min-height: auto; }
  .hero-grid__visual { display: none; }
  .hero__headline { font-size: clamp(2rem, 8vw, 2.75rem); }
  .hero__sub { font-size: var(--text-md); }
  .hero__stats { grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
  .stat-block { padding: var(--sp-4) var(--sp-3); }
  .stat-block__number { font-size: var(--text-3xl); }
  .hero__badge-float { display: none; }

  /* Page hero */
  .page-hero { padding: calc(var(--sp-12) + var(--header-h-sm)) 0 var(--sp-12); }
  .page-hero__inner { grid-template-columns: 1fr; gap: var(--sp-6); }
  .page-hero__deco { display: none; }

  /* Grids */
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .bento-grid { grid-template-columns: 1fr; }
  .bento-card--wide { grid-column: span 1; }
  .cities-grid { grid-template-columns: 1fr; }

  /* Contact */
  .contact-split { grid-template-columns: 1fr; min-height: auto; }
  .contact-split__dark, .contact-split__light { padding: var(--sp-10) var(--sp-6); }

  /* About */
  .about-split { grid-template-columns: 1fr; gap: var(--sp-8); }

  /* Footer */
  .footer-main { grid-template-columns: 1fr; gap: var(--sp-8); padding: var(--sp-10) 0; }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* Emergency bar */
  .emergency-bar__badges { display: none; }

  /* Trust ticker stays full */
  .trust-ticker__inner { gap: var(--sp-8); }

  /* Process steps */
  .process-steps { padding-left: var(--sp-12); }
  .process-step__number { width: 40px; height: 40px; font-size: var(--text-md); }

  /* Why timeline */
  .why-timeline { padding-left: var(--sp-10); }

  /* Accordion */
  .accordion__btn { font-size: var(--text-md); padding: var(--sp-4) var(--sp-5); }

  /* Section spacing */
  .section { padding: var(--sp-12) 0; }
  .section--lg { padding: var(--sp-16) 0; }
  .section-head { margin-bottom: var(--sp-8); }

  /* CTA banner */
  .cta-banner { padding: var(--sp-10) var(--sp-6); border-radius: var(--radius-xl); }
  .cta-banner__actions { flex-direction: column; align-items: center; }

  /* Nav dropdown — hidden on mobile (handled by JS drawer) */
  .nav-dropdown { display: none !important; }

  /* Diagonal clip */
  .section--diagonal-bottom { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0 100%); padding-bottom: calc(var(--sp-12) + 30px); }
  .section--diagonal-top   { margin-top: -30px; padding-top: calc(var(--sp-12) + 30px); }
}

/* ── SMALL MOBILE (≤480px) ────────────────────────────────── */
@media (max-width: 480px) {
  :root { --text-6xl: 2rem; }
  .hero__stats { grid-template-columns: 1fr 1fr; }
  .hero__stats .stat-block:last-child { grid-column: span 2; }
  .btn--cta { font-size: var(--text-md); padding: var(--sp-3) var(--sp-6); }
  .review-card { flex: 0 0 90vw; }
  .cta-banner { padding: var(--sp-8) var(--sp-5); }
  .contact-split__dark, .contact-split__light { padding: var(--sp-8) var(--sp-5); }
}

/* ── HOVER-CAPABLE DEVICES ONLY ───────────────────────────── */
@media (hover: none) {
  .service-card-v2:active {
    transform: scale(0.98);
    border-color: var(--clr-gold);
  }
  .btn:active { transform: scale(0.97); }
}

/* ── REDUCED MOTION ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .text-highlight::after { animation: none; width: 100%; }
}

/* ── PRINT ────────────────────────────────────────────────── */
@media print {
  .site-header, .mobile-cta-bar, .trust-ticker, .site-footer, .hero__badge-float { display: none !important; }
  body { color: black; background: white; }
  a { text-decoration: underline; }
}
