/* =============================================================================
   DESIGN TOKENS — Phenome Technologies
   Source of truth for all colours, typography, spacing, and elevation.
   ============================================================================= */

:root {

  /* --------------------------------------------------------------------------
     Colour Palette
     -------------------------------------------------------------------------- */
  --color-dominant:       #0D1A45;   /* Navy — primary brand colour */
  --color-complementary:  #7574A1;   /* Muted purple */
  --color-accent:         #F4AD39;   /* Amber gold — CTAs, highlights */

  /* Tints / shades derived from palette */
  --color-dominant-light: #1F2C3B;
  --color-dominant-dark:  #080f28;
  --color-comp-light:     #9e9dc0;
  --color-comp-dark:      #504f7a;
  --color-accent-light:   #f7c569;
  --color-accent-dark:    #d4901e;

  /* Neutrals */
  --color-white:          #ffffff;
  --color-off-white:      #f8f8fc;
  --color-gray-100:       #f0f0f5;
  --color-gray-200:       #e0e0eb;
  --color-gray-300:       #c8c8d8;
  --color-gray-400:       #9090a8;
  --color-gray-600:       #5c5c74;
  --color-gray-800:       #2e2e3e;
  --color-black:          #0a0a12;

  /* Semantic aliases */
  --color-bg:             var(--color-off-white);
  --color-surface:        var(--color-white);
  --color-text-primary:   var(--color-gray-800);
  --color-text-secondary: var(--color-gray-600);
  --color-text-on-dark:   var(--color-white);
  --color-text-dark:      #1e1e1e;           /* Near-black body text in light contexts */
  --color-border:         var(--color-gray-200);

  /* Extended palette — named contexts */
  --color-error:         #c0392b;   /* Form validation error */
  --color-bg-light:      #dde5ed;   /* Light hero / panel backgrounds */
  --color-slate:         #38516b;   /* Story panel, minimal testimonial names */
  --color-surface-light: #f4f6f9;   /* Light text / surfaces on dark backgrounds */

  /* --------------------------------------------------------------------------
     Typography — Font Families
     -------------------------------------------------------------------------- */
  --font-heading:  'Inter', sans-serif;
  --font-body:     'Noto Sans Georgian', sans-serif;
  --font-display:  'Inria Serif', serif;    /* Elegant display / editorial headings */
  --font-alt:      'Inria Sans', sans-serif; /* Paired sans for display contexts */

  /* --------------------------------------------------------------------------
     Typography — Font Sizes
     -------------------------------------------------------------------------- */
  --fs-display1: 4.5rem;    /* 72px  — Display 1 */
  --fs-h1:       3.5rem;    /* 56px  — Heading 1 */
  --fs-h2:       3rem;      /* 48px  — Heading 2 */
  --fs-h3:       2rem;      /* 32px  — Heading 3 */
  --fs-h4:       1.5rem;    /* 24px  — Heading 4 */
  --fs-lg:       1.25rem;   /* 20px  — Large body */
  --fs-base:     1rem;      /* 16px  — Base body */
  --fs-sm:       0.875rem;  /* 14px  — Small / caption */
  --fs-xs:       0.75rem;   /* 12px  — Overline / label */

  /* --------------------------------------------------------------------------
     Typography — Font Weights
     -------------------------------------------------------------------------- */
  --fw-extrabold: 800;
  --fw-bold:      700;
  --fw-semibold:  600;
  --fw-medium:    500;
  --fw-regular:   400;

  /* --------------------------------------------------------------------------
     Typography — Line Heights
     -------------------------------------------------------------------------- */
  --lh-tight:   1.1;
  --lh-snug:    1.25;
  --lh-normal:  1.5;
  --lh-relaxed: 1.75;

  /* Letter spacing for uppercase labels */
  --ls-wide:    0.08em;
  --ls-wider:   0.12em;

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

  /* --------------------------------------------------------------------------
     Border Radii
     -------------------------------------------------------------------------- */
  --radius-sm:   0.25rem;   /* 4px  */
  --radius-md:   0.5rem;    /* 8px  */
  --radius-lg:   1rem;      /* 16px */
  --radius-xl:   1.5rem;    /* 24px */
  --radius-full: 9999px;    /* pill */

  /* --------------------------------------------------------------------------
     Shadows
     -------------------------------------------------------------------------- */
  --shadow-sm:  0 1px 3px rgba(13, 26, 69, 0.08), 0 1px 2px rgba(13, 26, 69, 0.06);
  --shadow-md:  0 4px 12px rgba(13, 26, 69, 0.10), 0 2px 6px rgba(13, 26, 69, 0.08);
  --shadow-lg:  0 12px 32px rgba(13, 26, 69, 0.14), 0 4px 12px rgba(13, 26, 69, 0.10);
  --shadow-xl:  0 24px 48px rgba(13, 26, 69, 0.18);

  /* --------------------------------------------------------------------------
     Transitions
     -------------------------------------------------------------------------- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* --------------------------------------------------------------------------
     Layout
     -------------------------------------------------------------------------- */
  --container-max:     1200px;
  --container-wide:    1440px;
  --nav-height:        72px;
}
