.select{width:100%;position:relative}.select__trigger{width:100%;color:var(--ink);cursor:pointer;font:var(--type-body);letter-spacing:var(--track-body);text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;display:flex}.select__value{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.select__chevron{transition:rotate var(--dur-state) var(--ease-out-expo)}.select.is-open .select__chevron{rotate:180deg}.select__trigger:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.select__list{z-index:20;overscroll-behavior:contain;background:var(--paper);width:max(100%,260px);max-height:300px;box-shadow:0 0 0 1px var(--card-line), 0 16px 40px #1010101f;transform-origin:0 0;animation:select-open var(--dur-state) var(--ease-out-expo);flex-direction:column;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.select__list[hidden]{display:none}@keyframes select-open{0%{opacity:0;scale:.97}}.select__option{color:var(--ink);cursor:pointer;font:var(--type-small);letter-spacing:var(--track-small);align-items:center;gap:10px;padding:9px 10px;display:flex}.select__option>span:first-child{flex:1}.select__hint{font-family:var(--font-mono);text-transform:uppercase;font-size:12px}.select__option.is-active{background:var(--ink);color:var(--paper)}@media (hover:hover) and (pointer:fine){.select__trigger:hover .select__value{text-underline-offset:4px;text-decoration:underline}}@media (prefers-reduced-motion:reduce){.select__list{animation:none}.select__chevron{transition:none}}@property --glow{syntax:"<color>";inherits:true;initial-value:#0000}.booking{--glow-dawn:#f4c4a1;--glow-morning:#f3dc9a;--glow-midday:#b7d4f0;--glow-afternoon:#f2b07e;--glow-dusk:#dd9cb0;--glow-night:#9aa0d6;--guide:color-mix(in srgb, var(--ink) 16%, transparent);min-height:100svh;margin-top:calc(var(--nav-h) * -1);isolation:isolate;background:var(--paper);color:var(--ink);font:var(--type-body);letter-spacing:var(--track-body);transition:--glow .7s var(--ease-out-expo);place-items:center;padding:72px 24px;display:grid;position:relative;overflow:clip}.booking[data-glow=dawn]{--glow:var(--glow-dawn)}.booking[data-glow=morning]{--glow:var(--glow-morning)}.booking[data-glow=midday]{--glow:var(--glow-midday)}.booking[data-glow=afternoon]{--glow:var(--glow-afternoon)}.booking[data-glow=dusk]{--glow:var(--glow-dusk)}.booking[data-glow=night]{--glow:var(--glow-night)}.booking__glow{z-index:-1;background:radial-gradient(150% 80% at 50% 130%, var(--glow) 0%, color-mix(in srgb, var(--glow) 55%, transparent) 32%, transparent 72%);pointer-events:none;height:70svh;position:fixed;inset:auto 0 0}.booking__frame{width:min(1120px,100%);min-height:600px;box-shadow:0 0 0 1px var(--guide);grid-template-columns:320px minmax(0,1fr);display:grid;position:relative}.booking__frame--note{grid-template-columns:minmax(0,1fr);width:min(560px,100%);min-height:0}.booking__frame--note .booking__done{padding:40px}.booking__note-brand{color:var(--ink);margin-bottom:8px;display:inline-flex}@media (width<=809.98px){.booking__frame--note .booking__done{padding:32px 20px}.booking__frame--note .roll-button{justify-content:center;width:100%}}.booking__stage{min-width:0}.booking__stage--pick{grid-template-columns:minmax(0,1fr) 280px;display:grid}.booking__guides{pointer-events:none;position:absolute;inset:0}.booking__guide{position:absolute}.booking__guide--h{background-image:repeating-linear-gradient(to right, var(--guide) 0 4px, transparent 4px 9px);width:100vw;height:1px}.booking__guide--v{background-image:repeating-linear-gradient(to bottom, var(--guide) 0 4px, transparent 4px 9px);width:1px;height:100vh}.booking__guide--top-l{top:-1px;right:100%}.booking__guide--top-r{top:-1px;left:100%}.booking__guide--base-l{bottom:-1px;right:100%}.booking__guide--base-r{bottom:-1px;left:100%}.booking__guide--left-t{bottom:100%;left:-1px}.booking__guide--left-b{top:100%;left:-1px}.booking__guide--right-t{bottom:100%;right:-1px}.booking__guide--right-b{top:100%;right:-1px}.booking__about{box-shadow:inset -1px 0 0 var(--guide);flex-direction:column;gap:20px;padding:32px;display:flex}.booking__avatar{object-fit:cover;width:48px;height:48px;display:block}.booking__title{font:var(--type-subheading);letter-spacing:var(--track-subheading);margin:0;line-height:1.25}.booking__lead{font:var(--type-small);letter-spacing:var(--track-small);text-wrap:pretty;margin:0}.booking__facts{flex-direction:column;flex:1;gap:12px;margin:0;padding:0;list-style:none;display:flex}.booking__facts li{align-items:flex-start;gap:12px;display:flex}.booking__facts li>svg{flex:none;margin-top:3px}.booking__facts li.booking__length{align-items:center}.booking__facts li.booking__length>svg{margin-top:0}.booking__zone{margin-top:-8px}.booking__facts li.booking__when{display:block;overflow:hidden}.booking__when-row{align-items:flex-start;gap:12px;display:flex}.booking__when-row>svg{flex:none;margin-top:3px}.booking__brand{color:var(--ink);align-self:flex-start;display:inline-flex}.booking__month{box-shadow:inset -1px 0 0 var(--guide);flex-direction:column;gap:20px;padding:32px;display:flex}.booking__month-head,.booking__times-head{justify-content:space-between;align-items:center;gap:12px;min-height:36px;display:flex}.booking__month-head h2,.booking__times-head h2{font:var(--type-lead-strong);letter-spacing:var(--track-lead);margin:0}.booking__month-head h2 span,.booking__times-head h2 span{font-weight:400}.booking__arrows{gap:6px;display:flex}.booking__arrows button{width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--guide);color:var(--ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;display:grid}.booking__arrows button:disabled{color:var(--scene-bar-strong);cursor:default}.booking__weekdays,.booking__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.booking__weekdays span{font:var(--type-label);letter-spacing:var(--track-mono);text-align:center;text-transform:uppercase}.booking__day{aspect-ratio:1;max-height:56px;color:var(--ink-soft);font:var(--type-body);touch-action:manipulation;background:0 0;border:0;place-items:center;display:grid;position:relative}.booking__day.is-open{background:var(--figure-canvas);box-shadow:inset 0 0 0 1px var(--card-line);color:var(--ink);cursor:pointer;font-weight:500}.booking__day.is-chosen{z-index:2;box-shadow:none;color:var(--paper)}.booking__day-ink{z-index:2;background:var(--ink);position:absolute;inset:0}.booking__day-num{position:relative}.booking__day.is-chosen .booking__day-num{z-index:3}.booking__day.is-today:after{content:"";z-index:1;background:currentColor;width:4px;height:4px;position:absolute;bottom:7px}.booking__day.is-today.is-chosen:after{z-index:3}.booking__days.is-loading .booking__day{color:var(--scene-bar-strong)}.booking__times{flex-direction:column;gap:16px;min-height:0;padding:32px 24px;display:flex}.booking__format{box-shadow:inset 0 0 0 1px var(--guide);padding:3px;display:flex}.booking__format button{color:var(--ink);cursor:pointer;font:var(--type-label);letter-spacing:var(--track-mono);text-transform:uppercase;background:0 0;border:0;padding:4px 10px;position:relative}.booking__format button>span:last-child{position:relative}.booking__format button[aria-pressed=true]{color:var(--paper)}.booking__format-ink{background:var(--ink);position:absolute;inset:0}@property --fade-above{syntax:"<length>";inherits:false;initial-value:0}@property --fade-below{syntax:"<length>";inherits:false;initial-value:0}.booking__slots{--fade-above:0px;--fade-below:0px;overscroll-behavior:contain;max-height:470px;-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--fade-above), #000 calc(100% - var(--fade-below)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--fade-above), #000 calc(100% - var(--fade-below)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--fade-above), #000 calc(100% - var(--fade-below)), transparent 100%);transition:--fade-above var(--dur-state) var(--ease-out-expo), --fade-below var(--dur-state) var(--ease-out-expo);flex-direction:column;gap:8px;display:flex;overflow-y:auto}.booking__slots[data-more-above]{--fade-above:40px}.booking__slots[data-more-below]{--fade-below:56px}.booking__slot{background:var(--paper);min-height:44px;box-shadow:inset 0 0 0 1px var(--card-line);color:var(--ink);cursor:pointer;font:var(--type-body);letter-spacing:var(--track-body);touch-action:manipulation;transition:background-color var(--dur-state) var(--ease-out-expo), color var(--dur-state) var(--ease-out-expo), scale var(--dur-exit) var(--ease-out-expo);border:0;flex:none;place-items:center;display:grid}.booking__day.is-open,.booking__arrows button,.booking__format button{transition:scale var(--dur-exit) var(--ease-out-expo)}.booking__slot:active,.booking__day.is-open:active,.booking__arrows button:not(:disabled):active,.booking__format button:active{scale:.97}.booking__slot:active,.booking__slot:focus-visible{background:var(--ink);color:var(--paper);outline:none}.booking__slot--skeleton{background:var(--figure-canvas);box-shadow:none;animation:booking-pulse 1.4s var(--ease-in) infinite alternate}@keyframes booking-pulse{to{opacity:.5}}.booking__empty,.booking__notice{font:var(--type-small);letter-spacing:var(--track-small);margin:0}.booking__notice{background:var(--figure-canvas);box-shadow:inset 0 0 0 1px var(--card-line);padding:10px 12px}.booking__form,.booking__confirm,.booking__done{height:100%;padding:32px}.booking__form{flex-direction:column;gap:20px;display:flex}.booking__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.booking__add-guests{color:var(--ink);cursor:pointer;font:var(--type-body);background:0 0;border:0;align-self:flex-start;align-items:center;gap:8px;padding:6px 0;display:inline-flex}.booking__trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.booking__actions{justify-content:flex-end;gap:12px;margin-top:auto;display:flex}.booking__done{flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;display:flex}.booking__done-mark{background:var(--ink);width:44px;height:44px;color:var(--paper);place-items:center;display:grid}.booking__done h2{font:var(--type-heading);letter-spacing:var(--track-heading);margin:0}.booking__done p{text-wrap:pretty;max-width:52ch;margin:0}.booking__confirm{flex-direction:column;gap:16px;display:flex}.booking__confirm h2{font:var(--type-heading);letter-spacing:var(--track-heading);margin:0}.booking__confirm p{text-wrap:pretty;max-width:52ch;margin:0}.booking__confirm h2:focus,.booking__done h2:focus{outline:none}.booking__when--booked.is-was .booking__when-row>span{text-decoration:line-through}.booking__check{width:0;height:0;position:absolute;overflow:hidden}@media (hover:hover) and (pointer:fine){.booking__day.is-open:not(.is-chosen):hover{box-shadow:inset 0 0 0 1px var(--ink)}.booking__slot:hover,.booking__arrows button:not(:disabled):hover{background:var(--ink);color:var(--paper)}.booking__format button:not([aria-pressed=true]):hover{box-shadow:inset 0 0 0 1px var(--ink)}.booking__add-guests:hover{text-underline-offset:4px;text-decoration:underline}}@media (prefers-reduced-motion:reduce){.booking{transition:none}.booking__slot--skeleton{animation:none}.booking__slots,.booking__slot,.booking__day.is-open,.booking__arrows button,.booking__format button{transition:none}.booking__slot:active,.booking__day.is-open:active,.booking__arrows button:not(:disabled):active,.booking__format button:active{scale:1}}@media (width<=1099.98px){.booking__frame{grid-template-columns:260px minmax(0,1fr)}.booking__stage--pick{grid-template-columns:minmax(0,1fr) 220px}.booking__about,.booking__month{padding:28px 24px}.booking__times{padding:28px 20px}}@media (width<=809.98px){.booking{place-items:stretch stretch;padding:0 0 40px}.booking__frame{min-height:0;box-shadow:none;grid-template-columns:minmax(0,1fr)}.booking__guides{display:none}.booking__stage--pick{grid-template-columns:minmax(0,1fr)}.booking__about,.booking__month,.booking__times,.booking__form,.booking__confirm,.booking__done{height:auto;box-shadow:inset 0 -1px 0 var(--guide);padding:24px 20px}.booking__facts{flex:none}.booking__lead{font:var(--type-body);letter-spacing:var(--track-body)}.booking__brand{order:-1}.booking__slots{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;display:grid;overflow:visible}.booking__fields{grid-template-columns:minmax(0,1fr)}.booking__actions{flex-direction:column-reverse;margin-top:8px}.booking__actions .roll-button{justify-content:center;width:100%}}
