.hero-bg{opacity:0;animation:heroFadeIn 1s var(--ease-out-expo) 0s forwards}.hero-overline{opacity:0;transform:translateY(10px);animation:heroSlideUp .6s var(--ease-out-expo) .2s forwards}.hero-headline{opacity:0;transform:translateY(20px);animation:heroSlideUp .8s var(--ease-out-expo) .4s forwards}.hero-subtext{opacity:0;animation:heroFadeIn .6s var(--ease-out-expo) .7s forwards}.hero-search{animation:heroSlideUp .6s var(--ease-out-expo) .9s forwards}.hero-search,.hero-stats{opacity:0;transform:translateY(15px)}.hero-stats{animation:heroSlideUp .6s var(--ease-out-expo) 1.1s forwards}@keyframes heroFadeIn{to{opacity:1}}@keyframes heroSlideUp{to{opacity:1;transform:none}}@keyframes meshMove{0%,to{transform:translate(0) scale(1)}25%{transform:translate(5%,-5%) scale(1.05)}50%{transform:translate(-3%,3%) scale(.98)}75%{transform:translate(3%,5%) scale(1.03)}}.mesh-gradient-1{animation:meshMove 15s ease-in-out infinite}.mesh-gradient-2{animation:meshMove 20s ease-in-out infinite reverse}.mesh-gradient-3{animation:meshMove 18s ease-in-out 5s infinite}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-slide-up{animation:slideUp .3s ease-out}.btn-interactive{transition:transform .2s var(--ease-out-expo),box-shadow .2s var(--ease-out-expo)}.btn-interactive:hover{transform:scale(1.02)}.btn-interactive:active{transform:scale(.98)}.card-hover{transition:transform .3s var(--ease-out-expo),box-shadow .3s var(--ease-out-expo)}.card-hover:hover{transform:translateY(-4px)}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.15) 50%,transparent);background-size:200% auto;opacity:0;transition:opacity .3s}.btn-shimmer:hover:after{opacity:1;animation:shimmer 1.5s ease-in-out}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-border-animated{background:linear-gradient(90deg,var(--color-primary-500),var(--color-accent-500),var(--color-info),var(--color-primary-500));background-size:300% 100%;animation:gradientShift 4s ease infinite}.section-divider{position:relative;height:1px;margin:3rem 0;overflow:hidden}.section-divider:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--color-primary-500),var(--color-accent-500),transparent)}.parallax-gallery{will-change:transform;transform:translateY(calc(var(--scroll-y, 0) * -.15px))}.parallax-img{overflow:hidden}.parallax-img img{will-change:transform;transform:translateY(calc(var(--parallax-offset, 0) * 1px));transition:transform .1s linear}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:50;background:transparent;pointer-events:none}.scroll-progress:after{content:"";position:absolute;top:0;left:0;height:100%;width:calc(var(--scroll-progress, 0) * 100%);background:linear-gradient(90deg,var(--color-primary-500),var(--color-accent-500));transition:width .05s linear}.card-3d-tilt{perspective:800px;transform-style:preserve-3d}.card-3d-tilt>*{transition:transform .15s ease-out,box-shadow .15s ease-out}.card-3d-tilt:hover>*{box-shadow:0 20px 40px -12px rgba(0,0,0,.15),0 4px 6px -2px rgba(0,0,0,.05)}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}@keyframes popupScaleIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-fade-in{animation:popupFadeIn .3s ease-out forwards}.animate-popup-in{animation:popupScaleIn .4s var(--ease-out-expo) forwards}@media (prefers-reduced-motion:reduce){.hero-bg,.hero-headline,.hero-overline,.hero-search,.hero-stats,.hero-subtext{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.mesh-gradient-1,.mesh-gradient-2,.mesh-gradient-3{animation:none!important}.parallax-gallery,.parallax-img img{transform:none!important;will-change:auto!important}.section-divider:before{transform:none!important;transition:none!important}.scroll-progress{display:none!important}.animate-fade-in,.animate-popup-in{animation:none!important;opacity:1!important;transform:none!important}.card-3d-tilt>*{transition:none!important;transform:none!important}}