:root{
--brand:#C62F40;--brand-d:#a82635;--navy:#252448;--navy-l:#3a3866;
--ink:#2b2b32;--muted:#6f6f7a;--bg:#fff;--soft:#FAFAFA;--line:#ECECEC;
--link:#1F5FB8;--link-d:#17458a;
--wrap:1160px;--r:10px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65;
font-family:Roboto,-apple-system,"Segoe UI",Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--brand)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 18px}
.ta-center{text-align:center}.ta-right{text-align:right}.ta-left{text-align:left}

/* ---------- topbar ---------- */
.topbar{background:var(--brand);color:#fff;font-size:13px}
.topbar .wrap{display:flex;align-items:center;justify-content:center;
gap:10px 20px;flex-wrap:wrap;padding-top:11px;padding-bottom:9px}
.topbar .lbl{font-weight:700;letter-spacing:.6px;text-transform:uppercase;
font-family:"Barlow Condensed",Roboto,sans-serif;font-size:15px;line-height:1.3}
.topbar form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.topbar input{border:0;border-radius:3px;padding:7px 11px;font-size:13px;
min-width:160px;height:32px;font-family:inherit;line-height:1}
.topbar button{background:#fff;color:var(--navy);border:0;border-radius:3px;
padding:0 16px;height:32px;font-weight:700;font-size:12px;cursor:pointer;
letter-spacing:.5px;text-transform:uppercase;display:inline-flex;
align-items:center;font-family:"Barlow Condensed",Roboto,sans-serif;
font-size:14px;white-space:nowrap}
.topbar button:hover{background:var(--navy);color:#fff}
.topbar .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* "esqueci minha senha" alinhado sob o formulario, nao no centro da barra */
.topbar .fgot{flex-basis:100%;text-align:right;font-size:11px;opacity:.9;
margin:-4px 0 0;padding-right:2px}
.topbar .fgot a{color:#fff;text-decoration:underline}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:60;background:#fff;
box-shadow:0 1px 0 var(--line)}
.bar{display:flex;align-items:center;gap:16px;min-height:78px}
.bar .logo img{height:42px;width:auto;display:block}
.bar nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.bar nav>div{position:relative}
.bar nav a{display:block;padding:10px 14px;text-decoration:none;color:var(--navy);
font-weight:500;font-size:15px;white-space:nowrap;
font-family:"Barlow Condensed",Roboto,sans-serif;letter-spacing:.5px;
text-transform:uppercase;font-size:16px}
.bar nav a:hover{color:var(--brand)}
.bar nav a.on{color:var(--brand);border-bottom:2px solid var(--brand)}
.bar nav .sub{display:none;position:absolute;top:100%;left:0;background:#fff;
min-width:232px;border:1px solid var(--line);border-radius:var(--r);
box-shadow:0 8px 26px rgba(0,0,0,.1);padding:6px;z-index:70}
.bar nav>div:hover .sub,.bar nav .sub.open{display:block}
.bar nav .sub a{text-transform:none;font-size:14px;padding:9px 12px;
border-radius:6px;font-family:Roboto,sans-serif;letter-spacing:0}
.bar nav .sub a:hover{background:var(--soft)}
.caret::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;
border-top-color:currentColor;transform:translateY(2px)}
.burger{margin-left:auto;display:none;background:none;border:1px solid var(--line);
border-radius:7px;padding:8px 12px;font-size:19px;cursor:pointer;color:var(--navy)}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:#fff;padding:52px 0;text-align:center}
.hero.img{background-size:cover;background-position:center;position:relative}
.hero.img::before{content:"";position:absolute;inset:0;background:rgba(37,36,72,.72)}
.hero .wrap{position:relative}
.hero h1{margin:0 0 10px;font-size:clamp(23px,3.5vw,34px);line-height:1.22;
text-transform:uppercase;letter-spacing:.5px;
font-family:"Barlow Condensed",Roboto,sans-serif}
.hero .sub{margin:0;opacity:.92;font-size:15px}
.hero .rule{width:88px;height:2px;background:rgba(255,255,255,.5);margin:14px auto}

/* ---------- seccoes ---------- */
main{display:block}
.sec{padding:48px 0}
.sec:nth-child(even){background:var(--soft)}
/* seccoes "magras" (so texto) nao criam faixa propria: juntam-se a anterior */
.sec.thin{padding:0 0 20px;background:transparent!important}
.sec.thin+.sec.thin{padding-top:0}
.sec.thin>.wrap>h2:first-child{margin-top:30px}
.sec.thin:first-of-type{padding-top:46px}
.sec.thin:last-child{padding-bottom:50px}
/* pagina feita so de seccoes magras: alterna o fundo a cada bloco com titulo */
main:not(:has(.sec:not(.thin))) .sec.thin:has(>.wrap>h2:first-child){
padding-top:40px;border-top:1px solid var(--line)}
main:not(:has(.sec:not(.thin))) .sec.thin:first-of-type{border-top:0}
/* seccao com foto de fundo + overlay (como no Elementor original) */
.sec.hasbg{background-size:cover;background-position:center 30%;color:#fff;
position:relative}
.sec.hasbg::before{content:"";position:absolute;inset:0;
background:rgba(27,26,58,.78)}
.sec.hasbg>.wrap{position:relative;z-index:2}
/* overlay quase opaco = faixa de cor solida do site original */
.sec.ov-navy{background-image:none!important;background:var(--navy)}
.sec.ov-navy::before{background:none}
.sec.ov-red{background-image:none!important;background:var(--brand)}
.sec.ov-red::before{background:none}
.sec.ov-soft::before{background:rgba(27,26,58,.62)}
/* faixas de cor consecutivas colam-se numa so */
.sec.ov-navy+.sec.ov-navy,.sec.ov-red+.sec.ov-red{padding-top:0}
.sec.ov-navy+.sec.ov-red,.sec.ov-red+.sec.ov-navy{padding-top:34px}
.sec.ov-red h1,.sec.ov-red h2,.sec.ov-red h3{color:#fff}
.sec.ov-red h1 b,.sec.ov-red h2 b{color:#fff;text-decoration:none;
border-bottom:2px solid rgba(255,255,255,.75)}
.sec h1,.sec h2{color:var(--navy);margin:0 0 18px;
font-size:clamp(20px,2.6vw,27px);line-height:1.32;text-transform:uppercase;
letter-spacing:.4px;font-family:"Barlow Condensed",Roboto,sans-serif}
/* titulo isolado (sem colunas) fica centrado, como no original */
.sec>.wrap>h1,.sec>.wrap>h2{text-align:center;max-width:920px;margin-left:auto;
margin-right:auto}
/* dentro de coluna alinha a esquerda, mas .ta-center manda sempre */
.col h1,.col h2,.col h3{text-align:left}
.ta-center,h1.ta-center,h2.ta-center,h3.ta-center,
.col h1.ta-center,.col h2.ta-center,.col h3.ta-center{text-align:center}
.col h2.ta-center,.col h3.ta-center{margin-left:auto;margin-right:auto}
.sec h3{color:var(--navy);font-size:17px;margin:0 0 8px}
/* paragrafo de apoio: texto corrido, sem peso de titulo */
.sec .lead{color:var(--navy);margin:0 0 18px;max-width:820px;
font-size:clamp(15px,1.5vw,17px);line-height:1.62;text-transform:none;
letter-spacing:0;font-weight:400;font-family:Roboto,sans-serif}
.sec>.wrap>.lead{margin-left:auto;margin-right:auto;text-align:center}
.sec .lead b{color:var(--brand);font-weight:700}
.sec.hasbg .lead,.sec.ov-navy .lead,.sec.ov-red .lead{color:#fff}
.sec.ov-red .lead b{color:#fff}
.sec.hasbg h1,.sec.hasbg h2,.sec.hasbg h3{color:#fff}
h1 b,h2 b,h3 b{color:var(--brand);font-weight:800}
.sec.hasbg h1 b,.sec.hasbg h2 b{color:#fff;text-decoration:underline}
/* colunas com imagem + texto: alinhamento vertical ao centro */
.cols.c2{align-items:center}
.col>p.img{margin:0}
.col>p.img img{width:100%;object-fit:cover}
.rt{margin:0 0 14px}
.rt p{margin:0 0 1em}
.rt ul,.rt ol{margin:0 0 1.1em;padding-left:1.35em}
.rt li{margin:.3em 0}
/* links no corpo do artigo: azul, e nunca transbordam a caixa */
.rt a{color:var(--link);text-decoration:underline;
text-underline-offset:2px;text-decoration-thickness:1px;
overflow-wrap:anywhere;word-break:break-word}
.rt a:hover{color:var(--link-d)}
.rt a:visited{color:#6b3fa8}
/* fonte da noticia: cada link numa linha, com folga acima */
.rt a.src{display:inline-block;margin-top:4px;line-height:1.45}
.rt table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:14px;
display:block;overflow-x:auto}
.rt td,.rt th{border:1px solid var(--line);padding:9px 11px;text-align:left}
.rt th{background:var(--soft)}
.rt blockquote{margin:1.2em 0;padding:12px 20px;border-left:4px solid var(--brand);
background:var(--soft)}
p.img{margin:14px 0;text-align:center}
p.img img,figure img{border-radius:var(--r)}
figure{margin:16px 0;text-align:center}
figcaption{font-size:13px;color:var(--muted);margin-top:7px}
hr{border:0;border-top:1px solid var(--line);margin:26px 0}

/* colunas */
.cols{display:grid;gap:26px;align-items:center;margin:0 0 26px}
.cols:last-child{margin-bottom:0}
.cols.c2{grid-template-columns:repeat(2,1fr)}
.cols.c3{grid-template-columns:repeat(3,1fr)}
.cols.c4{grid-template-columns:repeat(4,1fr)}
.cols.c1{grid-template-columns:1fr}
.cols.rev>.col:first-child{order:2}
.cols.rev>.col:last-child{order:1}
.col{min-width:0}
.col>*:first-child{margin-top:0}
.col>*:last-child{margin-bottom:0}

/* grelha de cards: centrada, sem orfaos na ultima linha */
.cols:has(>.ibox){display:flex;flex-wrap:wrap;justify-content:center;
align-items:stretch;gap:20px}
.cols:has(>.ibox)>.ibox{flex:0 1 250px;max-width:280px}
.cols.c3:has(>.ibox)>.ibox{flex:0 1 300px;max-width:340px}
.cols.c2:has(>.ibox)>.ibox{flex:0 1 380px;max-width:440px}
/* tabela comparativa: 3 colunas alinhadas, rotulo ao centro */
.vs{display:grid;grid-template-columns:1fr minmax(140px,190px) 1fr;
gap:0 22px;align-items:stretch;margin:0}
.vs+.vs{border-top:1px solid var(--line)}
.vs>*{padding:20px 0}
.vs .vs-lbl{display:flex;align-items:center;justify-content:center;
text-align:center;padding-left:14px;padding-right:14px;
background:var(--soft)}
.vs .vs-lbl h3{margin:0;color:var(--navy);font-size:15px;
text-transform:uppercase;letter-spacing:.6px;
font-family:"Barlow Condensed",Roboto,sans-serif}
.vs .vs-item{display:flex;align-items:center;gap:12px;text-align:left}
.vs .vs-item svg.ico{width:26px;height:26px;flex:none;
stroke:var(--brand);color:var(--brand)}
.vs .vs-item p{margin:0;font-size:14.5px;line-height:1.5;color:var(--navy)}
.vs .vs-item.r{flex-direction:row-reverse;text-align:right}
@media(max-width:760px){
 .vs{grid-template-columns:1fr;gap:0}
 .vs>*{padding:12px 0}
 .vs .vs-lbl{order:-1;padding:10px 14px;border-radius:var(--r);margin-top:10px}
 .vs .vs-item.r{flex-direction:row;text-align:left}
}
/* fallback para navegadores sem :has() */
@supports not (selector(:has(*))){
 .cols.c4{grid-template-columns:repeat(auto-fit,minmax(230px,260px));
 justify-content:center}
 .cols.c3{grid-template-columns:repeat(auto-fit,minmax(280px,320px));
 justify-content:center}
}
/* bloco aninhado com imagem de fundo */
.blk.hasbg{background-size:cover;background-position:center;color:#fff;
padding:34px;border-radius:var(--r);margin:16px 0}
.blk.hasbg h1,.blk.hasbg h2,.blk.hasbg h3,.blk.hasbg .rt{color:#fff}
.blk.ov-navy,.blk.ov-red{padding:30px;border-radius:var(--r);margin:16px 0;color:#fff}
.blk.ov-navy{background:var(--navy)}
.blk.ov-red{background:var(--brand)}
.blk.ov-navy h1,.blk.ov-navy h2,.blk.ov-navy h3,.blk.ov-navy .rt,
.blk.ov-red h1,.blk.ov-red h2,.blk.ov-red h3,.blk.ov-red .rt{color:#fff}
.blk.ov-red h2 b,.blk.ov-navy h2 b{color:#fff}

/* contadores "Nosso impacto" */
.ctrs{display:grid;gap:18px;margin:6px 0 0;
grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.ctr{background:#fff;border-radius:var(--r);padding:20px 16px;text-align:center;
box-shadow:0 4px 14px rgba(0,0,0,.12)}
.ctr .n{display:block;font-size:clamp(25px,3vw,34px);color:var(--brand);
font-weight:700;line-height:1.1;font-family:"Barlow Condensed",Roboto,sans-serif;
letter-spacing:.5px}
.ctr .d{display:block;font-size:14px;color:var(--navy);margin-top:5px;line-height:1.35}
.ctr .d b{font-weight:700}

/* icon box (cards de beneficio) */
.ibox{background:#fff;border:1px solid var(--line);border-radius:var(--r);
padding:26px 18px;text-align:center;height:100%;transition:.16s;
display:flex;flex-direction:column;align-items:center;justify-content:center}
.ibox:hover{border-color:var(--brand);box-shadow:0 6px 22px rgba(198,47,64,.1)}
.ibox .ico{color:var(--brand);display:block;margin:0 auto 12px;flex:none}
.ibox>*{width:100%}
/* todos os icones na mesma cor e tamanho, desenhados ou vindos do upload */
.ibox svg.ico{width:42px;height:42px;stroke:var(--brand);color:var(--brand)}
.ibox svg.ico[fill="currentColor"]{fill:var(--brand);stroke:none}
.ibox svg.ico[fill="currentColor"] path,
.ibox svg.ico[fill="currentColor"] g,
.ibox svg.ico[fill="currentColor"] circle,
.ibox svg.ico[fill="currentColor"] rect{fill:currentColor;stroke:none}
.ibox img.ico{max-width:52px;max-height:48px;width:auto;height:auto}
.sec.hasbg .ibox svg.ico{stroke:#fff;color:#fff}
.sec.hasbg .ibox svg.ico[fill="currentColor"]{fill:#fff;stroke:none}
.ibox h3{font-size:14px;text-transform:uppercase;letter-spacing:.4px;
color:var(--navy);margin:0 0 7px;line-height:1.35;
font-family:"Barlow Condensed",Roboto,sans-serif;font-size:15px}
.ibox p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.5}
/* card so com texto: alinha ao topo para os titulos ficarem na mesma linha */
.ibox:not(:has(.ico)){justify-content:flex-start;text-align:left;padding:24px 22px}
.ibox:not(:has(.ico)) h3{text-align:left}
.ibox:not(:has(.ico)) p{text-align:left}
.sec.hasbg .ibox{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.sec.hasbg .ibox h3,.sec.hasbg .ibox p{color:#fff}

/* listas com icone */
.ilist{list-style:none;padding:0;margin:0}
.ilist li{margin:7px 0;font-size:14.5px;position:relative;padding-left:18px}
.ilist li::before{content:"\203A";position:absolute;left:0;color:var(--brand);
font-weight:700}
.ilist a{text-decoration:none;color:inherit}
.ilist a:hover{color:var(--brand)}
/* comparativo de franquia: imagem + dois cartoes, sem grelhas aninhadas */
.cols.fcmp{grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
align-items:center;gap:34px;max-width:1020px;margin-left:auto;margin-right:auto}
/* a imagem acompanha a altura dos cartoes, nunca a define */
.cols.fcmp>.col>p.img{margin:0;height:100%;max-height:420px}
.cols.fcmp>.col>p.img img{height:100%;width:100%;object-fit:cover;
object-position:center 20%;max-height:420px;border-radius:var(--r)}
.fcmp-list{display:flex;flex-direction:column;justify-content:center;gap:18px}
.fcard{display:flex;align-items:center;gap:20px;
background:var(--soft);border:1px solid var(--line);border-radius:var(--r);
padding:22px 24px}
/* o segundo cartao e a proposta: destaca-se do convencional */
.fcard+.fcard{background:#fff;border-color:var(--brand);
box-shadow:0 4px 18px rgba(198,47,64,.08)}
.fcard>svg.ico{width:46px;height:46px;flex:none;
fill:var(--brand);color:var(--brand)}
.fcard-txt{min-width:0}
.fcard-txt h3{margin:0 0 10px;color:var(--navy);font-size:17px;
text-transform:uppercase;letter-spacing:.4px;line-height:1.2;text-align:left;
font-family:"Barlow Condensed",Roboto,sans-serif}
.fcard-txt .ilist{text-align:left}
.fcard-txt .ilist li{margin:5px 0}
@media(max-width:880px){
 .cols.fcmp{grid-template-columns:1fr}
 .cols.fcmp>.col>p.img img{height:auto;max-height:340px}
}
@media(max-width:480px){
 .fcard{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}
}
/* lista centrada: seta acompanha o texto em vez de ficar ancorada a esquerda */
.ilist.ta-center{max-width:760px;margin-left:auto;margin-right:auto}
.ilist.ta-center li{padding-left:0;text-align:center;line-height:1.55}
.ilist.ta-center li::before{position:static;margin-right:7px}

/* botoes */
.btn{display:inline-block;padding:12px 26px;border-radius:5px;text-decoration:none;
font-weight:700;font-size:13px;letter-spacing:.7px;text-transform:uppercase;
border:2px solid transparent;transition:.15s;margin:6px 6px 6px 0;
font-family:"Barlow Condensed",Roboto,sans-serif;font-size:15px}
.btn-p{background:var(--brand);color:#fff}
.btn-p:hover{background:var(--brand-d)}
.btn-s{border-color:var(--brand);color:var(--brand);background:#fff}
.btn-s:hover{background:var(--brand);color:#fff}
.cta{margin:26px 0;text-align:center}
/* botoes soltos: centrados por omissao */
.btnwrap{text-align:center;margin:18px 0 0;width:100%}
.btnwrap.ta-left{text-align:left}
.btnwrap.ta-right{text-align:right}
.btnwrap .btn{margin:0}
/* no hero o botao acompanha o texto, a esquerda */
.slide-in .btnwrap{text-align:left}
/* numa coluna estreita (texto+imagem) o botao segue o texto */
.cols.c2>.col>.btnwrap,.cols.c3>.col>.btnwrap{text-align:left;margin-top:14px}
/* mas depois de uma grelha de cards ou de um <hr>, centra-se com eles */
.cols:has(>.ibox)+.btnwrap,
hr+.btnwrap,
.col>.cols+.btnwrap{text-align:center;margin-top:22px}
.sec.hasbg .btn-s,.sec.ov-navy .btn-s,.sec.ov-red .btn-s{
background:transparent;border-color:#fff;color:#fff}
.sec.hasbg .btn-s:hover,.sec.ov-navy .btn-s:hover,.sec.ov-red .btn-s:hover{
background:#fff;color:var(--navy)}
.sec.ov-red .btn-p{background:#fff;color:var(--brand)}
.sec.ov-red .btn-p:hover{background:var(--navy);color:#fff}

/* video / iframes */
.embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
margin:18px 0;border-radius:var(--r);background:#000}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.formframe{width:100%;min-height:820px;border:0;background:#fff;display:block}
/* iframes de formulario vindos do banco: largura total e altura util */
main iframe[src*="/iframe/"]{width:100%!important;min-height:800px;height:800px;
border:0;display:block;background:#fff;border-radius:var(--r)}
main iframe[src*="associados.php"]{min-height:560px;height:560px}

/* carrossel */
.carousel{position:relative;overflow:hidden;border-radius:var(--r);margin:18px 0}
.carousel .track{display:flex;list-style:none;margin:0;padding:0;
transition:transform .4s ease}
.carousel .track>li{min-width:100%;flex:0 0 100%}
.carousel .track img{width:100%;display:block;border-radius:var(--r)}
.carousel button{position:absolute;top:50%;transform:translateY(-50%);
background:rgba(255,255,255,.92);border:0;width:40px;height:40px;border-radius:50%;
font-size:23px;cursor:pointer;color:var(--navy);line-height:1;z-index:3;
box-shadow:0 2px 10px rgba(0,0,0,.18)}
.carousel button:hover{background:#fff;color:var(--brand)}
.cprev{left:12px}.cnext{right:12px}

/* seccao hero: largura total do ecra */
.sec.hero-sec.full{padding:0;background:none}
.sec.hero-sec.full .carousel{margin:0;border-radius:0}
.sec.hero-sec.full .carousel .slide.hasbg,
.sec.hero-sec.full .carousel .slide.hasbg::before{border-radius:0}
.sec.hero-sec.full .slide-in{max-width:var(--wrap);width:100%;
margin:0 auto;padding-left:max(18px,calc((100vw - var(--wrap))/2 + 18px));
padding-right:18px}

/* slide com foto de fundo (hero da home) */
/* enquadramento: 25% mostra os rostos em vez de ombros/gravatas */
.carousel .slide.hasbg{position:relative;background-size:cover;
background-position:center 25%;min-height:clamp(340px,42vw,500px);
display:flex;align-items:center;border-radius:var(--r)}
/* overlay forte: o texto branco tem de ler sobre fotos claras */
.carousel .slide.hasbg::before{content:"";position:absolute;inset:0;
background:linear-gradient(90deg,rgba(18,17,45,.90) 0%,rgba(18,17,45,.80) 42%,
rgba(18,17,45,.55) 72%,rgba(18,17,45,.38) 100%);border-radius:var(--r)}
.carousel .slide-in{position:relative;z-index:2;max-width:640px;
padding:36px clamp(22px,4vw,54px);color:#fff;text-align:left}
.carousel .slide-in>*{max-width:600px;margin-left:0;margin-right:0}
.carousel .slide-in h1,.carousel .slide-in h2,.carousel .slide-in h3{
text-shadow:0 1px 14px rgba(0,0,0,.4)}
.carousel .slide-in .rt{text-shadow:0 1px 10px rgba(0,0,0,.35)}
.carousel .slide-in h1,.carousel .slide-in h2,.carousel .slide-in h3{
color:#fff;text-align:left;margin:0 0 12px;
font-size:clamp(19px,2.5vw,28px);line-height:1.28;text-transform:uppercase;
font-family:"Barlow Condensed",Roboto,sans-serif}
.carousel .slide-in h1 b,.carousel .slide-in h2 b{color:#fff}
.carousel .slide-in .rt{color:#fff;font-size:15px;margin-bottom:14px}
.carousel .slide-in .rt p{margin:0 0 .7em}
.carousel .slide-in .btn{margin:6px 0 0}
/* carrossel de logos/midia: varios por vez, tudo alinhado */
.carousel.multi{overflow:hidden;padding:4px 48px;background:transparent}
.carousel.multi .track{align-items:stretch}
.carousel.multi .track>li{min-width:calc(100%/var(--show,3));
flex:0 0 calc(100%/var(--show,3));padding:0 12px;text-align:center;
display:flex;flex-direction:column;align-items:center}
/* caixa do logo com altura fixa: alinha todos na mesma linha de base */
.carousel.multi .track>li p.img{margin:0 0 14px;width:100%;height:104px;
display:flex;align-items:center;justify-content:center}
.carousel.multi .track>li p.img a{display:flex;align-items:center;
justify-content:center;width:100%;height:100%}
.carousel.multi .track>li img{max-width:82%;max-height:88px;width:auto;height:auto;
object-fit:contain;border-radius:0;margin:0}
.carousel.multi .track>li h2,.carousel.multi .track>li h3{
font-size:14px;line-height:1.45;margin:0;text-align:center;text-transform:none;
font-family:Roboto,sans-serif;color:var(--ink);font-weight:400;
display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
overflow:hidden}
.carousel.multi .track>li a{text-decoration:none;color:inherit}
.carousel.multi .track>li a:hover{color:var(--brand)}
.carousel.multi .cprev{left:2px}
.carousel.multi .cnext{right:2px}
.carousel .track>li>.rt{padding:14px}

/* noticias — grelha centrada, nao estica os cards quando sao poucos */
.grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;
align-items:stretch}
.grid>.ncard{flex:0 1 330px;max-width:360px}
@media(min-width:1100px){.grid>.ncard{flex:0 1 342px}}
.ncard{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
background:#fff;display:flex;flex-direction:column;transition:.15s}
.ncard:hover{box-shadow:0 8px 26px rgba(0,0,0,.09);transform:translateY(-2px)}
.ncard .thumb{aspect-ratio:16/9;background:var(--soft);overflow:hidden;
display:flex;align-items:center;justify-content:center}
.ncard .thumb img{width:100%;height:100%;object-fit:cover}
.ncard .body{padding:17px;display:flex;flex-direction:column;flex:1}
.ncard h3{font-size:15px;line-height:1.35;color:var(--navy);margin:0 0 9px;
text-transform:uppercase;font-family:"Barlow Condensed",Roboto,sans-serif;font-size:17px}
.ncard .tag{color:var(--brand);font-size:12.5px;font-weight:600;margin:0 0 7px}
.ncard p{font-size:13.5px;color:var(--muted);margin:0 0 14px;line-height:1.55}
.ncard .btn{margin-top:auto;align-self:flex-start;padding:9px 18px;font-size:13px}

/* post individual */
.post-hero{position:relative;background:var(--navy);color:#fff;
padding:66px 0;text-align:center;overflow:hidden}
.post-hero .bgimg{position:absolute;inset:0;background-size:cover;
background-position:center;opacity:.28;filter:blur(2px)}
.post-hero .wrap{position:relative}
.post-hero h1{margin:0 0 12px;font-size:clamp(20px,2.9vw,29px);line-height:1.28;
text-transform:uppercase;font-family:"Barlow Condensed",Roboto,sans-serif}
.post-meta{font-size:13px;opacity:.9;display:flex;gap:16px;justify-content:center;
flex-wrap:wrap}
.article{max-width:820px;margin:-34px auto 0;background:#fff;border:1px solid var(--line);
border-radius:var(--r);padding:30px 34px;position:relative;z-index:2}
.share{text-align:center;border-bottom:1px solid var(--line);
padding-bottom:16px;margin-bottom:22px}
.share b{display:block;font-size:12.5px;letter-spacing:1px;color:var(--navy);
margin-bottom:9px;text-transform:uppercase}
.share a{display:inline-flex;align-items:center;justify-content:center;
margin:0 6px;color:var(--brand);text-decoration:none;width:34px;height:34px;
border-radius:50%;transition:.15s}
.share a:hover{background:var(--brand);color:#fff}
.share svg{width:19px;height:19px}
.article img{border-radius:var(--r)}

/* rodape */
footer.site{background:var(--navy);color:#c9c8dd;padding:44px 0 22px;font-size:14px}
footer.site a{color:#dcdbe9;text-decoration:none}
footer.site a:hover{color:#fff;text-decoration:underline}
.fgrid{display:grid;gap:26px;align-items:start;
grid-template-columns:1.2fr 1fr 1fr 1.4fr;margin-bottom:26px}
.fgrid img.flogo{max-width:190px}
.fsel{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fsel img{height:56px;width:auto;background:transparent}
.fsel img.pleno{height:92px}
.socs{display:flex;gap:10px;margin-top:12px}
.soc{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);
display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff}
.soc:hover{background:var(--brand)}
.fbot{border-top:1px solid rgba(255,255,255,.16);padding-top:16px;font-size:12.5px;
line-height:1.7}
.fbot .addr{opacity:.85}

@media(max-width:980px){
 .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:880px){
 .bar nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;
 gap:0;padding-bottom:10px}
 .bar nav.open{display:flex}
 .bar nav>div{position:static}
 .bar nav a{padding:12px 4px;border-bottom:1px solid var(--line)}
 .bar nav .sub{position:static;display:none;border:0;box-shadow:none;
 padding:0 0 0 14px;min-width:0}
 .bar nav .sub.open{display:block}
 .bar{flex-wrap:wrap;min-height:64px}
 .burger{display:block}
 .cols.c2,.cols.c3,.cols.c4{grid-template-columns:1fr}
 .cols.rev>.col:first-child,.cols.rev>.col:last-child{order:0}
 .topbar .wrap{justify-content:center}
 .topbar .lbl{width:100%;text-align:center}
 .article{padding:22px 18px;margin-top:-20px}
 .sec{padding:34px 0}
 .sec.hero-sec.full .slide-in{padding-left:20px;padding-right:20px;max-width:100%}
 .carousel .slide.hasbg{min-height:300px}
 .carousel .slide.hasbg::before{
   background:linear-gradient(90deg,rgba(15,14,40,.86) 0%,rgba(15,14,40,.62) 100%)}
 .carousel.multi{padding:4px 40px}
 .carousel.multi .track>li p.img{height:84px}
 .ctrs{grid-template-columns:repeat(2,1fr)}
 /* setas do hero saem de cima do texto: passam para a base, lado a lado */
 .sec.hero-sec.full .carousel{padding-bottom:58px;background:var(--navy)}
 .sec.hero-sec.full .carousel>button{top:auto;bottom:12px;transform:none;
 width:38px;height:38px;font-size:20px}
 .sec.hero-sec.full .carousel>.cprev{left:50%;margin-left:-44px}
 .sec.hero-sec.full .carousel>.cnext{right:50%;margin-right:-44px}
 .sec.hero-sec.full .carousel .slide-in{padding-top:28px;padding-bottom:28px}
}
@media(max-width:560px){
 .fgrid{grid-template-columns:1fr}
 body{font-size:15.5px}
}
@media print{.topbar,header.site,footer.site,.cta,.share{display:none}}
