@media (max-width: 1080px){
  .hero-grid,.two-col,.contact-grid,.footer-grid,.about-grid,.formateur-detail{grid-template-columns:1fr}
  .stats-grid,.cards-grid{grid-template-columns:repeat(2,1fr)}
  .teachers-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .benefits-grid,.about-cards{grid-template-columns:1fr}
  .formateurs-grid{grid-template-columns:repeat(2,1fr)}
  .parcours-grid,.pricing-grid,.pricing-notes{grid-template-columns:1fr}
  .gallery-mosaic{grid-template-columns:repeat(2,1fr); grid-auto-rows:170px}
  .hero-columns{flex-direction:column}
}

@media (max-width: 640px){
  .gallery-mosaic{grid-template-columns:1fr; grid-auto-rows:220px}
  .gallery-tile.span-2-2,.gallery-tile.span-2-1{grid-column:span 1; grid-row:span 1}
}

@media (max-width: 820px){
  .section{padding:72px 0}
  .hero{padding:124px 0 0; min-height:640px}
  .nav{
    position:fixed; inset:78px 1rem auto 1rem;
    flex-direction:column; align-items:stretch; gap:.5rem;
    padding:16px; border-radius:24px;
    background:rgba(8,17,31,.96); border:1px solid var(--line);
    box-shadow:var(--shadow);
    transform:translateY(-16px); opacity:0; pointer-events:none;
    transition:.25s ease;
  }
  .nav.open{opacity:1; transform:translateY(0); pointer-events:auto}
  .nav-link,.nav-cta{padding:1rem 1rem; border-radius:16px}
  .menu-toggle{display:inline-grid; place-items:center}
  .form-row{grid-template-columns:1fr}
  .stats-grid,.cards-grid,.teachers-grid,.gallery-grid,.formateurs-grid{grid-template-columns:1fr}
  .hero-card-stats{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .teachers-grid{grid-template-columns:1fr}
}

@media (max-width: 560px){
  .container{width:min(var(--container), calc(100% - 1.2rem))}
  .hero h1{font-size:clamp(2.4rem, 13vw, 4rem)}
  .hero-carousel{width:100%; height:320px}
  .testimonial-card{flex-basis:280px; width:280px}
  .testimonial-card p{font-size:1rem}
}
