/* ==========================================================================
   ACE - Design tokens
   Breakpoints (raw values for media queries): 641px / 1025px / 1441px
   ========================================================================== */

:root {
	/* Brand palette */
	--ace-ivory: #F6F3EC;
	--ace-paper: #FFFFFF;
	--ace-ink: #0B1220;
	--ace-navy: #0E1C36;
	--ace-navy-deep: #081226;
	--ace-mist: #E3E9F1;
	--ace-steel: #6F8BB3;
	--ace-gold: #B08D57;
	--ace-gold-soft: #CDB48A;

	/* Semantic colors */
	--bg: var(--ace-ivory);
	--text: var(--ace-ink);
	--text-secondary: #5B6577;
	--text-inverse: #F6F3EC;
	--text-inverse-muted: rgba(246, 243, 236, 0.68);
	--border: rgba(11, 18, 32, 0.12);
	--border-strong: rgba(11, 18, 32, 0.28);
	--border-inverse: rgba(255, 255, 255, 0.16);
	--overlay: linear-gradient(100deg, rgba(8, 18, 38, 0.86) 0%, rgba(8, 18, 38, 0.55) 45%, rgba(8, 18, 38, 0.2) 100%);

	/* Type */
	--font-display: "Newsreader", "Times New Roman", Georgia, serif;
	--font-body: "Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;

	--fs-hero: clamp(3rem, 1.6rem + 5.6vw, 7rem);
	--fs-h1: clamp(2.6rem, 1.6rem + 4vw, 5.25rem);
	--fs-h2: clamp(2.1rem, 1.5rem + 2.4vw, 3.75rem);
	--fs-h3: clamp(1.45rem, 1.2rem + 0.9vw, 2rem);
	--fs-h4: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
	--fs-statement: clamp(1.75rem, 1.2rem + 2.2vw, 3.25rem);
	--fs-lead: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
	--fs-body: 1.0625rem;
	--fs-small: 0.9375rem;
	--fs-xs: 0.8125rem;
	--fs-eyebrow: 0.75rem;

	--lh-tight: 1.06;
	--lh-heading: 1.12;
	--lh-body: 1.65;
	--tracking-display: -0.02em;
	--tracking-eyebrow: 0.18em;

	/* Spacing (8px scale) */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2rem;
	--space-6: 3rem;
	--space-7: 4rem;
	--space-8: 6rem;
	--space-9: 8rem;
	--space-10: 10rem;

	/* Layout */
	--container: 1320px;
	--container-narrow: 880px;
	--gutter: clamp(1.25rem, 4vw, 3rem);
	--section-pad: clamp(5rem, 11vw, 10rem);
	--header-h: 84px;

	/* Shape */
	--radius: 0;
	--hairline: 1px solid var(--border);
	--hairline-inverse: 1px solid var(--border-inverse);

	/* Motion */
	--ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
	--dur-fast: 300ms;
	--dur-base: 600ms;
	--dur-slow: 1000ms;

	/* Layers */
	--z-header: 100;
	--z-menu: 200;
	--z-progress: 150;
	--z-preloader: 1000;
}
