/* ============================================================
   CallD.AI — Design Tokens
   Palette anchored to logo gradient: #00B2AF → #006462
   ============================================================ */

:root {
  /* ── Brand Colours — anchored to logo teal ── */
  --c-cream:          #F4F1EC;
  --c-cream-warm:     #FAF6F0;
  --c-cream-cool:     #EEF0EF;
  --c-green:          #2ba39e;       /* primary brand teal */
  --c-green-dark:     #2ba39e;       /* primary brand teal */
  --c-green-light:    #2ba39e;       /* primary brand teal */
  --c-teal:           #2ba39e;       /* primary brand teal — primary accent */
  --c-teal-muted:     #2ba39e;       /* primary brand teal */
  --c-ink:            #0C1614;
  --c-ink-soft:       #162220;
  --c-body:           #354340;
  --c-muted:          #627370;
  --c-white:          #FFFFFF;
  --c-border:         #D4D0CA;
  --c-border-subtle:  rgba(43, 163, 158, 0.08);
  --c-dark:           #0C1614;
  --c-warm-bg:        #FAF6F0;
  --c-overlay:        rgba(12, 22, 20, 0.65);

  /* Accent colours — complementary to teal */
  --c-blue:           #4E8FE0;       /* cool blue, analogous */
  --c-purple:         #8B6EC7;       /* cool purple, split-complement */
  --c-warm:           #E8943A;       /* warm amber, complement */
  --c-coral:          #E06450;       /* warm coral, complement */
  --c-success:        #2ba39e;       /* matches primary teal */
  --c-warning:        #E8943A;       /* warm amber */
  --c-error:          #D94545;

  /* ── Typography ── */
  --f-serif:  'Plus Jakarta Sans', sans-serif;
  --f-sans:   'Plus Jakarta Sans', sans-serif;
  --f-mono:   'IBM Plex Mono', 'SFMono-Regular', 'Fira Code', monospace;

  /* Font sizes — fluid scale */
  --fs-xs:    clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);      /* ~12px */
  --fs-sm:    clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);      /* ~14px */
  --fs-base:  clamp(0.938rem, 0.875rem + 0.3vw, 1.0625rem);   /* ~16-17px */
  --fs-md:    clamp(1.05rem, 0.95rem + 0.5vw, 1.25rem);       /* ~18-20px */
  --fs-lg:    clamp(1.25rem, 1.1rem + 0.75vw, 1.625rem);      /* ~22-26px */
  --fs-xl:    clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);         /* ~28-36px */
  --fs-2xl:   clamp(2rem, 1.5rem + 2.5vw, 3.25rem);           /* ~36-52px */
  --fs-3xl:   clamp(2.5rem, 1.75rem + 3.75vw, 4.5rem);        /* ~44-72px */
  --fs-hero:  clamp(2.75rem, 2rem + 4vw, 5.5rem);             /* ~48-88px */

  /* Line heights */
  --lh-tight:   1.15;
  --lh-heading: 1.2;
  --lh-snug:    1.35;
  --lh-body:    1.7;
  --lh-relaxed: 1.85;

  /* Font weights */
  --fw-regular:   400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;

  /* Letter spacing */
  --ls-tight:    -0.02em;
  --ls-normal:    0;
  --ls-wide:      0.04em;
  --ls-caps:      0.08em;

  /* ── Spacing scale (rem) ── */
  --sp-0:   0;
  --sp-1:   0.25rem;      /* 4px */
  --sp-2:   0.5rem;       /* 8px */
  --sp-3:   0.75rem;      /* 12px */
  --sp-4:   1rem;         /* 16px */
  --sp-5:   1.25rem;      /* 20px */
  --sp-6:   1.5rem;       /* 24px */
  --sp-8:   2rem;         /* 32px */
  --sp-10:  2.5rem;       /* 40px */
  --sp-12:  3rem;         /* 48px */
  --sp-16:  4rem;         /* 64px */
  --sp-20:  5rem;         /* 80px */
  --sp-24:  6rem;         /* 96px */
  --sp-32:  8rem;         /* 128px */

  /* ── Layout ── */
  --max-w:         1240px;
  --max-w-narrow:  720px;
  --max-w-wide:    1440px;
  --content-pad:   clamp(1rem, 4vw, 2rem);
  --section-pad:   clamp(4rem, 10vw, 8rem);

  /* ── Border Radius ── */
  --r-sm:    6px;
  --r-md:    10px;
  --r-lg:    16px;
  --r-xl:    24px;
  --r-2xl:   32px;
  --r-full:  9999px;

  /* ── Shadows ── */
  --shadow-xs:    0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-sm:    0 2px 8px rgba(0, 0, 0, 0.05);
  --shadow-md:    0 4px 20px rgba(0, 0, 0, 0.08);
  --shadow-lg:    0 12px 40px rgba(0, 0, 0, 0.10);
  --shadow-xl:    0 20px 60px rgba(0, 0, 0, 0.14);
  --shadow-card:  0 18px 50px rgba(18, 32, 54, 0.10);
  --shadow-nav:   0 2px 20px rgba(0, 0, 0, 0.06);
  --shadow-glow:  0 0 40px rgba(43, 163, 158, 0.15);

  /* ── Transitions ── */
  --ease:            cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out:        cubic-bezier(0, 0, 0.2, 1);
  --ease-in:         cubic-bezier(0.4, 0, 1, 1);
  --ease-bounce:     cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition:      0.3s var(--ease);
  --transition-fast: 0.15s var(--ease);
  --transition-slow: 0.5s var(--ease);

  /* ── Z-index layers ── */
  --z-base:     1;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
}
