/* ---- assets/mega-menu/styles.css ---- */
#main {
  padding-top: 0;
}

/********************************
	STICKY MENU HEADER
********************************/
.block--stickyMenu {
  z-index: 900;
}

.header__searchForm {
	margin-left: auto;
	display: none;
}

header.header {
	z-index: 5000;
	position: relative;
}

.header__menuToggle {
	margin: 0 10px;
	cursor: pointer;
}

.header__menuToggle button {
	min-height: 24px;
}

.header__mainNavigation {
	justify-content: space-between;
	transition: padding 225ms, transform 0.3s ease-out;
	width: 100%;
	z-index: 5;
	box-shadow: none;
	top: 0;
	position: relative;
	background-color: #fff;
	box-shadow: 0 3px 9px 0 rgba(36, 50, 66, 0.05);
}

body.js-header__mainNavigation-is-scrolled .header__mainNavigation {
	position: fixed;
	top: 64px;
	box-shadow: 0 3px 9px 0 rgba(36, 50, 66, 0.05);
	background-color: #fff;
	z-index: 901;
}

.admin-bar.js-header__mainNavigation-is-scrolled .header__mainNavigation {
	top: calc(64px + var(--wp-admin--admin-bar--height));
	z-index: 901;
}

.header__mainNavigation__logo {
  position: relative;
  opacity: 0;
  width: 0;
  margin-right: 0;
  transition: 0.3s ease-out;
  left: -30px;
}

body.js-header__mainNavigation-is-scrolled .header__mainNavigation__logo {
  opacity: 1;
  width: 30px;
  margin-right: 1rem;
  left: 0;
}

.header__topNavigation {
  position: relative;
  z-index: 901;
}
.header__topNavigation .searchform {
  position: relative;
  border: solid 1px #ecf0f9;
}
.header__topNavigation .searchform .search__input {
  padding-left: 1rem;
  padding-right: calc(16px + 1rem + 1rem);
}
.header__topNavigation .searchform .search__input:focus-visible {
  outline: 0;
}
.header__topNavigation .searchform [type=submit] {
  position: absolute;
  right: 1rem;
}

header.header .header__logo {
  flex: 0 0 auto;
}

.nav_new .navigation__dropdown__card-label::after {
  font-weight: 700;
	margin-left: 5px;
	margin-bottom: 7px;
	font-size: .56em;
	padding: 3px 6px;
	border-radius: 7px;
	background: #0a1c2b;
	text-transform: uppercase;
  color:#fff;
  content: "New";
}

/* Nav "pill" badges (New / Featured / Call for Proposals / Register / Enroll):
   never let the label wrap onto a second line and overlap the menu title
   below it, and never let the badge intercept clicks meant for the link
   it's decorating. */
.nav_new .navigation__dropdown__card-label::after,
.nav_featured .navigation__dropdown__card-label::after,
.nav_proposals .navigation__dropdown__card-label::after,
.nav_register .navigation__dropdown__card-label::after,
.nav_enroll .navigation__dropdown__card-label::after {
  display: inline-block;
  white-space: nowrap;
  pointer-events: none;
}
@media (max-width: 1440px) {
  .nav_new .navigation__dropdown__card-label::after,
  .nav_featured .navigation__dropdown__card-label::after,
  .nav_proposals .navigation__dropdown__card-label::after,
  .nav_register .navigation__dropdown__card-label::after,
  .nav_enroll .navigation__dropdown__card-label::after {
    font-size: .49em;
    padding: 3px 4px;
  }
}

.user-menu {
	position: relative;
}
.user-menu .user-dropdown {
	display: none;
	min-width: 180px;
	border-radius: 0.25rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	padding: 0.5rem 0;
	font-size: 0.875rem;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 99;
}
.user-menu:focus-within .user-dropdown {
	display: block;
}
.user-menu .user-dropdown a {
	padding: 0.5rem 1rem;
	display: block;
	color: #1a202c;
	text-decoration: none;
}
.user-menu .user-dropdown a:hover {
	background-color: #f1f5f9;
}


.nav_featured .navigation__dropdown__card-label::after {
  font-weight: 700;
	margin-left: 5px;
	margin-bottom: 7px;
	font-size: .56em;
	padding: 3px 6px;
	border-radius: 7px;
	background: #d41a5c;
	text-transform: uppercase;
  color:#fff;
  content: "Featured";
}

.nav_proposals .navigation__dropdown__card-label::after {
  font-weight: 700;
	margin-left: 5px;
	margin-bottom: 7px;
	font-size: .56em;
	padding: 3px 6px;
	border-radius: 7px;
	background: #FFA920;
	text-transform: uppercase;
  color:#fff;
  content: "Call for Proposals";
}

.nav_register .navigation__dropdown__card-label::after {
  font-weight: 700;
	margin-left: 5px;
	margin-bottom: 7px;
	font-size: .56em;
	padding: 3px 6px;
	border-radius: 7px;
	background: #689EC9;
	text-transform: uppercase;
  color:#fff;
  content: "Register Now!";
}

.nav_enroll .navigation__dropdown__card-label::after {
  font-weight: 700;
	margin-left: 5px;
	margin-bottom: 7px;
	font-size: .56em;
	padding: 3px 6px;
	border-radius: 7px;
	background: #FFA920;
	text-transform: uppercase;
  color:#fff;
  content: "Enrolling";
}

.nav_all {
	font-weight:800;
}

#header__searchForm_toggle {
	cursor: pointer;
	background: none;
	border: none;
	padding: 4px;
	-webkit-appearance: none;
	appearance: none;
	line-height: inherit;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: #1b1642;
	transition: color 0.15s ease;
}
#header__searchForm_toggle:hover {
	color: #1b6b8f;
}

.profile-anchor {
	scroll-margin-top: 120px;
}

.sforc-wrap-content .pagination .active {
	background: #eee;
}

.sforc-wrap-content .pagination .active a {
	color: #888;
	font-weight: bold;
	text-decoration: none;
}

@media (min-width: 1280px) {
  .sub-menu-wrapper.level-0 {
    width: 100%;
    max-width: calc(1220px + (30px * 2)); /* matches .container's max-width so the dropdown never exceeds page-content width */
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    position: relative;
    top: calc(var(--navigation__main__top__offset) + var(--navigation__main__height));
  }
  /* TODO: fix for mobile */
}
@media (min-width: 1280px) and (min-width: 70em) {
  .sub-menu-wrapper.level-0 {
    position: fixed;
  }
}
@media (min-width: 1280px) {
  /* Each direct <li> under level-0 is one column, and the number of columns
     is whatever the WordPress menu structure defines (how many "[Column]"
     items an editor added in wp-admin) -- not a CSS concern. auto-fit lets
     the grid track count follow that data directly: 1 column gets the full
     row, 2 columns split it evenly, etc, with no per-menu classes needed. */
  ul.sub-menu.level-0 > li {
    min-width: 0;
  }
  /* A column whose own content branches into a further level-2 split of
     2+ columns (e.g. "IT Services", "Conferences") genuinely has ~2x the
     links of a flat sibling column -- give it 2 grid tracks so that split
     has room. The walker wraps even a single [Column] child in the same
     level-2 <ul>, so this must check for a *second* item specifically --
     :has(level-2) alone would also match "Events & On-Demand"-style
     categories that only have one (non-split) column underneath.
     Driven entirely by the menu's own nesting, not a manual CSS class. */
  ul.sub-menu.level-0 > li:has(ul.sub-menu.level-2 > li:nth-child(2)) {
    grid-column: span 2;
  }
  /* A [Dynamic Posts] column (e.g. "What's New?") renders image+title+
     excerpt resource cards, not a plain link list -- give it 2 tracks so
     its cards can sit side by side instead of stacking tall and narrow. */
  ul.sub-menu.level-0 > li:has(.dynamic-posts) {
    grid-column: span 2;
  }
}
@media (min-width: 1280px) {
  ul.sub-menu.level-0 {
    visibility: hidden;
    pointer-events: none;
    width: 100%;
    max-height: calc(100vh - 101px);
    max-width: calc(1220px + (30px * 2)); /* matches .container's max-width so the dropdown never exceeds page-content width */
    padding: 0 64px;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    position: fixed;
    overflow: auto;
    overflow-y: auto;
    left: 50%;
    z-index: 8;
    transform: translateX(-50%);
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}
@media (min-width: 1280px) {
  ul.sub-menu.level-0 {
    overflow: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}
@media (min-width: 1280px) {
  .mega-menu-heading-2 > .dropdown-item .menu-heading {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    letter-spacing: 1px;
    margin-bottom: 32px;
    position: relative;
	  color: #03699b;
  }
}
@media (min-width: 1280px) {
  .mega-menu-heading-2 > .dropdown-item .menu-heading:before {
    background: #e0dedc;
  }
}
@media (min-width: 1280px) {
  .mega-menu-heading-2 > .dropdown-item .menu-heading:after,
  .mega-menu-heading-2 > .dropdown-item .menu-heading:before {
    background: #e0e6e8;
    top: 32px;
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0, 0, 0.16, 0.96);
  }
}
@media (min-width: 1280px) {
  .mega-menu-heading-2 > .dropdown-item .menu-heading + .navigation__dropdown__card-summary {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation ul > li {
    font-weight: 600;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li a {
    color: #727272;
    transition: 0.15s ease-in-out;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li a:hover,
  .header__mainNavigation li a:focus {
    color: #222b37;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.-active a {
    color: #222b37;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu a svg {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    display: inline-block;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu.menu-item-has-children.-active .dropdown-item > a svg {
    transform: rotate(180deg);
    color: #0d0e10;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu.-active a:hover,
  .header__mainNavigation li.mega-menu.-active a:focus {
    color: #222b37;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-0 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    align-items: start;
    padding-top: 20px;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu:not(.-active) .sub-menu-wrapper.level-0 {
    pointer-events: none;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item {
    margin-bottom: 30px;
  }
}
@media (min-width: 1280px) and (min-width: 69.9375em) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item {
    width: 200px;
    position: relative;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li:not([class*=mega-menu-heading]) .dropdown-item .navigation__dropdown__card-link {
    display: inline-block;
    transition: transform 0.2s ease-out;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li:not([class*=mega-menu-heading]) .dropdown-item:hover .navigation__dropdown__card-link {
    transform: translateX(6px);
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-1 {
    padding-bottom: 20px;
    margin: 20px 75px 0 0;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item .navigation__dropdown__card {
    cursor: pointer;
    display: block;
    position: relative;
    z-index: 1;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item .navigation__dropdown__card-link:before {
    content: " ";
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item .navigation__dropdown__card-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #151b26;
    line-height: 1.5;
    transition: color 0.2s ease-in-out;
    margin-bottom: 8px !important;
  }
}
@media (min-width: 1280px) {
  .navigation__dropdown__card-summary {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    color: #222b37;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu ul.sub-menu.level-2 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    list-style: none;
    padding: 0;
    gap: 2rem;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu:after {
    display: block;
    content: "";
    transition: 250ms ease-out;
    background: #222b37;
    width: 0px;
    height: 2px;
    position: relative;
    top: 0.5rem;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.mega-menu.-active:after {
    width: 100%;
  }
}
@media (min-width: 1280px) and (min-width: 70em) {
  .header__mainNavigation .navigation__dropdown__wrapper {
    bottom: calc(100% + 35px);
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__wrapper {
    opacity: 0;
    height: 0px;
    min-height: 200px;
    box-shadow: 0 50px 60px 0 rgba(36, 50, 66, 0.15);
    position: fixed;
    background: #fff;
    will-change: transform;
    width: 100%;
    left: 0;
    bottom: 100%;
    z-index: 5;
    top: 0;
    transition: 0.3s ease-out;
    pointer-events: none;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__wrapper.-active {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__featured-background {
    position: absolute;
    background: #fafaf9;
    border-left: 1px solid #e0dedc;
    height: 100%;
    width: 100vw;
    top: 0;
    left: 100vw;
    transform-origin: left;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__scrim {
    height: 100vh;
    width: 100vw;
    background-color: #000;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    transition: opacity 0.3s linear;
    pointer-events: none;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__scrim.-active {
    opacity: 0.1;
    pointer-events: all;
  }
}
@media (min-width: 1280px) {
  .header__sub__divider {
    border-left: 1px solid #E0DEDC;
    margin-right: 8px;
    height: 24px;
    width: 0;
    margin-left: 8px;
  }
}
@media (min-width: 1280px) {
  .header__search {
    cursor: pointer;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (min-width: 1280px) {
  .header__search__wrapper {
    height: 26px;
    position: relative;
    border: none;
  }
}
@media (min-width: 1280px) {
  #menu-header-top-navigation {
    display: flex;
  }
}
@media (min-width: 1280px) {
  #menu-header-top-navigation li {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
	  font-size: .9em;
  }
 #menu-header-top-navigation li.nav_line {
    border-right: 2px solid #bbbbbb;
  }
 	#menu-header-top-navigation li.nav_browse::before {
	  content: "Browse ";
	}

	body.js-header__mainNavigation-is-scrolled .header__mainNavigation {
		top: 0;
	}

  .header__mainNavigation li .navigation__dropdown__footer-wide-list {
    left: unset;
    z-index: -1;
    display: flex;
    visibility: hidden;
    height: 45px;
    align-items: center;
    position: fixed;
    opacity: 0;
    transition: top 0.3s, opacity 0.3s ease-out;
    top: calc(var(--navigation__dropdown__wrapper-height, 0px) - 45px);
    left: 0;
    /* Carries its own backdrop now instead of relying on the separate,
       always-present .navigation__dropdown__footer div -- this element
       only exists in the DOM when there's a real link, so the backdrop
       correctly only ever shows alongside a real link too. */
    width: 100vw;
    background: var(--ltc-gray);
    border-top: 1px solid #e0e6e8;
    /* Bar spans the full viewport, but the link itself stays at the same
       horizontal position it held when the bar was centered at container
       width -- the old centering math (left offset) moves into padding. */
    padding: 0 calc((100vw - (1220px + 30px * 2)) / 2 + 20px);
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation li.-active .navigation__dropdown__footer-wide-list {
    visibility: visible;
    opacity: 1;
    z-index: 10;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__footer-list-item {
    margin: 0;
    padding: 0 30px;
    border-right: 1px solid #a5a4a3;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__footer-link {
    display: block;
    height: 100%;
    color: #848f99;
    font-size: 12px;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__footer-list-item a {
    color: #474748;
  }
}
@media (min-width: 1280px) {
  .siteHeader .navigation__dropdown__footer-list-item a:hover {
    color: #0d0e10;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__footer-list-item:last-of-type {
    border-right: none;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__featured-section-list .navigation__dropdown__item {
    width: 260px;
  }
}
@media (min-width: 1280px) {
  /* The [Dynamic Posts] card list defaults to stacking vertically (plain
     <ul>); once its column spans 2 grid tracks (see :has(.dynamic-posts)
     above) there's room to lay the cards side by side instead. */
  li.dynamic-posts > ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  li.dynamic-posts > ul .navigation__dropdown__resource-card {
    width: auto;
    height: auto;
    flex-direction: column;
  }
  li.dynamic-posts > ul .navigation__dropdown__resource-card-image-wrap {
    width: 100%;
    height: 100px;
  }
  /* The <img> itself was never updated to match the wrap's switch to a
     fluid width above -- it kept the OTHER (non-dynamic-posts) resource
     card's fixed `width: 165px`, so once the wrap became 100% of a fluid
     grid column (e.g. ~201px in a 2-column layout), the image stopped
     filling it, leaving a blank gap on the right (2026-08-26, by request:
     "images in menu under the What's New section don't fill the whole
     space"). Same fluid override, scoped the same way as the wrap. */
  li.dynamic-posts > ul .navigation__dropdown__resource-card-image {
    width: 100%;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__resource-card {
    cursor: pointer;
    display: flex;
    width: 420px;
    height: 145px;
    padding: 8px;
    position: relative;
    z-index: 1;
    background: #fff;
    border: 1px solid #edf1f2;
    margin-bottom: 10px !important;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    box-shadow: 0 0 0 0 rgba(36, 50, 66, 0);
    scroll-snap-align: center;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__resource-card-image {
    display: block;
    width: 165px;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border: 1px solid #edf1f2;
  }
}
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__resource-card-description {
    padding: 8px 8px 0 12px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
  }

  .header__mainNavigation .navigation__dropdown__resource-card .navigation__dropdown__card-label {
    flex-grow: 1;
  }

  .header__mainNavigation .navigation__dropdown__card-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #151b26;
    line-height: 1.5;
    transition: color 0.2s ease-in-out;
    margin-bottom: 8px !important;
  }

  .header__mainNavigation .navigation__dropdown__resource-card-category {
    order: -1;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1px;
    color: var(--color-gray-700, #151b26);
    text-transform: uppercase;
    margin-bottom: 6px;
    line-height: 1;
  }

  .header__mainNavigation .navigation__dropdown__resource-card-cta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    color: #646f79;
    font-size: 12px;
    font-weight: 500;
    justify-self: flex-end;
  }

  .header__mainNavigation .navigation__dropdown__card__arrow {
    display: inline-block;
    width: 14px;
    height: 14px;
    line-height: 1;
    margin-left: 10px;
    opacity: 0.5;
  }

  .header__mainNavigation .navigation__dropdown__resource-card:focus,
  .header__mainNavigation .navigation__dropdown__resource-card:focus-within,
  .header__mainNavigation .navigation__dropdown__resource-card:hover {
    border: 1px solid #edf1f2;
    transform: translateY(-2px);
    outline: none;
    box-shadow: 0 4px 8px 0 rgba(36, 50, 66, 0.08);
  }

  .header__mainNavigation .navigation__dropdown__resource-card:focus-within .navigation__dropdown__resource-card-cta,
  .header__mainNavigation .navigation__dropdown__resource-card:focus .navigation__dropdown__resource-card-cta,
  .header__mainNavigation .navigation__dropdown__resource-card:hover .navigation__dropdown__resource-card-cta {
    color: #2a2b2c;
  }

  .header__mainNavigation li.mega-menu .sub-menu {
    opacity: 0;
    transition: 0.3s ease-out;
    position: relative;
    top: -5px;
    pointer-events: none;
  }

  .header__mainNavigation li.mega-menu.-active .sub-menu {
    opacity: 1;
    top: 0;
    transition-delay: 0.3s;
    pointer-events: auto;
    visibility: visible;
  }

	/* 2026-08-31: the desktop inline search box was replaced by the
	   Command Interface -- keep the magnifier button visible at >=1280px
	   too (it used to be hidden here while the box showed instead). */
	#header__searchForm_toggle {
		display: inline-flex;
	}

	.header__searchForm .searchform-closer {
		display: none;
	}

  li.mega-menu.-active .sub-menu-wrapper.level-0 {
    z-index: 1;
  }

  .header__topNavigation .header__logo .logo-mobile {
    display: none !important;
  }

}
/* Scoped to the header specifically (was a bare `.container` inside the
   @media block below, which collided with every OTHER page's own
   `.container` wrapper -- grids, hero banners, etc. -- since that's a very
   generic class name shared sitewide, not unique to this mega-menu
   component; 2026-08-26 fix moved it here, scoped). Unconditional, not
   media-gated (2026-09-04, real bug reported again: "main content is
   narrower than the header and footer" -- this time at DESKTOP widths,
   >=1280px). #resource-content and the event/resource/blog hero banner
   wraps (custom.css) all carry this same 30px side padding unconditionally
   already, on top of the shared `.container` max-width from core.css; the
   header's own .container only picked it up below 1279px (see the removed
   full-bleed override, 2026-08-29, right below), so above that width the
   header rendered 30px wider on each side than the content and footer
   sitting right below it. Confirmed via getBoundingClientRect at a 1600px
   viewport: header .container 191-1395 with 0 padding vs
   #resource-content/.footer__container both 191-1395 *with* 30px padding
   (effective content 221-1365) -- a real, measurable 30px-per-side
   mismatch, not a visual illusion. Made unconditional so it matches at
   every width, the same way it already does below 1279px. */
header.header .container {
	padding-left: 30px;
	padding-right: 30px;
}
@media (max-width: 1279px) {
	/* REMOVED 2026-08-29 (real bug, reported: "header, footer, and menu
	   are one width, but the content is smaller"). This used to force the
	   header's own .container to span the full viewport (no max-width at
	   all) below 1279px, while every other .container sitewide (grids,
	   hero banners, page content) kept its normal max-width: calc(1144px
	   + 60px) from core.css -- confirmed directly via getBoundingClientRect
	   at 1200px and 1024px viewports: the header's box measured edge-to-
	   edge (0 to full viewport width) while the content grid directly
	   below it measured narrower and inset, a real ~30px misalignment
	   between the nav and everything below it, on every page, at every
	   width under 1279px. header.header itself has no full-bleed
	   background of its own that would have needed this -- nothing
	   depended on it. Deleting it lets the header's .container fall back
	   to the same max-width every other .container already uses, so the
	   nav row lines up with the content below it again. */

	.header__tools {
		position: relative;
		margin-left: 40px;
	}

	.mobileNav-wrapper {
 	   transform: translate(16px);
  	}

  .mobileNav-wrapper:hover {
    background-color: transparent;
  }
  .mobileNav-wrapper:focus-visible {
    outline: 2px solid #179ed3;
    outline-offset: 3px;
    border-radius: 2px;
  }
  .mobileNav-wrapper:hover .mobileNav-toggle {
    background-color: #2a2b2c;
  }
  .mobileNav-toggle {
    top: 50%;
    left: 50%;
    transform-origin: center;
    transform: translate(-50%, -50%);
    border-radius: 1px;
    height: 2px;
    width: 16px;
    background-color: #b7bfc6;
    display: block;
    transition: all 225ms ease-in-out;
  }
  .mobileNav-toggle:before {
    content: "";
    top: 0;
    left: 0;
    border-radius: 1px;
    height: 2px;
    width: 16px;
    display: block;
    position: absolute;
    transition: all 225ms ease-in-out;
    animation: l 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
    background-color: #2a2b2c;
  }
  .mobileNav-toggle:after {
    content: "";
    top: 0;
    left: 0;
    border-radius: 1px;
    height: 2px;
    width: 16px;
    display: block;
    position: absolute;
    transition: all 225ms ease-in-out;
    animation: m 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
    background-color: #2a2b2c;
  }
  .mobileNav-wrapper.-active .mobileNav-toggle:after {
    animation: k 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
  }
  .mobileNav-wrapper:hover .mobileNav-toggle:after {
    background-color: #2a2b2c;
  }
  .mobileNav-wrapper.-active .mobileNav-toggle:before {
    animation: j 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
  }
  .mobileNav-wrapper:hover .mobileNav-toggle:before {
    background-color: #2a2b2c;
  }
  .mobileNav-wrapper.-active .mobileNav-toggle {
    transition-delay: 0.2s;
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .mobileNav-wrapper:hover .mobileNav-toggle {
    background-color: #2a2b2c;
  }
  .mobileNav-wrapper.-active .mobileNav-toggle {
    transition-delay: 0.2s;
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .mobileNav-wrapper.-active .mobileNav-toggle:before {
    animation: j 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
  }
  .mobileNav-wrapper.-active .mobileNav-toggle:after {
    animation-delay: 0.8s;
    animation: k 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
  }
  .mobileNav-toggle {
    top: 50%;
    left: 50%;
    transform-origin: center;
    transform: translate(-50%, -50%);
  }
  .mobileNav-toggle,
  .mobileNav-toggle:after,
  .mobileNav-toggle:before {
    border-radius: 1px;
    height: 2px;
    width: 16px;
    background-color: #b7bfc6;
    display: block;
    transition: all 225ms ease-in-out;
  }
  .mobileNav-toggle:after,
  .mobileNav-toggle:before {
    content: "";
    top: 0;
    left: 0;
  }
  .mobileNav-toggle:before {
    animation: l 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
  }
  .mobileNav-toggle:after {
    animation: m 0.8s cubic-bezier(0, 1.02, 1, 1.01) forwards;
  }

	.header__topNavigation {
		position: absolute;
		top: 0;
		z-index: 902;
		width: 100%;
	}

	.js-header__mainNavigation-is-scrolled .header__topNavigation {
		position: fixed;
	}

	.admin-bar.js-header__mainNavigation-is-scrolled .header__topNavigation {
		top: var(--wp-admin--admin-bar--height);
	}

	.header__topNavigation > .container {
		background: #fff;
		display: flex;
		flex-direction: column;
		min-height: 64px;
	}

	.header__topNavigation .container .header__tools_wrap {
		margin-top: auto;
		margin-bottom: auto;
	}

	.header__topNavigation .header__logo {
    width: auto !important;
  }
  .header__topNavigation .header__logo .logo {
    width: auto !important;
  }

	.header__searchForm .search {
		display: flex;
	}

	.header__searchForm .searchform {
		margin-bottom: 0;
  	}

	.header__searchForm .searchform-closer {
		margin-left: 8px;
		margin-top: auto;
		margin-bottom: auto;
		cursor: pointer;
		background: none;
		border: none;
		padding: 4px;
		line-height: 1;
		color: inherit;
		-webkit-appearance: none;
		appearance: none;
	}
	.header__searchForm .searchform-closer:focus-visible {
		outline: 2px solid #179ed3;
		border-radius: 2px;
	}

	.header__topNavigation .searchform .search__input {
		padding: 2px 1rem;
	}

	.header__menuToggle button {
		vertical-align: middle;
	}

	.js-header__mainNavigation {
		height: 0 !important;
		overflow: hidden;
		transition: 0.3s ease-out;
	}

  .header__mainNavigation {
    z-index: 7;
  }

  .header__mainNavigation__container {
    overflow-y: scroll;
    /* This div carries the shared .container class (max-width ~1280px +
       margin:0 auto). Its parent .header__mainNavigation is display:flex,
       so below 1279px this became a shrink-wrapping flex item: it
       collapsed to its content's min width (~198px) and the auto margins
       then centred that narrow column in the viewport -- the whole mobile
       menu rendered as a squished ~200px strip down the middle. Force it
       back to a full-width block here (the .container max-width/centering
       is only meant to apply at desktop widths anyway). */
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  body.mobileMenu-open .js-header__mainNavigation {
    height: 100vh !important;
    overflow-y: scroll;
    padding-bottom: 40px;
  }
  .header__mainNavigation__containerClass {
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
  }
  .header__mainNavigation nav > ul > li > .dropdown-item a {
    font-size: 20px;
    display: inline-block;
    color: #151b26;
    transition: transform 0.2s ease-in-out;
    position: relative;
    margin-left: 24px;
    margin-right: 24px;
    border-top: 1px solid #CBD2EA;
    width: calc(100% - 48px);
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .header__mainNavigation nav > ul > li > .dropdown-item svg {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  .header__mainNavigation nav > ul > li.-active > .dropdown-item svg {
    transform: translateY(-50%) rotate(180deg);
  }
  .navigation__dropdown__card-summary {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    color: #222b37;
  }
  .mega-menu-heading-2 > .dropdown-item .menu-heading {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    letter-spacing: 1px;
    margin-bottom: 32px;
    position: relative;
    color: #03699b;

  }
  .mega-menu-heading-2 > .dropdown-item .menu-heading:before {
    background: #e0dedc;
  }
  .mega-menu-heading-2 > .dropdown-item .menu-heading:after,
  .mega-menu-heading-2 > .dropdown-item .menu-heading:before {
    background: #e0e6e8;
    top: 32px;
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0, 0, 0.16, 0.96);
  }
  .mega-menu-heading-2 > .dropdown-item .menu-heading + .navigation__dropdown__card-summary {
    margin-bottom: 1rem;
  }
	.menu-heading-sub > .dropdown-item .menu-heading:after,	.menu-heading-sub > .dropdown-item .menu-heading:before {
		height:0px !important;}

  .sub-menu-wrapper.level-1 {
    padding-top: 26px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .header__mainNavigation nav > ul > li .sub-menu-wrapper.level-0 {
    display: none;
  }
  .header__mainNavigation nav > ul > li .navigation__dropdown__footer-wide-list {
    display: none;
  }
  .header__mainNavigation nav > ul > li.-active .sub-menu-wrapper.level-0 {
    display: block;
  }
  .header__mainNavigation nav > ul > li.-active .navigation__dropdown__footer-wide-list {
    display: block;
  }
  .header__logo {
    position: static;
    width: auto;
  }
  .header__logo > .logo-desktop {
    display: none;
  }
  .header__logo > a.logo-mobile > img {
	  width: 30px;
	  height: 30px;
  }

  .header__mainNavigation__logo {
    display: none;
  }
  body.mobileMenu-open {
    overflow: hidden;
  }
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item {
    margin-bottom: 30px;
    position: relative;
  }
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item .navigation__dropdown__card {
    cursor: pointer;
    display: block;
    position: relative;
    z-index: 1;
  }
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item .navigation__dropdown__card-link:before {
    content: " ";
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .header__mainNavigation li.mega-menu ul.sub-menu.level-3 li .dropdown-item .navigation__dropdown__card-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #151b26;
    line-height: 1.5;
    transition: color 0.2s ease-in-out;
    margin-bottom: 8px !important;
  }
  .navigation__dropdown__card-summary {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    color: #222b37;
  }
  .header__mainNavigation nav > ul > li.-active .navigation__dropdown__footer-wide-list {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #151b26;
    line-height: 1.5;
    transition: color 0.2s ease-in-out;
    margin-top: 20px;
    margin-bottom: 40px !important;
  }
  .header__mainNavigation nav > ul > li.-active .navigation__dropdown__footer-wide-list a {
    padding-left: 24px;
    padding-right: 24px;
  }
  .header__mainNavigation .navigation__dropdown__resource-card {
    cursor: pointer;
    display: flex;
    width: 100%;
    height: 145px;
    padding: 8px;
    position: relative;
    z-index: 1;
    background: #fff;
    border: 1px solid #edf1f2;
    margin-bottom: 10px !important;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    box-shadow: 0 0 0 0 rgba(36, 50, 66, 0);
    scroll-snap-align: center;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-image {
    display: block;
    width: 50px;
    height: 50px;
    -o-object-fit: cover;
       object-fit: cover;
    border: 1px solid #edf1f2;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-description {
    padding: 8px 8px 0 12px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
  }
  .header__mainNavigation .navigation__dropdown__resource-card .navigation__dropdown__card-label {
    flex-grow: 1;
  }
  .header__mainNavigation .navigation__dropdown__card-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #151b26;
    line-height: 1.5;
    transition: color 0.2s ease-in-out;
    margin-bottom: 8px !important;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-category {
    order: -1;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1px;
    color: var(--color-gray-700, #151b26);
    text-transform: uppercase;
    margin-bottom: 6px;
    line-height: 1;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-cta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    color: #646f79;
    font-size: 12px;
    font-weight: 500;
    justify-self: flex-end;
  }
  .header__mainNavigation .navigation__dropdown__card__arrow {
    display: inline-block;
    width: 14px;
    height: 14px;
    line-height: 1;
    margin-left: 10px;
    opacity: 0.5;
  }
  .header__mainNavigation .navigation__dropdown__resource-card:focus,
  .header__mainNavigation .navigation__dropdown__resource-card:focus-within,
  .header__mainNavigation .navigation__dropdown__resource-card:hover {
    border: 1px solid #edf1f2;
    transform: translateY(-2px);
    outline: none;
    box-shadow: 0 4px 8px 0 rgba(36, 50, 66, 0.08);
  }
  .header__mainNavigation .navigation__dropdown__resource-card:focus-within .navigation__dropdown__resource-card-cta,
  .header__mainNavigation .navigation__dropdown__resource-card:focus .navigation__dropdown__resource-card-cta,
  .header__mainNavigation .navigation__dropdown__resource-card:hover .navigation__dropdown__resource-card-cta {
    color: #2a2b2c;
  }
  .header__topNavigation .header__logo .logo-mobile {
	  display: block !important;
	  margin-top: -6px;
  }
  header.header {
    position: relative;
  }
}

@media (min-width: 1280px) {

	.admin-bar.js-header__mainNavigation-is-scrolled .header__mainNavigation {
		top: var(--wp-admin--admin-bar--height);
	}

	.js-header__mainNavigation-is-scrolled.scrolled-down li.mega-menu.-active .sub-menu-wrapper.level-0 {
		margin-top: 20px;
		background: white;
	}

	.header__searchForm {
		display: block;
	}

	.header__menuToggle {
		display: none;
	}

}

@media screen and (max-width: 600px) {

	.admin-bar.js-header__mainNavigation-is-scrolled .header__topNavigation,
	body.js-header__mainNavigation-is-scrolled .header__topNavigation {
		top: 0;
		position: fixed;
	}

	.admin-bar.js-header__mainNavigation-is-scrolled .header__mainNavigation {
		top: 64px;
	}

	.header__searchForm {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		height: 45px;
		background: #fff;
		padding: 0 16px;
		z-index: 903;
		box-shadow: 0 2px 6px rgba(0,0,0,0.08);
	}

	.header__searchForm .searchform {
		width: 100%;
	}

	.header__searchForm .searchform-closer {
		margin-left: 12px;
		flex-shrink: 0;
	}

}

@keyframes j {
  0% {
    transform: translateY(6px);
  }
  30% {
    transform: translateY(0);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes k {
  0% {
    transform: translateY(-6px);
  }
  30% {
    transform: translateY(0);
  }
  to {
    transform: translateY(0) rotate(90deg);
  }
}
@keyframes l {
  0% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(0);
  }
  to {
    transform: translateY(6px);
  }
}
@keyframes m {
  0% {
    transform: translateY(0) rotate(90deg);
  }
  30% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-6px);
  }
}

/* =====================================================================
   MICRO-INTERACTIONS
   ===================================================================== */
@media (min-width: 1280px) {
  /* Resource cards: arrow nudges right, label tints toward the brand accent */
  .header__mainNavigation .navigation__dropdown__resource-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  }
  .header__mainNavigation .navigation__dropdown__resource-card:focus,
  .header__mainNavigation .navigation__dropdown__resource-card:focus-within,
  .header__mainNavigation .navigation__dropdown__resource-card:hover {
    transform: translateY(-2px) scale(1.01);
  }
  .header__mainNavigation .navigation__dropdown__resource-card .navigation__dropdown__card-label {
    transition: color 0.2s ease-in-out;
  }
  .header__mainNavigation .navigation__dropdown__resource-card:focus-within .navigation__dropdown__card-label,
  .header__mainNavigation .navigation__dropdown__resource-card:focus .navigation__dropdown__card-label,
  .header__mainNavigation .navigation__dropdown__resource-card:hover .navigation__dropdown__card-label {
    color: var(--color-brand-light-blue, #27aae1);
  }
  .header__mainNavigation .navigation__dropdown__card__arrow {
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease-in-out;
  }
  .header__mainNavigation .navigation__dropdown__resource-card:focus-within .navigation__dropdown__card__arrow,
  .header__mainNavigation .navigation__dropdown__resource-card:focus .navigation__dropdown__card__arrow,
  .header__mainNavigation .navigation__dropdown__resource-card:hover .navigation__dropdown__card__arrow {
    transform: translateX(4px);
    opacity: 1;
  }
}

/* =====================================================================
   SKELETON / SHIMMER LOADING STATE
   No JS load-detection needed: the shimmer sits behind the <img> in the
   same box via z-index, always animating. A loading image paints nothing
   (transparent), so the shimmer shows through; once the image decodes,
   its own opaque pixels cover the shimmer immediately, automatically.
   ===================================================================== */
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__resource-card-image-wrap {
    position: relative;
    display: block;
    width: 165px;
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
    border: 1px solid #edf1f2;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-image {
    position: relative;
    z-index: 1;
    border: none;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-image-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(
      100deg,
      var(--color-gray-200, #eee) 30%,
      var(--color-white, #fff) 50%,
      var(--color-gray-200, #eee) 70%
    );
    background-size: 200% 100%;
    animation: megaMenuShimmer 1.4s ease-in-out infinite;
  }
}
@keyframes megaMenuShimmer {
  from {
    background-position: 150% 0;
  }
  to {
    background-position: -50% 0;
  }
}

/* =====================================================================
   DROPDOWN REVEAL
   Refines the existing opacity/height transition on .navigation__dropdown__wrapper
   with a subtle rise-in and a spring-like easing curve instead of linear ease-out.
   ===================================================================== */
@media (min-width: 1280px) {
  .header__mainNavigation .navigation__dropdown__wrapper {
    transform: translateY(-8px);
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                height 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .header__mainNavigation .navigation__dropdown__wrapper.-active {
    transform: translateY(0);
  }
}

/* =====================================================================
   REDUCED MOTION
   Disable every transition/animation added above (and the pre-existing
   ones on the same elements) for users who've asked for reduced motion.
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  .header__mainNavigation .navigation__dropdown__resource-card,
  .header__mainNavigation .navigation__dropdown__resource-card .navigation__dropdown__card-label,
  .header__mainNavigation .navigation__dropdown__card__arrow,
  .header__mainNavigation .navigation__dropdown__resource-card-image,
  .header__mainNavigation .navigation__dropdown__wrapper {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
  .header__mainNavigation .navigation__dropdown__resource-card-image-wrap::before {
    animation: none !important;
    background-position: 0 0;
  }
}
/*# sourceMappingURL=styles.css.map */

/* ---- assets/mega-menu/tailwind.css ---- */
.header-4e81 {
  /* ! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com */ }
  .header-4e81 *,
  .header-4e81 ::after,
  .header-4e81 ::before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb; }
  .header-4e81 ::after,
  .header-4e81 ::before {
    --tw-content: '' ; }
  .header-4e81 html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal; }
  .header-4e81 body {
    margin: 0;
    line-height: inherit; }
  .header-4e81 hr {
    height: 0;
    color: inherit;
    border-top-width: 1px; }
  .header-4e81 abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted; }
  .header-4e81 h1,
  .header-4e81 h2,
  .header-4e81 h3,
  .header-4e81 h4,
  .header-4e81 h5,
  .header-4e81 h6 {
    font-size: inherit;
    font-weight: inherit; }
  .header-4e81 a {
    color: inherit;
    text-decoration: inherit; }
  .header-4e81 b,
  .header-4e81 strong {
    font-weight: bolder; }
  .header-4e81 code,
  .header-4e81 kbd,
  .header-4e81 pre,
  .header-4e81 samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 1em; }
  .header-4e81 small {
    font-size: 80%; }
  .header-4e81 sub,
  .header-4e81 sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }
  .header-4e81 sub {
    bottom: -0.25em; }
  .header-4e81 sup {
    top: -0.5em; }
  .header-4e81 table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse; }
  .header-4e81 button,
  .header-4e81 input,
  .header-4e81 optgroup,
  .header-4e81 select,
  .header-4e81 textarea {
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0; }
  .header-4e81 button,
  .header-4e81 select {
    text-transform: none; }
  .header-4e81 [type=button],
  .header-4e81 [type=reset],
  .header-4e81 [type=submit],
  .header-4e81 button {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none; }
  .header-4e81 :-moz-focusring {
    outline: auto; }
  .header-4e81 :-moz-ui-invalid {
    box-shadow: none; }
  .header-4e81 progress {
    vertical-align: baseline; }
  .header-4e81 ::-webkit-inner-spin-button,
  .header-4e81 ::-webkit-outer-spin-button {
    height: auto; }
  .header-4e81 [type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px; }
  .header-4e81 ::-webkit-search-decoration {
    -webkit-appearance: none; }
  .header-4e81 ::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit; }
  .header-4e81 summary {
    display: list-item; }
  .header-4e81 blockquote,
  .header-4e81 dd,
  .header-4e81 dl,
  .header-4e81 figure,
  .header-4e81 h1,
  .header-4e81 h2,
  .header-4e81 h3,
  .header-4e81 h4,
  .header-4e81 h5,
  .header-4e81 h6,
  .header-4e81 hr,
  .header-4e81 p,
  .header-4e81 pre {
    margin: 0; }
  .header-4e81 fieldset {
    margin: 0;
    padding: 0; }
  .header-4e81 legend {
    padding: 0; }
  .header-4e81 menu,
  .header-4e81 ol,
  .header-4e81 ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .header-4e81 textarea {
    resize: vertical; }
  .header-4e81 input::placeholder,
  .header-4e81 textarea::placeholder {
    opacity: 1;
    color: #9ca3af; }
  .header-4e81 [role=button],
  .header-4e81 button {
    cursor: pointer; }
  .header-4e81 :disabled {
    cursor: default; }
  .header-4e81 audio,
  .header-4e81 canvas,
  .header-4e81 embed,
  .header-4e81 iframe,
  .header-4e81 img,
  .header-4e81 object,
  .header-4e81 svg,
  .header-4e81 video {
    display: block;
    vertical-align: middle; }
  .header-4e81 img,
  .header-4e81 video {
    max-width: 100%;
    height: auto; }
  .header-4e81 [hidden] {
    display: none; }
  .header-4e81 *,
  .header-4e81 ::before,
  .header-4e81 ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ; }
  .header-4e81 ::-webkit-backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ; }
  .header-4e81 ::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ; }
  /* REMOVED 2026-08-29 (real bug, reported: "header, footer, and menu
     are one width, but the content is smaller"). This is stock Tailwind
     output (`.container { width:100% }` is Tailwind's own default
     .container utility, scoped here to .header-4e81 by whatever
     generated this file) -- an accidental name collision with the
     theme's OWN, unrelated `.container` class (core.css), which every
     other section on every page uses for its actual width/centering.
     .header-4e81 .container (specificity 0,2,0) beats the theme's plain
     .container (0,1,0) on the `width` property, forcing the header's
     own container to fill 100% of its (unconstrained) parent instead of
     respecting the theme's max-width + margin:auto centering -- at any
     viewport where 100% of the parent came out narrower than that
     max-width (below ~1204px + padding, so most laptop/tablet widths),
     the header rendered edge-to-edge while the actual page content
     directly below it stayed correctly centered and inset, a real,
     visible misalignment between the nav and everything below it.
     Confirmed directly via computed styles at 1200px width before/after
     removing this. No other Tailwind utility here targets .container,
     so deleting this doesn't reach anything else. */
  .header-4e81 .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0; }
  .header-4e81 .relative {
    position: relative; }
  .header-4e81 .z-\[6\] {
    z-index: 6; }
  .header-4e81 .m-0 {
    margin: 0px; }
  .header-4e81 .ml-auto {
    margin-left: auto; }
  .header-4e81 .mt-auto {
    margin-top: auto; }
  .header-4e81 .mb-auto {
    margin-bottom: auto; }
  .header-4e81 .block {
    display: block; }
  .header-4e81 .flex {
    display: flex; }
  .header-4e81 .hidden {
    display: none; }
  .header-4e81 .flex-1 {
    flex: 1 1 0%; }
  .header-4e81 .shrink-0 {
    flex-shrink: 0; }
  .header-4e81 .grow {
    flex-grow: 1; }
  .header-4e81 .basis-auto {
    flex-basis: auto; }
  .header-4e81 .flex-row {
    flex-direction: row; }
  .header-4e81 .flex-nowrap {
    flex-wrap: nowrap; }
  .header-4e81 .items-center {
    align-items: center; }
  .header-4e81 .gap-10 {
    gap: 2.5rem; }
  .header-4e81 .gap-4 {
    gap: 1rem; }
  .header-4e81 .gap-8 {
    gap: 2rem; }
  .header-4e81 .p-0 {
    padding: 0px; }
  .header-4e81 .py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem; }
  @media (min-width: 1280px) {
    .header-4e81 .xl\:block {
      display: block; }
    .header-4e81 .xl\:flex {
      display: flex; } }

/* ---- assets/mega-menu/command-palette.css ---- */
/**
 * LTC Command Interface -- the site's primary search UI.
 * Reuses the theme's existing tokens (colours, radii, shadows, fonts).
 * WCAG 2.2 AA: visible focus, 4.5:1 text, 44px tap targets on mobile,
 * reduced-motion, keyboard everywhere.
 */
.cmdk-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;
}

.cmdk-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: 6vh 30px 30px;
	background: rgba(21, 27, 38, 0.55);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}
.cmdk-overlay.is-open { display: flex; }

body.cmdk-locked {
	position: fixed;
	width: 100%;
	overflow: hidden;
}

.cmdk-dialog {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: calc(1220px + (30px * 2)); /* == core.css .container */
	max-height: 84vh;
	background: var(--color-white, #fff);
	border-radius: var(--card-radius, 12px);
	box-shadow: 0 24px 70px rgba(21, 27, 38, 0.38);
	overflow: hidden;
	opacity: 0;
	transform: translateY(-10px) scale(0.985);
	transition: opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1), transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
	font-family: var(--font-primary, "Plus Jakarta Sans", system-ui, sans-serif);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--color-gray-900, #151b26);
}
.cmdk-overlay.is-open .cmdk-dialog { opacity: 1; transform: translateY(0) scale(1); }
.cmdk-overlay.cmdk-no-motion .cmdk-dialog { transition: none; transform: none; }

/* ---- shared focus ring ---- */
.cmdk-dialog :focus-visible {
	outline: 2px solid var(--color-brand-text-blue, #1b6b8f);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---- head ---- */
.cmdk-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--color-gray-200, #e6e8ec);
}
.cmdk-search-icon { display: flex; color: var(--color-gray-500, #6b7280); flex-shrink: 0; }
.cmdk-input {
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	background: transparent;
	font: 400 1.125rem/1.4 var(--font-primary, "Plus Jakarta Sans", sans-serif);
	color: var(--color-gray-900, #151b26);
}
.cmdk-input::placeholder { color: var(--color-gray-500, #8b95a1); }

/* The clear "x" -- a small pill INSIDE the field, only when there's text.
   Visually reads as "part of the input", not a window control. */
.cmdk-clear {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 50%;
	background: var(--color-gray-200, #e6e8ec);
	color: var(--color-gray-700, #4b5563);
	cursor: pointer;
	padding: 0;
}
.cmdk-clear:hover { background: var(--color-gray-300, #d3d7de); color: var(--color-gray-900, #151b26); }

/* Divider makes it unmistakable that the next control is separate. */
.cmdk-head-divider {
	flex-shrink: 0;
	width: 1px;
	align-self: stretch;
	margin: 4px 2px;
	background: var(--color-gray-200, #e6e8ec);
}

/* The close button -- clearly a "leave" control: bordered, labelled Esc. */
.cmdk-close {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid var(--color-gray-300, #d3d7de);
	border-radius: 8px;
	background: var(--color-white, #fff);
	color: var(--color-gray-700, #4b5563);
	cursor: pointer;
}
.cmdk-close:hover { background: var(--color-gray-100, #f1f2f4); color: var(--color-gray-900, #151b26); }
.cmdk-close-kbd {
	font: 700 10px/1 var(--font-primary, sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-gray-500, #6b7280);
}

/* ---- tabs ---- */
.cmdk-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px 16px;
	border-bottom: 1px solid var(--color-gray-200, #e6e8ec);
}
.cmdk-tabs[hidden] { display: none; }
.cmdk-tab {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border: none;
	border-radius: var(--radius-pill, 999px);
	background: transparent;
	font: 600 0.875rem/1 var(--font-primary, "Plus Jakarta Sans", sans-serif);
	color: var(--color-gray-700, #4b5563);
	cursor: pointer;
	white-space: nowrap;
}
.cmdk-tab:hover { background: var(--color-gray-100, #f1f2f4); color: var(--color-gray-900, #151b26); }
.cmdk-tab.is-active { background: var(--color-brand-dark-blue, #1b1642); color: #fff; }
.cmdk-tab-count {
	font-size: 11px;
	font-weight: 700;
	padding: 0 5px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.08);
}
.cmdk-tab.is-active .cmdk-tab-count { background: rgba(255, 255, 255, 0.22); }

/* ---- body ---- */
.cmdk-body { display: flex; flex: 1; min-height: 0; }

.cmdk-sidebar {
	flex-shrink: 0;
	width: 248px;
	border-right: 1px solid var(--color-gray-200, #e6e8ec);
	overflow-y: auto;
	padding: 16px 14px;
}
.cmdk-sidebar[hidden] { display: none; }
.cmdk-sidebar-toggle { display: none; }
.cmdk-sidebar-title {
	margin: 0 0 8px;
	font: 700 0.6875rem var(--font-primary, "Plus Jakarta Sans", sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-gray-600, #5b6472);
}
.cmdk-focus-list { display: flex; flex-direction: column; gap: 1px; }
.cmdk-focus-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 8px;
	border-radius: 7px;
	font-size: 0.8125rem;
	line-height: 1.35;
	color: var(--color-gray-800, #374151);
	cursor: pointer;
}
.cmdk-focus-item:hover { background: var(--color-gray-100, #f1f2f4); }
.cmdk-focus-item.is-on { background: var(--color-blue-50, #eaf6fc); color: var(--color-brand-text-blue, #145775); font-weight: 600; }
.cmdk-focus-item input { flex-shrink: 0; width: 15px; height: 15px; accent-color: var(--color-brand-text-blue, #1b6b8f); }
.cmdk-focus-name { flex: 1; }
.cmdk-focus-count { display: none; } /* per-term counts hidden 2026-09-05, by request */

.cmdk-main { flex: 1; min-width: 0; display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; }

.cmdk-suggestion {
	margin: 0;
	padding: 10px 16px;
	font-size: 0.875rem;
	color: var(--color-gray-800, #374151);
	background: var(--color-blue-50, #eaf6fc);
	border-bottom: 1px solid var(--color-gray-200, #e6e8ec);
}
.cmdk-linkbtn {
	border: none; background: none; padding: 0;
	font: inherit; font-weight: 700;
	color: var(--color-brand-text-blue, #145775);
	text-decoration: underline;
	cursor: pointer;
}

.cmdk-results { list-style: none; margin: 0; padding: 6px; flex: 1; }
.cmdk-results:focus { outline: none; }
.cmdk-group {
	padding: 12px 12px 4px;
	font: 700 0.6875rem var(--font-primary, "Plus Jakarta Sans", sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--color-gray-600, #5b6472);
}
.cmdk-msg { padding: 22px 16px; font-size: 0.9375rem; color: var(--color-gray-700, #374151); line-height: 1.55; }

/* "Popular searches" chips on the idle screen. */
.cmdk-trending {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 4px 12px 12px;
	list-style: none;
}
.cmdk-trending-chip {
	appearance: none;
	border: 1px solid var(--color-gray-300, #d3d7de);
	background: #fff;
	color: var(--color-gray-800, #1f2733);
	font: 600 0.8125rem var(--font-primary, "Plus Jakarta Sans", sans-serif);
	padding: 6px 12px;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.cmdk-trending-chip:hover,
.cmdk-trending-chip:focus-visible {
	background: var(--color-blue-50, #eaf6fc);
	border-color: #27aae1;
	color: var(--color-brand-text-blue, #145775);
	outline: none;
}
.cmdk-no-results strong { display: block; margin-bottom: 10px; font-size: 1rem; color: var(--color-gray-900, #151b26); }
.cmdk-fixes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.cmdk-fix {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--color-gray-300, #d3d7de);
	border-radius: var(--radius-pill, 999px);
	background: none;
	font: 600 0.8125rem var(--font-primary, sans-serif);
	color: var(--color-brand-text-blue, #145775);
	cursor: pointer;
	text-decoration: none;
}
.cmdk-fix:hover { background: var(--color-blue-50, #eaf6fc); }

/* ---- result rows: text left, image RIGHT ---- */
.cmdk-result {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 11px 12px;
	border-radius: 9px;
	cursor: pointer;
	scroll-margin: 8px;
}
.cmdk-result[aria-selected="true"] { background: var(--ltc-gray, #f8f9fb); }
.cmdk-result[aria-selected="true"] .cmdk-result-title { color: var(--color-brand-text-blue, #145775); }
.cmdk-result--nav, .cmdk-result--all { align-items: center; }
.cmdk-result-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; overflow: hidden; overflow-wrap: anywhere; }
.cmdk-result-arrow { color: var(--color-gray-400, #9ca6af); flex-shrink: 0; align-self: center; }
.cmdk-result-title {
	font: 700 1rem/1.35 var(--font-primary, sans-serif);
	color: var(--color-gray-900, #151b26);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.cmdk-result-title mark, .cmdk-result-excerpt mark {
	background: rgba(39, 170, 225, 0.24);
	color: inherit;
	border-radius: 2px;
	padding: 0 1px;
}
.cmdk-result-excerpt {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--color-gray-600, #5b6472);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.cmdk-result-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cmdk-result-kind {
	font: 700 0.6875rem var(--font-primary, sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-gray-600, #5b6472);
}
.cmdk-result-sub { font-size: 0.75rem; color: var(--color-gray-600, #5b6472); }
.cmdk-result-why { font-size: 0.75rem; font-style: italic; color: var(--color-gray-500, #6b7280); }
.cmdk-result-focus { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.cmdk-chip {
	font-size: 10px;
	font-weight: 600;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--color-blue-50, #eaf6fc);
	color: var(--color-brand-text-blue, #1b6b8f);
}

/* ---- LTC brand colour accents (2026-09-02, by request: "add some
   colour to this") -- keyed to ltcillinois.org/brand: light blue
   #27aae1, dark blue #1b1642, pink #e40054, green #66b545, purple
   #8b1b82. ---- */
.cmdk-group {
	color: var(--color-brand-text-blue, #1b6b8f);
}
/* The little bullet dot before group labels ("Popular Searches", "Recent")
   and before each result's kind label (Event, Article, ...) was removed
   2026-09-04, by request. */
.cmdk-search-icon { color: #27aae1; }
.cmdk-result-arrow { color: #27aae1; }

/* Selected row: a quiet neutral tint, no left rail (2026-09-03). */
.cmdk-result[aria-selected="true"] {
	background: var(--ltc-gray, #f8f9fb);
}

.cmdk-result-kind { color: var(--color-gray-700, #4b5563); }
.cmdk-result-thumb {
	order: 2;
	flex-shrink: 0;
	width: 76px;
	height: 76px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--color-gray-100, #f1f2f4);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-gray-400, #9ca6af);
	font-size: 22px;
}
.cmdk-result-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cmdk-result--nav .cmdk-result-thumb, .cmdk-result--all .cmdk-result-thumb { display: none; }

.cmdk-skeleton {
	height: 64px;
	margin: 6px;
	border-radius: 9px;
	background: linear-gradient(90deg, #f1f2f4 25%, #e6e8ec 37%, #f1f2f4 63%);
	background-size: 400% 100%;
	animation: cmdk-shimmer 1.2s ease infinite;
}
@keyframes cmdk-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }

.cmdk-more {
	margin: 8px auto 14px;
	padding: 9px 22px;
	border: 1px solid var(--color-gray-300, #d3d7de);
	border-radius: var(--radius-pill, 999px);
	background: var(--color-white, #fff);
	font: 600 0.875rem var(--font-primary, sans-serif);
	color: var(--color-brand-text-blue, #145775);
	cursor: pointer;
}
.cmdk-more:hover { background: var(--color-blue-50, #eaf6fc); }
.cmdk-more[hidden] { display: none; }

/* ---- foot ---- */
.cmdk-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 16px;
	border-top: 1px solid var(--color-gray-200, #e6e8ec);
	font-size: 0.6875rem;
	color: var(--color-gray-600, #5b6472);
}
.cmdk-hints kbd {
	font-family: inherit;
	font-size: 10px;
	border: 1px solid var(--color-gray-300, #d3d7de);
	border-radius: 4px;
	padding: 1px 4px;
	margin: 0 1px;
	color: var(--color-gray-600, #5b6472);
}
.cmdk-status { text-align: right; }

/* ---- mobile / tablet: full screen ---- */
@media (max-width: 780px) {
	.cmdk-overlay { padding: 0; }
	.cmdk-dialog {
		max-width: none;
		max-height: none;
		height: 100%;
		height: 100dvh;
		border-radius: 0;
	}
	.cmdk-head {
		padding: calc(10px + env(safe-area-inset-top)) 12px 10px;
		gap: 6px;
		position: sticky;
		top: 0;
		background: var(--color-white, #fff);
		z-index: 2;
	}
	.cmdk-input { font-size: 16px; } /* no iOS zoom */
	.cmdk-clear { width: 30px; height: 30px; }
	.cmdk-close { height: 40px; padding: 0 12px; }
	.cmdk-close-kbd { display: none; }

	.cmdk-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		position: sticky;
		top: 0;
		background: var(--color-white, #fff);
	}
	.cmdk-tabs::-webkit-scrollbar { display: none; }

	.cmdk-body { flex-direction: column; }
	/* Focus Area filter hidden entirely on mobile (2026-09-05, by request)
	   -- the collapsible version below was still eating a row above the
	   results on a small screen. */
	.cmdk-sidebar { display: none; }

	.cmdk-result { padding: 12px 10px; gap: 10px; }
	.cmdk-result-thumb { width: 56px; height: 56px; }
	.cmdk-result-title { -webkit-line-clamp: 3; }

	.cmdk-hints { display: none; }
	.cmdk-status { text-align: left; }
	.cmdk-foot { padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
	.cmdk-fix { min-height: 40px; display: inline-flex; align-items: center; }
}

@media (max-width: 380px) {
	.cmdk-result-thumb { width: 48px; height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
	.cmdk-dialog { transition: none !important; transform: none !important; }
	.cmdk-skeleton { animation: none; }
}

@media (prefers-contrast: more) {
	.cmdk-result[aria-selected="true"] { outline: 2px solid var(--color-brand-text-blue, #145775); }
	.cmdk-tab.is-active { outline: 2px solid #fff; outline-offset: -3px; }
}
