/* LCP hero: image réelle au lieu d’un background-image */
.modular-hero.hero {
  position: relative;
  overflow: hidden;
  background-image: none !important;
}

.modular-hero .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  pointer-events: none;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  filter: none !important;
}

.modular-hero.parallax .hero-bg {
  height: 120%;
  top: -10%;
  will-change: transform;
}

.modular-hero .image-overlay,
.modular-hero .container,
.modular-hero #to-start {
  position: relative;
  z-index: 1;
}

.modular-hero .image-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Quark2 n’applique le voile que si background-image est inline.
     Ici l’image est un <img>, donc on pose le voile nous-mêmes. */
  background:
    radial-gradient(
      ellipse 85% 72% at 50% 42%,
      rgba(0, 0, 0, 0.50) 0%,
      rgba(0, 0, 0, 0.28) 48%,
      rgba(0, 0, 0, 0.12) 100%
    );
}

.modular-hero.text-light h1,
.modular-hero.text-light h2,
.modular-hero.text-light h3 {
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.45),
    0 6px 22px rgba(0, 0, 0, 0.38);
}

.modular-hero.text-light #to-start {
  color: #fff;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.45));
}

@media (prefers-reduced-motion: reduce) {
  .modular-hero.parallax .hero-bg {
    transform: none !important;
    will-change: auto;
  }
}
