.bk-hero .bk-hero-inner{position:relative;display:grid;gap:2rem;align-items:end;padding:clamp(2rem,4vw,3rem) 0 calc(clamp(2rem,4vw,3rem) + 3.5rem)}.bk-hero-art{display:none}@media (min-width: 1024px){.bk-hero .bk-hero-inner:has(.bk-hero-art){grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}.bk-hero-art{display:block;width:100%;max-width:22rem;justify-self:end}}.bk-hero h1{margin-top:1.1rem;max-width:none}.bk-nowrap{white-space:nowrap}.bk-hero .hero-sub{max-width:44rem}.bk-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;margin:1.6rem 0 0;padding:0;list-style:none;color:var(--text-on-dark);font-weight:600}.bk-facts li{display:inline-flex;align-items:center;gap:.55rem}.bk-facts svg{width:1.25rem;height:1.25rem;color:var(--brand-green)}.bk-stage{position:relative;margin-top:-3.5rem;padding-bottom:clamp(2.5rem,5vw,4.25rem)}.bk-panel{position:relative;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 1px 2px var(--shadow),0 26px 60px -40px #16201b73}.bk-step{animation:bk-in .24s cubic-bezier(.16,1,.3,1) both}.bk-step[hidden],.bk-panel [hidden]{display:none!important}@keyframes bk-in{0%{opacity:0;transform:translateY(6px)}}.bk-panel.is-booker{min-height:26rem}@media (prefers-reduced-motion: reduce){.bk-step{animation:none}}.bk-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:22rem;color:var(--text-muted);font-weight:600}.bk-spinner{width:1.35rem;height:1.35rem;border:2.5px solid var(--accent-soft);border-top-color:var(--accent-strong);border-radius:50%;animation:bk-spin .8s linear infinite}@keyframes bk-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bk-spinner{animation-duration:2.4s}}.bk-problem{max-width:36rem;padding:2rem 0}.bk-problem h2{font-size:1.5rem}.bk-problem p{margin-top:.5rem;color:var(--text-soft)}.bk-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}.bk-noscript{color:var(--text-soft)}.bk-booker{display:grid;gap:2rem}@media (min-width: 861px){.bk-booker{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0}.bk-cal{padding-right:clamp(1.5rem,3vw,2.5rem)}.bk-times{padding-left:clamp(1.5rem,3vw,2.5rem);border-left:1px solid var(--line)}}.bk-booker>*{min-width:0}.bk-cal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.bk-month{font-size:clamp(1.4rem,2.4vw,1.7rem)}.bk-month-nav{display:flex;gap:.4rem}.bk-nav{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.bk-nav svg{width:1.15rem;height:1.15rem}.bk-nav:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-tint)}.bk-nav:disabled{opacity:.35;cursor:default}.bk-nav:focus-visible,.bk-date:focus-visible,.bk-slot:focus-visible,.bk-zone-change:focus-visible,.bk-back:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.bk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.bk-wd{padding-bottom:.35rem;color:var(--text-muted);font-size:.85rem;font-weight:600;text-align:center}.bk-date,.bk-blank{aspect-ratio:1;max-height:3.4rem;min-height:2.75rem}.bk-date{position:relative;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--text-muted);font-size:1.02rem;font-weight:400;font-variant-numeric:tabular-nums}.bk-date.is-today{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.3em}button.bk-date{border:1.5px solid transparent;background:none;color:var(--text);font-weight:700;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}button.bk-date:after{content:"";position:absolute;bottom:18%;left:50%;width:.3rem;height:.3rem;border-radius:50%;background:var(--accent-strong);transform:translate(-50%)}button.bk-date:hover{border-color:var(--accent-strong);background:var(--accent-tint)}button.bk-date.is-chosen{border-color:var(--accent-deep);background:var(--accent-deep);color:#fff}button.bk-date.is-chosen:after{background:var(--brand-green)}.bk-legend{display:flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--text-muted);font-size:.9rem}.bk-legend-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--accent-strong)}.bk-none{grid-column:1 / -1;margin-top:.75rem;color:var(--text-muted)}.bk-day{font-size:clamp(1.35rem,2.2vw,1.55rem);outline:none}.bk-day-count{margin-top:.25rem;color:var(--text-muted);font-size:.95rem}.bk-times.is-empty .bk-day-count{max-width:26rem}.bk-slots{display:grid;gap:.5rem;margin:1.1rem 0 0;padding:0 .35rem 0 0;list-style:none;max-height:24rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.bk-slots::-webkit-scrollbar{width:8px}.bk-slots::-webkit-scrollbar-thumb{border-radius:8px;background:var(--line-strong)}@media (max-width: 860px){.bk-slots{max-height:none;overflow:visible;padding-right:0}}@media (min-width: 861px){.bk-slots{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;padding-right:0}.bk-slot-end{display:none}}.bk-slot{display:flex;align-items:center;gap:.7rem;width:100%;min-height:3.25rem;padding:.55rem .9rem .55rem 1.05rem;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.bk-slot-time{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.bk-slot-end{color:var(--text-muted);font-size:.92rem;font-variant-numeric:tabular-nums}.bk-slot svg{width:1.1rem;height:1.1rem;margin-left:auto;color:var(--accent-strong);opacity:0;transform:translate(-4px);transition:opacity .18s ease,transform .18s ease}.bk-slot:hover,.bk-slot:focus-visible{border-color:var(--accent-strong);background:var(--accent-tint)}.bk-slot:hover svg,.bk-slot:focus-visible svg{opacity:1;transform:none}.bk-slot.is-chosen{border-color:var(--accent-deep);background:var(--accent-deep);color:#fff}.bk-slot.is-chosen .bk-slot-end,.bk-slot.is-chosen svg{color:#ffffffd1}.bk-slot.is-chosen svg{opacity:1;transform:none}.bk-slot.is-current{border-style:dashed}.bk-slot.is-current .bk-slot-time:after{content:" · current";color:var(--text-muted);font-weight:500}.bk-zone{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}.bk-zone-line{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;color:var(--text-soft);font-size:.95rem}.bk-zone-line svg{width:1.1rem;height:1.1rem;color:var(--text-muted)}.bk-zone-line strong{color:var(--text);font-weight:600}.bk-zone-change{min-height:2.75rem;padding:0 .4rem;border:0;background:none;color:var(--accent-strong);font:inherit;font-weight:700;cursor:pointer}.bk-zone-change:hover{color:var(--accent-deep)}.bk-zone-field{margin-top:.4rem}[data-step=details]:not([hidden]){display:grid;gap:1.25rem clamp(1.5rem,3vw,2.5rem)}[data-step=details]>.bk-form-title{grid-column:1 / -1}@media (min-width: 861px){[data-step=details]:not([hidden]){grid-template-columns:minmax(15rem,.8fr) minmax(0,2fr);align-items:start}.bk-summary{position:sticky;top:calc(var(--header-offset, 5rem) + 1rem)}}.bk-summary{padding:1.5rem;border-radius:var(--radius-md);background:var(--surface-alt)}.bk-summary-day{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--text)}.bk-summary-time{margin-top:.3rem;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.bk-summary-facts{display:grid;gap:.55rem;margin:1.1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);list-style:none;color:var(--text-soft);font-size:.95rem}.bk-summary-facts li{display:grid;grid-template-columns:1.1rem minmax(0,1fr);gap:.55rem;align-items:start}.bk-summary-facts svg{width:1.1rem;height:1.1rem;margin-top:.15rem;color:var(--accent-strong)}.bk-back{display:inline-flex;align-items:center;gap:.3rem;min-height:2.75rem;margin-top:.9rem;padding:0;border:0;background:none;color:var(--accent-strong);font:inherit;font-weight:700;cursor:pointer}.bk-back svg{width:1.05rem;height:1.05rem}.bk-back:hover{color:var(--accent-deep)}.bk-form-title{font-size:clamp(1.4rem,2.4vw,1.7rem);outline:none}.bk-fields{display:grid;gap:1.1rem 1.25rem}@media (min-width: 640px){.bk-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bk-fields>.full,.bk-fields>form-verification{grid-column:1 / -1}}.bk-fields>*{min-width:0}.bk-fields .form-label{display:block;margin-bottom:.45rem}.bk-phone{margin:0;padding:0;border:0}.bk-phone legend{padding:0;margin-bottom:.45rem}.bk-phone-row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:.6rem}@media (max-width: 520px){.bk-phone-row{grid-template-columns:minmax(0,1fr)}}.bk-phone .field-note{margin-top:.45rem}.bk-submit{display:grid;gap:.75rem;margin-top:1.4rem;justify-items:start}.bk-submit .field-note a{color:var(--accent-strong);text-underline-offset:.2em}.bk-form .cf-status{margin-top:1.1rem}.bk-done{max-width:50rem;padding:clamp(.5rem,2vw,1.5rem) 0}.bk-done-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep)}.bk-done-mark svg{width:1.8rem;height:1.8rem;stroke-width:2.4}.bk-done h2{margin-top:1.1rem;font-size:clamp(1.8rem,3.4vw,2.3rem);outline:none}.bk-done-when{text-wrap:balance;margin-top:.6rem;font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;font-weight:600;color:var(--text)}.bk-done-note{margin-top:.8rem;color:var(--text-soft);max-width:38rem}.bk-done .btn svg{width:1.15rem;height:1.15rem}.bk-manage-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.bk-manage-when{margin-top:.4rem;font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.2;color:var(--text)}.bk-manage-note{margin-top:.7rem;color:var(--text-soft);max-width:40rem}.bk-manage-section{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}.bk-manage-section h2{font-size:1.4rem}.bk-confirm{display:grid;gap:.9rem;max-width:36rem;margin-top:1rem;padding:1.25rem;border-radius:var(--radius-md);background:var(--surface-alt)}.bk-confirm p{color:var(--text-soft)}.bk-confirm strong{color:var(--text)}[data-manage] .cf-status{margin-top:1.25rem}
