html,
body {

  margin: 0;

  padding: 0;

  overflow-x: hidden;

  scroll-behavior: smooth;

}

/* ======================================================
   DESIGN TOKENS — identidade visual global
   Altere estes valores para atualizar a paleta do site inteiro.
====================================================== */

:root {
  --cor-primaria: #143A63;
  --cor-primaria-clara: #1E4D8C;
  --cor-primaria-escura: #0E2C4A;

  --cor-destaque: #C9A227;
  --cor-destaque-clara: #F7EFD8;
  --cor-destaque-hover: #DDB43A;

  --cor-texto: #51606D;
  --cor-texto-suave: #737F8C;
  --cor-fundo: #F8FAFC;
  --cor-superficie: #FFFFFF;
  --cor-borda: #DDE3EA;
  --fundo-hero: linear-gradient(135deg, #EEF3F8 0%, #FFFFFF 54%, #F1F5F9 100%);

  --sombra-suave: 0 12px 34px rgba(20, 58, 99, .045);
  --sombra-card: 0 15px 38px rgba(20, 58, 99, .06);
  --sombra-card-hover: 0 20px 42px rgba(20, 58, 99, .10);

  --fonte-texto: 'Poppins', sans-serif;
  --fonte-titulo: 'Cormorant Garamond', serif;
}

/*=========================================
= HERO - INICIO
=========================================*/
.hero {

  position: relative;

  min-height: 100vh;

  display: flex;

  align-items: center;

  overflow: hidden;

  width: 100%;

  padding: 120px 0 80px;

  background-image:

    linear-gradient(90deg,
      rgba(7, 20, 38, .94),
      rgba(16, 45, 80, .80));


  background-size: cover;

  background-position: center;

}

/* camada de profundidade */

.hero::before {

  content: "";

  position: absolute;

  width: 550px;

  height: 550px;

  border-radius: 50%;

  background: rgba(201, 162, 39, .12);

  right: -180px;

  top: -150px;

  filter: blur(60px);

}

.hero::after {

  content: "";

  position: absolute;

  width: 350px;

  height: 350px;

  border-radius: 50%;

  background: rgba(255, 255, 255, .04);

  left: -150px;

  bottom: -100px;

}

/* overlay */

.hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(90deg,
      rgba(5, 15, 30, .80),
      rgba(5, 15, 30, .45));

}

/*
   Marca d'água da página inicial. A imagem já está recortada e sem fundo;
   a transparência baixa mantém a identidade visual sem competir com o texto.
*/
.hero-watermark {

  position: absolute;

  z-index: 1;

  top: 50%;

  right: clamp(-170px, -7vw, -55px);

  width: min(62vw, 920px);

  aspect-ratio: 1400 / 915;

  transform: translateY(-50%);

  background: url("../img/monograma-marca-dagua.png") center / contain no-repeat;

  opacity: .075;

  pointer-events: none;

}

/* conteúdo */

.hero-content {

  position: relative;

  z-index: 2;

}


/*========================================
            BADGE
========================================*/

.hero-badge {

  display: inline-flex;

  align-items: center;

  gap: 10px;


  padding: 12px 24px;


  border-radius: 50px;


  background: rgba(255, 255, 255, .10);


  border: 1px solid rgba(255, 255, 255, .18);


  backdrop-filter: blur(10px);


  color: white;


  font-family: 'Poppins', sans-serif;


  font-size: 15px;


  font-weight: 500;


  margin-bottom: 30px;

}

.hero-badge i {

  color: var(--cor-destaque);

}

/*========================================
             TITULO
========================================*/

.hero h1 {


  font-family: 'Cormorant Garamond', serif;


  font-size: 78px;


  line-height: 1.05;


  font-weight: 700;


  letter-spacing: -1px;


  color: #fff;


  max-width: 720px;


  margin: 0 0 25px;

}

.hero h1 span {

  color: var(--cor-destaque);

}

/*========================================
             TEXTO
========================================*/

.hero p {


  font-family: 'Poppins', sans-serif;


  font-size: 19px;


  font-weight: 300;


  line-height: 35px;


  max-width: 650px;


  color: rgba(255, 255, 255, .95);


  margin-bottom: 40px;

}

/*========================================
             BOTÕES
========================================*/

.hero-buttons {


  display: flex;

  gap: 20px;

  flex-wrap: wrap;

  margin-bottom: 40px;

}

.btn-hero {


  height: 58px;

  padding: 0 36px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  border-radius: 50px;

  font-family: 'Poppins', sans-serif;

  font-weight: 600;

  transition: .3s;

  text-decoration: none;

}

.btn-primary {

  background: var(--cor-destaque);

  color: var(--cor-primaria-escura);

}

.btn-primary:hover {

  background: var(--cor-destaque-hover);

  transform: translateY(-3px);

  box-shadow: 0 15px 35px rgba(0, 0, 0, .25);

}

.btn-secondary {

  border: 2px solid rgba(255, 255, 255, .7);

  color: #fff;

}

.btn-secondary:hover {

  background: white;

  color: var(--cor-primaria-escura);

}

/*========================================
          BENEFÍCIOS
========================================*/

.hero-benefits {

  display: flex;

  flex-wrap: wrap;

  gap: 28px;

  margin-bottom: 20px;

}

.hero-benefits div {

  display: flex;

  align-items: center;

  gap: 10px;

  color: white;

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

}

.hero-benefits i {

  color: var(--cor-destaque);

  font-size: 18px;

}

/*========================================
             CARD
========================================*/
.hero-card {

  background: rgba(255, 255, 255, .08);

  backdrop-filter: blur(15px);

  border: 1px solid rgba(255, 255, 255, .15);

  border-radius: 25px;

  padding: 35px;

  box-shadow:

    0 25px 60px rgba(0, 0, 0, .35);


}

.hero-card hr {

  border: none;

  border-top: 1px solid rgba(255, 255, 255, .15);

  margin: 25px 0;

}

.hero-card-item {

  display: flex;

  gap: 18px;

}

.hero-card-item i {

  font-size: 28px;

  color: var(--cor-destaque);

}

.hero-card h5 {

  font-family: 'Cormorant Garamond', serif;

  color: white;

  font-size: 25px;

  margin: 0;

}

.hero-card p {

  font-size: 14px;

  line-height: 24px;

  margin: 5px 0 0;

}

/*========================================
             ANIMAÇÕES
========================================*/
.hero-badge,
.hero h1,
.hero p,
.hero-buttons,
.hero-benefits {

  animation: entradaLeft .9s ease;

}

.hero-card {

  animation: entradaRight 1s ease;

}

@keyframes entradaLeft {

  from {

    opacity: 0;

    transform: translateX(-50px);

  }

  to {

    opacity: 1;

    transform: translateX(0);

  }

}

@keyframes entradaRight {

  from {

    opacity: 0;

    transform: translateX(50px);

  }

  to {

    opacity: 1;

    transform: translateX(0);

  }


}

/*========================================
             TABLET
========================================*/

@media(max-width:992px) {

  .hero {

    text-align: center;

    padding: 130px 0 90px;

  }

  .hero h1 {

    font-size: 58px;

  }

  .hero p {

    margin-left: auto;

    margin-right: auto;

  }

  .hero-buttons {

    justify-content: center;

  }

  .hero-benefits {

    justify-content: center;

  }

  .hero-card {

    display: none;

  }

  .hero-watermark {

    right: -20vw;

    width: 112vw;

    opacity: .045;

  }

}

/* ======================================================
   RESPONSIVO MOBILE — HERO
====================================================== */

@media(max-width:600px) {

  /* ==============================
       HERO MOBILE
    ============================== */

  .hero {

    min-height: auto;

    padding: 55px 20px 70px;

  }

  .hero-watermark {

    right: -36vw;

    width: 132vw;

    opacity: .035;

  }

}

.hero h1 {

  font-size: 42px;

  line-height: 1.15;

  margin-top: 25px;

  margin-bottom: 25px;

}

.hero p {

  font-size: 16px;

  line-height: 30px;

  padding: 0 5px;

}

/* ==============================
       BOTÕES
    ============================== */

.hero-buttons {

  flex-direction: column;

  gap: 18px;

  align-items: center;

}

.btn-hero {

  width: 90%;

  margin: auto;

}

/* ==============================
       BENEFÍCIOS
    ============================== */

.hero-benefits {

  flex-direction: column;

  align-items: center;

  gap: 18px;

  margin-top: 35px;

}

.hero-benefits div {

  text-align: center;

}

/*=========================================
= HERO - FIM
=========================================*/

/*==================================================
  SOBRE A DRA. - INICIO
==================================================*/
.sobre-home {

  padding: 90px 0;

  background: #fff;

}

.sobre-home .row {

  display: flex;

  align-items: center;

  margin-bottom: 0;

}

/*==================================
            TEXTO
==================================*/

.sobre-conteudo {

  padding-right: 50px;

}

.sobre-subtitulo {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding: 10px 22px;

  border-radius: 40px;

  background: #F5F8FC;

  color: var(--cor-primaria-clara);

  font-size: 14px;

  font-weight: 600;

  margin-bottom: 22px;

}

.sobre-subtitulo i {

  color: var(--cor-destaque);

}

.sobre-conteudo h2 {

  font-family: 'Cormorant Garamond', serif;

  font-size: 52px;

  color: var(--cor-primaria-escura);

  line-height: 1.15;

  margin: 0 0 25px;

}

.sobre-conteudo p {

  font-size: 17px;

  line-height: 32px;

  color: #5F6B7A;

  margin-bottom: 18px;

}

/*==================================
          DIFERENCIAIS
==================================*/

.sobre-diferenciais {

  margin: 35px 0;

}

.sobre-item {

  display: flex;

  align-items: flex-start;

  gap: 18px;

  margin-bottom: 28px;

}

.sobre-item i {

  width: 56px;

  height: 56px;

  min-width: 56px;

  border-radius: 50%;

  background: var(--cor-primaria-escura);

  color: #fff;

  display: flex;

  justify-content: center;

  align-items: center;

  font-size: 20px;

}

.sobre-item h5 {

  font-size: 20px;

  color: var(--cor-primaria-escura);

  margin: 0 0 6px;

}

.sobre-item p {

  margin: 0;

  line-height: 28px;

}

/*==================================
            BOTÃO
==================================*/

.btn-sobre {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  padding: 18px 34px;

  border-radius: 50px;

  background: var(--cor-destaque);

  color: var(--cor-primaria-escura);

  font-weight: 600;

  text-decoration: none;

  transition: .35s;

}

.btn-sobre:hover {

  background: var(--cor-destaque-hover);

  transform: translateY(-4px);

}

/*==================================
             FOTO
==================================*/

.sobre-imagem {

  position: relative;

}

.sobre-home .sobre-imagem img {

  width: 100%;

  /*
   * Enquadramento da foto da Dra. Damaris na Home (desktop).
   * A altura fixa aproxima a base da foto da base do conteúdo textual.
   * object-fit recorta apenas o excedente sem deformar a imagem e
   * object-position controla o foco:
   * diminua a porcentagem para subir a foto ou aumente para baixá-la.
   */
  height: 720px;

  max-height: 720px;

  object-fit: cover;

  object-position: center 20%;

  border-radius: 26px;

  display: block;

  /* Sombra leve em duas camadas para destacar a foto sem deixá-la pesada. */
  box-shadow:
    0 18px 42px rgba(14, 44, 74, .14),
    0 4px 12px rgba(14, 44, 74, .08);

  transition: transform .35s ease, box-shadow .35s ease;

}

/* Efeito discreto de profundidade apenas em dispositivos com mouse. */
@media (hover: hover) and (pointer: fine) {

  .sobre-home .sobre-imagem:hover img {

    transform: translateY(-4px);

    box-shadow:
      0 24px 52px rgba(14, 44, 74, .17),
      0 6px 16px rgba(14, 44, 74, .10);

  }

}

/*
 * No celular, a moldura 6 / 7 reproduz o recorte mais baixo do desktop.
 * Isso evita exibir uma área vertical maior apenas por causa da tela estreita.
 */
@media(max-width:992px) {

  .sobre-home .sobre-imagem img {

    height: auto;

    max-height: none;

    aspect-ratio: 6 / 7;

  }

}

.sobre-selo {

  position: absolute;

  left: 24px;

  right: auto;

  bottom: 24px;

  min-width: 245px;

  /* Identificação em estilo glass: moderna, leve e legível sobre a fotografia. */
  background: rgba(8, 37, 68, .78);

  border: 1px solid rgba(255, 255, 255, .18);

  backdrop-filter: blur(12px);

  -webkit-backdrop-filter: blur(12px);

  color: #fff;

  padding: 15px 18px 15px 28px;

  border-radius: 14px;

  text-align: left;

  box-shadow: 0 12px 30px rgba(0, 0, 0, .18);

}

/* Traço dourado usado como assinatura visual do selo. */
.sobre-selo::before {

  position: absolute;

  top: 13px;

  bottom: 13px;

  left: 13px;

  width: 3px;

  border-radius: 999px;

  background: var(--cor-destaque);

  content: '';

}

.sobre-selo strong {

  display: block;

  font-size: 15px;

  line-height: 1.35;

  color: var(--cor-destaque);

}

.sobre-selo span {

  display: block;

  margin-top: 2px;

  font-size: 11px;

  letter-spacing: .08em;

  text-transform: uppercase;

}

/* FOTO MOBILE */

.sobre-imagem-mobile {

  display: none;

}

/*==================================================
                RESPONSIVO
==================================================*/

@media(max-width:992px) {

  .sobre-home {

    padding: 70px 0;

  }

  .sobre-conteudo {

    padding-right: 0;

  }

  /* Esconde foto desktop */

  .hide-on-med-and-down {

    display: none !important;

  }

  /* Mostra foto dentro do conteúdo */

  .sobre-imagem-mobile {

    display: block;

    margin: 30px auto;

  }

  .sobre-imagem {

    max-width: 380px;

    margin: auto;

  }

  .sobre-conteudo {

    text-align: center;

  }

  .sobre-subtitulo {

    margin: 0 auto 20px;

  }

  .sobre-conteudo h2 {

    font-size: 40px;

  }

  .sobre-conteudo p {

    font-size: 16px;

    line-height: 30px;

  }

  .sobre-diferenciais {

    text-align: left;

    margin-top: 35px;

  }

  .btn-sobre {

    width: 100%;

  }

}

@media(max-width:600px) {

  .sobre-home {

    padding: 55px 0;

  }

  .sobre-conteudo {

    padding: 0 18px;

  }

  .sobre-conteudo h2 {

    font-size: 33px;

    line-height: 1.2;

  }

  .sobre-conteudo p {

    font-size: 15px;

    line-height: 28px;

  }

  .sobre-imagem {

    max-width: 320px;

  }

  .sobre-selo {

    left: 16px;

    right: 16px;

    bottom: 16px;

    min-width: 0;

    padding: 13px 16px 13px 26px;

  }

  .sobre-selo strong {

    font-size: 14px;

  }

  .sobre-item {

    gap: 15px;

    margin-bottom: 22px;

  }

  .sobre-item i {

    width: 46px;

    height: 46px;

    min-width: 46px;

    font-size: 16px;

  }

  .sobre-item h5 {

    font-size: 17px;

  }

  .sobre-item p {

    font-size: 14px;

    line-height: 24px;

  }

  .btn-sobre {

    height: 55px;

    font-size: 15px;

  }

}

/* ======================================================
  SOBRE A DRA. - FIM
====================================================== */

/*======================================================
    DIFERENCIAIS - INICIO
======================================================*/


.diferenciais-home {

  padding: 110px 0;

  background:

    linear-gradient(135deg,
      var(--cor-primaria),
      var(--cor-primaria-clara));

  position: relative;

  overflow: hidden;

}


/* detalhes de fundo */

.diferenciais-home::before {

  content: "";

  position: absolute;

  width: 450px;

  height: 450px;

  border-radius: 50%;

  background: rgba(201, 162, 39, .10);

  top: -180px;

  right: -120px;

  filter: blur(20px);

}



.diferenciais-home::after {

  content: "";

  position: absolute;

  width: 350px;

  height: 350px;

  border-radius: 50%;

  background: rgba(255, 255, 255, .05);

  bottom: -150px;

  left: -100px;

  filter: blur(20px);

}




/*==========================
        HEADER
===========================*/


.diferenciais-header {

  position: relative;

  z-index: 2;

  max-width: 750px;

  margin: 0 auto 70px;

}




.diferenciais-badge {


  display: inline-flex;

  align-items: center;

  gap: 10px;


  padding: 12px 25px;


  border-radius: 40px;


  background: rgba(255, 255, 255, .12);


  border: 1px solid rgba(255, 255, 255, .20);


  color: #FFF;


  font-family: 'Poppins', sans-serif;


  font-weight: 600;


  backdrop-filter: blur(10px);


}



.diferenciais-badge i {

  color: var(--cor-destaque);

}





.diferenciais-header h2 {


  font-family: 'Cormorant Garamond', serif;


  color: #FFF;


  font-size: 58px;


  line-height: 1.1;


  margin: 25px 0;


}



.diferenciais-header h2 span {


  color: var(--cor-destaque);


}



.diferenciais-header p {


  color: rgba(255, 255, 255, .85);


  font-family: 'Poppins', sans-serif;


  font-size: 18px;


  line-height: 32px;


}






/*==========================
        CARDS
===========================*/


.diferencial-card {


  height: 100%;


  padding: 40px 30px;


  border-radius: 25px;


  background:

    rgba(255, 255, 255, .08);


  border:

    1px solid rgba(255, 255, 255, .15);


  backdrop-filter: blur(12px);


  text-align: center;


  transition: .35s;


  position: relative;


}





.diferencial-card:hover {


  transform: translateY(-10px);


  background:

    rgba(255, 255, 255, .13);


  box-shadow:

    0 25px 60px rgba(0, 0, 0, .25);


}




/* ÍCONE */


.diferencial-icon {


  width: 90px;


  height: 90px;


  margin: 0 auto 25px;


  border-radius: 25px;


  background:

    linear-gradient(145deg,
      var(--cor-destaque),
      var(--cor-destaque-hover));


  display: flex;


  align-items: center;


  justify-content: center;


  box-shadow:

    0 15px 35px rgba(0, 0, 0, .25);


}




.diferencial-icon i {


  font-size: 38px;


  color: var(--cor-primaria);


}






/* TEXTO */


.diferencial-card h4 {


  font-family: 'Cormorant Garamond', serif;


  color: #FFF;


  font-size: 32px;


  line-height: 1.2;


  margin-bottom: 18px;


}





.diferencial-card p {


  color: rgba(255, 255, 255, .85);


  font-family: 'Poppins', sans-serif;


  font-size: 15px;


  line-height: 28px;


}





/*==========================
        BOTÃO
===========================*/


.diferencial-btn {


  margin-top: 60px;


  position: relative;


  z-index: 2;


}




.btn-diferencial {


  display: inline-flex;


  align-items: center;


  gap: 12px;


  padding: 17px 38px;


  border-radius: 50px;


  background: var(--cor-destaque);


  color: var(--cor-primaria);


  font-weight: 700;


  transition: .3s;


}





.btn-diferencial:hover {


  background: #FFF;


  transform: translateY(-4px);


  color: var(--cor-primaria);


}






/*======================================================
        RESPONSIVO
======================================================*/


@media(max-width:992px) {


  .diferencial-card {

    margin-bottom: 25px;

  }



  .diferenciais-header h2 {

    font-size: 45px;

  }


}




@media(max-width:600px) {


  .diferenciais-home {


    padding: 80px 0;

  }



  .diferenciais-header {


    margin-bottom: 45px;

    padding: 0 20px;

  }



  .diferenciais-header h2 {


    font-size: 36px;


  }



  .diferenciais-header p {


    font-size: 16px;


    line-height: 28px;


  }




  .diferenciais-badge {


    font-size: 14px;

    padding: 10px 18px;

  }




  .diferencial-card {


    padding: 30px 22px;


    margin-bottom: 22px;


  }




  .diferencial-icon {


    width: 80px;


    height: 80px;


    margin-bottom: 18px;


  }




  .diferencial-icon i {


    font-size: 32px;


  }




  .diferencial-card h4 {


    font-size: 28px;


    margin-bottom: 12px;


  }



  .diferencial-card p {


    font-size: 15px;


    line-height: 26px;


  }




  .btn-diferencial {


    width: 90%;


    justify-content: center;


  }

  /*======================================================
   AJUSTE FINO - ALINHAMENTO DIFERENCIAIS
======================================================*/


  .diferencial-card {

    height: 390px;

    padding: 40px 25px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

  }


  /* Ícone */

  .diferencial-icon {

    flex-shrink: 0;

    margin-bottom: 25px;

  }



  /* Títulos todos no mesmo espaço */

  .diferencial-card h4 {

    height: 70px;

    margin: 0 0 15px;

    display: flex;

    align-items: center;

    justify-content: center;

  }



  /* Texto */

  .diferencial-card p {

    margin: 0;

    height: 90px;

    display: flex;

    align-items: flex-start;

    justify-content: center;

  }



  @media(max-width:600px) {

    .diferencial-card {

      height: auto;

      min-height: 360px;

    }


    .diferencial-card h4 {

      height: auto;

    }


    .diferencial-card p {

      height: auto;

    }

  }


}

/*======================================================
    DIFERENCIAIS - FIM
======================================================*/

/*======================================================
    DEPOIMENTOS - INICIO
======================================================*/

/*
  MANUTENÇÃO DA SEÇÃO DE AVALIAÇÕES

  - O HTML de cada avaliação está em: includes/depoimentos.php.
  - A navegação do carrossel e o botão "Ler avaliação completa" estão em:
    js/depoimentos-carousel.js.
  - Os estilos abaixo definem exclusivamente o visual da seção na Home.

  Organização visual adotada:
  1. Computador: três cards por vez, com autores alinhados na mesma base.
  2. Tablet: dois cards por vez.
  3. Celular: um card por vez, com largura quase total e altura de prévia fixa.

  Ao alterar medidas, mantenha os mesmos pontos de quebra do JavaScript
  (600px e 992px), pois ele usa esses valores para calcular quantos cards
  devem aparecer em cada tamanho de tela.
*/

/*======================================================
    CARROSSEL DE DEPOIMENTOS

    A área visível esconde somente os cards que ainda não estão na tela.
    O JavaScript desloca a faixa interna conforme o botão escolhido, sem
    duplicar avaliações nem depender de um serviço externo.
======================================================*/

.depoimentos-carousel {

  position: relative;

  z-index: 2;

  /*
    O carrossel precisa ocultar os cards que ficam fora da tela. Este espaço
    interno extra impede que a sombra do primeiro ou do último card seja
    cortada de forma reta quando o mouse passa sobre ele. As margens negativas
    compensam o respiro para preservar o alinhamento original dos cards.
  */
  overflow: hidden;

  margin: -35px -40px -10px;

  padding: 40px 45px 28px;
}


.depoimentos-carousel .depoimentos-grid {

  display: flex;

  flex-wrap: nowrap;

  align-items: stretch;

  /*
    O espaço de 26px separa visualmente os cards e também é lido pelo
    JavaScript ao calcular a distância exata de cada avanço no carrossel.
  */
  gap: 26px;

  margin: 0;

  transition: transform .45s ease;

  will-change: transform;
}


.depoimentos-carousel .depoimentos-grid > .col {

  display: flex;

  /*
    Dois espaços de 26px equivalem a 52px. O restante é dividido em três
    para que os três cards preencham a faixa sem quebra de linha.
  */
  flex: 0 0 calc((100% - 52px) / 3);

  width: calc((100% - 52px) / 3) !important;

  max-width: calc((100% - 52px) / 3);

  min-width: 0;

  margin: 0 !important;

  padding: 0 !important;
}


/* Os botões permitem avançar ou voltar sem movimento automático inesperado. */
.depoimentos-controles {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 14px;

  margin-top: 30px;
}


.depoimentos-seta {

  width: 43px;

  height: 43px;

  border: 1px solid rgba(201, 161, 45, .55);

  border-radius: 50%;

  background: #FFFFFF;

  color: var(--cor-primaria);

  cursor: pointer;

  /*
    O Materialize aplica fundo verde a todo <button> que fica em foco após
    um clique. Estes controles precisam manter o visual branco; o foco por
    teclado recebe o destaque dourado logo abaixo, de forma intencional.
  */
  -webkit-appearance: none;
  appearance: none;

  transition: background .25s ease, color .25s ease, transform .25s ease, opacity .25s ease;
}


.depoimentos-seta:focus {

  background: #FFFFFF !important;

  color: var(--cor-primaria);

  outline: none;
}


.depoimentos-seta:hover:not(:disabled) {

  background: var(--cor-destaque) !important;

  color: #FFFFFF;

  transform: translateY(-2px);

  outline: none;
}


/* O teclado continua tendo um foco perceptível, sem mudar o fundo da seta. */
.depoimentos-seta:focus-visible:not(:disabled) {

  background: #FFFFFF !important;

  color: var(--cor-primaria);

  outline: 2px solid var(--cor-destaque);

  outline-offset: 3px;
}


.depoimentos-seta:disabled {

  cursor: not-allowed;

  opacity: .38;
}


.depoimentos-contador {

  min-width: 86px;

  color: #6F7B89;

  font-size: 13px;

  font-weight: 700;

  text-align: center;
}


@media (max-width: 992px) {

  .depoimentos-carousel .depoimentos-grid > .col {

    flex-basis: calc((100% - 26px) / 2);

    width: calc((100% - 26px) / 2) !important;

    max-width: calc((100% - 26px) / 2);
  }
}


@media (max-width: 600px) {

  .depoimentos-carousel {

    /*
      No celular, o carrossel não deve avançar até as bordas da tela.
      As pequenas laterais preservam o respiro visual dos cards e também
      deixam claro que é possível navegar para a próxima avaliação.
    */
    margin: 0;

    padding: 8px 10px 18px;
  }

  .depoimentos-carousel .depoimentos-grid {

    display: flex;

    gap: 18px;

    /*
      No desktop, os cards têm alturas iguais para formar uma grade.
      No celular cada avaliação deve ocupar apenas a altura do seu texto;
      assim comentários curtos não viram um cartão excessivamente alto.
    */
    align-items: flex-start;
  }

  .depoimentos-carousel .depoimentos-grid > .col {

    display: flex;

    /* Margem lateral discreta, sem reduzir a área de leitura em excesso. */
    flex: 0 0 calc(100% - 12px);

    width: calc(100% - 12px) !important;

    max-width: calc(100% - 12px);

    margin: 0 !important;
  }

  .depoimentos-controles {

    margin-top: 24px;
  }
}

.depoimentos-home {

  padding: 110px 0;

  background:
    linear-gradient(180deg,
      #FFFFFF 0%,
      #F8FAFC 50%,
      #FFFFFF 100%);

  position: relative;

  overflow: hidden;
}


/*======================================================
    DETALHES DE FUNDO
======================================================*/

.depoimentos-home::before {

  content: "";

  position: absolute;

  width: 500px;
  height: 500px;

  border-radius: 50%;

  background: rgba(20, 58, 99, .035);

  top: -220px;
  right: -180px;

  filter: blur(20px);

  pointer-events: none;
}


.depoimentos-home::after {

  content: "";

  position: absolute;

  width: 350px;
  height: 350px;

  border-radius: 50%;

  background: rgba(201, 162, 39, .045);

  bottom: -180px;
  left: -120px;

  filter: blur(20px);

  pointer-events: none;
}


/*======================================================
    CABEÇALHO
======================================================*/

.depoimentos-header {

  position: relative;

  z-index: 2;

  max-width: 760px;

  margin: 0 auto 65px;
}


.depoimentos-badge {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding: 11px 24px;

  background: #FFFFFF;

  border: 1px solid rgba(20, 58, 99, .08);

  border-radius: 40px;

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  font-weight: 600;

  box-shadow:
    0 10px 30px rgba(20, 58, 99, .05);
}


.depoimentos-badge i {

  color: var(--cor-destaque);

  font-size: 15px;
}


.depoimentos-header h2 {

  font-family: 'Cormorant Garamond', serif;

  font-size: 56px;

  line-height: 1.1;

  color: var(--cor-primaria);

  margin: 25px 0 20px;

  font-weight: 500;
}


.depoimentos-header h2 span {

  color: var(--cor-destaque);
}


.depoimentos-header p {

  color: #6F7B89;

  font-size: 17px;

  line-height: 30px;

  margin: 0;
}


/*======================================================
    GRID DOS DEPOIMENTOS
======================================================*/

.depoimentos-grid {

  position: relative;

  z-index: 2;

  display: flex;

  align-items: stretch;
}


.depoimentos-grid>.col {

  display: flex;
}


/*======================================================
    CARD
======================================================*/

.depoimento-card {

  width: 100%;

  background: #FFFFFF;

  border-radius: 26px;

  padding: 38px 35px 28px;

  position: relative;

  overflow: hidden;

  /*
    A coluna flexível permite que o bloco .depoimento-autor use
    margin-top: auto e permaneça alinhado no rodapé de todos os cards.
  */
  display: flex;

  flex-direction: column;

  box-sizing: border-box;

  border: 1px solid rgba(20, 58, 99, .045);

  /*
    Profundidade mínima no estado normal. Como o carrossel possui uma área
    de respiro, esta sombra curta não é mais cortada nas laterais nem cria
    uma faixa cinza atrás dos cards.
  */
  box-shadow: 0 5px 14px rgba(20, 58, 99, .025);

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}


.depoimento-card:hover {

  transform: translateY(-8px);

  /* Sombra de hover com alcance controlado para não parecer uma faixa. */
  box-shadow:
    0 16px 34px rgba(20, 58, 99, .10),
    0 26px 46px rgba(20, 58, 99, .045);
}


/*======================================================
    LINHA DOURADA
======================================================*/

.depoimento-card::before {

  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 3px;

  background: var(--cor-destaque);

  transform: scaleX(.25);

  transform-origin: center;

  transition: .35s;
}


.depoimento-card:hover::before {

  transform: scaleX(1);
}


/*======================================================
    ESTRELAS
======================================================*/

.depoimento-estrelas {

  display: flex;

  align-items: center;

  gap: 5px;

  margin-bottom: 25px;
}


.depoimento-estrelas i {

  color: var(--cor-destaque);

  font-size: 15px;
}


/*======================================================
    ASPAS
======================================================*/

.depoimento-aspas {

  position: absolute;

  top: 25px;
  right: 28px;

  color: rgba(201, 162, 39, .10);

  line-height: 1;

  pointer-events: none;
}


.depoimento-aspas i {

  font-size: 55px;
}


/*======================================================
    TEXTO
======================================================*/

.depoimento-texto {

  color: #5F6C7B;

  font-size: 16px;

  line-height: 29px;

  margin: 0;

  flex-grow: 1;
}


/*
  A prévia mantém os cards compactos. Quando o visitante usa o botão
  "Ler avaliação completa", a classe .is-expanded é aplicada no card
  pelo arquivo js/depoimentos-carousel.js e revela todo o comentário.
*/
.depoimento-texto-wrapper {

  position: relative;

  max-height: 116px;

  overflow: hidden;

  transition: max-height .3s ease;
}


.depoimento-texto-wrapper::after {

  content: '';

  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 38px;

  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 88%);

  pointer-events: none;
}


.depoimento-card.is-expanded .depoimento-texto-wrapper {

  max-height: 700px;
}


.depoimento-card.is-expanded .depoimento-texto-wrapper::after,
.depoimento-card.depoimento-sem-resumo .depoimento-texto-wrapper::after {

  opacity: 0;
}


/* Botão discreto que deixa claro que existe uma avaliação completa. */
.depoimento-ler-mais {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  align-self: flex-start;

  margin-top: 12px;

  padding: 0;

  color: var(--cor-destaque);

  background: transparent;

  border: 0;

  font-family: 'Poppins', sans-serif;

  font-size: 13px;

  font-weight: 700;

  cursor: pointer;

  /*
    O Materialize aplica um fundo verde a qualquer <button> em foco.
    Como este botão é um link visual discreto, anulamos apenas essa regra
    para evitar que ele fique destacado depois do clique.
  */
  -webkit-appearance: none;

  appearance: none;

  outline: none;
}


.depoimento-ler-mais:focus {

  background: transparent !important;
}


.depoimento-ler-mais:hover,
.depoimento-ler-mais:focus-visible {

  color: var(--cor-primaria);

  text-decoration: none;
}


/* Indicação de foco acessível sem alterar as cores do botão. */
.depoimento-ler-mais:focus-visible {

  outline: 2px solid var(--cor-destaque);

  outline-offset: 4px;

  border-radius: 3px;
}


/* Comentários curtos já aparecem inteiros, então não precisam do botão. */
.depoimento-card.depoimento-sem-resumo .depoimento-ler-mais {

  display: none;
}


/*======================================================
    AUTOR
======================================================*/

.depoimento-autor {

  display: flex;

  align-items: center;

  gap: 14px;

  /*
    Empurra o autor para a base do card. Como a grade estica os cards de
    cada página do carrossel até a mesma altura, os nomes ficam alinhados
    mesmo quando os textos das avaliações possuem comprimentos diferentes.
  */
  margin-top: auto;

  padding-top: 22px;

  border-top: 1px solid rgba(20, 58, 99, .08);
}


/* Avatar com inicial */

.autor-avatar {

  width: 46px;
  height: 46px;

  min-width: 46px;

  border-radius: 50%;

  background:
    linear-gradient(145deg,
      var(--cor-primaria-clara),
      var(--cor-primaria));

  color: var(--cor-destaque);

  display: flex;

  align-items: center;

  justify-content: center;

  font-family: 'Cormorant Garamond', serif;

  font-size: 22px;

  font-weight: 700;
}


.depoimento-autor strong {

  display: block;

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  font-weight: 700;

  margin-bottom: 3px;
}


.depoimento-autor span {

  display: block;

  color: var(--cor-destaque);

  font-size: 12px;

  font-weight: 600;
}


/*======================================================
    AVALIAÇÃO NO GOOGLE
======================================================*/

.depoimento-google {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  gap: 7px;

  margin-top: 18px;

  color: #7B8794;

  font-size: 11px;

  font-weight: 500;

  opacity: .85;
}


.depoimento-google span {

  line-height: 1;
}


.depoimento-google i {

  font-size: 15px;

  color: #4285F4;

  transition: .3s;
}


.depoimento-card:hover .depoimento-google i {

  transform: scale(1.08);
}


/*======================================================
    RODAPÉ DA SEÇÃO
======================================================*/

.depoimentos-footer {

  position: relative;

  z-index: 2;

  margin-top: 60px;
}


/*
  Mantém os dois caminhos do Google alinhados no computador:
  - botão principal: consulta das avaliações públicas;
  - botão secundário: link direto para a pessoa deixar uma nova avaliação.
  O flex-wrap evita sobreposição caso a largura disponível seja pequena.
*/
.depoimentos-acoes {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: center;

  gap: 14px;
}


.depoimentos-footer p {

  color: #6F7B89;

  font-size: 16px;

  margin-bottom: 20px;
}


/*======================================================
    BOTÃO
======================================================*/

.btn-depoimentos {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 11px;

  padding: 16px 32px;

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  border-radius: 50px;

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: .2px;

  box-shadow:
    0 10px 25px rgba(201, 162, 39, .18);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease;
}


.btn-depoimentos i {

  font-size: 18px;
}


.btn-depoimentos:hover {

  background: var(--cor-primaria);

  color: #FFFFFF;

  transform: translateY(-3px);

  box-shadow:
    0 15px 35px rgba(20, 58, 99, .18);
}


/*
  A ação secundária não concorre visualmente com o botão de consultar as
  avaliações, mas preserva contraste e uma área confortável para toque.
*/
.btn-depoimentos--secundario {

  background: #FFFFFF;

  color: var(--cor-primaria);

  border: 1px solid rgba(201, 161, 45, .7);

  box-shadow: none;
}


.btn-depoimentos--secundario:hover {

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  box-shadow: 0 10px 24px rgba(201, 162, 39, .18);
}


/*======================================================
    TABLET
======================================================*/

@media (max-width: 992px) {

  .depoimentos-home {

    padding: 90px 0;
  }


  .depoimentos-header h2 {

    font-size: 46px;
  }


  .depoimento-card {

    padding: 32px 28px 26px;
  }

}


/*======================================================
    CELULAR
======================================================*/

@media (max-width: 600px) {

  .depoimentos-home {

    padding: 75px 0;
  }


  .depoimentos-header {

    margin-bottom: 45px;

    padding: 0 10px;
  }


  .depoimentos-badge {

    padding: 10px 20px;

    font-size: 13px;
  }


  .depoimentos-header h2 {

    font-size: 38px;

    line-height: 1.15;

    margin: 22px 0 16px;
  }


  .depoimentos-header p {

    font-size: 15px;

    line-height: 27px;
  }


  /* Cards um abaixo do outro */

  .depoimentos-grid {

    display: block;
  }


  .depoimentos-grid>.col {

    display: block;

    width: 100%;

    margin-bottom: 22px;
  }


  .depoimento-card {

    width: 100%;

    padding: 32px 26px 27px;

    border-radius: 23px;
  }


  /*
    A prévia de cada avaliação usa uma altura única no celular. Isso evita
    que um comentário curto pareça "solto" e que o botão do carrossel mude
    de posição a cada troca. O conteúdo completo continua disponível:
    quando .is-expanded é aplicada pelo JavaScript, o card volta a crescer.
  */
  .depoimento-card:not(.is-expanded) {

    height: 370px;

    min-height: 370px;
  }


  .depoimento-card.is-expanded {

    height: auto;

    min-height: 370px;
  }


  /* Mantém autor e referência do Google alinhados na base da prévia. */
  .depoimento-card:not(.is-expanded) .depoimento-autor {

    margin-top: auto;
  }


  .depoimento-estrelas {

    margin-bottom: 20px;
  }


  .depoimento-texto {

    font-size: 15px;

    line-height: 27px;
  }


  .depoimento-aspas {

    right: 22px;

    top: 22px;
  }


  .depoimento-aspas i {

    font-size: 45px;
  }


  .depoimento-autor {

    margin-top: 25px;

    padding-top: 18px;
  }


  .autor-avatar {

    width: 44px;
    height: 44px;

    min-width: 44px;

    font-size: 20px;
  }


  .depoimento-google {

    margin-top: 16px;

    font-size: 10px;
  }


  .depoimento-google i {

    font-size: 14px;
  }


  .depoimentos-footer {

    margin-top: 35px;

    padding: 0 15px;
  }


  .btn-depoimentos {

    width: 100%;

    max-width: 320px;
  }


  /*
    No celular, cada botão ocupa sua própria linha para facilitar o toque,
    respeitar uma área clicável confortável e não comprimir os rótulos.
  */
  .depoimentos-acoes {

    flex-direction: column;

    gap: 12px;
  }

}

/*======================================================
    DEPOIMENTOS - FIM
======================================================*/

/*======================================================
    CHAMADA PARA ATENDIMENTO - INICIO
======================================================*/

.cta-home {

  position: relative;

  padding: 85px 0;

  background:
    linear-gradient(135deg,
      var(--cor-primaria) 0%,
      var(--cor-primaria-clara) 100%);

  overflow: hidden;

}


/*======================================================
    DECORAÇÕES DE FUNDO
======================================================*/

.cta-decoration {

  position: absolute;

  border-radius: 50%;

  pointer-events: none;

}


.cta-decoration-1 {

  width: 420px;

  height: 420px;

  top: -230px;

  right: -150px;

  background: rgba(201, 162, 39, .08);

  filter: blur(5px);

}


.cta-decoration-2 {

  width: 300px;

  height: 300px;

  bottom: -180px;

  left: -120px;

  background: rgba(255, 255, 255, .035);

  filter: blur(8px);

}


/*======================================================
    CONTEÚDO
======================================================*/

.cta-content {

  position: relative;

  z-index: 2;

  max-width: 800px;

  margin: 0 auto;

}


/*======================================================
    BADGE
======================================================*/

.cta-badge {

  display: inline-flex;

  align-items: center;

  gap: 9px;

  padding: 10px 22px;

  border: 1px solid rgba(201, 162, 39, .35);

  border-radius: 40px;

  color: var(--cor-destaque);

  background: rgba(255, 255, 255, .045);

  font-family: 'Poppins', sans-serif;

  font-size: 13px;

  font-weight: 600;

  letter-spacing: .3px;

}


.cta-badge i {

  font-size: 14px;

  color: var(--cor-destaque);

}


/*======================================================
    TÍTULO
======================================================*/

.cta-content h2 {

  font-family: 'Cormorant Garamond', serif;

  font-size: 52px;

  line-height: 1.1;

  font-weight: 500;

  color: #FFFFFF;

  margin: 24px 0 18px;

}


.cta-content h2 span {

  color: var(--cor-destaque);

}


/*======================================================
    TEXTO
======================================================*/

.cta-content>p {

  max-width: 680px;

  margin: 0 auto;

  color: rgba(255, 255, 255, .82);

  font-size: 17px;

  line-height: 30px;

}


/*======================================================
    BOTÕES
======================================================*/

.cta-botoes {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 15px;

  margin-top: 35px;

}


/* Botão principal */

.btn-cta-principal {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  min-height: 52px;

  padding: 15px 30px;

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  border-radius: 50px;

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: .2px;

  box-shadow:
    0 12px 30px rgba(0, 0, 0, .15);

  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease;

}


.btn-cta-principal i {

  font-size: 18px;

}


.btn-cta-principal:hover {

  background: #FFFFFF;

  color: var(--cor-primaria);

  transform: translateY(-3px);

  box-shadow:
    0 16px 35px rgba(0, 0, 0, .20);

}


/* Botão secundário */

.btn-cta-secundario {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  min-height: 52px;

  padding: 14px 28px;

  border: 1px solid rgba(255, 255, 255, .35);

  background: rgba(255, 255, 255, .04);

  color: #FFFFFF;

  border-radius: 50px;

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  font-weight: 600;

  transition:
    transform .3s ease,
    background .3s ease,
    border-color .3s ease;

}


.btn-cta-secundario i {

  font-size: 13px;

  transition: transform .3s ease;

}


.btn-cta-secundario:hover {

  background: rgba(255, 255, 255, .10);

  border-color: var(--cor-destaque);

  color: #FFFFFF;

  transform: translateY(-3px);

}


.btn-cta-secundario:hover i {

  transform: translateX(4px);

}


/*======================================================
    INFORMAÇÃO
======================================================*/

.cta-info {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  margin-top: 28px;

  color: rgba(255, 255, 255, .62);

  font-size: 13px;

}


.cta-info i {

  color: var(--cor-destaque);

  font-size: 14px;

}


/*======================================================
    TABLET
======================================================*/

@media (max-width: 992px) {

  .cta-home {

    padding: 75px 0;

  }


  .cta-content h2 {

    font-size: 46px;

  }

}


/*======================================================
    CELULAR
======================================================*/

@media (max-width: 600px) {

  .cta-home {

    padding: 65px 20px;

  }


  .cta-content {

    max-width: 100%;

  }


  .cta-badge {

    padding: 9px 18px;

    font-size: 12px;

  }


  .cta-content h2 {

    font-size: 38px;

    line-height: 1.15;

    margin: 20px 0 15px;

  }


  .cta-content>p {

    font-size: 15px;

    line-height: 27px;

  }


  /* Botões um abaixo do outro */

  .cta-botoes {

    flex-direction: column;

    width: 100%;

    gap: 12px;

    margin-top: 28px;

  }


  .btn-cta-principal,

  .btn-cta-secundario {

    width: 100%;

    max-width: 330px;

    box-sizing: border-box;

  }


  .cta-info {

    font-size: 12px;

    line-height: 20px;

    margin-top: 23px;

  }


  .cta-decoration-1 {

    width: 300px;

    height: 300px;

    top: -170px;

    right: -140px;

  }


  .cta-decoration-2 {

    width: 220px;

    height: 220px;

    bottom: -140px;

    left: -100px;

  }

}

/*======================================================
    CHAMADA PARA ATENDIMENTO - FIM
======================================================*/





/*======================================================
    ÁREAS DE ATUAÇÃO - INICIO
======================================================*/
.areas-home {
  padding: 110px 0;
  background: linear-gradient(180deg,
      #FFFFFF 0%,
      #F8FAFC 45%,
      #FFFFFF 100%);
  position: relative;
  overflow: hidden;
}

.areas-home::before {
  content: "";
  position: absolute;
  width: 550px;
  height: 550px;
  border-radius: 50%;
  background: rgba(20, 58, 99, .035);
  top: -220px;
  right: -180px;
  filter: blur(15px);
}

.areas-home::after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: rgba(201, 162, 39, .05);
  bottom: -180px;
  left: -120px;
  filter: blur(10px);
}

/*==========================
        HEADER
===========================*/

.areas-header {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto 70px;
}

.areas-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 25px;
  background: #FFF;
  border: 1px solid rgba(20, 58, 99, .08);
  border-radius: 40px;
  color: var(--cor-primaria);
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  box-shadow: 0 10px 30px rgba(20, 58, 99, .05);
}

.areas-badge i {
  color: var(--cor-destaque);
}

.areas-header h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 56px;
  color: var(--cor-primaria);
  margin: 25px 0;
}

.areas-header p {
  color: #6F7B89;
  line-height: 34px;
  font-size: 18px;
}

/*==========================
      CARD PRINCIPAL
===========================*/

.area-principal {

  background: linear-gradient(180deg,
      #FFFFFF,
      #FCFCFC);

  border-radius: 30px;

  padding: 60px;

  box-shadow:
    0 15px 40px rgba(20, 58, 99, .05),
    0 30px 70px rgba(20, 58, 99, .04);

  position: relative;

  overflow: hidden;

  transition: .35s;

  margin-bottom: 70px;

}

.area-principal:hover {

  transform:
    translateY(-8px) scale(1.01);

  box-shadow:
    0 25px 70px rgba(20, 58, 99, .10);

}

.area-tag {

  position: absolute;

  right: 30px;

  top: 30px;

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  padding: 10px 22px;

  border-radius: 40px;

  font-size: 13px;

  font-weight: 700;

  display: flex;

  gap: 8px;

  align-items: center;

}

.principal-icon {

  width: 170px;

  height: 170px;

  margin: auto;

  border-radius: 28px;

  background:
    linear-gradient(145deg,
      var(--cor-primaria-clara),
      var(--cor-primaria));

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow:
    inset 0 1px 2px rgba(255, 255, 255, .08),
    0 20px 45px rgba(20, 58, 99, .18);

}

.principal-icon i {

  font-size: 70px;

  color: var(--cor-destaque);

}

.area-principal h3 {

  font-family: 'Cormorant Garamond', serif;

  color: var(--cor-primaria);

  font-size: 48px;

  margin-bottom: 18px;

}

.area-principal p {

  color: #6F7B89;

  line-height: 32px;

  margin-bottom: 35px;

}

/*==========================
      LISTA
===========================*/

.principal-lista {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 18px;

  margin-bottom: 35px;

}

.principal-lista div {

  display: flex;

  gap: 12px;

  align-items: center;

  color: var(--cor-primaria);

  font-weight: 600;

}

.principal-lista i {

  color: var(--cor-destaque);

}

/*==========================
       BOTÃO
===========================*/

.btn-principal {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  padding: 16px 34px;

  background: var(--cor-primaria);

  color: #FFF;

  border-radius: 50px;

  letter-spacing: .4px;

  font-weight: 600;

  transition: .3s;

}

.btn-principal:hover {

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  transform: translateY(-3px);

}

/*==========================
      SUBTÍTULO
===========================*/

.areas-subtitulo {

  text-align: center;

  margin: 60px 0 40px;

}

.areas-subtitulo span {

  font-family: 'Cormorant Garamond', serif;

  color: var(--cor-primaria);

  font-size: 28px;

  font-weight: 700;

}

/*==========================
       CARDS
===========================*/

.area-card {

  background: #FFF;

  border-radius: 25px;

  padding: 40px;

  height: 100%;

  text-align: center;

  position: relative;

  overflow: hidden;

  transition: .35s;

  box-shadow:
    0 10px 30px rgba(20, 58, 99, .05),
    0 25px 60px rgba(20, 58, 99, .04);

}

.area-card::before {

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  width: 0;

  height: 3px;

  background: var(--cor-destaque);

  transition: .4s;

}

.area-card:hover::before {

  width: 100%;

}

.area-card:hover {

  transform:
    translateY(-8px) scale(1.01);

}

.icone {

  width: 90px;

  height: 90px;

  border-radius: 24px;

  margin: auto auto 25px;

  background:
    linear-gradient(145deg,
      var(--cor-primaria-clara),
      var(--cor-primaria));

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow:
    inset 0 1px 2px rgba(255, 255, 255, .08),
    0 15px 35px rgba(20, 58, 99, .18);

}

.icone i {

  font-size: 38px;

  color: var(--cor-destaque);

}

.area-card h4 {

  font-family: 'Cormorant Garamond', serif;

  color: var(--cor-primaria);

  font-size: 34px;

  margin-bottom: 15px;

}

.area-card p {

  color: #6F7B89;

  line-height: 30px;

  margin-bottom: 25px;

}

.area-card a {

  color: var(--cor-primaria);

  font-weight: 700;

}

.area-card a:hover {

  color: var(--cor-destaque);

}

/*==========================
      MINI CARDS
===========================*/

.areas-mini {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 18px;

  margin-top: 35px;

}

.areas-mini a {

  background: #FFF;

  border-radius: 18px;

  padding: 22px;

  display: flex;

  align-items: center;

  gap: 15px;

  color: var(--cor-primaria);

  font-weight: 600;

  transition: .3s;

  box-shadow:
    0 10px 30px rgba(20, 58, 99, .05);

}

.areas-mini a:hover {

  background: var(--cor-primaria);

  color: #FFF;

  transform: translateY(-5px);

}

.areas-mini a:hover i {

  transform: rotate(-8deg);

}

.areas-mini i {

  color: var(--cor-destaque);

  font-size: 22px;

  transition: .3s;

}

/*==========================
      BOTÃO FINAL
===========================*/

.area-footer {

  margin-top: 70px;

}

.btn-todas {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  padding: 18px 40px;

  border-radius: 50px;

  font-weight: 700;

  letter-spacing: .4px;

  transition: .3s;

}

.btn-todas:hover {

  transform: translateY(-4px);

  box-shadow: 0 18px 40px rgba(20, 58, 99, .15);

}

/*==========================
      RESPONSIVO
===========================*/

@media(max-width:992px) {

  .area-principal {
    padding: 40px;
    text-align: center;
  }

  .principal-lista {
    grid-template-columns: 1fr;
  }

  .areas-mini {
    grid-template-columns: 1fr;
  }

  .areas-header h2 {
    font-size: 42px;
  }

}

/*==========================
      RESPONSIVO MOBILE
===========================*/

@media(max-width:600px) {


  .areas-home {

    padding: 70px 0;

  }



  .areas-header {

    margin-bottom: 45px;

    padding: 0 20px;

  }



  .areas-badge {

    padding: 10px 18px;

    font-size: 14px;

  }



  .areas-header h2 {

    font-size: 34px;

    margin: 20px 0;

    line-height: 1.15;

  }



  .areas-header p {

    font-size: 16px;

    line-height: 28px;

  }




  /* =====================
      CARD PRINCIPAL
  ===================== */


  .area-principal {


    padding: 30px 22px;

    text-align: center;


  }



  .area-principal .row {


    display: flex;

    flex-direction: column;


  }



  .area-principal .col {


    width: 100% !important;

  }





  /* TAG / BADGE */


  .area-tag {


    position: relative;

    top: auto;

    right: auto;


    display: inline-flex;


    margin: 0 auto 18px;


    padding: 9px 18px;


  }





  /* ÍCONE */


  .principal-icon {


    width: 120px;

    height: 120px;


    margin: 0 auto 18px;


  }



  .principal-icon i {


    font-size: 50px;


  }





  /* TÍTULO */


  .area-principal h3 {


    font-size: 34px;


    line-height: 1.15;


    margin: 10px 0 15px;


  }





  /* TEXTO */


  .area-principal p {


    font-size: 16px;


    line-height: 28px;


    margin-bottom: 25px;


  }





  /* LISTA */


  .principal-lista {


    grid-template-columns: 1fr;


    gap: 12px;


    margin: 25px 0;


  }



  .principal-lista div {


    justify-content: center;

    font-size: 15px;


  }





  /* BOTÃO */


  .btn-principal {


    width: 100%;


    justify-content: center;


    padding: 15px 25px;


  }





  /* =====================
       CARDS SECUNDÁRIOS
  ===================== */


  .area-card {


    padding: 30px 22px;

    margin-bottom: 25px;


  }



  .icone {


    width: 80px;

    height: 80px;

    margin-bottom: 18px;


  }



  .icone i {


    font-size: 34px;


  }



  .area-card h4 {


    font-size: 28px;


    margin-bottom: 12px;


  }



  .area-card p {


    font-size: 16px;

    line-height: 28px;


  }





  /* MINI CARDS */


  .areas-mini {


    grid-template-columns: 1fr;

    gap: 15px;


  }



}

/* ======================================================
  AREA DE ATUAÇÃO - FIM
====================================================== */

/*======================================================
    CONTATO - INICIO
======================================================*/

.contato-home {

  padding: 110px 0;

  background:
    linear-gradient(180deg,
      #FFFFFF 0%,
      #F8FAFC 50%,
      #FFFFFF 100%);

  position: relative;

  overflow: hidden;
}


/*======================================================
    DETALHES DE FUNDO
======================================================*/

.contato-home::before {

  content: "";

  position: absolute;

  width: 520px;
  height: 520px;

  border-radius: 50%;

  background: rgba(20, 58, 99, .035);

  top: -230px;
  right: -180px;

  filter: blur(20px);

  pointer-events: none;
}


.contato-home::after {

  content: "";

  position: absolute;

  width: 360px;
  height: 360px;

  border-radius: 50%;

  background: rgba(201, 162, 39, .045);

  bottom: -190px;
  left: -140px;

  filter: blur(20px);

  pointer-events: none;
}


/*======================================================
    CABEÇALHO
======================================================*/

.contato-header {

  position: relative;

  z-index: 2;

  max-width: 760px;

  margin: 0 auto 65px;
}


.contato-badge {

  display: inline-flex;

  align-items: center;

  gap: 9px;

  padding: 11px 24px;

  background: #FFFFFF;

  border: 1px solid rgba(20, 58, 99, .08);

  border-radius: 40px;

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 13px;

  font-weight: 600;

  box-shadow:
    0 10px 30px rgba(20, 58, 99, .05);
}


.contato-badge i {

  color: var(--cor-destaque);

  font-size: 15px;
}


.contato-header h2 {

  font-family: 'Cormorant Garamond', serif;

  font-size: 56px;

  line-height: 1.1;

  font-weight: 500;

  color: var(--cor-primaria);

  margin: 25px 0 18px;
}


.contato-header h2 span {

  color: var(--cor-destaque);
}


.contato-header p {

  color: #6F7B89;

  font-size: 17px;

  line-height: 30px;

  margin: 0;
}


/*======================================================
    CONTEÚDO
======================================================*/

.contato-conteudo {

  position: relative;

  z-index: 2;

  display: flex;

  align-items: stretch;
}


.contato-conteudo>.col {

  display: flex;
}


/*======================================================
    INFORMAÇÕES
======================================================*/

.contato-informacoes {

  width: 100%;

  padding: 45px 40px;

  background:
    linear-gradient(145deg,
      var(--cor-primaria),
      var(--cor-primaria-clara));

  border-radius: 28px;

  color: #FFFFFF;

  box-shadow:
    0 18px 45px rgba(20, 58, 99, .12);

  position: relative;

  overflow: hidden;
}


.contato-informacoes::before {

  content: "";

  position: absolute;

  width: 260px;
  height: 260px;

  border-radius: 50%;

  background: rgba(201, 162, 39, .07);

  top: -130px;
  right: -100px;
}


.contato-informacoes h3 {

  position: relative;

  z-index: 1;

  font-family: 'Cormorant Garamond', serif;

  font-size: 38px;

  line-height: 1.15;

  font-weight: 500;

  color: #FFFFFF;

  margin: 0 0 15px;
}


.contato-informacoes h3 span {

  color: var(--cor-destaque);
}


.contato-descricao {

  position: relative;

  z-index: 1;

  color: rgba(255, 255, 255, .78);

  font-size: 15px;

  line-height: 27px;

  margin: 0 0 32px;
}


/*======================================================
    ITEM DE CONTATO
======================================================*/

.contato-item {

  position: relative;

  z-index: 1;

  display: flex;

  align-items: flex-start;

  gap: 15px;

  margin-bottom: 23px;
}


.contato-item:last-child {

  margin-bottom: 0;
}


.contato-item-icon {

  width: 42px;
  height: 42px;

  min-width: 42px;

  border-radius: 12px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(255, 255, 255, .08);

  color: var(--cor-destaque);

  border: 1px solid rgba(201, 162, 39, .18);
}


.contato-item-icon i {

  font-size: 17px;
}


.contato-item span {

  display: block;

  color: rgba(255, 255, 255, .55);

  font-size: 11px;

  text-transform: uppercase;

  letter-spacing: .7px;

  margin-bottom: 4px;
}


.contato-item strong {

  display: block;

  color: #FFFFFF;

  font-size: 14px;

  line-height: 21px;

  font-weight: 500;

  word-break: break-word;
}


/*======================================================
    FORMULÁRIO
======================================================*/

.contato-form-card {

  width: 100%;

  background: #FFFFFF;

  border-radius: 28px;

  padding: 45px 45px 38px;

  border: 1px solid rgba(20, 58, 99, .05);

  box-shadow:
    0 15px 40px rgba(20, 58, 99, .055),
    0 30px 65px rgba(20, 58, 99, .035);
}


.contato-form-header {

  margin-bottom: 28px;
}


.contato-form-header h3 {

  font-family: 'Cormorant Garamond', serif;

  color: var(--cor-primaria);

  font-size: 34px;

  font-weight: 600;

  margin: 0 0 5px;
}


.contato-form-header p {

  color: #7B8794;

  font-size: 14px;

  margin: 0;
}


/*======================================================
    CAMPOS
======================================================*/

.contato-form .input-field {

  margin-top: 24px;

  margin-bottom: 18px;
}


.contato-form .input-field input,
.contato-form .input-field textarea {

  border-bottom: 1px solid #DDE3EA;

  box-shadow: none;

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 14px;
}


.contato-form .input-field input:focus,
.contato-form .input-field textarea:focus {

  border-bottom: 1px solid var(--cor-destaque);

  box-shadow:
    0 1px 0 0 var(--cor-destaque);
}


.contato-form .input-field label {

  color: #8A96A3;

  font-size: 13px;
}


.contato-form .input-field label.active {

  color: var(--cor-primaria);
}


.contato-form .input-field .prefix {

  color: #A7B1BC;

  font-size: 20px;

  transition: .3s;
}


.contato-form .input-field .prefix.active {

  color: var(--cor-destaque);
}


/*======================================================
    SELECT
======================================================*/

.contato-select {
  margin-top: 28px !important;
}


/* WRAPPER CRIADO PELO MATERIALIZE */

.contato-select .select-wrapper {

  margin-left: 3rem;

  width: calc(100% - 3rem);

}


/* CAMPO VISUAL DO SELECT */

.contato-select .select-wrapper input.select-dropdown {

  width: 100%;

  margin: 0;

  height: 3rem;

  line-height: 3rem;

  border-bottom: 1px solid #DDE3EA;

  box-shadow: none;

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  outline: none;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;

}


/* FOCO */

.contato-select .select-wrapper input.select-dropdown:focus {

  border-bottom: 1px solid var(--cor-destaque);

  box-shadow:
    0 1px 0 0 var(--cor-destaque);

}


/* SETA DO SELECT */

.contato-select .select-wrapper .caret {

  fill: var(--cor-primaria);

}


/* LABEL */

.contato-select>label {

  width: auto;

  color: #8A96A3;

}


/* LISTA ABERTA */

.contato-select .dropdown-content {

  min-width: 100%;

  border-radius: 12px;

  box-shadow:
    0 12px 30px rgba(20, 58, 99, .12);

}


/* OPÇÕES */

.contato-select .dropdown-content li>span {

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 13px;

}


/* OPÇÃO AO PASSAR O MOUSE */

.contato-select .dropdown-content li:hover,
.contato-select .dropdown-content li.active {

  background: rgba(201, 162, 39, .08);

}

/*======================================================
    TEXTAREA
======================================================*/

.contato-form textarea {

  min-height: 90px;

  resize: vertical;
}


/*======================================================
    BOTÃO
======================================================*/

.contato-form-btn {

  margin-top: 28px;

  text-align: right;
}


.btn-contato {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  min-height: 50px;

  min-width: 190px;

  padding: 14px 30px;

  border: none;

  border-radius: 50px;

  background: var(--cor-destaque);

  color: var(--cor-primaria);

  font-family: 'Poppins', sans-serif;

  font-size: 14px;

  font-weight: 700;

  cursor: pointer;

  box-shadow:
    0 10px 25px rgba(201, 162, 39, .18);

  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease,
    opacity .3s ease;
}


.btn-contato i {

  font-size: 15px;
}


.btn-contato:hover {

  background: var(--cor-primaria);

  color: #FFFFFF;

  transform: translateY(-3px);

  box-shadow:
    0 15px 35px rgba(20, 58, 99, .18);
}


/*======================================================
    BOTÃO - ESTADO NORMAL
======================================================*/

.btn-contato-normal {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;
}


/*======================================================
    BOTÃO - ESTADO ENVIANDO
======================================================*/

.btn-contato-loading {

  display: none;

  align-items: center;

  justify-content: center;

  gap: 9px;
}


.btn-contato-loading.active {

  display: inline-flex;
}


.btn-contato-normal.hidden {

  display: none;
}


/*======================================================
    SPINNER
======================================================*/

.btn-contato-loading i {

  font-size: 14px;
}


/*======================================================
    BOTÃO DESABILITADO
======================================================*/

.btn-contato:disabled {

  cursor: not-allowed;

  opacity: .85;

  transform: none !important;
}


/*======================================================
    TABLET
======================================================*/

@media (max-width: 992px) {

  .contato-home {

    padding: 90px 0;
  }


  .contato-header h2 {

    font-size: 46px;
  }


  .contato-conteudo {

    display: block;
  }


  .contato-conteudo>.col {

    display: block;

    width: 100%;

    margin-bottom: 25px;
  }


  .contato-informacoes {

    padding: 40px 35px;
  }


  .contato-form-card {

    padding: 40px 35px 35px;
  }

}


/*======================================================
    CELULAR
======================================================*/

@media (max-width: 600px) {

  .contato-home {

    /* A próxima seção já possui respiro próprio; reduzimos apenas a base no celular. */
    padding: 90px 18px 28px;
  }


  .contato-header {

    margin-bottom: 42px;
  }


  .contato-badge {

    padding: 9px 19px;

    font-size: 12px;
  }


  .contato-header h2 {

    font-size: 38px;

    line-height: 1.15;

    margin: 20px 0 15px;
  }


  .contato-header p {

    font-size: 15px;

    line-height: 27px;
  }


  /*==================================================
        INFORMAÇÕES
    ==================================================*/

  .contato-informacoes {

    padding: 32px 25px;

    border-radius: 23px;
  }


  .contato-informacoes h3 {

    font-size: 33px;
  }


  .contato-descricao {

    font-size: 14px;

    line-height: 26px;

    margin-bottom: 28px;
  }


  .contato-item {

    gap: 12px;

    margin-bottom: 20px;
  }


  .contato-item-icon {

    width: 39px;
    height: 39px;

    min-width: 39px;

    border-radius: 10px;
  }


  .contato-item-icon i {

    font-size: 15px;
  }


  .contato-item span {

    font-size: 10px;
  }


  .contato-item strong {

    font-size: 13px;

    line-height: 20px;
  }


  /*==================================================
        FORMULÁRIO
    ==================================================*/

  .contato-form-card {

    padding: 30px 22px 28px;

    border-radius: 23px;
  }


  .contato-form-header {

    margin-bottom: 22px;
  }


  .contato-form-header h3 {

    font-size: 31px;
  }


  .contato-form-header p {

    font-size: 13px;

    line-height: 21px;
  }


  .contato-form .input-field {

    margin-top: 22px;

    margin-bottom: 16px;
  }


  /*==================================================
        SELECT
    ==================================================*/

  /* SELECT NO CELULAR */

  .contato-select .select-wrapper {

    margin-left: 3rem !important;

    width: calc(100% - 3rem) !important;

  }

  .contato-select .select-wrapper input.select-dropdown {

    width: 100% !important;

    margin-left: 0 !important;

    padding-right: 30px;

    font-size: 11px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
  }

  /* Mantém o campo Assunto alinhado aos demais campos com ícone no celular. */
  .contato-select .prefix {

    display: block;
  }

  .contato-select label {

    width: calc(100% - 3rem);

    margin-left: 3rem;
  }


  /*==================================================
        BOTÃO
    ==================================================*/

  .contato-form-btn {

    margin-top: 25px;

    text-align: center;
  }


  .btn-contato {

    width: 100%;

    max-width: 320px;

    min-width: 0;
  }

  @media (max-width: 380px) {

    .contato-select .select-wrapper input.select-dropdown {

        font-size: 10px;

        padding-right: 25px;

    }

}

}
/*======================================================
    CONTATO - FIM
======================================================*/

/*======================================================
    ONDE ESTAMOS - INICIO
======================================================*/

.onde-estamos-home {

    padding: 55px 0 110px;

    background:
        linear-gradient(
            180deg,
            #FFFFFF 0%,
            #F8FAFC 50%,
            #FFFFFF 100%
        );

    position: relative;

    overflow: hidden;
}


/*======================================================
    DETALHES DE FUNDO
======================================================*/

.onde-estamos-home::before {

    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    background: rgba(20, 58, 99, .035);

    top: -220px;
    left: -180px;

    filter: blur(20px);

    pointer-events: none;
}


.onde-estamos-home::after {

    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    border-radius: 50%;

    background: rgba(201, 162, 39, .045);

    bottom: -190px;
    right: -140px;

    filter: blur(20px);

    pointer-events: none;
}


/*======================================================
    CABEÇALHO
======================================================*/

.onde-estamos-header {

    position: relative;

    z-index: 2;

    max-width: 760px;

    margin: 0 auto 65px;
}


.onde-estamos-badge {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding: 11px 24px;

    background: #FFFFFF;

    border: 1px solid rgba(20, 58, 99, .08);

    border-radius: 40px;

    color: var(--cor-primaria);

    font-family: 'Poppins', sans-serif;

    font-size: 13px;

    font-weight: 600;

    box-shadow:
        0 10px 30px rgba(20, 58, 99, .05);
}


.onde-estamos-badge i {

    color: var(--cor-destaque);

    font-size: 15px;
}


.onde-estamos-header h2 {

    font-family: 'Cormorant Garamond', serif;

    font-size: 56px;

    line-height: 1.1;

    font-weight: 500;

    color: var(--cor-primaria);

    margin: 25px 0 18px;
}


.onde-estamos-header h2 span {

    color: var(--cor-destaque);
}


.onde-estamos-header p {

    color: #6F7B89;

    font-size: 17px;

    line-height: 30px;

    margin: 0;
}


/*======================================================
    CONTEÚDO
======================================================*/

.onde-estamos-conteudo {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: stretch;
}


.onde-estamos-conteudo > .col {

    display: flex;
}


/*======================================================
    INFORMAÇÕES
======================================================*/

.onde-estamos-informacoes {

    width: 100%;

    padding: 45px 40px;

    background:
        linear-gradient(
            145deg,
            var(--cor-primaria),
            var(--cor-primaria-clara)
        );

    border-radius: 28px;

    color: #FFFFFF;

    box-shadow:
        0 18px 45px rgba(20, 58, 99, .12);

    position: relative;

    overflow: hidden;
}


/* DETALHE DECORATIVO */

.onde-estamos-informacoes::before {

    content: "";

    position: absolute;

    width: 270px;
    height: 270px;

    border-radius: 50%;

    background: rgba(201, 162, 39, .07);

    top: -140px;
    right: -110px;

    pointer-events: none;
}


/*======================================================
    ÍCONE PRINCIPAL
======================================================*/

.onde-estamos-icon {

    position: relative;

    z-index: 1;

    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 16px;

    background: rgba(255, 255, 255, .08);

    border: 1px solid rgba(201, 162, 39, .22);

    color: var(--cor-destaque);

    margin-bottom: 25px;
}


.onde-estamos-icon i {

    font-size: 23px;
}


/*======================================================
    TÍTULO
======================================================*/

.onde-estamos-informacoes h3 {

    position: relative;

    z-index: 1;

    font-family: 'Cormorant Garamond', serif;

    font-size: 38px;

    line-height: 1.15;

    font-weight: 500;

    color: #FFFFFF;

    margin: 0 0 15px;
}


.onde-estamos-informacoes h3 span {

    color: var(--cor-destaque);
}


/*======================================================
    DESCRIÇÃO
======================================================*/

.onde-estamos-descricao {

    position: relative;

    z-index: 1;

    color: rgba(255, 255, 255, .78);

    font-size: 15px;

    line-height: 27px;

    margin: 0 0 32px;
}


/*======================================================
    ITEM
======================================================*/

.onde-estamos-item {

    position: relative;

    z-index: 1;

    display: flex;

    align-items: flex-start;

    gap: 15px;

    margin-bottom: 23px;
}


.onde-estamos-item:last-of-type {

    margin-bottom: 0;
}


/* ÍCONE */

.onde-estamos-item-icon {

    width: 42px;
    height: 42px;

    min-width: 42px;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(255, 255, 255, .08);

    color: var(--cor-destaque);

    border: 1px solid rgba(201, 162, 39, .18);
}


.onde-estamos-item-icon i {

    font-size: 17px;
}


/* LABEL */

.onde-estamos-item span {

    display: block;

    color: rgba(255, 255, 255, .55);

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: .7px;

    margin-bottom: 4px;
}


/* VALOR */

.onde-estamos-item strong {

    display: block;

    color: #FFFFFF;

    font-size: 14px;

    line-height: 21px;

    font-weight: 500;

    word-break: break-word;
}


/*======================================================
    BOTÃO
======================================================*/

.onde-estamos-btn {

    position: relative;

    z-index: 2;

    margin-top: 32px;
}


.btn-onde-estamos {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    min-height: 50px;

    padding: 14px 24px;

    border-radius: 50px;

    background: var(--cor-destaque);

    color: var(--cor-primaria);

    font-family: 'Poppins', sans-serif;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 10px 25px rgba(201, 162, 39, .18);

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}


.btn-onde-estamos i:first-child {

    font-size: 15px;
}


.btn-onde-estamos i:last-child {

    font-size: 12px;

    transition: transform .3s ease;
}


.btn-onde-estamos:hover {

    background: #FFFFFF;

    color: var(--cor-primaria);

    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(20, 58, 99, .18);
}


.btn-onde-estamos:hover i:last-child {

    transform: translateX(4px);
}


/*======================================================
    MAPA
======================================================*/

.onde-estamos-mapa {

    width: 100%;

    min-height: 100%;

    height: 100%;

    border-radius: 28px;

    overflow: hidden;

    position: relative;

    background: #E9EEF3;

    box-shadow:
        0 18px 45px rgba(20, 58, 99, .10);

    border: 1px solid rgba(20, 58, 99, .06);
}


/* IFRAME */

.onde-estamos-mapa iframe {

    display: block;

    width: 100%;

    height: 100%;

    min-height: 500px;

    border: 0;
}


/*======================================================
    BADGE SOBRE O MAPA
======================================================*/

.onde-estamos-mapa-badge {

    position: absolute;

    left: 22px;
    bottom: 22px;

    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding: 10px 17px;

    background: rgba(255, 255, 255, .94);

    border-radius: 30px;

    color: var(--cor-primaria);

    font-family: 'Poppins', sans-serif;

    font-size: 12px;

    font-weight: 600;

    box-shadow:
        0 8px 25px rgba(20, 58, 99, .16);

    backdrop-filter: blur(8px);

    z-index: 3;
}


.onde-estamos-mapa-badge i {

    color: var(--cor-destaque);

    font-size: 14px;
}


/*======================================================
    TABLET
======================================================*/

@media (max-width: 992px) {

    .onde-estamos-home {

        padding: 90px 0;
    }


    .onde-estamos-header h2 {

        font-size: 46px;
    }


    .onde-estamos-conteudo {

        display: block;
    }


    .onde-estamos-conteudo > .col {

        display: block;

        width: 100%;

        margin-bottom: 25px;
    }


    .onde-estamos-conteudo > .col:last-child {

        margin-bottom: 0;
    }


    .onde-estamos-informacoes {

        padding: 40px 35px;
    }


    .onde-estamos-mapa {

        min-height: 430px;

        height: 430px;
    }


    .onde-estamos-mapa iframe {

        min-height: 430px;
    }

}


/*======================================================
    CELULAR
======================================================*/

@media (max-width: 600px) {

    .onde-estamos-home {

        /* Mantém a continuidade visual com o formulário sem alterar o desktop. */
        padding: 32px 18px 65px;
    }


    .onde-estamos-header {

        margin-bottom: 42px;
    }


    .onde-estamos-badge {

        padding: 9px 19px;

        font-size: 12px;
    }


    .onde-estamos-header h2 {

        font-size: 38px;

        line-height: 1.15;

        margin: 20px 0 15px;
    }


    .onde-estamos-header p {

        font-size: 15px;

        line-height: 27px;
    }


    /*==================================================
        INFORMAÇÕES
    ==================================================*/

    .onde-estamos-informacoes {

        padding: 32px 25px;

        border-radius: 23px;
    }


    .onde-estamos-icon {

        width: 52px;
        height: 52px;

        border-radius: 14px;

        margin-bottom: 22px;
    }


    .onde-estamos-icon i {

        font-size: 21px;
    }


    .onde-estamos-informacoes h3 {

        font-size: 33px;
    }


    .onde-estamos-descricao {

        font-size: 14px;

        line-height: 26px;

        margin-bottom: 28px;
    }


    /*==================================================
        ITENS
    ==================================================*/

    .onde-estamos-item {

        gap: 12px;

        margin-bottom: 20px;
    }


    .onde-estamos-item-icon {

        width: 39px;
        height: 39px;

        min-width: 39px;

        border-radius: 10px;
    }


    .onde-estamos-item-icon i {

        font-size: 15px;
    }


    .onde-estamos-item span {

        font-size: 10px;
    }


    .onde-estamos-item strong {

        font-size: 13px;

        line-height: 20px;
    }


    /*==================================================
        BOTÃO
    ==================================================*/

    .onde-estamos-btn {

        margin-top: 27px;

        text-align: center;
    }


    .btn-onde-estamos {

        width: 100%;

        max-width: 300px;

        min-height: 48px;

        padding: 13px 20px;

        font-size: 13px;
    }


    /*==================================================
        MAPA
    ==================================================*/

    .onde-estamos-mapa {

        height: 360px;

        min-height: 360px;

        border-radius: 23px;
    }


    .onde-estamos-mapa iframe {

        min-height: 360px;

        height: 360px;
    }


    /*==================================================
        BADGE DO MAPA
    ==================================================*/

    .onde-estamos-mapa-badge {

        left: 15px;

        bottom: 15px;

        padding: 9px 14px;

        font-size: 11px;
    }

}


/*======================================================
    ONDE ESTAMOS - FIM
======================================================*/


/*====================================
=   REDES SOCIAIS - INICIO          =
====================================*/
.social-icon {
  width: 45px;
  height: 45px;
  line-height: 45px;
  background: var(--cor-primaria-clara) !important;
  margin-right: 10px;
  transition: all .3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .20);
}

.social-icon i {
  color: #FFF;
  font-size: 20px;
}

.social-icon:hover {
  background: var(--cor-destaque) !important;
  transform: translateY(-4px);
}

.social-icon:hover i {
  color: var(--cor-primaria-clara);
}

/*====================================
=   REDES SOCIAIS - FIM          =
====================================*/

/* ======================================================
  RESPONSIVIDADE - INICIO
====================================================== */
@media only screen and (max-width: 480px) {
  .card-image-horizontal {
    display: none;
  }
}

@media only screen and (min-width: 601px) {
  .banner {
    padding-top: 4.5rem;
  }

  .banner h2 {
    font-size: 4rem;
  }

  .container {
    width: 85%;
  }
}

@media only screen and (min-width: 993px) {
  .banner {
    padding-top: 5rem;
  }

  .banner h2 {
    font-size: 5rem;
  }

  .container {
    width: 90%;
  }
}

/* ======================================================
  RESPONSIVIDADE - FIM
====================================================== */
