/* =====================================================================
   Tokens de design do GcPro — única fonte de cores, tipografia, raios,
   sombras, easings e espaçamentos. Nenhum componente declara valor bruto:
   tudo abaixo é reaproveitado por var(--gc-*).
   ===================================================================== */

:root {
  /* --- superfícies ------------------------------------------------- */
  --gc-fundo: #0E171C;
  --gc-fundo-alt: #101C22;
  --gc-escuro: #1A272E;
  --gc-cinza: #37474F;
  --gc-claro: #F6F8F9;
  --gc-claro-alt: #FAFBFC;
  --gc-nevoa: #ECEFF1;
  --gc-branco: #FFFFFF;
  --gc-chip-escuro: rgba(20, 32, 38, .86);
  --gc-vidro: rgba(41, 55, 63, .55);
  --gc-vidro-rolado: rgba(41, 55, 63, .7);

  /* --- marca ------------------------------------------------------- */
  --gc-verde: #0AE77B;
  --gc-verde-hover: #3DF298;
  --gc-verde-escuro: #05B45F;
  --gc-verde-suave: #8FF7C4;
  --gc-verde-chip: #CFE9DC;

  /* Erro — não existe no design original; segue o mesmo padrão visual dos
     cards claros, só trocando o acento verde por um vermelho sóbrio. */
  --gc-erro: #C0392B;
  --gc-erro-rgb: 192, 57, 43;
  --gc-erro-veu: rgba(var(--gc-erro-rgb), .07);

  /* Canais RGB dos tons recorrentes: as transparências do design são
     muitas, então derivam daqui em vez de virar um token cada. */
  --gc-nevoa-rgb: 236, 239, 241;
  --gc-verde-rgb: 10, 231, 123;
  --gc-cinza-rgb: 55, 71, 79;
  --gc-escuro-rgb: 26, 39, 46;
  --gc-burger-rgb: 120, 140, 150;

  /* --- texto ------------------------------------------------------- */
  --gc-txt-claro: #ECEFF1;
  --gc-txt-branco: #FFFFFF;
  --gc-txt-escuro: #1A272E;
  --gc-txt-corpo: #37474F;
  --gc-txt-sobre-escuro: rgba(var(--gc-nevoa-rgb), .72);
  --gc-txt-fraco-escuro: rgba(var(--gc-nevoa-rgb), .5);
  --gc-txt-sobre-claro: rgba(var(--gc-cinza-rgb), .72);
  --gc-txt-fraco-claro: rgba(var(--gc-cinza-rgb), .55);

  /* --- bordas e superfícies translúcidas --------------------------- */
  --gc-linha: rgba(var(--gc-nevoa-rgb), .12);
  --gc-linha-fraca: rgba(var(--gc-nevoa-rgb), .1);
  --gc-linha-clara: rgba(var(--gc-cinza-rgb), .09);
  --gc-superficie: rgba(var(--gc-nevoa-rgb), .04);
  --gc-superficie-2: rgba(var(--gc-nevoa-rgb), .06);
  --gc-verde-veu: rgba(var(--gc-verde-rgb), .12);
  --gc-verde-borda: rgba(var(--gc-verde-rgb), .22);

  /* --- tipografia -------------------------------------------------- */
  --gc-fonte-titulo: "Space Grotesk", system-ui, sans-serif;
  --gc-fonte-texto: Manrope, system-ui, sans-serif;
  --gc-fonte-mono: ui-monospace, Menlo, Consolas, monospace;

  --gc-h1: clamp(34px, 6vw, 66px);
  --gc-h2: clamp(28px, 4.4vw, 44px);
  --gc-h2-cta: clamp(30px, 4.8vw, 46px);
  --gc-h3-seg: clamp(24px, 3.2vw, 32px);
  --gc-lead: clamp(15.5px, 1.7vw, 18.5px);

  --gc-trilha-h1: -.03em;
  --gc-trilha-h2: -.025em;
  --gc-trilha-eyebrow: .2em;
  --gc-trilha-coluna: .16em;

  /* --- raios ------------------------------------------------------- */
  --gc-raio-selo: 9px;
  --gc-raio-chip: 12px;
  --gc-raio-botao: 14px;
  --gc-raio-botao-g: 16px;
  --gc-raio-moldura: 20px;
  --gc-raio-card: 24px;
  --gc-raio-card-g: 28px;
  --gc-raio-painel: 30px;
  --gc-raio-celular: 38px;
  --gc-raio-pill: 999px;

  /* --- sombras ----------------------------------------------------- */
  --gc-sombra-verde: 0 8px 20px rgba(var(--gc-verde-rgb), .35);
  --gc-sombra-verde-g: 0 14px 34px rgba(var(--gc-verde-rgb), .32);
  --gc-sombra-verde-hover: 0 20px 44px rgba(var(--gc-verde-rgb), .45);
  --gc-sombra-flutuante: 0 18px 40px rgba(0, 0, 0, .35);
  --gc-sombra-marca: 0 30px 70px rgba(0, 0, 0, .5);
  --gc-sombra-celular: 0 40px 80px rgba(0, 0, 0, .55);
  --gc-sombra-card: 0 10px 30px rgba(20, 40, 50, .05);
  --gc-sombra-card-hover: 0 22px 50px rgba(20, 40, 50, .12);
  --gc-sombra-painel: 0 18px 46px rgba(20, 40, 50, .07);
  --gc-sombra-vitrine: 0 26px 60px rgba(20, 40, 50, .28);
  --gc-sombra-seta: 0 10px 26px rgba(20, 40, 50, .22);

  /* --- movimento --------------------------------------------------- */
  --gc-mov: cubic-bezier(.2, .7, .3, 1);
  --gc-fade: cubic-bezier(.4, 0, .2, 1);
  --gc-t-hover: .25s;
  --gc-t-ui: .35s;
  --gc-t-pill: .5s;
  --gc-t-lento: .6s;
  --gc-t-cross: .8s;
  --gc-t-slide: 1.1s;

  /* --- espaçamento e medidas -------------------------------------- */
  --gc-container: 1240px;
  --gc-secao-y: clamp(64px, 9vw, 112px);
  --gc-secao-x: clamp(16px, 4vw, 20px);
  --gc-ancora-topo: 120px;
  --gc-abas-topo: 74px;
}
