.contact-hero{background:#102536;color:#fff}
.contact-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding-block:35px}
.contact-kicker{font-size:13px;font-weight:750;color:#eaca87}
.contact-hero h1{font-size:clamp(40px,5vw,65px);line-height:1.1;letter-spacing:-.045em;margin-top:7px}
.contact-hero p:not(.contact-kicker){max-width:420px;margin-top:15px;color:#d5dee4;font-size:16px}
.contact-hero img{width:100%;height:auto;aspect-ratio:2.1;object-fit:cover}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(25px,5vw,66px);padding-block:55px}
.contact-form-panel{align-self:start;border:1px solid #ded9cc;background:#fff;padding:clamp(20px,3vw,36px);scroll-margin-top:20px}
.contact-form-panel h2,.contact-offices>h2{font-size:30px;line-height:1.2;letter-spacing:-.03em}
.contact-form-panel>p{margin-top:8px;color:#52616b;font-size:15px}
.contact-form{margin-top:25px}
.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.form-field{margin-bottom:17px;min-width:0}
.form-field label{display:block;font-size:13px;font-weight:750;margin-bottom:6px}
.form-field label span{color:#8c6828}
.form-field input,.form-field textarea{display:block;width:100%;border:1px solid #c8c6bc;border-radius:0;background:#fcfbf8;color:#102536;font:inherit;font-size:16px;padding:11px 12px}
.form-field input{height:47px}
.form-field textarea{resize:vertical;min-height:160px}
.form-info{font-size:12px!important;color:#667177;margin-bottom:17px}
.contact-offices>h2{margin-bottom:9px}
.contact-offices article{padding-block:20px;border-bottom:1px solid #ded9cc}
.contact-offices h3{font-size:19px;font-weight:780;letter-spacing:-.02em;margin-bottom:7px}
.contact-offices address{font-size:14px;font-style:normal;line-height:1.65;color:#52616b;margin-bottom:7px}
.office-phone,.contact-emails>a{display:block;font-size:14px;font-weight:750;padding:3px 0}
.office-phone:hover,.contact-emails>a:hover{text-decoration:underline;text-underline-offset:3px}
.map-link{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:#56666d;text-decoration:underline;text-underline-offset:3px;margin-top:6px}
.contact-emails{padding-top:20px}
@media(max-width:780px){
 .contact-hero-grid{gap:22px;grid-template-columns:1fr;padding-block:30px}
 .contact-hero img{aspect-ratio:2.4}
 .contact-layout{grid-template-columns:1fr;padding-block:32px}
 .contact-form-panel{padding:20px}
}
@media(max-width:500px){.form-row{grid-template-columns:1fr;gap:0}}
