/* ==========================================================================
   ANVIXA.ai — design tokens
   Own brand system: navy, blue, purple, slate. Replaces the inherited
   Alan Scott ink/gold/cream palette; nothing warm remains.

   Contrast, measured against the ground each colour is actually used on:
     --ax-accent      on white  4.06  large text and UI fills only
     --ax-accent      on ink    4.55  passes for body text on dark
     --ax-accent-deep on white  7.36  the blue for small text on light
     --ax-accent-alt  on white 10.65  strong
     --ax-accent-alt  on ink    1.74  NEVER on dark, gradients aside
   ========================================================================== */

:root {
  /* --- Brand core --- */
  --ax-ink:            #07122F;
  --ax-ink-dark:       #050D22;
  --ax-navy-panel:     #16233F;
  --ax-navy-deep:      #060E24;

  --ax-accent:         #1984C7;
  --ax-accent-light:   #4FA9DE;
  /* The blue that carries small text on light grounds. */
  --ax-accent-deep:    #115A8A;
  /* Purple: light grounds and gradients only, it disappears on navy. */
  --ax-accent-alt:     #6C176B;
  --ax-slate:          #687795;

  --ax-brand-gradient: linear-gradient(115deg, #1984C7 0%, #3E5BB0 55%, #6C176B 100%);

  --ax-mist:           #F1F5F9;
  --ax-stone-soft:     #E8EEF5;
  --ax-hairline:       #DCE3EC;
  --ax-hairline-cool:  #DDE3EA;

  --ax-white:          #FFFFFF;
  --ax-offwhite:       #FAFAFA;

  /* --- Neutral ramp --- */
  --ax-n-10: #F4F7FA;
  --ax-n-20: #E5EBF2;
  --ax-n-30: #C9D3E0;
  --ax-n-40: #687795;
  --ax-n-50: #5C6B85;
  --ax-n-60: #414E68;
  --ax-n-70: #26314C;

  /* --- Semantic --- */
  --ax-text:           var(--ax-ink);
  --ax-text-muted:     var(--ax-n-50);
  --ax-text-on-dark:   #EAF0F8;
  --ax-text-on-dark-muted: #9BAAC4;
  --ax-bg:             var(--ax-white);
  --ax-bg-alt:         var(--ax-mist);
  --ax-border:         var(--ax-hairline-cool);
  --ax-border-warm:    var(--ax-hairline);

  --ax-positive:       #1F7A55;
  --ax-positive-soft:  #E8F4EE;
  --ax-warn:           #B4531B;
  --ax-warn-soft:      #FBEFE6;
  --ax-danger:         #A32C2C;
  --ax-danger-soft:    #FBECEC;

  /* --- Type --- */
  --ax-font-display: 'Sora', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ax-font-body:    'IBM Plex Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ax-font-mono:    'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* --- Layout --- */
  --ax-container: 1280px;
  --ax-container-wide: 1360px;
  --ax-container-narrow: 820px;
  --ax-gutter: 24px;
  --ax-section-y: 96px;
  --ax-section-y-sm: 64px;

  /* --- Radius --- */
  --ax-r-sm:   8px;
  --ax-r-md:   12px;
  --ax-r-lg:   16px;
  --ax-r-xl:   22px;
  --ax-r-2xl:  28px;
  --ax-r-pill: 9999px;

  /* --- Elevation --- */
  --ax-shadow-sm: 0 1px 2px rgba(7, 18, 47, .05), 0 1px 3px rgba(7, 18, 47, .04);
  --ax-shadow-md: 0 2px 6px rgba(7, 18, 47, .06), 0 8px 20px rgba(7, 18, 47, .06);
  --ax-shadow-lg: 0 4px 12px rgba(7, 18, 47, .07), 0 18px 44px rgba(7, 18, 47, .10);
  --ax-shadow-accent: 0 10px 30px rgba(25, 132, 199, .22);

  /* --- Motion --- */
  --ax-ease: cubic-bezier(.22, .61, .36, 1);
  --ax-dur: 240ms;
}

@media (max-width: 900px) {
  :root {
    --ax-section-y: 64px;
    --ax-section-y-sm: 48px;
    --ax-gutter: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --ax-dur: 1ms; }
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
}
