/* ═══════════════════════════════════════════
   ZELLENIUM — animations.css
   Keyframes e animações globais
   ═══════════════════════════════════════════ */

/* ── Fade in (subtle scale) ── */
@keyframes fadeUp {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Float (cards hero) ── */
@keyframes floatCard {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-10px); }
}

/* ── Pulse (dots ativos) ── */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .45; }
}

/* ── Orb breathing ── */
@keyframes orbBreath {
  0%, 100% { transform: scale(1);    box-shadow: 0 0 40px rgba(0,212,255,.28), 0 0 80px rgba(124,58,237,.18); }
  50%       { transform: scale(1.06); box-shadow: 0 0 60px rgba(0,212,255,.45), 0 0 110px rgba(124,58,237,.3); }
}

/* ── Orb pulse ring ── */
@keyframes orbPulse {
  0%   { transform: scale(1);   opacity: .6; }
  100% { transform: scale(1.8); opacity: 0; }
}

/* ── Spin (rings rotatórios) ── */
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ── Scroll line (hero) ── */
@keyframes scrollLine {
  0%   { transform: scaleY(0);  transform-origin: top; }
  50%  { transform: scaleY(1);  transform-origin: top; }
  51%  { transform: scaleY(1);  transform-origin: bottom; }
  100% { transform: scaleY(0);  transform-origin: bottom; }
}

/* ── bar load etc ── */
@keyframes barLoad {
  from { width: 0; }
  to   { width: var(--w); }
}

@keyframes arrowFlow {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(280%); }
}

.in-view { opacity: 1 !important; transform: scale(1) !important; }

/* ── Service card icon glow pulse ── */
@keyframes iconGlowCyan {
  0%, 100% { box-shadow: 0 0 18px rgba(0,212,255,0.10), inset 0 1px 0 rgba(0,212,255,0.08); }
  50%       { box-shadow: 0 0 28px rgba(0,212,255,0.24), inset 0 1px 0 rgba(0,212,255,0.14); }
}

@keyframes iconGlowPurple {
  0%, 100% { box-shadow: 0 0 18px rgba(124,58,237,0.12), inset 0 1px 0 rgba(168,85,247,0.08); }
  50%       { box-shadow: 0 0 30px rgba(124,58,237,0.28), inset 0 1px 0 rgba(168,85,247,0.16); }
}
