:root {
  /* Colors */
  --color-black:       #000000;
  --color-dark:        #0a0a0a;
  --color-dark-alt:    #111111;
  --color-charcoal:    #1c1c1c;
  --color-mid:         #2e2e2e;
  --color-border:      rgba(255,255,255,0.1);
  --color-border-dark: rgba(0,0,0,0.12);
  --color-white:       #ffffff;
  --color-off-white:   #f5f3ef;
  --color-cream:       #ede8e0;
  --color-gold:        #f4f4f4;
  --color-gold-light:  #e2c17a;
  --color-text:        #1a1a1a;
  --color-text-muted:  #6b6b6b;
  --color-text-light:  rgba(255,255,255,0.75);

  /* Typography */
  --font-serif:   'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans:    'Montserrat', 'Helvetica Neue', Arial, sans-serif;

  /* Font sizes */
  --fs-xs:   0.6875rem;   /* 11px */
  --fs-sm:   0.8125rem;   /* 13px */
  --fs-base: 0.9375rem;   /* 15px */
  --fs-md:   1.0625rem;   /* 17px */
  --fs-lg:   1.25rem;     /* 20px */
  --fs-xl:   1.625rem;    /* 26px */
  --fs-2xl:  2.25rem;     /* 36px */
  --fs-3xl:  3rem;        /* 48px */
  --fs-4xl:  4rem;        /* 64px */
  --fs-5xl:  5.5rem;      /* 88px */

  /* Spacing */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --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 */
  --container-max: 1280px;
  --container-pad: clamp(1.5rem, 5vw, 5rem);

  /* Transitions */
  --ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast:   150ms;
  --duration-base:   300ms;
  --duration-slow:   600ms;
  --duration-slower: 1000ms;

  /* Z-index scale */
  --z-base:    1;
  --z-above:   10;
  --z-modal:   100;
  --z-nav:     200;
  --z-top:     1000;

  /* Shadows */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 24px rgba(0,0,0,0.1);
  --shadow-lg:  0 20px 60px rgba(0,0,0,0.18);
  --shadow-xl:  0 40px 100px rgba(0,0,0,0.25);
}
