.contact-page .contact-hero { margin-bottom: 0; }
.contact-page .contact-layout { grid-template-columns: minmax(0, 1.65fr) minmax(250px, .9fr); gap: 24px; margin-top: 24px; }
.contact-card, .contact-aside { min-width: 0; padding: clamp(22px, 3.5vw, 36px); }
.contact-card-heading { margin-bottom: 24px; }
.contact-kicker { color: #245fa6; font-size: .73rem; font-weight: 750; letter-spacing: .07em; }
.contact-card-heading h2, .contact-aside h2 { margin: 8px 0; color: #202b3c; font-size: clamp(1.3rem, 2vw, 1.6rem); }
.contact-card-heading p, .contact-aside p { margin: 0; color: #536277; line-height: 1.65; }
.contact-form { gap: 0; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.contact-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-form .contact-field label { margin: 0; color: #334155; font-size: .9rem; }
.contact-form .contact-field input, .contact-form .contact-field select, .contact-form .contact-field textarea { width: 100%; min-height: 48px; box-sizing: border-box; border: 1px solid #bccbdc; border-radius: 8px; background: #fff; color: #202b3c; font: inherit; padding: 11px 12px; }
.contact-form .contact-field textarea { min-height: 170px; line-height: 1.6; resize: vertical; }
.contact-form .contact-field input::placeholder, .contact-form .contact-field textarea::placeholder { color: #6b7b8f; }
.contact-form .contact-field small { margin: 0; color: #536277; font-size: .8rem; line-height: 1.5; }
.contact-form :is(input, select, textarea):focus-visible { border-color: #245fa6; outline: 3px solid rgba(36, 95, 166, .25); outline-offset: 1px; }
.contact-tip { margin: 22px 0 0; padding: 14px 16px; border-left: 3px solid #245fa6; border-radius: 0 8px 8px 0; background: #f1f6fb; color: #3f5269; font-size: .9rem; line-height: 1.6; }
.contact-form-footer { margin-top: 22px; }
.contact-form-footer .quiz-submit { min-height: 48px; margin: 0; }
.contact-form-footer .quiz-submit span { margin-left: 8px; }
.contact-form-footer .form-privacy { margin: 14px 0 0; line-height: 1.5; }
.contact-aside-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: #eaf2fb; color: #245fa6; font-size: 1.35rem; }
.contact-aside h2 { margin-top: 18px; }
.contact-aside h3 { margin: 0 0 8px; color: #25324a; font-size: 1rem; }
.contact-aside-divider { height: 1px; margin: 24px 0; background: #e3eaf2; }
.contact-aside .secondary-link { display: inline-block; margin-top: 22px; }
@media (max-width: 760px) { .contact-page .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
@media (max-width: 520px) { .contact-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; } .contact-field-wide { grid-column: auto; } .contact-form-footer .quiz-submit { width: 100%; } }
