/* Reveal "texte masque montant" - MOT-4 */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
  transition-delay:var(--rd, 0s);
}
.reveal.is-in{opacity:1;transform:translateY(0)}

.reveal-mask{
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
}
.reveal-mask>span{
  display:inline-block;
  transform:translateY(110%);
  transition:transform .9s var(--ease);
  transition-delay:var(--rd, 0s);
}
.reveal-mask.is-in>span{transform:translateY(0)}

.reveal-line{
  display:block;
  height:1px;
  background:currentColor;
  transform-origin:left;
  transform:scaleX(0);
  transition:transform .8s var(--ease);
}
.reveal-line.is-in{transform:scaleX(1)}

/* Stat counter pulse */
.stat-val.is-counting{animation:countPulse .6s var(--ease)}
@keyframes countPulse{0%{opacity:.4}100%{opacity:1}}

/* Smooth scroll */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-mask>span,.reveal-line{
    opacity:1 !important;transform:none !important;
  }
}
