/* a11y-fixes.css — additive WCAG 2.2 AA corrections (audit 2026-06-01).
 * Loaded AFTER styles.min.css so it wins the cascade. Kept separate (like
 * hover-fixes.css) so we don't hand-edit the minified stylesheet. Each rule
 * targets a defect that was VERIFIED against the live site (not the stale
 * source styles.css, whose findings were mostly already fixed in min.css).
 */

/* WCAG 2.4.7 (Focus Visible) — the inquiry-form inputs carry an inline
   style="…;outline:none;…" with no replacement, so the keyboard focus ring
   was invisible on ~42 fields across 14 pages. !important is required to beat
   the inline outline:none. The site's global *:focus-visible already covers
   everything else; this only re-asserts it on the inline-styled fields. */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--accent-light, #a5d0ff) !important;
  outline-offset: 2px !important;
}

/* WCAG 2.4.7 — scroll-reveal blocks start at opacity:0; if focus lands inside
   one before it has animated in, the focused control would be invisible.
   Force the block visible whenever it contains the focused element. */
.reveal:focus-within {
  opacity: 1 !important;
  transform: none !important;
}

/* WCAG 1.4.1 (Use of Color) — in-sentence body links are set off from the
   surrounding text by color alone (inline style="color:#60a5fa", no underline).
   Add an underline so the link is distinguishable without relying on color. */
a[style*="color:#60a5fa"],
a[style*="color: #60a5fa"] {
  text-decoration: underline !important;
}

/* WCAG 1.4.1 — the active main-nav item is distinguished only by color. Add a
   non-color cue (underline + weight). Covers aria-current="page" and "true". */
.nav-links a.active,
.nav-links a[aria-current] {
  text-decoration: underline;
  text-underline-offset: 5px;
  font-weight: 700;
}

/* WCAG 1.4.3 — the visually-hidden helper class was referenced (e.g. the
   "Earth Tab Home" link on success/) but undefined on pages that don't ship
   styles.min.css, so the link rendered as visible default-blue (#0000ee, 2.16:1).
   Define it here so .sr-only is correctly clipped (and exempt from contrast). */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
