/* Site-wide typography and header/footer polish — 2026-10-30. */
:root {
	--ub-type-ink: #08303a;
	--ub-type-teal: #007a91;
	--ub-type-sand: #f5f1ec;
	--ub-type-container: 1240px;
}

body {
	font-size: 17px;
}

.ub-header-shell > .ub-header-inner {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--ub-type-container);
	min-height: 88px;
	padding-inline: 24px;
	width: 100%;
}

.ub-header-shell .ub-primary-nav {
	font-size: 0.92rem;
}

.ub-header-shell .ub-header-cta .wp-block-button__link {
	font-size: 0.92rem;
	line-height: 1.2;
	padding: 0.9rem 1.35rem;
}

body:not(.home) main .wp-block-post-title {
	font-size: clamp(2.75rem, 4.5vw, 3.75rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
}

body:not(.home) main h1:not(.wp-block-post-title, .ub-links-kicker) {
	font-size: clamp(2.6rem, 4.2vw, 3.5rem);
	letter-spacing: -0.04em;
	line-height: 1.06;
}

body:not(.home) main h2 {
	font-size: clamp(1.9rem, 3vw, 2.65rem);
	letter-spacing: -0.025em;
	line-height: 1.12;
}

body:not(.home) main h3 {
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	line-height: 1.2;
}

body:not(.home) main :where(p, li) {
	line-height: 1.7;
}

/* These pages already introduce themselves in their designed content. */
body.page-id-44 main > .wp-block-post-title,
body.page-id-108 main > .wp-block-post-title {
	display: none;
}

.ub-footer {
	background: var(--ub-type-sand);
	color: var(--ub-type-ink);
}

.ub-footer :where(h2, h3, a) {
	color: var(--ub-type-ink);
}

.ub-footer .wp-block-site-logo img {
	filter: none !important;
}

.ub-footer h3.has-large-font-size {
	font-size: 1.2rem !important;
}

.ub-footer p,
.ub-footer li {
	font-size: 0.94rem;
	line-height: 1.65;
}

@media (max-width: 1080px) {
	.ub-header-shell > .ub-header-inner {
		min-height: 78px;
	}
}

@media (max-width: 700px) {
	body {
		font-size: 16px;
	}

	.ub-header-shell > .ub-header-inner {
		min-height: 72px;
		padding-inline: 18px;
	}

	.ub-header-shell .wp-block-site-logo img {
		max-width: 168px;
	}

	body:not(.home) main .wp-block-post-title {
		font-size: clamp(2.15rem, 10vw, 2.75rem);
	}

	body:not(.home) main h1:not(.wp-block-post-title, .ub-links-kicker) {
		font-size: clamp(2rem, 9vw, 2.55rem);
	}

	body:not(.home) main h2 {
		font-size: clamp(1.65rem, 7.5vw, 2.15rem);
	}

	body:not(.home) main h3 {
		font-size: clamp(1.2rem, 5.5vw, 1.5rem);
	}

	.ub-footer .wp-block-site-logo img {
		max-width: 210px;
	}
}
