@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpMobile{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:.3}}.hero-fade-in{animation:fadeInUpMobile .4s ease-out forwards;opacity:0;will-change:transform,opacity}@media (min-width:640px){.hero-fade-in{animation:fadeInUp .5s ease-out forwards}}.hero-fade-in-delay{animation:fadeInUpMobile .4s ease-out .1s forwards;opacity:0;will-change:transform,opacity}@media (min-width:640px){.hero-fade-in-delay{animation:fadeInUp .5s ease-out .1s forwards}}.gradient-shimmer{background:linear-gradient(90deg,transparent,rgba(139,92,255,.1) 50%,transparent);background-size:200% 100%;animation:shimmer 3s linear infinite;will-change:background-position}.hero-glow{animation:pulse-glow 4s ease-in-out infinite;will-change:opacity}@media (max-width:640px){.hero-glow{animation:none;opacity:.4}.gradient-shimmer{animation-duration:4s}}@supports (padding:env(safe-area-inset-top)){.hero-section{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion:reduce){.hero-fade-in,.hero-fade-in-delay{animation:none;opacity:1}.gradient-shimmer,.hero-glow{animation:none}.hero-glow{opacity:.4}}