.booking :focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.booking .band .wrap{border-bottom:0}.booking .band+.band{padding-top:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-steps{gap:var(--spacing-2) var(--spacing-3);border-top:var(--hairline);padding-top:var(--spacing-2);margin-bottom:var(--spacing-4);flex-wrap:wrap;display:flex}.booking-steps>li{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-ink-45);align-items:baseline;gap:8px;font-weight:500;display:flex}.booking-steps>li.is-current{color:var(--color-ink)}.booking-steps>li.is-done{color:var(--color-ink-60)}.booking-steps .n{color:var(--color-ink-45)}.choice-list{border-top:var(--hairline);margin-bottom:var(--spacing-4)}.choice-list>li{border-bottom:var(--hairline)}.choice{gap:var(--spacing-2);padding:var(--spacing-3) 0;cursor:pointer;grid-template-columns:1.5rem minmax(0,1fr);align-items:start;display:grid}.choice:hover .choice-name{opacity:.6}.booking fieldset{border:0;min-width:0;margin:0;padding:0}.booking legend{margin-bottom:var(--spacing-1);padding:0}.choice-name{font-size:var(--text-project);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);transition:opacity .3s var(--ease-site);display:block}.choice-facts{gap:var(--spacing-1) var(--spacing-3);font-size:var(--text-sm);color:var(--color-ink-60);flex-wrap:wrap;grid-column:2;margin-top:6px;display:flex}.choice-facts>span{white-space:nowrap}.choice-facts .price{color:var(--color-ink);font-weight:500}.choice-note{font-size:var(--text-base);color:var(--color-ink-80);max-width:46ch;margin-top:6px;display:block}.pick{appearance:none;border:var(--hairline);border-radius:var(--radius-sm);background:var(--color-white);width:18px;height:18px;transition:border-color .3s var(--ease-site), box-shadow .3s var(--ease-site);margin:.35em 0 0;display:block}.pick:checked{border-color:var(--color-ink);box-shadow:inset 0 0 0 4px var(--color-ink)}.cal-head{margin-bottom:var(--spacing-2);gap:6px;display:grid}.cal-month{font-size:var(--text-step);letter-spacing:var(--tracking-snug);font-weight:500}.cal-nav{gap:var(--spacing-3);font-size:var(--text-sm);display:flex}.cal-nav .is-off{color:var(--color-ink-45)}.cal{border:var(--hairline);border-radius:var(--radius-lg);overflow:hidden}.cal-weekdays,.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekdays{border-bottom:var(--hairline)}.cal-weekdays>li{text-align:center;font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-ink-60);padding:8px 0;font-weight:500}.cal-week>li{border-right:var(--hairline);border-bottom:var(--hairline);min-height:56px}.cal-week>li:nth-child(7n){border-right:0}.cal-week:last-child>li{border-bottom:0}.cal-day,.cal-empty{text-align:center;align-content:center;justify-items:center;gap:2px;width:100%;height:100%;min-height:56px;padding:6px 2px;display:grid}.cal-day .d{font-size:var(--text-md);font-weight:500;line-height:1}.cal-day .c{font-size:var(--text-label);letter-spacing:var(--tracking-label);color:var(--color-ink-45);line-height:1}a.cal-day{transition:background .3s var(--ease-site)}a.cal-day:hover{opacity:1;background:var(--color-ink-05)}.cal-day.is-off{color:var(--color-ink-45);cursor:default}.cal-day.is-off .c{color:var(--color-ink-20)}.cal-day.is-selected{background:var(--color-ink);color:var(--color-white)}.cal-day.is-selected .c{color:var(--color-white-70)}.cal-day.is-today .d{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.cal-key{gap:var(--spacing-1) var(--spacing-3);margin-top:var(--spacing-2);font-size:var(--text-sm);color:var(--color-ink-60);flex-wrap:wrap;display:flex}.slot-day{margin-top:var(--spacing-4)}.slot-frame{border:var(--hairline);border-radius:var(--radius-lg);overflow:hidden}.slot-list{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:0;margin:0 -1px -1px 0;display:grid}.slot-list>li{border-right:var(--hairline);border-bottom:var(--hairline)}.slot{padding:12px var(--spacing-2);min-height:48px;font-size:var(--text-md);cursor:pointer;transition:background .3s var(--ease-site);align-items:center;gap:8px;font-weight:500;display:flex}.slot:hover{background:var(--color-ink-05)}.slot .pick{flex:none;width:16px;height:16px;margin:0}.slot .pick:checked{box-shadow:inset 0 0 0 3px var(--color-ink)}.fields{gap:var(--spacing-3);max-width:34rem;margin-bottom:var(--spacing-4);display:grid}.field{gap:6px;display:grid}.field>label{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-ink-60);font-weight:500}.field .hint{font-size:var(--text-sm);color:var(--color-ink-60)}.field input,.field textarea{font:inherit;font-size:var(--text-md);color:var(--color-ink);background:var(--color-white);border:var(--hairline);border-radius:var(--radius-md);width:100%;height:44px;transition:border-color .3s var(--ease-site);padding:0 14px}.field textarea{height:auto;min-height:108px;line-height:var(--leading-body);resize:vertical;padding:12px 14px}.select-box{display:block;position:relative}.select-box .chevron{pointer-events:none;border-bottom:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:50%;right:16px;transform:translateY(-4px)rotate(45deg)}.field select{font:inherit;font-size:var(--text-md);color:var(--color-ink);background:var(--color-white);border:var(--hairline);border-radius:var(--radius-md);appearance:none;cursor:pointer;width:100%;height:44px;transition:border-color .3s var(--ease-site);padding:0 36px 0 14px}.field select:invalid{color:var(--color-ink-45)}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--color-ink-45)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-ink);outline:none}.field.has-error select,.field.has-error input,.field.has-error textarea{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.field .message{font-size:var(--text-sm);color:var(--color-ink);font-weight:500}.notice{border:var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-3);margin-bottom:var(--spacing-4);max-width:var(--container-measure)}.notice-strong{background:var(--color-ink-05)}.notice h2,.notice h3{font-size:var(--text-step);letter-spacing:var(--tracking-snug);font-weight:500;line-height:var(--leading-snug);margin-bottom:6px}.notice p{font-size:var(--text-base);color:var(--color-ink-80)}.notice ul{margin-top:var(--spacing-1);gap:6px;display:grid}.notice li{font-size:var(--text-base);color:var(--color-ink-80)}.notice .actions{margin-top:var(--spacing-2);gap:var(--spacing-3);flex-wrap:wrap;align-items:center;display:flex}.summary{border-top:var(--hairline);margin-bottom:var(--spacing-4);max-width:42rem}.summary>div{border-bottom:var(--hairline);grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 0;display:grid}.summary dt{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-ink-60);font-weight:500}.summary dd{font-size:var(--text-md);font-weight:500}.summary dd.plain{color:var(--color-ink-80);font-weight:400}.reference{border:var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-4);gap:4px;display:inline-grid}.reference dt{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-ink-60);font-weight:500}.reference dd{font-size:var(--text-project);letter-spacing:var(--tracking-snug);font-weight:500}.booking-actions{align-items:center;gap:var(--spacing-3);margin-top:var(--spacing-3);flex-wrap:wrap;display:flex}@media (min-width:700px){.cal-head{justify-content:space-between;align-items:baseline;gap:var(--spacing-2);display:flex}.cal-week>li,.cal-day,.cal-empty{min-height:76px}.summary>div{align-items:baseline;gap:var(--spacing-3);grid-template-columns:12rem minmax(0,1fr)}.choice{grid-template-columns:1.5rem minmax(0,5fr) minmax(0,4fr);align-items:start}.choice-facts{text-align:right;grid-column:3;justify-content:flex-end;margin-top:0}}
