/**
 * Sets Inventif Codex's type hierarchy and shared text patterns.
 *
 * Display type is reserved for emotional hierarchy; mono labels carry the
 * production-system flavour without competing with the work itself.
 */

body {
	min-width: 20rem;
	background: var(--inv-ink);
	color: var(--inv-text);
	font-family: var(--inv-font-body);
	font-size: 1rem;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3 {
	font-family: var(--inv-font-display);
	/* Cabinet Grotesk carries its own personality at Extrabold; it needs less
	   negative tracking than Jost did or its quirky terminals collide. */
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1;
	text-wrap: balance;
}

h1 {
	font-size: clamp(2.9rem, 6.3vw, 6.75rem);
	line-height: 1;
}

h2 {
	font-size: clamp(2.4rem, 4.8vw, 5.25rem);
	line-height: 1.05;
}

h3 {
	font-size: clamp(1.5rem, 2.2vw, 2.35rem);
	line-height: 1.12;
}

p {
	max-width: 42rem;
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: var(--inv-space-xs);
	color: var(--inv-muted);
	font-family: var(--inv-font-mono);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.3;
	text-transform: uppercase;
}

.eyebrow::before,
.hero__eyebrow span {
	width: 1.75rem;
	height: 0.125rem;
	background: var(--inv-signal);
	content: "";
}

.eyebrow--light {
	color: var(--inv-muted-inv);
}

.section-heading {
	display: grid;
	gap: var(--inv-space-lg);
}

.section-heading__intro {
	align-self: end;
	color: var(--inv-muted);
	font-size: clamp(1rem, 1.25vw, 1.25rem);
}

@media (min-width: 52rem) {
	.section-heading--split {
		grid-template-columns: minmax(0, 1.05fr) minmax(17rem, 0.62fr);
		align-items: end;
	}
}
