.contact-card { padding: 32px; color: #fff; background: var(--es-graphite); }
.contact-card h2 { color:#fff; }
.contact-card h2,
.contact-form h2 { font-size: clamp(1.85rem, 3vw, 2.45rem); }
.contact-card dl, .contact-card dd { margin:0; }
.contact-card dl { margin-top: 26px; border-top:1px solid rgba(255,255,255,.18); }
.contact-card div { padding: 18px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.contact-card dt { color: var(--es-green); font-size:.74rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.contact-card dd, .contact-card a { color: rgba(255,255,255,.86); text-decoration:none; font-weight:700; }
.contact-card a:hover { color: var(--es-green); }
.contact-form { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:18px; padding:32px; background:#fff; border:1px solid var(--es-steel); }
.field-wide { grid-column: 1 / -1; }
.contact-form label { display:grid; gap:8px; font-size:.78rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; border:1px solid var(--es-steel); padding:13px 14px; background:var(--es-offwhite); font:inherit; }
.contact-form .consent-field { display:flex; grid-template-columns:none; flex-direction:row; align-items:flex-start; gap:10px; color:var(--es-muted); font-size:.78rem; font-weight:650; letter-spacing:0; line-height:1.45; text-transform:none; }
.contact-form .consent-field input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; padding:0; accent-color:var(--es-green); }
.contact-form .consent-field a { color:var(--es-graphite); font-weight:800; }
.form-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-status { margin:0; padding:14px 16px; border:1px solid transparent; font-weight:750; line-height:1.5; }
.form-status[hidden] { display:none; }
.form-status--success { color:#075f40; background:#e8f8f1; border-color:#98ddc2; }
.form-status--error { color:#8d2424; background:#fff0f0; border-color:#efb3b3; }
.contact-form button[disabled] { cursor:wait; opacity:.72; }
.contact-form .button--primary:hover,
.contact-form .button--primary:focus-visible { color: var(--es-green); background:#fff; border-color:var(--es-green); }
@media (max-width: 980px) {
  .contact-form { grid-template-columns:1fr; padding:24px; }
}
