@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes float{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(0,-10px,0) rotate(1deg)}66%{transform:translate3d(0,-5px,0) rotate(-1deg)}}@keyframes floatGentle{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes pulseSoft{0%,to{box-shadow:0 4px 14px #671b504d}50%{box-shadow:0 6px 20px #671b5080}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes rotateReverse{0%{transform:rotate(1turn)}to{transform:rotate(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes pinkPulse{0%,to{box-shadow:0 4px 14px #b20d8f4d}50%{box-shadow:0 8px 24px #b20d8f80}}@keyframes pinkGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}@keyframes pinkGradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,30px) scale(.95)}}.animate-fade-in{animation:fadeIn .5s ease forwards;will-change:opacity}.animate-fade-in-up{animation:fadeInUp .6s ease forwards;will-change:transform,opacity}.animate-fade-in-down{animation:fadeInDown .6s ease forwards;will-change:transform,opacity}.animate-fade-in-left{animation:fadeInLeft .6s ease forwards;will-change:transform,opacity}.animate-fade-in-right{animation:fadeInRight .6s ease forwards;will-change:transform,opacity}.animate-scale-in{animation:scaleIn .5s ease forwards;will-change:transform,opacity}.animate-float{animation:float 3s ease-in-out infinite}.animate-float,.animate-float-gentle{will-change:transform;transform:translateZ(0)}.animate-float-gentle{animation:floatGentle 2.5s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite;will-change:transform}.animate-pulse-soft{animation:pulseSoft 2s ease-in-out infinite;will-change:box-shadow}.animate-shimmer{background:linear-gradient(90deg,var(--pink-200) 25%,var(--pink-100) 50%,var(--pink-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-slide-in-up{animation:slideInUp .6s ease forwards;will-change:transform,opacity}.animate-slide-in-down{animation:slideInDown .6s ease forwards;will-change:transform,opacity}.animate-slide-in-left{animation:slideInLeft .6s ease forwards;will-change:transform,opacity}.animate-slide-in-right{animation:slideInRight .6s ease forwards;will-change:transform,opacity}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.duration-fast{animation-duration:.2s}.duration-base{animation-duration:.4s}.duration-slow{animation-duration:.6s}.duration-slower{animation-duration:.8s}.duration-slowest{animation-duration:1s}.timing-linear{animation-timing-function:linear}.timing-ease{animation-timing-function:ease}.timing-ease-in{animation-timing-function:ease-in}.timing-ease-out{animation-timing-function:ease-out}.timing-ease-in-out{animation-timing-function:ease-in-out}.reveal{opacity:0;transform:translateY(30px);transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1),background-color .8s cubic-bezier(.4,0,.2,1),border-color .8s cubic-bezier(.4,0,.2,1),box-shadow .8s cubic-bezier(.4,0,.2,1)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-from-left{opacity:0;transform:translate(-30px);transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1),background-color .8s cubic-bezier(.4,0,.2,1),border-color .8s cubic-bezier(.4,0,.2,1),box-shadow .8s cubic-bezier(.4,0,.2,1)}.reveal-from-left.active{opacity:1;transform:translate(0)}.reveal-from-right{opacity:0;transform:translate(30px);transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1),background-color .8s cubic-bezier(.4,0,.2,1),border-color .8s cubic-bezier(.4,0,.2,1),box-shadow .8s cubic-bezier(.4,0,.2,1)}.reveal-from-right.active{opacity:1;transform:translate(0)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.hover-zoom-img{overflow:hidden;will-change:transform}.hover-zoom-img img{transition:transform var(--transition-slow)}.hover-zoom-img:hover img{transform:scale(1.08)}.gpu-accelerated{will-change:transform;transform:translateZ(0)}.pause-on-hover:hover{animation-play-state:paused}.animate-infinite{animation-iteration-count:infinite}.animate-alternate{animation-direction:alternate}.animate-reverse{animation-direction:reverse}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}.animate-bounce,.animate-float,.animate-float-gentle,.animate-infinite,.animate-pulse,.animate-pulse-soft,.animate-shimmer,.animate-spin,.animate-wiggle{animation:none}.reveal,.reveal-from-left,.reveal-from-right{opacity:1;transform:none;transition:none}}.skip-link{color:#b3127f}.skip-link:focus{color:#b3127f;background:#fff}
