:root {
  /* brand colors — from snackclubmarketing.com */
  --color-navy: #00286b;
  --color-navy-light: #003d99;
  --color-gold: #d4af37;
  --color-gold-hover: #c49e2a;
  --color-teal: #92cacd;
  --color-teal-soft: rgba(146, 202, 205, 0.15);
  --color-dark: #0f0f0f;
  --color-dark-hover: #222;

  /* neutrals */
  --color-bg: #fbfbfb;
  --color-bg-alt: #f3f5f7;
  --color-bg-card: #ffffff;
  --color-border: #e2e2e2;
  --color-text: #1a1a1a;
  --color-text-muted: #5c5c5c;
  --color-text-dim: #999;
  --color-white: #ffffff;

  /* semantic */
  --color-cta: var(--color-gold);
  --color-cta-hover: var(--color-gold-hover);
  --color-cta-text: var(--color-dark);

  /* fonts — matching current site */
  --font-display: "Albert Sans", system-ui, sans-serif;
  --font-body: "Ubuntu", system-ui, sans-serif;

  /* type scale */
  --fs-hero: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  --fs-h1: clamp(2rem, 3.5vw + 1rem, 3.5rem);
  --fs-h2: clamp(1.65rem, 2.5vw + 0.8rem, 2.5rem);
  --fs-h3: clamp(1.1rem, 0.8vw + 0.9rem, 1.3rem);
  --fs-body: 1.0625rem;
  --fs-sm: 0.9375rem;
  --fs-xs: 0.8125rem;

  /* spacing */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 6rem;
  --space-8: 8rem;

  /* layout */
  --container: 1200px;
  --container-narrow: 860px;
  --radius: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* motion */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 300ms;
}
