.booking-page{--accent: #0066cc;--accent-hover: #0052a3;--accent-soft: rgba(0, 102, 204, .08);--fg-1: #1d1d1f;--fg-2: #424245;--fg-3: #6e6e73;--fg-4: #86868b;--bg-base: #ffffff;--bg-secondary: #f5f5f7;--line-1: rgba(0, 0, 0, .08);--line-2: rgba(0, 0, 0, .16);--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;font-family:var(--font-sans);color:var(--fg-1);-webkit-font-smoothing:antialiased;background:var(--bg-base);min-height:100vh;padding:64px 24px 96px}.booking-page *{box-sizing:border-box}.booking-page .booking-hero{max-width:720px;margin:0 auto 56px;text-align:left}.booking-page .back{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);text-decoration:none;margin-bottom:32px;display:inline-block}.booking-page .back:hover{color:var(--fg-1)}.booking-page .eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-1);border-radius:999px;padding:7px 14px;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;line-height:1;margin-bottom:24px}.booking-page .eyebrow .dot{width:6px;height:6px;border-radius:999px;background:var(--accent)}.booking-page .eyebrow.eyebrow-ok{background:#2e844a14;border-color:#2e844a33;color:#2e844a}.booking-page .eyebrow .dot-ok{background:#2e844a}.booking-page h1{font-size:56px;line-height:1.04;letter-spacing:-.028em;font-weight:600;color:var(--fg-1);margin:0 0 20px;text-wrap:balance}.booking-page h1 em{font-style:normal;color:var(--fg-3)}.booking-page .lead{font-size:18px;line-height:1.6;color:var(--fg-2);margin:0;max-width:640px}@media (max-width: 760px){.booking-page{padding:40px 20px 64px}.booking-page h1{font-size:36px}}.booking-page .booking-form{max-width:720px;margin:0 auto}.booking-page fieldset{border:none;padding:32px 0 0;margin:0 0 40px;border-top:1px solid var(--line-1)}.booking-page fieldset:first-of-type{border-top:none;padding-top:0}.booking-page legend{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;margin:0 0 20px;display:inline-flex;align-items:center;gap:10px;padding:0}.booking-page legend:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent)}.booking-page .legend-sub{font-size:14px;color:var(--fg-3);line-height:1.55;margin:-12px 0 24px}.booking-page .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.booking-page .row:last-child{margin-bottom:0}@media (max-width: 600px){.booking-page .row{grid-template-columns:1fr}}.booking-page .field{display:flex;flex-direction:column;gap:6px}.booking-page .field .label{font-size:13px;font-weight:500;color:var(--fg-2);letter-spacing:-.005em}.booking-page .field .hint{color:var(--fg-4);font-weight:400}.booking-page input[type=text],.booking-page input[type=email],.booking-page input[type=tel],.booking-page input[type=url],.booking-page textarea,.booking-page select{font-family:var(--font-sans);font-size:15px;color:var(--fg-1);background:var(--bg-base);border:1px solid var(--line-1);border-radius:var(--radius-md);padding:12px 14px;letter-spacing:-.005em;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.booking-page input:focus,.booking-page textarea:focus,.booking-page select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0066cc1f}.booking-page textarea{resize:vertical;min-height:100px}.booking-page .err{font-size:13px;color:#d4361c;margin-top:4px;display:block}.booking-page .err-block{margin:16px 0 0;padding:12px 14px;background:#d4361c0f;border:1px solid rgba(212,54,28,.18);border-radius:var(--radius-md)}.booking-page .submit-error{margin-top:24px}.booking-page .product-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.booking-page .product-grid{grid-template-columns:1fr}}.booking-page .product-card{position:relative;border:1px solid var(--line-1);border-radius:var(--radius-md);padding:14px 16px;cursor:pointer;transition:border-color .15s ease,background .15s ease;background:var(--bg-base)}.booking-page .product-card:hover{border-color:var(--line-2)}.booking-page .product-card.selected{border-color:var(--accent);background:var(--accent-soft)}.booking-page .product-card input{position:absolute;opacity:0;pointer-events:none}.booking-page .product-label{font-size:14px;font-weight:500;color:var(--fg-1);letter-spacing:-.005em;line-height:1.4}.booking-page .slot-row{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-1)}.booking-page .slot-row:first-of-type{border-top:none;padding-top:0}.booking-page .slot-label{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase}.booking-page .slot-date{width:100%;max-width:280px}.booking-page .slot-hours{display:flex;gap:6px;align-items:center}.booking-page .hour{font-family:var(--font-mono);font-size:13px;color:var(--fg-2);background:var(--bg-base);border:1px solid var(--line-1);border-radius:999px;padding:6px 14px;cursor:pointer;transition:all .15s ease;letter-spacing:.02em}.booking-page .hour:hover{border-color:var(--line-2);color:var(--fg-1)}.booking-page .hour.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.booking-page .hour-clear{background:transparent;border:none;color:var(--fg-4);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.booking-page .hour-clear:hover{color:var(--fg-1)}@media (max-width: 600px){.booking-page .slot-row{grid-template-columns:1fr;gap:8px}.booking-page .slot-date{max-width:100%}.booking-page .slot-hours{flex-wrap:wrap}}.booking-page .submit-row{display:flex;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap}.booking-page button.primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--accent);color:#fff;border:none;border-radius:999px;font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:-.005em;cursor:pointer;transition:background .15s ease;line-height:1}.booking-page button.primary:hover{background:var(--accent-hover)}.booking-page button.primary:disabled{opacity:.55;cursor:not-allowed}.booking-page .reassurance{font-size:13px;color:var(--fg-3);line-height:1.5;margin:0}.booking-page.booking-success .next-steps,.booking-page.booking-success .while-you-wait{max-width:720px;margin:0 auto 56px}.booking-page .section-eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px;font-weight:500}.booking-page .next-list{list-style:none;margin:0;padding:0}.booking-page .next-list li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--line-1);align-items:start}.booking-page .next-list li:last-child{border-bottom:1px solid var(--line-1)}.booking-page .step-num{font-family:var(--font-mono);font-size:12px;color:var(--fg-3);letter-spacing:.04em;padding-top:4px}.booking-page .step-title{font-size:18px;font-weight:600;color:var(--fg-1);letter-spacing:-.008em;margin:0 0 6px}.booking-page .step-desc{font-size:14px;line-height:1.55;color:var(--fg-2);margin:0}.booking-page .step-cta{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:14px;font-weight:500;color:var(--accent);text-decoration:none}.booking-page .step-cta:hover{text-decoration:underline}.booking-page .link-list{list-style:none;margin:0;padding:0}.booking-page .link-list li{border-top:1px solid var(--line-1)}.booking-page .link-list li:last-child{border-bottom:1px solid var(--line-1)}.booking-page .link-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-size:15px;font-weight:500;color:var(--fg-1);text-decoration:none}.booking-page .link-list a:hover{color:var(--accent)}
