.contact-grid { display: grid; gap: clamp(24px, 4vw, 48px); grid-template-columns: 1fr; }
@media (min-width: 992px) { .contact-grid { grid-template-columns: 1.4fr 1fr; align-items: start; } }

.form-card { background: #fff; border: 1px solid var(--cx-line); border-top: 4px solid var(--cx-red); border-radius: var(--radius); padding: clamp(20px, 3vw, 40px); box-shadow: var(--shadow-1); }
.form-card h2 { margin-bottom: var(--sp-2); }

.field { margin-bottom: var(--sp-5); }
.field label, .field legend { display: block; font-family: var(--ff-head); font-weight: 600; font-size: .875rem; color: var(--cx-ink); margin-bottom: var(--sp-2); padding: 0; }
.field .req { color: var(--cx-red); }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field select, .field textarea {
  width: 100%; border: 1px solid var(--cx-steel); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4);
  font: inherit; font-size: var(--fs-small); color: var(--cx-ink); background: #fff;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--cx-red); }
.field textarea { min-height: 120px; resize: vertical; }
.field .hint { font-size: .75rem; color: var(--cx-muted); margin-top: var(--sp-2); }
.field .error { font-size: .75rem; color: var(--cx-danger); margin-top: var(--sp-2); display: none; }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: var(--cx-danger); }
.field.has-error .error { display: block; }

.checkbox-row { display: flex; align-items: flex-start; gap: var(--sp-3); }
.checkbox-row input { margin-top: 4px; flex: none; }
.checkbox-row label { font-weight: 400; font-family: var(--ff-body); font-size: var(--fs-small); color: var(--cx-body); }

.check-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-2) var(--sp-4); }
.check-grid .checkbox-row { align-items: center; }
.check-grid label { font-weight: 600; color: var(--cx-ink); }

fieldset { border: none; padding: 0; margin: 0 0 var(--sp-6); }
.form-section-title { font-family: var(--ff-head); font-weight: 700; font-size: var(--fs-small); text-transform: uppercase; letter-spacing: .06em; color: var(--cx-red-600); margin-bottom: var(--sp-5); padding-bottom: var(--sp-3); border-bottom: 1px solid var(--cx-line); }

.honeypot-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.form-note { font-size: .75rem; color: var(--cx-muted); margin-top: var(--sp-4); }
.form-note.error { color: var(--cx-danger); font-weight: 600; }

.form-success { text-align: center; padding: var(--sp-7) var(--sp-4); }
.form-success__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--cx-red-50); color: var(--cx-red-600); display: grid; place-items: center; margin: 0 auto var(--sp-5); }
.form-success__icon svg { width: 32px; height: 32px; }
.form-success .ref { font-family: var(--ff-mono); background: var(--cx-mist); padding: var(--sp-2) var(--sp-4); border-radius: var(--radius); display: inline-block; margin: var(--sp-3) 0; font-weight: 700; color: var(--cx-ink); }
.form-success ol { text-align: left; max-width: 420px; margin: var(--sp-5) auto 0; }

.routing-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--sp-4); margin-bottom: clamp(32px, 4vw, 56px); }

.hq-card { background: var(--cx-mist); border-radius: var(--radius); padding: var(--sp-6); margin-bottom: var(--sp-5); }
.hq-card h3 { font-size: var(--fs-h4); margin-bottom: var(--sp-4); }
.hq-card address { font-size: var(--fs-small); line-height: 1.9; }
.side-card { background: #fff; border: 1px solid var(--cx-line); border-radius: var(--radius); padding: var(--sp-6); margin-bottom: var(--sp-5); }
.side-card h3 { font-size: var(--fs-h4); margin-bottom: var(--sp-4); }
.side-card ol { margin: 0; padding-left: 1.2em; font-size: var(--fs-small); }
.side-card ol li { margin-bottom: var(--sp-3); }
