/* Shared brand type system. Font files are enqueued by inc/assets.php. */
:root {
	--serif: "DM Serif Display", Georgia, "Times New Roman", serif;
	--sans: "Inter", Arial, Helvetica, sans-serif;
	--sv-sans: "Inter", Arial, Helvetica, sans-serif;
}

/* Never manufacture italic or bold faces when only the requested webfont face exists. */
html {
	font-synthesis: none;
}

/* The existing wordmark remains deliberately independent from editorial headings. */
.sv-mark {
	font-family: Georgia, "Times New Roman", serif;
}

/* Home Hero: two equal lines, one real typeface and one real font face. */
.sv-hero .sv-hero-title {
	max-width: min(590px, 100%);
	margin: 0;
	color: var(--ink);
	font-family: var(--serif);
	font-size: clamp(58px, 5.2vw, 76px);
	font-style: normal;
	font-weight: 400;
	line-height: 0.96;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.sv-hero .sv-hero-title > span {
	display: block;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	/* The individual line may wrap inside its grid column on narrower desktops. */
	white-space: normal;
}

/* Keep the main editorial H2s on the actual DM Serif Display 400 face too. */
.sv-section h2,
.sv-capabilities h2,
.sv-process h2,
.sv-client-types h2,
.sv-faq h2,
.sv-inquiry h2,
.sv-home-custom-cta h2 {
	font-family: var(--serif);
	font-style: normal;
	font-weight: 400;
}

.sv-section h2 em,
.sv-capabilities h2 em,
.sv-process h2 em,
.sv-client-types h2 em,
.sv-faq h2 em,
.sv-inquiry h2 em,
.sv-home-custom-cta h2 em {
	font-family: inherit;
	font-style: normal;
	font-weight: inherit;
	letter-spacing: inherit;
}

@media (min-width: 761px) and (max-width: 1080px) {
	.sv-hero .sv-hero-title {
		max-width: 100%;
		font-size: clamp(50px, 5.2vw, 60px);
		letter-spacing: -0.028em;
	}
}

@media (max-width: 760px) {
	.sv-hero .sv-hero-title {
		font-size: clamp(42px, 11.5vw, 56px);
		line-height: 0.98;
		letter-spacing: -0.02em;
		text-wrap: pretty;
	}

	.sv-hero .sv-hero-title > span {
		white-space: normal;
		word-break: normal;
		overflow-wrap: normal;
		hyphens: none;
	}
}
