.wish-section{background:radial-gradient(ellipse at 50% 52%,#f4d0b48c,transparent 60%),linear-gradient(180deg,#fcf8f1,#f8ebe1);padding-top:85px;padding-bottom:75px;isolation:isolate}
.wish-section h2{font-size:clamp(44px,5.4vw,72px);line-height:1.12}.wish-section h2 em{display:inline-block;font-family:Allura,Georgia,serif;font-size:1.25em;font-style:normal;color:#93445b;margin-top:8px}
.wish-section>p:not(.eyebrow):not(.wish-message){color:#78636a;font-size:15px}
.wish-section .cake{width:260px;height:230px;margin:45px auto 10px;filter:drop-shadow(0 18px 15px #a2684d20)}
.cake:before{content:'';position:absolute;inset:-35px -55px -5px;background:radial-gradient(ellipse,#e6b57933,transparent 68%);z-index:-1;border-radius:50%}
.candles{gap:39px;height:65px}.candles i{width:10px;height:48px;border-radius:3px 3px 0 0;box-shadow:inset -2px 0 2px #9e724c22}
.candles b{top:-27px;width:11px;height:22px;left:0;background:radial-gradient(ellipse at 50% 70%,#fff8dd 10%,#ffd27b 50%,#e5a050 100%);border-radius:70% 30% 60% 40%;box-shadow:0 0 12px #ffd78daa,0 0 30px #efb76855;transform-origin:bottom}
.cake-top{height:32px;background:linear-gradient(180deg,#fff7e9,#f4d8c3);box-shadow:inset 0 2px 0 #fff9;z-index:2}
.cake-tier{height:112px;margin-top:-16px;position:relative;background:linear-gradient(90deg,#a85f70,#cd8b98 28%,#dfa7af 52%,#c38090 80%,#a85f70);border-bottom:10px solid #e7bba7;border-radius:0 0 18px 18px;overflow:hidden;box-shadow:inset 0 -10px 20px #76384910}
.cake-tier:before{content:'';position:absolute;top:7px;left:0;right:0;height:30px;background:radial-gradient(ellipse at 50% 0,#f4dbc9 0 62%,transparent 65%) 0 0 / 32px 30px repeat-x;opacity:.9}
.cake-tier:after{content:'·  ·  ·  ·  ·  ·  ·  ·  ·';position:absolute;bottom:6px;left:0;right:0;color:#f6dfba;font:24px Georgia;letter-spacing:6px;white-space:nowrap}
.cake-tier span{font-family:Georgia,serif;font-size:37px;color:#fff3df;margin-top:16px;text-shadow:0 2px 1px #813b5825}
.cake-base{width:300px;margin-left:-20px;height:14px;background:linear-gradient(180deg,#e7c99e,#bb9260);box-shadow:0 6px 0 -3px #ac804b50}
.wish-section .button{min-width:230px;padding:17px 28px;box-shadow:0 10px 28px #873d5325}
.wish-message{padding:0;min-height:65px;font-family:Cormorant,Georgia,serif;font-size:25px;max-width:580px;line-height:1.5}
.wish-message:not(:empty){padding:22px 30px;background:#fffdf5c9;border:1px solid #b3856133;border-radius:10px;box-shadow:0 10px 35px #8950410c;margin-top:30px}
.wish-section.wished .cake:before{background:radial-gradient(ellipse,#edc79b55,transparent 68%)}
.cake.out .candles i:after{content:'';position:absolute;top:-22px;left:2px;width:6px;height:22px;border-radius:50%;background:#927e6733;animation:candle-smoke 1.4s ease-out both}
@keyframes candle-smoke{from{opacity:.5;transform:translateY(0) scale(.6)}to{opacity:0;transform:translateY(-28px) scale(2)}}
@media(max-width:600px){.wish-section{padding-top:65px;padding-bottom:50px}.wish-section h2{font-size:46px}.wish-section .cake{margin-top:38px;scale:.92;margin-bottom:0}.wish-message:not(:empty){padding:18px 20px;font-size:22px}.wish-section .button{max-width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.cake.out .candles i:after{display:none}}
