:root {
	--color-bg: #FFFBF5;
	--color-bg-alt: #FDF4E7;
	--color-neutral-light: #EEF0F5;
	--color-border: #DDE1EA;
	--color-navy: #2D3A55;
	--color-navy-dark: #1B2438;
	--color-text-muted: #4B5670;
	--color-coral: #FF6B57;
	--color-coral-hover: #E85A47;
	--color-turquoise: #2BB3A3;
	--color-yellow: #FFC93C;

	--font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.375rem;
	--text-2xl: 1.75rem;
	--text-3xl: 2.25rem;
	--text-4xl: 2.75rem;

	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4rem;
	--space-9: 6rem;

	--radius-sm: 14px;
	--radius-lg: 26px;

	--shadow-sm: 0 2px 8px rgba(45, 58, 85, 0.06);
	--shadow-md: 0 8px 24px rgba(45, 58, 85, 0.10);
	--shadow-lg: 0 16px 40px rgba(45, 58, 85, 0.14);

	--container-width: 1200px;
	--container-width-wide: 1400px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-navy);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--space-4);
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-navy);
}

h1 {
	font-size: var(--text-3xl);
}

h2 {
	font-size: var(--text-2xl);
}

h3 {
	font-size: var(--text-xl);
}

@media (min-width: 1024px) {
	h1 {
		font-size: var(--text-4xl);
	}

	h2 {
		font-size: var(--text-3xl);
	}
}

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

p:last-child {
	margin-bottom: 0;
}

.eyebrow {
	display: block;
	margin-bottom: var(--space-3);
	font-size: var(--text-sm);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-navy-dark);
}

.text-muted {
	color: var(--color-text-muted);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
}

button,
input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
}

:focus-visible {
	outline: 2px solid var(--color-navy-dark);
	outline-offset: 2px;
}
