/* WCAG 2.1 AA color-contrast fixes (axe-core audited).
   Same hues as the original palette, darkened/strengthened to >= 4.5:1. */

/* Footer smallprint: rgba(255,255,255,.4) on #263940 was 3.3:1 */
#footer .html-block,
#footer .html-block p,
#footer .html-block a,
#footer .html-block a:visited {
  color: rgba(255,255,255,.75) !important;
}
#footer .html-block a,
#footer .html-block a:visited {
  border-bottom-color: rgba(255,255,255,.75) !important;
}

/* Small caption/description text: #858b8d on near-white was 3.3:1 */
.caption-text .description,
[class*="caption-text"] [class*="description"] {
  color: #5f686b !important;
}

/* Teal button (rgba(91,159,174,.8) bg with white text was 2.3:1) */
body:not(.button-style-default) .sqs-editable-button-color,
.sqs-editable-button,
.sqs-button-element--primary {
  background-color: #1f7688 !important;
  border-color: #1f7688 !important;
  color: #fff !important;
}
body:not(.button-style-default) .sqs-editable-button-color:hover,
.sqs-editable-button:hover,
.sqs-button-element--primary:hover {
  background-color: #1a6373 !important;
  border-color: #1a6373 !important;
}

/* ---- Static contact form (replaces the Squarespace JS form) ---- */
#aaa-contact-form form { max-width: 720px; margin: 0 auto; text-align: left; }
#aaa-contact-form .aaa-row { display: flex; gap: 18px; flex-wrap: wrap; }
#aaa-contact-form .aaa-row .aaa-field { flex: 1 1 240px; }
#aaa-contact-form .aaa-field { margin-bottom: 18px; }
#aaa-contact-form label {
  display: block; margin-bottom: 6px; font-size: 15px; color: #33454d;
}
#aaa-contact-form .aaa-req { font-size: 12px; color: #5f686b; }
#aaa-contact-form input[type="text"],
#aaa-contact-form input[type="email"],
#aaa-contact-form textarea {
  width: 100%; box-sizing: border-box; padding: 12px 14px; font-size: 16px;
  font-family: inherit; color: #24333a; background: #fff;
  border: 1px solid #b9c7cc; border-radius: 2px;
}
#aaa-contact-form input:focus,
#aaa-contact-form textarea:focus {
  outline: 2px solid #1f7688; outline-offset: 1px; border-color: #1f7688;
}
.aaa-submit {
  display: inline-block; padding: 14px 34px; border: 0; cursor: pointer;
  background: #1f7688 !important; color: #fff !important;
  font-family: inherit; font-size: 14px; letter-spacing: 2.5px; text-transform: uppercase;
  text-decoration: none; border-radius: 2px;
}
.aaa-submit:hover, .aaa-submit:focus { background: #1a6373 !important; }
.aaa-submit:focus-visible { outline: 2px solid #24333a; outline-offset: 2px; }
#aaa-contact-form .aaa-alt { font-size: 14px; color: #5f686b; margin-top: 14px; }
#aaa-contact-form .aaa-alt a { color: #1f7688; }
#aaa-form-status:empty { display: none; }
#aaa-form-status.aaa-ok { color: #2e6b45; font-weight: 600; }
#aaa-form-status.aaa-err { color: #a3341e; font-weight: 600; }
.aaa-contact-cta { margin: 10px 0 30px; }
