:root {

  /* Typeface Families */
  --typeface-family-secondary: "body";
  --typeface-family-primary: "display";

  /* Typeface Weights */
  --typeface-weight-regular: 400;
  --typeface-weight-bold: 800;
  --typeface-weight-medium: 700;
  --typeface-weight-light: 400;

  /* Breakpoints */
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;

  /* Base Colors */
  --black: #231f20;
  --white: #fff;

  /* Primary Colors */
  --color-primary-50: #fcf1ef;
  --color-primary-100: #f7dbd7;
  --color-primary-200: #efb5af;
  --color-primary-300: #e68f87;
  --color-primary-400: #dc695f;
  --color-primary-500: #c81e11;
  --color-primary-600: #aa1a10;
  --color-primary-700: #8c1711;
  --color-primary-800: #6d1b25;
  --color-primary-900: #4d141b;

  /* Secondary Colors */
  --color-secondary-50: #e8f3fb;
  --color-secondary-100: #c5e1f4;
  --color-secondary-200: #97c9ea;
  --color-secondary-300: #68b2df;
  --color-secondary-400: #359ad4;
  --color-secondary-500: #1184c8;
  --color-secondary-600: #0f75b1;
  --color-secondary-700: #0d6397;
  --color-secondary-800: #1b227a;
  --color-secondary-900: #141a5c;
  
  /* Information Colors */
  --color-information-50: #e9f0ff;
  --color-information-100: #d4e1ff;
  --color-information-200: #a8c2ff;
  --color-information-300: #7da4ff;
  --color-information-400: #5185ff;
  --color-information-500: #2667ff;
  --color-information-600: #0046ea;
  --color-information-700: #0035b0;
  --color-information-800: #002375;
  --color-information-900: #00123b;

  /* Success Colors */
  --color-success-50: #f0fdf4;
  --color-success-100: #dcfce7;
  --color-success-200: #bbf7d0;
  --color-success-300: #86efac;
  --color-success-400: #4ade80;
  --color-success-500: #22c55e;
  --color-success-600: #16a34a;
  --color-success-700: #15803d;
  --color-success-800: #166534;
  --color-success-900: #14532d;

  /* Warning Colors */
  --color-warning-50: #fcf3e8;
  --color-warning-100: #f6dcba;
  --color-warning-200: #f0c58d;
  --color-warning-300: #eaad5f;
  --color-warning-400: #e49631;
  --color-warning-500: #e18a1a;
  --color-warning-600: #cb7c17;
  --color-warning-700: #9e6112;
  --color-warning-800: #71450d;
  --color-warning-900: #442908;

  /* Error Colors */
  --color-error-50: #fef2f2;
  --color-error-100: #fee2e2;
  --color-error-200: #fecaca;
  --color-error-300: #fca5a5;
  --color-error-400: #f87171;
  --color-error-500: #ef4444;
  --color-error-600: #dc2626;
  --color-error-700: #b91c1c;
  --color-error-800: #991b1b;
  --color-error-900: #7f1d1d;

  /* Neutral Colors */
  --color-neutral-50: #f2f3f4;
  --color-neutral-100: #f8f8f8;
  --color-neutral-200: #bfc1c3;
  --color-neutral-300: #dadada;
  --color-neutral-400: #8d8f91;
  --color-neutral-500: #808285;
  --color-neutral-600: #66686a;
  --color-neutral-700: #4d4e50;
  --color-neutral-800: #333435;
  --color-neutral-900: #1a1b1c;

  /* White with varying opacity for overlays and emphasis */
  --color-white-alpha-50: rgb(255 255 255 / 5%);
  --color-white-alpha-100: rgb(255 255 255 / 10%);
  --color-white-alpha-200: rgb(255 255 255 / 20%);
  --color-white-alpha-300: rgb(255 255 255 / 30%);
  --color-white-alpha-400: rgb(255 255 255 / 40%);
  --color-white-alpha-500: rgb(255 255 255 / 50%);
  --color-white-alpha-600: rgb(255 255 255 / 60%);
  --color-white-alpha-700: rgb(255 255 255 / 70%);
  --color-white-alpha-800: rgb(255 255 255 / 80%);
  --color-white-alpha-900: rgb(255 255 255 / 90%);

  /* Black with varying opacity for overlays and emphasis */
  --color-black-alpha-50: rgb(0 0 0 / 5%);
  --color-black-alpha-100: rgb(0 0 0 / 10%);
  --color-black-alpha-200: rgb(0 0 0 / 20%);
  --color-black-alpha-300: rgb(0 0 0 / 30%);
  --color-black-alpha-400: rgb(0 0 0 / 40%);
  --color-black-alpha-500: rgb(0 0 0 / 50%);
  --color-black-alpha-600: rgb(0 0 0 / 60%);
  --color-black-alpha-700: rgb(0 0 0 / 70%);
  --color-black-alpha-800: rgb(0 0 0 / 80%);
  --color-black-alpha-900: rgb(0 0 0 / 90%);

    /* Spacing Scale */
  --spacing-0: 0;
  --spacing-4: 4px;
  --spacing-4-rem: 0.25rem;
  --spacing-8: 8px;
  --spacing-8-rem: 0.5rem;
  --spacing-16: 16px;
  --spacing-16-rem: 1rem;
  --spacing-24: 24px;
  --spacing-24-rem: 1.5rem;
  --spacing-32: 32px;
  --spacing-32-rem: 2rem;
  --spacing-40: 40;
  --spacing-40-rem: 2.5rem;
  --spacing-48: 48px;
  --spacing-48-rem: 3rem;
  --spacing-56: 56px;
  --spacing-56-rem: 3.5rem;
  --spacing-64: 64px;
  --spacing-64-rem: 4rem;
  --spacing-72: 72px;
  --spacing-72-rem: 4.5rem;
  --spacing-80: 80;
  --spacing-80-rem: 5rem;
  --spacing-96: 96px;
  --spacing-96-rem: 6rem;
  --spacing-112: 112px;
  --spacing-112-rem: 7rem;
  --spacing-128: 128px;
  --spacing-128-rem: 8rem;

  /* TYPESCALE */

  /* Body Large */
  --body-large-font-desktop: var(--typeface-family-secondary);
  --body-large-font-tablet: var(--typeface-family-secondary);
  --body-large-font-smartphone: var(--typeface-family-secondary);
  --body-large-weight-desktop: var(--typeface-weight-light);
  --body-large-weight-tablet: var(--typeface-weight-light);
  --body-large-weight-smartphone: var(--typeface-weight-light);
  --body-large-size-desktop: 16px;
  --body-large-size-rem-desktop: 1rem;
  --body-large-size-tablet: 16px;
  --body-large-size-rem-tablet: 1rem;
  --body-large-size-smartphone: 16px;
  --body-large-size-rem-smartphone: 1rem;
  --body-large-line-height-desktop: 24px;
  --body-large-line-height-rem-desktop: 1.5rem;
  --body-large-line-height-tablet: 24px;
  --body-large-line-height-rem-tablet: 1.5rem;
  --body-large-line-height-smartphone: 24px;
  --body-large-line-height-rem-smartphone: 1.5rem;
  --body-large-letter-spacing-desktop: 0;
  --body-large-letter-spacing-rem-desktop: 0;
  --body-large-letter-spacing-tablet: 0;
  --body-large-letter-spacing-rem-tablet: 0;
  --body-large-letter-spacing-smartphone: 0;
  --body-large-letter-spacing-rem-smartphone: 0;

  /* Body Small */
  --body-small-font-desktop: var(--typeface-family-secondary);
  --body-small-font-tablet: var(--typeface-family-secondary);
  --body-small-font-smartphone: var(--typeface-family-secondary);
  --body-small-weight-desktop: var(--typeface-weight-light);
  --body-small-weight-tablet: var(--typeface-weight-regular);
  --body-small-weight-smartphone: var(--typeface-weight-regular);
  --body-small-size-desktop: 14px;
  --body-small-size-rem-desktop: 0.875rem;
  --body-small-size-tablet: 14px;
  --body-small-size-rem-tablet: 0.875rem;
  --body-small-size-smartphone: 14px;
  --body-small-size-rem-smartphone: 0.875rem;
  --body-small-line-height-desktop: 20;
  --body-small-line-height-rem-desktop: 1.25rem;
  --body-small-line-height-tablet: 20;
  --body-small-line-height-rem-tablet: 1.25rem;
  --body-small-line-height-smartphone: 20;
  --body-small-line-height-rem-smartphone: 1.25rem;
  --body-small-letter-spacing-desktop: 0;
  --body-small-letter-spacing-rem-desktop: 0;
  --body-small-letter-spacing-tablet: 0;
  --body-small-letter-spacing-rem-tablet: 0;
  --body-small-letter-spacing-smartphone: 0;
  --body-small-letter-spacing-rem-smartphone: 0;

  /* Display Large */
  --display-large-font-desktop: var(--typeface-family-primary);
  --display-large-font-tablet: var(--typeface-family-primary);
  --display-large-font-smartphone: var(--typeface-family-primary);
  --display-large-weight-desktop: var(--typeface-weight-light);
  --display-large-weight-tablet: var(--typeface-weight-light);
  --display-large-weight-smartphone: var(--typeface-weight-light);
  --display-large-size-desktop: 44px;
  --display-large-size-rem-desktop: 2.75rem;
  --display-large-size-tablet: 44px;
  --display-large-size-rem-tablet: 2.75rem;
  --display-large-size-smartphone: 27px;
  --display-large-size-rem-smartphone: 1.6875rem;
  --display-large-line-height-desktop: 52px;
  --display-large-line-height-rem-desktop: 3.25rem;
  --display-large-line-height-tablet: 52px;
  --display-large-line-height-rem-tablet: 3.25rem;
  --display-large-line-height-smartphone: 32px;
  --display-large-line-height-rem-smartphone: 2rem;
  --display-large-letter-spacing-desktop: 0;
  --display-large-letter-spacing-rem-desktop: 0;
  --display-large-letter-spacing-tablet: 0;
  --display-large-letter-spacing-rem-tablet: 0;
  --display-large-letter-spacing-smartphone: 0;
  --display-large-letter-spacing-rem-smartphone: 0;

  /* Heading Large */
  --heading-large-font-desktop: var(--typeface-family-primary);
  --heading-large-font-tablet: var(--typeface-family-primary);
  --heading-large-font-smartphone: var(--typeface-family-primary);
  --heading-large-weight-desktop: var(--typeface-weight-light);
  --heading-large-weight-tablet: var(--typeface-weight-light);
  --heading-large-weight-smartphone: var(--typeface-weight-light);
  --heading-large-size-desktop: 35px;
  --heading-large-size-rem-desktop: 2.1875rem;
  --heading-large-size-tablet: 35px;
  --heading-large-size-rem-tablet: 2.1875rem;
  --heading-large-size-smartphone: 25px;
  --heading-large-size-rem-smartphone: 1.5625rem;
  --heading-large-line-height-desktop: 44px;
  --heading-large-line-height-rem-desktop: 2.75rem;
  --heading-large-line-height-tablet: 48px;
  --heading-large-line-height-rem-tablet: 3rem;
  --heading-large-line-height-smartphone: 32px;
  --heading-large-line-height-rem-smartphone: 2rem;
  --heading-large-letter-spacing-desktop: 0;
  --heading-large-letter-spacing-rem-desktop: 0;
  --heading-large-letter-spacing-tablet: 0;
  --heading-large-letter-spacing-rem-tablet: 0;
  --heading-large-letter-spacing-smartphone: 0;
  --heading-large-letter-spacing-rem-smartphone: 0;

  /* Heading Medium */
  --heading-medium-font-desktop: var(--typeface-family-primary);
  --heading-medium-font-tablet: var(--typeface-family-primary);
  --heading-medium-font-smartphone: var(--typeface-family-primary);
  --heading-medium-weight-desktop: var(--typeface-weight-light);
  --heading-medium-weight-tablet: var(--typeface-weight-light);
  --heading-medium-weight-smartphone: var(--typeface-weight-light);
  --heading-medium-size-desktop: 31px;
  --heading-medium-size-rem-desktop: 1.9375rem;
  --heading-medium-size-tablet: 31px;
  --heading-medium-size-rem-tablet: 1.9375rem;
  --heading-medium-size-smartphone: 23px;
  --heading-medium-size-rem-smartphone: 1.4375rem;
  --heading-medium-line-height-desktop: 36px;
  --heading-medium-line-height-rem-desktop: 2.25rem;
  --heading-medium-line-height-tablet: 40;
  --heading-medium-line-height-rem-tablet: 2.5rem;
  --heading-medium-line-height-smartphone: 28px;
  --heading-medium-line-height-rem-smartphone: 1.75rem;
  --heading-medium-letter-spacing-desktop: 0;
  --heading-medium-letter-spacing-rem-desktop: 0;
  --heading-medium-letter-spacing-tablet: 0;
  --heading-medium-letter-spacing-rem-tablet: 0;
  --heading-medium-letter-spacing-smartphone: 0;
  --heading-medium-letter-spacing-rem-smartphone: 0;

  /* Heading Small */
  --heading-small-font-desktop: var(--typeface-family-primary);
  --heading-small-font-tablet: var(--typeface-family-primary);
  --heading-small-font-smartphone: var(--typeface-family-primary);
  --heading-small-weight-desktop: var(--typeface-weight-light);
  --heading-small-weight-tablet: var(--typeface-weight-light);
  --heading-small-weight-smartphone: var(--typeface-weight-light);
  --heading-small-size-desktop: 27px;
  --heading-small-size-rem-desktop: 1.6875rem;
  --heading-small-size-tablet: 28px;
  --heading-small-size-rem-tablet: 1.75rem;
  --heading-small-size-smartphone: 21px;
  --heading-small-size-rem-smartphone: 1.3125rem;
  --heading-small-line-height-desktop: 32px;
  --heading-small-line-height-rem-desktop: 2rem;
  --heading-small-line-height-tablet: 32px;
  --heading-small-line-height-rem-tablet: 2rem;
  --heading-small-line-height-smartphone: 24px;
  --heading-small-line-height-rem-smartphone: 1.5rem;
  --heading-small-letter-spacing-desktop: 0;
  --heading-small-letter-spacing-rem-desktop: 0;
  --heading-small-letter-spacing-tablet: 0;
  --heading-small-letter-spacing-rem-tablet: 0;
  --heading-small-letter-spacing-smartphone: 0;
  --heading-small-letter-spacing-rem-smartphone: 0;

  /* Label Large */
  --label-large-font-desktop: var(--typeface-family-secondary);
  --label-large-font-tablet: var(--typeface-family-secondary);
  --label-large-font-smartphone: var(--typeface-family-secondary);
  --label-large-weight-desktop: var(--typeface-weight-medium);
  --label-large-weight-tablet: var(--typeface-weight-medium);
  --label-large-weight-smartphone: var(--typeface-weight-medium);
  --label-large-size-desktop: 16px;
  --label-large-size-rem-desktop: 1rem;
  --label-large-size-tablet: 16px;
  --label-large-size-rem-tablet: 1rem;
  --label-large-size-smartphone: 14px;
  --label-large-size-rem-smartphone: 0.875rem;
  --label-large-line-height-desktop: 24px;
  --label-large-line-height-rem-desktop: 1.5rem;
  --label-large-line-height-tablet: 24px;
  --label-large-line-height-rem-tablet: 1.5rem;
  --label-large-line-height-smartphone: 20;
  --label-large-line-height-rem-smartphone: 1.25rem;
  --label-large-letter-spacing-desktop: 0;
  --label-large-letter-spacing-rem-desktop: 0;
  --label-large-letter-spacing-tablet: 0;
  --label-large-letter-spacing-rem-tablet: 0;
  --label-large-letter-spacing-smartphone: 0;
  --label-large-letter-spacing-rem-smartphone: 0;

  /* Label Medium */
  --label-medium-font-desktop: var(--typeface-family-secondary);
  --label-medium-font-tablet: var(--typeface-family-secondary);
  --label-medium-font-smartphone: var(--typeface-family-secondary);
  --label-medium-weight-desktop: var(--typeface-weight-bold);
  --label-medium-weight-tablet: var(--typeface-weight-bold);
  --label-medium-weight-smartphone: var(--typeface-weight-bold);
  --label-medium-size-desktop: 14px;
  --label-medium-size-rem-desktop: 0.875rem;
  --label-medium-size-tablet: 14px;
  --label-medium-size-rem-tablet: 0.875rem;
  --label-medium-size-smartphone: 12px;
  --label-medium-size-rem-smartphone: 0.75rem;
  --label-medium-line-height-desktop: 20;
  --label-medium-line-height-rem-desktop: 1.25rem;
  --label-medium-line-height-tablet: 20;
  --label-medium-line-height-rem-tablet: 1.25rem;
  --label-medium-line-height-smartphone: 20;
  --label-medium-line-height-rem-smartphone: 1.25rem;
  --label-medium-letter-spacing-desktop: 0;
  --label-medium-letter-spacing-rem-desktop: 0;
  --label-medium-letter-spacing-tablet: 0;
  --label-medium-letter-spacing-rem-tablet: 0;
  --label-medium-letter-spacing-smartphone: 0;
  --label-medium-letter-spacing-rem-smartphone: 0;

  /* Label Small */
  --label-small-font-desktop: var(--typeface-family-secondary);
  --label-small-font-tablet: var(--typeface-family-secondary);
  --label-small-font-smartphone: var(--typeface-family-secondary);
  --label-small-weight-desktop: var(--typeface-weight-medium);
  --label-small-weight-tablet: var(--typeface-weight-medium);
  --label-small-weight-smartphone: var(--typeface-weight-medium);
  --label-small-size-desktop: 12px;
  --label-small-size-rem-desktop: 0.75rem;
  --label-small-size-tablet: 12px;
  --label-small-size-rem-tablet: 0.75rem;
  --label-small-size-smartphone: 12px;
  --label-small-size-rem-smartphone: 0.75rem;
  --label-small-line-height-desktop: 16px;
  --label-small-line-height-rem-desktop: 1rem;
  --label-small-line-height-tablet: 16px;
  --label-small-line-height-rem-tablet: 1rem;
  --label-small-line-height-smartphone: 16px;
  --label-small-line-height-rem-smartphone: 1rem;
  --label-small-letter-spacing-desktop: 0;
  --label-small-letter-spacing-rem-desktop: 0;
  --label-small-letter-spacing-tablet: 0;
  --label-small-letter-spacing-rem-tablet: 0;
  --label-small-letter-spacing-smartphone: 0;
  --label-small-letter-spacing-rem-smartphone: 0;

  /* Label X-Large */
  --label-x-large-font-desktop: var(--typeface-family-secondary);
  --label-x-large-font-tablet: var(--typeface-family-secondary);
  --label-x-large-font-smartphone: var(--typeface-family-secondary);
  --label-x-large-weight-desktop: var(--typeface-weight-bold);
  --label-x-large-weight-tablet: var(--typeface-weight-bold);
  --label-x-large-weight-smartphone: var(--typeface-weight-bold);
  --label-x-large-size-desktop: 18px;
  --label-x-large-size-rem-desktop: 1.125rem;
  --label-x-large-size-tablet: 18px;
  --label-x-large-size-rem-tablet: 1.125rem;
  --label-x-large-size-smartphone: 16px;
  --label-x-large-size-rem-smartphone: 1rem;
  --label-x-large-line-height-desktop: 28px;
  --label-x-large-line-height-rem-desktop: 1.75rem;
  --label-x-large-line-height-tablet: 28px;
  --label-x-large-line-height-rem-tablet: 1.75rem;
  --label-x-large-line-height-smartphone: 24px;
  --label-x-large-line-height-rem-smartphone: 1.5rem;
  --label-x-large-letter-spacing-desktop: 0;
  --label-x-large-letter-spacing-rem-desktop: 0;
  --label-x-large-letter-spacing-tablet: 0;
  --label-x-large-letter-spacing-rem-tablet: 0;
  --label-x-large-letter-spacing-smartphone: 0;
  --label-x-large-letter-spacing-rem-smartphone: 0;

  /* Title Large */
  --title-large-font-desktop: var(--typeface-family-primary);
  --title-large-font-tablet: var(--typeface-family-primary);
  --title-large-font-smartphone: var(--typeface-family-primary);
  --title-large-weight-desktop: var(--typeface-weight-light);
  --title-large-weight-tablet: var(--typeface-weight-light);
  --title-large-weight-smartphone: var(--typeface-weight-light);
  --title-large-size-desktop: 23px;
  --title-large-size-rem-desktop: 1.4375rem;
  --title-large-size-tablet: 23px;
  --title-large-size-rem-tablet: 1.4375rem;
  --title-large-size-smartphone: 18px;
  --title-large-size-rem-smartphone: 1.125rem;
  --title-large-line-height-desktop: 28px;
  --title-large-line-height-rem-desktop: 1.75rem;
  --title-large-line-height-tablet: 28px;
  --title-large-line-height-rem-tablet: 1.75rem;
  --title-large-line-height-smartphone: 24px;
  --title-large-line-height-rem-smartphone: 1.5rem;
  --title-large-letter-spacing-desktop: 0;
  --title-large-letter-spacing-rem-desktop: 0;
  --title-large-letter-spacing-tablet: 0;
  --title-large-letter-spacing-rem-tablet: 0;
  --title-large-letter-spacing-smartphone: 0;
  --title-large-letter-spacing-rem-smartphone: 0;

  /* Title Small */
  --title-small-font-desktop: var(--typeface-family-primary);
  --title-small-font-tablet: var(--typeface-family-primary);
  --title-small-font-smartphone: var(--typeface-family-primary);
  --title-small-weight-desktop: var(--typeface-weight-light);
  --title-small-weight-tablet: var(--typeface-weight-light);
  --title-small-weight-smartphone: var(--typeface-weight-light);
  --title-small-size-desktop: 18px;
  --title-small-size-rem-desktop: 1.125rem;
  --title-small-size-tablet: 18px;
  --title-small-size-rem-tablet: 1.125rem;
  --title-small-size-smartphone: 16px;
  --title-small-size-rem-smartphone: 1rem;
  --title-small-line-height-desktop: 24px;
  --title-small-line-height-rem-desktop: 1.5rem;
  --title-small-line-height-tablet: 24px;
  --title-small-line-height-rem-tablet: 1.5rem;
  --title-small-line-height-smartphone: 24px;
  --title-small-line-height-rem-smartphone: 1.5rem;
  --title-small-letter-spacing-desktop: 0;
  --title-small-letter-spacing-rem-desktop: 0;
  --title-small-letter-spacing-tablet: 0;
  --title-small-letter-spacing-rem-tablet: 0;
  --title-small-letter-spacing-smartphone: 0;
  --title-small-letter-spacing-rem-smartphone: 0;
}