/* ============================================================
   INCC — RE-TEMA liquid glass (visual do arquivo canônico)
   aplicado por cima da ESTRUTURA existente do site.
   Carregar DEPOIS de styles.css. Não altera a disposição da
   informação: só repinta os elementos que já existem.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800&display=swap');

/* 1) Paleta e tokens da marca (substitui o gov.br) */
:root{
  --azul:#004275;
  --provence:#3F84BF;
  --tinta:#0F2436;
  --grafite:#3A5266;
  --fundo:#F7FAFC;
  --vidro:rgba(255,255,255,.58);
  --vidro-forte:rgba(255,255,255,.78);
  --borda:rgba(0,66,117,.10);
  --sombra:0 24px 70px -30px rgba(0,66,117,.28);
  --transicao:cubic-bezier(.22,.61,.24,1);
  --link:#2A67A0;
  /* remapeia as variáveis gov usadas pelo styles.css */
  --gov-azul-puro:#004275;
  --gov-azul-escuro:#06263E;
  --gov-azul-medio:#3F84BF;
  --gov-azul-claro:#5AA0D6;
  --gov-azul-bg:#DCEAF7;
  --raio:22px;
  --raio-pill:999px;
}

/* 2) Base tipográfica e fundo ambiente fluido */
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif !important;
  background:transparent;
  color:var(--tinta);
  -webkit-font-smoothing:antialiased;
}
html{background:#F7FAFC}
/* camada de fundo: gradientes ambiente + ondas da marca */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(162deg, rgba(63,132,191,.22) 0%, rgba(214,232,247,.62) 26%, rgba(247,250,252,0) 54%, rgba(0,66,117,.14) 100%),
    radial-gradient(1150px 640px at 50% -8%, rgba(255,255,255,.6), transparent 60%),
    radial-gradient(1500px 850px at 90% -10%, rgba(63,132,191,.22), transparent 58%),
    radial-gradient(1250px 950px at -12% 42%, rgba(0,66,117,.12), transparent 56%),
    radial-gradient(980px 680px at 55% 118%, rgba(63,132,191,.15), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1800' height='460' viewBox='0 0 1800 460' preserveAspectRatio='none'%3E%3Cpath d='M0 290 C 300 210, 540 370, 900 280 S 1500 190, 1800 290' fill='none' stroke='%233F84BF' stroke-opacity='.10' stroke-width='1.2'/%3E%3Cpath d='M0 335 C 340 255, 590 405, 930 320 S 1530 235, 1800 335' fill='none' stroke='%23004275' stroke-opacity='.06' stroke-width='1'/%3E%3Cpath d='M0 380 C 360 305, 630 440, 960 360 S 1560 285, 1800 380' fill='none' stroke='%233F84BF' stroke-opacity='.05' stroke-width='.9'/%3E%3C/svg%3E") no-repeat bottom center / 170% auto,
    #F7FAFC;
}
/* halos azuis desfocados atrás do topo */
body::after{
  content:"";position:fixed;left:0;right:0;top:-160px;height:520px;z-index:-1;pointer-events:none;
  background:
    radial-gradient(440px 320px at 12% 40%, rgba(63,132,191,.32), transparent 62%),
    radial-gradient(380px 280px at 90% 30%, rgba(0,66,117,.24), transparent 64%),
    radial-gradient(320px 240px at 50% 55%, rgba(120,180,228,.28), transparent 64%);
}

/* barra de progresso opcional (se existir no HTML) */
.progresso{position:fixed;top:0;left:0;height:2px;width:100%;z-index:200;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--azul),var(--provence))}

a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--provence);outline-offset:3px;border-radius:6px}

/* ============================================================
   3) CABEÇALHO — vidro; barra do menu em gradiente líquido
   ============================================================ */
.cabecalho{
  position:sticky;top:0;z-index:100;background:transparent;border-bottom:none;
}
.cabecalho-topo{
  background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(20px) saturate(165%);
  backdrop-filter:blur(20px) saturate(165%);
  border-bottom:1px solid rgba(255,255,255,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.cabecalho-topo .container{
  padding-top:14px;padding-bottom:14px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"logo busca" "logo lang";
  align-items:center;gap:8px 28px;
}
.logo{gap:20px;grid-area:logo;align-self:center;min-width:0}
.logo-texto{min-width:0}
.logo .logo-icone{width:auto !important;height:auto !important;flex:0 0 auto}
.logo .logo-icone img{height:88px;width:auto;display:block}
.logo .nome,.logo-texto .nome{
  font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:clamp(.6rem,1.05vw,1rem);
  letter-spacing:.02em;text-transform:uppercase;color:var(--azul);line-height:1.2;
  white-space:nowrap;max-width:none;
}
.busca-topo{grid-area:busca;justify-self:end;width:100%;max-width:280px;min-width:150px}
.lang-switcher{grid-area:lang;justify-self:end;white-space:nowrap}
@media(max-width:1100px){
  .cabecalho-topo .container{grid-template-areas:"logo lang"}
}
.busca-topo input{
  font-family:'Montserrat',sans-serif;border:1px solid var(--borda);border-radius:999px;
  padding:8px 14px;background:rgba(255,255,255,.7);color:var(--azul);
}
.busca-topo input::placeholder{color:rgba(0,66,117,.5)}
.busca-topo button{background:none;border:none;cursor:pointer;color:var(--azul)}
.lang-switcher a{font-weight:600;color:var(--azul);border-radius:999px;padding:5px 9px;transition:background .3s}
.lang-switcher a.active,.lang-switcher a:hover{background:rgba(0,66,117,.10)}
.lang-switcher .lang-sep{opacity:.4}

/* barra do menu = gradiente líquido animado */
.cabecalho-nav{
  position:relative;overflow:hidden;
  background:linear-gradient(115deg,rgba(0,18,31,.96),rgba(12,84,136,.86) 40%,rgba(13,88,146,.86) 70%,rgba(0,20,36,.96));
  background-size:265% 265%;
  animation:incc-liquido 18s ease-in-out infinite;
  -webkit-backdrop-filter:blur(26px) saturate(205%) brightness(1.03);
  backdrop-filter:blur(26px) saturate(205%) brightness(1.03);
  border-top:1px solid rgba(255,255,255,.24);
  box-shadow:0 18px 46px -24px rgba(0,40,72,.55),
             inset 0 1.5px 0 rgba(255,255,255,.35),
             inset 0 -1px 0 rgba(0,40,72,.25);
}
/* brilho especular do vidro */
.cabecalho-nav::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(115deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.03) 26%,transparent 50%,rgba(255,255,255,.06) 100%);
}
.cabecalho-nav .container{position:relative;z-index:1}
@keyframes incc-liquido{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.navegacao{display:flex;justify-content:center}
.navegacao ul{flex-wrap:nowrap !important;justify-content:center;gap:2px;white-space:nowrap}
.navegacao a{
  font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:rgba(255,255,255,.94);border-radius:999px;border-bottom:none !important;
  padding:13px 14px;font-size:.78rem;white-space:nowrap;
  transition:background .3s var(--transicao),color .3s,box-shadow .35s,transform .3s;
}
.navegacao a:hover{
  background:rgba(255,255,255,.26);color:#fff;transform:translateY(-1px);
  box-shadow:0 8px 20px -10px rgba(0,20,40,.55), inset 0 1px 0 rgba(255,255,255,.55);
}
.navegacao a.ativo{background:rgba(255,255,255,.20);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.menu-toggle{
  font-family:'Montserrat',sans-serif;background:rgba(255,255,255,.16);color:#fff;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;font-weight:600;
}

/* ============================================================
   4) FAIXA DE DESTAQUE — hero claro, texto azul leve
   ============================================================ */
.pagina-cabecalho{
  background:transparent !important;border-bottom:none !important;
}
.pagina-cabecalho::before,.pagina-cabecalho::after{display:none !important}
.pagina-cabecalho-destaque{padding:56px 0 20px}
.pagina-cabecalho-destaque .texto-destaque,
.pagina-cabecalho .texto-destaque{
  color:var(--azul) !important;font-weight:300;
  font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5;letter-spacing:normal;
}
.pagina-cabecalho h1{color:var(--azul);font-weight:200}
.pagina-cabecalho p{color:var(--grafite)}

/* hero da home reduzido a menos da metade */
.hero{padding:1.6rem 0 !important}
.hero h1{font-size:1.2rem !important;line-height:1.25;margin-bottom:.55rem !important;max-width:640px}
.hero p.lead{font-size:.92rem !important;margin-bottom:1.1rem !important}
.hero-badge{font-size:.64rem !important;margin-bottom:.6rem !important;padding:4px 12px}

/* breadcrumb translúcido */
.breadcrumb{
  background:rgba(255,255,255,.42);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--borda);
}
.breadcrumb a{color:var(--link);font-weight:600}
.breadcrumb li:last-child{color:var(--grafite)}
.breadcrumb li::after{color:var(--provence)}

/* ============================================================
   5) TÍTULOS E TEXTO
   ============================================================ */
h1,h2,h3,h4{font-family:'Montserrat',sans-serif}
.titulo-destaque,.secao-titulo h2{
  color:var(--azul) !important;font-weight:700;letter-spacing:.10em;text-transform:uppercase;
}
.secao-titulo h2::after{background:var(--provence)}
.conteudo-principal{color:var(--grafite)}
.conteudo-principal a{color:var(--link);font-weight:600}
.conteudo-principal strong{color:var(--azul)}

/* ============================================================
   6) CARDS DE VIDRO
   ============================================================ */
.card,.card-valor,.sidebar-card{
  background:var(--vidro-forte) !important;
  -webkit-backdrop-filter:blur(15px) saturate(150%);
  backdrop-filter:blur(15px) saturate(150%);
  border:1px solid var(--borda) !important;
  border-radius:var(--raio) !important;
  box-shadow:0 18px 50px -30px rgba(0,66,117,.35), inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .35s var(--transicao),box-shadow .35s,border-color .35s;
}
.card:hover,.card-valor:hover,.sidebar-card:hover{
  transform:translateY(-5px);box-shadow:var(--sombra);border-color:rgba(63,132,191,.32) !important;
}
.card::before{display:none !important}
/* cards de valor: imagem mantida, cantos arredondados */
.grid-cards:has(.card-valor){grid-template-columns:repeat(3,1fr) !important;gap:12px !important}
@media(max-width:640px){.grid-cards:has(.card-valor){grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:420px){.grid-cards:has(.card-valor){grid-template-columns:1fr !important}}
.card-valor .card-link-mais,.card-valor .card-link{color:var(--provence);font-size:.72rem;font-weight:600;margin-top:8px;display:inline-block}
.card-valor{overflow:hidden;padding:16px 12px !important;text-align:center;align-items:center}
.card-valor-icone{
  width:44px;height:44px;margin:0 auto 10px;border-radius:13px;
  display:grid;place-items:center;color:var(--azul);
  background:linear-gradient(140deg,rgba(0,66,117,.08),rgba(63,132,191,.16));
  border:1px solid rgba(63,132,191,.16);
}
.card-valor-icone svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.card-valor:hover .card-valor-icone{color:#000E1A !important;background:linear-gradient(140deg,rgba(0,66,117,.20),rgba(63,132,191,.28));border-color:rgba(63,132,191,.4);transition:color .3s,background .3s,border-color .3s}
.card-valor:hover .card-valor-icone svg{stroke:#000E1A !important}
.card-valor-content{padding:0}
.card-valor-content h3{color:var(--azul);font-weight:600;font-size:.82rem;margin-bottom:3px;line-height:1.2}
.card-valor-content p{color:var(--grafite);font-size:.74rem;line-height:1.35}

/* cards de serviço/valor: azul MUITO claro (levemente + escuro que o fundo),
   degradê radial que dissolve na cor do fundo; texto/ícones em azul */
.card-valor{
  background:radial-gradient(150% 150% at 50% 40%, #e0ebf6 0%, #e7eff9 46%, #eef4fc 72%, rgba(238,244,252,.5) 88%, rgba(238,244,252,0) 100%) !important;
  border:1px solid rgba(63,132,191,.14) !important;
  box-shadow:0 12px 36px -34px rgba(0,66,117,.22), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.card-valor:hover{border-color:rgba(63,132,191,.30) !important;box-shadow:0 16px 44px -32px rgba(0,66,117,.26), inset 0 1px 0 rgba(255,255,255,.7) !important}
.card-valor .card-valor-content h3{color:var(--azul) !important}
.card-valor .card-valor-content p{color:var(--grafite) !important}
.card-valor .card-link-mais,.card-valor .card-link{color:var(--provence) !important}
.card-valor .card-valor-icone{
  color:var(--azul) !important;
  background:linear-gradient(140deg,rgba(0,66,117,.08),rgba(63,132,191,.16)) !important;
  border:1px solid rgba(63,132,191,.16) !important;
}
.card-valor .card-valor-icone svg{stroke:currentColor !important}
.card-valor:hover .card-valor-icone{color:#000E1A !important;background:linear-gradient(140deg,rgba(0,66,117,.14),rgba(63,132,191,.22)) !important}
.card-valor:hover .card-valor-icone svg{stroke:#000E1A !important}

/* cards de conteúdo em destaque (mantêm a foto, ganham moldura de vidro) */
.noticia-card{
  background:var(--vidro-forte) !important;
  -webkit-backdrop-filter:blur(15px) saturate(150%);backdrop-filter:blur(15px) saturate(150%);
  border:1px solid var(--borda) !important;border-radius:var(--raio) !important;overflow:hidden;
  box-shadow:0 18px 50px -30px rgba(0,66,117,.35), inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .35s var(--transicao),box-shadow .35s,border-color .35s;
}
.noticia-card:hover{transform:translateY(-5px);box-shadow:var(--sombra);border-color:rgba(63,132,191,.32) !important}
.noticia-imagem img{width:100%;height:100%;object-fit:cover;display:block}
.noticia-categoria{color:var(--azul) !important;background:rgba(63,132,191,.12) !important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:4px 12px;font-size:.62rem}
.noticia-data{color:#5C7386}
.noticia-card h3{color:var(--azul);font-weight:600}
.noticia-card p{color:var(--grafite)}
.noticia-link{color:var(--provence);font-weight:600}
.noticia-link:hover{color:var(--azul)}
.card-icone{background:linear-gradient(140deg,rgba(0,66,117,.07),rgba(63,132,191,.14));color:var(--azul);border:1px solid rgba(63,132,191,.14)}

/* callout de informação em vidro azul */
.alerta{
  border-radius:18px;border:1px solid var(--borda) !important;border-left:none !important;
  background:var(--vidro) !important;
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
  box-shadow:0 16px 44px -30px rgba(0,66,117,.28), inset 0 1px 0 rgba(255,255,255,.6);
  padding:18px 22px;
}
.alerta-info{
  background:linear-gradient(120deg,rgba(63,132,191,.08),rgba(255,255,255,.5)) !important;
}
.alerta-icone{
  background:rgba(0,66,117,.10) !important;color:var(--azul) !important;
  border:1px solid rgba(63,132,191,.30);font-weight:700;
}
.alerta-info .alerta-icone{background:rgba(0,66,117,.10) !important;color:var(--azul) !important}
.alerta strong{color:var(--azul)}
.alerta div{color:var(--grafite)}

/* sidebar */
.sidebar-card h4{color:var(--azul);border-bottom:3px solid var(--provence)}
.sidebar-card li{border-bottom:1px dashed var(--borda)}
.sidebar-card-azul{
  background:linear-gradient(150deg,#004275,#0B5A97 60%,#3F84BF) !important;
  border:none !important;color:#fff;
  box-shadow:0 20px 55px -28px rgba(0,66,117,.5), inset 0 1px 0 rgba(255,255,255,.25);
  -webkit-backdrop-filter:none;backdrop-filter:none;
}
.sidebar-card-azul h4{color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.sidebar-card-azul a{color:#fff}

/* ============================================================
   7) BOTÕES — pílula
   ============================================================ */
.btn{
  font-family:'Montserrat',sans-serif;border-radius:999px !important;font-weight:600;
  padding:13px 28px;border:1px solid transparent;
  transition:transform .35s var(--transicao),box-shadow .35s,background .35s;
}
.btn-primario,.btn-cheio{background:var(--azul) !important;color:#fff !important;box-shadow:0 16px 40px -22px rgba(0,66,117,.6)}
.btn-primario:hover,.btn-cheio:hover{background:var(--provence) !important;transform:translateY(-3px)}
.btn-amarelo,.sidebar-card-azul .btn-amarelo,.sidebar-card-azul a.btn-amarelo{
  background:#fff !important;color:var(--azul) !important;
}
.btn-amarelo:hover,.sidebar-card-azul .btn-amarelo:hover{background:#D8EAF8 !important;transform:translateY(-3px);color:var(--azul) !important}
.btn-outline,.btn-contorno{background:transparent !important;color:var(--azul) !important;border:1px solid rgba(0,66,117,.3) !important}
.btn-outline:hover,.btn-contorno:hover{background:var(--azul) !important;color:#fff !important;transform:translateY(-3px)}
.btn-vidro{background:var(--vidro) !important;color:var(--azul) !important;border:1px solid var(--borda) !important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

/* aviso de assessoria em vidro */
.aviso{
  background:var(--vidro-forte) !important;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-top:2px solid var(--azul) !important;
}
.aviso p{color:var(--grafite)}
.aviso a{color:var(--azul);font-weight:700}

/* ============================================================
   8) RODAPÉ — vidro claro (estilo do exemplo)
   ============================================================ */
.rodape{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#003a63,#06263E) !important;
  border-top:1px solid rgba(255,255,255,.14) !important;color:#cfe0ee;
}
.rodape::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1800' height='300' viewBox='0 0 1800 300' preserveAspectRatio='none'%3E%3Cpath d='M0 175 C 300 115, 540 235, 900 170 S 1500 105, 1800 175' fill='none' stroke='%237fc0e8' stroke-opacity='.32' stroke-width='1.4'/%3E%3Cpath d='M0 210 C 340 155, 590 260, 930 200 S 1530 140, 1800 210' fill='none' stroke='%237fc0e8' stroke-opacity='.20' stroke-width='1.1'/%3E%3Cpath d='M0 245 C 360 195, 630 280, 960 230 S 1560 175, 1800 245' fill='none' stroke='%237fc0e8' stroke-opacity='.14' stroke-width='.9'/%3E%3C/svg%3E") no-repeat bottom center / 175% auto;
}
.rodape .container,.rodape .rodape-grid,.rodape .rodape-base{position:relative;z-index:1}
.rodape h4{color:#fff;border-bottom:2px solid var(--provence)}
.rodape a{color:#bcd6ee}
.rodape a:hover{color:#fff}
.rodape-sobre{color:#cfe0ee}
.rodape-redes a{color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:12px;transition:background .3s,color .3s}
.rodape-redes a:hover{background:#fff;color:var(--azul)}
.rodape-base{border-top:1px solid rgba(255,255,255,.14)}
.rodape-base p{color:#9db8d2}

/* revelação suave (se marcado no HTML) */
.revela{opacity:0;transform:translateY(26px);transition:opacity .8s var(--transicao),transform .8s var(--transicao)}
.revela.visivel{opacity:1;transform:none}

/* ============================================================
   10) AJUSTES ADICIONAIS (lote de refinamento)
   ============================================================ */

/* breadcrumb removido de todas as páginas */
.breadcrumb{display:none !important}

/* subtítulos dos cards de área (NÚCLEO DE INTELIGÊNCIA etc.) menores */
.grid-areas-home .card h3,.card-centro h3,.area h3{
  font-size:.86rem !important;letter-spacing:.02em;line-height:1.25;
}

/* logos da cooperação: fundo branco que se funde ao ambiente */
.grid-logos{gap:16px}
.card-logo{
  background:radial-gradient(155% 155% at 50% 42%, #ffffff 20%, #f2f7fd 40%, #e6f0fa 56%, #d6e6f6 72%, rgba(206,224,244,.45) 88%, rgba(206,224,244,0) 100%) !important;
  border:none !important;box-shadow:none !important;border-radius:20px !important;
  padding:24px 22px !important;display:flex;align-items:center;justify-content:center;
}
.card-logo img{mix-blend-mode:multiply;max-width:100%;height:auto;display:block}

/* títulos de seção suavizados, arredondados, com transição p/ o fundo */
.titulo-destaque,h2.titulo-destaque,.conteudo-principal h2.titulo-destaque{
  font-size:1.05rem !important;letter-spacing:.06em;border-bottom-width:2px !important;
  margin-top:1.6rem !important;margin-bottom:.9rem !important;padding-bottom:.35rem !important;
}
.secao-titulo h2::after{opacity:.55;height:3px}

/* cantos arredondados em caixas e cards do site inteiro */
.card,.card-valor,.card-centro,.sidebar-card,.noticia-card,.alerta,.panel,.box,.caixa,
.card-logo,.abc-hub-card,.destaque,.aviso,.secao-azul,.secao-cinza,
input[type="text"],input[type="search"],input[type="email"],input[type="tel"],select,textarea{
  border-radius:18px;
}
.card,.card-centro,.noticia-card,.sidebar-card,.card-valor{border-radius:20px !important}

/* Compliance & Sanções (hub abc): fundo padrão + cards menores */
.abc-page,.abc-section,.abc-mast{background:transparent !important}
/* textos que eram brancos sobre fundo escuro -> azul/grafite no fundo claro */
/* textos do masthead ABC que eram brancos -> azul escuro/grafite no fundo claro (alta especificidade p/ vencer o abc-estilo.css) */
body .abc-page .abc-mast h1,body .abc-page .abc-mast h2,body .abc-page .abc-mast h3,body .abc-page .abc-mast .abc-title{color:#014A86 !important}
body .abc-page .abc-mast .abc-kicker{color:#004275 !important;border-color:rgba(63,132,191,.45) !important}
body .abc-page .abc-mast .abc-dek,body .abc-page .abc-mast p,body .abc-page .abc-mast{color:#3A5266 !important}
body .abc-page .abc-mast .abc-byline{color:#4A5B68 !important}
body .abc-page .abc-mast .abc-byline b{color:#004275 !important}
.abc-hub-card h3,.abc-hub-card strong,.abc-hub-card b{color:var(--azul) !important}
.abc-hub-card p,.abc-hub-card{color:var(--grafite) !important}
.abc-hub{max-width:1100px}
.abc-hub-card{
  padding:20px 16px !important;border-radius:18px !important;min-height:0 !important;
  background:radial-gradient(150% 150% at 50% 40%, #e0ebf6 0%, #e7eff9 46%, #eef4fc 72%, rgba(238,244,252,.5) 88%, rgba(238,244,252,0) 100%) !important;
  border:1px solid rgba(63,132,191,.14) !important;
  box-shadow:0 12px 36px -34px rgba(0,66,117,.22), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.abc-hub-card svg{stroke:#014A86 !important}

/* ============================================================
   11) MOVIMENTO REDUZIDO
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .cabecalho-nav{animation:none}
  .revela{opacity:1;transform:none}
}

/* ============================================================
   12) MOBILE — correcoes responsivas (skin carrega por ultimo,
       entao aqui vencem as regras que quebravam no celular)
   ============================================================ */

/* rede de seguranca contra rolagem horizontal indesejada (so mobile,
   para nao afetar o cabecalho sticky no desktop) */
@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
}

/* topo: logo pode quebrar linha e diminui em telas pequenas */
@media(max-width:820px){
  .logo .nome,.logo-texto .nome{white-space:normal !important;font-size:.8rem !important;line-height:1.2}
  .logo .logo-icone img{height:60px !important}
  .cabecalho-topo .container{gap:6px 14px}
}
@media(max-width:600px){
  .logo{gap:12px}
  .logo .nome,.logo-texto .nome{font-size:.72rem !important}
  .logo .logo-icone img{height:48px !important}
  .lang-switcher a{padding:5px 7px;font-size:.82rem}
}

/* MENU: no mobile fica oculto e abre pelo botao (classe .aberto via JS) */
@media(max-width:720px){
  .menu-toggle{display:block;margin:10px 16px}
  .navegacao{display:none !important;justify-content:flex-start}
  .navegacao.aberto{display:block !important}
  .navegacao ul{
    flex-wrap:wrap !important;white-space:normal !important;
    flex-direction:column;gap:0;justify-content:flex-start;align-items:stretch;
  }
  .navegacao li{width:100%}
  .navegacao a{
    display:block;width:100%;text-align:left;border-radius:0;
    padding:13px 20px;font-size:.85rem;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
  }
  .navegacao a:hover,.navegacao a.ativo{transform:none;box-shadow:none}
}

/* secoes de 2 colunas (inline grid) empilham no mobile */
@media(max-width:720px){
  .secao-azul .container>div{grid-template-columns:1fr !important;gap:1.5rem !important}
  .secao-azul .container>div>div[style*="text-align"] img{max-width:220px !important}
}

/* cards de areas (home) e grids gerais empilham com folga */
@media(max-width:820px){
  .grid-areas-home{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:520px){
  .grid-areas-home{grid-template-columns:1fr !important}
}

/* titulos e textos longos nao estouram a largura */
@media(max-width:600px){
  .hero h1,.secao-titulo h2,h1,h2,h3{overflow-wrap:break-word;word-break:normal}
  .secao{padding:2rem 0}
  .container{padding-left:16px;padding-right:16px}
}
