/* Animaciones compartidas y respeto de «reducir movimiento». Se carga al final. */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; scroll-snap-type: none; }
  .reveal { transition: none; }
  .js .reveal { opacity: 1; transform: none; }
  .scan,
  .bubble--answer.is-animated,
  .issued.is-visible,
  .diagram line,
  .diagram .gate,
  .diagram .layer-card,
  .graph .rel,
  .graph .gnode-ring,
  h1 mark { animation: none; }
  /* Los puntos, el punto rechazado y los globos se ocultan: los diagramas quedan estáticos */
  .flow-dot,
  .reject-dot,
  .reject-note,
  .reject-mark { display: none; }
}
