:root {
  /* Colors */
  --black: #0D0D0D;
  --gold: #D4A574;
  --white: #FFFFFF;
  --gray-100: #F5F5F5;
  --gray-300: #D4D4D4;
  --gray-500: #737373;
  --gray-700: #404040;
  --gray-900: #1A1A1A;

  /* NEVER use green except for success states */

  /* Typography */
  --font-display: 'Manrope', sans-serif;
  --font-body: 'IBM Plex Serif', Georgia, serif;
  --font-mono: 'IBM Plex Mono', monospace;

  /* Slide canvas */
  --slide-w: 1280px;
  --slide-h: 720px;

  /* Spacing scale */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;

  /* Gold variants for layering */
  --gold-005: rgba(212, 165, 116, 0.05);
  --gold-010: rgba(212, 165, 116, 0.10);
  --gold-025: rgba(212, 165, 116, 0.25);
  --gold-040: rgba(212, 165, 116, 0.40);

  /* White variants */
  --white-005: rgba(255, 255, 255, 0.05);
  --white-010: rgba(255, 255, 255, 0.10);
  --white-035: rgba(255, 255, 255, 0.035);

  /* Animation */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --duration-fast: 0.3s;
  --duration-normal: 0.6s;
  --duration-slow: 1.2s;
}

/* Global slide reset */
.slide * {
  box-sizing: border-box;
}

.slide {
  color: var(--white);
  font-family: var(--font-display);
}
