/* v25 contrast + sitewide readability override — MUST load last */
:root{
  --v25-ink:#102332;
  --v25-body:#2e4352;
  --v25-muted:#526674;
  --v25-gold-dark:#755827;
  --v25-panel:rgba(253,252,249,.965);
  --v25-panel-strong:rgba(255,255,255,.985);
  --v25-dark:#071b29;
}

/* The background image can contain bright windows and cream office surfaces.
   Any text placed directly over the page background gets its own stable surface. */
body{color:var(--v25-ink)!important;}
main.wrap{color:var(--v25-ink)!important;}

/* Stable contrast for every light/glass content surface. */
.home-hero,
.hero-shell,
.theme-panel,
.human-section,
.process-section,
.page-hero,
.section-card,
.content-card,
.process-box,
.contact-cta,
.identity-disclosure,
.notice,
.keyword-card,
.card,
.region-card,
.region-index-hero,
.seo-article .section:not(.v23-principles):not(.v23-final-cta){
  background:var(--v25-panel)!important;
  color:var(--v25-ink)!important;
}

/* Headings and body copy on light panels must never inherit white/very light text. */
.home-hero h1,.home-hero h2,.home-hero h3,
.hero-shell h1,.hero-shell h2,.hero-shell h3,
.theme-panel h1,.theme-panel h2,.theme-panel h3,
.human-section h1,.human-section h2,.human-section h3,
.process-section h1,.process-section h2,.process-section h3,
.page-hero h1,.page-hero h2,.page-hero h3,
.section-card h1,.section-card h2,.section-card h3,
.content-card h1,.content-card h2,.content-card h3,
.contact-cta h1,.contact-cta h2,.contact-cta h3,
.identity-disclosure h1,.identity-disclosure h2,.identity-disclosure h3,
.notice h1,.notice h2,.notice h3,
.keyword-card h1,.keyword-card h2,.keyword-card h3,
.card h1,.card h2,.card h3,
.region-card h1,.region-card h2,.region-card h3,
.region-index-hero h1,.region-index-hero h2,.region-index-hero h3,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) h1,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) h2,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) h3{
  color:var(--v25-ink)!important;
  text-shadow:none!important;
}

.home-hero p,.home-hero li,.home-hero td,.home-hero th,
.hero-shell p,.hero-shell li,.hero-shell td,.hero-shell th,
.theme-panel p,.theme-panel li,.theme-panel td,.theme-panel th,
.human-section p,.human-section li,
.process-section p,.process-section li,
.page-hero p,.page-hero li,
.section-card p,.section-card li,
.content-card p,.content-card li,
.contact-cta p,.contact-cta li,
.identity-disclosure p,.identity-disclosure li,
.notice p,.notice li,
.keyword-card p,.keyword-card li,
.card p,.card li,
.region-card p,.region-card li,
.region-index-hero p,.region-index-hero li,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) p,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) li,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) td,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) th,
.seo-article .section:not(.v23-principles):not(.v23-final-cta) summary{
  color:var(--v25-body)!important;
  text-shadow:none!important;
}

.lede,.meta,.pilot-note,figcaption{color:var(--v25-muted)!important;}
.eyebrow,.v23-kicker{color:var(--v25-gold-dark)!important;text-shadow:none!important;}
.related a,.intent-links a{color:#27465a!important;}

/* Breadcrumbs previously sat directly over the photo background. Give them a dark pill
   so they remain readable over both bright and dark parts of the photo. */
.breadcrumbs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:8px 13px!important;
  margin-top:14px!important;
  margin-bottom:14px!important;
  border:1px solid rgba(222,185,113,.32)!important;
  border-radius:999px!important;
  background:rgba(5,22,34,.91)!important;
  color:#f8f5ee!important;
  box-shadow:0 7px 22px rgba(0,0,0,.17)!important;
  text-shadow:none!important;
}
.breadcrumbs a,.breadcrumbs span{color:#fff!important;text-shadow:none!important;}

/* Restore intentionally dark CTA sections which were accidentally turned light by the background override. */
.compact-cta,
.v23-principles,
.v23-final-cta{
  background:linear-gradient(135deg,#12384f 0%,#071b29 100%)!important;
  color:#fff!important;
  border-color:rgba(213,177,107,.34)!important;
}
.compact-cta h1,.compact-cta h2,.compact-cta h3,
.v23-principles h1,.v23-principles h2,.v23-principles h3,
.v23-final-cta h1,.v23-final-cta h2,.v23-final-cta h3{color:#fff!important;}
.compact-cta p,.compact-cta li,
.v23-principles p,.v23-principles li,
.v23-final-cta p,.v23-final-cta li{color:#e5edf1!important;}
.compact-cta .eyebrow,.v23-principles .v23-kicker,.v23-final-cta .v23-kicker{color:#e0bd7e!important;}

/* Header/footer maintain fixed contrast. */
.site-header .brand{color:#0d2739!important;}
.site-header nav a:not(.header-call){color:#314957!important;}
.site-footer,.site-footer p,.site-footer div{color:#d7e1e7!important;}
.site-footer a{color:#fff!important;}

/* Any plain text that is a direct child of main and not already inside a card gets a readable chip/surface. */
main.wrap > .notice,
main.wrap > .identity-disclosure{background:var(--v25-panel-strong)!important;}

@media(max-width:700px){
  .breadcrumbs{border-radius:18px!important;width:auto!important;}
  .home-hero,.hero-shell,.theme-panel,.human-section,.process-section,.page-hero,
  .section-card,.content-card,.process-box,.contact-cta,.identity-disclosure,.notice,
  .keyword-card,.card,.region-card,.region-index-hero,
  .seo-article .section:not(.v23-principles):not(.v23-final-cta){background:rgba(255,255,255,.98)!important;}
}
