/*
  Design tokens for the Digital Freight site.
  Single source of truth for colour, type, spacing, radius and shadow values.
  Component and section stylesheets should reference these variables rather
  than hard-coding values, so the design stays consistent as new pages are added.

  Breakpoints (referenced in @media queries throughout — CSS custom properties
  can't be used inside media query conditions, so these are documented here
  and the literal values are repeated where needed):
    --bp-tablet: 1080px
    --bp-mobile: 720px
    --bp-small:  480px
*/

:root {
  /* ---------- Brand ---------- */
  --color-pink: #FF3D9A;
  --color-purple: #7C3AED;
  --gradient-brand-120: linear-gradient(120deg, var(--color-pink), var(--color-purple));
  --gradient-brand-135: linear-gradient(135deg, var(--color-pink) 0%, var(--color-purple) 100%);
  --gradient-brand-160: linear-gradient(160deg, var(--color-pink), var(--color-purple));

  /* ---------- Ink / text — light sections ---------- */
  --color-ink: #1A0B2A;           /* headings */
  --color-ink-secondary: #2B1147; /* secondary heading / dark text */
  --color-body: #5C4A6E;          /* body copy / muted */
  --color-eyebrow: #C0248A;

  /* ---------- Ink / text — dark sections ---------- */
  --color-ink-on-dark: #F6F0FA;
  --color-white: #FFFFFF;
  --color-body-on-dark: #C6B4D8;
  --color-body-on-dark-alt: #D6C8E4;
  --color-accent-pink-on-dark: #FFA7D0;
  --color-accent-purple-on-dark: #D8B4FE;
  --color-muted-on-dark: #A995BC;
  --color-faint-on-dark: #9C86B2;

  /* ---------- Links ---------- */
  --color-link: #C0248A;
  --color-link-hover: #FF3D9A;

  /* ---------- Backgrounds ---------- */
  --bg-white: #FFFFFF;
  --bg-lilac: #F7F3FB;
  --bg-portal-start: #FBF7FE;
  --bg-testimonials-start: #EFE4FA;
  --bg-testimonials-end: #E9DCF6;
  --bg-card-tint: #FAF6FE;
  --bg-ior-1: #2B1147;
  --bg-ior-2: #17082A;
  --bg-ior-3: #1F0C36;
  --bg-contact-1: #4A1150;
  --bg-contact-2: #38115E;
  --bg-contact-3: #2B1147;
  --bg-footer: #0B0413;
  --bg-hero-dark: #0E0518;
  --bg-portal-mock: #140823;

  /* ---------- Borders ---------- */
  --border-card: #EDE0F8;
  --border-subtle: #EDE3F6;
  --border-sector-card: #E8DBF4;
  --border-testimonial: #E4D5F3;
  --border-pill: #DCC9EE;
  --border-dark: rgba(168, 85, 247, 0.24);
  --border-dark-soft: rgba(168, 85, 247, 0.16);

  /* ---------- Typography ---------- */
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'IBM Plex Sans', system-ui, sans-serif;

  --text-xs: 0.75rem;     /* 12px — eyebrows, labels */
  --text-sm: 0.8125rem;   /* 13px */
  --text-sm-alt: 0.84375rem; /* 13.5px */
  --text-base: 0.875rem;  /* 14px */
  --text-base-alt: 0.90625rem; /* 14.5px */
  --text-md: 0.9375rem;   /* 15px */
  --text-md-alt: 0.96875rem; /* 15.5px */
  --text-lg: 1rem;        /* 16px */
  --text-lg-alt: 1.03125rem; /* 16.5px */
  --text-xl: 1.0625rem;   /* 17px */
  --text-xl-alt: 1.125rem; /* 18px */
  --text-2xl: 1.1875rem;  /* 19px */
  --text-3xl: 1.25rem;    /* 20px */
  --text-4xl: 1.375rem;   /* 22px */
  --text-5xl: 1.5rem;     /* 24px */
  --text-6xl: 1.625rem;   /* 26px */
  --text-h2: 2.75rem;     /* 44px */
  --text-h2-sm: 2.625rem; /* 42px */
  --text-h1: 4.25rem;     /* 68px */

  --leading-tight: 1.02;
  --leading-snug: 1.08;
  --leading-normal: 1.3;
  --leading-relaxed: 1.55;
  --leading-loose: 1.65;

  --tracking-tightest: -0.032em;
  --tracking-tighter: -0.026em;
  --tracking-tight: -0.014em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-wider: 0.10em;
  --tracking-widest: 0.14em;
  --tracking-widest-alt: 0.20em;
  --tracking-loosest: 0.28em;

  /* ---------- Spacing scale ---------- */
  --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-7: 1.75rem;   /* 28px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-14: 3.5rem;   /* 56px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */

  --section-padding-y: 6.5rem;      /* 104px desktop */
  --section-padding-y-lg: 6.625rem; /* 106px */
  --section-padding-x: 2.5rem;      /* 40px desktop */
  --section-padding-x-mobile: 1.25rem; /* 20px */

  --container-max: 82.5rem; /* 1320px */

  /* ---------- Radius ---------- */
  --radius-sm: 0.625rem;  /* 10px */
  --radius-md: 0.75rem;   /* 12px */
  --radius-lg: 1rem;      /* 16px */
  --radius-xl: 1.125rem;  /* 18px */
  --radius-2xl: 1.25rem;  /* 20px */
  --radius-pill: 999px;

  /* ---------- Shadows ---------- */
  --shadow-logo-mark: 0 6px 18px rgba(255, 61, 154, 0.28);
  --shadow-menu: 0 28px 64px rgba(43, 17, 71, 0.16);
  --shadow-card-hover: 0 18px 44px rgba(90, 30, 140, 0.10);
  --shadow-testimonial: 0 16px 40px rgba(90, 30, 140, 0.07);
  --shadow-portal: 0 34px 80px rgba(43, 17, 71, 0.30);
  --shadow-cta: 0 14px 34px rgba(124, 58, 237, 0.24);

  /* ---------- Motion ---------- */
  --ease-out-soft: cubic-bezier(0.22, 0.61, 0.36, 1);
  --transition-fast: 180ms ease;
  --transition-base: 220ms ease;
}
