/* stylelint-disable selector-class-pattern, no-descending-specificity, rule-empty-line-before -- Public component contracts and intentional state overrides. */

.cs-site {
	--cs-shell-max-width: 1050px;
	--cs-shell-inset-start: max(15px, env(safe-area-inset-left, 0px));
	--cs-shell-inset-end: max(15px, env(safe-area-inset-right, 0px));
	margin: 0;
	overflow-wrap: normal;
}

.cs-utility-bar,
.cs-main,
.cs-global-footer {
	width: min(100%, var(--cs-shell-max-width));
	margin-inline: auto;
	text-align: start;
}

.cs-site :where(img, svg) {
	display: block;
	max-width: 100%;
}

.cs-site :where(a) {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

.cs-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.cs-shell-width {
	width: calc(100% - var(--cs-shell-inset-start) - var(--cs-shell-inset-end));
	margin-inline: var(--cs-shell-inset-start) auto;
}

.cs-utility-bar {
	position: sticky;
	inset-block-start: 0;
	z-index: var(--cs-z-header);
	min-height: 2.75rem;
	padding-block-end: 7px;
	border-block-end: 1px solid var(--cs-color-line);
	background: rgb(8 11 14 / 96%);
	color: var(--cs-color-text);
	font-family: var(--cs-font-display);
	font-size: 0.625rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.admin-bar .cs-utility-bar {
	inset-block-start: var(--wp-admin--admin-bar--height, 32px);
}

.cs-utility-bar::before {
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 0.125rem;
	background: linear-gradient(
		90deg,
		transparent,
		color-mix(in srgb, var(--cs-area-accent) 58%, transparent) 18%,
		color-mix(in srgb, var(--cs-area-accent) 58%, transparent) 82%,
		transparent
	);
	content: "";
	pointer-events: none;
}

.cs-utility-bar__inner {
	position: relative;
	display: flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: flex-start;
	gap: var(--cs-space-xs);
}

.cs-utility-bar__context {
	display: flex;
	max-width: 22rem;
	min-width: 0;
	flex: 1 1 auto;
	align-items: center;
	gap: var(--cs-space-s);
	color: var(--cs-color-text);
}

.cs-utility-bar__context > :last-child {
	overflow-wrap: normal;
	white-space: nowrap;
	word-break: normal;
}

.cs-utility-bar__signal {
	width: 0.375rem;
	height: 0.375rem;
	flex: 0 0 auto;
	background: var(--cs-area-accent);
	box-shadow: 0 0 1rem
		color-mix(in srgb, var(--cs-area-accent) 50%, transparent);
}

.cs-utility-bar__actions,
.cs-utility-links ul,
.cs-language-switcher ul {
	display: flex;
	align-items: center;
	gap: var(--cs-space-xs);
}

.cs-utility-bar__actions {
	min-width: max-content;
	flex: 0 0 auto;
	margin-inline-start: auto;
}

.cs-utility-links ul,
.cs-language-switcher ul,
.cs-primary-nav ul,
.cs-channel-links ul,
.cs-global-footer__legal {
	padding: 0;
	margin: 0;
	list-style: none;
}

.cs-utility-links a,
.cs-utility-links__disabled,
.cs-language-switcher :where(a, span) {
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding-inline: var(--cs-space-s);
	text-decoration: none;
}

.cs-utility-links li {
	position: relative;
	flex: 0 0 auto;
}

.cs-utility-links :where(a, .cs-utility-links__disabled),
.cs-language-switcher :where(a, span) {
	white-space: nowrap;
}

.cs-utility-links__disabled {
	color: color-mix(in srgb, var(--cs-color-muted) 52%, transparent);
	cursor: help;
}

.cs-utility-links__tooltip {
	position: absolute;
	inset-block-start: calc(100% + var(--cs-space-xs));
	inset-inline-start: var(--cs-tooltip-start, 50%);
	inset-inline-end: var(--cs-tooltip-end, auto);
	z-index: var(--cs-z-overlay);
	width: max-content;
	max-width: 10rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid color-mix(in srgb, var(--cs-color-line) 68%, transparent);
	background: color-mix(in srgb, var(--cs-color-surface) 96%, transparent);
	color: var(--cs-color-muted);
	font-family: var(--cs-font-body);
	font-size: 0.625rem;
	letter-spacing: 0.025em;
	line-height: 1.3;
	opacity: 0;
	pointer-events: none;
	text-transform: none;
	transform: translate(var(--cs-tooltip-x, -50%), -0.25rem);
	transition:
		opacity var(--cs-duration-fast) var(--cs-easing-standard),
		transform var(--cs-duration-fast) var(--cs-easing-standard);
}

.cs-utility-links__disabled:is(:hover, :focus-visible):not(
		[data-cs-tooltip-suppressed="true"]
	)
	.cs-utility-links__tooltip,
.cs-utility-links
	a:is(:hover, :focus-visible):not([data-cs-tooltip-suppressed="true"])
	.cs-utility-links__tooltip {
	opacity: 0.9;
	transform: translate(var(--cs-tooltip-x, -50%), 0);
}

.cs-utility-links a:any-link,
.cs-language-switcher a:any-link {
	color: var(--cs-color-text);
}

.cs-utility-links a:is(:hover, :focus-visible),
.cs-language-switcher a:is(:hover, :focus-visible),
.cs-compact-search button:is(:hover, :focus-visible),
.cs-primary-nav__group-label:is(:hover, :focus-visible) {
	color: var(--cs-area-accent);
}

.cs-language-switcher ul {
	gap: 0;
}

.cs-language-switcher li + li {
	position: relative;
}

.cs-language-switcher li + li::before {
	position: absolute;
	inset-block: 0.9rem;
	inset-inline-start: 0;
	width: 1px;
	background: var(--cs-color-line);
	content: "";
}

.cs-language-switcher__current {
	color: var(--cs-area-accent);
	box-shadow: inset 0 -0.125rem var(--cs-area-accent);
}

.cs-language-switcher__unavailable {
	color: color-mix(in srgb, var(--cs-color-muted) 55%, transparent);
	cursor: not-allowed;
}

.cs-utility-bar__toggles {
	translate: 0 5px;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.125rem;
	margin-inline-start: 0;
}

.cs-utility-search {
	position: absolute;
	display: block;
	inset-block-start: calc(100% + 7px);
	inset-inline-end: 0;
	z-index: var(--cs-z-overlay);
	width: 14rem;
	max-width: calc(100vw - (2 * var(--cs-space-s)));
	padding: var(--cs-space-m);
	border: 1px solid var(--cs-color-line);
	background: color-mix(
		in srgb,
		var(--cs-color-surface) 92%,
		var(--cs-color-canvas)
	);
	box-shadow: var(--cs-shadow-raised);
}

.cs-utility-search[hidden] {
	display: none;
}

.cs-utility-bar__toggle,
.cs-utility-bar__search-toggle {
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--cs-color-line);
	background: var(--cs-color-surface);
	color: var(--cs-color-text);
	cursor: pointer;
}

.cs-utility-bar__search-toggle {
	display: inline-grid;
	place-items: center;
}

.cs-utility-bar__search-toggle svg,
.cs-compact-search svg {
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-width: 1.75;
}

.cs-utility-bar__search-toggle[aria-expanded="true"] {
	color: var(--cs-area-accent);
	box-shadow: inset 0 -0.125rem var(--cs-area-accent);
}

.cs-utility-bar__toggle-lines,
.cs-utility-bar__toggle-lines::before,
.cs-utility-bar__toggle-lines::after {
	display: block;
	width: 1.25rem;
	height: 0.125rem;
	background: currentcolor;
	content: "";
	transition: transform var(--cs-duration-fast) var(--cs-easing-standard);
}

.cs-utility-bar__toggle-lines::before {
	transform: translateY(-0.375rem);
}

.cs-utility-bar__toggle-lines::after {
	transform: translateY(0.25rem);
}

.cs-utility-bar__toggle[aria-expanded="true"] .cs-utility-bar__toggle-lines {
	background: transparent;
}

.cs-utility-bar__toggle[aria-expanded="true"]
	.cs-utility-bar__toggle-lines::before {
	transform: translateY(0.0625rem) rotate(45deg);
}

.cs-utility-bar__toggle[aria-expanded="true"]
	.cs-utility-bar__toggle-lines::after {
	transform: translateY(-0.0625rem) rotate(-45deg);
}

.cs-main {
	min-height: 50vh;
	overflow: clip;
}

.cs-brand-masthead {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-block-end: 1px solid var(--cs-color-line);
	background:
		var(--cs-area-motif),
		radial-gradient(
			circle at 50% 43%,
			rgb(255 255 255 / 2.5%),
			transparent 35%
		),
		linear-gradient(180deg, #0c0f12 0%, #07090b 100%);
}

.cs-brand-masthead::before {
	position: absolute;
	z-index: -3;
	inset: -5%;
	background:
		radial-gradient(
			circle at 62% 48%,
			rgb(255 255 255 / 3.5%),
			transparent 28%
		),
		linear-gradient(112deg, #0c1013 0%, #080b0e 48%, #0c1013 100%);
	content: "";
	filter: contrast(1.04);
	transform: scale(1.035);
	animation: cst-compass-breathe 20s ease-in-out infinite alternate;
}

.cs-brand-masthead::after {
	position: absolute;
	z-index: -2;
	inset: -35% -25%;
	background: linear-gradient(
		112deg,
		transparent 35%,
		rgb(255 255 255 / 3.5%) 48%,
		rgb(255 255 255 / 1.2%) 54%,
		transparent 66%
	);
	content: "";
	mix-blend-mode: screen;
	pointer-events: none;
	transform: translateX(-22%);
	animation: cst-grazing-light 26s ease-in-out infinite alternate;
}

.cs-brand-masthead__noise {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
	opacity: 0.15;
	pointer-events: none;
}

@keyframes cst-compass-breathe {
	from {
		filter: contrast(1.04) brightness(0.91);
		transform: scale(1.035);
	}

	to {
		filter: contrast(1.05) brightness(0.97);
		transform: scale(1.043);
	}
}

@keyframes cst-grazing-light {
	from {
		opacity: 0.45;
		transform: translateX(-22%);
	}

	to {
		opacity: 0.8;
		transform: translateX(22%);
	}
}

.cs-brand-masthead__grid {
	position: relative;
	display: grid;
	align-items: center;
	justify-content: start;
	grid-template-columns: minmax(0, 35rem) 14.625rem;
	gap: clamp(1.25rem, 3vw, 2rem);
	padding-block: 0.5rem;
}

.cs-compact-search {
	display: grid;
	width: 100%;
	min-width: 0;
	gap: 0.375rem;
}

.cs-compact-search__query {
	display: flex;
	width: 100%;
	min-width: 0;
	height: 2.5rem;
	border: 1px solid var(--cs-color-line);
	background: rgb(8 11 14 / 88%);
}

.cs-compact-search__query:focus-within {
	border-color: var(--cs-area-accent);
}

.cs-compact-search input[type="search"] {
	min-width: 0;
	flex: 1 1 auto;
	padding-inline: var(--cs-space-s);
	border: 0;
	background: transparent;
	color: var(--cs-color-text);
	font: 0.75rem var(--cs-font-body);
}

.cs-compact-search input[type="search"]::placeholder {
	color: var(--cs-color-muted);
}

.cs-compact-search button {
	display: grid;
	width: 2.5rem;
	flex: 0 0 auto;
	place-items: center;
	padding: 0;
	border: 0;
	border-inline-start: 1px solid var(--cs-color-line);
	background: transparent;
	color: var(--cs-color-text);
	cursor: pointer;
}

.cs-compact-search__refinements {
	display: grid;
	width: 100%;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.375rem;
}

.cs-compact-search__refinements label {
	display: grid;
	min-width: 0;
	gap: 0.125rem;
}

.cs-compact-search__refinements label > span {
	color: var(--cs-color-muted);
	font: 0.5625rem/1.2 var(--cs-font-display);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cs-compact-search__refinements select {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 2rem;
	padding: 0.25rem 1.25rem 0.25rem 0.375rem;
	border: 1px solid var(--cs-color-line);
	background: rgb(8 11 14 / 88%);
	color: var(--cs-color-text);
	font: 0.625rem var(--cs-font-body);
}

.cs-brand-masthead__copy {
	position: relative;
	z-index: 2;
	max-width: 35rem;
}

.cs-brand-masthead__eyebrow {
	margin: 0 0 1rem;
	color: var(--cs-area-accent);
	font-family: var(--cs-font-display);
	font-size: clamp(0.625rem, 1.1vw, 0.75rem);
	font-weight: 650;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.cs-brand-masthead h1 {
	margin: 0;
	font-size: clamp(1.35rem, 2.15vw, 1.5rem);
	font-weight: 500;
	letter-spacing: 0.035em;
	line-height: 1.08;
	overflow-wrap: normal;
	white-space: nowrap;
}

.cs-brand-title {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: baseline;
}

.cs-brand-title__roof {
	color: var(--cs-color-text);
}

.cs-brand-title__separator {
	color: var(--cs-area-accent);
}

.cs-brand-title__area {
	color: var(--cs-brand-area);
}

.cs-brand-masthead__claim {
	max-width: 32rem;
	margin: 0.875rem 0 0;
	color: var(--cs-color-muted);
	font-size: clamp(0.8125rem, 1.35vw, 0.9375rem);
	hyphens: auto;
	line-height: 1.55;
	overflow-wrap: normal;
	word-break: normal;
}

.cs-primary-nav {
	position: relative;
	z-index: 3;
	margin-block: 0 var(--cs-space-xl);
	border: 1px solid var(--cs-color-line);
	background: rgb(8 11 14 / 96%);
}

.cs-primary-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
}

.cs-primary-nav__list--level-0 {
	justify-content: center;
}

.cs-primary-nav__item--level-0 {
	min-width: 0;
	flex: 1 1 0;
}

.cs-primary-nav__item--level-0 + .cs-primary-nav__item--level-0 {
	border-inline-start: 1px solid var(--cs-color-line);
}

.cs-primary-nav a,
.cs-primary-nav__group-label {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cs-color-text);
	font-family: var(--cs-font-display);
	font-weight: 650;
	hyphens: none;
	overflow-wrap: normal;
	text-align: center;
	text-decoration: none;
	text-wrap: balance;
	text-transform: uppercase;
	word-break: normal;
}

.cs-primary-nav a {
	min-height: 2.75rem;
	padding: 0.5rem 0.875rem;
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
}

.cs-primary-nav__group {
	height: 100%;
}

.cs-primary-nav__group-label {
	min-height: 1.5rem;
	padding: 0.25rem 0.75rem 0.125rem;
	color: var(--cs-color-muted);
	font-size: 0.5rem;
	letter-spacing: 0.16em;
	list-style: none;
	cursor: pointer;
}

.cs-primary-nav__group-label::-webkit-details-marker {
	display: none;
}

.cs-primary-nav__group-label::after {
	margin-inline-start: 0.375rem;
	color: var(--cs-area-accent);
	content: "+";
}

.cs-primary-nav__group[open] > .cs-primary-nav__group-label::after {
	content: "−";
}

.cs-primary-nav a:is(:hover, :focus-visible),
.cs-primary-nav a[aria-current="page"] {
	color: var(--cs-area-accent);
	box-shadow: inset 0 -0.1875rem var(--cs-area-accent);
}

.cs-primary-nav a:is(:hover, :focus-visible) {
	text-shadow: 0 0 0.8rem
		color-mix(in srgb, var(--cs-area-accent) 70%, transparent);
}

.cs-primary-nav__item .cs-primary-nav__list {
	border-block-start: 1px solid var(--cs-color-line);
}

.cs-primary-nav__item--level-1 {
	min-width: 0;
	max-width: 100%;
	flex: 1 0 auto;
}

.cs-primary-nav--masthead {
	container: cs-primary-navigation / inline-size;
	width: min(100%, 44rem);
	margin-block: 1rem 0;
	border: 0;
	background: transparent;
}

.cs-primary-nav--masthead .cs-primary-nav__list--level-0 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-content: flex-start;
}

.cs-primary-nav--masthead .cs-primary-nav__item--level-0 {
	flex: 0 1 auto;
}

.cs-primary-nav--masthead
	.cs-primary-nav__item--level-0
	+ .cs-primary-nav__item--level-0 {
	margin-inline-start: 0;
	border-inline-start: 1px solid var(--cs-color-line);
}

.cs-primary-nav--masthead .cs-primary-nav__group-label {
	justify-content: flex-start;
	padding-inline: 0.625rem;
}

.cs-primary-nav--masthead .cs-primary-nav__item .cs-primary-nav__list {
	border-block-start-color: color-mix(
		in srgb,
		var(--cs-color-line) 65%,
		transparent
	);
}

.cs-page-content {
	padding-block: var(--cs-space-2xl) var(--cs-space-3xl);
}

.cs-page-content--area-home {
	padding-block-start: var(--cs-space-xl);
}

.cs-page-content--area-home > article {
	max-width: none;
}

.cs-page-content > :where(article, .cs-provisional-list),
.cs-page-content > h1,
.cs-page-content.cs-empty-state {
	max-width: none;
	margin-inline: 0 auto;
}

.cs-page-content h1 {
	font-size: clamp(2rem, 5vw, 3.75rem);
	text-wrap: balance;
}

.cs-prose,
.cs-provisional-list__item {
	font-size: 1.0625rem;
}

.cs-prose :where(p, li) {
	max-width: none;
}

.cs-prose :where(a, code),
.cs-page-content :where(a, code) {
	overflow-wrap: anywhere;
	word-break: normal;
}

.cs-provisional-list {
	display: grid;
	gap: var(--cs-space-l);
}

.cs-provisional-list__item,
.cs-empty-state {
	padding: var(--cs-space-l);
	border: 1px solid var(--cs-color-line);
	background: var(--cs-color-surface);
}

.cs-global-footer {
	border-block-start: 1px solid var(--cs-color-line);
	background: var(--cs-color-canvas);
	color: var(--cs-color-muted);
	font-size: 0.8125rem;
}

.cs-global-footer__upper {
	display: grid;
	align-items: start;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--cs-space-s);
	padding-block: 0.375rem;
}

.cs-global-footer__left {
	min-width: 0;
	container-name: cs-footer-brand;
	container-type: inline-size;
}

.cs-global-footer__brand {
	display: flex;
	align-items: center;
	gap: var(--cs-space-s);
	color: var(--cs-color-text);
	white-space: nowrap;
}

.cs-global-footer__brand-copy {
	display: grid;
	gap: 0;
	transform: translateY(-0.125rem);
}

.cs-global-footer__brand-name {
	font-family: var(--cs-font-display);
	font-size: clamp(0.625rem, 6cqi, 0.875rem);
	letter-spacing: 0.08em;
	line-height: 1.05;
}

.cs-global-footer__tagline {
	color: var(--cs-color-muted);
	font-family: var(--cs-font-body);
	font-size: clamp(0.5rem, 4.2cqi, 0.6875rem);
	letter-spacing: 0.025em;
	line-height: 1.1;
	transform: translateY(0.3125rem);
}

.cs-global-footer__signet {
	display: block;
	width: 2.125rem;
	height: 2.125rem;
	color: var(--cs-color-text);
}

.cs-global-footer__signet svg {
	width: 100%;
	height: 100%;
}

.cs-global-footer__right {
	display: flex;
	min-width: max-content;
	align-items: center;
	align-self: start;
	justify-content: flex-end;
	gap: var(--cs-space-xs);
	text-align: end;
	white-space: nowrap;
}

.cs-channel-links {
	position: relative;
}

.cs-channel-links ul {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
}

.cs-channel-links a {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	border: 0;
	box-shadow: inset 0 -0.125rem transparent;
	color: var(--cs-color-text);
	text-decoration: none;
}

.cs-channel-links svg {
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.cs-channel-links :where(path, .cs-icon-fill) {
	fill: currentcolor;
	stroke: none;
}

.cs-channel-links a:is(:hover, :focus-visible),
.cs-global-footer__legal a:is(:hover, :focus-visible) {
	color: var(--cs-area-accent);
	box-shadow: inset 0 -0.125rem var(--cs-area-accent);
}

.cs-channel-links__tooltip {
	position: absolute;
	inset-block-end: calc(100% + var(--cs-space-xs));
	inset-inline-start: var(--cs-tooltip-start, auto);
	inset-inline-end: var(--cs-tooltip-end, 0);
	z-index: var(--cs-z-overlay);
	width: max-content;
	max-width: min(12rem, calc(100vw - 2rem));
	padding: var(--cs-space-xs) var(--cs-space-s);
	border: 1px solid var(--cs-color-line);
	background: var(--cs-color-text);
	color: var(--cs-color-canvas);
	font-size: 0.75rem;
	line-height: 1.3;
	white-space: normal;
	overflow-wrap: anywhere;
	opacity: 0;
	pointer-events: none;
	transform: translate(var(--cs-tooltip-x, 0px), 0.25rem);
	transition:
		opacity var(--cs-duration-fast) var(--cs-easing-standard),
		transform var(--cs-duration-fast) var(--cs-easing-standard);
}

.cs-channel-links
	a:is(:hover, :focus-visible):not([data-cs-tooltip-suppressed="true"])
	.cs-channel-links__tooltip {
	opacity: 1;
	transform: translate(var(--cs-tooltip-x, 0px), 0);
}

.cs-global-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--cs-space-s);
}

.cs-global-footer__legal a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	box-shadow: inset 0 -0.125rem transparent;
	color: var(--cs-color-text);
	text-decoration: none;
}

/* Keep this threshold synchronized with shell.js. */
@media (max-width: 850px) {
	.cs-utility-bar__toggle:not([hidden]) {
		display: inline-flex;
	}

	.cs-utility-bar__search-toggle:not([hidden]) {
		display: inline-grid;
		place-items: center;
	}

	.cs-utility-bar__actions {
		position: absolute;
		inset-block-start: calc(100% + 7px);
		inset-inline-end: calc(2.75rem + 0.125rem);
		width: max-content;
		max-width: calc(100vw - (2 * var(--cs-space-s)));
		flex-direction: column;
		min-width: 0;
		align-items: stretch;
		margin-inline-start: 0;
		padding: var(--cs-space-s) var(--cs-space-m) var(--cs-space-m);
		border: 1px solid var(--cs-color-line);
		background: color-mix(
			in srgb,
			var(--cs-color-surface) 92%,
			var(--cs-color-canvas)
		);
		box-shadow: var(--cs-shadow-raised);
	}

	.cs-utility-bar__actions[hidden] {
		display: none;
	}

	.cs-utility-links ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.cs-utility-links li,
	.cs-utility-links :where(a, .cs-utility-links__disabled) {
		width: 100%;
	}

	.cs-utility-links a,
	.cs-utility-links .cs-utility-links__disabled {
		justify-content: flex-start;
		border-block-end: 1px solid var(--cs-color-line);
		text-align: start;
	}

	.cs-language-switcher {
		margin-block-start: var(--cs-space-s);
		border-block-start: 1px solid var(--cs-color-line);
	}

	.cs-language-switcher ul {
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

	.cs-utility-bar__toggles {
		margin-inline-start: auto;
	}
}

@media (max-width: 64rem) {
	.cs-primary-nav:not(.cs-primary-nav--masthead)
		.cs-primary-nav__list--level-0 {
		flex-direction: column;
	}

	.cs-primary-nav:not(.cs-primary-nav--masthead)
		.cs-primary-nav__item--level-0
		+ .cs-primary-nav__item--level-0 {
		border-block-start: 1px solid var(--cs-color-line);
		border-inline-start: 0;
	}

	.cs-primary-nav--masthead .cs-primary-nav__list--level-0 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cs-primary-nav--masthead
		.cs-primary-nav__item--level-0
		+ .cs-primary-nav__item--level-0 {
		margin-inline-start: 0;
	}

	.cs-global-footer__upper {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--cs-space-xs);
		padding-block: 0.375rem;
	}

	.cs-global-footer__right {
		justify-content: flex-end;
		text-align: end;
	}
}

@media (max-width: 767px) {
	.cs-primary-nav--mobile-deferred,
	.cs-primary-nav .cs-primary-nav__item--mobile-deferred {
		display: none;
	}
}

@media (max-width: 35rem) {
	.cs-channel-links__tooltip {
		inset-inline-start: var(--cs-tooltip-start, 0);
		inset-inline-end: var(--cs-tooltip-end, auto);
	}

	.cs-global-footer__upper {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--cs-space-xs);
	}

	.cs-global-footer__right {
		width: 100%;
		justify-content: flex-end;
	}
}

@media (max-width: 48rem) {
	.cs-brand-masthead__grid {
		--cs-compact-masthead-width: min(100%, 44rem);

		grid-template-columns:
			calc(var(--cs-compact-masthead-width) - 10rem - var(--cs-space-xs))
			10rem minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
		gap: 0 var(--cs-space-xs);
		justify-content: start;
		padding-block: var(--cs-space-l);
	}

	.cs-brand-masthead__copy {
		display: contents;
	}

	.cs-brand-masthead__eyebrow {
		grid-row: 1;
		grid-column: 1 / -1;
		margin-block-end: 0.375rem;
	}

	.cs-brand-masthead h1 {
		grid-row: 2;
		grid-column: 1;
		align-self: center;
		font-size: clamp(0.95rem, 3.2vw, 1.2rem);
	}

	.cs-brand-masthead__claim {
		grid-row: 3;
		grid-column: 1;
		margin-block-start: 0.375rem;
	}

	.cs-brand-instrument-frame {
		grid-row: 2;
		grid-column: 2;
		align-self: center;
	}

	.cs-primary-nav--masthead {
		grid-row: 4;
		grid-column: 1 / -1;
		margin-block-start: 0.5rem;
	}
}

@media (max-width: 35rem) {
	.cs-brand-masthead__grid {
		grid-template-columns: minmax(0, 1fr) 4rem;
		column-gap: var(--cs-space-xs);
	}
}

@media (max-width: 24.99rem) {
	.cs-utility-bar {
		font-size: 0.625rem;
		letter-spacing: 0.08em;
	}

	.cs-utility-bar__context > :last-child {
		max-width: none;
		min-width: 0;
		line-height: 1.2;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.cs-brand-masthead h1 {
		font-size: clamp(0.875rem, 4.7vw, 1rem);
	}
	.cs-primary-nav--masthead a,
	.cs-primary-nav--masthead .cs-primary-nav__disabled {
		padding-inline: 0.375rem;
		letter-spacing: 0.08em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cs-brand-masthead,
	.cs-brand-masthead::before,
	.cs-brand-masthead::after {
		background-attachment: initial;
		animation: none;
	}
}

/* stylelint-enable */

/* stylelint-disable selector-class-pattern -- Shared BEM component names. */

/* Compact pages keep the home identity in the shared utility bar. */
.cs-utility-bar__context--brand {
	max-width: none;
}

.cs-utility-bar .cs-section-masthead__identity {
	min-height: 2.75rem;
	font-size: clamp(0.5rem, 1.7vw, 0.8125rem);
	letter-spacing: 0.055em;
}

.cs-utility-bar .cs-section-masthead__home > .cs-section-masthead__tooltip {
	white-space: normal;
}

@media (max-width: 64rem) {

	.cs-utility-bar .cs-section-masthead__signet {
		width: 1.25rem;
		height: 1.25rem;
	}
}

/* Stack groups only when their actual navigation container is too narrow. */
@container cs-primary-navigation (max-width: 15rem) {

	.cs-primary-nav--masthead .cs-primary-nav__list--level-0 {
		grid-template-columns: minmax(0, 1fr);
	}

	.cs-primary-nav--masthead
		.cs-primary-nav__item--level-0
		+ .cs-primary-nav__item--level-0 {
		border-block-start: 1px solid var(--cs-color-line);
		border-inline-start: 0;
	}
}

/* Keep the complete utility identity usable at extreme narrow/zoom widths. */
@media (max-width: 20rem) {

	.cs-utility-bar .cs-section-masthead__identity {
		gap: 0.25rem;
	}

	.cs-utility-bar .cs-section-masthead__brand {
		flex-wrap: wrap;
		white-space: normal;
	}
}

/* One compact mobile menu owns area, service and language navigation. */
.cs-mobile-navigation {
	display: none;
}

@media (max-width: 850px) {

	.cs-section-masthead,
	.cs-brand-masthead .cs-primary-nav--masthead {
		display: none;
	}

	.cs-utility-bar__inner {
		flex-wrap: wrap;
	}

	.cs-utility-bar[data-cs-menu-ready] .cs-utility-bar__inner {
		flex-wrap: nowrap;
	}

	.cs-utility-bar__actions {
		inset-inline: auto 0;
		width: max-content;
		max-width: 100%;
		max-height: min(35rem, calc(100dvh - 5rem));
		gap: 0.25rem;
		padding: 0.5rem 10px;
		overflow-y: auto;
		overscroll-behavior: contain;
		border-radius: 0.375rem;
		background: var(--cs-color-surface);
		box-shadow: 0 1rem 2rem rgb(0 0 0 / 45%);
	}

	.cs-utility-bar__actions:not([data-cs-menu-ready]) {
		position: static;
		order: 3;
		flex: 1 1 100%;
		max-height: none;
		margin-block-start: var(--cs-space-xs);
	}

	.cs-mobile-navigation {
		display: block;
	}

	.cs-utility-bar .cs-utility-links a {
		min-height: 2.75rem;
		padding-inline: 0.5rem;
		border: 0;
		font: 500 0.875rem/1.35 var(--cs-font-body);
		letter-spacing: normal;
		text-transform: none;
	}

	.cs-utility-bar .cs-primary-nav--menu {
		container-type: normal;
		width: 100%;
		margin: 0;
		border: 0;
		background: transparent;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__list--level-0 {
		display: grid;
		grid-template-columns: minmax(max-content, 1fr);
		gap: 0.375rem;
		align-items: start;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__item--level-0 {
		margin: 0;
		border: 0;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__group {
		height: auto;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__group-label {
		min-height: 1rem;
		justify-content: flex-start;
		margin: 0 0 0.125rem;
		padding: 0;
		font-size: 0.75rem;
		cursor: default;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__group-label::after {
		content: none;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__list--level-1 {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		border: 0;
	}


	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__item--level-1 {
		flex: 0 0 auto;
	}

	.cs-site .cs-utility-bar .cs-primary-nav--menu a:any-link,
	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__disabled {
		min-height: 2.75rem;
		justify-content: flex-start;
		padding: 0.25rem 0.5rem;
		border-radius: 0.25rem;
		font: 500 clamp(0.8125rem, 4.3vw, 0.9375rem)/1.35 var(--cs-font-body);
		letter-spacing: normal;
		text-align: start;
		text-transform: none;
		white-space: nowrap;
		box-shadow: none;
	}

	.cs-site.cs-site .cs-utility-bar .cs-primary-nav--menu a:is(:hover, :focus-visible),
	.cs-site.cs-site .cs-utility-bar .cs-primary-nav--menu a[aria-current="page"] {
		color: var(--cs-area-accent);
		background: color-mix(in srgb, var(--cs-area-accent) 10%, transparent);
		box-shadow: inset 2px 0 var(--cs-area-accent);
	}

	.cs-utility-bar .cs-utility-links li[data-cs-state="coming_soon"] {
		display: none;
	}

	.cs-utility-bar .cs-utility-links ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 var(--cs-space-m);
		padding-block: 0 0.25rem;
		border-block-start: 0;
		border-block-end: 1px solid var(--cs-color-line);
	}


	.cs-utility-bar .cs-language-switcher {
		margin-block-start: 0;
	}


	.cs-site button.cs-utility-bar__toggle,
	.cs-site button.cs-utility-bar__search-toggle {
		border-color: transparent;
		background: transparent;
	}

	.cs-site button.cs-utility-bar__toggle:is(:hover, :focus),
	.cs-site button.cs-utility-bar__search-toggle:is(:hover, :focus) {
		background: transparent;
		box-shadow: none;
		color: var(--cs-area-accent);
		filter: drop-shadow(
			0 0 0.375rem
				color-mix(in srgb, var(--cs-area-accent) 65%, transparent)
		);
	}

	.cs-utility-bar__toggle-lines {
		position: relative;
	}

	.cs-utility-bar__toggle-lines::before,
	.cs-utility-bar__toggle-lines::after {
		position: absolute;
		inset-block-start: 0;
		inset-inline-start: 0;
	}

	.cs-utility-bar__toggle-lines::after {
		transform: translateY(0.375rem);
	}

	.cs-utility-bar__toggle[aria-expanded="true"] .cs-utility-bar__toggle-lines::before {
		transform: rotate(45deg);
	}

	.cs-utility-bar__toggle[aria-expanded="true"] .cs-utility-bar__toggle-lines::after {
		transform: rotate(-45deg);
	}

	.cs-site button.cs-utility-bar__toggle:focus-visible,
	.cs-site button.cs-utility-bar__search-toggle:focus-visible {
		outline-color: var(--cs-area-accent);
		outline-offset: -0.25rem;
	}

	.cs-utility-bar__search-toggle svg {
		width: 1.125rem;
		height: 1.125rem;
	}
}

/* Shared navigation contract: desktop rows and one mobile burger. */
.cs-desktop-utility {
	display: contents;
}

.cs-mobile-utility {
	display: none;
}

@media (min-width: 851px) {

	.cs-site .cs-section-masthead__inner {
		padding-block-end: 15px;
	}

	.cs-brand-masthead__copy {
		align-self: start;
	}

	.cs-primary-nav--masthead {
		translate: 0 15px;
		width: min(44rem, calc(100vw - var(--cs-shell-inset-start) - var(--cs-shell-inset-end)));
		max-width: none;
		margin-block-start: calc(1rem + 15px);
	}

	.cs-site .cs-section-masthead .cs-primary-nav--masthead {
		margin-block-start: 15px;
	}

	.cs-primary-nav--masthead .cs-primary-nav__list--level-0 {
		grid-template-columns: minmax(max-content, 1fr) minmax(max-content, 1fr);
	}

	.cs-primary-nav--masthead .cs-primary-nav__list--level-1 {
		display: flex;
		flex-wrap: nowrap;
	}

	.cs-primary-nav--masthead .cs-primary-nav__item--level-1 {
		flex: 1 1 auto;
	}

	.cs-primary-nav--masthead :is(a, .cs-primary-nav__disabled, .cs-primary-nav__label) {
		white-space: nowrap;
	}
}

@media (max-width: 850px) {

	.cs-utility-bar .cs-section-masthead__identity {
		translate: 0 5px;
		gap: 0.375rem;
		font-size: clamp(0.5625rem, 2.75vw, 0.8125rem);
	}

	.cs-utility-bar .cs-section-masthead__signet {
		width: clamp(1.5rem, 6.5vw, 1.75rem);
		height: clamp(1.5rem, 6.5vw, 1.75rem);
	}

	.cs-utility-bar .cs-section-masthead__brand {
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.cs-desktop-utility {
		display: none;
	}

	.cs-mobile-utility {
		display: flex;
		flex-direction: column;
		gap: 0.25rem;
	}

	.cs-mobile-utility__row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.25rem;
	}

	.cs-mobile-utility__row .cs-utility-links ul {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
		padding: 0;
		border: 0;
	}

	.cs-mobile-utility__row .cs-utility-links li,
	.cs-mobile-utility__row .cs-utility-links a {
		width: auto;
		flex: 0 0 auto;
	}

	.cs-mobile-utility__row .cs-utility-links a {
		padding-inline: 0.5rem;
	}

	.cs-mobile-utility__row .cs-language-switcher {
		flex: 0 0 auto;
		margin: 0;
		margin-inline-start: auto;
		border: 0;
	}

	.cs-mobile-utility .cs-utility-links--areas:not(:has(li:not([data-cs-state="coming_soon"]))) {
		display: none;
	}

	.cs-mobile-utility .cs-utility-links--areas ul {
		padding-block: 0.25rem 0;
		border-block-start: 1px solid var(--cs-color-line);
		border-block-end: 0;
	}

	.cs-utility-bar .cs-primary-nav--menu.cs-primary-nav--mobile-deferred {
		display: block;
	}

	.cs-utility-bar .cs-primary-nav--menu .cs-primary-nav__item--mobile-deferred {
		display: block;
	}

	.cs-site .cs-utility-bar .cs-primary-nav--menu [role="tooltip"] {
		inset-inline-start: 0;
		inset-inline-end: auto;
		max-width: 10rem;
	}

	.cs-site .cs-utility-bar .cs-primary-nav--menu li:last-child [role="tooltip"] {
		inset-inline-start: auto;
		inset-inline-end: 0;
	}

	.cs-mobile-utility__row .cs-utility-links li + li,
	.cs-primary-nav--menu .cs-primary-nav__item--level-1 + .cs-primary-nav__item--level-1 {
		position: relative;
	}

	.cs-mobile-utility__row .cs-utility-links li + li::before,
	.cs-primary-nav--menu .cs-primary-nav__item--level-1 + .cs-primary-nav__item--level-1::before {
		position: absolute;
		inset-block: 0.9rem;
		inset-inline-start: -0.5px;
		width: 1px;
		background: var(--cs-color-line);
		content: "";
		pointer-events: none;
	}

	.cs-mobile-navigation {
		padding-block-start: 0.25rem;
		border-block-start: 1px solid var(--cs-color-line);
	}
}
