.contact-form { display: grid; gap: 1.1rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: grid; gap: .45rem; }
.field label { color: var(--color-brand-wine); font-size: .78rem; font-weight: 800; }
.field label > span[aria-hidden] { color: var(--color-brand-red); }
.field label small { color: var(--color-text-muted); font-weight: 500; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: .75rem .85rem; border: 1px solid #d9bdc0; border-radius: var(--radius-sm); color: var(--color-text); background: #fff; }
.field textarea { min-height: 150px; resize: vertical; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #a51f32; box-shadow: 0 0 0 2px rgba(165,31,50,.08); }
.field-error { color: #8f1d2d; font-size: .74rem; font-weight: 700; }
.check-field label { display: flex; align-items: flex-start; gap: .65rem; line-height: 1.4; }
.check-field input { flex: 0 0 auto; width: 20px; min-height: 20px; margin-top: .1rem; accent-color: var(--color-brand-red); }
.button-submit { justify-self: start; min-width: 170px; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-summary, .form-success { padding: 1rem; border-radius: var(--radius-sm); }
.form-summary { margin-bottom: 1rem; color: #8f1d2d; background: #fff0f2; border: 1px solid #e4a5ad; }
.form-success { display: grid; gap: .7rem; color: #255f43; background: #eef8f2; border: 1px solid #9ccab0; }
