/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
/*------------------------------------------------------------------------------------------RESPONSIVO*/
/*--------------------------------------------------MOBILES*/
@media only all and (max-width: 47.99rem) {
  .g-logo {
    display: block;
    text-align: center;
    margin: -0.85rem 0;
    padding-left: 1.95rem;
  }
}
@media (max-width: 767px) {
  /* Remove a barrinha vertical do desktop */
  /* Garante que o conteúdo do site apareça imediatamente no mobile */
  #g-mainbar {
    margin-top: 0rem;
  }
  .espacopost {
    margin-top: 0rem;
  }
  .padding-menor {
    padding: 0.5rem;
  }
  .padding-geral {
    padding: 2rem;
  }
  .padding-tit {
    padding-left: 1rem !important;
    max-width: 330px;
    padding-top: 1rem;
  }
  .nav-cat {
    flex-direction: column;
    /* Empilha os itens */
    gap: 12px;
    align-items: flex-start;
    /* Alinha os itens à esquerda */
    padding-left: 20px;
    /* Espaço para as bolinhas não colarem na borda */
  }
  .nav-cat .nav-item {
    width: 100%;
    display: list-item;
    /* Reativa o comportamento de lista */
    list-style-type: circle !important;
    /* Adiciona o círculo */
    list-style-position: inside;
    /* Mantém a bolinha alinhada com o texto */
    color: #ff0084;
    /* Cor da bolinha (opcional, seguindo o rosa) */
    border-bottom: 1px solid #EBEBEB;
    padding: 5px 0px;
  }
  .nav-cat .nav-item:not(:last-child)::after {
    display: none !important;
  }
  ul.nav-cat {
    padding-left: 25px !important;
    /* Ajuste o valor conforme o 'olhômetro' */
    margin-left: 0 !important;
    /* Garante que a margem não está conflitando */
    display: block;
    /* Se estiver como flex, o block ajuda a margem a obedecer */
  }
  #splash-screen {
    display: none !important;
  }
  body {
    overflow: auto !important;
  }
}
#g-mainbar {
  background: #ffffff;
  color: #424753;
  padding: 0rem 0;
  margin-top: -2rem;
}
.espacopost {
  margin-top: 3rem;
}
/*--------------------------------------------------TELAS GRANDES*/
/*------------------------------------------------------------------------------------------HEADER*/
.g-main-nav .g-toplevel > li > .g-menu-item-container {
  font-weight: 300;
}
.logo-header {
  margin: 1rem 0px !important;
}
/* Container das colunas */
.bg-image {
  background-color: #F4F2ED;
  background-image: url('../images/header/bg1.png?69cc510f');
  background-repeat: no-repeat;
  background-position: center left;
  /* Ou 'right bottom' como queríamos antes */
  background-size: contain;
  /* 'cover' preenche tudo, 'contain' mostra a imagem inteira */
  display: block;
  width: 100%;
  min-height: 500px;
  position: relative;
  z-index: 1;
}
.bg-image .padding-geral {
  padding: 5rem;
}
/* Garante que o conteúdo interno (H1 e Feat) apareça por cima do fundo */
.h1principal, .feat1 {
  position: relative;
  z-index: 10;
}
.wp-block-columns.is-not-stacked-on-mobile {
  align-items: center;
  overflow: visible;
  /* Garante que o texto não seja cortado */
}
/* Coluna do Título */
.h1principal {
  position: relative;
  z-index: 10;
  pointer-events: none;
  /* Evita que o texto atrapalhe cliques na imagem */
}
.h1principal h1 {
  font-family: "Montserrat", sans-serif;
  /* Ou sua fonte de preferência */
  color: #092720;
  font-size: clamp(2rem, 5vw, 4.5rem);
  /* Fonte fluida */
  font-weight: 300;
  line-height: 1.1;
  margin: 0;
}
/* Coluna da Imagem Cover */
.feat1 {
  position: relative;
  z-index: 5;
}
.feat1 .wp-block-cover {
  min-height: 480px;
  /* Ajuste conforme necessário */
  border-radius: 4px;
  /* Opcional, para um toque refinado */
}
/* Ajuste para Mobile - Retira a sobreposição para não quebrar o layout */
@media (max-width: 781px) {
  .h1principal {
    margin-right: 0 !important;
    margin-bottom: -40px;
    /* Sangria leve por cima da imagem no mobile */
    text-align: center;
  }
  .h1principal h1 {
    font-size: 2.5rem;
  }
}
/*-------------------------------------------------------------------------ESPERA SPLASH*/
/* 1. Estado de Espera: Esconde o conteúdo das colunas do Header */
.bg-image {
  opacity: 0;
  transform: translateY(60px);
  /* Leve subida */
  transition: opacity 1.5s ease, transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
/* 2. O Gatilho: Revela quando o Splash terminar */
body.animation-ready .bg-image {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.7s;
  /* Ajuste este tempo para sincronizar com o fim da cortina */
}
/*------------------------------------------------------------------------------------MENU*/
/* Container do item do menu */
.g-main-nav .g-toplevel > li > .g-menu-item-container {
  position: relative;
  /* Espaço à esquerda para o quadrado e respiro à direita */
  padding-left: 18px !important;
  padding-right: 20px !important;
}
/* O Indicador (Square) na base do texto */
.g-main-nav .g-toplevel > li > .g-menu-item-container::before {
  content: "";
  position: absolute;
  /* Posicionamento na base */
  bottom: 12px;
  /* Ajuste este valor para subir ou descer milimetricamente conforme a fonte */
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #fff;
  /* O seu verde escuro */
  /* Mantém a forma de quadrado perfeito */
  display: block;
  transition: all 0.3s ease;
}
/* Efeito sutil no Hover/Active */
.g-main-nav .g-toplevel > li:hover > .g-menu-item-container::before, .g-main-nav .g-toplevel > li.active > .g-menu-item-container::before {
  transform: scale(1.2);
  /* O quadrado cresce levemente ao interagir */
  border-radius: 5px;
  background-color: #998F88;
  /* O seu verde escuro */
  opacity: 1;
}
/*------------------------------------------------------------------------------------CORPO*/
html {
  scroll-behavior: auto !important;
}
body {
  font-size: 0.9rem;
  line-height: 1.1;
  font-family: Montserrat !important;
}
a:hover {
  cor: #092720;
}
.cor1 {
  background: #F4F2ED;
}
.branco {
  background: #fff;
}
.padding-menor {
  padding: 2rem;
}
.padding-geral {
  padding: 4rem;
}
.padding-tit {
  padding-left: 4rem;
  padding-top: 3rem;
}
.padding-tit h2 {
  position: relative;
  /* O "âncora" necessário */
  padding-left: 25px;
  /* Espaço para o quadrado respirar antes do texto */
  display: inline-block;
  /* Garante que o elemento ocupe apenas o espaço do texto */
  line-height: 1;
  margin-bottom: 5px !important;
}
.padding-tit p {
  margin-top: 0 !important;
  padding-left: 25px;
  /* O mesmo padding que demos ao H2 para alinhar com o início da letra P */
}
.vp-portfolio__items-style-fade.vp-portfolio__items-show-overlay-always .vp-portfolio__item-meta > * {
  opacity: 1;
  transform: translateY(0);
  max-width: 400px;
}
.vp-portfolio__item-meta-title {
  font-size: 3rem;
  latter-spacing: 0.03rem;
  font-family: Montserrat;
  font-weight: 300;
}
.h2-decorator {
  font-size: 1.9rem;
  font-weight: 400;
}
.page-header h1 {
  position: relative;
  /* A âncora necessária */
  padding-left: 20px;
  /* Abre espaço para o marcador não ficar em cima da letra */
  display: inline-block;
  /* Garante que o h1 ocupe apenas o espaço do texto */
  font-weight: 400;
  color: #092720;
}
.page-header h1::before {
  content: "";
  position: absolute;
  /* Alinhamento centralizado verticalmente ou na base */
  bottom: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #092720;
  display: block;
}
.button {
  background-color: #092720 !important;
  color: #ffffff;
  border: none;
  padding: 10px 40px !important;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 10px;
  border-radius: 0px;
}
.selo {
  position: relative;
  /* Essencial: faz o ::before se orientar por esta div */
  overflow: visible;
  /* Garante que o selo possa "transbordar" se você desejar */
}
.selo::before {
  content: "";
  position: absolute;
  bottom: 28px;
  right: -1px;
  width: 70px;
  height: 70px;
  background-image: url('../images/header/selo-1.png?69cc510f');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  pointer-events: none;
}
/*---------------------------------------------------BOTÂO SCROLL*/
.scroll-invitation {
  margin-top: 40px;
  display: block;
  position: relative;
  z-index: 999;
}
.scroll-invitation .btn-conheca {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  text-decoration: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.scroll-invitation .label {
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #092720;
  margin-bottom: 15px;
  font-weight: 600;
  cursor: pointer;
}
.scroll-invitation .line-container {
  width: 1px;
  height: 50px;
  background-color: rgba(9, 39, 32, 0.1);
  /* Linha de fundo clarinha */
  position: relative;
  overflow: hidden;
}
.scroll-invitation .moving-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 20px;
  background-color: #092720;
  /* O traço que se move */
  animation: dropLine 3s cubic-bezier(0.65, 0, 0.35, 1) infinite;
  cursor: pointer;
}
@keyframes dropLine {
  0% {
    transform: translateY(-25px);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    transform: translateY(55px);
    opacity: 0;
  }
  100% {
    transform: translateY(55px);
    opacity: 0;
  }
}
/*----------------------------------------------------------NUMEROS*/
.counters-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* Distribui melhor as pontas */
  align-items: flex-start;
  /* Alinha pelo topo para o texto não 'pular' */
  gap: 30px;
  padding: 60px 20px;
  max-width: 1200px;
  /* Evita que em telas ultra-wide eles fiquem longe demais */
  margin: 0 auto;
}
.counter-box {
  flex: 1;
  min-width: 180px;
  text-align: center;
  color: #1a3c34;
  /* Transição suave para o efeito de subida que o JS faz */
  will-change: transform, opacity;
}
/* Estilo dos números - O Coração da seção */
.counter-number {
  font-family: "Montserrat", sans-serif;
  font-size: 3.5rem;
  /* Um pouco maior para dar autoridade */
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  /* Evita que números diferentes movam o sufixo de lugar */
  font-variant-numeric: tabular-nums;
}
/* O Sufixo (.0 Mi, %, m²) */
.counter-suffix {
  font-family: "Montserrat", sans-serif;
  font-size: 1.8rem;
  /* Menor que o número para não brigar */
  font-weight: 600;
  margin-left: -5px;
  /* Cola um pouco mais no número */
  vertical-align: baseline;
}
/* As Etiquetas (Projetos Entregues, etc) */
.counter-label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 15px;
  opacity: 0.8;
  font-weight: 500;
}
/* Ajuste para Mobile */
@media (max-width: 768px) {
  .counter-number {
    font-size: 2.5rem;
  }
  .counter-suffix {
    font-size: 1.4rem;
  }
}
/*----------------------------------------------------------BTN PROJETOS*/
/* Container principal - Alinhamento centralizado e respiro vertical */
.cta-portfolio-wrapper-h {
  text-align: center;
  padding: 10px 0 60px 0;
  clear: both;
}
/* O Link - Base do alinhamento flexível */
.cta-link-chique-h {
  text-decoration: none !important;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: #1a3c34;
  /* A cor que define a marca */
  transition: opacity 0.3s ease;
}
/* Efeito de Hover - Sutil e elegante */
.cta-link-chique-h:hover {
  opacity: 0.7;
}
/* O Texto - Em caixa alta, espaçado e minimalista */
.cta-text-h {
  font-family: "Montserrat", sans-serif;
  /* A fonte do projeto */
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 5px;
  /* Bem espaçado para ser chique */
  font-weight: 500;
  margin-bottom: 12px;
}
/* O Container da Linha - Define a largura total e a altura fina */
.cta-line-container-h {
  width: 100px;
  /* Largura total da linha */
  height: 1px;
  /* Linha fina e sofisticada */
  background: rgba(26, 60, 52, 0.2);
  /* Linha guia clarinha */
  position: relative;
  overflow: hidden;
}
/* A Linha que se Move - A animação está aqui */
.cta-line-h {
  height: 100%;
  background: #1a3c34;
  /* A linha que se preenche */
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  /* Começa com largura zero */
  /* Animação horizontal fluida */
  animation: fillLineHorizontal 2.8s infinite cubic-bezier(0.645, 0.045, 0.355, 1);
}
/* O Movimento - Preenche, para um pouco e reseta */
@keyframes fillLineHorizontal {
  0% {
    width: 0;
    opacity: 1;
  }
  40% {
    width: 100%;
    opacity: 1;
  }
  50% {
    width: 100%;
    opacity: 1;
  }
  80% {
    width: 100%;
    opacity: 0;
  }
  100% {
    width: 0;
    opacity: 0;
  }
}
/*----------------------------------------------------------QUEM*/
.bg-image2 {
  background-color: #F4F2ED;
  background-image: url('../images/header/bg2.png?69cc510f');
  background-repeat: no-repeat;
  background-position: top right;
  /* Ou 'right bottom' como queríamos antes */
  background-size: contain;
  /* 'cover' preenche tudo, 'contain' mostra a imagem inteira */
  display: block;
  width: 100%;
  min-height: 500px;
  position: relative;
  z-index: 1;
}
/* 1. Container Principal: garantindo que ele aceite o posicionamento do conteúdo */
.quem-bloco.wp-block-cover {
  display: flex;
  align-items: flex-end;
  /* Joga o conteúdo para o fundo/base */
  justify-content: flex-start;
  /* Mantém à esquerda, conforme nosso padrão editorial */
  padding: 20px !important;
  /* Reduz o padding interno (ajuste conforme o gosto) */
}
/* 2. Ajuste do container interno de texto que o WordPress cria */
.quem-bloco .wp-block-cover__inner-container {
  width: 100%;
  margin: 0 !important;
  /* Remove as margens automáticas que centralizam o texto */
  padding: 0 !important;
}
/* 3. Refinando o texto (H2 e P) dentro do bloco Quem */
.quem-bloco h2 {
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin-bottom: 10px !important;
}
.quem-bloco p {
  font-size: 0.9rem;
  /* Mantendo o nosso padrão minimalista */
  margin-bottom: 0 !important;
  max-width: 450px;
  /* Evita que o texto ocupe a largura toda em telas grandes */
}
/*---------------------------------------------------------JOURNAL*/
/* 1. CONTAINER DO GRID */
.journal-vertical ul.wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
/* 2. O CARD DO POST */
.journal-vertical .wp-block-post {
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 0.75 !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  cursor: pointer;
  /* Indica que é clicável */
}
/* 3. O BLOCO COVER */
.journal-vertical .wp-block-cover {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100% !important;
  width: 100% !important;
  min-height: 100% !important;
  padding: 40px !important;
  transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1) !important;
}
/* 4. EFEITO DE HOVER NO ZOOM */
.journal-vertical .wp-block-post:hover .wp-block-cover {
  transform: scale(1.08);
}
/* 5. CONTAINER INTERNO DE TEXTO */
.journal-vertical .wp-block-cover__inner-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  z-index: 10;
}
/* 6. TIPOGRAFIA - Título */
.journal-vertical h2.wp-block-post-title, .journal-vertical h3.wp-block-post-title {
  font-size: 1.2rem !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  line-height: 1.3;
  margin: 0 !important;
}
/* 7. REMOVER SUBLINHADO DO LINK */
.journal-vertical .wp-block-post-title a {
  text-decoration: none !important;
  color: inherit !important;
}
/* 8. DATA DO POST */
.journal-vertical .wp-block-post-date {
  font-size: 0.75rem !important;
  color: rgba(255, 255, 255, 0.8) !important;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin-bottom: 12px !important;
  display: block !important;
}
/* 9. MÁGICA DO LINK EM TODO O CARD */
/* Isso faz com que o link do título se estenda por toda a área do post */
.journal-vertical .wp-block-post-title a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  /* Fica acima de tudo dentro do card */
}
/* 10. OVERLAY (Opcional - Gradiente para leitura) */
.journal-vertical .wp-block-cover__gradient-background {
  opacity: 0.5 !important;
}
/* Ajuste Mobile */
@media (max-width: 768px) {
  .journal-vertical ul.wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}
.nav-cat {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  list-style: none;
  padding: 0;
  margin: 0;
}
.nav-cat .nav-item {
  display: flex;
  align-items: center;
  color: #092720;
  letter-spacing: 1px;
}
/* A Barrinha Elegante (Divider) */
.nav-cat .nav-item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1px;
  /* Largura da barra */
  height: 18px;
  /* Altura da barra */
  background-color: #CCC;
  /* Cor suave para elegância */
  margin: 0 20px;
  /* Espaçamento lateral entre o texto e a barra */
  vertical-align: middle;
}
.nav-cat .nav-item a {
  text-decoration: none;
  color: inherit;
  letter-spacing: 1px;
  transition: 0.3s ease;
}
.nav-cat .nav-item a:hover {
  letter-spacing: 1.5px;
}
/*---------------------------------------------------------DEPOIMENTOS*/
.strong-view.wpmtst-default.dark .wpmtst-testimonial-inner {
  border: 0px solid #333;
}
/*----------------------------------------------------------FORMU*/
.form-roda {
  border-left: 1px solid #d1d1d1;
}
/* Container geral do formulário */
.wpcf7 form {
  max-width: 600px;
  /* Mantém o formulário com uma largura elegante */
}
/* Estilização dos campos (Input e Textarea) */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
  width: 100%;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid #d1d1d1 !important;
  /* Linha sutil na base */
  border-radius: 0 !important;
  /* Altura reduzida conforme solicitado */
  padding: 6px 4px !important;
  margin-bottom: 9px !important;
  /* Texto do usuário ao digitar */
  font-size: 0.9rem;
  font-weight: 300;
  color: #fff;
  transition: border-color 0.4s ease;
}
/* Foco: quando o usuário clica para digitar */
.wpcf7 input:focus, .wpcf7 textarea:focus {
  outline: none !important;
  border-bottom: 1px solid #092720 !important;
  /* Linha escurece no foco */
}
/* Estilização do Placeholder (Texto de exemplo) */
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder {
  font-size: 0.8rem;
  /* Menor que o texto principal */
  letter-spacing: 0.05em;
  text-transform: uppercase;
  /* Dá um ar mais técnico/editorial */
  color: #999;
  opacity: 1;
}
/* Botão de Enviar (Submit) */
.wpcf7 input[type="submit"] {
  background-color: #EFFF7B !important;
  color: #092720;
  border: none;
  padding: 10px 40px !important;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 10px;
}
.wpcf7 input[type="submit"]:hover {
  background-color: #ffffff !important;
  /* Muda para o seu champagne no hover */
}
/*--------------------------------------------------------------------------------------------------------- RODAPE*/
#g-footer {
  border-bottom: 11px solid #EFFF7B;
}
/* Container da Lista */
.lista-contato {
  list-style: none;
  padding: 0;
  margin: 0;
}
/* Itens da Lista */
.lista-contato li {
  display: flex;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  /* Tamanho discreto e elegante */
  font-weight: 300;
  letter-spacing: 0.05em;
  color: #fff;
  /* Cinza suave, menos agressivo que o preto */
  margin-bottom: 10px;
  /* Respiro entre os contatos */
  transition: all 0.3s ease;
}
/* Estilização dos Ícones */
.lista-contato li span {
  width: 20px;
  /* Largura fixa para alinhar o texto perfeitamente */
  font-size: 14px;
  color: #EFFF7B;
  /* Tom champagne/bronze para os ícones */
  margin-right: 7px;
  display: flex;
  justify-content: center;
  opacity: 0.8;
}
/* Ajuste para Links (Email e Instagram) */
.lista-contato li a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}
.lista-contato li a:hover {
  color: #B8977E;
  /* O link ganha a cor do ícone no hover */
}
/* Pequeno detalhe de animação ao passar o mouse */
.lista-contato li:hover {
  transform: translateX(5px);
  /* Deslocamento sutil */
}
/*---------------------------------------------------------------------------------MENU RODADE*/
/* 1. MANTÉM SEU CÓDIGO DO QUADRADINHO */
#g-footer .g-main-nav .g-toplevel > li > .g-menu-item-container {
  position: relative;
  padding-left: 18px !important;
  padding-right: 20px !important;
}
#g-footer .g-main-nav .g-toplevel > li > .g-menu-item-container::before {
  content: "";
  position: absolute;
  bottom: 12px;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #FFF;
  display: block;
  transition: all 0.3s ease;
}
/* 2. AJUSTE DO HOVER PARA O QUADRADINHO E PARA O TEXTO */
/* O quadradinho muda de cor e cresce */
#g-footer .g-main-nav .g-toplevel > li:hover > .g-menu-item-container::before, #g-footer .g-main-nav .g-toplevel > li.active > .g-menu-item-container::before {
  transform: scale(1.2);
  border-radius: 5px;
  background-color: #998F88;
}
/* AQUI ESTÁ O PULO DO GATO: Alvo direto no título do menu */
#g-footer .g-main-nav .g-toplevel > li:hover .g-menu-item-title, #g-footer .g-main-nav .g-toplevel > li.active .g-menu-item-title {
  color: #ffffff !important;
  /* Força o texto a ficar branco */
}
/* Caso o Gantry use links (a) com cores fixas, adicionamos este reforço: */
#g-footer .g-main-nav .g-toplevel > li:hover > .g-menu-item-container {
  color: #ffffff !important;
}
/*----------------------------------------------------------------------------------SIDEBAR*/
.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  box-sizing: border-box;
  display: flex;
  background: #EFFF7B;
  height: 34px;
  width: 34px;
  border-radius: 34px;
  flex-shrink: 0;
  justify-content: center;
  margin-left: 0;
  max-width: 100%;
}
.wp-block-search__button svg {
  height: 1.25em;
  min-height: 24px;
  min-width: 24px;
  width: 1.25em;
  padding-bottom: 2px;
  fill: #092720;
  vertical-align: text-bottom;
}
.lista-cat li {
  border-bottom: 1px solid #dfdfdf;
  padding-bottom: 7px;
  padding-top: 7px;
}
.lista-cat .cat-item-5 {
  display: none;
}
.cta-widget {
  background-color: transparent;
  padding: 35px 30px;
  /* Fundo quase branco, super limpo */
  border: 0px solid #e0e0e0;
  /* Borda bem fina e discreta */
  text-align: left;
  /* Alinhado à esquerda é mais "premium" que centralizado */
  position: relative;
}
/* Barra lateral de destaque - detalhe de sofisticação */
.cta-widget::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: #1a3c34;
}
.cta-widget h3 {
  margin: 0 0 12px 0;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a3c34;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.cta-widget p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #555;
  margin-bottom: 25px;
  font-family: "Montserrat", sans-serif;
}
.btn-cta {
  background-color: #ffffff;
  color: #092720;
  border: 1px solid #092720;
  padding: 10px 30px !important;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 10px;
  border-radius: 0px;
}
.btn-cta:hover {
  background-color: #092720 !important;
  color: #fff !important;
}
/*----------------------------------------------------------------------------------------CATEGORIA PROJETOS*/
/* --- Limpeza Total da Lista --- */
.lista-apresentacao {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: "Montserrat", sans-serif;
  color: #1a3c34;
}
/* Força o elemento a não se separar do texto anterior */
.lista-apresentacao li sup {
  all: unset !important;
  display: inline !important;
  /* O segredo: inline puro */
  font-size: 0.6em !important;
  vertical-align: super !important;
  /* Usamos margem negativa para puxar o 2 para cima do m */
  margin-left: -2px !important;
  line-height: 0 !important;
}
/* O ajuste crucial para o flexbox não separar o 2 */
.lista-apresentacao li {
  display: flex !important;
  justify-content: space-between !important;
  /* Mantém o texto agrupado */
  white-space: nowrap;
  padding: 10px 0;
  border-bottom: 1px solid rgba(26, 60, 52, 0.1);
}
/* --- Estilos específicos de hierarquia --- */
.lista-apresentacao li:nth-child(1) {
  /* 1.2rem é o mínimo, 4vw é o fluido, 1.8rem é o máximo */
  font-size: clamp(1rem, 4vw, 1.2rem) !important;
  font-weight: 700;
  border-bottom: 1px solid #424753;
  padding-bottom: 15px;
  margin-bottom: 10px;
  display: block;
  line-height: 1.2;
  /* Ajuste para não encavalar se quebrar linha */
  word-wrap: break-word;
  /* Força a quebra de palavras longas se necessário */
}
.lista-apresentacao li:nth-child(3) {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 2px;
  margin-top: 8px;
  border-bottom: none;
}
.lista-apresentacao li:nth-child(4), .lista-apresentacao li:nth-child(5) {
  padding: 5px 0;
  font-size: 0.9rem;
  color: #444;
}
/* --- Estrutura da Lista de Características --- */
.lista-caracteristicas {
  list-style: none !important;
  padding: 0 !important;
  margin: 10px 0 !important;
  font-family: "Montserrat", sans-serif;
  color: #1a3c34;
}
/* --- Linhas divisórias e espaçamento --- */
.lista-caracteristicas li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(26, 60, 52, 0.1);
}
/* --- Subtítulo (Primeiro item) --- */
.lista-caracteristicas li:first-child {
  font-size: 1rem;
  font-weight: 700;
  border-bottom: 2px solid #1a3c34;
  /* Borda mais grossa para destacar */
  padding-bottom: 10px;
  margin-bottom: 5px;
  color: #1a3c34;
}
/* --- Itens restantes --- */
.lista-caracteristicas li:not(:first-child) {
  font-size: 0.85rem;
  font-weight: 400;
  color: #444;
}
/*-----------------------------------POSTS*/
.post-type-post .entry-title {
  font-weight: 700;
  color: #092720;
}
.post-type-post a {
  text-decoration: underline !important;
  text-underline-offset: 4px;
  /* Afasta o risco da letra para não "cortar" o p ou o g */
  text-decoration-thickness: 1px;
  /* Deixa o risco fininho e elegante */
  color: #092720;
}
.post-type-post .featured-image {
  margin-bottom: 14px;
  border-bottom: 3px solid #092720;
}
/*------------------------------------------------------------------------------------------ANIMAÇÂO*/
/* Classe Base (Gatilho) */
/* --- Base de Animação (Todescan Siciliano Style) --- */
.revelar {
  opacity: 0 !important;
  visibility: hidden !important;
  /* Transição longa e suave usando cubic-bezier para ar de vanguarda */
  transition: opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: opacity, transform;
}
/* Estado Ativado (Ponto de Chegada) */
.revelar.ativo {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(0, 0) scale(1) !important;
}
/* --- Variações de Entrada (Estado Inicial) --- */
/* Só aplica o deslocamento se NÃO estiver ativo */
.revelar.vem-esquerda:not(.ativo) {
  transform: translateX(-100px) !important;
}
.revelar.vem-direita:not(.ativo) {
  transform: translateX(100px) !important;
}
.revelar.vem-baixo:not(.ativo) {
  transform: translateY(50px) !important;
}
.revelar.zoom-in:not(.ativo) {
  transform: scale(0.8) !important;
}
/* --- Delays Programados --- */
.delay-1 {
  transition-delay: 0.2s !important;
}
.delay-2 {
  transition-delay: 0.4s !important;
}
.delay-3 {
  transition-delay: 0.6s !important;
}
.delay-4 {
  transition-delay: 0.8s !important;
}
/* Delays Rápidos (Ideais para o Grid do Journal) */
.delay-fast {
  transition-delay: 0.1s !important;
}
/*-------------------------------------------------------------------------SPLASH*/
/* 1. CONTROLE DO SITE (O REFINO) */
body:not(.animation-ready) .revelar, body:not(.animation-ready) [data-uk-scrollspy], body:not(.animation-ready) .uk-animation-fade {
  visibility: hidden !important;
  opacity: 0 !important;
}
/* 2. SPLASH SCREEN (MANTENDO A "CORTINA" QUE SOBE) */
#splash-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #1a3c34;
  /* O seu verde institucional */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999;
  /* A suavidade da subida que você já aprovou */
  transition: transform 1.2s cubic-bezier(0.85, 0, 0.15, 1);
  will-change: transform;
}
#splash-screen.loaded {
  transform: translateY(-100%);
  /* A cortina sobe */
}
/* 3. LOGO (70% DE LARGURA E ELEGÂNCIA) */
#logo-todescan {
  width: 70% !important;
  max-width: 420px !important;
  height: auto !important;
  display: block;
}
#brandmark {
  opacity: 0;
  transform: translateX(800px);
  /* Aumentamos para 1.8s: o movimento fica mais "líquido" */
  animation: todescanPremium 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: 0.2s;
}
#logotype {
  opacity: 0;
  transform: translateX(300px);
  /* O nome entra de forma mais etérea */
  animation: todescanPremium 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: 0.9s;
}
@keyframes todescanPremium {
  0% {
    opacity: 0;
    filter: blur(4px);
    /* Um leve desfoque inicial que limpa conforme para */
  }
  100% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }
}
/*# sourceMappingURL=custom_projetos.css.map */