/* Design Tokens — Single source of truth for color, type, spacing, motion */
:root {
  /* Colors */
  --c-primary:        #0A1F3D;   /* Deep Navy */
  --c-primary-soft:   #0F2547;   /* Card surface on dark */
  --c-accent:         #14B8A6;   /* Medical Teal — CTA + highlights */
  --c-accent-hover:   #0F9889;
  --c-bg:             #FAFAF7;   /* Warm off-white */
  --c-bg-soft:        #F2F3F0;   /* Subtle alt */
  --c-text:           #0A0E1A;
  --c-text-body:      #3D4859;
  --c-text-muted:     #6B7385;
  --c-text-on-dark:   #E8ECEF;
  --c-text-on-dark-muted: #9AA3B0;
  --c-border:         #E5E7EC;
  --c-border-dark:    rgba(255,255,255,0.08);
  --c-success:        #14B8A6;
  --c-warn:           #F59E0B;
  --c-error:          #DC2626;

  /* Typography */
  --ff-heading: 'Geist', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --ff-body:    'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --ff-mono:    'Geist Mono', 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* Type scale (fluid) */
  --fs-xs:   0.8125rem;                    /* 13 */
  --fs-sm:   0.875rem;                     /* 14 */
  --fs-base: 1rem;                         /* 16 */
  --fs-md:   1.125rem;                     /* 18 */
  --fs-lg:   1.25rem;                      /* 20 */
  --fs-xl:   clamp(1.375rem, 1.2rem + 0.5vw, 1.625rem);
  --fs-2xl:  clamp(1.625rem, 1.4rem + 1vw, 2.125rem);
  --fs-3xl:  clamp(2rem, 1.6rem + 2vw, 3rem);
  --fs-4xl:  clamp(2.5rem, 2rem + 3vw, 4rem);
  --fs-5xl:  clamp(3rem, 2.4rem + 4vw, 5rem);

  /* Line height */
  --lh-tight: 1.1;
  --lh-snug:  1.25;
  --lh-base:  1.6;
  --lh-loose: 1.75;

  /* Spacing scale */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  20px;
  --sp-6:  24px;
  --sp-8:  32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --sp-32: 128px;

  /* Layout */
  --container-max: 1200px;
  --container-px:  clamp(20px, 4vw, 40px);
  --section-py:    clamp(64px, 8vw, 128px);

  /* Radius */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(10,31,61,.06);
  --shadow-md: 0 6px 24px -8px rgba(10,31,61,.12), 0 2px 6px rgba(10,31,61,.06);
  --shadow-lg: 0 24px 48px -12px rgba(10,31,61,.18), 0 8px 16px rgba(10,31,61,.08);
  --shadow-glow: 0 0 0 3px rgba(20,184,166,.18);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --t-fast: 150ms;
  --t-base: 250ms;
  --t-slow: 400ms;

  /* z-index scale */
  --z-nav: 50;
  --z-modal: 100;
}
