.contact-intro { margin: 0 0 20px; font-size: 14px; line-height: 1.9; }
.terms dd .contact-phone { font-size: 26px; line-height: 1.5; text-decoration: none; font-weight: 600; }
.contact-fields { border-top: 1px solid #bccbc4; }
.form-row { display: grid; grid-template-columns: 180px minmax(0,1fr); border-bottom: 1px solid var(--line); }
.form-row > label { padding: 22px 18px; background: #f5f7f5; font-size: 13px; font-weight: 600; }
.required { display: block; width: fit-content; color: var(--accent); font-size: 10px; font-weight: 400; margin-top: 5px; }
.field { padding: 20px 24px; min-width: 0; }
.field input, .field textarea { display: block; width: 100%; max-width: 480px; border: 1px solid #bac9c2; border-radius: 3px; background: white; color: var(--ink); padding: 11px 12px; font-size: 16px; line-height: 1.5; }
.field textarea { max-width: none; min-height: 176px; resize: vertical; }
.field-note { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.form-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding-top: 26px; }
.form-actions a { font-size: 12px; color: var(--green); }
.contact-submit { min-height: 48px; padding: 12px 30px; border: 1px solid var(--green); border-radius: 3px; background: var(--green); color: white; font-size: 14px; }
.contact-submit:hover { background: #28665d; }
@media (max-width: 1000px) { .form-row { grid-template-columns: 150px minmax(0,1fr); } }
@media (max-width: 700px) {
  .form-row { grid-template-columns: minmax(0,1fr); }
  .form-row > label { padding: 12px 14px; }
  .required { display: inline; margin-left: 10px; }
  .field { padding: 14px; }
  .form-actions { flex-direction: column; align-items: stretch; }
  .form-actions a { align-self: center; }
  .contact-submit { width: 100%; }
  .terms dd .contact-phone { font-size: 24px; }
}
