@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translate(0)}25%{transform:translate(4px,-8px)}50%{transform:translate(-2px,4px)}75%{transform:translate(-4px,-4px)}to{transform:translate(0)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-fade-in{animation:fade-in .6s ease-out forwards;animation-delay:var(--fade-delay,0s)}.animate-slide-up{opacity:0;animation:slide-up .6s ease-out forwards;animation-delay:var(--slide-delay,0s)}.animate-float{animation:float ease-in-out infinite;animation-duration:var(--float-duration,6s)}.shimmer-effect{position:relative;overflow:hidden}.shimmer-effect:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,0));animation:shimmer 2.5s infinite}.card-hover{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.card-hover:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.1)}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-text-shimmer{background:linear-gradient(90deg,#60a5fa,#a78bfa 25%,#60a5fa 50%,#34d399 75%,#60a5fa);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 4s ease infinite}.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(96,165,250,.3) 50%,transparent);margin:0 auto;max-width:80%}