.contact.contact-booking{background:#f5f7f8;border-top:1px solid var(--line);padding:84px 0}
.contact-booking .contact-grid{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:64px;align-items:start}
.contact-booking h2{font-size:clamp(2.3rem,3.5vw,3.2rem);max-width:450px}
.contact-booking .eyebrow{font-size:.875rem;letter-spacing:.09em}
.contact-booking .contact-intro{max-width:380px;margin-bottom:28px}
.contact-direct{padding-top:26px;border-top:1px solid #dbe1e5;max-width:380px}
.contact-direct>p{font-size:.875rem;color:var(--muted);margin-bottom:7px}
.contact-direct .contact-phone{font-size:1.8rem;margin-bottom:16px}
.contact-direct .contact-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:18px}
.contact-steps{list-style:none;margin:30px 0 0;padding:0;max-width:380px;display:grid;gap:18px}
.contact-steps li{display:flex;align-items:flex-start;gap:13px;font-size:.9375rem;color:var(--muted);line-height:1.6}
.contact-steps li>span{display:grid;place-items:center;background:#e7ecef;color:#3f4c55;min-width:28px;height:28px;border-radius:50%;font-size:.875rem;font-weight:800}
.contact-steps strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:2px}
.booking-panel{background:#fff;border:1px solid #e0e5e8;border-radius:22px;padding:32px;box-shadow:0 12px 36px #23324006;min-width:0;scroll-margin-top:114px}
.booking-panel [hidden]{display:none!important}
.booking-form fieldset{border:0;margin:0;padding:0;min-width:0}
.booking-form .contact-mode{margin-bottom:26px}
.contact-mode legend{font-size:1.35rem;font-weight:800;letter-spacing:-.035em;line-height:1.35;margin-bottom:16px;padding:0}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-option{position:relative;display:block;cursor:pointer;min-width:0}
.contact-option input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.contact-option>span{display:flex;gap:10px;align-items:center;min-height:60px;padding:13px 14px;background:#fff;border:1.5px solid #dce1e5;border-radius:10px;font-size:.9375rem;font-weight:700;line-height:1.4}
.contact-option svg{width:22px;height:22px;color:#66717a}
.contact-option input:checked+span{border-color:var(--red);background:#fff2f2;color:#b5181e}
.contact-option input:checked+span svg{color:#c21f25}
.contact-option input:focus-visible+span{outline:3px solid #175ca1;outline-offset:3px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:.875rem;font-weight:700;line-height:1.5}
.form-field label span,.field-hint{font-weight:400;color:var(--muted);font-size:.875rem}
.form-field label #message-label-text{font-weight:700;color:var(--ink)}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;min-height:49px;border:1px solid #cbd3d9;border-radius:8px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit;font-size:1rem;line-height:1.5;box-shadow:none;scroll-margin-block:125px 35px}
.form-field textarea{min-height:126px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:#73808a;opacity:1}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid #175ca130;outline-offset:1px;border-color:#175ca1}
.form-field [aria-invalid=true]{border-color:#b5181e}
.field-hint{line-height:1.6;margin:0}
.booking-form .visit-fields{margin-top:23px;padding-top:22px;border-top:1px solid var(--line)}
.visit-fields legend{float:left;width:100%;font-size:1rem;font-weight:800;margin-bottom:16px;padding:0}
.visit-fields>.form-grid{clear:both}
.booking-form .message-field{margin-top:23px}
.booking-note{display:flex;align-items:flex-start;gap:10px;background:#f5f7f8;color:#46515a;padding:14px 16px;border-radius:9px;margin:20px 0;font-size:.875rem;line-height:1.7}
.booking-note svg{width:20px;height:20px;margin-top:2px;color:#556873}
.booking-note p{margin:0}
.booking-form .contact-submit{width:100%;font-size:1rem;min-height:54px;margin-top:20px}
.form-privacy{font-size:.875rem;color:var(--muted);line-height:1.65;margin:13px 0 0;text-align:center}
.contact-error{margin:16px 0;padding:13px 15px;border-left:3px solid #ba1d24;background:#fff2f2;color:#91171c;font-size:.9375rem;border-radius:4px}
.contact-ready{margin-top:20px;padding:18px;background:#edf7f1;border:1px solid #c9e5d5;border-radius:10px;scroll-margin-top:115px}
.contact-ready:focus{outline:3px solid #175ca1;outline-offset:3px}
.contact-ready h3{font-size:1.0625rem;margin-bottom:7px;color:#1d6139}
.contact-ready p{font-size:.9375rem;line-height:1.7;margin-bottom:12px;color:#344d3d}
.contact-ready a{font-size:.9375rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;color:#18572f}
.contact-fallback{font-size:1rem;line-height:1.7;margin:0}
.contact-fallback a{color:var(--red-dark);text-decoration:underline}
@media(max-width:1100px){.contact-booking .contact-grid{gap:32px;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.booking-panel{padding:26px}.contact-option>span{padding:12px;gap:8px;font-size:.875rem}}
@media(max-width:900px){.contact-booking .contact-grid{grid-template-columns:1fr;gap:28px}.contact-booking h2{max-width:none}.contact-booking .contact-intro{max-width:620px;margin-bottom:0}.contact-direct{max-width:none;margin-top:23px;padding-top:21px}.contact-direct .contact-phone{margin-bottom:12px}.contact-steps{display:none}.booking-panel{padding:30px}.contact-option>span{font-size:1rem}.contact-direct .contact-links{margin-top:14px}}
@media(max-width:640px){.contact.contact-booking{padding:54px 0 70px}.contact-booking h2{font-size:2.35rem}.booking-panel{padding:24px 20px;border-radius:17px;scroll-margin-top:95px}.form-grid{grid-template-columns:1fr;gap:18px}.contact-option>span{flex-direction:column;align-items:flex-start;gap:9px;padding:14px 12px;font-size:.9375rem}.contact-mode legend{font-size:1.3rem}.contact-direct .contact-phone{font-size:1.75rem}.booking-note{padding:13px}.form-privacy{text-align:left}.contact-ready{scroll-margin-top:96px}}
@media(forced-colors:active){.contact-option input:checked+span{outline:2px solid Highlight}.contact-option input:checked+span svg{color:Highlight}}
