/* ==========================================================================
   reveal.css — aparición al hacer scroll, común a la web pública (2026-10-20)

   Lo pone en marcha js/reveal.js. Cada página que lo usa carga este archivo,
   el script y, en <head>, la clase .reveal-ready (evita el parpadeo).

     data-reveal                 el bloque sube y aparece
     data-reveal="left|right"    entra de lado
     data-reveal="zoom"          crece un poco
     data-reveal-stagger         sus hijos directos, en cascada

   Todo va bajo :not(.is-revealed): cuando la animación termina, el script
   marca el elemento y estas reglas dejan de tocarlo. Sin eso, la transición
   de aparición pisaba la del hover de cada tarjeta (sombra, elevación).

   Inicio y Sobre Nosotros tienen sus propias reglas, anteriores a este
   archivo; se comportan igual.
   ========================================================================== */
.reveal-ready [data-reveal]:not(.is-revealed) {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s var(--gc-ease, ease), transform .7s var(--gc-ease, ease);
}
.reveal-ready [data-reveal="left"]:not(.is-revealed)  { transform: translateX(-36px); }
.reveal-ready [data-reveal="right"]:not(.is-revealed) { transform: translateX(36px); }
.reveal-ready [data-reveal="zoom"]:not(.is-revealed)  { transform: scale(.95); }
.reveal-ready [data-reveal].is-visible:not(.is-revealed) { opacity: 1; transform: none; }

.reveal-ready [data-reveal-stagger]:not(.is-revealed) > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s var(--gc-ease, ease), transform .6s var(--gc-ease, ease);
}
.reveal-ready [data-reveal-stagger].is-visible:not(.is-revealed) > * { opacity: 1; transform: none; }

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