
/* Método EFI | Ana Gonçalves, Investimentos & Impostos
   Tokens e componentes base do Design System v1.0 (setembro 2026).
   Os caminhos das fontes são relativos a este ficheiro; o script efi_build.py
   converte-os em data URIs quando a peça tem de ser autónoma. */

@font-face { font-family: "Montserrat"; font-weight: 400; font-display: swap; src: url("/media/6e2658ad73dd.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 500; font-display: swap; src: url("/media/12a7d81d936e.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 600; font-display: swap; src: url("/media/a4f64ab8a0fa.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 700; font-display: swap; src: url("/media/ae5da15d6686.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: swap; src: url("/media/430012e873da.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 500; font-display: swap; src: url("/media/fb422d2facc6.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: swap; src: url("/media/ada73f9a5d84.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 700; font-display: swap; src: url("/media/9f9cec816707.woff2") format("woff2"); }

:root {
  /* Paleta principal */
  --efi-verde: #1F4F3A;        /* cor principal, confiança, estratégia (25%) */
  --efi-azul: #1F2A44;         /* estrutura, autoridade, títulos (10%) */
  --efi-bordo: #7A1E2D;        /* alerta, decisão, ênfase (5%, nunca fundo dominante) */
  /* Neutros e apoio */
  --efi-branco: #FFFFFF;
  --efi-tinta: #20252A;        /* texto corrente */
  --efi-tinta-suave: #68716D;  /* texto de apoio */
  --efi-verde-claro: #E9F0EC;  /* fundos suaves */
  --efi-azul-claro: #EBEDF2;   /* fundos institucionais */
  --efi-bordo-claro: #F3E9EB;  /* riscos, exceções, avisos */
  --efi-linha: #D5DAD7;        /* linhas finas de 1px */

  /* Tipografia */
  --efi-font-titulo: "Montserrat", "Segoe UI", Arial, sans-serif;
  --efi-font-texto: "Source Sans 3", "Segoe UI", Arial, sans-serif;

  /* Escala de espaçamento, base 4px */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px;

  /* Forma: cantos retos em documentos; no digital, sm para botões e md para caixas */
  --radius-sm: 8px;
  --radius-md: 14px;
}

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

body {
  margin: 0;
  background: var(--efi-branco);
  color: var(--efi-tinta);
  font-family: var(--efi-font-texto);
  font-size: 17px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .efi-titulo { font-family: var(--efi-font-titulo); color: var(--efi-azul); line-height: 1.12; margin: 0 0 var(--space-4); }
h1 { font-weight: 700; font-size: clamp(34px, 5vw, 48px); letter-spacing: -0.01em; }
h2 { font-weight: 700; font-size: clamp(28px, 3.6vw, 36px); }
h3 { font-weight: 600; font-size: clamp(20px, 2.4vw, 26px); }
p  { margin: 0 0 var(--space-4); }
strong, .efi-destaque { font-weight: 600; }

/* Filete bordô curto por baixo de títulos */
.efi-filete { display: block; width: 72px; height: 3px; background: var(--efi-bordo); border: 0; margin: var(--space-3) 0 var(--space-6); }

/* Etiqueta em versaletes espaçados (kicker) */
.efi-etiqueta {
  font-family: var(--efi-font-titulo); font-weight: 600; font-size: 13px;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--efi-azul);
}

/* Botões */
.efi-btn {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-family: var(--efi-font-titulo); font-weight: 600; font-size: 14px; letter-spacing: 0.02em;
  padding: 14px 26px; border-radius: var(--radius-sm); text-decoration: none; cursor: pointer;
  border: 2px solid var(--efi-verde); background: var(--efi-verde); color: var(--efi-branco);
}
.efi-btn--secundario { background: var(--efi-branco); color: var(--efi-azul); border-color: var(--efi-azul); }
.efi-btn--decisao { background: var(--efi-bordo); border-color: var(--efi-bordo); }  /* só para o CTA principal de lançamento */
.efi-btn:focus-visible, a:focus-visible, input:focus-visible, button:focus-visible {
  outline: 3px solid var(--efi-azul); outline-offset: 3px; box-shadow: 0 0 0 6px var(--efi-branco);
}

/* Cards de oferta: benefício, destinatário e CTA */
.efi-card {
  background: var(--efi-branco); border: 1px solid var(--efi-linha); border-radius: var(--radius-md);
  padding: var(--space-6); box-shadow: 0 6px 20px rgba(31, 42, 68, 0.06);
}
.efi-card h3 { font-size: 18px; margin-bottom: var(--space-2); }

/* Marca de atenção: linha bordô à esquerda sobre bordô claro */
.efi-atencao {
  display: flex; gap: var(--space-4); align-items: flex-start;
  background: var(--efi-bordo-claro); border-left: 4px solid var(--efi-bordo);
  padding: var(--space-4) var(--space-5); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.efi-atencao__titulo { font-family: var(--efi-font-titulo); font-weight: 700; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--efi-azul); }
.efi-atencao svg { flex: none; width: 28px; height: 28px; color: var(--efi-bordo); }

/* Estados de formulário: sempre ícone + texto */
.efi-estado { display: flex; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-sm); }
.efi-estado--sucesso { background: var(--efi-verde-claro); }
.efi-estado--erro { background: var(--efi-bordo-claro); color: var(--efi-bordo); }
.efi-estado--info { background: var(--efi-azul-claro); }

/* Citação de marca */
.efi-citacao {
  background: var(--efi-verde-claro); border-radius: var(--radius-md); padding: var(--space-7) var(--space-8);
  font-family: var(--efi-font-titulo); font-weight: 700; font-size: 26px; color: var(--efi-azul);
}

/* Faixa bordô (não usar como faixa de conclusão nos posts estáticos; ver redes-sociais.md) */
.efi-faixa { background: var(--efi-bordo); color: var(--efi-branco); font-family: var(--efi-font-titulo); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: var(--space-5) var(--space-7); }

/* Pontos da paleta no rodapé */
.efi-pontos { display: inline-flex; gap: 6px; }
.efi-pontos i { width: 12px; height: 12px; border-radius: 50%; display: block; }
.efi-pontos i:nth-child(1) { background: var(--efi-verde); }
.efi-pontos i:nth-child(2) { background: var(--efi-azul); }
.efi-pontos i:nth-child(3) { background: var(--efi-bordo); }

/* Ícones lineares: traço 1,5px, verde por omissão */
.efi-icone { width: 28px; height: 28px; stroke: var(--efi-verde); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }

