.bk-hero{padding-top:var(--space-12);padding-bottom:var(--space-10)}.bk-section{padding:var(--space-8) 0 var(--section-md)}.booking{max-width:940px;margin:0 auto}.bk-pick{margin-bottom:var(--space-5)}.bk-pick label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:700;display:block}.bk-pick select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:460px;font:inherit;background:var(--white);margin:6px auto 0;padding:12px 14px;display:block}.bk-note{text-align:center;color:var(--muted);padding:var(--space-6)}.bk-note--muted{font-size:.82rem}.bk-summary{text-align:center;margin-bottom:var(--space-8)}.bk-summary__price{font-family:var(--font-display);color:var(--teal3);font-size:1.3rem}.bk-summary .bk-note--muted{padding:var(--space-3) 0 0;max-width:560px;margin-inline:auto}.bk-express{margin:var(--space-4) 0;color:var(--amber-ink);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:inline-flex}.bk-grid{gap:var(--space-6);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.bk-cal,.bk-slots,.bk-details{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.bk-cal__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.bk-cal__nav{background:var(--stone2);border-radius:var(--radius-sm);cursor:pointer;border:none;width:34px;height:34px;font-size:1.1rem}.bk-cal__dow,.bk-cal__days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.bk-cal__dow{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:.7rem}.bk-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--muted2);cursor:default;background:0 0;border:none}.bk-day.is-open{background:var(--amber-bg);color:var(--amber-ink);cursor:pointer;font-weight:700}.bk-day.is-open:hover{background:var(--amber-bdr)}.bk-day.is-sel{background:var(--teal3);color:var(--on-dark)}.bk-slots__label{margin-bottom:var(--space-4);font-weight:600}.bk-slots__list{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));align-content:start;gap:8px;max-height:384px;padding-bottom:4px;display:grid;overflow-y:auto}.bk-slot{border:1px solid var(--border);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:64px;padding:10px 8px;line-height:1.2;display:flex}.bk-slot:hover{border-color:var(--teal);background:var(--teal-pale)}.bk-slot span{color:var(--muted);font-size:.72rem}.bk-details{margin-top:var(--space-6)}.bk-form{gap:var(--space-4) var(--space-6);grid-template-columns:1fr 1fr;align-items:start;display:grid}.bk-full{grid-column:1/-1}#bk-intake{gap:var(--space-4);display:grid}.bk-link{color:var(--teal-lt);cursor:pointer;margin-bottom:var(--space-4);background:0 0;border:none;padding:0}.bk-hold{color:var(--amber-ink);font-size:.82rem;font-weight:600}.bk-chosen{background:var(--stone);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-6)}.bk-field{margin-bottom:0}.bk-field label{color:var(--text);font-size:.85rem;font-weight:600;display:block}.bk-field input,.bk-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;margin-top:4px;padding:10px 12px}.bk-field textarea{resize:vertical;min-height:80px}.bk-pay__amount{margin:var(--space-4) 0;font-weight:700}.bk-mode{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--stone,#faf6f1);padding:var(--space-5,20px);margin-bottom:var(--space-6,24px);gap:10px;display:grid}.bk-mode__legend{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 0 4px;font-size:.78rem;font-weight:700}.bk-mode__opt{cursor:pointer;background:var(--white,#fff);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .12s,box-shadow .12s;display:flex}.bk-mode__opt:has(input:checked){border-color:var(--amber,#2e6e52);box-shadow:0 0 0 3px #2e6e521f}.bk-mode__opt input{accent-color:var(--amber,#2e6e52);flex-shrink:0;margin-top:3px}.bk-mode__opt strong{font-size:.98rem;display:block}.bk-mode__opt em{color:var(--muted);margin-top:2px;font-size:.86rem;font-style:normal;line-height:1.5;display:block}[hidden]{display:none!important}.bk-card{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--stone,#faf6f1);padding:var(--space-5,20px);margin-bottom:var(--space-4,16px);gap:var(--space-4,16px);display:grid}.bk-card__head{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;line-height:1.4;display:flex}.bk-card__lock{color:var(--amber-ink,#2e6e52);flex-shrink:0;display:inline-flex}.bk-card__full{grid-column:1/-1}.bk-card__row{gap:var(--space-4,16px);grid-template-columns:1fr 1fr;display:grid}.bk-card .bk-field label{letter-spacing:.01em;color:var(--text);margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.bk-card .bk-field input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--white,#fff);font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:11px 12px;transition:border-color .12s,box-shadow .12s}.bk-card .bk-field input:focus{border-color:var(--amber,#2e6e52);outline:none;box-shadow:0 0 0 3px #2e6e5224}.bk-card .bk-field input.is-invalid{border-color:#b91c1c;box-shadow:0 0 0 3px #b91c1c1a}.bk-card__number{position:relative}.bk-card__brand{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);pointer-events:none;opacity:0;font-size:.68rem;font-weight:700;transition:opacity .14s;position:absolute;bottom:11px;right:12px}.bk-card__brand.is-on{opacity:1}@media (width<=460px){.bk-card__row{grid-template-columns:1fr}}.bk-error{color:#991b1b;border-radius:var(--radius-sm);margin-bottom:var(--space-4);background:#fef2f2;border:1px solid #fca5a5;padding:10px;font-size:.9rem}.bk-success{text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-12);max-width:520px;margin:0 auto}@media (width<=760px){.bk-grid,.bk-form{grid-template-columns:1fr}}
