@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(0.95)}75%{transform:translate(40px,30px) scale(1.02)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeScale{from{opacity:0;transform:scale(0.92)}to{opacity:1;transform:scale(1)}}
@keyframes slideLeft{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideRight{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes flipIn{from{opacity:0;transform:perspective(800px) rotateX(-15deg) translateY(30px)}to{opacity:1;transform:perspective(800px) rotateX(0) translateY(0)}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 20px rgba(192,192,192,0.1)}50%{box-shadow:0 0 40px rgba(192,192,192,0.2)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes tiltIn{from{opacity:0;transform:perspective(600px) rotateY(8deg) translateX(-20px)}to{opacity:1;transform:perspective(600px) rotateY(0) translateX(0)}}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes borderGlow{0%,100%{border-color:rgba(255,255,255,0.08)}50%{border-color:rgba(255,255,255,0.2)}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}

.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity 0.7s cubic-bezier(0.4,0,0.2,1),transform 0.7s cubic-bezier(0.4,0,0.2,1)}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.animate-on-scroll.slide-left{transform:translateX(30px)}
.animate-on-scroll.slide-left.visible{transform:translateX(0)}
.animate-on-scroll.slide-right{transform:translateX(-30px)}
.animate-on-scroll.slide-right.visible{transform:translateX(0)}
.animate-on-scroll.scale-in{transform:scale(0.92)}
.animate-on-scroll.scale-in.visible{transform:scale(1)}
.animate-on-scroll.tilt-in{transform:perspective(600px) rotateY(8deg) translateX(-20px)}
.animate-on-scroll.tilt-in.visible{transform:perspective(600px) rotateY(0) translateX(0)}

.stagger-1{transition-delay:0.05s!important}
.stagger-2{transition-delay:0.1s!important}
.stagger-3{transition-delay:0.15s!important}
.stagger-4{transition-delay:0.2s!important}
.stagger-5{transition-delay:0.25s!important}
.stagger-6{transition-delay:0.3s!important}
.stagger-7{transition-delay:0.35s!important}
.stagger-8{transition-delay:0.4s!important}
.stagger-9{transition-delay:0.45s!important}
.stagger-10{transition-delay:0.5s!important}
.stagger-11{transition-delay:0.55s!important}
.stagger-12{transition-delay:0.6s!important}

.hero-content > *{opacity:0;transform:translateY(20px);animation:fadeUp 0.8s cubic-bezier(0.4,0,0.2,1) forwards}
.hero-content > :nth-child(1){animation-delay:0.2s}
.hero-content > :nth-child(2){animation-delay:0.4s}
.hero-content > :nth-child(3){animation-delay:0.6s}
.hero-content > :nth-child(4){animation-delay:0.8s}

.navbar{animation:slideDown 0.4s ease-out forwards}

.dash-card{animation:fadeScale 0.6s ease-out 0.3s both}

.card-hover-3d{transition:transform 0.3s cubic-bezier(0.4,0,0.2,1),box-shadow 0.3s ease}
.card-hover-3d:hover{transform:perspective(1000px) rotateX(2deg) rotateY(2deg) translateY(-4px);box-shadow:var(--shadow-silver-lg)}

.float-animation{animation:float 4s ease-in-out infinite}
.pulse-subtle{animation:pulse 3s ease-in-out infinite}

.glow-border{animation:borderGlow 3s ease-in-out infinite}

.hover-glow{transition:all 0.3s ease}
.hover-glow:hover{box-shadow:0 0 30px rgba(192,192,192,0.15);border-color:rgba(255,255,255,0.2)}

@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:1!important;transform:none!important}
  .hero-content > *{opacity:1;transform:none;animation:none}
}
