/* Contrast review 2026-11-08. WCAG AA: text 4.5:1 (large 3:1), controls 3:1. */
:root{--a11y-ink:#102133;--a11y-muted:#4b5d66;--a11y-teal:#006777;--a11y-green:#286220}
@media screen{
/* Use separate accent shades on light and dark surfaces. */
.eyebrow,.section-label,.section-number,.section-no,.quote-mark,.faq-question .no,.faq-question i,.article-card b{color:var(--a11y-teal)!important}
.hero .eyebrow,.services .section-label,.hero-copy>span,.about-hero>span,.faq-hero>span,.legal-hero>span,.knowledge-hero>span,.projects-hero .section-label,.cta>span{color:#9cecf0!important}
.hero h1 em,.hero-copy h1 em,.about-hero h1 em,.faq-hero h1 em,.knowledge-hero h1 em,.core-hero h1 em{color:#fff!important;-webkit-text-fill-color:#fff!important;-webkit-text-stroke:0!important}
#topbar{background:#071a2d!important;color:#fff!important}
#topbar nav>a:not(.service-link),#topbar nav button,#topbar nav button span,#topbar .core-link span{color:#fff!important}
#topbar nav :is(.about-options,.career-options,.services-options,.knowledge-options) a{background:#fff;color:#102133!important}
#home .hero-content,.article-hero .hero-copy{background:#071a2df2;border-radius:6px;padding:24px;box-sizing:border-box}
.article-hero{background:#071a2d}.article-hero .hero-copy{margin:24px;max-width:calc(100% - 48px)}
#core{background:linear-gradient(120deg,#064c6b,#063b64 65%,#071a2d)!important}
#core .core-kicker,#core h2 i{color:#c5f5f7!important}
.panel-stat small,.panel-stat span,.career-note,.contact-card>span,.address a,.article-side>span,.article-side a,.article-body a,.letter blockquote small,.signature span,.contact-box span,.field-note,.form-section h2 small,.file-drop small,.submit-row p span,#file-name{color:var(--a11y-muted)!important}
.request-intro>span,.form-side .section-label{color:var(--a11y-teal)!important}
#serviceForm .section-number{color:var(--a11y-green)!important}
.file-drop .camera{background:#286220!important;color:#fff!important}
.project-card>span{background:#071a2d;padding:8px 12px;border-radius:4px}
.article-nav .disabled{opacity:1;color:#b8cbd6}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#6b7c85!important;color:#102133}
input::placeholder,textarea::placeholder{color:#52636c!important;opacity:1!important}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid #071a2d!important;outline-offset:3px;box-shadow:0 0 0 6px #fff!important}
}
@media screen{
.career-intro .eyebrow{color:#9cecf0!important}
.profile-content a,.inline-link{color:#006777!important}
}
