.booking-experience{--booking-bg:#f1f5f7;--booking-panel:#fff;--booking-ink:#101e2b;--booking-muted:#536575;--booking-line:#d7e2e9;--booking-soft:#e9f7fa;--booking-accent:#006d85;--booking-cyan:#00d2ce;--booking-blue:#0090f0;--booking-on-accent:#fff;--background:0 0% 100%;--foreground:209 46% 12%;--card:0 0% 100%;--card-foreground:209 46% 12%;--primary:191 100% 26%;--primary-foreground:0 0% 100%;--muted:193 63% 95%;--muted-foreground:207 17% 39%;--border:203 29% 88%;--input:203 29% 88%;--ring:191 100% 26%;--accent:193 63% 95%;--accent-foreground:209 46% 12%;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;min-height:100dvh;background:radial-gradient(ellipse at 100% 0,#dceff7 0,transparent 40%),var(--booking-bg);color:var(--booking-ink);padding:32px 24px 20px;color-scheme:light}.dark .booking-experience{--booking-bg:#080e14;--booking-panel:#111c27;--booking-ink:#eef7fc;--booking-muted:#a5b8c7;--booking-line:#2b3e50;--booking-soft:#132e3b;--booking-accent:#00d2ce;--booking-on-accent:#07141e;--background:210 39% 11%;--foreground:201 70% 96%;--card:210 39% 11%;--card-foreground:201 70% 96%;--primary:179 100% 41%;--primary-foreground:204 62% 7%;--muted:200 51% 15%;--muted-foreground:205 23% 71%;--border:209 30% 24%;--input:209 30% 24%;--ring:179 100% 41%;--accent:200 51% 15%;--accent-foreground:201 70% 96%;background:radial-gradient(ellipse at 100% 0,#102c40 0,transparent 40%),var(--booking-bg);color-scheme:dark}.booking-shell{max-width:1120px;margin:auto}.booking-mobile-copy,.booking-mobile-review{display:none}.booking-hero h1>.booking-desktop-copy{color:inherit}.booking-hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:38px 24px 42px;margin-bottom:24px;border-radius:16px;background:radial-gradient(ellipse at 85% 0,#12384c 0,transparent 60%),#080f17;color:#f4faff;box-shadow:0 16px 40px #0b20351a}.booking-hero:after{content:"";position:absolute;bottom:0;left:15%;right:15%;height:2px;background:linear-gradient(90deg,transparent,var(--booking-cyan),var(--booking-blue),transparent)}.booking-hero h1 span{color:#59e7ee}.booking-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:10px}.booking-hero .booking-eyebrow{justify-content:center;color:#6de6ed;flex-wrap:wrap;letter-spacing:.2em}.booking-brand-icon{display:inline-flex;padding:8px;border-radius:8px;background:#00d2ce15;color:#00e0e0;box-shadow:inset 0 0 0 1px #00d2ce30}.booking-hero h1{font-weight:600;font-size:clamp(36px,4vw,54px);line-height:1.08;letter-spacing:-.045em;margin:20px 0 16px}.booking-hero p,.booking-section-heading>p:last-child{font-size:14px;line-height:1.6;color:var(--booking-muted)}.booking-hero p{color:#b9cbd8}.booking-progress{display:flex;max-width:690px;margin:0 auto 44px;padding-bottom:16px;border-bottom:1px solid var(--booking-line);gap:12px}.booking-progress button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;color:var(--booking-muted);min-height:44px;border-radius:12px}.booking-progress button:disabled{cursor:default}.booking-progress button[aria-current]{color:var(--booking-ink);background:var(--booking-soft)}.booking-step-number{width:28px;height:28px;border:1px solid var(--booking-line);display:grid;place-items:center;border-radius:7px;font-size:10px}.booking-progress button[aria-current] .booking-step-number{background:var(--booking-accent);color:var(--booking-on-accent);border-color:var(--booking-accent)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}.booking-details,.booking-main,.booking-panel{min-width:0}.booking-section-heading{margin-bottom:24px}.booking-section-heading .booking-eyebrow{color:var(--booking-muted)}.booking-section-heading h2{font-weight:600;font-size:28px;letter-spacing:-.035em;margin:8px 0;scroll-margin-top:24px;outline:none}.booking-confirmation,.booking-details>div,.booking-panel{border:0;border-radius:14px;background:var(--booking-panel);color:var(--booking-ink);box-shadow:0 8px 32px #102b4310,0 0 0 1px #7b9eb015}.booking-panel{padding:28px}.booking-label{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:18px}.booking-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-location{min-width:0;text-align:left;padding:20px;border:1px solid var(--booking-line);border-radius:10px;background:var(--booking-panel);display:flex;flex-direction:column;transition:background .2s,border-color .2s,box-shadow .2s}.booking-location.is-selected,.booking-location:hover:not(:disabled),.booking-slot:hover,.booking-visit.is-selected,.booking-visit:hover{border-color:var(--booking-accent);background:var(--booking-soft)}.booking-location.is-selected,.booking-visit.is-selected{box-shadow:inset 0 0 0 1px var(--booking-accent)}.booking-location:disabled{opacity:.65;cursor:not-allowed}.booking-label>svg,.booking-location-top>svg{color:var(--booking-accent)}.booking-location-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.booking-choice-check{border:1px solid var(--booking-line);width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;place-items:center}.is-selected .booking-choice-check{background:var(--booking-accent);border-color:var(--booking-accent);color:var(--booking-on-accent)}.booking-location>strong{font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}.booking-location-address{font-size:12px;color:var(--booking-muted);line-height:1.6;margin-top:8px;overflow-wrap:anywhere}.booking-days{font-size:11px;font-weight:700;margin-top:18px;margin-bottom:18px;letter-spacing:.03em}.booking-location-action{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--booking-line);font-size:11px;margin-top:auto}.booking-hours{margin-top:14px;font-size:12px;color:var(--booking-muted)}.booking-hours summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px}.booking-hours summary:after{content:"+";margin-left:auto;font-size:20px}.booking-hours[open] summary:after{content:"−"}.booking-hours p{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--booking-line)}.booking-hours p span{text-align:right}.booking-hours small{display:block;margin-top:10px}.booking-visit-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--booking-line)}.booking-visit-grid{display:grid;gap:10px}.booking-visit{border:1px solid var(--booking-line);border-radius:14px;padding:16px;text-align:left;display:flex;gap:12px;align-items:center;transition:background .2s}.booking-visit strong{font-size:14px;font-weight:600;display:block}.booking-visit small{font-size:12px;color:var(--booking-muted);display:block;margin-top:4px}.booking-summary{position:sticky;top:28px;background:radial-gradient(ellipse at 100% 0,#12384c 0,transparent 70%),#0b1520;color:#f0f8ff;padding:28px;border-radius:14px;overflow-wrap:anywhere;box-shadow:0 12px 32px #07172220;border-top:2px solid #00d2ce}.booking-summary-top{display:flex;justify-content:space-between;color:#62e5ec}.booking-summary h2{font-size:29px;font-weight:500;line-height:1.15;margin:24px 0;letter-spacing:-.035em}.booking-summary-row{display:flex;gap:13px;border-top:1px solid #ffffff24;padding:20px 0}.booking-summary-row>svg{color:#52d8e6;flex-shrink:0;margin-top:3px}.booking-summary-row small{display:block;font-size:9px;letter-spacing:.13em;color:#a1b7c8;margin-bottom:7px}.booking-summary-row strong{font-size:14px;font-weight:500;display:block}.booking-summary-row p{font-size:12px;line-height:1.6;color:#bed0de;margin-top:5px}.booking-summary-note{padding:16px;margin-top:16px;border-radius:12px;background:#ffffff0d;color:#c8d9e7;font-size:12px;line-height:1.7}.booking-summary-edit{display:flex;gap:8px;align-items:center;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.booking-date-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.booking-date-heading .booking-label{margin:0}.booking-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--booking-accent);font-weight:600;min-height:44px}.booking-calendar{margin:20px auto 0;padding:8px 0 16px;width:100%;max-width:420px}.booking-calendar .rdp-month,.booking-calendar .rdp-months{width:100%}.booking-calendar .rdp-head_row,.booking-calendar .rdp-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.booking-calendar .rdp-cell,.booking-calendar .rdp-head_cell{width:auto}.booking-calendar .rdp-cell{height:auto;aspect-ratio:1}.booking-calendar .rdp-day{width:100%;height:100%;border-radius:10px;font-size:14px;font-weight:500}.booking-calendar .rdp-caption{min-height:44px;margin-bottom:12px}.booking-calendar .rdp-nav_button{height:40px;width:40px;opacity:1;border-radius:50%}.booking-calendar .rdp-nav_button:disabled{opacity:.3}.booking-calendar .booking-open-day{background:var(--booking-soft);color:var(--booking-ink)}.booking-calendar .booking-selected-day,.booking-calendar .booking-selected-day:hover{background:var(--booking-accent);color:var(--booking-on-accent);box-shadow:0 0 0 2px var(--booking-panel),0 0 0 3px var(--booking-accent)}.booking-calendar .booking-closed-day{color:var(--booking-muted);opacity:.4;background:transparent;cursor:not-allowed}.booking-calendar-key{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:var(--booking-muted);margin:14px 0}.booking-calendar-key span{width:9px;height:9px;border-radius:3px;background:var(--booking-accent)}.booking-calendar-key .closed{background:var(--booking-line);margin-left:8px}.booking-help{font-size:12px;color:var(--booking-muted);line-height:1.65;margin-top:12px}.booking-times{margin-top:24px;padding-top:20px;border-top:1px solid var(--booking-line)}.booking-empty{flex-direction:column;text-align:center;padding:30px 12px;line-height:1.6}.booking-empty,.booking-loading{display:flex;align-items:center;justify-content:center;color:var(--booking-muted);gap:12px;font-size:13px}.booking-loading{padding:36px 12px}.booking-loading svg{width:20px;flex-shrink:0}.booking-feedback{padding:20px;background:var(--booking-soft);border-radius:12px;font-size:14px;line-height:1.6}.booking-feedback button{margin-top:12px}.booking-time-group{margin-top:20px}.booking-time-group h4{font-size:11px;letter-spacing:.04em;color:var(--booking-muted);margin-bottom:10px}.booking-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-slot{border:1px solid var(--booking-line);min-height:46px;border-radius:10px;font-size:13px;font-weight:500;transition:background .2s}.booking-slot.is-selected{background:var(--booking-accent);color:var(--booking-on-accent);border-color:var(--booking-accent)}.booking-actions{display:flex;gap:10px;margin-top:24px}.booking-actions button{min-height:52px;border-radius:12px;gap:9px}.booking-continue{flex:1;font-size:14px;font-weight:700;color:#051521;background:linear-gradient(110deg,#00d2ce,#0090f0);box-shadow:0 5px 18px #0090f020}.booking-continue:hover:not(:disabled){background:linear-gradient(110deg,#36e4dd,#38adfa);box-shadow:0 7px 24px #0090f030}.booking-back{background:var(--booking-panel);color:var(--booking-ink)}.booking-bottom-note,.booking-footer{font-size:11px;text-align:center;color:var(--booking-muted);line-height:1.6;margin-top:14px}.booking-footer{padding:28px 0 12px;letter-spacing:.08em}.booking-details input,.booking-details textarea{font-size:16px;min-height:48px;border-radius:10px}.booking-details canvas{max-width:100%}.booking-details [role=radiogroup]>div{min-height:40px}.booking-experience button:focus-visible,.booking-hours summary:focus-visible{outline:2px solid var(--booking-accent);outline-offset:4px}.booking-summary button:focus-visible{outline-color:#62e5ec}.booking-experience [hidden]{display:none!important}@media (max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr);gap:24px;max-width:650px;margin:auto}.booking-summary{position:static;padding:24px}.booking-summary h2{display:none}.booking-summary-top{margin-bottom:16px}.booking-summary-row{padding:14px 0}.booking-summary-note{margin-top:4px}}@media (max-width:540px){.booking-experience,.dark .booking-experience{padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:var(--booking-panel)}.booking-desktop-copy{display:none}.booking-mobile-copy{display:inline}.booking-hero{padding:0;margin-bottom:22px;border-radius:0;background:none;color:var(--booking-ink);box-shadow:none;text-align:left}.booking-brand-icon,.booking-hero:after,.booking-hero>p{display:none}.booking-hero .booking-eyebrow{justify-content:flex-start;color:var(--booking-accent);font-size:9px;letter-spacing:.1em}.booking-hero h1{font-size:24px;margin:10px 0 0;line-height:1.2}.booking-hero h1 .booking-mobile-copy{color:var(--booking-ink)}.booking-progress{gap:6px;margin-bottom:24px;padding-bottom:0;border:0}.booking-progress button{flex-direction:row;gap:5px;font-size:10px;padding:8px 2px;min-height:44px;border-radius:0;border-bottom:2px solid var(--booking-line)}.booking-progress button[aria-current]{color:var(--booking-accent);background:none;border-bottom-color:var(--booking-accent)}.booking-step-number{width:16px;height:18px;border:0;font-size:10px}.booking-progress button[aria-current] .booking-step-number{background:none;color:inherit}.booking-section-heading{margin-bottom:18px}#booking-location-heading,#booking-times,#booking-visit-heading{scroll-margin-top:20px;outline:none}.booking-details input,.booking-details textarea{scroll-margin-top:24px}.booking-actions:focus{outline:none}.booking-section-heading h2{font-size:21px;margin:0 0 8px}.booking-experience[data-step="1"] .booking-section-heading>p:last-child,.booking-section-heading>.booking-eyebrow{display:none}.booking-section-heading>p:last-child{font-size:13px}.booking-details>div,.booking-panel{padding:0;border-radius:0;box-shadow:none}.booking-label{font-size:13px;margin-bottom:12px}.booking-label>svg{display:none}.booking-location{position:relative;padding:14px 44px 14px 14px;border-radius:10px}.booking-location-grid{grid-template-columns:minmax(0,1fr);gap:10px}.booking-location-top{position:absolute;top:14px;right:14px;margin:0}.booking-location-action,.booking-location-top>svg{display:none}.booking-location>strong{font-size:17px;letter-spacing:-.02em}.booking-location-address{font-size:12px;margin-top:5px}.booking-days{font-size:11px;margin:6px 0 0;color:var(--booking-muted);font-weight:500}.booking-hours{margin-top:6px}.booking-visit-section{margin-top:18px;padding-top:0;border:0}.booking-visit{padding:13px 14px;border-radius:10px}.booking-calendar-key+.booking-help,.booking-times-pending{display:none}.booking-calendar{margin-top:10px}.booking-bottom-note,.booking-footer,.booking-summary{display:none}.booking-mobile-review{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--booking-soft);color:var(--booking-ink);border-radius:10px;padding:14px;margin-bottom:24px}.booking-mobile-review strong{font-size:14px}.booking-mobile-review p{font-size:12px;color:var(--booking-muted);line-height:1.6;margin-top:3px}.booking-mobile-review button{flex-shrink:0}.booking-intake-heading{display:none}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-actions{position:sticky;bottom:0;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--booking-panel);z-index:20}.booking-actions button{font-size:13px}.booking-actions .booking-continue{background:var(--booking-accent);color:var(--booking-on-accent);box-shadow:none}.booking-actions .booking-continue:hover:not(:disabled){background:var(--booking-accent);filter:brightness(.95);box-shadow:none}.booking-details>div>div{padding-left:0;padding-right:0}.booking-details .grid-cols-2{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.booking-experience *{transition:none!important;scroll-behavior:auto!important}}