/* ==========================================================
   ANIME.CSS — Styles support pour les animations Anime.js
   ========================================================== */

/* ── États initiaux cachés (anime.js les révèle) ── */
.hero-badge,
#hero .hero-content > h1,
#hero .hero-content > p,
.hero-card,
.hero-price-box { opacity: 0; }

/* Annule l'animation CSS du hero-card — anime.js prend le relais */
.hero-card { animation: none !important; }

/* Annule le bounce CSS du scroll-down — anime.js prend le relais */
.scroll-down { animation: none !important; }

/* ── Cursor glow — position via transform (composité, pas de reflow) ── */
.cursor-glow {
  position: fixed;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(80,100,107,.06) 0%, rgba(80,100,107,.15) 40%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  top: -250px; left: -250px;
  mix-blend-mode: multiply;
  will-change: transform;
}

/* ── Shine sweep sur les service cards — transform composité ── */
.svc-shine {
  position: absolute;
  top: -50%;
  left: 0;
  width: 35%;
  height: 200%;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255,255,255,.28) 50%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 5;
  will-change: transform;
}

/* ── Performance hints ── */
.hero-card,
.about-badge-float { will-change: transform; }

/* ── Fallback : révèle tout après 4s si anime.js échoue ── */
.hero-badge,
#hero .hero-content > h1,
#hero .hero-content > p,
.hero-card,
.hero-price-box {
  animation: animeReveal 0s 4s forwards;
}
@keyframes animeReveal { to { opacity: 1; } }
