.ribbon-scheduler{flex-direction:column;gap:1rem;display:flex}.ribbon-starter{flex-direction:column;gap:.5rem;display:flex}.ribbon-starter-label{color:var(--sui-text-muted,#5f5f5f);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.ribbon-starter-pills{flex-wrap:wrap;gap:.5rem;display:flex}.ribbon-toggle{border:1px solid var(--sui-border,#d9d9d9);font:inherit;color:var(--sui-text,#222);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:.4rem .9rem}.ribbon-toggle:hover{background:#0000000a}.ribbon-prepay-cta{background:var(--sui-accent,#2563eb);border:1px solid var(--sui-accent,#2563eb);font:inherit;color:#fff;cursor:pointer;border-radius:999px;align-self:flex-start;padding:.55rem 1.1rem;font-weight:600;transition:filter .12s}.ribbon-prepay-cta:hover{filter:brightness(1.05)}.ribbon-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.ribbon-day{border:1px solid var(--sui-border,#d9d9d9);border-radius:var(--sui-radius-lg,12px);background:var(--sui-surface,#fff);scroll-snap-align:start;flex-direction:column;flex:none;gap:.5rem;min-width:9rem;padding:.75rem;display:flex}.ribbon-day-header{color:var(--sui-text-muted,#5f5f5f);border-bottom:1px solid var(--sui-border,#ececec);padding-bottom:.25rem;font-size:.875rem;font-weight:600}.ribbon-day-slots{flex-direction:column;gap:.35rem;display:flex}.slot-pill{border:1px solid var(--sui-border,#d9d9d9);background:var(--sui-surface,#fff);font:inherit;color:var(--sui-text,#222);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;transition:background-color .12s,border-color .12s;display:inline-flex}.slot-pill:hover{background:#0000000a}.slot-pill.is-selected{border-color:var(--sui-accent,#2563eb);background:var(--sui-accent-soft,#dbeafe);color:var(--sui-accent-strong,#1d4ed8)}.slot-pill.is-premium{border-color:var(--sui-premium,#b8860b)}.slot-pill.is-gated{border-color:var(--sui-premium,#b8860b);color:#6b4f00;background:linear-gradient(135deg,#fffbe6,#fff3b0)}.slot-pill .slot-pill-day{color:var(--sui-text-muted,#5f5f5f);margin-right:.25rem;font-size:.75rem}.slot-pill .slot-pill-lock{font-size:.85em}.ribbon-collapsed-hint{color:var(--sui-text-muted,#5f5f5f);font-size:.875rem}.appt-tile{border:1px solid var(--sui-border,#d9d9d9);border-radius:var(--sui-radius-lg,12px);background:var(--sui-surface,#fff);box-shadow:var(--sui-shadow-sm,0 2px 8px #0000000f);cursor:pointer;text-align:left;flex-direction:column;gap:.5rem;padding:.9rem 1rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.appt-tile:hover{border-color:var(--sui-accent,#2563eb);box-shadow:var(--sui-shadow-md,0 6px 18px #0000001a);transform:translateY(-1px)}.appt-tile:focus-visible{outline:3px solid var(--sui-accent-soft,#dbeafe);outline-offset:2px}.appt-tile.selected{border-color:var(--sui-accent,#2563eb);box-shadow:0 0 0 3px var(--sui-accent-soft,#dbeafe), var(--sui-shadow-md,0 6px 18px #0000001a)}.appt-tile.appt-tile-disabled{cursor:not-allowed;opacity:.7}.appt-tile.appt-tile-disabled:hover{border-color:var(--sui-border,#d9d9d9);box-shadow:var(--sui-shadow-sm,0 2px 8px #0000000f);transform:none}.appt-tile-self-paced{background:var(--sui-surface-alt,#f7f7f7)}.appt-tile-head{flex-direction:column;gap:.5rem;display:flex}.appt-tile-title{color:var(--sui-heading,var(--sui-text,#222));margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.appt-tile-meta{color:var(--sui-text-muted,#5f5f5f);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.appt-tile-price{color:var(--sui-accent,#2563eb);font-size:.9rem;font-weight:700}.appt-tile-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.appt-tile-badge-selfpaced{color:#78350f;background:#fde68a}.appt-tile-badge-class{color:#1e3a8a;background:#dbeafe}.appt-tile-cta{color:var(--sui-accent,#2563eb);letter-spacing:.01em;user-select:none;align-self:flex-start;align-items:center;gap:.35rem;margin-top:auto;padding-top:.4rem;font-size:.8rem;font-weight:600;display:inline-flex}.appt-tile.selected .appt-tile-cta:before{content:"✓ "}.appt-tile-cta-prepay{color:#8a3f37}.appt-tile-cta-locked{color:var(--sui-text-muted,#5f5f5f)}.appt-tile-cta-stepup{color:#9a3412}.appt-tile-short{color:var(--sui-text,#222);margin:0;font-size:.95rem;line-height:1.5}.appt-tile-expand{color:var(--sui-accent-strong,#1d4ed8);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.875rem;text-decoration:underline}.appt-tile-long{border-top:1px solid var(--sui-border,#ececec);color:var(--sui-text-muted,#5f5f5f);padding-top:.75rem;font-size:.9rem}.appt-tile-long p{margin:0 0 .5rem}[data-membership-locked=true]{background:var(--sui-surface-alt,#f7f7f7);color:var(--sui-text-muted,#5f5f5f);border:1px dashed var(--sui-border,#d9d9d9);cursor:not-allowed}.provider-tiles{gap:1rem;margin:0;display:grid}.provider-tiles-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.provider-tiles-row{grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;padding-bottom:.5rem;overflow-x:auto}.provider-tile{appearance:none;cursor:pointer;text-align:left;background:var(--sui-surface,#fff);border:1px solid var(--sui-border,#d9d9d9);box-shadow:var(--sui-shadow-sm,0 2px 8px #0000000f);border-radius:14px;align-items:center;gap:1rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.provider-tile:hover{border-color:var(--sui-accent,#2563eb);box-shadow:var(--sui-shadow-md,0 6px 18px #0000001a);transform:translateY(-1px)}.provider-tile.selected{border-color:var(--sui-accent,#2563eb);box-shadow:0 0 0 3px var(--sui-accent-soft,#dbeafe), var(--sui-shadow-md,0 6px 18px #0000001a)}.provider-tile-avatar{background:var(--sui-accent,#2563eb);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff59}.provider-tile-avatar img{object-fit:cover;width:100%;height:100%}.provider-tile-initial{font-size:1.6rem;font-weight:600;line-height:1}.provider-tile-body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.provider-tile-name{color:var(--sui-heading,var(--sui-text,#222));font-size:1.2rem;font-weight:600;line-height:1.2}.provider-tile-bio{color:var(--sui-text-muted,#5f5f5f);font-size:.875rem;line-height:1.4}.location-chip-group{flex-wrap:wrap;gap:.5rem;display:flex}.location-chip{border:1px solid var(--sui-border,#d9d9d9);background:var(--sui-surface,#fff);color:var(--sui-text,#222);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.location-chip:hover{border-color:var(--sui-accent,#2563eb);color:var(--sui-accent,#2563eb)}.location-chip:focus-visible{outline:3px solid var(--sui-accent-soft,#dbeafe);outline-offset:2px}.location-chip.selected{border-color:var(--sui-accent,#2563eb);background:var(--sui-accent-soft,#dbeafe);color:var(--sui-accent-strong,#1d4ed8);box-shadow:0 0 0 2px var(--sui-accent-soft,#dbeafe)}.location-chip-icon{font-size:1rem;line-height:1}.eligibility-banner{flex-direction:column;gap:.75rem;display:flex}.eligibility-blockers{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem 1.25rem}.eligibility-blockers ul{margin:.5rem 0 0;padding-left:1.25rem}.eligibility-stepup{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1rem 1.25rem}.eligibility-warning{background:#fef9c3;border-left:4px solid #facc15;border-radius:0 8px 8px 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.eligibility-warning-cta{flex-shrink:0}.existing-appts-panel{background:var(--sui-surface,#fff);border:1px solid var(--sui-border,#d9d9d9);border-radius:var(--sui-radius-lg,12px);box-shadow:var(--sui-shadow-sm,0 2px 8px #0000000f);padding:1rem 1.25rem}.existing-appts-panel h3{color:var(--sui-heading,var(--sui-text,#222));margin:0 0 .75rem;font-size:1rem}.existing-appts-panel ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.existing-appts-panel li{color:var(--sui-text,#222);justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.existing-appt-state{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .6rem;font-size:.7rem;font-weight:700}.state-pending{color:#78350f;background:#fef3c7}.state-confirmed{color:#064e3b;background:#d1fae5}.state-cancelled{color:#991b1b;background:#fee2e2}.prepay-dialog-backdrop,.forms-gate-dialog-backdrop{z-index:1000;background:#1118278c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.prepay-dialog,.forms-gate-dialog{background:var(--sui-surface,#fff);border-radius:var(--sui-radius-lg,12px);flex-direction:column;gap:1rem;width:100%;max-width:480px;padding:1.5rem 1.5rem 1.25rem;display:flex;box-shadow:0 20px 50px #00000040}.forms-gate-dialog{max-width:520px}.prepay-dialog-head,.forms-gate-dialog-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.prepay-dialog-head h2,.forms-gate-dialog-head h2{color:var(--sui-heading,var(--sui-text,#222));margin:0;font-size:1.25rem}.prepay-dialog-close{cursor:pointer;color:var(--sui-text-muted,#5f5f5f);background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1}.prepay-dialog-lede,.forms-gate-dialog-lede{color:var(--sui-text,#222);margin:0;font-size:.95rem}.prepay-dialog-form{flex-direction:column;gap:1rem;display:flex}.prepay-dialog-actions,.forms-gate-dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.forms-gate-dialog-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.forms-gate-dialog-list li{border:1px solid var(--sui-border,#d9d9d9);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.forms-gate-dialog-item-label{color:var(--sui-text,#222);font-weight:500}.forms-gate-dialog-item-cta{white-space:nowrap;padding:.5rem 1rem;font-size:.9rem}.upsell-sheet-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.upsell-sheet{background:var(--sui-surface,#fff);border-radius:1rem;flex-direction:column;gap:1rem;width:100%;max-width:28rem;max-height:90vh;padding:1.5rem;display:flex;overflow-y:auto;box-shadow:0 20px 60px #00000040}.upsell-sheet-header{justify-content:space-between;align-items:center;display:flex}.upsell-sheet-header h3{margin:0}.upsell-close{cursor:pointer;color:var(--sui-text-muted,#5f5f5f);background:0 0;border:0;font-size:1.5rem;line-height:1}.upsell-tier-list{flex-direction:column;gap:.75rem;display:flex}.upsell-tier{border:1px solid var(--sui-border,#d9d9d9);border-radius:var(--sui-radius-lg,12px);flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.upsell-tier-head{justify-content:space-between;align-items:baseline;display:flex}.upsell-tier-price{color:var(--sui-accent-strong,#1d4ed8);font-weight:600}.upsell-tier-desc{color:var(--sui-text-muted,#5f5f5f);margin:0;font-size:.9rem}@media (width<=600px){.appt-tile-grid{grid-template-columns:1fr}.ribbon-day{min-width:130px}}:root{--sui-surface:var(--mp-bg-white);--sui-surface-alt:var(--mp-bg-light);--sui-border:var(--mp-border);--sui-text:var(--mp-text);--sui-text-muted:var(--mp-text-light);--sui-heading:var(--mp-heading);--sui-accent:var(--mp-accent);--sui-accent-soft:#dcecf1;--sui-accent-strong:var(--mp-primary-dark);--sui-premium:#b8860b;--sui-radius:10px;--sui-radius-lg:14px;--sui-shadow-sm:var(--mp-shadow-sm);--sui-shadow-md:var(--mp-shadow-md);--sui-btn-accent:var(--mp-primary-text);--sui-btn-accent-hover:var(--mp-primary-dark);--sui-btn-on-accent:var(--mp-button-text);--sui-btn-radius:50px;--sui-btn-font:var(--mp-font-family);--sui-btn-danger:#9c2f2f;--sui-btn-danger-hover:#842727;--sui-btn-focus-color:var(--mp-primary-text);--color-primary:var(--mp-primary-text);--color-heading:var(--mp-heading);--color-text-muted:var(--mp-text-muted);--color-surface:var(--mp-bg-white)}.schedule-page-section{padding-block:1.5rem 3rem}.schedule-page-container{width:100%;max-width:960px;margin-inline:auto;padding-inline:20px}.scheduling-flow{display:block}.scheduling-shared-header{gap:1rem;margin-bottom:1rem;display:grid}.scheduling-shared-header:empty{margin:0;display:none}@media (width>=720px){.scheduling-shared-header{grid-template-columns:1fr 2fr}}.variant{flex-direction:column;gap:1rem;padding:0;scroll-margin-top:90px;display:flex}.variant>h3{font-family:var(--mp-display-font);color:var(--mp-heading);margin:0;font-size:1.5rem;font-weight:600}.appt-tile-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.appt-tile-grid-collapsed{grid-template-columns:minmax(200px,340px)}.appt-tile-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.appt-tile-section-head h3{font-family:var(--mp-display-font);color:var(--mp-heading);margin:0}.appt-tile-change-btn{border:1px solid var(--mp-border);color:var(--mp-text);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.appt-tile-change-btn:hover,.appt-tile-change-btn:focus-visible{border-color:var(--mp-accent);color:var(--mp-accent);outline:none}.provider-filter-hint{color:var(--mp-text-muted);font-size:.85rem;font-weight:400}.scheduling-empty{color:var(--mp-text-light);background:var(--mp-bg-light);border:1px solid var(--mp-border);border-radius:8px;padding:1rem 1.25rem}.muted{color:var(--mp-text-muted);font-size:.9rem}.credit-banner{color:#78350f;background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fde68a;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem;display:flex}.credit-banner-icon{color:#d97706;font-size:1.1rem}.booking-footer{border-top:1px solid var(--mp-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.5rem;display:flex}.booking-footer .btn-lg{padding:.85rem 1.75rem;font-size:1.05rem}.booking-footer:empty{border:0;padding:0;display:none}.booking-footer .form-group{margin:0}.booking-footer .form-group>label{color:var(--mp-heading);margin-bottom:.4rem;font-weight:600;display:block}.booking-result{background:var(--mp-bg-white);border:1px solid var(--mp-border);box-shadow:var(--mp-shadow-sm);border-radius:12px;width:100%;padding:1.5rem}.booking-result h2{font-family:var(--mp-display-font);color:var(--mp-heading);margin-top:0}.alert{border-radius:8px;padding:.8rem 1.1rem;font-size:.95rem}.alert-error{color:#742a2a;background:#fff5f5;border:1px solid #feb2b2}.alert-info{color:#2a4365;background:#ebf8ff;border:1px solid #bee3f8}.recovery-setup-gate{background:var(--mp-bg-light);border:1px solid var(--mp-border);border-radius:12px;width:100%;padding:1.25rem 1.5rem}.recovery-setup-gate h3{color:var(--mp-heading);margin-top:0}.recovery-setup-gate__methods{margin:.5rem 0 1rem 1.25rem}.recovery-setup-gate__footer{color:var(--mp-text-light);margin-bottom:0;font-size:.9rem}.contact-to-book{text-align:center;background:var(--mp-bg-white);border:1px solid var(--mp-border);max-width:560px;box-shadow:var(--mp-shadow-sm);border-radius:14px;margin:2rem auto;padding:2.5rem 2rem}.contact-to-book h2{font-family:var(--mp-display-font);color:var(--mp-heading);margin-top:0}.contact-to-book p{color:var(--mp-text);line-height:1.65}.contact-to-book-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.stripe-checkout{margin-top:1rem}.scheduling-empty-request{border:1px dashed var(--mp-border,#d1d5db);text-align:center;border-radius:8px;margin-top:.75rem;padding:1rem}.scheduling-empty-request p{margin:0 0 .75rem}.request-appointment-toggle{color:var(--mp-accent,#b45309);cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:0;font-size:.95rem;text-decoration:underline;display:inline-block}.request-appointment-section{border:1px solid var(--mp-border,#d1d5db);background:var(--mp-bg-white,#fff);border-radius:10px;margin-top:1rem;padding:1.25rem}.request-appointment-form .request-appointment-window-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem;margin:.5rem 0 1rem;display:grid}.request-appointment-window-pill{border:1px solid var(--mp-border,#d1d5db);background:var(--mp-bg-white,#fff);cursor:pointer;border-radius:999px;padding:.4rem .5rem;font-size:.85rem}.request-appointment-window-pill.selected{background:var(--mp-accent,#b45309);border-color:var(--mp-accent,#b45309);color:#fff}.request-appointment-contact-pref .radio-label,.request-appointment-form .radio-label{margin-right:1rem;font-size:.9rem}.request-appointment-actions{gap:.75rem;margin-top:1rem;display:flex}.request-appointment-cancel{border:1px solid var(--mp-border,#d1d5db);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem}.request-appointment-success,.request-appointment-pending{text-align:center;padding:1rem}
