.contact-hero h1 { max-width: 930px; }
.contact-section { scroll-margin-top: calc(var(--nv-header-height) + 24px); }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; align-items: start; }
.contact-form { padding: clamp(22px, 4vw, 34px); border: 1px solid var(--nv-line); border-radius: 18px; background: var(--nv-panel); }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.contact-form .nv-field { margin-top: 0; }
.contact-form .nv-field.is-wide { grid-column: 1 / -1; }
.contact-form textarea { min-height: 170px; }
.contact-consent { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; margin-top: 18px; color: var(--nv-muted); font-size: 12px; line-height: 1.7; }
.contact-consent input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--nv-accent); }
.contact-consent a { color: var(--nv-accent); }
.contact-submit-row { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 22px; }
.contact-submit-row .nv-content-primary { border: 1px solid var(--nv-accent); }
.contact-submit-row span { color: var(--nv-muted); font-size: 12px; line-height: 1.6; }
.contact-submit-row span.is-success { color: var(--nv-accent); }
.contact-submit-row span.is-error { color: var(--nv-danger); }

.contact-aside { display: grid; gap: 10px; }
.contact-aside article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 13px; padding: 20px; border: 1px solid var(--nv-line); border-radius: 14px; background: var(--nv-panel); }
.contact-aside article > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--nv-accent); background: var(--nv-accent-soft); font-size: 10px; font-weight: 750; }
.contact-aside h3 { margin: 3px 0 0; font-size: 15px; line-height: 1.45; }
.contact-aside p { margin: 8px 0 0; color: var(--nv-muted); font-size: 12px; line-height: 1.72; }
.contact-direct { padding: 16px 18px; border-left: 3px solid var(--nv-accent); border-radius: 0 10px 10px 0; color: var(--nv-muted); background: var(--nv-accent-soft); line-height: 1.7; }
.contact-direct a { color: var(--nv-accent); }

@media (max-width: 900px) {
    .contact-layout { grid-template-columns: 1fr; }
    .contact-aside { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
    .contact-form-grid, .contact-aside { grid-template-columns: 1fr; }
    .contact-form .nv-field.is-wide { grid-column: auto; }
}
