/* ===== MOBILE-FIRST RESPONSIVE ===== */

/* Tablette → colonnes réduites */
@media (max-width: 900px) {
  .svc-asym {
    grid-template-columns: repeat(2, 1fr);
  }
  .svc-asym .c-asym,
  .svc-asym .c-asym--wide,
  .svc-asym .c-asym--lead {
    grid-column: 1 / -1;
  }
  .gal-feat {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 180px;
  }
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .gal-masonry { column-count: 2; }
}

/* Mobile */
@media (max-width: 768px) {
  /* Hero split : empilement vertical, photo en haut */
  .hero-split__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 0;
  }
  .hero-split__media {
    aspect-ratio: 16/10;
    order: -1;
    border-radius: 14px;
  }
  .hero-split__title {
    font-size: clamp(2rem, 9vw, 2.6rem);
  }
  .hero-split__sub {
    max-width: 100%;
    font-size: 1rem;
  }
  .hero-split__cta {
    flex-direction: column;
    width: 100%;
  }
  .hero-split__cta .btn {
    width: 100%;
    justify-content: center;
  }

  /* Galerie grid-feat mobile : 2 colonnes */
  .gal-feat {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 140px;
  }
  .gal-feat__big {
    grid-column: span 2;
    grid-row: span 1;
    aspect-ratio: auto;
  }

  /* Services : 1 colonne */
  .svc-asym {
    grid-template-columns: 1fr;
  }
  .svc-asym .c-asym,
  .svc-asym .c-asym--wide,
  .svc-asym .c-asym--lead {
    grid-column: 1 / -1;
  }

  /* Stats : 1 colonne */
  .stats-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .stat-item {
    border-right: none;
    border-bottom: 1px solid oklch(30% 0.01 63);
    padding: 18px 16px;
  }
  .stat-item:last-child { border-bottom: none; }

  /* Contact : 1 colonne */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .contact-ctas .btn { width: 100%; justify-content: center; }
  .contact-ctas { gap: 10px; }

  /* Avis : full width */
  .avis-rows__item {
    grid-template-columns: 1fr;
  }

  /* Masonry */
  .gal-masonry { column-count: 1; }

  /* Section padding */
  .section { padding: clamp(44px, 8vw, 64px) 0; }

  /* Logo font smaller */
  .logo { font-size: .95rem; }

  /* Map height mobile */
  .map-wrapper { padding-top: 85%; }
}

@media (max-width: 480px) {
  .hero-split__title { font-size: clamp(1.8rem, 9vw, 2.2rem); }
  .section-title { font-size: clamp(1.5rem, 6vw, 1.9rem); }
  .stat-num { font-size: clamp(1.5rem, 6vw, 2rem); }
  .gal-feat { grid-template-columns: 1fr; grid-auto-rows: 200px; }
  .gal-feat__big { grid-row: span 1; }
}

/* wf-noxoverflow : reveal vertical (le slide horizontal deborde la largeur sur mobile) */
[data-reveal]:not(.in){ transform: translateY(18px) !important; }
