/* Contact – Feature Styles (WCAG AA) */
.contact-section { padding: clamp(2rem, 4vw, 4rem) 1rem; background: var(--bg-custom-navy, #0b1c33); color: #fff; }
.contact-section .container { max-width: 980px; margin: 0 auto; }
.contact-header h1 { color: var(--text-custom-gold, #C2A85C); margin-bottom: .5rem; }
.lede { font-size: 1.125rem; margin-bottom: .75rem; }
.alt-contact a { color: var(--text-custom-gold, #C2A85C); text-decoration: underline; }

form .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; font-weight: 600; margin-bottom: .375rem; }
input[type="text"], input[type="email"], textarea {
  width: 100%; padding: .75rem .875rem; border-radius: .5rem; border: 1px solid rgba(255,255,255,.18);
  background: rgba(17,37,66,.55); color: #fff; outline: none;
}
input:focus, textarea:focus { border-color: var(--text-custom-gold, #C2A85C); box-shadow: 0 0 0 3px rgba(194,168,92,.25); }
.checkbox { display: flex; gap: .75rem; align-items: flex-start; }
.checkbox input { margin-top: .35rem; }
.error { color: #ffb4b4; min-height: 1.25rem; font-size: .95rem; }
.hp { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; }
.actions { display: flex; align-items: center; gap: 1rem; margin-top: .5rem; }
.btn { appearance: none; cursor: pointer; border: none; border-radius: 999px; padding: .75rem 1.25rem; font-weight: 700; }
.btn-primary { background: var(--text-custom-gold, #C2A85C); color: #0b1c33; }
.btn-primary:hover { filter: brightness(1.05); }
.btn[disabled] { opacity: .65; cursor: progress; }
.status { min-height: 1.25rem; font-size: .95rem; }
.contact-meta { margin-top: 2rem; }
.contact-meta h2 { color: var(--text-custom-gold, #C2A85C); }

@media (max-width: 720px) {
  form .grid { grid-template-columns: 1fr; }
}
