/* ============================================================
   Juro Simples — folha de estilos
   Paleta e tipografia definidas num único sítio.
   ============================================================ */

:root{
  --tinta:#16201D;
  --tinta-suave:#4A5551;
  --papel:#FBFAF7;
  --papel-fundo:#F2F1EC;
  --verde:#0E6B4F;
  --verde-claro:#E4F0EA;
  --ambar:#E8B33C;
  --linha:#DEDCD4;
  --erro:#9B2C2C;

  --fonte-display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --fonte-texto:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --fonte-dados:"IBM Plex Mono",ui-monospace,"Courier New",monospace;

  --largura:1120px;
  --raio:10px;
}

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

html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:var(--fonte-texto);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.envolve{width:100%;max-width:var(--largura);margin:0 auto;padding:0 24px;}

a{color:var(--verde);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
a:hover{text-decoration-thickness:2px;}
:focus-visible{outline:3px solid var(--ambar);outline-offset:2px;border-radius:3px;}

h1,h2,h3,h4{font-family:var(--fonte-display);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.4rem);}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:2.2em;}
h3{font-size:1.2rem;margin-top:1.8em;}
p{margin:0 0 1.1em;}

.sobrancelha{
  font-family:var(--fonte-dados);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--verde);margin:0 0 14px;font-weight:500;
}

/* ---------- salto para conteúdo ---------- */
.salto{position:absolute;left:-9999px;}
.salto:focus{left:8px;top:8px;position:fixed;z-index:999;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:var(--raio);}

/* ---------- cabeçalho ---------- */
.cabecalho{border-bottom:1px solid var(--linha);background:var(--papel);position:sticky;top:0;z-index:50;}
.cabecalho .envolve{display:flex;align-items:center;gap:24px;height:70px;}
.marca{font-family:var(--fonte-display);font-weight:800;font-size:1.35rem;letter-spacing:-.03em;color:var(--tinta);text-decoration:none;display:flex;align-items:center;gap:10px;}
.marca-simbolo{width:34px;height:34px;flex:0 0 34px;display:block;}
.marca-texto{display:block;}
.navegacao{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap;}
.navegacao a{color:var(--tinta-suave);text-decoration:none;font-size:.95rem;}
.navegacao a:hover,.navegacao a[aria-current="page"]{color:var(--verde);text-decoration:underline;text-underline-offset:5px;}

/* ---------- herói ---------- */
.heroi{padding:72px 0 56px;border-bottom:1px solid var(--linha);}
.heroi-grelha{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.heroi p.entrada{font-size:1.15rem;color:var(--tinta-suave);max-width:46ch;}

/* ---------- recibo (elemento-assinatura) ---------- */
.recibo{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  box-shadow:0 18px 40px -28px rgba(22,32,29,.45);
  font-family:var(--fonte-dados);font-size:.9rem;overflow:hidden;
}
.recibo-topo{
  background:var(--tinta);color:#fff;padding:14px 20px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
}
.recibo-corpo{padding:6px 20px 20px;}
.recibo-linha{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--linha);}
.recibo-linha:last-child{border-bottom:0;}
.recibo-linha span:first-child{color:var(--tinta-suave);}
.recibo-linha b{font-weight:600;font-variant-numeric:tabular-nums;}
.recibo-linha.negativo b{color:var(--erro);}
.recibo-total{
  margin:14px -20px -20px;padding:18px 20px;background:var(--verde-claro);
  border-top:2px solid var(--verde);display:flex;justify-content:space-between;align-items:baseline;gap:16px;
}
.recibo-total span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);}
.recibo-total b{font-family:var(--fonte-display);font-size:2rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.recibo-nota{padding:14px 20px;background:var(--papel-fundo);border-top:1px solid var(--linha);font-family:var(--fonte-texto);font-size:.82rem;color:var(--tinta-suave);line-height:1.5;}

/* ---------- botões ---------- */
.botao{
  display:inline-block;background:var(--verde);color:#fff;text-decoration:none;
  padding:13px 24px;border-radius:var(--raio);font-weight:600;font-size:1rem;
  border:0;cursor:pointer;font-family:var(--fonte-texto);
}
.botao:hover{background:#0A5540;}
.botao.secundario{background:transparent;color:var(--tinta);border:1.5px solid var(--tinta);}
.botao.secundario:hover{background:var(--tinta);color:#fff;}
.botoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

/* ---------- secções ---------- */
.seccao{padding:64px 0;border-bottom:1px solid var(--linha);}
.seccao h2{margin-top:0;}

.grelha-guias{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:32px;}
.cartao{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:24px;
  display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--tinta);
  transition:border-color .15s ease,transform .15s ease;
}
.cartao:hover{border-color:var(--verde);transform:translateY(-2px);}
.cartao .etiqueta{font-family:var(--fonte-dados);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);}
.cartao h3{margin:0;font-size:1.1rem;}
.cartao p{margin:0;font-size:.93rem;color:var(--tinta-suave);}
.cartao .meta{margin-top:auto;padding-top:10px;font-family:var(--fonte-dados);font-size:.72rem;color:var(--tinta-suave);}

/* ---------- faixa de fontes ---------- */
.fontes{background:var(--papel-fundo);}
.lista-fontes{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none;}
.lista-fontes li{
  font-family:var(--fonte-dados);font-size:.78rem;background:#fff;
  border:1px solid var(--linha);border-radius:100px;padding:7px 15px;
}

/* ---------- formulário / simulador ---------- */
.formulario{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:28px;}
.campo{margin-bottom:20px;}
.campo label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem;}
.campo .ajuda{display:block;font-size:.84rem;color:var(--tinta-suave);margin-bottom:8px;line-height:1.45;}
.campo input,.campo select{
  width:100%;padding:12px 14px;border:1.5px solid var(--linha);border-radius:8px;
  font-family:var(--fonte-dados);font-size:1rem;background:var(--papel);color:var(--tinta);
}
.campo input:focus,.campo select:focus{border-color:var(--verde);}
.grelha-simulador{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.mensagem-erro{color:var(--erro);font-size:.9rem;margin-top:8px;display:none;}
.mensagem-erro.visivel{display:block;}

/* ---------- artigos ---------- */
.artigo{max-width:70ch;margin:0 auto;padding:56px 0;}
.artigo .datas{font-family:var(--fonte-dados);font-size:.8rem;color:var(--tinta-suave);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:12px 0;margin:26px 0 34px;}
.artigo ul,.artigo ol{padding-left:1.3em;margin:0 0 1.1em;}
.artigo li{margin-bottom:.5em;}
.aviso{
  background:var(--verde-claro);border-left:4px solid var(--verde);
  padding:18px 20px;border-radius:0 var(--raio) var(--raio) 0;margin:28px 0;font-size:.94rem;
}
.aviso strong{display:block;margin-bottom:5px;}
.esboco{background:#FFF6E0;border-left:4px solid var(--ambar);padding:18px 20px;border-radius:0 var(--raio) var(--raio) 0;margin:28px 0;font-size:.94rem;}

.tabela{width:100%;border-collapse:collapse;font-family:var(--fonte-dados);font-size:.86rem;margin:22px 0;}
.tabela th,.tabela td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linha);}
.tabela th{background:var(--papel-fundo);font-weight:600;}
.tabela td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;}

/* ---------- rodapé ---------- */
.rodape{background:var(--tinta);color:#C9D2CE;padding:56px 0 28px;font-size:.9rem;}
.rodape a{color:#fff;text-decoration:none;}
.rodape a:hover{text-decoration:underline;}
.rodape h4{font-family:var(--fonte-display);color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;}
.rodape-grelha{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
.rodape ul{list-style:none;margin:0;padding:0;}
.rodape li{margin-bottom:9px;}
.rodape-base{border-top:1px solid #2C3B36;margin-top:40px;padding-top:22px;font-size:.8rem;line-height:1.6;color:#9AA8A3;}
.rodape-base p{margin:0 0 .7em;}

/* ---------- banner de cookies ---------- */
.cookies{
  position:fixed;left:0;right:0;bottom:0;z-index:200;background:#fff;
  border-top:2px solid var(--tinta);padding:22px 0;
  box-shadow:0 -12px 40px -20px rgba(22,32,29,.5);display:none;
}
.cookies.visivel{display:block;}
.cookies h4{margin:0 0 8px;font-family:var(--fonte-display);font-size:1.05rem;}
.cookies p{margin:0 0 16px;font-size:.9rem;color:var(--tinta-suave);max-width:70ch;}
/* Os três botões têm exatamente o mesmo peso visual — exigência da CNPD. */
.cookies-botoes{display:flex;gap:12px;flex-wrap:wrap;}
.cookies-botoes button{
  flex:0 0 auto;min-width:170px;padding:13px 20px;border-radius:var(--raio);
  font-family:var(--fonte-texto);font-size:1rem;font-weight:600;cursor:pointer;
  background:#fff;color:var(--tinta);border:1.5px solid var(--tinta);
}
.cookies-botoes button:hover{background:var(--tinta);color:#fff;}

@media (max-width:860px){
  .heroi-grelha,.grelha-simulador,.rodape-grelha{grid-template-columns:1fr;gap:34px;}
  .cabecalho .envolve{height:auto;padding-top:14px;padding-bottom:14px;flex-wrap:wrap;gap:12px;}
  .navegacao{margin-left:0;width:100%;gap:16px;}
  .heroi{padding:44px 0 40px;}
  .cookies-botoes button{flex:1 1 100%;min-width:0;}
}


/* ---------- ilustrações e ornamentos ---------- */
.heroi{position:relative;overflow:hidden;}
.heroi::before{
  content:"";position:absolute;top:-140px;right:-160px;width:460px;height:460px;
  background:radial-gradient(circle at 50% 50%,rgba(14,107,79,.10),transparent 68%);
  pointer-events:none;
}
.selo{
  display:inline-flex;align-items:center;gap:8px;background:var(--verde-claro);
  border:1px solid rgba(14,107,79,.24);color:var(--verde);border-radius:100px;
  padding:6px 14px;font-family:var(--fonte-dados);font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;
}
.selo svg{width:13px;height:13px;}

.cartao .icone{
  width:42px;height:42px;border-radius:10px;background:var(--verde-claro);
  display:flex;align-items:center;justify-content:center;margin-bottom:4px;
}
.cartao .icone svg{width:22px;height:22px;stroke:var(--verde);fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}

.grafico-fundo{width:100%;height:auto;display:block;margin-top:26px;border-radius:var(--raio);
  border:1px solid var(--linha);background:#fff;}

/* ---------- formulários: novos elementos ---------- */
.grupo-titulo{
  font-family:var(--fonte-dados);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;
  color:var(--verde);margin:30px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--linha);
}
.formulario > .grupo-titulo:first-child{margin-top:0;}

.campo-duplo{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;}

.campo.caixa,.caixa{display:flex;align-items:center;gap:10px;}
.caixa.alinhado{align-items:flex-start;}
.caixa input[type="checkbox"]{
  width:19px;height:19px;flex:0 0 19px;margin:0;accent-color:var(--verde);cursor:pointer;
}
.caixa.alinhado input[type="checkbox"]{margin-top:3px;}
.caixa label{margin:0;font-weight:400;font-size:.93rem;line-height:1.5;cursor:pointer;}

.campo textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--linha);border-radius:8px;
  font-family:var(--fonte-texto);font-size:1rem;background:var(--papel);color:var(--tinta);
  resize:vertical;line-height:1.6;
}
.campo textarea:focus{border-color:var(--verde);}

/* Campo-armadilha para robôs: invisível para pessoas, preenchido por bots. */
.armadilha{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;}

.estado{margin:16px 0 0;font-size:.93rem;padding:0;}
.estado.sucesso{background:var(--verde-claro);border-left:4px solid var(--verde);padding:14px 16px;border-radius:0 8px 8px 0;}
.estado-nota{display:block;margin-top:6px;font-size:.85rem;color:var(--tinta-suave);font-weight:400;}
.estado.erro{background:#FDECEC;border-left:4px solid var(--erro);padding:14px 16px;border-radius:0 8px 8px 0;color:var(--erro);}

.aviso-inline{
  background:#FFF6E0;border-left:4px solid var(--ambar);padding:15px 17px;
  border-radius:0 8px 8px 0;margin:0 0 20px;font-size:.9rem;line-height:1.55;
}
.aviso-inline strong{display:block;margin-bottom:4px;}

#resultado{transition:opacity .18s ease;position:sticky;top:96px;}
@media (max-width:860px){#resultado{position:static;}}

/* ---------- lista de passos (página Sobre) ---------- */
.passos{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px;}
.passos li{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--linha);
  border-radius:var(--raio);padding:20px 22px;}
.passo-n{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--tinta);color:var(--ambar);
  font-family:var(--fonte-dados);font-size:.86rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.passos b{display:block;margin-bottom:3px;}
.passos div{font-size:.95rem;color:var(--tinta-suave);}
.passos b{color:var(--tinta);}

/* ---------- partilha ---------- */
.partilha{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:36px 0 8px;padding:18px 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
}
.partilha-titulo{
  font-family:var(--fonte-dados);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--tinta-suave);margin-right:4px;
}
.partilha button,.partilha a{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:#fff;border:1.5px solid var(--linha);border-radius:100px;
  padding:9px 15px;font-family:var(--fonte-texto);font-size:.86rem;font-weight:600;
  color:var(--tinta);cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s;
}
.partilha button:hover,.partilha a:hover{border-color:var(--verde);background:var(--verde-claro);color:var(--verde);}
.partilha svg{width:16px;height:16px;flex:0 0 16px;}
.partilha .copiado{color:var(--verde);border-color:var(--verde);background:var(--verde-claro);}

/* ---------- convite para o Instagram ---------- */
.instagram-bloco{
  background:var(--tinta);color:#E4EAE7;border-radius:var(--raio);
  padding:34px 36px;margin:44px 0 0;display:flex;align-items:center;gap:28px;flex-wrap:wrap;
}
.instagram-bloco h3{color:#fff;margin:0 0 6px;font-size:1.3rem;}
.instagram-bloco p{margin:0;font-size:.95rem;color:#A9B6B1;max-width:52ch;}
.instagram-bloco .botao-ig{
  margin-left:auto;display:inline-flex;align-items:center;gap:9px;
  background:var(--ambar);color:var(--tinta);text-decoration:none;font-weight:700;
  padding:13px 22px;border-radius:100px;white-space:nowrap;
}
.instagram-bloco .botao-ig:hover{background:#F0C25C;}
.instagram-bloco .botao-ig svg{width:19px;height:19px;}
@media (max-width:700px){
  .instagram-bloco{padding:26px;}
  .instagram-bloco .botao-ig{margin-left:0;width:100%;justify-content:center;}
}

/* ícone do Instagram na navegação */
.nav-ig{display:inline-flex;align-items:center;gap:6px;}
.nav-ig svg{width:17px;height:17px;}

/* ---------- menus suspensos da navegação ---------- */
.menu-suspenso{position:relative;display:inline-block;}

/* Área de toque generosa e sem saltos entre o botão e a lista. */
.menu-botao{
  display:inline-flex;align-items:center;gap:5px;background:none;border:0;
  padding:10px 0;margin:-10px 0;
  font-family:var(--fonte-texto);font-size:.95rem;color:var(--tinta-suave);cursor:pointer;
}
.menu-botao svg{width:14px;height:14px;transition:transform .15s ease;}
.menu-botao:hover,.menu-botao.ativo{color:var(--verde);}
.menu-botao.ativo{text-decoration:underline;text-underline-offset:5px;}
.menu-suspenso[data-aberto="1"] .menu-botao{color:var(--verde);}
.menu-suspenso[data-aberto="1"] .menu-botao svg{transform:rotate(180deg);}

/* A lista arranca colada ao botão. O espaço visual vem do padding
   interno, para o cursor nunca atravessar uma zona morta. */
.menu-lista{
  position:absolute;top:100%;left:-14px;z-index:80;
  padding-top:12px;min-width:300px;display:none;
}
.menu-suspenso[data-aberto="1"] .menu-lista{display:block;}
.menu-lista-interior{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  box-shadow:0 22px 44px -26px rgba(22,32,29,.5);padding:8px;
}
.menu-lista a{
  display:block;padding:11px 13px;border-radius:8px;text-decoration:none;color:var(--tinta);
}
.menu-lista a:hover,.menu-lista a:focus-visible{background:var(--verde-claro);}
.menu-lista a[aria-current="page"]{background:var(--verde-claro);}
.menu-lista b{display:block;font-size:.94rem;font-weight:600;}
.menu-lista span{display:block;font-size:.82rem;color:var(--tinta-suave);margin-top:1px;}

@media (max-width:860px){
  .menu-suspenso{width:100%;}
  .menu-botao{width:100%;justify-content:space-between;padding:12px 0;margin:0;}
  .menu-lista{position:static;min-width:0;padding-top:8px;}
  .menu-lista-interior{box-shadow:none;}
}

/* ---------- ferramenta de património ---------- */
.pat-grelha{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start;}
@media (max-width:900px){.pat-grelha{grid-template-columns:1fr;}}

.posicoes{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:8px;}
.posicoes th{
  text-align:left;font-family:var(--fonte-dados);font-size:.68rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--tinta-suave);padding:8px 10px;border-bottom:1px solid var(--linha);
}
.posicoes td{padding:11px 10px;border-bottom:1px solid var(--linha);vertical-align:middle;}
.posicoes td:nth-child(3),.posicoes td:nth-child(4){text-align:right;font-family:var(--fonte-dados);font-variant-numeric:tabular-nums;}
.posicoes .apagar{
  background:none;border:0;color:var(--tinta-suave);cursor:pointer;font-size:1.1rem;line-height:1;padding:4px 6px;border-radius:6px;
}
.posicoes .apagar:hover{background:#FDECEC;color:var(--erro);}
.etiqueta-tipo{
  display:inline-block;font-family:var(--fonte-dados);font-size:.68rem;text-transform:uppercase;
  letter-spacing:.08em;padding:3px 8px;border-radius:100px;background:var(--papel-fundo);color:var(--tinta-suave);
}
.vazio{padding:28px;text-align:center;color:var(--tinta-suave);font-size:.93rem;background:var(--papel-fundo);border-radius:var(--raio);}

.barras{margin:0;padding:0;list-style:none;}
.barras li{margin-bottom:14px;}
.barras .topo{display:flex;justify-content:space-between;font-size:.88rem;margin-bottom:5px;gap:12px;}
.barras .topo b{font-family:var(--fonte-dados);font-variant-numeric:tabular-nums;}
.barras .calha{height:9px;background:var(--papel-fundo);border-radius:100px;overflow:hidden;}
.barras .barra{height:100%;border-radius:100px;}

.indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:22px;}
.indicador{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:16px 18px;}
.indicador .valor{font-family:var(--fonte-display);font-size:1.65rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;display:block;}
.indicador .rotulo{font-size:.8rem;color:var(--tinta-suave);display:block;margin-top:2px;line-height:1.35;}
.indicador .nota{font-size:.76rem;color:var(--tinta-suave);display:block;margin-top:7px;padding-top:7px;border-top:1px solid var(--linha);}

.tabs{display:flex;gap:6px;border-bottom:1px solid var(--linha);margin:0 0 24px;flex-wrap:wrap;}
.tabs button{
  background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;
  padding:11px 14px;font-family:var(--fonte-texto);font-size:.95rem;font-weight:600;
  color:var(--tinta-suave);cursor:pointer;
}
.tabs button.ativo{color:var(--verde);border-bottom-color:var(--verde);}
.painel{display:none;}
.painel.ativo{display:block;}

.linha-form{display:grid;grid-template-columns:1.3fr 1fr .9fr auto;gap:10px;align-items:end;}
@media (max-width:700px){.linha-form{grid-template-columns:1fr;}}
.linha-form .campo{margin-bottom:0;}

.ferramentas-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.ferramentas-acoes button{
  background:#fff;border:1.5px solid var(--linha);border-radius:100px;padding:9px 16px;
  font-family:var(--fonte-texto);font-size:.86rem;font-weight:600;color:var(--tinta);cursor:pointer;
}
.ferramentas-acoes button:hover{border-color:var(--verde);color:var(--verde);}

.tabela-anos{width:100%;border-collapse:collapse;font-family:var(--fonte-dados);font-size:.84rem;margin-top:18px;}
.tabela-anos th{background:var(--papel-fundo);text-align:left;padding:9px 11px;font-weight:600;border-bottom:1px solid var(--linha);}
.tabela-anos td{padding:9px 11px;border-bottom:1px solid var(--linha);}
.tabela-anos td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;}
.tabela-anos tr:last-child td{font-weight:600;background:var(--verde-claro);}

/* ---------- perguntas frequentes ---------- */
.faq{
  border:1px solid var(--linha);border-radius:var(--raio);background:#fff;
  margin-bottom:10px;overflow:hidden;
}
.faq summary{
  cursor:pointer;padding:15px 18px;font-weight:600;font-size:1rem;list-style:none;
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";font-family:var(--fonte-dados);font-size:1.3rem;line-height:1;
  color:var(--verde);flex:0 0 auto;transition:transform .15s ease;
}
.faq[open] summary::after{content:"−";}
.faq summary:hover{background:var(--verde-claro);}
.faq > div{padding:0 18px 16px;font-size:.95rem;color:var(--tinta-suave);}
.faq > div p{margin:0;}

/* ---------- calendários ---------- */
.evento{
  display:flex;gap:18px;align-items:flex-start;background:#fff;
  border:1px solid var(--linha);border-radius:var(--raio);padding:18px 20px;margin-bottom:10px;
  transition:border-color .15s ease;
}
.evento.destaque{border-color:var(--verde);border-left-width:4px;background:var(--verde-claro);}
.evento.passado{opacity:.45;}
.evento .data{
  flex:0 0 92px;font-family:var(--fonte-dados);font-size:.8rem;line-height:1.35;color:var(--tinta-suave);
}
.evento .data b{display:block;font-size:1.5rem;color:var(--tinta);font-weight:600;letter-spacing:-.02em;}
.evento .corpo{flex:1;min-width:0;}
.evento-titulo{display:block;font-weight:600;font-size:1.02rem;margin-bottom:3px;}
.evento .descricao{font-size:.92rem;color:var(--tinta-suave);margin:0;}
.evento .quando{
  display:inline-block;margin-top:8px;font-family:var(--fonte-dados);font-size:.74rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--verde);
}
.evento .selo-fonte{
  flex:0 0 auto;font-family:var(--fonte-dados);font-size:.68rem;text-transform:uppercase;
  letter-spacing:.08em;background:var(--papel-fundo);color:var(--tinta-suave);
  padding:4px 10px;border-radius:100px;align-self:flex-start;
}
@media (max-width:640px){
  .evento{flex-wrap:wrap;gap:12px;}
  .evento .data{flex:0 0 100%;}
  .evento .data b{display:inline;font-size:1.1rem;}
}

/* ---------- registo de alterações ---------- */
.registo{border-left:2px solid var(--linha);padding-left:26px;margin-left:8px;}
.registo-entrada{position:relative;padding-bottom:32px;}
.registo-entrada::before{
  content:"";position:absolute;left:-33px;top:6px;width:11px;height:11px;
  border-radius:50%;background:var(--verde);border:3px solid var(--papel);
}
.registo-data{
  font-family:var(--fonte-dados);font-size:.74rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--tinta-suave);display:block;margin-bottom:5px;
}
.registo-entrada h3{margin:0 0 8px;font-size:1.1rem;}
.registo-entrada p{margin:0 0 8px;font-size:.95rem;}
.registo-entrada .fonte{font-size:.85rem;color:var(--tinta-suave);}

/* ---------- calendários ---------- */
.proximo{
  background:var(--tinta);color:#fff;border-radius:var(--raio);
  padding:26px 30px;margin:30px 0 34px;display:none;
}
.proximo.visivel{display:block;}
.proximo .rotulo{
  font-family:var(--fonte-dados);font-size:.7rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--ambar);display:block;margin-bottom:10px;
}
.proximo h2{color:#fff;margin:0 0 8px;font-size:1.45rem;}
.proximo p{margin:0;color:#A9B6B1;font-size:.95rem;max-width:64ch;}
.proximo .contagem{
  display:inline-block;margin-top:16px;background:rgba(232,179,60,.16);
  color:var(--ambar);border-radius:100px;padding:7px 16px;
  font-family:var(--fonte-dados);font-size:.84rem;font-weight:500;
}

.calendario{list-style:none;margin:0;padding:0;}
.evento{
  display:flex;gap:22px;align-items:flex-start;
  padding:20px 0;border-bottom:1px solid var(--linha);
}
.evento:first-child{border-top:1px solid var(--linha);}
.evento-data{
  flex:0 0 62px;text-align:center;background:var(--papel-fundo);
  border-radius:10px;padding:9px 4px;
}
.evento-data .dia{
  display:block;font-family:var(--fonte-display);font-size:1.5rem;
  line-height:1;letter-spacing:-.03em;
}
.evento-data .mes{
  display:block;font-family:var(--fonte-dados);font-size:.66rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--tinta-suave);margin-top:4px;
}
.evento-corpo{flex:1;min-width:0;}
.evento-corpo h3{margin:6px 0 4px;font-size:1.05rem;}
.evento-corpo p{margin:0;font-size:.93rem;color:var(--tinta-suave);}
.evento-hora{
  display:inline-block;margin-top:8px;font-family:var(--fonte-dados);
  font-size:.76rem;color:var(--verde);background:var(--verde-claro);
  border-radius:100px;padding:3px 11px;
}
.evento.destaque .evento-data{background:var(--verde);color:#fff;}
.evento.destaque .evento-data .mes{color:rgba(255,255,255,.75);}
.evento.passado{opacity:.42;}
@media (max-width:600px){
  .evento{gap:14px;}
  .evento-data{flex:0 0 52px;padding:7px 3px;}
  .evento-data .dia{font-size:1.25rem;}
}

/* ---------- registo de alterações ---------- */
.registo{list-style:none;margin:34px 0 0;padding:0;}
.registo-item{
  display:flex;gap:24px;align-items:flex-start;
  padding:26px 0;border-top:1px solid var(--linha);
}
.registo-item:last-child{border-bottom:1px solid var(--linha);}
.registo-data{
  flex:0 0 74px;text-align:center;background:var(--verde-claro);
  border-radius:10px;padding:11px 5px;
}
.registo-data b{
  display:block;font-family:var(--fonte-display);font-size:1.5rem;
  line-height:1;letter-spacing:-.03em;color:var(--verde);
}
.registo-data span{
  display:block;font-family:var(--fonte-dados);font-size:.65rem;
  text-transform:uppercase;letter-spacing:.09em;color:var(--verde);margin-top:4px;
}
.registo-corpo{flex:1;min-width:0;}
.registo-corpo h3{margin:7px 0 7px;font-size:1.15rem;}
.registo-corpo > p{margin:0 0 10px;font-size:.96rem;line-height:1.6;}
.registo-fonte,.registo-afeta{font-size:.86rem;color:var(--tinta-suave);margin:0 0 5px;}
.registo-afeta strong{color:var(--tinta);}
@media (max-width:600px){
  .registo-item{gap:14px;}
  .registo-data{flex:0 0 58px;padding:8px 4px;}
  .registo-data b{font-size:1.2rem;}
}

/* ---------------------------------------------------------------- resumos */
.resumo-indice{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 6px;}
.resumo-indice a{font-size:13px;text-decoration:none;color:var(--verde);
  border:1px solid var(--linha);background:#fff;border-radius:999px;padding:6px 13px;}
.resumo-indice a:hover{border-color:var(--verde);}

.resumo-seccao{font-size:14px;font-family:var(--fonte-dados);
  letter-spacing:.16em;text-transform:uppercase;color:var(--verde);
  margin:42px 0 6px;padding-top:22px;border-top:1px solid var(--linha);}

.resumo-item{border-bottom:1px solid var(--linha);}
.resumo-item summary{list-style:none;cursor:pointer;padding:17px 34px 17px 0;
  position:relative;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--tinta);}
.resumo-item summary::-webkit-details-marker{display:none;}
.resumo-item summary::after{content:"";position:absolute;right:6px;top:24px;width:9px;height:9px;
  border-right:2px solid var(--verde);border-bottom:2px solid var(--verde);
  transform:rotate(45deg);transition:transform .18s ease;}
.resumo-item[open] summary::after{transform:rotate(-135deg);}
.resumo-item summary:hover{color:var(--verde);}
.resumo-data{display:block;font-family:var(--fonte-dados);
  font-size:12px;color:var(--tinta-suave);font-weight:400;letter-spacing:.06em;margin-bottom:4px;}
.resumo-corpo{padding:0 34px 20px 0;color:var(--tinta-suave);font-size:15.5px;}
.resumo-corpo p{margin:0 0 10px;}
.resumo-corpo strong{color:var(--verde);}
.resumo-fonte{font-family:var(--fonte-dados);font-size:12px;color:#7A8480;}

.resumo-miudos{background:var(--papel-fundo);border-left:3px solid var(--linha);
  padding:4px 18px 8px;margin:8px 0 0;}
.resumo-miudos .resumo-item{border-bottom:1px solid #DFDDD5;}
.resumo-miudos .resumo-item:last-child{border-bottom:none;}

.resumo-arquivo{list-style:none;padding:0;margin:14px 0 0;}
.resumo-arquivo li{border-bottom:1px solid var(--linha);}
.resumo-arquivo a{display:flex;justify-content:space-between;gap:16px;
  padding:15px 0;text-decoration:none;color:var(--tinta);font-weight:600;}
.resumo-arquivo a:hover{color:var(--verde);}
.resumo-arquivo span{font-family:var(--fonte-dados);
  font-size:12px;color:var(--tinta-suave);font-weight:400;white-space:nowrap;}

.menu-lista .menu-todas{border-top:1px solid var(--linha);margin-top:6px;padding-top:12px;}
.menu-lista .menu-todas b{color:var(--verde);}
