/* ============================================================
   VEC HUB — Design Tokens
   Extraídos da identidade institucional da VEC (logo, paleta e
   linguagem de curvas) — únicos tokens usados em toda a interface.
   ============================================================ */
:root{
  /* Cor — azul institucional, branco, cinzas neutros, dourado só em detalhe */
  --navy-950:#06102A;
  --navy-900:#0A1533;
  --navy-800:#0D1D45;
  --navy-700:#132A5C;
  --navy-600:#1B3A78;
  --blue-500:#2F5FD6;
  --gold-500:#F0B429;
  --gold-600:#D99A0F;
  --white:#FFFFFF;
  --gray-50:#F7F8FB;
  --gray-100:#EEF1F7;
  --gray-200:#E3E7F0;
  --gray-300:#CBD2E1;
  --gray-500:#8891A8;
  --gray-700:#4B5570;
  --ink:#101B36;

  --surface:var(--white);
  --surface-alt:var(--gray-50);
  --border:var(--gray-200);
  --text:var(--ink);
  --text-soft:var(--gray-700);
  --text-mute:var(--gray-500);
  --accent:var(--navy-800);
  --accent-2:var(--blue-500);
  --gold:var(--gold-500);

  /* Tipografia */
  --font-display:'Manrope', 'Segoe UI', sans-serif;
  --font-body:'DM Sans', 'Segoe UI', sans-serif;
  --fs-display:clamp(1.9rem, 5vw, 2.6rem);
  --fs-h1:clamp(1.5rem, 4vw, 2rem);
  --fs-h2:clamp(1.15rem, 3vw, 1.4rem);
  --fs-h3:1.05rem;
  --fs-body:0.98rem;
  --fs-small:0.85rem;
  --fs-tiny:0.72rem;
  --lh-tight:1.2;
  --lh-normal:1.55;

  /* Espaçamento — escala 4px */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px; --sp-20:80px;

  /* Raio, sombra, transição */
  --radius-sm:10px; --radius-md:16px; --radius-lg:24px; --radius-pill:999px;
  --shadow-sm:0 2px 8px rgba(13,29,69,0.06);
  --shadow-md:0 10px 30px rgba(13,29,69,0.08);
  --shadow-lg:0 20px 50px rgba(13,29,69,0.12);
  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:150ms; --dur-normal:260ms; --dur-slow:420ms;

  /* Layout */
  --container:1080px;
  --container-narrow:640px;
  --z-header:100; --z-overlay:200; --z-toast:300;
}
