.glass{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.dark .glass{background:#1f2937;border:1px solid #374151;box-shadow:0 1px 3px 0 rgba(0,0,0,.3),0 1px 2px 0 rgba(0,0,0,.2)}.glass-card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease}.dark .glass-card{background:#1f2937;border:1px solid #374151;box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)}.glass-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-2px)}.glass-morphism{background:#fff;border:1px solid #e5e7eb;position:relative;overflow:hidden;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);transition:all .3s ease}.dark .glass-morphism{background:#1f2937;border:1px solid #374151;box-shadow:0 1px 3px 0 rgba(0,0,0,.3),0 1px 2px 0 rgba(0,0,0,.2)}.glass-morphism:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.gradient-aurora{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab,#ee7752);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.gradient-mesh{background:radial-gradient(at 40% 20%,rgba(204,102,255,.3) 0,transparent 50%),radial-gradient(at 80% 0,rgba(255,102,204,.2) 0,transparent 50%),radial-gradient(at 0 50%,rgba(255,219,222,.3) 0,transparent 50%),radial-gradient(at 80% 50%,rgba(102,102,255,.2) 0,transparent 50%),radial-gradient(at 0 100%,rgba(255,133,167,.3) 0,transparent 50%),radial-gradient(at 80% 100%,rgba(107,102,255,.3) 0,transparent 50%),radial-gradient(at 0 0,rgba(255,133,167,.2) 0,transparent 50%)}.gradient-vibrant{background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#fda085);background-size:200% 200%;animation:gradient-flow 8s ease infinite}.card-3d{transform-style:preserve-3d;transform:perspective(1000px);transition:transform .6s cubic-bezier(.23,1,.32,1)}.card-3d:hover{transform:perspective(1000px) rotateX(-10deg) rotateY(10deg) translateZ(50px)}.hover-lift{transition:all .3s ease;position:relative}.hover-lift:before{display:none}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.05)}.pulse-glow{animation:pulse-glow 2s cubic-bezier(.4,0,.6,1) infinite}.hover-magnetic{transition:transform .2s ease-out}.button-fluid{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.button-fluid:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.button-fluid:hover:before{width:300px;height:300px}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);pointer-events:none}.ripple:active:after{animation:ripple-effect .6s ease-out}.parallax-slow{transform:translateY(var(--parallax-offset,0))}.parallax-medium,.parallax-slow{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.parallax-medium{transform:translateY(calc(var(--parallax-offset, 0) * .5))}.parallax-fast{transform:translateY(calc(var(--parallax-offset, 0) * .3));transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.skeleton-shimmer{position:relative;overflow:hidden;background:linear-gradient(90deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,.05));background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.loading-dots span{animation:dot-pulse 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.nav-magnetic{position:relative;transition:color .3s ease}.nav-magnetic:before{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-magnetic:hover:before{width:100%}.menu-slide{transform:translateX(-100%);transition:transform .5s cubic-bezier(.77,0,.175,1)}.menu-slide.open{transform:translateX(0)}.particles{inset:0;overflow:hidden;max-width:100vw;contain:layout style paint}.particle,.particles{position:absolute;pointer-events:none}.particle{display:block;width:2px;height:2px;background:hsla(0,0%,100%,.3);border-radius:50%;animation:float-up 15s linear infinite}@media (min-width:640px){.particle{width:3px;height:3px;background:hsla(0,0%,100%,.5)}}.text-gradient{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-glow{text-shadow:0 0 10px rgba(147,51,234,.5),0 0 20px rgba(147,51,234,.3),0 0 30px rgba(147,51,234,.2)}.text-reveal{overflow:hidden}.text-reveal span{display:inline-block;transform:translateY(100%);animation:text-slide-up .8s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes gradient-flow{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 20px rgba(147,51,234,.5)}50%{opacity:.8;box-shadow:0 0 40px rgba(147,51,234,.8)}}@keyframes ripple-effect{to{width:300px;height:300px;opacity:0}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dot-pulse{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes float-up{0%{transform:translateY(100vh) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(2turn);opacity:0}}@keyframes text-slide-up{to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}