/* Brave Corp · tokens v5.5 · 2026-06-20 · errata operacional 2026-08-30: o bloco captacao passou a materializar a rampa 100/70/62 já declarada por esta versão. Oficial pra tudo: OFICIAL/PADRÃO #2B2D42 (default) + reservas Boardroom #0B1426 / Premium #05070D · v5.4: CTA premium (degradê dourado) + .cta-outline + .num-stat · v5.5: CONTRASTE AA — text-3/text-4 subidos p/ .62 em TODOS os registers (rampa de opacidade sub-AA corrigida na raiz; pior caso card/índigo 4.29→4.99). text-3≈text-4 = nível secundário AA único (hierarquia real: text-1 / text-2 .70 / text-3=text-4 .62). */
:root{
  --navy-900:#0B1426;--navy-800:#0F1C2F;--navy-700:#1A2740;--navy-600:#2B2D42;
  --navy-blue:#2B3272;--yellow-500:#EACA2D;--gold-600:#D59F07;
  --bluegray-400:#8D99AE;
  /* família clara (register Claro) — recuperada da id antiga: cinza-azulado de dobra */
  --white:#FFFFFF;--light-100:#EDF2F4;--light-200:#DFE4EE;--light-300:#CFD6E2;
  --ivory-50:#F7F4EE;--ivory-100:#F2EEE6;--ivory-200:#E8E2D5;
  --noir-950:#05070D;--noir-900:#0D1322;--marfim:#F5F2EA;--gold-warm:#D4A843;
  --ok:#10B981;--err:#EF4444;--warn:#F59E0B;--info:#3B82F6;
  --font-sans:'Libre Franklin',sans-serif;--font-mono:'IBM Plex Mono',monospace;
  --font-num:'Libre Franklin',sans-serif;
  --font-display:'Libre Franklin',sans-serif; /* headline = própria família, sentence case */
  /* jogo de peso da headline: contexto leve + promessa forte (default: institucional) */
  --head-ctx:200;--head-hot:700;
  /* peso de número (TRÊS, por aplicação): .num-display (número-tese decorativo) = leve · .num-stat (stat-bar/credencial) = 600 · .num (dado/KPI/tabela) = 700 tabular */
  --num-display-weight:var(--head-ctx);
  /* CTA primário premium (degradê dourado) — aprovado no hero BEP v2; botão primário padrão (Oficial + reservas) */
  --cta-grad:linear-gradient(135deg,#F4DA5B 0%,#E6BE34 46%,#C99A22 100%);
  /* Anton APOSENTADA em v6.4 — headline passa a ser Franklin jogo de peso, nunca caixa alta */
  --track-tight:-0.03em;--track-wide:0.16em;
  --ease-brand:cubic-bezier(.22,1,.36,1);--ease-decel:cubic-bezier(.05,.7,.1,1);
  --dur-fast:200ms;--dur-base:400ms;--dur-reveal:600ms;--dur-cine:900ms;
}
[data-register="dark"]{--surface:var(--navy-900);--surface-card:rgba(255,255,255,.035);
  --text-1:#fff;--text-2:rgba(255,255,255,.7);--text-3:rgba(255,255,255,.62);--text-4:rgba(255,255,255,.62);
  --accent:var(--yellow-500);--accent-ink:var(--navy-900);--line:rgba(255,255,255,.1)}
/* Register CLARO (cinza operacional) — acento B: navy protagonista + amarelo só micro (filete/ponto) */
[data-register="claro"]{--surface:var(--light-100);--surface-card:var(--white);
  --text-1:var(--navy-800);--text-2:rgba(15,28,47,.70);--text-3:rgba(15,28,47,.62);--text-4:rgba(15,28,47,.62);
  --accent:var(--navy-800);--accent-ink:var(--white);--accent-spark:var(--yellow-500);--line:rgba(15,28,47,.12)}
[data-register="ivory"]{--surface:var(--ivory-100);--surface-card:var(--ivory-50);
  --text-1:rgba(11,20,38,1);--text-2:rgba(11,20,38,.7);--text-3:rgba(11,20,38,.62);--text-4:rgba(11,20,38,.62);
  --accent:var(--gold-600);--accent-ink:var(--ivory-100);--line:rgba(11,20,38,.12)}
/* Captação: mesma Franklin, jogo de peso mais intenso (300+900), sentence case — sem Anton */
[data-register="captacao"]{--surface:var(--navy-900);--display:var(--font-display);--head-ctx:300;--head-hot:900;
  --surface-card:rgba(255,255,255,.035);--text-1:#fff;--text-2:rgba(255,255,255,.7);--text-3:rgba(255,255,255,.62);--text-4:rgba(255,255,255,.62);
  --accent:var(--yellow-500);--accent-ink:var(--navy-900);--line:rgba(255,255,255,.1)}
/* OFICIAL / PADRÃO (default) — ardósia #2B2D42 + índigo; respiro = register claro (cinza). Default de TODA peça. */
[data-register="classico"]{--surface:var(--navy-600);--surface-card:rgba(255,255,255,.05);
  --text-1:#fff;--text-2:rgba(255,255,255,.7);--text-3:rgba(255,255,255,.62);--text-4:rgba(255,255,255,.62);
  --accent:var(--yellow-500);--accent-ink:var(--navy-600);--accent-2:var(--navy-blue);--line:rgba(255,255,255,.1)}
/* PREMIUM (reserva quente) — noir escuro; respiro = ivory/marfim. Reserva opcional, não default. */
[data-register="noir"]{--surface:var(--noir-950);--surface-card:rgba(255,255,255,.04);
  --text-1:#fff;--text-2:rgba(255,255,255,.7);--text-3:rgba(255,255,255,.62);--text-4:rgba(255,255,255,.62);
  --accent:var(--gold-warm);--accent-ink:var(--noir-950);--line:rgba(255,255,255,.08)}

/* Peso de número (TRÊS, por aplicação) */
/* .num = dado/KPI/preço/tabela — Franklin 700 + tabular (alinha colunas) */
.num{font-family:var(--font-num);font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
/* .num-stat = número de stat-bar / credencial de hero (ex.: 2 dias · 8 blocos · 50 por turma) — Franklin Medium 600, proporcional, tracking tight. Fica ENTRE .num-display (leve) e .num (700 tabular). */
.num-stat{font-family:var(--font-num);font-weight:600;font-variant-numeric:proportional-nums;letter-spacing:var(--track-tight);line-height:1}
/* .num-display = número grande decorativo (pilar, índice, número-tese) — Franklin leve, proporcional, tracking tight */
.num-display{font-family:var(--font-num);font-weight:var(--num-display-weight);font-variant-numeric:proportional-nums;letter-spacing:var(--track-tight);line-height:1}

/* CTA primário premium (degradê dourado) — botão primário PADRÃO (vale na Oficial e nas reservas). Aprovado no hero BEP v2. */
/* .cta == .cta-primary. Seta ↗ ao fim SÓ no BEP (R7): adicione no markup, não é forçada na classe. */
.cta,.cta-primary{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;background:var(--cta-grad);color:#1A1B2E;font-family:var(--font-sans);font-weight:700;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;padding:17px 30px;border-radius:9px;border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 26px rgba(201,154,34,.30),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(120,86,10,.25);text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease-brand),box-shadow var(--dur-fast) var(--ease-brand)}
.cta:hover,.cta-primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(201,154,34,.38),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(120,86,10,.28)}
/* CTA secundário outline — fundo transparente, mesmo padding/raio, sem seta. No escuro: borda branca 32% + texto branco; no claro/ivory: borda+texto navy. */
.cta-outline{display:inline-flex;align-items:center;white-space:nowrap;background:transparent;border:1.5px solid rgba(255,255,255,.32);color:#fff;font-family:var(--font-sans);font-weight:600;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;padding:17px 30px;border-radius:9px;text-decoration:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-brand)}
.cta-outline:hover{border-color:var(--accent)}
[data-register="claro"] .cta-outline,[data-register="ivory"] .cta-outline{border-color:#0B1426;color:#0B1426}
