.opening-band{position:relative;isolation:isolate;overflow:hidden;background:#f5eadb;color:#4d3426;padding:28px 24px 52px;text-align:center;border-bottom:1px solid #dfc9ad}.opening-band h2{font:normal clamp(1.6rem,4vw,2.4rem)/1.2 Georgia,serif;margin:0 0 8px}.opening-band p{margin:0 auto 16px;max-width:650px}.opening-clock{display:flex;justify-content:center;gap:12px;margin:16px auto 8px}.opening-clock span{display:flex;flex-direction:column;min-width:66px;padding:10px 12px;background:#fffaf3;border:1px solid #ddc4a6;border-radius:10px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.opening-clock b{font:normal 30px/1.2 Georgia,serif;letter-spacing:0;font-variant-numeric:tabular-nums}.opening-date{font-size:12px}.opening-ribbon{position:absolute;bottom:18px;left:0;width:100%;height:19px;display:flex;filter:drop-shadow(0 3px 3px #50000030);pointer-events:none}.opening-ribbon i{width:50%;background:linear-gradient(#e64650,#b31528 45%,#d5293d 70%,#8e1021);border-top:1px solid #f58d94;border-bottom:1px solid #810719;transition:transform 1.5s ease,opacity 1.5s}.opening-knot{position:absolute;bottom:5px;left:50%;width:50px;height:44px;transform:translateX(-50%);pointer-events:none;transition:opacity .6s}.opening-knot:before,.opening-knot:after{content:'';position:absolute;top:8px;width:27px;height:24px;background:#b6152b;border:2px solid #e74b5b;box-shadow:inset 0 0 5px #650718;border-radius:70% 20% 30% 30%}.opening-knot:before{left:0;transform:rotate(25deg)}.opening-knot:after{right:0;transform:rotate(155deg)}.opening-scissors{position:absolute;left:50%;bottom:5px;z-index:2;font-size:40px;opacity:0;transform:translateX(-50%) rotate(-30deg);pointer-events:none}.opening-band.is-open .opening-ribbon i:first-child{transform:translate(-30%,65px) rotate(12deg);opacity:0}.opening-band.is-open .opening-ribbon i:last-child{transform:translate(30%,65px) rotate(-12deg);opacity:0}.opening-band.is-open .opening-knot{opacity:0}.opening-band.is-open .opening-scissors{animation:opening-cut 1.6s both}.opening-party{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.opening-confetti{position:absolute;left:var(--x);top:-15px;width:8px;height:13px;background:var(--color);animation:opening-fall 4s var(--delay) both ease-in}.opening-balloon{position:absolute;left:var(--x);bottom:-100px;width:38px;height:48px;border-radius:50%;background:var(--color);animation:opening-float 6s var(--delay) both ease-out}.opening-balloon:after{content:'';position:absolute;top:48px;left:19px;width:1px;height:48px;background:#b49c80}.opening-band.is-open{padding-bottom:28px}.opening-band.is-open h2{margin-bottom:12px}.opening-band.is-open .opening-date{display:none}@keyframes opening-cut{0%{opacity:0;transform:translateX(-50%) rotate(-30deg)}25%,60%{opacity:1;transform:translateX(-50%) rotate(0)}100%{opacity:0;transform:translateX(90px) rotate(30deg)}}@keyframes opening-fall{to{transform:translateY(420px) rotate(600deg);opacity:0}}@keyframes opening-float{to{transform:translateY(-520px) rotate(12deg);opacity:0}}@media(max-width:480px){.opening-band{padding-inline:16px}.opening-clock{gap:7px}.opening-clock span{min-width:58px;padding:8px}.opening-clock b{font-size:25px}}@media(prefers-reduced-motion:reduce){.opening-band *{animation:none!important;transition:none!important}.opening-band.is-open .opening-ribbon,.opening-band.is-open .opening-knot,.opening-party,.opening-scissors{display:none}}
.hero.birthday-hero{background:radial-gradient(ellipse at 85% 25%,#976e50 0,transparent 55%),#4d3426;color:#fffaf3}.birthday-hero h1{color:#fffaf3}.birthday-hero .hero-tag{background:#ffffff18;color:#f6ddbc;border:1px solid #cba476}.birthday-hero .primary-button{background:#f4dfbd;color:#4d3426}.birthday-hero .hero-card{background:#ffffff0b;border:1px solid #cba47666;border-radius:28px;box-shadow:none}.birthday-hero .cake-illustration span{color:#f4dfbd}

.opening-enter{display:inline-block;margin:18px 0 0;padding:14px 28px;border-radius:40px;background:#6f4e37;color:#fffaf3;text-decoration:none;font-weight:bold}.opening-enter[hidden]{display:none}.opening-enter:focus-visible{outline:3px solid #b31528;outline-offset:5px}.opening-static *{animation:none!important;transition:none!important}.opening-static .opening-ribbon,.opening-static .opening-knot,.opening-static .opening-scissors{display:none}
