/* ==========================================================================
   tokens.css
   Single source of truth for design tokens.
   Mirrors :root from design-source/design-system.html — values must match.
   See: tokens.md at the project root.
   ========================================================================== */

:root{
	/* ── primary ──────────────────────────────── */
	--navy:        #1B3A5C;
	--navy-deep:   #0F2438;
	--charcoal:    #1A1A1A;
	--ink:         #2B2B2B;

	/* ── neutrals (warm) ──────────────────────── */
	--ivory:       #F5F2EC;
	--bone:        #EDE8DE;
	--stone:       #D8D2C4;

	/* ── accents (rare) ───────────────────────── */
	--gold:        #C8A35C;
	--electric:    #3D7BC4;

	/* ── semantic ─────────────────────────────── */
	--success:     #4A7C59;
	--error:       #A14545;

	/* ── type stacks ──────────────────────────── */
	--f-display:   "Inter", "Neue Haas Grotesk Display", system-ui, sans-serif;
	--f-body:      "Inter", system-ui, sans-serif;
	--f-edit:      "Fraunces", "Times New Roman", serif;
	--f-mono:      "JetBrains Mono", ui-monospace, monospace;

	/* ── spacing (8px base) ───────────────────── */
	--s-1: 8px; --s-2: 16px; --s-3: 24px; --s-4: 32px;
	--s-5: 48px; --s-6: 64px; --s-7: 96px; --s-8: 128px;
	--s-9: 160px; --s-10: 240px;

	/* ── layout ──────────────────────────────── */
	--max: 1440px;
	--pad: clamp(24px, 6vw, 96px); /* fluid horizontal page padding (home/about/services/contact) */
}
