/* High-contrast interaction states: all colours are paired explicitly. */

html body.contrast #page :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: #ff0 !important; border-color: #ff0 !important; opacity: 1 !important; filter: none !important; }

html body.contrast #page :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill) :is(span, i, b, strong, em, svg) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; border-color: transparent !important; }

html body.contrast #page :where(a[href]):is(:hover, :focus-visible) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: #ff0 !important; opacity: 1 !important; filter: none !important; }

html body.contrast #page :where(a[href]):is(:hover, :focus-visible) :is(span, div, p, h2, h3, h4, strong, b, em, i, svg) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; border-color: transparent !important; }

html body.contrast #page :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill):is(:hover, :focus-visible) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: #fff !important; border-color: #fff !important; }

html body.contrast #page :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill):is(:hover, :focus-visible) :is(span, i, b, strong, em, svg) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; }

html body.contrast #page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #0ff !important; outline-offset: 3px !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: #ff0 !important; border-color: #ff0 !important; opacity: 1 !important; filter: none !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill) :is(span, i, b, strong, em, svg) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; border-color: transparent !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :where(a[href]):is(:hover, :focus-visible) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: #ff0 !important; opacity: 1 !important; filter: none !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :where(a[href]):is(:hover, :focus-visible) :is(span, div, p, h2, h3, h4, strong, b, em, i, svg) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; border-color: transparent !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill):is(:hover, :focus-visible) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: #fff !important; border-color: #fff !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :is(button, input[type="submit"], input[type="button"], .wp-block-button__link, .wp-element-button, a.button, a.btn, a[role="button"], .mfsa-global-btn, .mfsa-firb-button, .mfsa-add-calendar, .chb-btn, .chb-search-btn, .mfsa-lang-link, .mfsa-search-trigger, .mfsa-rp-pill, .mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-filter-pill):is(:hover, :focus-visible) :is(span, i, b, strong, em, svg) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; }

html body.contrast #page :is(#content, #masthead, #colophon, .site-footer) :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #0ff !important; outline-offset: 3px !important; }

html body.contrast .a11y-toolbar button { background: #ff0 !important; color: #000 !important; border-color: #ff0 !important; }
html body.contrast .a11y-toolbar button:is(:hover, :focus-visible) { background: #fff !important; color: #000 !important; border-color: #fff !important; }
html body.contrast .a11y-toolbar button:focus-visible { outline: 3px solid #0ff !important; outline-offset: 3px; }
html body.contrast #page a.rca-card:is(:hover, :focus-visible) .edac-nww-external-link-icon { --mfsa-external-icon-color: #000 !important; color: #000 !important; background-color: transparent !important; }
html body.contrast #page :is(button, .wp-block-button__link, .mfsa-global-btn, .mfsa-firb-button) .edac-nww-external-link-icon { --mfsa-external-icon-color: #000 !important; color: #000 !important; background-color: transparent !important; }

/* 1.4.8: preserve font glyphs; the theme paints pseudo-elements black. */
html body.contrast #page :is(.dashicons, .edac-nww-external-link-icon, .anww-external-link-icon, .mfsa-external-link-icon),
html body.contrast #page :is(.dashicons, .edac-nww-external-link-icon, .anww-external-link-icon, .mfsa-external-link-icon)::before,
html body.contrast #page :is(.dashicons, .edac-nww-external-link-icon, .anww-external-link-icon, .mfsa-external-link-icon)::after {
    background: transparent !important; border: 0 !important; outline: 0 !important;
    box-shadow: none !important; text-decoration: none !important;
    -webkit-text-fill-color: currentColor !important;
}
html body.contrast #page :is(.dashicons, .edac-nww-external-link-icon, .anww-external-link-icon, .mfsa-external-link-icon)::before,
html body.contrast #page :is(.dashicons, .edac-nww-external-link-icon, .anww-external-link-icon, .mfsa-external-link-icon)::after {
    color: inherit !important;
}
/* Hover should not draw a separate rectangle around every word in a card. */
html body.contrast #page a[href]:hover:not(:focus-visible),
html body.contrast #page a[href]:hover :is(span,div,p,h2,h3,h4,strong,b,em,i,svg) {
    outline: none !important; box-shadow: none !important;
}
html body.contrast #page a[href] {
    text-decoration-thickness: 1px !important; text-underline-offset: .15em !important;
}
/* Pair the menu text fill with its background, including nested arrow labels. */
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) a.menu-link {
    color: #fff !important; -webkit-text-fill-color: #fff !important;
    background: #000 !important;
}
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) a.menu-link:is(:hover,:focus-visible) {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important;
}
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) a.menu-link :is(span,i,svg) {
    color: inherit !important; -webkit-text-fill-color: inherit !important;
    background: transparent !important; fill: currentColor !important;
}
/* Give the keyboard one clear focus ring, while removing mouse-only outlines. */
html body.contrast #page :is(#content,#masthead,#colophon) :is(a,button,input,select,textarea):focus-visible {
    outline: 3px solid #0ff !important; outline-offset: 3px !important; box-shadow: none !important;
}

/* 1.4.9: keyboard focus includes focusable spans and tab panels. */
html body.contrast #page :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important; outline: 4px solid #0ff !important;
    outline-offset: 4px !important; box-shadow: 0 0 0 4px #000 !important;
    text-decoration-thickness: 2px !important; opacity: 1 !important;
}
html body.contrast #page :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible :is(span,i,b,strong,em,svg,p,h2,h3,h4) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; }
html body.contrast #page :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible :is(svg,path) { fill: currentColor !important; }
html body.contrast #page :is(#content,#masthead,#colophon) :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important; outline: 4px solid #0ff !important;
    outline-offset: 4px !important; box-shadow: 0 0 0 4px #000 !important;
    text-decoration-thickness: 2px !important; opacity: 1 !important;
}
html body.contrast #page :is(#content,#masthead,#colophon) :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible :is(span,i,b,strong,em,svg,p,h2,h3,h4) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; }
html body.contrast #page :is(#content,#masthead,#colophon) :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible :is(svg,path) { fill: currentColor !important; }
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important; outline: 4px solid #0ff !important;
    outline-offset: 4px !important; box-shadow: 0 0 0 4px #000 !important;
    text-decoration-thickness: 2px !important; opacity: 1 !important;
}
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible :is(span,i,b,strong,em,svg,p,h2,h3,h4) { color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important; }
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible :is(svg,path) { fill: currentColor !important; }

/* The dropdown arrow is its own keyboard target, inside the menu link. */
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) a.menu-link:has(.dropdown-menu-toggle:focus-visible) {
    background: #ff0 !important; color: #000 !important; -webkit-text-fill-color: #000 !important;
}
html body.contrast #page #masthead :is(#ast-hf-menu-1,#ast-hf-menu-2,#ast-hf-mobile-menu) .dropdown-menu-toggle:focus-visible {
    min-width: 36px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center;
}
@media (forced-colors: active) {
    html body.contrast #page :is(a,button,input,select,textarea,[tabindex]):focus-visible {
        outline-color: Highlight !important;
    }
}

/* 1.4.10: current pagination is a span, not a button; pair its colours explicitly. */
html body.contrast #page #content :is(.mfsa-standard-wrapper,.mfsa-standard-pagination,.mfsa-ajax-pagination) :is(.page-numbers.current,[aria-current="page"]),
html body.contrast #page #content :is(.mfsa-standard-wrapper,.mfsa-standard-pagination,.mfsa-ajax-pagination) :is(.page-numbers.current,[aria-current="page"]) span {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important; border-color: #ff0 !important;
}

/* Keep background panels and all new detail/search metadata readable. */
html body.contrast #page #content :is(.has-background,.mfsa-unified-card,.mfsa-resource-meta,.mfsa-contact-card) {background:#000 !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border-color:#fff !important;}
html body.contrast #page #content :is(.mfsa-unified-summary,.mfsa-unified-source,.mfsa-news-date,.mfsa-cpt-date,.mfsa-mc-date-label,.mfsa-resource-meta time,.mfsa-contact-row .txt,.mfsa-contact-sub,.mfsa-sep,.mfsa-meta-sep) {color:#fff !important;-webkit-text-fill-color:#fff !important;background:transparent !important;}
html body.contrast #page #content :is(.mfsa-date-badge-wrap,.mfsa-resource-meta) {border-color:#fff !important;}
html body.contrast #page #content :is(.mfsa-ui-term-pill,.mfsa-cat-badge,.mfsa-category-badge,.mfsa-industry-badge,.mfsa-tag-badge,.mfsa-news-badge,.mfsa-rp-pill,.mfsa-unified-badge,.mfsa-csa-pill,.rca-label) {color:#000 !important;-webkit-text-fill-color:#000 !important;background:#ff0 !important;border-color:#ff0 !important;}
html body.contrast #page #content :is(.mfsa-ui-term-pill,.mfsa-cat-badge,.mfsa-category-badge,.mfsa-industry-badge,.mfsa-news-badge,.mfsa-rp-pill) :is(span,a) {color:inherit !important;-webkit-text-fill-color:inherit !important;background:transparent !important;}
/* Higher specificity than the generic link and emphasis rules, with paired colours. */
html body.contrast #page #content a[href] {color:#0ff !important;-webkit-text-fill-color:#0ff !important;background:#000 !important;}
html body.contrast #page #content a[href] :is(span,em,strong,b,i,h2,h3,h4) {color:inherit !important;-webkit-text-fill-color:inherit !important;background:transparent !important;}
html body.contrast #page #content a[href]:is(:hover,:focus-visible) {color:#000 !important;-webkit-text-fill-color:#000 !important;background:#ff0 !important;opacity:1 !important;filter:none !important;}
html body.contrast #page #content a[href]:is(:hover,:focus-visible) :is(span,em,strong,b,i,h2,h3,h4,svg) {color:inherit !important;-webkit-text-fill-color:inherit !important;background:transparent !important;}
html body.contrast #page #content :is(.mfsa-resource-actions a,.mfsa-csa-btn,.mfsa-global-btn) {color:#000 !important;-webkit-text-fill-color:#000 !important;background:#ff0 !important;}
html body.contrast #page #content :is(.mfsa-resource-actions a,.mfsa-csa-btn,.mfsa-global-btn):is(:hover,:focus-visible) {background:#fff !important;color:#000 !important;-webkit-text-fill-color:#000 !important;}

/* 1.4.23: override legacy row-hover rules with paired colours. */
html body.contrast #page #content table tbody tr:is(:hover,:focus-within) > :is(td,th),
html body.contrast #page #content table tbody tr:is(:hover,:focus-within) > :is(td,th) :is(p,div,span,strong,b,em,i,ul,ol,li) {
 color:#000 !important;-webkit-text-fill-color:#000 !important;background:#fff !important;
}
html body.contrast #page #content table tbody tr:is(:hover,:focus-within) a[href],
html body.contrast #page #content table tbody tr:is(:hover,:focus-within) a[href] :is(span,strong,b,em,i) {
 color:#000 !important;-webkit-text-fill-color:#000 !important;background:#fff !important;
}
html body.contrast #page #content table tbody tr:is(:hover,:focus-within) a[href]:is(:hover,:focus-visible),
html body.contrast #page #content table tbody tr:is(:hover,:focus-within) a[href]:is(:hover,:focus-visible) :is(span,strong,b,em,i) {
 color:#000 !important;-webkit-text-fill-color:#000 !important;background:#ff0 !important;
}
html body.contrast #page #content p.has-background {background:#000 !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:1px solid #fff !important;}
html body.contrast #page #content .mfsa-sidebar-col a.mfsa-sidebar-item:is(:hover,:focus-visible) {background:#ff0 !important;color:#000 !important;-webkit-text-fill-color:#000 !important;outline:3px solid #0ff !important;outline-offset:2px !important;}
/* Solid black controls are separated visually; yellow is reserved for selection. */
html body.contrast #page #content .mfsa-rfc-wrapper :is(.mfsa-rfc-view-toggles,.mfsa-rfc-toolbar-actions) {background:#000 !important;gap:8px !important;}
html body.contrast #page #content .mfsa-rfc-wrapper :is(.mfsa-rfc-tool-btn,.mfsa-rfc-view-btn) {background:#000 !important;color:#0ff !important;-webkit-text-fill-color:#0ff !important;border:2px solid #fff !important;min-width:44px;min-height:44px;}
html body.contrast #page #content .mfsa-rfc-wrapper :is(.mfsa-rfc-tool-btn,.mfsa-rfc-view-btn):is(.active,[aria-pressed="true"],:hover,:focus-visible) {background:#ff0 !important;color:#000 !important;-webkit-text-fill-color:#000 !important;}
html body.contrast #page #content .mfsa-rfc-wrapper :is(.mfsa-rfc-tool-btn,.mfsa-rfc-view-btn) .dashicons,
html body.contrast #page #content .mfsa-rfc-wrapper :is(.mfsa-rfc-tool-btn,.mfsa-rfc-view-btn) .dashicons::before {color:inherit !important;-webkit-text-fill-color:inherit !important;background:transparent !important;}
/* Alert artwork has hard-coded white/red SVG paint; map both to the card state. */
html body.contrast #page #content a.rca-card .rca-icon-svg [fill]:not([fill="none"]) {fill:currentColor !important;}
html body.contrast #page #content a.rca-card .rca-icon-svg [stroke] {stroke:currentColor !important;}
html body.contrast #page #content a.rca-card .rca-icon-svg [fill="none"],
html body.contrast #page #content a.rca-card .rca-icon-svg {fill:none !important;}
html body.contrast #page #content a.rca-card .rca-icon-col {color:#0ff !important;background:#000 !important;}
html body.contrast #page #content a.rca-card:is(:hover,:focus-visible) .rca-icon-col {color:#000 !important;background:#ff0 !important;}

html body.contrast #page #content a.rca-card .rca-icon-svg [fill][stroke] {fill:#000 !important;}
html body.contrast #page #content a.rca-card:is(:hover,:focus-visible) .rca-icon-svg [fill][stroke] {fill:#ff0 !important;}
html body.contrast #page #content a.rca-card .rca-icon-col :is(svg,path,circle) {color:inherit !important;-webkit-text-fill-color:inherit !important;}
html body.contrast #page #content a.rca-card:is(:hover,:focus-visible) .rca-icon-col :is(svg,path,circle) {color:#000 !important;-webkit-text-fill-color:#000 !important;}

/* 1.4.26: legacy high-contrast CSS reserved 270px for a 282px logo.
   Size the desktop branding track from the actual logo, so the menu cannot overlap it. */
@media (min-width:1401px) {
 html body.contrast #page #masthead :is(.site-header-section-left,.site-header-above-section-left,.site-header-primary-section-left,[data-section="title_tagline"],.site-branding.ast-site-identity) {
  flex:0 0 auto !important;width:max-content !important;min-width:max-content !important;max-width:none !important;
 }
 html body.contrast #page #masthead .ast-above-header-bar .site-above-header-wrap > .ast-builder-grid-row.ast-builder-grid-row-no-center,
 html body.contrast #page #masthead .ast-primary-header-bar > .ast-builder-grid-row.ast-builder-grid-row-no-center {
  grid-template-columns:max-content minmax(0,1fr) !important;column-gap:16px !important;
 }
}
