:root {
	--primary: #6d28d9;
	--primary-dark: #5b21b6;
	--primary-light: #a78bfa;
	--black: #0f0f0f;
	--gray-900: #1a1a1a;
	--gray-800: #2d2d2d;
	--gray-700: #404040;
	--gray-600: #525252;
	--gray-500: #737373;
	--gray-400: #a3a3a3;
	--gray-300: #d4d4d4;
	--gray-200: #e5e5e5;
	--gray-100: #f5f5f5;
	--white: #ffffff;
	--font-serif: "Playfair Display", serif;
	--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { 
	margin: 0; 
	padding: 0; 
	box-sizing: border-box; 
}

body {
	font-family: var(--font-sans);
	color: var(--gray-900);
	background: var(--white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 2rem;
}

h1, h2, h3, h4, h5, h6 { 
	font-family: var(--font-serif); 
	font-weight: 700; 
	line-height: 1.2; 
	color: var(--black); 
}

h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: 1.5rem; }

/* Section Headers */
.section-header {
	text-align: center;
	margin-bottom: 3.5rem;
	position: relative;
	z-index: 1;
}

.section-header .badge { 
	margin-bottom: 1.5rem; 
}

.section-header h2 { 
	margin-bottom: 1rem;
	color: var(--black);
}

.section-header p { 
	color: var(--gray-600);
	font-size: 1.125rem;
	max-width: 600px;
	margin: 0 auto 2.5rem;
}

@media (max-width: 768px) {
	.container { 
		padding: 0 1.5rem; 
	}
}

@media (max-width: 480px) {
	.container {
		padding: 0 1rem;
	}
}
