:root{--ink:#121212;--paper:#f2f2f0;--strong:#fff;--body:#c8c8c6;--muted:#9a9a9a;--steel:#4d4d4d;--rule:#4d4d4d;--card-bg:#4d4d4d;--card-border:#4d4d4d;--red:#d82d17;--yellow:#edcb1f;--blue:#4398cd;--green:#47a639;--head-weight:600;--head-track:-.01em;--font:"Helvetica Neue", Arial, sans-serif;--stretch:100%;--gutter:20px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);font-family:var(--font);font-size:17px;font-stretch:var(--stretch);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:10;width:min(1120px,100% - 48px);position:fixed;top:16px;left:50%;transform:translate(-50%)}.topbar-inner{border:1px solid color-mix(in srgb, var(--rule) 60%, transparent);background:color-mix(in srgb, color-mix(in srgb, var(--ink), var(--paper) 7%) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:24px;padding:8px 10px 8px 14px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{width:auto;height:40px;display:block}.brand-name{font-size:20px;font-weight:var(--head-weight);letter-spacing:var(--head-track);line-height:1}.topbar nav{gap:28px;margin-inline:auto;display:flex}.topbar nav a{color:var(--muted);font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}.topbar nav a:hover,.topbar nav a[aria-current]{color:var(--strong)}.cta{border:1px solid var(--paper);background:var(--paper);color:var(--ink);white-space:nowrap;padding:8px 16px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .2s,border-color .2s}.cta:hover{border-color:var(--strong);background:var(--strong)}.themes button{border:1px solid var(--steel);background:var(--ink);color:var(--muted);cursor:pointer;padding:2px 8px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.5}.themes button[aria-pressed=true]{border-color:var(--paper);background:var(--paper);color:var(--ink)}.themes{width:max-content;max-width:calc(100% - 2 * var(--gutter));margin:0 auto calc(24px + env(safe-area-inset-bottom,0px));border:1px solid var(--steel);background:var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding:8px 12px;display:flex}.themes-label{color:var(--muted);font-size:12px}.themes-list{flex-wrap:wrap;gap:4px;display:flex}.themes button{min-width:30px;padding-inline:4px}.themes-name{min-width:7em;font-size:14px;font-weight:600}body{--cell:24px;background-color:var(--floor-bg,var(--ink));background-image:radial-gradient(circle at center, var(--floor-dot,#343434) 1.5px, transparent 1.6px);background-size:var(--cell) var(--cell)}[data-floor=grid] body{background-image:linear-gradient(to right, var(--floor-dot) 1px, transparent 1px), linear-gradient(to bottom, var(--floor-dot) 1px, transparent 1px)}.panels{--gap:32px;grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(240px, (100svh - 196px - var(--gap)) / 2, 520px);gap:var(--gap);width:min(1120px,100% - 48px);margin-inline:auto;padding-block:106px 24px;display:grid}.panel{border:1px solid color-mix(in srgb, var(--card-border) 70%, transparent);background:color-mix(in srgb, color-mix(in srgb, var(--ink), var(--paper) 6%) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;gap:12px;min-width:0;padding:clamp(18px,3vw,32px);transition:opacity .35s,filter .35s,border-color .35s,box-shadow .35s,transform .35s;display:flex;position:relative;overflow:hidden}.panel:before{content:"";background:var(--accent);width:32px;height:3px;transition:width .45s;position:absolute;top:0;left:0}.panel-num{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:13px;font-weight:600;transition:color .35s}.panel h2{font-size:clamp(24px,2.6vw,38px);font-weight:var(--head-weight);letter-spacing:var(--head-track);line-height:1.1}.panel-toggle{color:var(--strong);font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.panel-toggle:after{content:"";position:absolute;inset:0}.panel-toggle:focus-visible{outline:none}.panel:has(.panel-toggle:focus-visible){outline:2px solid var(--yellow);outline-offset:3px}.panel-body{max-width:34ch;color:var(--body);margin-top:auto;font-size:16px}.panel:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--card-border))}.panel.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 48px color-mix(in srgb, var(--accent) 28%, transparent);transform:scale(1.015)}.panel.is-active:before{width:100%}.panel.is-active .panel-num{color:var(--accent)}.panels.has-selection .panel:not(.is-active){opacity:.35;filter:saturate(.2)}.panels.has-selection .panel:not(.is-active):hover{opacity:.6}.booking{display:none}.panel.is-active:has(.booking) .panel-body{display:none}.panel.is-active .booking{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow-y:auto}.panel.is-active:has(.booking) .panel-toggle:after{content:none}.booking-step{flex-direction:column;gap:8px;display:flex}.booking-step[hidden]{display:none}.booking-label{color:var(--muted);font-size:13px;font-weight:600}.booking-tz{font-weight:400}.booking-days{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.booking-days button,.booking-times button{border:1px solid var(--steel);background:var(--ink);color:var(--paper);font-variant-numeric:tabular-nums;cursor:pointer;font-family:inherit;transition:border-color .2s,background-color .2s,color .2s}.booking-days button{flex-direction:column;flex:none;align-items:center;min-width:50px;padding:3px 6px;font-size:11px;line-height:1.25;display:flex}.booking-days strong{font-size:16px;font-weight:600}.booking-times{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px;display:grid}.booking-times button{padding:4px 0;font-size:14px}.booking-days button:hover,.booking-times button:hover{border-color:var(--accent)}.booking-days button[aria-pressed=true],.booking-times button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--ink)}.booking-summary{color:var(--strong);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-weight:600;display:flex}.booking-link{color:var(--muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:500;text-decoration:underline}.booking-link:hover{color:var(--strong)}.booking-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.booking-fields label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.booking-fields input{border:1px solid var(--steel);background:var(--ink);min-width:0;color:var(--paper);font:inherit;padding:8px 10px;font-size:15px;font-weight:400}.booking-fields input:focus-visible{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}.booking-fields input[aria-invalid=true]{border-color:var(--red)}.booking-trap{position:absolute;left:-9999px}.booking-submit{border:1px solid var(--accent);background:var(--accent);color:var(--ink);cursor:pointer;align-self:flex-start;margin-top:6px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:600}.booking-submit:disabled{opacity:.6;cursor:progress}.booking-done-title{color:var(--accent);font-size:20px;font-weight:600}.booking-done-text{max-width:44ch;color:var(--body);font-size:15px}.booking-done-text+.booking-link{align-self:flex-start}.booking-status{color:var(--body);font-size:14px}.booking-status:not(:empty){margin-top:8px}[data-look=lab] .booking button,[data-look=lab] .booking input{border-radius:8px}[data-look=night] .booking button,[data-look=night] .booking input{border-radius:4px}[data-look=lab] .booking-link,[data-look=night] .booking-link{border-radius:0}[data-look=lab] .panel{border-radius:16px}[data-look=night] .panel{border-radius:8px}[data-look=lab] .topbar-inner{border-radius:16px}[data-look=lab] .cta{border-radius:999px}[data-look=night] .topbar-inner,[data-look=night] .cta{border-radius:8px}@media (width<=860px){.topbar{width:100%;top:0}.topbar-inner{padding:8px var(--gutter);border-width:0 0 1px;flex-flow:wrap;gap:6px 16px}.topbar .topbar-inner{border-radius:0}.brand-mark{height:28px}.brand-name{font-size:18px}.topbar nav{order:3;gap:14px;width:100%;margin-inline:0;overflow-x:auto}.topbar nav a{white-space:nowrap;font-size:14px}.cta{display:none}.themes{padding:6px 8px}.themes-label{display:none}.themes-name{text-align:center;width:100%;min-width:0}.panels{width:100%;min-height:calc(100svh - 90px - env(safe-area-inset-bottom,0px));padding-inline:var(--gutter);flex-direction:column;gap:14px;padding-block:104px 16px;display:flex}.panel{flex:1 1 0;min-height:max-content;padding:16px 18px;transition:flex-grow .45s cubic-bezier(.2,.8,.2,1),opacity .35s,filter .35s,border-color .35s,box-shadow .35s;overflow:visible}.panel.is-active{flex-grow:6;transform:none}.panel h2{font-size:24px}.panel-body{font-size:15px}.panels.has-selection .panel:not(.is-active){flex-direction:row;align-items:center;gap:14px;min-height:56px;padding-block:0}.panels.has-selection .panel:not(.is-active) h2{font-size:18px}.panels.has-selection .panel:not(.is-active) .panel-body{display:none}.panel.is-active .booking{overflow:visible}.booking-fields{grid-template-columns:1fr}.booking-fields input{font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.panel,.panel:before{transition:none}}
