/* ==========================================================================
   SEGAL — Design Tokens
   Single source of truth for color, type, spacing, motion.
   ========================================================================== */

:root {
  /* ---- Color: brand ---- */
  --color-navy: #0F1E4D;
  --color-navy-rgb: 15, 30, 77;
  --color-orange: #F26A1B;
  --color-orange-rgb: 242, 106, 27;
  --color-signage-blue: #1B4FD8;
  --color-signage-blue-rgb: 27, 79, 216;

  /* ---- Color: neutrals ---- */
  --color-concrete: #F3F1EC;
  --color-steel: #2A2E38;
  --color-asphalt: #0A1230;
  --color-white: #FFFFFF;
  --color-steel-rgb: 42, 46, 56;

  /* ---- Color: derived / utility ---- */
  --color-border-light: rgba(42, 46, 56, 0.12);
  --color-border-on-dark: rgba(255, 255, 255, 0.16);
  --color-text-body: var(--color-steel);
  --color-text-muted: rgba(42, 46, 56, 0.64);
  --color-text-on-dark: rgba(255, 255, 255, 0.92);
  --color-text-on-dark-muted: rgba(255, 255, 255, 0.62);

  /* ---- Typography ---- */
  --font-display: 'Big Shoulders Display', 'Arial Narrow', sans-serif;
  --font-body: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;

  /* Fluid type scale */
  --fs-display-xl: clamp(2.75rem, 2rem + 3.2vw, 5.5rem);
  --fs-display-lg: clamp(2.25rem, 1.7rem + 2.4vw, 4rem);
  --fs-display-md: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
  --fs-display-sm: clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem);
  --fs-body-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-body-sm: 0.9375rem;
  --fs-mono-label: 0.8125rem;
  --fs-mono-xs: 0.75rem;

  --lh-tight: 1.05;
  --lh-snug: 1.25;
  --lh-body: 1.6;

  --ls-tight: -0.01em;
  --ls-label: 0.14em;
  --ls-wide: 0.06em;

  /* ---- Spacing scale (rem-based, fluid where useful) ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: clamp(3rem, 2.4rem + 2.5vw, 5rem);
  --space-3xl: clamp(4rem, 3rem + 4vw, 7rem);
  --space-section: clamp(4.5rem, 3.5rem + 4vw, 8rem);

  /* ---- Layout ---- */
  --container-max: 1280px;
  --container-padding: clamp(1.25rem, 4vw, 3rem);
  --nav-height: 88px;
  --nav-height-scrolled: 68px;

  /* ---- Border / structure ---- */
  --radius-none: 0;
  --border-width: 1px;
  --border-width-md: 2px;

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 180ms;
  --duration-base: 420ms;
  --duration-slow: 650ms;
  --reveal-distance: 18px;

  /* ---- Z-index scale ---- */
  --z-nav: 100;
  --z-mobile-nav: 110;
  --z-skip-link: 200;
}
