:where(:root){--booking-section-bg: transparent;--booking-section-pad-block: 4rem;--booking-section-pad-block-sm: 5rem;--booking-measure: 56rem;--booking-card-bg: #ffffff;--booking-card-border: 1px solid color-mix(in srgb, var(--ink, #0f1115) 12%, white);--booking-card-radius: var(--radius, 1rem);--booking-card-shadow: 0 1px 2px rgba(15, 17, 21, .04), 0 12px 32px -18px rgba(15, 17, 21, .22);--booking-card-pad: 1.5rem;--booking-card-pad-sm: 2rem;--booking-accent: var(--brand-deep, #1f2937);--booking-accent-ink: #ffffff;--booking-accent-soft: color-mix(in srgb, var(--booking-accent) 10%, white);--booking-focus-ring: color-mix(in srgb, var(--booking-accent) 45%, transparent);--booking-heading-size: 1.875rem;--booking-heading-size-sm: 2.25rem;--booking-heading-weight: 700;--booking-heading-tracking: -.02em;--booking-panel-gap: 1.75rem;--booking-times-width: 17rem;--booking-divider: 1px solid color-mix(in srgb, var(--ink, #0f1115) 10%, white);--booking-nav-size: 2.25rem;--booking-nav-ink: var(--ink, #0f1115);--booking-nav-hover-bg: color-mix(in srgb, var(--ink, #0f1115) 6%, white);--booking-nav-radius: 999px;--booking-month-size: 1.05rem;--booking-month-weight: 650;--booking-month-color: var(--ink, #0f1115);--booking-weekday-size: .7rem;--booking-weekday-color: var(--ink-soft, #5b616e);--booking-cell-gap: .3rem;--booking-day-size: 2.75rem;--booking-day-radius: .6rem;--booking-day-size-num: .9rem;--booking-day-ink: var(--ink, #0f1115);--booking-day-muted-ink: color-mix(in srgb, var(--ink, #0f1115) 32%, white);--booking-day-available-bg: color-mix(in srgb, var(--booking-accent) 15%, white);--booking-day-available-ink: var(--ink, #0f1115);--booking-day-available-weight: 700;--booking-day-hover-bg: color-mix(in srgb, var(--booking-accent) 26%, white);--booking-day-selected-bg: var(--booking-accent);--booking-day-selected-ink: var(--booking-accent-ink);--booking-day-today-outline: 1.5px solid color-mix(in srgb, var(--booking-accent) 55%, white);--booking-day-dot: var(--booking-accent);--booking-group-heading-size: .72rem;--booking-group-heading-color: var(--ink-soft, #5b616e);--booking-timepanel-heading-size: 1rem;--booking-timepanel-heading-weight: 650;--booking-slot-bg: #ffffff;--booking-slot-ink: var(--ink, #0f1115);--booking-slot-border: 1px solid color-mix(in srgb, var(--booking-accent) 30%, white);--booking-slot-radius: var(--radius, .6rem);--booking-slot-hover-bg: color-mix(in srgb, var(--booking-accent) 10%, white);--booking-slot-hover-border: 1px solid var(--booking-accent);--booking-slot-min-h: 2.75rem;--booking-slot-min-w: 4.75rem;--booking-slot-pad-y: .5rem;--booking-slot-pad-x: .75rem;--booking-slot-size: .9rem;--booking-slot-weight: 600;--booking-tznote-color: var(--ink-soft, #5b616e);--booking-tznote-size: .75rem;--booking-gap: 1rem;--booking-label-size: .8125rem;--booking-label-weight: 600;--booking-label-color: var(--ink, #0f1115);--booking-input-bg: #ffffff;--booking-input-radius: var(--radius, .6rem);--booking-input-border: 1px solid color-mix(in srgb, var(--ink, #0f1115) 16%, white);--booking-input-border-focus: var(--booking-accent);--booking-input-pad-y: .625rem;--booking-input-pad-x: .75rem;--booking-input-size: .95rem;--booking-summary-bg: color-mix(in srgb, var(--booking-accent) 7%, white);--booking-summary-border: 1px solid color-mix(in srgb, var(--booking-accent) 22%, white);--booking-summary-radius: var(--radius, .6rem);--booking-summary-label-color: color-mix(in srgb, var(--ink, #0f1115) 78%, white);--booking-summary-value-color: var(--ink, #0f1115);--booking-submit-bg: var(--booking-accent);--booking-submit-ink: var(--booking-accent-ink);--booking-submit-radius: var(--radius, .6rem);--booking-submit-pad-y: .75rem;--booking-submit-pad-x: 1.5rem;--booking-submit-weight: 600;--booking-link-color: var(--booking-accent);--booking-resource-bg: color-mix(in srgb, var(--ink, #0f1115) 3%, white);--booking-resource-border: 1px solid color-mix(in srgb, var(--ink, #0f1115) 10%, white);--booking-resource-radius: var(--radius, .6rem);--booking-resource-name-size: 1.05rem;--booking-resource-name-weight: 650;--booking-resource-meta-color: var(--ink-soft, #5b616e);--booking-confirmed-bg: color-mix(in srgb, var(--booking-accent) 8%, white);--booking-confirmed-border: 1px solid color-mix(in srgb, var(--booking-accent) 25%, white);--booking-confirmed-radius: var(--radius, .6rem);--booking-confirmed-badge-bg: var(--booking-accent);--booking-confirmed-badge-ink: var(--booking-accent-ink);--booking-ok-ink: color-mix(in srgb, var(--booking-accent) 70%, var(--ink, #0f1115));--booking-err-ink: #b42318;--booking-skeleton-bg: color-mix(in srgb, var(--ink, #0f1115) 8%, white);--booking-preview-ink: var(--ink-soft, #5b616e)}@media(max-width:480px){:where(:root){--booking-cell-gap: .2rem;--booking-card-pad: 1.15rem}}.booking-section{background-color:var(--booking-section-bg);padding-block:var(--booking-section-pad-block)}@media(min-width:640px){.booking-section{padding-block:var(--booking-section-pad-block-sm)}}.booking-measure{max-width:var(--booking-measure)}.booking-title{margin-top:.5rem;font-size:var(--booking-heading-size);font-weight:var(--booking-heading-weight);letter-spacing:var(--booking-heading-tracking);color:var(--ink, #0f1115)}@media(min-width:640px){.booking-title{font-size:var(--booking-heading-size-sm)}}.booking-intro{margin-top:.75rem;color:var(--ink-soft, #5b616e);font-size:1.05rem}.booking-resources{margin-top:2rem;display:flex;flex-direction:column;gap:.75rem}.booking-resource{background:var(--booking-resource-bg);border:var(--booking-resource-border);border-radius:var(--booking-resource-radius);padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.3rem}.booking-resource-name{margin:0;font-size:var(--booking-resource-name-size);font-weight:var(--booking-resource-name-weight);color:var(--ink, #0f1115)}.booking-resource-meta{margin:0;font-size:.85rem;color:var(--booking-resource-meta-color)}.booking-resource-desc{margin:0;font-size:.95rem;line-height:1.5;color:var(--ink-soft, #5b616e)}.booking-card{margin-top:2rem;background:var(--booking-card-bg);border:var(--booking-card-border);border-radius:var(--booking-card-radius);box-shadow:var(--booking-card-shadow);padding:var(--booking-card-pad)}@media(min-width:640px){.booking-card{padding:var(--booking-card-pad-sm)}}.booking-loading,.booking-preview-notice{margin:0;color:var(--ink-soft, #5b616e);font-size:.95rem}.booking-scheduler{display:grid;grid-template-columns:1fr;gap:var(--booking-panel-gap)}@media(min-width:720px){.booking-scheduler{grid-template-columns:minmax(0,1fr) var(--booking-times-width);align-items:start}}.booking-resourcebar{display:flex;flex-direction:column;gap:.375rem}@media(min-width:720px){.booking-resourcebar{grid-column:1 / -1}}.booking-cal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.booking-cal-month{margin:0;flex:1 1 auto;text-align:center;font-size:var(--booking-month-size);font-weight:var(--booking-month-weight);color:var(--booking-month-color);text-transform:capitalize}.booking-cal-nav{flex:none;width:var(--booking-nav-size);height:var(--booking-nav-size);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--booking-nav-radius);color:var(--booking-nav-ink);font-family:inherit;font-size:1.2rem;line-height:1;cursor:pointer;transition:background-color .15s ease}.booking-cal-nav:hover:not(:disabled){background:var(--booking-nav-hover-bg)}.booking-cal-nav:disabled{opacity:.32;cursor:default}.booking-cal-nav:focus-visible{outline:none;box-shadow:0 0 0 3px var(--booking-focus-ring)}.booking-cal-nav-glyph{pointer-events:none}.booking-cal-grid{display:flex;flex-direction:column;gap:var(--booking-cell-gap)}.booking-cal-weekdays,.booking-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--booking-cell-gap)}.booking-cal-weekday{text-align:center;font-size:var(--booking-weekday-size);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--booking-weekday-color);padding-bottom:.25rem}.booking-day{position:relative;min-height:var(--booking-day-size);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:none;border-radius:var(--booking-day-radius);color:var(--booking-day-ink);font-family:inherit;font-size:var(--booking-day-size-num);padding:0}.booking-day-num{line-height:1}.booking-day-dot{width:5px;height:5px;border-radius:999px;background:var(--booking-day-dot)}.booking-day--blank{visibility:hidden}.booking-day--muted{color:var(--booking-day-muted-ink);cursor:default}.booking-day--available{background:var(--booking-day-available-bg);color:var(--booking-day-available-ink);font-weight:var(--booking-day-available-weight);cursor:pointer;transition:background-color .15s ease,transform .1s ease}.booking-day--available:hover{background:var(--booking-day-hover-bg)}.booking-day--available:active{transform:translateY(1px)}.booking-day--available:focus-visible{outline:none;box-shadow:0 0 0 3px var(--booking-focus-ring)}.booking-day--today{outline:var(--booking-day-today-outline);outline-offset:-1.5px}.booking-day--selected,.booking-day--selected:hover{background:var(--booking-day-selected-bg);color:var(--booking-day-selected-ink)}.booking-day--selected .booking-day-dot{background:var(--booking-day-selected-ink)}.booking-day--skeleton{background:var(--booking-skeleton-bg);animation:booking-shimmer 1.2s ease-in-out infinite}@keyframes booking-shimmer{0%,to{opacity:.5}50%{opacity:1}}.booking-cal-error{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.booking-timepanel{border-top:var(--booking-divider);padding-top:1.25rem}@media(min-width:720px){.booking-timepanel{border-top:none;padding-top:0;border-left:var(--booking-divider);padding-left:var(--booking-panel-gap)}}.booking-timepanel-heading{margin:0 0 .85rem;font-size:var(--booking-timepanel-heading-size);font-weight:var(--booking-timepanel-heading-weight);color:var(--ink, #0f1115);text-transform:capitalize}.booking-timepanel-heading:focus-visible{outline:none}.booking-timepanel-empty{margin:0;color:var(--ink-soft, #5b616e);font-size:.95rem;line-height:1.5}.booking-timegroup{margin-bottom:1.1rem}.booking-timegroup-heading{margin:0 0 .5rem;font-size:var(--booking-group-heading-size);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--booking-group-heading-color)}.booking-timegroup-pills{display:flex;flex-wrap:wrap;gap:.5rem}.booking-slot{min-height:var(--booking-slot-min-h);min-width:var(--booking-slot-min-w);display:inline-flex;align-items:center;justify-content:center;background:var(--booking-slot-bg);color:var(--booking-slot-ink);border:var(--booking-slot-border);border-radius:var(--booking-slot-radius);padding:var(--booking-slot-pad-y) var(--booking-slot-pad-x);font-size:var(--booking-slot-size);font-weight:var(--booking-slot-weight);font-family:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.booking-slot:hover{background:var(--booking-slot-hover-bg);border:var(--booking-slot-hover-border)}.booking-slot:active{transform:translateY(1px)}.booking-slot:focus-visible{outline:none;box-shadow:0 0 0 3px var(--booking-focus-ring)}.booking-tznote{margin:.75rem 0 0;font-size:var(--booking-tznote-size);color:var(--booking-tznote-color)}.booking-form-wrap{display:flex;flex-direction:column;gap:.85rem}.booking-form-wrap[hidden]{display:none}.booking-summary{display:flex;flex-direction:column;gap:.15rem;background:var(--booking-summary-bg);border:var(--booking-summary-border);border-radius:var(--booking-summary-radius);padding:.85rem 1rem}.booking-summary-label{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--booking-summary-label-color)}.booking-summary-value{font-size:1.02rem;font-weight:600;color:var(--booking-summary-value-color)}.booking-form-heading{margin:.15rem 0 0;font-size:1.15rem;font-weight:650;color:var(--ink, #0f1115)}.booking-form{display:flex;flex-direction:column;gap:var(--booking-gap);margin-top:.25rem}.booking-field{display:flex;flex-direction:column;gap:.375rem}.booking-label{font-size:var(--booking-label-size);font-weight:var(--booking-label-weight);color:var(--booking-label-color)}.booking-input,.booking-select{width:100%;background:var(--booking-input-bg);color:var(--ink, #0f1115);border:var(--booking-input-border);border-radius:var(--booking-input-radius);padding:var(--booking-input-pad-y) var(--booking-input-pad-x);font-size:var(--booking-input-size);font-family:inherit}.booking-input:focus-visible,.booking-select:focus-visible{outline:none;border-color:var(--booking-input-border-focus);box-shadow:0 0 0 3px var(--booking-focus-ring)}textarea.booking-input{resize:vertical}.booking-consent-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.booking-consent-check{margin-top:.2rem;flex:none;width:1.05rem;height:1.05rem;accent-color:var(--booking-accent)}.booking-consent-text{font-size:.9rem;color:var(--ink-soft, #5b616e);line-height:1.45}.booking-consent-link{color:var(--booking-link-color);text-decoration:underline}.booking-submit{align-self:flex-start;margin-top:.25rem;min-height:2.75rem;background:var(--booking-submit-bg);color:var(--booking-submit-ink);border:none;border-radius:var(--booking-submit-radius);padding:var(--booking-submit-pad-y) var(--booking-submit-pad-x);font-weight:var(--booking-submit-weight);font-size:.95rem;font-family:inherit;cursor:pointer;transition:filter .2s ease,transform .1s ease}.booking-submit:hover{filter:brightness(1.06)}.booking-submit:active{transform:translateY(1px)}.booking-submit:disabled{opacity:.6;cursor:progress}.booking-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--booking-focus-ring)}.booking-link{align-self:flex-start;background:transparent;border:none;padding:0;color:var(--booking-link-color);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer}.booking-link:hover{text-decoration:underline}.booking-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--booking-focus-ring);border-radius:4px}.booking-back:before{content:"←";margin-right:.35rem}.booking-status{margin:.5rem 0 0;font-size:.9rem;color:var(--ink-soft, #5b616e)}.booking-status--ok{color:var(--booking-ok-ink)}.booking-status--err{color:var(--booking-err-ink)}.booking-banner{margin:0 0 1rem}.booking-confirmed{background:var(--booking-confirmed-bg);border:var(--booking-confirmed-border);border-radius:var(--booking-confirmed-radius);padding:1.75rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.booking-confirmed-badge{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--booking-confirmed-badge-bg);color:var(--booking-confirmed-badge-ink)}.booking-confirmed-check{font-size:1.25rem;line-height:1}.booking-confirmed-heading{margin:.25rem 0 0;font-size:1.25rem;font-weight:700;color:var(--ink, #0f1115)}.booking-confirmed-body{margin:0;color:var(--ink, #0f1115);line-height:1.5}.booking-confirmed-email{margin:0;color:var(--ink-soft, #5b616e);line-height:1.5;font-size:.95rem}.booking-confirmed-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.booking-ics{display:inline-flex;align-items:center;min-height:2.5rem;padding:.5rem 1rem;border:1px solid color-mix(in srgb,var(--booking-accent) 40%,white);border-radius:var(--booking-submit-radius);color:var(--booking-link-color);font-size:.9rem;font-weight:600;text-decoration:none}.booking-ics:hover{background:color-mix(in srgb,var(--booking-accent) 8%,white)}.booking-ics:focus-visible{outline:none;box-shadow:0 0 0 3px var(--booking-focus-ring)}.booking-preview{color:var(--booking-preview-ink)}.booking-preview .booking-preview-notice{font-size:1rem;color:var(--booking-preview-ink)}.booking-preview-hours-heading{margin:1.25rem 0 .5rem;font-size:.9rem;font-weight:650;color:var(--ink, #0f1115)}.booking-hours{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.booking-hours-row{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;max-width:22rem}.booking-hours-day{color:var(--ink, #0f1115);text-transform:capitalize}.booking-hours-time{color:var(--ink-soft, #5b616e)}@media(prefers-reduced-motion:reduce){.booking-day--available,.booking-slot,.booking-submit,.booking-cal-nav{transition:none}.booking-day--skeleton{animation:none}}
