/* ============================================================
   ACTION LABS ;  design tokens (single source of truth)
   Identity: Action Labs ;  navy, electric blue, lime, and cool white.
   Approved AL symbol and palette from the current company deck.
   Do not hardcode colors elsewhere. Consume these variables only.
   ============================================================ */

:root {
  /* --- corporate surfaces --- */
  --bg:        #F1F3F6;   /* page canvas */
  --bg-1:      #EEF1FF;   /* elevated band / alternating section */
  --bg-2:      #FFFFFF;   /* cards, panels */
  --bg-3:      #F8F9FC;   /* insets, inputs, hover fills */
  --hero-neutral: #0D1524; /* clean neutral veil over live footage */

  /* --- ink --- */
  --fg:        #0D1524;   /* primary text */
  --fg-muted:  #495569;   /* secondary text */
  --fg-dim:    #495569;   /* tertiary / captions ;  ≥4.5:1 on canvas */

  /* --- hairlines --- */
  --line:      rgba(13,21,36,0.12);
  --line-2:    rgba(13,21,36,0.22);
  --line-3:    rgba(13,21,36,0.38);

  /* --- brand and signals --- */
  --brand:       #4157FD;   /* ownership / boundary / primary action */
  --brand-2:     #3044DC;   /* active and hover depth */
  --brand-ink:   #FFFFFF;   /* text on boundary blue */
  --brand-glow:  rgba(65,87,253,0.16);
  --brand-soft:  rgba(65,87,253,0.10);

  --signal:      #DEF04C;   /* live attention / selected state */
  --signal-ink:  #0D1524;
  --signal-soft: rgba(222,240,76,0.20);
  --signal-line: rgba(127,82,14,0.42);

  /* Existing component semantics continue through these aliases. */
  --act:       var(--brand);
  --act-2:     var(--brand-2);
  --act-ink:   var(--brand-ink);
  --act-glow:  var(--brand-glow);
  --act-soft:  var(--brand-soft);

  --see:       #3044DC;   /* perception / capture / scan */
  --see-ink:   #FFFFFF;
  --see-glow:  rgba(65,87,253,0.16);
  --see-soft:  rgba(65,87,253,0.10);

  --warm:      #7F520E;   /* cost / "expensive frontier" data series only */
  --warm-soft: rgba(127,82,14,0.12);
  --warm-line: rgba(127,82,14,0.42);
  --danger:    #A9342F;

  /* --- typography --- */
  --font-display: Arial, "Helvetica Neue", sans-serif;
  --font-body:    Arial, "Helvetica Neue", sans-serif;
  --font-mono:    ui-monospace, "SF Mono", Menlo, monospace;

  --fs-eyebrow: 0.875rem;
  --fs-mono-sm: 0.875rem;
  --fs-body:    1rem;
  --fs-lead:    var(--fs-body);
  --fs-h3:      var(--fs-body);
  --fs-h2:      clamp(1.75rem, 3vw, 2.5rem);
  --fs-h1:      clamp(2.5rem, 5vw, 4.5rem);

  --lh-tight:   1.03;
  --lh-snug:    1.18;
  --lh-body:    1.6;
  --tracking-display: -0.02em;
  --tracking-eyebrow: 0.2em;
  --stretch-display: normal;

  /* --- layout --- */
  --container: 1200px;
  --container-wide: 1320px;
  --gutter: clamp(20px, 5vw, 40px);
  --section-y: clamp(72px, 9vw, 128px);

  /* --- radius --- */
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-pill: 999px;

  /* --- elevation --- */
  --shadow-1: 0 8px 24px rgba(13,21,36,0.05);
  --shadow-2: 0 26px 70px rgba(13,21,36,0.18);
  --shadow-glow-act: 0 0 0 1px var(--act-soft), 0 12px 36px var(--act-glow);

  /* --- motion --- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-1: 0.18s;
  --dur-2: 0.35s;
  --dur-3: 0.6s;

  /* --- z --- */
  --z-nav: 100;
  --z-overlay: 60;
}
