.bkd{--g:#27ae60;--g2:#2ecc71;position:relative;max-width:900px;margin:0 auto;font-family:inherit}
.bkd *{box-sizing:border-box}
.bkd img{max-width:none;height:auto;border:0;box-shadow:none;margin:0;padding:0}
.bkd .cta,.bkd .cta:hover{color:#fff;text-decoration:none}


.bkd .bkd-stage{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;transition:background .6s}
.bkd .msg{position:absolute;left:0;right:0;top:5%;text-align:center;z-index:60;font-weight:900;font-size:clamp(20px,3.6vw,38px);letter-spacing:.5px;text-shadow:0 2px 12px rgba(0,0,0,.25);padding:0 12px}
.bkd .msg{line-height:1.15!important}
.bkd .msg small{display:block;font-size:.45em;line-height:1.3!important;font-weight:700;opacity:.9;margin-top:.45em!important;letter-spacing:0}
.bkd .msg .tr{display:block;font-size:.55em;line-height:1.25!important;font-weight:800;margin-top:.5em!important;min-height:1.25em;transition:opacity .35s}
.bkd .boxw{position:absolute;left:28%;width:44%;bottom:4%;aspect-ratio:1.25/1;z-index:20}
.bkd .boxw .bp{position:absolute;left:0;bottom:0;width:100%;pointer-events:none}
.bkd .boxw .back{z-index:1}.bkd .boxw .front{z-index:40;clip-path:inset(58% 0 0 0)}
.bkd .boxw .p{position:absolute;z-index:10;width:28%;left:36%;top:-70%;opacity:0;animation:bkd-drop .7s cubic-bezier(.35,.1,.6,1) forwards}
@keyframes bkd-drop{0%{top:-70%;left:36%;opacity:0;transform:rotate(0)}12%{opacity:1}75%{top:calc(var(--y) + 4%);left:var(--x);transform:rotate(var(--r))}88%{top:calc(var(--y) - 1.5%)}100%{top:var(--y);left:var(--x);opacity:1;transform:rotate(var(--r))}}
.bkd .imgf{position:absolute;left:0;bottom:0;width:100%;aspect-ratio:1024/683;z-index:43;pointer-events:none}
.bkd .imgf .heart{position:absolute;left:0;top:0;width:100%;animation:bkd-beat 1.6s ease-in-out infinite}
@keyframes bkd-beat{0%,60%,100%{transform:scale(1)}15%{transform:scale(1.07)}30%{transform:scale(1)}45%{transform:scale(1.05)}}
.bkd .imgf .orn{position:absolute}
.bkd .deco{position:absolute;inset:0;z-index:5;pointer-events:none}
.bkd .deco.fg{z-index:30}
.bkd .bdeco{position:absolute;inset:0;z-index:45;pointer-events:none}
.bkd .halo{position:absolute;left:-35%;right:-35%;top:-30%;bottom:-10%;z-index:0;pointer-events:none;animation:bkd-flicker 3s infinite}
.bkd .ctaw{text-align:center;margin-top:-28px;position:relative;z-index:50}
.bkd .cta{display:inline-block;background:linear-gradient(45deg,var(--g),var(--g2));color:#fff;font-weight:900;font-size:19px;padding:15px 34px;border-radius:12px;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.bkd .a{position:absolute}
.bkd .cta{position:relative;overflow:hidden}
.bkd .cta.go{animation:bkd-ctaPop .65s ease-out,bkd-ctaGlow 2.2s ease-in-out .65s infinite}
.bkd .cta.go::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);animation:bkd-shine 2.2s ease-in-out .4s infinite}
@keyframes bkd-ctaPop{0%{transform:scale(1)}40%{transform:scale(1.16)}70%{transform:scale(.97)}100%{transform:scale(1)}}
@keyframes bkd-ctaGlow{0%,100%{box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 0 rgba(46,204,113,.7)}60%{box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 16px rgba(46,204,113,0)}}
@keyframes bkd-shine{0%{left:-60%}55%,100%{left:130%}}
@keyframes bkd-floatup{from{top:104%;opacity:0}12%{opacity:.7}to{top:-8%;opacity:0}}
@keyframes bkd-swayx{0%,100%{transform:translateX(-10px)}50%{transform:translateX(10px)}}
.bkd .rh{position:absolute;animation:bkd-floatup linear infinite}


@keyframes bkd-fall{from{top:-8%;transform:translateX(0)}to{top:104%;transform:translateX(var(--dx,20px))}}
@keyframes bkd-fallspin{from{top:-8%;transform:translateX(0) rotate(0)}to{top:104%;transform:translateX(var(--dx,20px)) rotate(540deg)}}
@keyframes bkd-twinkle{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes bkd-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes bkd-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes bkd-pop{0%{transform:scale(0)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes bkd-flicker{0%,100%{opacity:1}45%{opacity:.75}50%{opacity:.95}55%{opacity:.7}}
@keyframes bkd-fly{from{transform:translateX(-25vw)}to{transform:translateX(125vw)}}
@keyframes bkd-flyb{from{transform:translateX(-20vw) translateY(0)}25%{transform:translateX(15vw) translateY(-30px)}50%{transform:translateX(50vw) translateY(10px)}75%{transform:translateX(85vw) translateY(-20px)}to{transform:translateX(125vw) translateY(0)}}
@keyframes bkd-flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.4)}}
@keyframes bkd-wing{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.25)}}
@keyframes bkd-spin{to{transform:rotate(360deg)}}
@keyframes bkd-wave{to{transform:translateX(-50%)}}
@keyframes bkd-drift{from{transform:translateX(-30%)}to{transform:translateX(130vw)}}
@keyframes bkd-ghost{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,-14px)}}
@keyframes bkd-rise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translateY(-140px) scale(1);opacity:0}}
.bkd .flake{position:absolute;top:-5%;border-radius:50%;background:#fff;opacity:.9;animation:bkd-fall linear infinite}
.bkd .leaf{position:absolute;top:-6%;animation:bkd-fallspin linear infinite}
.bkd .star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;animation:bkd-twinkle ease-in-out infinite}
.bkd .fw{position:absolute;width:0;height:0}
.bkd .fw i{position:absolute;width:6px;height:6px;border-radius:50%;left:-3px;top:-3px;opacity:0;animation:bkd-burst 2.4s ease-out infinite}
@keyframes bkd-burst{0%{transform:rotate(var(--a)) translateX(0);opacity:0}10%{opacity:1}70%{opacity:1}100%{transform:rotate(var(--a)) translateX(var(--d));opacity:0}}
@keyframes bkd-tapL{0%,30%{transform:translateX(0) rotate(0)}45%{transform:translateX(26px) rotate(12deg)}55%,100%{transform:translateX(0) rotate(0)}}
@keyframes bkd-tapR{0%,30%{transform:translateX(0) rotate(0)}45%{transform:translateX(-26px) rotate(-12deg)}55%,100%{transform:translateX(0) rotate(0)}}
@keyframes bkd-crack{0%,44%{opacity:0}46%,92%{opacity:1}100%{opacity:0}}
@keyframes bkd-steam{0%{opacity:0;transform:translateY(4px)}50%{opacity:.9}100%{opacity:0;transform:translateY(-8px)}}
@keyframes bkd-neon{0%,18%,22%,25%,53%,57%,100%{opacity:1}20%,24%,55%{opacity:.35}}

@media (max-width:640px){
 .bkd .bkd-stage{aspect-ratio:1/1;max-height:62svh;margin:0 auto}
 .bkd .boxw{left:16%;width:68%;bottom:5%}
 .bkd .msg{font-size:clamp(18px,5.6vw,26px)}
 .bkd .msg small{font-size:.5em}
 .bkd .ctaw{margin-top:-22px}
 .bkd .cta{font-size:16px;padding:12px 26px}
 .bkd .hm{display:none}
}
@media (prefers-reduced-motion:reduce){.bkd *{animation:none!important}.bkd .boxw .p{opacity:1;top:var(--y);left:var(--x)}}
