/* ==========================================================================
   TLR blue layer: shares the TLR Search Partners palette.
   Bright blue (#0BA9F8) is used for fills and for text on dark surfaces.
   Text sitting on bright blue is navy, never white (white on #0BA9F8 fails contrast).
   Text in blue on light surfaces uses the deep blue (#04689E).
   Loaded last on every page.
   ========================================================================== */

:root {
  --on-accent: #0B2235;
  --on-accent-soft: rgba(11, 34, 53, 0.9);
  --accent-on: #0B2235;
}

/* ---------- Buttons and header CTA ---------- */
.button,
.btn,
tlr-header .nav-links .nav-cta,
.nav-links .nav-cta {
  color: var(--on-accent);
}

.button:hover,
.btn:hover,
tlr-header .nav-links .nav-cta:hover {
  color: var(--on-accent);
  background: #3BBBFA;
  border-color: #3BBBFA;
}

.button::after {
  color: var(--white);
  background: var(--on-accent);
}

tlr-header .nav-links .nav-cta::after {
  color: var(--white);
  background: var(--on-accent);
}

.button.secondary,
.button.light,
.btn.lite,
.btn.ghost {
  color: var(--ink);
  background: var(--white);
}

.button.secondary::after {
  color: var(--white);
  background: var(--ink);
}

.ink-surface .button.secondary,
.hero .button.secondary,
.final-cta .button.secondary,
.page-hero .button.secondary,
.article-end-cta .button.light {
  color: var(--white);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4);
}

.ink-surface .button.secondary::after,
.final-cta .button.secondary::after,
.page-hero .button.secondary::after {
  color: var(--on-accent);
  background: var(--white);
}

/* Current page in the header (was dark on dark) */
tlr-header .nav-links > a[aria-current="page"],
tlr-header .nav-dropdown > button[aria-current="page"],
tlr-header .nav-links > a:hover,
tlr-header .nav-dropdown > button:hover {
  color: var(--white);
}

/* ---------- Blue text on light surfaces: use deep blue ---------- */
.stat-strip strong,
.founder-ledger dt,
.role-card-top b,
.why-grid b,
.path-copy > span,
.supporting-formats article > span,
.workshop-choice span,
.bigltr,
.founder-clients li:not(:last-child)::after,
.tile-kicker,
.image-cards b,
.facts-strip span,
.shortlist-card header span,
.float-card span,
.page-hero-brief-label,
.page-hero-facts dt,
.page-hero-paths span,
.eyebrow,
.section-kicker {
  color: #04689E;
}

/* Blue text on dark surfaces: use bright blue */
.page-hero .eyebrow,
.ink-surface .eyebrow,
.hero .eyebrow,
.program-hero .eyebrow,
.article-hero .eyebrow,
.resource-hero .eyebrow,
.resource-hero .resource-meta span,
.article-hero .article-meta span,
.page-hero .resource-meta span {
  color: #0BA9F8;
}

/* Low-contrast labels on navy */
.hero-capabilities,
.section-index.dark small,
.connect-section .section-index small,
.framework-section .section-index small {
  color: rgba(255, 255, 255, 0.62);
}

.section-index.dark small {
  color: rgba(255, 255, 255, 0.62);
}

/* ---------- Components filled with bright blue: navy text ---------- */
.fc-roles,
.fc-roles strong,
.fc-roles .role-rotator,
.sector-chips li:first-child,
.loop-core,
.five-c-chain li:last-child,
.five-c-chain li:last-child h3,
.five-c-chain li:last-child span,
.connect-grid li:last-child,
.connect-grid li:last-child h3,
.connect-grid li:last-child span,
.connect-grid li:last-child small,
.connect-grid li:last-child small b,
.testimonial-card:nth-child(3),
.testimonial-card:nth-child(3) blockquote,
.testimonial-card:nth-child(3) footer strong,
.home-final,
.home-final h2,
.home-final .text-link,
.map-hub,
.map-hub-copy strong,
.map-hub-copy span,
.check,
.stepper.is-visible li > i,
.offer-comparison thead th:nth-child(3),
.program-card.featured .program-card-badge,
.tile-link::after {
  color: var(--on-accent);
}

.fc-roles span,
.five-c-chain li:last-child p,
.connect-grid li:last-child p,
.testimonial-card:nth-child(3) footer span,
.home-final-copy p {
  color: var(--on-accent-soft);
}

.fc-roles .live-dot,
.fc-roles .live-dot::after {
  background: var(--on-accent);
}

.connect-grid li:last-child small {
  border-top-color: rgba(11, 34, 53, 0.25);
}

.loop-core img,
.map-hub img {
  filter: brightness(0) saturate(100%) invert(10%) sepia(35%) saturate(2400%) hue-rotate(185deg) brightness(92%);
}

.testimonial-card:nth-child(3) .quote-mark {
  color: var(--on-accent);
}

.testimonial-card:nth-child(3) footer {
  border-top-color: rgba(11, 34, 53, 0.25);
}

.home-final .button {
  color: var(--white);
  background: var(--on-accent);
  border-color: var(--on-accent);
}

.home-final .button::after {
  color: var(--on-accent);
  background: #0BA9F8;
}

.home-final .button:hover {
  color: var(--white);
  background: #12304A;
  border-color: #12304A;
}

.home-final .final-book img {
  filter: drop-shadow(0 30px 40px rgba(4, 40, 70, 0.45));
}

.stepper li > i {
  color: var(--white);
}

.stepper.is-visible li > i {
  border-color: #3BBBFA;
}

.resource-list i {
  color: var(--on-accent);
}

.tile-link::after {
  color: var(--on-accent);
}

/* Tags and chips on light surfaces */
.shortlist-card li em {
  color: #04689E;
}

.shortlist-visual em {
  color: #0BA9F8;
}

/* Sprint highlight on the programs page */
.engagement-path.recommended {
  border-color: rgba(4, 104, 158, 0.4);
}

/* Selection and focus */
::selection {
  color: var(--on-accent);
  background: #7FD3FB;
}

:focus-visible {
  outline-color: #0BA9F8;
}

/* ---------- Audit fixes ---------- */
.final-cta .button:not(.secondary),
.article-end-cta .button:not(.light) {
  color: var(--on-accent);
}

.program-hero .button.secondary {
  color: var(--white);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4);
}

.program-hero .button.secondary::after {
  color: var(--on-accent);
  background: var(--white);
}

.workshop-choice article > span,
.workshop-choice span {
  color: #04689E;
}

.shead .bigltr {
  color: #04689E;
}

.resource-featured-copy .resource-meta span,
.resource-featured .resource-meta span:first-child {
  color: #0BA9F8;
}
