/*
 * animations.css — Keyframes CSS
 * Inpulso Pro — Diseño Lucía — v2 2026-05-17
 */

/* ─── Typing indicator (IA Simulator) ───────────────────── */
@keyframes typingDot {
  0%, 60%, 100% { transform: scale(1);   opacity: 0.4; }
  30%           { transform: scale(1.3); opacity: 1; }
}

/* ─── Message entrada ────────────────────────────────────── */
@keyframes messageIn {
  from {
    transform: scale(0.85) translateY(8px);
    opacity: 0;
  }
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

/* ─── Fade in suave ──────────────────────────────────────── */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ─── Fade up ────────────────────────────────────────────── */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ─── Slide in from right ────────────────────────────────── */
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ─── Scroll indicator ───────────────────────────────────── */
@keyframes scrollIndicatorPulse {
  0%, 100% { opacity: 0.3; transform: scaleY(1); }
  50%       { opacity: 1;   transform: scaleY(0.5); }
}

/* ─── Marquee continuo (integraciones) ───────────────────── */
@keyframes marqueeLeft {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes marqueeRight {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

/* ─── Counter reveal flash ───────────────────────────────── */
@keyframes counterFlash {
  0%   { color: var(--accent); }
  100% { color: var(--text-primary); }
}

/* ─── Cursor blink ───────────────────────────────────────── */
@keyframes cursorBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* ─── Page transition overlay ────────────────────────────── */
@keyframes pageLeave {
  from { transform: scaleY(0); transform-origin: top; }
  to   { transform: scaleY(1); transform-origin: top; }
}

@keyframes pageEnter {
  from { transform: scaleY(1); transform-origin: bottom; }
  to   { transform: scaleY(0); transform-origin: bottom; }
}

/* ─── Hero chaos fade ────────────────────────────────────── */
@keyframes chaosFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

/* ─── Glow pulse (accent) ────────────────────────────────── */
@keyframes accentPulse {
  0%, 100% { opacity: 0.6; }
  50%       { opacity: 1; }
}

/* ─── SVG stroke draw ────────────────────────────────────── */
@keyframes strokeDraw {
  from { stroke-dashoffset: 1000; }
  to   { stroke-dashoffset: 0; }
}

/* ─── Barba.js page transition ───────────────────────────── */
.barba-leave-active,
.barba-enter-active {
  transition: opacity 0.35s ease;
}

.barba-leave-to,
.barba-enter-from {
  opacity: 0;
}
