/* Scoped header polish for the premium Telos navigation. */
.telos-site-header {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 5.75rem;
	align-items: center;
	gap: clamp(1rem, 2vw, 1.8rem);
	margin-inline: 0 !important;
	padding: 0.8rem clamp(0.75rem, 1.25vw, 1.5rem);
}

.telos-header-logo {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	line-height: 0;
	text-decoration: none;
}

.telos-header-logo__image {
	display: block;
	width: clamp(11.75rem, 13vw, 14rem);
	max-width: 14rem;
	height: auto;
}

.telos-header-actions {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	margin: 0;
}

.telos-utility-nav {
	flex: 0 0 auto;
	padding-inline-start: clamp(0.45rem, 0.7vw, 0.7rem);
	border-inline-start: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.telos-utility-nav .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: clamp(0.55rem, 0.75vw, 0.8rem);
}

.telos-utility-nav .wp-block-navigation-item__content {
	white-space: nowrap;
	text-decoration: none;
}

.telos-utility-nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.telos-header-main-row {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: clamp(0.65rem, 0.9vw, 1rem);
	margin: 0;
}

.telos-primary-nav {
	min-width: 0;
	font-size: 1.05rem;
	font-weight: 725;
}

.telos-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container,
.telos-primary-nav > .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: clamp(0.75rem, 1vw, 1.1rem);
}

.telos-primary-nav .wp-block-navigation-item {
	flex: 0 0 auto;
}

.telos-primary-nav .wp-block-navigation-item__content {
	white-space: nowrap;
}

.telos-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.telos-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-block: 0.6rem;
	color: var(--telos-color-ink);
	font-size: 1.05rem;
	font-weight: 725;
	line-height: 1.2;
	text-decoration: none;
}

.telos-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.telos-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
.telos-primary-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-submenu:focus-within > .wp-block-navigation-item__content {
	color: var(--telos-color-primary);
}

.telos-primary-nav .wp-block-navigation__submenu-icon {
	width: 0.8rem;
	height: 0.8rem;
	margin-inline-start: 0.35rem;
	color: currentColor;
}

.telos-primary-nav .wp-block-navigation__submenu-icon svg {
	width: 100%;
	height: 100%;
	transition: transform 160ms ease;
}

.telos-primary-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation__submenu-icon svg {
	transform: rotate(180deg);
}

.telos-primary-nav .wp-block-navigation__submenu-container {
	min-width: 17rem;
	box-sizing: border-box;
	padding: 0.55rem;
	border: 1px solid var(--telos-color-border);
	border-block-start: 0.2rem solid var(--telos-color-brand);
	border-radius: 0.35rem;
	background: var(--telos-color-surface);
	box-shadow: 0 1rem 2.5rem rgba(36, 56, 61, 0.14);
	z-index: 30;
}

.telos-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0.75rem 0.9rem;
	color: var(--telos-color-ink);
	font-size: 0.9rem;
	font-weight: 625;
	line-height: 1.35;
	white-space: nowrap;
	text-decoration: none;
}

.telos-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.telos-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--telos-color-soft);
	color: var(--telos-color-primary);
}

.telos-header-cta {
	flex: 0 0 auto;
	margin: 0;
}

.telos-header-cta .wp-block-button__link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 0.95rem;
	white-space: nowrap;
	font-size: 0.74rem;
	font-weight: 750;
}

@media (max-width: 1320px) {
	.telos-site-header {
		min-height: 5.5rem;
	}

	.telos-header-logo__image {
		width: clamp(10.5rem, 24vw, 12.5rem);
	}

	.telos-utility-nav,
	.telos-site-header .telos-header-cta {
		display: none !important;
	}

	.telos-header-main-row {
		gap: 0;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		padding: 2rem;
		background: var(--telos-color-background);
		color: var(--telos-color-ink);
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: 0.4rem;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
		width: 100%;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static;
		width: 100%;
		min-width: 0;
		padding: 0.25rem 0 0.5rem 1rem;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding-block: 0.55rem;
		font-size: 0.95rem;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open .telos-utility-link-mobile {
		display: flex !important;
		margin-block-start: 0.75rem;
	}

	.telos-primary-nav .wp-block-navigation__responsive-container.is-menu-open .telos-nav-cta-mobile {
		display: flex !important;
		margin-block-start: 1rem;
	}
}

@media (max-width: 600px) {
	.telos-site-header {
		min-height: 4.75rem;
		gap: 1rem;
		padding-block: 0.6rem;
	}

	.telos-header-logo__image {
		width: 10rem;
	}
}
