/* =========================================================================
   Tax Free Wealth Plan — Accessibility layer (WCAG 2.1 AA)
   Injected site-wide via scripts/a11y-remediate.mjs. Loaded AFTER the main
   stylesheet so these rules win. Self-hosted (not on the Webflow CDN).
   Changes here are additive/non-destructive: skip link, keyboard focus,
   and contrast corrections for low-contrast gray text.
   ========================================================================= */

/* --- Skip to main content (WCAG 2.4.1 Bypass Blocks) ------------------- */
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  background: #003a66;
  color: #ffffff;
  padding: 10px 18px;
  border-radius: 0 0 6px 0;
  font-weight: 600;
  text-decoration: none;
}
.skip-to-content:focus {
  left: 0;
}

/* --- Visible keyboard focus (WCAG 2.4.7 Focus Visible) ----------------- */
/* :focus-visible only fires for keyboard/AT users — mouse clicks are
   unaffected, so this does not change the look for normal pointer use. */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #1a6fd4;
  outline-offset: 2px;
  border-radius: 2px;
}
/* Programmatic focus target for the skip link shouldn't show an outline. */
#main-content:focus,
[tabindex="-1"]:focus {
  outline: none;
}

/* --- Screen-reader-only utility --------------------------------------- */
.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;
}

/* =========================================================================
   Contrast corrections (WCAG 1.4.3 Contrast Minimum, 4.5:1 for body text)
   SAFE bucket only: low-contrast GRAY text that is currently hard/impossible
   to read. These darken-on-light / lighten-on-dark adjustments improve
   legibility without altering brand color identity.
   (White-on-blue brand elements are handled separately, pending review.)
   ========================================================================= */

/* Dark footer (#0a0f1e bg) — copyright & disclosures were near-invisible.
   Scope .cr-year to the dark footer only: the book/quote pages reuse .cr-year
   on a WHITE footer, where a light color would fail. */
.footer__bottom p,
.footer__bottom,
.footer__bottom .cr-year { color: #aab6c8 !important; }   /* was #334155 — ratio 1.84 */
.footer__disclosures p { color: #9aa7ba !important; }  /* was #475569 — 2.51 */
.footer__links a { color: #b9c4d6 !important; }        /* was #64748b — 4.01 */

/* Light gray text on white backgrounds */
.compare__disclaimer,
.usecases__card-note { color: #5b6675 !important; }     /* was #94a3b8 — 2.56 */
.usecases__card-num { color: #5b6675 !important; }      /* was #cbd5e1 — 1.48 */
.text-footer-down { color: #5a5f68 !important; opacity: 1 !important; }  /* was #787d85/#9ea1a7 + inline opacity */

/* Testimonial detail line on dark card (#1d2537 bg) */
.proof__testimonial-detail { color: #9aa7ba !important; } /* was #64748b — 3.21 */

/* -------------------------------------------------------------------------
   Brand-blue contrast: white text on the brand blues failed AA. Darken the
   blue backgrounds just enough that white text reaches 4.5:1. The brand
   identity is preserved (slightly deeper, fully-opaque blue).
   NOTE: .subtitle has NO !important on purpose — the light-tinted lander hero
   eyebrow uses a higher-specificity rule and must keep its light background.
   ------------------------------------------------------------------------- */
.subtitle { background-color: #0078d6; }                 /* pills: #008bf9 → white 4.51:1 */
.content-wrapper { background-color: #0078d6; }          /* feature/review/banner cards */
.link-block.w-inline-block { background-color: #0078d6; }/* blue CTA link blocks */
.section-clients { background-color: #1a6f96; }          /* partners band: white 5.59:1 */
.ey { color: #1d6fce !important; }                       /* eyebrow label text on light */

/* Faded blue text → darkened to meet AA (these use inline/specific styles,
   so !important is required). */
.nav-link.w-nav-link { color: #003a66 !important; }      /* nav over hero blue → 4.72:1 */
.nav-button { color: #15749f !important; }               /* "Contact Us" pill text → 4.80:1 */
.foot { color: #5b6675 !important; }                     /* book/quote footer text → 5.83:1 */
#fb-btn { background-color: #2563c9 !important; }         /* FB button: white text → 5.67:1 */
/* Lander hero eyebrow uses a plain <strong> (blue on light tint); the white
   pill labels use .bold-text-5, so :not() keeps those white. */
.subtitle > strong:not(.bold-text-5) { color: #125578 !important; }  /* → 7.46:1 */
