/* v75 release hardening: unified readable visual layer */
:root{
  --read-text:#172033;
  --read-muted:#44536a;
  --read-soft:#59677c;
  --read-link:#075f9a;
  --read-dark:#0f1d2e;
  --read-dark-2:#16283d;
  --read-light:#ffffff;
  --read-border:#c8d2df;
  --focus:#ffbf47;
}
html{color-scheme:light;}
body{color:var(--read-text);background:#fff;}
main p, main li, main dd, main td, main label, main .lead, main .muted,
main [class*="description"], main [class*="subtitle"], main [class*="summary"]{
  color:var(--read-muted);
}
main small, main .meta, main [class*="meta"], main [class*="eyebrow"]{
  color:var(--read-soft);
}
main h1,main h2,main h3,main h4,main h5,main h6,main strong,main dt{color:var(--read-text);}
main a:not(.btn):not([class*="button"]):not([class*="btn"]){color:var(--read-link);text-decoration-thickness:.08em;text-underline-offset:.15em;}
main input,main select,main textarea{color:var(--read-text);background:#fff;border-color:#8796aa;}
main input::placeholder,main textarea::placeholder{color:#5b6779;opacity:1;}
main table th{color:#172033;background:#e8eef5;}
main table td{color:#28364a;}
/* Dark surfaces: enforce readable foregrounds without relying on inherited pale tones. */
.pr-hero,.pr-trust,.pr-closing,.site-footer,.platform-footer,
[class*="dark"], [class*="hero"][style*="background"],
.audit-hero,.sector-hero,.kg-hero,.catalog-hero,.role-hero,.problem-hero{
  color:#f8fbff;
}
.pr-hero h1,.pr-hero h2,.pr-hero h3,.pr-hero strong,.pr-trust h1,.pr-trust h2,.pr-trust h3,.pr-trust strong,
.pr-closing h1,.pr-closing h2,.pr-closing h3,.pr-closing strong,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer strong,.site-footer .brand,
.platform-footer h1,.platform-footer h2,.platform-footer h3,.platform-footer strong,
.audit-hero h1,.audit-hero h2,.audit-hero h3,.sector-hero h1,.sector-hero h2,.sector-hero h3,
.kg-hero h1,.kg-hero h2,.kg-hero h3,.catalog-hero h1,.catalog-hero h2,.catalog-hero h3,
.role-hero h1,.role-hero h2,.role-hero h3,.problem-hero h1,.problem-hero h2,.problem-hero h3{color:#fff;}
.pr-hero p,.pr-hero li,.pr-hero small,.pr-hero span,.pr-trust p,.pr-trust li,.pr-trust small,.pr-trust span,
.pr-closing p,.pr-closing li,.pr-closing small,.pr-closing span,
.site-footer p,.site-footer small,.site-footer span,.platform-footer p,.platform-footer small,.platform-footer span,
.audit-hero p,.audit-hero li,.sector-hero p,.sector-hero li,.kg-hero p,.kg-hero li,
.catalog-hero p,.catalog-hero li,.role-hero p,.role-hero li,.problem-hero p,.problem-hero li{color:#dbe6f2;}
.site-footer a,.platform-footer a{color:#eef6ff;}
.site-footer a:hover,.platform-footer a:hover{color:#fff;text-decoration:underline;}
/* Cards and panels on light backgrounds. */
.card,.tool-card,.pr-card,.pr-feature-card,.pr-tool,.aside-card,.notice,.callout,
[class*="card"]:not(.pr-command):not(.search-panel){
  --card-text:#172033;
}
.card p,.tool-card p,.pr-card p,.pr-feature-card p,.pr-tool p,.aside-card p,.notice p,.callout p,
[class*="card"] p{color:#44536a;}
.card h2,.card h3,.tool-card h2,.tool-card h3,.pr-card h2,.pr-card h3,.pr-feature-card h2,.pr-feature-card h3,
.pr-tool h2,.pr-tool h3,.aside-card h2,.aside-card h3{color:#172033;}
/* Header is fixed to one visual system across all pages. */
.utility-bar{background:#0b1726;color:#eaf2fb;border-bottom:1px solid #2b3e54;}
.utility-bar span,.utility-bar a{color:#eaf2fb;}
.site-header.unified-header.platform-header{background:#fff;color:#172033;border-bottom:1px solid #cfd8e3;box-shadow:0 4px 18px rgba(15,29,46,.08);}
.site-header .brand,.site-header .brand span,.site-header .brand small{color:#172033;}
.site-header .nav-link{color:#24344a;}
.site-header .nav-link:hover,.site-header .nav-link:focus-visible{color:#005f99;background:#eef6fb;}
.header-search,.mobile-nav-toggle{color:#172033;border-color:#9eacbc;background:#fff;}
.mobile-nav-panel{background:#fff;border-top:1px solid #cfd8e3;}
.mobile-nav-panel a strong{color:#172033;}.mobile-nav-panel a span{color:#4b5b70;}
/* Keyboard focus must never disappear. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--focus)!important;outline-offset:3px!important;
}
/* Minimum readable supporting text. */
main small,main .meta,main [class*="meta"],main [class*="eyebrow"]{font-size:max(.82rem,13px);line-height:1.45;}
@media (max-width:900px){.site-header .nav-shell{min-height:72px}.utility-bar{font-size:13px}.mobile-nav-panel a span{font-size:14px;}}
