/* ==========================================================================
   Tokens de design — rafaelcara.com
   Paleta e tipografia documentadas no README.md (seção Design).
   ========================================================================== */

:root {
  /* --- Paleta bruta (tons terrosos) ------------------------------------ */
  --areia-clara: #e5cdb1;
  --caramelo-suave: #cbaa88;
  --bege-acinzentado: #b4a088;
  --rosa-empoeirado: #c4b4b4;
  --marrom-terra: #574227;
  --chocolate-escuro: #463223;
  --taupe: #857164;
  --cafe-escuro: #261b13;
  --cinza-medio: #918f8f;
  --marrom-fume: #55473d;

  /* Derivada: clareamento de --areia-clara, para grandes áreas de fundo.
     Única cor fora da paleta original. */
  --creme: #f4ead9;

  /* --- Papéis semânticos ----------------------------------------------- */
  --fundo: var(--creme);
  --fundo-escuro: var(--cafe-escuro);
  --fundo-destaque: var(--caramelo-suave);
  --fundo-suave: var(--areia-clara);

  --texto: var(--cafe-escuro);
  --texto-fraco: var(--marrom-fume);
  --texto-claro: var(--areia-clara);
  --texto-claro-fraco: var(--bege-acinzentado);

  --acento: var(--marrom-terra);
  --borda: rgb(38 27 19 / 0.14);
  --borda-clara: rgb(229 205 177 / 0.22);

  /* --- Tipografia ------------------------------------------------------- */
  /* A Outfit só cobre latin e latin-ext. A JetBrains Mono vem logo atrás para
     apanhar grego e cirílico — o navegador faz o fallback por caractere e só
     baixa o subconjunto necessário, sem família extra. */
  --fonte-titulo: "Outfit", "JetBrains Mono", ui-sans-serif, system-ui,
    -apple-system, "Segoe UI", Roboto, sans-serif;
  --fonte-texto: var(--fonte-titulo);
  --fonte-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
    monospace;

  /* Escala fluida (min 360px → max 1280px) */
  --t--2: clamp(0.72rem, 0.7rem + 0.09vw, 0.78rem);
  --t--1: clamp(0.82rem, 0.79rem + 0.13vw, 0.89rem);
  --t-0: clamp(1rem, 0.96rem + 0.18vw, 1.09rem);
  --t-1: clamp(1.18rem, 1.1rem + 0.35vw, 1.38rem);
  --t-2: clamp(1.4rem, 1.25rem + 0.65vw, 1.75rem);
  --t-3: clamp(1.7rem, 1.42rem + 1.2vw, 2.4rem);
  --t-4: clamp(2.1rem, 1.6rem + 2.2vw, 3.4rem);
  --t-5: clamp(2.6rem, 1.7rem + 3.9vw, 4.8rem);

  --altura-linha: 1.65;
  --altura-linha-titulo: 1.12;
  --entreletra-titulo: -0.02em;
  --entreletra-rotulo: 0.16em;

  /* --- Espaçamento ------------------------------------------------------ */
  --e-1: 0.25rem;
  --e-2: 0.5rem;
  --e-3: 0.75rem;
  --e-4: 1rem;
  --e-5: 1.5rem;
  --e-6: 2rem;
  --e-7: 3rem;
  --e-8: 4rem;
  --e-9: 6rem;
  --secao-y: clamp(3.5rem, 2rem + 7vw, 7rem);

  /* --- Estrutura -------------------------------------------------------- */
  --largura-conteudo: 1120px;
  --largura-texto: 62ch;
  --recuo-lateral: clamp(1.25rem, 5vw, 3rem);
  --altura-navbar: clamp(3.5rem, 3rem + 2vw, 4.25rem);

  --raio: 6px;
  --raio-g: 14px;
  --raio-pilula: 999px;

  --sombra: 0 1px 2px rgb(38 27 19 / 0.06), 0 8px 24px rgb(38 27 19 / 0.1);
  --sombra-g: 0 2px 4px rgb(38 27 19 / 0.08), 0 20px 50px rgb(38 27 19 / 0.18);

  --transicao: 180ms cubic-bezier(0.4, 0, 0.2, 1);
}
