/* TEX-2 — Grain fin SVG noise (très léger) */
body { position: relative; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.045;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}
body > * { position: relative; z-index: 1; }
.menu-mobile, .ml-modal, .lightbox, .burger { z-index: auto; }
.burger { z-index: var(--z-burger); }
.menu-mobile { z-index: var(--z-menu); }
.ml-modal, .lightbox { z-index: var(--z-modal); }
.site-header { z-index: var(--z-header); }
.fab-call { z-index: var(--z-fab); }

/* Petits ajustements responsive */
@media (max-width: 380px) {
  .hero__title { font-size: clamp(2rem, 8vw, 2.5rem); }
  .hero__sub { font-size: 0.98rem; }
  .stat-item .stat-num { font-size: 1.9rem; }
}

@media (min-width: 768px) {
  .hero { border-radius: 0 0 var(--r-xl) var(--r-xl); }
}

/* Surcharges utilitaires */
.flex-center { display: flex; align-items: center; justify-content: center; }
.text-mute { color: var(--text-mute); }
.mt-sm { margin-top: 10px; }
.mt-md { margin-top: 20px; }
.mt-lg { margin-top: 36px; }

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