.booking{background:var(--c-cream)}.booking-progress{display:flex;justify-content:center;gap:clamp(.35rem,2vw,1.75rem);list-style:none;margin:-1rem 0 clamp(1.5rem,3vw,2.5rem);padding:0;counter-reset:step}.booking-progress__item{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);font-weight:600;color:var(--c-muted)}.booking-progress__item span{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--c-line-strong);border-radius:50%;font-size:.8rem;background:var(--c-white)}.booking-progress__item.is-active{color:var(--c-midnight)}.booking-progress__item.is-active span{background:var(--c-rose);border-color:var(--c-rose);color:var(--c-midnight)}.booking-progress__item.is-done span{background:var(--c-midnight);border-color:var(--c-midnight);color:var(--c-white)}@media(max-width:479px){.booking-progress__item:not(.is-active){font-size:0;gap:0}.booking-progress__item span{font-size:.8rem}}.booking__layout{display:grid;gap:2rem;align-items:start}@media(min-width:1024px){.booking__layout{grid-template-columns:minmax(0,1fr) 360px;gap:2.5rem}}.booking__main{min-width:0}.booking-step{padding:clamp(1.25rem,3.5vw,2.5rem);background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);animation:step-in .45s var(--ease)}@keyframes step-in{0%{opacity:0;transform:translateY(12px)}}.booking-step__title{margin-bottom:.35rem;font-size:clamp(1.8rem,1.5rem + 1vw,2.3rem)}.booking-step__title:focus{outline:none}.booking-step__intro{margin-bottom:1.5rem;color:var(--c-muted)}.booking-step>.booking-step__title+.field-group{margin-top:1.25rem}.booking-step__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:2rem}.booking-step__nav [type=submit]{margin-left:auto}@media(max-width:599px){.booking-step__nav [type=submit]{width:100%;order:-1}.booking-step__nav [data-back]{margin-inline:auto}}.field-group{margin:0 0 2rem;padding:0;border:0;min-width:0}.field-group__legend{margin-bottom:.9rem;padding:0;font-family:var(--f-display);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--c-rose-ink)}.field-group__note{margin-top:.6rem;font-size:var(--fs-sm);font-weight:600;color:var(--c-muted)}.choice-list{display:grid;gap:.65rem}@media(min-width:640px){.choice-list--grid{grid-template-columns:1fr 1fr}}.choice{position:relative;display:flex;align-items:center;gap:.9rem;min-height:64px;padding:.9rem 1rem;background:var(--c-white);border:1.5px solid var(--c-line-strong);border-radius:var(--radius);cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease)}.choice:hover{border-color:var(--c-indigo)}.choice__input{position:absolute;opacity:0;pointer-events:none}.choice--package:before,.choice__check{content:"";display:grid;place-items:center;flex:none;width:22px;height:22px;border:1.5px solid var(--c-line-strong);border-radius:50%;background:var(--c-white);transition:all .2s var(--ease)}.choice__check{order:-1;border-radius:6px;color:transparent}.choice__check .er-icon{width:14px;height:14px}.choice:has(.choice__input:checked){background:#fff8fa;border-color:var(--c-midnight);box-shadow:0 0 0 1px var(--c-midnight)}.choice--package:has(.choice__input:checked):before{border:6px solid var(--c-midnight)}.choice:has(.choice__input:checked) .choice__check{background:var(--c-midnight);border-color:var(--c-midnight);color:var(--c-white)}.choice:has(.choice__input:focus-visible){outline:3px solid var(--c-rose);outline-offset:2px}.choice__thumb{flex:none;width:56px;border-radius:var(--radius-sm)}.choice__body{display:grid;flex:1;gap:.1rem;min-width:0}.choice__title{font-weight:700;line-height:1.3;color:var(--c-midnight)}.choice__meta{font-size:.85rem;line-height:1.4;color:var(--c-muted)}.choice__price{flex:none;font-family:var(--f-head);font-size:1.45rem;font-weight:600;color:var(--c-midnight)}.stepper-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1.5px solid var(--c-line-strong);border-radius:var(--radius)}.stepper-row__title{font-weight:700;color:var(--c-midnight)}.stepper-row__hint{font-size:.85rem;color:var(--c-muted)}.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--c-line-strong);border-radius:var(--radius-pill);overflow:hidden}.stepper__btn{display:grid;place-items:center;width:48px;height:48px;padding:0;background:var(--c-white);border:0;color:var(--c-midnight);transition:background-color .2s var(--ease)}.stepper__btn:hover:not(:disabled){background:var(--c-pearl)}.stepper__btn:disabled{opacity:.3;cursor:not-allowed}.stepper__input{width:3rem;height:48px;padding:0;border:0;border-inline:1px solid var(--c-line);font-size:1.2rem;font-weight:700;text-align:center;color:var(--c-midnight);-moz-appearance:textfield}.stepper__input::-webkit-inner-spin-button,.stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pill-list{display:flex;flex-wrap:wrap;gap:.55rem}.pill{position:relative;cursor:pointer}.pill__input{position:absolute;opacity:0}.pill__body{display:inline-flex;align-items:center;gap:.35rem;min-height:48px;padding:.65rem 1.15rem;background:var(--c-white);border:1.5px solid var(--c-line-strong);border-radius:var(--radius-pill);font-size:.95rem;font-weight:600;color:var(--c-midnight);transition:all .2s var(--ease)}.pill__body b{color:var(--c-rose-ink)}.pill:hover .pill__body{border-color:var(--c-indigo)}.pill__input:checked+.pill__body{background:var(--c-midnight);border-color:var(--c-midnight);color:var(--c-white)}.pill__input:checked+.pill__body b{color:var(--c-rose)}.pill__input:focus-visible+.pill__body{outline:3px solid var(--c-rose);outline-offset:2px}.calendly-embed{position:relative;min-height:700px;margin-inline:calc(clamp(1.25rem,3.5vw,2.5rem)/-2);overflow:hidden;border-radius:var(--radius);background:var(--c-cream)}.calendly-embed iframe{width:100%;min-height:700px}.calendly-embed__loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--c-muted)}.calendly-embed.is-loaded .calendly-embed__loading{display:none}@media(max-width:599px){.calendly-embed,.calendly-embed iframe{min-height:1000px}}.terms{margin:1.25rem 0 .5rem;font-size:var(--fs-sm)}.terms summary{font-weight:600;color:var(--c-indigo);cursor:pointer}.terms__text{margin-top:.75rem;padding:1rem;background:var(--c-cream);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.secure-note{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1rem;font-size:.8rem;color:var(--c-muted);text-align:center}.secure-note .er-icon{width:.95rem;height:.95rem}.booking-help{display:grid;gap:.9rem;margin-top:1.25rem;padding:1.25rem 1.4rem;background:var(--c-pearl);border-radius:var(--radius-lg);font-size:.95rem;color:var(--c-muted)}.booking-help strong{color:var(--c-midnight)}.booking-help .btn{min-height:44px;padding:.6rem 1rem;font-size:.72rem}.booking-summary__card{padding:1.75rem;background:radial-gradient(ellipse 80% 60% at 100% 0%,rgba(61,82,245,.35),transparent 70%),var(--c-midnight);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:#ffffffd1}.booking-summary__title{font-family:var(--f-display);font-size:.75rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--c-rose)}.booking-summary__package{margin:.35rem 0 1rem;font-family:var(--f-head);font-size:1.9rem;font-weight:600;line-height:1.15;color:var(--c-white)}.booking-summary__card .booking-summary__lines li{border-color:#ffffff1f}.booking-summary__total,.booking-summary__deposit{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.booking-summary__total{margin-top:1rem;color:var(--c-white)}.booking-summary__total strong{font-family:var(--f-head);font-size:2.6rem;font-weight:600;line-height:1.1}.booking-summary__total strong.is-bumped{animation:bump .4s var(--ease)}@keyframes bump{40%{transform:scale(1.08);color:var(--c-rose)}}.booking-summary__deposit{margin-top:.25rem;padding:.7rem .9rem;background:#e8849a26;border-radius:var(--radius-sm);color:var(--c-rose-soft);font-weight:600}.booking-summary__deposit strong{font-size:1.15rem;color:var(--c-rose)}.booking-summary__note{margin-top:.9rem;font-size:.8rem;line-height:1.5;color:#fff9}@media(min-width:1024px){.booking-summary{position:sticky;top:calc(var(--header-h) + 1.5rem)}.booking-bar{display:none!important}}@media(max-width:1023px){.booking-summary{position:fixed;left:0;right:0;bottom:calc(76px + env(safe-area-inset-bottom));z-index:91;max-height:65vh;padding:0 .5rem;overflow-y:auto;transform:translateY(calc(100% + 90px));transition:transform .35s var(--ease);pointer-events:none}.booking-summary.is-open{transform:none;pointer-events:auto}.booking-summary__card{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.booking-bar{position:fixed;left:0;right:0;bottom:0;z-index:92;display:flex;align-items:center;gap:.75rem;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));background:var(--c-white);border-top:1px solid var(--c-line);box-shadow:0 -12px 30px -16px #0e125059;transform:translateY(110%);transition:transform .35s var(--ease)}.booking-bar.is-visible{transform:none}body.has-booking-bar .site-footer{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}}.booking-bar__totals{display:grid;grid-template-columns:auto;justify-items:start;flex:1;gap:0;min-width:0;padding:.2rem 0;background:none;border:0;text-align:left;line-height:1.2}.booking-bar__label{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}.booking-bar__chevron{width:.9rem;height:.9rem;transform:rotate(180deg);transition:transform .3s var(--ease)}.booking-bar__totals[aria-expanded=true] .booking-bar__chevron{transform:none}.booking-bar__total{font-family:var(--f-head);font-size:1.75rem;font-weight:600;line-height:1.05;color:var(--c-midnight)}.booking-bar__deposit{font-size:.78rem;font-weight:600;color:var(--c-rose-ink)}.booking-bar__next{flex:none;min-height:52px;padding-inline:1.3rem}.pill--option .pill__body{flex-direction:column;align-items:flex-start;gap:0;border-radius:var(--radius);padding-block:.6rem;line-height:1.3;text-align:left}.pill__desc{font-size:.8rem;font-weight:500;opacity:.8}.field-group__note--accent{padding:.75rem 1rem;background:var(--c-pearl);border-radius:var(--radius-sm);color:var(--c-rose-ink)}
