/* Site-wide foundation — single source of truth for layout, type, tokens.
 * Loaded FIRST on every page to eliminate CLS between navigations.
 * Page-specific overrides may follow in subsequent stylesheets or inline.
 *
 * Stellar-style: all design decisions live as CSS custom properties on :root.
 */

:root {
	/* Color palette */
	--navy: #1a1f36;
	--navy-light: #2d3352;
	--slate: #4a5568;
	--gray: #616e7c;
	--light: #f7fafc;
	--white: #ffffff;
	--gold: #c9a227;
	--gold-light: #f6e9c3;
	--green: #1e7a45;
	--green-bg: #e6ffef;
	--border: #e2e8f0;

	/* Layout */
	--container-max: 1100px;
	--container-px: 1.5rem;

	/* Type */
	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'system-ui', sans-serif;
	--font-serif: 'DM Serif Display', Georgia, serif;
	--font-mono: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;

	--text-base: 16px;
	--leading-body: 1.6;
	--leading-tight: 1.2;

	/* Shadows */
	--shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
	--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

	/* Header height — used to reserve sticky header space */
	--header-h: 64px;
}

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

html {
	font-size: var(--text-base);
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-sans);
	color: var(--navy);
	background: var(--white);
	line-height: var(--leading-body);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: var(--leading-tight);
	color: var(--navy);
}

a {
	color: var(--navy);
	text-decoration: none;
	transition: color 0.2s;
}

a:hover { color: var(--gold); }

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

/* Locked layout container — same on every page → no CLS between navigations */
.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--container-px);
}

/* Reserve sticky header space so first paint doesn't jump */
body { padding-top: 0; }
.site-header { min-height: var(--header-h); }
