:root {
  /* Colors */
  --color-white:  #ffffff;
  --color-beige:  #ffffff;
  --color-dark:   #2b2b2b;
  --color-black:  #000000;
  --color-purple: #988896;
  --color-teal:   #9fd6db;
  --color-gray:   #d0cece;
  --color-gray-light: #f4f3f1;

  /* Typography */
  --font-heading: 'Syne', sans-serif;
  --font-body:    'Roboto Mono', monospace;
  --font-ui:      'Space Grotesk', sans-serif;
  --font-mono:    'Roboto Mono', monospace;

  /* Font sizes */
  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.875rem;  /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg:   1.125rem;  /* 18px */
  --text-xl:   1.25rem;   /* 20px */
  --text-2xl:  1.5rem;    /* 24px */
  --text-3xl:  1.875rem;  /* 30px */
  --text-4xl:  2.25rem;   /* 36px */
  --text-5xl:  3rem;      /* 48px */
  --text-6xl:  3.75rem;   /* 60px */
  --text-7xl:  4.5rem;    /* 72px */

  /* Spacing */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Layout */
  --max-width: 1200px;
  --padding-desktop: 80px;
  --padding-tablet:  60px;
  --padding-mobile:  24px;

  /* Nav height */
  --nav-height: 72px;

  /* Easing */
  --ease-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-snap:   cubic-bezier(0.16, 1, 0.3, 1);

  /* Transitions */
  --transition-fast:   150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow:   500ms ease;

  /* Border radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
}

/* Tablet */
@media (max-width: 1199px) {
  :root {
    --padding-desktop: var(--padding-tablet);
  }
}

/* Mobile */
@media (max-width: 743px) {
  :root {
    --padding-desktop: var(--padding-mobile);
    --nav-height: 60px;
  }
}
