@keyframes gradientShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes overlayPulse { 0%, 100% { opacity: 0.65; } 50% { opacity: 0.75; } }
@keyframes floatY { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-14px); } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn { from { opacity: 0; transform: scale(0.88); } to { opacity: 1; transform: scale(1); } }
@keyframes slideInLeft { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: translateX(0); } }
@keyframes slideInRight { from { opacity: 0; transform: translateX(60px); } to { opacity: 1; transform: translateX(0); } }
@keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }
.hero__logo { animation: slideInLeft 0.8s cubic-bezier(.25,.8,.25,1) both; }
.hero__photo { animation: scaleIn 0.9s cubic-bezier(.25,.8,.25,1) 0.2s both; }
.hero__nav { animation: fadeInUp 0.8s cubic-bezier(.25,.8,.25,1) 0.25s both; }
.hero__socials { animation: fadeInUp 0.8s cubic-bezier(.25,.8,.25,1) 0.4s both; }
.hero__logo-bar { animation: fadeInUp 0.8s cubic-bezier(.25,.8,.25,1) 0.55s both; }
.hero__subtitle { animation: fadeInUp 0.8s cubic-bezier(.25,.8,.25,1) 0.35s both; }
.hero__right .hero__photo-main { animation: slideInRight 0.9s cubic-bezier(.25,.8,.25,1) 0.15s both, floatY 5s ease-in-out 1.1s infinite; }
.product-card:hover { animation: glowPulse 2s ease-in-out infinite; }
.stagger-1 { transition-delay: 0.05s !important; } .stagger-2 { transition-delay: 0.12s !important; } .stagger-3 { transition-delay: 0.19s !important; } .stagger-4 { transition-delay: 0.26s !important; } .stagger-5 { transition-delay: 0.33s !important; }
