.schedule-page{background:radial-gradient(ellipse at 18% 0,rgba(216,176,122,.09),transparent 45%),#202224;line-height:1.55;color:#f6f2ec}
.booking-header{max-width:1120px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff14}.booking-header img{width:145px;height:auto}.booking-header nav{display:flex;gap:22px;font-size:.9rem}.booking-header a{text-decoration:none}.booking-header a:hover{text-decoration:underline}.booking-header nav a{display:inline-flex;align-items:center;min-height:44px}
.booking-shell{max-width:1000px;margin:auto;padding:48px 24px 40px}.booking-intro{max-width:670px;margin-bottom:30px}.booking-eyebrow{color:#d8b07a;text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;font-weight:650}.booking-intro h1{font-size:clamp(2.15rem,6vw,3.6rem);font-weight:500;letter-spacing:-.04em;line-height:1.06;margin:12px 0 18px}.booking-intro>p:not(.booking-eyebrow){color:#cfcbc5;font-size:1.06rem}.booking-approval{display:inline-flex;padding:7px 12px;border:1px solid #d8b07a4a;border-radius:99px;color:#e7c79d;font-size:.8rem}
.booking-panel{background:#2b2d2e;border:1px solid #ffffff17;border-radius:18px;padding:28px;margin:20px 0;box-shadow:0 12px 32px #00000012;scroll-margin-top:16px}.booking-step-heading{display:flex;align-items:center;gap:11px;margin-bottom:22px}.booking-step{width:29px;height:29px;display:grid;place-items:center;background:#d8b07a1f;border:1px solid #d8b07a60;border-radius:50%;color:#e8c89f;font-size:.8rem;flex-shrink:0}.booking-panel h2,.booking-fallback h2{font-size:1.28rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:0}.booking-panel h3{font-size:1rem;font-weight:600;letter-spacing:0;margin:0}.booking-panel label,.booking-field-label{display:block;font-size:.88rem;font-weight:600;margin-bottom:8px}
.booking-panel input,.booking-panel select,.booking-panel textarea{width:100%;min-width:0;min-height:49px;display:block;border:1px solid #ffffff2e;border-radius:9px;background:#202224;color:#fff;font:inherit;font-size:1rem;line-height:1.35;padding:12px 13px;margin-top:8px}.booking-panel textarea{resize:vertical;min-height:108px}.booking-panel input::placeholder,.booking-panel textarea::placeholder{color:#a4a5a6;font-size:.9rem}.booking-panel input:focus,.booking-panel textarea:focus,.booking-panel select:focus{outline:2px solid #d8b07a;outline-offset:2px}.booking-address-row{display:flex;gap:12px;align-items:flex-start}.booking-address-row input{flex:1;margin-top:0}
.booking-primary,.booking-secondary,.booking-icon,.booking-window,.booking-text-button{font:inherit;cursor:pointer;min-height:47px;border-radius:9px;transition:background .15s,border-color .15s}.booking-primary{padding:11px 18px;background:#d8b07a;color:#221b15;border:1px solid #d8b07a;font-weight:700;white-space:nowrap}.booking-primary:hover{background:#edc998}.booking-primary:disabled{opacity:.6;cursor:wait}.booking-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;background:transparent;border:1px solid #ffffff40;color:#f5f1e9;text-decoration:none}.booking-helper{font-size:.82rem;color:#b4b6b7;margin:12px 0 0;font-weight:400;line-height:1.55}.booking-status{font-size:.92rem;margin:12px 0;white-space:pre-line}.booking-status:empty{display:none}.booking-status[data-kind=error]{color:#ffbdb1}.booking-status[data-kind=success]{color:#a4d7bd}
.booking-address-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-top:-10px;border-bottom:1px solid #ffffff14}.booking-address-summary p{margin:0;font-size:.9rem;color:#c9cbca;overflow-wrap:anywhere}.booking-text-button{background:none;border:0;color:#e8c89f;padding:8px 0;font-size:.82rem;flex-shrink:0;text-decoration:underline;text-underline-offset:3px}.booking-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 6px}.booking-calendar-toolbar .booking-helper{margin:3px 0 0}.booking-scroll-controls{display:flex;gap:7px}.booking-icon{min-width:44px;min-height:44px;background:transparent;border:1px solid #ffffff29;color:#eee;font-size:1.65rem;line-height:1}.booking-check-progress{min-height:22px;font-size:.81rem;color:#d7c6ad;margin:8px 0 12px;white-space:pre-line}.booking-calendar-stage{position:relative;isolation:isolate;min-height:270px}
.booking-calendar{display:grid;grid-auto-flow:column;grid-auto-columns:164px;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#77716a #242627;padding:3px 2px 17px;min-width:0;max-width:100%;-webkit-overflow-scrolling:touch}
.booking-calendar:empty{display:none}.booking-calendar-empty{display:grid;place-items:center;min-height:230px;margin:0;padding:24px;text-align:center;font-size:.94rem;line-height:1.6;color:#c9cbca;border:1px solid #ffffff21;border-radius:13px;background:#222425}.booking-calendar-toolbar:has(.booking-helper:empty){margin-top:8px}.booking-calendar-toolbar:has(.booking-helper:empty) .booking-scroll-controls{display:none}
.booking-address-match-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.booking-address-progress{padding:22px 0 12px;text-align:center;color:#cfcbc5;font-size:.9rem}.booking-address-progress p{margin-bottom:0}.booking-address-candidates{display:grid;gap:11px}.booking-address-candidate{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:76px;width:100%;padding:16px;text-align:left;border:1px solid #d8b07a70;border-radius:11px;background:#d8b07a0b;color:#f4eee5;font:inherit;font-size:.95rem;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}.booking-address-candidate:hover{background:#d8b07a1a;border-color:#d8b07a}.booking-address-candidate-action{color:#e8c89f;font-size:.81rem;font-weight:650}.booking-address-candidate:focus-visible{outline:2px solid #f9dbb5;outline-offset:3px}
.booking-map-credit{display:block;margin-top:12px;font-size:.71rem;color:#8f9293}
.booking-area-help{padding:18px;border:1px solid #d8b07a60;border-radius:12px;background:#d8b07a09;margin:18px 0}.booking-area-help p{margin:0 0 14px;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.booking-area-actions{display:flex;flex-wrap:wrap;gap:9px}.booking-area-actions .booking-secondary{font-size:.82rem;flex:1 1 72px;padding:10px 12px}.booking-area-actions .booking-secondary:first-child{flex-basis:100%}
.booking-receipt-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px}.booking-receipt .booking-receipt-actions .booking-secondary{margin-top:0}
.booking-day{box-sizing:border-box;min-height:246px;aspect-ratio:2/3;display:flex;flex-direction:column;gap:14px;padding:14px 11px;border:1px solid #ffffff21;border-radius:13px;background:#222425;scroll-snap-align:start}.booking-day[data-selected=true]{border-color:#d8b07a;background:#d8b07a0a}.booking-day-heading{display:flex;flex-direction:column;gap:2px;padding:0 2px}.booking-day-weekday{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:#c4b49d}.booking-day-date{font-size:1.4rem;font-weight:600;line-height:1.2;color:#f0e7db}.booking-day-windows{display:flex;flex:1;flex-direction:column;gap:9px}
.booking-window{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:62px;padding:9px 4px;border:1px solid #ffffff35;background:#2c2e2f;color:#eee;line-height:1.2}.booking-window-time{font-size:.87rem;font-weight:650;white-space:nowrap}.booking-window-status{font-size:.7rem;font-weight:400;color:#bfc1c1}.booking-window[data-state=available]{border-color:#d8b07a6b;background:#d8b07a0b}.booking-window[data-state=available] .booking-window-status{color:#e5c08f}.booking-window[data-state=unknown]{border-style:dashed}.booking-window[aria-pressed=true]{border:2px solid #d8b07a;background:#d8b07a24;color:#ffe3bd}.booking-window:disabled{opacity:.48;cursor:default;background:#292b2c;border-color:#ffffff20}.booking-window[data-state=closed]{border-style:dashed}.booking-window:focus-visible,.booking-primary:focus-visible,.booking-secondary:focus-visible,.booking-icon:focus-visible,.booking-text-button:focus-visible,.booking-calendar:focus-visible{outline:2px solid #f9dbb5;outline-offset:3px}
.booking-review-overlay{position:absolute;inset:0 0 14px;z-index:2;display:grid;place-items:center;padding:18px;background:#202224e8;backdrop-filter:blur(4px);border:1px solid #ffffff17;border-radius:13px}.booking-review-card{max-width:420px;text-align:center}.booking-review-card h3{font-size:1.12rem;margin:12px 0 8px}.booking-review-card p{font-size:.84rem;color:#c7c9c9;margin:0 0 14px;white-space:pre-line}.booking-review-card .booking-secondary{font-size:.8rem;min-height:44px}.booking-spinner{display:block;width:28px;height:28px;border:3px solid #d8b07a30;border-top-color:#d8b07a;border-radius:50%;margin:auto;animation:booking-spin .8s linear infinite}.booking-review-card progress{display:block;width:min(250px,100%);height:5px;accent-color:#d8b07a;margin:0 auto 18px;border:0;border-radius:8px;overflow:hidden}.booking-review-card progress::-webkit-progress-bar{background:#ffffff1c}.booking-review-card progress::-webkit-progress-value{background:#d8b07a}@keyframes booking-spin{to{transform:rotate(360deg)}}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.booking-fields>label{margin-bottom:0}.booking-wide,.booking-contact{grid-column:1/-1}.booking-contact{margin:0 0 -12px}.booking-contact p{margin:0}.booking-optional{font-weight:400;color:#b8b9ba}.booking-selection{border-left:3px solid #d8b07a;background:#d8b07a0c;border-radius:0 7px 7px 0;padding:12px 15px;margin-bottom:22px;font-size:.94rem;white-space:pre-line}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#send-request{margin-top:20px}#check-more{margin-top:16px}
.booking-fallback{padding:18px 8px;color:#c9c8c5}.booking-fallback h2{font-size:1.05rem;color:#ece7df;margin-bottom:10px}.booking-fallback p{font-size:.9rem}.booking-fallback a,.booking-notice a{color:#e8c89f;text-underline-offset:3px}.booking-footer{max-width:1000px;margin:auto;padding:25px 24px 35px;color:#a7a9a9;font-size:.8rem;border-top:1px solid #ffffff14}.booking-footer a{color:inherit}.booking-receipt{text-align:center;padding:36px 28px}.booking-receipt h2{font-size:1.8rem;margin:12px 0 20px}.booking-receipt p{color:#c9cbca;white-space:pre-line}.booking-receipt-icon{display:grid;place-items:center;width:54px;height:54px;background:#80bb9b24;border-radius:50%;color:#a4d7bd;font-size:1.6rem;margin:auto}.booking-receipt .booking-secondary{margin-top:12px}.booking-notice{padding:18px;border:1px solid #d8b07a75;border-radius:12px}.schedule-page [hidden]{display:none!important}
@media(max-width:560px){.booking-header{padding:12px 18px;gap:10px}.booking-header img{width:122px}.booking-header nav{gap:14px;font-size:.77rem}.booking-shell{padding:30px 16px}.booking-intro{margin-bottom:25px}.booking-intro h1{max-width:320px}.booking-intro>p:not(.booking-eyebrow){font-size:.96rem}.booking-panel{padding:20px 15px;border-radius:14px;margin:16px 0}.booking-address-row{flex-direction:column;gap:10px}.booking-address-row input,.booking-address-row button{width:100%}.booking-panel h2{font-size:1.13rem}.booking-step-heading{gap:9px;margin-bottom:18px}.booking-address-summary{align-items:flex-start;gap:9px}.booking-address-summary p{font-size:.82rem;padding-top:8px}.booking-text-button{font-size:.74rem}.booking-calendar{grid-auto-columns:146px;gap:10px}.booking-day{min-height:230px;aspect-ratio:2/3;padding:13px 9px;gap:12px}.booking-day-date{font-size:1.3rem}.booking-window-time{font-size:.82rem}.booking-calendar-toolbar h3{font-size:.96rem}.booking-calendar-toolbar .booking-helper{font-size:.75rem}.booking-review-overlay{padding:16px}.booking-review-card h3{font-size:1rem}.booking-review-card p{font-size:.79rem}.booking-spinner{width:24px;height:24px}.booking-fields{grid-template-columns:1fr;gap:17px}.booking-wide,.booking-contact{grid-column:auto}.booking-footer{padding-inline:20px}.booking-approval{font-size:.75rem}.booking-primary{width:100%}.booking-panel input,.booking-panel select,.booking-panel textarea{font-size:16px}.booking-selection{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){.schedule-page *{scroll-behavior:auto;transition:none}.booking-spinner{animation:none;border-top-color:#d8b07a;border-right-color:#d8b07a}}
