:root {
  /* Core neutrals */
  --theme-black: #101010;
  --theme-charcoal-900: #121212;
  --theme-charcoal-850: #141414;
  --theme-charcoal-800: #1a1a1a;
  --theme-charcoal-750: #1b1b1b;
  --theme-charcoal-725: #191919;
  --theme-charcoal-700: #202020;
  --theme-charcoal-650: #262626;
  --theme-charcoal-600: #242424;
  --theme-charcoal-720: #161616;
  --theme-ivory-100: #ffffff;
  --theme-ivory-150: #fbf7f1;
  --theme-ivory-200: #f6f2eb;
  --theme-ivory-250: #efe4d4;
  --theme-ivory-300: #e0d0bc;

  /* Text neutrals */
  --theme-sand-300: #c1b9ae;
  --theme-sand-500: #7a654f;
  --theme-sand-600: #6d6459;
  --theme-sand-700: #5f5b55;
  --theme-stone-800: #494440;
  --theme-ink-900: #151515;

  /* Accent family */
  --theme-orange-500: #dc6e00;
  --theme-orange-550: #b85900;
  --theme-orange-400: #f08b24;
  --theme-orange-300: #ff9a32;
  --theme-orange-200: #ffd7b0;
  --theme-orange-150: #ffe1c1;
  --theme-orange-100: #fff4e7;
  --theme-orange-050: #fff7f0;

  /* Opacity helpers */
  --theme-white-05: rgba(255, 255, 255, 0.05);
  --theme-white-06: rgba(255, 255, 255, 0.06);
  --theme-white-04: rgba(255, 255, 255, 0.04);
  --theme-white-03: rgba(255, 255, 255, 0.03);
  --theme-white-02: rgba(255, 255, 255, 0.02);
  --theme-white-018: rgba(255, 255, 255, 0.018);
  --theme-white-08: rgba(255, 255, 255, 0.08);
  --theme-white-12: rgba(255, 255, 255, 0.12);
  --theme-white-14: rgba(255, 255, 255, 0.14);
  --theme-white-22: rgba(255, 255, 255, 0.22);
  --theme-white-35: rgba(255, 255, 255, 0.35);
  --theme-white-58: rgba(255, 255, 255, 0.58);
  --theme-white-60: rgba(255, 255, 255, 0.6);
  --theme-white-70: rgba(255, 255, 255, 0.7);
  --theme-black-15: rgba(0, 0, 0, 0.15);
  --theme-black-22: rgba(0, 0, 0, 0.22);
  --theme-black-28: rgba(0, 0, 0, 0.28);
  --theme-black-82: rgba(15, 15, 15, 0.82);
  --theme-ink-900-08: rgba(21, 21, 21, 0.08);
  --theme-charcoal-720-96: rgba(22, 22, 22, 0.96);
  --theme-charcoal-900-68: rgba(18, 18, 18, 0.68);
  --theme-charcoal-900-96: rgba(18, 18, 18, 0.96);

  --theme-orange-08: rgba(220, 110, 0, 0.08);
  --theme-orange-12: rgba(220, 110, 0, 0.12);
  --theme-orange-14: rgba(220, 110, 0, 0.14);
  --theme-orange-15: rgba(220, 110, 0, 0.15);
  --theme-orange-16: rgba(220, 110, 0, 0.16);
  --theme-orange-18: rgba(220, 110, 0, 0.18);
  --theme-orange-20: rgba(220, 110, 0, 0.2);
  --theme-orange-35: rgba(220, 110, 0, 0.35);
  --theme-orange-88: rgba(255, 247, 240, 0.88);

  /* Semantic aliases for current site */
  --page-background: var(--theme-charcoal-900);
  --page-background-alt: var(--theme-charcoal-750);
  --page-surface: var(--theme-charcoal-700);
  --page-surface-elevated: var(--theme-charcoal-650);
  --page-surface-light: var(--theme-ivory-200);
  --page-surface-light-strong: var(--theme-ivory-100);

  --page-text: var(--theme-ivory-200);
  --page-text-muted: var(--theme-sand-300);
  --page-text-dark: var(--theme-ink-900);
  --page-text-dark-muted: var(--theme-sand-700);

  --page-border: var(--theme-white-08);
  --page-border-strong: var(--theme-orange-35);

  --page-accent: var(--theme-orange-500);
  --page-accent-strong: var(--theme-orange-300);
  --page-accent-soft: var(--theme-orange-14);

  --page-shadow: 0 28px 80px var(--theme-black-28);

  --page-gradient-primary:
    radial-gradient(circle at top center, var(--theme-orange-15), transparent 24%),
    linear-gradient(180deg, var(--theme-charcoal-800) 0%, var(--theme-charcoal-850) 42%, var(--theme-black) 100%);
}
