.contact-main {
    background: #f6f7fa;
    padding: 124px 0 64px;
}
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 72px;
    align-items: start;
}
.contact-intro { padding-top: 16px; }
.contact-layout::before, .contact-layout::after { content: none; display: none; }
.contact-intro h1 { color: #10172e; font-size: clamp(40px, 4vw, 60px); line-height: 1.1; font-weight: 800; margin: 16px 0 22px; letter-spacing: -2px; }
.contact-intro > p { max-width: 390px; font-size: 18px; line-height: 1.65; color: #495369; }
.contact-intro .contact-response { font-size: 15px; margin-top: 18px; }
.contact-phone { margin-top: 36px; display: grid; gap: 6px; }
.contact-phone span { font-size: 14px; color: #495369; }
.contact-phone a { color: #10172e; font-size: 24px; font-weight: 700; width: fit-content; }
.contact-email { display: inline-block; margin-top: 12px; color: #3157c5; font-size: 18px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.contact-email:focus-visible { outline: 3px solid #3157c5; outline-offset: 3px; }
.contact-intro .contact-city { font-size: 14px; margin-top: 28px; }
.contact-request { scroll-margin-top: 94px; min-width: 0; }
.contact-request .lead-form-layout { display: block; }
.contact-request .lead-form { background: white; padding: 28px; box-shadow: 0 12px 36px #10172e08; }
.contact-request .lead-name-email { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-request .lead-field { margin-bottom: 16px; }
.contact-request .lead-field label { font-size: 14px; margin-bottom: 7px; }
.contact-request .lead-field input, .contact-request .lead-field select, .contact-request .lead-field textarea { background: #fff; border-color: #9aa3b3; color: #10172e; font-size: 16px; }
.contact-request .lead-field textarea { min-height: 104px; resize: vertical; }
.contact-request .lead-optional { margin: 0 0 16px; }
.contact-request .lead-optional summary { cursor: pointer; color: #35435d; font-size: 14px; padding: 6px 0; }
.contact-request .lead-optional summary span { color: #596579; }
.contact-request .lead-optional .lead-field { margin-top: 10px; }
.contact-request .lead-consent { margin: 12px 0; }
.contact-request .lead-consent label { font-size: 14px; line-height: 1.5; }
.contact-request .lead-note { font-size: 12px; line-height: 1.5; color: #596579; margin: 0 0 18px; }
.contact-request .lead-submit { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.contact-request .lead-submit .button { min-height: 46px; }
.contact-request .lead-success h2 { font-size: 26px; }
.contact-request :is(input, select, textarea, button, summary, a):focus-visible, .contact-phone a:focus-visible { outline: 3px solid #3157c5; outline-offset: 3px; }
@media (max-width: 900px) {
    .contact-layout { gap: 30px; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
    .contact-request .lead-name-email { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 700px) {
    .contact-main { padding: 92px 0 40px; }
    .contact-layout { grid-template-columns: 1fr; gap: 22px; }
    .contact-intro { padding-top: 0; }
    .contact-intro h1 { margin: 10px 0 12px; }
    .contact-intro > p { font-size: 16px; margin-bottom: 8px; }
    .contact-intro .contact-response { margin-top: 8px; }
    .contact-phone { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
    .contact-phone a { font-size: 20px; }
    .contact-intro .contact-city { margin-top: 10px; margin-bottom: 0; }
    .contact-request .lead-form { padding: 20px; }
    .contact-request .lead-name-email { grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 380px) {
    .contact-request .lead-form { padding: 12px; }
    .contact-request .lead-name-email { grid-template-columns: 1fr; gap: 0; }
}
