.booking-page{min-height:100dvh}.booking-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:100px;display:flex}.booking-main{max-width:1160px;padding-block:64px 72px}.booking-intro{margin-bottom:42px}.booking-intro h1{letter-spacing:-.045em;margin:16px 0 20px;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.12}.booking-intro h1 span{color:var(--brand-light)}.booking-intro>p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:15px;line-height:1.8}.booking-facts{color:var(--text);flex-wrap:wrap;gap:14px 28px;margin-top:22px;font-size:12px;display:flex}.booking-facts span{align-items:center;gap:9px;display:inline-flex}.booking-facts svg{color:var(--brand-light)}.booking-grid{border:1px solid var(--line);border-radius:12px;grid-template-columns:.95fr 1.05fr;min-width:0;margin:0;padding:0;display:grid;overflow:hidden}.booking-schedule,.booking-details{min-width:0;padding:34px}.booking-schedule{background:var(--panel);border-right:1px solid var(--line)}.booking-details{background:var(--bg)}.booking-step{align-items:center;gap:12px;margin-bottom:12px;display:flex}.booking-step>span{font-family:var(--font-geist-mono), monospace;color:var(--brand-light);font-size:12px}.booking-step h2{letter-spacing:-.035em;margin:0;font-size:21px;font-weight:500}.booking-help{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.booking-label{color:var(--text);margin-bottom:9px;font-size:12px;font-weight:500;display:block}.booking-schedule>.booking-label{margin-top:27px}.booking-input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;min-height:46px;color:var(--text);border-radius:6px;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s}.booking-input:focus{border-color:var(--brand-light)}.booking-input[aria-invalid=true]{border-color:#fda4af}.booking-input::placeholder{color:var(--muted);opacity:.75}textarea.booking-input{resize:vertical;min-height:95px}.booking-date{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.booking-date::-webkit-calendar-picker-indicator{cursor:pointer;padding:3px}.booking-slots-heading{flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:26px;display:flex}.booking-slots-heading span{color:var(--muted);font-size:10px;font-weight:400}.booking-slots{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.booking-slot{min-height:45px;color:var(--text);border:1px solid var(--line);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-size:13px;display:flex}.booking-slot:hover{border-color:var(--brand-light)}.booking-slot.is-selected{background:var(--brand-primary);border-color:var(--brand-light);color:#fff}.booking-slot-message{min-height:130px;color:var(--muted);justify-content:center;align-items:center;gap:10px;margin:0;font-size:13px;line-height:1.6;display:flex}.booking-slot-error{padding-top:18px;display:block}.booking-slot-error button{min-height:44px;color:var(--brand-light);background:0 0;border:0}.booking-notice{margin-top:22px}.booking-selection{border-top:1px solid var(--line);color:var(--brand-light);align-items:center;gap:12px;margin-top:27px;padding-top:22px;display:flex}.booking-selection strong,.booking-selection span{display:block}.booking-selection strong{text-transform:capitalize;font-size:13px;font-weight:500}.booking-selection span{color:var(--muted);margin-top:5px;font-size:11px}.booking-fields{gap:18px;margin-top:25px;display:grid}.booking-field{display:grid}.booking-field>.booking-help{margin-top:5px;font-size:10px}.booking-field-error{color:#fda4af;margin-top:5px;font-size:12px}.booking-consent{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:11px;line-height:1.65;display:flex}.booking-consent input{accent-color:var(--brand-primary);flex:none;width:17px;height:17px;margin-top:3px}.booking-consent a,.booking-footer a{color:var(--brand-light);text-underline-offset:3px;text-decoration:underline}.booking-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.booking-error{color:#fecdd3;background:#4c05191f;border-left:2px solid #fda4af;margin:0;padding:10px 13px;font-size:12px;line-height:1.65}.booking-submit{width:100%;min-height:49px}.booking-submit:disabled{opacity:.48;cursor:not-allowed;transform:none}.booking-submit-note{text-align:center;margin-top:-10px;font-size:10px}.booking-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:18px;padding-block:24px;font-size:11px;display:flex}.booking-confirmation{border:1px solid var(--line);background:var(--panel);border-radius:12px;max-width:690px;padding:40px}.booking-success-icon{color:var(--brand-light);margin-bottom:23px;display:block}.booking-confirmation h2{letter-spacing:-.035em;margin:13px 0;font-size:clamp(27px,3vw,36px);font-weight:500;line-height:1.2}.booking-confirmation>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.booking-confirmation-details{margin:30px 0 22px}.booking-confirmation-details>div{border-top:1px solid var(--line);grid-template-columns:90px 1fr;gap:15px;padding:17px 0;display:grid}.booking-confirmation-details dt{color:var(--muted);font-size:12px}.booking-confirmation-details dd{text-transform:capitalize;overflow-wrap:anywhere;margin:0;font-size:14px}.booking-confirmation-details small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.booking-reference{font-family:var(--font-geist-mono), monospace}.booking-confirmation .button{margin-top:17px}.booking-spinner{animation:1s linear infinite booking-spin}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (max-width:760px){.booking-header{min-height:85px}.booking-header .text-link{font-size:11px}.booking-main{padding-block:40px 46px}.booking-intro{margin-bottom:30px}.booking-intro h1{font-size:clamp(30px,6vw,43px)}.booking-grid{grid-template-columns:1fr}.booking-schedule{border-right:0;border-bottom:1px solid var(--line)}.booking-schedule,.booking-details{padding:25px}.booking-confirmation{padding:27px}.booking-input{font-size:16px}}@media (max-width:420px){.booking-schedule,.booking-details{padding:22px 18px}.booking-confirmation{padding:24px 20px}.booking-confirmation-details>div{grid-template-columns:1fr;gap:7px}}@media (prefers-reduced-motion:reduce){.booking-spinner{animation:none}}
