:root{--bg:#f6f7fb;--surface:#fff;--text:#17203a;--muted:#5b6480;--border:#dde2ee;--accent:#1d4ed8;--accent-soft:#dbeafe;--accent-ink:#fff;--danger:#b91c1c;--danger-soft:#fee2e2;--success:#15803d;--success-soft:#dcfce7;--warn-soft:#fef3c7;--radius:12px;--tap:44px;--shadow:0 1px 2px #17203a0f, 0 4px 16px #17203a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--accent)}img{max-width:100%}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.2}h2{font-size:1.35rem}h3{font-size:1.1rem}h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}p{margin:0 0 .75rem}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}:focus:not(:focus-visible){outline:none}.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}.muted{color:var(--muted)}.small{font-size:.9rem}.hint{color:var(--muted);margin:.35rem 0 0;font-size:.875rem}.error{color:var(--danger);font-weight:500}.empty{color:var(--muted);text-align:center;padding:1.25rem 0}.notice{background:var(--warn-soft);border-radius:8px;padding:.7rem .9rem}.loading-note{text-align:center;padding:3rem 1.25rem}.page{max-width:760px;margin:0 auto;padding:0 0 2rem}.landing{max-width:720px;margin:0 auto;padding:3rem 1.25rem}.hero h1{margin:0 0 1rem;font-size:2.25rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:1rem .75rem;padding:1.25rem}@media (width>=640px){.page{padding-top:1.5rem}.card{margin:1.25rem 0;padding:1.75rem}}.page-footer{text-align:center;padding:2rem 1rem 1rem;font-size:.85rem}.page-footer a{color:var(--muted);text-decoration:none}.page-footer a:hover{text-decoration:underline}.biz-header{padding:1.25rem .75rem 0}@media (width>=640px){.biz-header{padding:0}}.biz-cover{aspect-ratio:3;background:var(--accent-soft);max-height:280px;margin:-1.25rem -.75rem 1rem;overflow:hidden}.biz-cover img{object-fit:cover;width:100%;height:100%;display:block}@media (width>=640px){.biz-cover{border-radius:var(--radius);margin:0 0 1rem}}.biz-identity{align-items:center;gap:1rem;display:flex}.has-cover .biz-identity{align-items:flex-end;margin-top:-2.75rem}.biz-logo{object-fit:cover;background:var(--surface);border:3px solid var(--surface);width:72px;height:72px;box-shadow:var(--shadow);border-radius:16px;flex:none}.biz-logo--initial{color:var(--accent);background:var(--accent-soft);place-items:center;font-size:2rem;font-weight:700;display:grid}.has-cover .biz-title{padding-bottom:.25rem}.biz-title h1{margin:0;font-size:1.6rem}@media (width>=640px){.biz-title h1{font-size:2rem}}.biz-headline{color:var(--muted);margin:.15rem 0 0;font-size:1.05rem}.biz-description{white-space:pre-line;margin:1rem 0 0}.contact-list{flex-wrap:wrap;gap:.5rem 1.25rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.contact-list li{min-height:var(--tap);color:var(--muted);align-items:center;gap:.4rem;display:inline-flex}.contact-list a{color:var(--text);text-decoration:none}.contact-list a:hover{text-decoration:underline}.contact-list svg{color:var(--accent);flex:none}.policies{margin:1.25rem .75rem}@media (width>=640px){.policies{margin:1.25rem 0}}.policy{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem}.policy summary{cursor:pointer;min-height:var(--tap);align-items:center;padding:.85rem 1rem;font-weight:600;display:flex}.policy summary::marker{color:var(--accent)}.policy p{white-space:pre-line;margin:0;padding:0 1rem 1rem}.steps{counter-reset:step;gap:.25rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex;overflow-x:auto}.step{flex:1 1 0;min-width:0}.step-btn{width:100%;min-height:var(--tap);border:0;border-top:3px solid var(--border);color:var(--muted);text-align:center;cursor:default;background:0 0;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem .2rem;font-size:.75rem;display:flex}button.step-btn{cursor:pointer}.step-num{background:var(--border);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.step.is-active .step-btn{border-top-color:var(--accent);color:var(--text);font-weight:600}.step.is-active .step-num{background:var(--accent);color:var(--accent-ink)}.step.is-done .step-btn{border-top-color:var(--accent);color:var(--accent)}.step.is-done .step-num{background:var(--accent-soft);color:var(--accent)}.step-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width>=480px){.step-btn{font-size:.85rem}}.option-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.option{text-align:left;width:100%;min-height:var(--tap);background:var(--surface);border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:.9rem;padding:.9rem 1rem;transition:border-color .12s,background .12s;display:flex}.option:hover{border-color:var(--accent)}.option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.option-main{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.option-title{font-weight:600}.option-desc{color:var(--muted);font-size:.9rem}.option-meta{color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;gap:.1rem;font-size:.9rem;display:flex}.price{color:var(--text);font-weight:600}.avatar{object-fit:cover;border-radius:50%;flex:none;width:48px;height:48px}.avatar--initial{background:var(--accent-soft);color:var(--accent);place-items:center;font-size:1.2rem;font-weight:700;display:grid}.picker{gap:1.25rem;display:grid}@media (width>=720px){.picker{grid-template-columns:minmax(280px,340px) 1fr;align-items:start}}.calendar{border:1px solid var(--border);border-radius:10px;padding:.75rem}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.calendar-title{font-weight:600}.icon-btn{width:var(--tap);height:var(--tap);border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;display:grid}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.25rem 0;font-size:.7rem}.calendar-day{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:100%;min-height:40px;font-size:.95rem;display:grid}.calendar-day:not(:disabled):hover{background:var(--accent-soft)}.calendar-day:disabled{color:#b4bccf;cursor:not-allowed;-webkit-text-decoration:line-through #00000026;text-decoration:line-through #00000026}.calendar-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--accent);color:var(--accent-ink)}.calendar-day.is-outside{visibility:hidden}.times{min-height:6rem}.times-title{margin-bottom:.25rem}.zone-note{color:var(--muted);font-size:.875rem}.time-group{margin-top:1rem}.time-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;display:grid}.time-btn{min-height:var(--tap);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:.5rem .4rem;line-height:1.2;display:flex}.time-btn:hover{border-color:var(--accent)}.time-btn.is-selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.time-main{font-size:.95rem;font-weight:600}.time-day{opacity:.8;font-weight:500}.time-alt{opacity:.75;font-size:.7rem}.step-body{margin-top:.5rem}.field{margin:1rem 0}.field label{margin-bottom:.3rem;font-weight:600;display:block}.field input,.field textarea{width:100%;min-height:var(--tap);font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:8px;padding:.6rem .8rem}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--accent);outline-offset:0}.field textarea{resize:vertical}.review{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:1rem;padding:.9rem 1rem .5rem}.actions{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}.actions--stack{flex-direction:column;align-items:stretch}.btn{cursor:pointer;border:1.5px solid #0000;border-radius:10px;flex:auto;justify-content:center;align-items:center;min-height:48px;padding:.65rem 1.25rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}@media (width>=480px){.btn{flex:0 auto}.actions--stack .btn{flex:auto}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:not(:disabled):hover{filter:brightness(.92)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-danger:not(:disabled):hover{background:var(--danger-soft)}.link-btn{min-height:var(--tap);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-size:.95rem;text-decoration:underline}.summary{gap:.9rem;margin:1rem 0;display:grid}.summary-row{gap:.2rem;display:grid}.summary-row dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.summary-row dd{margin:0}@media (width>=480px){.summary-row{grid-template-columns:7.5rem 1fr;align-items:start}.summary-row dt{padding-top:.15rem}}.confirmation{text-align:left}.confirm-mark{background:var(--success-soft);width:56px;height:56px;color:var(--success);border-radius:50%;place-items:center;margin-bottom:.75rem;display:grid}.confirm-mark svg{width:28px;height:28px}.status{background:var(--border);border-radius:999px;padding:.25rem .7rem;font-size:.9rem;font-weight:600;display:inline-block}.status--confirmed{background:var(--success-soft);color:var(--success)}.status--pending{background:var(--warn-soft);color:#92400e}.status--cancelled,.status--no_show{background:var(--danger-soft);color:var(--danger)}.reschedule{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.unavailable{border-left:4px solid var(--accent)}
