/* Site overrides, loaded after the legacy theme. */
[hidden] { display: none !important; }
:root { --accessible-ink: #133658; }
body { overflow-wrap: break-word; }
p, main ul, main ol { color: #595959; }
a:not(.btn):not(.badge) { color: #164e73; }
main p a, main li a, main td a, main th a, .cookie-consent-banner a, .cookie-consent-gpc a { text-decoration: underline; }
a:not(.btn):not(.badge):hover, a:not(.btn):not(.badge):focus { color: #133658; text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #133658 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
}
#main-content:focus { outline: none; }
.skip-link { position: absolute; left: 12px; top: 12px; transform: translateY(-200%); z-index: 20000; padding: 12px 18px; background: white; font-weight: bold; }
.skip-link:focus { transform: none; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
button, .pagination .page-link { min-height: 44px; min-width: 44px; }
button { cursor: pointer; }
img { max-width: 100%; height: auto; }
main .row > [class*="col-"] { min-width: 0; }
#page-title .page-title > h1 { color: #fff; }
#page-title .location-heading { padding: 3rem 0; font-size: clamp(1.75rem, 4vw, 2.8rem); line-height: 1.35; }
.location-heading span { background: rgba(0,0,0,.8); padding: .25em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
main table { width: 100%; }
main th, main td { overflow-wrap: anywhere; }
caption { color: #595959; caption-side: top; }
#footer, #footer p, #footer li { color: #fff; }
#footer a:focus-visible { outline-color: #fff !important; box-shadow: 0 0 0 6px #133658 !important; }
#footer a:hover, #footer a:focus { text-decoration: underline; }
/* Notices participate in document flow: never cover a focused control or fill a fixed viewport. */
.cookie-consent-banner, .cookie-consent-gpc { position: relative; top: auto; bottom: auto; left: auto; right: auto; width: 100%; max-width: none; transform: none; }
.cookie-consent-banner p, .cookie-consent-gpc p { color: #263746; }
.cookie-settings-group__header > div { min-width: 0; }
.cookie-settings-group__status { white-space: normal; }
/* Disclosure navigation: hidden panels are not in the tab sequence. */
#header { height: auto; }
#header .header-inner { position: relative !important; height: auto !important; }
#header.header-sticky { position: relative !important; }
#mainMenu[data-accessible-nav] { max-height: none; min-height: 0; overflow: visible; }
#mainMenu[data-accessible-nav] nav { opacity: 1; transform: none; }
#mainMenu[data-accessible-nav] button.nav-disclosure {
  background: transparent; border: 0; border-radius: 3px; color: #133658;
  font: inherit; font-size: 17px; font-weight: 600; line-height: 1.4;
  text-align: left; padding: 12px 14px; white-space: normal;
}
#mainMenu[data-accessible-nav] .disclosure-arrow { display: inline-block; }
#mainMenu[data-accessible-nav] button[aria-expanded="true"] > .disclosure-arrow { transform: rotate(180deg); }
#mainMenu[data-accessible-nav] li.dropdown::before, #mainMenu[data-accessible-nav] li.dropdown-submenu::before { display: none; }
#mainMenu[data-accessible-nav] a { color: #133658 !important; line-height: 1.5; }
#mainMenu[data-accessible-nav] a:hover, #mainMenu[data-accessible-nav] button:hover { text-decoration: underline; }
#mainMenu[data-accessible-nav] nav > ul > li .dropdown-menu {
  min-width: min(20rem, 90vw); max-width: 100%; max-height: none; margin-top: 0;
  opacity: 1; visibility: visible; overflow: visible; transition: none; columns: auto !important;
}
#mainMenu[data-accessible-nav] nav > ul > li > .dropdown-menu:not([hidden]) { display: block; max-height: 70vh; overflow-y: auto; }
#mainMenu[data-accessible-nav] .dropdown-submenu > .dropdown-menu:not([hidden]) {
  display: block; position: static; width: auto; min-width: 0; margin: 0 0 8px 8px;
  padding: 8px; box-shadow: none; float: none;
}
#mainMenu[data-accessible-nav] .dropdown-submenu > button { width: 100%; }
#mainMenu-trigger button { border: 0; background: transparent; }
#mainMenu[data-accessible-nav] nav > ul > li.mega-menu-item > .dropdown-menu { width: 100%; }
#mainMenu[data-accessible-nav] .dropdown-menu a { min-height: 44px; }
.header-extras a[aria-label="Search"] { min-width: 44px; display: inline-flex !important; justify-content: center; align-items: center; }
@media (max-width: 991px) {
  #header #mainMenu[data-accessible-nav] { width: 100%; max-height: none; overflow: visible; }
  #mainMenu[data-accessible-nav] nav > ul > li > .dropdown-menu:not([hidden]) { max-height: none; overflow: visible; }
  #mainMenu[data-accessible-nav] .dropdown-menu { min-width: 0 !important; width: 100%; }
  #mainMenu[data-accessible-nav] nav > ul > li > a, #mainMenu[data-accessible-nav] nav > ul > li > button { padding: 12px 8px; }
  #mainMenu[data-accessible-nav] nav > ul > li.mega-menu-item .mega-menu-content { padding: 0 8px; }
  .header-extras .extrmb { display: none !important; }
  .cookie-settings-container { padding-left: 12px; padding-right: 12px; }
  .cookie-settings-group { padding: 12px; }
}
/* Tabs use native buttons; content remains readable without JavaScript. */
.provider-details { padding: 20px 0; }
.provider-tablist { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.provider-tablist button { border: 2px solid #133658; color: #133658; background: #fff; padding: 10px 16px; border-radius: 4px; font-weight: 700; }
.provider-tablist button[aria-selected="true"] { color: #fff; background: #133658; text-decoration: underline; }
.provider-details [data-tab-panel] { padding: 8px; }
/* Manual carousel has natural content height, no timers and no background video playback. */
.accessible-carousel { padding: 0; background: #f5f8fa; }
.carousel-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; padding: 6px 12px; border-top: 1px solid #dce4e9; background: #f5f8fa; color: #465b6b; font-size: 14px; }
.carousel-controls button { border: 0; border-radius: 4px; background: transparent; color: #133658; padding: 8px 12px; font: inherit; font-weight: 500; }
.carousel-controls button:hover { background: #e4edf2; text-decoration: underline; }
.carousel-controls button span { padding: 0 3px; font-size: 20px; line-height: 1; }
.accessible-slide { display: block; padding: 0; }
.accessible-slide-media, .accessible-slide-image { display: block; }
.accessible-slide-image { width: 100%; height: auto; }
.accessible-slide-copy { max-width: 760px; padding: 24px 0; }
.accessible-slide-copy h2, .accessible-slide-copy p, .accessible-slide-copy .hero-description, .accessible-slide-copy a:not(.btn) { color: #133658; }
.accessible-slide-copy .btn { white-space: normal; height: auto; }
.accessible-slide-copy h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); }
.accessible-slide-copy a { text-decoration: underline; }
.hero-super { font-weight: 700; }
.call-to-action-dark { background: #133658 !important; }
.call-to-action-dark p, .call-to-action-dark h2 { color: #fff; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
#footer .copyright-content { background: #133658; }
#footer .copyright-content .copyright-text, #footer .copyright-content a { color: #fff; }
#topbar .top-menu a { color: #484848; }
.accessible-news-grid, .accessible-testimonials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.accessible-news-grid .post-item, .accessible-testimonials .grid-item { width: auto; padding: 0; }
.accessible-news-list .post-item { width: 100%; }
.accessible-testimonials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 767px) {
  .accessible-news-grid, .accessible-testimonials { grid-template-columns: minmax(0, 1fr); }
}
#footer .copyright-content a { text-decoration: underline; }
.team-members .team-member .team-desc { background-color: #133658; }
@media (max-width: 991px) {
  #header #logo { display: none !important; }
}
#blog .post-item .post-meta-date { color: #595959; }
.accessible-carousel .accessible-slide-copy a.btn:not(.close):not(.mfp-close) { background: #fff; border-color: #133658; color: #133658; }
.accessible-carousel .accessible-slide-copy a.btn:not(.close):not(.mfp-close):hover,
.accessible-carousel .accessible-slide-copy a.btn:not(.close):not(.mfp-close):focus { background: #e4f5f4; color: #133658; }
#mainMenu[data-accessible-nav] .dropdown-menu { animation: none !important; }
