.booking-wizard-page [hidden]{display:none!important}.booking-main{max-width:1060px}.booking-intro h1{font:700 clamp(38px,6vw,66px)/1.05 Impact,Barlow,'Arial Narrow',sans-serif!important}.booking-intro .eyebrow{font-size:13px}.booking-intro .rules-button{margin-bottom:15px}.booking-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 28px;font:700 13px/1.5 Arial,sans-serif}.booking-progress span{padding:10px 3px;border-bottom:2px solid #44434b;color:#aaa6b3}.booking-progress [aria-current]{border-color:#f4bfd8;color:#fff;text-shadow:0 0 12px #eeb2d677}.booking-progress [data-complete]{border-color:#c4c4ce;color:#ddd}.booking-layout{grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr);gap:36px}.booking-layout .booking-screen{border-top:0;padding-top:0;min-width:0;scroll-margin-top:120px}.booking-screen legend{font:700 clamp(29px,4vw,44px)/1.2 Impact,Barlow,'Arial Narrow',sans-serif!important;margin-bottom:22px}.booking-screen legend>span:first-child{display:block;margin:0 0 8px;color:#eeb2d6;font:700 14px/1.3 Arial,sans-serif;letter-spacing:2px}.booking-screen #option-step-heading{font:inherit;color:inherit;margin:0}.booking-screen .variant-panel{margin:0}.booking-screen .length-options{gap:8px}.booking-screen .treatment-row{flex-wrap:wrap}.booking-screen .treatment-row strong{font-size:18px}.booking-screen :is(.treatment-row small,.option-copy small){font-size:14px;line-height:1.5}.booking-screen .option-copy{min-width:0}.booking-screen .length-option{min-width:0}.booking-screen .option-row{border-bottom:1px solid #454550;margin-bottom:10px}.booking-screen .visual-reference{font-size:12px}.booking-screen .service-help,.booking-screen .muted{font-size:15px}.booking-screen .consent,.booking-screen .form-privacy{font-size:14px!important}.step-actions{display:grid;grid-template-columns:minmax(80px,.6fr) minmax(0,1.4fr);gap:14px;align-items:stretch;margin-top:25px}.step-actions .step-next:only-child{grid-column:1/-1}.step-actions .button,.step-actions .step-back{margin:0!important;min-height:56px;display:flex;align-items:center;justify-content:center;font:700 23px/1.2 Impact,Barlow,sans-serif}.step-back{background:#111116;color:#fff;border:1px solid #77727e}.step-actions .booking-primary{border-color:#d6d2df;background:linear-gradient(135deg,#ededf5,#9da0ad 53%,#ffd0e6);color:#08080c}.booking-summary{top:115px;padding:22px;box-shadow:none;background:#111116}.booking-summary h2{font:700 27px/1.2 Impact,Barlow,sans-serif!important;margin:5px 0 18px}.booking-summary .eyebrow{display:none}.booking-summary dt{font-size:12px;margin-top:15px}.booking-summary dd{font-size:15px;margin-bottom:12px;overflow-wrap:anywhere}.booking-summary p{font-size:14px;line-height:1.6}.booking-success h2{font:700 clamp(36px,6vw,62px)/1.15 Impact,Barlow,sans-serif}.booking-success{margin-inline:auto;width:100%;border-color:#c5b8ca;background:linear-gradient(160deg,#15151d,#08080c);box-shadow:0 0 40px #d896c011}.booking-success a,.booking-success button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.booking-success p{font-size:16px;line-height:1.65}.booking-calendar{max-width:100%;animation:calendar-aura 5s ease-in-out infinite}.booking-days .booking-day{animation:day-arrive .42s both}.booking-days .booking-day:nth-child(3n){animation-delay:.08s}.booking-days .booking-day:nth-child(3n+1){animation-delay:.16s}@keyframes day-arrive{from{opacity:.4;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes calendar-aura{50%{border-color:#e7c1d7;box-shadow:0 0 20px #e7a5cd0b}}
@media(max-width:760px){.booking-main{padding-top:22px}.booking-header .wordmark{font-size:27px}.booking-layout{display:flex;flex-direction:column;gap:25px}.booking-layout form,.booking-summary{width:100%}.booking-summary{grid-row:auto;position:static}.booking-progress{font-size:11px;gap:5px;margin-bottom:24px}.booking-progress span{padding:9px 0}.booking-screen legend{font-size:34px!important}.booking-screen .treatment-price{font-size:14px}.booking-screen .treatment-row{gap:10px}.booking-screen .treatment-icon{display:none}.booking-screen .design-example{width:44px;height:85px}.booking-screen .option-row{flex-wrap:wrap}.booking-screen .option-copy{flex-basis:calc(100% - 80px)}.booking-screen .option-price{margin-left:auto}.booking-calendar{padding-inline:9px}.time-slots button{padding-inline:8px;min-width:0}.booking-summary dl{display:block}.booking-footer{flex-wrap:wrap}}
.booking-screen:focus{outline:none}
/* One choice at a time, without a header or a preview of later steps. */
.booking-wizard-page .booking-main{max-width:660px;padding-top:48px;min-height:calc(100svh - 76px)}
.booking-wizard-page .booking-layout{display:block}
.booking-wizard-page .booking-screen{min-height:0}
.booking-wizard-page .booking-screen legend{margin-bottom:24px;font-size:clamp(32px,5vw,46px)!important}
.booking-wizard-page .treatment-list{display:grid;gap:10px}
.booking-wizard-page .treatment-row{min-height:76px;margin:0;padding:18px 16px;gap:12px;flex-wrap:nowrap;background:#111116c9;border:1px solid #55515c}
.booking-wizard-page .treatment-copy{flex:1;min-width:0}
.booking-wizard-page .treatment-copy strong{font-size:20px;line-height:1.25}
.booking-wizard-page .treatment-price{font:14px/1.4 Arial,sans-serif;white-space:nowrap}
.booking-wizard-page .step-actions{margin-top:24px}
.booking-wizard-page .booking-summary{position:static;max-width:100%;padding:16px;margin:0 0 20px;border-color:#504b56;background:#111116b3}
.booking-wizard-page .booking-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.booking-wizard-page .booking-summary dt{display:none}
.booking-wizard-page .booking-summary dd{margin:0;font:14px/1.5 Arial,sans-serif}
.booking-wizard-page #summary-service,.booking-wizard-page #summary-date{grid-column:1/-1}
.booking-wizard-page .booking-footer{max-width:660px;justify-content:center;gap:30px;border:0;font:14px/1.5 Arial,sans-serif}
.booking-wizard-page .deposit-notice{font:14px/1.6 Arial,sans-serif}
@media(max-width:760px){.booking-wizard-page .booking-main{padding-top:32px;padding-bottom:30px}.booking-wizard-page .booking-screen legend{font-size:34px!important}.booking-wizard-page .treatment-row{padding:16px 12px;min-height:78px}.booking-wizard-page .treatment-copy strong{font-size:18px}.booking-wizard-page .treatment-price{font-size:14px}.booking-wizard-page .option-copy small{font-size:14px;line-height:1.5}.booking-wizard-page .booking-success{padding:22px}.booking-wizard-page .booking-footer{padding-top:16px}}
