/* Contact page. */
.contact-page { color:#24272c; }
.contact-page * { box-sizing:border-box; }
.contact-page .contact-wrap { width:min(100% - 40px,1180px); margin-inline:auto; }
.contact-main { padding:86px 0 96px; background:#f5f5f3; }
.contact-shell { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:stretch; overflow:hidden; border:1px solid #e1e1df; border-radius:7px; background:#fff; }
.contact-details { display:flex; flex-direction:column; min-width:0; padding:51px 48px 47px; background:#202124; color:#fff; }
.contact-details h2 { margin:0 0 12px; color:#fff; font-size:clamp(27px,2.6vw,35px); font-weight:600; letter-spacing:-.035em; line-height:1.2; }
.contact-details > p { max-width:340px; margin:0 0 37px; color:#b9bbc0; font-size:15px; line-height:1.7; }
.contact-method { padding:20px 0 23px; border-top:1px solid rgba(255,255,255,.15); }
.contact-method h3 { margin:0 0 8px; color:#94989f; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.contact-method p,.contact-method a { display:block; max-width:370px; margin:0; color:#fff; font-size:17px; font-weight:500; line-height:1.55; }
.contact-method a:hover { color:#ffabb3; }
.contact-emergency { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:45px; margin-top:auto; padding:10px 18px; border:1px solid #a90819; border-radius:4px; background:#a90819; color:#fff!important; font-size:13px; font-weight:700; }
.contact-emergency:hover { border-color:#870614; background:#870614; }
.contact-form-panel { min-width:0; padding:51px 50px 47px; }
.contact-form-panel h2 { margin:0 0 12px; color:#24272c; font-size:clamp(27px,2.6vw,35px); font-weight:600; letter-spacing:-.035em; line-height:1.2; }
.contact-form-panel > p { margin:0 0 33px; color:#6c7076; font-size:15px; line-height:1.7; }
.contact-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
.contact-field-full { grid-column:1 / -1; }
.contact-field label { display:block; margin:0 0 9px; color:#34383e; font-size:13px; font-weight:600; }
.contact-field .form-control { width:100%; min-height:49px; padding:11px 14px; border:1px solid #d8dadd; border-radius:4px; background:#fff; color:#252a31; font-size:15px; box-shadow:none; }
.contact-field .form-control:focus { border-color:#a90819!important; outline:2px solid rgba(169,8,25,.12); outline-offset:0; box-shadow:none!important; }
.contact-field textarea.form-control { min-height:153px; resize:vertical; }
.contact-form-panel .form-result:not(:empty) { margin-top:18px; }
.contact-form-panel .contact-submit { display:inline-flex; align-items:center; justify-content:center; min-width:175px; min-height:47px; margin-top:25px; padding:11px 22px; border:1px solid #a90819; border-radius:4px; background:#a90819; color:#fff; font-size:14px; font-weight:700; }
.contact-form-panel .contact-submit:hover,.contact-form-panel .contact-submit:focus { border-color:#870614; background:#870614; }
.contact-form-panel .contact-submit:disabled { opacity:.65; cursor:wait; }
.contact-map-section { width:100%; height:450px; overflow:hidden; background:#e7e7e7; }
.contact-map-section iframe { display:block; width:100%; height:100%; border:0; filter:grayscale(100%); }
@media(max-width:900px) { .contact-shell { grid-template-columns:1fr; } .contact-details,.contact-form-panel { padding:40px; } .contact-emergency { margin-top:24px; } }
@media(max-width:575px) { .contact-page .contact-wrap { width:min(100% - 36px,1180px); } .contact-main { padding:60px 0 70px; } .contact-details,.contact-form-panel { padding:32px 24px; } .contact-form-fields { grid-template-columns:1fr; gap:17px; } .contact-field-full { grid-column:auto; } .contact-map-section { height:360px; } }
