.contact-section { padding: 72px 0 100px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.contact-card { padding: 34px; border: 1px solid var(--line); border-radius: 26px; background: var(--white); box-shadow: var(--shadow); }
.contact-form { display: grid; gap: 20px; }
.contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-field { display: grid; gap: 7px; }
.form-field label, .privacy-field { font-weight: 750; }
.form-field input, .form-field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #cbd7cf; border-radius: 12px; color: var(--ink); background: #fbfcfb; outline: none; }
.form-field textarea { min-height: 150px; resize: vertical; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--green-dark); box-shadow: 0 0 0 3px rgba(7,137,74,.14); background: var(--white); }
.required-mark { color: var(--green-dark); }
.privacy-field { display: flex; align-items: flex-start; gap: 11px; color: var(--ink-2); font-size: .9rem; font-weight: 500; line-height: 1.5; cursor: pointer; }
.privacy-field input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: var(--green-dark); }
.privacy-field a { color: var(--green-dark); font-weight: 800; text-decoration: underline; }
.contact-form .button { justify-self: start; }
.contact-note { margin: -4px 0 0; color: var(--muted); font-size: .84rem; }
.ogform-message { margin-top: 16px; font-weight: 750; }
.contact-aside { display: grid; gap: 18px; }
.contact-aside .card { padding: 26px; }
.contact-aside .card p { margin-top: 10px; }
.contact-aside a { color: var(--green-dark); font-weight: 800; }
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; gap: 30px; } .contact-aside { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .contact-section { padding: 52px 0 72px; } .contact-card { padding: 24px 20px; border-radius: 20px; } .contact-form__row, .contact-aside { grid-template-columns: 1fr; } .contact-form .button { width: 100%; } }
