/* =========================================================
   BASE: tokens, reset e tipografia
   Revitaliza. Superfície escura por padrão: o público chega
   por anúncio e busca, e o nicho inteiro é escuro e quente.
   Branco frio lia como fintech, não como agro.
   ========================================================= */

:root {
  /* ---- Superfícies: verde muito escuro como base ---- */
  --tinta-900: #06150F;   /* fundo mais profundo */
  --tinta-800: #0A1F16;   /* fundo padrão */
  --tinta-700: #102C20;   /* superfície elevada */
  --tinta-600: #1A3B2C;   /* borda e divisor */

  --papel:     #F4F1E9;   /* creme, para as seções claras */
  --papel-alt: #E9E4D8;

  /* ---- Marca ---- */
  --verde:        #17A34A;  /* verde vivo da logo, para acento em fundo escuro */
  --verde-claro:  #4ADE80;
  --verde-escuro: #00693A;  /* 6.8:1 em branco: usado em superfície clara */

  /* ---- Acento âmbar: trigo maduro. Cria a tensão quente
         contra o verde e carrega o número que importa ---- */
  --ambar:      #E8A33D;
  --ambar-forte:#F0B45C;

  /* ---- Texto ---- */
  --texto-claro:      #F4F1E9;             /* em fundo escuro */
  --texto-claro-suave:rgba(244,241,233,.72);
  --texto-escuro:     #0A1F16;             /* em fundo claro */
  --texto-escuro-suave:#4A5A50;

  --cor-erro: #E5776A;
  --cor-sucesso: #4ADE80;

  /* ---- Tipografia ---- */
  --fonte-titulo: "Archivo", "Arial Narrow", system-ui, sans-serif;
  --fonte-corpo:  "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --txt-xs:   0.8125rem;
  --txt-sm:   0.9375rem;
  --txt-base: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  --txt-lg:   clamp(1.125rem, 1.03rem + 0.45vw, 1.3125rem);
  --txt-xl:   clamp(1.375rem, 1.15rem + 1vw, 1.875rem);
  --txt-2xl:  clamp(2rem, 1.2rem + 3.2vw, 3.5rem);
  --txt-3xl:  clamp(2.75rem, 1.4rem + 5.6vw, 5.5rem);
  --txt-mega: clamp(3.5rem, 1rem + 10vw, 9rem);   /* números de impacto */

  --peso-normal: 400;
  --peso-medio: 500;
  --peso-forte: 700;
  --peso-black: 800;

  --altura-titulo: 0.98;
  --altura-corpo: 1.65;

  /* ---- Espaçamento ---- */
  --e-1: 0.25rem;  --e-2: 0.5rem;   --e-3: 0.75rem;  --e-4: 1rem;
  --e-5: 1.25rem;  --e-6: 1.5rem;   --e-8: 2rem;     --e-10: 2.5rem;
  --e-12: 3rem;    --e-16: 4rem;    --e-20: 5rem;    --e-24: 6rem;
  --secao-y: clamp(4rem, 9vw, 8.5rem);

  --largura-max: 1240px;
  --largura-texto: 62ch;
  --gutter: clamp(1.25rem, 5vw, 3rem);

  --raio-sm: 2px;
  --raio: 4px;
  --raio-lg: 10px;
  --raio-full: 999px;

  --sombra: 0 2px 10px rgba(0,0,0,.25);
  --sombra-lg: 0 18px 50px rgba(0,0,0,.38);

  --transicao: 200ms cubic-bezier(.4,0,.2,1);
  --transicao-lenta: 420ms cubic-bezier(.4,0,.2,1);

  --z-header: 100;
  --z-flutuante: 90;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}

body {
  font-family: var(--fonte-corpo);
  font-size: var(--txt-base);
  line-height: var(--altura-corpo);
  color: var(--texto-claro);
  background: var(--tinta-800);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img, picture, video, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
p, h1, h2, h3, h4, li { overflow-wrap: break-word; }

h1, h2, h3, h4 {
  font-family: var(--fonte-titulo);
  font-weight: var(--peso-black);
  line-height: var(--altura-titulo);
  letter-spacing: -0.03em;
  text-wrap: balance;
}
h1 { font-size: var(--txt-3xl); }
h2 { font-size: var(--txt-2xl); }
h3 { font-size: var(--txt-xl); letter-spacing: -0.02em; }
h4 { font-size: var(--txt-lg); letter-spacing: -0.01em; }

p { text-wrap: pretty; }
p + p { margin-top: var(--e-4); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
ul, ol { padding-left: var(--e-6); }

/* ---- Acessibilidade ---- */
:focus-visible {
  outline: 3px solid var(--ambar);
  outline-offset: 3px;
  border-radius: var(--raio-sm);
}
.pular-para-conteudo {
  position: absolute; left: var(--e-4); top: -100px; z-index: 999;
  padding: var(--e-3) var(--e-6);
  background: var(--ambar); color: var(--texto-escuro);
  border-radius: var(--raio); font-weight: var(--peso-forte);
  transition: top var(--transicao);
}
.pular-para-conteudo:focus { top: var(--e-4); }
.apenas-leitor-tela {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
