.booking-page[data-booking-template=studio-edit] .booking{--booking-radius:0}.booking-page[data-booking-template=studio-edit] .booking-page-head{border-bottom:1px solid var(--c-border);padding-bottom:2rem}.booking-page[data-booking-template=studio-edit] h1{letter-spacing:-.04em;font-style:italic;font-weight:400}@media (width>=900px){.booking-page[data-booking-template=studio-edit] .booking{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr);gap:clamp(3rem,5vw,5rem)}}.booking-page[data-booking-template=express-studio] .booking{--booking-radius:0}.booking-page[data-booking-template=express-studio] .booking-page-head{background:var(--c-primary);color:var(--c-on-primary);padding:clamp(1.25rem,3vw,2rem)}.booking-page[data-booking-template=express-studio] h1{letter-spacing:-.035em;font-weight:600}@media (width>=900px){.booking-page[data-booking-template=express-studio] .booking{gap:2rem}.booking-page[data-booking-template=express-studio] .booking-summary{max-height:calc(100dvh - 8rem);overflow-y:auto}}.booking-page[data-booking-template=ritual-house] .booking{--booking-radius:.75rem}.booking-page[data-booking-template=ritual-house] .booking-page-head{text-align:center}.booking-page[data-booking-template=ritual-house] h1{letter-spacing:-.02em;font-weight:400}@media (width>=900px){.booking-page[data-booking-template=ritual-house] .shell{max-width:56rem}.booking-page[data-booking-template=ritual-house] .booking{grid-template-columns:minmax(0,1fr)}.booking-page[data-booking-template=ritual-house] .booking-summary{position:static}}.booking{--booking-radius:var(--control-radius,.5rem);grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);min-width:0;display:grid}.booking>*,.booking-main>*,.booking-form>*{min-width:0}.booking [hidden]{display:none!important}.booking-main{grid-template-columns:minmax(0,1fr);align-content:start;gap:1rem;display:grid}.booking-steps{border-bottom:1px solid var(--c-border);flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0 0 1rem;font-size:.85rem;font-weight:600;list-style:none;display:flex}.booking-steps li{align-items:center;gap:.5rem;display:inline-flex}@media (width<=479px){.booking-steps{gap:.5rem 1rem}.booking-steps li:not([aria-current]) .booking-step-label{display:none}}.booking-step-number{border:1px solid;border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;font-size:.8rem;display:inline-grid}.booking-steps li[aria-current=step] .booking-step-number,.booking-steps li[data-done] .booking-step-number{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.booking-title{margin:.5rem 0 0;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15}.booking-label{margin:0;font-weight:600}.booking-loading,.booking-empty{margin:0}.booking-note{border:1px solid var(--c-border);border-radius:var(--booking-radius);background:var(--c-surface-alt);color:var(--c-on-surface-alt);padding:1.25rem}.booking-note p{margin:0}.booking-note p+p{margin-top:.5rem}.booking-note a,.booking-or a{color:inherit;text-underline-offset:.2em}.booking-services{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@media (width>=640px){.booking-services{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-service{border:1px solid var(--c-muted);border-radius:var(--booking-radius);background:var(--c-surface);min-height:44px;color:var(--c-on-surface);font:inherit;text-align:left;cursor:pointer;gap:.3rem;padding:1rem 1.15rem;transition:border-color .16s,box-shadow .16s;display:grid}.booking-service:hover{border-color:var(--c-primary);box-shadow:0 .4rem 1rem color-mix(in srgb, var(--c-on-surface) 10%, transparent)}.booking-service-name{font-family:var(--font-heading);overflow-wrap:anywhere;font-size:1.15rem;font-weight:600}.booking-service-meta{font-size:.9rem}.booking-service-chosen{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0;font-weight:600;display:flex}.booking-pick{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.booking-week{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.booking-week-label{text-align:center;margin:0;font-weight:600}.booking-week-button{border:1px solid var(--c-muted);background:var(--c-surface);width:44px;height:44px;color:var(--c-on-surface);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:inline-grid}.booking-week-button:disabled{cursor:not-allowed;opacity:.45}.booking-chevron{border-top:2px solid;border-right:2px solid;width:.55rem;height:.55rem;transform:rotate(45deg)translate(-.1rem,.1rem)}.booking-chevron-back{transform:rotate(-135deg)translate(-.1rem,.1rem)}.booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.booking-day{border:1px solid var(--c-muted);border-radius:var(--booking-radius);background:var(--c-surface);min-width:0;min-height:56px;color:var(--c-on-surface);font:inherit;cursor:pointer;justify-items:center;gap:.1rem;padding:.45rem .15rem;display:grid}@media (width<=420px){.booking-days{gap:.2rem}}.booking-day-weekday{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.booking-day-date{white-space:nowrap;font-size:.8rem}.booking-day:disabled{cursor:not-allowed;opacity:.55;background:0 0;border-style:dashed}.booking-day[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.booking-times{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.booking-time-group{gap:.5rem;display:grid}.booking-time-group-label{margin:0;font-size:.85rem;font-weight:600}.booking-time-list{grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.5rem;display:grid}.booking-time,.booking-change{border:1px solid var(--c-muted);border-radius:var(--booking-radius);background:var(--c-surface);min-width:44px;min-height:44px;color:var(--c-on-surface);font:inherit;cursor:pointer;white-space:nowrap;padding:.5rem .85rem;font-weight:600}.booking-time:hover,.booking-day:not(:disabled):hover,.booking-week-button:not(:disabled):hover{border-color:var(--c-primary)}.booking-change{justify-self:start;font-weight:500}.booking :is(.booking-day,.booking-time,.booking-change,.booking-service,.booking-week-button,.booking-submit,.booking-home,a):focus-visible{outline:3px solid var(--c-accent);outline-offset:3px}.booking-form{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.booking-chosen{margin:0;font-weight:600}.booking-fields{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (width>=640px){.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field-wide{grid-column:1/-1}}.booking-field{gap:.35rem;min-width:0;display:grid}.booking-field label{font-size:.85rem;font-weight:600}.booking-form input,.booking-form textarea{border:1px solid var(--c-muted);border-radius:var(--booking-radius);width:100%;min-height:44px;font:inherit;background:var(--c-surface);color:var(--c-on-surface);padding:.75rem}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--c-primary);outline:3px solid color-mix(in srgb, var(--c-primary) 25%, transparent);outline-offset:1px}.booking-honeypot{display:none}.booking-submit,.booking-home{border:2px solid var(--c-primary);border-radius:var(--booking-radius);background:var(--c-primary);min-width:44px;min-height:50px;color:var(--c-on-primary);font:inherit;cursor:pointer;justify-content:center;justify-self:start;align-items:center;padding:.8rem 1.75rem;font-weight:600;text-decoration:none;display:inline-flex}.booking-submit:disabled{cursor:not-allowed;opacity:.6}.booking-error{border:2px solid var(--c-accent);border-radius:var(--booking-radius);background:var(--c-surface);color:var(--c-on-surface);margin:0;padding:.9rem 1rem;font-weight:600}.booking-done{border:1px solid var(--c-border);border-radius:var(--booking-radius);background:var(--c-surface-alt);color:var(--c-on-surface-alt);gap:1rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.booking-done-title{font-family:var(--font-heading);margin:0;font-size:1.35rem;font-weight:600}.booking-or{margin:.5rem 0 0;font-size:.9rem}.booking-summary{border-radius:var(--booking-radius);background:var(--c-surface-alt);min-width:0;color:var(--c-on-surface-alt);gap:.75rem;padding:clamp(1.25rem,3vw,1.75rem);display:grid}.booking-summary-title{font-family:var(--font-heading);margin:0;font-size:1.2rem;font-weight:600}.booking-summary-line{margin:0;display:none}.booking-summary-list{gap:.85rem;margin:0;display:grid}.booking-summary-list>div{border-top:1px solid var(--c-border);gap:.15rem;padding-top:.85rem;display:grid}.booking-summary-list dt{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.booking-summary-list dd{overflow-wrap:anywhere;margin:0;font-weight:600}.booking-summary-address{border-top:1px solid var(--c-border);margin:0;padding-top:.85rem;font-size:.9rem}@media (width>=900px){.booking{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem)}.booking-summary{position:sticky;top:7rem}}@media (width<=899px){.booking-summary{z-index:40;padding:.7rem var(--page-gutter,1.25rem) calc(.7rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--c-border);background:var(--c-surface);color:var(--c-on-surface);box-shadow:0 -.4rem 1rem color-mix(in srgb, var(--c-on-surface) 8%, transparent);border-radius:0;gap:.15rem;position:fixed;inset:auto 0 0}.booking-summary-title{letter-spacing:.04em;text-transform:uppercase;font-family:inherit;font-size:.75rem}.booking-summary-line{overflow-wrap:anywhere;font-weight:600;display:block}.booking-summary-list,.booking-summary-address{display:none}}@media (prefers-reduced-motion:reduce){.booking-service{transition:none}}.booking-page[data-astro-cid-d3yk5u5i]{background:var(--c-surface);color:var(--c-on-surface);padding-block:clamp(1rem,2.5vw,2rem) clamp(2.5rem,6vw,5rem)}.booking-page-head[data-astro-cid-d3yk5u5i]{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.booking-page-business[data-astro-cid-d3yk5u5i]{margin:0 0 .5rem;font-weight:600}.booking-page[data-astro-cid-d3yk5u5i] h1[data-astro-cid-d3yk5u5i]{margin:0;font-size:clamp(2.2rem,5vw,3.75rem);line-height:1.05}@media (width<=899px){.booking-page[data-astro-cid-d3yk5u5i]{padding-bottom:7rem}}
