/* A little extra birthday energy. All decoration is non-interactive. */
.motion-controls{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}.party-button{background:var(--yellow);border:1px solid var(--ink);border-radius:30px;padding:9px 16px;font-size:12px;font-weight:700;box-shadow:2px 3px 0 var(--ink);transition:transform .2s,box-shadow .2s}.party-button:hover{transform:translateY(-3px) rotate(-3deg);box-shadow:3px 6px 0 var(--ink)}.party-button:active{transform:translateY(1px);box-shadow:1px 1px 0 var(--ink)}.motion-toggle{border:0;background:none;font-size:11px;color:var(--muted);padding:8px;text-decoration:underline;text-underline-offset:3px}.motion-toggle:hover{color:var(--rose)}.party-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:50;contain:strict}.confetti-piece{position:absolute;width:9px;height:15px;left:0;top:0;border-radius:2px;will-change:transform,opacity}.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;background:var(--rose);transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}.ribbon{display:block;padding:0}.ribbon-track{display:flex;width:max-content;animation:party-parade 30s linear infinite}.ribbon-group{display:flex;align-items:center;justify-content:space-around;gap:44px;min-width:100vw;padding:19px 28px}.ribbon:hover .ribbon-track{animation-play-state:paused}.motion-active .hero-sticker{animation:sticker-bob 4.2s ease-in-out infinite}.motion-active .spark{animation:star-turn 6s ease-in-out infinite}.motion-active .photo-label{animation:label-bob 5s ease-in-out infinite}.hero-visual{isolation:isolate}.floating-sparkle{position:absolute;pointer-events:none;color:var(--rose);line-height:1;z-index:3;animation:twinkle 3.6s ease-in-out infinite}.floating-sparkle:nth-of-type(2){right:6%;top:55%;font-size:30px;animation-delay:.8s}.floating-sparkle:nth-of-type(3){left:0;top:70%;font-size:25px;animation-delay:1.6s}.floating-sparkle:nth-of-type(4){right:29%;top:-3%;font-size:22px;animation-delay:2.2s}.product-photo{transition:transform .25s ease-out,box-shadow .25s ease-out;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:auto}.product-photo:hover{box-shadow:0 18px 28px -19px #70354780}.product-photo .zoom{transition:transform .25s,background .25s}.product-photo:hover .zoom{transform:rotate(45deg);background:var(--yellow)}.button span{transition:transform .25s;display:inline-block}.button:hover span{transform:translate(3px,-3px)}.hero h1 em:after{transform-origin:left;animation:happy-swoosh 1.2s cubic-bezier(.2,.8,.3,1) both}.collection-cta{transition:box-shadow .3s}.collection-cta:hover{box-shadow:7px 8px 0 #302623}.collection-cta:hover .big-star{animation:star-turn 3s ease-in-out infinite}.footer .brand:hover .brand-word{display:inline-block;animation:logo-wiggle .6s ease-in-out}.motion-off .scroll-progress{display:none}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .product-photo{transform:none}.motion-off .party-layer{display:none}
@keyframes party-parade{to{transform:translateX(-50%)}}
@keyframes sticker-bob{0%,100%{transform:translateY(0) rotate(13deg)}50%{transform:translateY(-10px) rotate(6deg)}}
@keyframes label-bob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(5px) rotate(-2deg)}}
@keyframes star-turn{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(100deg) scale(1.15)}}
@keyframes twinkle{0%,100%{transform:scale(.7) rotate(0);opacity:.45}50%{transform:scale(1.2) rotate(35deg);opacity:1}}
@keyframes happy-swoosh{from{transform:scaleX(0) rotate(-2deg)}to{transform:scaleX(1) rotate(-2deg)}}
@keyframes logo-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
@media(max-width:720px){.ribbon-group{gap:26px;padding:16px 22px}.motion-controls{margin-top:18px}.floating-sparkle:nth-of-type(3){left:1%}.party-button{font-size:12px}.scroll-progress{height:3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.product-photo{transform:none!important}.party-layer,.scroll-progress{display:none}}
