/* MOT-4 Texte masque montant + reveals secondaires */
.reveal-mask{overflow:hidden;display:inline-block}
.reveal-mask > span{
  display:inline-block;
  transform:translateY(105%);
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.reveal-mask.in > span{transform:none}

/* Reveals secondaires : fade up sobre */
[data-reveal]:not(.reveal-mask){
  opacity:0;transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-reveal]:not(.reveal-mask).in{opacity:1;transform:none}

/* Stagger sur galerie/services */
.stagger > *{opacity:0;transform:translateY(20px);transition:opacity .5s ease, transform .5s ease}
.stagger.in > *{opacity:1;transform:none}
.stagger.in > *:nth-child(1){transition-delay:.05s}
.stagger.in > *:nth-child(2){transition-delay:.12s}
.stagger.in > *:nth-child(3){transition-delay:.19s}
.stagger.in > *:nth-child(4){transition-delay:.26s}
.stagger.in > *:nth-child(5){transition-delay:.33s}
.stagger.in > *:nth-child(6){transition-delay:.40s}
.stagger.in > *:nth-child(7){transition-delay:.47s}
.stagger.in > *:nth-child(8){transition-delay:.54s}

@media (prefers-reduced-motion:reduce){
  .reveal-mask > span,
  [data-reveal],
  .stagger > *{opacity:1;transform:none;transition:none}
}
