.birthday-main{--red:#c4171d;--ink:#111;--muted:#666;color:var(--ink);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.65}.birthday-main *{box-sizing:border-box}.birthday-main h1,.birthday-main h2,.birthday-main h3{font-family:Oswald-Regular,sans-serif;font-weight:400;line-height:1.15;letter-spacing:0}.birthday-main h2{font-size:clamp(36px,4.2vw,60px);text-transform:uppercase;margin:0 0 26px}.birthday-main h3{font-size:26px}.birthday-main p{margin:0 0 22px}.birthday-main .eyebrow{font-family:Oswald-Regular,sans-serif;letter-spacing:2px;font-size:13px;font-weight:400;color:var(--red);margin-bottom:20px}.birthday-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 27px;border:1px solid var(--red);border-radius:2px;background:var(--red);color:#fff!important;font:16px/1.4 Oswald-Regular,sans-serif;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:background .2s,transform .2s}.birthday-button:hover{background:#a51017;border-color:#a51017;transform:translateY(-2px)}.birthday-main [id]{scroll-margin-top:120px}.birthday-hero{position:relative;min-height:740px;height:95svh;max-height:1050px;background:#111;isolation:isolate;display:flex;align-items:center;padding:170px 7vw 125px;color:#fff;overflow:hidden}.birthday-hero video,.birthday-hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1;object-fit:cover}.birthday-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.32) 65%,rgba(0,0,0,.15)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)}.birthday-hero-copy{max-width:750px}.birthday-hero .eyebrow{color:#fff}.birthday-hero h1{font-size:clamp(58px,6.1vw,94px);color:#fff;text-transform:uppercase;margin:0 0 27px}.birthday-hero-copy>p:not(.eyebrow){max-width:525px;font-size:18px;line-height:1.6;margin-bottom:32px}.birthday-hero-note{position:absolute;right:7vw;bottom:45px;display:flex;gap:32px;font-size:15px}.birthday-hero-note strong{font-weight:600}.birthday-reassurance{padding:48px 7vw;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;background:white;border-bottom:1px solid #eee}.birthday-reassurance>div{position:relative;padding-left:0}.reassurance-number{font:16px Oswald-Regular;color:#c4171d;display:block;margin-bottom:14px}.birthday-reassurance h2{font-size:22px;margin:0 0 12px;text-transform:none;line-height:1.3}.birthday-reassurance p{font-size:14px;line-height:1.6;color:#666;margin:0;max-width:245px}.birthday-story{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:105px 7vw;align-items:center}.birthday-story-photo{position:relative;height:600px;overflow:hidden;border-radius:3px}.birthday-story-photo img{width:100%;height:100%!important;object-fit:cover}.photo-label{position:absolute;bottom:28px;left:28px;color:#fff;background:var(--red);padding:8px 15px;font:13px Oswald-Regular;letter-spacing:1px}.birthday-story-copy p:not(.eyebrow){color:#555}.birthday-checklist{padding:0;margin:25px 0;list-style:none}.birthday-checklist li{position:relative;padding-left:25px;margin-bottom:12px;font-size:15px}.birthday-checklist li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:700}.birthday-main .birthday-note{font-size:13px;line-height:1.6;color:#777;max-width:500px}.birthday-story-reverse{background:#111;color:#fff}.birthday-story-reverse h2{color:#fff}.birthday-story-reverse .eyebrow{color:#ff666b}.birthday-story-reverse .birthday-story-copy p:not(.eyebrow){color:#ccc}.birthday-story-reverse .birthday-checklist li:before{color:#ff666b}.birthday-formulas{padding:100px 0;background:#f6f6f6}.formula-heading{margin:0 7vw 30px;display:flex;justify-content:space-between;align-items:end;gap:24px}.formula-heading h2{margin-bottom:18px}.formula-heading p:last-child{color:#666;margin:0}.formula-arrows{display:flex;gap:12px;flex-shrink:0}.formula-arrows button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #111;border-radius:50%;background:transparent;color:#111;font:32px Arial;cursor:pointer}.formula-arrows button:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}.formula-arrows button:disabled{opacity:.25;cursor:default}.age-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 7vw 20px}.age-filters button,.dialog-audience button{border:1px solid #ddd;border-radius:30px;background:transparent;padding:9px 18px;font:14px/1.5 Roboto,sans-serif;color:#333;cursor:pointer}.age-filters button[aria-pressed=true],.dialog-audience button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.birthday-main .formula-count{margin:0 7vw 24px;color:#777;font-size:13px}.formula-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;width:93%;margin-left:7%;padding-right:7vw;overscroll-behavior-x:contain}.formula-track::-webkit-scrollbar{display:none}.formula-card{position:relative;isolation:isolate;flex:0 0 31%;height:565px;scroll-snap-align:start;overflow:hidden;border-radius:3px;background:#161616;color:#fff}.formula-card>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2;transition:transform .5s}.formula-card:hover>img{transform:scale(1.035)}.formula-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.25) 30%,rgba(0,0,0,.94));z-index:-1}.formula-badge{position:absolute;top:24px;left:24px;background:rgba(0,0,0,.48);backdrop-filter:blur(5px);padding:6px 13px;font-size:13px;border:1px solid #ffffff45;border-radius:2px}.formula-card-copy{position:absolute;bottom:0;left:0;right:0;padding:30px}.formula-card h3{font-size:30px;color:#fff;margin:0 0 14px}.formula-card .formula-meta{color:#eee;font-size:14px;margin:0 0 12px}.formula-card ul{padding:0;margin:0 0 22px;list-style:none;min-height:68px;font-size:14px;line-height:1.5}.formula-card li{margin:4px 0}.formula-price{display:block;margin:0 0 20px;font-size:14px}.formula-price strong{font:32px Oswald-Regular}.formula-card .birthday-button{font-size:14px;padding:12px 20px;min-height:46px}.birthday-main .formula-footnote{margin:28px 7vw 0;font-size:13px;color:#777}.birthday-how{padding:110px 7vw}.birthday-section-heading{text-align:center;margin-bottom:65px}.birthday-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.birthday-steps article{border-top:1px solid #ddd;padding-top:28px}.birthday-steps article>span{font:48px Oswald-Light;color:#c4171d;display:block;margin-bottom:24px}.birthday-steps h3{margin:0 0 15px}.birthday-steps p{font-size:15px;color:#666;margin:0}.birthday-practical{padding:100px 7vw;background:#f6f6f6;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.practical-intro>p:not(.eyebrow){color:#666;max-width:360px}.practical-contact{display:flex;flex-direction:column;gap:18px;border-left:3px solid var(--red);padding-left:23px;margin-top:35px;font-size:15px}.birthday-faq details{border-bottom:1px solid #d7d7d7;padding:22px 0}.birthday-faq details:first-child{border-top:1px solid #d7d7d7}.birthday-faq summary{list-style:none;position:relative;padding-right:35px;font:20px/1.4 Oswald-Regular;cursor:pointer}.birthday-faq summary::-webkit-details-marker{display:none}.birthday-faq summary:after{content:'+';position:absolute;right:0;top:0;color:var(--red);font:25px Arial}.birthday-faq details[open] summary:after{content:'−'}.birthday-faq details[open] summary{color:var(--red)}.birthday-faq details p{font-size:15px;color:#666;margin:18px 0 0}.birthday-final{position:relative;text-align:center;isolation:isolate;background:#111;color:#fff;padding:110px 7vw;overflow:hidden}.birthday-final>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2}.birthday-final:after{content:'';position:absolute;inset:0;background:#000b;z-index:-1}.birthday-final h2{font-size:clamp(46px,5vw,72px);color:#fff}.birthday-final .eyebrow{color:#fff}.birthday-final>div>p:not(.eyebrow){color:#ddd}.birthday-final .final-phone{margin-top:25px;font-size:15px}.birthday-page .elementor-location-footer .cta__actions{display:none!important}#formula-dialog{border:0;border-radius:4px;padding:0;max-width:820px;width:calc(100% - 40px);max-height:90svh;overflow:auto;color:#111;background:#fff}#formula-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;font:30px Arial;z-index:2;cursor:pointer}.dialog-top{padding:42px 42px 26px;background:#f6f6f6}.dialog-top h2{font-size:38px;padding-right:20px;margin-bottom:20px}.dialog-audience{display:flex;gap:8px}#formula-dialog .dialog-body{padding:30px 42px}.dialog-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.dialog-stats span{background:#f3f3f3;padding:7px 12px;font-size:14px}#formula-dialog .dialog-body h3{font-size:22px;margin-bottom:16px}#formula-dialog .dialog-body ul{margin:0 0 24px;padding-left:20px}#formula-dialog .dialog-body p{font-size:15px}.dialog-contact{padding-top:20px;border-top:1px solid #ddd;margin-top:25px}.dialog-contact strong{display:block;font:25px Oswald-Regular;margin-bottom:8px}.birthday-main :focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:1024px){.birthday-story{gap:5vw;padding:75px 6vw}.birthday-story-photo{height:520px}.birthday-reassurance{grid-template-columns:repeat(2,1fr)}.formula-card{flex-basis:45%}.birthday-steps{grid-template-columns:repeat(2,1fr);gap:40px}.birthday-practical{gap:5vw;grid-template-columns:.85fr 1.15fr}.birthday-hero{padding-top:170px}.birthday-hero h1{font-size:72px}.birthday-hero-note{left:7vw;right:auto}.birthday-story h2{font-size:42px}}
@media(max-width:767px){.birthday-main h2{font-size:36px}.birthday-hero{height:95svh;min-height:760px;padding:205px 6vw 110px;align-items:center}.birthday-hero h1{font-size:53px;line-height:1.14}.birthday-hero-copy>p:not(.eyebrow){font-size:16px}.birthday-hero-note{left:6vw;bottom:28px;gap:18px;font-size:12px}.birthday-hero-shade{background:linear-gradient(90deg,#000b,#0007)}.birthday-reassurance{padding:35px 6vw;gap:30px 22px}.birthday-reassurance h2{font-size:20px}.birthday-reassurance p{font-size:13px}.birthday-story{display:flex;flex-direction:column;padding:60px 6vw;gap:34px}.birthday-story-reverse{flex-direction:column-reverse}.birthday-story-photo{height:390px;width:100%}.birthday-story-copy{width:100%}.photo-label{left:20px;bottom:20px}.birthday-formulas{padding:65px 0}.formula-heading{margin-left:6vw;margin-right:6vw;align-items:start}.formula-heading h2{font-size:36px}.formula-heading p:last-child{font-size:15px}.formula-arrows{align-self:end;gap:8px}.formula-arrows button{width:38px;height:38px}.formula-heading{flex-wrap:wrap}.age-filters{margin-left:6vw;margin-right:6vw;gap:8px}.age-filters button{padding:8px 13px;font-size:13px}.formula-track{width:94%;margin-left:6%;padding-right:6vw;gap:16px}.formula-card{flex-basis:87%;height:550px}.formula-card-copy{padding:24px}.formula-card h3{font-size:28px}.formula-badge{top:20px;left:20px}.birthday-main .formula-count,.birthday-main .formula-footnote{margin-left:6vw;margin-right:6vw}.birthday-how{padding:65px 6vw}.birthday-section-heading{margin-bottom:35px;text-align:left}.birthday-steps{grid-template-columns:1fr;gap:27px}.birthday-steps article{display:grid;grid-template-columns:48px 1fr;gap:0 20px;padding-top:22px}.birthday-steps article>span{font-size:36px;grid-row:1/3;margin:0}.birthday-steps h3{font-size:24px}.birthday-practical{display:block;padding:65px 6vw}.birthday-faq{margin-top:38px}.birthday-faq summary{font-size:20px}.birthday-final{padding:80px 6vw}.birthday-final h2{font-size:46px}.dialog-top{padding:45px 25px 25px}.dialog-top h2{font-size:32px}#formula-dialog .dialog-body{padding:25px}#formula-dialog .dialog-body .dialog-stats{gap:7px}.dialog-stats span{font-size:12px}.birthday-main [id]{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.birthday-button,.formula-card>img{transition:none}}

/* Birthday page refinements */
.birthday-hero{height:auto;min-height:610px;max-height:none;padding:170px 7vw 70px}.birthday-hero-copy{max-width:850px}.birthday-hero h1{font-size:clamp(44px,4.5vw,66px);margin-bottom:22px}.birthday-hero-copy>p:not(.eyebrow){margin-bottom:25px}.birthday-hero-actions{display:flex;gap:14px;flex-wrap:wrap}.birthday-button-white{background:#fff;border-color:#fff;color:#171717!important}.birthday-button-white:hover{background:#f0f0f0;border-color:#f0f0f0}.birthday-reassurance{background:var(--red);border:0;color:#fff;padding:35px 7vw;text-align:center;align-items:center}.birthday-reassurance h2{color:#fff;margin:0;font-size:22px}.reassurance-icon{width:38px;height:38px;display:block;margin:0 auto 17px}.birthday-included-title{font-size:23px!important;margin:22px 0 0}.birthday-checklist{margin:18px 0}.birthday-checklist a,#formula-dialog .dialog-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.birthday-story-reverse .birthday-checklist a{color:#fff}.birthday-story-copy .birthday-cake{font-size:15px;margin-bottom:20px}.birthday-rules{border-left:3px solid var(--red);padding-left:17px;margin:20px 0}.birthday-rules p{font-size:14px;line-height:1.55;margin-bottom:10px}.birthday-story-reverse .birthday-rules{border-color:#ff666b}.birthday-story-photo{height:100%;min-height:650px;max-height:960px}.birthday-story{align-items:stretch}.birthday-story-copy{align-self:center}.birthday-main .birthday-note{font-size:14px}.age-filters button{font-size:15px;padding:10px 22px}
@media(max-width:1024px){.birthday-hero{min-height:580px;padding:150px 7vw 65px}.birthday-hero h1{font-size:58px}.birthday-story-photo{min-height:520px}.birthday-hero-actions .birthday-button{font-size:15px;padding:13px 20px}}
@media(max-width:767px){.birthday-hero{min-height:640px;padding:195px 6vw 48px}.birthday-hero h1{font-size:42px}.birthday-hero-copy>p:not(.eyebrow){font-size:16px;margin-bottom:22px}.birthday-hero-actions{gap:10px}.birthday-hero-actions .birthday-button{font-size:14px;min-height:46px;padding:12px 17px}.birthday-reassurance{padding:30px 6vw;gap:30px 20px}.birthday-reassurance h2{font-size:19px}.reassurance-icon{width:33px;height:33px;margin-bottom:13px}.birthday-story-photo{height:390px;min-height:0;max-height:none}.age-filters{flex-wrap:nowrap;gap:8px}.age-filters button{font-size:13px;padding:10px 12px}.birthday-story{align-items:center}}

/* Compact reassurance and shared practical notes. */
.birthday-hero{min-height:665px}
.birthday-reassurance{padding:23px 7vw;gap:28px}
.birthday-reassurance h2{font-size:18px;line-height:1.25}
.reassurance-icon{width:30px;height:30px;margin-bottom:10px}
.birthday-main .formula-footnote{text-align:center}
.birthday-main .formula-rules{border:0;text-align:center;font-style:italic;max-width:980px;padding:0;margin:20px auto 0;width:86%}
.birthday-main .formula-rules p{font-size:13px;line-height:1.6;color:#777;margin-bottom:8px}
.formula-count[hidden]{display:none!important}
@media(max-width:1024px){.birthday-hero{min-height:625px}}
@media(max-width:767px){.birthday-hero{min-height:665px;padding-top:135px}.birthday-reassurance{padding:22px 6vw;gap:22px 16px}.birthday-reassurance h2{font-size:16px}.reassurance-icon{width:27px;height:27px;margin-bottom:8px}.birthday-main .formula-rules{width:88%}}

/* Compact mobile formula cards and persistent booking action. */
.birthday-mobile-booking{display:none}
@media(max-width:767px){
 .formula-card{height:490px}
 .formula-card-copy{bottom:0;padding:20px 22px 18px}
 .formula-card h3{margin-bottom:10px}
 .formula-card .formula-meta{margin-bottom:8px}
 .formula-card ul{min-height:0;margin-bottom:12px}
 .formula-card li{margin:3px 0}
 .formula-price{margin-bottom:13px}
 .birthday-mobile-booking{position:fixed;bottom:0;left:0;right:0;z-index:998;display:flex;align-items:center;justify-content:center;background:#000;padding:13px 20px calc(13px + env(safe-area-inset-bottom,0px))}
 .birthday-mobile-booking .birthday-button{min-height:46px;font-size:15px;padding:12px 25px}
 .birthday-page{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .birthday-page:has(.site-header.burger_opened) .birthday-mobile-booking{display:none}
}
.birthday-story-reverse .birthday-included-title{color:#fff}

.formula-arrows button svg{display:block;width:22px;height:22px;flex-shrink:0}
@media(max-width:767px){
 .birthday-formulas>.formula-arrows{margin:0 6vw 22px;justify-content:flex-end;gap:10px}
 .birthday-formulas .formula-arrows button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;line-height:1;padding:0}
 .birthday-mobile-booking{visibility:hidden;opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s}
 .birthday-mobile-booking.is-visible{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){.birthday-mobile-booking{transition:none}}

/* Elementor integration */
/* Keep Astra's generic button padding from distorting the dialog close control. */
#formula-dialog .dialog-close{display:grid;place-items:center;width:40px;height:40px;padding:0;background:#fff;color:#111;line-height:1}
@media(max-width:767px){#formula-dialog .dialog-top{padding-top:64px}}
.formula-card[hidden]{display:none!important}.birthday-page .elementor-widget{margin-bottom:0}.birthday-page .entry-content>div{margin:0}.birthday-main a.birthday-button{text-decoration:none}.birthday-main .birthday-hero video{height:100%!important}.birthday-page #content>.ast-container{max-width:none;padding:0}.birthday-page #primary{margin:0;width:100%}.birthday-page .entry-header{display:none}.birthday-main .formula-card ul li{list-style:none}.birthday-main .birthday-checklist{list-style:none}.birthday-main .practical-contact p{margin:0}.birthday-main .practical-contact a{color:inherit}
