.bf.birthday-party{color:#fff5e8;background:#180b14;overflow:clip}.bf.birthday-party .birthday-light-wire,.bf.birthday-party .birthday-lights{top:0}.bf.birthday-party .birthday-cake-inscription{left:0}.bf.birthday-party .bf-nav .bf-next:not(:disabled){color:#3b1b27;background:linear-gradient(120deg,#f4cf9c,#dfa379);box-shadow:0 8px 24px #0d040833}.bf.birthday-party .bf-center>.birthday-hero-cake{height:155px}.bf.birthday-party .bf-h,.bf.birthday-party .bf-gate-title{overflow-wrap:anywhere;max-width:100%}@media (max-width:600px){.bf.birthday-party .bf-mem-row{scroll-snap-type:x mandatory;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#dfb18c55 transparent;align-items:flex-start;gap:16px;padding:10px 14px 22px;display:flex;overflow-x:auto}.bf.birthday-party .bf-mem{scroll-snap-align:center;box-sizing:border-box;flex:0 0 78%;padding:9px 9px 15px;transform:none}.bf.birthday-party .bf-mem figcaption{font-size:1.2rem;line-height:1.35}.bf.birthday-party .birthday-banner strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bf.birthday-party .bf-scene{padding-top:190px}}@media (max-width:600px) and (max-height:700px){.bf.birthday-party .bf-scene{padding-top:150px}}.birthday-room{pointer-events:none;background:#200d1b;transition:filter 1.4s;position:absolute;inset:0;overflow:hidden}.birthday-room-wall{background:radial-gradient(at 50% 35%,#703347 0%,#3c1b30 48%,#170e1c 100%);position:absolute;inset:0}.birthday-room-arch{background:linear-gradient(#df9e9210,#0000 60%);border:1px solid #eec58e30;border-radius:50% 50% 0 0;width:min(820px,78vw);height:110%;position:absolute;top:9%;left:50%;transform:translate(-50%);box-shadow:0 0 0 20px #f6cda305,inset 0 0 90px #13080b40}.birthday-curtain{background:repeating-linear-gradient(90deg,#361327,#56243c 22%,#281122 45%,#61263f 68%,#311224 100%);width:18%;transition:transform 1.5s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;box-shadow:0 0 60px #09050980}.birthday-curtain-left{border-radius:0 0 80%;left:-6%;transform:rotate(3deg)}.birthday-curtain-right{border-radius:0 0 0 80%;right:-6%;transform:rotate(-3deg)}.is-revealed .birthday-curtain-left{transform:translate(-35%)rotate(5deg)}.is-revealed .birthday-curtain-right{transform:translate(35%)rotate(-5deg)}.birthday-light-wire{width:100%;height:110px;position:absolute;top:30px;left:0;overflow:visible}.birthday-light-wire path{fill:none;stroke:#af8661;stroke-width:1.2px}.birthday-lights{height:130px;position:absolute;top:30px;left:0;right:0}.birthday-lights span{background:#ffdda3;border-radius:45%;width:7px;height:12px;animation:3.4s ease-in-out infinite alternate birthdayLight;position:absolute;box-shadow:0 0 10px #ffd58b,0 0 28px #ffc9788c}.birthday-banner{text-align:center;opacity:0;max-width:65%;transition:opacity 1.2s .3s,transform 1.2s .3s;position:absolute;top:115px;left:50%;transform:translate(-50%,-15px)}.is-revealed .birthday-banner{opacity:1;transform:translate(-50%)}.birthday-banner>span{letter-spacing:.3em;color:#e9c69b;font:600 9px DM Sans,sans-serif;display:block}.birthday-banner strong{overflow-wrap:anywhere;color:#ffdfaf;text-shadow:0 2px 22px #e3a55355;max-width:650px;margin:7px 0;font:italic 44px Playfair Display,serif;display:block}.birthday-banner i{letter-spacing:.23em;color:#e6b5a1;font:8px DM Sans,sans-serif}.birthday-balloon-cluster{opacity:.85;width:205px;height:340px;transition:transform 1.2s,opacity 1.2s;position:absolute;top:25%}.birthday-balloon-cluster.left{left:1%;transform:rotate(-12deg)}.birthday-balloon-cluster.right{right:1%;transform:rotate(12deg)}.birthday-satin-balloon{background:radial-gradient(at 30% 25%,#ffe8cc 0%,#deb687 25%,#a47142 75%,#67432c);border-radius:49% 51% 47% 53%/43% 43% 57% 57%;width:108px;height:138px;animation:6s ease-in-out infinite birthdayBalloon;position:absolute;box-shadow:inset -8px -8px 20px #180b1440,0 15px 25px #13051230}.birthday-satin-balloon:before{content:"";filter:blur(3px);background:#fff9e885;border-radius:50%;width:13%;height:30%;position:absolute;top:15%;left:20%;transform:rotate(25deg)}.birthday-satin-balloon:after{content:"";background:linear-gradient(#d5b29499,#0000);width:1px;height:175px;position:absolute;top:100%;left:49%}.birthday-satin-balloon i{clip-path:polygon(50% 0,100% 100%,0 100%);background:#b58859;width:10px;height:9px;position:absolute;bottom:-4px;left:46%}.birthday-satin-balloon.balloon-1{background:radial-gradient(at 30% 25%,#ffdfdc,#ce8f9d 30%,#8f4b6b 75%,#592c4e);animation-delay:-2s;top:60px;left:85px}.birthday-satin-balloon.balloon-2{background:radial-gradient(at 30% 25%,#ffe9df,#cf9f95 30%,#996862 75%,#67433f);animation-delay:-4s;top:145px;left:12px}.birthday-table{background:radial-gradient(at 50% 0,#c98678,#5c283c 65%);border-radius:50%;height:30%;position:absolute;bottom:-23%;left:-10%;right:-10%;box-shadow:0 -1px #e2b38c55,0 -35px 120px #d9916530}.birthday-room-light{opacity:.2;background:radial-gradient(at 50% 60%,#ffc97528,#0000 55%);transition:opacity 1.3s;position:absolute;inset:0}.is-celebrating .birthday-room-light{opacity:1}.is-celebrating .birthday-room-wall{background:radial-gradient(at 50% 35%,#96514c 0%,#55243c 48%,#211321 100%)}.birthday-party .bf-bg{opacity:.22}.birthday-party .bf-bg-balloon{display:none}.birthday-party .bf-top{z-index:4;background:linear-gradient(#1409128c,#0000);padding:16px 24px;position:relative}.birthday-party .bf-progress{height:3px}.birthday-party .bf-nav{padding:16px 24px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#160b17b0);justify-content:center;gap:12px}.birthday-party .bf-nav button{flex:0 160px;min-height:46px}.birthday-party .bf-nav .bf-next{color:#3b1b27;background:linear-gradient(120deg,#f4cf9c,#dfa379);flex-basis:260px;box-shadow:0 8px 24px #0d040833}.birthday-party .bf-gate{gap:14px}.birthday-party .bf-kicker{color:#e5bd92}.birthday-party em{color:#f1c49d}.birthday-party .bf-gate-title{font-size:clamp(2.5rem,7vw,4.2rem)}.birthday-party .bf-scene{padding-top:160px}.birthday-party .bf-h{font-size:clamp(2rem,5vw,3.5rem)}.birthday-party .bf-h-sm{font-size:clamp(1.5rem,4vw,2.4rem)}.birthday-party .bf-line{color:#eed7cbd9}.birthday-party .bf-center{gap:16px}.birthday-party .bf-mem-row{gap:24px;max-width:820px}.birthday-party .bf-mem{padding:10px 10px 20px;box-shadow:0 20px 50px #0c020860}.birthday-party .bf-mem figcaption{font-family:Caveat,cursive;font-size:1.25rem}.birthday-party .bf-giftbox{aspect-ratio:auto;perspective:800px;width:260px;height:250px;animation:none}.birthday-present{animation:5s ease-in-out infinite birthdayFloat;display:block;position:absolute;inset:0}.birthday-present-base{background:linear-gradient(115deg,#cf7890,#a84e6f 65%,#74314f);border-radius:4px 4px 9px 9px;height:137px;position:absolute;top:100px;left:35px;right:35px;overflow:hidden;box-shadow:inset -12px 0 15px #43192e33,inset 2px 0 #ffddce55,0 22px 35px #0e040b55}.birthday-present-ribbon{background:linear-gradient(90deg,#c89555,#ffe0a1 50%,#cb985b);width:15%;position:absolute;top:0;bottom:0;left:43%;box-shadow:2px 0 4px #50232d33}.birthday-present-label{color:#72413c;background:#f9e6ce;padding:9px;font:12px Caveat,cursive;position:absolute;bottom:15px;right:8px;transform:rotate(-9deg);box-shadow:0 2px 4px #37122a30}.birthday-present-label b{font-size:19px;font-weight:400}.birthday-present-lid{transform-origin:15%;z-index:2;background:linear-gradient(#e09aab,#b86786);border-radius:5px;height:32px;transition:transform 1.15s cubic-bezier(.2,.7,.2,1),opacity .9s .25s;position:absolute;top:83px;left:26px;right:26px;box-shadow:0 9px 10px #35112244,inset 0 2px #ffdfd080}.birthday-bow{border:9px solid #e9bb79;border-radius:50% 50% 12%;width:65px;height:42px;position:absolute;top:-45px;box-shadow:inset 0 0 0 2px #b98746,0 3px 8px #18091155}.birthday-bow.left{left:38px;transform:rotate(20deg)}.birthday-bow.right{right:38px;transform:rotate(-20deg)scaleX(-1)}.birthday-bow-knot{background:linear-gradient(90deg,#c69551,#ffe1a6,#c69551);border-radius:7px;width:25px;height:22px;position:absolute;top:-13px;left:45%}.birthday-present-shadow{filter:blur(12px);background:#08020b70;border-radius:50%;height:25px;position:absolute;bottom:-2px;left:12px;right:12px}.birthday-present-rays{opacity:0;background:conic-gradient(#0000,#ffe7b966,#0000 12%,#ffe7b966,#0000 25%,#ffe7b966,#0000 38%,#ffe7b966,#0000 50%,#ffe7b966,#0000 63%,#ffe7b966,#0000 75%,#ffe7b966,#0000 88%,#ffe7b966,#0000);height:150%;transition:opacity .7s;position:absolute;top:-30%;left:-25%;right:-25%;-webkit-mask-image:radial-gradient(#000,#0000 65%);mask-image:radial-gradient(#000,#0000 65%)}.birthday-present.is-opening{animation:none}.is-opening .birthday-present-lid{opacity:0;transform:translate(-32px,-115px)rotate(-22deg)}.is-opening .birthday-present-rays{opacity:1}.birthday-present-spark{color:#ffe1a9;font-size:27px;animation:2s infinite alternate birthdayLight;position:absolute}.spark-one{top:66px;left:5px}.spark-two{animation-delay:-1s;top:22px;right:3px}.spark-three{font-size:15px;bottom:6px;right:15px}.birthday-hero-cake{align-content:end;justify-items:center;width:230px;height:185px;margin:0 0 8px;animation:6s ease-in-out infinite birthdayFloat;display:grid;position:relative}.birthday-hero-halo{background:radial-gradient(#ffc97a38,#0000 65%);position:absolute;inset:-35%}.birthday-cake-art{background:linear-gradient(90deg,#bf7691,#f2b5c5 25%,#efbfd1 55%,#d18baf 90%,#a96991);border-radius:50% 50% 14px 14px/18% 18% 10px 10px;width:280px;height:130px;display:block;position:relative;box-shadow:inset 0 -12px 22px #8b476433,0 18px 30px #10040b66}.birthday-cake-top{background:radial-gradient(at 42% 35%,#fff5e3,#f4d6bf 75%,#d7a9a1);border-radius:50%;height:42px;position:absolute;top:-3px;left:0;right:0;box-shadow:inset 0 -3px #ce999b}.birthday-cake-drips{justify-content:space-around;height:37px;display:flex;position:absolute;top:18px;left:2px;right:2px}.birthday-cake-drips i{background:linear-gradient(#f9e5d2,#f2d6c2);border-radius:0 0 50% 50%;width:22px;height:24px}.birthday-cake-drips i:nth-child(2n){width:30px;height:38px}.birthday-cake-drips i:nth-child(3n){height:18px}.birthday-cake-pearls{justify-content:space-between;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.birthday-cake-pearls i{background:radial-gradient(circle at 30% 30%,#fff5df,#d3a675);border-radius:50%;width:12px;height:12px;box-shadow:0 1px 2px #813f6540}.birthday-cake-inscription{text-align:center;color:#7d3854;text-shadow:0 1px #ffe7e955;width:100%;font:italic 24px Cormorant Garamond,serif;position:absolute;top:57px}.birthday-cake-stand{background:linear-gradient(#ffe0a6,#c5924e);border-radius:50%;height:21px;position:absolute;bottom:-15px;left:-22px;right:-22px;box-shadow:0 5px #99683c}.birthday-cake-stand:after{content:"";background:linear-gradient(90deg,#bb8748,#e9c789,#ac793c);width:14%;height:22px;position:absolute;top:16px;left:43%}.birthday-hero-cake .birthday-cake-art{width:200px;height:100px}.birthday-hero-cake .birthday-cake-inscription{font-size:20px;top:43px}.birthday-hero-candles{z-index:3;gap:27px;margin-bottom:-12px;display:flex;position:relative}.birthday-hero-candles>span{background:repeating-linear-gradient(125deg,#ce7b99 0 5px,#ffe5cd 5px 10px);border-radius:3px;width:8px;height:42px;position:relative}.birthday-hero-candles i{background:radial-gradient(at 50% 80%,#fffbe7,#ffc16a 55%,#e67739);border-radius:65% 35% 50% 50%;width:12px;height:20px;animation:1.5s infinite alternate birthdayLight;position:absolute;top:-19px;left:-2px;box-shadow:0 0 20px #ffc16aa0}.birthday-party .bf-cake-stage{margin:22px 0 28px}.birthday-party .bf-candles{gap:30px;margin-bottom:-17px}.birthday-party .bf-candle{height:58px}.birthday-party .bf-cake-body{width:280px;height:130px;box-shadow:none;background:0 0;border-radius:0}.birthday-party .bf-cake-body:before,.birthday-party .bf-cake-body:after{display:none}.birthday-candle-smoke{opacity:0;pointer-events:none;border-left:2px solid #e7d6ca;border-radius:50%;width:18px;height:36px;position:absolute;top:-35px;left:-3px}.bf-candle.is-out .birthday-candle-smoke{animation:1.4s ease-out both birthdaySmoke}.birthday-wish-reveal{color:#ffe0ac;text-shadow:0 0 24px #ffc98560;font:italic 25px Playfair Display,serif;animation:.8s both birthdayReveal}.birthday-party .bf-finale{height:auto;min-height:100%;padding-bottom:20px}.birthday-party .bf-finale-h{font-size:clamp(1.8rem,5vw,3rem)}@keyframes birthdayLight{0%{filter:brightness(.85)}to{filter:brightness(1.2)}}@keyframes birthdayFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes birthdayBalloon{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(3deg)translateY(-10px)}}@keyframes birthdaySmoke{0%{opacity:.6;transform:translateY(0)scale(.6)}to{opacity:0;transform:translate(10px,-35px)scale(1.8)}}@keyframes birthdayReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width:600px){.birthday-balloon-cluster{opacity:.6;width:120px;top:31%}.birthday-balloon-cluster.left{left:-65px}.birthday-balloon-cluster.right{right:-65px}.birthday-banner{max-width:72%;top:111px}.birthday-banner strong{font-size:30px}.birthday-banner>span{letter-spacing:.2em;font-size:7px}.birthday-banner i{font-size:6px}.birthday-party .bf-top{padding:12px}.birthday-party .bf-scene{padding:156px 18px 18px}.birthday-party .bf-center{gap:12px}.birthday-party .bf-mem-row{gap:8px}.birthday-party .bf-mem{padding:5px 5px 10px}.birthday-party .bf-mem figcaption{font-size:.95rem}.birthday-party .bf-nav{padding-left:18px;padding-right:18px}.birthday-party .bf-giftbox{transform:scale(.9)}.birthday-room-arch{width:95vw}.birthday-party .bf-h{font-size:2rem}.birthday-hero-cake{height:160px;transform:scale(.9)}.birthday-party .bf-finale{gap:12px}}@media (max-height:700px){.birthday-banner{top:85px}.birthday-banner strong{margin:3px 0;font-size:27px}.birthday-banner i{display:none}.birthday-party .bf-scene{padding-top:115px}.birthday-hero-cake{height:145px}.birthday-party .bf-gate{gap:8px}}@media (prefers-reduced-motion:reduce){.birthday-party *,.birthday-party :before,.birthday-party :after{transition:none!important;animation:none!important}.birthday-party .bf-letter-line,.birthday-party .bf-mem,.birthday-party .bf-heart-tile.on{opacity:1!important}.birthday-present.is-opening .birthday-present-lid{opacity:0}.birthday-party .bf-countdown{opacity:1}}
