:root{--ink:#0d1714;--surface:#f2efe7;--white:#fff;--blue:#173aee;--signal:#cbff3d;--muted:#52605b;--line:#c9c7bf;--field-line:#9da6a2;--error-bg:#ffe0da;--error-ink:#8f2d1f}*{box-sizing:border-box}.bookingPage,.bookingInvalid{background:var(--surface);width:100%;min-height:100svh;color:var(--ink);font-family:var(--font-ui);overflow-x:clip}.bookingPage{grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);display:grid}.bookingPage>*{min-width:0}.bookingPage>aside{background:var(--ink);min-height:100svh;color:var(--white);flex-direction:column;justify-content:flex-start;gap:clamp(80px,16vh,180px);padding:clamp(38px,5vw,78px);display:flex;position:sticky;top:0}.bookingBrand{width:190px;max-width:54vw;height:auto;display:block}.bookingIntro{max-width:570px}.bookingPage h1{font-family:var(--font-display);letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:clamp(42px,4.5vw,72px);line-height:.96}.bookingPicker{padding:clamp(36px,6vw,96px)}.bookingPickerInner{width:min(100%,760px);margin:0 auto}.bookingPicker h2{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:32px;line-height:1.08}.availabilityControls{border:1px solid var(--line);background:#ffffff85;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);gap:12px;margin-top:42px;padding:22px;display:grid}.availabilityControls label,.bookingPicker form>label{color:#24312d;font-size:12px;font-weight:800}.availabilityControls label>span{margin-bottom:8px;display:block}.availabilityControls select,.bookingPicker input{border:1px solid var(--field-line);background:var(--white);width:100%;min-height:52px;color:var(--ink);font:inherit;touch-action:manipulation;border-radius:0;font-size:15px}.availabilityControls select{cursor:pointer;text-overflow:ellipsis;padding:0 42px 0 14px}.availabilityControls select:hover,.bookingPicker input:hover{border-color:var(--ink)}.availabilityControls select:focus-visible,.bookingPicker input:focus-visible,.bookingPicker form button:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:2px;border-color:var(--blue)}.bookingSelection{border-bottom:1px solid var(--line);padding:20px 0}.bookingSelection strong{overflow-wrap:anywhere;font-size:19px}.bookingPicker form{grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;display:grid}.bookingPicker form>button{grid-column:1/-1}.callPreference{border:0;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;display:grid}.callPreference legend{color:#24312d;margin-bottom:8px;font-size:12px;font-weight:800}.callPreference label{cursor:pointer}.callPreference input{opacity:0;pointer-events:none;position:absolute}.callPreference span{border:1px solid var(--field-line);background:var(--white);justify-content:center;align-items:center;min-height:52px;font-size:14px;font-weight:800;display:flex}.callPreference input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--white)}.callPreference input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:2px}.bookingPicker form>label:nth-of-type(3){grid-column:1/-1}.bookingPicker form label small{color:var(--muted);font-weight:400}.bookingPicker input{margin-top:7px;padding:13px 14px;display:block}.bookingPicker form button{background:var(--blue);min-height:54px;color:var(--white);cursor:pointer;touch-action:manipulation;border:0;margin-top:4px;font-size:15px;font-weight:900;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),background-color .18s}.bookingPicker form button:hover:not(:disabled){box-shadow:0 5px 0 var(--ink);transform:translateY(-2px)}.bookingPicker form button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.bookingPicker form button:disabled{cursor:wait;opacity:.68}.bookingError,.bookingEmpty{margin:36px 0 0;padding:18px}.bookingError{background:var(--error-bg);color:var(--error-ink)}.bookingEmpty{border:1px solid var(--line);background:var(--white);gap:6px;display:grid}.bookingEmpty span{color:var(--muted);line-height:1.5}.bookingSkeleton{border:1px solid var(--line);grid-template-columns:1.35fr .65fr;gap:12px;margin-top:42px;padding:22px;display:grid}.bookingSkeleton span{background:#deddd6;height:52px;animation:1.4s ease-in-out infinite alternate bookingPulse}.bookingSkeleton small{color:var(--muted);grid-column:1/-1}.bookingSuccess{text-align:center;grid-column:1/-1;align-content:center;place-items:center;min-height:100svh;padding:30px;display:grid}.bookingSuccess>i{background:var(--signal);border-radius:50%;place-items:center;width:75px;height:75px;margin:55px auto 25px;font-size:35px;display:grid}.bookingSuccess>p{max-width:560px;color:var(--muted);line-height:1.6}.bookingSuccess h1{max-width:900px}.bookingInvalid{text-align:center;align-content:center;place-items:center;min-height:100vh;padding:30px;display:grid}.bookingInvalid h1{letter-spacing:-.04em;font-size:45px}.bookingInvalid p{color:var(--muted)}@keyframes bookingPulse{0%{opacity:.48}to{opacity:.9}}@media (max-width:920px){.bookingPage{grid-template-columns:1fr}.bookingPage>aside{gap:52px;min-height:auto;position:static}.bookingPickerInner{margin:0}}@media (max-width:620px){.bookingPage{display:block}.bookingPage>aside,.bookingPicker{padding-left:max(22px, env(safe-area-inset-left));padding-right:max(22px, env(safe-area-inset-right))}.bookingPage>aside{padding-top:max(26px, env(safe-area-inset-top));gap:34px;padding-bottom:30px}.bookingBrand{width:165px}.bookingPicker{padding-top:34px;padding-bottom:max(42px, calc(env(safe-area-inset-bottom) + 24px))}.bookingPage h1{margin:0;font-size:40px;line-height:.98}.bookingPicker h2{font-size:27px;line-height:1.1}.availabilityControls,.bookingSkeleton,.bookingPicker form{grid-template-columns:1fr}.availabilityControls{gap:16px;margin-top:30px;padding:16px}.availabilityControls select,.bookingPicker input{min-height:54px;font-size:16px}.availabilityControls select{padding-right:38px}.bookingSelection{padding:18px 0}.bookingSelection strong{font-size:17px;line-height:1.4}.bookingPicker form{gap:18px;margin-top:28px}.bookingPicker form button{min-height:56px;margin-top:0;font-size:16px}.bookingPicker form>label:nth-of-type(3){grid-column:auto}.callPreference{grid-template-columns:1fr}.bookingError,.bookingEmpty{margin-top:28px;padding:16px;line-height:1.5}.bookingSkeleton{margin-top:30px;padding:16px}.bookingSuccess{padding-top:max(30px, env(safe-area-inset-top));padding-right:max(22px, env(safe-area-inset-right));padding-bottom:max(30px, env(safe-area-inset-bottom));padding-left:max(22px, env(safe-area-inset-left))}.bookingSuccess h1,.bookingInvalid h1{font-size:38px;line-height:1}.bookingInvalid{padding-top:max(30px, env(safe-area-inset-top));padding-right:max(22px, env(safe-area-inset-right));padding-bottom:max(30px, env(safe-area-inset-bottom));padding-left:max(22px, env(safe-area-inset-left))}}@media (max-width:360px){.bookingPage>aside,.bookingPicker{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right))}.bookingPage h1{font-size:35px}.bookingPicker h2{font-size:25px}.availabilityControls{margin-left:-4px;margin-right:-4px;padding:14px}}@media (min-width:700px) and (max-width:920px) and (orientation:landscape){.bookingPage{grid-template-columns:minmax(300px,.78fr) minmax(400px,1.22fr)}.bookingPage>aside{gap:28px;min-height:100svh;padding:28px;position:sticky}.bookingPage h1{margin:0;font-size:38px}.bookingPicker{padding:34px 28px}.availabilityControls{grid-template-columns:1fr;margin-top:28px;padding:16px}}@media (pointer:coarse){.availabilityControls select,.bookingPicker input,.bookingPicker form button{min-height:56px}.bookingPicker form button:hover:not(:disabled){box-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.bookingSkeleton span{animation:none}.bookingPicker form button{transition:none}}
