
:root { --paper:#F4F6F9; --card:#FFFFFF; --ink:#14213D; --muted:#5A6478; --line:#D8DEE8; --sun:#F5B700; --on-sun:#14213D;
  --cactus:#2C7A4B; --alert:#C8402A; --sky:#CFE3F2;
  --display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif; --body:"Literata",Georgia,"Times New Roman",serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace; }
@media (prefers-color-scheme: dark) { :root { --paper:#0D1424; --card:#151F35; --ink:#E9EDF5; --muted:#9AA5BB; --line:#26324C;
  --sun:#FFC52E; --cactus:#4DB27A; --alert:#FF6C50; --sky:#22365A; color-scheme:dark; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--body); }
a { color:inherit; }
a.bloco { text-decoration:none; }
a.bloco:hover .hl, a.bloco:focus-visible .hl { text-decoration:underline; text-decoration-color:var(--sun); text-decoration-thickness:3px; text-underline-offset:3px; }
:focus-visible { outline:3px solid var(--sun); outline-offset:2px; }
h1, h2, h3 { font-family:var(--display); text-wrap:balance; margin:0; letter-spacing:-.01em; }
p { margin:0; }
img { max-width:100%; }
.wrap { max-width:1180px; margin:0 auto; padding-inline:16px; }
.tag { font:500 11px var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--cactus); }
.meta { font:12px var(--mono); color:var(--muted); }
.previa { background:var(--alert); color:#fff; text-align:center; font:600 12px var(--mono); padding:6px 16px; }
.topbar { border-bottom:1px solid var(--line); }
.topbar .wrap { display:flex; flex-wrap:wrap; gap:6px 20px; justify-content:space-between; padding-block:8px; font:12px var(--mono); color:var(--muted); }
header.marca .wrap { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding-block:22px 18px; }
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo svg { width:56px; height:56px; flex:none; }
.wordmark { font:800 clamp(32px,6vw,50px)/.9 var(--display); letter-spacing:-.035em; display:flex; align-items:flex-start; gap:6px; }
.wordmark .ai { background:var(--sun); color:var(--on-sun); font-size:.42em; padding:4px 9px 5px; border-radius:999px; transform:rotate(-8deg); letter-spacing:0; margin-top:-4px; }
.slogan { font:12px var(--mono); color:var(--muted); margin-top:6px; }
nav.estados { border-block:2px solid var(--ink); position:sticky; top:0; background:var(--paper); z-index:5; }
nav.estados ul { list-style:none; margin:0 auto; max-width:1180px; padding:0 16px; display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; }
nav.estados a { display:block; padding:11px 12px; font:700 15px var(--display); white-space:nowrap; border-radius:6px; text-decoration:none; }
nav.estados a:hover { background:var(--line); }
nav.estados a.on { box-shadow:inset 0 -4px 0 var(--sun); }
.ticker { background:var(--sun); color:var(--on-sun); }
.ticker .wrap { display:flex; align-items:center; gap:14px; padding-block:9px; overflow:hidden; }
.ticker strong { font:800 15px var(--display); background:var(--on-sun); color:var(--sun); padding:3px 10px; border-radius:4px; flex:none; }
.ticker a { font:600 15px var(--display); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-decoration:none; min-width:0; }
main { padding-block:28px 40px; }
section { margin-bottom:44px; }
.cab { display:flex; align-items:baseline; justify-content:space-between; gap:12px; border-bottom:2px solid var(--ink); padding-bottom:8px; margin-bottom:18px; }
.cab h2 { font-size:24px; font-weight:800; }
.cab a { font:12px var(--mono); color:var(--muted); text-decoration:none; }
.art { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:6px; background:var(--sky); overflow:hidden; }
.art.mapa, .art.ilus { background:#E3E9F1; display:flex; align-items:center; justify-content:center; padding:4%; }
.art.mapa svg, .art.ilus svg { width:100%; height:100%; }
.art.vazio { background:var(--ink); display:flex; align-items:center; justify-content:center; }
.art.vazio span { font:800 48px var(--display); color:var(--sun); }
.destaque { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:32px; }
.principal { display:grid; gap:12px; }
.principal h1 { font-size:clamp(28px,4.4vw,46px); font-weight:800; line-height:1.03; letter-spacing:-.03em; }
.principal .dek { font-size:18px; color:var(--muted); max-width:62ch; }
.agora { border-left:1px solid var(--line); padding-left:24px; min-width:0; }
.agora h2 { font-size:20px; font-weight:800; margin-bottom:6px; }
.agora ol { list-style:none; margin:0; padding:0; }
.agora li { padding-block:11px; border-bottom:1px solid var(--line); }
.agora li:last-child { border-bottom:0; }
.agora .hl { font:600 16px/1.3 var(--display); display:block; margin-top:2px; }
.grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.item { display:grid; gap:8px; align-content:start; }
.item h3 { font-size:20px; font-weight:700; line-height:1.15; }
.item p { font-size:15px; color:var(--muted); }
.regioes { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 24px; }
.regioes span { font:600 13px var(--display); border:1px solid var(--line); background:var(--card); border-radius:99px; padding:4px 12px; }
.regioes b { color:var(--cactus); }
.vazio-txt { color:var(--muted); }
/* matéria */
.materia { max-width:720px; margin:0 auto; }
.materia header { display:grid; gap:12px; margin-bottom:22px; }
.materia h1 { font-size:clamp(30px,5vw,46px); font-weight:800; line-height:1.04; letter-spacing:-.03em; }
.materia .dek { font-size:19px; color:var(--muted); }
.materia figure { margin:0 0 26px; }
.materia figure .art { aspect-ratio:auto; max-height:560px; }
.materia figcaption { font:12px var(--mono); color:var(--muted); margin-top:6px; }
.corpo { font-size:18px; line-height:1.7; display:grid; gap:18px; }
.corpo h2 { font-size:22px; font-weight:800; margin-top:10px; }
.corpo ul, .corpo ol { margin:0; padding-left:24px; display:grid; gap:6px; }
.corpo .fontes { font-size:15px; color:var(--muted); border-top:1px solid var(--line); padding-top:14px; }
.ia { font:13px var(--mono); color:var(--muted); margin-top:20px; }
.compartilhar { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.compartilhar a { font:700 15px var(--display); text-decoration:none; border-radius:8px; padding:10px 16px; }
.compartilhar .zap { background:var(--cactus); color:#fff; }
.compartilhar .copiar { border:1.5px solid var(--ink); }
/* páginas institucionais */
.texto { max-width:720px; margin:0 auto; display:grid; gap:16px; font-size:18px; line-height:1.7; }
.texto h1 { font-size:clamp(30px,5vw,44px); font-weight:800; }
.texto h2 { font-size:22px; font-weight:800; margin-top:10px; }
.texto ul { margin:0; padding-left:24px; display:grid; gap:6px; }
.pendente { background:var(--alert); color:#fff; padding:0 6px; border-radius:4px; font:600 .85em var(--mono); }
footer { border-top:2px solid var(--ink); }
footer .wrap { display:flex; flex-wrap:wrap; gap:16px 40px; justify-content:space-between; padding-block:26px 40px; }
footer .wordmark { font-size:30px; }
footer nav { display:flex; flex-wrap:wrap; gap:8px 22px; font:600 14px var(--display); }
footer nav a { text-decoration:none; }
footer p { font-size:13px; color:var(--muted); max-width:46ch; margin-top:8px; }
@media (max-width:900px) {
  .destaque { grid-template-columns:minmax(0,1fr); }
  .agora { border-left:0; padding-left:0; border-top:2px solid var(--ink); padding-top:14px; }
  .grade { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) { .grade { grid-template-columns:minmax(0,1fr); } }
