:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--duration-fast: .3s;--duration-normal: .5s;--duration-slow: .8s;--duration-slower: 1.2s;--cursor-x: 50%;--cursor-y: 50%;--scroll-progress: 0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.custom-cursor{position:fixed;top:0;left:0;width:12px;height:12px;background:linear-gradient(135deg,#e30491,#ad14ad);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s var(--ease-out-expo),width .3s var(--ease-out-expo),height .3s var(--ease-out-expo),opacity .3s ease;mix-blend-mode:difference;opacity:0}.custom-cursor.visible{opacity:1}.custom-cursor.hovering{width:40px;height:40px;background:#e3049126;border:1px solid rgba(227,4,145,.5)}.custom-cursor.clicking{transform:translate(-50%,-50%) scale(.8)}@media(pointer:fine){body.has-custom-cursor,body.has-custom-cursor a,body.has-custom-cursor button,body.has-custom-cursor [role=button],body.has-custom-cursor input,body.has-custom-cursor textarea,body.has-custom-cursor select{cursor:none}}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:9998;background:#0000000d;overflow:hidden}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,#e30491,#ad14ad,#672ec9,#266edc,#0bb4df);background-size:200% 100%;transform-origin:left;transform:scaleX(var(--scroll-progress));transition:transform .1s linear;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}.animate-fade-up{opacity:0;transform:translateY(60px);transition:opacity var(--duration-slower) var(--ease-out-expo),transform var(--duration-slower) var(--ease-out-expo)}.animate-fade-up.in-view{opacity:1;transform:translateY(0)}.animate-fade-left{opacity:0;transform:translate(-60px);transition:opacity var(--duration-slower) var(--ease-out-expo),transform var(--duration-slower) var(--ease-out-expo)}.animate-fade-left.in-view{opacity:1;transform:translate(0)}.animate-fade-right{opacity:0;transform:translate(60px);transition:opacity var(--duration-slower) var(--ease-out-expo),transform var(--duration-slower) var(--ease-out-expo)}.animate-fade-right.in-view{opacity:1;transform:translate(0)}.animate-scale-up{opacity:0;transform:scale(.9);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}.animate-scale-up.in-view{opacity:1;transform:scale(1)}.stagger-1{transition-delay:0ms}.stagger-2{transition-delay:.1s}.stagger-3{transition-delay:.2s}.stagger-4{transition-delay:.3s}.stagger-5{transition-delay:.4s}.stagger-6{transition-delay:.5s}.stagger-7{transition-delay:.6s}.stagger-8{transition-delay:.7s}.animated-underline{position:relative;text-decoration:none}.animated-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out-expo)}.animated-underline:hover:after{transform:scaleX(1)}.tilt-card{transform-style:preserve-3d;transition:transform var(--duration-normal) var(--ease-out-expo)}.tilt-card:hover{transform:perspective(1000px) rotateX(calc((var(--cursor-y) - 50%) * -.1deg)) rotateY(calc((var(--cursor-x) - 50%) * .1deg))}.tilt-card-content{transform:translateZ(20px)}.magnetic-button{transition:transform var(--duration-fast) var(--ease-out-expo)}.btn-primary{position:relative;overflow:hidden;transition:all var(--duration-normal) var(--ease-out-expo)}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width var(--duration-slow) var(--ease-out-expo),height var(--duration-slow) var(--ease-out-expo)}.btn-primary:hover:before{width:300%;height:300%}.btn-primary:active{transform:scale(.98)}.btn-gradient-shift{background-size:200% 200%;background-position:0% 50%;transition:all var(--duration-slow) var(--ease-out-expo)}.btn-gradient-shift:hover{background-position:100% 50%;transform:translateY(-2px);box-shadow:0 10px 40px -10px #e3049166}.lift-on-hover{transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo)}.lift-on-hover:hover{transform:translateY(-8px);box-shadow:0 20px 40px -15px #00000026}.parallax-container{overflow:hidden;position:relative}.parallax-bg{position:absolute;top:-20%;left:0;width:100%;height:140%;will-change:transform}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}@keyframes float-delayed{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(-2deg)}}.floating{animation:float 6s ease-in-out infinite}.floating-delayed{animation:float-delayed 8s ease-in-out infinite;animation-delay:-2s}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none}.gradient-orb-pink{background:radial-gradient(circle,#e30491 0%,transparent 70%)}.gradient-orb-purple{background:radial-gradient(circle,#ad14ad 0%,transparent 70%)}.gradient-orb-cyan{background:radial-gradient(circle,#0bb4df 0%,transparent 70%)}@keyframes pulse-glow{0%,to{box-shadow:0 0 #e3049166}50%{box-shadow:0 0 0 15px #e3049100}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes pop-in{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.star-animate{opacity:0;animation:pop-in .4s var(--ease-out-expo) forwards}.star-animate:nth-child(1){animation-delay:0ms}.star-animate:nth-child(2){animation-delay:.1s}.star-animate:nth-child(3){animation-delay:.2s}.star-animate:nth-child(4){animation-delay:.3s}.star-animate:nth-child(5){animation-delay:.4s}.quick-view-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);transform:translateY(100%);transition:transform var(--duration-normal) var(--ease-out-expo)}.product-card:hover .quick-view-overlay{transform:translateY(0)}.input-glow{transition:all var(--duration-normal) var(--ease-out-expo);border:2px solid transparent}.input-glow:focus{border-color:#e30491;box-shadow:0 0 0 4px #e304911a,0 0 20px -5px #e304914d;outline:none}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.scroll-indicator{animation:bounce-subtle 2s ease-in-out infinite}.text-reveal{overflow:hidden}.text-reveal-inner{transform:translateY(100%);transition:transform var(--duration-slower) var(--ease-out-expo)}.text-reveal.in-view .text-reveal-inner{transform:translateY(0)}.line-draw{transform:scaleX(0);transform-origin:left;transition:transform var(--duration-slow) var(--ease-out-expo)}.line-draw.in-view{transform:scaleX(1)}.image-reveal{position:relative;overflow:hidden}.image-reveal:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#f5f5f0;transform:scaleX(1);transform-origin:right;transition:transform var(--duration-slower) var(--ease-out-expo)}.image-reveal.in-view:after{transform:scaleX(0)}@keyframes slide-in-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.menu-item-animate{animation:slide-in-right .5s var(--ease-out-expo) forwards;opacity:0}.menu-item-animate:nth-child(1){animation-delay:.1s}.menu-item-animate:nth-child(2){animation-delay:.15s}.menu-item-animate:nth-child(3){animation-delay:.2s}.menu-item-animate:nth-child(4){animation-delay:.25s}.menu-item-animate:nth-child(5){animation-delay:.3s}.menu-item-animate:nth-child(6){animation-delay:.35s}.menu-item-animate:nth-child(7){animation-delay:.4s}.menu-item-animate:nth-child(8){animation-delay:.45s}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}::selection{background:#e30491;color:#fff}::-moz-selection{background:#e30491;color:#fff}@keyframes text-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-pulse-glow{background:linear-gradient(90deg,#fffc,#fff,#e30491e6,#fff,#fffc);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:text-shimmer 2s linear infinite}
