:root {
	--font-serif: 'Source Serif 4', 'Source Serif 4 Placeholder', serif;
	--color-heading: #1A1A1A;
	--color-text: #1A1A1AB3;
	--color-bg-light: #F4F0EA;
	--color-bg-dark: #111111;
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2.5rem;
	--space-6: 4rem;
	--space-7: 6rem;
	--space-8: 8rem;
	--container-max: 1200px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	border-radius: 0 !important;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--font-serif);
	color: var(--color-text);
	background-color: var(--color-bg-light);
	line-height: 1.6;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-family: var(--font-serif);
	color: var(--color-heading);
	font-weight: 500;
	line-height: 1.1;
}

h1 {
	font-size: 4.5rem;
	line-height: 1.05;
	font-weight: 400;
}

h2 {
	font-size: 3.25rem;
	line-height: 1.08;
}

h3 {
	font-size: 2rem;
	line-height: 1.15;
}

h4 {
	font-size: 1.5rem;
	line-height: 1.2;
}

h5,
h6 {
	font-size: 1.125rem;
	line-height: 1.3;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.eyebrow {
	display: block;
	margin: 0;
	font-family: var(--font-serif);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-text);
	line-height: 1.4;
}

.js-reveal {
	opacity: 0;
	filter: blur(8px);
	transform: translateY(20px);
	transition:
		opacity 0.8s ease,
		filter 0.8s ease,
		transform 0.8s ease;
}

.js-reveal.is-visible {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
}

@media (scripting: none) {
	.js-reveal {
		opacity: 1;
		filter: none;
		transform: none;
		transition: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.js-reveal {
		opacity: 1;
		filter: none;
		transform: none;
		transition: none;
	}
}
