@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2")}

/* Tokens: cores do manual da marca (seção 5); variações calculadas para passar no WCAG AA. */
:root{
  --marinho:#14243A;
  --marinho-2:#1C3150;      /* superfície sobre o marinho */
  --marinho-3:#24406A;      /* estado com inscrição aberta, no mapa */
  --marinho-linha:#2E4466;
  --azul:#3978F6;           /* gráficos e preenchimentos */
  --azul-acao:#2A62D8;      /* botão e link sobre claro: 5,5:1 com branco */
  --azul-claro:#9BBCFF;     /* link sobre marinho */
  --ouro:#F2C94C;           /* oportunidade: colunas do mapa, prazo apertado, dinheiro chegando */
  --ardosia:#5E6B7A;
  --fundo:#F4F7FC;
  --branco:#FFFFFF;
  --linha:#DCE3EE;
  --linha-forte:#C3CEDF;
  --texto-escuro-2:#AEBBCD; /* texto secundário sobre marinho: 7,6:1 */

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;

  /* escala 1,25 sobre 16 px; títulos grandes com tracking negativo, como Stripe e Linear */
  --t-meta:.875rem;
  --t-corpo:1rem;
  --t-lead:1.25rem;
  --t-h3:1.25rem;
  --t-h2:clamp(1.5625rem,1.2rem + 1.4vw,2.4375rem);
  --t-h1:clamp(1.75rem,1.35rem + 1.7vw,2.4375rem);
  --t-hero:clamp(2.5rem,1.4rem + 4.4vw,4.75rem);

  --entrada:cubic-bezier(.16,1,.3,1);
  --saida:cubic-bezier(.3,0,.8,.15);
  --raio-p:4px;
  --raio-m:8px;
  --raio-g:12px;
  --gutter:20px;
  --barra-h:72px;
}
@media (min-width:768px){:root{--gutter:48px}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:calc(var(--barra-h) + var(--s4));-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Manrope",system-ui,sans-serif;font-size:var(--t-corpo);line-height:1.5;color:var(--marinho);background:var(--fundo);overflow-x:clip}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
img{display:block;max-width:100%;height:auto}
a{color:var(--azul-acao)}
button,input,select{font:inherit;color:inherit}
fieldset{margin:0;padding:0;border:0;min-width:0}
:focus-visible{outline:2px solid var(--azul-acao);outline-offset:2px}
.conteiner{width:100%;max-width:calc(1200px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nota{margin-top:var(--s1);font-size:var(--t-meta);color:var(--ardosia)}

.pular{position:absolute;left:var(--s4);top:-100px;z-index:100;background:var(--branco);color:var(--marinho);padding:var(--s3) var(--s4);border-radius:var(--raio-m);font-weight:700}
.pular:focus{top:var(--s3)}

/* ---------- barra ---------- */
.barra{position:sticky;top:0;z-index:20;background:var(--marinho);border-bottom:1px solid var(--marinho-linha)}
.barra-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);height:var(--barra-h)}
.marca{display:flex;align-items:center;min-height:48px}
.marca img{width:200px;height:auto}
.nav{display:flex;gap:var(--s1)}
.nav a{display:flex;align-items:center;min-height:44px;padding-inline:var(--s3);color:var(--texto-escuro-2);text-decoration:none;font-weight:600;border-radius:var(--raio-p);white-space:nowrap}
.nav a:hover{color:var(--branco)}
.nav a[aria-current=page]{color:var(--branco);box-shadow:inset 0 -2px 0 var(--ouro)}
/* sem login o topo mostra só o "Entrar"; o Worker marca o menu como .logado para quem entrou (worker/menu.js) */
.nav a.so-logado{display:none}
.nav.logado a.so-logado{display:flex}
/* Entrar / Sair: o Worker troca o texto e o link quando a pessoa já entrou (worker/index.js) */
.nav a.nav-conta{margin-left:var(--s2);padding-inline:var(--s4);border:1px solid var(--marinho-linha);border-radius:var(--raio-m);color:var(--branco)}
.nav a.nav-conta:hover{border-color:var(--azul-claro)}
.conta{position:relative;margin-left:var(--s2)}
.conta summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;cursor:pointer;list-style:none}
.conta summary::-webkit-details-marker{display:none}
.conta summary img,.conta summary .conta-inicial{width:36px;height:36px;box-shadow:0 0 0 2px var(--marinho-linha)}
.conta[open] summary img,.conta[open] summary .conta-inicial,.conta summary:hover img,.conta summary:hover .conta-inicial{box-shadow:0 0 0 2px var(--ouro)}
.conta img,.conta-foto img,.conta-inicial{border-radius:50%;object-fit:cover}
.conta-inicial{display:flex;align-items:center;justify-content:center;background:var(--azul-acao);color:var(--branco);font-weight:800}
.conta-menu{position:absolute;right:0;top:calc(100% + var(--s2));min-width:220px;display:grid;padding:var(--s2);background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-g);box-shadow:0 12px 32px rgba(20,36,58,.18);z-index:30}
.conta-nome{padding:var(--s2) var(--s3) var(--s3);margin-bottom:var(--s1);border-bottom:1px solid var(--linha);font-weight:800;color:var(--marinho)}
.nav .conta-menu a{min-height:44px;padding:0 var(--s3);border-radius:var(--raio-m);color:var(--marinho);font-size:var(--t-corpo)}
.nav .conta-menu a:hover{background:var(--fundo);color:var(--marinho)}
.conta-menu .so-celular{display:none}
.barra .conta-menu :focus-visible{outline-color:var(--azul-acao)}
.barra :focus-visible,.hero :focus-visible,.painel-topo :focus-visible,.patro :focus-visible,.rodape :focus-visible{outline-color:var(--branco)}
@media (max-width:640px){
  :root{--barra-h:64px}
  .marca img{width:150px}
  .nav a{padding-inline:var(--s2);font-size:var(--t-meta)}
  .nav.logado a.nav-largo,.nav .nav-curto{display:none}
  .marca{flex:none}
  .nav a.nav-conta{padding-inline:var(--s3)}
  .nav .conta-menu a.so-celular{display:flex}
}
@media (max-width:400px){.marca img{width:128px}.nav a{padding-inline:6px}}

/* ---------- botões ---------- */
.botao,.botao-sec{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--s5);border-radius:var(--raio-m);font-weight:700;text-decoration:none;cursor:pointer;text-align:center;transition:background-color .2s var(--entrada),border-color .2s var(--entrada)}
.botao{background:var(--azul-acao);color:var(--branco);border:0}
.botao:hover{background:#2152BA}
.botao-sec{background:transparent;color:var(--azul-acao);border:1px solid var(--linha-forte)}
.botao-sec:hover{border-color:var(--azul-acao)}
.link{display:inline-flex;align-items:center;min-height:44px;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-weight:700}
.link-claro{display:inline-flex;align-items:center;min-height:48px;color:var(--azul-claro);font-weight:700;text-underline-offset:3px}
.link-claro:hover{color:var(--branco)}

/* ---------- títulos de seção ---------- */
.secao-titulo{font-size:var(--t-h2);line-height:1.1;letter-spacing:-.02em;font-weight:800;max-width:22ch}
.secao-apoio{margin-top:var(--s3);font-size:var(--t-lead);line-height:1.45;color:var(--ardosia);max-width:52ch}

/* ---------- mapa de colunas ---------- */
.mapa{position:relative;aspect-ratio:600 / 640;overflow:clip}
.mapa-svg{display:block;width:100%;height:100%;overflow:hidden}
.m-uf:focus,.m-m:focus{outline:none}
.mapa-espera{display:grid;place-items:center;height:100%;color:var(--texto-escuro-2);font-size:var(--t-meta)}
.m-uf{fill:var(--marinho-2);stroke:var(--marinho-linha);stroke-width:.8;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s var(--entrada),opacity .3s var(--entrada)}
.m-uf.tem{fill:var(--marinho-3)}
.m-uf:hover{fill:#2D4C7A}
.m-uf.sel{fill:var(--marinho-3);stroke:var(--branco);stroke-width:1.5}
.m-uf:focus-visible,.m-m:focus-visible{outline:none;stroke:var(--branco);stroke-width:2.5}
.com-foco .m-uf:not(.sel){opacity:.35}
.com-foco .m-uf.sel{fill:transparent;pointer-events:none}
.m-m{fill:var(--marinho-2);stroke:var(--marinho-linha);stroke-width:.6;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s var(--entrada)}
.m-m.tem{fill:var(--marinho-3)}
.m-m:hover{fill:#2D4C7A}
.m-m.sel{stroke:var(--branco);stroke-width:1.5}
.m-colunas{pointer-events:none}
.m-fuste{fill:var(--ouro);transform-box:fill-box;transform-origin:bottom}
.m-base{fill:rgb(0 0 0 / .35)}
.m-col.sel .m-fuste{fill:var(--branco)}
.m-n{fill:var(--branco);font-weight:800;font-variant-numeric:tabular-nums}
/* modo pontos (todos os mapas): só a bolinha onde há edital; a coluna sobe da bolinha e o número aparece no estado
   (ou cidade) sob o mouse ou tocado. A escolhida fica com a coluna em pé. */
.m-ponto{fill:var(--ouro);transform-box:fill-box;transform-origin:center}
.mapa-pontos .m-fuste{transform:scaleY(0);transition:transform .5s var(--entrada)}
.mapa-pontos .m-n{opacity:0;transition:opacity .15s var(--entrada)}
.mapa-pontos .m-col.ativa .m-fuste,.mapa-pontos .m-col.sel .m-fuste{transform:scaleY(1)}
.mapa-pontos .m-col.ativa .m-n,.mapa-pontos .m-col.sel .m-n{opacity:1;transition:opacity .25s var(--entrada) .3s}
@media (prefers-reduced-motion:reduce){.mapa-pontos .m-fuste,.mapa-pontos .m-n{transition:none}}
.mapa-leitura{min-height:3em;margin-top:var(--s3);font-size:var(--t-meta);color:var(--branco);font-variant-numeric:tabular-nums}

/* ---------- página inicial: topo ---------- */
.hero{background:var(--marinho);color:var(--branco);padding-top:var(--s8)}
.hero-grade{display:grid;gap:var(--s6);align-items:center}
.hero-grade > *{min-width:0}
@media (min-width:1024px){.hero-grade{grid-template-columns:6fr 6fr;gap:var(--s8)}}
.hero-titulo{font-size:var(--t-hero);line-height:1.02;letter-spacing:-.035em;font-weight:800;max-width:13ch}
.hero-lead{margin-top:var(--s5);max-width:40ch;font-size:var(--t-lead);line-height:1.45;color:var(--texto-escuro-2)}
.hero-vivo{margin-top:var(--s4);min-height:2.9em;max-width:40ch;font-size:var(--t-lead);line-height:1.45;font-variant-numeric:tabular-nums}
.hero-vivo strong{font-weight:800;color:var(--ouro)}
.hero-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5);margin-top:var(--s6)}
.hero-mapa{margin:0;max-width:600px;justify-self:center;width:100%}
.independencia{margin-top:var(--s7);padding-block:var(--s5);border-top:1px solid var(--marinho-linha);font-size:var(--t-meta);color:var(--texto-escuro-2)}
@media (max-width:1023px){.hero-mapa{max-width:520px}}
@media (max-width:767px){.hero{padding-top:var(--s7)}}

/* ---------- página inicial: comece ---------- */
.comece{padding-block:var(--s9)}
.comece-lista{display:grid;gap:var(--s4);margin:var(--s7) 0 0;padding:0;list-style:none}
@media (min-width:768px){.comece-lista{grid-template-columns:repeat(3,1fr);gap:var(--s5)}}
.comece-item{display:grid;align-content:start;gap:var(--s2);height:100%;padding:var(--s5) var(--s4) var(--s4) 0;border-top:2px solid var(--marinho);color:var(--marinho);text-decoration:none;transition:border-color .2s var(--entrada)}
.comece-item:hover{border-top-color:var(--azul-acao)}
.comece-item:hover .comece-txt strong{color:var(--azul-acao)}
.comece-n{font-size:clamp(2.5rem,2rem + 2vw,3.5rem);line-height:1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.comece-txt{font-size:1.125rem;line-height:1.4;max-width:28ch}
.comece-nota{margin-top:var(--s5)}
@media (max-width:767px){.comece{padding-block:var(--s8)}.comece-item{padding:var(--s4) 0}}

/* ---------- página inicial: caminhos do dinheiro ---------- */
.caminhos{padding-block:var(--s9);background:var(--branco)}
.caminho-abas{margin-top:var(--s7)}
.cam-opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s1);padding:var(--s1);background:var(--fundo);border:1px solid var(--linha);border-radius:var(--raio-g)}
.cam-opcoes input{position:absolute;opacity:0;width:1px;height:1px}
.cam-opcoes label{display:grid;gap:2px;align-content:center;min-height:64px;padding:var(--s3) var(--s4);border-radius:var(--raio-m);cursor:pointer;transition:background-color .2s var(--entrada),color .2s var(--entrada)}
.cam-opcoes label:hover{background:var(--branco)}
.cam-nome{font-weight:800;font-size:1.0625rem}
.cam-sub{font-size:var(--t-meta);color:var(--ardosia)}
.cam-opcoes input:checked + label{background:var(--marinho);color:var(--branco)}
.cam-opcoes input:checked + label .cam-sub{color:var(--texto-escuro-2)}
.cam-opcoes input:focus-visible + label{outline:2px solid var(--azul-acao);outline-offset:2px}
@media (max-width:767px){.cam-opcoes{grid-template-columns:1fr}.cam-opcoes label{min-height:56px}}

.caminho{display:none;gap:var(--s7);margin-top:var(--s7)}
.caminho-abas:has(#c-fomento:checked) .p-fomento,
.caminho-abas:has(#c-patrocinio:checked) .p-patrocinio,
.caminho-abas:has(#c-contratacao:checked) .p-contratacao{display:grid}
.caminho .botao-sec{justify-self:start}

/* trilha: as etapas acendem em sequência; a etapa em que o dinheiro chega fica dourada */
.trilha{--passo:.38s;--n:4;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--s4);margin:0;padding:0;list-style:none;counter-reset:etapa}
/* a linha vai do primeiro ao último marcador: termina uma coluna antes do fim, mais o meio marcador */
.trilha::before,.trilha::after{content:"";position:absolute;top:13px;left:14px;right:calc((100% - (var(--n) - 1) * var(--s4)) / var(--n) - 14px);height:2px;border-radius:1px}
.trilha::before{background:var(--linha)}
.trilha::after{background:var(--azul-acao);transform-origin:left}
.trilha li{position:relative;padding-top:var(--s7);font-weight:600;line-height:1.35;max-width:22ch;counter-increment:etapa}
.trilha li::before{content:counter(etapa);position:absolute;top:0;left:0;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--azul-acao);color:var(--branco);font-size:var(--t-meta);font-weight:800;border:2px solid var(--azul-acao)}
.trilha li.chega::before{background:var(--ouro);border-color:var(--ouro);color:var(--marinho);box-shadow:0 0 0 6px rgb(242 201 76 / .25)}
.trilha.tocando::after{animation:trilha calc(var(--passo) * 4) var(--entrada) backwards}
.trilha.tocando li::before{animation:acende .35s var(--entrada) calc(var(--i) * var(--passo)) backwards}
@keyframes trilha{from{transform:scaleX(0)}}
@keyframes acende{from{background:var(--branco);color:var(--ardosia);border-color:var(--linha-forte);box-shadow:none}}
@media (max-width:767px){
  .trilha{grid-auto-flow:row;gap:var(--s5)}
  .trilha::before,.trilha::after{top:14px;bottom:14px;left:13px;right:auto;width:2px;height:auto}
  .trilha::after{transform-origin:top}
  .trilha li{padding:2px 0 0 var(--s7);max-width:none}
  @keyframes trilha{from{transform:scaleY(0)}}
}

.caminho-fatos{display:grid;gap:var(--s5);margin:0;padding-top:var(--s6);border-top:1px solid var(--linha)}
@media (min-width:768px){.caminho-fatos{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.caminho-fatos dt{font-size:var(--t-meta);font-weight:700;color:var(--ardosia)}
.caminho-fatos dd{margin:var(--s1) 0 0;line-height:1.45;max-width:36ch}
@media (max-width:767px){.caminhos{padding-block:var(--s8)}}

/* ---------- página inicial: patrocinadores ---------- */
.patro{padding-block:var(--s9);background:var(--marinho);color:var(--branco)}
.patro .secao-apoio{color:var(--texto-escuro-2)}
.patro .botao{margin-top:var(--s6)}
.patro-grade{display:grid;gap:var(--s7);align-items:start}
@media (min-width:1024px){.patro-grade{grid-template-columns:5fr 6fr;gap:var(--s8)}}
.patro-fig{margin:0}
.patro-fig figcaption{font-weight:700;margin-bottom:var(--s3)}
.patro-fonte{margin-top:var(--s3);font-size:var(--t-meta);color:var(--texto-escuro-2)}
@media (max-width:767px){.patro{padding-block:var(--s8)}}

/* ranking com barra (patrocinadores) */
.ranking{margin:var(--s4) 0 0;padding:0;list-style:none}
.rank,.rank-linha{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s1) var(--s4);align-items:center;width:100%;min-height:56px;padding:var(--s3) 0;border:0;border-bottom:1px solid var(--linha);background:transparent;text-align:left}
.rank{cursor:pointer}
.rank-linha{grid-template-columns:1fr auto}
.rank-pos{align-self:start;min-width:2ch;font-weight:800;color:var(--ardosia);font-variant-numeric:tabular-nums}
.rank-corpo{display:grid;gap:2px;min-width:0}
.rank-nome{font-weight:700;overflow-wrap:anywhere}
.rank-meta{font-size:var(--t-meta);color:var(--ardosia)}
.rank-trilha{height:6px;margin-top:var(--s1);border-radius:3px;background:var(--linha);overflow:hidden}
.rank-trilha span{display:block;height:100%;width:calc(var(--p) * 100%);min-width:2px;background:var(--azul);border-radius:3px}
.rank-valor{align-self:start;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.rank:hover .rank-nome{color:var(--azul-acao)}
.rank:focus-visible{outline-offset:-2px}
.ranking-escuro .rank-linha{border-bottom-color:var(--marinho-linha)}
.ranking-escuro .rank-meta,.ranking-escuro .nota{color:var(--texto-escuro-2)}
.ranking-escuro .rank-trilha{background:var(--marinho-linha)}
.ranking-escuro .rank-trilha span{background:var(--ouro)}

/* ---------- página inicial: FAQ e fecho ---------- */
.faq{padding-block:var(--s9)}
.faq-grade{display:grid;gap:var(--s6)}
@media (min-width:1024px){.faq-grade{grid-template-columns:4fr 8fr;gap:var(--s8)}}
.faq-lista details{border-bottom:1px solid var(--linha-forte)}
.faq-lista details:first-child{border-top:1px solid var(--linha-forte)}
.faq-lista summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);min-height:64px;padding-block:var(--s3);font-weight:700;font-size:1.0625rem;cursor:pointer;list-style:none}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";flex:none;font-size:1.5rem;line-height:1;color:var(--azul-acao);transition:transform .2s var(--entrada)}
.faq-lista details[open] summary::after{transform:rotate(45deg)}
.faq-lista details p{padding-bottom:var(--s5);max-width:64ch;line-height:1.6;color:#33445C}
.faq-lista details::details-content{block-size:0;overflow:hidden;transition:block-size .3s var(--entrada),content-visibility .3s allow-discrete}
.faq-lista details[open]::details-content{block-size:auto}
@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}}
@media (max-width:767px){.faq{padding-block:var(--s8)}}
.fecho{padding-block:var(--s9);background:var(--branco);border-top:1px solid var(--linha)}
.fecho-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s5)}

/* ---------- régua de prazos (sempre sobre o marinho) ---------- */
.legenda{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin:0;padding:0;list-style:none;font-size:var(--t-meta);color:var(--texto-escuro-2)}
.legenda li{display:flex;align-items:center;gap:var(--s2)}
.legenda li::before{content:"";width:12px;height:12px;border-radius:2px;background:var(--azul)}
.legenda .l-semana::before{background:var(--ouro)}
.legenda .l-sel::before{background:var(--branco)}

.agenda{--alt:120px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-block:var(--s1)}
.agenda-espera{display:flex;align-items:flex-end;height:calc(var(--alt) + 28px);color:var(--texto-escuro-2);font-size:var(--t-meta);border-bottom:1px solid var(--marinho-linha);padding-bottom:var(--s2)}
.agenda-trilho,.agenda-eixo{display:grid;grid-template-columns:repeat(var(--dias),minmax(0,1fr));column-gap:3px;min-width:calc(var(--dias) * 10px)}
.agenda-trilho{height:var(--alt);align-items:end;border-bottom:1px solid var(--marinho-linha)}
.agenda-dia{position:relative;display:flex;align-items:flex-end;height:100%;padding:0;border:0;background:transparent;border-radius:2px 2px 0 0;cursor:pointer}
.agenda-dia.fds{background:rgb(255 255 255 / .04)}
.agenda-dia.vazio{cursor:default}
.agenda-barra{display:block;width:100%;height:calc(var(--h) * 100%);background:var(--azul);border-radius:2px 2px 0 0;transform-origin:bottom;transition:opacity .2s var(--entrada),background-color .2s var(--entrada)}
.agenda-dia.semana .agenda-barra{background:var(--ouro)}
.agenda-dia:hover .agenda-barra{opacity:.8}
.agenda-trilho:has([aria-pressed=true]) .agenda-dia:not([aria-pressed=true]) .agenda-barra{opacity:.4}
.agenda-dia[aria-pressed=true] .agenda-barra{background:var(--branco);opacity:1}
.agenda-dia:focus-visible{outline:2px solid var(--branco);outline-offset:1px}
.agenda-eixo{margin-top:var(--s2);font-size:var(--t-meta);color:var(--texto-escuro-2);white-space:nowrap}
.agenda-eixo span{border-left:1px solid var(--marinho-linha);padding-left:var(--s1);overflow:hidden}
.agenda-leitura{min-height:1.5em;font-size:var(--t-meta);color:var(--branco);font-variant-numeric:tabular-nums}
@media (max-width:767px){
  .agenda{--alt:100px;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}
  .agenda-trilho,.agenda-eixo{min-width:calc(var(--dias) * 18px)}
}

/* ---------- painel (editais e patrocinadores): topo escuro ---------- */
.painel-topo{background:var(--marinho);color:var(--branco);padding-block:var(--s7) var(--s6)}
.topo-linha{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4)}
.painel-topo h1{font-size:var(--t-h1);line-height:1.1;letter-spacing:-.02em;font-weight:800;max-width:24ch}
.topo-lead{margin-top:var(--s3);max-width:62ch;font-size:1.125rem;line-height:1.45;color:var(--texto-escuro-2)}
.escopo{display:flex;align-items:center;gap:var(--s3)}
.escopo label{font-size:var(--t-meta);font-weight:600;color:var(--texto-escuro-2)}
.escopo select,.campo-escuro select{min-height:44px;padding:0 var(--s6) 0 var(--s3);border:1px solid var(--marinho-linha);border-radius:var(--raio-m);background:var(--marinho-2);color:var(--branco);font-size:var(--t-corpo);font-weight:700;cursor:pointer}
.boletim{margin-top:var(--s4);min-height:2.8em;max-width:62ch;font-size:var(--t-lead);line-height:1.4;font-variant-numeric:tabular-nums}
.boletim strong{font-weight:800}
.fonte{margin-top:var(--s2);min-height:1.5em;font-size:var(--t-meta);color:var(--texto-escuro-2);max-width:90ch}
.cobertura{margin-top:var(--s3);max-width:76ch;padding:var(--s3) var(--s4);border-left:3px solid var(--ouro);background:var(--marinho-2);font-size:var(--t-meta);line-height:1.5;color:var(--branco)}
.progresso{margin-top:var(--s3);max-width:480px}
.progresso-trilha{height:4px;border-radius:2px;background:var(--marinho-linha);overflow:hidden}
.progresso-trilha span{display:block;height:100%;width:calc(var(--p,0) * 100%);background:var(--azul);transition:width .3s var(--entrada)}
.progresso p{margin-top:var(--s2);font-size:var(--t-meta);color:var(--texto-escuro-2);font-variant-numeric:tabular-nums}

.topo-grade{display:grid;gap:var(--s6);margin-top:var(--s5)}
.topo-grade > *{min-width:0}
@media (min-width:1024px){.topo-grade{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--s8);align-items:start}}
.mapa-bloco{margin:0}
.mapa-bloco .mapa{max-width:560px;margin-inline:auto}
.mapa-acoes{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.mapa-voltar,.nacionais,.agenda-depois{min-height:40px;padding:0 var(--s3);border:1px solid var(--marinho-linha);border-radius:var(--raio-p);background:transparent;color:var(--texto-escuro-2);font-size:var(--t-meta);font-weight:600;cursor:pointer}
.mapa-voltar:hover,.nacionais:hover,.agenda-depois:hover{color:var(--branco)}
.nacionais[aria-pressed=true],.agenda-depois[aria-pressed=true]{background:var(--branco);color:var(--marinho);border-color:var(--branco)}
.mapa-voltar{color:var(--branco);border-color:var(--texto-escuro-2)}

/* quem paga: filtro principal, com a explicação de cada caminho */
.paga-bloco h2{font-size:var(--t-h3);font-weight:800}
.paga-nota{margin-top:var(--s1);font-size:var(--t-meta);color:var(--texto-escuro-2)}
.paga-lista{display:grid;gap:var(--s2);margin:var(--s4) 0 0;padding:0;list-style:none}
.paga{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s1) var(--s3);align-items:center;width:100%;padding:var(--s3) var(--s4);border:1px solid var(--marinho-linha);border-radius:var(--raio-m);background:var(--marinho-2);text-align:left;cursor:pointer;transition:border-color .2s var(--entrada),background-color .2s var(--entrada)}
.paga:hover{border-color:var(--texto-escuro-2)}
.paga-icone{display:grid;color:var(--azul-claro)}
.paga-nome{font-weight:800}
.paga-n{font-weight:800;font-variant-numeric:tabular-nums}
.paga-explica,.paga-curto{grid-column:2 / -1;font-size:var(--t-meta);line-height:1.45;color:var(--texto-escuro-2)}
.paga-curto{display:none}
.paga[aria-pressed=true]{background:var(--branco);border-color:var(--branco);color:var(--marinho)}
.paga[aria-pressed=true] .paga-icone{color:var(--azul-acao)}
.paga[aria-pressed=true] :is(.paga-explica,.paga-curto){color:var(--ardosia)}
.paga-sub{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--marinho-linha)}
.paga-chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.paga-chip{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--marinho-linha);border-radius:var(--raio-m);background:var(--marinho-2);color:var(--texto-escuro-2);font-weight:700;cursor:pointer;transition:background-color .2s var(--entrada),color .2s var(--entrada)}
.paga-chip:hover{color:var(--branco)}
.paga-chip[aria-pressed=true]{background:var(--branco);border-color:var(--branco);color:var(--marinho)}
.paga-chip-n{font-variant-numeric:tabular-nums;font-weight:800}
#paga-explica{margin-top:var(--s3);min-height:3em;max-width:52ch}

.agenda-bloco{margin:var(--s7) 0 0}
.agenda-bloco figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s2) var(--s4);margin-bottom:var(--s4)}
.agenda-bloco h2{font-size:var(--t-corpo);font-weight:700}
.agenda-rodape{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s2) var(--s4);margin-top:var(--s3)}
.agenda-botoes{display:flex;flex-wrap:wrap;gap:var(--s2)}
body.carregando .painel-corpo{opacity:.45;transition:opacity .2s var(--entrada)}

/* ---------- painel: corpo claro ---------- */
.painel-corpo{padding-block:var(--s7) var(--s9)}
.painel-corpo h2{font-size:var(--t-h3);letter-spacing:-.01em}
.painel-grade{display:grid;gap:var(--s6);align-items:start}
@media (min-width:1024px){.painel-grade{grid-template-columns:300px minmax(0,1fr);gap:var(--s8)}}
.facetas > summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--s4);border:1px solid var(--linha-forte);border-radius:var(--raio-m);background:var(--branco);font-weight:700;cursor:pointer;list-style:none}
.facetas > summary::-webkit-details-marker{display:none}
.facetas > summary::after{content:"+";font-size:1.25rem;line-height:1;color:var(--azul-acao)}
.facetas[open] > summary::after{content:"−"}
.faceta-bloco + .faceta-bloco{margin-top:var(--s6)}
.facetas[open] > summary + .faceta-bloco{margin-top:var(--s5)}
@media (min-width:1024px){
  .facetas > summary{display:none}
  .facetas[open] > summary + .faceta-bloco{margin-top:0}
}
.barras{margin:var(--s2) 0 0;padding:0;list-style:none}
#f-ling:empty{min-height:308px}
#f-pode:empty{min-height:176px}
.faceta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s1) var(--s3);width:100%;min-height:44px;padding:var(--s2) 0;border:0;border-bottom:1px solid var(--linha);background:transparent;text-align:left;cursor:pointer}
.f-nome{font-weight:600}
.f-n{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.f-trilha{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--linha);overflow:hidden}
.f-trilha span{display:block;height:100%;width:calc(var(--p) * 100%);min-width:2px;background:var(--azul);border-radius:3px;transition:width .3s var(--entrada)}
.faceta:hover .f-nome{color:var(--azul-acao)}
.faceta[aria-pressed=true] .f-nome{font-weight:800}
.faceta[aria-pressed=true] .f-trilha span{background:var(--marinho)}
.faceta[aria-pressed=true] .f-nome::after{content:" ✓";color:var(--azul-acao)}

.lista-bloco{min-width:0}
.lista-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s2)}
.contagem{font-size:var(--t-meta);color:var(--ardosia);font-variant-numeric:tabular-nums}
.filtros{display:grid;gap:var(--s3);margin-top:var(--s4)}
@media (min-width:768px){.filtros{grid-template-columns:1fr 240px;align-items:end}}
.campo{display:grid;gap:var(--s1)}
.campo span{font-size:var(--t-meta);font-weight:600;color:var(--ardosia)}
.campo input,.campo select{min-height:48px;width:100%;padding:0 var(--s3);border:1px solid var(--linha-forte);border-radius:var(--raio-m);background:var(--branco);font-size:var(--t-corpo)}
.campo input:focus-visible,.campo select:focus-visible{outline:2px solid var(--azul-acao);outline-offset:0;border-color:var(--azul-acao)}
.ativos{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.ativos:empty{display:none}
.chip{display:inline-flex;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s3);border:1px solid var(--marinho);border-radius:var(--raio-p);background:var(--marinho);color:var(--branco);font-size:var(--t-meta);font-weight:600;cursor:pointer}
.chip-x{font-size:1.125rem;line-height:1}
.chip-limpar{min-height:40px;padding:0 var(--s2);border:0;background:none;color:var(--azul-acao);font-weight:700;font-size:var(--t-meta);cursor:pointer;text-decoration:underline}

.lista{margin:var(--s4) 0 0;padding:0;list-style:none;background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio-g);overflow:hidden}
.lista li+li{border-top:1px solid var(--linha)}
.linha{display:grid;grid-template-columns:112px 1fr auto;gap:var(--s5);align-items:start;width:100%;padding:var(--s4) var(--s5);border:0;background:transparent;text-align:left;cursor:pointer;transition:background-color .15s var(--entrada)}
.linha:hover{background:var(--fundo)}
.linha:focus-visible{outline-offset:-2px}
.l-prazo{display:grid;gap:2px;font-variant-numeric:tabular-nums}
.l-dia{font-size:var(--t-h3);font-weight:800;line-height:1.2;letter-spacing:-.01em}
.l-hora,.l-rel{font-size:var(--t-meta);color:var(--ardosia)}
.l-rel.urgente{justify-self:start;margin-top:2px;padding:0 var(--s2);border-radius:var(--raio-p);background:var(--ouro);color:var(--marinho);font-weight:700;white-space:nowrap}
.l-corpo{display:grid;gap:var(--s2);min-width:0}
.l-titulo{font-weight:700;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.l-meta{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);font-size:var(--t-meta);color:var(--ardosia)}
.l-orgao{overflow-wrap:anywhere}
.l-tags{display:flex;flex-wrap:wrap;gap:var(--s2)}
.tag,.tag-paga{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 var(--s2);border:1px solid var(--linha-forte);border-radius:var(--raio-p);font-size:.8125rem;font-weight:600;color:#33445C}
.tag-paga{border-color:var(--marinho);color:var(--marinho);font-weight:700}
.tag-paga .icone{color:var(--azul-acao)}
.l-valor{display:grid;justify-items:end;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.l-valor-nota{font-size:var(--t-meta);font-weight:500;color:var(--ardosia)}
.l-valor.sem{font-weight:500;font-size:var(--t-meta);color:var(--ardosia)}
@media (max-width:640px){
  .linha{grid-template-columns:1fr;gap:var(--s2);padding:var(--s4)}
  .l-prazo{grid-template-columns:auto auto 1fr;align-items:baseline;gap:var(--s2)}
  .l-dia{font-size:var(--t-corpo)}
  .l-rel{justify-self:end}
  .l-valor{justify-items:start;grid-auto-flow:column;justify-content:start;gap:var(--s2);align-items:baseline}
}
.vazio{display:grid;justify-items:start;gap:var(--s3);padding:var(--s6) var(--s5)}
.mais{margin-top:var(--s4);width:100%}

/* ---------- patrocinadores ---------- */
.recorte{display:grid;gap:var(--s4);margin-top:var(--s6)}
@media (min-width:768px){.recorte{grid-template-columns:240px 260px;align-items:end}.recorte .areas{grid-column:1 / -1}}
.recorte .campo-escuro span{color:var(--texto-escuro-2)}
/* mais específico que .campo select (corpo claro), que vem depois */
.recorte .campo-escuro select{width:100%;min-height:48px;border-color:var(--marinho-linha);background:var(--marinho-2);color:var(--branco);font-weight:700}
.areas legend{margin-bottom:var(--s1);font-size:var(--t-meta);font-weight:600;color:var(--texto-escuro-2)}
.areas-lista{display:flex;flex-wrap:wrap;gap:var(--s2)}
.area{position:relative}
.area input{position:absolute;opacity:0;width:1px;height:1px}
.area span{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s4);border:1px solid var(--marinho-linha);border-radius:var(--raio-m);background:var(--marinho-2);color:var(--texto-escuro-2);font-weight:700;cursor:pointer;transition:background-color .2s var(--entrada),color .2s var(--entrada)}
.area span:hover{color:var(--branco)}
.area input:checked + span{background:var(--branco);border-color:var(--branco);color:var(--marinho)}
.area input:focus-visible + span{outline:2px solid var(--branco);outline-offset:2px}
.diferenca{display:grid;gap:var(--s4);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--marinho-linha);font-size:var(--t-meta);line-height:1.5;color:var(--texto-escuro-2)}
@media (min-width:768px){.diferenca{grid-template-columns:1fr 1fr;gap:var(--s7)}}
.dif-nome{font-weight:800;font-size:var(--t-corpo);color:var(--branco);margin-bottom:var(--s1)}
.link-claro-txt{color:var(--azul-claro);font-weight:700}

.patrocinio-grade{display:grid;gap:var(--s7);align-items:start}
@media (min-width:1024px){.patrocinio-grade{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s8)}}
.lateral{display:grid;gap:var(--s7)}
.passos{margin:var(--s4) 0 0;padding:0;list-style:none;counter-reset:passo}
.passos li{position:relative;padding:0 0 var(--s4) var(--s7);counter-increment:passo;line-height:1.5;color:#33445C}
.passos li::before{content:counter(passo);position:absolute;left:0;top:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--linha-forte);font-size:var(--t-meta);font-weight:800;color:var(--marinho)}
.passos strong{display:block;color:var(--marinho)}
.maiores{margin:var(--s3) 0 0;padding:0;list-style:none}
.maiores li{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--linha);font-size:var(--t-meta)}
.m-nome{font-weight:600;overflow-wrap:anywhere}
.m-valor{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- detalhe ---------- */
.detalhe{width:min(640px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;border:0;background:var(--branco);color:var(--marinho);display:none;flex-direction:column}
.detalhe[open]{display:flex;animation:entra .32s var(--entrada)}
.detalhe::backdrop{background:rgb(20 36 58 / .55)}
@keyframes entra{from{transform:translateX(32px);opacity:0}}
.d-cab{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s5);background:var(--marinho);color:var(--branco)}
.d-local{font-size:var(--t-meta);font-weight:600;color:var(--texto-escuro-2)}
.fechar{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:var(--raio-m);background:transparent;color:var(--branco);cursor:pointer}
.fechar:hover{background:var(--marinho-2)}
.fechar:focus-visible{outline-color:var(--branco)}
.d-corpo{flex:1;overflow-y:auto;padding:var(--s5) var(--s5) var(--s7)}
.d-titulo{font-size:var(--t-h3);line-height:1.35;font-weight:800}
.d-prazo{margin-top:var(--s3)}
.d-paga{display:flex;gap:var(--s3);margin-top:var(--s5);padding:var(--s4);border-radius:var(--raio-m);background:var(--fundo);border:1px solid var(--linha);font-size:var(--t-meta);line-height:1.5;color:#33445C}
.d-paga-icone{color:var(--azul-acao)}
.d-paga-nome{font-weight:800;font-size:var(--t-corpo);color:var(--marinho);margin-bottom:2px}
.d-acoes{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.d-fatos{display:grid;grid-template-columns:minmax(0,190px) 1fr;gap:var(--s2) var(--s4);margin:var(--s6) 0 0;padding-top:var(--s5);border-top:1px solid var(--linha);font-size:var(--t-meta)}
.d-fatos dt{color:var(--ardosia)}
.d-fatos dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.d-sec{margin-top:var(--s6)}
.d-sec h3{font-size:var(--t-corpo);margin-bottom:var(--s3)}
.d-resumo{line-height:1.6;color:#33445C;max-width:65ch}
.d-faixas,.d-projetos{margin:0;padding:0;list-style:none}
.d-faixas li{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);align-items:baseline;padding:var(--s2) 0;border-bottom:1px solid var(--linha);font-size:var(--t-meta)}
.d-faixas li span:first-child{flex:1 1 220px}
.d-projetos li{padding:var(--s3) 0;border-bottom:1px solid var(--linha)}
.dp-nome{font-weight:700}
.dp-meta{margin-top:2px;font-size:var(--t-meta);color:var(--ardosia)}
.dp-valor{margin-top:var(--s1);font-size:var(--t-meta);font-variant-numeric:tabular-nums}
.d-aviso{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--linha);font-size:var(--t-meta);color:var(--ardosia)}
@media (max-width:640px){.d-fatos{grid-template-columns:1fr;gap:0 var(--s4)}.d-fatos dd{margin-bottom:var(--s3)}.d-corpo,.d-cab{padding-inline:var(--s4)}}

/* ---------- rodapé ---------- */
.rodape{background:var(--marinho);color:var(--texto-escuro-2);padding-block:var(--s8);font-size:var(--t-meta)}
.rodape-grade{display:grid;gap:var(--s6)}
@media (min-width:1024px){.rodape-grade{grid-template-columns:auto 1fr auto;gap:var(--s8);align-items:start}}
.rodape img{width:300px}
.rodape-texto{display:grid;gap:var(--s2);max-width:60ch}
.rodape-texto a{color:var(--azul-claro)}

/* ---------- texto corrido (privacidade) ---------- */
.legal{padding-block:var(--s7) var(--s9);display:grid;gap:var(--s6);max-width:calc(68ch + 2 * var(--gutter))}
.legal section{display:grid;gap:var(--s3)}
.legal h2{font-size:var(--t-h3);font-weight:800}
.legal p,.legal li{line-height:1.6;color:#33445C}
.legal ul{margin:0;padding-left:var(--s5);display:grid;gap:var(--s2)}

/* ---------- minha conta ---------- */
.conta-topo{display:flex;align-items:center;gap:var(--s5)}
.conta-foto img,.conta-foto .conta-inicial{width:72px;height:72px;font-size:2rem;box-shadow:0 0 0 3px var(--marinho-linha)}
.botao-perigo{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--s5);border-radius:var(--raio-m);font-weight:700;cursor:pointer;background:var(--branco);color:#B42318;border:1px solid #F1B5AE}
.botao-perigo:hover{border-color:#B42318}
.rodape-texto strong{color:var(--branco)}
.rodape-nav{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}
.rodape-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--branco);font-weight:600}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
