:root{
  --marinho:#00243E; --marinho-fundo:#001528; --azul:#315F9D; --ouro:#F0B030;
  --papel:#F4F6F8; --tinta:#0E1B2A; --cinza:#566476; --linha:#DCE2E8; --branco:#fff; --vermelho:#9B2C22;
  --display:"Bebas Neue",Impact,"Arial Narrow",sans-serif; --texto:"Barlow",system-ui,sans-serif;
}
html{font-size:100%}
html[data-fonte="-1"]{font-size:90%}
html[data-fonte="1"]{font-size:115%}
html[data-fonte="2"]{font-size:130%}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.6 var(--texto);color:var(--tinta);background:var(--branco)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:75rem;margin:0 auto;padding:0 1.5rem}
:focus-visible{outline:3px solid var(--ouro);outline-offset:3px}
main:focus{outline:none}
.pular{position:absolute;left:12px;top:-60px;z-index:60;background:var(--ouro);color:var(--marinho);padding:10px 16px;font-weight:700}
.pular:focus{top:12px}

/* Acessibilidade */
.a11y-faixa{background:var(--marinho-fundo);color:#C9D6E6;font-size:.8125rem}
.a11y-faixa .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;min-height:2.5rem}
.a11y{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.a11y-rotulo{margin-right:4px}
.a11y button{min-height:28px;padding:0 9px;border:1px solid rgb(255 255 255 / .25);border-radius:4px;background:transparent;color:var(--branco);font:600 .8125rem var(--texto);cursor:pointer}
.a11y button:hover,.a11y button[aria-pressed="true"]{background:var(--branco);color:var(--marinho)}
.faixa-contato{display:flex;gap:16px}
.faixa-contato a{color:var(--branco);text-decoration:none;font-weight:600}
.faixa-contato a:hover{text-decoration:underline}

/* Topo */
.topo{position:sticky;top:0;z-index:40;background:var(--marinho);color:var(--branco);border-bottom:3px solid var(--ouro)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.75rem}
.marca img{height:2.875rem;width:auto}
.menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:flex;align-items:center;gap:6px;padding:.625rem .875rem;border:0;background:none;color:var(--branco);font:600 .9375rem var(--texto);text-decoration:none;cursor:pointer;border-radius:4px}
.menu>li>a:hover,.menu>li>button:hover,.menu>li>a[aria-current]{background:rgb(255 255 255 / .1)}
.seta{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.sub{position:absolute;top:100%;right:0;min-width:15.5rem;list-style:none;margin:0;padding:8px;background:var(--branco);border-radius:6px;box-shadow:0 18px 40px rgb(0 21 40 / .28);display:none}
.menu>li:nth-child(-n+3) .sub{left:0;right:auto}
@media (hover:hover){.tem-sub:hover .sub{display:block}}
.tem-sub.aberto .sub{display:block}
.sub a{display:block;padding:.5625rem .75rem;color:var(--tinta);text-decoration:none;border-radius:4px;font-weight:500}
.sub a:hover,.sub a[aria-current]{background:var(--papel)}
.sub small{display:block;color:var(--cinza);font-size:.8125rem;font-weight:400}
.btn-menu{display:none;background:none;border:2px solid rgb(255 255 255 / .4);color:var(--branco);border-radius:6px;padding:8px 12px;font:600 .9375rem var(--texto);cursor:pointer}

/* Aviso */
.aviso{background:var(--ouro);color:var(--marinho)}
.aviso .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;min-height:2.875rem;padding-top:6px;padding-bottom:6px;text-align:center;font-weight:600}
.aviso strong{font:400 1.375rem/1 var(--display);letter-spacing:.04em}

.flash{margin:1.25rem 0 0;padding:.75rem 1rem;border-radius:6px;font-weight:600}
.flash-ok{background:#E3F2E7;color:#14532D}
.flash-erro{background:#FDECEA;color:var(--vermelho)}

/* Hero e cabeçalhos de página */
.hero,.cabeca-pagina{position:relative;overflow:hidden;background:var(--marinho);color:var(--branco)}
.campo{position:absolute;inset:0;width:100%;height:100%;opacity:.13;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem;align-items:center;padding-top:4rem;padding-bottom:4.5rem}
.hero-sobre{margin:0 0 .75rem;color:var(--ouro);font-weight:600}
.hero h1{margin:0 0 1.125rem;font:400 clamp(3.5rem,7vw,6.5rem)/.92 var(--display)}
.lead{max-width:30em;margin:0 0 1.875rem;color:#C9D6E6;font-size:1.1875rem}
.hero-foto{position:relative;margin:0;isolation:isolate}
.hero-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.hero-foto::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:3px solid var(--ouro);border-radius:6px;z-index:-1}
.hero-foto figcaption{position:absolute;left:16px;bottom:16px;background:rgb(0 21 40 / .82);padding:6px 12px;border-radius:4px;font-size:.875rem}
.cabeca-pagina .wrap{position:relative;padding-top:2.75rem;padding-bottom:2.75rem}
.cabeca-pagina h1{margin:0;font:400 clamp(2.75rem,5.5vw,4.5rem)/.95 var(--display)}
.cabeca-pagina p{margin:.625rem 0 0;max-width:44em;color:#C9D6E6;font-size:1.125rem}
.trilha{margin-bottom:.75rem;font-size:.875rem;color:#9FB4CB}
.trilha a{color:var(--branco)}

.acoes{display:flex;flex-wrap:wrap;gap:12px}
.acoes-centro{margin-top:1.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:3.125rem;padding:0 1.5rem;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;font-family:var(--texto)}
.btn-ouro{background:var(--ouro);color:var(--marinho)}
.btn-ouro:hover{background:#F7C455}
.btn-linha{border-color:rgb(255 255 255 / .55);color:var(--branco)}
.btn-linha:hover{border-color:var(--branco);background:rgb(255 255 255 / .06)}
.btn-marinho{background:var(--marinho);color:var(--branco)}
.btn-marinho:hover{background:#0B3A63}
.btn-contorno{border-color:var(--linha);color:var(--marinho)}
.btn-contorno:hover{border-color:var(--azul);color:var(--azul)}

/* Seções */
.secao{padding:5.25rem 0}
.secao-curta{padding:2.5rem 0 4rem}
.secao-papel{background:var(--papel)}
.cabeca{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 24px;margin-bottom:2.25rem}
.cabeca h2{margin:0;font:400 clamp(2.75rem,5vw,4rem)/.95 var(--display);color:var(--marinho)}
.cabeca p{margin:0;max-width:34em;color:var(--cinza)}
.vazio,.nota{color:var(--cinza)}
.nota a,.vazio a{color:var(--azul);font-weight:600}

/* Unidades */
.unidades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.unidade{display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);border-radius:8px;overflow:hidden}
.unidade-foto{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--marinho)}
.unidade-foto img{width:100%;height:100%;object-fit:cover}
.unidade-foto.escudo{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#0B3A63,var(--marinho) 70%)}
.unidade-foto.escudo img{width:42%;height:auto;object-fit:contain}
.zona{position:absolute;left:14px;top:14px;background:var(--marinho);color:var(--ouro);padding:4px 12px;border-radius:3px;font:400 1.25rem/1.2 var(--display);letter-spacing:.06em}
.unidade-corpo{display:flex;flex-direction:column;gap:.75rem;padding:1.375rem 1.375rem 1.5rem;flex:1}
.unidade h3{margin:0;font:400 2.125rem/1 var(--display);color:var(--marinho)}
.unidade h3 a{text-decoration:none}
.unidade h3 a:hover{color:var(--azul)}
.endereco{margin:0;color:var(--cinza);font-size:.9375rem}
.status{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#FDECEA;color:var(--vermelho);font-size:.875rem;font-weight:700}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.status-aberta{background:#E3F2E7;color:#14532D}
.links{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:8px;font-weight:700}
.links a{color:var(--azul);text-underline-offset:4px}
.sem-fotos{color:var(--cinza);font-weight:500}

.unidade-detalhe{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}
.unidade-escudo{width:100%;max-width:300px}
.fatos{display:grid;gap:1rem;margin:1.5rem 0}
.fatos dt{font-size:.8125rem;color:var(--cinza);font-weight:600}
.fatos dd{margin:.25rem 0 0}
.texto{max-width:44em}
.texto-largo{max-width:48em}
.texto h2,.texto h3{font-family:var(--display);font-weight:400;color:var(--marinho);line-height:1;margin:1.6em 0 .4em}
.texto h2{font-size:2.25rem}.texto h3{font-size:1.75rem}
.texto a{color:var(--azul)}
.bloco{margin-bottom:2.5rem}

/* Copa */
.copa{position:relative;overflow:hidden;background:var(--marinho-fundo);color:var(--branco)}
.copa .wrap{position:relative;display:grid;grid-template-columns:16.25rem minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}
.copa h2{margin:0 0 .625rem;font:400 clamp(3rem,5vw,4.25rem)/.95 var(--display)}
.copa p{color:#C9D6E6;margin:0 0 1rem}
.copa .status{background:rgb(240 176 48 / .15);color:var(--ouro)}
.copa-foto{margin:0}
.copa-foto img{width:100%;border-radius:6px;aspect-ratio:3/2;object-fit:cover}
.datas{display:flex;gap:10px;flex-wrap:wrap;margin:1.125rem 0 1.5rem}
.data{display:grid;place-items:center;min-width:5.75rem;padding:10px 14px;border:2px solid rgb(255 255 255 / .2);border-radius:6px;text-decoration:none}
.data b{font:400 2.125rem/1 var(--display);color:var(--ouro)}
.data span{font-size:.8125rem;color:#C9D6E6}
.data:hover{border-color:var(--ouro)}

/* Mosaico e grades de galerias */
.mosaico{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:13rem;gap:12px}
.mosaico a{position:relative;overflow:hidden;border-radius:6px;background:var(--marinho);text-decoration:none}
.mosaico a.grande{grid-column:span 2;grid-row:span 2}
.mosaico a.alta{grid-row:span 2}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mosaico a:hover img{transform:scale(1.04)}
.mosaico span{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgb(0 21 40 / .9));color:var(--branco);font-weight:600;font-size:.9375rem}
.mosaico span b{display:block;font:400 1.5rem/1 var(--display);color:var(--ouro)}
.grade-galerias{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem}
.grade-galerias a{position:relative;display:flex;flex-direction:column;height:100%;background:var(--branco);border:1px solid var(--linha);border-radius:8px;overflow:hidden;text-decoration:none}
.grade-galerias a:hover{border-color:var(--azul)}
.gg-foto{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--marinho)}
.gg-foto img{width:100%;height:100%;object-fit:cover}
.gg-data{position:absolute;top:12px;left:12px;padding:2px 10px;background:var(--marinho);color:var(--ouro);border-radius:3px;font:400 1.5rem/1.15 var(--display)}
.gg-corpo{display:grid;gap:2px;padding:.875rem 1rem 1rem}
.gg-corpo b{font:400 1.5rem/1 var(--display);color:var(--marinho)}
.gg-corpo span{color:var(--cinza);font-size:.9375rem}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}
.filtros a{padding:.5rem .875rem;border:1px solid var(--linha);border-radius:999px;text-decoration:none;font-weight:600;font-size:.9375rem}
.filtros a:hover{border-color:var(--azul);color:var(--azul)}
.filtros a[aria-current]{background:var(--marinho);border-color:var(--marinho);color:var(--branco)}

/* Galeria */
.galeria-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:1.75rem}
.galeria-acoes p{flex-basis:100%;margin:0;color:var(--cinza)}
.fotos{list-style:none;margin:0;padding:0;columns:4 15rem;column-gap:10px}
.fotos li{break-inside:avoid;margin-bottom:10px}
.fotos a{display:block;border-radius:4px;overflow:hidden;background:var(--papel)}
.fotos img{width:100%;transition:opacity .2s}
.fotos a:hover img{opacity:.88}
.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgb(0 10 20 / .94);padding:3.5rem 4rem}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:calc(100dvh - 7rem);width:auto;height:auto;border-radius:4px}
.lightbox button{position:absolute;display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:50%;background:rgb(255 255 255 / .12);color:var(--branco);font-size:2rem;line-height:1;cursor:pointer}
.lightbox button:hover{background:rgb(255 255 255 / .25)}
.lb-fechar{top:12px;right:12px}
.lb-ant{left:12px;top:50%;transform:translateY(-50%)}
.lb-prox{right:12px;top:50%;transform:translateY(-50%)}
.lb-contador{position:absolute;top:18px;left:20px;margin:0;color:#C9D6E6;font-weight:600}
.lb-baixar{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);padding:.5rem 1rem;border-radius:6px;background:var(--ouro);color:var(--marinho);font-weight:700;text-decoration:none}
body.lb-aberto{overflow:hidden}

/* Transparência */
.transp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem;align-items:start}
.emenda{background:var(--marinho);color:var(--branco);border-radius:8px;padding:1.875rem}
.emenda h3{margin:0 0 6px;font:400 1.875rem/1.05 var(--display);color:var(--ouro)}
.emenda dl{display:grid;gap:14px;margin:1.25rem 0 0}
.emenda dt{font-size:.8125rem;color:#9FB4CB}
.emenda dd{margin:0;font-weight:600}
.docs{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.docs li{border-bottom:1px solid var(--linha)}
.docs a{display:grid;grid-template-columns:3.25rem 1fr auto;gap:14px;align-items:center;padding:14px 4px;text-decoration:none}
.docs a:hover .doc-nome{color:var(--azul);text-decoration:underline}
.tipo{display:grid;place-items:center;height:2.75rem;border-radius:4px;background:var(--papel);color:var(--marinho);font:400 1.125rem/1 var(--display);letter-spacing:.04em}
.secao-papel .tipo{background:var(--branco)}
.doc-nome{font-weight:600}
.doc-meta{display:block;color:var(--cinza);font-size:.875rem;font-weight:400}
.baixar{color:var(--azul);font-weight:700;font-size:.875rem}
.transp-mais{margin-top:1.375rem;display:flex;flex-wrap:wrap;gap:10px}
.transp-mais a{padding:9px 14px;border:1px solid var(--linha);border-radius:999px;text-decoration:none;font-weight:600;font-size:.9375rem}
.transp-mais a:hover{border-color:var(--azul);color:var(--azul)}
.transp-cards{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.transp-cards a{display:grid;gap:6px;height:100%;padding:1.5rem;border:1px solid var(--linha);border-left:6px solid var(--ouro);border-radius:8px;text-decoration:none}
.transp-cards a:hover{border-color:var(--azul);border-left-color:var(--ouro)}
.transp-cards b{font:400 2rem/1 var(--display);color:var(--marinho)}
.transp-cards span{color:var(--cinza)}
.transp-cards em{font-style:normal;font-weight:700;color:var(--azul);font-size:.9375rem}
.cnpj-box{padding:1.25rem 1.5rem;background:var(--papel);border-radius:8px}
.cnpj-box p{margin:.25rem 0}
.cnpj-box a{color:var(--azul);font-weight:600}
.titulo-bloco{font:400 2rem/1 var(--display);color:var(--marinho);margin:2.5rem 0 1rem}

/* Inscrições */
.inscricoes{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:12px}
.inscricoes li{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:1rem 1.25rem;border:1px solid var(--linha);border-radius:8px}
.inscricoes b{display:block;font:400 1.75rem/1 var(--display);color:var(--marinho)}
.inscricoes span{color:var(--cinza);font-size:.9375rem}
.inscricoes .status{align-self:center}

/* Contato */
.contato-grade{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem;align-items:start}
.canais{display:grid;gap:1.25rem;margin:0}
.canais dt{font-size:.8125rem;color:var(--cinza);font-weight:600}
.canais dd{margin:.25rem 0 0;font-size:1.125rem}
.canais a{color:var(--azul);font-weight:600}
.formulario{padding:1.75rem;border:1px solid var(--linha);border-radius:8px;background:var(--branco)}
.formulario h2{margin:0 0 1rem;font:400 2.25rem/1 var(--display);color:var(--marinho)}
.campo{display:grid;gap:5px;margin-bottom:1rem}
.campo label{font-weight:600;font-size:.9375rem}
.campo input,.campo textarea{width:100%;min-height:2.875rem;padding:.625rem .75rem;border:1px solid #B5C0CC;border-radius:6px;font:inherit;color:inherit;background:#fff}
.campo-dupla{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.consentimento{display:flex;gap:10px;align-items:flex-start;margin:.25rem 0 1.25rem;font-size:.9375rem;color:var(--cinza)}
.consentimento input{width:18px;height:18px;margin-top:3px;accent-color:var(--marinho)}
.consentimento a{color:var(--azul)}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Rodapé */
.rodape{background:var(--marinho-fundo);color:#C9D6E6;padding:3.5rem 0 1.75rem;font-size:.9375rem}
.rodape .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.rodape img{height:2.75rem;width:auto;margin-bottom:.875rem}
.rodape p{margin:0 0 .5rem}
.rodape h2{margin:0 0 .75rem;font:400 1.5rem/1 var(--display);color:var(--branco);letter-spacing:.04em}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rodape a{color:var(--branco);text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape .base{grid-column:1/-1;border-top:1px solid rgb(255 255 255 / .12);padding-top:1.125rem;font-size:.8125rem;color:#8FA3B9}

/* Alto contraste */
html.alto-contraste body,html.alto-contraste body *:not(img):not(svg):not(path):not(rect):not(circle):not(line):not(g){background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.alto-contraste a,html.alto-contraste a *{color:#ff0!important;text-decoration:underline!important}
html.alto-contraste .btn,html.alto-contraste button{border:2px solid #ff0!important;color:#ff0!important}
html.alto-contraste .campo{opacity:.25}
html.alto-contraste .a11y button[aria-pressed="true"]{background-color:#ff0!important;color:#000!important}
html.alto-contraste [vw] *{background-color:initial!important;color:initial!important;border-color:initial!important}

@media (max-width:1000px){
  .hero .wrap,.transp,.unidade-detalhe,.contato-grade{grid-template-columns:1fr}
  .hero-foto{max-width:40rem}
  .unidade-escudo{max-width:200px}
  .unidades{grid-template-columns:1fr 1fr}
  .copa .wrap{grid-template-columns:11.25rem 1fr}
  .copa-foto{grid-column:1/-1}
  .mosaico{grid-template-columns:repeat(2,1fr)}
  .rodape .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .btn-menu{display:inline-flex}
  .topo nav{position:static}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 120px);overflow-y:auto;background:var(--marinho);padding:10px 16px 18px;border-bottom:3px solid var(--ouro)}
  .menu.aberto{display:flex}
  .sub{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 6px 12px;min-width:0}
  .sub a{color:#C9D6E6}.sub a:hover,.sub a[aria-current]{background:rgb(255 255 255 / .08)}.sub small{color:#8FA3B9}
  .menu>li>button{cursor:default;pointer-events:none}
  .seta{display:none}
}
@media (max-width:640px){
  .wrap{padding:0 1.125rem}
  .secao{padding:3.75rem 0}
  .unidades,.transp-cards{grid-template-columns:1fr}
  .copa .wrap{grid-template-columns:1fr}
  .copa-escudo{width:9.5rem}
  .mosaico{grid-auto-rows:9.5rem}
  .rodape .wrap{grid-template-columns:1fr}
  .hero-foto::after{inset:10px -8px -8px 10px}
  .inscricoes li{grid-template-columns:1fr;justify-items:start}
  .campo-dupla{grid-template-columns:1fr}
  .fotos{columns:2;column-gap:6px}.fotos li{margin-bottom:6px}
  .lightbox{padding:3.5rem .5rem 4.5rem}
  .lb-ant,.lb-prox{top:auto;bottom:10px;transform:none}
  .faixa-contato{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.a11y-faixa,.topo,.aviso,.rodape,.lightbox,[vw]{display:none!important}.hero,.cabeca-pagina,.copa{background:#fff!important;color:#000!important}.campo{display:none}}
.lightbox{z-index:2147483000}
body.lb-aberto [vw]{display:none!important}
