/* Estilos comuns a todas as páginas: cores, cabeçalho com o menu, rodapé e as páginas de texto
   (início e sobre). O mapa tem o resto em mapa.css. */
:root{--bg:#fff;--ink:#0f2f7f;--mut:#34497f;--acc:#0f2f7f;--line:#d5dcea;--suave:#eaeef5;--sol:#f2a63b;--cab:52px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);font:17px/1.6 Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
a{color:var(--acc)}
.salta{position:absolute;left:8px;top:-60px;z-index:20;padding:8px 12px;background:var(--acc);color:#fff;border-radius:6px}.salta:focus{top:8px}

/* cabeçalho */
.cab{position:relative;z-index:10;display:flex;align-items:center;gap:8px;height:var(--cab);padding:0 16px;background:var(--acc);color:#fff}
.marca{display:flex;align-items:center;gap:9px;margin-right:auto;color:#fff;font-weight:800;font-size:18px;text-decoration:none;white-space:nowrap}
.marca img{width:28px;height:28px;border-radius:7px}
.cab nav{display:flex;gap:4px}
.cab nav a{padding:6px 12px;border-radius:8px;color:#fff;font-size:15px;font-weight:600;text-decoration:none;opacity:.85}
.cab nav a:hover{opacity:1;background:#ffffff1f}
.cab nav a[aria-current=page]{opacity:1;background:#ffffff2e}
.cab :focus-visible{outline-color:var(--sol)}
#lingua{padding:3px 9px;border:1px solid #ffffffb3;border-radius:6px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;text-decoration:none}#lingua:hover{background:#ffffff1f}
.menu-b{display:none;align-items:center;gap:7px;padding:6px 10px;border:1px solid #ffffffb3;border-radius:8px;background:none;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.menu-b i,.menu-b i::before,.menu-b i::after{display:block;width:16px;height:2px;background:currentColor;border-radius:1px;transition:transform .2s}
.menu-b i{position:relative}.menu-b i::before,.menu-b i::after{content:"";position:absolute;left:0}.menu-b i::before{top:-5px}.menu-b i::after{top:5px}
.menu-b[aria-expanded=true] i{background:none}.menu-b[aria-expanded=true] i::before{transform:translateY(5px) rotate(45deg)}.menu-b[aria-expanded=true] i::after{transform:translateY(-5px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.menu-b i::before,.menu-b i::after{transition:none}}
@media(max-width:700px){
 .cab{padding:0 12px}
 .menu-b{display:flex}
 .cab nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:6px 12px 12px;background:var(--acc);box-shadow:0 8px 16px #0f2f7f40}
 .cab nav.aberto{display:flex}
 .cab nav a{padding:12px 10px;font-size:17px;border-radius:8px}
 .menu-b{order:1}#lingua{padding:6px 10px}
}

/* botões */
.bt{display:inline-block;padding:12px 20px;border:2px solid var(--acc);border-radius:10px;background:var(--acc);color:#fff;font-weight:700;text-decoration:none;text-align:center}
.bt:hover{background:#0b2362}
.bt.sec{background:transparent;color:var(--acc)}.bt.sec:hover{background:var(--suave)}

/* página inicial */
.heroi{background:linear-gradient(180deg,#0f2f7f,#13348a);color:#fff;overflow:hidden}
.heroi .in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:0 0 0 24px}
.heroi .txt{padding:48px 0}
.heroi h1{margin:0;font-size:52px;line-height:1.05;font-weight:800;letter-spacing:-.01em}
.heroi .lead{margin:16px 0 0;font-size:22px;line-height:1.35;color:#dbe4f6}
.heroi .txt p.desc{margin:14px 0 0;color:#c4d1ee;max-width:34em}
.heroi .acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.heroi .bt{background:var(--sol);border-color:var(--sol);color:#0f2f7f}.heroi .bt:hover{background:#f7bb63}
.heroi .bt.sec{background:transparent;border-color:#ffffffb3;color:#fff}.heroi .bt.sec:hover{background:#ffffff1f}
.heroi .img{display:block;align-self:stretch;min-height:320px;background:url(previsao.jpg) left center/cover no-repeat}
.heroi .img:focus-visible{outline-offset:-4px;outline-color:var(--sol)}
.numeros{max-width:1100px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform:translateY(-28px)}
.numeros div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 4px 14px #0f2f7f14}
.numeros b{display:block;font-size:30px;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums}
.numeros span{display:block;font-size:15px;line-height:1.3;color:var(--mut)}
.secao{max-width:1100px;margin:0 auto;padding:16px 16px 40px}
.secao h2{margin:0 0 6px;font-size:28px;line-height:1.2;font-weight:800}
.secao>p{margin:0 0 20px;color:var(--mut);max-width:44em}
.cartoes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cartao{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.cartao:hover{border-color:var(--acc);box-shadow:0 4px 14px #0f2f7f1f}
.cartao .ic{width:40px;height:40px;margin-bottom:12px;border-radius:10px;background:var(--suave);display:grid;place-items:center}
.cartao h3{margin:0 0 6px;font-size:19px;line-height:1.25}
.cartao p{margin:0 0 14px;color:var(--mut);font-size:16px;line-height:1.5}
.cartao .ir{margin-top:auto;font-weight:700;font-size:15px}
.concs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.concs a{display:block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--acc);font-size:15px;font-weight:600;text-decoration:none}
.concs a:hover{border-color:var(--acc);background:var(--suave)}
.secao.cinza{max-width:none;background:var(--suave)}.secao.cinza>*{max-width:1068px;margin-left:auto;margin-right:auto}
@media(max-width:860px){
 .heroi .in{grid-template-columns:1fr;padding:0}
 .heroi .txt{padding:32px 16px 8px}
 .heroi h1{font-size:40px}.heroi .lead{font-size:19px}
 .heroi .img{min-height:220px;background-position:center}
 .numeros{transform:none;margin-top:16px}
 .cartoes{grid-template-columns:1fr}
}
@media(max-width:520px){
 .heroi .acoes .bt{flex:1 1 100%}
 .numeros{grid-template-columns:1fr 1fr}.numeros div:last-child{grid-column:1/-1}
 .numeros b{font-size:24px}
 .secao h2{font-size:24px}
}

/* páginas de texto (sobre) */
main.texto{max-width:680px;margin:0 auto;padding:8px 16px 48px}
main.texto h1{font-size:30px;font-weight:800;line-height:1.2;margin:24px 0 8px;color:var(--acc)}
main.texto h2{font-size:18px;font-weight:700;line-height:1.3;margin:26px 0 4px}
main.texto p{margin:0}

/* rodapé */
.rodape{border-top:1px solid var(--line);padding:20px 16px 28px;color:var(--mut);font-size:14px;line-height:1.5}
.rodape>div{max-width:1068px;margin:0 auto}
.rodape p{margin:0 0 6px}
