/* Shared accessibility improvements, loaded after page styles. */
:root { scroll-padding-top: 7rem; }
[id], a, button, input, select, textarea { scroll-margin-top: 7rem; }
:focus-visible {
    outline: 3px solid #111 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px #fff !important;
}
main:focus { outline: none; }
.site-header button.nav-link { background: transparent; border: 0; }
.site-header .dropdown-menu { max-height: 70vh; overflow-y: auto; }
main p a, .policy-card a, #contact-feedback a { text-decoration: underline; text-underline-offset: .18em; }
main { overflow-wrap: anywhere; }
.form-control, .form-select { border-color: #767676; }
.form-control::placeholder { color: #666; opacity: 1; }
[aria-invalid="true"] { border: 2px solid #b00020; }
.contact-form p.text-danger { color: #b00020 !important; }
#contact-feedback { position: static; inset: auto; transform: none; width: auto; max-width: 70rem; margin: 1rem auto; padding: 1.5rem; animation: none; }
#contact-feedback a { color: inherit; }
.reviews-controls button, .page-link, .site-footer-social a { min-width: 2.75rem; min-height: 2.75rem; }
/* Visible content and links must remain usable when scripts are unavailable. */
[data-reveal]:focus-within { opacity: 1; transform: none; }
.trust-marquee:not(.motion-ready) .trust-marquee__track,
.trust-marquee.is-paused .trust-marquee__track,
.trust-marquee:focus-within .trust-marquee__track { animation: none; transform: none; width: 100%; }
.trust-marquee:not(.motion-ready) .trust-marquee__group,
.trust-marquee.is-paused .trust-marquee__group,
.trust-marquee:focus-within .trust-marquee__group { flex-wrap: wrap; justify-content: center; width: 100%; padding: 1rem; }
.trust-marquee:not(.motion-ready) [aria-hidden="true"],
.trust-marquee.is-paused [aria-hidden="true"],
.trust-marquee:focus-within [aria-hidden="true"] { display: none; }
.trust-marquee.is-paused .trust-marquee__viewport::before,
.trust-marquee.is-paused .trust-marquee__viewport::after,
.trust-marquee:focus-within .trust-marquee__viewport::before,
.trust-marquee:focus-within .trust-marquee__viewport::after { display: none; }
@media (prefers-reduced-motion: reduce) {
    html, *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
    .trust-marquee .trust-marquee__track { width: 100%; transform: none; }
    .trust-marquee .trust-marquee__group { flex-wrap: wrap; justify-content: center; width: 100%; }
    .trust-marquee [aria-hidden="true"] { display: none; }
}
@media (max-width: 575.98px) {
    .navbar-brand { min-width: 0; max-width: calc(100% - 3.5rem); margin-right: 0; gap: .5rem; }
    .navbar-brand-text { min-width: 0; }
    .navbar-brand-name { white-space: normal; overflow-wrap: anywhere; }
    .navbar-brand-tagline { white-space: normal; font-size: 1rem; }
    .home-hero-actions, .contact-form .btn { max-width: 100%; }
    .btn { white-space: normal; }
}
@media (forced-colors: active) {
    :focus-visible { outline: 3px solid Highlight !important; }
}

/* Colors measured against their actual component backgrounds. */
.site-breadcrumbs-item.active { color: #666; }
.government-capability-number { color: #666; }
.government-approach .section-heading-eyebrow,
.government-process-step > span,
.service-cta .section-heading-eyebrow { color: #ff8080; }

.commercial-approach .section-heading-eyebrow,
.commercial-approach-list > article > span,
.commercial-cta-inner .section-heading-eyebrow { color: #ff8080; }