/* Aparición al hacer scroll (reveal.js pone .reveal-on en <html> y .is-in en cada pieza).
   data-reveal: el propio elemento; data-reveal-stagger: cada hijo, escalonados.
   No marcar elementos que ya tengan su propia transition: esta la sustituiría.
   Solo se anima la entrada: ocultar es instantáneo para que nada parpadee al cargar. */
:is([data-reveal], [data-reveal-stagger] > *).is-in{
  transition:
    opacity .9s cubic-bezier(.16,1,.3,1),
    transform 1.1s cubic-bezier(.16,1,.3,1),
    filter .9s cubic-bezier(.16,1,.3,1);
}
.reveal-on :is([data-reveal], [data-reveal-stagger] > *):not(.is-in){
  opacity:0; transform:translateY(40px); filter:blur(8px);
}
