.tpl-birthday-party{aspect-ratio:2;--pink:#ff6b9d;--purple:#c44dff;--yellow:#ffd23f;--orange:#ff8c42;--teal:#4dd9d9;--blue:#5b7fff;--white:#fff;--dark:#1a1028;--cream:#fff8f0;width:100%;font-family:Poppins,sans-serif;position:relative;overflow:hidden}.tpl-birthday-party .bg-base{background:linear-gradient(135deg,#ffeef5 0%,#fff0e6 30%,#f0e8ff 70%,#e8f4ff 100%);position:absolute;inset:0}.tpl-birthday-party .confetti{pointer-events:none;z-index:5;position:absolute;inset:0}.tpl-birthday-party .piece{opacity:0;border-radius:2px;width:8px;height:14px;position:absolute}.tpl-birthday-party .piece-1{background:var(--pink);top:-5%;left:5%}.tpl-birthday-party .piece-2{background:var(--purple);border-radius:50%;width:6px;height:6px;top:-5%;left:10%}.tpl-birthday-party .piece-3{background:var(--yellow);top:-5%;left:15%}.tpl-birthday-party .piece-4{background:var(--orange);width:10px;height:4px;top:-5%;left:20%}.tpl-birthday-party .piece-5{background:var(--teal);top:-5%;left:25%}.tpl-birthday-party .piece-6{background:var(--blue);border-radius:50%;width:6px;height:6px;top:-5%;left:30%}.tpl-birthday-party .piece-7{background:var(--pink);top:-5%;left:35%}.tpl-birthday-party .piece-8{background:var(--yellow);width:10px;height:4px;top:-5%;left:40%}.tpl-birthday-party .piece-9{background:var(--purple);top:-5%;left:45%}.tpl-birthday-party .piece-10{background:var(--orange);border-radius:50%;width:6px;height:6px;top:-5%;left:50%}.tpl-birthday-party .piece-11{background:var(--teal);top:-5%;left:55%}.tpl-birthday-party .piece-12{background:var(--pink);width:10px;height:4px;top:-5%;left:60%}.tpl-birthday-party .piece-13{background:var(--blue);top:-5%;left:65%}.tpl-birthday-party .piece-14{background:var(--yellow);border-radius:50%;width:6px;height:6px;top:-5%;left:70%}.tpl-birthday-party .piece-15{background:var(--purple);top:-5%;left:75%}.tpl-birthday-party .piece-16{background:var(--orange);top:-5%;left:80%}.tpl-birthday-party .piece-17{background:var(--teal);width:10px;height:4px;top:-5%;left:85%}.tpl-birthday-party .piece-18{background:var(--pink);border-radius:50%;width:6px;height:6px;top:-5%;left:90%}.tpl-birthday-party .piece-19{background:var(--yellow);top:-5%;left:95%}.tpl-birthday-party .piece-20{background:var(--blue);top:-5%;left:3%}.tpl-birthday-party .piece-21{background:var(--purple);width:10px;height:4px;top:-5%;left:8%}.tpl-birthday-party .piece-22{background:var(--orange);top:-5%;left:13%}.tpl-birthday-party .piece-23{background:var(--teal);border-radius:50%;width:6px;height:6px;top:-5%;left:18%}.tpl-birthday-party .piece-24{background:var(--pink);top:-5%;left:23%}.tpl-birthday-party .piece-25{background:var(--yellow);width:10px;height:4px;top:-5%;left:28%}.tpl-birthday-party .piece-26{background:var(--blue);top:-5%;left:33%}.tpl-birthday-party .piece-27{background:var(--purple);border-radius:50%;width:6px;height:6px;top:-5%;left:38%}.tpl-birthday-party .piece-28{background:var(--orange);top:-5%;left:43%}.tpl-birthday-party .piece-29{background:var(--teal);top:-5%;left:48%}.tpl-birthday-party .piece-30{background:var(--pink);width:10px;height:4px;top:-5%;left:53%}.tpl-birthday-party .piece-31{background:var(--yellow);border-radius:50%;width:6px;height:6px;top:-5%;left:58%}.tpl-birthday-party .piece-32{background:var(--purple);top:-5%;left:63%}.tpl-birthday-party .piece-33{background:var(--orange);width:10px;height:4px;top:-5%;left:68%}.tpl-birthday-party .piece-34{background:var(--teal);top:-5%;left:73%}.tpl-birthday-party .piece-35{background:var(--blue);border-radius:50%;width:6px;height:6px;top:-5%;left:78%}.tpl-birthday-party .piece-36{background:var(--pink);top:-5%;left:83%}.tpl-birthday-party .piece-37{background:var(--yellow);top:-5%;left:88%}.tpl-birthday-party .piece-38{background:var(--purple);width:10px;height:4px;top:-5%;left:93%}.tpl-birthday-party .piece-39{background:var(--orange);border-radius:50%;width:6px;height:6px;top:-5%;left:97%}.tpl-birthday-party .piece-40{background:var(--teal);top:-5%;left:2%}.tpl-birthday-party .balloons{pointer-events:none;z-index:3;position:absolute;inset:0}.tpl-birthday-party .balloon{opacity:0;position:absolute}.tpl-birthday-party .balloon-body{border-radius:50%/60% 60% 40% 40%;width:50px;height:62px;position:relative}.tpl-birthday-party .balloon-body:after{content:"";background:inherit;clip-path:polygon(50% 100%,0% 0%,100% 0%);width:10px;height:8px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.tpl-birthday-party .balloon-string{background:#aaa;width:1px;height:60px;margin:0 auto}.tpl-birthday-party .balloon-1{top:5%;right:8%}.tpl-birthday-party .balloon-1 .balloon-body{background:var(--pink);width:45px;height:56px}.tpl-birthday-party .balloon-2{top:12%;right:15%}.tpl-birthday-party .balloon-2 .balloon-body{background:var(--purple);width:40px;height:50px}.tpl-birthday-party .balloon-3{top:18%;right:4%}.tpl-birthday-party .balloon-3 .balloon-body{background:var(--yellow);width:48px;height:60px}.tpl-birthday-party .balloon-4{top:3%;right:20%}.tpl-birthday-party .balloon-4 .balloon-body{background:var(--teal);width:38px;height:47px}.tpl-birthday-party .balloon-5{top:25%;right:12%}.tpl-birthday-party .balloon-5 .balloon-body{background:var(--orange);width:42px;height:52px}.tpl-birthday-party .balloon-6{top:2%;left:40%}.tpl-birthday-party .balloon-6 .balloon-body{background:var(--blue);width:44px;height:55px}.tpl-birthday-party .balloon-7{top:8%;left:52%}.tpl-birthday-party .balloon-7 .balloon-body{background:var(--pink);width:38px;height:48px}.tpl-birthday-party .balloon-8{top:5%;right:28%}.tpl-birthday-party .balloon-8 .balloon-body{background:var(--yellow);width:42px;height:52px}.tpl-birthday-party .burst{z-index:4;position:absolute;top:20%}.tpl-birthday-party .burst-left{left:3%}.tpl-birthday-party .burst-right{right:35%}.tpl-birthday-party .burst-line{transform-origin:bottom;opacity:0;border-radius:3px;width:3px;height:25px;position:absolute}.tpl-birthday-party .burst-left .bl-1{background:var(--pink);left:0;transform:rotate(-30deg)}.tpl-birthday-party .burst-left .bl-2{background:var(--yellow);left:12px;transform:rotate(-15deg)}.tpl-birthday-party .burst-left .bl-3{background:var(--purple);left:24px;transform:rotate(0)}.tpl-birthday-party .burst-left .bl-4{background:var(--teal);left:36px;transform:rotate(15deg)}.tpl-birthday-party .burst-left .bl-5{background:var(--orange);left:48px;transform:rotate(30deg)}.tpl-birthday-party .burst-right .bl-1{background:var(--yellow);left:0;transform:rotate(-30deg)}.tpl-birthday-party .burst-right .bl-2{background:var(--pink);left:12px;transform:rotate(-15deg)}.tpl-birthday-party .burst-right .bl-3{background:var(--orange);left:24px;transform:rotate(0)}.tpl-birthday-party .burst-right .bl-4{background:var(--blue);left:36px;transform:rotate(15deg)}.tpl-birthday-party .burst-right .bl-5{background:var(--purple);left:48px;transform:rotate(30deg)}.tpl-birthday-party .sparkles{pointer-events:none;z-index:6;position:absolute;inset:0}.tpl-birthday-party .sparkle{opacity:0;font-size:clamp(14px,2vw,22px);position:absolute}.tpl-birthday-party .sp-1{color:var(--yellow);top:12%;left:25%}.tpl-birthday-party .sp-2{color:var(--pink);top:30%;left:45%}.tpl-birthday-party .sp-3{color:var(--purple);top:8%;right:30%}.tpl-birthday-party .sp-4{color:var(--teal);bottom:30%;left:55%}.tpl-birthday-party .sp-5{color:var(--orange);top:45%;left:10%}.tpl-birthday-party .sp-6{color:var(--yellow);bottom:20%;right:25%}.tpl-birthday-party .sp-7{color:var(--pink);top:20%;left:60%}.tpl-birthday-party .sp-8{color:var(--purple);bottom:40%;right:40%}.tpl-birthday-party .sp-9{color:var(--teal);top:55%;right:15%}.tpl-birthday-party .sp-10{color:var(--orange);bottom:15%;left:35%}.tpl-birthday-party .bottom-decor{pointer-events:none;z-index:4;height:25%;position:absolute;bottom:0;left:0;right:0}.tpl-birthday-party .bottom-wave{background:linear-gradient(135deg,#ff6b9d26 0%,#c44dff1a 25%,#4dd9d91a 50%,#ffd23f1f 75%,#ff8c421a 100%);border-radius:50% 50% 0 0/30% 30% 0 0;height:100%;position:absolute;bottom:0;left:0;right:0}.tpl-birthday-party .bottom-dots{height:100%;position:absolute;bottom:0;left:0;right:0}.tpl-birthday-party .bdot{opacity:.6;border-radius:50%;position:absolute}.tpl-birthday-party .bdot-1{background:var(--pink);width:40px;height:40px;bottom:5%;left:8%}.tpl-birthday-party .bdot-2{background:var(--yellow);width:25px;height:25px;bottom:15%;left:20%}.tpl-birthday-party .bdot-3{background:var(--purple);opacity:.4;width:50px;height:50px;bottom:2%;left:35%}.tpl-birthday-party .bdot-4{background:var(--teal);width:30px;height:30px;bottom:12%;left:50%}.tpl-birthday-party .bdot-5{background:var(--orange);width:20px;height:20px;bottom:8%;left:62%}.tpl-birthday-party .bdot-6{background:var(--blue);opacity:.4;width:45px;height:45px;bottom:3%;left:75%}.tpl-birthday-party .bdot-7{background:var(--pink);width:28px;height:28px;bottom:18%;left:85%}.tpl-birthday-party .bdot-8{background:var(--yellow);opacity:.5;width:35px;height:35px;bottom:6%;left:92%}.tpl-birthday-party .text-content{z-index:20;overflow-wrap:anywhere;max-width:50%;position:absolute;top:50%;left:8%;transform:translateY(-50%)}.tpl-birthday-party .event-tag{letter-spacing:3px;color:#8e2ad6;opacity:0;margin-bottom:10px;font-family:Poppins,sans-serif;font-size:clamp(9px,1.1vw,12px);font-weight:600;transform:translateY(10px)}.tpl-birthday-party .title-line-1{color:#e0457b;opacity:0;margin-bottom:4px;font-family:Pacifico,cursive;font-size:clamp(40px,6.5vw,70px);line-height:1.2;transform:translateY(15px)rotate(-2deg)}.tpl-birthday-party .title-line-2{color:#a33ee0;opacity:0;margin-bottom:18px;font-family:Pacifico,cursive;font-size:clamp(44px,7.5vw,82px);line-height:1.2;transform:translateY(15px)rotate(-2deg)}.tpl-birthday-party .person-name{color:var(--dark);text-wrap:balance;opacity:0;margin-bottom:18px;font-family:Poppins,sans-serif;font-size:clamp(18px,2.8vw,30px);font-weight:700;line-height:1.25;transform:translateY(10px)}.tpl-birthday-party .event-details{opacity:0;margin-bottom:22px;transform:translateY(10px)}.tpl-birthday-party .event-date{color:#3d3d4d;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:clamp(12px,1.5vw,16px);font-weight:500}.tpl-birthday-party .event-venue{color:#5f5f70;text-wrap:balance;font-family:Poppins,sans-serif;font-size:clamp(11px,1.3vw,15px);font-weight:400;line-height:1.45}.tpl-birthday-party .cta-inline{letter-spacing:1px;color:var(--white);opacity:0;background:linear-gradient(135deg,#d63a72,#8e2ad6);border-radius:30px;padding:14px 32px;font-family:Poppins,sans-serif;font-size:clamp(12px,1.4vw,16px);font-weight:600;display:inline-block;transform:translateY(10px)}.tpl-birthday-party .age-badge{background:linear-gradient(135deg, var(--yellow), var(--orange));opacity:0;z-index:20;border-radius:50%;justify-content:center;align-items:center;width:clamp(80px,12vw,130px);height:clamp(80px,12vw,130px);display:flex;position:absolute;top:50%;right:8%;transform:translateY(-50%);box-shadow:0 10px 30px #ff8c424d}.tpl-birthday-party .age-number{color:#5a2400;font-family:Poppins,sans-serif;font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1}.tpl-birthday-party .age-badge[data-len=l] .age-number{font-size:clamp(24px,3.6vw,40px)}.tpl-birthday-party .age-badge[data-len=xl] .age-number{font-size:clamp(18px,2.7vw,30px)}.tpl-birthday-party .title-line-1[data-len=l],.tpl-birthday-party .title-line-2[data-len=l]{font-size:clamp(32px,5vw,56px)}.tpl-birthday-party .title-line-1[data-len=xl],.tpl-birthday-party .title-line-2[data-len=xl]{font-size:clamp(26px,3.8vw,44px)}.tpl-birthday-party .person-name[data-len=xl]{font-size:clamp(16px,2.2vw,24px)}.tpl-birthday-party.animate-in .event-tag{animation:.6s ease-out .4s both bp-textUp}.tpl-birthday-party.animate-in .title-line-1{animation:.8s cubic-bezier(.34,1.56,.64,1) .5s both bp-titleIn}.tpl-birthday-party.animate-in .title-line-2{animation:.8s cubic-bezier(.34,1.56,.64,1) .7s both bp-titleIn}.tpl-birthday-party.animate-in .person-name{animation:.6s ease-out .9s both bp-textUp}.tpl-birthday-party.animate-in .event-details{animation:.6s ease-out 1.1s both bp-textUp}.tpl-birthday-party.animate-in .cta-inline{animation:.6s ease-out 1.3s both bp-textUp}.tpl-birthday-party.animate-in .age-badge{animation:.8s cubic-bezier(.34,1.56,.64,1) .6s both bp-badgePop}.tpl-birthday-party.animate-in .balloon-1{animation:1s ease-out .3s both bp-balloonUp}.tpl-birthday-party.animate-in .balloon-2{animation:1s ease-out .5s both bp-balloonUp}.tpl-birthday-party.animate-in .balloon-3{animation:1s ease-out .4s both bp-balloonUp}.tpl-birthday-party.animate-in .balloon-4{animation:1s ease-out .6s both bp-balloonUp}.tpl-birthday-party.animate-in .balloon-5{animation:1s ease-out .7s both bp-balloonUp}.tpl-birthday-party.animate-in .burst-left .bl-1{animation:.5s ease-out .8s both bp-burstOut}.tpl-birthday-party.animate-in .burst-left .bl-2{animation:.5s ease-out .85s both bp-burstOut}.tpl-birthday-party.animate-in .burst-left .bl-3{animation:.5s ease-out .9s both bp-burstOut}.tpl-birthday-party.animate-in .burst-left .bl-4{animation:.5s ease-out .95s both bp-burstOut}.tpl-birthday-party.animate-in .burst-left .bl-5{animation:.5s ease-out 1s both bp-burstOut}.tpl-birthday-party.animate-in .burst-right .bl-1{animation:.5s ease-out .9s both bp-burstOut}.tpl-birthday-party.animate-in .burst-right .bl-2{animation:.5s ease-out .95s both bp-burstOut}.tpl-birthday-party.animate-in .burst-right .bl-3{animation:.5s ease-out 1s both bp-burstOut}.tpl-birthday-party.animate-in .burst-right .bl-4{animation:.5s ease-out 1.05s both bp-burstOut}.tpl-birthday-party.animate-in .burst-right .bl-5{animation:.5s ease-out 1.1s both bp-burstOut}.tpl-birthday-party.animate-in .sp-1{animation:.5s ease-out 1s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-2{animation:.5s ease-out 1.1s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-3{animation:.5s ease-out 1.2s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-4{animation:.5s ease-out 1.15s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-5{animation:.5s ease-out 1.25s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-6{animation:.5s ease-out 1.3s both bp-sparkleIn}.tpl-birthday-party.animate-in .piece-1{animation:2s ease-in .6s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-2{animation:2.2s ease-in .5s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-3{animation:1.8s ease-in .7s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-4{animation:2.1s ease-in .55s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-5{animation:1.9s ease-in .65s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-6{animation:2.3s ease-in .5s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-7{animation:2s ease-in .7s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-8{animation:1.7s ease-in .6s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-9{animation:2.2s ease-in .55s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-10{animation:2s ease-in .65s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-11{animation:1.8s ease-in .7s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-12{animation:2.1s ease-in .5s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-13{animation:2.3s ease-in .6s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-14{animation:1.9s ease-in .75s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-15{animation:2s ease-in .55s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-16{animation:2.2s ease-in .65s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-17{animation:1.8s ease-in .7s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-18{animation:2.1s ease-in .6s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-19{animation:2s ease-in .5s both bp-confettiFall}.tpl-birthday-party.animate-in .piece-20{animation:2.3s ease-in .55s both bp-confettiFall}@keyframes bp-textUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes bp-titleIn{0%{opacity:0;transform:translateY(20px)rotate(-2deg)scale(.8)}to{opacity:1;transform:translateY(0)rotate(-2deg)scale(1)}}@keyframes bp-badgePop{0%{opacity:0;transform:translateY(-50%)scale(0)}70%{transform:translateY(-50%)scale(1.1)}to{opacity:1;transform:translateY(-50%)scale(1)}}@keyframes bp-balloonUp{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}@keyframes bp-burstOut{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes bp-sparkleIn{0%{opacity:0;transform:scale(0)rotate(0)}to{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes bp-confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:.6}to{opacity:0;transform:translateY(600px)rotate(720deg)}}.tpl-birthday-party.loop-active .event-tag,.tpl-birthday-party.loop-active .person-name,.tpl-birthday-party.loop-active .event-details,.tpl-birthday-party.loop-active .cta-inline{opacity:1;transform:none}.tpl-birthday-party.loop-active .title-line-1,.tpl-birthday-party.loop-active .title-line-2{opacity:1;transform:rotate(-2deg)}.tpl-birthday-party.loop-active .age-badge{opacity:1;transform:translateY(-50%)}.tpl-birthday-party.loop-active .balloon,.tpl-birthday-party.loop-active .burst-line,.tpl-birthday-party.loop-active .sparkle,.tpl-birthday-party.loop-active .piece{opacity:1}.tpl-birthday-party.loop-active .balloon-1{animation:3s ease-in-out infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-2{animation:3.5s ease-in-out .5s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-3{animation:2.8s ease-in-out 1s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-4{animation:3.2s ease-in-out .3s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-5{animation:3.8s ease-in-out .8s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-6{animation:3.1s ease-in-out .6s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-7{animation:3.4s ease-in-out .2s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .balloon-8{animation:2.9s ease-in-out .9s infinite bp-balloonFloat}.tpl-birthday-party.loop-active .sp-1{animation:2s ease-in-out infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-2{animation:2.5s ease-in-out .3s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-3{animation:2.2s ease-in-out .6s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-4{animation:2.8s ease-in-out .9s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-5{animation:2.3s ease-in-out .4s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-6{animation:2.6s ease-in-out .7s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-7{animation:2.1s ease-in-out .2s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-8{animation:2.7s ease-in-out .5s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-9{animation:2.4s ease-in-out .8s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .sp-10{animation:2.9s ease-in-out 1s infinite bp-sparkleTwinkle}.tpl-birthday-party.loop-active .piece-1{animation:3s linear infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-2{animation:3.3s linear .3s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-3{animation:2.8s linear .6s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-4{animation:3.5s linear .9s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-5{animation:3.1s linear 1.2s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-6{animation:2.9s linear 1.5s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-7{animation:3.4s linear .2s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-8{animation:2.7s linear .8s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-9{animation:3.2s linear 1.1s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-10{animation:3s linear 1.4s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-11{animation:3.3s linear .5s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-12{animation:2.8s linear 1.7s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-13{animation:3.1s linear .4s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-14{animation:3.5s linear 1s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-15{animation:2.9s linear 1.3s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-16{animation:3.2s linear .7s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-17{animation:3s linear 1.6s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-18{animation:3.4s linear .1s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-19{animation:2.8s linear 1.8s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-20{animation:3.3s linear .6s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-21{animation:3.1s linear 1.9s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-22{animation:2.9s linear .15s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-23{animation:3.4s linear .45s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-24{animation:3s linear .75s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-25{animation:3.2s linear 1.05s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-26{animation:2.8s linear 1.35s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-27{animation:3.5s linear 1.65s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-28{animation:3.1s linear .25s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-29{animation:2.9s linear .55s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-30{animation:3.3s linear .85s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-31{animation:3s linear 1.15s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-32{animation:3.4s linear 1.45s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-33{animation:2.8s linear 1.75s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-34{animation:3.2s linear .35s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-35{animation:3.1s linear .65s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-36{animation:2.9s linear .95s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-37{animation:3.5s linear 1.25s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-38{animation:3s linear 1.55s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-39{animation:3.3s linear 1.85s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .piece-40{animation:3.2s linear 2s infinite bp-confettiLoop}.tpl-birthday-party.loop-active .age-badge{animation:2s ease-in-out infinite bp-agePulse}.tpl-birthday-party.loop-active .bdot-1{animation:3s ease-in-out infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-2{animation:3.5s ease-in-out .4s infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-3{animation:4s ease-in-out .8s infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-4{animation:3.2s ease-in-out 1.2s infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-5{animation:3.8s ease-in-out .6s infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-6{animation:3.6s ease-in-out 1s infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-7{animation:3.3s ease-in-out .3s infinite bp-dotFloat}.tpl-birthday-party.loop-active .bdot-8{animation:3.7s ease-in-out .9s infinite bp-dotFloat}.tpl-birthday-party.loop-active .burst-left .bl-1{animation:2s ease-in-out infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-left .bl-2{animation:2.2s ease-in-out .2s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-left .bl-3{animation:2.4s ease-in-out .4s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-left .bl-4{animation:2.1s ease-in-out .6s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-left .bl-5{animation:2.3s ease-in-out .8s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-right .bl-1{animation:2.3s ease-in-out .3s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-right .bl-2{animation:2s ease-in-out .5s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-right .bl-3{animation:2.5s ease-in-out .7s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-right .bl-4{animation:2.2s ease-in-out .1s infinite bp-burstShimmer}.tpl-birthday-party.loop-active .burst-right .bl-5{animation:2.4s ease-in-out .9s infinite bp-burstShimmer}@keyframes bp-balloonFloat{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-8px)rotate(2deg)}75%{transform:translateY(4px)rotate(-1deg)}}@keyframes bp-sparkleTwinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.3;transform:scale(.6)rotate(180deg)}}@keyframes bp-confettiLoop{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(600px)rotate(720deg)}}@keyframes bp-agePulse{0%,to{transform:translateY(-50%)scale(1)}50%{transform:translateY(-50%)scale(1.05)}}@keyframes bp-dotFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.1)}}@keyframes bp-burstShimmer{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.8)}}@media (width<=768px) and (aspect-ratio<=4/3){.tpl-birthday-party{aspect-ratio:9/16;width:100%;height:auto}.tpl-birthday-party .text-content{text-align:center;width:86%;max-width:86%;top:45%;left:50%;transform:translate(-50%,-50%)}.tpl-birthday-party .event-tag{letter-spacing:2px;font-size:clamp(11px,2.9vw,14px)}.tpl-birthday-party .title-line-1{font-size:clamp(42px,12vw,65px)}.tpl-birthday-party .title-line-2{margin-bottom:14px;font-size:clamp(48px,14vw,75px)}.tpl-birthday-party .person-name{margin-bottom:14px;font-size:clamp(18px,5vw,26px)}.tpl-birthday-party .event-date{font-size:clamp(12px,3.2vw,15px)}.tpl-birthday-party .event-venue{font-size:clamp(12px,3.2vw,14px)}.tpl-birthday-party .title-line-1[data-len=l],.tpl-birthday-party .title-line-2[data-len=l]{font-size:clamp(32px,10vw,52px)}.tpl-birthday-party .title-line-1[data-len=xl],.tpl-birthday-party .title-line-2[data-len=xl]{font-size:clamp(26px,8vw,42px)}.tpl-birthday-party .person-name[data-len=xl]{font-size:clamp(15px,4.2vw,22px)}.tpl-birthday-party .age-badge[data-len=l] .age-number{font-size:clamp(22px,6vw,36px)}.tpl-birthday-party .age-badge[data-len=xl] .age-number{font-size:clamp(16px,4.4vw,28px)}.tpl-birthday-party .cta-inline{padding:12px 28px;font-size:clamp(12px,3.2vw,15px)}.tpl-birthday-party .age-badge{width:clamp(70px,18vw,110px);height:clamp(70px,18vw,110px);top:auto;bottom:12%;right:50%;transform:translate(50%)}.tpl-birthday-party .age-number{font-size:clamp(28px,8vw,48px)}.tpl-birthday-party.loop-active .age-badge{animation:2s ease-in-out infinite bp-agePulseMobile;transform:translate(50%)}.tpl-birthday-party .balloon-1{top:3%;left:3%;right:auto}.tpl-birthday-party .balloon-2{top:8%;left:15%;right:auto}.tpl-birthday-party .balloon-3{top:15%;left:5%;right:auto}.tpl-birthday-party .balloon-4{top:3%;right:3%}.tpl-birthday-party .balloon-5{top:8%;right:15%}.tpl-birthday-party .balloon-6{top:1%;left:35%}.tpl-birthday-party .balloon-7{top:15%;left:auto;right:5%}.tpl-birthday-party .balloon-8{top:2%;left:auto;right:25%}.tpl-birthday-party .balloon-body{width:36px;height:45px}.tpl-birthday-party .balloon-string{height:40px}.tpl-birthday-party .burst-left{top:60%;left:5%}.tpl-birthday-party .burst-right{top:60%;right:5%}.tpl-birthday-party .bottom-decor{height:15%}.tpl-birthday-party .bdot{opacity:0;transform:scale(.7)}.tpl-birthday-party .bottom-wave{opacity:0}.tpl-birthday-party.animate-in .balloon-6{animation:1s ease-out .35s both bp-balloonUp}.tpl-birthday-party.animate-in .balloon-7{animation:1s ease-out .45s both bp-balloonUp}.tpl-birthday-party.animate-in .balloon-8{animation:1s ease-out .55s both bp-balloonUp}.tpl-birthday-party.animate-in .sp-7{animation:.5s ease-out 1.35s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-8{animation:.5s ease-out 1.4s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-9{animation:.5s ease-out 1.45s both bp-sparkleIn}.tpl-birthday-party.animate-in .sp-10{animation:.5s ease-out 1.5s both bp-sparkleIn}.tpl-birthday-party.animate-in .bottom-wave{animation:.8s ease-out .4s both bp-fadeIn}.tpl-birthday-party.animate-in .bdot-1{animation:.5s ease-out .85s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-2{animation:.5s ease-out .95s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-3{animation:.5s ease-out 1.05s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-4{animation:.5s ease-out 1.1s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-5{animation:.5s ease-out 1.15s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-6{animation:.5s ease-out 1.2s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-7{animation:.5s ease-out 1.25s both bp-dotInMobile}.tpl-birthday-party.animate-in .bdot-8{animation:.5s ease-out 1.3s both bp-dotInMobile}.tpl-birthday-party.animate-in .piece-21,.tpl-birthday-party.animate-in .piece-22,.tpl-birthday-party.animate-in .piece-23,.tpl-birthday-party.animate-in .piece-24,.tpl-birthday-party.animate-in .piece-25,.tpl-birthday-party.animate-in .piece-26,.tpl-birthday-party.animate-in .piece-27,.tpl-birthday-party.animate-in .piece-28,.tpl-birthday-party.animate-in .piece-29,.tpl-birthday-party.animate-in .piece-30,.tpl-birthday-party.animate-in .piece-31,.tpl-birthday-party.animate-in .piece-32,.tpl-birthday-party.animate-in .piece-33,.tpl-birthday-party.animate-in .piece-34,.tpl-birthday-party.animate-in .piece-35,.tpl-birthday-party.animate-in .piece-36,.tpl-birthday-party.animate-in .piece-37,.tpl-birthday-party.animate-in .piece-38,.tpl-birthday-party.animate-in .piece-39,.tpl-birthday-party.animate-in .piece-40{animation:2s ease-in .55s both bp-confettiFallMobile}.tpl-birthday-party.animate-in .piece{animation-name:bp-confettiFallMobile}.tpl-birthday-party.loop-active .piece{animation-name:bp-confettiLoopMobile}.tpl-birthday-party.loop-active .bottom-wave{opacity:1}.tpl-birthday-party.loop-active .bdot{opacity:.6;transform:scale(.7)}@keyframes bp-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bp-dotInMobile{0%{opacity:0;transform:scale(.35)}to{opacity:.6;transform:scale(.7)}}@keyframes bp-confettiFallMobile{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:.6}to{opacity:0;transform:translateY(calc(190vw + 40px))rotate(720deg)}}@keyframes bp-confettiLoopMobile{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(calc(190vw + 40px))rotate(720deg)}}@keyframes bp-badgePop{0%{opacity:0;transform:translate(50%)scale(0)}70%{transform:translate(50%)scale(1.1)}to{opacity:1;transform:translate(50%)scale(1)}}@keyframes bp-agePulseMobile{0%,to{transform:translate(50%)scale(1)}50%{transform:translate(50%)scale(1.05)}}}@media (width<=480px) and (aspect-ratio<=4/3){.tpl-birthday-party .text-content{top:42%}.tpl-birthday-party .title-line-1{font-size:clamp(36px,11vw,55px)}.tpl-birthday-party .title-line-2{font-size:clamp(40px,13vw,65px)}.tpl-birthday-party .person-name{font-size:clamp(16px,4.5vw,22px)}.tpl-birthday-party .balloon-body{width:30px;height:38px}.tpl-birthday-party .balloon-string{height:32px}.tpl-birthday-party .age-badge{width:clamp(60px,16vw,90px);height:clamp(60px,16vw,90px);bottom:10%}.tpl-birthday-party .age-number{font-size:clamp(24px,7vw,40px)}}@media (width<=768px) and (aspect-ratio>=3/4) and (aspect-ratio<=4/3){.tpl-birthday-party{aspect-ratio:auto;height:100vh}.tpl-birthday-party .text-content{width:72%;max-width:72%;top:48%}.tpl-birthday-party .event-tag{margin-bottom:6px;font-size:clamp(11px,2.2vw,14px)}.tpl-birthday-party .title-line-1{font-size:clamp(34px,9vw,60px)}.tpl-birthday-party .title-line-2{margin-bottom:10px;font-size:clamp(38px,10.5vw,68px)}.tpl-birthday-party .person-name{margin-bottom:10px;font-size:clamp(16px,4vw,24px)}.tpl-birthday-party .event-details{margin-bottom:14px}.tpl-birthday-party .event-date{font-size:clamp(12px,2.8vw,16px)}.tpl-birthday-party .event-venue{font-size:clamp(11px,2.5vw,14px)}.tpl-birthday-party .cta-inline{padding:10px 24px;font-size:clamp(11px,2.6vw,15px)}.tpl-birthday-party .age-badge{width:clamp(60px,15vw,100px);height:clamp(60px,15vw,100px);top:auto;bottom:6%;right:6%;transform:none}.tpl-birthday-party.loop-active .age-badge{animation:2s ease-in-out infinite bp-agePulseSq;transform:none}.tpl-birthday-party.animate-in .age-badge{animation:.8s cubic-bezier(.34,1.56,.64,1) .6s both bp-badgePopSq}.tpl-birthday-party .age-number{font-size:clamp(24px,6.5vw,44px)}.tpl-birthday-party .burst-left{top:70%;left:4%}.tpl-birthday-party .burst-right{top:12%;right:30%}@keyframes bp-agePulseSq{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bp-badgePopSq{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}}@media (prefers-reduced-motion:reduce){.tpl-birthday-party *,.tpl-birthday-party :before,.tpl-birthday-party :after{transition:none!important;animation:none!important}.tpl-birthday-party .event-tag,.tpl-birthday-party .person-name,.tpl-birthday-party .event-details,.tpl-birthday-party .cta-inline,.tpl-birthday-party .balloon,.tpl-birthday-party .sparkle,.tpl-birthday-party .burst-line,.tpl-birthday-party .bottom-wave{opacity:1!important}.tpl-birthday-party .event-tag,.tpl-birthday-party .person-name,.tpl-birthday-party .event-details,.tpl-birthday-party .cta-inline{transform:none!important}.tpl-birthday-party .title-line-1,.tpl-birthday-party .title-line-2{opacity:1!important;transform:rotate(-2deg)!important}.tpl-birthday-party .age-badge{opacity:1!important}.tpl-birthday-party .bdot{opacity:.6!important}.tpl-birthday-party .piece{opacity:0!important}}
