/* =========================================================
   responsive.css — adaptations tablette et mobile
   ========================================================= */

@media (max-width: 1240px) {
  /* Menu mobile (8 rubriques : bascule en hamburger sous 1240px) */
  .nav-toggle { display: inline-block; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--ivory); border-bottom: 1px solid var(--line); padding: 8px var(--gutter) 20px; box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .nav a { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .nav a:not(.btn)::after { display: none; }
  .nav .btn { margin-top: 14px; padding: 16px; font-size: .85rem; }
}

@media (max-width: 1100px) {
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .process { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; }
}

@media (max-width: 980px) {

  .hero__in { grid-template-columns: 1fr; }
  .cartouche { justify-self: start; }
  .sec-head { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; }
  .svc-grid, .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why__item, .why__item:not(:nth-child(3n+1)) { padding: 24px 20px 28px 0; border-left: 0; }
  .why__item:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--line-dark); }
  .stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat:nth-child(3) { border-left: 0; padding-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .cta__in { grid-template-columns: 1fr; }
  .pj--wide { grid-column: span 2; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .models { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .model, .model:nth-child(4), .model:nth-child(5) { grid-column: span 1; aspect-ratio: 4 / 5; }
  .model:nth-child(5) { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
}

@media (max-width: 640px) {
  .brand__sub { display: none; }
  .brand img { width: 44px; }
  .svc-grid, .grid-3, .grid-2, .grid-4, .band { grid-template-columns: 1fr; }
  .pj--wide { grid-column: auto; }
  .pj--wide .pj__media { aspect-ratio: 4 / 3; }
  .why { grid-template-columns: 1fr; }
  .why__item:nth-child(2n) { padding-left: 0; border-left: 0; }
  .process { grid-template-columns: 1fr; row-gap: 0; }
  .process li { grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; padding: 0 0 22px; }
  .process__n { grid-row: span 3; font-size: 2rem; }
  .process__line { display: none; }
  .hero__ctas .btn, .cta .btn { width: 100%; }
  .form__row { grid-template-columns: 1fr; }
  .coord { grid-template-columns: 1fr; gap: 2px; }
  .tiers { grid-template-columns: 1fr; }
  .tier { border-left: 0; border-top: 1px solid var(--line-dark); }
  .tier:first-child { border-top: 0; }
  .ba, .ba--full, .gallery { grid-template-columns: 1fr !important; }
  .models { grid-template-columns: 1fr; }
  .model, .model:nth-child(4), .model:nth-child(5) { grid-column: auto; aspect-ratio: 4 / 4.2; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .legal span:last-child { margin-left: 0; }
  .factsheet div { grid-template-columns: 1fr; gap: 2px; }
  .band__card { min-height: 280px; }
}

@media (max-width: 1100px) { .svc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .process--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 980px) { .form__row3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .svc-grid--4 { grid-template-columns: 1fr; } .process--5 { grid-template-columns: 1fr; } .form__row3 { grid-template-columns: 1fr; } }
