/* Elementor Advanced Animations - 50+ CSS */

@keyframes cea-blur-in {
  0% { filter: blur(15px); opacity: 0; }
  100% { filter: blur(0); opacity: 1; }
}
.animated.cea-blur-in { animation: cea-blur-in 1s ease forwards; }

@keyframes cea-typewriter {
  0% { width: 0; }
  100% { width: 100%; }
}
.animated.cea-typewriter { animation: cea-typewriter 1s ease forwards; }

@keyframes cea-staggered-fade {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
.animated.cea-staggered-fade { animation: cea-staggered-fade 1s ease forwards; }

@keyframes cea-bounce-rotate {
  0% { opacity: 0; transform: scale(0) rotate(-200deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}
.animated.cea-bounce-rotate { animation: cea-bounce-rotate 1s ease forwards; }

@keyframes cea-zoom-bounce {
  0% { transform: scale(0.3); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.animated.cea-zoom-bounce { animation: cea-zoom-bounce 1s ease forwards; }

@keyframes cea-3d-flip {
  0% { transform: rotateY(90deg); opacity: 0; }
  100% { transform: rotateY(0); opacity: 1; }
}
.animated.cea-3d-flip { animation: cea-3d-flip 1s ease forwards; }

@keyframes cea-3d-tilt {
  0% { transform: perspective(600px) rotateX(90deg); opacity: 0; }
  100% { transform: perspective(600px) rotateX(0); opacity: 1; }
}
.animated.cea-3d-tilt { animation: cea-3d-tilt 1s ease forwards; }

@keyframes cea-swing-down {
  0% { transform: rotateX(-90deg); opacity: 0; }
  100% { transform: rotateX(0); opacity: 1; }
}
.animated.cea-swing-down { animation: cea-swing-down 1s ease forwards; }

@keyframes cea-light-flash {
  0% { opacity: 1; }
  100% { opacity: 0.1; }
}
.animated.cea-light-flash { animation: cea-light-flash 1s ease forwards; }

@keyframes cea-gradient-fade {
  0% { opacity: 0; background-position: 200% center; }
  100% { opacity: 1; background-position: center; }
}
.animated.cea-gradient-fade { animation: cea-gradient-fade 1s ease forwards; }

@keyframes cea-clip-reveal {
  0% { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0 0 0); }
}
.animated.cea-clip-reveal { animation: cea-clip-reveal 1s ease forwards; }

@keyframes cea-slide-skew {
  0% { transform: translateX(-100%) skewX(30deg); opacity: 0; }
  100% { transform: translateX(0) skewX(0); opacity: 1; }
}
.animated.cea-slide-skew { animation: cea-slide-skew 1s ease forwards; }

@keyframes cea-wave-text {
  0% { transform: translateY(100%); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
.animated.cea-wave-text { animation: cea-wave-text 1s ease forwards; }

@keyframes cea-letter-drop {
  0% { transform: translateY(-50px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
.animated.cea-letter-drop { animation: cea-letter-drop 1s ease forwards; }

@keyframes cea-ripple-in {
  0% { transform: scale(0); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.animated.cea-ripple-in { animation: cea-ripple-in 1s ease forwards; }

@keyframes cea-glitch {
  0% { transform: translate(0); }
  100% { transform: translate(0); }
}
.animated.cea-glitch { animation: cea-glitch 1s ease forwards; }

@keyframes cea-scribble {
  0% { stroke-dasharray: 0 100%; }
  100% { stroke-dasharray: 100% 0; }
}
.animated.cea-scribble { animation: cea-scribble 1s ease forwards; }

@keyframes cea-neon-glow {
  0% { text-shadow: 0 0 5px #fff, 0 0 20px #0ff; }
  100% { text-shadow: 0 0 15px #0ff, 0 0 30px #0ff; }
}
.animated.cea-neon-glow { animation: cea-neon-glow 1s ease forwards; }

@keyframes cea-underline-swipe {
  0% { width: 0; }
  100% { width: 100%; }
}
.animated.cea-underline-swipe { animation: cea-underline-swipe 1s ease forwards; }

@keyframes cea-spin-scale {
  0% { transform: rotate(-360deg) scale(0); opacity: 0; }
  100% { transform: rotate(0) scale(1); opacity: 1; }
}
.animated.cea-spin-scale { animation: cea-spin-scale 1s ease forwards; }

@keyframes cea-accordion-in {
  0% { transform: scaleY(0); opacity: 0; }
  100% { transform: scaleY(1); opacity: 1; }
}
.animated.cea-accordion-in { animation: cea-accordion-in 1s ease forwards; }

@keyframes cea-page-flip {
  0% { transform: rotateY(-180deg); opacity: 0; }
  100% { transform: rotateY(0); opacity: 1; }
}
.animated.cea-page-flip { animation: cea-page-flip 1s ease forwards; }

@keyframes cea-door-open {
  0% { transform: scaleX(0); opacity: 0; }
  100% { transform: scaleX(1); opacity: 1; }
}
.animated.cea-door-open { animation: cea-door-open 1s ease forwards; }

@keyframes cea-morph-in {
  0% { border-radius: 50%; transform: scale(0); opacity: 0; }
  100% { border-radius: 0; transform: scale(1); opacity: 1; }
}
.animated.cea-morph-in { animation: cea-morph-in 1s ease forwards; }

@keyframes cea-sparkle {
  0% { opacity: 0; transform: scale(0.5); }
  100% { opacity: 1; transform: scale(1); }
}
.animated.cea-sparkle { animation: cea-sparkle 1s ease forwards; }

@keyframes cea-fade-rotate {
  0% { opacity: 0; transform: rotate(-90deg); }
  100% { opacity: 1; transform: rotate(0); }
}
.animated.cea-fade-rotate { animation: cea-fade-rotate 1s ease forwards; }

@keyframes cea-diagonal-slide {
  0% { opacity: 0; transform: translate(-100px, 100px); }
  100% { opacity: 1; transform: translate(0,0); }
}
.animated.cea-diagonal-slide { animation: cea-diagonal-slide 1s ease forwards; }

@keyframes cea-rising-blur {
  0% { opacity: 0; filter: blur(10px); transform: translateY(40px); }
  100% { opacity: 1; filter: blur(0); transform: translateY(0); }
}
.animated.cea-rising-blur { animation: cea-rising-blur 1s ease forwards; }

@keyframes cea-liquid {
  0% { transform: scale(0.7) skewX(20deg); opacity: 0; }
  100% { transform: scale(1) skewX(0); opacity: 1; }
}
.animated.cea-liquid { animation: cea-liquid 1s ease forwards; }

@keyframes cea-zoom-twist {
  0% { opacity: 0; transform: scale(0) rotate(-180deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}
.animated.cea-zoom-twist { animation: cea-zoom-twist 1s ease forwards; }

@keyframes cea-pop-up {
  0% { transform: translateY(50px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
.animated.cea-pop-up { animation: cea-pop-up 1s ease forwards; }

@keyframes cea-stretch-in {
  0% { transform: scaleX(0.3); opacity: 0; }
  100% { transform: scaleX(1); opacity: 1; }
}
.animated.cea-stretch-in { animation: cea-stretch-in 1s ease forwards; }

@keyframes cea-dust {
  0% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-50px) scale(1.5); filter: blur(5px); }
}
.animated.cea-dust { animation: cea-dust 1s ease forwards; }

@keyframes cea-split-text {
  0% { clip-path: inset(50% 0 50% 0); opacity: 0; }
  100% { clip-path: inset(0 0 0 0); opacity: 1; }
}
.animated.cea-split-text { animation: cea-split-text 1s ease forwards; }

@keyframes cea-rotate-wave {
  0% { opacity: 0; transform: rotate(-360deg) scale(0); }
  100% { opacity: 1; transform: rotate(0) scale(1); }
}
.animated.cea-rotate-wave { animation: cea-rotate-wave 1s ease forwards; }

@keyframes cea-smooth-scale {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}
.animated.cea-smooth-scale { animation: cea-smooth-scale 1s ease forwards; }

@keyframes cea-cube-rotate {
  0% { opacity: 0; transform: rotateY(90deg); }
  100% { opacity: 1; transform: rotateY(0); }
}
.animated.cea-cube-rotate { animation: cea-cube-rotate 1s ease forwards; }

@keyframes cea-orbit {
  0% { opacity: 0; transform: rotate(360deg) scale(0); }
  100% { opacity: 1; transform: rotate(0) scale(1); }
}
.animated.cea-orbit { animation: cea-orbit 1s ease forwards; }

@keyframes cea-peel {
  0% { transform: rotateX(90deg); opacity: 0; }
  100% { transform: rotateX(0); opacity: 1; }
}
.animated.cea-peel { animation: cea-peel 1s ease forwards; }

@keyframes cea-zoom-shear {
  0% { transform: skewY(30deg) scale(0.5); opacity: 0; }
  100% { transform: skewY(0) scale(1); opacity: 1; }
}
.animated.cea-zoom-shear { animation: cea-zoom-shear 1s ease forwards; }

@keyframes cea-slide-bounce {
  0% { transform: translateX(-100px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}
.animated.cea-slide-bounce { animation: cea-slide-bounce 1s ease forwards; }

@keyframes cea-blast {
  0% { transform: scale(0); opacity: 0; }
  100% { transform: scale(1.5); opacity: 1; }
}
.animated.cea-blast { animation: cea-blast 1s ease forwards; }

@keyframes cea-noise {
  0% { opacity: 0.5; }
  100% { opacity: 1; }
}
.animated.cea-noise { animation: cea-noise 1s ease forwards; }

@keyframes cea-glow-bounce {
  0% { text-shadow: none; opacity: 0; }
  100% { text-shadow: 0 0 20px #0ff; opacity: 1; }
}
.animated.cea-glow-bounce { animation: cea-glow-bounce 1s ease forwards; }

@keyframes cea-stagger-slide {
  0% { transform: translateX(-50px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}
.animated.cea-stagger-slide { animation: cea-stagger-slide 1s ease forwards; }

@keyframes cea-zoom-shake {
  0% { transform: scale(0.5); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.animated.cea-zoom-shake { animation: cea-zoom-shake 1s ease forwards; }

@keyframes cea-line-reveal {
  0% { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0 0 0); }
}
.animated.cea-line-reveal { animation: cea-line-reveal 1s ease forwards; }

@keyframes cea-ink-reveal {
  0% { opacity: 0; filter: blur(20px); }
  100% { opacity: 1; filter: blur(0); }
}
.animated.cea-ink-reveal { animation: cea-ink-reveal 1s ease forwards; }

@keyframes cea-spark-reveal {
  0% { opacity: 0; transform: scale(0.5); }
  100% { opacity: 1; transform: scale(1); }
}
.animated.cea-spark-reveal { animation: cea-spark-reveal 1s ease forwards; }

