/* ════════════════════════════════════════════════════════════════════
   EIS · Brand Tokens v5.2 — Forge Spectrum
   ──────────────────────────────────────────────────────────────────── */

@import url('https://api.fontshare.com/v2/css?f[]=general-sans@200,300,400,500,600,700,800&f[]=gambarino@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* ─── Forge Spectrum — palette ─── */
  --forge-black: #1A1A1A;
  --carbon:      #2E2E2E;
  --carbon-2:    #3A3A3A;

  --forge-white: #FAFAF8;
  --white-2:     #F0EEE9;
  --cloud:       #F5F4F0;

  /* Hero accent */
  --kiln:        #CF5C5C;
  --kiln-dark:   #B84A4A;
  --kiln-light:  #E3887A;
  --kiln-soft:   rgba(207, 92, 92, 0.10);
  --kiln-press:  #5A2519;

  /* Forge Spectrum supports */
  --flux:        #4F5BD5;
  --crucible:    #FFBE0B;
  --arc:         #8B5CF6;
  --temper:      #2D9CDB;
  --ember:       #E84393;
  --verdigris:   #27AE60;
  --signal:      #E53E3E;

  /* Ink scale */
  --ink-1: #1A1A1A;
  --ink-2: #1E3454;
  --ink-3: #4A5B73;
  --ink-4: #7B8EA3;
  --ink-5: #B0BCCA;

  --line-1: #2E2E2E;
  --line-2: #DDD8D0;
  --line-3: #EAE6DF;

  /* Legacy aliases */
  --navy:        var(--forge-black);
  --bone:        var(--forge-white);
  --bone-2:      var(--white-2);
  --oxide:       var(--kiln);
  --oxide-2:     var(--kiln-dark);
  --oxide-soft:  var(--kiln-soft);
  --oxide-press: var(--kiln-press);
  --mocha:       var(--ember);
  --sand:        var(--crucible);
  --amber:       var(--crucible);
  --slate:       var(--flux);
  --iron:        var(--temper);
  --crimson:     var(--signal);

  /* Semantic roles */
  --background:        var(--forge-white);
  --foreground:        var(--forge-black);
  --surface:           var(--cloud);
  --overlay:           rgba(26,26,26,0.5);

  --accent:            var(--kiln);
  --accent-hover:      var(--kiln-dark);
  --accent-soft:       var(--kiln-soft);
  --accent-foreground: var(--forge-white);

  --default:              var(--white-2);
  --default-foreground:   var(--forge-black);
  --muted:                var(--ink-4);
  --border:               var(--line-2);
  --input:                var(--white-2);
  --ring:                 var(--kiln);

  --success:              var(--verdigris);
  --success-foreground:   var(--forge-white);
  --warning:              var(--crucible);
  --warning-foreground:   var(--forge-black);
  --info:                 var(--flux);
  --info-foreground:      var(--forge-white);
  --danger:               var(--signal);
  --danger-foreground:    var(--forge-white);

  /* ─── Typography ─── */
  --font-sans:    'General Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Gambarino', 'General Sans', serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* Fluid type scale */
  --type-4xl:  clamp(2.5rem, 5vw + 1rem, 5rem);
  --type-3xl:  clamp(2rem, 4vw + 0.5rem, 4rem);
  --type-2xl:  clamp(1.75rem, 3vw + 0.5rem, 3rem);
  --type-xl:   clamp(1.5rem, 2.5vw + 0.5rem, 2.5rem);
  --type-lg:   clamp(1.375rem, 2vw + 0.25rem, 2rem);
  --type-md:   1.5rem;
  --type-base: 1rem;
  --type-sm:   0.875rem;
  --type-xs:   0.75rem;
  --type-2xs:  0.625rem;

  /* Fixed type scale */
  --t-11: 11px;  --t-12: 12px;  --t-13: 13px;  --t-14: 14px;  --t-15: 15px;
  --t-16: 16px;  --t-18: 18px;  --t-20: 20px;  --t-24: 24px;  --t-28: 28px;
  --t-32: 32px;  --t-40: 40px;  --t-48: 48px;  --t-56: 56px;  --t-64: 64px;
  --t-80: 80px;  --t-96: 96px;  --t-120: 120px; --t-160: 160px;

  /* Hero / display sizes (used as inline clamps in many sections) */
  --t-hero:    clamp(68px, 8.2vw, 132px);
  --t-display: clamp(56px, 7vw, 128px);
  --t-h2-lg:   clamp(48px, 5.4vw, 88px);
  --t-h2-md:   clamp(44px, 5vw, 76px);
  --t-h2-sm:   clamp(36px, 4vw, 56px);

  /* Leading */
  --leading-tight:    1.1;
  --leading-snug:     1.25;
  --leading-normal:   1.5;
  --leading-relaxed:  1.6;
  --leading-loose:    1.75;

  /* Tracking */
  --tracking-tight:      -0.035em;
  --tracking-snug:       -0.02em;
  --tracking-normal:     0em;
  --tracking-wide:       0.02em;
  --tracking-caps:       0.08em;
  --tracking-descriptor: 0.42em;
  --tracking-wordmark:   -0.035em;

  /* Measure */
  --measure-narrow: 45ch;
  --measure-body:   65ch;
  --measure-wide:   80ch;

  /* ─── Spacing — 8pt base ─── */
  --s-1:  8px;   --s-2: 16px;  --s-3: 24px;  --s-4: 32px;  --s-5: 40px;
  --s-6: 48px;   --s-7: 56px;  --s-8: 64px;  --s-9: 72px;  --s-10: 80px;
  --s-12: 96px;  --s-16: 128px; --s-20: 160px; --s-24: 192px;

  /* ─── Layout ─── */
  --container-narrow: 1080px;
  --container-base:   1280px;
  --container-wide:   1440px;
  --gutter:           48px;
  --gutter-mobile:    20px;

  /* ─── Radii ─── */
  --r-xs: 2px;
  --r-sm: 3px;
  --r-md: 6px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-2xl: 22.37%;
  --r-full: 999px;

  /* ─── Shadows ─── */
  --shadow-1: 0 1px 2px rgba(26,26,26,.04), 0 2px 8px rgba(26,26,26,.04);
  --shadow-2: 0 8px 24px rgba(26,26,26,.08), 0 24px 48px rgba(26,26,26,.06);
  --shadow-3: 0 24px 64px rgba(26,26,26,0.12);
  --shadow-card-hover: 0 30px 60px rgba(26,26,26,0.15);

  /* ─── Motion — "forge ease" ─── */
  --ease-forge: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-fast: 120ms;
  --dur-med:  180ms;
  --dur-slow: 280ms;
  --dur-reveal: 900ms;

  /* ─── Header heights ─── */
  --announce-h: 40px;
  --nav-h: 68px;
  --header-h: calc(var(--announce-h) + var(--nav-h));
}
