/* ============================================================================
   American Companies — design tokens. Single source of truth. Components consume
   the SEMANTIC tokens, never the primitives. Tuned for a serious, restrained,
   corporate look: near-monochrome chrome, hairline borders, tight radii, flat
   elevation, refined weights. Saturated color is rationed to earned trust badges.
   ============================================================================ */
:root{

	/* ---------- PRIMITIVES : INK / NAVY (institution / authority) ---------- */
	--ac-ink-900:#0b1622;    /* near-black headline ink + default action */
	--ac-navy-900:#071a2f;
	--ac-navy-800:#0a2540;   /* canonical brand navy */
	--ac-navy-700:#13314f;
	--ac-navy-600:#1c3e60;
	--ac-navy-300:#5b7da6;

	/* ---------- PRIMITIVES : BLUE (link / focus ONLY — not UI chrome) ---------- */
	--ac-blue-700:#1f3a66;
	--ac-blue-600:#234a86;
	--ac-blue-500:#2a4d80;   /* link text */
	--ac-blue-100:#d6dfeb;
	--ac-blue-50:#eef2f7;

	/* ---------- PRIMITIVES : RED (rationed — one call per view) ---------- */
	--ac-red-700:#7e1d28;
	--ac-red-600:#9e2533;    /* muted brand red (was flag-bright #b22234) */
	--ac-red-50:#f7ecec;

	/* ---------- PRIMITIVES : NEUTRAL GRAY RAMP (cool, near-true-gray) ---------- */
	--ac-gray-900:#11161d;   /* ink */
	--ac-gray-700:#39414d;
	--ac-gray-600:#525a66;
	--ac-gray-500:#6b7280;   /* muted */
	--ac-gray-400:#9aa1ac;   /* faint / timestamps */
	--ac-gray-300:#c9ced6;   /* control border */
	--ac-gray-200:#e4e7ec;   /* hairline border */
	--ac-gray-150:#eceff3;   /* row hover / zebra */
	--ac-gray-100:#f2f4f7;   /* wash */
	--ac-gray-50:#f8f9fb;    /* canvas */
	--ac-white:#ffffff;

	/* ---------- PRIMITIVES : TRUST METALS (the only place saturated color lives) ---------- */
	--ac-gold-ink:#85692a;   --ac-gold-bg:#faf4e6;   --ac-gold-line:#e6d3a3;   --ac-gold-solid:#b8922f;
	--ac-silver-ink:#5a6470; --ac-silver-bg:#f2f4f7; --ac-silver-line:#d2d8e0; --ac-silver-solid:#94a0ae;
	--ac-bronze-ink:#80502f; --ac-bronze-bg:#f7efe8; --ac-bronze-line:#dfc3ac; --ac-bronze-solid:#a4683f;
	--ac-grad-gold:var(--ac-gold-solid);

	/* ---------- PRIMITIVES : SEMANTIC STATUS (muted) ---------- */
	--ac-success-ink:#15683a; --ac-success-bg:#eaf4ee; --ac-success-line:#bcdcc9; --ac-success-solid:#2f8a52;
	--ac-warn-ink:#8a5a12;    --ac-warn-bg:#f8f1e3;    --ac-warn-line:#e6d2a8;
	--ac-error-ink:#90242b;   --ac-error-bg:#f8ecec;   --ac-error-line:#e6c3c3;  --ac-error-solid:#b23039;

	/* ============================================================
	   SEMANTIC TOKENS — components use ONLY these.
	   ============================================================ */
	--ac-bg:var(--ac-gray-50);
	--ac-bg-wash:var(--ac-gray-100);
	--ac-surface:var(--ac-white);
	--ac-surface-inset:#f8f9fb;
	--ac-surface-invert:var(--ac-navy-800);

	--ac-text:var(--ac-gray-900);
	--ac-text-muted:var(--ac-gray-500);
	--ac-text-faint:var(--ac-gray-400);
	--ac-text-on-invert:#ffffff;
	--ac-text-on-invert-muted:#b6c2d2;
	--ac-text-link:var(--ac-blue-500);

	--ac-border:var(--ac-gray-200);
	--ac-border-strong:var(--ac-gray-300);
	--ac-border-focus:var(--ac-blue-500);

	--ac-brand:var(--ac-navy-800);
	--ac-brand-accent:var(--ac-navy-800);   /* chrome accent is navy, not blue */
	--ac-on-brand:#ffffff;
	--ac-cta:var(--ac-red-600);             /* the one rationed red call */
	--ac-cta-hover:var(--ac-red-700);
	--ac-on-cta:#ffffff;
	--ac-action:var(--ac-ink-900);          /* default interactive = near-black */
	--ac-action-hover:var(--ac-navy-800);
	--ac-on-action:#ffffff;

	/* One focus ring, everywhere — neutral, restrained. */
	--ac-ring:0 0 0 3px rgba(42,77,128,.22);
	--ac-ring-error:0 0 0 3px rgba(158,37,51,.22);

	/* ---------- TYPOGRAPHY ---------- */
	--ac-font-sans:'Inter var','Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	--ac-font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;

	/* Fluid scale (clamp: min ~360px → max ~1280px). Tightened for the dense,
	   elite look — headlines lead by hierarchy, not by bulk. */
	--ac-fs-display:clamp(2rem,1.45rem + 2.4vw,2.75rem);      /* 32→44 */
	--ac-fs-h1:clamp(1.5rem,1.2rem + 1.4vw,2rem);             /* 24→32 */
	--ac-fs-h2:clamp(1.25rem,1.05rem + 0.85vw,1.5rem);        /* 20→24 */
	--ac-fs-h3:clamp(1.0625rem,1rem + 0.3vw,1.1875rem);       /* 17→19 */
	--ac-fs-lg:1.0625rem;
	--ac-fs-base:1rem;
	--ac-fs-sm:0.875rem;
	--ac-fs-xs:0.8125rem;
	--ac-fs-2xs:0.6875rem;

	/* Weights dialed down — 700 is the new heaviest; black/800 retired. */
	--ac-fw-regular:400; --ac-fw-medium:500; --ac-fw-semibold:600; --ac-fw-bold:600; --ac-fw-black:700;
	--ac-lh-tight:1.15; --ac-lh-snug:1.3; --ac-lh-normal:1.5;
	--ac-ls-tight:-0.02em; --ac-ls-snug:-0.011em; --ac-ls-eyebrow:0.1em;

	/* ---------- SPACING (4 / 8 pt) ---------- */
	--ac-sp-1:4px; --ac-sp-2:8px; --ac-sp-3:12px; --ac-sp-4:16px; --ac-sp-5:20px;
	--ac-sp-6:24px; --ac-sp-8:32px; --ac-sp-10:40px; --ac-sp-12:48px; --ac-sp-16:64px; --ac-sp-20:80px;
	--ac-container:1180px;

	/* ---------- RADIUS (tight; cards 8, controls 4, chips 3) ---------- */
	--ac-r-xs:3px; --ac-r-sm:4px; --ac-r-md:6px; --ac-r-lg:8px; --ac-r-xl:8px; --ac-r-2xl:10px; --ac-r-pill:999px;

	/* ---------- ELEVATION (flat, neutral, border-led) ---------- */
	--ac-shadow-xs:0 1px 1px rgba(16,24,40,.03);
	--ac-shadow-sm:0 1px 2px rgba(16,24,40,.05);
	--ac-shadow-md:0 1px 3px rgba(16,24,40,.07),0 1px 2px rgba(16,24,40,.04);
	--ac-shadow-lg:0 4px 12px rgba(16,24,40,.08);
	--ac-shadow-xl:0 8px 28px rgba(16,24,40,.12);
	--ac-shadow-pop:0 6px 18px rgba(16,24,40,.10);
	--ac-shadow-inset-gold:inset 0 0 0 1px var(--ac-gold-line);

	/* ---------- MOTION (restrained) ---------- */
	--ac-ease:cubic-bezier(.2,.7,.2,1);
	--ac-ease-out:cubic-bezier(.16,1,.3,1);
	--ac-dur-fast:120ms; --ac-dur:180ms; --ac-dur-slow:320ms;
	--ac-motion-hover:background var(--ac-dur) var(--ac-ease),box-shadow var(--ac-dur) var(--ac-ease),border-color var(--ac-dur) var(--ac-ease);

	/* ---------- Z-INDEX ---------- */
	--ac-z-sticky:100; --ac-z-header:200; --ac-z-dropdown:300; --ac-z-overlay:400; --ac-z-modal:500; --ac-z-toast:600; --ac-z-tooltip:700;
}

/* Light-only: `only` is required to opt out of Chrome Auto-Dark force-darkening. */
html{color-scheme:only light}

/* Alpine: hide elements until Alpine initializes. */
[x-cloak]{display:none !important}

/* Honor reduced-motion globally. */
@media (prefers-reduced-motion:reduce){
	*{
		animation-duration:.001ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.001ms !important;
		scroll-behavior:auto !important;
	}
}
