.book{--bk-title:var(--color-text-brand-primary);--bk-ink:var(--color-text-ink);--bk-muted:var(--color-text-ink-muted);--bk-sage-soft:color-mix(in oklab, var(--color-bg-sage) 30%, var(--color-bg-primary));--bk-sage-mid:color-mix(in oklab, var(--color-bg-sage) 55%, var(--color-bg-primary));--bk-panel:color-mix(in oklab, var(--color-bg-sage) 8%, var(--color-bg-primary));--bk-hairline:color-mix(in oklab, var(--color-brand-950) 8%, transparent);color:var(--bk-muted)}.book-bg{background:linear-gradient(180deg, var(--color-bg-page) 0%, transparent 14%, transparent 88%, var(--color-bg-page) 100%), radial-gradient(80% 42% at 12% 6%, color-mix(in oklab, var(--color-bg-sage) 14%, transparent), transparent 60%), radial-gradient(82% 44% at 90% 92%, color-mix(in oklab, var(--color-bg-peach-soft) 26%, transparent), transparent 62%), var(--color-bg-page)}@media (min-width:96rem){.book-bg{background:linear-gradient(180deg, var(--color-bg-page) 0%, transparent 14%, transparent 88%, var(--color-bg-page) 100%), radial-gradient(80% 42% at 12% 6%, color-mix(in oklab, var(--color-bg-sage) 14%, transparent), transparent 60%), radial-gradient(82% 44% at 90% 92%, color-mix(in oklab, var(--color-bg-peach-soft) 26%, transparent), transparent 62%), radial-gradient(24% 40% at 0% 40%, color-mix(in oklab, var(--color-bg-sage) 13%, transparent), transparent 68%), radial-gradient(24% 40% at 100% 66%, color-mix(in oklab, var(--color-bg-peach-soft) 24%, transparent), transparent 68%), var(--color-bg-page)}}.bk-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""booking""expect""location""contact";gap:clamp(1.5rem,3vw,2.25rem);display:grid}.bk-header{grid-area:header}.bk-booking{grid-area:booking}.bk-expect{grid-area:expect}.bk-location{grid-area:location}.bk-contact{grid-area:contact}@media (min-width:1024px){.bk-grid{grid-template-columns:minmax(0,22rem) minmax(0,1fr);grid-template-areas:"header booking""expect booking""location booking""contact booking";align-items:start;gap:clamp(1.5rem,2.6vw,2.25rem) clamp(2rem,3.4vw,3rem)}}.bk-eyebrow{border-radius:var(--radius-pill);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-brand-tertiary);border:1px solid var(--bk-sage-mid);background:color-mix(in oklab, var(--color-bg-primary) 55%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;display:inline-flex}.bk-eyebrow-leaf{color:var(--color-fg-brand-primary)}.bk-title{font-family:var(--font-display);color:var(--bk-title);letter-spacing:-.015em;text-wrap:balance;font-weight:600;line-height:1.03}.bk-sub{color:var(--bk-ink);text-wrap:pretty;max-width:42ch}.bk-callprompt{color:var(--bk-muted);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-weight:500;display:flex}.bk-callprompt-num{color:var(--color-text-brand-secondary);font-family:var(--font-display);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:no-preference){.bk-callprompt-num{transition:color .15s}}.bk-callprompt-num:hover{color:var(--color-text-brand-secondary_hover)}.bk-booking{border-radius:var(--radius-card);border:1px solid var(--bk-sage-mid);background:var(--color-bg-primary);width:100%;max-width:50rem;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.bk-flow-steps{border-bottom:1px solid var(--bk-hairline);background:color-mix(in oklab, var(--color-bg-sage) 10%, var(--color-bg-primary));grid-template-columns:repeat(3,minmax(0,1fr));padding:.9rem .9rem .8rem;display:grid}.bk-flow-step{min-width:0;color:var(--bk-muted);text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:relative}.bk-flow-step:not(:last-child):after{content:"";background:var(--color-border-secondary);width:calc(100% - 2.4rem);height:1px;position:absolute;top:1rem;left:calc(50% + 1.2rem)}.bk-flow-step-dot{z-index:1;border-radius:var(--radius-full);border:1px solid var(--color-border-secondary);background:var(--color-bg-primary);width:2rem;height:2rem;color:var(--bk-muted);font-size:var(--text-sm);place-items:center;font-weight:700;display:grid;position:relative}.bk-flow-step-label{font-size:var(--text-xs);font-weight:600;line-height:1.2}.bk-flow-step[data-state=active],.bk-flow-step[data-state=complete]{color:var(--color-text-brand-secondary)}.bk-flow-step[data-state=active] .bk-flow-step-dot{border-color:var(--color-border-brand);background:var(--color-bg-brand-primary);color:var(--color-text-brand-primary);box-shadow:var(--shadow-xs)}.bk-flow-step[data-state=complete] .bk-flow-step-dot{border-color:var(--color-bg-brand-solid);background:var(--color-bg-brand-solid);color:var(--color-fg-white)}.bk-flow-body{min-height:34rem;display:grid}.bk-flow-view{flex-direction:column;grid-area:1/1;min-width:0;min-height:34rem;padding:1.1rem;display:flex}.bk-flow-visit{justify-content:flex-start}.bk-flow-heading-group{margin-bottom:1rem}.bk-flow-hint{color:var(--bk-ink);font-size:var(--text-sm);margin-top:.35rem}.bk-flow-topbar{border-bottom:1px solid var(--bk-hairline);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.5rem;padding-bottom:.75rem;display:flex}.bk-flow-back,.bk-flow-selection{font-size:var(--text-sm);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.bk-flow-back{color:var(--color-text-brand-secondary);cursor:pointer}.bk-flow-back:hover{color:var(--color-text-brand-secondary_hover)}.bk-flow-back:focus-visible{outline:2px solid var(--color-border-brand);outline-offset:3px;border-radius:var(--radius-sm)}.bk-flow-selection{border-radius:var(--radius-pill);background:var(--bk-sage-soft);max-width:45%;color:var(--bk-title);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:.45rem .7rem;overflow:hidden}@media (min-width:768px){.bk-flow-steps{padding:1rem 1.5rem .9rem}.bk-flow-step{text-align:left;flex-direction:row;justify-content:center;gap:.55rem}.bk-flow-step:not(:last-child):after{width:calc(100% - 7rem);top:1rem;left:calc(50% + 3.5rem)}.bk-flow-step-label{font-size:var(--text-sm)}.bk-flow-view{padding:1.5rem}}.bk-selector-heading,.bk-block-title{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-xl);line-height:1.2}.bk-selector-heading{margin-bottom:0}.bk-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.bk-type{text-align:left;border-radius:var(--radius-card-sm);border:1.5px solid var(--color-border-secondary);background:var(--color-bg-primary);width:100%;box-shadow:var(--shadow-soft);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.9rem;min-height:7.75rem;padding:1rem;display:flex;position:relative}@media (prefers-reduced-motion:no-preference){.bk-type{transition:border-color .15s,background-color .15s,transform .15s,box-shadow .15s}.bk-type:hover{border-color:var(--bk-sage-mid);box-shadow:var(--shadow-card);transform:translateY(-1px)}}.bk-type:focus-visible{outline:2px solid var(--color-border-brand);outline-offset:2px}.bk-type-ic{border-radius:var(--radius-full);background:var(--bk-sage-soft);width:2.75rem;height:2.75rem;color:var(--bk-title);flex:none;place-items:center;display:grid}.bk-type-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.bk-type-title{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-lg);line-height:1.2}.bk-type-desc{color:var(--bk-muted);font-size:var(--text-sm);line-height:1.3}.bk-type-next{border-radius:var(--radius-full);background:var(--color-bg-brand-primary);width:1.8rem;height:1.8rem;color:var(--color-fg-brand-primary);place-items:center;display:grid;position:absolute;top:.85rem;right:.85rem}@media (max-width:380px){.bk-flow-view{padding-inline:1rem}.bk-flow-heading-group{margin-bottom:.75rem}.bk-types{gap:.6rem}.bk-type{gap:.5rem;min-height:6.75rem;padding:.75rem}.bk-type-ic{width:2.25rem;height:2.25rem}.bk-type-title{font-size:var(--text-md)}.bk-type-desc{font-size:var(--text-xs)}.bk-type-next{display:none}}@media (prefers-reduced-motion:no-preference){.bk-type-next{transition:transform .15s}.bk-type:hover .bk-type-next{transform:translate(.125rem)}}.bk-notsure{color:var(--color-text-brand-secondary);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--color-brand-600) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--color-brand-600) 40%, transparent);align-items:center;gap:.5rem;margin-top:1rem;font-weight:500;display:inline-flex}.bk-notsure:hover{-webkit-text-decoration-color:var(--color-brand-600);text-decoration-color:var(--color-brand-600)}.bk-phone{width:100%;max-width:28rem;margin-top:1rem}.bk-phone-label{color:var(--bk-title);font-weight:600;font-size:var(--text-sm);display:block}.bk-phone-field{border-radius:var(--radius-pill);border:1.5px solid var(--color-border-secondary);background:var(--color-bg-primary);align-items:center;gap:.6rem;margin-top:.5rem;padding:.15rem .9rem;display:flex}@media (prefers-reduced-motion:no-preference){.bk-phone-field{transition:border-color .15s}}.bk-phone-field:focus-within{border-color:var(--color-border-brand)}.bk-phone-field[data-complete]{border-color:color-mix(in oklab, var(--color-brand-600) 55%, var(--color-border-secondary))}.bk-phone-prefix{font-family:var(--font-display);color:var(--bk-title);border-right:1px solid var(--bk-hairline);flex:none;padding-right:.6rem;font-weight:600}.bk-phone-input{min-width:0;color:var(--bk-title);font-size:var(--text-md);font-variant-numeric:tabular-nums;letter-spacing:.02em;background:0 0;border:0;outline:0;flex:auto;padding:.65rem 0}.bk-phone-input::placeholder{color:var(--bk-muted);letter-spacing:normal}.bk-phone-check{border-radius:var(--radius-full);background:var(--color-bg-brand-solid);width:1.35rem;height:1.35rem;color:var(--color-fg-white);flex:none;place-items:center;display:grid}.bk-phone-hint{color:var(--bk-muted);font-size:var(--text-sm);margin-top:.45rem}.bk-opened{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:34rem;padding:2rem 1.5rem;display:flex}.bk-opened-ic{border-radius:var(--radius-full);background:var(--bk-sage-soft);width:3.5rem;height:3.5rem;color:var(--bk-title);place-items:center;display:grid}.bk-opened-title{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-xl)}.bk-opened-body{color:var(--bk-ink);max-width:40ch}.bk-opened .bk-family-confirm{align-self:center;max-width:20rem;margin-top:.75rem}.bk-embed-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;min-height:34rem;padding:2rem 1.5rem;display:flex}.bk-fallback-title{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-xl)}.bk-fallback-body{color:var(--bk-ink);max-width:40ch}.bk-fallback-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.bk-fallback-call,.bk-fallback-wa{border-radius:var(--radius-cta);font-family:var(--font-display);white-space:nowrap;align-items:center;gap:.6rem;padding:.85rem 1.4rem;font-weight:600;display:inline-flex}.bk-fallback-call{background:linear-gradient(180deg, var(--color-brand-600), var(--color-brand-800));color:var(--color-fg-white);box-shadow:var(--shadow-soft)}.bk-fallback-wa{background:var(--color-bg-whatsapp);color:var(--color-fg-white);box-shadow:var(--shadow-soft)}@media (prefers-reduced-motion:no-preference){.bk-fallback-call,.bk-fallback-wa{transition:transform .15s}.bk-fallback-call:hover,.bk-fallback-wa:hover{transform:translateY(-1px)}}.bk-fallback-wa:hover{background:var(--color-bg-whatsapp_hover)}.bk-family{flex-direction:column;flex:auto;justify-content:flex-start;width:100%;max-width:34rem;margin:0 auto;padding:.25rem;display:flex}@media (min-width:768px){.bk-family{justify-content:center}}.bk-family-heading{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-xl);line-height:1.2}.bk-family-hint{color:var(--bk-ink);max-width:44ch;font-size:var(--text-sm);text-wrap:pretty;margin-top:.35rem}.bk-family-rows{border-top:1px solid var(--bk-hairline);flex-direction:column;margin-top:.5rem;display:flex}.bk-family-row{border-bottom:1px solid var(--bk-hairline);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.bk-family-row-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.bk-family-row-label{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-lg);line-height:1.2}.bk-family-row-desc{color:var(--bk-muted);font-size:var(--text-sm)}@media (max-width:380px){.bk-family-row{padding-block:.25rem}.bk-family-row-desc{display:none}}.bk-stepper{border-radius:var(--radius-pill);border:1.5px solid var(--bk-sage-mid);background:var(--color-bg-primary);align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.bk-stepper-btn{border-radius:var(--radius-full);background:var(--bk-sage-soft);width:2.75rem;height:2.75rem;color:var(--bk-title);cursor:pointer;place-items:center;display:grid}@media (prefers-reduced-motion:no-preference){.bk-stepper-btn{transition:background-color .15s,transform .15s}.bk-stepper-btn:hover:not(:disabled){transform:translateY(-1px)}}.bk-stepper-btn:hover:not(:disabled){background:color-mix(in oklab, var(--color-bg-sage) 45%, var(--color-bg-primary))}.bk-stepper-btn:disabled{opacity:.35;cursor:default}.bk-stepper-btn:focus-visible{outline:2px solid var(--color-border-brand);outline-offset:2px}.bk-stepper-value{text-align:center;min-width:2.25rem;font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);color:var(--bk-title);font-variant-numeric:tabular-nums}.bk-family-confirm{border-radius:var(--radius-cta);width:100%;min-height:3.25rem;font-family:var(--font-display);background:linear-gradient(180deg, var(--color-brand-600), var(--color-brand-800));color:var(--color-fg-white);box-shadow:var(--shadow-soft);cursor:pointer;justify-content:center;align-self:stretch;align-items:center;gap:.6rem;margin-top:.5rem;padding:.85rem 1.6rem;font-weight:600;display:inline-flex}.bk-family-confirm:disabled{opacity:.45;cursor:default}@media (prefers-reduced-motion:no-preference){.bk-family-confirm{transition:transform .15s}.bk-family-confirm:hover:not(:disabled){transform:translateY(-1px)}}.bk-family-validation{color:var(--bk-muted);font-size:var(--text-sm);margin-top:.6rem}@media (max-width:380px){.bk-family-confirm{margin-top:.25rem}}.bk-expect-list{flex-direction:column;gap:1.1rem;margin-top:1rem;display:flex}@media (min-width:768px) and (max-width:1023px){.bk-expect-list{flex-direction:row;gap:1.5rem}.bk-expect-item{text-align:left;flex-direction:column;flex:1 1 0}}.bk-expect-item{align-items:flex-start;gap:.85rem;display:flex}.bk-expect-ic{border-radius:var(--radius-full);background:var(--bk-sage-soft);width:2.4rem;height:2.4rem;color:var(--bk-title);flex:none;place-items:center;display:grid}.bk-expect-item-title{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-md);line-height:1.25}.bk-expect-item-body{color:var(--bk-ink);font-size:var(--text-sm);margin-top:.2rem;line-height:1.45}.bk-location{border-radius:var(--radius-card);border:1px solid var(--bk-sage-mid);background:var(--bk-panel);box-shadow:var(--shadow-soft);flex-direction:column;gap:1.1rem;padding:clamp(1.25rem,3vw,1.6rem);display:flex}.bk-location .bk-block-title{margin-bottom:.25rem}.bk-loc-address,.bk-loc-hours{align-items:flex-start;gap:.75rem;display:flex}.bk-loc-ic{border-radius:var(--radius-full);background:var(--bk-sage-soft);width:2.4rem;height:2.4rem;color:var(--bk-title);flex:none;place-items:center;display:grid}.bk-loc-name{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-md)}.bk-loc-lines{color:var(--bk-ink);font-size:var(--text-sm);flex-direction:column;margin-top:.2rem;line-height:1.5;display:flex}.bk-loc-hours-head{font-family:var(--font-display);color:var(--bk-title);font-weight:600;font-size:var(--text-md);margin-bottom:.35rem}.bk-loc-hours-rows{flex-direction:column;gap:.3rem;display:flex}.bk-loc-hours-row{color:var(--bk-ink);font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.bk-loc-hours-row dt{font-weight:500}.bk-loc-hours-row dd{color:var(--bk-title);text-align:right;font-weight:500}.bk-loc-hours-row dd.is-closed{color:var(--color-text-accent-primary)}.bk-loc-dir{color:var(--color-text-brand-secondary);text-underline-offset:3px;align-self:flex-start;align-items:center;gap:.5rem;font-weight:600;text-decoration:underline;display:inline-flex}.bk-loc-dir:hover{color:var(--color-text-brand-secondary_hover)}.bk-contact{flex-direction:column;gap:.75rem;display:flex}@media (min-width:480px) and (max-width:1023px){.bk-contact{flex-direction:row}}.bk-contact-call,.bk-contact-wa{border-radius:var(--radius-cta);font-family:var(--font-display);white-space:nowrap;flex:auto;justify-content:center;align-items:center;gap:.7rem;padding:.9rem 1.4rem;font-weight:600;display:inline-flex}.bk-contact-call{background:linear-gradient(180deg, var(--color-brand-600), var(--color-brand-800));color:var(--color-fg-white);box-shadow:0 16px 30px -12px color-mix(in oklab, var(--color-brand-800) 70%, transparent), inset 0 1px 0 color-mix(in oklab, var(--color-fg-white) 18%, transparent)}.bk-contact-label{line-height:1.15;display:block}.bk-contact-num{font-family:var(--font-body);font-size:var(--text-sm);opacity:.9;font-weight:500;display:block}.bk-contact-wa{background:var(--color-bg-whatsapp);color:var(--color-fg-white);box-shadow:var(--shadow-soft)}@media (prefers-reduced-motion:no-preference){.bk-contact-call,.bk-contact-wa{transition:transform .15s}.bk-contact-call:hover,.bk-contact-wa:hover{transform:translateY(-1px)}}.bk-contact-wa:hover{background:var(--color-bg-whatsapp_hover)}
