:root{
  /* --- Brand core: only these four are "brand" colors --- */
  --red: #E30613;            /* cor da marca */
  --ink: #1D1D1B;            /* preto/tinta */
  --white: #FFFFFF;
  --gray-line: #EEEEEE;      /* apenas filetes e divisórias */

  /* --- Interaction derivatives of the brand red (UI only, never in print/slides) --- */
  --red-press: #B0040E;
  --red-hover: #C70511;
  --red-tint: #FDE7E9;

  /* --- Ink ramp (opacity of --ink over white; do not introduce new greys) --- */
  --ink-80: rgba(29,29,27,.80);
  --ink-55: rgba(29,29,27,.55);
  --ink-35: rgba(29,29,27,.35);
  --ink-12: rgba(29,29,27,.12);

  /* --- Semantic aliases --- */
  --text-body: var(--ink);
  --text-muted: var(--ink-55);
  --text-on-red: var(--white);
  --text-accent: var(--red);
  --text-link: var(--red);
  --text-link-hover: var(--red-press);

  --surface-page: var(--white);
  --surface-card: var(--white);
  --surface-inverse: var(--red);
  --surface-ink: var(--ink);
  --surface-subtle: var(--red-tint);

  --border-hairline: var(--gray-line);
  --border-strong: var(--ink);
  --border-field: var(--ink-35);
  --rule-accent: var(--red);

  --focus-ring: var(--red);

  /* Semantic status. The brand has no green/amber; success/warning are borrowed
     from the ink ramp so status never competes with the brand red. */
  --status-danger: var(--red);
  --status-neutral: var(--ink-55);
}
