.booking{--house-top:140px;--eave:clamp(10px, 2.4vw, 26px);min-width:0;padding:var(--house-top) var(--eave) 16px;contain:inline-size;position:relative}.house{pointer-events:none;filter:drop-shadow(0 18px 22px #06183b1a);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.house__walls{fill:var(--card);stroke:var(--line-strong);stroke-width:1.5px;stroke-linejoin:round}.house__roof{fill:none;stroke:var(--sky);stroke-linecap:round;stroke-linejoin:round}.house__roof-edge{fill:none;stroke:var(--paper);stroke-opacity:.55;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.house__chimney{fill:var(--beige);stroke:var(--line-strong);stroke-width:1.5px}.house__frame{fill:var(--paper);stroke:var(--sky);stroke-width:2.5px}.house__glass{fill:var(--sky);fill-opacity:.45}.house__bars{stroke:var(--paper);stroke-width:3px}.house__glint{fill:var(--paper)}.house__star{fill:var(--sun);stroke:var(--sun-deep);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.house__puff{fill:var(--sky-soft);stroke:var(--sky);stroke-width:3px;paint-order:stroke;stroke-linejoin:round;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;transform:translate(var(--sx), var(--sy)) scale(var(--ss));opacity:var(--so)}.booking[data-smoke=on] .house__puff{animation:house-smoke 4.2s ease-out var(--delay) infinite}@keyframes house-smoke{0%{transform:translate(0, var(--dy0)) scale(.4);opacity:0}15%{opacity:1}50%{transform:translate(calc(var(--dx) * .3), calc(var(--dy) * .5)) scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(1.5);opacity:0}}.house__lawn{fill:var(--sage-soft)}.house__tuft{fill:var(--sage)}.booking__body{gap:22px;padding:clamp(14px,3vw,30px) clamp(20px,4vw,40px) clamp(28px,4vw,44px);display:grid;position:relative}.booking:not(.has-house) .booking__body{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.booking__body>*{min-width:0}.booking fieldset{border:0;min-width:0;margin:0;padding:0}.booking legend{padding:0}.booking__title{font-family:var(--font-head);font-size:var(--fs-h3);color:var(--ink);margin:0 0 6px;font-weight:600}.booking__title:focus{outline:none}.booking__hint{font-size:var(--fs-sm);color:var(--ink-3);margin:0}.booking__hint+.booking__hint{margin-top:6px}.booking__progress{font-size:var(--fs-sm);color:var(--ink-3);flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;font-weight:700;list-style:none;display:flex}.booking__progress li{align-items:center;gap:8px;margin:0;display:flex}.booking__progress-n{border:1.5px solid var(--line-strong);width:26px;height:26px;font-size:var(--fs-xs);border-radius:50%;place-items:center;display:grid}.booking__progress li[aria-current=step]{color:var(--ink)}.booking__progress li[aria-current=step] .booking__progress-n{border-color:var(--sky-deep);background:var(--sky-soft);color:var(--sky-deep)}.booking__progress li[data-done] .booking__progress-n{background:var(--sage-soft);color:var(--sage-deep);border-color:#0000}.booking__notice,.booking__status,.booking__note{border-radius:var(--radius-sm);background:var(--beige);font-size:var(--fs-sm);color:var(--ink-2);margin:0;padding:12px 16px}.booking__notice a,.booking__status a{color:var(--link)}.booking__centers{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;margin:14px 0 12px;display:grid}.center-option{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;grid-template-columns:auto 1fr;align-content:start;gap:12px;padding:18px;transition:border-color .2s,background-color .2s,transform .2s;display:grid;position:relative}.center-option:hover{border-color:var(--line-strong);transform:translateY(-1px)}.center-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.center-option:has(input:checked){border-color:var(--sky-deep);background:var(--sky-soft)}.center-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.center-option__pin{background:var(--sage-soft);width:38px;height:38px;color:var(--sage-deep);border-radius:50%;place-items:center;display:grid}.center-option__body{color:var(--ink-2);gap:2px;line-height:1.4;display:grid}.center-option__body strong{font-family:var(--font-head);color:var(--ink);font-size:1.12rem;font-weight:600}.center-option__city,.center-option__entrance{font-size:var(--fs-sm);color:var(--ink-3)}.center-option__entrance{color:var(--sky-deep);font-weight:700}.center-option__chip{grid-column:2;justify-self:start}.booking__chosen{border-radius:var(--radius-sm);background:var(--sage-soft);color:var(--ink);font-weight:700;font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 16px;display:flex}.booking__chosen svg{color:var(--sage-deep)}.booking__change{font:inherit;color:var(--sky-deep);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;text-decoration:underline}.calendar{margin-top:16px}.calendar__bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar__range{color:var(--ink);margin:0;font-weight:750}.calendar__arrow{border:1.5px solid var(--line-strong);background:var(--card);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;transition:border-color .2s,background-color .2s;display:grid}.calendar__arrow:hover:not(:disabled){border-color:var(--sky-deep);background:var(--sky-soft)}.calendar__arrow:disabled{opacity:.35;cursor:default}.calendar__arrow--prev svg{transform:rotate(180deg)}.calendar__grid{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));gap:10px;display:grid}.calendar__day{align-content:start;gap:10px;min-width:0;display:grid}.calendar__head{border-radius:var(--radius-sm);background:var(--beige);text-align:center;padding:10px 4px}.calendar__head p{margin:0}.calendar__when{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem;font-weight:800}.calendar__weekday{font-family:var(--font-head);color:var(--ink);margin-top:2px;font-size:1.08rem;font-weight:600}.calendar__date{font-size:var(--fs-sm);color:var(--ink-3)}.calendar__times{gap:8px;display:grid}.calendar__empty{font-size:var(--fs-xs);text-align:center;color:var(--ink-3);margin:6px 0 0}.calendar__wait{background:var(--beige);opacity:.55;border-radius:12px;height:46px}@media (prefers-reduced-motion:no-preference){.calendar__wait{animation:1.1s ease-in-out infinite alternate calendar-wait}}@keyframes calendar-wait{to{opacity:.25}}.booking__time{border:1.5px solid var(--line-strong);background:var(--card);width:100%;min-height:46px;font:750 .95rem / 1.2 var(--font-body);color:var(--ink);cursor:pointer;border-radius:12px;padding:0 4px;transition:border-color .2s,background-color .2s}.booking__time:hover,.booking__time[aria-pressed=true]{border-color:var(--sky-deep);background:var(--sky-soft)}.calendar__arrow:focus-visible,.booking__time:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.booking__when{border-radius:var(--radius-sm);background:var(--sky-soft);color:var(--ink);margin:4px 0 18px;padding:10px 14px;font-weight:750}.booking__intake{gap:16px;display:grid}.booking__intake:empty{display:none}.booking__intake legend{color:var(--ink);margin-bottom:6px;font-weight:700}.booking__choices{flex-wrap:wrap;gap:8px 28px;padding-top:4px;display:flex}.booking__choices .checkbox{min-height:32px;font-size:var(--fs-base);align-items:center}.booking__choices .checkbox input{margin-top:0}.booking__intake input[type=date]{appearance:none;text-align:left}.booking__intake input[type=date]::-webkit-date-and-time-value{text-align:left}.booking__note{align-items:flex-start;gap:10px;margin-top:18px;display:flex}.booking__note svg{color:var(--sky-deep);flex:none;margin-top:2px}.booking__actions{flex-wrap:wrap;gap:12px;display:flex}.booking__done{align-items:start}.booking__done:focus{outline:none}.booking__done-when{color:var(--ink);font-weight:750}.booking__frame{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:920px;margin:14px 0 10px;display:block}@media (prefers-reduced-motion:reduce){.center-option:hover{transform:none}}
