/* Estilo compartilhado do site do Fin. Sem framework nem fonte externa:
   carrega rápido em 4G e não vaza dado de visitante pra CDN de terceiro
   (o que também simplifica a política de privacidade). */

:root {
  --verde: #128c7e;
  --verde-claro: #25d366;
  --tinta: #14202b;
  --tinta-suave: #4a5a68;
  --fundo: #ffffff;
  --fundo-suave: #f4f7f6;
  --borda: #e2e8e6;
  --largura: 680px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --verde: #25d366;
    --verde-claro: #25d366;
    --tinta: #e8eef2;
    --tinta-suave: #9fb0bd;
    --fundo: #10171d;
    --fundo-suave: #172029;
    --borda: #26333d;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--tinta);
  background: var(--fundo);
  -webkit-text-size-adjust: 100%;
}

.container {
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 20px;
}

/* ---- Cabeçalho ---- */
header.topo {
  padding: 28px 0;
  border-bottom: 1px solid var(--borda);
}
.marca {
  font-size: 21px;
  font-weight: 700;
  color: var(--verde);
  text-decoration: none;
  letter-spacing: -0.02em;
}

/* ---- Herói ---- */
.heroi { padding: 64px 0 48px; }
.heroi h1 {
  font-size: clamp(30px, 6vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin: 0 0 20px;
}
.heroi p.chamada {
  font-size: clamp(18px, 3vw, 21px);
  color: var(--tinta-suave);
  margin: 0 0 32px;
}

.botao {
  display: inline-block;
  background: var(--verde);
  color: #fff;
  padding: 15px 30px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 17px;
}
.botao:hover { opacity: 0.9; }
.sob-botao {
  font-size: 15px;
  color: var(--tinta-suave);
  margin-top: 14px;
}

/* ---- Conversa de exemplo ---- */
.conversa {
  background: var(--fundo-suave);
  border: 1px solid var(--borda);
  border-radius: 14px;
  padding: 20px;
  margin: 40px 0;
}
.balao {
  padding: 11px 15px;
  border-radius: 12px;
  margin-bottom: 10px;
  max-width: 85%;
  font-size: 16px;
  white-space: pre-line;
}
.balao.eu {
  background: var(--verde-claro);
  color: #04211a;
  margin-left: auto;
  border-bottom-right-radius: 3px;
}
.balao.fin {
  background: var(--fundo);
  border: 1px solid var(--borda);
  border-bottom-left-radius: 3px;
}

/* ---- Seções ---- */
section { padding: 40px 0; }
h2 {
  font-size: 26px;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}
.recurso {
  border-top: 1px solid var(--borda);
  padding: 20px 0;
}
.recurso h3 { margin: 0 0 6px; font-size: 18px; }
.recurso p { margin: 0; color: var(--tinta-suave); }

/* ---- Preço ---- */
.preco {
  background: var(--fundo-suave);
  border: 1px solid var(--borda);
  border-radius: 14px;
  padding: 32px;
  text-align: center;
}
.preco .valor {
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.preco .valor span { font-size: 18px; font-weight: 400; color: var(--tinta-suave); }

/* ---- Rodapé ---- */
footer {
  border-top: 1px solid var(--borda);
  padding: 32px 0 48px;
  margin-top: 40px;
  font-size: 15px;
  color: var(--tinta-suave);
}
footer a { color: var(--tinta-suave); }
footer nav { margin-bottom: 12px; }
footer nav a { margin-right: 18px; }

/* ---- Páginas de texto legal ---- */
.legal { padding: 48px 0; }
.legal h1 { font-size: 32px; letter-spacing: -0.02em; margin-bottom: 6px; }
.legal .atualizado { color: var(--tinta-suave); font-size: 15px; margin-bottom: 36px; }
.legal h2 { font-size: 20px; margin-top: 36px; }
.legal ul { padding-left: 22px; }
.legal li { margin-bottom: 8px; }
.legal table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  font-size: 15px;
}
.legal th, .legal td {
  border: 1px solid var(--borda);
  padding: 9px 11px;
  text-align: left;
  vertical-align: top;
}
.legal th { background: var(--fundo-suave); }
.rolagem { overflow-x: auto; }
