/* Shared accessibility improvements; preserve the light-green brand color. */
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 12px 18px;
  background: #fff;
  color: #173d1c;
  border: 2px solid #173d1c;
  border-radius: 4px;
  transform: translateY(-200%);
}
.skip-link:focus { transform: translateY(0); }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #135d21 !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
main:focus { outline: none; }
.btn-primary,
.btn-agent,
.service-btn,
.newsletter-form button,
.contact-form button,
.member-avatar { color: #1a1a1a; }
.member-contact a,
.contact-header .overline { color: #236b2a; }
.member-contact a,
.reach-us a { text-decoration: underline; text-underline-offset: 3px; }
.member-contact a:hover,
.reach-us a:hover,
.go-ahead-link:hover { color: #1b5622; }
.footer-bottom { color: #b3b3b3; }
.hero-overlay { background: rgba(0, 0, 0, 0.6); }
.page-banner-overlay { background-color: rgba(12, 55, 18, 0.78); }
.form-field { min-width: 0; }
.form-field label,
.newsletter-label {
  display: block;
  font-weight: 600;
  color: #282828;
  margin-bottom: 6px;
}
.contact-form input,
.contact-form textarea,
.newsletter-form input[type="email"] { border-color: #757575; }
.newsletter-label { margin-top: 16px; }
.form-note { margin-bottom: 16px; color: #555; }
.form-status { margin: 12px 0; color: #173d1c; }
.form-error { margin: 12px 0; color: #962020; }
.form-status:empty { display: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (forced-colors: active) {
  a:focus-visible, button:focus-visible, input:focus-visible,
  textarea:focus-visible, select:focus-visible {
    outline-color: Highlight !important;
  }
  .btn-primary, .btn-agent, .service-btn,
  .contact-form button, .newsletter-form button { border: 1px solid ButtonText; }
}
