/* Contact presentation only. Retain the floating-label structure, validation,
   honeypot/Turnstile markup, and the existing submission event handler. */
.contact-hero,
.contact-page {
  color: #193331;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.contact-hero {
  background: #f5f7f3;
  border-bottom: 1px solid #e2e9e4;
}
.contact-hero h1 {
  color: #193331;
  font-family: inherit;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 650 !important;
  letter-spacing: -.03em;
  line-height: 1.2;
  text-shadow: none;
}
.contact-hero .lead {
  max-width: 44ch;
  margin-inline: auto;
  color: #61726b;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.65;
}
.contact-page { margin-top: 1rem; margin-bottom: 2rem; }
.contact-page .contact-card,
.contact-page .contact-card:hover,
.contact-page .contact-card:focus-within,
.contact-page .contact-card:has(.card-body:hover),
.contact-page .contact-card:has(.card-body:focus-within) {
  background: #fff;
  border: 1px solid #e2e9e4;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(25, 51, 49, .05) !important;
}
.contact-page h2 {
  color: #193331;
  font-family: inherit;
  font-size: clamp(1.5rem, 3vw, 1.85rem);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.3;
}
.contact-page .text-muted { color: #61726b !important; }
.contact-page .card-body > .text-muted { font-size: .9rem; line-height: 1.65; }
.contact-page .form-control {
  color: #193331;
  background-color: #fff;
  border-radius: 7px;
  font-size: 1rem;
}
.contact-page .form-control:not(.is-invalid) { border-color: #cbdcd0; }
.contact-page .form-control:not(.is-invalid):focus {
  border-color: #146b58;
  outline: 3px solid #31b989;
  outline-offset: 2px;
  box-shadow: none;
}
.contact-page .form-floating > label { color: #61726b; font-size: .9rem; }
.contact-page textarea.form-control { min-height: 160px; }
.contact-page .alert { border-radius: 7px; font-size: .9rem; }
.contact-page .btn-primary {
  --bs-btn-bg: #146b58;
  --bs-btn-border-color: #146b58;
  --bs-btn-hover-bg: #105745;
  --bs-btn-hover-border-color: #105745;
  --bs-btn-active-bg: #105745;
  --bs-btn-active-border-color: #105745;
  --bs-btn-disabled-bg: #146b58;
  --bs-btn-disabled-border-color: #146b58;
  --bs-btn-focus-shadow-rgb: 20, 107, 88;
  min-height: 46px;
  padding: .7rem 1rem;
  color: #fff;
  background: #146b58;
  border-color: #146b58;
  border-radius: 7px;
  font-size: .95rem;
  font-weight: 600;
  box-shadow: none;
}
.contact-page .btn-primary:hover,
.contact-page .btn-primary:active { background: #105745; border-color: #105745; }
.contact-page :is(a, button):focus-visible { outline: 3px solid #31b989; outline-offset: 3px; }
@media (max-width: 575.98px) {
  .contact-page #submit-btn { width: 100%; }
}
