@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(-100px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes glow{0%{box-shadow:0 0 0 0 rgba(59,130,246,.1)}50%{box-shadow:0 0 20px 10px rgba(59,130,246,.1)}to{box-shadow:0 0 0 0 rgba(59,130,246,.1)}}@keyframes loading{0%{width:0}50%{width:100%}to{width:100%;opacity:0}}.animate-fade-in{animation:fadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.animate-slide-in{animation:slideInMenu .45s cubic-bezier(.4,0,.2,1) both}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.4,0,.2,1) forwards}.hover-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-card:hover{transform:translateY(-5px);animation:glow 2s infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.loading-bar{height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);animation:loading 1s ease-out}.logo-container{display:flex;gap:120px;overflow:hidden;align-items:center;white-space:nowrap;animation:scroll-horizontal 60s linear infinite}.logo-container img{max-width:120px;max-height:64px;-o-object-fit:contain;object-fit:contain;filter:grayscale(100%);transition:filter var(--transition-speed) ease-in-out,transform var(--transition-speed) ease-in-out}.logo-container img:hover{filter:none;transform:scale(1.1)}@keyframes scroll-horizontal{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slideInMenu{0%{transform:translateX(100%);opacity:.7}80%{transform:translateX(-8px);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes slideOutMenu{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeOutOverlay{0%{opacity:1}to{opacity:0}}.animate-slide-out{animation:slideOutMenu .3s cubic-bezier(.4,0,.2,1) both}.animate-fade-out{animation:fadeOutOverlay .2s ease-in both}@keyframes shimmerFlow{0%{transform:translateX(-100%);opacity:0}50%{opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer-flow{animation:shimmerFlow 2s ease-in-out infinite}.animate-gradient-flow{background-size:200% 200%;animation:gradientFlow 3s ease-in-out infinite}.animate-shimmer{animation:shimmer 1.5s ease-in-out infinite}