/* The booking calendar. Ivory, gold, green; Cormorant for the voice, Manrope for the labels. */
.hl-book{--b-ivory:#FAF8F3;--b-cream:#F3EEE3;--b-gold:#C7A468;--b-gold-d:#9C7A3C;--b-ink:#22201B;--b-soft:#5E574C;--b-green:#1F3A2D;--b-rule:#E4DDCF;
  background:var(--b-card,#fff);border:1px solid var(--b-rule);box-shadow:0 40px 70px -40px rgba(34,32,27,.35);padding:clamp(22px,4vw,48px);text-align:left;color:var(--b-ink);max-width:980px;margin:0 auto}
.hl-book *{box-sizing:border-box}
.hl-book .bk-k{font-family:Manrope,system-ui,sans-serif;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--b-gold-d);margin:0}
.hl-book .bk-h{font-family:"Cormorant Garamond",Garamond,serif;font-weight:300;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;margin:10px 0 0}
.hl-book .bk-h em{font-style:italic;color:var(--b-gold-d)}
.hl-book .bk-p{font-family:"Cormorant Garamond",serif;font-size:1.18rem;line-height:1.5;color:var(--b-soft);margin:10px 0 0;max-width:40rem}
.hl-book .bk-step{margin-top:28px}
.hl-book .bk-days{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--b-gold) transparent}
.hl-book .bk-day{flex:0 0 auto;scroll-snap-align:start;width:78px;padding:12px 6px;border:1px solid var(--b-rule);background:var(--b-ivory);cursor:pointer;text-align:center;font:inherit;color:inherit;transition:border-color .3s,background .3s}
.hl-book .bk-day:hover{border-color:var(--b-gold)}
.hl-book .bk-day[aria-pressed=true]{background:var(--b-green);border-color:var(--b-green);color:var(--b-ivory)}
.hl-book .bk-day .w{display:block;font-family:Manrope,sans-serif;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.hl-book .bk-day .d{display:block;font-family:"Cormorant Garamond",serif;font-size:1.9rem;line-height:1.1}
.hl-book .bk-day .m{display:block;font-family:Manrope,sans-serif;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;opacity:.75}
.hl-book .bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin-top:8px}
.hl-book .bk-time{padding:13px 8px;border:1px solid var(--b-rule);background:var(--b-card,#fff);cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;letter-spacing:.06em;color:var(--b-ink);transition:border-color .3s,background .3s}
.hl-book .bk-time small{display:block;font-size:.6rem;letter-spacing:.12em;color:var(--b-soft);margin-top:3px;text-transform:uppercase}
.hl-book .bk-time:hover{border-color:var(--b-gold)}
.hl-book .bk-time[aria-pressed=true]{background:var(--b-green);border-color:var(--b-green);color:var(--b-ivory)}
.hl-book .bk-time[aria-pressed=true] small{color:var(--b-cream)}
.hl-book .bk-tz{font-family:Manrope,sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--b-soft);margin:12px 0 0}
.hl-book form{display:grid;grid-template-columns:1fr;gap:14px;margin-top:8px}
@media (min-width:700px){.hl-book form{grid-template-columns:1fr 1fr}.hl-book .full{grid-column:1/-1}}
.hl-book label{display:block;font-family:Manrope,sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--b-soft)}
.hl-book input,.hl-book select,.hl-book textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid var(--b-rule);background:var(--b-ivory);font-family:"Cormorant Garamond",serif;font-size:1.15rem;color:var(--b-ink);border-radius:0}
.hl-book input:focus,.hl-book select:focus,.hl-book textarea:focus{outline:none;border-color:var(--b-gold);background:var(--b-card,#fff)}
.hl-book textarea{min-height:110px;resize:vertical}
.hl-book .bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hl-book .bk-chosen{font-family:"Cormorant Garamond",serif;font-size:1.3rem;margin:0}
.hl-book .bk-chosen b{font-weight:500}
.hl-book .bk-go{display:inline-block;font-family:Manrope,sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;padding:17px 30px;border:1px solid var(--b-green);background:var(--b-green);color:var(--b-ivory);cursor:pointer;transition:background .4s}
.hl-book .bk-go:hover{background:var(--b-ink);border-color:var(--b-ink)}
.hl-book .bk-go[disabled]{opacity:.5;cursor:wait}
.hl-book .bk-link{background:none;border:0;padding:0;font-family:Manrope,sans-serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--b-soft);cursor:pointer;text-decoration:underline;text-decoration-color:var(--b-gold);text-underline-offset:4px}
.hl-book .bk-err{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:#8A3B2A;margin:0}
.hl-book .bk-done{border-left:1px solid var(--b-gold);padding-left:22px}
.hl-book .bk-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.hl-book .bk-empty{font-family:"Cormorant Garamond",serif;font-size:1.2rem;color:var(--b-soft)}
.hl-book .bk-tz{display:block}
.hl-book .bk-zone{display:inline-block;width:auto;max-width:100%;margin:8px 0 0 6px;padding:8px 10px;font-family:Manrope,sans-serif;font-size:.72rem;letter-spacing:.04em;text-transform:none}
/* sit cleanly inside any host page: its p, h2 and a rules should not leak in */
.hl-book p,.hl-book h2{font-style:normal;max-width:none;text-align:left}
.hl-book .bk-h,.hl-book .bk-chosen,.hl-book .bk-empty{color:var(--b-ink)}
.hl-book .bk-p,.hl-book .bk-tz,.hl-book label{color:var(--b-soft)}
.hl-book a{color:var(--b-ink);text-decoration-color:var(--b-gold)}
.hl-book .bk-go{color:var(--b-on,var(--b-ivory))}
.hl-book .bk-day[aria-pressed=true],.hl-book .bk-time[aria-pressed=true]{color:var(--b-on,var(--b-ivory))}

/* his recorded welcome, shown only once it exists */
.hl-book .bk-voice{margin:0 0 22px;padding:14px 16px;border:1px solid var(--b-rule,#E4DDCF);background:var(--b-ivory,#F3EEE3)}
.hl-book .bk-voice audio{display:block;width:100%;height:36px}
.hl-book .bk-voice-k{margin:0 0 8px}
