body,
button,
input,
textarea,
select {
	font-family: var(--viva-font);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.7em;
	color: var(--viva-color-text);
	font-family: var(--viva-font);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

h1 { font-size: clamp(2.5rem, 10vw, 4.75rem); font-weight: 800; }
h2 { font-size: clamp(1.9rem, 7vw, 3.3rem); }
h3 { font-size: clamp(1.45rem, 5vw, 2.25rem); }
h4 { font-size: clamp(1.2rem, 4vw, 1.6rem); }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

p {
	margin: 0 0 1.2em;
	color: var(--viva-color-text-secondary);
}

.viva-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 1rem;
	color: var(--viva-color-gold-soft);
	font-size: var(--viva-fs-sm);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.viva-eyebrow::before {
	content: "";
	width: 28px;
	height: 1px;
	background: currentColor;
}

.viva-lead {
	font-size: clamp(1.05rem, 3.5vw, 1.25rem);
	line-height: 2;
	color: var(--viva-color-text-secondary);
}

.viva-price {
	color: var(--viva-color-gold-soft);
	font-weight: 700;
	white-space: nowrap;
}

.viva-meta {
	color: var(--viva-color-text-muted);
	font-size: var(--viva-fs-sm);
}

.viva-prose {
	width: min(100%, var(--viva-content));
}

.viva-prose a {
	color: var(--viva-color-gold-soft);
}
