/* ============================================================
   NEXUS — Design Tokens (v2)
   Direção: institucional · sóbrio · premium (claro, não "tech neon")
   ============================================================ */

:root {
  /* ---- Azul institucional Nexus ---- */
  --navy-900: #0b2233;
  --navy-800: #103049;
  --navy-700: #16415f;
  --blue-600: #1d567d;
  --blue-500: #2670a0;
  --brand:    #129fd8;   /* ciano da marca — usar como ACENTO discreto */
  --brand-ink:#0e7bad;

  /* ---- Neutros ---- */
  --ink:      #15212b;   /* texto principal */
  --body:     #44525e;   /* texto corrido */
  --muted:    #6b7884;   /* texto secundário */
  --line:     #e4e8ec;   /* bordas */
  --line-2:   #eef1f4;
  --paper:    #ffffff;
  --paper-2:  #f6f8fa;   /* seção alternada */
  --paper-3:  #eef2f6;

  /* ---- Accent por solução (uso pontual e discreto) ---- */
  --cota:    #1485b8;
  --compras: #0f7d97;
  --cidade:  #2f6e64;
  --licita:  #25548c;

  /* semânticos (default master) */
  --accent: var(--blue-600);
  --accent-ink: var(--navy-700);
  --accent-soft: #eaf2f8;

  /* ---- Tipografia ---- */
  --font-head: "Sora", system-ui, -apple-system, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;

  --fs-display: clamp(3rem, 8.5vw, 6rem);
  --fs-hero: clamp(2.6rem, 6.2vw, 4.7rem);
  --fs-h1:   clamp(2rem, 3.8vw, 3rem);
  --fs-h2:   clamp(1.7rem, 3vw, 2.5rem);
  --fs-h3:   1.22rem;
  --fs-lead: clamp(1.08rem, 1.45vw, 1.24rem);
  --fs-body: 1rem;
  --fs-sm:   0.92rem;
  --fs-xs:   0.76rem;

  /* ---- Layout ---- */
  --maxw: 1200px;
  --maxw-narrow: 780px;
  --gutter: clamp(1.2rem, 5vw, 3.5rem);
  --section-y: clamp(4rem, 8vw, 7.5rem);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-lg: 18px;

  /* ---- Sombra (em camadas, premium) ---- */
  --shadow-sm: 0 1px 2px rgba(16,48,73,.06);
  --shadow-md: 0 6px 24px -10px rgba(16,48,73,.14);
  --shadow-lg: 0 28px 64px -28px rgba(16,48,73,.22), 0 8px 20px -16px rgba(16,48,73,.16);

  --ease: cubic-bezier(.4, 0, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);     /* expo-out: entradas premium */
  --ease-spring: cubic-bezier(.34, 1.4, .64, 1);
}

.theme-cota    { --accent: var(--cota);    --accent-soft: #e6f2f8; }
.theme-compras { --accent: var(--compras); --accent-soft: #e4f1f4; }
.theme-cidade  { --accent: var(--cidade);  --accent-soft: #e9f1ef; }
.theme-licita  { --accent: var(--licita);  --accent-soft: #e9eff7; }
