/* tokens.css — sistema visual "Bossa Editorial".
 * Cores 100% chapadas (sem gradientes). Paleta herdada da Copacabana,
 * tratada com rigor editorial. Substitua os hex pelos oficiais do manual. */

:root {
  /* Cores sólidas — extraídas da identidade oficial Bossa Brasileira */
  --verde:        #16332e;  /* verde profundo do emblema */
  --verde-fundo:  #0f2521;  /* variação mais escura, rodapé */
  --verde-folha:  #2f6b54;  /* verde médio, ícones/detalhes */
  --gold:         #c08a43;  /* dourado/ocre da marca (acento, fills) */
  --gold-escuro:  #a06f31;  /* hover do dourado */
  --bronze:       #8a5e26;  /* dourado escuro: texto-acento sobre claro */
  --areia:        #e8dec5;  /* bege */
  --creme:        #f4edda;  /* fundo padrão */
  --papel:        #faf4e6;  /* papel claro / texto sobre escuro (creme da marca) */
  --tinta:        #15211c;  /* quase-preto verde */
  --branco:       #ffffff;

  /* compat: usado em regras antigas como acento — aponta para o dourado */
  --terra:        var(--gold);
  --terra-escuro: var(--gold-escuro);

  /* Texto */
  --txt:          #211e17;
  --txt-suave:    #6c6452;
  --txt-inv:      #f4edda;
  --txt-inv-suave:#bcc6bd;

  /* Linhas (hairlines) */
  --linha:        #21342d1f;   /* sobre claro */
  --linha-forte:  #21342d40;
  --linha-inv:    #f4edda2e;   /* sobre escuro */

  /* Tipografia oficial: Kovegir (display CONCEITUAL — uso raríssimo) + Poppins (resto) */
  --display: "Kovegir", "Fraunces", "Georgia", "Times New Roman", serif;
  --titulo:  "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --sans:    "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:    "Poppins", ui-monospace, "SFMono-Regular", "Menlo", monospace;
  /* compat: títulos antes em serif agora usam Poppins (mais legível) */
  --serif: var(--titulo);

  /* Escala fluida — mais dramática, ritmo editorial */
  --t-eyebrow: clamp(.7rem, .66rem + .18vw, .78rem);
  --t-sm:   clamp(.86rem, .82rem + .2vw, .95rem);
  --t-base: clamp(1rem, .96rem + .25vw, 1.08rem);
  --t-lead: clamp(1.15rem, 1.02rem + .6vw, 1.5rem);
  --d-sm:   clamp(1.7rem, 1.3rem + 1.8vw, 2.6rem);
  --d-md:   clamp(2.3rem, 1.5rem + 3.4vw, 4rem);
  --d-lg:   clamp(3rem, 1.7rem + 5.6vw, 6.4rem);
  --d-xl:   clamp(3.6rem, 1.6rem + 8.4vw, 8.4rem);

  /* Espaço e ritmo */
  --margem: clamp(20px, 5.5vw, 120px);
  --secao-y: clamp(72px, 11vw, 168px);
  --gap: clamp(18px, 2.2vw, 40px);

  /* Cantos discretos (editorial = pouco arredondado) */
  --raio: 4px;
  --raio-md: 8px;

  /* Motion */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --dur: 480ms;

  --max: 1320px;
}

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

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body { overflow-x: clip; }

body {
  font-family: var(--sans);
  font-size: var(--t-base);
  line-height: 1.6;
  color: var(--txt);
  background: var(--creme);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01", "cv01";
}

img, picture, video, svg { display: block; max-width: 100%; }
img, video { height: auto; }
button, input, textarea, select { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; padding: 0; }

h1, h2, h3, h4 {
  font-family: var(--titulo);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.02em;
  text-wrap: balance;
}

::selection { background: var(--gold); color: var(--verde); }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

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