/* Self-hosted brand fonts, reused as-is from the current theme (already licensed/working). */
@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter_18pt-Regular.woff2') format('woff2'),
		url('../fonts/Inter_18pt-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter_18pt-Medium.woff2') format('woff2'),
		url('../fonts/Inter_18pt-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter_18pt-SemiBold.woff2') format('woff2'),
		url('../fonts/Inter_18pt-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter_18pt-Bold.woff2') format('woff2'),
		url('../fonts/Inter_18pt-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
		url('../fonts/PlayfairDisplay-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/PlayfairDisplay-Medium.woff2') format('woff2'),
		url('../fonts/PlayfairDisplay-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/PlayfairDisplay-SemiBold.woff2') format('woff2'),
		url('../fonts/PlayfairDisplay-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/PlayfairDisplay-Bold.woff2') format('woff2'),
		url('../fonts/PlayfairDisplay-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--font-body: 'Inter', system-ui, sans-serif;
	--font-display: 'Playfair Display', Georgia, serif;
}

body {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.6;
}

h1, h2, h3, h4, .display {
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 var(--space-sm);
	color: var(--color-primary);
}

h1, .text-display { font-size: clamp(2.25rem, 4vw, 3.5rem); }
h2, .text-h1 { font-size: clamp(1.875rem, 3vw, 2.5rem); }
h3, .text-h2 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); }
h4, .text-h3 { font-size: 1.25rem; }

.text-h4 { font-size: 1.125rem; font-family: var(--font-body); font-weight: 600; }
.text-small { font-size: 0.875rem; }
.text-caption { font-size: 0.75rem; color: var(--color-muted); }
.text-button { font-size: 1rem; font-weight: 600; }
.text-label { font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }

p { margin: 0 0 var(--space-sm); }
