/* FX · Reveal al entrar en viewport
   Solo oculta si el JS ha cargado bien (clase .fx-js en <html>). */
.fx-js .fx-reveal {
  opacity: 0;
  translate: 0 20px;
  transition:
    opacity .7s cubic-bezier(.22, 1, .36, 1),
    translate .7s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--fx-delay, 0s);
}

.fx-js .fx-reveal.is-visible {
  opacity: 1;
  translate: 0 0;
}

/* Escalonado opcional */
.fx-d1 { --fx-delay: .1s; }
.fx-d2 { --fx-delay: .2s; }
.fx-d3 { --fx-delay: .3s; }

@media print {
  .fx-js .fx-reveal {
    opacity: 1 !important;
    translate: none !important;
  }
}
