@keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .animate-fadeIn { animation: fadeIn 1s ease-out forwards; } .delay-100 { animation-delay: 0.1s; } .delay-200 { animation-delay: 0.2s; } .animate-bounce { animation: bounce 2s infinite; } .hero { height: 500px; background-image: url('http://static.photos/technology/1200x630/5'); background-size: cover; background-position: center; } .ai-particles { pointer-events: none; } .loader-dots { display: inline-block; position: relative; width: 80px; height: 20px; } .loader-dots div { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #8b5cf6; animation-timing-function: cubic-bezier(0, 1, 1, 0); } .loader-dots div:nth-child(1) { left: 8px; animation: loader-dots1 0.6s infinite; } .loader-dots div:nth-child(2) { left: 8px; animation: loader-dots2 0.6s infinite; } .loader-dots div:nth-child(3) { left: 32px; animation: loader-dots2 0.6s infinite; } .loader-dots div:nth-child(4) { left: 56px; animation: loader-dots3 0.6s infinite; } @keyframes loader-dots1 { 0% { transform: scale(0); } 100% { transform: scale(1); } } @keyframes loader-dots3 { 0% { transform: scale(1); } 100% { transform: scale(0); } } @keyframes loader-dots2 { 0% { transform: translate(0, 0); } 100% { transform: translate(24px, 0); } } .category-card:hover i { transform: scale(1.2); transition: transform 0.3s ease; } .category-card i { transition: transform 0.3s ease; }