/* Reveal on scroll (Motion MOT-2 : slide directionnel sobre) */
[data-reveal]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
  will-change:opacity, transform;
}
[data-reveal="left"]{transform:translateX(-26px)}
[data-reveal="right"]{transform:translateX(26px)}
[data-reveal="scale"]{transform:scale(.96)}
[data-reveal].is-visible{
  opacity:1;
  transform:none;
}
[data-reveal-delay="100"]{transition-delay:100ms}
[data-reveal-delay="200"]{transition-delay:200ms}
[data-reveal-delay="300"]{transition-delay:300ms}
[data-reveal-delay="400"]{transition-delay:400ms}

/* Subtile texture grille fine (TEX-4) sur le bg principal */
.tex-grid::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(46,42,36,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,42,36,0.025) 1px, transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
  mask-image:radial-gradient(ellipse at center, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 75%);
}

/* Compteurs anime */
.counter{
  opacity:0;
  transition:opacity .5s ease;
}
.counter.is-visible{opacity:1}

/* Sublime hover sur les liens du nav desktop */
.nav-desktop a{
  position:relative;
}

/* respect reduce-motion : annule slide directionnel mais garde fade */
@media (prefers-reduced-motion: reduce){
  [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }
}
