/* ============================================================
   Points de rupture (approche mobile-first) :
   - base       : téléphones (< 640 px)
   - 40em/640   : grands téléphones
   - 48em/768   : tablettes
   - 64em/1024  : ordinateurs (navigation complète)
   - 80em/1280  : grands écrans
   ============================================================ */

@media (min-width: 40em) {
  .form__row--2 {
    grid-template-columns: 1fr 1fr;
  }

  .grid-2,
  .probleme-solution {
    grid-template-columns: 1fr 1fr;
  }

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

@media (min-width: 48em) {
  .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .trust-band .stats {
    grid-template-columns: repeat(4, 1fr);
  }

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

  .site-footer__grid {
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  }
}

@media (min-width: 64em) {
  /* Navigation complète : le menu mobile disparaît */
  .nav-toggle {
    display: none;
  }

  .site-nav {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
  }

  .site-nav__extra {
    display: none;
  }

  .header-phone {
    display: inline-block;
  }

  .header-cta {
    display: inline-flex;
  }

  .mobile-cta-bar {
    display: none;
  }

  body.has-mobile-cta {
    padding-bottom: 0;
  }

  .hero__inner {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .about-split,
  .contact-layout {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .contact-layout {
    grid-template-columns: 1.2fr 0.8fr;
  }

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

@media (min-width: 80em) {
  :root {
    --text-base: 1.125rem; /* 18 px sur grand écran */
  }
}

/* Écrans tactiles : zones de clic généreuses, pas d'effets de survol persistants */
@media (hover: none) {
  .card:hover {
    transform: none;
    box-shadow: 0 2px 8px rgb(10 31 61 / 0.04);
  }

  .btn:hover {
    transform: none;
  }
}
