.booking-page{--booking-ink:var(--color-ink);--booking-muted:#68635d;--booking-paper:var(--color-ivory-paper);--booking-bronze-dark:var(--color-bronze-deep)}.booking-hero{background:radial-gradient(circle at 78% 28%, #b08d571f, transparent 28rem), var(--slate-800);border-bottom:1px solid var(--ce-line-strong);padding-block:clamp(9.5rem,15vw,13rem) clamp(4rem,7vw,7rem)}.booking-hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(2.5rem,6vw,7rem);display:grid}.booking-hero__copy{grid-column:1/9}.booking-back{min-height:44px;color:var(--paper-dim);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:clamp(2rem,4vw,3.5rem);font-size:.68rem;font-weight:500;text-decoration:none;display:inline-flex}.booking-back:before{content:"←";color:var(--accent-bright);font-size:1rem}.booking-back:hover{color:var(--paper)}.booking-hero h1{max-width:10ch;margin-bottom:clamp(1.4rem,3vw,2.2rem)}.booking-hero__lede{max-width:61ch;color:var(--paper-dim);margin:0;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.75}.booking-hero__facts{border-top:1px solid var(--accent);grid-column:9/13;margin:0}.booking-hero__facts>div{border-bottom:1px solid var(--ce-line);grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding-block:1rem;display:grid}.booking-hero__facts dt{color:var(--paper-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}.booking-hero__facts dd{color:var(--paper);font-family:var(--serif);text-align:right;margin:0;font-size:1.25rem;line-height:1.1}.booking-preview{color:#17191b;background:#a17e49;padding-block:1rem}.booking-preview .ce-shell{align-items:baseline;gap:1.2rem;display:flex}.booking-preview strong{letter-spacing:.13em;text-transform:uppercase;flex:none;font-size:.67rem;font-weight:700}.booking-preview span{font-size:.78rem;line-height:1.55}.booking-preview--test{background:#b18b50}.booking-workspace{background:var(--booking-paper);color:var(--booking-ink);padding-block:clamp(4.5rem,8vw,8rem)}.booking-workspace__grid{grid-template-columns:minmax(0,2fr) minmax(19rem,.82fr);align-items:start;gap:clamp(3rem,7vw,8rem);display:grid}.booking-flow{min-width:0}.booking-step{border-top:1px solid #292b2d42;padding-block:clamp(2.5rem,5vw,4.5rem)}.booking-step:first-child{border-top-color:var(--booking-bronze-dark);padding-top:0}.booking-step__head{grid-template-columns:3rem minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);margin-bottom:clamp(2rem,4vw,3.25rem);display:grid}.booking-step__head>span{color:var(--booking-bronze-dark);letter-spacing:.12em;padding-top:.35rem;font-size:.66rem;font-weight:600}.booking-step .ce-kicker,.booking-summary .ce-kicker{color:var(--booking-bronze-dark);margin-bottom:.75rem}.booking-step h2{max-width:none;margin-bottom:.9rem;font-size:clamp(2rem,3.2vw,3.15rem)}.booking-step h2:focus-visible{outline:2px solid var(--booking-bronze-dark);outline-offset:.35rem}.booking-step__head p:last-child{max-width:57ch;color:var(--booking-muted);margin-bottom:0;font-size:.88rem;line-height:1.65}.booking-status,.booking-message,.booking-result{border-left:2px solid var(--booking-bronze-dark);color:var(--color-ink-muted);background:#76582f14;margin:0 0 1.5rem;padding:1rem 1.15rem;font-size:.82rem;line-height:1.55}.booking-status--error,.booking-message--error,.booking-result.booking-result--error{color:#6f2929;background:#9b393914;border-left-color:#9b3939}.booking-message--success{color:#385137;background:#5572541a;border-left-color:#557254}.booking-skeleton{grid-template-columns:repeat(auto-fit,minmax(min(5rem,100%),1fr));gap:.65rem;display:grid}.booking-skeleton span{background:linear-gradient(100deg,#292b2d12 30%,#292b2d21 50%,#292b2d12 70%) 0 0/220% 100%;min-height:50px;animation:1.4s linear infinite booking-shimmer}@keyframes booking-shimmer{to{background-position-x:-220%}}.booking-day{border-bottom:1px solid #292b2d29;grid-template-columns:minmax(10rem,.72fr) minmax(0,1.5fr);align-items:center;gap:clamp(1rem,3vw,2.5rem);padding-block:1.15rem;display:grid}.booking-day:first-child{border-top:1px solid #292b2d29}.booking-day h3{color:var(--booking-ink);font-family:var(--sans);letter-spacing:.04em;text-transform:capitalize;margin:0;font-size:.78rem;font-weight:550}.booking-day__choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.booking-slot{min-height:50px;color:var(--booking-ink);font:600 .8rem/1 var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #292b2d47;border-radius:2px;padding:.75rem .8rem;transition:border-color .16s,background-color .16s,color .16s}.booking-slot:hover{border-color:var(--booking-bronze-dark);background:#76582f14}.booking-slot.is-selected{border-color:var(--slate-800);background:var(--slate-800);color:var(--paper)}.booking-slot:disabled{cursor:not-allowed;opacity:.52}.booking-slot.is-selected:disabled{opacity:1}.booking-availability__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;margin-top:1.6rem;display:flex}.booking-availability__actions[hidden],.booking-availability__actions [hidden],.booking-skeleton[hidden],.booking-status[hidden],.booking-result[hidden]{display:none}.booking-text-button,.booking-availability__actions a{min-height:44px;color:var(--booking-bronze-dark);font:600 .68rem/1.4 var(--sans);letter-spacing:.08em;text-underline-offset:.32em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline 1px;display:inline-flex}.booking-text-button:disabled{cursor:wait;opacity:.45}.booking-form fieldset{border:0;gap:1.25rem;min-width:0;margin:0;padding:0;transition:opacity .16s;display:grid}.booking-form fieldset:disabled{opacity:.45}.booking-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.booking-form label{gap:.48rem;min-width:0;display:grid}.booking-form label>span{color:var(--booking-ink);letter-spacing:.035em;font-size:.72rem;font-weight:550}.booking-form label em{color:var(--booking-muted);letter-spacing:.08em;text-transform:uppercase;margin-left:.35rem;font-size:.58rem;font-style:normal;font-weight:400}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-width:0;min-height:50px;color:var(--booking-ink);font:400 .9rem/1.5 var(--sans);background:#ffffff57;border:1px solid #292b2d4d;border-radius:2px;padding:.8rem .9rem}.booking-form textarea{resize:vertical;min-height:7rem}.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible{border-color:var(--booking-bronze-dark);outline-offset:2px;outline:2px solid #76582f38}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#817c75;opacity:1}.booking-form__note{max-width:68ch;color:var(--booking-muted);margin:.4rem 0 0;font-size:.7rem;line-height:1.6}.booking-form__submit{align-items:center;gap:1.3rem;margin-top:.8rem;display:flex}.booking-form__submit .ce-button,.booking-order__actions .ce-button{border-color:var(--slate-800);background:var(--slate-800);color:var(--paper);cursor:pointer;flex:none}.booking-form__submit .ce-button:hover,.booking-order__actions .ce-button:hover{color:var(--slate-800);background:0 0}.booking-form__submit .ce-button:disabled,.booking-order__actions .ce-button:disabled{background:var(--slate-800);color:var(--paper);cursor:wait;opacity:.68}.booking-form__submit p{color:var(--booking-muted);margin:0;font-size:.7rem;line-height:1.5}.booking-result{color:#385137;background:#5572541a;border-left-color:#557254;margin:1.4rem 0 0}.booking-step--payment{opacity:.66;padding-bottom:0;position:relative}.booking-step--payment .booking-step__head{margin-bottom:0}.booking-step--payment[data-state=preparing],.booking-step--payment[data-state=active],.booking-step--payment[data-state=pending],.booking-step--payment[data-state=error],.booking-step--payment[data-state=expired],.booking-step--payment[data-state=confirmed]{opacity:1}.booking-payment{gap:1rem;margin:clamp(1.75rem,4vw,3rem) 0 0 5rem;display:grid}.booking-payment__status,.booking-payment__hold{border-left:2px solid var(--booking-bronze-dark);color:var(--booking-muted);background:#76582f14;margin:0;padding:1rem 1.15rem;font-size:.78rem;line-height:1.55}.booking-payment__status--active{color:#385137;background:#5572541a;border-left-color:#557254}.booking-payment__status--error,.booking-payment__status--expired{color:#6f2929;background:#9b393914;border-left-color:#9b3939}.booking-payment__hold{color:var(--booking-bronze-dark);font-variant-numeric:tabular-nums;background:0 0;border-left:0;padding-block:.7rem;font-weight:600}.booking-payment__checkout{background:#fff;border:1px solid #292b2d2e;border-radius:3px;min-height:26rem;padding:clamp(.4rem,1.5vw,1rem)}.booking-payment__actions{flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}.booking-confirmation{background:#5572541a;border-top:2px solid #557254;margin:clamp(1.75rem,4vw,3rem) 0 0 5rem;padding:clamp(1.6rem,4vw,2.8rem)}.booking-confirmation .ce-kicker{color:#385137}.booking-confirmation h3{color:var(--booking-ink);font-family:var(--serif);margin:0 0 1rem;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400;line-height:1.1}.booking-confirmation>p:not(.ce-kicker){max-width:55ch;color:var(--booking-muted);margin:0;font-size:.86rem;line-height:1.65}.booking-confirmation a{min-height:44px;color:var(--booking-bronze-dark);letter-spacing:.09em;text-underline-offset:.35em;text-transform:uppercase;align-items:center;margin-top:1.4rem;font-size:.66rem;font-weight:600;text-decoration:underline;display:inline-flex}.booking-confirmation:focus-visible{outline-offset:.3rem;outline:2px solid #557254}.booking-payment[hidden],.booking-payment__hold[hidden],.booking-payment__checkout[hidden],.booking-payment__actions [hidden],.booking-confirmation[hidden]{display:none}.booking-step__pending{color:var(--booking-bronze-dark);letter-spacing:.12em;text-transform:uppercase;margin:1rem 0 0 5rem;font-size:.62rem;font-weight:600;display:inline-flex}.booking-summary{background:var(--slate-800);color:var(--paper);padding:clamp(2rem,3.5vw,3rem);position:sticky;top:110px;box-shadow:0 22px 70px #13151724}.booking-summary .ce-kicker{color:var(--accent-bright)}.booking-summary h2{max-width:none;margin-bottom:clamp(2rem,4vw,3rem);font-size:clamp(2rem,3vw,3.15rem)}.booking-summary__slot{border-block:1px solid var(--ce-line-strong);gap:.35rem;padding-block:1.25rem;display:grid}.booking-summary__slot>span,.booking-summary__details dt{color:var(--paper-faint);letter-spacing:.13em;text-transform:uppercase;font-size:.59rem;font-weight:500}.booking-summary__slot strong{font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1.25}.booking-summary__slot small{color:var(--accent-bright);font-size:.62rem}.booking-summary__details{margin:1.25rem 0}.booking-summary__details>div{border-bottom:1px solid var(--ce-line);justify-content:space-between;gap:1rem;padding-block:.75rem;display:flex}.booking-summary__details dd{text-align:right;margin:0;font-size:.76rem;font-weight:500}.booking-summary__tax{color:var(--paper-dim);font-size:.68rem;line-height:1.6}.booking-summary__assurances{border-block:1px solid var(--ce-line);gap:.65rem;margin:1.6rem 0;padding:1.4rem 0;list-style:none;display:grid}.booking-summary__assurances li{color:var(--paper-dim);padding-left:1.2rem;font-size:.68rem;line-height:1.5;position:relative}.booking-summary__assurances li:before{content:"·";color:var(--accent-bright);font-size:1.2rem;line-height:.7;position:absolute;left:0}.booking-summary__back{min-height:44px;color:var(--accent-bright);letter-spacing:.1em;text-underline-offset:.35em;text-transform:uppercase;align-items:center;font-size:.64rem;font-weight:600;text-decoration:underline;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=61.25rem){.booking-hero__grid{grid-template-columns:minmax(0,1fr);column-gap:0}.booking-hero__copy,.booking-hero__facts{grid-column:1}.booking-hero__facts{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.booking-hero__facts>div{border-right:1px solid var(--ce-line);padding:1rem;display:block}.booking-hero__facts>div:last-child{border-right:0}.booking-hero__facts dd{text-align:left;margin-top:.45rem}.booking-workspace__grid{grid-template-columns:minmax(0,1fr);gap:4rem}.booking-summary{position:static}}@media (width<=40rem){.booking-hero{padding-top:7.8rem}.booking-preview .ce-shell{gap:.35rem;display:grid}.booking-hero__facts,.booking-form__row{grid-template-columns:minmax(0,1fr)}.booking-hero__facts>div{border-right:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.booking-hero__facts dd{text-align:right;margin-top:0}.booking-step__head{grid-template-columns:2rem minmax(0,1fr)}.booking-day{grid-template-columns:minmax(0,1fr);gap:.8rem}.booking-day__choices{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-form__submit{display:grid}.booking-form__submit .ce-button,.booking-order__actions .ce-button{width:100%}.booking-step__pending,.booking-payment,.booking-confirmation{margin-left:3rem}.booking-summary{padding:1.6rem}}@media (width<=24.375rem){.booking-day__choices{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-payment,.booking-confirmation{margin-left:0}}@media (prefers-reduced-motion:reduce){.booking-skeleton span{animation:none}.booking-slot,.booking-form fieldset{transition:none}}.booking-flow{container:booking-flow/inline-size}@container booking-flow (width<20rem){.booking-step__head{grid-template-columns:minmax(0,1fr)}.booking-day__choices{grid-template-columns:repeat(auto-fit,minmax(min(5.5rem,100%),1fr))}.booking-step__pending,.booking-payment,.booking-confirmation{margin-left:0}}.booking-hero__facts{container:booking-facts/inline-size}@container booking-facts (width<15rem){.booking-hero__facts>div{grid-template-columns:minmax(0,1fr)}.booking-hero__facts dd{text-align:left}}.booking-hero__facts dd{overflow-wrap:anywhere}.booking-summary__details>div{flex-wrap:wrap}.booking-summary__details :is(dt,dd){min-width:0;max-width:100%}.booking-summary{padding-inline:min(clamp(2rem,3.5vw,3rem),10vw)}@media (width<=40rem){.booking-summary{padding-inline:min(1.6rem,8vw)}}.booking-order__summary{gap:1.25rem;margin:1.5rem 0;display:grid}.booking-order__summary>div{min-width:0}.booking-order__summary dt{font-weight:600}.booking-order__summary dd{overflow-wrap:anywhere;white-space:pre-line;margin:.35rem 0 0}.booking-order__test{font-weight:600}.booking-order__conditions,.booking-order__consumer,.booking-order__alternative{margin-block:1.5rem}.booking-order__conditions h3,.booking-order__consumer h3,.booking-order__alternative h3{margin:0 0 .75rem}.booking-order__acceptance fieldset{border:0;min-width:0;margin:0;padding:0}.booking-order__choice{cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.875rem;margin-block:1.25rem;display:grid}.booking-order__choice input{width:1.25rem;height:1.25rem;accent-color:var(--booking-bronze-dark);margin:.25rem 0 0}.booking-order__choice:focus-within{outline:2px solid var(--booking-bronze-dark);outline-offset:.4rem}.booking-order__actions{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.booking-order .booking-text-button{white-space:normal;text-align:left}.booking-order :is(p,label,dd,a,button){overflow-wrap:anywhere}.booking-order__acceptance [disabled]+span{cursor:default}.booking-order [hidden]{display:none}.booking-order [data-order-content]{margin-left:5rem}@media (width<=40rem){.booking-order [data-order-content]{margin-left:0}}.booking-order a{color:var(--booking-bronze-dark);text-underline-offset:.25em;text-decoration:underline}.booking-order a:focus-visible{outline:2px solid var(--booking-bronze-dark);outline-offset:.3rem}.booking-order :is(h3,dt){overflow-wrap:anywhere}.booking-order h3{line-height:1.25}
