:root{--accent:#3f3f46;--on-accent:#fff;--bg:#fff;--on-bg:#1a1a1a;--accent-ink:#3f3f46;--accent-edge:#3f3f46;--danger:#b42318;--muted:color-mix(in srgb, var(--on-bg) 68%, var(--bg));--line:color-mix(in srgb, var(--on-bg) 14%, var(--bg));--line-strong:color-mix(in srgb, var(--on-bg) 50%, var(--bg));--soft:color-mix(in srgb, var(--on-bg) 5%, var(--bg));--page:color-mix(in srgb, var(--on-bg) 4%, var(--bg));color:var(--on-bg);background:var(--page);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}button{-webkit-tap-highlight-color:transparent}a{color:var(--accent-ink);text-underline-offset:2px}:focus-visible{outline:3px solid var(--accent-edge);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{padding:32px 16px 48px}.card{background:var(--bg);border:1px solid var(--line);border-radius:16px;max-width:560px;margin:0 auto;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 12px 32px -12px #0000001f}.card-header{background:var(--accent);color:var(--on-accent);padding:24px 24px 20px}.card-header h1{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:1.375rem;font-weight:700;line-height:1.25}.card-description{white-space:pre-line;margin:6px 0 0;font-size:.9375rem}.card-meta{flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:.875rem;font-weight:500;display:flex}.meta-item{align-items:center;gap:6px;display:inline-flex}.card-body{padding:20px 24px 28px}html[data-embed]{background:0 0}html[data-embed] .page{padding:0}html[data-embed] .card{box-shadow:none}@media (width<=480px){html:not([data-embed]){background:var(--bg)}html:not([data-embed]) .page{padding:0}html:not([data-embed]) .card{box-shadow:none;border-width:0;border-radius:0}.card-header{padding:20px 16px 18px}.card-body{padding:16px 16px 24px}}.section+.section{margin-top:28px}h2{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3}.section-head{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.tz-note{color:var(--muted);margin:0;font-size:.8125rem}.link-button{font:inherit;color:var(--accent-ink);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.day-strip{scroll-snap-type:x proximity;scrollbar-width:thin;gap:8px;margin:0 -4px;padding:4px 4px 10px;display:flex;overflow-x:auto}.day{border:1px solid var(--line);background:var(--bg);width:68px;color:var(--on-bg);font:inherit;cursor:pointer;scroll-snap-align:start;border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:1px;padding:10px 4px;transition:border-color .15s,background-color .15s;display:flex}.day-weekday{color:var(--muted);font-size:.75rem;font-weight:600}.day-number{font-size:1.25rem;font-weight:700;line-height:1.2}.day-sub{color:var(--muted);font-size:.75rem}.day[aria-pressed=true]{background:var(--accent);border-color:var(--accent-edge);color:var(--on-accent)}.day[aria-pressed=true] .day-weekday,.day[aria-pressed=true] .day-sub{color:inherit}.day-more{width:auto;color:var(--accent-ink);justify-content:center;padding:10px 14px;font-size:.8125rem;font-weight:600}.times-title{margin:4px 0 10px;font-size:.9375rem;font-weight:600}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (width>=481px){.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.slot{border:1px solid var(--line);background:var(--bg);min-height:52px;color:var(--on-bg);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:8px 4px;transition:border-color .15s,background-color .15s;display:flex}.slot-time{font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:600}.slot-sub{color:var(--accent-ink);font-size:.75rem;font-weight:600}.slot:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed;border-style:dashed}.slot:disabled .slot-sub{color:var(--muted)}.slot[aria-pressed=true]{background:var(--accent);border-color:var(--accent-edge);color:var(--on-accent)}.slot[aria-pressed=true] .slot-sub{color:inherit}@media (hover:hover){.day:hover:not(:disabled):not([aria-pressed=true]),.slot:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--accent-edge)}}.notice-anchor:focus{outline:none}.notice,.form-error{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--bg));background:color-mix(in srgb, var(--danger) 8%, var(--bg));color:var(--on-bg);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:.9375rem}.form-error{margin:16px 0 0}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:32px 0;font-size:.9375rem;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent-edge);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty,.inline-error{background:var(--soft);text-align:center;border-radius:12px;padding:18px 16px}.empty p,.inline-error p{margin:0 0 12px}.form h2{margin-bottom:4px}.picked{color:var(--muted);margin:0 0 16px;font-size:.9375rem}.picked strong{color:var(--on-bg);white-space:nowrap}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{font-size:.9375rem;font-weight:600}.optional{color:var(--muted);font-weight:400}input[type=text],input[type=tel],input[type=email]{border:1px solid var(--line-strong);background:var(--bg);width:100%;min-height:48px;color:var(--on-bg);font:inherit;border-radius:10px;padding:12px 14px;font-size:1rem}input::placeholder{color:var(--muted)}input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-edge) 35%, transparent);outline-offset:0;border-color:var(--accent-edge)}input[aria-invalid=true]{border-color:var(--danger)}.phone-input{display:flex}.phone-prefix{border:1px solid var(--line-strong);background:var(--soft);color:var(--muted);border-right:0;border-radius:10px 0 0 10px;align-items:center;padding:0 12px;font-weight:600;display:flex}.phone-input input{border-radius:0 10px 10px 0;min-width:0}.hint{color:var(--muted);margin:0;font-size:.8125rem}.field-error{color:var(--danger);margin:0;font-size:.875rem;font-weight:500}.consent{background:var(--soft);border-radius:10px;align-items:flex-start;gap:10px;margin:20px 0 6px;padding:12px;display:flex}.consent input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:1px 0 0}.consent label{white-space:pre-line;font-size:.8125rem;line-height:1.45}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.turnstile{margin-top:12px}.button{border:1px solid var(--accent-edge);background:var(--accent);min-height:48px;color:var(--on-accent);font:inherit;text-align:center;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:12px 20px;font-size:1rem;font-weight:700;text-decoration:none;transition:filter .15s;display:inline-flex}.button:hover:not(:disabled){filter:brightness(.94)}.button:disabled{opacity:.65;cursor:progress}.button-block{width:100%;margin-top:16px}.button-secondary{border-color:var(--line-strong);color:var(--on-bg);background:0 0}.button-danger{border-color:var(--danger);background:var(--danger);color:var(--bg)}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.actions .button{flex:160px}.message h1,.message h2{margin:0 0 8px;font-size:1.25rem;line-height:1.3}.message p{color:var(--muted);margin:0 0 16px}.confirm{background:var(--soft);border-radius:12px;margin-top:8px;padding:14px}.confirm p{color:var(--on-bg);margin:0}.confirm .actions{margin-top:12px}.done{text-align:center;padding:8px 0 4px}.done-icon{background:var(--accent);width:56px;height:56px;color:var(--on-accent);border-radius:50%;place-items:center;margin:4px auto 14px;display:grid}.done h2{margin:0 0 12px;font-size:1.375rem}.done h2:focus{outline:none}.done p{margin:0 0 12px}p.when{color:var(--on-bg);margin:0 0 16px;font-size:1.0625rem;line-height:1.45}.done-manage{color:var(--muted);font-size:.9375rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.spinner{animation-duration:2.4s}}
