/* Site institucional — tema controlado por --brand e --accent (definidos no <html> a partir do painel). */
:root{
  --ink:#14202b; --mut:#5b6b78; --bg:#fbfaf7; --card:#fff; --line:#e6e2d9;
  --brand-d:color-mix(in srgb,var(--brand) 78%,#000); --brand-l:color-mix(in srgb,var(--brand) 9%,#fff);
  --acc-d:color-mix(in srgb,var(--accent) 80%,#000);
  --r:18px; --sh:0 10px 30px -12px rgba(15,35,55,.22);
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block} a{color:var(--brand)} a:hover{color:var(--brand-d)}
h1,h2,h3,h4{font-family:'Sora','DM Sans',sans-serif;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.4rem)} h2{font-size:clamp(1.5rem,3vw,2.2rem)} h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto} .estreito{width:min(780px,100% - 40px)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:8px;z-index:100} .skip:focus{left:8px}
.eyebrow{font:600 .8rem 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin:0 0 .8em}
.eyebrow a{text-decoration:none}
.mut{color:var(--mut)} .centro{text-align:center} .sub{font-size:1.15rem;color:var(--mut);max-width:62ch}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.marca img{height:44px;width:auto} .marca strong{display:block;font:700 1.02rem 'Sora',sans-serif;line-height:1.1} .marca small{color:var(--mut);font-size:.8rem}
.mono{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--brand);color:#fff;font:700 1.3rem 'Sora',sans-serif}
.menu{display:flex;align-items:center;gap:4px}
.menu a:not(.btn){padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem}
.menu a:not(.btn):hover,.menu a[aria-current]{background:var(--brand-l);color:var(--brand-d)}
.menu .btn{margin-left:8px}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer} .burger i{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.2s}

/* botões */
.btn{display:inline-block;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font:700 .98rem 'DM Sans',sans-serif;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px)} .btn-acc{background:var(--accent);color:#1b1500;box-shadow:0 8px 20px -10px var(--acc-d)} .btn-acc:hover{background:var(--acc-d);color:#fff}
.btn-ghost{border-color:var(--brand);color:var(--brand);background:transparent} .btn-ghost:hover{background:var(--brand);color:#fff}
.link{font-weight:700;text-decoration:none}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 60%),linear-gradient(180deg,var(--brand-l),var(--bg));padding:clamp(40px,7vw,96px) 0 clamp(40px,6vw,72px);overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.lead{font-size:1.2rem;color:var(--mut);max-width:52ch} .acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4em}
.hero-foto{position:relative;justify-self:center;width:min(420px,100%)}
.hero-foto::before{content:"";position:absolute;inset:8% -6% -6% 10%;background:var(--brand);border-radius:42% 58% 46% 54%/50% 40% 60% 50%;opacity:.14;transform:rotate(-6deg)}
.hero-foto img,.foto-vazia{position:relative;width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:34px 34px 120px 34px;box-shadow:var(--sh);background:var(--brand-l)}
.foto-vazia{display:grid;place-items:center;font:700 8rem 'Sora',sans-serif;color:var(--brand);background:linear-gradient(135deg,var(--brand-l),#fff)}

/* faixa de números */
.faixa{background:var(--brand);color:#fff;padding:34px 0 18px}
.faixa-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.faixa-in b{display:block;font:700 clamp(1.8rem,4vw,2.8rem) 'Sora',sans-serif;line-height:1.1} .faixa-in span{opacity:.85;font-size:.95rem}
.faixa-nota{text-align:center;font-size:.85rem;opacity:.8;margin-top:14px} .faixa-nota a{color:#fff}

/* seções e cartões */
.sec{padding:clamp(48px,7vw,88px) 0} .sec-alt{background:#f2efe8}
.sec-cab{max-width:680px;margin-bottom:34px}
.grade3{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--sh);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-4px);color:inherit}
.card p{color:var(--mut);margin:0}
.ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--brand-l);color:var(--brand);margin-bottom:14px}
.noticia{padding:0;overflow:hidden;display:flex;flex-direction:column} .noticia>*:not(img):not(.img-vazia){margin-inline:22px}
.noticia img,.img-vazia{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:16px} .img-vazia{background:linear-gradient(135deg,var(--brand-l),color-mix(in srgb,var(--accent) 30%,#fff))}
.noticia small{color:var(--mut);margin-bottom:6px} .noticia p{margin-bottom:22px}
.chamada{padding:0 0 clamp(48px,7vw,88px)} .chamada-in{background:linear-gradient(120deg,var(--brand),var(--brand-d));color:#fff;border-radius:28px;padding:clamp(28px,5vw,52px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.chamada h2{margin-bottom:.3em} .chamada p{margin:0;opacity:.88}

/* páginas internas */
.pagina{padding:clamp(36px,6vw,72px) 0 clamp(48px,7vw,96px);min-height:60vh}
.texto{font-size:1.08rem} .texto h3{margin-top:1.6em} .texto li{margin-bottom:.4em}
.sobre-grid{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:start} .sobre-grid:not(:has(img)){grid-template-columns:1fr}
.sobre-foto{width:260px;border-radius:28px;box-shadow:var(--sh)} .capa{border-radius:var(--r);margin:1.4em 0;width:100%}
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.info{list-style:none;padding:0;margin:1.5em 0} .info li{padding:12px 0;border-top:1px solid var(--line)} .info b{display:block;font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--sh);position:relative}
.form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:14px} .form input:not([type=checkbox]),.form textarea,.form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:#fff}
.form input:focus,.form textarea:focus{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);border-color:var(--brand)}
.form .duas{display:grid;grid-template-columns:1fr 1fr;gap:14px} .form .chk{font-weight:400;display:flex;gap:10px;align-items:flex-start}
.alerta{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:500} .alerta.ok{background:#e6f6ec;color:#14532d} .alerta.erro{background:#fdecec;color:#7f1d1d}

/* métricas */
.atualizado{color:var(--mut);font-size:.9rem;margin:6px 0 24px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-bottom:26px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh)}
.kpi b{display:block;font:700 2.1rem 'Sora',sans-serif;color:var(--brand);line-height:1.1;margin-bottom:6px} .kpi span{color:var(--mut);font-size:.95rem} .kpi small{display:block;font-size:.8rem}
.painel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:22px;box-shadow:var(--sh)} .painel h2{font-size:1.25rem}
.duas-col{display:grid;grid-template-columns:1fr 1fr;gap:22px} .duas-col .painel{margin-bottom:22px}
.evo{width:100%;height:auto} .evo .grid{stroke:var(--line)} .evo .ax{font:11px 'DM Sans',sans-serif;fill:var(--mut)}
.b-rec{fill:var(--brand);background:var(--brand)} .b-con{fill:var(--accent);background:var(--accent)}
.leg{display:flex;flex-wrap:wrap;gap:18px;color:var(--mut);font-size:.9rem;margin:10px 0 0} .leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.hbar{list-style:none;margin:0;padding:0;display:grid;gap:12px} .hbar li{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:12px;align-items:center;font-size:.95rem}
.hb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .hb-t{background:var(--brand-l);border-radius:99px;height:12px;overflow:hidden} .hb-t i{display:block;height:100%;background:var(--brand);border-radius:99px} .hb-v{font-weight:700;min-width:36px;text-align:right}
.canal{display:flex;height:18px;border-radius:99px;overflow:hidden;background:var(--brand-l)} .canal i{display:block;height:100%} .c-por{background:var(--brand)} .c-gab{background:var(--accent)} .leg i.c-por{background:var(--brand)} .leg i.c-gab{background:var(--accent)}
.leg i.b-rec{background:var(--brand)} .leg i.b-con{background:var(--accent)}
.vazio{background:var(--card);border:1px dashed var(--line);border-radius:var(--r);padding:36px;text-align:center}
.nota ul{padding-left:1.2em;margin:0}

/* rodapé */
.rodape{background:#0f1c27;color:#c9d4dc;padding:54px 0 0} .rodape a{color:#fff}
.rod-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px} .rod-nome{font:700 1.2rem 'Sora',sans-serif;color:#fff} .rodape h4{color:#fff;font-size:1rem} .rodape p{margin:0 0 .55em}
.aviso{font-size:.85rem;opacity:.75} .rodape .mut{color:#8fa1ae}
.rod-fim{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:36px;padding:18px 0;border-top:1px solid #1f3140;font-size:.85rem;color:#8fa1ae}

/* animação de entrada */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease} .reveal.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none} html{scroll-behavior:auto}}
@media (max-width:900px){
  .hero-in,.contato-grid,.duas-col,.rod-grid,.sobre-grid{grid-template-columns:1fr} .hero-foto{order:-1;width:min(300px,70%)}
  .faixa-in{grid-template-columns:repeat(2,1fr)}
  .burger{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px 20px}
  .menu.aberto{display:flex} .menu .btn{margin:8px 0 0;text-align:center}
  .form .duas{grid-template-columns:1fr}
}
.js .reveal{}

/* mapa */
.mapa-box{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.mapa{height:480px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#e8edf0;z-index:0}
.mapa-lado{display:grid;gap:14px} .mapa-lado label{font-weight:600;font-size:.9rem} .mapa-lado select{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.mapa-leg{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem} .mapa-leg li{display:flex;align-items:center;gap:8px} .mapa-leg i{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.regs{width:100%;border-collapse:collapse;margin-top:18px;font-size:.95rem} .regs th,.regs td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top} .regs th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:6px} .chip{display:inline-flex;gap:6px;align-items:center;background:var(--brand-l);border-radius:99px;padding:2px 10px;font-size:.82rem} .chip i{width:8px;height:8px;border-radius:50%}
.leaflet-container{font-family:inherit} .leaflet-popup-content{margin:12px 14px;line-height:1.45} .pp-t{font-weight:700;margin-bottom:4px} .pp-l{display:flex;justify-content:space-between;gap:14px}
@media(max-width:900px){.mapa-box{grid-template-columns:1fr}.mapa{height:380px}}
