.w-booking{--wb-bg:oklch(21% .012 255);--wb-ink:oklch(96% .003 255);--wb-muted:oklch(74% .008 255);--wb-line:oklch(34% .01 255);--wb-red:oklch(56.849% .208877 19.2077);position:fixed;inset:0 0 0 auto;margin:0;width:27vw;min-width:350px;max-width:440px;height:100dvh;max-height:100dvh;padding:0;border:0;color:var(--wb-ink);background:var(--wb-bg);color-scheme:dark;overflow:hidden;opacity:0;transform:translateX(35px);transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;box-sizing:border-box;overscroll-behavior:contain}
.w-booking[open]{display:block}.w-booking.is-visible{opacity:1;transform:translateX(0)}.w-booking::backdrop{background:oklch(0% 0 0/.2)}.w-booking *{box-sizing:border-box}.w-booking [hidden]{display:none!important}.w-booking button,.w-booking input,.w-booking textarea{font:inherit}.w-booking button,.w-booking a,.w-booking input{touch-action:manipulation}.w-booking a{color:inherit;text-decoration:none}.w-booking :focus-visible{outline:2px solid var(--wb-red);outline-offset:4px}.w-booking-shell{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden}.w-booking-header{height:68px;flex-shrink:0;border-bottom:1px solid var(--wb-line);display:flex;align-items:center;justify-content:space-between;padding:0 27px}.w-booking-wordmark{font-size:24px;letter-spacing:-.04em;line-height:1;font-weight:800}.w-booking-wordmark>span{color:var(--wb-red)}.w-booking-wordmark>small{display:block;font-size:6px;font-weight:700;letter-spacing:.19em;margin-top:6px}.w-booking-close{width:38px;height:38px;border:1px solid var(--wb-line);border-radius:50%;background:transparent;color:var(--wb-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s}.w-booking-close>span{font-size:26px;font-weight:400;line-height:1;transform:translateY(-1px)}.w-booking-close:hover{background:var(--wb-ink);border-color:var(--wb-ink);color:var(--wb-bg)}.w-booking-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:26px 27px 25px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:oklch(75% 0 0) transparent}.w-booking-intro{margin-bottom:22px}.w-booking-kicker{font-size:10px;color:var(--wb-muted);margin:0 0 12px;letter-spacing:.01em}.w-booking-intro>h2{font-size:clamp(27px,2.1vw,33px);font-weight:500;letter-spacing:-.04em;line-height:1.07;margin:0 0 14px;max-width:480px}.w-booking-intro>h2:focus{outline:0}.w-booking-intro>h2>span{color:var(--wb-red)}.w-booking-intro>p:last-child{font-size:11px;color:var(--wb-muted);line-height:1.75;max-width:350px;margin:0}.w-booking-progress{display:flex;justify-content:space-between;gap:8px;padding:0 0 20px;margin:0 0 22px;list-style:none;border-bottom:1px solid var(--wb-line)}.w-booking-progress>li{display:flex;align-items:center;gap:7px;color:var(--wb-muted);font-size:9px;white-space:nowrap}.w-booking-progress>li>span{height:20px;width:20px;border:1px solid var(--wb-line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;flex-shrink:0}.w-booking-progress>li[aria-current=step]{color:var(--wb-ink);font-weight:700}.w-booking-progress>li[aria-current=step]>span{background:var(--wb-red);color:oklch(100% 0 0);border-color:var(--wb-red)}.w-booking-progress>li.is-complete>span{color:var(--wb-red);border-color:var(--wb-red)}.w-booking-fieldset{border:0;padding:0;margin:0;min-width:0}.w-booking-fieldset>legend,.w-booking-step>h3{font-size:15px;font-weight:600;letter-spacing:-.025em;padding:0;margin:0 0 7px;line-height:1.35}.w-booking-fieldset>legend:focus,.w-booking-step>h3:focus{outline:0}.w-booking-field-help{font-size:10px;line-height:1.7;color:var(--wb-muted);margin:0 0 20px}.w-booking-services{border-top:1px solid var(--wb-line)}.w-booking-service{display:flex;gap:13px;align-items:center;position:relative;padding:14px 0;border-bottom:1px solid var(--wb-line);cursor:pointer;transition:background .2s}.w-booking-service>input{position:absolute;width:1px;height:1px;opacity:0}.w-booking-radio{border:1px solid oklch(70% 0 0);width:16px;height:16px;border-radius:50%;flex-shrink:0;position:relative}.w-booking-service input:checked+.w-booking-radio{border-color:var(--wb-red)}.w-booking-service input:checked+.w-booking-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--wb-red)}.w-booking-service:has(input:focus-visible){outline:2px solid var(--wb-red);outline-offset:4px}.w-booking-service:has(input:checked) .w-booking-service-name{color:var(--wb-red)}.w-booking-service-name{font-size:13px;font-weight:500;line-height:1.3;letter-spacing:-.015em;flex:1}.w-booking-service-name>small{display:block;font-size:9px;color:var(--wb-muted);font-weight:400;margin-top:5px;letter-spacing:0}.w-booking-service-price{font-size:14px;font-weight:500;letter-spacing:-.02em}.w-booking-travel{font-size:9px;line-height:1.75;color:var(--wb-muted);margin:17px 0 0}.w-booking-field{margin-top:21px}.w-booking-field>label{display:flex;align-items:baseline;gap:5px;font-size:11px;font-weight:500;margin-bottom:8px}.w-booking-field>label>span{color:var(--wb-red)}.w-booking-field>label>small{color:var(--wb-muted);font-size:9px;font-weight:400;margin-left:auto}.w-booking-field>input,.w-booking-field>textarea{width:100%;padding:12px 14px;border:1px solid oklch(39% .008 255);border-radius:7px;background:oklch(26% .01 255);color:var(--wb-ink);font-size:12px;line-height:1.5;min-height:44px;transition:border-color .2s}.w-booking-field>textarea{resize:vertical;min-height:90px;max-height:200px}.w-booking-field>input::placeholder,.w-booking-field>textarea::placeholder{color:oklch(74% .008 255);opacity:1}.w-booking-field>input:hover,.w-booking-field>textarea:hover{border-color:oklch(55% 0 0)}.w-booking-field>[aria-invalid=true]{border-color:var(--wb-red);background:oklch(26% .025 15)}.w-booking-input-help{font-size:9px;color:var(--wb-muted);line-height:1.65;margin:8px 0 0}.w-booking-location-note{display:flex;gap:13px;align-items:flex-start;margin-top:30px;padding:17px 0;border-block:1px solid var(--wb-line)}.w-booking-location-note>span{color:var(--wb-red);font-size:19px;line-height:1}.w-booking-location-note>p{font-size:10px;line-height:1.7;color:var(--wb-muted);margin:0;max-width:340px}.w-booking-error{padding:12px 14px;border:1px solid var(--wb-red);border-radius:5px;background:oklch(26% .025 15);color:oklch(88% .04 15);font-size:11px;line-height:1.6;margin:0 0 20px}.w-booking-review{border-top:1px solid var(--wb-line);margin-top:26px;padding-top:20px}.w-booking-review>p{font-size:12px;font-weight:600;margin:0 0 13px}.w-booking-review dl{margin:0}.w-booking-review dl>div{display:flex;justify-content:space-between;gap:20px;font-size:10px;padding:6px 0}.w-booking-review dt{color:var(--wb-muted);flex-shrink:0}.w-booking-review dd{margin:0;text-align:right;max-width:72%;overflow-wrap:anywhere}.w-booking-review>small{display:block;color:var(--wb-muted);font-size:9px;line-height:1.65;margin-top:12px}.w-booking-footer{padding:18px 27px 17px;background:var(--wb-bg);border-top:1px solid var(--wb-line);flex-shrink:0}.w-booking-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:11px}.w-booking-total>strong{font-size:20px;letter-spacing:-.03em;font-weight:500}.w-booking-total small{font-size:9px;color:var(--wb-muted);font-weight:400;letter-spacing:0;margin-left:4px}.w-booking-actions{display:flex;align-items:stretch;gap:12px}.w-booking-back{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--wb-line);border-radius:6px;padding:13px 17px;background:transparent;color:var(--wb-ink);font-size:10px;cursor:pointer;transition:border-color .2s}.w-booking-back:hover{border-color:var(--wb-ink)}.w-booking-back>span{font-size:17px;line-height:1}.w-booking-next{display:flex;justify-content:space-between;align-items:center;flex:1;gap:15px;padding:14px 17px;min-height:47px;border:0;border-radius:6px;background:var(--wb-red);color:oklch(100% 0 0)!important;font-size:11px;font-weight:600;line-height:1.45;cursor:pointer;transition:background .2s}.w-booking-next:hover{background:oklch(50% .209 15)}.w-booking-next>span{font-size:19px;font-weight:400;line-height:1}.w-booking-confirmation{font-size:8px;text-align:center;line-height:1.65;color:var(--wb-muted);margin:12px 0 0}
@media(max-width:1100px){.w-booking{width:36vw;min-width:390px}.w-booking-header{padding-inline:27px;height:68px}.w-booking-scroll{padding:26px 27px}.w-booking-footer{padding:18px 27px}.w-booking-intro>h2{font-size:31px}}
@media(max-width:650px){.w-booking{width:100%;min-width:0;max-width:none;transform:translateX(25px)}.w-booking-header{height:72px;padding:0 24px}.w-booking-wordmark{font-size:23px}.w-booking-close{width:34px;height:34px}.w-booking-scroll{padding:28px 24px 25px}.w-booking-intro{margin-bottom:24px}.w-booking-intro>h2{font-size:31px}.w-booking-intro>p:last-child{font-size:11px;max-width:320px}.w-booking-progress{margin-bottom:24px;padding-bottom:22px;gap:7px}.w-booking-progress>li{font-size:9px;gap:6px}.w-booking-progress>li>span{width:19px;height:19px}.w-booking-service{padding:16px 0;gap:12px}.w-booking-service-name{font-size:13px}.w-booking-service-name>small{font-size:9px}.w-booking-footer{padding:17px 24px max(18px,env(safe-area-inset-bottom))}.w-booking-total{margin-bottom:13px}.w-booking-actions{gap:9px}.w-booking-back{padding-inline:12px;font-size:10px}.w-booking-next{font-size:10px;padding:13px 15px;min-height:47px}.w-booking-confirmation{font-size:8px;margin-top:10px}.w-booking-field>input,.w-booking-field>textarea{font-size:16px;padding:11px 13px}.w-booking-field>input::placeholder,.w-booking-field>textarea::placeholder{font-size:12px}}
@media(max-width:360px){.w-booking-header{padding-inline:20px}.w-booking-scroll{padding:25px 20px}.w-booking-footer{padding-inline:20px}.w-booking-intro>h2{font-size:31px}.w-booking-progress>li{font-size:8px;gap:5px}.w-booking-service-name{font-size:12px}.w-booking-service-name>small{font-size:8px}.w-booking-service-price{font-size:13px}.w-booking-next{font-size:9px;gap:8px}.w-booking-back{gap:7px;padding-inline:10px}.w-booking-confirmation{font-size:7px}}
@media(prefers-reduced-motion:reduce){.w-booking,.w-booking *{transition:none!important;animation:none!important}.w-booking{transform:none}}

.w-booking-intro>h2{font-weight:800;text-transform:uppercase;font-size:31px;line-height:1.02;letter-spacing:-.035em}

/* Keep the full-screen scene visible while the compact request panel is open. */
@media(min-width:651px){
 .w-booking-header{height:52px;padding-inline:22px}
 .w-booking-wordmark{font-size:20px}
 .w-booking-close{width:30px;height:30px}
 .w-booking-scroll{padding:18px 22px}
 .w-booking-intro{margin-bottom:16px}
 .w-booking-kicker{font-size:8px;margin-bottom:8px}
 .w-booking-intro>h2{font-size:27px;margin-bottom:9px}
 .w-booking-intro>p:last-child{font-size:10px;line-height:1.55}
 .w-booking-progress{margin-bottom:15px;padding-bottom:13px}
 .w-booking-fieldset>legend,.w-booking-step>h3{font-size:13px}
 .w-booking-field-help{font-size:9px;line-height:1.55;margin-bottom:12px}
 .w-booking-service{padding:10px 0;gap:11px}
 .w-booking-service-name{font-size:12px}
 .w-booking-service-name>small{display:none;font-size:8px;margin-top:4px}
 .w-booking-service:has(input:checked) .w-booking-service-name>small{display:block}
 .w-booking-service-price{font-size:13px}
 .w-booking-travel{font-size:8px;line-height:1.6;margin-top:12px}
 .w-booking-footer{padding:13px 22px}
 .w-booking-total{margin-bottom:11px}
 .w-booking-total>strong{font-size:18px}
 .w-booking-next{min-height:43px;padding-block:11px}
 .w-booking-confirmation{margin-top:8px}
}
.w-booking-service:has(input:checked) .w-booking-service-name{color:var(--wb-ink)}
