
#contact-page::before, #contact-page::after { display: none; }
#contact-page { padding: 48px 24px 72px; }
#contact-page .contact-shell { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .9fr); grid-template-areas: "intro phone" "form phone" "form next"; grid-template-rows: auto auto 1fr; gap: 24px 48px; align-items: start; }
#contact-page .contact-intro { grid-area: intro; }
#contact-page .contact-intro h1 { font-size: clamp(32px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.025em; margin: 8px 0 16px; color: #102b33; }
#contact-page .contact-intro p:last-child { font-size: 16px; line-height: 1.6; margin: 0; color: #38515b; }
#contact-page .contact-phone { grid-area: phone; padding: 28px; background: #e9f3f5; border: 1px solid #b8d2d9; text-align: center; }
#contact-page .contact-phone h2 { font-size: 25px; line-height: 1.2; margin: 0 0 20px; color: #102b33; }
#contact-page .contact-phone a { display: block; width: fit-content; max-width: 100%; margin: 4px auto; padding: 6px 0; font-size: clamp(25px, 2.6vw, 32px); font-weight: 700; line-height: 1.25; color: #102b33; text-decoration: none; }
#contact-page .contact-phone a:hover { color: #006782; text-decoration: underline; }
#contact-page .contact-phone a:focus-visible { outline: 3px solid #006782; outline-offset: 4px; }
#contact-page .contact-phone span { display: block; font-size: 13px; color: #38515b; }
#contact-page .contact-phone .contact-phone__secondary { font-size: 23px; margin-top: 12px; }
#contact-page .contact-form-panel { grid-area: form; min-width: 0; }
#contact-page .contact-form-panel .form, #contact-page .contact-form-panel .form-card { margin: 0; padding: 28px; background: #fff; border: 1px solid #aec9d1; box-shadow: none; }
#contact-page .contact-form-panel label { font-size: 13px; line-height: 1.45; }
#contact-page .contact-form-panel input:not([type="checkbox"]):not([type="hidden"]), #contact-page .contact-form-panel select { min-height: 44px; }
#contact-page .contact-form-panel textarea { min-height: 140px; }
#contact-page .contact-form-panel .field__help, #contact-page .contact-form-panel small, #contact-page .form-note, #contact-page .form-notice, #contact-page .turnstile-block p { font-size: 12px; line-height: 1.55; color: #38515b; }
#contact-page .contact-form-panel .consent label, #contact-page .contact-form-panel .checkbox label { font-size: 12px; color: #38515b; }
#contact-page .contact-form-panel button[type="submit"] { width: 100%; }
#contact-page .contact-next { grid-area: next; padding: 24px; border: 1px solid #c9dadd; background: #f4f8f8; color: #102b33; }
#contact-page .contact-next h2 { font-size: 18px; margin: 0 0 14px; }
#contact-page .contact-next ol { padding-left: 20px; margin: 0; }
#contact-page .contact-next li { font-size: 14px; line-height: 1.6; margin-bottom: 10px; }
#contact-page .contact-next li:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
 #contact-page::before, #contact-page::after { display: none; }
#contact-page { padding: 28px 16px 48px; }
 #contact-page .contact-shell { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "phone" "form" "next"; grid-template-rows: none; gap: 24px; max-width: 600px; }
 #contact-page .contact-phone { padding: 20px; }
 #contact-page .contact-phone h2 { font-size: 22px; margin-bottom: 10px; }
 #contact-page .contact-form-panel .form, #contact-page .contact-form-panel .form-card { padding: 20px 16px; }
}
