.birthday-configurator{padding-top:64px;padding-bottom:34px}
.birthday-configurator .birthday-panel{border-radius:32px 32px 0 0;padding:35px 42px;grid-template-columns:1fr 215px;gap:28px}
.birthday-configurator .birthday-copy h2{font-size:clamp(2rem,3.2vw,3.2rem);margin-bottom:14px}
.birthday-configurator .birthday-intro{margin:0;max-width:680px}
.birthday-configurator .birthday-mascot{width:145px;margin:0}
.birthday-configurator .birthday-badge{font-size:.75rem;padding:8px 12px;align-self:center}
.birthday-configurator .birthday-visual{padding:0}.birthday-configurator .birthday-eyebrow{font-size:.75rem;margin-bottom:12px}
.birthday-calculator{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);border:1px solid #dce6fa;border-top:0;border-radius:0 0 32px 32px;background:#f5f8ff;overflow:clip}
.birthday-form-main{padding:35px 35px 25px;background:#fff}
.birthday-form-heading h3{font-size:1.6rem;color:#11264f;line-height:1.2;margin:0 0 10px}
.birthday-form-heading .birthday-eyebrow,.birthday-contact .birthday-eyebrow{color:#0761f5}
.birthday-form-heading>p:last-child{color:#53647b;line-height:1.55;font-size:.95rem;margin:0 0 26px}
.birthday-calculator fieldset{border:0;border-top:1px solid #e4eaf6;margin:0;padding:24px 0;min-width:0}
.birthday-calculator legend{font-size:1.075rem;line-height:1.5;font-weight:800;color:#11264f;padding:0 15px 0 0}
.birthday-calculator legend>span{color:#0761f5;display:inline-block;margin-right:10px;font-size:.8rem}
.birthday-two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.birthday-calculator label{display:block;font-size:.875rem;font-weight:700;line-height:1.5;color:#18345e}
.birthday-calculator input:not([type=checkbox]),.birthday-calculator select,.birthday-calculator textarea{display:block;width:100%;max-width:100%;border:1px solid #c7d4e9;background:#fff;border-radius:12px;padding:12px;color:#19355e;font:inherit;font-weight:500;font-size:16px;min-height:48px;margin-top:8px;box-sizing:border-box}
.birthday-calculator :is(input,select,textarea,button):focus-visible{outline:3px solid #ffca35;outline-offset:3px}
.birthday-calculator .birthday-help{font-size:.79rem;line-height:1.6;color:#60718c;margin:12px 0 0}
.birthday-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.birthday-calculator .birthday-choice{display:flex;align-items:center;gap:10px;min-height:68px;padding:11px;border:1px solid #dbe4f1;border-radius:14px;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}
.birthday-choice:hover{background:#f3f7ff;border-color:#739cdd}.birthday-choice:has(input:checked){background:#eaf2ff;border-color:#0761f5;box-shadow:0 0 0 1px #0761f5}
.birthday-calculator input[type=checkbox]{width:19px;height:19px;accent-color:#0761f5;flex:0 0 19px;margin:0}
.birthday-choice small{display:block;font-size:.73rem;font-weight:500;color:#5d6e89;margin-top:2px}
.birthday-budget-result{margin:12px 0 0;color:#0761f5;font-weight:700;line-height:1.5;font-size:.9rem}
.birthday-summary{padding:32px 26px;min-width:0;color:#133268}
.birthday-summary-inner{position:sticky;top:calc(var(--header-height) + 20px)}
.birthday-summary .birthday-eyebrow{color:#0761f5}.birthday-summary h3{font-size:1.4rem;margin:0 0 7px;line-height:1.4}.birthday-summary [data-birthday-guests]{font-size:.9rem;margin:0 0 20px;color:#5a6d89}
.birthday-lines{list-style:none;margin:0 0 25px;padding:0;font-size:.82rem}
.birthday-lines li{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid #dce5f5;padding:10px 0;line-height:1.45}.birthday-lines li strong{text-align:right;flex-shrink:0;font-size:.8rem}.birthday-lines li span{min-width:0}
.birthday-total{padding:24px 20px;border-radius:22px;background:#0761f5;color:#fff}.birthday-total>span{font-size:.85rem}.birthday-total>strong{display:block;font-size:clamp(1.8rem,2.6vw,2.45rem);line-height:1.4;margin:5px 0}.birthday-total p{font-size:.8rem;line-height:1.5;margin:0;color:#fff}
.birthday-estimate-note{font-size:.79rem;line-height:1.6;color:#536781;margin:17px 0}
.birthday-request{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;padding:14px!important;min-height:54px;font-size:.875rem!important;line-height:1.4!important;text-align:center!important}
.birthday-request svg{flex:0 0 18px;width:18px;height:18px}.birthday-calculator button:disabled{opacity:.55;cursor:wait}.birthday-error{font-size:.85rem;color:#a92238;line-height:1.5}.birthday-error:empty{display:none}
.birthday-retry{border:1px solid #0761f5;border-radius:8px;padding:9px 14px;color:#0761f5;background:white;margin-bottom:14px;cursor:pointer}
.birthday-contact{grid-column:1/-1;padding:35px;border-top:1px solid #dce6fa;background:#fff}.birthday-contact[hidden]{display:none}.birthday-contact h3{font-size:1.5rem;color:#143363;margin:0 0 10px}.birthday-contact>div>p:last-child{color:#64718b;margin-bottom:25px}
.birthday-calculator .birthday-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:.85rem;max-width:750px;margin:25px 0}.birthday-consent input{margin-top:3px!important}.birthday-consent a{color:#0761f5;text-decoration:underline}
.birthday-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.birthday-contact [role=status]{color:#0761f5;font-weight:700;line-height:1.6}.birthday-contact [role=status][data-error=true]{color:#a92238}
@media(max-width:950px){.birthday-form-main{padding:30px 24px}.birthday-summary{padding:30px 22px}.birthday-calculator{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr)}.birthday-choices{grid-template-columns:1fr}.birthday-two-fields{gap:12px}.birthday-configurator .birthday-panel{padding:32px}}
@media(max-width:700px){.birthday-configurator{padding-top:30px;padding-bottom:15px}.birthday-configurator .birthday-panel{grid-template-columns:1fr 90px;gap:4px;padding:26px 20px;border-radius:25px 25px 0 0;align-items:start}.birthday-configurator .birthday-copy h2{font-size:1.85rem}.birthday-configurator .birthday-intro{font-size:.925rem;line-height:1.6}.birthday-configurator .birthday-mascot{width:90px;margin-top:34px}.birthday-configurator .birthday-badge{display:none}.birthday-configurator .birthday-eyebrow{font-size:.65rem;letter-spacing:.055em}.birthday-calculator{grid-template-columns:1fr;border-radius:0 0 25px 25px}.birthday-form-main{padding:27px 20px 6px}.birthday-form-heading h3{font-size:1.4rem}.birthday-two-fields{grid-template-columns:1fr 1fr}.birthday-calculator #birthday-room,.birthday-calculator #birthday-cake{font-size:14px;padding-left:8px}.birthday-summary{padding:25px 20px}.birthday-summary-inner{position:static}.birthday-summary .birthday-help{font-size:.8rem}.birthday-choices{grid-template-columns:1fr 1fr;gap:8px}.birthday-calculator .birthday-choice{font-size:.8rem;padding:10px 8px;gap:7px}.birthday-choice small{font-size:.69rem}.birthday-contact{padding:26px 20px}.birthday-contact .birthday-two-fields{grid-template-columns:1fr}.birthday-total>strong{font-size:2rem}.birthday-form-heading>p:last-child{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.birthday-choice{transition:none}}
.birthday-configurator+.home-options{margin-top:36px}
@media(max-width:700px){.birthday-configurator .birthday-panel{display:block;padding:27px 20px}.birthday-configurator .birthday-visual{position:absolute;top:13px;right:12px;width:60px}.birthday-configurator .birthday-mascot{width:60px;margin:0}.birthday-configurator .birthday-copy h2{font-size:1.8rem;margin-top:28px;text-wrap:initial}.birthday-configurator .birthday-intro{max-width:none}.birthday-form-main fieldset:nth-of-type(2) .birthday-two-fields{grid-template-columns:1fr}.birthday-calculator #birthday-room,.birthday-calculator #birthday-cake{font-size:16px;padding-left:12px}.birthday-configurator+.home-options{margin-top:25px}}
@media(max-width:360px){.birthday-configurator .birthday-copy h2{font-size:1.65rem}.birthday-choices{grid-template-columns:1fr}}
