/* ISA Employer Hub shared header / navigation helpers. */

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	transition: all .25s ease;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
	background: var(--eh-deep-navy, #082f5c);
	border-color: var(--eh-deep-navy, #082f5c);
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(8, 47, 92, .22);
}

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

.header.sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .10);
	animation: isaHeaderSlideDown .35s ease both;
}

@keyframes isaHeaderSlideDown {
	from { opacity: 0; transform: translateY(-24px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Generic visibility helpers retained for page assembly. */
.hide-mobile { display: block; }
.hide-desktop { display: none; }

@media (max-width: 768px) {
	.hide-mobile { display: none !important; }
	.hide-desktop { display: block !important; }
	.stack-mobile { flex-direction: column !important; }
}

/* Mobile WordPress Navigation overlay, adapted from the main ISA theme. */
@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		background: rgba(19, 41, 75, .16);
		backdrop-filter: blur(4px);
		padding: 0 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		width: min(88vw, 380px);
		margin-left: auto;
		min-height: 100vh;
		height: 100vh;
		overflow-y: auto;
		background: linear-gradient(90deg, #1a42f5 0%, #26abe0 100%);
		border-left: 1px solid rgba(255,255,255,.16);
		box-shadow: -18px 0 40px rgba(19,41,75,.18);
		padding: 20px 30px;
		position: relative;
	}

	.wp-block-navigation__responsive-container-content {
		padding-top: 56px;
		padding-bottom: 20px;
	}

	.wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 16px;
		right: 16px;
		width: 44px;
		height: 44px;
		border-radius: 999px;
		border: 1px solid rgba(255,255,255,.2);
		background: rgba(255,255,255,.10);
		color: #fff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.wp-block-navigation__responsive-container-close svg { fill: currentColor; }

	.wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item {
		list-style: none;
		margin: 0;
		padding: 0;
		background: rgba(255,255,255,.10);
		overflow: hidden;
	}

	.wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 10px 12px;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.25;
		text-decoration: none;
		box-sizing: border-box;
	}

	.wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		display: none !important;
	}

	.wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
		display: block !important;
		position: static !important;
		min-width: 100%;
		margin: 0;
		padding: 0 14px 14px;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		pointer-events: auto !important;
	}

	.wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
		list-style: none;
		margin: 8px 0 0;
	}

	.wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 12px 14px;
		border-radius: 12px;
		background: rgba(255,255,255,.12);
		border: 1px solid rgba(255,255,255,.10);
		color: rgba(255,255,255,.96);
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
		box-sizing: border-box;
	}

	.wp-block-navigation__responsive-container-content ul,
	.wp-block-navigation__responsive-container-content li {
		padding-left: 0;
	}
}

/* Employer Hub submission form (Gravity Forms). */
.gform_wrapper.gravity-theme .gfield_label {
	color: #122145;
	font-weight: 700;
}

.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="file"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid rgba(18, 33, 69, .35);
	border-radius: 10px;
	background: #fff;
	color: #122145;
	padding: 12px 14px;
	font: inherit;
}

.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus {
	outline: 3px solid rgba(26, 66, 245, .18);
	outline-offset: 1px;
	border-color: #1a42f5;
}

.gform_wrapper.gravity-theme .gfield_description {
	color: #667085;
}


/* ==========================================================
   v2.5.9 MAIN NAVIGATION
   Desktop navigation follows the logo rather than being mathematically centred.
   ========================================================== */
.eh-main-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid rgba(8,47,92,.08);
}
.eh-main-header__inner {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
	gap: 24px;
}
.eh-main-header__logo { justify-self: start; }
.eh-main-nav { justify-self: auto; margin-left: 34px; margin-right: 0; }
.eh-main-header__actions { justify-self: end; margin: 0 !important; }
.eh-main-nav .wp-block-navigation__container {
	gap: clamp(22px,2.2vw,38px);
}
.eh-main-nav .wp-block-navigation-item__content {
	position: relative;
	padding: 12px 0 !important;
	color: #082f5c !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}
.eh-main-nav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 5px;
	width: 0;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg,#1a42f5 0%,#26abe0 100%);
	transform: translateX(-50%);
	transition: width .2s ease;
}
.eh-main-nav .wp-block-navigation-item__content:hover::after,
.eh-main-nav .wp-block-navigation-item__content:focus-visible::after,
.eh-main-nav .current-menu-item > .wp-block-navigation-item__content::after,
.eh-main-nav .current-menu-ancestor > .wp-block-navigation-item__content::after { width: 100%; }
.eh-header-contact .wp-block-button__link {
	min-height: 44px;
	padding: 11px 22px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: #ffd100 !important;
	color: #082f5c !important;
	font-size: 14px;
	font-weight: 800;
	box-shadow: none;
	transition: transform .18s ease, background .18s ease;
}
.eh-header-contact .wp-block-button__link:hover { background: #f3c400 !important; transform: translateY(-1px); }
.header.sticky .eh-main-header__inner { max-width: var(--wp--style--global--content-size); }

@media (max-width: 900px) {
	.eh-main-header__inner { display: flex !important; justify-content: space-between !important; gap: 14px; }
	.eh-main-nav { margin-left: auto; }
	.eh-main-header__actions { display: none !important; }
}

/* ==========================================================
   v2.6.9 HEADER INTERACTIONS
   Navigation interaction styling only. Desktop alignment is intentionally left-led.
   ========================================================== */
.eh-main-nav .wp-block-navigation-item__content {
	isolation: isolate;
	transition: color .2s ease, transform .2s ease;
}
/* Main navigation stays clean: no pill around active/hovered links. The existing
   underline is retained as the interaction/current-page treatment. */
.eh-main-nav .wp-block-navigation-item__content::before {
	display: none !important;
	content: none !important;
}
.eh-main-nav .wp-block-navigation-item__content:hover,
.eh-main-nav .wp-block-navigation-item__content:focus-visible,
.eh-main-nav .current-menu-item > .wp-block-navigation-item__content,
.eh-main-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: #1a42f5 !important;
}
.eh-main-nav .wp-block-navigation-item__content:hover,
.eh-main-nav .wp-block-navigation-item__content:focus-visible {
	transform: translateY(-2px);
}
.eh-main-nav .wp-block-navigation-item__content:hover::after,
.eh-main-nav .wp-block-navigation-item__content:focus-visible::after,
.eh-main-nav .current-menu-item > .wp-block-navigation-item__content::after,
.eh-main-nav .current-menu-ancestor > .wp-block-navigation-item__content::after {
	width: 100%;
}

/* Existing top utility links are enhanced at runtime so Site Editor-saved
   header templates also receive the two-option audience toggle. The white
   selection pill is a single sliding indicator, so hovering/focusing Training
   Providers visibly moves the active surface across from For Employers. */
.eh-audience-switcher {
	display: inline-flex !important;
	position: relative;
	isolation: isolate;
	align-items: stretch;
	gap: 0 !important;
	padding: 2px !important;
	border: 1px solid rgba(255,255,255,.44);
	border-radius: 999px;
	background: rgba(255,255,255,.025);
	overflow: hidden;
	--eh-audience-x: 2px;
	--eh-audience-w: 82px;
}
.eh-audience-switcher::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 2px;
	bottom: 2px;
	left: 0;
	width: var(--eh-audience-w);
	transform: translateX(var(--eh-audience-x));
	border-radius: 999px;
	background: var(--wp--preset--color--bright-yellow, #ffd400);
	box-shadow: 0 1px 3px rgba(0,0,0,.12);
	pointer-events: none;
	transition: transform .32s cubic-bezier(.22,.75,.22,1), width .32s cubic-bezier(.22,.75,.22,1);
}
.eh-audience-switcher .eh-audience-switcher__link {
	display: inline-flex;
	position: relative;
	z-index: 1;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 3px 10px !important;
	border: 0 !important;
	border-radius: 999px;
	background: transparent !important;
	color: #fff !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
	text-decoration: none !important;
	transition: color .22s ease;
}
.eh-audience-switcher .eh-audience-switcher__link.is-active,
.eh-audience-switcher .eh-audience-switcher__link[aria-current="page"] {
	color: #082f5c !important;
	box-shadow: none;
}
.eh-audience-switcher.is-previewing-provider .eh-audience-switcher__link.is-active,
.eh-audience-switcher.is-previewing-provider .eh-audience-switcher__link[aria-current="page"] {
	color: #fff !important;
}
.eh-audience-switcher.is-previewing-provider .eh-audience-switcher__link[data-eh-audience="provider"],
.eh-audience-switcher .eh-audience-switcher__link[data-eh-audience="provider"]:hover,
.eh-audience-switcher .eh-audience-switcher__link[data-eh-audience="provider"]:focus-visible {
	color: #082f5c !important;
}
.eh-audience-switcher .eh-audience-switcher__link[data-eh-audience="employer"]:hover,
.eh-audience-switcher .eh-audience-switcher__link[data-eh-audience="employer"]:focus-visible {
	color: #082f5c !important;
}

@media (prefers-reduced-motion: reduce) {
	.eh-main-nav .wp-block-navigation-item__content,
	.eh-main-nav .wp-block-navigation-item__content::before,
	.eh-audience-switcher .eh-audience-switcher__link,
	.eh-audience-switcher::before { transition: none; }
	.eh-main-nav .wp-block-navigation-item__content:hover { transform: none; }
}
.eh-main-nav__duplicate-contact { display: none !important; }

/* ==========================================================
   v2.8.5 MOBILE HEADER / UTILITY BAR
   Keep the audience switch readable and reduce the ISA logo footprint on
   smaller screens. The sticky logo tightens again as the page scrolls.
   ========================================================== */
.eh-main-header .wp-block-site-logo img,
.eh-main-header .custom-logo {
	transition: width .22s ease, max-width .22s ease, height .22s ease;
}

@media (max-width: 781px) {
	.eh-utility-bar__inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
		padding: 9px 18px !important;
	}
	.eh-utility-bar__inner .eh-audience-switcher {
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box;
		flex-wrap: nowrap !important;
	}
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link {
		flex: 1 1 50%;
		min-width: 0;
		min-height: 28px;
		padding: 4px 8px !important;
		font-size: 11px;
	}
	.eh-utility-bar__inner .eh-utility-actions {
		display: flex !important;
		width: 100%;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		flex-wrap: nowrap !important;
	}
	.eh-utility-bar__inner .eh-utility-actions a {
		white-space: nowrap;
	}
	.eh-utility-bar__inner .wp-block-social-links {
		margin-left: auto !important;
	}

	.eh-main-header {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	.eh-main-header .wp-block-site-logo,
	.eh-main-header .custom-logo-link {
		line-height: 0;
	}
	.eh-main-header .wp-block-site-logo img,
	.eh-main-header .custom-logo {
		width: 165px !important;
		max-width: 165px !important;
		height: auto !important;
	}
	.eh-main-header.sticky,
	.header.sticky.eh-main-header {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
	.eh-main-header.sticky .wp-block-site-logo img,
	.eh-main-header.sticky .custom-logo,
	.header.sticky .wp-block-site-logo img,
	.header.sticky .custom-logo {
		width: 132px !important;
		max-width: 132px !important;
	}
	.eh-main-header .wp-block-navigation__responsive-container-open {
		min-width: 42px;
		min-height: 42px;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 420px) {
	.eh-main-header .wp-block-site-logo img,
	.eh-main-header .custom-logo {
		width: 150px !important;
		max-width: 150px !important;
	}
	.eh-main-header.sticky .wp-block-site-logo img,
	.eh-main-header.sticky .custom-logo,
	.header.sticky .wp-block-site-logo img,
	.header.sticky .custom-logo {
		width: 120px !important;
		max-width: 120px !important;
	}
}

/* ==========================================================
   v2.8.6 — mobile header scale + full-height sticky navigation
   ========================================================== */
@media (max-width: 781px) {
	/* The ISA mark should support the content, not dominate the viewport. */
	.eh-main-header .wp-block-site-logo img,
	.eh-main-header .custom-logo {
		width: 128px !important;
		max-width: 128px !important;
		height: auto !important;
	}
	.eh-main-header.sticky .wp-block-site-logo img,
	.eh-main-header.sticky .custom-logo,
	.header.sticky .wp-block-site-logo img,
	.header.sticky .custom-logo {
		width: 94px !important;
		max-width: 94px !important;
	}

	/* A sticky header animation leaves a transformed ancestor in some browsers,
	   which can trap the WP navigation overlay inside the header height. */
	.header.sticky,
	.eh-main-header.sticky,
	.header.sticky.eh-main-header {
		animation: none !important;
		transform: none !important;
		overflow: visible !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 999999 !important;
		overflow: hidden !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		box-sizing: border-box;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 420px) {
	.eh-main-header .wp-block-site-logo img,
	.eh-main-header .custom-logo {
		width: 118px !important;
		max-width: 118px !important;
	}
	.eh-main-header.sticky .wp-block-site-logo img,
	.eh-main-header.sticky .custom-logo,
	.header.sticky .wp-block-site-logo img,
	.header.sticky .custom-logo {
		width: 86px !important;
		max-width: 86px !important;
	}
}


/* ==========================================================
   v2.8.7 — strict mobile logo sizing
   Force the Site Logo block itself to shrink as well as the image. This
   overrides the width saved in the Gutenberg header pattern and prevents
   the logo flex item from reserving its desktop width on phones.
   ========================================================== */
@media (max-width: 781px) {
	.eh-main-header .eh-main-header__logo.wp-block-site-logo,
	.eh-main-header figure.eh-main-header__logo,
	.eh-main-header .wp-block-site-logo.eh-main-header__logo,
	.eh-main-header .custom-logo-link {
		width: 104px !important;
		max-width: 104px !important;
		min-width: 0 !important;
		flex: 0 0 104px !important;
		margin: 0 !important;
	}
	.eh-main-header .eh-main-header__logo img,
	.eh-main-header .wp-block-site-logo img,
	.eh-main-header img.custom-logo {
		display: block !important;
		width: 104px !important;
		max-width: 104px !important;
		height: auto !important;
		object-fit: contain !important;
	}
	.eh-main-header.sticky .eh-main-header__logo.wp-block-site-logo,
	.header.sticky .eh-main-header__logo.wp-block-site-logo,
	.eh-main-header.sticky .custom-logo-link,
	.header.sticky .custom-logo-link {
		width: 78px !important;
		max-width: 78px !important;
		flex-basis: 78px !important;
	}
	.eh-main-header.sticky .eh-main-header__logo img,
	.header.sticky .eh-main-header__logo img,
	.eh-main-header.sticky .wp-block-site-logo img,
	.header.sticky .wp-block-site-logo img,
	.eh-main-header.sticky img.custom-logo,
	.header.sticky img.custom-logo {
		width: 78px !important;
		max-width: 78px !important;
	}
	.eh-main-header__inner {
		min-height: 66px !important;
	}
	.eh-main-header.sticky .eh-main-header__inner,
	.header.sticky .eh-main-header__inner {
		min-height: 50px !important;
	}
}
@media (max-width: 420px) {
	.eh-main-header .eh-main-header__logo.wp-block-site-logo,
	.eh-main-header figure.eh-main-header__logo,
	.eh-main-header .wp-block-site-logo.eh-main-header__logo,
	.eh-main-header .custom-logo-link {
		width: 96px !important;
		max-width: 96px !important;
		flex-basis: 96px !important;
	}
	.eh-main-header .eh-main-header__logo img,
	.eh-main-header .wp-block-site-logo img,
	.eh-main-header img.custom-logo {
		width: 96px !important;
		max-width: 96px !important;
	}
	.eh-main-header.sticky .eh-main-header__logo.wp-block-site-logo,
	.header.sticky .eh-main-header__logo.wp-block-site-logo,
	.eh-main-header.sticky .custom-logo-link,
	.header.sticky .custom-logo-link {
		width: 70px !important;
		max-width: 70px !important;
		flex-basis: 70px !important;
	}
	.eh-main-header.sticky .eh-main-header__logo img,
	.header.sticky .eh-main-header__logo img,
	.eh-main-header.sticky .wp-block-site-logo img,
	.header.sticky .wp-block-site-logo img,
	.eh-main-header.sticky img.custom-logo,
	.header.sticky img.custom-logo {
		width: 70px !important;
		max-width: 70px !important;
	}
}

/* ==========================================================
   v2.8.9 — inline ISA logo + whole-shell sticky header
   Use the supplied vector mark directly so the theme fully controls its
   responsive dimensions. The entire Employer Hub header (utility + nav)
   becomes sticky as one unit, not just the white navigation row.
   ========================================================== */
.eh-site-header {
	position: relative;
	z-index: 1000;
}
.eh-site-header.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 99990 !important;
	background: #fff;
	box-shadow: 0 5px 22px rgba(8,47,92,.14);
}
.eh-site-header.sticky .eh-utility-bar,
.eh-site-header.sticky .eh-main-header {
	width: 100% !important;
}

.eh-inline-logo {
	display: block;
	justify-self: start;
	width: 210px;
	max-width: 210px;
	color: #122145;
	line-height: 0;
	text-decoration: none !important;
	transition: width .24s ease, max-width .24s ease, transform .24s ease;
}
.eh-inline-logo .ttb-logo__mark,
.eh-inline-logo svg {
	display: block;
	width: 100%;
	height: auto;
}
.eh-inline-logo:focus-visible {
	outline: 3px solid #ffcc00;
	outline-offset: 5px;
	border-radius: 4px;
}

@media (max-width: 781px) {
	.eh-main-header__inner {
		grid-template-columns: auto 1fr auto !important;
		min-height: 58px !important;
		gap: 12px !important;
	}
	.eh-inline-logo {
		width: 165px !important;
		max-width: 165px !important;
		min-width: 0 !important;
		flex: 0 0 165px !important;
	}
	.eh-site-header.sticky .eh-inline-logo {
		width: 138px !important;
		max-width: 138px !important;
		flex-basis: 138px !important;
	}
	.eh-site-header.sticky .eh-main-header {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
	.eh-site-header.sticky .eh-main-header__inner {
		min-height: 44px !important;
	}

	/* The responsive navigation must remain viewport-fixed even though its
	   trigger lives inside the fixed header shell. */
	.eh-site-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 999999 !important;
	}
}

@media (max-width: 420px) {
	.eh-inline-logo {
		width: 150px !important;
		max-width: 150px !important;
		flex-basis: 150px !important;
	}
	.eh-site-header.sticky .eh-inline-logo {
		width: 124px !important;
		max-width: 124px !important;
		flex-basis: 124px !important;
	}
}


/* ==========================================================
   v2.8.10 — mobile sticky shell + single-line utility bar
   The complete navy utility row remains attached to the white navigation
   while sticky. On phones the audience toggle, About and Contact share one
   compact row; social icons are hidden to preserve usable touch targets.
   ========================================================== */
@media (max-width: 781px) {
	/* Never allow an inner navigation row to become independently sticky. */
	.eh-main-header,
	.eh-site-header .eh-main-header,
	.header .eh-main-header {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	/* The outer shell is the only sticky/fixed header. */
	.eh-site-header.sticky,
	header.eh-site-header.sticky,
	.header.eh-site-header.sticky {
		position: fixed !important;
		inset: 0 0 auto 0 !important;
		width: 100% !important;
		transform: none !important;
		animation: none !important;
		overflow: visible !important;
		z-index: 99990 !important;
	}
	.eh-site-header.sticky .eh-utility-bar,
	.eh-site-header.sticky .eh-main-header {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}

	/* Keep every navy-bar control on one horizontal line. */
	.eh-utility-bar {
		padding: 7px 12px !important;
	}
	.eh-utility-bar__inner {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px !important;
		width: 100% !important;
		padding: 0 !important;
		min-width: 0 !important;
	}
	.eh-utility-bar__inner .eh-audience-switcher,
	.eh-utility-bar__inner .eh-audience-links {
		width: auto !important;
		max-width: 220px !important;
		min-width: 0 !important;
		flex: 0 1 auto !important;
		box-sizing: border-box;
		flex-wrap: nowrap !important;
	}
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link {
		flex: 0 1 auto !important;
		min-width: 0 !important;
		min-height: 25px !important;
		padding: 3px 7px !important;
		font-size: 10px !important;
		line-height: 1 !important;
	}
	.eh-utility-bar__inner .eh-utility-actions {
		display: flex !important;
		width: auto !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 10px !important;
		flex-wrap: nowrap !important;
	}
	.eh-utility-bar__inner .eh-utility-actions p {
		margin: 0 !important;
		line-height: 1 !important;
	}
	.eh-utility-bar__inner .eh-utility-actions a {
		font-size: 10px !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}
	.eh-utility-bar__inner .eh-utility-actions .wp-block-social-links,
	.eh-utility-bar__inner .wp-block-social-links {
		display: none !important;
	}

	/* Preserve compact logo treatment in both normal and sticky states. */
	.eh-inline-logo {
		width: 122px !important;
		max-width: 122px !important;
		flex-basis: 122px !important;
	}
	.eh-site-header.sticky .eh-inline-logo {
		width: 88px !important;
		max-width: 88px !important;
		flex-basis: 88px !important;
	}
}

@media (max-width: 420px) {
	.eh-utility-bar { padding-inline: 9px !important; }
	.eh-utility-bar__inner { gap: 6px !important; }
	.eh-utility-bar__inner .eh-audience-switcher,
	.eh-utility-bar__inner .eh-audience-links { max-width: 205px !important; }
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link {
		padding-inline: 6px !important;
		font-size: 9px !important;
	}
	.eh-utility-bar__inner .eh-utility-actions { gap: 8px !important; }
	.eh-utility-bar__inner .eh-utility-actions a { font-size: 9px !important; }
	.eh-inline-logo {
		width: 112px !important;
		max-width: 112px !important;
		flex-basis: 112px !important;
	}
	.eh-site-header.sticky .eh-inline-logo {
		width: 80px !important;
		max-width: 80px !important;
		flex-basis: 80px !important;
	}
}


/* ==========================================================
   v2.8.11 — desktop/mobile sticky behaviour
   Only the white primary navigation sticks. The navy audience/utility bar
   remains in normal document flow and scrolls away.
   ========================================================== */
.eh-site-header {
	position: relative !important;
	inset: auto !important;
	transform: none !important;
	animation: none !important;
	background: transparent !important;
	box-shadow: none !important;
}
.eh-site-header.sticky {
	position: relative !important;
	inset: auto !important;
	width: auto !important;
	transform: none !important;
	animation: none !important;
	background: transparent !important;
	box-shadow: none !important;
}
.eh-utility-bar,
.eh-site-header .eh-utility-bar,
.eh-site-header.sticky .eh-utility-bar {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}
.header.eh-main-header.sticky,
.eh-main-header.header.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 99990 !important;
	background: #fff !important;
	box-shadow: 0 5px 22px rgba(8,47,92,.14) !important;
	animation: isaHeaderSlideDown .3s ease both !important;
}

@media (max-width: 781px) {
	/* Utility bar remains one clean row before it scrolls out of view. */
	.eh-utility-bar {
		position: relative !important;
		padding: 6px 10px !important;
	}
	.eh-utility-bar__inner {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 7px !important;
		width: 100% !important;
		min-width: 0 !important;
	}
	.eh-utility-bar__inner .wp-block-social-links { display: none !important; }
	.eh-utility-bar__inner .eh-audience-switcher,
	.eh-utility-bar__inner .eh-audience-links,
	.eh-utility-bar__inner .eh-utility-actions {
		flex-wrap: nowrap !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	.eh-utility-bar__inner .eh-utility-actions { gap: 8px !important; }
	.eh-utility-bar__inner .eh-utility-actions p { margin: 0 !important; }
	.eh-utility-bar__inner .eh-utility-actions a { white-space: nowrap !important; }

	/* Once the white row receives the theme's sticky class it becomes the
	   sole fixed header. */
	.header.eh-main-header.sticky,
	.eh-main-header.header.sticky {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
	.header.eh-main-header.sticky .eh-inline-logo,
	.eh-main-header.header.sticky .eh-inline-logo {
		width: 80px !important;
		max-width: 80px !important;
		flex-basis: 80px !important;
	}

	/* The open mobile menu still owns the full viewport even from the fixed
	   white navigation row. */
	.header.eh-main-header .wp-block-navigation__responsive-container.is-menu-open,
	.eh-main-header.header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 999999 !important;
	}
}

/* ==========================================================
   v2.8.14 — definitive header/mobile sizing
   Only the white primary header is sticky. The navy utility row always
   scrolls with the page. Larger phone logo and touch-friendly utility links.
   ========================================================== */
.eh-site-header,
.eh-site-header.sticky {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	inset: auto !important;
	width: auto !important;
	box-shadow: none !important;
	background: transparent !important;
	transform: none !important;
}
.eh-utility-bar,
.eh-site-header .eh-utility-bar,
.eh-site-header.sticky .eh-utility-bar {
	position: relative !important;
	top: auto !important;
	inset: auto !important;
	transform: none !important;
}
.header.eh-main-header.sticky,
.eh-main-header.header.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 99990 !important;
	background: #fff !important;
	box-shadow: 0 5px 22px rgba(8,47,92,.14) !important;
	animation: isaHeaderSlideDown .3s ease both !important;
}

@media (max-width: 781px) {
	.eh-inline-logo {
		width: 190px !important;
		max-width: 190px !important;
		flex: 0 0 190px !important;
	}
	.header.eh-main-header.sticky .eh-inline-logo,
	.eh-main-header.header.sticky .eh-inline-logo {
		width: 165px !important;
		max-width: 165px !important;
		flex-basis: 165px !important;
	}
	.eh-main-header__inner {
		min-height: 68px !important;
	}
	.header.eh-main-header.sticky .eh-main-header__inner,
	.eh-main-header.header.sticky .eh-main-header__inner {
		min-height: 54px !important;
	}
	.eh-utility-bar { padding: 7px 10px !important; }
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link {
		min-height: 34px !important;
		padding: 7px 9px !important;
		font-size: 11.5px !important;
		line-height: 1.05 !important;
	}
	.eh-utility-bar__inner .eh-utility-actions a {
		display: inline-flex !important;
		align-items: center !important;
		min-height: 34px !important;
		padding: 5px 2px !important;
		font-size: 11.5px !important;
		line-height: 1 !important;
	}
}
@media (max-width: 420px) {
	.eh-inline-logo {
		width: 175px !important;
		max-width: 175px !important;
		flex-basis: 175px !important;
	}
	.header.eh-main-header.sticky .eh-inline-logo,
	.eh-main-header.header.sticky .eh-inline-logo {
		width: 150px !important;
		max-width: 150px !important;
		flex-basis: 150px !important;
	}
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link,
	.eh-utility-bar__inner .eh-utility-actions a {
		font-size: 10.5px !important;
	}
}


/* ==========================================================
   v2.8.15 — proven ISA sticky navbar + SVG mobile sizing
   Uses the same ttb-navbar/header hook as the working ISA site. Only the
   white navbar receives .sticky; the navy topbar always scrolls normally.
   Mobile SVG height is 75% of the desktop 210px logo's rendered height.
   ========================================================== */
.ttb-topbar.eh-utility-bar {
	position: relative !important;
	top: auto !important;
	inset: auto !important;
}
.ttb-navbar.header.eh-main-header {
	position: relative;
	z-index: 1000;
}
.ttb-navbar.header.eh-main-header.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 99990 !important;
	background: #fff !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.10) !important;
	animation: isaHeaderSlideDown .35s ease both !important;
}

@media (max-width: 781px) {
	/* 210px desktop width renders at about 61.7px high; 75% = 46.3px.
	   Sizing the inline SVG by height avoids Gutenberg/wrapper width rules. */
	.eh-inline-logo {
		width: auto !important;
		max-width: none !important;
		height: 46px !important;
		max-height: 46px !important;
		flex: 0 0 auto !important;
	}
	.eh-inline-logo .ttb-logo__mark,
	.eh-inline-logo svg {
		display: block !important;
		width: auto !important;
		height: 46px !important;
		max-height: 46px !important;
	}
	.ttb-navbar.header.eh-main-header.sticky .eh-inline-logo,
	.ttb-navbar.header.eh-main-header.sticky .eh-inline-logo .ttb-logo__mark,
	.ttb-navbar.header.eh-main-header.sticky .eh-inline-logo svg {
		width: auto !important;
		height: 38px !important;
		max-height: 38px !important;
	}
	.ttb-navbar.header.eh-main-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 999999 !important;
	}
}

@media (max-width: 420px) {
	.eh-inline-logo,
	.eh-inline-logo .ttb-logo__mark,
	.eh-inline-logo svg {
		height: 44px !important;
		max-height: 44px !important;
	}
	.ttb-navbar.header.eh-main-header.sticky .eh-inline-logo,
	.ttb-navbar.header.eh-main-header.sticky .eh-inline-logo .ttb-logo__mark,
	.ttb-navbar.header.eh-main-header.sticky .eh-inline-logo svg {
		height: 36px !important;
		max-height: 36px !important;
	}
}

/* ==========================================================
   v2.8.20 — utility nav social sizing + clean text links
   ========================================================== */
.eh-utility-bar a,
.eh-utility-bar a:visited,
.eh-utility-bar a:hover,
.eh-utility-bar a:focus,
.eh-utility-bar a:active,
.eh-audience-switcher .eh-audience-switcher__link,
.eh-audience-switcher .eh-audience-switcher__link:hover,
.eh-audience-switcher .eh-audience-switcher__link:focus-visible {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.eh-utility-bar .wp-block-social-links {
	gap: 10px !important;
}

.eh-utility-bar .wp-block-social-link {
	font-size: 24px !important;
}

.eh-utility-bar .wp-block-social-link a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	padding: 4px !important;
	text-decoration: none !important;
}

.eh-utility-bar .wp-block-social-link svg {
	width: 24px !important;
	height: 24px !important;
}


/* ==========================================================
   v2.8.21 — contained shell, utility cleanup + Search Hub
   ========================================================== */
.eh-utility-bar__inner,
.eh-main-header__inner {
	width: 100% !important;
	max-width: var(--wp--style--global--content-size, 1280px) !important;
	margin-inline: auto !important;
}

/* Main navigation keeps the underline interaction. Utility links never do. */
.eh-main-nav .wp-block-navigation-item__content {
	position: relative;
	text-decoration: none !important;
}
.eh-main-nav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: auto;
	bottom: -6px;
	width: 0;
	height: 2px;
	background: #082f5c;
	transition: width .2s ease;
}
.eh-main-nav .wp-block-navigation-item__content:hover::after,
.eh-main-nav .wp-block-navigation-item__content:focus-visible::after,
.eh-main-nav .current-menu-item > .wp-block-navigation-item__content::after,
.eh-main-nav .current-menu-ancestor > .wp-block-navigation-item__content::after {
	width: 100%;
}
.eh-utility-bar a,
.eh-utility-bar a:hover,
.eh-utility-bar a:focus,
.eh-utility-bar a:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.eh-main-header { position: relative; }
.eh-search-hub-panel {
	position: absolute;
	z-index: 1200;
	left: 0;
	right: 0;
	top: 0;
	box-sizing: border-box;
	width: 100%;
	padding: 22px 24px 26px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(4,16,47,.16);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-10px);
	transition: opacity .2s ease, transform .22s ease, visibility .2s ease;
}
.eh-main-header.is-search-open .eh-search-hub-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
.eh-search-hub-panel__inner {
	max-width: var(--wp--style--global--content-size, 1280px);
	margin-inline: auto;
}
.eh-search-hub-panel__top {
	display: flex;
	align-items: center;
	gap: 16px;
}
.eh-search-hub-panel .eh-hero-search {
	flex: 1 1 auto;
	margin: 0;
}
.eh-search-hub-panel .eh-hero-search__form {
	box-shadow: none;
	border: 1px solid #dbe4ed;
}
.eh-search-hub-panel__close {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: #f2f5f8;
	color: #082f5c;
	font-size: 20px;
	cursor: pointer;
}
.eh-search-hub-resources {
	margin-top: 22px;
}
.eh-search-hub-resources__label {
	margin: 0 0 12px;
	color: #082f5c;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.eh-search-hub-resources__grid {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 12px;
}
.eh-search-hub-resource {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid #e2e8ef;
	border-radius: 12px;
	color: #082f5c;
	text-decoration: none !important;
	background: #fff;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.eh-search-hub-resource:hover,
.eh-search-hub-resource:focus-visible {
	border-color: #9fc8e7;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(8,47,92,.08);
}
.eh-search-hub-resource__icon {
	display: grid;
	place-items: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: #eef6fb;
	color: #1a42f5;
}
.eh-search-hub-resource__text { min-width: 0; }
.eh-search-hub-resource__title {
	display: block;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
}
.eh-search-hub-resource__meta {
	display: block;
	margin-top: 3px;
	color: #6b7a90;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.eh-search-hub-resources__empty { color:#66768b; font-size:13px; }

@media (max-width: 900px) {
	.eh-utility-bar__inner .eh-utility-actions { display: none !important; }
	.eh-utility-bar__inner { justify-content: flex-start !important; }
	.eh-search-hub-panel { padding: 14px 14px 18px; }
	.eh-search-hub-panel__top { align-items: flex-start; }
	.eh-search-hub-resources__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
	.eh-search-hub-panel__top { gap: 8px; }
	.eh-search-hub-panel__close { width: 40px; height: 40px; flex-basis: 40px; }
	.eh-search-hub-panel .eh-hero-search__form { display: grid; grid-template-columns: 1fr; }
	.eh-search-hub-panel .eh-hero-search__keyword,
	.eh-search-hub-panel .eh-hero-search__section { border-right: 0 !important; border-bottom: 1px solid #e3e8ef; }
	.eh-search-hub-panel .eh-hero-search__submit { min-height: 52px; width: 100%; }
	.eh-search-hub-resources__grid { grid-template-columns: 1fr; }
}


/* ==========================================================
   v2.8.22 — navigation precision + full-width Search Hub
   ========================================================== */

/* Underline the actual main-nav text, not the navigation item's box. */
.eh-main-nav .wp-block-navigation-item__content::after { display: none !important; }
.eh-main-nav .wp-block-navigation-item__content {
	text-decoration: none !important;
	text-underline-offset: 10px;
	text-decoration-thickness: 2px;
	text-decoration-color: #082f5c;
}
.eh-main-nav .wp-block-navigation-item__content:hover,
.eh-main-nav .wp-block-navigation-item__content:focus-visible,
.eh-main-nav .current-menu-item > .wp-block-navigation-item__content,
.eh-main-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	text-decoration-line: underline !important;
	text-decoration-color: #082f5c !important;
	text-decoration-thickness: 2px !important;
}

/* Search Hub button icon. */
.eh-header-contact .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
}
.eh-header-search-icon { font-size: .95em; line-height: 1; }

/* The search surface covers the whole white navbar; its contents follow the
   same site container as the header, footer and page sections. */
.eh-search-hub-panel {
	left: 50% !important;
	right: auto !important;
	width: 100vw !important;
	max-width: none !important;
	padding: 18px 24px 24px !important;
	transform: translate(-50%, -10px) !important;
}
.eh-main-header.is-search-open .eh-search-hub-panel {
	transform: translate(-50%, 0) !important;
}
.eh-search-hub-panel__inner {
	width: 100% !important;
	max-width: var(--wp--style--global--content-size, 1280px) !important;
	margin-inline: auto !important;
	padding-top: 0 !important;
}
.eh-search-hub-panel__top { padding-top: 0 !important; }
.eh-search-hub-panel .eh-hero-search,
.eh-search-hub-panel .eh-hero-search__form { margin-top: 0 !important; }
.eh-search-hub-panel .eh-hero-search__popular,
.eh-search-hub-panel .eh-hero-search__popular span,
.eh-search-hub-panel .eh-hero-search__popular a {
	color: #082f5c !important;
}
.eh-search-hub-panel .eh-hero-search__popular a {
	text-decoration-color: currentColor !important;
}

@media (min-width: 901px) {
	.eh-search-hub-panel__top {
		display: block !important;
		position: relative;
	}
	.eh-search-hub-panel .eh-hero-search {
		width: 100% !important;
	}
	.eh-search-hub-panel__close {
		position: absolute;
		top: 2px;
		right: -58px;
	}
}

/* Tighter social cluster in the navy utility bar. */
.eh-utility-bar__inner .wp-block-social-links {
	gap: 4px !important;
}
.eh-utility-bar__inner .wp-block-social-link { margin: 0 !important; }

@media (max-width: 900px) {
	/* The right-side utility text is intentionally absent on mobile. */
	.eh-utility-bar__inner .eh-utility-actions { display: none !important; }
	.eh-utility-bar__inner { justify-content: flex-start !important; }

	/* More horizontal breathing room around the segmented control, with a
	   shallower selected pill so the navy strip stays compact. */
	.eh-utility-bar { padding-block: 10px !important; padding-inline: 14px !important; }
	.eh-utility-bar__inner .eh-audience-switcher,
	.eh-utility-bar__inner .eh-audience-links {
		max-width: none !important;
		padding: 2px 6px !important;
	}
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link {
		min-height: 28px !important;
		padding: 2px 11px !important;
		font-size: 11px !important;
	}

	.eh-search-hub-panel { padding-inline: 14px !important; padding-bottom: 18px !important; }
}

@media (max-width: 420px) {
	.eh-utility-bar { padding-block: 9px !important; padding-inline: 12px !important; }
	.eh-utility-bar__inner .eh-audience-switcher,
	.eh-utility-bar__inner .eh-audience-links { padding-inline: 7px !important; }
	.eh-utility-bar__inner .eh-audience-switcher .eh-audience-switcher__link {
		padding: 2px 10px !important;
		font-size: 10.5px !important;
	}
}

/* ==========================================================
   v2.8.36 — compact mobile navigation in phone landscape
   ========================================================== */
@media (max-width: 1024px) and (max-height: 600px) and (orientation: landscape) {
	/* WordPress may still show the mobile navigation above 781px on short
	   landscape devices, so apply the drawer treatment at this breakpoint too. */
	.wp-block-navigation__responsive-container.is-menu-open,
	.header.eh-main-header .wp-block-navigation__responsive-container.is-menu-open,
	.eh-main-header.header .wp-block-navigation__responsive-container.is-menu-open,
	.ttb-navbar.header.eh-main-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 2147482000 !important;
		background: rgba(4,16,47,.42) !important;
		backdrop-filter: blur(4px);
		overflow: hidden !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		width: min(58vw, 430px) !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		margin: 0 0 0 auto !important;
		padding: 16px 22px 18px !important;
		background: linear-gradient(145deg, #102a56 0%, #173f78 100%) !important;
		box-shadow: -18px 0 48px rgba(4,16,47,.28) !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
	}
	.wp-block-navigation__responsive-container-content {
		padding-top: 46px !important;
		padding-bottom: 12px !important;
	}
	.wp-block-navigation__responsive-container-close {
		top: 10px !important;
		right: 12px !important;
		width: 38px !important;
		height: 38px !important;
		color: #fff !important;
	}
	.wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
		gap: 6px !important;
	}
	.wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item {
		background: transparent !important;
		border-bottom: 1px solid rgba(255,255,255,.14);
	}
	.wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		padding: 9px 4px !important;
		font-size: 15px !important;
		line-height: 1.2 !important;
		color: #fff !important;
	}
}
