/* MOT-4 — Texte masque montant (impose) + fade vertical sobre */
.reveal-mask{overflow:hidden;display:inline-block;}
.reveal-mask > *{transform:translateY(108%);transition:transform .8s cubic-bezier(.2,.8,.2,1);display:inline-block;}
.reveal-mask.in > *{transform:none;}

[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 > *{opacity:0;transform:translateY(20px);transition:opacity .55s ease, transform .55s ease;}
.stagger.in > *{opacity:1;transform:none;}
.stagger.in > *:nth-child(1){transition-delay:.04s;}
.stagger.in > *:nth-child(2){transition-delay:.10s;}
.stagger.in > *:nth-child(3){transition-delay:.16s;}
.stagger.in > *:nth-child(4){transition-delay:.22s;}
.stagger.in > *:nth-child(5){transition-delay:.28s;}
.stagger.in > *:nth-child(6){transition-delay:.34s;}
.stagger.in > *:nth-child(7){transition-delay:.40s;}
.stagger.in > *:nth-child(8){transition-delay:.46s;}

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