/* Responsive mechanics only. Colors and desktop spacing use native blocks. */
html { scroll-padding-top: calc(var(--psc-sticky-header-height, 80px) + var(--psc-admin-offset, var(--wp-admin--admin-bar--height, 0px)) + 8px); }
.psc-header-centered .psc-header-identity-row { position: relative; justify-content: center; }
.psc-header-centered .psc-header-identity-row > .psc-brand-lockup { align-items: center; text-align: center; }
.psc-header-centered .psc-header-identity-row > .psc-header-actions { position: absolute; right: 0; }
.psc-site-header--floating-minimal .psc-primary-nav-shell--minimal {
	display: flex; height: auto; min-height: 75px; gap: .75rem;
	padding: .25rem 1rem; margin-block: 0;
}
.psc-site-header--floating-minimal .psc-floating-minimal-row { height: auto; min-height: 75px; }
.psc-site-header--floating-minimal .psc-brand-lockup { gap: .15rem; flex: 0 1 220px; min-width: 0; }
.psc-site-header--floating-minimal .psc-brand-lockup__logo img { max-height: 32px; max-width: 190px; }
.psc-site-header--floating-minimal .psc-brand-lockup__department { font-size: .8125rem; line-height: 1.15; }
.psc-site-header--floating-minimal .psc-brand-lockup__tagline { font-size: .75rem; line-height: 1.1; }
.psc-site-header--floating-minimal .psc-brand-lockup__text { display: flex; gap: 0; }

.psc-site-header--floating-minimal .psc-primary-navigation .wp-block-navigation-item__content { font-size: .8125rem; }
.psc-primary-navigation .wp-block-navigation__responsive-container-open svg { width: 24px; height: 24px; }
/* Keep the native Content/Wide/Full cap on the identity/navigation shell.
   Its action sibling belongs to the full row, so it can use the right gutter. */
.psc-site-header--floating-minimal .psc-floating-minimal-row {
	display: flex; flex-wrap: nowrap; align-items: center; gap: .75rem;
	padding-inline: 1rem; box-sizing: border-box;
}
.psc-site-header--floating-minimal .psc-primary-nav-shell--minimal {
	flex: 1 1 auto; min-width: 0; width: 100%; padding-inline: 0;
}
.psc-site-header--floating-minimal .psc-minimal-nav-tools {
	flex: 1 1 0; min-width: 0; flex-wrap: nowrap;
}
.psc-site-header nav.psc-primary-navigation { flex: 1 1 0; min-width: 0; }
.psc-site-header .psc-primary-nav-shell > .wp-block-search,
.psc-site-header .psc-minimal-nav-tools > .wp-block-search { flex: 0 0 auto; }
/* Native saved blocks can still say flexWrap:wrap. The front-end header never
   wraps its top-level row. Only the normal mobile breakpoint uses a drawer. */
.psc-site-header nav.psc-primary-navigation > .wp-block-navigation__container,
.psc-site-header nav.psc-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
	flex-wrap: nowrap !important;
}
.psc-site-header nav.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item,
.psc-site-header nav.psc-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item {
	flex-shrink: 0;
}
.psc-site-header nav.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.psc-site-header nav.psc-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	white-space: nowrap;
}
/* A deliberately overlayMenu:never source keeps its native links and receives
   keyboard-reachable horizontal overflow rather than a fabricated drawer. */
.psc-site-header nav.psc-navigation-scroll {
	overflow: auto; max-height: calc(100dvh - 7rem); scrollbar-width: thin;
}
/* overlayMenu:never has no core drawer. Keep its native submenus inside the
   scroll region instead of clipping absolute flyouts beyond its edges. */
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation__container { align-items: flex-start; }
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation-submenu { display: block; }
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation__submenu-container {
	display: none !important; position: static !important; inset: auto !important; transform: none !important;
	visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
	width: max-content !important; min-width: 0 !important; max-width: min(30rem, calc(100vw - 4rem)) !important;
	margin: .5rem 0 !important; padding: .5rem !important; flex-direction: column !important;
	box-sizing: border-box; box-shadow: none !important;
}
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation-submenu.open-always > .wp-block-navigation__submenu-container,
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container,
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation-submenu:not(:has(> .wp-block-navigation-submenu__toggle)):is(:hover, :focus-within) > .wp-block-navigation__submenu-container { display: flex !important; }
.psc-site-header nav.psc-navigation-scroll .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; overflow-wrap: anywhere; }
.psc-site-header nav.psc-navigation-scroll .psc-mega-menu-introduction { display: none; }
.psc-site-header--floating-minimal .psc-floating-action-tools {
	position: relative; flex: 0 0 auto; max-width: none; margin: 0 !important; gap: 0;
}
.psc-site-header--floating-minimal .psc-floating-action-tools[hidden] { display: none !important; }
.psc-site-header--floating-minimal .psc-floating-actions { display: flex; margin: 0; }
.psc-floating-actions-toggle {
	display: none; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
	padding: .5rem .65rem; border: 1px solid currentColor; border-radius: 4px;
	font: inherit; font-size: .8125rem; font-weight: 600; background: transparent; color: inherit; cursor: pointer;
}
/* Keyboard focus uses the shared navy outline and white halo from style.css. */
.psc-site-header--floating-minimal .is-psc-actions-compact .psc-floating-actions-toggle { display: inline-flex; }
.psc-site-header--floating-minimal .is-psc-actions-compact .psc-floating-actions { display: none; }
.psc-site-header--floating-minimal .is-psc-actions-compact.is-psc-actions-open .psc-floating-actions {
	display: flex; position: absolute; right: 0; top: calc(100% + .5rem); z-index: 2;
	width: max-content; max-width: min(24rem, calc(100vw - 2rem)); max-height: calc(100dvh - 7rem);
	overflow: auto; box-sizing: border-box; padding: .75rem; border: 1px solid var(--psc-ui-border, #d6dce5);
	border-radius: 4px; background: var(--psc-base, #fff); color: var(--psc-contrast, #17212b);
	box-shadow: 0 8px 24px rgba(0, 32, 92, .18);
}
.psc-site-header--floating-minimal .is-psc-actions-compact .psc-floating-actions .psc-header-actions,
.psc-site-header--floating-minimal .is-psc-actions-compact .psc-floating-actions .wp-block-buttons {
	flex-direction: column; flex-wrap: nowrap; align-items: stretch; width: 100%;
}
.psc-site-header--floating-minimal .is-psc-actions-compact .psc-floating-actions .psc-header-action,
.psc-site-header--floating-minimal .is-psc-actions-compact .psc-floating-actions .wp-block-button__link {
	white-space: normal; overflow-wrap: anywhere;
}
/* Measurement is synchronous and never changes or clones native controls. */
.psc-site-header nav.psc-measuring-navigation > .wp-block-navigation__container,
.psc-site-header nav.psc-measuring-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
	display: block !important; position: absolute !important; inset: auto !important;
	width: max-content !important; max-width: none !important; visibility: hidden !important; pointer-events: none !important;
}
.psc-site-header nav.psc-measuring-navigation .wp-block-navigation__responsive-close,
.psc-site-header nav.psc-measuring-navigation .wp-block-navigation__responsive-dialog,
.psc-site-header nav.psc-measuring-navigation .wp-block-navigation__responsive-container-content {
	width: max-content !important; max-width: none !important; padding: 0 !important;
}
.psc-site-header nav.psc-measuring-navigation .wp-block-navigation__container,
.psc-site-header nav.psc-measuring-navigation > .wp-block-navigation__container {
	display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
	width: max-content !important; max-width: none !important;
}
.psc-site-header--floating-minimal .psc-measuring-actions .psc-floating-actions {
	display: flex !important; position: absolute !important; width: max-content !important;
	max-width: none !important; padding: 0 !important; border: 0 !important; visibility: hidden !important; pointer-events: none !important;
}
.psc-site-header--floating-minimal .psc-measuring-actions .psc-floating-actions .psc-header-actions,
.psc-site-header--floating-minimal .psc-measuring-actions .psc-floating-actions .wp-block-buttons { flex-direction: row !important; width: max-content !important; }
.psc-site-header--floating-minimal .psc-measuring-actions .psc-floating-actions .psc-header-action,
.psc-site-header--floating-minimal .psc-measuring-actions .psc-floating-actions .wp-block-button__link { white-space: nowrap !important; }

@media (max-width: 1200px) {
	.psc-site-header .psc-header-identity-row.psc-mobile-row {
		display: flex; flex-wrap: nowrap; gap: .5rem; align-items: center;
		justify-content: space-between; padding: .25rem 1rem; min-height: 75px;
	}
	.psc-site-header .psc-mobile-row > .psc-brand-lockup {
		flex: 1 1 auto; min-width: 0; width: auto; gap: .15rem;
	}
	.psc-site-header .psc-mobile-row .psc-brand-lockup__logo img {
		width: auto; max-height: 32px; max-width: min(190px, 100%);
	}
	.psc-site-header .psc-mobile-row .psc-brand-lockup__department {
		font-size: .8125rem; line-height: 1.15;
	}
	.psc-site-header .psc-mobile-row .psc-brand-lockup__tagline {
		display: block; font-size: .75rem; line-height: 1.1;
	}
	.psc-site-header .psc-mobile-row > .psc-primary-nav-shell {
		flex: 0 0 auto; width: auto; min-height: 44px; padding: 0; gap: .25rem; color: #00205c;
	}
	.psc-site-header .psc-mobile-row .psc-primary-navigation { color: inherit; margin: 0; }
	.psc-site-header .psc-mobile-row .wp-block-search__button,
	.psc-site-header--floating-minimal .wp-block-search__button {
		width: 44px; height: 44px; padding: .5rem;
	}
	.psc-site-header .psc-mobile-row .wp-block-search { margin: 0; }
	.psc-site-header .psc-mobile-row .wp-block-search__inside-wrapper { padding: 0; }
	.psc-mobile-band-empty, .psc-mobile-row > .psc-header-actions, .psc-mobile-row > .wp-block-buttons { display: none; }
	.psc-mobile-identity-band { padding-block: 0; }
	.psc-site-header .psc-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.psc-site-header .psc-primary-navigation .wp-block-navigation__responsive-container-open { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
	.psc-site-header .psc-primary-navigation .wp-block-navigation__responsive-container-open { color: #00205c; }
	.psc-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
	.psc-primary-navigation .is-menu-open .wp-block-navigation-item__content.wp-block-navigation-submenu__toggle::after {
		content: "+"; position: absolute; right: 1rem; font-size: 1.25rem;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-item__content.wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { content: "−"; }
	.psc-header-centered .psc-header-identity-row > .psc-brand-lockup { align-items: flex-start; text-align: left; }
	.psc-site-header--floating-minimal .psc-brand-lockup { flex: 1 1 auto; }
	.psc-site-header--floating-minimal .psc-minimal-nav-tools { flex: 0 0 auto; }
	.psc-site-header--floating-minimal .psc-floating-minimal-row { gap: .5rem; }
	.psc-site-header--floating-minimal .psc-primary-nav-shell--minimal { gap: .5rem; }
	.psc-site-header--floating-minimal .psc-brand-lockup__logo img { max-width: min(190px, 100%); }
	.psc-site-header .wp-block-search__button-only.is-psc-search-open .wp-block-search__input {
		position: absolute; top: 100%; right: 1rem; width: min(320px, calc(100% - 2rem));
		height: 44px; z-index: 5;
	}
	.psc-site-header .wp-block-search { position: static; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.psc-floating-header-shell { transition: none; }
}
