/* NYELEC – animations (fichier externe, compatible avec la politique de sécurité du site) */
@media (prefers-reduced-motion: no-preference) {

  /* Bandeau rayé sous l'en-tête : défile doucement */
  .stripe { animation: nx-stripe 18s linear infinite; }
  @keyframes nx-stripe { to { background-position: 240px 0; } }

  /* Logo : l'éclair grésille de temps en temps */
  .logo-mark path { animation: nx-flick 5s infinite; transform-origin: center; }
  @keyframes nx-flick { 0%, 90%, 100% { opacity: 1; } 92% { opacity: .25; } 94% { opacity: 1; } 96% { opacity: .5; } }

  /* Accueil : entrée du haut de page */
  .hero51 .tagline, .hero51 h1, .hero51-sub, .hero51-value, .hero51 .hero-ctas, .hero51 .hero-direct {
    animation: nx-up .7s cubic-bezier(.2,.7,.2,1) both;
  }
  .hero51 h1 { animation-delay: .08s; }
  .hero51-sub { animation-delay: .16s; }
  .hero51-value { animation-delay: .24s; }
  .hero51 .hero-ctas { animation-delay: .32s; }
  .hero51 .hero-direct { animation-delay: .4s; }
  .proofs51 li { animation: nx-up .6s cubic-bezier(.2,.7,.2,1) both; }
  .proofs51 li:nth-child(1) { animation-delay: .45s; } .proofs51 li:nth-child(2) { animation-delay: .5s; }
  .proofs51 li:nth-child(3) { animation-delay: .55s; } .proofs51 li:nth-child(4) { animation-delay: .6s; }
  .proofs51 li:nth-child(5) { animation-delay: .65s; } .proofs51 li:nth-child(6) { animation-delay: .7s; }
  .proofs51 li:nth-child(7) { animation-delay: .75s; } .proofs51 li:nth-child(8) { animation-delay: .8s; }
  .hero51-photo { animation: nx-photo 1s cubic-bezier(.2,.7,.2,1) .2s both; }
  .hero51-photo img { transition: transform 6s ease; }
  .hero51-photo:hover img { transform: scale(1.04); }
  @keyframes nx-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
  @keyframes nx-photo { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }

  /* Les étoiles des avis se remplissent */
  .stars { background: linear-gradient(90deg, #F5C400 50%, rgba(245,196,0,.25) 50%); background-size: 200% 100%;
           -webkit-background-clip: text; background-clip: text; color: transparent;
           animation: nx-stars 1.4s ease .9s both; }
  @keyframes nx-stars { from { background-position: 100% 0; } to { background-position: 0 0; } }

  /* Bouton d'appel : halo qui pulse */
  .hero51 .btn-call, .mbar .call, .nx-pulse { animation: nx-pulse 2.4s ease-out infinite; }
  @keyframes nx-pulse { 0% { box-shadow: 0 0 0 0 rgba(245,196,0,.6); } 70% { box-shadow: 0 0 0 16px rgba(245,196,0,0); } 100% { box-shadow: 0 0 0 0 rgba(245,196,0,0); } }

  /* Apparition des blocs au défilement (classe posée par anim.js) */
  .nx-rv { opacity: 0; transform: translateY(26px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
  .nx-rv.nx-in { opacity: 1; transform: none; }

  /* Cartes : légère élévation au survol */
  .needs51 article, .sym-sec li, .real, .guides li a, .reals article, .proofs51-sec dl > div {
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .needs51 article:hover, .sym-sec li:hover, .real:hover, .guides li a:hover {
    transform: translateY(-4px); box-shadow: 0 12px 28px rgba(19,35,63,.12);
  }

  /* Compteurs (prix, note) */
  .nx-count { display: inline-block; min-width: 1ch; }
}
