/* ═══════════════════════════════════════════════════════════════════════════
   anima.css · TouchColombia — Sistema de revelado al hacer scroll.
   Basado en la mecánica de la presentación TouchTurn: entrada con
   desvanecimiento + elevación de 26px, curva cubic-bezier(.2,.8,.25,1) y
   escalonado entre elementos hermanos.
   ---------------------------------------------------------------------------
   REGLAS:
   - Ningún elemento se oculta en CSS: la clase .rv la pone reveal.js SOLO a
     elementos que están bajo el pliegue y SOLO si el usuario no pidió
     movimiento reducido. Sin JavaScript, la página se ve completa.
   - El retraso escalonado llega por la variable --rvd (la fija reveal.js).
   ═══════════════════════════════════════════════════════════════════════════ */
.rv{opacity:0;transform:translateY(26px);
  transition:opacity .6s cubic-bezier(.2,.8,.25,1) var(--rvd,0ms),
             transform .6s cubic-bezier(.2,.8,.25,1) var(--rvd,0ms)}
.rv-in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
}

/* Variante lateral: el flujo del dinero entra de izquierda a derecha */
.rv.rvx{transform:translateX(-34px)}
.rv-in.rvx{transform:none}

/* Pulso que recorre los 5 pasos del flujo (badge por badge, en bucle).
   El retraso por paso (--lgd) lo fija reveal.js. */
@keyframes lognum{
  0%,10%{box-shadow:0 0 0 0 rgba(40,166,255,.55);transform:scale(1.16)}
  16%,100%{box-shadow:0 0 0 12px rgba(40,166,255,0);transform:scale(1)}}
.logistics-step-num{animation:lognum 6s ease-out infinite;animation-delay:var(--lgd,0s)}
@media (prefers-reduced-motion: reduce){.logistics-step-num{animation:none}}

/* ── Video de kiosco (.vkiosk): componente compartido por el inicio (mesa de
   ayuda) y las landings (salud, restaurantes). Marco vertical 9:16, etiqueta
   roja opcional y punto que late. reveal.js lo reproduce solo en pantalla. ── */
.vkiosk{position:relative;max-width:320px;margin:0 auto}
.vkiosk video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;display:block;border-radius:20px;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 34px 80px rgba(0,0,0,.5);background:#0B1230}
.vkiosk-34 video{aspect-ratio:3/4}
.vkiosk-label{position:absolute;left:50%;transform:translateX(-50%);bottom:-13px;display:inline-flex;
  align-items:center;background:#E11E2C;color:#fff;font-family:'Space Grotesk',sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.12em;padding:8px 14px;border-radius:999px;
  white-space:nowrap;box-shadow:0 10px 24px rgba(225,30,44,.35)}
.vkiosk-dot{width:7px;height:7px;border-radius:50%;background:#fff;display:inline-block;
  margin-right:8px;animation:vkpulse 1.6s ease-in-out infinite}
@keyframes vkpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}
@media (max-width:768px){.vkiosk{max-width:280px}}
@media (prefers-reduced-motion: reduce){.vkiosk-dot{animation:none}}
