.reveal-fade-up{opacity:0;transform:translateY(30px);transition:all 0.6s cubic-bezier(0.4,0,0.2,1);}.reveal-fade-up.visible{opacity:1;transform:translateY(0);}.reveal-fade-left{opacity:0;transform:translateX(-30px);transition:all 0.6s cubic-bezier(0.4,0,0.2,1);}.reveal-fade-left.visible{opacity:1;transform:translateX(0);}.reveal-fade-right{opacity:0;transform:translateX(30px);transition:all 0.6s cubic-bezier(0.4,0,0.2,1);}.reveal-fade-right.visible{opacity:1;transform:translateX(0);}.reveal-scale{opacity:0;transform:scale(0.9);transition:all 0.6s cubic-bezier(0.4,0,0.2,1);}.reveal-scale.visible{opacity:1;transform:scale(1);}.stagger-children > *{opacity:0;transform:translateY(20px);transition:all 0.5s cubic-bezier(0.4,0,0.2,1);}.stagger-children.visible > *:nth-child(1){transition-delay:0.1s;}.stagger-children.visible > *:nth-child(2){transition-delay:0.2s;}.stagger-children.visible > *:nth-child(3){transition-delay:0.3s;}.stagger-children.visible > *:nth-child(4){transition-delay:0.4s;}.stagger-children.visible > *:nth-child(5){transition-delay:0.5s;}.stagger-children.visible > *:nth-child(6){transition-delay:0.6s;}.stagger-children.visible > *:nth-child(7){transition-delay:0.7s;}.stagger-children.visible > *:nth-child(8){transition-delay:0.8s;}.stagger-children.visible > *{opacity:1;transform:translateY(0);}.hover-lift{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.1);}.hover-glow{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.hover-glow:hover{box-shadow:0 0 30px rgba(251,191,36,0.3);border-color:var(--color-secondary);}.hover-bounce:hover{animation:bounce 0.5s ease;}@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}.hover-spin:hover i,.hover-spin:hover svg{animation:spin 0.6s ease;}.number-ball:hover{animation:numberPop 0.4s cubic-bezier(0.68,-0.55,0.265,1.55);}@keyframes numberPop{0%{transform:scale(1);}50%{transform:scale(1.2);}100%{transform:scale(1.15);}}.counter{display:inline-block;}.counting{animation:countPulse 0.3s ease;}@keyframes countPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}.progress-bar{width:100%;height:8px;background:var(--color-bg-alt);border-radius:var(--radius-full);overflow:hidden;}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width 0.8s cubic-bezier(0.4,0,0.2,1);}.progress-fill.loading{animation:progressShimmer 1.5s infinite;}@keyframes progressShimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}.pulse{animation:pulse 2s infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.pulse-dot{width:12px;height:12px;background:var(--color-accent);border-radius:var(--radius-full);animation:pulseDot 2s infinite;}@keyframes pulseDot{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(16,185,129,0.7);}70%{transform:scale(1.1);box-shadow:0 0 0 10px rgba(16,185,129,0);}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(16,185,129,0);}}.shake{animation:shake 0.5s cubic-bezier(0.36,0.07,0.19,0.97);}@keyframes shake{10%,90%{transform:translateX(-1px);}20%,80%{transform:translateX(2px);}30%,50%,70%{transform:translateX(-4px);}40%,60%{transform:translateX(4px);}}.float{animation:float 3s ease-in-out infinite;}@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}.typing{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid var(--color-secondary);animation:typing 3s steps(40) infinite,blink 0.75s step-end infinite;}@keyframes typing{0%,100%{width:0;}50%,90%{width:100%;}}@keyframes blink{50%{border-color:transparent;}}.ripple{position:relative;overflow:hidden;}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,0.3);border-radius:50%;transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s;}.ripple:active::after{width:300px;height:300px;}.rotate-in{animation:rotateIn 0.6s cubic-bezier(0.4,0,0.2,1);}@keyframes rotateIn{from{opacity:0;transform:rotate(-180deg) scale(0);}to{opacity:1;transform:rotate(0) scale(1);}}.blink{animation:blink 1s infinite;}.slide-up{animation:slideUp 0.5s cubic-bezier(0.4,0,0.2,1);}@keyframes slideUp{from{opacity:0;transform:translateY(100%);}to{opacity:1;transform:translateY(0);}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all 0.8s cubic-bezier(0.4,0,0.2,1);}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0);}.delay-100{transition-delay:100ms;}.delay-200{transition-delay:200ms;}.delay-300{transition-delay:300ms;}.delay-400{transition-delay:400ms;}.delay-500{transition-delay:500ms;}