/* ==========================================================================
   Swift Labor and Sanitation Services — Design Tokens
   Single source of truth for color, type, spacing. Edit here first.
   ========================================================================== */

:root {
  /* ---- Color ---- */
  --c-primary: #5B1A8E;
  --c-primary-dark: #3D0F68;
  --c-accent: #D81B7D;
  --c-accent-bright: #FF4FB2;
  --c-ink: #0F0A1A;
  --c-ink-2: #1A1225;
  --c-muted: #6B6374;
  --c-muted-dark: #9A8FA8;
  --c-surface: #FAF7FF;
  --c-surface-2: #F2ECFA;
  --c-line: #E8E1F0;
  --c-line-dark: #2A1F3A;
  --c-white: #FFFFFF;

  /* Gradients */
  --grad-brand: linear-gradient(135deg, #5B1A8E 0%, #D81B7D 100%);
  --grad-brand-soft: linear-gradient(135deg, rgba(91,26,142,0.12) 0%, rgba(216,27,125,0.12) 100%);
  --grad-hero: radial-gradient(ellipse 80% 60% at 20% 20%, #5B1A8E 0%, #1A0A2E 55%, #0F0A1A 100%);
  --grad-cta: linear-gradient(135deg, #3D0F68 0%, #5B1A8E 45%, #D81B7D 100%);

  /* ---- Typography ---- */
  --font-display: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Fluid type scale (clamp: min, preferred, max) */
  --fs-hero: clamp(2.6rem, 5.2vw + 1rem, 5.75rem);  /* ~42–92px */
  --fs-h1: clamp(2.2rem, 3.6vw + 1rem, 4rem);       /* ~35–64px */
  --fs-h2: clamp(1.75rem, 2.2vw + 1rem, 3rem);      /* ~28–48px */
  --fs-h3: clamp(1.25rem, 0.8vw + 1rem, 1.6rem);    /* ~20–26px */
  --fs-lead: clamp(1.05rem, 0.35vw + 1rem, 1.25rem); /* ~17–20px */
  --fs-body: 1.0625rem;     /* 17px */
  --fs-sm: 0.9375rem;       /* 15px */
  --fs-xs: 0.8125rem;       /* 13px */
  --fs-meta: 0.75rem;       /* 12px, uppercase eyebrow */

  --lh-display: 1.04;
  --lh-tight: 1.15;
  --lh-body: 1.6;

  /* ---- Spacing ---- */
  --space-1: 0.25rem;   --space-2: 0.5rem;    --space-3: 0.75rem;
  --space-4: 1rem;      --space-5: 1.5rem;    --space-6: 2rem;
  --space-7: 3rem;      --space-8: 4rem;      --space-9: 6rem;
  --space-10: 8rem;

  --container: 1240px;
  --container-narrow: 960px;
  --gutter: clamp(1.25rem, 3.5vw, 2.5rem);

  /* ---- Radius ---- */
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 32px;
  --r-pill: 999px;

  /* ---- Shadow ---- */
  --shadow-sm: 0 1px 2px rgba(15,10,26,0.06), 0 1px 1px rgba(15,10,26,0.04);
  --shadow-md: 0 8px 24px rgba(15,10,26,0.10), 0 2px 6px rgba(15,10,26,0.05);
  --shadow-lg: 0 24px 64px rgba(15,10,26,0.16), 0 6px 18px rgba(15,10,26,0.08);
  --shadow-glow: 0 0 0 3px rgba(216,27,125,0.25), 0 12px 32px rgba(216,27,125,0.22);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast: 180ms;
  --t-med: 320ms;
  --t-slow: 560ms;

  /* ---- Layout ---- */
  --header-h: 72px;
  --z-drawer: 100;
  --z-header: 200;
  --z-modal: 300;
}
