.hc-book{--green-deep:#1a3a2a;--green-mid:#2d5a3d;--green-sage:#5a8a6a;--green-light:#a8c9b0;--green-mist:#d4e8da;--green-frost:#eef5f0;--cream:#faf7f2;--warm-white:#f5f0e8;--gold:#c8a96e;--text-dark:#1a2820;--text-mid:#3d5246;--text-soft:#587261;--text-sage:#4c755a;--danger:#8c2f22;--radius-hc:2px;font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;background:var(--cream);color:var(--text-dark);min-height:100dvh}.hc-book :focus-visible{outline:2px solid var(--green-deep);outline-offset:3px;border-radius:var(--radius-hc)}.hc-book-shell{max-width:720px;margin:0 auto;padding:32px 24px 96px}.hc-book-back{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-family:var(--font-dm-mono),ui-monospace,monospace;color:var(--text-sage);align-items:center;gap:8px;text-decoration:none;transition:color .25s;display:inline-flex}.hc-book-back:hover{color:var(--green-deep)}.hc-book-eyebrow{font-family:var(--font-dm-mono),ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--text-sage);margin-top:48px;font-size:11px}.hc-book-title{font-family:var(--font-cormorant),Georgia,serif;letter-spacing:-.01em;color:var(--green-deep);margin:16px 0 0;font-size:clamp(34px,6vw,52px);font-weight:300;line-height:1.1}.hc-book-lede{color:var(--text-mid);max-width:46ch;margin:16px 0 0;font-size:15px;line-height:1.7}.hc-book-section{margin-top:48px}.hc-book-legend{font-family:var(--font-dm-mono),ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--text-sage);margin:0 0 16px;padding:0;font-size:11px}.hc-book-days{scrollbar-width:thin;gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.hc-book-day{border:1px solid var(--green-mist);border-radius:var(--radius-hc);cursor:pointer;text-align:center;min-width:76px;color:var(--text-mid);background:0 0;flex:none;padding:12px 14px;font-family:inherit;transition:background .25s,border-color .25s,color .25s}.hc-book-day:hover:not(:disabled){border-color:var(--green-sage)}.hc-book-day[aria-pressed=true]{background:var(--green-deep);border-color:var(--green-deep);color:var(--cream)}.hc-book-day:disabled{cursor:not-allowed;color:var(--text-soft);border-style:dashed;border-color:#e4ece7}.hc-book-day:disabled .hc-book-day-num{text-decoration:line-through;text-decoration-thickness:1px}.hc-book-day-dow{font-family:var(--font-dm-mono),ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;font-size:10px;display:block}.hc-book-day-num{margin-top:4px;font-size:19px;display:block}.hc-book-slots{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.hc-book-slot{border:1px solid var(--green-mist);border-radius:var(--radius-hc);cursor:pointer;color:var(--text-dark);background:0 0;padding:13px 8px;font-family:inherit;font-size:14px;transition:background .25s,border-color .25s,color .25s}.hc-book-slot:hover{border-color:var(--green-sage);background:var(--green-frost)}.hc-book-slot[aria-pressed=true]{background:var(--green-deep);border-color:var(--green-deep);color:var(--cream)}.hc-book-empty{color:var(--text-mid);margin:0;padding:20px 0;font-size:14px}.hc-book-zone{color:var(--text-sage);margin:14px 0 0;font-size:12px}.hc-book-form{gap:20px;margin-top:8px;display:grid}.hc-book-row{gap:8px;display:grid}.hc-book-label{font-family:var(--font-dm-mono),ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-sage);font-size:11px}.hc-book-optional{text-transform:none;letter-spacing:.02em;color:var(--text-soft)}.hc-book-input,.hc-book-select{width:100%;color:var(--text-dark);border:1px solid var(--green-mist);border-radius:var(--radius-hc);background:#fff;padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .25s,background .25s}.hc-book-input::placeholder{color:#6b7f74}.hc-book-input:hover,.hc-book-select:hover{border-color:var(--green-sage)}.hc-book-input[aria-invalid=true]{border-color:var(--danger)}.hc-book-error{color:var(--danger);margin:0;font-size:13px}.hc-book-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.hc-book-submit{background:var(--green-deep);color:var(--cream);letter-spacing:.04em;cursor:pointer;border:none;border-radius:100px;justify-self:start;padding:16px 36px;font-family:inherit;font-size:13px;font-weight:500;transition:background .25s,transform .2s}.hc-book-submit:hover:not(:disabled){background:var(--green-mid);transform:translateY(-1px)}.hc-book-submit:disabled{cursor:not-allowed;color:#f2efe9;background:#5c6f64}.hc-book-note{color:var(--text-sage);max-width:52ch;margin:0;font-size:12px;line-height:1.6}.hc-book-note a{color:var(--green-mid)}.hc-book-banner{border-radius:var(--radius-hc);border:1px solid var(--green-mist);background:var(--green-frost);color:var(--text-mid);margin-top:24px;padding:16px 18px;font-size:14px;line-height:1.6}.hc-book-banner-error{color:#6d2419;background:#fbf1ef;border-color:#e7c4bd}.hc-book-done{border:1px solid var(--green-mist);border-radius:var(--radius-hc);background:var(--warm-white);margin-top:40px;padding:32px}.hc-book-done-when{font-family:var(--font-cormorant),Georgia,serif;color:var(--green-deep);margin:8px 0 16px;font-size:26px}.hc-book-done p{color:var(--text-mid);margin:0 0 12px;font-size:14px;line-height:1.7}.hc-book-join{background:var(--green-deep);color:var(--cream);letter-spacing:.04em;border-radius:100px;margin-top:8px;padding:14px 30px;font-size:13px;text-decoration:none;transition:background .25s;display:inline-block}.hc-book-join:hover{background:var(--green-mid)}.hc-book-prose h2{font-family:var(--font-cormorant),Georgia,serif;color:var(--green-deep);margin:40px 0 12px;font-size:24px;font-weight:400}.hc-book-prose p,.hc-book-prose li{color:var(--text-mid);font-size:15px;line-height:1.75}.hc-book-prose ul{gap:8px;padding-left:20px;display:grid}.hc-book-prose a{color:var(--green-mid)}.hc-book-prose a.hc-book-join{color:var(--cream)}@media (max-width:520px){.hc-book-shell{padding:24px 18px 72px}.hc-book-slots{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}}@media (prefers-reduced-motion:reduce){.hc-book *,.hc-book :before,.hc-book :after{transition-duration:.01ms!important}}.hc-book-fieldset{border:0;min-width:0;margin:0 0 20px;padding:0}.hc-book-fieldset legend{margin-bottom:8px;padding:0}.hc-book-choices{gap:8px;display:grid}.hc-book-choice{color:var(--text-dark);border:1px solid var(--green-mist);border-radius:var(--radius-hc);cursor:pointer;background:#fff;align-items:center;gap:12px;padding:12px 16px;font-size:15px;transition:border-color .25s,background .25s;display:flex}.hc-book-choice:hover{border-color:var(--green-sage)}.hc-book-choice:has(input:checked){border-color:var(--green-mid);background:var(--green-frost)}.hc-book-choice:has(input:focus-visible){outline:2px solid var(--green-mid);outline-offset:2px}.hc-book-choice input{accent-color:var(--green-mid);flex:none;width:18px;height:18px;margin:0}.hc-book-gate-summary{color:var(--text-mid);margin:0 0 24px;font-size:14px}.hc-book-linkbtn{font:inherit;color:var(--green-mid);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.hc-book-linkbtn:hover{color:var(--green-deep)}.hc-book-linkbtn:focus-visible{outline:2px solid var(--green-mid);outline-offset:2px;border-radius:2px}.hc-book-input[type=month]{min-height:50px}.hc-dir-state{border:1px solid var(--green-mist);border-radius:var(--radius-hc);background:var(--warm-white);margin-top:40px;padding:20px 24px}.hc-dir-list{gap:16px;margin:40px 0 0;padding:0;list-style:none;display:grid}.hc-dir-card{border:1px solid var(--green-mist);border-radius:var(--radius-hc);background:var(--warm-white);padding:20px 24px}.hc-book-prose .hc-dir-name{font-family:var(--font-cormorant),Georgia,serif;color:var(--green-deep);margin:0;font-size:26px;font-weight:500}.hc-book-prose .hc-dir-meta{font-family:var(--font-dm-mono),ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-sage);margin:6px 0 0;font-size:11px}.hc-book-prose .hc-dir-headline{color:var(--text-dark);margin:12px 0 0;font-weight:500}.hc-book-prose .hc-dir-about{white-space:pre-line;margin:8px 0 0}.hc-book-prose .hc-dir-contact{gap:4px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:grid}
