/* FinMile design tokens — source of truth: norbs-os knowledge/brand.md (official decks).
   Indigo-on-lavender, light-first. Lime is a SPARING accent only:
   (a) max one headline underline flick per page, (b) simulator "delivered" payoff,
   (c) one small delta chip. Never button fill / background / icon colour. */

:root {
  /* colour */
  --indigo: #4A25E0;
  --indigo-deep: #33199C;
  --ink: #0D0A2B;
  --bg: #F3F2FC;
  --surface: #FFFFFF;
  --lilac: #E8E6FB;
  --lavender: #C9C2F2;
  --lime: #C7F24A;
  --success: #37C26A;
  --error: #E5484D;
  /* warn = "at risk, being resolved" (hero exception story). NOT --error:
     red stays the failure colour (simulator, dashboard alerts). */
  --warn: #F97316;
  --warn-deep: #C2410C;   /* warn text on white — 4.9:1 */
  --warn-bg: #FFF7F0;
  --warn-16: rgba(249, 115, 22, .16);

  --indigo-08: rgba(74, 37, 224, .08);
  --indigo-16: rgba(74, 37, 224, .16);
  --ink-80: rgba(13, 10, 43, .80);
  --ink-60: rgba(13, 10, 43, .60);
  --ink-40: rgba(13, 10, 43, .40);
  --ink-border: rgba(13, 10, 43, .08);

  /* type */
  --font-display: 'Sora', 'Sora Fallback', 'Avenir Next', 'Helvetica Neue', system-ui, sans-serif;
  --font-body: 'Inter', 'Inter Fallback', -apple-system, 'Segoe UI', system-ui, sans-serif;

  --fs-display: clamp(2.6rem, 5.5vw, 4.25rem);
  --fs-h1: clamp(2.2rem, 4.5vw, 3.25rem);
  --fs-h2: clamp(1.8rem, 3.2vw, 2.5rem);
  --fs-h3: clamp(1.25rem, 2vw, 1.5rem);
  --fs-body: 1.0625rem;
  --fs-small: 0.9375rem;
  --fs-eyebrow: 0.8125rem;
  --fs-stat: clamp(2.75rem, 6vw, 4.5rem);

  /* space */
  --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px;  --sp-7: 48px;  --sp-8: 64px;
  --sp-9: 80px; --sp-10: 96px; --sp-11: 112px; --sp-12: 128px;
  --section-pad: clamp(4rem, 9vw, 7.5rem);
  --container: 1200px;
  --gutter: clamp(1.25rem, 4vw, 3rem);

  /* radius */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  /* elevation (indigo-tinted, soft) */
  --shadow-rest: 0 1px 2px rgba(13, 10, 43, .05);
  --shadow-raised: 0 8px 24px rgba(13, 10, 43, .08);
  --shadow-hover: 0 16px 40px rgba(74, 37, 224, .12);

  /* motion */
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --dur-fast: .2s;
  --dur-med: .4s;
}

/* Dark ("ink") section context — apply .theme-ink to a <section> */
.theme-ink {
  --section-bg: var(--ink);
  --text: #F3F2FC;
  --text-60: rgba(243, 242, 252, .66);
  --text-40: rgba(243, 242, 252, .45);
  --card-bg: rgba(255, 255, 255, .06);
  --card-border: rgba(255, 255, 255, .12);
  --chip-bg: rgba(255, 255, 255, .10);
  --chip-fg: #F3F2FC;
  --hl: var(--lavender);
  background: var(--section-bg);
  color: var(--text);
}

/* Light (default) context */
:root, .theme-light {
  --section-bg: var(--bg);
  --text: var(--ink);
  --text-60: var(--ink-60);
  --text-40: var(--ink-40);
  --card-bg: var(--surface);
  --card-border: var(--ink-border);
  --chip-bg: var(--lilac);
  --chip-fg: var(--indigo);
  --hl: var(--indigo);
}
