@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap");

/* =========================================================
   MECENASTD - CSS GLOBAL v9.12
   Local: Personalizacao > CSS/JavaScript > Site > Todos > CSS
   ATENCAO: este arquivo SUBSTITUI todo o conteudo do campo.
   Titulos: Plus Jakarta Sans | Texto: Inter

   v9.12 Secao 59: o Pinterest entra nas redes (JavaScript v10.24),
         com a mesma regra do TikTok e do YouTube. Secao 59.1 nova:
         a fila de icones do rodape e do menu do celular cabe em
         todas as larguras.
   v9.11 Secao 59 nova: TikTok e YouTube entram nas redes (JavaScript
         v10.23). No topo, aparecem so em telas de 1600 px ou mais,
         como Facebook, Instagram e LinkedIn; no menu do celular e
         no rodape aparecem sempre.
   v9.10 Secao 58 nova: no celular, os tres tracos do botao do menu
         e o X de fechar voltam a aparecer nas paginas internas.
   v9.9  Secao 57 nova: o atalho de cada lista do menu ("Ver todos
         os servicos", "Abrir a pagina da consulta" etc.) fica no
         alto do painel e menor. Par do JavaScript v10.21.
         Nada das outras secoes mudou.
   v9.8  Secao 36.1 refeita: os depoimentos do rodape viram uma
         janela menor, com fundo rajado em azul e branco e
         cartoes compactos. Nada das outras secoes mudou.
   v9.2  Nova secao 53, no fim: a home mostra todos os servicos
         por area (bloco .mstd-dir) e o carrossel sai da tela.
         Nada das secoes anteriores mudou.
   v9.1  Nova secao 52, no fim: nas listagens (Servicos, Blog,
         Paginas) e no carrossel da home a capa aparece inteira,
         na proporcao 8:5 das artes (1200x750). Nada das secoes
         anteriores mudou.
   v9.0  Nova secao 51, no fim: no computador o topo (menu e
         botao Orcamento) acompanha a rolagem da pagina.
         Nada das secoes anteriores mudou.
   v8.9  Nova secao 50, no fim: menu do computador deixa de
         cobrir a logo, barra do celular alinhada, banner da
         home sem corte no celular e "Orcamento" visivel no
         menu do celular. Nada das secoes anteriores mudou.
   v8.8  Nova secao 49, no fim: bloco "Tres formas de resolver"
         e carrossel da home por publico (par do MSTD 32 do
         JavaScript v8.5). Nada das secoes anteriores mudou.

   HISTORICO RESUMIDO
   v6.1  Cartoes de depoimento deixaram de ser capturados pela
         regra generica de cartao claro da secao 11.
   v6.2  Bloco de depoimentos passou a morar no container Sobre.
   v6.3  Largura total por coluna, no lugar de margem negativa.
   v6.4  Newsletter do rodape reativada, com acabamento visual.
   v6.5  Moldura azul: fundo azul medio com faixa clara central
         na largura do conteudo. Herois e secoes ficaram
         transparentes para a moldura aparecer.
   v6.6  Faixa central em branco puro e sombras reforcadas.
   v6.7  Etapas das paginas novas em 2 colunas; .mstd-step-lista
         deixou de ser tratada como cartao.
   v6.8  Imagens de heroi padronizadas em 1600x1000 (8:5).
   v6.9  Regra explicita para o heroi da pagina de Curriculo.
   v7.0  Regra exclusiva para o heroi da pagina de Orcamento.
   v7.5  Ritmo vertical da home refeito: o padding passou a ser
         controlado so pelo container, nao pelas secoes internas.
   v7.6  Tentativa de liberar imagem fora de 8:5. Nao funcionou:
         o seletor tinha peso menor que a regra generica.
   v7.7  Correcao da v7.6 com a cadeia de seletores completa.

   O QUE MUDOU NA v8.7: menu em degrade do marinho para o azul da
   marca (secao 46).
   O QUE MUDOU NA v8.6: barra do topo volta a ser branca; menu em
   azul-marinho, o mesmo do rodape (secao 46).
   O QUE MUDOU NA v8.5: icone do app no topo no mesmo formato das
   redes (circulo claro, M azul; azul com M branco no hover).
   O QUE MUDOU NA v8.4: secao 48 nova, no fim (topo azul, logo maior
   com efeito, simbolo M da logo no icone do app).
   O QUE MUDOU NA v8.3: barra de rolagem mais grossa (secao 1).
   O QUE MUDOU NA v8.2 (Analise Digital nas paginas)
   1. Secao 47 nova, no fim do arquivo: visual do bloco da
      Analise Digital nas paginas de servico e nos artigos do
      blog. Par do MSTD 30 do JavaScript v7.8.
   2. Nada mais foi tocado.

   O QUE MUDOU NA v8.1 (acesso ao app Analise Digital)
   1. Secao 45 nova, no fim do arquivo: icone do app junto das
      redes sociais, botao flutuante "Analise Digital" no mesmo
      desenho do WhatsApp fixo, logo acima dele, e aviso de
      boas-vindas. Par do MSTD 29.
   2. Nada mais foi tocado.

   O QUE MUDOU NA v8.0 (espacamento na home)
   1. Cartoes de servico: o botao "Saiba mais" passou a ser
      empurrado para a base do cartao (margin-top: auto), e o
      corpo do cartao passou a ocupar a altura restante. Antes,
      quando o
      titulo ocupava 2 linhas em vez das 3 reservadas, a sobra
      vertical ficava toda abaixo do botao, criando um vao.
      Agora a sobra fica acima dele e os botoes de todos os
      cartoes da fileira ficam na mesma altura.
   2. Secao de compromissos (.mstd-depo): ganhou margem
      superior de 56px e uma linha de topo. Ela vinha colada no
      cartao escuro do simulador, e dois blocos escuros
      encostados perdiam a fronteira visual.
   3. Nada mais foi tocado.

   O QUE MUDOU NA v7.9 (titulos cortados nos cartoes)
   Sintoma: nos cartoes de "Veja Mais" e nas listagens, titulos
   longos apareciam com a terceira linha cortada ao meio.
   Causa: a folha da plataforma aplica em .card-title
   height: 50px, -webkit-line-clamp: 2 e overflow: hidden. Ate a
   v7.8 este arquivo sobrescrevia so a altura. A caixa crescia,
   mas o recorte de 2 linhas continuava valendo, e o resultado
   era a linha seguinte aparecendo pela metade.
   1. .card-title dos cartoes: recorte redeclarado em 3 linhas,
      com altura minima e maxima calculadas a partir da
      entrelinha. Cobre o titulo mais longo do site
      ("Documentacao para Progressao Funcional e Prova de
      Titulos") e mantem os cartoes alinhados na fileira.
   2. .card-text dos cartoes: mesmo tratamento, em 3 linhas,
      com a altura derivada da entrelinha em vez dos 60px
      fixos da plataforma.
   3. Nada mais foi tocado. O restante do arquivo e identico
      a v7.8.

   O QUE MUDOU NA v7.8 (limpeza de codigo morto)
   1. Bloco MSTD 23: removidas as variaveis
      --mstd-img-similaridade e --mstd-img-estilo-autoral e as
      duas regras que as aplicavam. Elas alimentavam um ::before
      do heroi que deixou de existir na v6.5, quando o heroi
      virou transparente. Ninguem consumia --mstd-srvx-hero.
      Como efeito colateral, some a divergencia de nomes de
      arquivo entre este CSS e o bloco MSTD 23 do JavaScript.
   2. Bloco MSTD 23: removidas as regras de padding, altura e
      borda de .mstd-srvx-image-card. Tinham peso 0,1,0 e nunca
      venciam a regra generica de heroi da secao 11, que tem
      0,4,0. Sobrou apenas a protecao contra endereco de imagem
      nao substituido, que continua util.
   3. Bloco 18.5: removida a regra que desligava o ::after dos
      cards de imagem. Esses pseudoelementos sairam na v7.1.
   ========================================================= */

/* ---------------------------------------------------------
   1. VARIAVEIS
--------------------------------------------------------- */
:root {
  --m-ink: #060b16;
  --m-ink-2: #0d1b33;
  --m-text: #38445c;
  --m-text-soft: #64748b;
  --m-blue: #0148ff;
  --m-blue-2: #3d7dff;
  --m-blue-3: #7aa8ff;
  --m-line: rgba(1, 72, 255, .14);
  --m-white: #ffffff;
  --m-glass: rgba(255, 255, 255, .78);
  --m-shadow-s: 0 8px 22px rgba(9, 22, 51, .09);
  --m-shadow-m: 0 18px 44px rgba(9, 22, 51, .13);
  --m-shadow-l: 0 32px 76px rgba(9, 22, 51, .18);
  --m-glow: 0 16px 38px rgba(1, 72, 255, .26);
  --m-dark: radial-gradient(circle at 88% 108%, rgba(61, 125, 255, .55), transparent 46%),
            linear-gradient(140deg, #060b16 0%, #0b1e45 52%, #0148ff 128%);
  --m-radius: 26px;
  --m-radius-l: 34px;
  --m-font-display: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --m-font-text: "Inter", "Segoe UI", Arial, sans-serif;
  --m-header-h: 74px;

  /* Moldura azul (v6.5)
     --m-folha-cor: cor da faixa central onde fica o conteudo
     --m-folha-in : metade da largura da faixa clara
     --m-folha-out: onde a faixa termina de desbotar no azul
     Para alargar a faixa clara, aumente os dois ultimos
     mantendo a diferenca entre eles (hoje 44px, que e o
     tamanho do desbote da borda). */
  --m-folha-cor: #ffffff;
  --m-folha-in: 650px;
  --m-folha-out: 694px;
  --m-moldura:
    radial-gradient(1200px 680px at 3% -6%, rgba(1, 72, 255, .20), transparent 60%),
    radial-gradient(1000px 620px at 99% 4%, rgba(61, 125, 255, .24), transparent 58%),
    radial-gradient(900px 600px at 50% 104%, rgba(1, 72, 255, .16), transparent 60%),
    linear-gradient(180deg, #c6daf7 0%, #aecaf3 46%, #c6daf7 100%);
  --m-folha:
    linear-gradient(90deg,
      transparent 0,
      transparent calc(50% - var(--m-folha-out)),
      var(--m-folha-cor) calc(50% - var(--m-folha-in)),
      var(--m-folha-cor) calc(50% + var(--m-folha-in)),
      transparent calc(50% + var(--m-folha-out)),
      transparent 100%);
}

/* ---------------------------------------------------------
   2. BASE
--------------------------------------------------------- */
html, body { max-width: 100%; overflow-x: hidden !important; }

body {
  margin: 0 !important;
  color: var(--m-text) !important;
  font-family: var(--m-font-text) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  /* Moldura azul: a faixa clara e a primeira camada, por cima
     do azul. background-attachment fixed faz o 50% do calc()
     valer sobre a janela, e nao sobre a altura da pagina. */
  background: var(--m-folha), var(--m-moldura) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

body, p, li, span, div, a, input, textarea, select, button, td, th, label, summary {
  font-family: var(--m-font-text) !important;
}

h1, h2, h3, h4, h5, h6,
.mstd-title, .card-title, .footer-title, .titulo-text-contato {
  font-family: var(--m-font-display) !important;
  color: var(--m-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
}

p, li { color: var(--m-text) !important; font-size: 1rem !important; line-height: 1.78 !important; font-weight: 400 !important; }
main { background: transparent !important; }
a { text-decoration: none; }
::selection { background: rgba(1, 72, 255, .18); }

/* Barra de rolagem - v8.3: mais grossa (15px) e com hover */
::-webkit-scrollbar { width: 15px; height: 15px; }
::-webkit-scrollbar-track { background: #eaf1ff; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #7aa8ff, #0148ff); border-radius: 10px; border: 3px solid #eaf1ff; min-height: 48px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #3d7dff, #0139d6); }
/* Firefox (so ele le esta regra; o Chrome continua com o degrade acima) */
@supports (-moz-appearance: none) {
  html { scrollbar-color: #0148ff #eaf1ff; scrollbar-width: auto; }
}

/* Animacao de entrada (ativada pelo JS) */
.mstd-reveal { opacity: 0; transform: translateY(22px); }
.mstd-reveal.mstd-in { opacity: 1; transform: none; transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
@media (prefers-reduced-motion: reduce) {
  .mstd-reveal, .mstd-reveal.mstd-in { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---------------------------------------------------------
   3. CABECALHO DESKTOP
--------------------------------------------------------- */
@media (min-width: 992px) {
  nav.header-base, .header-base {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    height: var(--m-header-h) !important;
    min-height: var(--m-header-h) !important;
    padding: 0 20px !important;
    background: rgba(255, 255, 255, .82) !important;
    backdrop-filter: blur(16px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
    border-bottom: 1px solid rgba(1, 72, 255, .10) !important;
    box-shadow: 0 2px 0 rgba(255,255,255,.6), 0 10px 30px rgba(9, 22, 51, .05) !important;
    transition: box-shadow .3s ease, background .3s ease !important;
    overflow: visible !important;
  }
  body.mstd-scrolled nav.header-base,
  body.mstd-scrolled .header-base {
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 12px 34px rgba(9, 22, 51, .10) !important;
  }
  nav.header-base .header-desktop, .header-desktop.row {
    height: var(--m-header-h) !important;
    min-height: var(--m-header-h) !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .header-desktop-logo.col-md-3, nav.header-base .header-desktop-logo {
    flex: 0 0 178px !important;
    width: 178px !important;
    max-width: 178px !important;
    height: var(--m-header-h) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }
  .header-desktop-logo a { width: 100% !important; height: var(--m-header-h) !important; margin: 0 !important; display: flex !important; align-items: center !important; }
  .header-desktop-logo img, .header-desktop-logo .logo_desk, img.logo_desk {
    display: block !important;
    width: auto !important;
    max-width: 158px !important;
    max-height: 46px !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .header-desktop-menu.col-md-9, nav.header-base .header-desktop-menu {
    flex: 1 1 auto !important;
    width: calc(100% - 178px) !important;
    max-width: calc(100% - 178px) !important;
    height: var(--m-header-h) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  .header-desktop-menu .menu { flex: 1 1 auto !important; min-width: 0 !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; }
  .header-desktop-menu .menu-principal {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    padding: 5px !important;
    margin: 0 !important;
    list-style: none !important;
    border-radius: 999px !important;
    background: rgba(240, 245, 255, .72) !important;
    border: 1px solid rgba(1, 72, 255, .10) !important;
  }
  .header-desktop-menu .menu-principal > li { display: inline-flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; white-space: nowrap !important; }
  .header-desktop-menu .menu-principal > li > a,
  .header-desktop-menu .menu-principal > li.menu-home > span {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: transparent !important;
    color: #24334d !important;
    font-family: var(--m-font-display) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: none !important;
    transition: all .22s ease !important;
  }
  .header-desktop-menu .menu-principal > li > a:hover,
  .header-desktop-menu .menu-principal > li.menu-home > span:hover {
    background: #ffffff !important;
    color: var(--m-blue) !important;
    box-shadow: 0 6px 16px rgba(9, 22, 51, .10) !important;
  }
  /* Botao de destaque: Orcamento */
  .header-desktop-menu .menu-principal a[href*="681955"] {
    background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 22px rgba(1, 72, 255, .28) !important;
  }
  .header-desktop-menu .menu-principal a[href*="681955"]:hover {
    background: linear-gradient(135deg, #0139d6 0%, #2a6bff 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
  }
  /* Remove o item "Contato" duplicado da plataforma */
  .header-desktop-menu .menu-principal > li.menu-contato,
  nav.header-base .menu-principal > li.menu-contato { display: none !important; }
  /* Encurta rotulos longos */
  .header-desktop-menu .menu-principal a[href*="681958"],
  .header-desktop-menu .menu-principal a[href*="682076"],
  .header-desktop-menu .menu-principal a[href*="682036"] { font-size: 0 !important; }
  .header-desktop-menu .menu-principal a[href*="681958"]::after { content: "Sobre"; font-size: 12.5px !important; }
  .header-desktop-menu .menu-principal a[href*="682076"]::after { content: "Atuação"; font-size: 12.5px !important; }
  .header-desktop-menu .menu-principal a[href*="682036"]::after { content: "Como atuamos"; font-size: 12.5px !important; }
  /* Esconde paginas legais do menu (ficam no rodape) */
  .header-desktop-menu .menu-principal a[href*="682091"],
  .header-desktop-menu .menu-principal a[href*="682090"] { display: none !important; }

  .header-desktop-menu .icones-sociais { height: var(--m-header-h) !important; display: flex !important; align-items: center !important; margin-left: 4px !important; }
  .header-desktop-menu .icones-sociais .redeSocial,
  .header-desktop-menu .icones-sociais .itenSocial { display: flex !important; align-items: center !important; }
  .header-desktop-menu .icones-sociais .itenSocial a {
    width: 33px !important; height: 33px !important; min-width: 33px !important;
    border-radius: 50% !important;
    background: rgba(240, 245, 255, .9) !important;
    color: #24334d !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    border: 1px solid rgba(1, 72, 255, .12) !important;
    transition: all .22s ease !important;
  }
  .header-desktop-menu .icones-sociais .itenSocial a:hover {
    background: linear-gradient(135deg, #0148ff, #3d7dff) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 18px rgba(1, 72, 255, .28) !important;
  }
  .header-desktop-menu .traducao { height: var(--m-header-h) !important; display: flex !important; align-items: center !important; }
  .header-desktop-menu .traducao > a:not(.edit_btn_editavel) {
    width: 42px !important; height: 33px !important; min-height: 33px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(1, 72, 255, .12) !important;
    background: rgba(240, 245, 255, .9) !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    gap: 2px !important;
  }
  .header-desktop-menu .traducao img, .header-desktop-menu .btn_traducao_default {
    width: 21px !important; height: 21px !important; max-width: 21px !important; max-height: 21px !important;
    border-radius: 50% !important; object-fit: cover !important;
  }
  .header-desktop-menu .traducao i { color: #24334d !important; font-size: 10px !important; }
}

@media (min-width: 992px) and (max-width: 1399px) {
  nav.header-base, .header-base { padding: 0 12px !important; }
  .header-desktop-logo.col-md-3, nav.header-base .header-desktop-logo { flex-basis: 148px !important; width: 148px !important; max-width: 148px !important; }
  .header-desktop-menu.col-md-9, nav.header-base .header-desktop-menu { width: calc(100% - 148px) !important; max-width: calc(100% - 148px) !important; }
  .header-desktop-logo img, .header-desktop-logo .logo_desk, img.logo_desk { max-width: 132px !important; max-height: 40px !important; }
  .header-desktop-menu .menu-principal > li > a,
  .header-desktop-menu .menu-principal > li.menu-home > span { height: 31px !important; padding: 0 9px !important; font-size: 11px !important; }
  .header-desktop-menu .menu-principal a[href*="681958"]::after,
  .header-desktop-menu .menu-principal a[href*="682076"]::after,
  .header-desktop-menu .menu-principal a[href*="682036"]::after { font-size: 11px !important; }
  .header-desktop-menu .icones-sociais .itenSocial a,
  .header-desktop-menu .traducao > a:not(.edit_btn_editavel) { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; }
}

/* Cabecalho mobile */
@media (max-width: 991px) {
  .header-mobile {
    position: sticky !important; top: 0 !important; z-index: 9999 !important;
    min-height: 66px !important; height: 66px !important;
    background: rgba(255, 255, 255, .92) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    border-bottom: 1px solid rgba(1, 72, 255, .10) !important;
  }
  .header-mobile-logo img, .logo_cel { max-width: 146px !important; max-height: 44px !important; object-fit: contain !important; }
  .iconMenuTransform span { background: #0b1e45 !important; }
  .menu-principal.menuPrincipalMobile a[href*="682091"],
  .menu-principal.menuPrincipalMobile a[href*="682090"] { display: none !important; }
  .fundoMenuMobile {
    background: radial-gradient(circle at 88% 4%, rgba(61,125,255,.35), transparent 46%),
      linear-gradient(160deg, #060b16 0%, #0b1e45 58%, #06122c 100%) !important;
  }
  .menu-principal.menuPrincipalMobile .nav-link {
    font-family: var(--m-font-display) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
    color: #ffffff !important;
  }
  .menu-principal.menuPrincipalMobile .nav-link:hover { color: var(--m-blue-3) !important; }
  .redesSociaisMenu .itenSocial a { background: rgba(255,255,255,.12) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.16) !important; }
}

/* Tradutor: remove barra do Google */
.goog-te-banner-frame, .skiptranslate iframe, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
body { top: 0 !important; }
.menu-linguagem { border-radius: 16px !important; border: 1px solid rgba(1,72,255,.14) !important; box-shadow: var(--m-shadow-m) !important; background: #ffffff !important; }
.menu-linguagem li a img { border-radius: 50% !important; }

/* ---------------------------------------------------------
   4. BANNER DA HOME
--------------------------------------------------------- */
#layerHome.area-apresentacao,
#layerHome #carousel-main-website,
#layerHome .carousel,
#layerHome .carousel-inner,
#layerHome .carousel-item,
#layerHome .img_slid,
#layerHome .slide-img,
#layerHome .carousel-item img,
#layerHome .img_slid img,
#layerHome .slide-img img,
#layerHome .backgroundody {
  height: 620px !important; min-height: 620px !important; max-height: 620px !important;
}
#layerHome.area-apresentacao { position: relative !important; width: 100% !important; overflow: hidden !important; background: #060b16 !important; }
#layerHome .carousel-item img, #layerHome .img_slid img, #layerHome .slide-img img {
  width: 100% !important; object-fit: cover !important; object-position: center center !important;
}
#layerHome .video-topo { position: absolute !important; inset: 0 !important; z-index: 5 !important; pointer-events: none !important; }
#layerHome .backgroundody {
  width: 100% !important;
  padding: 34px 24px 44px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(100deg, rgba(4,9,20,.80) 0%, rgba(6,15,36,.52) 46%, rgba(1,40,140,.42) 100%) !important;
  pointer-events: auto !important;
}
#layerHome .container_conteudo_informativo {
  width: 100% !important; max-width: 1200px !important; margin: 0 auto !important;
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  position: relative !important; z-index: 10 !important; pointer-events: auto !important;
}
.mstd-banner-native {
  width: min(720px, 94vw) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #ffffff !important;
  position: relative !important; z-index: 15 !important;
  pointer-events: auto !important;
  text-align: left !important;
}
.mstd-banner-tag, .mstd-eyebrow {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  min-height: 34px !important; padding: 7px 15px !important; margin-bottom: 20px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(1,72,255,.20) !important;
  background: rgba(1,72,255,.07) !important;
  color: var(--m-blue) !important;
  font-family: var(--m-font-display) !important;
  font-size: .74rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .10em !important;
}
#layerHome .mstd-banner-native .mstd-banner-tag {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: #dbe7ff !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
#layerHome .mstd-banner-native h1 {
  font-size: clamp(2.3rem, 4.6vw, 4.4rem) !important;
  line-height: 1.02 !important;
  margin: 0 0 18px !important;
  letter-spacing: -.045em !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  text-shadow: 0 6px 30px rgba(0,0,0,.34) !important;
}
#layerHome .mstd-banner-native p {
  max-width: 620px !important;
  color: rgba(240,246,255,.90) !important;
  font-size: 1.06rem !important; line-height: 1.72 !important; font-weight: 400 !important;
  margin: 0 0 22px !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.30) !important;
}
.mstd-banner-mini { display: flex !important; flex-wrap: wrap !important; gap: 9px !important; margin: 0 0 26px !important; }
.mstd-banner-mini span {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 8px 14px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important;
  color: #ffffff !important; font-size: .8rem !important; font-weight: 600 !important; line-height: 1 !important;
}
.mstd-banner-mini span i { color: var(--m-blue-3) !important; }
#layerHome .carousel-control-prev, #layerHome .carousel-control-next, #layerHome .carousel-indicators { z-index: 20 !important; }
#layerHome .carousel-indicators li { width: 34px !important; height: 4px !important; border-radius: 4px !important; background: rgba(255,255,255,.45) !important; }
#layerHome .carousel-indicators li.active { background: var(--m-blue-2) !important; }

/* ---------------------------------------------------------
   5. BOTOES
--------------------------------------------------------- */
.mstd-actions, .mstd-banner-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; align-items: center !important; }
.mstd-actions.center, .mstd-banner-actions.center { justify-content: center !important; }

.mstd-btn, .mstd-banner-actions a {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 9px !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  font-family: var(--m-font-display) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 20 !important;
  transition: transform .24s cubic-bezier(.22,.61,.36,1), box-shadow .24s ease, background .24s ease !important;
}
.mstd-btn-primary, .mstd-banner-actions .primary {
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  border: 0 !important;
  box-shadow: var(--m-glow) !important;
}
.mstd-btn-primary:hover, .mstd-banner-actions .primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 22px 46px rgba(1,72,255,.36) !important;
  color: #ffffff !important;
}
.mstd-btn-outline {
  background: rgba(255,255,255,.86) !important;
  color: var(--m-ink) !important; -webkit-text-fill-color: var(--m-ink) !important;
  border: 1px solid rgba(1,72,255,.20) !important;
  box-shadow: var(--m-shadow-s) !important;
}
.mstd-btn-outline:hover { transform: translateY(-2px) !important; border-color: var(--m-blue) !important; color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important; }
.mstd-btn-outline-light, .mstd-banner-actions .secondary {
  background: rgba(255,255,255,.10) !important;
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important;
}
.mstd-btn-outline-light:hover, .mstd-banner-actions .secondary:hover {
  background: #ffffff !important; color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important; transform: translateY(-2px) !important;
}

/* Botoes nativos da plataforma */
.btn, button, input[type="submit"], .btn-primary, .btn-success, .btn-newsletter {
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  color: #ffffff !important;
  font-family: var(--m-font-display) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: 0 12px 26px rgba(1,72,255,.22) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}
.btn:hover, button:hover, input[type="submit"]:hover { transform: translateY(-2px) !important; box-shadow: 0 18px 34px rgba(1,72,255,.30) !important; }

/* ---------------------------------------------------------
   6. SECOES E TITULOS
--------------------------------------------------------- */
.mstd-wrap { width: min(1200px, calc(100% - 34px)) !important; margin: 0 auto !important; }
.mstd-home-section, .mstd-section { padding: 0 !important; background: transparent !important; }
.mstd-section-head { margin-bottom: 42px !important; }
.mstd-center { text-align: center !important; }
.mstd-center .mstd-eyebrow { margin-left: auto !important; margin-right: auto !important; }

.mstd-title {
  max-width: 940px !important;
  margin: 0 auto 16px !important;
  font-family: var(--m-font-display) !important;
  font-size: clamp(2.05rem, 3.6vw, 3.5rem) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  background: linear-gradient(100deg, #060b16 0%, #0f2f7a 46%, #0148ff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.mstd-subtitle {
  max-width: 880px !important;
  margin: 0 auto !important;
  color: var(--m-text) !important;
  font-size: 1.06rem !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
}

.mstd-grid-2, .mstd-grid-3, .mstd-grid-4 { display: grid !important; gap: 22px !important; }
.mstd-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.mstd-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mstd-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* Fundo das secoes da home */
/* v7.5: o padding caiu de 86px+86px para um valor unico.
   Antes, dois containers vizinhos somavam 172px, e as secoes
   internas acrescentavam mais 78px+90px por cima disso. */
#containerEditavel-154441,
#containerEditavel-154443,
#containerEditavel-154445,
#containerEditavel-154446,
#containerEditavel-154447 {
  position: relative !important;
  padding-top: 0 !important;
  padding-bottom: clamp(34px, 4vw, 58px) !important;
  background: transparent !important;
  overflow: hidden !important;
}
/* v6.5: transparentes, pelo mesmo motivo do heroi. A
   alternancia de secoes agora vem da moldura, nao de faixas
   claras de largura total. */
#containerEditavel-154443,
#containerEditavel-154446 {
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}
#containerEditavel-154441 > .container > .row > .TextoConteudoEditavel { display: none !important; }
#containerEditavel-154442,
#containerEditavel-154444,
#containerEditavel-154447,
#contatoHome { display: none !important; }
#footer ~ main, #footer ~ section, #footer ~ article, #footer ~ iframe, #footer ~ img {
  display: none !important; height: 0 !important; overflow: hidden !important; visibility: hidden !important; opacity: 0 !important;
}

/* ---------------------------------------------------------
   7. CARDS GERAIS
--------------------------------------------------------- */
.mstd-card, .mstd-list-box, .mstd-pro-card, .mstd-box-dark, .mstd-service-card {
  position: relative !important;
  padding: 32px !important;
  border-radius: var(--m-radius-l) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(243,248,255,.90)) !important;
  border: 1px solid rgba(1,72,255,.13) !important;
  box-shadow: var(--m-shadow-m) !important;
  backdrop-filter: blur(10px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
  overflow: hidden !important;
  height: 100% !important;
  transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s ease, border-color .28s ease !important;
}
.mstd-card::after, .mstd-list-box::after, .mstd-pro-card::after {
  content: "" !important; position: absolute !important; inset: 0 0 auto 0 !important; height: 3px !important;
  background: linear-gradient(90deg, transparent, rgba(1,72,255,.55), transparent) !important;
  opacity: 0 !important; transition: opacity .28s ease !important;
}
.mstd-card:hover, .mstd-list-box:hover, .mstd-pro-card:hover, .mstd-box-dark:hover, .mstd-service-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--m-shadow-l) !important;
  border-color: rgba(1,72,255,.30) !important;
}
.mstd-card:hover::after, .mstd-list-box:hover::after, .mstd-pro-card:hover::after { opacity: 1 !important; }

.mstd-card h2, .mstd-card h3, .mstd-list-box h2, .mstd-list-box h3, .mstd-pro-card h2, .mstd-pro-card h3 {
  color: var(--m-ink) !important; font-weight: 800 !important; letter-spacing: -.03em !important; margin: 0 0 14px !important;
}
.mstd-card h3, .mstd-pro-card h3 { font-size: 1.22rem !important; }
.mstd-list-box h2 { font-size: clamp(1.4rem, 2vw, 1.85rem) !important; }
.mstd-card p, .mstd-card li, .mstd-list-box p, .mstd-list-box li, .mstd-pro-card p, .mstd-pro-card li {
  color: var(--m-text) !important; font-size: .99rem !important; line-height: 1.75 !important;
}

/* Variantes escuras */
.mstd-dark-list-box, .mstd-pro-card.dark, .mstd-equal-dark-card, .mstd-box-dark, .mstd-dark-info-card {
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 26px 60px rgba(6,11,22,.24) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.mstd-dark-list-box h2, .mstd-dark-list-box h3, .mstd-pro-card.dark h2, .mstd-pro-card.dark h3,
.mstd-equal-dark-card h2, .mstd-equal-dark-card h3, .mstd-box-dark h2, .mstd-box-dark h3, .mstd-dark-info-card h3 {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
.mstd-dark-list-box p, .mstd-dark-list-box li, .mstd-pro-card.dark p, .mstd-pro-card.dark li,
.mstd-equal-dark-card p, .mstd-equal-dark-card li, .mstd-box-dark p, .mstd-box-dark li, .mstd-dark-info-card p {
  color: #dce7ff !important; -webkit-text-fill-color: #dce7ff !important;
}
.mstd-dark-list-box .mstd-pro-icon, .mstd-pro-card.dark .mstd-pro-icon, .mstd-equal-dark-card .mstd-pro-icon {
  background: rgba(255,255,255,.12) !important; color: #ffffff !important; border: 1px solid rgba(255,255,255,.16) !important;
}

/* Icones */
.mstd-icon, .mstd-pro-icon, .mstd-dark-icon {
  width: 56px !important; height: 56px !important;
  margin-bottom: 20px !important;
  border-radius: 18px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: var(--m-blue) !important;
  font-size: 1.4rem !important;
}

/* Listas com check e x */
.mstd-check-list, .mstd-x-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.mstd-check-list li, .mstd-x-list li { position: relative !important; padding: 0 0 13px 34px !important; margin: 0 0 13px !important; line-height: 1.7 !important; }
.mstd-check-list li:last-child, .mstd-x-list li:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.mstd-check-list li::before {
  content: "\2713" !important; font-family: var(--m-font-display) !important;
  position: absolute !important; left: 0 !important; top: 1px !important;
  width: 21px !important; height: 21px !important; border-radius: 7px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(34,197,94,.14) !important; color: #16a34a !important;
  font-size: .78rem !important; font-weight: 800 !important;
}
.mstd-x-list li::before {
  content: "\00D7" !important; font-family: var(--m-font-display) !important;
  position: absolute !important; left: 0 !important; top: 1px !important;
  width: 21px !important; height: 21px !important; border-radius: 7px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(239,68,68,.12) !important; color: #ef4444 !important;
  font-size: .95rem !important; font-weight: 800 !important;
}
.mstd-dark-list-box .mstd-check-list li::before { background: rgba(34,197,94,.22) !important; color: #6ee7a5 !important; }
.mstd-dark-list-box .mstd-x-list li::before { background: rgba(239,68,68,.22) !important; color: #ffa8a8 !important; }

/* Avisos */
.mstd-alert, .mstd-alert-clean {
  padding: 22px 26px !important;
  border-radius: var(--m-radius) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(240,246,255,.88)) !important;
  border: 1px solid rgba(1,72,255,.16) !important;
  border-left: 4px solid var(--m-blue) !important;
  box-shadow: var(--m-shadow-s) !important;
  color: var(--m-text) !important;
  line-height: 1.72 !important;
}
.mstd-alert strong, .mstd-alert-clean strong { color: var(--m-ink) !important; font-weight: 700 !important; }

/* ---------------------------------------------------------
   8. BLOCO "COMO A MECENASTD AJUDA"
--------------------------------------------------------- */
.mstd-home-v4-watermark-section { position: relative !important; overflow: hidden !important; padding: 0 !important; }
.mstd-home-v4-box {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 34px !important;
  align-items: center !important;
  padding: 44px !important;
  border-radius: 40px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(242,247,255,.86)) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  box-shadow: var(--m-shadow-l) !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
}
.mstd-home-v4-box h2 {
  font-size: clamp(1.9rem, 3.1vw, 3rem) !important;
  line-height: 1.06 !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  margin: 0 0 18px !important;
  background: linear-gradient(100deg, #060b16 0%, #0f2f7a 48%, #0148ff 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: transparent !important;
}
.mstd-home-v4-box p { color: var(--m-text) !important; font-size: 1.02rem !important; line-height: 1.82 !important; }
.mstd-home-v4-service-list { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.mstd-home-v4-service-list div {
  display: flex !important; align-items: center !important; gap: 13px !important;
  min-height: 86px !important; padding: 16px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(1,72,255,.12) !important;
  box-shadow: var(--m-shadow-s) !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}
.mstd-home-v4-service-list div:hover { transform: translateY(-4px) !important; border-color: rgba(1,72,255,.30) !important; box-shadow: var(--m-shadow-m) !important; }
.mstd-home-v4-service-list i {
  width: 46px !important; height: 46px !important; min-width: 46px !important;
  border-radius: 15px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  color: var(--m-blue) !important; font-size: 1.2rem !important;
}
.mstd-home-v4-service-list span {
  font-family: var(--m-font-display) !important;
  color: var(--m-ink) !important; font-weight: 700 !important; font-size: .95rem !important; line-height: 1.35 !important;
}

/* ---------------------------------------------------------
   9. CARDS DE SERVICO (SWIPER / LISTAGEM)
--------------------------------------------------------- */
.swiper { padding: 8px 4px 4px !important; }
.swiper-slide { height: auto !important; align-items: stretch !important; }
.swiper-slide .card, .col-listagem .card {
  position: relative !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 8px !important;
  border: 1px solid rgba(1,72,255,.12) !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  box-shadow: var(--m-shadow-m) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, border-color .3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}
.swiper-slide .card:hover, .col-listagem .card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 34px 72px rgba(1,72,255,.20) !important;
  border-color: rgba(1,72,255,.32) !important;
}
.swiper-slide .card::before, .col-listagem .card::before { content: none !important; display: none !important; }
.swiper-slide .img-fluid, .col-listagem .img-fluid {
  display: block !important;
  height: 180px !important;
  margin: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background: linear-gradient(160deg, #eaf1ff, #dbe7ff) !important;
}
.swiper-slide .img-fluid img, .col-listagem .img-fluid img {
  width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important;
  transition: transform .5s cubic-bezier(.22,.61,.36,1) !important;
}
.swiper-slide .card:hover .img-fluid img, .col-listagem .card:hover .img-fluid img { transform: scale(1.06) !important; }
.swiper-slide .img-fluid::after, .col-listagem .img-fluid::after {
  content: "" !important; position: absolute !important; inset: auto 0 0 0 !important; height: 58% !important;
  background: linear-gradient(180deg, transparent, rgba(6,11,22,.34)) !important;
}
/* v8.0 - O cartao tem height:100% para todos ficarem iguais na
   fileira, e o corpo e flex em coluna. Faltava dizer o que fazer
   com a sobra vertical quando o titulo ocupa 2 linhas em vez de 3.
   Sem isso, o espaco excedente ficava todo abaixo do botao, que e
   o ultimo filho - o vao que aparecia sob "Saiba mais".
   Com height:100% e margin-top:auto no botao, a sobra vai para
   ANTES do botao: ele encosta na base do cartao e os botoes de
   todos os cartoes da fileira ficam alinhados entre si. */
.swiper-slide .card-body, .col-listagem .card-body {
  padding: 24px 24px 26px !important; position: relative !important; z-index: 3 !important;
  display: flex !important; flex-direction: column !important;
  flex: 1 1 auto !important;
}
/* v7.9 - A folha da plataforma limita o titulo a 2 linhas com
   altura fixa de 50px (-webkit-line-clamp: 2 + overflow hidden).
   Ate a v7.8 este bloco soltava a altura, mas nao desfazia o
   recorte: a caixa crescia e a terceira linha continuava cortada
   pela metade. Agora o recorte e redeclarado em 3 linhas, e a
   altura minima equivale a essas 3 linhas, para os cartoes da
   mesma fileira permanecerem alinhados.
   O titulo completo continua disponivel: a plataforma escreve
   title="..." na propria tag, entao o texto inteiro aparece ao
   passar o mouse. */
.swiper-slide .card-title, .col-listagem .card-title {
  font-family: var(--m-font-display) !important;
  color: var(--m-ink) !important;
  font-size: 1.12rem !important; font-weight: 800 !important;
  line-height: 1.24 !important; letter-spacing: -.03em !important;
  margin: 0 0 12px !important; opacity: 1 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
  height: auto !important;
  min-height: calc(1.24em * 3) !important;
  max-height: calc(1.24em * 3) !important;
}
/* v7.9 - Mesmo problema no resumo. A plataforma recorta em 3
   linhas com altura fixa de 60px, o que nao fecha com a
   entrelinha usada aqui e deixava a terceira linha cortada.
   A altura agora e calculada a partir da propria entrelinha,
   entao o corte cai no fim da linha e as reticencias aparecem
   onde devem. */
.swiper-slide .card-text, .col-listagem .card-text {
  color: var(--m-text-soft) !important;
  font-size: .92rem !important; line-height: 1.68 !important; font-weight: 400 !important;
  margin-bottom: 18px !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
  height: auto !important;
  min-height: calc(1.68em * 3) !important;
  max-height: calc(1.68em * 3) !important;
}
.swiper-slide .btn-card, .col-listagem .btn-card {
  float: none !important; align-self: flex-start !important;
  margin-top: auto !important;
  min-height: 42px !important; padding: 0 20px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0148ff, #3d7dff) !important;
  border: 0 !important; color: #ffffff !important;
  font-family: var(--m-font-display) !important; font-size: .86rem !important; font-weight: 700 !important;
  box-shadow: 0 10px 22px rgba(1,72,255,.24) !important;
}
.swiper-slide .btn-card:hover, .col-listagem .btn-card:hover { background: linear-gradient(135deg, #0139d6, #2a6bff) !important; color: #ffffff !important; }
.arrow-swiper { gap: 22px !important; margin-top: 12px !important; }
.swiper-button-next, .swiper-button-prev {
  width: 46px !important; height: 46px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid rgba(1,72,255,.16) !important;
  box-shadow: var(--m-shadow-s) !important;
  color: var(--m-blue) !important;
  transition: all .24s ease !important;
}
.swiper-button-next:hover, .swiper-button-prev:hover { background: linear-gradient(135deg,#0148ff,#3d7dff) !important; color: #ffffff !important; transform: translateY(-2px) !important; }
.swiper-button-next::after, .swiper-button-prev::after { font-size: 15px !important; font-weight: 800 !important; }
.col-listagem.col-md-4.col-lg-3 { padding: 12px !important; }

/* ---------------------------------------------------------
   10. PERGUNTAS FREQUENTES (HOME)
--------------------------------------------------------- */
.mstd-home-faq-full { padding: 0 !important; }
.mstd-faq-notice {
  display: flex !important; gap: 14px !important; align-items: flex-start !important;
  max-width: 900px !important; margin: 0 auto 42px !important;
  padding: 20px 24px !important; border-radius: var(--m-radius) !important;
  background: rgba(1,72,255,.06) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
}
.mstd-faq-notice i { color: var(--m-blue) !important; font-size: 1.3rem !important; margin-top: 2px !important; }
.mstd-faq-notice p { margin: 0 !important; font-size: .95rem !important; line-height: 1.7 !important; }

.mstd-faq-category { margin-bottom: 34px !important; }
.mstd-faq-category > h3 {
  display: flex !important; align-items: center !important; gap: 13px !important;
  margin: 0 0 18px !important;
  font-size: clamp(1.15rem, 1.9vw, 1.5rem) !important;
  font-weight: 800 !important; letter-spacing: -.03em !important;
  color: var(--m-ink) !important;
}
.mstd-faq-category > h3 i {
  width: 44px !important; height: 44px !important; min-width: 44px !important;
  border-radius: 14px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: var(--m-blue) !important; font-size: 1.15rem !important;
}
.mstd-faq-list { display: grid !important; gap: 10px !important; }
.mstd-faq-list details, .mstd-faq details {
  padding: 18px 22px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(1,72,255,.12) !important;
  box-shadow: var(--m-shadow-s) !important;
  transition: border-color .24s ease, box-shadow .24s ease !important;
}
.mstd-faq-list details[open], .mstd-faq details[open] { border-color: rgba(1,72,255,.30) !important; box-shadow: var(--m-shadow-m) !important; }
.mstd-faq-list summary, .mstd-faq summary {
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
  padding-right: 36px !important;
  font-family: var(--m-font-display) !important;
  color: var(--m-ink) !important;
  font-size: 1rem !important; font-weight: 700 !important; line-height: 1.45 !important;
  letter-spacing: -.02em !important;
}
.mstd-faq-list summary::-webkit-details-marker, .mstd-faq summary::-webkit-details-marker { display: none !important; }
.mstd-faq-list summary::after, .mstd-faq summary::after {
  content: "+" !important;
  position: absolute !important; right: 0 !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 26px !important; height: 26px !important; border-radius: 9px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(1,72,255,.10) !important; color: var(--m-blue) !important;
  font-size: 1.1rem !important; font-weight: 800 !important; line-height: 1 !important;
  transition: transform .26s ease, background .26s ease !important;
}
.mstd-faq-list details[open] summary::after, .mstd-faq details[open] summary::after {
  content: "\2212" !important;
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important; color: #ffffff !important;
}
.mstd-faq-list details p, .mstd-faq details p { margin: 14px 0 0 !important; font-size: .96rem !important; line-height: 1.75 !important; color: var(--m-text) !important; }
.mstd-faq-final-cta {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  gap: 26px !important; margin-top: 34px !important;
  padding: clamp(28px, 4vw, 44px) !important;
  border-radius: 36px !important;
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 30px 68px rgba(6,11,22,.26) !important;
}
.mstd-faq-final-cta h3 { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-size: clamp(1.5rem, 2.4vw, 2.2rem) !important; margin: 0 0 10px !important; }
.mstd-faq-final-cta p { color: rgba(226,236,255,.86) !important; -webkit-text-fill-color: rgba(226,236,255,.86) !important; margin: 0 !important; }
.mstd-faq-final-cta .mstd-btn-outline {
  background: rgba(255,255,255,.10) !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  border-color: rgba(255,255,255,.26) !important;
}
.mstd-faq-final-cta .mstd-btn-outline:hover { background: #ffffff !important; color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important; }

/* ---------------------------------------------------------
   11. PAGINAS INTERNAS - PADRAO GENERICO
   Cobre .mstd-acad-page, .mstd-cv-page, .mstd-gestao-page,
   .mstd-admin-page, .mstd-licit-page, .mstd-biblio-page,
   .mstd-opt-page, .mstd-apoio-page, .mstd-exemplos-page,
   .mstd-orientacoes-page, .mstd-privacy-page, .mstd-terms-page,
   .mstd-limits-page, .mstd-process-page, .mstd-contato-page,
   .mstd-orcamento-page, .mstd-srvx-page, .mstd-about-page-v3

   CORRECAO v6.1: a regra de cartao claro abaixo tem peso
   0,5,0 e capturava tambem .mstd-depo-card, deixando os
   cartoes de depoimento brancos com texto branco. Agora
   ela exclui explicitamente -depo-card.
--------------------------------------------------------- */
[class*="mstd-"][class$="-page"], .mstd-about-page-v3 {
  position: relative !important; overflow: hidden !important; background: transparent !important;
}

/* Heroi */
[class*="mstd-"][class*="-hero"]:not([class*="-hero-"]) {
  position: relative !important; overflow: hidden !important;
  padding: 78px 0 66px !important;
  /* v6.5: transparente. Antes pintava uma faixa clara de ponta
     a ponta da tela e cobria a moldura azul. */
  background: transparent !important;
  border-bottom: 0 !important;
}
[class*="mstd-"][class*="-hero"] .mstd-wrap { position: relative !important; z-index: 2 !important; }
[class*="mstd-"][class*="-hero-grid"] {
  display: grid !important; grid-template-columns: 1.04fr .96fr !important;
  gap: 40px !important; align-items: center !important;
}
[class*="mstd-"][class*="-hero-text"] h1 {
  max-width: 860px !important;
  margin: 0 0 22px !important;
  font-family: var(--m-font-display) !important;
  font-size: clamp(2.3rem, 4.4vw, 4.1rem) !important;
  line-height: 1.03 !important;
  font-weight: 800 !important;
  letter-spacing: -.05em !important;
  background: linear-gradient(100deg, #060b16 0%, #0f2f7a 46%, #0148ff 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: transparent !important;
}
[class*="mstd-"][class*="-hero-text"] p {
  max-width: 790px !important; margin: 0 0 26px !important;
  color: var(--m-text) !important; font-size: 1.08rem !important; line-height: 1.82 !important;
}
/* Imagem do heroi dos servicos: padrao unico 1600x1000.
   A regra fica limitada aos herois para nao alterar imagens
   de cards, galerias, equipe ou outras secoes do site. */
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 8 / 5 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  justify-self: stretch !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), var(--m-shadow-l) !important;
  overflow: hidden !important;
}

/* Suporta cards em que a imagem esteja dentro de picture,
   figure ou link. */
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] > picture,
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] > figure,
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: inherit !important;
  overflow: hidden !important;
}

[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}
[class*="mstd-"][class*="-section"]:not([class*="-section-"]) { padding: 78px 0 90px !important; }

/* Caixas de destaque / SEO */
[class*="mstd-"][class*="-keyword-box"],
[class*="mstd-"][class*="-seo-box"],
[class*="mstd-"][class*="-seo-intro"],
[class*="mstd-"][class*="-alert"]:not([class*="-alert-box"]) {
  margin: 0 0 26px !important;
  padding: 24px 26px !important;
  border-radius: var(--m-radius) !important;
  background: rgba(1,72,255,.055) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  border-left: 4px solid var(--m-blue) !important;
  box-shadow: var(--m-shadow-s) !important;
}
[class*="mstd-"][class*="-keyword-box"] h2,
[class*="mstd-"][class*="-seo-box"] h2 {
  margin: 0 0 12px !important; color: var(--m-ink) !important;
  font-size: clamp(1.3rem, 2vw, 1.75rem) !important; font-weight: 800 !important; letter-spacing: -.035em !important;
}
[class*="mstd-"][class*="-keyword-box"] p,
[class*="mstd-"][class*="-seo-box"] p { margin: 0 0 10px !important; font-size: .99rem !important; line-height: 1.75 !important; }
[class*="mstd-"][class*="-keyword-box"] p:last-child { margin-bottom: 0 !important; }
[class*="mstd-"][class*="-keyword-box"] strong,
[class*="mstd-"][class*="-seo-box"] strong { color: var(--m-blue) !important; font-weight: 700 !important; }

/* Navegacao interna em pilulas */
[class*="mstd-"][class*="-nav"] { display: flex !important; flex-wrap: wrap !important; gap: 9px !important; margin: 0 0 34px !important; }
[class*="mstd-"][class*="-nav"] a {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 10px 16px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: #24334d !important;
  font-family: var(--m-font-display) !important; font-size: .88rem !important; font-weight: 700 !important;
  text-decoration: none !important; box-shadow: var(--m-shadow-s) !important;
  transition: all .22s ease !important;
}
[class*="mstd-"][class*="-nav"] a:hover {
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important; color: #ffffff !important;
  transform: translateY(-2px) !important; box-shadow: var(--m-glow) !important;
}

[class*="mstd-"][class*="-block"] { margin-top: 38px !important; }
[class*="mstd-"][class*="-grid-3"] { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 22px !important; }
[class*="mstd-"][class*="-grid-4"] { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 20px !important; }
[class*="mstd-"][class*="-main-grid"],
[class*="mstd-"][class*="-info-grid"],
[class*="mstd-"][class*="-notice-grid"],
[class*="mstd-"][class*="-form-grid"] { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 22px !important; align-items: start !important; }

/* Cartoes claros das paginas internas
   (-depo-card excluido: ele tem fundo escuro proprio na secao 36) */
[class*="mstd-"][class*="-card"]:not([class*="-card-icon"]):not([class*="-image-card"]):not([class*="-photo-card"]):not([class*="-depo-card"]),
[class*="mstd-"][class*="-list-card"],
[class*="mstd-"][class*="-alert-box"],
[class*="mstd-"][class*="-panel"],
[class*="mstd-"][class*="-info-panel"],
[class*="mstd-"][class*="-form-box"],
[class*="mstd-"][class*="-notice-card"],
[class*="mstd-"][class*="-prepare-box"],
[class*="mstd-"][class*="-example-box"],
[class*="mstd-"][class*="-feature-box"],
[class*="mstd-"][class*="-service-box"],
[class*="mstd-"][class*="-content"]:not([class*="-content-"]) {
  padding: 32px !important;
  border-radius: var(--m-radius-l) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(243,248,255,.90)) !important;
  border: 1px solid rgba(1,72,255,.13) !important;
  box-shadow: var(--m-shadow-m) !important;
  backdrop-filter: blur(10px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
}
[class*="mstd-"][class*="-card"]:not([class*="-card-icon"]):not([class*="-image-card"]):not([class*="-depo-card"]):hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--m-shadow-l) !important;
  border-color: rgba(1,72,255,.28) !important;
  transition: all .28s cubic-bezier(.22,.61,.36,1) !important;
}
[class*="mstd-"][class*="-card"]:not([class*="-depo-card"]) h3 { color: var(--m-ink) !important; font-size: 1.16rem !important; font-weight: 800 !important; letter-spacing: -.03em !important; margin: 0 0 12px !important; }
[class*="mstd-"][class*="-card"]:not([class*="-depo-card"]) p { color: var(--m-text) !important; font-size: .97rem !important; line-height: 1.74 !important; margin: 0 0 12px !important; }
[class*="mstd-"][class*="-card"]:not([class*="-depo-card"]) p:last-child { margin-bottom: 0 !important; }
[class*="mstd-"][class*="-list-card"] h2,
[class*="mstd-"][class*="-panel"] h2 { margin: 0 0 20px !important; font-size: clamp(1.5rem, 2.2vw, 2.2rem) !important; font-weight: 800 !important; letter-spacing: -.045em !important; }
[class*="mstd-"][class*="-list-card"] ul,
[class*="mstd-"][class*="-panel"] ul,
[class*="mstd-"][class*="-notice-card"] ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
[class*="mstd-"][class*="-list-card"] li,
[class*="mstd-"][class*="-panel"] li,
[class*="mstd-"][class*="-notice-card"] li {
  position: relative !important; padding: 0 0 15px 34px !important; margin: 0 0 15px !important;
  border-bottom: 1px solid rgba(9,22,51,.07) !important;
  color: var(--m-text) !important; font-size: .97rem !important; line-height: 1.68 !important;
}
[class*="mstd-"][class*="-list-card"] li:last-child,
[class*="mstd-"][class*="-panel"] li:last-child,
[class*="mstd-"][class*="-notice-card"] li:last-child { border-bottom: 0 !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* Icones das paginas internas */
[class*="mstd-"][class*="-icon"]:not([class*="-image-card"]) {
  width: 56px !important; height: 56px !important;
  margin-bottom: 18px !important; border-radius: 18px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: var(--m-blue) !important; font-size: 1.4rem !important;
}
[class*="mstd-"][class*="-card-icon"].good { background: rgba(34,197,94,.12) !important; border-color: rgba(34,197,94,.20) !important; color: #16a34a !important; }
[class*="mstd-"][class*="-card-icon"].no { background: rgba(239,68,68,.10) !important; border-color: rgba(239,68,68,.18) !important; color: #ef4444 !important; }

/* Caixa escura lateral */
[class*="mstd-"][class*="-consult-box"],
[class*="mstd-"][class*="-status-box"],
[class*="mstd-"][class*="-responsibility-card"],
[class*="mstd-"][class*="-policy"] {
  padding: 30px !important;
  border-radius: var(--m-radius-l) !important;
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 26px 58px rgba(6,11,22,.24) !important;
}
[class*="mstd-"][class*="-consult-box"] i,
[class*="mstd-"][class*="-status-box"] i {
  width: 56px !important; height: 56px !important; margin-bottom: 18px !important;
  border-radius: 18px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.16) !important;
  color: #ffffff !important; font-size: 1.35rem !important;
}
[class*="mstd-"][class*="-consult-box"] strong,
[class*="mstd-"][class*="-consult-box"] span,
[class*="mstd-"][class*="-consult-box"] a,
[class*="mstd-"][class*="-status-box"] strong,
[class*="mstd-"][class*="-status-box"] span,
[class*="mstd-"][class*="-status-box"] a {
  display: block !important; color: #e2ecff !important; -webkit-text-fill-color: #e2ecff !important;
}
[class*="mstd-"][class*="-consult-box"] strong,
[class*="mstd-"][class*="-status-box"] strong { margin-bottom: 10px !important; font-family: var(--m-font-display) !important; font-size: 1.1rem !important; font-weight: 800 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
[class*="mstd-"][class*="-consult-box"] span,
[class*="mstd-"][class*="-status-box"] span { font-size: .95rem !important; line-height: 1.72 !important; }
[class*="mstd-"][class*="-consult-box"] a,
[class*="mstd-"][class*="-status-box"] a { margin-top: 16px !important; font-weight: 700 !important; text-decoration: underline !important; }

/* Cartao de introducao em duas colunas */
[class*="mstd-"][class*="-intro-card"] {
  display: grid !important; grid-template-columns: 1.15fr .85fr !important;
  gap: 24px !important; align-items: stretch !important; margin-bottom: 26px !important;
  padding: 36px !important; border-radius: 38px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(243,248,255,.90)) !important;
  border: 1px solid rgba(1,72,255,.13) !important;
  box-shadow: var(--m-shadow-l) !important;
}
[class*="mstd-"][class*="-intro-card"] h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.7rem) !important; line-height: 1.06 !important;
  font-weight: 800 !important; letter-spacing: -.045em !important; margin: 0 0 16px !important;
}
[class*="mstd-"][class*="-intro-card"] p { color: var(--m-text) !important; font-size: 1rem !important; line-height: 1.82 !important; }

/* Etapas numeradas */
[class*="mstd-"][class*="-steps"] {
  display: grid !important; grid-template-columns: repeat(5, minmax(0,1fr)) !important; gap: 16px !important;
  padding: 36px !important; border-radius: 38px !important;
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 30px 68px rgba(6,11,22,.26) !important;
}
[class*="mstd-"][class*="-step"]:not([class*="-steps"]) {
  padding: 24px !important; border-radius: 24px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  transition: transform .26s ease, background .26s ease !important;
}
[class*="mstd-"][class*="-step"]:not([class*="-steps"]):hover { transform: translateY(-4px) !important; background: rgba(255,255,255,.15) !important; }
[class*="mstd-"][class*="-number"] {
  width: 46px !important; height: 46px !important; margin-bottom: 16px !important;
  border-radius: 15px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: #ffffff !important; color: var(--m-blue) !important;
  font-family: var(--m-font-display) !important; font-weight: 800 !important; font-size: 1.05rem !important;
  box-shadow: 0 10px 22px rgba(1,72,255,.24) !important;
}
[class*="mstd-"][class*="-step"] h3,
[class*="mstd-"][class*="-step"] p { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
[class*="mstd-"][class*="-step"] h3 { font-size: 1rem !important; font-weight: 800 !important; margin: 0 0 10px !important; letter-spacing: -.02em !important; }
[class*="mstd-"][class*="-step"] p { font-size: .9rem !important; line-height: 1.66 !important; opacity: .88 !important; }

/* Conteudo corrido */
[class*="mstd-"][class*="-content"] h2 {
  margin: 36px 0 12px !important; color: var(--m-ink) !important;
  font-size: clamp(1.3rem, 2vw, 1.75rem) !important; line-height: 1.24 !important;
  font-weight: 800 !important; letter-spacing: -.035em !important;
}
[class*="mstd-"][class*="-content"] h2:first-child { margin-top: 0 !important; }
[class*="mstd-"][class*="-content"] p { color: var(--m-text) !important; font-size: 1rem !important; line-height: 1.85 !important; }
[class*="mstd-"][class*="-content"] a { color: var(--m-blue) !important; font-weight: 600 !important; text-decoration: underline !important; }

/* Chamada final escura */
[class*="mstd-"][class*="-final-box"] {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  gap: 28px !important; margin-top: 34px !important;
  padding: clamp(30px, 4vw, 48px) !important;
  border-radius: 38px !important;
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 32px 72px rgba(6,11,22,.28) !important;
}
[class*="mstd-"][class*="-final-box"] h2 {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; background: none !important;
  font-size: clamp(1.7rem, 2.8vw, 2.6rem) !important; margin: 0 0 12px !important; letter-spacing: -.045em !important;
}
[class*="mstd-"][class*="-final-box"] p { color: rgba(226,236,255,.86) !important; -webkit-text-fill-color: rgba(226,236,255,.86) !important; max-width: 780px !important; margin: 0 !important; line-height: 1.75 !important; }

/* Tags */
[class*="mstd-"][class*="-tags"] { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-top: 22px !important; }
[class*="mstd-"][class*="-tags"] span {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 10px 15px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: var(--m-ink) !important;
  font-family: var(--m-font-display) !important; font-size: .88rem !important; font-weight: 700 !important;
  box-shadow: var(--m-shadow-s) !important;
}
[class*="mstd-"][class*="-tags"] i { color: var(--m-blue) !important; }
[class*="mstd-"][class*="-steps"] [class*="-tags"] span,
[class*="mstd-"][class*="-final-box"] [class*="-tags"] span {
  background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.20) !important;
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}

/* Listas de servicos em duas colunas */
[class*="mstd-"][class*="-service-list"] { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
[class*="mstd-"][class*="-service-list"] div {
  display: flex !important; align-items: center !important; gap: 13px !important;
  min-height: 84px !important; padding: 16px !important; border-radius: 22px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(1,72,255,.12) !important;
  box-shadow: var(--m-shadow-s) !important;
}
[class*="mstd-"][class*="-service-list"] i {
  width: 44px !important; height: 44px !important; min-width: 44px !important; border-radius: 15px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  color: var(--m-blue) !important; font-size: 1.15rem !important;
}
[class*="mstd-"][class*="-service-list"] span { font-family: var(--m-font-display) !important; color: var(--m-ink) !important; font-weight: 700 !important; line-height: 1.35 !important; }

/* Tabelas */
[class*="mstd-"][class*="-table-wrap"] { overflow-x: auto !important; border-radius: var(--m-radius) !important; box-shadow: var(--m-shadow-m) !important; }
[class*="mstd-"][class*="-table"]:not([class*="-table-wrap"]) { width: 100% !important; border-collapse: collapse !important; background: #ffffff !important; min-width: 720px !important; }
[class*="mstd-"][class*="-table"] th {
  background: var(--m-dark) !important; color: #ffffff !important;
  padding: 18px !important; text-align: left !important;
  font-family: var(--m-font-display) !important; font-size: .92rem !important; font-weight: 700 !important;
}
[class*="mstd-"][class*="-table"] td { padding: 18px !important; border-bottom: 1px solid rgba(9,22,51,.07) !important; color: var(--m-text) !important; font-size: .94rem !important; line-height: 1.6 !important; }

/* Antes e depois (Exemplos) */
.mstd-before-after-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 22px !important; }
.mstd-before-after-card {
  padding: 28px !important; border-radius: var(--m-radius-l) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(243,248,255,.90)) !important;
  border: 1px solid rgba(1,72,255,.13) !important; box-shadow: var(--m-shadow-m) !important;
}
.mstd-before-after-head { display: flex !important; align-items: center !important; gap: 13px !important; margin-bottom: 18px !important; }
.mstd-before-after-head i {
  width: 48px !important; height: 48px !important; border-radius: 16px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  color: var(--m-blue) !important; font-size: 1.25rem !important;
}
.mstd-before-after-head h3 { margin: 0 !important; font-size: 1.16rem !important; font-weight: 800 !important; }
.mstd-before-after-cols { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
.mstd-before-box, .mstd-after-box { padding: 20px !important; border-radius: 22px !important; }
.mstd-before-box { background: rgba(239,68,68,.055) !important; border: 1px solid rgba(239,68,68,.16) !important; }
.mstd-after-box { background: rgba(34,197,94,.06) !important; border: 1px solid rgba(34,197,94,.18) !important; }
.mstd-before-box span, .mstd-after-box span {
  display: inline-flex !important; margin-bottom: 10px !important;
  font-family: var(--m-font-display) !important; font-size: .78rem !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
}
.mstd-before-box span { color: #ef4444 !important; }
.mstd-after-box span { color: #16a34a !important; }

/* Foto do responsavel (Sobre) */
.mstd-owner-grid { display: grid !important; grid-template-columns: .82fr 1.18fr !important; gap: 34px !important; align-items: center !important; }
.mstd-owner-photo-card {
  position: relative !important; padding: 16px !important; border-radius: 40px !important;
  background: linear-gradient(150deg, rgba(255,255,255,.94), rgba(240,246,255,.88)) !important;
  border: 1px solid rgba(1,72,255,.14) !important; box-shadow: var(--m-shadow-l) !important; overflow: hidden !important;
}
.mstd-owner-photo-card img { width: 100% !important; height: auto !important; display: block !important; object-fit: cover !important; object-position: center top !important; border-radius: 30px !important; }
.mstd-owner-content {
  padding: clamp(28px, 4vw, 46px) !important; border-radius: 40px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(243,248,255,.90)) !important;
  border: 1px solid rgba(1,72,255,.13) !important; box-shadow: var(--m-shadow-l) !important;
}
.mstd-owner-content h2 { font-size: clamp(1.9rem, 3.2vw, 3.2rem) !important; letter-spacing: -.05em !important; margin: 0 0 18px !important; }
.mstd-owner-info-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 13px !important; margin: 26px 0 !important; }
.mstd-owner-info-item {
  display: flex !important; gap: 13px !important; align-items: flex-start !important;
  padding: 18px !important; border-radius: 22px !important;
  background: rgba(255,255,255,.86) !important; border: 1px solid rgba(1,72,255,.12) !important; box-shadow: var(--m-shadow-s) !important;
}
.mstd-owner-info-item i {
  width: 46px !important; height: 46px !important; min-width: 46px !important; border-radius: 15px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(140deg, rgba(1,72,255,.16), rgba(61,125,255,.06)) !important;
  color: var(--m-blue) !important; font-size: 1.2rem !important;
}
.mstd-owner-info-item strong { display: block !important; margin-bottom: 6px !important; font-family: var(--m-font-display) !important; color: var(--m-ink) !important; font-weight: 800 !important; }
.mstd-owner-info-item span { display: block !important; color: var(--m-text) !important; font-size: .92rem !important; line-height: 1.6 !important; }
body.mstd-is-about #layerHome.area-apresentacao { display: none !important; }
body.mstd-is-about .container_informativo_index_corpo > .title-page { display: none !important; }
body.mstd-is-about .container_informativo_index_corpo > .container { width: 100% !important; max-width: 100% !important; padding: 0 !important; }

/* ---------------------------------------------------------
   12. FORMULARIOS
--------------------------------------------------------- */
.form-importer {
  padding: 26px !important;
  border-radius: var(--m-radius-l) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,249,255,.92)) !important;
  border: 1px solid rgba(1,72,255,.13) !important;
  box-shadow: var(--m-shadow-m) !important;
}
.form-control, input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  border-radius: 16px !important;
  border: 1px solid rgba(9,22,51,.13) !important;
  background: #ffffff !important;
  color: var(--m-ink) !important;
  min-height: 50px !important;
  padding: 12px 16px !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  transition: border-color .22s ease, box-shadow .22s ease !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder { color: #94a3b8 !important; opacity: 1 !important; }
.form-control:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--m-blue) !important;
  box-shadow: 0 0 0 4px rgba(1,72,255,.10) !important;
  outline: none !important;
}
.input-group-text { border-radius: 16px 0 0 16px !important; background: #f0f5ff !important; border: 1px solid rgba(9,22,51,.13) !important; border-right: 0 !important; color: var(--m-blue) !important; }

/* ---------------------------------------------------------
   13. RODAPE
--------------------------------------------------------- */
#footer {
  margin-top: 0 !important;
  padding-top: 46px !important;
  background:
    radial-gradient(900px 460px at 92% -10%, rgba(1,72,255,.42), transparent 58%),
    linear-gradient(160deg, #060b16 0%, #0b1e45 56%, #061634 100%) !important;
  color: #e2ecff !important;
  overflow: hidden !important;
  position: relative !important;
}
#footer::before {
  content: "" !important; position: absolute !important; inset: 0 auto auto 0 !important;
  width: 100% !important; height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(61,125,255,.6), transparent) !important;
}
#footer, #footer p, #footer span, #footer div, #footer a, #footer li { color: #e2ecff !important; }
#footer .newsletter { padding-bottom: 34px !important; }
#footer .footer-pesquisa-text div {
  font-family: var(--m-font-display) !important;
  color: #ffffff !important; font-weight: 800 !important; font-size: 1.25rem !important; letter-spacing: -.03em !important;
}
#footer .input-newsletter, #footer .input-newsletter:focus {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  color: #ffffff !important; height: 50px !important;
  border-radius: 999px 0 0 999px !important;
  padding-left: 20px !important;
}
#footer .input-newsletter::placeholder { color: rgba(255,255,255,.62) !important; }
#footer .btn-newsletter {
  height: 50px !important; border-radius: 0 999px 999px 0 !important;
  background: linear-gradient(135deg, #0148ff, #3d7dff) !important;
  box-shadow: none !important; padding: 0 26px !important;
}
#footer .contacts { padding-bottom: 30px !important; }
#footer .footer-title {
  font-family: var(--m-font-display) !important;
  color: #ffffff !important; font-weight: 800 !important; font-size: 1.05rem !important;
  letter-spacing: -.02em !important;
  padding-bottom: 12px !important; margin-bottom: 18px !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
#footer .mstd-footer-box {
  padding: 24px !important; border-radius: var(--m-radius) !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
}
#footer .mstd-footer-box h3 { color: #ffffff !important; font-size: 1.05rem !important; font-weight: 800 !important; margin: 0 0 12px !important; }
#footer .mstd-footer-box p { color: #cfdcf7 !important; font-size: .92rem !important; line-height: 1.72 !important; }
#footer .contact .footer-txt p { font-size: 0 !important; }
#footer .contact .footer-txt p::before {
  content: "WhatsApp: (62) 99313-9291\A E-mail: contato@mecenastd.com.br\A Atendimento online em Goiânia/GO." !important;
  white-space: pre-line !important; display: block !important;
  color: #cfdcf7 !important; font-size: .94rem !important; line-height: 1.85 !important; font-weight: 400 !important;
}
#footer .social .footer-txt p { font-size: 0 !important; }
#footer .social .footer-txt p::before {
  content: "Canal oficial para atendimento, dúvidas e solicitação de orçamento." !important;
  display: block !important; color: #cfdcf7 !important; font-size: .94rem !important; line-height: 1.8 !important;
}
#footer .social-icon-footer .itenSocial a {
  width: 44px !important; height: 44px !important; border-radius: 14px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #ffffff !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  transition: all .24s ease !important;
}
#footer .social-icon-footer .itenSocial a:hover {
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important; transform: translateY(-3px) !important;
  box-shadow: 0 12px 26px rgba(1,72,255,.34) !important;
}
#footer .mstd-footer-legal-links {
  display: flex !important; flex-direction: column !important; gap: 10px !important;
  margin-top: 20px !important; padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}
#footer .mstd-footer-legal-links a {
  display: inline-flex !important; align-items: center !important; gap: 9px !important;
  width: fit-content !important; max-width: 100% !important;
  padding: 9px 15px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  font-family: var(--m-font-display) !important; font-size: .84rem !important; font-weight: 700 !important;
  text-decoration: none !important; transition: all .22s ease !important;
}
#footer .mstd-footer-legal-links a:hover {
  background: #ffffff !important; color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important;
  transform: translateY(-2px) !important;
}
#footer .copyright { background: rgba(3,8,20,.42) !important; border-top: 1px solid rgba(255,255,255,.09) !important; padding: 22px 0 !important; }
#footer .copyright p { color: rgba(210,224,250,.80) !important; font-size: .85rem !important; }
#footer .hr-separador { border-color: rgba(255,255,255,.10) !important; }
#footer .logo_c2ti { max-height: 26px !important; opacity: .8 !important; }
#footer .icon_rodape { color: rgba(210,224,250,.72) !important; margin: 0 6px !important; }

/* ---------------------------------------------------------
   14. BOTAO FLUTUANTE DE WHATSAPP
   CORRECAO v6.1: o botao ficava na DIREITA no desktop
   (bottom:108px), disputando espaco com o widget do
   JivoChat, que tambem ocupa esse canto e muda de altura
   quando exibe balao ou expande.
   Agora o WhatsApp fica sempre na ESQUERDA e o JivoChat
   sempre na direita. Nenhuma regra e aplicada sobre o
   JivoChat: as classes dele sao geradas com hash e mexer
   nelas quebra a janela do chat.
--------------------------------------------------------- */
.btnZap, .btnZap *, #whats_flutuante, #whats_flutuante *,
img[src*="WhatsApp%20ICONE%20NOVO"] {
  display: none !important; width: 0 !important; height: 0 !important;
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
}
#mstd-whatsapp-fixo.mstd-whatsapp-fixo {
  position: fixed !important;
  left: 24px !important; right: auto !important; bottom: 24px !important;
  z-index: 999990 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 11px !important;
  min-height: 54px !important; padding: 0 20px 0 13px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  color: #ffffff !important; text-decoration: none !important;
  font-family: var(--m-font-display) !important;
  font-size: 15px !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.02em !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 40px rgba(1,72,255,.34) !important;
  transition: transform .24s ease, box-shadow .24s ease !important;
}
#mstd-whatsapp-fixo.mstd-whatsapp-fixo i {
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%) !important;
  color: #ffffff !important; font-size: 1.15rem !important; line-height: 1 !important;
}
#mstd-whatsapp-fixo.mstd-whatsapp-fixo span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
#mstd-whatsapp-fixo.mstd-whatsapp-fixo:hover { transform: translateY(-3px) !important; box-shadow: 0 24px 52px rgba(1,72,255,.42) !important; }
@media (max-width: 767px) {
  #mstd-whatsapp-fixo.mstd-whatsapp-fixo {
    left: 18px !important; right: auto !important; bottom: 22px !important;
    width: 58px !important; height: 58px !important; min-height: 58px !important; padding: 0 !important;
  }
  #mstd-whatsapp-fixo.mstd-whatsapp-fixo span { display: none !important; }
  #mstd-whatsapp-fixo.mstd-whatsapp-fixo i { width: 38px !important; height: 38px !important; min-width: 38px !important; font-size: 1.35rem !important; }
}
/* Tela muito baixa (celular deitado): o botao sai para nao cobrir o conteudo.
   Os botoes de WhatsApp dentro das paginas continuam funcionando. */
@media (max-height: 420px) {
  #mstd-whatsapp-fixo.mstd-whatsapp-fixo { display: none !important; }
}

/* ---------------------------------------------------------
   15. AVISO DE COOKIES
--------------------------------------------------------- */
.banner-cookie {
  background: rgba(6,11,22,.94) !important;
  backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important;
  border-top: 1px solid rgba(61,125,255,.28) !important;
  box-shadow: 0 -12px 40px rgba(6,11,22,.30) !important;
  padding: 18px 15px !important;
  z-index: 999995 !important;
}
.banner-cookie .btn-verify-cookie-accepted {
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 11px 26px !important;
  font-family: var(--m-font-display) !important; font-weight: 700 !important;
  box-shadow: 0 12px 26px rgba(1,72,255,.28) !important;
}

/* ---------------------------------------------------------
   16. RESPONSIVO
--------------------------------------------------------- */
@media (max-width: 1199px) {
  [class*="mstd-"][class*="-steps"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  [class*="mstd-"][class*="-grid-4"], .mstd-grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 991px) {
  #layerHome.area-apresentacao,
  #layerHome #carousel-main-website,
  #layerHome .carousel,
  #layerHome .carousel-inner,
  #layerHome .carousel-item,
  #layerHome .img_slid,
  #layerHome .slide-img,
  #layerHome .carousel-item img,
  #layerHome .img_slid img,
  #layerHome .slide-img img,
  #layerHome .backgroundody { height: 560px !important; min-height: 560px !important; max-height: 560px !important; }
  #layerHome .backgroundody { padding: 24px 18px 34px !important; }
  #layerHome .mstd-banner-native { width: 100% !important; }
  #layerHome .mstd-banner-native h1 { font-size: 2.15rem !important; }
  .mstd-grid-2, .mstd-grid-3, .mstd-grid-4,
  .mstd-home-v4-box, .mstd-home-v4-service-list,
  .mstd-owner-grid, .mstd-owner-info-grid,
  .mstd-before-after-grid, .mstd-before-after-cols,
  [class*="mstd-"][class*="-hero-grid"],
  [class*="mstd-"][class*="-intro-card"],
  [class*="mstd-"][class*="-grid-3"],
  [class*="mstd-"][class*="-main-grid"],
  [class*="mstd-"][class*="-info-grid"],
  [class*="mstd-"][class*="-notice-grid"],
  [class*="mstd-"][class*="-form-grid"],
  [class*="mstd-"][class*="-service-list"],
  [class*="mstd-"][class*="-feature-box"],
  [class*="mstd-"][class*="-service-box"] { grid-template-columns: 1fr !important; }
  [class*="mstd-"][class*="-hero"]:not([class*="-hero-"]) { padding: 54px 0 46px !important; }
  [class*="mstd-"][class*="-section"]:not([class*="-section-"]) { padding: 54px 0 66px !important; }
  [class*="mstd-"][class*="-final-box"], .mstd-faq-final-cta { flex-direction: column !important; align-items: flex-start !important; }
  .mstd-home-v4-box { padding: 30px !important; border-radius: 30px !important; }
  #containerEditavel-154441, #containerEditavel-154443,
  #containerEditavel-154445, #containerEditavel-154446 { padding-top: 60px !important; padding-bottom: 60px !important; }
  #footer .input-newsletter, #footer .btn-newsletter { border-radius: 999px !important; width: 100% !important; margin-top: 10px !important; }
}
@media (max-width: 767px) {
  .container_informativo_index_corpo .btn + .btn { margin-top: 10px; }
  .mstd-actions .mstd-btn, .mstd-banner-actions a { width: 100% !important; }
}
@media (max-width: 576px) {
  #layerHome.area-apresentacao,
  #layerHome #carousel-main-website,
  #layerHome .carousel,
  #layerHome .carousel-inner,
  #layerHome .carousel-item,
  #layerHome .img_slid,
  #layerHome .slide-img,
  #layerHome .carousel-item img,
  #layerHome .img_slid img,
  #layerHome .slide-img img,
  #layerHome .backgroundody { height: 520px !important; min-height: 520px !important; max-height: 520px !important; }
  [class*="mstd-"][class*="-steps"], [class*="mstd-"][class*="-grid-4"], .mstd-grid-4 { grid-template-columns: 1fr !important; }
  [class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] {
    padding: 0 !important;
    border-radius: 22px !important;
    aspect-ratio: 8 / 5 !important;
  }
  [class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"] img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    border-radius: inherit !important;
    object-fit: cover !important;
  }
  [class*="mstd-"][class*="-hero-text"] h1 { font-size: 2.15rem !important; }
  [class*="mstd-"][class*="-card"]:not([class*="-depo-card"]),
  [class*="mstd-"][class*="-list-card"],
  [class*="mstd-"][class*="-content"],
  [class*="mstd-"][class*="-final-box"],
  [class*="mstd-"][class*="-intro-card"],
  [class*="mstd-"][class*="-steps"],
  [class*="mstd-"][class*="-keyword-box"],
  [class*="mstd-"][class*="-consult-box"],
  .mstd-card, .mstd-list-box, .mstd-pro-card, .mstd-before-after-card,
  .mstd-owner-content, .mstd-faq-final-cta { padding: 24px !important; border-radius: 26px !important; }
  .mstd-title { font-size: 1.95rem !important; }
}

/* ---------------------------------------------------------
   17. CORRECOES DA ESTRUTURA DA PLATAFORMA (PAGINAS INTERNAS)
   Resolve: carrossel da home aparecendo nas internas,
   H1 duplicado, conteudo preso no container de 1140px,
   miniatura da galeria e botoes ShareThis soltos.
--------------------------------------------------------- */

/* 17.1 Oculta o carrossel da home nas paginas internas */
:root { --BannerInternas: none !important; --MarginTitleInternas: 0px !important; }
body.mstd-interna #layerHome.area-apresentacao,
body.mstd-interna .area-apresentacao { display: none !important; }
.area-apresentacao:has(+ main .title-page) { display: none !important; }

/* 17.2 Conteudo das paginas mstd em largura total */
body.mstd-full-page .container_informativo_index_corpo { padding: 0 !important; }
body.mstd-full-page .container_informativo_index_corpo > .container,
body.mstd-full-page .container_informativo_index_corpo > .container > .row {
  width: 100% !important; max-width: 100% !important;
  padding: 0 !important; margin: 0 !important;
}
body.mstd-full-page .container_conteudo_publicacao {
  padding: 0 !important; margin: 0 !important; max-width: 100% !important; flex: 0 0 100% !important;
}
.container:has(> .row > .container_conteudo_publicacao [class$="-page"]) {
  width: 100% !important; max-width: 100% !important; padding: 0 !important;
}

/* 17.3 Remove o titulo repetido da plataforma (a pagina ja tem H1 no heroi) */
body.mstd-full-page .title-page { display: none !important; }
body.mstd-full-page .title-page + .container { margin-top: 0 !important; }

/* 17.4 Remove a miniatura da galeria e os botoes de compartilhar soltos */
body.mstd-full-page .box-image-galeria,
body.mstd-full-page a.cboxElement,
body.mstd-full-page .sharethis-inline-share-buttons,
body.mstd-full-page [id*="div_redes_sociais"] { display: none !important; }
body.mstd-full-page .container_conteudo_publicacao ~ *:empty,
body.mstd-full-page .container_informativo_index_corpo > .container > .row:not(:has(.container_conteudo_publicacao)) {
  margin: 0 !important; padding: 0 !important;
}

/* 17.5 Ajuste do espacamento superior da primeira secao */
body.mstd-full-page main > div > .container_informativo_index_corpo { margin-top: 0 !important; }
body.mstd-full-page [class*="mstd-"][class*="-hero"]:not([class*="-hero-"]) { padding-top: 66px !important; }

/* 17.6 Imagem quebrada: esconde qualquer img com src nao substituido */
img[src*="COLE_AQUI"] { display: none !important; }

/* 17.7 A plataforma envolve o conteudo num <span> inline.
   Sem isso, blocos dentro dele podem colapsar margens e alinhamento. */
body.mstd-full-page .container_conteudo_publicacao > span,
body.mstd-full-page [id*="lblConteudo"] { display: block !important; width: 100% !important; }

/* ---------------------------------------------------------
   18. CONTRASTE GARANTIDO NOS BLOCOS ESCUROS
   Rede de seguranca: qualquer texto que caia dentro de um
   bloco escuro fica claro, mesmo que o editor da plataforma
   troque a tag (span virar p, etc.).
--------------------------------------------------------- */
[class*="mstd-"][class*="-steps"] *,
[class*="mstd-"][class*="-final-box"] *,
[class*="mstd-"][class*="-consult-box"] *,
[class*="mstd-"][class*="-status-box"] *,
[class*="mstd-"][class*="-responsibility-card"] *,
[class*="mstd-"][class*="-policy"] *,
.mstd-dark-list-box *, .mstd-pro-card.dark *, .mstd-equal-dark-card *,
.mstd-box-dark *, .mstd-dark-info-card *, .mstd-faq-final-cta * {
  color: #eaf2ff !important;
  -webkit-text-fill-color: #eaf2ff !important;
}
/* Titulos permanecem em branco puro */
[class*="mstd-"][class*="-steps"] h2, [class*="mstd-"][class*="-steps"] h3,
[class*="mstd-"][class*="-final-box"] h2, [class*="mstd-"][class*="-final-box"] h3,
[class*="mstd-"][class*="-consult-box"] strong,
[class*="mstd-"][class*="-status-box"] strong,
.mstd-dark-list-box h2, .mstd-dark-list-box h3,
.mstd-pro-card.dark h3, .mstd-equal-dark-card h3,
.mstd-faq-final-cta h3 {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
/* Numeros das etapas: azul sobre circulo branco */
[class*="mstd-"][class*="-number"] {
  color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important;
}
/* Botoes dentro de blocos escuros mantem texto branco */
[class*="mstd-"][class*="-final-box"] a.mstd-btn,
[class*="mstd-"][class*="-final-box"] a.mstd-btn i,
[class*="mstd-"][class*="-steps"] a.mstd-btn,
.mstd-faq-final-cta a.mstd-btn,
.mstd-faq-final-cta a.mstd-btn i {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
/* Checks e X dentro de blocos escuros */
[class*="mstd-"][class*="-steps"] .mstd-check-list li::before,
.mstd-dark-list-box .mstd-check-list li::before { color: #6ee7a5 !important; -webkit-text-fill-color: #6ee7a5 !important; }
[class*="mstd-"][class*="-steps"] .mstd-x-list li::before,
.mstd-dark-list-box .mstd-x-list li::before { color: #ffa8a8 !important; -webkit-text-fill-color: #ffa8a8 !important; }

/* Rede de seguranca inversa: texto escuro nos blocos claros */
[class*="mstd-"][class*="-list-card"] p,
[class*="mstd-"][class*="-list-card"] li,
[class*="mstd-"][class*="-content"] p,
[class*="mstd-"][class*="-content"] li,
[class*="mstd-"][class*="-intro-card"] > div > p,
[class*="mstd-"][class*="-keyword-box"] p {
  color: var(--m-text) !important; -webkit-text-fill-color: var(--m-text) !important;
}

/* ---------------------------------------------------------
   19. LIXO DEIXADO PELO EDITOR DA PLATAFORMA
   O editor converte indentacao em &nbsp; e cria <li> vazios.
   O JS remove; estas regras evitam que aparecam antes disso.
--------------------------------------------------------- */
[class*="mstd-"] ul li:empty { display: none !important; }
[class*="mstd-"][class*="-grid-3"] > br,
[class*="mstd-"][class*="-steps"] > br,
[class*="mstd-"][class*="-main-grid"] > br,
[class*="mstd-"][class*="-actions"] > br,
[class*="mstd-"][class$="-page"] > br { display: none !important; }

/* MARCA DE VERSAO - se esta linha existe, o CSS v7.8 esta aplicado */
:root { --mstd-versao: "8.0"; }

/* ---------------------------------------------------------
   20. CORRECAO: CARTOES ESCUROS PERDENDO O FUNDO
   A regra generica da secao 11 tem peso 0,5,0 e sobrepunha
   .mstd-pro-card.dark (0,2,0), deixando o cartao branco com
   texto claro. Aqui o peso sobe para 0,6,0 e o fundo volta.
--------------------------------------------------------- */
[class*="mstd-"][class*="-card"][class*="dark"]:not([class*="-card-icon"]):not([class*="-image-card"]):not([class*="-photo-card"]) {
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 26px 60px rgba(6,11,22,.24) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
[class*="mstd-"][class*="-card"][class*="dark"] h2,
[class*="mstd-"][class*="-card"][class*="dark"] h3 {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
[class*="mstd-"][class*="-card"][class*="dark"] p,
[class*="mstd-"][class*="-card"][class*="dark"] li,
[class*="mstd-"][class*="-card"][class*="dark"] span {
  color: #dce7ff !important; -webkit-text-fill-color: #dce7ff !important;
}
/* Icone dentro do cartao escuro */
[class*="mstd-"][class*="-card"][class*="dark"] [class*="-icon"]:not([class*="-image-card"]) {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
/* Mesma protecao para as caixas escuras por nome proprio */
.mstd-dark-list-box, .mstd-box-dark, .mstd-dark-info-card, .mstd-equal-dark-card {
  background: var(--m-dark) !important;
}

/* ---------------------------------------------------------
   21. FAQ EM ABAS (encurta a home)
   O JS monta as pilulas de categoria e mostra uma por vez.
   Sem JS, todas as categorias aparecem normalmente.
--------------------------------------------------------- */
.mstd-faq-tabs {
  display: flex !important; flex-wrap: wrap !important;
  gap: 9px !important; justify-content: center !important;
  max-width: 1020px !important; margin: 0 auto 36px !important;
}
.mstd-faq-tabs button {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 11px 17px !important; min-height: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: #24334d !important;
  font-family: var(--m-font-display) !important;
  font-size: .87rem !important; font-weight: 700 !important; line-height: 1.2 !important;
  box-shadow: var(--m-shadow-s) !important;
  cursor: pointer !important;
  transition: all .22s ease !important;
}
.mstd-faq-tabs button:hover { transform: translateY(-2px) !important; border-color: var(--m-blue) !important; color: var(--m-blue) !important; box-shadow: var(--m-shadow-m) !important; }
.mstd-faq-tabs button.mstd-aba-ativa {
  background: linear-gradient(135deg, #0148ff, #3d7dff) !important;
  color: #ffffff !important; border-color: transparent !important;
  box-shadow: var(--m-glow) !important;
}
.mstd-faq-tabs button i { font-size: 1rem !important; }
.mstd-faq-category[data-mstd-oculta="1"] { display: none !important; }
.mstd-home-faq-full[data-mstd-abas="1"] .mstd-faq-category { margin-bottom: 0 !important; }
.mstd-home-faq-full[data-mstd-abas="1"] .mstd-faq-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 12px !important;
}
.mstd-faq-contador {
  display: block !important; text-align: center !important;
  margin: 0 auto 22px !important;
  color: var(--m-text-soft) !important; font-size: .88rem !important;
}
@media (max-width: 991px) {
  .mstd-home-faq-full[data-mstd-abas="1"] .mstd-faq-list { grid-template-columns: 1fr !important; }
  .mstd-faq-tabs button { font-size: .8rem !important; padding: 9px 14px !important; }
}

/* =========================================================
   MSTD 18 — FUNDO GRADIENTE + HERÓI DE PÁGINA
   ========================================================= */

:root{
  --mstd-azul:   var(--ia-cor2, #0148ff);
  --mstd-tinta:  #0a0f1c;
  --mstd-borda:  rgba(1,72,255,.14);
  --mstd-bg-1:   #f2f7ff;
  --mstd-bg-2:   #ffffff;
  --mstd-sombra: 0 26px 60px -28px rgba(4,26,79,.45);
}

/* --- 18.1 Fundo gradiente azul/branco (classe aplicada pelo JS) --- */
.mstd-bg-gradiente{
  position: relative;
  background: var(--m-folha), var(--m-moldura) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

/* Seções internas ficam transparentes para o gradiente aparecer.
   Os cards continuam brancos — o contraste vem deles. */
.mstd-bg-gradiente .mstd-page-hero,
.mstd-bg-gradiente .mstd-section,
.mstd-bg-gradiente .mstd-orientacoes-section,
.mstd-bg-gradiente .mstd-srvx-section,
.mstd-bg-gradiente .mstd-terms-section,
.mstd-bg-gradiente .mstd-limits-section,
.mstd-bg-gradiente .mstd-process-section,
.mstd-bg-gradiente [class*="mstd-"][class*="-section"]{ background: transparent !important; }

/* --- 18.2 Herói: grade reequilibrada e mais curta --- */
.mstd-orientacoes-hero-grid,
.mstd-srvx-hero-grid{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: clamp(26px, 3.6vw, 60px) !important;
  align-items: center !important;
}

.mstd-page-hero,
.mstd-srvx-hero{
  padding: clamp(38px,5vw,72px) 0 clamp(34px,4.5vw,62px) !important;
  overflow: hidden;
}

/* H1 menor = imagem proporcionalmente maior e página mais curta */
.mstd-orientacoes-hero h1,
.mstd-srvx-hero h1{
  font-size: clamp(1.85rem, 1.05rem + 2.2vw, 3rem) !important;
  line-height: 1.13 !important;
  letter-spacing: -.02em;
  margin: 0 0 16px !important;
  color: var(--mstd-tinta);
}
.mstd-orientacoes-hero-text p,
.mstd-srvx-hero-text p{
  font-size: clamp(.95rem, .9rem + .18vw, 1.05rem) !important;
  line-height: 1.65 !important;
  max-width: 58ch;
  margin-bottom: 14px !important;
}

/* --- 18.3 Painel da imagem --- */
/* v7.1: as regras antigas de padding, moldura, halo e altura
   automatica destes dois cards sairam. A regra generica de
   heroi, mais especifica, ja define proporcao 8:5, recorte e
   preenchimento. Mante-las criava altura dupla e halo solto. */


/* --- 18.4 Compactação vertical do miolo --- */
.mstd-bg-gradiente .mstd-orientacoes-block{
  padding-top: clamp(34px,4vw,58px) !important;
  padding-bottom: clamp(34px,4vw,58px) !important;
}

/* --- 18.5 Responsivo ---
   v7.8: sairam as duas linhas que desligavam o ::after destes
   cards. Os pseudoelementos foram removidos na v7.1. */
@media (max-width: 991px){
  .mstd-orientacoes-hero-grid,
  .mstd-srvx-hero-grid{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .mstd-orientacoes-image-card,
  .mstd-srvx-image-card{ border-radius:20px !important; }
  .mstd-orientacoes-hero-text p{ max-width:none; }
}
@media (max-width: 575px){
  .mstd-orientacoes-hero h1,
  .mstd-srvx-hero h1{ font-size: clamp(1.6rem,1.1rem+1.8vw,2rem) !important; }
}

/* =========================================================
   MSTD 18.7 — PÁGINAS LEGAIS (privacidade, termos e futuras)
   ========================================================= */

.mstd-bg-gradiente .mstd-content h2{ scroll-margin-top: 110px; }

/* Cláusula em destaque — atende ao art. 54, §4º do CDC,
   que exige redação com destaque para limitação de direito */
.mstd-legal-destaque{
  margin: 18px 0;
  padding: clamp(14px,1.6vw,20px) clamp(16px,1.8vw,22px);
  border-radius: 14px;
  border: 1px solid rgba(1,72,255,.22);
  border-left: 4px solid var(--mstd-azul);
  background: rgba(238,244,255,.85);
}
.mstd-legal-destaque p{ margin: 0 0 8px; }
.mstd-legal-destaque p:last-child{ margin-bottom: 0; }
.mstd-legal-destaque strong{ color: #0b1f4d; }

@media (max-width: 575px){
  .mstd-legal-destaque{ border-left-width: 3px; }
}

/* =========================================================
   MSTD 18.8 — PÁGINA ATUAÇÃO E LIMITES
   ========================================================= */

.mstd-bg-gradiente .mstd-limits-main-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: clamp(18px,2.2vw,28px) !important;
  align-items: start;
}
.mstd-bg-gradiente .mstd-limits-responsibility-card{ grid-column: 1 / -1; }

.mstd-limits-areas{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
  gap: clamp(16px,2vw,24px);
  margin: clamp(22px,2.6vw,34px) 0 clamp(28px,3.2vw,42px);
}
.mstd-limits-area-card{
  padding: clamp(18px,2vw,26px);
  border-radius: 18px;
  border: 1px solid var(--mstd-borda);
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 34px -24px rgba(4,26,79,.5);
}
.mstd-limits-area-card .mstd-area-icon{
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: #eef4ff;
  color: var(--mstd-azul);
  font-size: 1.25rem;
}
.mstd-limits-area-card h3{
  font-size: 1.02rem;
  margin: 13px 0 9px;
  color: #0b1f4d;
}
.mstd-limits-area-card p{
  font-size: .91rem;
  line-height: 1.6;
  margin: 0;
  color: #33405c;
}
.mstd-limits-area-card .mstd-area-nao{
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px dashed var(--mstd-borda);
  font-size: .87rem;
  color: #5f4550;
}
.mstd-limits-area-card .mstd-area-nao strong{ color: #7a3550; }

@media (max-width: 991px){
  .mstd-bg-gradiente .mstd-limits-main-grid{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   MSTD 18.9 — ATUAÇÃO E LIMITES: SERVIÇOS E RECUSAS
   ========================================================= */

.mstd-limits-servicos{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px,1fr));
  gap: clamp(16px,2vw,24px);
  margin: clamp(20px,2.4vw,30px) 0 clamp(28px,3.2vw,42px);
}
.mstd-limits-servico{
  display: flex;
  flex-direction: column;
  padding: clamp(18px,2vw,26px);
  border-radius: 18px;
  border: 1px solid var(--mstd-borda);
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 34px -24px rgba(4,26,79,.5);
}
.mstd-limits-servico .mstd-servico-head{
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
}
.mstd-limits-servico .mstd-servico-icon{
  flex: 0 0 auto;
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: #eef4ff;
  color: var(--mstd-azul);
  font-size: 1.2rem;
}
.mstd-limits-servico h3{
  font-size: 1rem;
  line-height: 1.3;
  margin: 0;
  color: #0b1f4d;
}
.mstd-limits-servico .mstd-servico-rotulo{
  display: block;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 14px 0 7px;
  color: #1f6d3f;
}
.mstd-limits-servico .mstd-servico-rotulo.limite{ color: #8a3a55; }
.mstd-limits-servico ul{
  margin: 0; padding: 0; list-style: none;
  font-size: .88rem; line-height: 1.55;
}
.mstd-limits-servico ul li{
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
  color: #33405c;
}
.mstd-limits-servico .mstd-servico-inclui li::before{
  content: "\2713";
  position: absolute; left: 0; top: 0;
  color: #1f6d3f; font-weight: 700;
}
.mstd-limits-servico .mstd-servico-limite li::before{
  content: "\00D7";
  position: absolute; left: 0; top: -1px;
  color: #a8455f; font-weight: 700; font-size: 1.05em;
}

.mstd-limits-recusa{
  margin: clamp(20px,2.4vw,30px) 0;
  padding: clamp(18px,2.2vw,28px);
  border-radius: 18px;
  border: 1px solid rgba(168,69,95,.24);
  border-left: 4px solid #a8455f;
  background: rgba(253,246,248,.9);
}
.mstd-limits-recusa h3{
  display: flex; align-items: center; gap: 9px;
  font-size: 1.05rem; margin: 0 0 12px; color: #7a3550;
}
.mstd-limits-recusa ul{
  margin: 0; padding: 0; list-style: none;
  columns: 2; column-gap: clamp(18px,2.4vw,34px);
  font-size: .9rem; line-height: 1.55;
}
.mstd-limits-recusa ul li{
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  break-inside: avoid;
  color: #4a3540;
}
.mstd-limits-recusa ul li::before{
  content: "\00D7";
  position: absolute; left: 0; top: -1px;
  color: #a8455f; font-weight: 700;
}

.mstd-limits-decisao{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px,1fr));
  gap: clamp(14px,1.8vw,22px);
  margin: clamp(18px,2.2vw,28px) 0 clamp(26px,3vw,38px);
}
.mstd-limits-decisao > div{
  padding: clamp(16px,1.8vw,22px);
  border-radius: 16px;
  border: 1px solid var(--mstd-borda);
  background: rgba(255,255,255,.88);
}
.mstd-limits-decisao h3{
  font-size: .96rem; margin: 10px 0 7px; color: #0b1f4d;
}
.mstd-limits-decisao p{
  font-size: .88rem; line-height: 1.55; margin: 0; color: #33405c;
}
.mstd-limits-decisao .mstd-dec-num{
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 9px;
  background: var(--mstd-azul); color: #fff;
  font-size: .82rem; font-weight: 700;
}

@media (max-width: 767px){
  .mstd-limits-recusa ul{ columns: 1; }
}

/* =========================================================
   MSTD 18.11 — CORRIGE O CARD "SIGILO E RESPONSABILIDADE"
   ========================================================= */

.mstd-limits-page,
.mstd-limits-section,
.mstd-limits-page .mstd-wrap,
.mstd-limits-main-grid,
.mstd-limits-responsibility-card,
.mstd-limits-responsibility-card *{
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

.mstd-limits-page,
.mstd-limits-section,
.mstd-limits-main-grid,
.mstd-limits-responsibility-card{
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

.mstd-limits-responsibility-card h2,
.mstd-limits-responsibility-card h3{ color: #0b1f4d !important; }
.mstd-limits-responsibility-card p{ color: #33405c !important; }
.mstd-limits-responsibility-card .mstd-limits-tags span{ color: #1c2a44 !important; }
.mstd-limits-responsibility-card .mstd-limits-card-icon{ color: #0148ff !important; }

.mstd-limits-main-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: clamp(18px,2.2vw,28px) !important;
  align-items: start !important;
}
.mstd-limits-responsibility-card{ grid-column: 1 / -1 !important; }

@media (max-width: 991px){
  .mstd-limits-main-grid{ grid-template-columns: 1fr !important; }
}

/* =========================================================
   MSTD 18.12 — CARD "SIGILO E RESPONSABILIDADE" VOLTA A SER ESCURO
   ========================================================= */

[class*="mstd-"][class*="-responsibility-card"]:not([class*="-card-icon"]):not([class*="-image-card"]):not([class*="-photo-card"]):not([class*="-tags"]){
  background: var(--m-dark) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 26px 58px rgba(6,11,22,.24) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 30px !important;
  border-radius: var(--m-radius-l) !important;
}

[class*="mstd-"][class*="-responsibility-card"] h2,
[class*="mstd-"][class*="-responsibility-card"] h3{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

[class*="mstd-"][class*="-responsibility-card"] [class*="-icon"]:not([class*="-image-card"]),
[class*="mstd-"][class*="-responsibility-card"] [class*="-card-icon"]{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

[class*="mstd-"][class*="-responsibility-card"] [class*="-tags"] span{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
[class*="mstd-"][class*="-responsibility-card"] [class*="-tags"] span i{
  color: #7aa8ff !important;
  -webkit-text-fill-color: #7aa8ff !important;
}

/* =========================================================
   MSTD 18.14 — ETAPAS DE "COMO ATUAMOS"
   (o antigo bloco 18.13 foi removido na v6.1: ele fazia o
   contrario deste e os dois brigavam entre si)
   ========================================================= */

.mstd-bg-gradiente [id^="proc-"]{ scroll-margin-top: 110px; }

/* 3 x 2 em vez de 5 + 1 órfã */
.mstd-bg-gradiente .mstd-process-steps{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: clamp(14px,1.6vw,20px) !important;
  padding: clamp(22px,2.6vw,34px) !important;
}

.mstd-bg-gradiente .mstd-process-step{
  display: block !important;
  padding: clamp(18px,2vw,24px) !important;
}
.mstd-bg-gradiente .mstd-process-step .mstd-process-number{
  width: 42px !important; height: 42px !important;
  margin-bottom: 13px !important;
}
.mstd-bg-gradiente .mstd-process-step h3{
  font-size: 1.02rem !important;
  margin: 0 0 9px !important;
}
.mstd-bg-gradiente .mstd-process-step p{
  font-size: .92rem !important;
  line-height: 1.62 !important;
  margin: 0 !important;
}

.mstd-bg-gradiente .mstd-process-steps .mstd-step-lista{
  list-style: none !important;
  margin: 13px 0 0 !important;
  padding: 13px 0 0 !important;
  border-top: 1px solid rgba(255,255,255,.15) !important;
}
.mstd-bg-gradiente .mstd-process-steps .mstd-step-lista li{
  position: relative !important;
  padding: 0 0 0 15px !important;
  margin: 0 0 6px !important;
  border: 0 !important;
  font-size: .845rem !important;
  line-height: 1.5 !important;
  opacity: .9 !important;
}
.mstd-bg-gradiente .mstd-process-steps .mstd-step-lista li:last-child{ margin-bottom: 0 !important; }
.mstd-bg-gradiente .mstd-process-steps .mstd-step-lista li::before{
  content: "\2022" !important;
  position: absolute !important; left: 0 !important; top: 0 !important;
  color: #7aa8ff !important; -webkit-text-fill-color: #7aa8ff !important;
  font-weight: 700 !important;
}

@media (max-width: 1199px){
  .mstd-bg-gradiente .mstd-process-steps{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 575px){
  .mstd-bg-gradiente .mstd-process-steps{ grid-template-columns: 1fr !important; }
}

/* =========================================================
   MSTD 18.15 — SERVIÇO: PESQUISA BIBLIOGRÁFICA E CURADORIA
   ========================================================= */

.mstd-biblio-nivel-card .mstd-nivel-selo{
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  padding: 6px 13px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  border: 1px solid rgba(1,72,255,.16) !important;
  color: #0148ff !important;
  font-family: var(--m-font-display) !important;
  font-size: .73rem !important; font-weight: 800 !important;
  letter-spacing: .07em !important; text-transform: uppercase !important;
}
.mstd-biblio-nivel-card .mstd-nivel-selo.destaque{
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important;
  color: #ffffff !important; border-color: transparent !important;
}

.mstd-biblio-nivel-card ul{ list-style: none !important; padding: 0 !important; margin: 14px 0 0 !important; }
.mstd-biblio-nivel-card ul li{
  position: relative !important;
  padding: 0 0 0 21px !important;
  margin: 0 0 7px !important;
  border: 0 !important;
  font-size: .9rem !important; line-height: 1.55 !important;
  color: var(--m-text) !important;
}
.mstd-biblio-nivel-card ul li::before{
  content: "\2713" !important;
  position: absolute !important; left: 0 !important; top: 0 !important;
  color: #16a34a !important; font-weight: 700 !important;
}

.mstd-biblio-table th, .mstd-biblio-table td{ font-size: .86rem !important; padding: 13px !important; }
.mstd-biblio-table td:first-child{ font-weight: 600 !important; color: #0b1f4d !important; }
.mstd-biblio-legenda{
  display: block !important;
  margin-top: 11px !important;
  font-size: .84rem !important; font-style: italic !important;
  color: var(--m-text-soft) !important;
}

/* =========================================================
   MSTD 18.16 — ÍNDICE EM PÍLULAS
   ========================================================= */

.mstd-legal-indice{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 0 0 clamp(26px,3vw,40px) !important;
  padding: clamp(14px,1.6vw,20px) !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  border-radius: var(--m-radius) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: var(--m-shadow-s) !important;
}
.mstd-legal-indice a{
  display: inline-flex !important;
  align-items: center !important;
  padding: 9px 15px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  border: 1px solid rgba(1,72,255,.14) !important;
  color: #1c2a44 !important;
  font-family: var(--m-font-display) !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
.mstd-legal-indice a:hover{
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}
@media (max-width: 575px){
  .mstd-legal-indice a{ font-size: .78rem !important; padding: 7px 12px !important; }
}

/* Títulos com degradê somem ao imprimir ou salvar em PDF.
   Aqui voltam em cor sólida. */
@media print{
  [class*="mstd-"][class*="-hero-text"] h1,
  [class*="mstd-"][class*="-intro-card"] h2,
  .mstd-title{
    background: none !important;
    -webkit-text-fill-color: #060b16 !important;
    color: #060b16 !important;
  }
}

/* =========================================================
   MSTD 18.17 — ÂNCORAS: REGRA ÚNICA PARA TODAS AS PÁGINAS
   ========================================================= */
.mstd-bg-gradiente [id]{ scroll-margin-top: 110px; }

/* =========================================================
   MSTD 18.18 — PÁGINA SOBRE: FOTO E CONTRASTE
   ========================================================= */

.mstd-owner-grid{ align-items: stretch !important; }

.mstd-owner-photo-card{
  display: flex !important;
  align-items: stretch !important;
  padding: 14px !important;
}
.mstd-owner-photo-card img{
  width: 100% !important;
  height: 100% !important;
  min-height: 460px !important;
  object-fit: cover !important;
  object-position: center 18% !important;
}

.mstd-owner-info-item{
  background: #ffffff !important;
  border: 1px solid rgba(1,72,255,.22) !important;
  box-shadow: 0 10px 26px -18px rgba(4,26,79,.55) !important;
}
.mstd-owner-info-item i{
  background: linear-gradient(135deg,#0148ff,#3d7dff) !important;
  border: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 8px 18px -8px rgba(1,72,255,.5) !important;
}
.mstd-owner-info-item strong{ color: #0b1f4d !important; }
.mstd-owner-info-item span{ color: #33405c !important; }

[class*="mstd-"][class*="-table"] th,
[class*="mstd-"][class*="-table"] thead th{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg,#0b1e45 0%,#0148ff 100%) !important;
}

@media (max-width: 991px){
  .mstd-owner-grid{ align-items: start !important; }
  .mstd-owner-photo-card img{
    height: auto !important;
    min-height: 0 !important;
    max-height: 520px !important;
    object-fit: contain !important;
  }
}

/* =========================================================
   MSTD 18.19 — BLOCO "POLÍTICA DE ATUAÇÃO" LEGÍVEL
   ========================================================= */

[class*="mstd-"][class*="-policy"]{
  background:
    radial-gradient(circle at 94% 130%, rgba(61,125,255,.22), transparent 52%),
    linear-gradient(135deg, #05080f 0%, #0b1e45 62%, #12295c 100%) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 26px !important;
}

[class*="mstd-"][class*="-policy"] p,
[class*="mstd-"][class*="-policy"] span,
[class*="mstd-"][class*="-policy"] strong{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  margin: 0 !important;
  line-height: 1.72 !important;
}
[class*="mstd-"][class*="-policy"] strong{
  font-weight: 700 !important;
}

[class*="mstd-"][class*="-policy"] > i{
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 1.2rem !important;
}

@media (max-width: 575px){
  [class*="mstd-"][class*="-policy"]{
    display: block !important;
    padding: 22px !important;
  }
  [class*="mstd-"][class*="-policy"] > i{ margin-bottom: 14px !important; }
}

/* =========================================================
   MSTD 18.20 — LINKS DE CONTATO DENTRO DOS CARTÕES
   ========================================================= */

[class*="mstd-"][class*="-card"] > a:not(.mstd-btn),
[class*="mstd-"][class*="-card"] p + a:not(.mstd-btn){
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 6px !important;
  color: var(--m-blue) !important;
  -webkit-text-fill-color: var(--m-blue) !important;
  font-family: var(--m-font-display) !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  text-decoration: none !important;
  border-bottom: 2px solid rgba(1,72,255,.25) !important;
  transition: border-color .2s ease !important;
}
[class*="mstd-"][class*="-card"] > a:not(.mstd-btn):hover{
  border-bottom-color: var(--m-blue) !important;
}
[class*="mstd-"][class*="-card"] > span:not([class]){
  display: inline-flex !important;
  margin-top: 6px !important;
  color: #64748b !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
}

/* =========================================================
   MSTD 23 — IMAGENS DAS PAGINAS DE SERVICO

   v7.8: este bloco encolheu. O que saiu e por que:

   1. As variaveis --mstd-img-similaridade e
      --mstd-img-estilo-autoral, e as duas regras que as
      aplicavam em --mstd-srvx-hero. Elas alimentavam um
      ::before do heroi que deixou de existir na v6.5, quando
      o heroi virou transparente para a moldura azul aparecer.
      Ninguem consumia a variavel. Como efeito colateral, some
      a divergencia de nomes de arquivo entre este CSS e o
      bloco MSTD 23 do JavaScript.

   2. As regras de padding, altura, borda e sombra do
      .mstd-srvx-image-card. Tinham peso 0,1,0 e nunca venciam
      a regra generica de heroi da secao 11, que tem 0,4,0 e
      ja define proporcao 8:5, recorte e preenchimento.

   Sobrou o que ainda tem efeito: esconder a imagem enquanto o
   endereco for um marcador nao substituido.
   ========================================================= */

.mstd-srvx-image-card img[src*="COLE_AQUI"],
.mstd-srvx-image-card img[src*="URL_DA_IMAGEM"]{
  visibility: hidden !important;
}

/* =========================================================
   31. SIMULADOR DE FAIXA DE INVESTIMENTO (PAGINA ORCAMENTO)
   HTML correspondente: secao com id="simulador-orcamento".
--------------------------------------------------------- */
.mstd-sim {
  background: var(--m-dark) !important;
  border: 1px solid rgba(61, 125, 255, .34) !important;
  border-radius: var(--m-radius) !important;
  padding: 38px 32px !important;
  box-shadow: var(--m-shadow-l) !important;
  position: relative !important;
  overflow: hidden !important;
}

.mstd-sim::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -18% -46% auto !important;
  width: 340px !important;
  height: 340px !important;
  background: radial-gradient(circle, rgba(61,125,255,.42), transparent 62%) !important;
  pointer-events: none !important;
}

.mstd-sim > * { position: relative !important; z-index: 1 !important; }

.mstd-sim-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-bottom: 22px !important;
}

.mstd-sim-campo { display: flex !important; flex-direction: column !important; gap: 8px !important; }

.mstd-sim-campo label {
  font-family: var(--m-font-display) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: #dbe6fb !important;
  letter-spacing: 0 !important;
}

.mstd-sim-campo select,
.mstd-sim-campo input {
  width: 100% !important;
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  padding: 14px 15px !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color .2s ease, background .2s ease !important;
}

.mstd-sim-campo select option { color: var(--m-ink) !important; background: #ffffff !important; }

.mstd-sim-campo select:focus,
.mstd-sim-campo input:focus {
  border-color: var(--m-blue-2) !important;
  background: rgba(61, 125, 255, .14) !important;
  outline: none !important;
}

.mstd-sim-campo input::placeholder { color: rgba(255, 255, 255, .45) !important; }

#mstd-sim-calc { width: 100% !important; justify-content: center !important; }

.mstd-sim-resultado {
  margin-top: 24px !important;
  padding: 26px 22px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(61, 125, 255, .40) !important;
  border-radius: 20px !important;
  text-align: center !important;
}

.mstd-sim-rot {
  display: block !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  color: var(--m-blue-3) !important;
  margin-bottom: 10px !important;
}

.mstd-sim-valor {
  display: block !important;
  font-family: var(--m-font-display) !important;
  font-size: clamp(1.7rem, 5vw, 2.5rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -.035em !important;
  line-height: 1.1 !important;
}

.mstd-sim-nota,
.mstd-sim-rodape {
  color: #b9cbec !important;
  font-size: .88rem !important;
  line-height: 1.65 !important;
}

.mstd-sim-nota { margin: 14px auto 20px !important; max-width: 52ch !important; }

.mstd-sim-rodape {
  margin: 24px 0 0 !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255, 255, 255, .13) !important;
}

.mstd-sim-aviso {
  margin-top: 20px !important;
  padding: 16px 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border-left: 3px solid var(--m-blue-2) !important;
  border-radius: 12px !important;
  color: #dbe6fb !important;
  font-size: .95rem !important;
}

/* Botao de WhatsApp em verde, para separar da acao principal azul */
.mstd-btn-zap {
  background: #15803d !important; /* atualizacao 215: contraste de cerca de 5:1 com o texto branco */
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 0 !important;
}
.mstd-btn-zap:hover { background: #116b32 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

@media (max-width: 767px) {
  .mstd-sim { padding: 26px 18px !important; }
  .mstd-sim-grid { grid-template-columns: 1fr !important; gap: 15px !important; }
  .mstd-sim-resultado { padding: 22px 16px !important; }
}

/* =========================================================
   32. ACESSIBILIDADE: FOCO VISIVEL NO TECLADO
--------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--m-blue-2) !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
}

/* =========================================================
   33. NEWSLETTER DO RODAPE (ATIVA A PARTIR DA v6.4)
   Antes este bloco escondia o formulario, porque nao havia
   envio real e ele coletava e-mail sem finalidade declarada.
   Agora esta ativo, com acabamento visual.
   Lembrete de LGPD: a finalidade da coleta precisa constar
   na Politica de Privacidade e o cancelamento precisa ser
   possivel em todo envio.
--------------------------------------------------------- */
#footer .container-fluid.newsletter,
#footer .footer-pesquisa,
#footer .input-newsletter,
#footer .btn-newsletter { display: block !important; }

#footer .container-fluid.newsletter {
  padding: 34px 0 30px !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  margin-bottom: 8px !important;
}
#footer .footer-pesquisa {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}
#footer .footer-pesquisa-text div {
  text-align: center !important;
  margin-bottom: 14px !important;
}
#footer .input-newsletter,
#footer .input-newsletter:focus {
  min-width: 260px !important;
  max-width: 420px !important;
}
#footer .btn-newsletter {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}
/* Aviso curto de finalidade, exigido pela LGPD.
   Aparece abaixo do campo, sem depender de editar o HTML
   do rodape (que a plataforma nao expoe). */
#footer .container-fluid.newsletter::after {
  content: "Usamos seu e-mail apenas para enviar novidades e conte\00FA dos da MecenaSTD. Voc\00EA  pode cancelar quando quiser." !important;
  display: block !important;
  max-width: 620px !important;
  margin: 14px auto 0 !important;
  text-align: center !important;
  color: rgba(210,224,250,.72) !important;
  font-size: .82rem !important;
  line-height: 1.6 !important;
}
@media (max-width: 991px) {
  #footer .footer-pesquisa { justify-content: stretch !important; }
}

/* =========================================================
   34. PARALLAX DE DEMONSTRACAO
   O bloco parallax da home carrega uma imagem do repositorio 11,
   que e o modelo de demonstracao da plataforma, nao o seu (21119).
   Desativado ate existir imagem propria.
--------------------------------------------------------- */
.parallax[data-parallax-image*="/Repositorio/11/"],
#layerHome ~ * .parallax[data-parallax-image*="/Repositorio/11/"],
main .parallax[data-parallax-image*="/Repositorio/11/"] { display: none !important; }

/* =========================================================
   35. CAIXA DE PRAZO NAS PAGINAS DE SERVICO
   Inserida automaticamente pelo bloco MSTD 26 do JavaScript.
--------------------------------------------------------- */
.mstd-prazo-box {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-areas: "icone titulo" "icone texto" "icone acao" !important;
  column-gap: 18px !important;
  row-gap: 6px !important;
  align-items: start !important;
  margin: 30px 0 !important;
  padding: 24px 26px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid var(--m-line) !important;
  border-left: 4px solid var(--m-blue) !important;
  border-radius: 18px !important;
  box-shadow: var(--m-shadow-s) !important;
}
.mstd-prazo-box > i {
  grid-area: icone !important;
  font-size: 1.5rem !important;
  color: var(--m-blue) !important;
  line-height: 1 !important;
  margin-top: 3px !important;
}
.mstd-prazo-box > strong {
  grid-area: titulo !important;
  font-family: var(--m-font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--m-ink) !important;
  letter-spacing: -.02em !important;
}
.mstd-prazo-box > span {
  grid-area: texto !important;
  color: var(--m-text) !important;
  font-size: .97rem !important;
  line-height: 1.7 !important;
}
.mstd-prazo-box > a {
  grid-area: acao !important;
  justify-self: start !important;
  margin-top: 8px !important;
  color: var(--m-blue) !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  border-bottom: 2px solid rgba(1,72,255,.28) !important;
}
.mstd-prazo-box > a:hover { border-bottom-color: var(--m-blue) !important; }

@media (max-width: 640px) {
  .mstd-prazo-box {
    grid-template-columns: 1fr !important;
    grid-template-areas: "icone" "titulo" "texto" "acao" !important;
    row-gap: 8px !important;
    padding: 20px 18px !important;
  }
}

/* =========================================================
   36. BLOCO DE DEPOIMENTOS / COMPROMISSOS
   Unifica os antigos blocos 36, 37 e o avulso "6.2".
   Bloco autonomo: traz o proprio fundo escuro e as proprias
   cores, entao funciona em container claro ou escuro.

   Nota: os cartoes so ficam escuros porque a secao 11
   agora exclui -depo-card da regra de cartao claro. Se um dia
   alguem remover aquele :not([class*="-depo-card"]), os
   cartoes voltam a ficar brancos com texto branco.
--------------------------------------------------------- */
/* v8.0 - A secao de compromissos tem fundo escuro e vinha logo
   depois do cartao escuro do simulador, sem nenhuma separacao.
   Dois blocos escuros encostados perdem a fronteira visual e
   parecem um bloco unico cortado ao meio. A margem superior cria
   a faixa clara que separa os dois; a linha de topo reforca a
   transicao quando a secao anterior tambem for escura. */
.mstd-depo {
  display: block !important;
  width: 100% !important;
  margin: 56px 0 0 !important;
  padding: 66px 20px !important;
  background: var(--m-dark) !important;
  border-top: 1px solid rgba(61,125,255,.26) !important;
  position: relative !important;
  overflow: hidden !important;
}
.mstd-depo-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}
.mstd-depo-head { text-align: center !important; margin-bottom: 38px !important; }
.mstd-depo-tag {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 7px 16px !important; margin-bottom: 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  background: rgba(255,255,255,.10) !important;
  color: var(--m-blue-3) !important;
  font-family: var(--m-font-display) !important;
  font-size: .74rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .10em !important;
}
.mstd-depo-tag i { color: var(--m-blue-3) !important; -webkit-text-fill-color: var(--m-blue-3) !important; }
.mstd-depo-head h2,
.mstd-depo-head h2 * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important; background-image: none !important;
  font-size: clamp(1.6rem, 3.4vw, 2.3rem) !important;
  line-height: 1.2 !important;
  margin: 0 auto 12px !important;
  max-width: 24ch !important;
}
.mstd-depo-head p {
  color: #c3d3ef !important; -webkit-text-fill-color: #c3d3ef !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  max-width: 62ch !important;
  margin: 0 auto !important;
}
.mstd-depo-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.mstd-depo .mstd-depo-grid figure.mstd-depo-card,
.mstd-depo .mstd-depo-grid .mstd-depo-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 28px 26px 24px !important;
  background: rgba(255,255,255,.08) !important;
  background-image: none !important;
  border: 1px solid rgba(122,168,255,.30) !important;
  border-radius: 20px !important;
  min-height: 210px !important;
  height: 100% !important;
  color: #eef4ff !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
.mstd-depo .mstd-depo-card blockquote,
.mstd-depo .mstd-depo-card blockquote * {
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: none !important;
  color: #eef4ff !important; -webkit-text-fill-color: #eef4ff !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  quotes: none !important;
}
.mstd-depo .mstd-depo-card blockquote { flex: 1 1 auto !important; }
.mstd-depo .mstd-depo-card blockquote::before {
  content: "\201C" !important;
  display: block !important;
  font-family: var(--m-font-display) !important;
  font-size: 2.6rem !important;
  line-height: .6 !important;
  color: var(--m-blue-2) !important; -webkit-text-fill-color: var(--m-blue-2) !important;
  margin-bottom: 12px !important;
  opacity: 1 !important;
}
.mstd-depo .mstd-depo-card figcaption {
  display: flex !important; flex-direction: column !important; gap: 2px !important;
  margin: 0 !important;
  padding-top: 15px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
  background: none !important;
}
.mstd-depo .mstd-depo-card figcaption strong {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  font-family: var(--m-font-display) !important;
  font-size: .98rem !important; font-weight: 700 !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
.mstd-depo .mstd-depo-card figcaption span {
  color: #9dbcff !important; -webkit-text-fill-color: #9dbcff !important;
  font-size: .86rem !important;
  text-transform: none !important;
}

/* --- 36.1 DEPOIMENTOS EM JANELA MENOR, COM FUNDO RAJADO (v9.8) ---
   Vale para o bloco de depoimentos do rodape (container
   "Sobre") e para o bloco automatico do MSTD 27
   (#mstd-depo-auto). O bloco escuro de compromissos da home
   (.mstd-depo dentro do conteudo) continua com a secao 36.

   Janela de ate 940px, fundo em faixas azul e branco, cartoes
   brancos compactos em 2 colunas. No celular os cartoes ficam
   lado a lado e deslizam com o dedo.

   .mstd-depo-head usa display:contents para o titulo, a
   etiqueta e a ressalva entrarem na mesma grade da janela:
   titulo e etiqueta em cima, cartoes no meio, ressalva embaixo.

   Todos os seletores tem ID (#footer ou #mstd-depo-auto), entao
   vencem as regras da secao 36 e a cor de texto do rodape. */

/* O JavaScript (MSTD 27) leva o bloco para o fim do rodape,
   depois das colunas Sobre, Contato e Social. A coluna "Sobre"
   continua ocupando a linha toda, como ja era. A regra com
   :has() cobre o caso de o JavaScript nao rodar. */
#footer .footer-details > .about {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
#footer [class*="col-"]:has(.mstd-depo) {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
#footer .mstd-depo-rascunho {
  display: block !important;
  width: 100% !important;
  clear: both !important;
}

#footer .mstd-depo,
#mstd-depo-auto {
  display: block !important;
  position: relative !important;
  float: none !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 940px !important;
  margin: 34px auto !important;
  padding: 24px 26px 18px !important;
  background: linear-gradient(118deg, transparent 0 7%, rgba(1,72,255,.10) 7% 12%, transparent 12% 21%, rgba(61,125,255,.16) 21% 24%, transparent 24% 36%, rgba(1,72,255,.07) 36% 47%, transparent 47% 58%, rgba(61,125,255,.14) 58% 62%, transparent 62% 73%, rgba(1,72,255,.09) 73% 82%, transparent 82% 90%, rgba(61,125,255,.15) 90% 94%, transparent 94%), linear-gradient(180deg, #ffffff 0%, #eaf1ff 100%) !important;
  border: 1px solid rgba(1,72,255,.20) !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.28) !important;
  overflow: hidden !important;
  text-align: left !important;
  z-index: 2 !important;
}
#footer .mstd-depo::before,
#mstd-depo-auto::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #0b1e45, #0148ff 55%, #7aa8ff) !important;
}
#footer .mstd-depo .mstd-depo-wrap,
#mstd-depo-auto .mstd-depo-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
#footer .mstd-depo .mstd-depo-head,
#mstd-depo-auto .mstd-depo-head {
  display: contents !important;
}
#footer .mstd-depo .mstd-depo-head h2,
#mstd-depo-auto .mstd-depo-head h2,
#footer .mstd-depo .mstd-depo-head h2 *,
#mstd-depo-auto .mstd-depo-head h2 * {
  color: #0b1e45 !important;
  -webkit-text-fill-color: #0b1e45 !important;
  background: none !important;
  background-image: none !important;
  font-size: 1.25rem !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
}
#footer .mstd-depo .mstd-depo-head h2,
#mstd-depo-auto .mstd-depo-head h2 {
  order: 1 !important;
  flex: 1 1 auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#footer .mstd-depo .mstd-depo-tag,
#mstd-depo-auto .mstd-depo-tag {
  order: 2 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 5px 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(1,72,255,.22) !important;
  color: #0a2a8a !important;
  -webkit-text-fill-color: #0a2a8a !important;
  font-size: .68rem !important;
  letter-spacing: .08em !important;
}
#footer .mstd-depo .mstd-depo-tag i,
#mstd-depo-auto .mstd-depo-tag i {
  color: #0148ff !important;
  -webkit-text-fill-color: #0148ff !important;
}
#footer .mstd-depo .mstd-depo-grid,
#mstd-depo-auto .mstd-depo-grid {
  order: 3 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin: 0 !important;
}
#footer .mstd-depo .mstd-depo-head p,
#mstd-depo-auto .mstd-depo-head p {
  order: 5 !important;
  flex: 0 0 100% !important;
  max-width: none !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: #38445c !important;
  -webkit-text-fill-color: #38445c !important;
  font-size: .76rem !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  text-align: center !important;
}
#footer .mstd-depo .mstd-depo-grid figure.mstd-depo-card,
#mstd-depo-auto .mstd-depo-grid figure.mstd-depo-card,
#footer .mstd-depo .mstd-depo-grid .mstd-depo-card,
#mstd-depo-auto .mstd-depo-grid .mstd-depo-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 14px 16px 12px !important;
  min-height: 0 !important;
  height: 100% !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(1,72,255,.16) !important;
  border-left: 4px solid #0148ff !important;
  border-radius: 14px !important;
  color: #1b2230 !important;
  box-shadow: 0 8px 20px -16px rgba(4,26,79,.45) !important;
  text-align: left !important;
}
#footer .mstd-depo .mstd-depo-card blockquote,
#mstd-depo-auto .mstd-depo-card blockquote,
#footer .mstd-depo .mstd-depo-card blockquote *,
#mstd-depo-auto .mstd-depo-card blockquote * {
  color: #1b2230 !important;
  -webkit-text-fill-color: #1b2230 !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  text-align: left !important;
}
#footer .mstd-depo .mstd-depo-card blockquote::before,
#mstd-depo-auto .mstd-depo-card blockquote::before {
  content: none !important;
  display: none !important;
}
#footer .mstd-depo .mstd-depo-card figcaption,
#mstd-depo-auto .mstd-depo-card figcaption {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 2px 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid #e3e9f4 !important;
}
#footer .mstd-depo .mstd-depo-card figcaption strong,
#mstd-depo-auto .mstd-depo-card figcaption strong {
  color: #0b1e45 !important;
  -webkit-text-fill-color: #0b1e45 !important;
  font-size: .86rem !important;
}
#footer .mstd-depo .mstd-depo-card figcaption span,
#mstd-depo-auto .mstd-depo-card figcaption span {
  color: #4a5568 !important;
  -webkit-text-fill-color: #4a5568 !important;
  font-size: .78rem !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
}

/* Bloco automatico com 3 cartoes: 3 colunas. Sem :has(), ficam 2 + 1. */
#footer .mstd-depo .mstd-depo-grid:has(> .mstd-depo-card:nth-child(3):last-child),
#mstd-depo-auto .mstd-depo-grid:has(> .mstd-depo-card:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 767px) {
  #footer .mstd-depo,
  #mstd-depo-auto {
    margin: 26px auto !important;
    padding: 18px 0 14px !important;
    border-radius: 18px !important;
  }
  #footer .mstd-depo .mstd-depo-wrap,
  #mstd-depo-auto .mstd-depo-wrap {
    gap: 8px 0 !important;
  }
  #footer .mstd-depo .mstd-depo-head h2,
  #mstd-depo-auto .mstd-depo-head h2 {
    flex: 0 0 100% !important;
    padding: 0 16px !important;
    font-size: 1.1rem !important;
  }
  #footer .mstd-depo .mstd-depo-tag,
  #mstd-depo-auto .mstd-depo-tag {
    margin: 0 16px !important;
  }
  #footer .mstd-depo .mstd-depo-head p,
  #mstd-depo-auto .mstd-depo-head p {
    padding: 0 16px !important;
  }
  #footer .mstd-depo .mstd-depo-grid,
  #mstd-depo-auto .mstd-depo-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-padding-left: 16px !important;
    scrollbar-width: thin !important;
    padding: 2px 16px 10px !important;
  }
  #footer .mstd-depo .mstd-depo-grid:has(> .mstd-depo-card:nth-child(3):last-child),
  #mstd-depo-auto .mstd-depo-grid:has(> .mstd-depo-card:nth-child(3):last-child) {
    grid-template-columns: none !important;
  }
  #footer .mstd-depo .mstd-depo-grid figure.mstd-depo-card,
  #mstd-depo-auto .mstd-depo-grid figure.mstd-depo-card,
  #footer .mstd-depo .mstd-depo-grid .mstd-depo-card,
  #mstd-depo-auto .mstd-depo-grid .mstd-depo-card {
    flex: 0 0 84% !important;
    height: auto !important;
    scroll-snap-align: start !important;
    padding: 12px 14px 10px !important;
  }
  #footer .mstd-depo .mstd-depo-card blockquote,
  #mstd-depo-auto .mstd-depo-card blockquote,
  #footer .mstd-depo .mstd-depo-card blockquote *,
  #mstd-depo-auto .mstd-depo-card blockquote * {
    font-size: .85rem !important;
    line-height: 1.5 !important;
  }
  #footer .mstd-depo .mstd-depo-wrap::after,
  #mstd-depo-auto .mstd-depo-wrap::after {
    content: "Deslize para o lado para ver os outros" !important;
    display: block !important;
    order: 4 !important;
    flex: 0 0 100% !important;
    padding: 0 16px !important;
    color: #0a2a8a !important;
    -webkit-text-fill-color: #0a2a8a !important;
    font-size: .74rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    text-align: center !important;
  }
}

@media (max-width: 991px) {
  .mstd-depo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
}
@media (max-width: 640px) {
  .mstd-depo-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .mstd-depo { padding: 46px 16px !important; }
  .mstd-depo .mstd-depo-grid figure.mstd-depo-card,
  .mstd-depo .mstd-depo-grid .mstd-depo-card { min-height: 0 !important; padding: 24px 20px !important; }
  .mstd-depo .mstd-depo-card blockquote { font-size: .96rem !important; }
}

/* =========================================================
   38. ETAPAS DAS PAGINAS DE SERVICO
   Vale para as paginas com prefixo proprio: redacao
   discursiva, progressao e titulos, apresentacao de defesa
   e material didatico.

   Dois problemas resolvidos aqui:

   1. A regra generica da secao 11 monta 5 colunas. Com 4
      cartoes, cada um fica estreito demais e o texto quebra
      a cada duas palavras. Aqui sao 2 colunas no desktop,
      o que da largura confortavel de leitura.

   2. A lista interna se chama .mstd-step-lista. O trecho
      "-step" faz ela casar com a regra do cartao de etapa,
      peso 0,3,0, e receber fundo, borda e padding. Vira um
      cartao dentro do cartao. As regras abaixo tem peso
      0,3,1 e desfazem isso.
--------------------------------------------------------- */

/* --- 38.1 Grade em 2 colunas --- */
.mstd-red-steps,
.mstd-tit-steps,
.mstd-def-steps,
.mstd-did-steps {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 26px) !important;
  padding: clamp(26px, 3vw, 42px) !important;
  align-items: stretch !important;
}

/* --- 38.2 Cartao da etapa: mais ar por dentro --- */
.mstd-red-step,
.mstd-tit-step,
.mstd-def-step,
.mstd-did-step {
  display: flex !important;
  flex-direction: column !important;
  padding: clamp(24px, 2.4vw, 32px) !important;
  border-radius: 26px !important;
  height: 100% !important;
}
.mstd-red-step h3,
.mstd-tit-step h3,
.mstd-def-step h3,
.mstd-did-step h3 {
  font-size: 1.12rem !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
}
.mstd-red-step > p,
.mstd-tit-step > p,
.mstd-def-step > p,
.mstd-did-step > p {
  font-size: .97rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  opacity: .92 !important;
}
.mstd-red-number,
.mstd-tit-number,
.mstd-def-number,
.mstd-did-number {
  width: 48px !important;
  height: 48px !important;
  margin-bottom: 18px !important;
  font-size: 1.1rem !important;
}

/* --- 38.3 A lista deixa de ser cartao e vira rodape do cartao --- */
[class*="mstd-"][class*="-steps"] ul.mstd-step-lista {
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  list-style: none !important;
  margin: auto 0 0 !important;
  padding: 16px 0 0 !important;
  transform: none !important;
}
[class*="mstd-"][class*="-steps"] ul.mstd-step-lista li {
  position: relative !important;
  padding: 0 0 0 18px !important;
  margin: 0 0 8px !important;
  border: 0 !important;
  font-size: .89rem !important;
  line-height: 1.55 !important;
  opacity: .9 !important;
}
[class*="mstd-"][class*="-steps"] ul.mstd-step-lista li:last-child {
  margin-bottom: 0 !important;
}
[class*="mstd-"][class*="-steps"] ul.mstd-step-lista li::before {
  content: "\2022" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #7aa8ff !important;
  -webkit-text-fill-color: #7aa8ff !important;
  font-weight: 700 !important;
}

/* --- 38.4 Espaco entre o topo do cartao e a lista --- */
.mstd-red-step > p + ul.mstd-step-lista,
.mstd-tit-step > p + ul.mstd-step-lista,
.mstd-def-step > p + ul.mstd-step-lista,
.mstd-did-step > p + ul.mstd-step-lista {
  margin-top: 20px !important;
}

/* --- 38.5 Responsivo --- */
@media (max-width: 767px) {
  .mstd-red-steps,
  .mstd-tit-steps,
  .mstd-def-steps,
  .mstd-did-steps {
    grid-template-columns: 1fr !important;
    padding: 22px !important;
    gap: 16px !important;
  }
  .mstd-red-step,
  .mstd-tit-step,
  .mstd-def-step,
  .mstd-did-step { padding: 22px !important; }
}


/* =========================================================
   40. CORRECAO DEFINITIVA — HERO DA PAGINA DE ORCAMENTO
   Objetivo: reduzir a imagem no desktop sem deformar a arte.
   Padrao da imagem: 1600x1000 | proporcao 8:5.
   A especificidade deste bloco prevalece sobre o padrao
   generico dos herois, sem alterar as demais paginas.
========================================================= */

.mstd-orcamento-page .mstd-orcamento-hero {
  padding: 64px 0 54px !important;
}

.mstd-orcamento-page .mstd-orcamento-hero .mstd-orcamento-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr) !important;
  gap: 32px !important;
  align-items: center !important;
}

.mstd-orcamento-page .mstd-orcamento-hero .mstd-orcamento-hero-text,
.mstd-orcamento-page .mstd-orcamento-hero .mstd-orcamento-image-card {
  min-width: 0 !important;
}

.mstd-orcamento-page .mstd-orcamento-hero .mstd-wrap .mstd-orcamento-image-card {
  position: relative !important;
  display: block !important;
  width: min(100%, 450px) !important;
  max-width: 450px !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 8 / 5 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  justify-self: end !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
  border-radius: 26px !important;
  background: #ffffff !important;
  border: 1px solid rgba(1, 72, 255, .14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 18px 42px rgba(9,22,51,.12) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.mstd-orcamento-page .mstd-orcamento-hero .mstd-wrap .mstd-orcamento-image-card img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #ffffff !important;
  filter: saturate(106%) contrast(102%) brightness(101%) !important;
}

/* Notebooks e telas intermediarias */
@media (min-width: 992px) and (max-width: 1199px) {
  .mstd-orcamento-page .mstd-orcamento-hero .mstd-orcamento-hero-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr) !important;
    gap: 26px !important;
  }

  .mstd-orcamento-page .mstd-orcamento-hero .mstd-wrap .mstd-orcamento-image-card {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
  }
}

/* Tablet */
@media (max-width: 991px) {
  .mstd-orcamento-page .mstd-orcamento-hero {
    padding: 52px 0 44px !important;
  }

  .mstd-orcamento-page .mstd-orcamento-hero .mstd-orcamento-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .mstd-orcamento-page .mstd-orcamento-hero .mstd-wrap .mstd-orcamento-image-card {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    justify-self: center !important;
    border-radius: 22px !important;
  }
}

/* Celular */
@media (max-width: 575px) {
  .mstd-orcamento-page .mstd-orcamento-hero {
    padding: 42px 0 36px !important;
  }

  .mstd-orcamento-page .mstd-orcamento-hero .mstd-orcamento-hero-grid {
    gap: 22px !important;
  }

  .mstd-orcamento-page .mstd-orcamento-hero .mstd-wrap .mstd-orcamento-image-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px !important;
  }
}


/* =========================================================
   41. VAO EM BRANCO NA HOME
   O container 154441 tem o conteudo escondido desde que
   descobrimos que o bloco "Como a MecenaSTD ajuda" estava
   cadastrado duas vezes. Esconder o conteudo nao encolhe o
   container: ele mantinha 86px de padding em cima e 86px
   embaixo, deixando 172px de vazio entre o carrossel de
   servicos e a secao seguinte.

   As regras abaixo fazem o container encolher SOMENTE quando
   nao houver nada visivel dentro dele. O :has() garante que,
   se um dia aquele container voltar a receber carrossel,
   listagem ou texto, o espacamento volta sozinho.

   Solucao definitiva: apagar a publicacao duplicada pelo
   Gerenciador de Containers. Enquanto isso nao acontece,
   este bloco resolve o efeito visual.
--------------------------------------------------------- */

#containerEditavel-154441:not(:has(.swiper)):not(:has(.col-listagem)):not(:has(section)):not(:has([class*="mstd-"])) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

/* Mesma logica para qualquer container editavel que fique
   sem conteudo visivel, para o problema nao voltar em outro
   ponto da home. */
[id^="containerEditavel-"]:not(:has(.swiper)):not(:has(.col-listagem)):not(:has(section)):not(:has([class*="mstd-"])):not(:has(img)):not(:has(p)) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* A faixa de setas do carrossel tambem deixava folga extra. */
.arrow-swiper {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

/* Reserva: navegador sem suporte a :has() nao aplica as
   regras acima. Nesse caso o vao continua, mas bem menor. */
@supports not selector(:has(*)) {
  #containerEditavel-154441 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

/* =========================================================
   42. VAOS EM BRANCO NO SITE INTEIRO
   O bloco 41 resolveu o caso da home. Este generaliza a
   mesma ideia para as paginas internas.

   De onde vem o problema: a plataforma monta cada pagina com
   linhas e colunas fixas, e nos escondemos varios elementos
   dela ao longo do projeto - titulo repetido, miniatura de
   galeria, botoes de compartilhar, formulario nativo. Esconder
   o elemento nao encolhe a linha que o continha, e cada uma
   dessas linhas deixa um vao.

   As regras abaixo removem a linha inteira quando ela nao
   tiver conteudo util. Sao conservadoras de proposito: usam
   :has() para so agir quando a linha comprovadamente nao
   contem o conteudo da publicacao.
--------------------------------------------------------- */

/* --- 42.1 Linhas estruturais vazias --- */
main .row:empty,
main .container:empty,
main [class*="col-"]:empty,
main section:empty,
.container_informativo_index_corpo .row:empty,
.container_informativo_index_corpo [class*="col-"]:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- 42.2 Linha que sobrou depois de esconder galeria,
       compartilhamento ou titulo repetido --- */
body.mstd-full-page .container_informativo_index_corpo > .container > .row:not(:has(.container_conteudo_publicacao)) {
  display: none !important;
}
body.mstd-full-page .row:has(> .box-image-galeria):not(:has(.container_conteudo_publicacao)),
body.mstd-full-page .row:has(> .sharethis-inline-share-buttons),
body.mstd-full-page .row:has(> [id*="div_redes_sociais"]) {
  display: none !important;
}

/* --- 42.3 Container editavel cujo unico filho ficou oculto --- */
[id^="containerEditavel-"]:has(> .container > .row > .TextoConteudoEditavel:only-child) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- 42.4 Paragrafo e span vazios deixados pelo editor.
       O editor gera <p>&nbsp;</p> quando a colagem tem quebra
       de linha, e cada um deles vale uma linha de altura. --- */
[class*="mstd-"] p:empty,
[class*="mstd-"] span:empty:not([class]),
[class*="mstd-"] h2:empty,
[class*="mstd-"] h3:empty,
.container_conteudo_publicacao > p:empty,
.container_conteudo_publicacao > br + br {
  display: none !important;
}

/* --- 42.5 O ultimo bloco de cada pagina nao precisa de folga
       extra antes do rodape --- */
body.mstd-full-page [class*="mstd-"][class$="-page"] > section:last-child {
  padding-bottom: clamp(46px, 5vw, 72px) !important;
}
body.mstd-full-page [class*="mstd-"][class$="-page"] {
  margin-bottom: 0 !important;
}

/* --- 42.6 Reserva para navegador sem :has() --- */
@supports not selector(:has(*)) {
  body.mstd-full-page .box-image-galeria,
  body.mstd-full-page .sharethis-inline-share-buttons {
    position: absolute !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* =========================================================
   43. RITMO VERTICAL DA HOME  (refeito na v7.5)

   O vao vinha de DUAS camadas somando, nao de uma:

   1. Cada container da home tinha 86px de padding em cima e
      86px embaixo. Dois containers vizinhos somavam 172px.
   2. Dentro deles, as secoes mstd-*-section carregam o
      padding das paginas internas: 78px em cima e 90px
      embaixo. Somado ao anterior, passava de 300px.

   A tentativa anterior usava a regra "container que vem logo
   depois de outro container". Ela nao pegou porque os
   containers nao sao vizinhos diretos no HTML: existem
   elementos entre eles.

   Agora o padding do container foi reduzido na propria regra
   da secao 6, e as regras abaixo zeram o padding vertical das
   secoes internas quando elas estao dentro da home. Quem
   controla o ritmo passa a ser um so: o container.
--------------------------------------------------------- */

/* --- 43.1 Secao interna nao acrescenta padding vertical
       dentro da home. Nas paginas internas continua igual. --- */
[id^="containerEditavel-"] section[class*="mstd-"],
[id^="containerEditavel-"] [class*="mstd-"][class*="-section"],
[id^="containerEditavel-"] .mstd-home-section,
[id^="containerEditavel-"] .mstd-home-faq-full,
[id^="containerEditavel-"] .mstd-home-v4-watermark-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- 43.2 Qualquer container editavel, mesmo os que tiverem
       IDs diferentes dos cinco listados na secao 6 --- */
[id^="containerEditavel-"] {
  padding-top: 0 !important;
  padding-bottom: clamp(34px, 4vw, 58px) !important;
}

/* --- 43.3 O primeiro container encosta no banner e precisa
       de respiro em cima --- */
main > [id^="containerEditavel-"]:first-of-type,
#containerEditavel-154441 {
  padding-top: clamp(40px, 4.5vw, 66px) !important;
}

/* --- 43.4 Carrossel e faixa de setas sem folga extra --- */
.swiper { padding-bottom: 0 !important; }
.arrow-swiper {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* --- 43.5 Cabecalho de secao com margem menor na home --- */
[id^="containerEditavel-"] .mstd-section-head {
  margin-bottom: clamp(24px, 2.6vw, 34px) !important;
}

/* --- 43.6 Celular --- */
@media (max-width: 767px) {
  [id^="containerEditavel-"] { padding-bottom: 28px !important; }
  main > [id^="containerEditavel-"]:first-of-type,
  #containerEditavel-154441 { padding-top: 30px !important; }
}

/* =========================================================
   44. IMAGEM DO HEROI QUE NAO E 1600x1000  (corrigido na v7.7)

   A regra generica de heroi impoe proporcao 8:5 com
   object-fit: cover. Isso funciona para as artes de servico,
   todas em 1600x1000, mas corta qualquer imagem de proporcao
   diferente.

   POR QUE A v7.6 NAO FUNCIONOU: o seletor que escrevi tinha
   peso 0,3,0 e a regra generica tem 0,4,0 - quatro seletores
   de atributo. O navegador ignorava o override. Agora o
   seletor repete a cadeia generica inteira e acrescenta a
   classe do card, chegando a 0,5,0.

   A classe .mstd-img-completa continua disponivel para
   qualquer outro card onde a arte precise aparecer inteira:
   <div class="mstd-orcamento-image-card mstd-img-completa">
--------------------------------------------------------- */

/* --- 44.1 O card acompanha a altura natural da imagem --- */
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"].mstd-contato-image-card,
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"].mstd-img-completa {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

/* --- 44.2 A imagem sai do posicionamento absoluto e volta ao
       fluxo, inteira e sem corte --- */
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"].mstd-contato-image-card img,
[class*="mstd-"][class*="-hero"] [class*="mstd-"][class*="-image-card"].mstd-img-completa img {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: inherit !important;
  display: block !important;
}

/* --- 44.3 Coluna da imagem com mais largura no Contato --- */
.mstd-contato-page .mstd-contato-hero .mstd-contato-hero-grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: clamp(28px, 3.4vw, 52px) !important;
  align-items: center !important;
}

@media (max-width: 991px) {
  .mstd-contato-page .mstd-contato-hero .mstd-contato-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
}


/* =========================================================
   45. ACESSO A ANALISE DIGITAL (APP) - v8.1
   Par do bloco MSTD 29 do JavaScript. Classes mstd-app-*.
   45.1 Icone do app junto das redes sociais (topo e menu mobile)
   45.2 Botao flutuante acima do WhatsApp (lado esquerdo)
   45.3 Aviso de boas-vindas, uma vez por visita
   ========================================================= */

/* --- 45.1 Icones do topo na paleta do site ---
   Todos (Facebook, Instagram, LinkedIn, WhatsApp): fundo azul-claro,
   simbolo azul da marca; ao passar o mouse, azul cheio com simbolo
   branco. O do app ja fica em azul cheio, com o pontinho de novidade.
   filter/opacity zerados porque a folha da plataforma pode deixar
   os icones em cinza. */
.header-desktop-menu .icones-sociais,
.header-desktop-menu .icones-sociais .redeSocial,
.header-desktop-menu .icones-sociais .itenSocial,
.header-desktop-menu .icones-sociais .itenSocial a,
.header-desktop-menu .icones-sociais .itenSocial a i,
.redesSociaisMenu .redeSocial,
.redesSociaisMenu .itenSocial,
.redesSociaisMenu .itenSocial a,
.redesSociaisMenu .itenSocial a i {
  filter: none !important; -webkit-filter: none !important; opacity: 1 !important;
}
.header-desktop-menu .icones-sociais .itenSocial { margin: 0 3px !important; }
.header-desktop-menu .icones-sociais .itenSocial a {
  background: #eef3ff !important;
  color: #0148ff !important;
  border: 1px solid rgba(1, 72, 255, .16) !important;
  box-shadow: 0 2px 6px rgba(1, 72, 255, .06) !important;
}
.header-desktop-menu .icones-sociais .itenSocial a i { color: #0148ff !important; font-size: 15px !important; line-height: 1 !important; }
.header-desktop-menu .icones-sociais .itenSocial a:hover {
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  border-color: #0148ff !important;
  color: #ffffff !important;
}
.header-desktop-menu .icones-sociais .itenSocial a:hover i { color: #ffffff !important; }

/* Icone do app: azul cheio (topo) e azul sobre o fundo escuro (menu mobile) */
.header-desktop-menu .icones-sociais .itenSocial a.mstd-app-ico,
.redesSociaisMenu .itenSocial a.mstd-app-ico,
.redeSocial .itenSocial a.mstd-app-ico {
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  color: #ffffff !important;
  border: 1px solid #0148ff !important;
  box-shadow: 0 6px 16px rgba(1, 72, 255, .30) !important;
  position: relative !important;
  overflow: visible !important;
  font-size: 16px !important;
}
.header-desktop-menu .icones-sociais .itenSocial a.mstd-app-ico:hover,
.redesSociaisMenu .itenSocial a.mstd-app-ico:hover,
.redeSocial .itenSocial a.mstd-app-ico:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(1, 72, 255, .42) !important;
}
.redeSocial .itenSocial a.mstd-app-ico .mstd-app-svg { color: #ffffff !important; fill: #ffffff !important; }
/* pontinho verde de novidade */
.redeSocial .itenSocial a.mstd-app-ico::after {
  content: "" !important;
  position: absolute !important; top: -2px !important; right: -2px !important;
  width: 9px !important; height: 9px !important; border-radius: 50% !important;
  background: #22c55e !important; border: 2px solid #ffffff !important;
}

/* --- 45.2 Botao flutuante no mesmo desenho do WhatsApp fixo
       (secao 14): mesma pilula azul, mesma altura, fonte, sombra e
       circulo do icone. Muda so a cor do circulo (branco com icone
       azul) para diferenciar. Fica logo acima do WhatsApp --- */
.mstd-app-fab {
  position: fixed !important;
  left: 24px !important; right: auto !important; bottom: 90px !important;
  z-index: 999990 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 11px !important;
  min-height: 54px !important; padding: 0 20px 0 13px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  color: #ffffff !important; text-decoration: none !important;
  font-family: var(--m-font-display) !important;
  font-size: 15px !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.02em !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 40px rgba(1,72,255,.34) !important;
  transition: transform .24s ease, box-shadow .24s ease, opacity .25s ease, visibility .25s !important;
}
.mstd-app-fab span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.mstd-app-fab:hover { color: #ffffff !important; transform: translateY(-3px) !important; box-shadow: 0 24px 52px rgba(1,72,255,.42) !important; }
.mstd-app-fab .mstd-app-fab-ico {
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: #ffffff !important;
  color: #0148ff !important; -webkit-text-fill-color: #0148ff !important;
  font-size: 18px !important; line-height: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(1,72,255,.10) !important;
}
.mstd-app-fab .mstd-app-svg,
.redeSocial .itenSocial a.mstd-app-ico .mstd-app-svg {
  width: 1em !important; height: 1em !important; display: block !important;
  fill: currentColor !important; stroke: none !important;
}
.mstd-app-fab .mstd-app-fab-ico .mstd-app-svg { fill: #0148ff !important; }
.mstd-app-fab.mstd-app-oculto { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* --- 45.3 Aviso de boas-vindas --- */
.mstd-app-balao {
  position: fixed !important;
  left: 24px !important; right: auto !important; bottom: 156px !important;
  z-index: 999990 !important;
  width: 290px !important; max-width: calc(100vw - 36px) !important;
  padding: 16px 42px 16px 16px !important;
  background: #ffffff !important; color: #0f172a !important;
  border: 1px solid rgba(1, 72, 255, .16) !important; border-radius: 18px !important;
  box-shadow: 0 20px 44px rgba(11, 30, 69, .22) !important;
  font-family: var(--m-font-text) !important; font-size: 14px !important; line-height: 1.45 !important;
  opacity: 0; transform: translateY(8px); visibility: hidden;
  transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
.mstd-app-balao.mstd-app-visivel { opacity: 1; transform: none; visibility: visible; }
.mstd-app-balao strong {
  display: block !important; margin-bottom: 4px !important;
  font-family: var(--m-font-display) !important; font-size: 15px !important; color: #0148ff !important;
}
.mstd-app-balao a { color: #0148ff !important; font-weight: 700 !important; text-decoration: none !important; }
.mstd-app-balao a:hover { text-decoration: underline !important; }
.mstd-app-balao .mstd-app-balao-fechar {
  position: absolute !important; top: 8px !important; right: 8px !important;
  width: 28px !important; height: 28px !important; padding: 0 !important;
  border: 0 !important; border-radius: 50% !important;
  background: #eef3ff !important; color: #334155 !important; cursor: pointer !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 13px !important;
}
.mstd-app-balao .mstd-app-balao-fechar:hover { background: #dce6ff !important; }

/* Celular: vira circulo de 58px, igual ao WhatsApp (left 18px / bottom 22px) */
@media (max-width: 767px) {
  .mstd-app-fab {
    left: 18px !important; bottom: 92px !important;
    width: 58px !important; height: 58px !important; min-height: 58px !important; padding: 0 !important;
  }
  .mstd-app-fab > span:not(.mstd-app-fab-ico) { display: none !important; }
  .mstd-app-fab .mstd-app-fab-ico { width: 38px !important; height: 38px !important; min-width: 38px !important; font-size: 21px !important; }
  .mstd-app-balao { left: 18px !important; bottom: 162px !important; width: 260px !important; font-size: 13px !important; }
}
/* Tela muito baixa: sai junto com o WhatsApp fixo */
@media (max-height: 420px) {
  .mstd-app-fab, .mstd-app-balao { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .mstd-app-fab, .mstd-app-balao { transition: none !important; }
}
@media print {
  .mstd-app-fab, .mstd-app-balao { display: none !important; }
}

/* =========================================================
   46. MENU DO TOPO EM AZUL-MARINHO - v8.1 (cor ajustada na v8.7)
   A barra do menu passa de azul-claro para o azul da marca, com
   letras brancas mais fortes. Orcamento vira a pilula branca de
   destaque. A pagina aberta fica marcada (classe mstd-menu-ativo,
   posta pelo MSTD 29). O seletor do Orcamento usa o endereco
   amigavel: o antigo (681955) deixou de valer quando a URL mudou.
   ========================================================= */
@media (min-width: 992px) {
  .header-desktop-menu .menu-principal {
    /* v8.7: marinho do rodape com toque do azul da marca */
    background: linear-gradient(135deg, #0b1e45 0%, #12306f 55%, #1a47b8 100%) !important;
    border: 1px solid rgba(11, 30, 69, .50) !important;
    box-shadow: 0 10px 24px rgba(11, 30, 69, .22), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  }
  .header-desktop-menu .menu-principal > li > a,
  .header-desktop-menu .menu-principal > li.menu-home > span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: var(--m-font-display) !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    text-shadow: 0 1px 1px rgba(6, 18, 44, .18) !important;
  }
  .header-desktop-menu .menu-principal > li.menu-home > span i,
  .header-desktop-menu .menu-principal > li > a i { color: #ffffff !important; }
  .header-desktop-menu .menu-principal > li > a:hover,
  .header-desktop-menu .menu-principal > li.menu-home > span:hover {
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16) !important;
  }
  /* pagina aberta */
  .header-desktop-menu .menu-principal > li > a.mstd-menu-ativo,
  .header-desktop-menu .menu-principal > li.menu-home > span.mstd-menu-ativo {
    background: rgba(255, 255, 255, .14) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22) !important;
  }
  /* Orcamento: pilula branca com letra azul, o destaque da barra.
     Seletores com > li > a para vencer a marca de pagina aberta
     (na propria pagina Orcamento ela deixava o botao azul sobre azul). */
  .header-desktop-menu .menu-principal > li > a[href*="orcamento-de-servicos"],
  .header-desktop-menu .menu-principal > li > a[href*="681955"],
  .header-desktop-menu .menu-principal > li > a[href*="orcamento-de-servicos"].mstd-menu-ativo,
  .header-desktop-menu .menu-principal > li > a[href*="681955"].mstd-menu-ativo {
    background: linear-gradient(180deg, #ffffff 0%, #eaf1ff 100%) !important;
    color: #0148ff !important;
    -webkit-text-fill-color: #0148ff !important;
    font-weight: 800 !important;
    text-shadow: none !important;
    border: 0 !important;
    padding: 0 16px !important;
    box-shadow: 0 6px 16px rgba(6, 18, 44, .28), inset 0 -1px 0 rgba(1, 72, 255, .12) !important;
  }
  .header-desktop-menu .menu-principal > li > a[href*="orcamento-de-servicos"]:hover,
  .header-desktop-menu .menu-principal > li > a[href*="681955"]:hover {
    background: #ffffff !important;
    color: #0139d6 !important;
    -webkit-text-fill-color: #0139d6 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(6, 18, 44, .34) !important;
  }
  /* na propria pagina Orcamento: anel branco em volta */
  .header-desktop-menu .menu-principal > li > a[href*="orcamento-de-servicos"].mstd-menu-ativo,
  .header-desktop-menu .menu-principal > li > a[href*="681955"].mstd-menu-ativo {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .55), 0 6px 16px rgba(6, 18, 44, .28) !important;
  }
}


/* =========================================================
   47. ANALISE DIGITAL NAS PAGINAS DE SERVICO E NO BLOG - v8.2
   Par do bloco MSTD 30 do JavaScript. Classes mstd-app-oferta-*.
   ========================================================= */
.mstd-app-oferta { max-width: 1120px; margin: 44px auto 0 !important; padding: 0 20px; }
.mstd-app-oferta.blog { max-width: 860px; }
.mstd-app-oferta-cx {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%) !important;
  border: 1px solid rgba(1, 72, 255, .16) !important; border-radius: 26px !important;
  box-shadow: 0 18px 44px rgba(9, 22, 51, .08) !important;
  padding: 34px 36px !important;
}
.mstd-app-oferta-cx::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px;
  background: linear-gradient(180deg, #0148ff, #3d7dff);
}
.mstd-app-oferta-selo {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: 999px;
  background: #eef3ff; border: 1px solid rgba(1, 72, 255, .2); color: #0148ff !important;
  font-family: var(--m-font-display) !important; font-size: 12px !important; font-weight: 800 !important;
  letter-spacing: .1em; text-transform: uppercase;
}
.mstd-app-oferta-cx h2 {
  margin: 14px 0 8px !important; color: #05070d !important;
  font-family: var(--m-font-display) !important; font-weight: 800 !important;
  font-size: clamp(22px, 2.4vw, 28px) !important; letter-spacing: -.02em !important; line-height: 1.2 !important;
}
.mstd-app-oferta-cx p { margin: 0 0 20px !important; color: #33405a !important; font-size: 16px !important; line-height: 1.65 !important; max-width: 780px; }
.mstd-app-oferta-lista { display: grid; gap: 12px; }
.mstd-app-oferta-op {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  background: #ffffff; border: 1px solid rgba(1, 72, 255, .12); border-radius: 18px; padding: 16px 18px;
}
.mstd-app-oferta-op.principal { border-color: rgba(1, 72, 255, .35); box-shadow: 0 10px 24px rgba(1, 72, 255, .10); }
.mstd-app-oferta-nome b { display: block; font-family: var(--m-font-display) !important; font-weight: 800; color: #0b1e45; font-size: 17px; }
.mstd-app-oferta-nome span { font-size: 14px; color: #5b6576; }
.mstd-app-oferta-nome strong { color: #0148ff; font-weight: 800; }
.mstd-app-oferta-acoes { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
a.mstd-app-oferta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 20px; border-radius: 999px;
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  color: #ffffff !important; text-decoration: none !important;
  font-family: var(--m-font-display) !important; font-weight: 700 !important; font-size: 14px !important;
  box-shadow: 0 10px 22px rgba(1, 72, 255, .26);
  transition: transform .2s ease, box-shadow .2s ease;
}
a.mstd-app-oferta-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(1, 72, 255, .34); color: #ffffff !important; }
a.mstd-app-oferta-link {
  display: inline-flex; align-items: center; gap: 6px;
  color: #0148ff !important; font-weight: 700 !important; font-size: 14px !important; text-decoration: none !important;
}
a.mstd-app-oferta-link:hover { text-decoration: underline !important; }
@media (max-width: 767px) {
  .mstd-app-oferta { padding: 0 14px; margin-top: 32px !important; }
  .mstd-app-oferta-cx { padding: 26px 20px 22px 24px !important; border-radius: 22px !important; }
  .mstd-app-oferta-acoes { width: 100%; }
  a.mstd-app-oferta-btn { flex: 1 1 100%; justify-content: center; }
}
@media print { .mstd-app-oferta { display: none !important; } }


/* =========================================================
   48. TOPO AZUL, LOGO MAIOR E SIMBOLO "M" NO ICONE DO APP - v8.4
   1. (Removido na v8.6: a barra do topo voltou a ser branca.)
   2. Logo maior, com efeito de aumentar ao passar o mouse.
   3. O icone da Analise Digital (topo, menu do celular e botao
      flutuante) mostra o simbolo "M" recortado da logo oficial:
      branco sobre o circulo azul; colorido no circulo branco
      do botao flutuante. O pontinho verde continua.
   ========================================================= */

/* --- 48.2 Logo maior com efeito ao passar o mouse --- */
.header-desktop-logo img, .header-desktop-logo .logo_desk, img.logo_desk,
.header-mobile-logo img, .logo_cel {
  transition: transform .3s cubic-bezier(.22,.61,.36,1) !important;
  transform-origin: left center !important;
}
.header-desktop-logo a:hover img, .header-desktop-logo a:hover .logo_desk, a:hover > img.logo_desk,
.header-mobile-logo a:hover img {
  transform: scale(1.08) !important;
}
@media (min-width: 1400px) {
  .header-desktop-logo.col-md-3, nav.header-base .header-desktop-logo {
    flex: 0 0 236px !important; width: 236px !important; max-width: 236px !important;
  }
  .header-desktop-menu.col-md-9, nav.header-base .header-desktop-menu {
    width: calc(100% - 236px) !important; max-width: calc(100% - 236px) !important;
  }
  .header-desktop-logo img, .header-desktop-logo .logo_desk, img.logo_desk {
    max-width: 214px !important; max-height: 62px !important;
  }
}
@media (min-width: 992px) and (max-width: 1399px) {
  .header-desktop-logo.col-md-3, nav.header-base .header-desktop-logo {
    flex-basis: 176px !important; width: 176px !important; max-width: 176px !important;
  }
  .header-desktop-menu.col-md-9, nav.header-base .header-desktop-menu {
    width: calc(100% - 176px) !important; max-width: calc(100% - 176px) !important;
  }
  .header-desktop-logo img, .header-desktop-logo .logo_desk, img.logo_desk {
    max-width: 160px !important; max-height: 50px !important;
  }
}
@media (max-width: 991px) {
  .header-mobile-logo img, .logo_cel { max-width: 172px !important; max-height: 52px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .header-desktop-logo img, .header-mobile-logo img, img.logo_desk, .logo_cel { transition: none !important; }
}

/* --- 48.3 Simbolo "M" da logo no icone da Analise Digital --- */
.redeSocial .itenSocial a.mstd-app-ico .mstd-app-svg,
.mstd-app-fab .mstd-app-fab-ico .mstd-app-svg { display: none !important; }
.redeSocial .itenSocial a.mstd-app-ico::before,
.mstd-app-fab .mstd-app-fab-ico::before {
  content: "" !important;
  display: block !important;
  width: 17px !important; height: 21px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}
/* Topo: mesmo formato dos icones das redes (circulo claro, simbolo
   azul; no hover, circulo azul e simbolo branco). O "M" usa mascara,
   entao a cor vem do background-color. */
.header-desktop-menu .icones-sociais .itenSocial a.mstd-app-ico,
.redeSocial .itenSocial a.mstd-app-ico {
  background: #eef3ff !important;
  border: 1px solid rgba(1, 72, 255, .16) !important;
  box-shadow: 0 2px 6px rgba(1, 72, 255, .06) !important;
}
.header-desktop-menu .icones-sociais .itenSocial a.mstd-app-ico:hover,
.redeSocial .itenSocial a.mstd-app-ico:hover {
  background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%) !important;
  border-color: #0148ff !important;
  box-shadow: 0 8px 18px rgba(1, 72, 255, .28) !important;
}
.redeSocial .itenSocial a.mstd-app-ico::before {
  background: #0148ff !important;
  -webkit-mask: url("data:image/png;base64,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") center / contain no-repeat !important;
  mask: url("data:image/png;base64,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") center / contain no-repeat !important;
  transition: background-color .22s ease !important;
}
.redeSocial .itenSocial a.mstd-app-ico:hover::before { background: #ffffff !important; }
/* Menu do celular (fundo escuro): igual aos outros icones de la */
.redesSociaisMenu .itenSocial a.mstd-app-ico {
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: none !important;
}
.redesSociaisMenu .itenSocial a.mstd-app-ico::before { background: #ffffff !important; }
/* colorido sobre o circulo branco (botao flutuante) */
.mstd-app-fab .mstd-app-fab-ico::before {
  width: 17px !important; height: 22px !important;
  background-image: url("data:image/png;base64,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") !important;
}
@media (max-width: 767px) {
  .mstd-app-fab .mstd-app-fab-ico::before { width: 19px !important; height: 24px !important; }
}

/* =========================================================
   49. HOME: TRES CAMINHOS E CARROSSEL POR PUBLICO - v8.8
   Par do bloco MSTD 32 do JavaScript v8.5.
   1. Bloco "Tres formas de resolver" (container da home).
   2. Titulo e filtros por publico acima do carrossel.
   3. Etiqueta de area e preco de entrada em cada cartao.
   ========================================================= */
.mstd-home-caminhos { margin: 6px 0 44px !important; }
.mstd-home-caminhos .mstd-section-head { margin-bottom: 26px !important; }
.mstd-hcam-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
.mstd-hcam {
  position: relative !important; display: flex !important; flex-direction: column !important; gap: 8px !important;
  padding: 26px 24px 22px !important; border-radius: var(--m-radius) !important;
  background: #ffffff !important; border: 1px solid var(--m-line) !important; box-shadow: var(--m-shadow-s) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.mstd-hcam:hover { transform: translateY(-5px) !important; box-shadow: var(--m-shadow-m) !important; border-color: rgba(1, 72, 255, .35) !important; }
.mstd-hcam-ico {
  width: 52px !important; height: 52px !important; border-radius: 16px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 1.4rem !important; background: #eef4ff !important; color: var(--m-blue) !important; border: 1px solid var(--m-line) !important;
}
.mstd-hcam-rot { font: 700 .72rem var(--m-font-display) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--m-blue) !important; }
.mstd-hcam h3 { font: 800 1.2rem/1.2 var(--m-font-display) !important; letter-spacing: -.02em !important; color: var(--m-ink) !important; -webkit-text-fill-color: var(--m-ink) !important; margin: 0 !important; }
.mstd-hcam-preco { font: 800 1.05rem var(--m-font-display) !important; color: var(--m-blue) !important; }
.mstd-hcam p { margin: 0 !important; font-size: .95rem !important; line-height: 1.6 !important; color: var(--m-text) !important; }
a.mstd-hcam-link {
  margin-top: auto !important; padding-top: 10px !important; display: inline-flex !important; gap: 8px !important; align-items: center !important;
  font: 700 .92rem var(--m-font-display) !important; color: var(--m-blue) !important; -webkit-text-fill-color: currentColor !important; text-decoration: none !important;
}
/* o cartao inteiro e clicavel: a area do link cobre o cartao */
a.mstd-hcam-link::after { content: "" !important; position: absolute !important; inset: 0 !important; border-radius: var(--m-radius) !important; }
a.mstd-hcam-link:focus-visible { outline: none !important; }
a.mstd-hcam-link:focus-visible::after { outline: 3px solid #ffd166 !important; outline-offset: 2px !important; }
.mstd-hcam.destaque { background: linear-gradient(140deg, #0b1e45 0%, #12306f 55%, #1a47b8 100%) !important; border-color: transparent !important; box-shadow: var(--m-shadow-m) !important; }
.mstd-hcam.destaque h3 { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.mstd-hcam.destaque .mstd-hcam-preco, .mstd-hcam.destaque a.mstd-hcam-link { color: #ffffff !important; }
.mstd-hcam.destaque p { color: #d6e1ff !important; }
.mstd-hcam.destaque .mstd-hcam-rot { color: #b9cbff !important; }
.mstd-hcam.destaque .mstd-hcam-ico { background: rgba(255, 255, 255, .12) !important; border-color: rgba(255, 255, 255, .22) !important; color: #ffffff !important; }

/* Titulo e filtros acima do carrossel */
.mstd-hc-barra { margin: 0 0 20px !important; }
.mstd-hc-barra .mstd-section-head { margin-bottom: 18px !important; }
.mstd-hc-chips { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
.mstd-hc-chips button {
  padding: 10px 20px !important; border-radius: 999px !important; cursor: pointer !important;
  border: 1px solid rgba(1, 72, 255, .22) !important; background: #ffffff !important; color: var(--m-ink) !important;
  font: 700 .92rem var(--m-font-display) !important; transition: all .2s ease !important;
}
.mstd-hc-chips button:hover { border-color: var(--m-blue) !important; color: var(--m-blue) !important; }
.mstd-hc-chips button.ativo { background: linear-gradient(135deg, #0148ff, #3d7dff) !important; color: #ffffff !important; border-color: #0148ff !important; box-shadow: 0 8px 20px rgba(1, 72, 255, .25) !important; }
.mstd-hc-chips button:focus-visible { outline: 3px solid #ffd166 !important; outline-offset: 2px !important; }

/* Etiqueta de area e preco de entrada no cartao */
.mstd-hc-tag {
  display: inline-block !important; align-self: flex-start !important; margin: 0 0 8px !important; padding: 3px 11px !important; border-radius: 999px !important;
  background: #eef4ff !important; border: 1px solid var(--m-line) !important; color: var(--m-blue) !important;
  font: 700 .68rem var(--m-font-display) !important; letter-spacing: .06em !important; text-transform: uppercase !important;
}
.mstd-hc-preco { display: block !important; margin: 4px 0 12px !important; font-size: .84rem !important; color: var(--m-text-soft) !important; }
.mstd-hc-preco b { color: var(--m-blue) !important; font-family: var(--m-font-display) !important; }

@media (max-width: 991px) { .mstd-hcam-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 575px) {
  .mstd-home-caminhos { margin-bottom: 34px !important; }
  .mstd-hcam-grid { gap: 14px !important; }
  .mstd-hcam { padding: 20px 18px 18px !important; gap: 6px !important; }
  .mstd-hcam-ico { width: 46px !important; height: 46px !important; font-size: 1.25rem !important; }
  /* no celular o cartao fica curto: titulo, preco e botao */
  .mstd-hcam p { display: none !important; }
  .mstd-home-caminhos .mstd-section-head { margin-bottom: 20px !important; }
  .mstd-hc-chips { gap: 8px !important; }
  .mstd-hc-chips button { padding: 9px 14px !important; font-size: .84rem !important; }
}

/* =========================================================
   50. CABECALHO E BANNER: MENU, LOGO E CELULAR - v8.9
   Quatro defeitos vistos na conferencia da logo nova:
   a) Computador de 1400 a 1599px e abaixo de 1366px: o menu
      (10 itens) ficava mais largo que o espaco e cobria a
      logo. A regra antiga que encurtava "Sobre a MecenaSTD"
      usava o numero da pagina no link e deixou de valer
      quando o menu passou a usar o endereco amigavel.
   b) Celular, no alto da pagina: o modelo da plataforma da
      133px de altura as colunas do topo; a barra tem 66px,
      entao a logo e o botao do menu desciam para cima do
      banner.
   c) Depois de rolar a pagina, o modelo soltava a altura da
      logo e ela crescia ate encostar nas bordas da barra.
   d) Celular: o banner da home tinha altura fixa e o texto,
      mais alto que isso, era cortado (titulo atras da barra
      e botoes cortados embaixo).
   e) Celular: no menu aberto, "Orcamento" (10o item) ficava
      escondido e so aparecia rolando a lista.
   ========================================================= */
@media (min-width: 992px) {
  /* "Sobre a MecenaSTD" aparece como "Sobre" (o link e a pagina nao mudam) */
  nav.header-base .header-desktop-menu .menu-principal > li > a[href*="sobre-a-mecenastd"] { font-size: 0 !important; }
  nav.header-base .header-desktop-menu .menu-principal > li > a[href*="sobre-a-mecenastd"]::after { content: "Sobre"; font-size: 12.5px !important; letter-spacing: -0.11px !important; }
}
@media (min-width: 992px) and (max-width: 1599px) {
  /* Facebook, Instagram e LinkedIn saem do topo (seguem no rodape); ficam o app e o WhatsApp */
  nav.header-base .header-desktop-menu .icones-sociais .itenSocial:has(> a.icone-facebook),
  nav.header-base .header-desktop-menu .icones-sociais .itenSocial:has(> a.icone-instagram),
  nav.header-base .header-desktop-menu .icones-sociais .itenSocial:has(> a.icone-linkedin) { display: none !important; }
}
@media (min-width: 992px) and (max-width: 1399px) {
  nav.header-base .header-desktop-menu .menu-principal > li > a[href*="sobre-a-mecenastd"]::after { font-size: 11px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  /* telas estreitas: o botao de traducao sai do topo */
  nav.header-base .header-desktop-menu .traducao { display: none !important; }
  nav.header-base .header-desktop-menu.col-md-9 { gap: 6px !important; }
}
@media (min-width: 992px) and (max-width: 1099px) {
  nav.header-base .header-desktop-menu .menu-principal { padding: 4px !important; gap: 0 !important; }
  nav.header-base .header-desktop-menu .menu-principal > li > a,
  nav.header-base .header-desktop-menu .menu-principal > li.menu-home > span { padding: 0 6px !important; font-size: 10.5px !important; }
  nav.header-base .header-desktop-menu .menu-principal > li > a[href*="sobre-a-mecenastd"] { font-size: 0 !important; }
  nav.header-base .header-desktop-menu .menu-principal > li > a[href*="sobre-a-mecenastd"]::after { font-size: 10.5px !important; }
}
/* c) Depois de rolar a pagina o modelo solta a altura da logo (max-height:100%)
      e ela crescia ate encostar nas bordas da barra. Mantem o tamanho do topo. */
@media (min-width: 992px) and (max-width: 1399px) {
  nav.header-base.desktop-cor-ativado .header-desktop-logo img.logo_desk { max-height: 50px !important; }
}
@media (min-width: 1400px) {
  nav.header-base.desktop-cor-ativado .header-desktop-logo img.logo_desk { max-height: 62px !important; }
}
@media (max-width: 991px) {
  nav.header-base > .header-mobile > div,
  nav.header-base.desktop-tamanho-ativado > .header-mobile > div { height: 66px !important; }
  nav.header-base .header-mobile-logo { padding-top: 0 !important; padding-bottom: 0 !important; }
  /* a logo mantem o mesmo tamanho depois de rolar (o modelo a deixava crescer ate encostar na borda) */
  nav.header-base.desktop-cor-ativado .header-mobile-logo img,
  nav.header-base.desktop-tamanho-ativado .header-mobile-logo img { max-height: 52px !important; }
}
/* d) Celular e tablet: o banner da pagina inicial tinha altura fixa (520/560px)
      e o texto, mais alto que isso, ficava centralizado e cortado: o titulo
      sumia atras da barra do topo e os botoes eram cortados embaixo.
      Agora o banner cresce conforme o texto e a imagem de fundo acompanha. */
@media (max-width: 991px) {
  header#layerHome.area-apresentacao { height: auto !important; max-height: none !important; }
  header#layerHome #carousel-main-website { position: absolute !important; inset: 0 !important; height: auto !important; min-height: 0 !important; max-height: none !important; }
  header#layerHome .carousel-inner,
  header#layerHome .carousel-item,
  header#layerHome .carousel-item > a,
  header#layerHome .img_slid,
  header#layerHome .slide-img,
  header#layerHome .carousel-item img { height: 100% !important; min-height: 0 !important; max-height: none !important; }
  header#layerHome .carousel-item > a { display: block !important; }
  header#layerHome .video-topo { position: relative !important; inset: auto !important; }
  header#layerHome .backgroundody { position: relative !important; height: auto !important; max-height: none !important; padding: 90px 18px 54px !important; }
}
@media (max-width: 576px) {
  header#layerHome .mstd-banner-native .mstd-banner-tag { margin-bottom: 14px !important; }
  header#layerHome .mstd-banner-native h1 { font-size: 2rem !important; margin-bottom: 14px !important; }
  header#layerHome .mstd-banner-native p { font-size: .97rem !important; line-height: 1.55 !important; letter-spacing: .2px !important; margin-bottom: 14px !important; }
  header#layerHome .mstd-banner-native .mstd-banner-mini { margin-bottom: 18px !important; }
  header#layerHome .mstd-banner-native .mstd-banner-actions { gap: 10px !important; }
  header#layerHome .mstd-banner-native .mstd-banner-actions a { min-height: 46px !important; }
}
/* e) Menu aberto no celular: os 10 itens cabem sem rolar (antes "Orcamento" ficava escondido) */
@media (max-width: 991px) {
  .fundoMenuMobile .menu-principal.menuPrincipalMobile .nav-link { line-height: 30px !important; }
}



/* =========================================================
   51. TOPO FIXO AO ROLAR NO COMPUTADOR - v9.0
   O topo ja era "sticky", mas a regra antiga
   html, body { overflow-x: hidden } (desde a v8.1) impedia que
   ele acompanhasse a rolagem: em paginas longas o menu e o botao
   Orcamento sumiam. "clip" corta o que passa da largura do mesmo
   jeito, sem travar o topo. No celular nada muda (la o topo ja
   e fixo). Navegador antigo que nao conhece "clip" ignora esta
   regra e continua como estava.
   ========================================================= */
@media (min-width: 992px) {
  html, body { overflow-x: clip !important; }
  /* links com ancora (#perguntas-frequentes etc.) param abaixo do topo */
  html { scroll-padding-top: 92px; }
}

/* =========================================================
   52. CAPAS INTEIRAS NAS LISTAGENS E NO CARROSSEL - v9.1
   A secao 9 dava 180px de altura ao quadro da imagem dos
   cartoes; como as capas sao 8:5 (1200x750), o quadro cortava
   o topo e a base no computador e as laterais em telas medias.
   Agora o quadro acompanha a proporcao da capa. A sombra sobre
   a base da imagem ficou mais curta e mais leve, para nao
   escurecer o rodape das artes. Para voltar: apague esta secao.
   ========================================================= */
.swiper-slide .img-fluid, .col-listagem .img-fluid {
  height: auto !important;
  aspect-ratio: 8 / 5 !important;
}
.swiper-slide .img-fluid::after, .col-listagem .img-fluid::after {
  height: 32% !important;
  background: linear-gradient(180deg, transparent, rgba(6,11,22,.14)) !important;
}

/* =========================================================
   53. HOME: SERVICOS POR AREA (DIRETORIO) - v9.2
   A home ganhou o bloco "Encontre o servico pela sua area"
   (.mstd-dir, no conteudo editavel "Diferenciais"): os servicos
   aparecem todos de uma vez, em tres areas, cada um com dois
   caminhos (pagina do servico completo e Analise Digital no app).
   1. O carrossel por publico sai da tela (continua no HTML).
      Para voltar com o carrossel: apague o item 1 desta secao.
   2. Estilo do diretorio.
   3. No celular e no tablet, cada area abre e fecha ao toque.
   ========================================================= */
/* 1. Carrossel fora da tela e espacos ajustados */
body #containerEditavel-154441 .mstd-hc-barra,
body #containerEditavel-154441 .swiper,
body #containerEditavel-154441 .arrow-swiper { display: none !important; }
body #containerEditavel-154441 { padding-bottom: 0 !important; }
body #containerEditavel-154441 .mstd-home-caminhos { margin-bottom: 0 !important; }
body #containerEditavel-154443 { padding-top: 46px !important; }

/* 2. Diretorio */
.mstd-dir { margin: 0 0 46px !important; scroll-margin-top: 110px !important; }
.mstd-dir .mstd-section-head { margin-bottom: 24px !important; }
.mstd-dir .mstd-subtitle strong { color: var(--m-ink) !important; }
.mstd-dir-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; align-items: start !important; }
.mstd-dir-col { background: #ffffff !important; border: 1px solid var(--m-line) !important; border-radius: var(--m-radius) !important; box-shadow: var(--m-shadow-s) !important; overflow: hidden !important; }
.mstd-dir-cab { display: flex !important; align-items: center !important; gap: 14px !important; padding: 18px 20px !important; background: linear-gradient(140deg, #0b1e45 0%, #12306f 55%, #1a47b8 100%) !important; }
.mstd-dir-cab-txt { min-width: 0 !important; }
.mstd-dir-cab h3 { margin: 0 0 2px !important; font: 800 1.08rem/1.2 var(--m-font-display) !important; letter-spacing: -.02em !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.mstd-dir-sub { display: block !important; font-size: .82rem !important; line-height: 1.35 !important; color: #c9d8ff !important; }
.mstd-dir-ico { flex: 0 0 44px !important; width: 44px !important; height: 44px !important; border-radius: 14px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 1.2rem !important; background: rgba(255, 255, 255, .14) !important; border: 1px solid rgba(255, 255, 255, .22) !important; color: #ffffff !important; }
ul.mstd-dir-lista { list-style: none !important; margin: 0 !important; padding: 4px 0 !important; }
ul.mstd-dir-lista li { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 3px !important; margin: 0 !important; padding: 13px 20px !important; border-top: 1px solid #edf1f9 !important; list-style: none !important; }
ul.mstd-dir-lista li:first-child { border-top: 0 !important; }
ul.mstd-dir-lista li::before, ul.mstd-dir-lista li::marker { content: none !important; display: none !important; }
a.mstd-dir-serv { font: 700 .98rem/1.3 var(--m-font-display) !important; letter-spacing: -.01em !important; color: var(--m-ink) !important; text-decoration: none !important; }
a.mstd-dir-serv::after { content: " \203A" !important; color: var(--m-blue) !important; font-weight: 800 !important; }
a.mstd-dir-serv:hover { color: var(--m-blue) !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.mstd-dir-desc { display: block !important; font-size: .85rem !important; line-height: 1.45 !important; color: var(--m-text-soft) !important; }
a.mstd-dir-app { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-top: 5px !important; padding: 4px 12px !important; border-radius: 999px !important; background: #eef4ff !important; border: 1px solid var(--m-line) !important; color: var(--m-blue) !important; font: 700 .78rem/1.4 var(--m-font-display) !important; text-decoration: none !important; transition: background-color .2s ease, color .2s ease !important; }
a.mstd-dir-app:hover { background: var(--m-blue) !important; color: #ffffff !important; border-color: var(--m-blue) !important; }
a.mstd-dir-serv:focus-visible, a.mstd-dir-app:focus-visible { outline: 3px solid #ffd166 !important; outline-offset: 2px !important; }
.mstd-dir-extra { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; margin-top: 18px !important; }
.mstd-dir-mini { display: flex !important; align-items: flex-start !important; gap: 14px !important; padding: 18px 20px !important; background: #f5f8ff !important; border: 1px dashed rgba(1, 72, 255, .3) !important; border-radius: 20px !important; }
.mstd-dir-mini .mstd-dir-ico { background: #ffffff !important; border-color: var(--m-line) !important; color: var(--m-blue) !important; }
.mstd-dir-mini-txt { display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 0 !important; }
.mstd-dir-mini-txt strong { font: 800 1rem/1.25 var(--m-font-display) !important; color: var(--m-ink) !important; }
.mstd-dir-mini-txt > span { font-size: .88rem !important; line-height: 1.5 !important; color: var(--m-text) !important; }
.mstd-dir-mini-links { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 6px 14px !important; margin-top: 4px !important; }
.mstd-dir-mini-links a.mstd-dir-app { margin-top: 0 !important; }
@media (max-width: 991px) {
  .mstd-dir-grid, .mstd-dir-extra { grid-template-columns: 1fr !important; gap: 14px !important; }
  .mstd-dir { margin-bottom: 34px !important; }
  body #containerEditavel-154443 { padding-top: 34px !important; }
}
/* 3. Celular e tablet: cada area abre e fecha ao toque (bloco MSTD 34 do JavaScript).
      Sem o JavaScript, as tres listas ficam abertas. */
@media (max-width: 991px) {
  .mstd-dir.mstd-dir-js .mstd-dir-grid::before { content: "Toque em uma \E1rea para ver os servi\E7os." !important; display: block !important; text-align: center !important; font-size: .88rem !important; color: var(--m-text-soft) !important; }
  .mstd-dir.mstd-dir-js .mstd-dir-cab { position: relative !important; cursor: pointer !important; padding-right: 58px !important; }
  .mstd-dir.mstd-dir-js .mstd-dir-cab::after { content: "+" !important; position: absolute !important; right: 16px !important; top: 50% !important; transform: translateY(-50%) !important; width: 30px !important; height: 30px !important; border-radius: 50% !important; background: rgba(255, 255, 255, .16) !important; border: 1px solid rgba(255, 255, 255, .28) !important; color: #ffffff !important; font: 800 1.15rem/28px var(--m-font-display) !important; text-align: center !important; }
  .mstd-dir.mstd-dir-js .mstd-dir-col.aberto .mstd-dir-cab::after { content: "\2212" !important; }
  .mstd-dir.mstd-dir-js .mstd-dir-col:not(.aberto) ul.mstd-dir-lista { display: none !important; }
  .mstd-dir.mstd-dir-js .mstd-dir-cab:focus-visible { outline: 3px solid #ffd166 !important; outline-offset: -3px !important; }
}
@media (max-width: 575px) {
  .mstd-dir-cab { padding: 15px 16px !important; }
  ul.mstd-dir-lista li { padding: 12px 16px !important; }
  .mstd-dir-mini { padding: 16px !important; }
}

/* =========================================================
   54. v9.5 - MENU DO TOPO COM LISTAS PADRONIZADAS, LISTAGEM /servicos AGRUPADA E HOME MAIS CURTA
   Par do JS v10.0 (MSTD 35 e MSTD_SERV). Todos os itens do menu abrem o mesmo painel:
   colunas com titulo e links, e um botao no fim. Volta: apagar esta secao (e colar o JS v9.8).
   ========================================================= */

/* 54.1 Home: a secao do carrossel antigo sai inteira (o diretorio por area fica no conteiner seguinte) */
body #containerEditavel-154441 { display: none !important; }

/* 54.2 Sobre, Limites e Orientacoes saem do primeiro nivel e ficam dentro de "Como funciona" */
.menu-principal > li.mstd-mm-fora { display: none !important; }

/* 54.3 Botoes que abrem lista. A plataforma poe display:flex e altura fixa nos blocos dentro do
   cabecalho (folha de outro dominio): por isso display e height levam !important aqui. */
.menu-principal > li > a.mstd-mm-tog { cursor: pointer !important; -webkit-user-select: none; user-select: none; }
.menu-principal > li > a.mstd-mm-tog > .bi-chevron-down { font-size: .72em !important; transition: transform .2s ease !important; }
.menu-principal > li.mstd-mm-aberto > a.mstd-mm-tog > .bi-chevron-down { transform: rotate(180deg) !important; }
.mstd-mm-painel { display: none !important; box-sizing: border-box !important; text-align: left; }
.mstd-mm-painel.mstd-mm-on { display: block !important; }
.mstd-mm-painel a { text-decoration: none !important; }
.mstd-mm-painel .mstd-mm-grade, .mstd-mm-painel .mstd-mm-col { box-sizing: border-box !important; height: auto !important; min-height: 0 !important; max-height: none !important; width: auto !important; float: none !important; }
.mstd-mm-painel .mstd-mm-area, .mstd-mm-painel a.mstd-mm-todos { font-family: var(--m-font-display) !important; }
.mstd-mm-painel a.mstd-mm-link { display: block !important; height: auto !important; }
/* v9.5: com a pagina rolada, o cabecalho ganha a classe desktop-tamanho-ativado e a plataforma fixa a altura dos blocos
   internos em 70px; isso cortava a lista e criava barra de rolagem. Seletor mais forte para a lista aparecer inteira. */
nav.header-base > .mstd-mm-painel.mstd-mm-on > .mstd-mm-grade,
nav.header-base > .mstd-mm-painel.mstd-mm-on > .mstd-mm-grade > .mstd-mm-col,
.menu-principal > li > .mstd-mm-painel.mstd-mm-on > .mstd-mm-grade,
.menu-principal > li > .mstd-mm-painel.mstd-mm-on > .mstd-mm-grade > .mstd-mm-col { height: auto !important; min-height: 0 !important; max-height: none !important; }

/* 54.4 Computador: painel preso ao cabecalho, centralizado, com a largura conforme o numero de colunas */
@media (min-width: 992px) {
  .header-desktop-menu .menu-principal > li.mstd-mm-aberto > a.mstd-mm-tog {
    background: rgba(255, 255, 255, .20) !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .30) !important;
  }
  nav.header-base > .mstd-mm-painel {
    position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
    width: min(1120px, calc(100vw - 32px)); height: auto !important; min-height: 0 !important;
    max-height: calc(100vh - var(--m-header-h) - 28px); overflow: auto;
    padding: 22px 24px 16px; border-radius: 24px; background: #ffffff;
    border: 1px solid rgba(1, 72, 255, .14); box-shadow: 0 28px 60px rgba(9, 22, 51, .20); z-index: 10000;
  }
  nav.header-base > .mstd-mm-n3 { width: min(900px, calc(100vw - 32px)); }
  nav.header-base > .mstd-mm-n2 { width: min(640px, calc(100vw - 32px)); }
  nav.header-base > .mstd-mm-painel .mstd-mm-grade { display: grid !important; align-items: start !important; gap: 6px 26px; grid-template-columns: 1fr 1fr 1.1fr .8fr; }
  nav.header-base > .mstd-mm-n3 .mstd-mm-grade { grid-template-columns: repeat(3, 1fr); }
  nav.header-base > .mstd-mm-n2 .mstd-mm-grade { grid-template-columns: repeat(2, 1fr); }
  nav.header-base > .mstd-mm-painel .mstd-mm-col { display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; min-width: 0; }
  .mstd-mm-area {
    display: flex !important; align-items: center; gap: 9px; margin: 0 0 8px; padding: 0 0 9px;
    border-bottom: 2px solid rgba(1, 72, 255, .14);
    font-size: 14px; font-weight: 800; line-height: 1.2; color: #0b1e45 !important; white-space: normal;
  }
  .mstd-mm-area i { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 10px; background: #eef3ff; color: var(--m-blue); display: inline-flex; align-items: center; justify-content: center; font-size: 15px; }
  a.mstd-mm-area:hover { color: var(--m-blue) !important; }
  a.mstd-mm-link {
    padding: 7px 10px; margin: 0 -10px; border-radius: 10px;
    font-size: 13.5px; font-weight: 500; line-height: 1.3; color: #24334d !important; white-space: normal;
  }
  a.mstd-mm-link:hover, a.mstd-mm-link:focus-visible { background: #f1f5ff; color: var(--m-blue) !important; }
  a.mstd-mm-todos {
    display: inline-flex !important; align-items: center; gap: 8px; margin-top: 12px; padding: 9px 16px; border-radius: 999px;
    background: #eef3ff; color: var(--m-blue) !important; font-size: 13px; font-weight: 700;
  }
  a.mstd-mm-todos:hover { background: var(--m-blue); color: #ffffff !important; }
  /* Orcamento continua sendo a pilula branca de destaque, agora como botao de lista */
  .header-desktop-menu .menu-principal > li > a.mstd-mm-orc,
  .header-desktop-menu .menu-principal > li.mstd-mm-aberto > a.mstd-mm-orc {
    background: linear-gradient(180deg, #ffffff 0%, #eaf1ff 100%) !important;
    color: #0148ff !important; -webkit-text-fill-color: #0148ff !important;
    font-weight: 800 !important; text-shadow: none !important; border: 0 !important; padding: 0 16px !important;
    box-shadow: 0 6px 16px rgba(6, 18, 44, .28), inset 0 -1px 0 rgba(1, 72, 255, .12) !important;
  }
  .header-desktop-menu .menu-principal > li > a.mstd-mm-orc i { color: #0148ff !important; }
  .header-desktop-menu .menu-principal > li > a.mstd-mm-orc:hover { background: #ffffff !important; transform: translateY(-1px) !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  nav.header-base > .mstd-mm-n4 .mstd-mm-grade { grid-template-columns: 1fr 1fr 1fr; }
  nav.header-base > .mstd-mm-n4 .mstd-mm-grade > .mstd-mm-col:last-child { grid-column: 1 / -1; flex-direction: row !important; flex-wrap: wrap; gap: 0 22px; align-items: center !important; }
  nav.header-base > .mstd-mm-n4 .mstd-mm-grade > .mstd-mm-col:last-child .mstd-mm-area { margin: 8px 0 0; padding: 0; border: 0; }
  nav.header-base > .mstd-mm-n4 .mstd-mm-grade > .mstd-mm-col:last-child a.mstd-mm-link { margin: 8px 0 0; }
}
/* cabecalho com 7 itens: sobra espaco para a letra normal nas telas de 992 a 1099 px */
@media (min-width: 992px) and (max-width: 1099px) {
  nav.header-base .header-desktop-menu .menu-principal > li > a { padding: 0 8px !important; font-size: 11px !important; }
}

/* 54.5 Celular e tablet: a lista abre dentro do menu, uma coluna embaixo da outra */
@media (max-width: 991px) {
  .menu-principal.menuPrincipalMobile > li > a.mstd-mm-tog > .bi-chevron-down { margin-left: 6px !important; }
  .menu-principal.menuPrincipalMobile > li > .mstd-mm-painel {
    margin: 2px 16px 12px; padding: 6px 16px 14px; border-radius: 18px;
    background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); height: auto !important;
  }
  .menuPrincipalMobile .mstd-mm-grade, .menuPrincipalMobile .mstd-mm-col { display: block !important; }
  .menuPrincipalMobile .mstd-mm-area {
    display: flex !important; align-items: center; gap: 9px; margin: 12px 0 2px; padding: 0 0 8px; border-bottom: 1px solid rgba(255, 255, 255, .16);
    font-size: 14px; font-weight: 800; line-height: 1.25; letter-spacing: 0; text-transform: none; color: #9fc0ff !important;
  }
  .menuPrincipalMobile .mstd-mm-area i { font-size: 16px; }
  .menuPrincipalMobile a.mstd-mm-link {
    padding: 10px 0; font-size: 15px; font-weight: 500; line-height: 1.3;
    letter-spacing: 0; text-transform: none; color: #ffffff !important; border-bottom: 1px solid rgba(255, 255, 255, .06); overflow-wrap: anywhere;
  }
  .menuPrincipalMobile .mstd-mm-col a.mstd-mm-link:last-child { border-bottom: 0; }
  .menuPrincipalMobile a.mstd-mm-todos {
    display: inline-flex !important; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 16px; border-radius: 999px;
    background: #ffffff; color: #0b1e45 !important; font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none;
  }
  /* com uma lista aberta, o menu usa a tela toda (as redes sociais voltam ao fechar a lista) */
  .fundoMenuMobile:has(li.mstd-mm-aberto) { grid-template-rows: 13vh 87vh 0 !important; }
  .fundoMenuMobile:has(li.mstd-mm-aberto) .redesSociaisMenu { display: none !important; }
}

/* 54.6 Listagem /servicos agrupada por area */
.mstd-lst-nav { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; margin: 4px 0 0 !important; }
.mstd-lst-nav a {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: #eef3ff;
  border: 1px solid rgba(1, 72, 255, .14); color: #0b1e45 !important; font-family: var(--m-font-display); font-size: 14px; font-weight: 700; text-decoration: none !important;
}
.mstd-lst-nav a i { color: var(--m-blue); }
.mstd-lst-nav a:hover { background: var(--m-blue); color: #ffffff !important; }
.mstd-lst-nav a:hover i { color: #ffffff; }
.mstd-lst-area {
  display: flex !important; align-items: baseline !important; flex-wrap: wrap !important; gap: 4px 14px !important;
  margin: 40px 0 18px !important; padding-bottom: 12px !important; border-bottom: 2px solid rgba(1, 72, 255, .14) !important; scroll-margin-top: 96px;
}
.mstd-lst-area h2 {
  margin: 0 !important; font-family: var(--m-font-display) !important; font-size: clamp(1.3rem, 2.4vw, 1.75rem) !important; font-weight: 800 !important;
  letter-spacing: -.02em !important; color: #0b1e45 !important; -webkit-text-fill-color: #0b1e45 !important;
}
.mstd-lst-area h2 i { color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important; margin-right: 6px; }
.mstd-lst-area span { color: #5b6780; font-size: .92rem; font-weight: 600; }

/* 54.7 Menu do celular aberto: os botoes flutuantes saem da frente da lista */
body:has(.fundoMenuMobile.openItensMenu) .mstd-app-fab,
body:has(.fundoMenuMobile.openItensMenu) .mstd-app-balao,
body:has(.fundoMenuMobile.openItensMenu) #mstd-whatsapp-fixo.mstd-whatsapp-fixo { display: none !important; }

/* =========================================================
   55. LISTAGENS /servicos E /blog--conteudos EM SANFONA (v9.6)
   Par do bloco MSTD 35 do JavaScript v10.9. Tudo comeca fechado:
   a barra da area abre a lista de nomes; cada nome abre a capa,
   o resumo e o botao. Para voltar aos cartoes abertos, apague
   esta secao e volte o JavaScript para a v10.8.
   ========================================================= */
/* 55.1 Barra da area */
.mstd-lst-area {
  flex: 0 0 calc(100% - 46px) !important; max-width: calc(100% - 46px) !important;
  align-items: center !important; justify-content: space-between !important; flex-wrap: nowrap !important; gap: 14px !important;
  margin: 14px 23px 0 !important; padding: 18px 22px !important;
  border: 1px solid rgba(1, 72, 255, .16) !important; border-radius: 18px !important;
  background: #ffffff !important; box-shadow: 0 8px 22px rgba(1, 72, 255, .07) !important;
  cursor: pointer; user-select: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.mstd-lst-area:hover, .mstd-lst-area:focus-visible { border-color: rgba(1, 72, 255, .42) !important; box-shadow: 0 12px 28px rgba(1, 72, 255, .13) !important; outline: 0; }
.mstd-lst-area.mstd-on { background: #f3f7ff !important; border-color: rgba(1, 72, 255, .42) !important; }
.mstd-lst-area h2 { font-size: clamp(1.08rem, 2vw, 1.36rem) !important; line-height: 1.25 !important; }
.mstd-lst-area span { display: inline-flex !important; align-items: center !important; gap: 12px !important; white-space: nowrap !important; flex: 0 0 auto !important; }
.mstd-lst-area span i, .col-listagem.mstd-lst-it .card-title::after {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important;
  width: 34px !important; height: 34px !important; border-radius: 50% !important;
  background: #eaf1ff !important; color: var(--m-blue) !important; -webkit-text-fill-color: var(--m-blue) !important;
  font-size: 15px !important; transition: transform .25s ease, background .2s ease, color .2s ease !important;
}
.mstd-lst-area.mstd-on span i {
  transform: rotate(180deg) !important; background: var(--m-blue) !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
/* 55.2 Itens: escondidos ate a area abrir; depois, uma linha por servico ou conteudo */
.col-listagem.mstd-lst-it { display: none !important; flex: 0 0 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 23px 0 39px !important; }
.col-listagem.mstd-lst-it.mstd-v { display: block !important; }
.col-listagem.mstd-lst-it .card {
  height: auto !important; margin: 8px 0 0 !important; border-radius: 14px !important; box-shadow: none !important;
  border: 1px solid rgba(1, 72, 255, .13) !important; transform: none !important;
}
.col-listagem.mstd-lst-it .card:hover { transform: none !important; border-color: rgba(1, 72, 255, .38) !important; box-shadow: 0 8px 20px rgba(1, 72, 255, .10) !important; }
.col-listagem.mstd-lst-it .img-fluid, .col-listagem.mstd-lst-it .card-text, .col-listagem.mstd-lst-it .btn-card { display: none !important; }
.col-listagem.mstd-lst-it .card-body { padding: 0 !important; }
.col-listagem.mstd-lst-it .card-title {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important;
  margin: 0 !important; padding: 12px 14px 12px 18px !important; min-height: 0 !important; max-height: none !important; overflow: visible !important;
  -webkit-line-clamp: unset !important; line-clamp: unset !important;
  font-size: 1rem !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: -.01em !important;
}
.col-listagem.mstd-lst-it .card-title:focus-visible { outline: 2px solid var(--m-blue); outline-offset: -2px; border-radius: 12px; }
.col-listagem.mstd-lst-it .card-title::after { content: "\F282" !important; font-family: "bootstrap-icons" !important; font-weight: 400 !important; width: 30px !important; height: 30px !important; font-size: 13px !important; }
.col-listagem.mstd-lst-it.mstd-on .card-title::after { transform: rotate(180deg) !important; background: var(--m-blue) !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
/* 55.3 Item aberto: capa a esquerda, resumo e botao a direita */
.col-listagem.mstd-lst-it.mstd-on .card {
  display: grid !important; grid-template-columns: minmax(0, 300px) minmax(0, 1fr) !important;
  grid-template-areas: "t t" "i x" "i b" !important; column-gap: 22px !important; padding: 0 18px 18px 0 !important;
  border-color: rgba(1, 72, 255, .38) !important; background: #fbfcff !important;
}
.col-listagem.mstd-lst-it.mstd-on .card-body { display: contents !important; }
.col-listagem.mstd-lst-it.mstd-on .card-title { grid-area: t !important; padding-right: 0 !important; }
.col-listagem.mstd-lst-it.mstd-on .img-fluid { display: block !important; grid-area: i !important; align-self: start !important; margin: 4px 0 0 18px !important; border-radius: 12px !important; }
.col-listagem.mstd-lst-it.mstd-on .card-text {
  display: block !important; grid-area: x !important; margin: 4px 0 14px !important;
  min-height: 0 !important; max-height: none !important; overflow: visible !important; -webkit-line-clamp: unset !important; line-clamp: unset !important;
}
.col-listagem.mstd-lst-it.mstd-on .btn-card { display: inline-flex !important; grid-area: b !important; justify-self: start !important; align-self: start !important; margin: 0 !important; }
/* 55.4 A linha "Exibindo de 1 a N resultados" vira a orientacao de uso; folga antes do rodape */
.row:has(> .mstd-lst-area) { padding-bottom: 44px !important; }
.row:has(> .mstd-lst-area) > .exibicao-resultados, .row:has(> .mstd-lst-area) > .exibicao-resultados * { font-size: 0 !important; line-height: 0 !important; }
.row:has(> .mstd-lst-area) > .exibicao-resultados::after {
  content: "Escolha uma \E1 rea para abrir a lista. Depois, toque no nome para ver o resumo.";
  display: block; margin: 0 8px; color: #5b6780; font-size: .95rem !important; line-height: 1.5 !important;
}
@media (max-width: 767px) {
  .mstd-lst-area { flex: 0 0 calc(100% - 30px) !important; max-width: calc(100% - 30px) !important; margin: 12px 15px 0 !important; padding: 15px 16px !important; }
  .mstd-lst-area span { font-size: .82rem !important; gap: 8px !important; }
  .col-listagem.mstd-lst-it { padding: 0 15px 0 23px !important; }
  .col-listagem.mstd-lst-it .card-title { font-size: .95rem !important; padding: 11px 12px 11px 14px !important; }
  .col-listagem.mstd-lst-it.mstd-on .card { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "t" "i" "x" "b" !important; padding: 0 14px 16px !important; }
  .col-listagem.mstd-lst-it.mstd-on .card-title { padding-left: 0 !important; }
  .col-listagem.mstd-lst-it.mstd-on .img-fluid { margin: 2px 0 12px !important; }
}

/* =========================================================
   56. LISTAS EM ORDEM ALFABETICA E NUMERADAS (v9.7)
   Par do JavaScript v10.10, que ordena os nomes e escreve o
   numero em <b> na frente de cada servico ou conteudo: nos
   menus do topo, nas listagens e no diretorio da pagina inicial.
   ========================================================= */
/* 56.1 Menus do topo: numero em coluna propria, nome alinhado quando quebra a linha */
.mstd-mm-painel a.mstd-mm-link:has(> b) { display: flex !important; align-items: baseline !important; gap: 5px !important; }
.mstd-mm-painel a.mstd-mm-link > b { flex: 0 0 auto; min-width: 1.75em; color: var(--m-blue); font-weight: 800; font-variant-numeric: tabular-nums; }
.menuPrincipalMobile a.mstd-mm-link > b { color: #9fc0ff; }
/* 56.2 Listagens /servicos e /blog--conteudos: numero, nome e seta */
.col-listagem.mstd-lst-it .card-title { justify-content: flex-start !important; gap: 8px !important; }
.col-listagem.mstd-lst-it .card-title > b { flex: 0 0 auto; min-width: 1.9em; color: var(--m-blue); -webkit-text-fill-color: var(--m-blue); font-weight: 800; font-variant-numeric: tabular-nums; }
.col-listagem.mstd-lst-it .card-title::after { margin-left: auto !important; }
/* 56.3 Diretorio da pagina inicial: o numero vem da posicao da linha em cada area (nao precisa digitar) */
ul.mstd-dir-lista { counter-reset: mstd-n !important; }
a.mstd-dir-serv::before { counter-increment: mstd-n; content: counter(mstd-n) ". "; color: var(--m-blue); font-weight: 800; }

/* =========================================================
   57. ATALHO DA LISTA NO ALTO DO PAINEL DO MENU (v9.9)
   Par do JavaScript v10.21, que escreve o link "mstd-mm-todos"
   ANTES das colunas. As regras so valem quando o link e o
   primeiro item do painel: com o JavaScript antigo (link no
   fim) nada muda. Volta: apagar esta secao.
   ========================================================= */
@media (min-width: 992px) {
  .mstd-mm-painel > a.mstd-mm-todos:first-child { margin: 0 0 12px; padding: 5px 12px; gap: 6px; font-size: 12px; line-height: 1.3; }
}
@media (max-width: 991px) {
  .menuPrincipalMobile .mstd-mm-painel > a.mstd-mm-todos:first-child { margin: 10px 0 4px; padding: 6px 12px; gap: 6px; font-size: 12.5px; line-height: 1.3; }
}

/* =========================================================
   58. BOTAO DO MENU NO CELULAR: TRACOS E X VISIVEIS (v9.10)
   Os tres tracos do botao e o X de fechar sao <span> vazios e
   sem classe. A regra da secao de limpeza que esconde span
   vazio dentro de [class*="mstd-"] tambem os alcancava quando
   o <body> recebia uma classe mstd- (paginas internas), e o
   botao ficava invisivel. Volta: apagar esta secao.
   ========================================================= */
body .borderMenuMobile .iconMenuTransform span:empty { display: block !important; }

/* =========================================================
   59. PINTEREST, TIKTOK E YOUTUBE NAS REDES (v9.12, par do JavaScript v10.24)
   Os tres icones sao criados pelo JavaScript em todos os grupos
   de redes. Entre 992 e 1599 px eles saem do topo, junto com
   Facebook, Instagram e LinkedIn (secao 50), para o menu nao
   apertar. Volta: apagar esta secao e voltar o JavaScript v10.22.
   ========================================================= */
@media (min-width: 992px) and (max-width: 1599px) {
  nav.header-base .header-desktop-menu .icones-sociais .itenSocial:has(> a.icone-pinterest),
  nav.header-base .header-desktop-menu .icones-sociais .itenSocial:has(> a.icone-tiktok),
  nav.header-base .header-desktop-menu .icones-sociais .itenSocial:has(> a.icone-youtube) { display: none !important; }
}

/* 59.1 Com 7 icones no rodape e 8 no menu do celular, a fila nao cabia em
   algumas larguras (coluna estreita do rodape e telas de celular pequenas).
   Aqui os icones encolhem um pouco ou passam para a segunda linha. */
#footer .social-icon-footer .redeSocial { flex-wrap: wrap !important; row-gap: 8px !important; }
@media (min-width: 1200px) {
  #footer .social-icon-footer .redeSocial { column-gap: 5px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #footer .social-icon-footer .redeSocial { column-gap: 5px !important; }
  #footer .social-icon-footer .itenSocial,
  #footer .social-icon-footer .itenSocial a { max-width: 36px !important; max-height: 36px !important; }
}
@media (max-width: 991px) {
  /* o painel do menu do celular tem no maximo 360 px de largura */
  .redesSociaisMenu .redeSocial { gap: 4px !important; }
  .redesSociaisMenu .itenSocial,
  .redesSociaisMenu .itenSocial a { max-width: 34px !important; max-height: 34px !important; }
}
@media (max-width: 420px) {
  #footer .social-icon-footer .redeSocial { column-gap: 5px !important; }
  #footer .social-icon-footer .itenSocial,
  #footer .social-icon-footer .itenSocial a { max-width: 38px !important; max-height: 38px !important; }
}
@media (max-width: 350px) {
  #footer .social-icon-footer .redeSocial { column-gap: 4px !important; }
  #footer .social-icon-footer .itenSocial,
  #footer .social-icon-footer .itenSocial a { max-width: 34px !important; max-height: 34px !important; }
  .redesSociaisMenu .redeSocial { gap: 3px !important; }
  .redesSociaisMenu .itenSocial,
  .redesSociaisMenu .itenSocial a { max-width: 28px !important; max-height: 28px !important; }
}

/* v9.13 Secao 60 (09/10/2026): ordem didatica da pagina inicial (JS MSTD 36). Espaco entre o simulador, a consulta de licitacoes e os diferenciais. */
.mstd-ordem-2 .mstd-wrap { display: flex; flex-direction: column; gap: 28px; }

/* v9.14 Secao 61 (09/10/2026): guia rapido das paginas de servico (JS MSTD 37): 5 passos numerados no alto do conteudo. */
.mstd-guia { margin: 0 0 28px; padding: 16px 18px; border-radius: 20px; background: #fff; border: 1px solid rgba(1, 72, 255, .16); box-shadow: 0 16px 36px -26px rgba(4, 26, 79, .45); }
.mstd-guia-tit { margin: 0 0 10px !important; font-weight: 800; font-size: .78rem !important; letter-spacing: .08em; text-transform: uppercase; color: #0148fd !important; }
.mstd-guia ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.mstd-guia li { margin: 0 !important; padding: 0 !important; }
.mstd-guia li::before { display: none !important; }
.mstd-guia a { display: flex; align-items: center; gap: 8px; height: 100%; padding: 10px 12px; border-radius: 14px; background: #f2f7ff; color: #0a0f1c !important; text-decoration: none !important; font-weight: 700; font-size: .88rem; line-height: 1.3; border: 1px solid transparent; transition: border-color .2s, background .2s; }
.mstd-guia a:hover { border-color: rgba(1, 72, 255, .35); background: #eaf1ff; }
.mstd-guia a b { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: #0148fd; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .78rem; }
.mstd-guia a i { color: #0148fd; }
.mstd-guia .mstd-guia-cta a { background: linear-gradient(135deg, #0148ff 0%, #3d7dff 100%); color: #fff !important; }
.mstd-guia .mstd-guia-cta a b { background: #fff; color: #0148fd; }
.mstd-guia .mstd-guia-cta a i { color: #fff; }
@media (max-width: 991px) { .mstd-guia ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mstd-guia .mstd-guia-cta { grid-column: 1 / -1; } }
@media (max-width: 420px) { .mstd-guia ol { grid-template-columns: 1fr; } }

/* FIM DO CSS GLOBAL v9.14 */ @media (max-width: 768px){.container_informativo_index_corpo .btn + .btn {
margin-top: 10px;
}}