/*
 * Design tokens. Every colour used anywhere in the theme comes from here.
 * No hardcoded hex lives outside this file.
 *
 * Verified contrast against --jet-900 (#08080A, L = 0.00247):
 *   --silver-100  17.6:1  body text            (target ~18:1)  PASS AA/AAA
 *   --silver-500   6.14:1 meta / captions      (target ~5.9:1) PASS AA
 *   --burgundy-600 1.97:1 fill only, never text (target ~1.9)  FAILS as text (by design)
 *   --burgundy-300 4.22:1 rules / large text    (target ~4.2)  PASS AA large / non-text
 */

:root {
	/* Canvas: jet black as a three-step elevation ramp. */
	--jet-900: #08080A; /* page canvas */
	--jet-800: #0E0E11; /* raised surface, cards, drawer */
	--jet-700: #16161A; /* hover surface, input fields */

	/* Silver: a neutral grey ramp, not a metallic effect. */
	--silver-100: #F2F0ED; /* primary text, warm off-white */
	--silver-300: #C7C7CC; /* emphasis text, active nav */
	--silver-500: #8E8E93; /* meta text, credits, captions */
	--silver-700: #3A3A3E; /* hairlines, borders, dividers */

	/* Burgundy: accent only. Budget: under 2% of visible pixels. */
	--burgundy-600: #7B1E31; /* fill only. Never text. Never a wide background. */
	--burgundy-400: #A8324A; /* hover fill */
	--burgundy-300: #C4485C; /* rules, underlines, focus ring, large text (>=24px) only */

	/* Typography. */
	--font-display: "Bodoni Moda", "Didot", "Times New Roman", serif;
	--font-body: "Archivo", -apple-system, "Segoe UI", sans-serif;
	/* Helvetica, on purpose, for the store notice. Arial is metrically equal. */
	--font-utility: Helvetica, "Helvetica Neue", "Nimbus Sans", Arial, sans-serif;

	/* The front-page clock is the one place type is allowed to get this big. */
	--clock-size: clamp(3.25rem, 13vw, 10.5rem);
	--clock-cell: 0.58em;

	/* Fluid type scale, 1.25 ratio. */
	--step--2: clamp(0.69rem, 0.67rem + 0.10vw, 0.75rem); /* credits, eyebrows */
	--step--1: clamp(0.83rem, 0.80rem + 0.15vw, 0.90rem); /* meta, captions */
	--step-0:  clamp(1.00rem, 0.95rem + 0.25vw, 1.13rem); /* body */
	--step-1:  clamp(1.25rem, 1.16rem + 0.44vw, 1.56rem); /* lead paragraph */
	--step-2:  clamp(1.56rem, 1.41rem + 0.75vw, 2.16rem); /* section headings */
	--step-3:  clamp(1.95rem, 1.70rem + 1.24vw, 3.00rem); /* project titles */
	--step-4:  clamp(2.44rem, 2.03rem + 2.05vw, 4.17rem); /* page titles, display */
	--step-5:  clamp(3.05rem, 2.40rem + 3.26vw, 5.79rem); /* hero, display */

	/* Spacing. */
	--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: 4.5rem;
	--space-9: 7rem;

	/* Radii and motion. */
	--radius: 0; /* squared corners throughout */
	--dur-fast: 180ms;
	--dur-slow: 320ms;
	--ease: cubic-bezier(0.2, 0, 0, 1);

	/* Layout. */
	--measure: 68ch;
	--wrap: 1200px;
	--wrap-wide: 1600px;
}
