.cms-nav {
	gap: 18px;
}

.cms-nav ul {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cms-nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cms-nav li a {
	display: block;
	white-space: nowrap;
}

.cms-nav li.current > a,
.cms-nav li.active > a,
.cms-nav li.currentpath > a {
	text-decoration: underline;
	text-decoration-color: var(--signal);
	text-decoration-thickness: 3px;
	text-underline-offset: 7px;
}

.text-page {
	width: min(960px, calc(100% - 48px));
}

.text-page > p:first-of-type {
	max-width: 760px;
	font-size: 1.12rem;
	color: var(--ink);
}

/* The supplied headings are intentionally long; keep them authoritative, not oversized. */
body .home-intro h1 {
	max-width: 980px;
	font-size: clamp(2.75rem, 5.3vw, 5.2rem);
	line-height: 0.98;
}

body .editorial-hero h1 {
	font-size: clamp(2.55rem, 4.6vw, 4.35rem);
	line-height: 1;
}

@media (max-width: 1050px) {
	.cms-nav ul {
		gap: 16px;
	}
}

@media (max-width: 900px) {
	.header-inner {
		flex-wrap: wrap;
		padding: 14px 0;
	}

	.cms-nav {
		width: 100%;
		justify-content: flex-start;
		overflow-x: auto;
		padding: 3px 0 6px;
		scrollbar-width: thin;
	}

	.cms-nav ul {
		flex: 0 0 auto;
	}

	.cms-nav a:not(.nav-contact) {
		display: block;
	}

	.cms-nav .nav-contact {
		flex: 0 0 auto;
	}
}

@media (max-width: 620px) {
	.cms-nav {
		gap: 14px;
	}

	.cms-nav ul {
		gap: 14px;
	}

	.cms-nav .nav-contact {
		display: none;
	}
}
