/* Use the active panel's natural height instead of reserving the tallest service. */
.services-stage{height:auto!important;min-height:0;overflow-anchor:none;transition:none}.service-slide{position:relative;inset:auto}.service-slide.measuring{position:relative}.real-location .location-photo{aspect-ratio:1.6;background:#eef7fb}.real-location .location-photo img{object-fit:contain}
.booking-open{overflow:hidden}#booking-dialog{width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d5e7f1;border-radius:22px;color:#26465a;background:#fff;box-shadow:0 24px 80px #062b4350;overflow:auto;overscroll-behavior:contain}#booking-dialog::backdrop{background:#072b42aa;backdrop-filter:blur(3px)}.booking-shell{padding:32px;position:relative}.booking-close{position:absolute;right:15px;top:12px;border:0;border-radius:50%;background:#eef7fb;color:#1a4c67;font:26px/1 Arial;width:34px;height:34px}.booking-shell .eyebrow{font-size:9px;padding-right:28px;margin-bottom:13px}.booking-shell h2{font-size:28px;line-height:1.2;margin-bottom:12px;outline:none}.booking-intro{font-size:14px;line-height:1.55;margin-bottom:10px}.booking-required{font-size:11px;margin:0 0 18px;color:#627b8b}.required-star,.booking-required>span{color:#c33035;font-weight:800}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.booking-services{padding:0;border:0;margin:0 0 19px;min-width:0}.booking-services legend,.booking-fields>label,.phone-label{font-size:13px;font-weight:600}.field-help{font-size:11px;margin:3px 0 9px;color:#658092}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-options label{display:flex;align-items:center;gap:9px;border:1px solid #c5dce9;border-radius:12px;padding:12px;background:#f9fcff;font-size:12px;line-height:1.3;cursor:pointer}.booking-options label:has(:checked){background:#e2f5fb;border-color:#049bb8;color:#086b87}.booking-shell input[type=checkbox]{width:17px;height:17px;accent-color:#009cba;flex:0 0 17px;margin:0}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:17px}.booking-shell select,.phone-label>input{display:block;box-sizing:border-box;width:100%;height:47px;border:1px solid #bad3e1;border-radius:10px;background:white;color:#254659;margin-top:7px;padding:10px 12px;font:14px 'DM Sans',Arial,sans-serif}.phone-label{display:block}.phone-label>small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:#648094}.booking-shell :is(input,select,button,a):focus-visible{outline:3px solid #44b7d8;outline-offset:3px}.booking-consent{display:flex;gap:11px;align-items:flex-start;margin:19px 0 10px;font-size:11px;line-height:1.6;cursor:pointer}.booking-consent input{margin-top:3px!important}.booking-privacy{font-size:11px;color:#58778b;margin-bottom:16px}.booking-privacy summary{cursor:pointer;color:#087e9a}.booking-privacy p{margin:8px 0 0;line-height:1.6}.booking-privacy a{text-decoration:underline}.booking-submit{width:100%;margin-top:4px;border:0}.booking-submit:disabled{opacity:.7;cursor:wait}.booking-note{font-size:10px;text-align:center;color:#6b8495;margin:11px 0 0}#booking-error{background:#fff1f0;border:1px solid #e9bcbc;border-radius:10px;padding:12px;color:#9b3030;font-size:12px;line-height:1.5;margin:12px 0}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#booking-success{text-align:center;padding:30px 0;outline:none}#booking-success[hidden],#booking-form[hidden]{display:none}.booking-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e6f7ec;color:#118752;font-size:35px;margin:0 auto 19px}#booking-success h3{font-size:25px;margin-bottom:16px}#booking-success p{font-size:14px;line-height:1.6}.booking-done{border:0}
@media(max-width:760px){.services-stage{min-height:0}.service-slide .service{padding-block:30px}.booking-shell{padding:25px 20px}.booking-shell h2{font-size:24px}.booking-fields{grid-template-columns:1fr;gap:13px}.booking-shell select,.phone-label>input{font-size:16px}.booking-options{gap:7px}.booking-options label{padding:11px 9px;font-size:11px}.booking-close{right:10px;top:10px}}
.name-label{margin-bottom:17px}
