@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gentlePulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floatParticle{0%{transform:translateY(100vh) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) rotate(1turn);opacity:0}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn 1s ease-out forwards}.animate-fade-in-up{animation:fadeInUp 1s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft 1s ease-out forwards}.animate-fade-in-right{animation:fadeInRight 1s ease-out forwards}.animate-scale-in{animation:scaleIn .8s ease-out forwards}.animate-gentle-float{animation:gentleFloat 3s ease-in-out infinite}.animate-gentle-pulse{animation:gentlePulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.delay-900{animation-delay:.9s}.delay-1000{animation-delay:1s}.smooth-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.smooth-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.text-glow{text-shadow:0 0 10px currentColor}.text-shimmer{background:linear-gradient(90deg,currentColor,rgba(255,255,255,.8),currentColor);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;animation:shimmer 3s infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.4,0,.2,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.gallery-item{transition:all .4s cubic-bezier(.4,0,.2,1)}.gallery-item:hover{transform:scale(1.05);z-index:10}.btn-premium{position:relative;overflow:hidden;transition:all .3s ease}.btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-premium:hover:before{left:100%}.countdown-digit{animation:gentlePulse 2s ease-in-out infinite}.countdown-digit:first-child{animation-delay:0s}.countdown-digit:nth-child(2){animation-delay:.2s}.countdown-digit:nth-child(3){animation-delay:.4s}.countdown-digit:nth-child(4){animation-delay:.6s}.floating-particle{position:absolute;pointer-events:none;animation:floatParticle linear infinite}.floating-particle.heart{font-size:1rem;color:rgba(212,165,116,.6)}.floating-particle.sparkle{width:4px;height:4px;background:radial-gradient(circle,rgba(232,180,184,.8),transparent);border-radius:50%;animation:sparkle 3s ease-in-out infinite}.interactive-element{cursor:pointer;transition:all .2s ease}.interactive-element:hover{transform:scale(1.02)}.interactive-element:active{transform:scale(.98)}.lazy-load{opacity:0;transition:opacity .6s ease-in-out}.lazy-load.loaded{opacity:1}.form-field{transition:all .3s ease}.form-field:focus-within{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.section-divider{position:relative;overflow:hidden}.section-divider:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,currentColor,transparent);animation:shimmer 3s infinite}