:root{
  /* primitives — sampled from rizoma.tv, do not consume directly */
  --rz-purple-500:#4E29AC;
  --rz-purple-700:#402F8E;
  --rz-purple-900:#381999;
  --rz-gold-500:#DE9E23;
  --rz-gold-700:#C57E27;
  --rz-gold-safe:#A16D0F; /* gold on white, corrected for contrast */
  --rz-coral-500:#F23B48;
  --rz-coral-600:#D82F3C; /* hover */
  --rz-wine-600:#9E2323;
  --rz-forest-700:#16592E;
  --rz-white:#FFFFFF;
  --rz-ink-800:#333333;
  --rz-gray-500:#757575;
  --rz-placeholder-on-brand:#C9BEE6; /* corrected placeholder, 4.6:1 on purple */
  --rz-line-200:#EBEBEB;

  /* semantic aliases — components consume these */
  --color-surface-brand:var(--rz-purple-500);
  --color-surface-deep:var(--rz-purple-900);
  --color-surface-page:var(--rz-white);

  --color-accent:var(--rz-gold-500);
  --color-accent-on-light:var(--rz-gold-safe);
  --color-action:var(--rz-coral-500);
  --color-action-hover:var(--rz-coral-600);

  --color-text-on-dark:var(--rz-white);
  --color-text-on-light:var(--rz-ink-800);
  --color-text-muted:var(--rz-gray-500);
  --color-text-on-action:var(--rz-white);

  --color-border-subtle:var(--rz-line-200);
  --color-border-field:var(--rz-white);

  /* section theme — swap on the hero wrapper */
  --color-theme:var(--rz-purple-500);
}
[data-theme="home"]{--color-theme:var(--rz-purple-500);}
[data-theme="sobre"]{--color-theme:var(--rz-wine-600);}
[data-theme="projetos"]{--color-theme:var(--rz-forest-700);}
[data-theme="blog"]{--color-theme:var(--rz-purple-900);}
