.birthday-home{--cream:#f8f4eb;--party-pink:#e84e78;background:var(--cream)}.party-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding-top:72px;padding-bottom:68px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;display:block}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--party-pink);border-radius:50%;margin-right:7px}.party-copy h1{font:600 clamp(48px,5.6vw,78px)/1.05 var(--serif);letter-spacing:-3.6px;margin:26px 0}.birthday-home em{font-weight:500;color:var(--party-pink)}.party-copy p{font-size:15px;line-height:1.9;color:var(--ink-2)}.party-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.party-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--ink);color:var(--cream);padding:17px 22px;border-radius:7px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.party-button:hover{background:#30573c;transform:translateY(-3px)}.quiet-link{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.mini-note{display:flex;align-items:center;gap:9px;font-size:11px;margin-top:25px;color:var(--ink-2)}.mini-note img{height:40px;object-fit:contain}.wish-stage{position:relative;min-height:490px;background:#f1b7c6;border-radius:48% 48% 12px 12px;text-align:center;padding:32px 15px 24px;background-image:radial-gradient(#ffffff40 .8px,transparent .8px);background-size:6px 6px}.stage-caption{font-size:9px;letter-spacing:2px;text-transform:uppercase}.floating-note{position:absolute;left:25px;top:110px;font:27px var(--hand);transform:rotate(-12deg)}.floating-note span{display:block;margin-left:50px;font-size:43px}.starburst{position:absolute;color:#b23b5b;line-height:1}.star-one{font-size:75px;right:32px;top:90px;transform:rotate(12deg)}.star-two{font-size:35px;left:37px;bottom:145px}.cake-scene{position:relative;height:260px;width:290px;margin:15px auto 0}.cake-plate{position:absolute;width:270px;height:54px;background:#7e9b6c;bottom:15px;left:10px;border-radius:50%;box-shadow:0 8px 0 #57774f}.cake-bottom{position:absolute;width:220px;height:100px;bottom:40px;left:35px;border-radius:0 0 50% 50% / 0 0 26% 26%;background:repeating-linear-gradient(90deg,#e6ba79 0 11px,#f4ce94 12px 23px);box-shadow:inset -15px 0 15px #c68d5733}.cake-top{position:absolute;bottom:111px;left:35px;width:220px;height:65px;background:#fff1ce;border-radius:50%;box-shadow:0 12px 0 #fff1ce}.icing{position:absolute;bottom:95px;left:35px;width:220px;height:45px;background:radial-gradient(ellipse at top,#fff1ce 68%,transparent 70%) 0 0/44px 45px repeat-x}.candle{position:absolute;width:14px;height:69px;background:repeating-linear-gradient(135deg,#e8547a 0 7px,#ffdfdf 8px 14px);left:139px;bottom:153px;transform:rotate(3deg);border-radius:3px}.flame{position:absolute;width:19px;height:30px;background:#fff7b5;box-shadow:0 0 25px 7px #f3c34a99;bottom:76px;left:-3px;border-radius:80% 20% 60% 40%;transform:rotate(-18deg);animation:flicker 1s infinite alternate;transform-origin:bottom}.cake-cherry{position:absolute;width:17px;height:17px;background:#cb4262;border-radius:50%;bottom:137px;box-shadow:inset -4px -3px 0 #ab2a4e}.c-one{left:73px}.c-two{right:60px;bottom:146px}.c-three{right:95px;bottom:120px}.wish-controls p{font-size:11px;margin:10px 0 15px}.blow-button{background:var(--cream);font-size:13px;font-weight:700;padding:12px 22px;border:1px solid #1e332833;border-radius:30px;transition:transform .2s}.blow-button:hover{transform:scale(1.04)}.wish-controls small{display:block;font-size:9px;margin-top:10px;opacity:.65}.stage-number{position:absolute;bottom:15px;right:16px;font:15px var(--hand);transform:rotate(-8deg)}.wish-stage.blown .flame{display:none}.wish-stage.blown{background-color:#c6d8b9}.party-ribbon{display:flex;align-items:center;justify-content:center;gap:34px;background:var(--ink);color:#faf1d9;padding:20px;white-space:nowrap;overflow:hidden;font-size:20px}.party-ribbon span{font-size:10px;letter-spacing:2px;font-weight:700}.party-section{padding-top:78px;padding-bottom:12px;scroll-margin-top:100px}.party-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.party-section h2{font:550 clamp(30px,3.4vw,45px)/1.15 var(--serif);letter-spacing:-1.7px;margin-top:15px}.party-section-head p{font-size:13px;color:var(--ink-2)}.birthday-pass{display:grid;grid-template-columns:1fr 1fr;background:#eee9dc;border-radius:12px;overflow:hidden}.pass-intro{position:relative;background:#e4e8d9;padding:40px;min-height:330px;overflow:hidden}.pass-intro h3{font:500 33px/1.1 var(--serif);margin-top:22px;max-width:310px}.pass-intro p{font-size:12px;max-width:260px;line-height:1.8}.pass-intro img{position:absolute;width:170px;right:0;bottom:-15px;transform:rotate(12deg)}.pass-intro .hand{font-size:20px}.pass-stamp{float:right;border:1px solid #52715c;border-radius:50%;padding:16px 11px;font-size:9px;text-align:center;transform:rotate(15deg);margin:-18px -17px 0 5px}.pass-form{padding:36px;border-left:2px dashed #b5b7a6}.pass-form .cta{background:var(--ink);border-radius:6px;font-size:13px}.pass-form input{background:#fffbf2;border-radius:6px}.pass-form .fact-grid{grid-template-columns:1fr 1fr}.pass-form .fact b{font-size:23px}.birthday-home .pola-row{padding-top:10px;padding-bottom:22px}.birthday-home .pola-wrap{flex:0 0 180px}.birthday-home .pola{box-shadow:0 5px 12px #1e332810}.birthday-home .pola-img{height:180px}.play-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.play-card{position:relative;display:block;padding:26px;border-radius:10px;transition:transform .25s}.play-card:hover{transform:translateY(-7px) rotate(-1deg)}.play-pink{background:#f0c4cf}.play-yellow{background:#f3d878}.play-green{background:#c6d6bf}.play-meta{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:800;letter-spacing:1.3px}.play-meta b{font-size:20px}.play-art{display:block;font:90px/1 var(--serif);height:130px;padding-top:15px;color:#a9375d;text-align:center}.play-yellow .play-art{font-size:55px;color:var(--ink);transform:rotate(-8deg)}.play-art>span{display:block;font:9px var(--sans);letter-spacing:4px}.play-green .play-art{color:#406340}.play-card h3{font:500 32px/1.06 var(--serif);letter-spacing:-1px}.play-card p{font-size:12px;line-height:1.8;min-height:44px}.play-bottom{border-top:1px solid #1e332830;display:flex;justify-content:space-between;margin-top:25px;padding-top:15px;font-size:11px;font-weight:700}.app-party{background:var(--ink);color:var(--cream);margin-top:85px;padding:70px 0}.app-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.app-party h2{font:500 65px/1.05 var(--serif);letter-spacing:-2px;margin:25px 0}.app-party p,.app-party li{font-size:13px;line-height:1.9;color:#f8f4ebc9}.app-party ul{padding-left:17px;margin:23px 0}.app-party .party-button{background:#edb9c8;color:var(--ink)}.app-party small{display:block;font-size:10px;margin-top:16px;opacity:.6}.app-party-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.app-party-art img{width:270px;transform:rotate(-9deg)}.app-party-art .hand{color:#eecb7d;font-size:27px;line-height:1.3;margin:10px 0 30px}.app-party-art a{font-size:11px;text-decoration:underline;text-underline-offset:4px}:focus-visible{outline:3px solid #b73762;outline-offset:5px}@keyframes flicker{to{transform:rotate(-5deg) scale(.9,1.08)}}@media(max-width:800px){.party-hero{grid-template-columns:1fr;padding-top:35px;gap:35px}.party-copy h1{font-size:62px;letter-spacing:-3px}.party-actions{flex-wrap:wrap;gap:20px}.wish-stage{max-width:500px;width:100%;margin:auto;min-height:470px}.party-section{padding-top:50px}.party-section-head{align-items:start;flex-direction:column;gap:10px}.party-section h2{font-size:35px}.birthday-pass{grid-template-columns:1fr}.pass-form{border-left:0;border-top:2px dashed #b5b7a6;padding:25px}.pass-intro{padding:28px;min-height:300px}.play-grid{grid-template-columns:1fr}.play-card{padding:25px;display:grid;grid-template-columns:1fr 100px}.play-meta,.play-bottom{grid-column:1/-1}.play-art{grid-column:2;grid-row:2/4;align-self:center}.play-card h3{margin-top:20px}.app-party-grid{grid-template-columns:1fr;gap:20px}.app-party h2{font-size:54px}.app-party{margin-top:50px}.eyebrow{font-size:9px}.party-ribbon{justify-content:flex-start}.party-copy p{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.party-copy,.wish-stage,.pass-form,.pass-intro,.app-party-grid>div{min-width:0}
.party-actions .quiet-link{display:inline-flex;align-items:center;min-height:44px}
.pass-form{display:flex;flex-direction:column;justify-content:center}
.pass-form .fact-grid{margin-bottom:20px}.pass-form .pcard{padding:12px;gap:10px}
.birthday-home .pola-row{margin-inline:0;padding-inline:10px;scrollbar-width:thin}
.birthday-home .pola-wrap{flex-basis:200px}.birthday-home .pola{width:200px}
.birthday-home .pola-img{height:auto;aspect-ratio:1}
@media(min-width:768px) and (max-width:1099px){
 .party-hero{gap:24px;padding-top:40px;padding-bottom:48px}.party-copy h1{font-size:clamp(45px,6vw,62px);letter-spacing:-2.5px}
 .birthday-pass{grid-template-columns:1fr 1fr}.pass-intro,.pass-form{padding:28px}
 .pass-intro .hand{max-width:160px}.pass-stamp{float:none;position:absolute;right:16px;top:24px;font-size:8px;padding:12px}
 .play-grid{gap:14px}.play-card{padding:22px}.play-card h3{font-size:28px}
}
@media(max-width:639px){
 .party-copy h1{font-size:clamp(44px,12vw,62px);letter-spacing:-2px}.party-hero{padding-top:30px;padding-bottom:40px}
 .party-button{font-size:14px;padding:15px 18px}.party-actions{gap:12px}.wish-stage{min-height:460px}
 .pass-intro{min-height:300px}.pass-intro h3{font-size:30px;max-width:230px}.pass-intro p{max-width:210px}
 .pass-intro img{width:120px;right:-12px}.pass-form .fact{padding:14px 12px}.pass-form .fact b{font-size:21px}
 .party-section h2{font-size:33px}.play-card h3{font-size:30px}.birthday-home .pola-row{margin-inline:-20px;padding-inline:24px}
 .app-party{padding-block:45px}.app-party-art img{width:220px}.app-party-art a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:379px){
 .cake-scene{left:50%;margin-left:-145px;transform:scale(.86);transform-origin:center bottom;height:235px}
 .floating-note{left:12px;font-size:23px;top:100px}.star-one{right:16px;font-size:52px}
 .wish-controls p{max-width:220px;margin:10px auto 15px;min-height:32px}.stage-caption{font-size:8px;letter-spacing:1px}
 .pass-stamp{font-size:7px;padding:10px}.pass-intro .hand{font-size:18px;max-width:165px}
 .pass-form{padding:20px}.play-card{grid-template-columns:minmax(0,1fr) 65px;padding:22px}.play-art{font-size:65px}
}
