/* Compact presentation layer aligned with the approved Drupal reference site. */
#header .nass-modern-masthead { background: #fff; border-bottom: 1px solid #dfe1e2; }
#header .nass-modern-masthead__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.75rem; }
#header .nass-modern-masthead__brand .usa-logo { margin: 0; }
#header .nass-modern-masthead__brand .logo-img img { width: 5.25rem; height: auto; }
#header .nass-modern-masthead__brand .agency-name { color: #18336f; font-size: 1rem; font-weight: 700; }
#header .nass-modern-masthead__brand .tag-line { color: #4a4a4a; font-size: .65rem; text-transform: uppercase; }
#header .nass-modern-masthead__tools { display: flex; align-items: center; gap: .8rem; }
#header .nass-modern-search { width: 13rem; margin: 0; }
#header .nass-modern-search .usa-input { height: 2rem; }
#header #online-survey { margin: 0; padding: .55rem .85rem; background: #18336f; color: #fff !important; font-size: .75rem; white-space: nowrap; }
#header #nass-nav { background: #f5f5f5; }
#header #nass-nav .usa-nav__primary { max-width: 75rem; margin: 0 auto; }
#header #nass-nav .usa-nav__link, #header #nass-nav .usa-accordion__button { color: #1b1b1b !important; background: #f5f5f5; font-size: .82rem; }
#header #nass-nav .usa-nav__link:hover, #header #nass-nav .usa-nav__link:focus, #header #nass-nav .usa-accordion__button:hover, #header #nass-nav .usa-accordion__button:focus { background: #e6e6e6; color: #18336f !important; }
#header #nass-nav a, #header #nass-nav button { color: #1b1b1b !important; }

/* Keep the masthead compact and legible like the legacy NASS header. */
#header .nass-modern-masthead__inner { min-height: 5.1rem; }
#header .nass-modern-masthead__brand .agency-banner { justify-content: flex-start; align-items: center; gap: .85rem; padding-top: 0; }
#header .nass-modern-masthead__brand .logo-img { flex: 0 0 auto; line-height: 0; }
#header .nass-modern-masthead__brand .logo-img img { width: 5.35rem; height: auto; }
#header .nass-modern-masthead__brand .usa-logo__text { display: block; width: auto; padding-top: 0; }
#header .nass-modern-masthead__brand .usa-logo__text a { text-decoration: none; }
#header .nass-modern-masthead__brand .agency-name { font-size: 1.08rem; line-height: 1.15; letter-spacing: .01em; }
#header .nass-modern-masthead__brand .tag-line { display: block; min-height: .8rem; margin-top: .18rem; font-size: .64rem; line-height: 1; letter-spacing: .08em; }
#header .nass-modern-masthead__tools { align-items: center; }
#header .nass-modern-search { width: 15rem; }
#header .nass-modern-search .usa-input { border-color: #8b8b8b; font-size: .9rem; }
#header #nass-nav { border-top: 1px solid #dfe1e2; border-bottom: 1px solid #dfe1e2; }
#header #nass-nav .usa-nav__primary { align-items: stretch; }
#header #nass-nav .usa-nav__primary-item { border-right: 1px solid #dedede; }
#header #nass-nav .usa-nav__primary-item:first-child { border-left: 1px solid #dedede; }
#header #nass-nav .usa-nav__link, #header #nass-nav .usa-accordion__button { min-height: 2.7rem; padding: .68rem 1rem; color: #1b1b1b !important; background: #f5f5f5 !important; font-size: .84rem; font-weight: 600; line-height: 1.2; }
#header #nass-nav .usa-nav__link > span, #header #nass-nav .usa-accordion__button > span { color: #1b1b1b !important; }
#header #nass-nav .usa-nav__link:hover, #header #nass-nav .usa-nav__link:focus, #header #nass-nav .usa-accordion__button:hover, #header #nass-nav .usa-accordion__button:focus { color: #18336f !important; background: #e6e6e6 !important; }
#header #nass-nav .usa-nav__link:hover > span, #header #nass-nav .usa-nav__link:focus > span, #header #nass-nav .usa-accordion__button:hover > span, #header #nass-nav .usa-accordion__button:focus > span, #header #nass-nav .usa-nav__link.usa-current > span { color: #18336f !important; }
#header #nass-nav .usa-nav__link.usa-current { color: #18336f !important; box-shadow: inset 0 -.25rem #fdb81e; }
#header #nass-nav .usa-accordion__button::after { filter: brightness(0) saturate(100%); }
#header #nass-nav .usa-nav__submenu { background: #fff; border-top: 3px solid #18336f; box-shadow: 0 4px 10px rgba(0,0,0,.14); }
#header #nass-nav .usa-nav__submenu a { color: #18336f !important; background: #fff !important; font-size: .86rem; }

/* TB Mega Menu 8.x-1.10 uses the legacy tb-megamenu class names. */
#header #nass-nav .tb-megamenu { background: #f5f5f5; border-top: 1px solid #dfe1e2; border-bottom: 1px solid #dfe1e2; }
#header #nass-nav .tb-megamenu .tb-megamenu-nav { display: flex; align-items: stretch; max-width: 75rem; margin: 0 auto; padding: 0; list-style: none; }
#header #nass-nav .tb-megamenu .tb-megamenu-item { border-right: 1px solid #dedede; margin: 0; padding: 0; list-style: none; }
#header #nass-nav .tb-megamenu .tb-megamenu-item:first-child { border-left: 1px solid #dedede; }
#header #nass-nav .tb-megamenu .tbm-link-container { display: flex; align-items: center; }
#header #nass-nav .tb-megamenu .tb-megamenu-nav > .tb-megamenu-item > .tbm-link-container > a,
#header #nass-nav .tb-megamenu .tb-megamenu-nav > .tb-megamenu-item > .tbm-link-container > button { min-height: 2.7rem; padding: .68rem 1rem; color: #1b1b1b !important; background: #f5f5f5 !important; font-size: .84rem; font-weight: 600; line-height: 1.2; text-decoration: none; }
#header #nass-nav .tb-megamenu .tb-megamenu-nav > .tb-megamenu-item > .tbm-link-container > a:hover,
#header #nass-nav .tb-megamenu .tb-megamenu-nav > .tb-megamenu-item > .tbm-link-container > a:focus { color: #18336f !important; background: #e6e6e6 !important; }
#header #nass-nav .tb-megamenu .tb-megamenu-submenu { background: #fff; border-top: 3px solid #18336f; box-shadow: 0 4px 10px rgba(0,0,0,.14); min-width: 18rem; }
#header #nass-nav .tb-megamenu .tb-megamenu-subnav { display: block; min-width: 18rem; margin: 0; padding: .5rem 0; list-style: none; }
#header #nass-nav .tb-megamenu .tb-megamenu-subnav .tb-megamenu-item { border: 0; }
#header #nass-nav .tb-megamenu .tb-megamenu-subnav a { display: block; padding: .45rem 1rem; color: #18336f !important; background: #fff !important; font-size: .86rem; text-decoration: none; }
#header #nass-nav .tb-megamenu .tb-megamenu-subnav a:hover, #header #nass-nav .tb-megamenu .tb-megamenu-subnav a:focus { background: #eef3f8 !important; }
#header #nass-nav .tb-megamenu .tbm-submenu-toggle { border: 0; background: transparent; }
#header #nass-nav .tb-megamenu .tbmegamenu-nav { margin: 0; }
#header #nass-nav .tb-megamenu .tb-megamenu-submenu { display: none; }
#header #nass-nav .tb-megamenu .tb-megamenu-item.open > .tb-megamenu-submenu,
#header #nass-nav .tb-megamenu .tb-megamenu-item.nass-submenu-open > .tb-megamenu-submenu,
#header #nass-nav .tb-megamenu .tb-megamenu-item:focus-within > .tb-megamenu-submenu,
#header #nass-nav .tb-megamenu .tb-megamenu-item:hover > .tb-megamenu-submenu { display: block; }

@media (max-width: 63.99rem) {
  #header .nass-mobile-nav-toggle-wrap { display: none !important; }
  #header #nass-nav { display: block !important; width: 100%; }
  #header #nass-nav .tb-megamenu { position: relative; border: 0; background: #f5f5f5; }
  #header #nass-nav .tb-megamenu .tbm-button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 2.75rem; border: 0; background: #18336f; color: #fff; cursor: pointer; }
  #header #nass-nav .tb-megamenu .tbm-button::before { content: 'Menu'; margin-right: .5rem; font-weight: 700; }
  #header #nass-nav .tb-megamenu .tbm-button-container { display: inline-flex; flex-direction: column; gap: 3px; }
  #header #nass-nav .tb-megamenu .tbm-button-container span { display: block; width: 1.25rem; height: 2px; background: #fff; }
  #header #nass-nav .tb-megamenu .tbm-collapse { display: none; }
  #header #nass-nav .tb-megamenu .tbm-collapse.nass-menu-open { display: block; }
  #header #nass-nav .tb-megamenu .tb-megamenu-nav { display: block; max-width: none; }
  #header #nass-nav .tb-megamenu .tb-megamenu-item { display: block; border: 0; border-bottom: 1px solid #dfe1e2; }
  #header #nass-nav .tb-megamenu .tb-megamenu-nav > .tb-megamenu-item > .tbm-link-container > a { display: block; width: 100%; min-height: 0; padding: .8rem 1rem; text-align: left; }
  #header #nass-nav .tb-megamenu .tbm-link-container { justify-content: space-between; }
  #header #nass-nav .tb-megamenu .tbm-submenu-toggle { display: block; width: 3rem; min-height: 2.75rem; }
  #header #nass-nav .tb-megamenu .tb-megamenu-submenu,
  #header #nass-nav .tb-megamenu .tb-megamenu-item:hover > .tb-megamenu-submenu { position: static; width: 100% !important; min-width: 0; border-top: 1px solid #dfe1e2; box-shadow: none; }
  #header #nass-nav .tb-megamenu .tb-megamenu-item.open > .tb-megamenu-submenu,
  #header #nass-nav .tb-megamenu .tb-megamenu-item.nass-submenu-open > .tb-megamenu-submenu { display: block; }
  #header #nass-nav .tb-megamenu .tb-megamenu-subnav { min-width: 0; padding: 0; }
  #header #nass-nav .tb-megamenu .tb-megamenu-subnav a { padding: .7rem 1.75rem; }
}
.nass-home-intro { min-height: 20rem; padding: 4.25rem 0; background: linear-gradient(90deg, rgb(255 255 255 / 96%) 25%, rgb(255 255 255 / 38%)), url('../img/hero.png') center / cover; }
.nass-home-intro__content { max-width: 39rem; }
.nass-home-intro__eyebrow { margin: 0; color: #18336f; font-size: .78rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.nass-home-intro h1 { margin: .5rem 0 1rem; color: #18336f; font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; letter-spacing: .04em; }
.nass-home-intro p { font-size: 1.15rem; }
.nass-home-campaign { margin-top: 2rem; }
.nass-home-actions { margin-top: 2rem; }
.nass-home-action, main .nass-home-action { display: flex; min-height: 9rem; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; padding: 1.5rem; color: #fff !important; text-align: center; text-decoration: none; border-radius: .2rem; }
.nass-home-action *, main .nass-home-action * { color: inherit !important; }
.nass-home-action:hover, .nass-home-action:focus { color: #fff !important; transform: translateY(-2px); }
.nass-home-action--green { background: #003b27; }
.nass-home-action--blue { background: #1e376d; }
.nass-home-action strong { font-size: 1.2rem; }
.nass-home-action span { font-size: .85rem; }
.nass-home-action em { padding: .3rem .8rem; border: 1px solid #fff; font-size: .8rem; font-style: normal; }
.nass-home-content-hub { margin-top: 2rem; padding: 2.5rem 1rem; background: #fff; }
.nass-home-content-hub__headlines, .nass-home-content-hub__state { border-top-color: #fdb81e; box-shadow: 0 2px 8px rgb(0 0 0 / 10%); }
.nass-home-content-hub h2 { border-top: 0; padding-top: 0; }
.nass-home-spotlights { padding-top: 1.5rem; }
.nass-home-section-label { margin: 0; color: #1e366c; font-size: .9rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.nass-home-featured { padding-top: 3rem; padding-bottom: 3rem; }
.nass-home-featured__card { display: flex; min-height: 10rem; flex-direction: column; gap: .7rem; padding: 1.3rem; border: 1px solid #dfe1e2; border-top: 3px solid #fdb81e; box-shadow: 0 1px 5px rgb(0 0 0 / 10%); color: #1e366c; text-decoration: none; }
.nass-home-featured__card strong { font-size: 1.25rem; }
.nass-home-featured__card span { color: #4a4a4a; }
.nass-context-navigation { margin: 2rem 0; border-top: 4px solid #fdb81e; background: #f5f5f5; }
.nass-context-navigation h2 { margin: 0; padding: 1rem; color: #18336f; font-size: 1.1rem; }
.nass-context-navigation ul { margin: 0; padding: 0; list-style: none; }
.nass-context-navigation li { border-top: 1px solid #dfe1e2; }
.nass-context-navigation a { display: block; padding: .75rem 1rem; color: #18336f; text-decoration: none; }
.nass-context-navigation li.is-active > a, .nass-context-navigation a:hover { background: #e7f2fb; font-weight: 700; }
.nass-context-navigation__group { display: block; padding: .75rem 1rem; font-weight: 700; }
.nass-context-navigation li > ul { padding-left: .75rem; }
.nass-context-navigation li.is-active-trail > a { background: #e7f2fb; }
.nass-context-navigation h2 { border-top: 0; max-width: none; line-height: 1.25; }
.nass-context-navigation ul li > a { text-decoration: none; }
.nass-context-navigation h2.nass-context-navigation__heading--linked { padding: 0; }
.nass-context-navigation h2.nass-context-navigation__heading--linked > a { padding: 1rem; font-size: inherit; text-decoration: none; }
.nass-context-navigation h2 > a[aria-current="page"] { background: #e7f2fb; font-weight: 700; }
.nass-context-navigation h2 > a.is-active-trail { background: #e7f2fb; }
.site-footer { border-top: 1px solid #dfe1e2; }
.site-footer .footer-menu { background: #f5f5f5; }
.site-footer .footer-menu a { color: #1b1b1b; font-size: .82rem; font-weight: 700; letter-spacing: .02em; }
.site-footer .footer-content { padding: 2rem 0; background: #f5f5f5; }
.nass-footer-columns { margin-top: 1.5rem; }
.nass-footer-columns h2 { margin: 0 0 .6rem; color: #18336f; font-size: 1rem; text-transform: uppercase; }
.nass-footer-columns ul { margin: 0; padding: 0; list-style: none; }
.nass-footer-columns li { margin-bottom: .3rem; font-size: .85rem; }
.nass-footer-subscribe { display: block; padding: 1rem; background: #18336f; color: #fff; text-decoration: none; }
/* The secure image filter rejects legacy references whose source asset was not
   supplied with the migration. Do not expose its internal error marker to site
   visitors; source-backed references are staged as normal local images. */
main img.filter-image-invalid { display: none; }
main .nass-restored-anchor, main [id] { scroll-margin-top: 7rem; }
/* Webform requires one contact choice; the base theme mislabels each option. */
form[id^="webform-submission-quick-stats-feedback-"] .radios--wrapper.required .usa-radio__label > .usa-hint { display: none; }
@media (max-width: 63.99rem) { #header .nass-modern-masthead__inner { padding-top: .6rem; padding-bottom: .6rem; } #header .nass-modern-masthead__brand .usa-logo__text { display: none; } #header .nass-modern-search { width: min(12rem, 40vw); } #header #online-survey { display: none; } #header #nass-nav { background: #18336f; } #header #nass-nav .usa-nav__link, #header #nass-nav .usa-accordion__button { background: #18336f; color: #fff; } }
