@keyframes sprinkle{0%{transform:translateY(0) rotate(0deg);opacity:.7}90%{opacity:.7}to{transform:translateY(100vh) rotate(1turn);opacity:0}}.animate-sprinkle{animation:sprinkle linear infinite}@keyframes sparkle-up{0%{transform:translateY(0) scale(.5);opacity:.8}50%{opacity:1;transform:translateY(-50vh) scale(1)}90%{opacity:.8}to{transform:translateY(-100vh) scale(.3);opacity:0}}.animate-sparkle-up{animation:sparkle-up ease-out infinite}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.animate-twinkle{animation:twinkle ease-in-out infinite}@keyframes float-candy{0%{transform:translateY(100vh) rotate(0deg);opacity:.6}90%{opacity:.6}to{transform:translateY(-20vh) rotate(1turn);opacity:0}}.animate-float-candy{animation:float-candy ease-in-out infinite}@keyframes diagonal-move{0%{transform:translate(0);opacity:.6}95%{opacity:.6}to{transform:translate(400px,-400px);opacity:0}}.animate-diagonal-move{animation:diagonal-move linear infinite}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.shimmer{background:linear-gradient(90deg,#e4e0d4,#e4e0d4 25%,#f5f2ea 50%,#e4e0d4 75%,#e4e0d4);background-size:800px 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes section-reveal{0%{transform:translateY(8px)}to{transform:translateY(0)}}.animate-section-reveal{animation:section-reveal .35s ease-out both}