.booking{border:1px solid var(--rule);background:var(--bone-deep);border-radius:4px;padding:clamp(1.75rem,4vw,2.75rem)}.booking__head{margin-bottom:clamp(1.5rem,4vh,2.25rem)}.booking__title{font-family:var(--display);font-size:var(--t-xl);font-weight:300}.booking__lede{max-width:44ch;font-size:var(--t-sm);color:var(--ink-soft);text-wrap:pretty;margin-top:.5rem;line-height:1.6}.booking__grid{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:clamp(1rem,2.5vw,1.75rem);display:grid}.booking__field{gap:.45rem;min-width:0;display:grid}.booking__field--wide{grid-column:1/-1}.booking__field label{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.booking__field label i{letter-spacing:.1em;text-transform:none;color:var(--ink-faint);font-style:normal;font-weight:400}.booking__field input,.booking__field select,.booking__field textarea{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--ink);font:inherit;font-size:var(--t-base);transition:border-color .4s var(--ease-out);background:0 0;border-radius:0;padding:.6rem .1rem}.booking__field textarea{resize:vertical;line-height:1.55}.booking__field select,.booking__field input[type=date]{appearance:none;font-family:var(--sans);font-size:max(1rem, var(--t-base))}.booking__field select{cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right .6rem center,right .35rem center;background-repeat:no-repeat;background-size:.25rem .25rem,.25rem .25rem;padding-right:1.5rem}.booking__field input:focus,.booking__field select:focus,.booking__field textarea:focus{border-bottom-color:var(--accent);outline:none}.booking__field input:focus-visible,.booking__field select:focus-visible,.booking__field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.booking__foot{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:clamp(1.5rem,4vh,2.25rem);display:flex}.booking__submit{background:var(--espresso);color:var(--bone);font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;transition:background .4s var(--ease-out), transform .4s var(--ease-out);border-radius:999px;padding:.9em 2.2em;font-weight:500}.booking__submit:hover:not(:disabled),.booking__submit:focus-visible:not(:disabled){background:var(--blush-deep);transform:translateY(-2px)}.booking__submit:disabled{opacity:.55;cursor:default}.booking__error{min-height:1.2em;font-size:var(--t-sm);color:var(--blush-deep);flex:16ch;line-height:1.4}.booking--done{align-content:center;gap:.5rem;min-height:12rem;display:grid}.booking--done:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.booking__done-title{font-family:var(--display);font-size:var(--t-xl);color:var(--ink)}.booking__done-body{max-width:40ch;font-size:var(--t-sm);color:var(--ink-soft);line-height:1.65}.booking__done-mail{font-size:var(--t-lg);color:var(--accent);margin-top:.35rem}.book{min-height:100svh;padding-block:calc(var(--nav-h,5rem) + clamp(2.5rem, 8vh, 5rem)) clamp(3rem, 8vh, 5rem);align-items:center;display:flex}.book__inner{max-width:46rem}.book__head{margin-bottom:clamp(2rem,5vh,3rem)}.book__title{margin-block:clamp(.75rem,2vh,1.25rem) 0;font-size:clamp(2.2rem,1.2rem + 3.4vw,4rem);font-weight:300}.book__title .line-mask:last-child span{color:var(--accent);font-style:italic}.book__lede{max-width:44ch;font-size:var(--t-lg);color:var(--ink-soft);text-wrap:pretty;margin-top:clamp(1rem,2.5vh,1.5rem);line-height:1.55}.book__form .booking{background:0 0;border:0;padding:0}.book__form .booking__head{display:none}.book__direct{border-top:1px solid var(--rule);margin-top:clamp(2.5rem,6vh,4rem);padding-top:clamp(1.5rem,4vh,2.25rem)}.book__direct-title{font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.book__direct-list{font-size:var(--t-lg);color:var(--accent);gap:.4rem;margin-top:.9rem;display:grid}.book__back{font-size:var(--t-sm);letter-spacing:.06em;color:var(--ink-faint);margin-top:clamp(1.5rem,4vh,2.25rem);display:inline-block}.book__form .booking--done{min-height:16rem}
