.booking__inner{max-width:46rem;min-height:100svh;padding-top:calc(var(--header-h) + clamp(.75rem,2.5svh,3.5rem));padding-bottom:clamp(3rem,10svh,6rem)}.booking__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.booking__title{margin:0;color:var(--color-ink-faint)}.booking__count{margin:0;font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--color-ink-soft)}.booking__bar{height:2px;margin-top:1rem;background:var(--color-line)}.booking__alt{margin:.5rem 0 0;font-size:.875rem;line-height:1.25;color:var(--color-ink-soft)}.booking__bar span{display:block;height:100%;background:var(--color-ink);transform-origin:left;transform:scaleX(1);transition:transform var(--duration-slow) var(--ease-silk)}.booking:has([data-current="1"]) .booking__alt{margin:.5rem 0 0;font-size:.875rem;line-height:1.25;color:var(--color-ink-soft)}.booking__bar span{transform:scaleX(.3333)}.booking:has([data-current="2"]) .booking__alt{margin:.5rem 0 0;font-size:.875rem;line-height:1.25;color:var(--color-ink-soft)}.booking__alt-link{color:var(--color-ink);font-weight:500}.booking__alt+.booking__form .step__q{margin-top:clamp(1rem,3svh,3.5rem)}.booking__bar span{transform:scaleX(.6667)}.booking__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.step{margin:0;padding:0;border:0;min-width:0}.step+.step{margin-top:clamp(3rem,8svh,5rem)}.step[hidden]+.step,.step+.step[hidden]{margin-top:0}.step__q{float:left;width:100%;margin:clamp(1.5rem,5svh,4rem) 0 clamp(1.25rem,3.5svh,2.5rem);padding:0;font-size:clamp(1.9rem,1rem + 4.4vw,3.5rem);line-height:1.02;font-weight:500;letter-spacing:-.045em;text-wrap:balance}.step__q+*{clear:both}.step__note{margin:0;font-size:.9375rem;color:var(--color-ink-soft)}.choices{display:grid;border-top:1px solid var(--color-line)}.choice{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.35rem;padding:.7rem .25rem;border-bottom:1px solid var(--color-line);font-size:clamp(1.15rem,1rem + .8vw,1.5rem);font-weight:500;letter-spacing:-.02em;cursor:pointer;transition:background-color var(--duration-base) var(--ease-silk),color var(--duration-base) var(--ease-silk),padding var(--duration-base) var(--ease-silk)}.choice__box{flex:none;width:.75rem;height:.75rem;border:1px solid currentColor;transition:background-color var(--duration-base) var(--ease-silk),border-color var(--duration-base) var(--ease-silk),transform var(--duration-base) var(--ease-silk)}.choice:active{background:var(--color-line-soft)}@media(hover:hover){.choice:hover{padding-inline:.75rem}}.choice__input:checked+.choice{padding-inline:.75rem;background:var(--color-ink);color:var(--color-ink-rev)}.choice__input:checked+.choice .choice__box{border-color:var(--color-accent);background:var(--color-accent);transform:rotate(45deg)}.choice__input:focus-visible+.choice{outline:2px solid var(--color-accent);outline-offset:2px}.slots{display:grid;gap:1.5rem}.slots__label{margin:0 0 .75rem;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft)}.slots__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}@media(min-width:40rem){.slots__grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.slot{display:grid;place-items:center;min-height:3rem;border:1px solid var(--color-line);font-size:1rem;font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration-base) var(--ease-silk),border-color var(--duration-base) var(--ease-silk),color var(--duration-base) var(--ease-silk)}.slot:active{background:var(--color-line-soft)}@media(hover:hover){.slot:hover{border-color:var(--color-ink)}}.slot__input:checked+.slot{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ink-rev)}.slot__input:focus-visible+.slot{outline:2px solid var(--color-accent);outline-offset:2px}.fields{display:grid;gap:1.5rem;margin-top:clamp(1.25rem,3.5svh,2rem)}.field{display:grid;gap:.35rem}.field__label{font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft)}.field__input{width:100%;padding:.55rem 0 .7rem;border:0;border-bottom:1px solid var(--color-ink-faint);border-radius:0;background:transparent;font:inherit;font-size:1.375rem;letter-spacing:-.015em;color:var(--color-ink);transition:border-color var(--duration-base) var(--ease-silk),box-shadow var(--duration-base) var(--ease-silk)}.field__input::placeholder{color:var(--color-ink-faint)}.field__input:focus{outline:none;border-bottom-color:var(--color-ink);box-shadow:0 1px 0 0 var(--color-accent)}.booking__error{margin:2rem 0 0;font-size:.9375rem;color:var(--color-danger)}.form-nav{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:clamp(1.5rem,5svh,3rem);padding-block:.75rem max(.75rem,env(safe-area-inset-bottom));background:var(--color-paper)}.form-nav__back{min-height:44px;padding-inline:.25rem;font-size:.9375rem;font-weight:500;color:var(--color-ink-soft)}.form-nav__next,.form-nav__submit{margin-left:auto}.form-nav__submit:disabled{opacity:.6}@media(prefers-reduced-motion:no-preference){.step:not([hidden]) .step__q,.step:not([hidden]) .choices,.step:not([hidden]) .slots,.step:not([hidden]) .fields,.step:not([hidden])>.field{animation:step-in .7s var(--ease-silk) both}.step:not([hidden]) .step__q{animation-delay:.02s}.step:not([hidden]) :is(.choices,.slots,.fields),.step:not([hidden])>.field{animation-delay:.12s}}@keyframes step-in{0%{opacity:0;transform:translateY(.9rem)}to{opacity:1;transform:none}}
