/* Public262: one canonical reservation form, clearer presentation and controls. */
.visit .visit-layout{grid-template-columns:minmax(0,1fr);gap:78px;align-items:start}
.visit .visit-copy{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;align-items:start}
.visit .visit-copy> :not(.google-map-panel-v22){grid-column:1}
.visit .visit-copy>.google-map-panel-v22{grid-column:2;grid-row:1/span 7;width:100%;margin:0}
.booking-card262{--book-ink:#173e33;--book-muted:#53695f;--book-border:#c8d5cc;--book-soft:#f2f6ef;--book-gold:#d7b879;width:100%;max-width:100%;min-width:0;padding:0!important;background:#fffdf8;border:1px solid #a8baab;border-radius:18px;box-shadow:0 22px 66px #173e3314;overflow:hidden;scroll-margin-top:116px;color:var(--book-ink)}
.booking262-header{padding:38px 42px 30px;background:#173e33;color:#fff9ed;position:relative;border-bottom:4px solid #d7b879}
.booking-card262 .booking-heading{gap:24px;align-items:flex-start}
.booking-card262 .booking-heading .eyebrow{font-size:11px;color:#e4c995;letter-spacing:.19em}
.booking-card262 .booking-heading h3{font:400 clamp(27px,3vw,40px)/1.5 var(--serif);letter-spacing:.035em;color:#fffaf0;margin:9px 0 0}
.booking-card262 .booking-heading-icon{width:54px;height:66px;border-color:#809a82;color:#e5ce9e}
.booking-card262 .booking-intro{font-size:15px;line-height:1.85;color:#dce7d9;margin:11px 0 22px;letter-spacing:0}
.booking262-progress{list-style:none;display:flex;flex-wrap:wrap;gap:12px 30px;padding:0;margin:0}
.booking262-progress li{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.5;color:#f4ecd9}
.booking262-progress b{font:14px/1 var(--english);color:#e8cb93;display:grid;place-items:center;width:29px;height:29px;border:1px solid #708e76;border-radius:50%}
.booking-card262 #booking-form{padding:30px 36px 28px;color:var(--book-ink);font-size:16px;line-height:1.75}
.booking-card262 .booking-no-line{padding:13px 16px;background:#eef4e9;border:0;border-radius:8px;align-items:center;margin:0 0 28px;color:var(--book-ink)}
.booking-card262 .booking-no-line>span{color:#33664c}
.booking-card262 .booking-no-line strong{font-size:14px;letter-spacing:0;color:#244f3e;font-weight:600;display:inline}
.booking-card262 .booking-no-line small{font-size:13px;color:#50624f;display:inline;margin:0 0 0 12px;line-height:1.8}
.booking262-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:28px;align-items:start}
.booking-card262 #booking-form .booking262-step{padding:25px 24px 23px;margin:0 0 28px;min-width:0;border:1px solid var(--book-border);border-radius:10px;background:#fffefb}
.booking-card262 #booking-form .booking262-grid>.booking262-step{height:100%;margin:0}
.booking-card262 #booking-form .booking262-step-heading{font:600 18px/1.6 var(--sans);color:var(--book-ink);letter-spacing:0;display:flex;align-items:center;gap:9px;padding:0;margin:0 0 21px;width:100%;float:left}
.booking-card262 #booking-form .booking262-step-heading+*{clear:both}
.booking-card262 #booking-form h4.booking262-step-heading{float:none}
.booking-card262 .booking-step{display:inline-grid;place-items:center;border-radius:50%;width:32px;height:32px;flex:0 0 32px;font:16px/1 var(--english);color:#fff8e7;background:#285840;margin:0}
.booking-card262 #booking-form legend{font-size:14px;line-height:1.7;color:#264f3f;letter-spacing:0;gap:7px;font-weight:600}
.booking-card262 #booking-form .booking-treatment-fieldset{margin-bottom:22px}
.booking-card262 #booking-form .booking-plan-fieldset{margin-bottom:0}
.booking-card262 .booking-required{font-size:12px;font-weight:400;color:#687e6c;margin-left:auto;white-space:nowrap}
.booking262-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking262-service-choice{font-family:var(--sans);appearance:none;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;width:100%;min-width:0;min-height:145px;padding:14px 15px;border:1px solid #b6c8b9;border-radius:8px;color:#244737;background:#f8fbf4;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.booking262-service-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:4px}
.booking262-service-number{font:13px/1 var(--english);color:#71846c}
.booking262-service-check{height:20px;width:20px;display:grid;place-items:center;border:1px solid #b0c0b0;border-radius:50%;font-size:12px;line-height:1;color:transparent}
.booking262-service-choice>strong{font:600 17px/1.6 var(--sans);overflow-wrap:anywhere}
.booking262-service-minutes{font-size:12px;line-height:1.6;color:#536e59}
.booking262-service-price{font-size:12px;line-height:1.7;color:#536e59;margin-top:auto;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px}
html[lang=en] .booking262-service-price>span{order:-1}
.booking262-service-price>b{font-size:16px;line-height:1.6;letter-spacing:0;color:#244737;white-space:nowrap}
.booking262-service-choice:hover{border-color:#315f45;box-shadow:0 2px 8px #173e3310}
.booking262-service-choice[aria-pressed=true]{background:#285840;border-color:#285840;color:#fffaf0;box-shadow:0 0 0 1px #285840}
.booking262-service-choice[aria-pressed=true] .booking262-service-number,.booking262-service-choice[aria-pressed=true] .booking262-service-minutes,.booking262-service-choice[aria-pressed=true] .booking262-service-price{color:#e1e9d4}
.booking262-service-choice[aria-pressed=true] .booking262-service-price>b{color:#fffaf0}
.booking262-service-choice[aria-pressed=true] .booking262-service-check{background:#e9d39b;border-color:#e9d39b;color:#244737}
.booking262-service-choice:focus-visible,.booking262-quickdates button:focus-visible{outline:3px solid #bf913c;outline-offset:3px}
.booking-card262 .booking-treatment-detail{font-size:13px!important;line-height:1.9;padding:12px 14px;margin:13px 0 0;border:0;border-radius:6px;background:#f2f5ed;color:#4e654e}
.booking-card262 #booking-form .booking-field-hint{font-size:12px;color:#59705c;line-height:1.85;margin-top:9px}
.booking-card262 .booking262-choice-error{color:#9a3e2a;font-size:13px;line-height:1.7;padding:10px 12px;margin-top:10px;background:#fff1e8;border-left:3px solid #b35337}
.booking-card262 .booking262-duration-hint{font-size:14px;line-height:1.8;padding:18px 15px;border:1px dashed #bfd0b9;background:#f6f9f1;border-radius:7px;color:#62775b}
.booking-card262 .booking-plan-options{gap:9px}
.booking-card262 .booking-plan-content{padding:12px 9px;min-height:122px;border:1px solid #b4c6b6;background:#fafff6;border-radius:7px;gap:3px;text-align:center}
.booking-card262 .booking-plan-topline{font-size:11px;color:#748367}
.booking-card262 .booking-plan-content>strong{display:none}
.booking-card262 .booking-plan-minutes{font-size:12px;line-height:1.8;color:#4a664b;margin-top:4px;white-space:nowrap}
.booking-card262 .booking-plan-minutes>b{font:500 31px/1.2 var(--english);color:#234e38}
.booking-card262 .booking-offer-v21{font:600 clamp(14px,1.4vw,19px)/1.5 var(--sans);margin-top:4px;color:#254c37;white-space:nowrap;letter-spacing:0}
.booking-card262 .booking-plan-choice input:checked+.booking-plan-content{background:#285840;border-color:#285840;box-shadow:0 0 0 1px #285840}
.booking-card262 .booking-plan-choice input:checked+.booking-plan-content .booking-offer-v21,.booking-card262 .booking-plan-choice input:checked+.booking-plan-content .booking-plan-minutes>b{color:#fff9e7}
.booking-card262 .booking-plan-choice input:checked+.booking-plan-content .booking-plan-minutes,.booking-card262 .booking-plan-choice input:checked+.booking-plan-content .booking-plan-topline{color:#d8e6cf}
.booking-card262 .booking-plan-choice input:checked+.booking-plan-content .booking-plan-indicator{background:#ebd296;border-color:#ebd296}
.booking-card262 .booking-plan-choice input:focus-visible+.booking-plan-content{outline:3px solid #bf913c;outline-offset:3px}
.booking262-quickdates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}
.booking262-quickdates button{min-height:45px;padding:8px 10px;border:1px solid #b8cab9;border-radius:7px;background:#f4f8ee;color:#31593e;font:500 14px/1.5 var(--sans);cursor:pointer}
.booking262-quickdates button[aria-pressed=true]{background:#285840;color:#fff8e8;border-color:#285840}
.booking-card262 .booking-calendar{padding:17px 13px 12px;border:1px solid #c5d2c1;background:#fffef9;border-radius:9px;margin-bottom:17px}
.booking-card262 .calendar-heading{margin-bottom:14px}
.booking-card262 .calendar-heading>span{font:500 19px/1.6 var(--sans);color:#244d38}
.booking-card262 .calendar-heading>button{width:42px;height:42px;border-color:#bed0b9;color:#315638}
.booking-card262 .calendar-weekdays{font-size:12px;color:#60765e}
.booking-card262 .calendar-days{gap:4px 3px}
.booking-card262 .calendar-days>button,.booking-card262 .calendar-days>span{height:44px;min-height:44px;max-width:44px;font:500 15px/1 var(--sans);color:#315039;border-radius:7px}
.booking-card262 .calendar-days>button:disabled{color:#b4bdb0}
.booking-card262 .calendar-days>button:not(:disabled):hover{background:#e6efdb}
.booking-card262 .calendar-days>button[aria-pressed=true],.booking-card262 .calendar-days>button[aria-pressed=true]:hover{background:#285840;color:#fff8e7}
.booking-card262 .calendar-legend{font-size:11px;line-height:1.7;border-color:#d9e1d1;color:#65755e;margin-top:12px}
.booking-card262 .calendar-legend>small{font-size:10px}
.booking-card262 .booking-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.booking-card262 #booking-form .booking-field>label{font-size:14px;line-height:1.6;color:#31543f;font-weight:500;margin-bottom:9px}
.booking-card262 #booking-form .booking-field>label>span{font-size:12px;color:#687d67}
.booking-card262 #booking-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.booking-card262 #booking-form select,.booking-card262 #booking-form textarea{font-size:16px;min-height:52px;line-height:1.5;padding:13px 14px;border:1px solid #a8bfac;background:#fff;color:#193e2b;border-radius:7px;box-shadow:inset 0 1px 2px #244d3510}
.booking-card262 #booking-form select{padding-right:35px}
.booking-card262 #booking-form input::placeholder,.booking-card262 #booking-form textarea::placeholder{font-size:14px;color:#7b8877}
.booking-card262 #booking-form input:focus-visible,.booking-card262 #booking-form select:focus-visible,.booking-card262 #booking-form textarea:focus-visible{outline:3px solid #b99a57;outline-offset:2px}
.booking-card262 #booking-form .booking-contact-fieldset{margin-top:28px}
.booking-card262 .booking-contact-fieldset>.booking-input-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.35fr)}
.booking-card262 .booking-contact-fieldset>.booking-input-grid>.booking-field-wide{grid-column:auto}
.booking-card262 .nuo-phone-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:13px;margin-top:0}
.booking-card262 #booking-form .nuo-phone-sublabel{font-size:12px;color:#5b715b;margin:0 0 8px}
.booking-card262 #booking-phone-hint{font-size:12px}
.booking-card262 .nuo-phone-language-note{font-size:11px;color:#697965}
.booking-card262 .nuo-phone-result{font-size:13px;border-radius:6px;background:#edf4e5;color:#365632}
.booking262-optional{border-top:1px solid #d4dece;margin-top:22px;padding-top:6px}
.booking262-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;font-size:14px;color:#456340;list-style:none}
.booking262-optional>summary::-webkit-details-marker{display:none}
.booking262-optional>summary>span{font-size:22px;color:#7b8a64}
.booking262-optional[open]>summary>span{transform:rotate(45deg)}
.booking262-optional>.booking-input-grid{margin-top:9px}
.booking262-checkout{background:#f0f5e8;border:1px solid #c6d5bd;border-radius:10px;padding:25px 28px;margin-top:0}
.booking262-confirm-title{font-size:17px;font-weight:600;color:#244b34;margin:0 0 12px}
.booking-card262 .booking-summary{font-size:16px;line-height:1.9;padding:16px 18px;background:#fffef8;border-left:3px solid #bb985b;border-radius:4px;color:#24462f;margin:0 0 19px;gap:13px}
.booking-card262 .booking-summary .icon{width:22px;height:22px}
.booking-card262 .booking-consent{font-size:13px;line-height:1.95;color:#4d6549;gap:11px;min-height:44px;align-items:center;margin-bottom:18px}
.booking-card262 .booking-consent input{width:21px;height:21px;accent-color:#285840;margin:0;flex:0 0 21px}
.booking-card262 .booking-submit{background:#24583c;border-color:#24583c;color:#fff9ec;font-size:18px;line-height:1.6;letter-spacing:.035em;min-height:64px;border-radius:7px;padding:16px 23px;box-shadow:0 6px 16px #2858401d}
.booking-card262 .booking-submit:hover:not(:disabled){background:#173e2b;border-color:#173e2b;color:#fff9ec}
.booking-card262 .booking-submit .icon{width:24px;height:24px}
.booking-card262 .booking-group-reminder{font-size:12px;line-height:1.9;color:#64755b;margin-top:12px}
.booking-card262 .booking-group-reminder strong{font-weight:600;color:#365435}
.booking-card262 .booking-feedback{font-size:13px;line-height:1.9;color:#596e51;margin-top:13px}
.booking-card262 .booking-feedback.is-error{color:#923d28;background:#fff3e8;border-color:#d7b099}
.booking-card262 .nuo-booking-arrival{font-size:13px;color:#466143;border-color:#d5dfcf;padding-top:17px;margin-top:25px}
.booking262-policy{margin-top:9px}
.booking262-policy>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#506a49;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.booking-card262 .booking-note,.booking-card262 .booking-service-privacy{font-size:12px;color:#6b7862;line-height:1.9}
.booking-card262 .booking-alternatives{flex-wrap:wrap;gap:8px 24px;font-size:13px;border-color:#d5dfcc;margin-top:18px}
.booking-card262 .booking-alternatives a{min-height:44px;gap:8px}
.booking-card262 .booking-receipt{border-radius:10px;background:#f3f8eb;border-color:#bccfb0;padding:30px}
.booking-card262 .booking-receipt h4{font-size:25px;color:#254a34}
.booking-card262 .booking-receipt p{font-size:14px}
.booking-card262 .booking-receipt a{font-size:14px;min-height:44px}
@media(min-width:1200px){.booking-card262 .booking262-checkout{max-width:800px;margin-left:auto;margin-right:auto}.booking-card262 .booking-service-privacy{max-width:860px}}
@media(max-width:1000px){.booking262-header{padding:30px}.booking-card262 #booking-form{padding:25px}.booking262-grid{gap:20px}.booking-card262 #booking-form .booking262-step{padding:21px 19px}.booking262-service-choice{padding:12px;min-height:145px}.visit .visit-copy{column-gap:34px}.booking-card262 .booking-contact-fieldset>.booking-input-grid{grid-template-columns:1fr 1.5fr}.booking-card262 .nuo-phone-grid{grid-template-columns:1fr}}
@media(max-width:800px){.booking262-grid{grid-template-columns:1fr}.booking-card262 #booking-form .booking262-grid>.booking262-step{height:auto}.booking262-service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.booking262-service-choice{min-height:132px}.booking-card262 .booking-plan-content{min-height:114px}.booking-card262 .booking-offer-v21{font-size:18px}.booking-card262 .booking-contact-fieldset>.booking-input-grid{grid-template-columns:1fr}.booking-card262 .nuo-phone-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.visit .visit-copy{display:block}.visit .visit-copy>.google-map-panel-v22{margin-top:28px}.booking-card262 .booking-no-line small{display:block;margin:4px 0 0}.visit .visit-layout{gap:55px}}
@media(max-width:520px){.booking-card262{border-radius:12px;scroll-margin-top:94px}.booking262-header{padding:26px 20px 23px}.booking-card262 .booking-heading h3{font-size:27px;line-height:1.55;letter-spacing:.025em}.booking-card262 .booking-heading-icon{display:none}.booking-card262 .booking-intro{font-size:14px;margin-bottom:19px}.booking262-progress{gap:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.booking262-progress li{display:block;font-size:11px;line-height:1.65}.booking262-progress b{margin-bottom:7px}.booking-card262 #booking-form{padding:20px 15px 18px}.booking-card262 .booking-no-line{padding:13px 12px;gap:9px;margin-bottom:21px}.booking-card262 .booking-no-line strong{font-size:13px}.booking-card262 .booking-no-line small{font-size:12px}.booking-card262 #booking-form .booking262-step{padding:20px 14px;margin-bottom:22px}.booking-card262 #booking-form .booking262-step-heading{font-size:17px;margin-bottom:18px;gap:8px}.booking-card262 .booking-step{width:30px;height:30px;flex-basis:30px;font-size:15px}.booking262-service-choice{padding:12px 11px;min-height:142px}.booking262-service-choice>strong{font-size:16px}.booking262-service-price>b{font-size:15px}.booking262-service-minutes{font-size:11px}.booking-card262 .booking-plan-content{padding:11px 7px;min-height:116px}.booking-card262 .booking-plan-options{gap:7px}.booking-card262 .booking-offer-v21{font-size:15px}.booking-card262 .booking-plan-minutes>b{font-size:28px}.booking-card262 .booking-plan-minutes{font-size:11px}.booking-card262 .booking-calendar{padding:13px 8px 10px}.booking-card262 .calendar-days{gap:3px 1px}.booking-card262 .calendar-legend>small{width:100%;margin-left:0;font-size:10px}.booking-card262 .booking-datetime{grid-template-columns:1fr}.booking-card262 .nuo-phone-grid{grid-template-columns:1fr}.booking262-checkout{padding:20px 15px}.booking-card262 .booking-summary{font-size:14px;padding:13px 12px;align-items:flex-start;gap:9px}.booking-card262 .booking-summary>span{margin-top:4px}.booking-card262 .booking-consent{font-size:12px;align-items:flex-start}.booking-card262 .booking-consent input{margin-top:4px}.booking-card262 .booking-submit{font-size:17px;min-height:60px;padding:14px 17px;letter-spacing:0}.booking262-optional>.booking-input-grid{grid-template-columns:1fr}.booking262-optional>summary{font-size:13px}.booking-card262 .booking-alternatives{gap:5px 17px;font-size:12px}.booking-card262 .booking-receipt{padding:24px 16px}}
@media(max-width:360px){.booking-card262 #booking-form{padding-inline:11px}.booking-card262 #booking-form .booking262-step{padding-inline:11px}.booking262-header{padding-inline:18px}.booking-card262 .booking-heading h3{font-size:25px}.booking-card262 .booking-plan-content{padding-inline:5px}.booking-card262 .booking-offer-v21{font-size:14px}.booking262-service-choice{padding-inline:9px}.booking262-service-choice>strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.booking262-service-choice{transition:none}}
@media print{.booking262-service-options,.booking262-quickdates{display:none!important}.booking262-native-choice{display:block!important}.booking-card262{box-shadow:none}.booking262-header{background:#fff;color:#173e33}.booking-card262 .booking-heading h3,.booking-card262 .booking-intro{color:#173e33}}
