/* Tertius Rebelo — generated from tokens.json (cópia local para a LP) */
:root, [data-theme="pedra"] {
  --ground: #f1f0ec;
  --ground-alt: #e5e3de;
  --surface: #fbfaf8;
  --ink-1: #1d1b1c;
  --ink-2: #4a4645;
  --ink-3: #615c59;
  --accent: #7a1626;
  --label: #7a1626;
  --line: rgba(29,27,28,0.14);
  --edge: #807a76;
  --action: #741626;
  --action-hover: #5c111e;
  --on-action: #f6efe9;
  --focus: #7a1626;
  --erro: #a3122a;
  --sucesso: #1f6b3c;
  --brand-vinho: #7a1626;
  --brand-grafite: #1c1b1e;
  --brand-pedra: #f1f0ec;
  --brand-aco: #b9bfc8;
  --shadow-card: 0 1px 2px rgba(29,27,28,0.06), 0 14px 30px -18px rgba(29,27,28,0.28);
}
[data-theme="grafite"] {
  --ground: #1c1b1e;
  --ground-alt: #232226;
  --surface: #2b2a2e;
  --ink-1: #f1f0ec;
  --ink-2: #c3bfba;
  --ink-3: #a29d98;
  --accent: #b9bfc8;
  --label: #b9bfc8;
  --line: rgba(241,240,236,0.14);
  --edge: #8c8781;
  --action: #f1f0ec;
  --action-hover: #ffffff;
  --on-action: #1c1b1e;
  --focus: #f1f0ec;
  --erro: #f28b8b;
  --sucesso: #8fcaa0;
  --shadow-card: 0 16px 36px -20px rgba(0,0,0,0.7);
}
[data-theme="vinho"] {
  --ground: #5e1120;
  --ground-alt: #6a1526;
  --surface: #741a2c;
  --ink-1: #f8f0ef;
  --ink-2: #e9cacf;
  --ink-3: #dbb0b7;
  --accent: #f8f0ef;
  --label: #e9cacf;
  --line: rgba(248,240,239,0.2);
  --edge: #dca9b1;
  --action: #f1f0ec;
  --action-hover: #ffffff;
  --on-action: #5e1120;
  --focus: #ffffff;
  --erro: #ffd6d6;
  --sucesso: #cdeed6;
  --shadow-card: 0 16px 36px -20px rgba(40,4,10,0.55);
}
[data-theme="noite"] {
  --ground: #0b0a0b;
  --ground-alt: #141315;
  --surface: #1e1d20;
  --ink-1: #f3f1ec;
  --ink-2: #c6c2bc;
  --ink-3: #a19c97;
  --accent: #e06a7c;
  --label: #b9bfc8;
  --line: rgba(243,241,236,0.14);
  --edge: #8c8781;
  --action: #f1efea;
  --action-hover: #ffffff;
  --on-action: #0b0a0b;
  --focus: #f1efea;
  --erro: #f28b8b;
  --sucesso: #8fcaa0;
  --shadow-card: 0 24px 60px -24px rgba(0,0,0,0.9);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 88px;
  --space-10: 120px;
  --gutter: 24px;
  --container-max: 1120px;
  --radius-control: 2px;
  --radius-card: 6px;
  --radius-round: 999px;
  --font-display: Urbanist, "Helvetica Neue", Arial, sans-serif;
  --font-text: Archivo, "Helvetica Neue", Arial, sans-serif;
}
.display-1 { font-family: var(--font-display); font-size: 60px; line-height: 1.05; font-weight: 700; letter-spacing: -0.025em; }
.heading-1 { font-family: var(--font-display); font-size: 44px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; }
.heading-2 { font-family: var(--font-display); font-size: 28px; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; }
.heading-3 { font-family: var(--font-display); font-size: 20px; line-height: 1.35; font-weight: 600; letter-spacing: -0.005em; }
.numeral { font-family: var(--font-display); font-size: 22px; line-height: 1; font-weight: 700; }
.quote { font-family: var(--font-display); font-size: 22px; line-height: 1.45; font-weight: 500; font-style: italic; }
.artigo { font-family: var(--font-text); font-size: 18px; line-height: 1.65; font-weight: 450; }
.rotulo { font-family: var(--font-text); font-size: 12px; line-height: 1.3; font-weight: 700; letter-spacing: 0.22em; }
.lead { font-family: var(--font-text); font-size: 18px; line-height: 1.6; font-weight: 500; }
.body { font-family: var(--font-text); font-size: 16px; line-height: 1.65; font-weight: 450; letter-spacing: 0.005em; }
.body-sm { font-family: var(--font-text); font-size: 14.5px; line-height: 1.6; font-weight: 450; letter-spacing: 0.005em; }
.label { font-family: var(--font-text); font-size: 15px; line-height: 1.2; font-weight: 700; letter-spacing: 0.01em; }
.caption { font-family: var(--font-text); font-size: 12.5px; line-height: 1.5; font-weight: 450; letter-spacing: 0.01em; }
