:root{--red:#8d302f;--ink:#201d1b;--paper:#f5f1e9;--grey:#655f56;--line:#d7cfc2}body{-webkit-font-smoothing:antialiased}.top{padding-top:27px;padding-bottom:27px}.brand{font-size:25px}.brand i{color:#d3bb9f}.brand span{letter-spacing:2.5px}.back{font-size:12px;padding:10px 0}.container{padding-top:48px}.intro{margin-bottom:36px}.kicker{font-size:9px;letter-spacing:1.6px}h1{font-weight:500;letter-spacing:-2px;font-size:clamp(36px,4.7vw,58px)}h1 em{color:#8d302f}.intro p{font-size:14px;max-width:500px}.demo{padding:14px 20px;font-size:12px;background:#e9e2d6}.steps{padding:23px 0;gap:35px}.step{font-size:12px}.step b{width:28px;height:28px}.layout{gap:45px}.panel h2{font-size:24px;font-weight:500;margin-top:26px}.sub{font-size:13px;line-height:1.8}.service{background:#eee8de;min-height:145px;padding:23px;transition:background .2s,border-color .2s}.service[aria-pressed=true]{padding:22px;background:#fffaf4;border-color:var(--red)}.service:hover{background:#fdf8f0}.service .name{font-size:17px;font-weight:500}.service .note{font-size:12px}.service .duration{font-size:11px}.summary{background:#2c2723;padding:30px;top:24px}.summary h2{font-family:Georgia,serif;font-weight:normal;font-size:28px}.summary dt{font-size:11px}.summary dd{font-size:14px}.summary-note{font-size:11px}.date,.time{min-height:46px}.date{background:#eee8de;padding:16px 4px}.date span{font-size:10px}.date small{font-size:8px}.time{font-size:14px;background:#fffaf4;padding:14px 3px}.arrow{min-height:40px;width:40px}.calendar-head strong,.slot-title{font-size:14px}.button{min-height:52px;font-size:13px;padding:18px 24px}.nextbar p{font-size:12px;max-width:280px}.field label{font-size:13px}.field input{font-size:16px;padding:17px}.field small{font-size:11px}.check{font-size:13px}.live{font-size:12px}.review{font-size:14px}.plain{font-size:13px;min-height:44px}.wax-addon strong{font-size:15px}.wax-addon small,.combo-note{font-size:12px}.booking-help{max-width:1080px;margin:24px auto 0;padding:24px 30px;background:#e9e2d6;border-left:3px solid var(--red);line-height:1.7}.booking-help strong{font-size:19px;font-weight:500}.booking-help p{font-size:14px;margin:8px 0 14px;color:var(--grey)}.booking-help a{display:inline-block;padding:13px 20px;background:var(--red);color:white;font-size:14px}.foot{font-size:11px;align-items:center;flex-wrap:wrap}.consent-banner{border-top-color:var(--red)}.real-call{padding:14px 0;font-size:13px}.success p{font-size:14px}.success-card{background:#e9e2d6}.success-icon{background:#ead5dd}.summary .divider{font-size:12px}
@media(max-width:800px){.top{padding:23px 5%}.brand{font-size:22px}.container{padding-top:32px}.intro p{font-size:13px}.steps{gap:14px;justify-content:space-between}.step{font-size:11px;gap:6px}.step b{width:25px;height:25px}.layout{gap:25px}.services{gap:10px}.service{padding:18px;min-height:145px}.service[aria-pressed=true]{padding:17px}.service .name{font-size:16px;padding-right:20px}.service .note{font-size:11px}.radio{right:12px}.date{padding:14px 3px}.date span{font-size:9px}.date small{font-size:7px}.nextbar{flex-wrap:wrap;gap:12px}.nextbar p{max-width:none;flex-basis:100%;margin:0}.nextbar .button{width:100%}.summary{padding:25px}.summary h2{font-size:25px}.booking-help{margin:20px 5% 0;padding:20px}.wax-addon{gap:10px;padding:16px}.wax-addon small{font-size:11px}.wax-addon b{font-size:10px}.consent-banner{max-height:65vh}.foot{align-items:flex-start}.back{font-size:11px}}
/* Burgundy and warm ivory identity across the public site and bookings. */
:root{--red:#78243e;--ink:#2b141d;--paper:#f7f5ef;--grey:#67575d;--line:#dccdd0}.top{background:#2b141d}.brand i{color:#e5bdc4}.demo{background:#efe2e4}.service{background:#f3e9eb;border-color:#dccdd0;border-radius:8px}.service[aria-pressed=true]{background:#f2e0e6}.service:hover{background:#f2e0e6}.summary{background:#4c1b2d;border-radius:10px}.summary h2{font-size:30px}.button{border-radius:4px;background:#4c1b2d;border-color:#4c1b2d}.button:not(:disabled):hover{background:#79304a}h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,64px);font-weight:normal}h1 em{color:#78243e}.date,.time{border-radius:5px;background:#fff}.date[aria-pressed=true]{background:#4c1b2d}.time[aria-pressed=true]{background:#78243e}.field input{border-radius:4px}.booking-help{background:#efe2e4}.success-card{background:#efe2e4;border-radius:8px}.wax-addon{border-radius:5px}.wax-addon:has(input:checked){background:#f2e0e6}.steps{margin-bottom:24px}.consent-banner{border-top-color:#78243e}
/* Booking usability and identity, October 2026. */
.skip{position:absolute;top:-150px;left:12px;z-index:200;padding:15px;background:#f7f5ef;color:#2b141d}.skip:focus{top:12px}.booking-trust{display:flex;flex-wrap:wrap;gap:12px 26px;padding:0 0 24px;font-size:11px;color:#78243e}.booking-trust span:before{content:'✓';margin-right:8px}.booking-trust a{text-decoration:underline;text-underline-offset:3px}.availability-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.availability-tools>span{font-size:11px;color:var(--grey);white-space:nowrap}.availability-tools .plain{color:#67213a}.availability-message{font-size:13px;line-height:1.8;padding:14px 18px;background:#efe2e4;border-left:3px solid #78243e}.times[aria-busy=true]{min-height:55px;background:linear-gradient(90deg,#ead9df,#faf4f3,#ead9df);border-radius:4px}.summary a{text-decoration:underline;text-underline-offset:3px}.success-actions{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px}.success-actions .button{margin:0}.success #restart{background:transparent;color:var(--ink);border-color:var(--line);margin-top:26px}.success #restart:hover{background:#efe2e4}.field input:focus{border-color:var(--red)}.service .name{font-weight:600}.summary-note{color:#ebd5dd}.status-dot{background:#e5bdc4}.form-error{scroll-margin-top:25px}.foot a{text-decoration:underline;text-underline-offset:3px}#confirm:disabled{cursor:wait}.panel{scroll-margin-top:24px}button:disabled{opacity:.65}.time:focus-visible,.date:focus-visible{outline:3px solid #78243e;outline-offset:3px}
@media(max-width:800px){.intro h1{font-size:46px;line-height:1.08}.booking-trust{font-size:10px;gap:10px 17px;padding-bottom:20px}.availability-tools{align-items:flex-start}.availability-tools .plain{font-size:12px;text-align:left}.availability-tools>span{margin-top:14px;font-size:10px}.service .name{font-size:15px}.service .note{font-size:11px}.steps{gap:9px}.step{font-size:10px}.summary{border-radius:6px}.success-actions .button{width:100%;text-align:center}.consent-banner{bottom:12px}}
@media(max-width:370px){.intro h1{font-size:40px}.service{padding:14px;min-height:150px}.service[aria-pressed=true]{padding:13px}.service .name{font-size:14px}.steps{gap:6px}.step{font-size:9px}.step b{width:22px;height:22px}.availability-tools{flex-direction:column;gap:0}.availability-tools>span{margin-top:0}}

/* Burgundy confirmation, focus, and selected states. */
.top{background:#3c1725}.button{background:#78243e;border-color:#78243e}.button:not(:disabled):hover{background:#963550;border-color:#963550}.success-icon{background:#ecd9df;color:#70263e}.date[aria-pressed=true]{background:#5c1d34;border-color:#5c1d34}.time[aria-pressed=true]{background:#78243e;border-color:#78243e}.button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#ae4f6c}.brand i{color:#e5bdc4}

/* Early appointments first, with every other available time one tap away. */
.recommended-times{margin-top:18px;padding:22px;background:#efe2e7;border-radius:8px}
.recommended-times h3{font-size:16px;font-weight:500;margin:0 0 7px;color:#78243e}
.recommended-times>p{font-size:13px;line-height:1.7;margin:0;color:var(--grey)}
.recommended-times .times{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px}
.recommended-times .time{font-size:17px;min-height:52px;font-variant-numeric:tabular-nums}
.toggle-times{display:block;width:100%;text-align:center;color:#78243e;padding:16px 6px;text-underline-offset:4px}
.more-times{padding-bottom:6px}
.more-times h3{font-size:13px;font-weight:500;color:var(--grey);margin:19px 0 12px;line-height:1.6}
.more-times .times{margin-top:0}
#slot-options[aria-busy=true]{min-height:90px;margin-top:18px;background:#efe2e7;border-radius:8px}
@media(max-width:800px){.recommended-times{padding:20px 16px}.recommended-times h3{font-size:15px}.recommended-times>p{font-size:12px}.recommended-times .times{gap:8px}.more-times .times{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Use laptop width for service, availability and summary side by side. */
@media(min-width:1100px){
 .top{padding:14px 3%}.demo{padding:8px 3%}.container{max-width:1440px;padding:18px 3% 24px}
 .intro{margin-bottom:10px}.intro h1{font-size:30px;line-height:1.15;margin:6px 0}.intro h1 br{display:none}.intro p{margin:6px 0;font-size:12px;max-width:none}
 .booking-trust{padding-bottom:8px}.steps{padding:10px 0;margin-bottom:14px}.layout{grid-template-columns:minmax(0,1fr) 230px;gap:22px}
 #choose-panel{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:12px 24px}
 #choose-panel>.nextbar{grid-column:1/-1;margin-top:6px;padding-top:12px}
 .panel h2,.booking-availability>h2{margin:0 0 8px!important;font-size:22px}
 .sub{font-size:12px;line-height:1.5;margin:0 0 12px}.services{gap:8px}
 .service{min-height:100px;padding:14px}.service[aria-pressed=true]{padding:13px}.service .name{font-size:14px}.service .note{font-size:11px}.service .duration{margin-top:8px}
 .wax-addon{padding:12px;margin-top:12px}.wax-addon strong{font-size:13px}.combo-note{margin:8px 0;font-size:11px}
 .summary{padding:20px;top:14px}.summary h2{font-size:23px}.summary dl>div{padding:10px 0}
 .availability-tools{margin-top:0}.calendar-head{margin:8px 0}.date{padding:8px 2px;min-height:54px}
 .time{padding:8px 3px;min-height:36px;font-size:12px}.times{gap:6px}.slot-title{margin:10px 0;font-size:12px}
 .recommended-times{padding:12px}.recommended-times h3,.more-times h3{font-size:13px}.recommended-times p{font-size:11px;margin:4px 0 8px}
 .live:empty{display:none}.nextbar .button{padding:12px 20px;min-height:44px}
 .field input{padding:11px}.check{font-size:12px;margin:12px 0}.review{padding:14px}.success{padding:12px}
}

/* Mobile booking audit: comfortable targets, visible pricing contact and field feedback. */
.arrow{min-width:44px;width:44px;min-height:44px}
.plain{min-width:44px}.time{min-height:44px}
.top .brand{display:inline-block;min-height:44px}.top .back{display:inline-flex;align-items:center;min-height:44px}
.booking-trust a,.price-note a,.summary-note a,.foot a,.foot .consent-settings{display:inline-flex;align-items:center;min-height:44px}
.price-note{margin:0 0 14px;font-size:12px;line-height:1.7;color:var(--grey)}
.price-note a{color:var(--red);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.field .field-error{color:#a72420;font-size:12px;font-weight:600;line-height:1.6}
#form-error{scroll-margin:24px;outline-offset:6px}
#booking-privacy>summary{min-height:44px;align-content:center;cursor:pointer}
@media(max-width:370px){.dates{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.date{min-width:44px;padding:12px 3px}.date small{font-size:8px}}
