/**
 * Pulse — canonical design tokens
 * Source of truth: pulse-business-ai/brand/brand.css
 * Consumers sync this file via scripts/sync-brand-tokens.sh
 * Do NOT edit in downstream repos — edit here, then re-sync.
 */

:root {
  /* Navy — dark surfaces */
  --pulse-navy-950: #060B16;
  --pulse-navy-900: #0B1426;
  --pulse-navy-800: #111D33;
  --pulse-navy-700: #162544;
  --pulse-navy-600: #1E3158;

  /* Blue — primary brand (cool / corporate) */
  --pulse-blue-500: #3574D4;
  --pulse-blue-400: #5E9DE8;
  --pulse-blue-300: #60A5FA;
  --pulse-blue-200: #93C5FD;
  --pulse-blue-100: #DBEAFE;

  /* Amber — accent brand (warm / action) */
  --pulse-amber-600: #B45309;
  --pulse-amber-500: #D97706;
  --pulse-amber-400: #F59E0B;
  --pulse-amber-300: #FCD34D;
  --pulse-amber-200: #FDE68A;
  --pulse-amber-100: #FEF3C7;

  /* Neutrals */
  --pulse-slate-500: #64748B;
  --pulse-slate-400: #94A3B8;
  --pulse-slate-300: #CBD5E1;
  --pulse-slate-200: #E2E8F0;
  --pulse-slate-100: #F1F5F9;
  --pulse-slate-50:  #F8FAFC;
  --pulse-white:     #FFFFFF;

  /* Functional */
  --pulse-success: #22C55E;
  --pulse-warning: var(--pulse-amber-400);
  --pulse-danger:  #EF4444;

  /* Typography */
  --pulse-font-display: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif;
  --pulse-font-body:    "Outfit", system-ui, sans-serif;
  --pulse-font-mono:    "JetBrains Mono", ui-monospace, monospace;


  /* ============================================================
     MERIDIAN — website-family marketing palette (decided 2026-08-25)
     Scope: the PUBLIC WEBSITE family (pulse-website). The Portal
     product UI keeps the navy/blue system above; do not migrate
     product surfaces without a separate decision.
     ACCESSIBILITY (WCAG 2.2 AA, computed 2026-08-25):
       ink on paper           = 18.7:1  (PASSES AAA)
       cobalt-500 text on paper = 5.0:1 (PASSES AA)
       white on cobalt-500 fill = 5.1:1 (PASSES AA)
       slate text on paper    = 6.1:1  (PASSES AA)
     Hairline is a border color, never a text color. */
  --pulse-m-paper:    #FCFCFD;
  --pulse-m-ink:      #0E0F12;
  --pulse-m-cobalt-500: #2E5CFF;
  --pulse-m-cobalt-600: #1F46D1;  /* hover */
  --pulse-m-hairline: #E5E7EB;
  --pulse-m-slate:    #5B616E;

  /* Meridian typography (website family) */
  --pulse-m-font-display: "Gabarito", system-ui, sans-serif;         /* 800 display */
  --pulse-m-font-body:    "Instrument Sans", system-ui, sans-serif;  /* 400-600 body */
  --pulse-m-font-mono:    "Geist Mono", ui-monospace, monospace;     /* states, timestamps */

  /* Motion */
  --pulse-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --pulse-ease-spring:   cubic-bezier(0.34, 1.56, 0.64, 1);
  --pulse-duration-fast:   150ms;
  --pulse-duration-normal: 300ms;
  --pulse-duration-slow:   500ms;

  /* Brand background — identity surfaces only
     Blue at top · amber at bottom · navy base.
     Do NOT use behind dashboards or dense UI. */
  --pulse-brand-bg:
    radial-gradient(ellipse 80% 55% at 50% -5%,  rgba(53,116,212,0.36) 0%, transparent 60%),
    radial-gradient(ellipse 90% 55% at 50% 105%, rgba(217,119,6,0.55)  0%, transparent 65%),
    radial-gradient(ellipse 55% 30% at 50% 95%,  rgba(245,158,11,0.35) 0%, transparent 55%),
    var(--pulse-navy-900);

  /* Component gradients */
  --pulse-primary-gradient: linear-gradient(135deg, var(--pulse-blue-500),  var(--pulse-blue-400));
  --pulse-action-gradient:  linear-gradient(135deg, var(--pulse-amber-500), var(--pulse-amber-400));
}

/* Utility: brand surface class */
.pulse-brand-surface {
  background: var(--pulse-brand-bg);
  color: var(--pulse-white);
  font-family: var(--pulse-font-body);
}

/* Utility: compact logo lockup base styles */
.pulse-lockup {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  color: inherit;
}

.pulse-wordmark {
  font-family: var(--pulse-font-display);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: inherit;
}

.pulse-tagline {
  font-family: var(--pulse-font-body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--pulse-blue-400);
  text-transform: uppercase;
}
