.elementor-2332 .elementor-element.elementor-element-1324359{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2332 .elementor-element.elementor-element-1324359{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-5848a10 *//* ========================================
   RESET
   ======================================== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background:#fff;
  color:#374151;
  line-height:1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{ text-decoration:none; }

/* ========================================
   CONTAINERS
   ======================================== */
.container-md{
  max-width:56rem;
  margin:0 auto;
  padding:0 1rem;
}
.container-lg{
  max-width:72rem;
  margin:0 auto;
  padding:0 1rem;
}
@media (min-width:640px){
  .container-md,.container-lg{ padding:0 1.5rem; }
}
@media (min-width:1024px){
  .container-md,.container-lg{ padding:0 2rem; }
}

/* ========================================
   UTILITÁRIOS / TIPOGRAFIA
   ======================================== */
.text-center{ text-align:center; }

.section-header{ margin-bottom:4rem; }

.section-title{
  font-size:1.875rem;
  color:#852123;
  margin-bottom:1.5rem;
  line-height:1.2;
}
@media (min-width:640px){
  .section-title{ font-size:2.25rem; }
}

.section-title-left{
  text-align:left;
  margin-left:0;
  margin-right:0;
}

.section-title-uppercase{
  font-size:1.5rem;
  color:#852123;
  margin-bottom:1rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1.2;
}
@media (min-width:640px){
  .section-title-uppercase{ font-size:1.875rem; }
}

.section-title-white{
  font-size:1.875rem;
  color:#fff;
  margin-bottom:3rem;
  text-align:center;
  line-height:1.2;
}
@media (min-width:640px){
  .section-title-white{ font-size:2.25rem; }
}

.section-title-white-uppercase{
  font-size:1.875rem;
  color:#fff;
  margin-bottom:1.5rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1.2;
}
@media (min-width:640px){
  .section-title-white-uppercase{ font-size:2.25rem; }
}

.section-subtitle{
  font-size:1.25rem;
  color:#374151;
  line-height:1.6;
}

/* ========================================
   BOTÕES
   ======================================== */
.btn-whatsapp{
  background:#25D366;
  color:#fff;
  padding:1rem 2rem;
  border-radius:.5rem;
  font-size:1.125rem;
  font-weight:600;
  border:none;
  cursor:pointer;
  transition:.25s ease;
  box-shadow:0 10px 15px -3px rgba(0,0,0,.1);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
}
.btn-whatsapp:hover{
  background:#20bd5a;
  transform:scale(1.03);
}

.btn-whatsapp-full{ width:100%; }

.btn-whatsapp-lg{
  padding:1.25rem 2.5rem;
  font-size:1.2rem;
  gap:.75rem;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
}

.btn-saiba-mais{
  background:rgba(255,255,255,.12);
  backdrop-filter: blur(4px);
  color:#fff;
  padding:1rem 2rem;
  border-radius:.5rem;
  font-size:1.125rem;
  font-weight:600;
  border:2px solid rgba(255,255,255,.28);
  transition:.25s ease;
  display:inline-flex;
  justify-content:center;
}
.btn-saiba-mais:hover{
  background:rgba(255,255,255,.2);
}

.btn-icon{ width:1.25rem; height:1.25rem; }
.btn-icon-lg{ width:1.5rem; height:1.5rem; }

/* ========================================
   ÍCONES
   ======================================== */
.icon-md{ width:2rem; height:2rem; color:#852123; }
.icon-lg{ width:2.5rem; height:2.5rem; color:#852123; }

.icon-circle{
  background:rgba(133,33,35,.1);
  border-radius:999px;
  padding:.75rem;
  flex-shrink:0;
  align-self: start;  /* garante que ele fique do tamanho do conteúdo */
}

.icon-circle-lg{
  background:rgba(133,33,35,.1);
  border-radius:999px;
  padding:1rem;
  flex-shrink:0;
}

/* ========================================
   HERO
   ======================================== */
.hero-section{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#852123 0%,#6a1a1d 100%);
  overflow:hidden;
  padding:4rem 0 5rem;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(133,33,35,1);
}

.hero-background{
  position:absolute;
  inset:0;
  background-image:url("https://images.unsplash.com/photo-1576669801838-1b1c52121e6a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxjYXJkaW9sb2dpc3QlMjBkb2N0b3IlMjBwcm9mZXNzaW9uYWwlMjBvZmZpY2V8ZW58MXx8fHwxNzcwNzQwMTY4fDA&ixlib=rb-4.1.0&q=80&w=1080");
  background-size:cover;
  background-position:center;
  mix-blend-mode:overlay;
  opacity:.3;
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:80rem;
  margin:0 auto;
  padding:0 1rem;
  text-align:center;
}

.hero-icon-wrapper{
  display:flex;
  justify-content:center;
  margin-bottom:2rem;
}

.hero-icon-circle{
  background:rgba(255,255,255,.12);
  backdrop-filter: blur(4px);
  border-radius:999px;
  padding:1.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-icon{
  width:4rem;
  height:4rem;
  color:#fff;
}

.hero-subtitle{
  font-size:1.125rem;
  color:#fff;
  margin-bottom:1rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.hero-title{
  font-size:2.25rem;
  color:#fff;
  margin-bottom:2rem;
  line-height:1.15;
  max-width:64rem;
  margin-left:auto;
  margin-right:auto;
}

@media (min-width:640px){
  .hero-content{ padding:0 1.5rem; }
  .hero-subtitle{ font-size:1.25rem; }
  .hero-title{ font-size:3rem; }
}
@media (min-width:1024px){
  .hero-content{ padding:0 2rem; }
  .hero-title{ font-size:3.25rem; }
}

.hero-buttons{
  display:flex;
  flex-direction:column;
  gap:1rem;
  justify-content:center;
  align-items:center;
  margin-top:2.5rem;
}

@media (min-width:640px){
  .hero-buttons{ flex-direction:row; }
}

.scroll-indicator{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  animation:bounce 2s infinite;
  z-index:2;
}
.scroll-wheel{
  width:1.5rem;
  height:2.5rem;
  border:2px solid rgba(255,255,255,.5);
  border-radius:1.25rem;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:.5rem;
}
.scroll-dot{
  width:.25rem;
  height:.75rem;
  background:rgba(255,255,255,.5);
  border-radius:.125rem;
}
@keyframes bounce{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-10px); }
}

/* ========================================
   EMPATIA
   ======================================== */
.empatia-section{
  padding:5rem 0;
  background:#f9fafb;
}

.heart-icon-filled{
  width:3rem;
  height:3rem;
  margin:0 auto 1.5rem;
}

.empatia-content{
  margin-top:3rem;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  font-size:1.125rem;
  line-height:1.75;
  text-align:center;
}

.empatia-destaque{
  font-size:1.25rem;
  color:#852123;
  padding-top:1rem;
}

/* ========================================
   SOBRE
   ======================================== */
.sobre-section{
  padding:5rem 0;
  background:#fff;
}

.sobre-grid{
  display:grid;
  gap:3rem;
  align-items:center;
}

@media (min-width:1024px){
  .sobre-grid{ grid-template-columns:repeat(2,1fr); }
}

.sobre-image{
  border-radius:1rem;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
  width:100%;
  max-height:600px;
  object-fit:cover;
}

.sobre-content{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  text-align:left;
}

.sobre-text{
  display:flex;
  flex-direction:column;
  gap:1rem;
  font-size:1.125rem;
  color:#374151;
  line-height:1.75;
}

/* ========================================
   ACOMPANHAMENTO
   ======================================== */
.acompanhamento-section{
  padding:5rem 0;
  background:#852123;
  color:#fff;
}

.acompanhamento-grid{
  display:grid;
  gap:1.5rem;
}

@media (min-width:640px){
  .acompanhamento-grid{ grid-template-columns:repeat(2,1fr); }
}

.acompanhamento-item{
  display:flex;
  align-items:center;
  gap:1rem;
  background:rgba(255,255,255,.1);
  backdrop-filter: blur(4px);
  border-radius:.5rem;
  padding:1.5rem;
}

.check-icon{
  background:rgba(255,255,255,.2);
  border-radius:999px;
  padding:.25rem;
  width:1.75rem;
  height:1.75rem;
  color:#fff;
  flex-shrink:0;
}
.check-icon svg{ width:100%; height:100%; }

.acompanhamento-item p{
  color:#fff;
  font-size:1.125rem;
}

/* ========================================
   POR QUE
   ======================================== */
.porque-section{
  padding:5rem 0;
  background:#f9fafb;
}

.porque-grid{
  display:grid;
  gap:2rem;
  margin-bottom:3rem;
}

@media (min-width:768px){
  .porque-grid{ grid-template-columns:repeat(2,1fr); }
}

/* Card vira grid: col 1 ícone, col 2 conteúdo */
.porque-card{
  align-items: start; /* evita stretch vertical dos itens do grid */
  background:#fff;
  border-radius:.75rem;
  box-shadow:0 10px 15px -3px rgba(0,0,0,.1);
  padding:2rem;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:1.25rem;
  row-gap:.5rem;
}

.porque-card:hover{
  box-shadow:0 20px 25px -5px rgba(0,0,0,.1);
}

/* Conteúdo do lado direito */
.porque-head{
  display:block;
}

/* Número + título na mesma linha */
.porque-numero{
  display:inline-block;
  color:#852123;
  font-size:1.125rem;
  font-weight:800;
  margin:0;
  line-height:1;
  vertical-align:baseline;
  line-height:1.35;
}

.porque-titulo{
  display:inline-block;
  margin:0 0 0 .75rem;
  color:#852123;
  font-size:1.125rem;
  line-height:1.15;
  vertical-align:baseline;
  font-weight: 500;
}

/* descrição embaixo alinhada com o título */
.porque-descricao{
  margin-top:.75rem;
  color:#374151;
  line-height:1.7;
}

/* ========================================
   CONSEQUÊNCIAS
   ======================================== */
.consequencias-section{
  padding:5rem 0;
  background:#fff;
}

.consequencias-list{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  margin-bottom:3rem;
}

.consequencia-card{
  border:2px solid;
  border-radius:.75rem;
  padding:2rem;
  transition:.25s ease;
}
.consequencia-card:hover{
  box-shadow:0 10px 15px -3px rgba(0,0,0,.1);
}

.consequencia-yellow{ background:#fffbeb; border-color:#fde68a; }
.consequencia-orange{ background:#fff7ed; border-color:#fed7aa; }
.consequencia-red{ background:#fef2f2; border-color:#fecaca; }

.consequencia-content{
  display:flex;
  align-items:flex-start;
  gap:1.5rem;
}

.consequencia-text{ flex:1; }

.consequencia-header{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:1rem;
}

.consequencia-numero{
  font-size:1.875rem;
  color:#852123;
}
.consequencia-titulo{
  font-size:1.5rem;
  color:#852123;
}

.consequencia-descricao{
  font-size:1.125rem;
  color:#374151;
  line-height:1.75;
}

/* ========================================
   PROTOCOLO
   ======================================== */
.protocolo-section{
  padding:5rem 0;
  background:linear-gradient(135deg,#852123 0%,#6a1a1d 100%);
  color:#fff;
}

.protocolo-subtitle{
  font-size:1.25rem;
  color:rgba(255,255,255,.9);
}

.protocolo-content{
  background:rgba(255,255,255,.1);
  backdrop-filter: blur(4px);
  border-radius:1rem;
  padding:2rem;
  margin-bottom:3rem;
}

@media (min-width:768px){
  .protocolo-content{ padding:3rem; }
}

.protocolo-text{
  font-size:1.125rem;
  line-height:1.75;
  margin-bottom:2rem;
  color:#fff;
}

.protocolo-divider{
  border-top:1px solid rgba(255,255,255,.2);
  padding-top:2rem;
}

.protocolo-subtitle-inner{
  font-size:1.5rem;
  margin-bottom:2rem;
  text-align:center;
}

.protocolo-servicos{
  display:grid;
  gap:1.5rem;
}
@media (min-width:768px){
  .protocolo-servicos{ grid-template-columns:repeat(2,1fr); }
}

.protocolo-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.protocolo-icon{ flex-shrink:0; margin-top:.25rem; }
.protocolo-icon svg{ width:1.5rem; height:1.5rem; color:#fff; }

.protocolo-item p{
  font-size:1.125rem;
  color:#fff;
}

.protocolo-cta{
  text-align:center;
  background:rgba(255,255,255,.05);
  backdrop-filter: blur(4px);
  border-radius:.75rem;
  padding:2rem;
}

.protocolo-cta-title{
  font-size:1.5rem;
  margin-bottom:1.5rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* ========================================
   FAQ
   ======================================== */
.faq-section{
  padding:5rem 0;
  background:#f9fafb;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.faq-item{
  background:#fff;
  border-radius:.5rem;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.1);
  overflow:hidden;
  transition:.25s ease;
}
.faq-item:hover{ box-shadow:0 10px 15px -3px rgba(0,0,0,.1); }

.faq-question{
  width:100%;
  padding:1.25rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  background:none;
  border:none;
  cursor:pointer;
}
.faq-question:hover{ background:#f9fafb; }

.faq-question span{
  font-size:1.125rem;
  color:#852123;
  padding-right:1rem;
}

.faq-icon{
  width:1.5rem;
  height:1.5rem;
  color:#852123;
  flex-shrink:0;
  transition:transform .3s ease;
}
.faq-item.active .faq-icon{ transform:rotate(180deg); }

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.faq-item.active .faq-answer{ max-height:10rem; }

.faq-answer p{
  padding:.5rem 1.5rem 1.25rem;
  color:#374151;
  line-height:1.75;
}

/* ========================================
   CONTATO
   ======================================== */
.contato-section{
  padding:5rem 0;
  background:#fff;
}

.contato-grid{
  display:grid;
  gap:3rem;
  align-items:start;
}
@media (min-width:768px){
  .contato-grid{ grid-template-columns:repeat(2,1fr); }
}

.contato-info{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.contato-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
}

.contato-titulo{
  font-size:1.25rem;
  color:#852123;
  margin-bottom:.5rem;
}

.contato-texto{
  color:#374151;
  line-height:1.75;
}

.contato-link{
  color:#374151;
  font-size:1.125rem;
  transition:.25s ease;
}
.contato-link:hover{ color:#852123; }

.contato-button{ padding-top:1rem; }

.contato-mapa{
  background:#f3f4f6;
  border-radius:.75rem;
  overflow:hidden;
  box-shadow:0 10px 15px -3px rgba(0,0,0,.1);
  height:400px;
  min-height:400px;
}
@media (min-width:768px){
  .contato-mapa{ height:100%; }
}

/* ========================================
   CTA FINAL
   ======================================== */
.cta-final-section{
  padding:5rem 0;
  background:linear-gradient(135deg,#852123 0%,#6a1a1d 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.cta-heart-decoration{
  position:absolute;
  width:8rem;
  height:8rem;
  opacity:.1;
}
.cta-heart-left{ top:2.5rem; left:2.5rem; }
.cta-heart-right{ bottom:2.5rem; right:2.5rem; }

.cta-content{
  position:relative;
  z-index:2;
  text-align:center;
}

.cta-icon-wrapper{
  display:flex;
  justify-content:center;
  margin-bottom:2rem;
}

.cta-icon{
  width:4rem;
  height:4rem;
}

.cta-title{
  font-size:1.875rem;
  margin-bottom:1.5rem;
  line-height:1.2;
}
@media (min-width:640px){
  .cta-title{ font-size:2.25rem; }
}
@media (min-width:1024px){
  .cta-title{ font-size:3rem; }
}

.cta-text{
  font-size:1.25rem;
  color:rgba(255,255,255,.9);
  margin-bottom:2.5rem;
  max-width:42rem;
  margin-left:auto;
  margin-right:auto;
  line-height:1.75;
}

.cta-footer{
  margin-top:3rem;
  padding-top:3rem;
  border-top:1px solid rgba(255,255,255,.2);
}
.cta-footer p{
  color:rgba(255,255,255,.7);
  font-size:.875rem;
  line-height:1.7;
}

/* ========================================
   RESPONSIVO MOBILE
   ======================================== */
@media (max-width:767px){

  .section-title{ font-size:1.6rem; margin-bottom:1rem; }
  .section-title-uppercase{ font-size:1.25rem; }
  .section-subtitle{ font-size:1.05rem; }

  .hero-title{ font-size:1.8rem; }
  .hero-subtitle{ font-size:.95rem; }

  .hero-buttons{
    width:100%;
  }
  .btn-whatsapp,
  .btn-saiba-mais{
    width:100%;
  }

  .sobre-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .sobre-image{
    max-height:380px;
  }
  .sobre-text{
    font-size:1.05rem;
  }

  .acompanhamento-grid{
    grid-template-columns:1fr;
  }
  .acompanhamento-item{
    padding:1.25rem;
  }
  .acompanhamento-item p{
    font-size:1.05rem;
  }

  .porque-grid{
    grid-template-columns:1fr;
    gap:1.25rem;
  }
  .porque-card{
    padding:1.25rem;
    column-gap:.9rem;
  }
  .icon-circle{
    padding:.55rem;
  }
  .icon-md{
    width:1.6rem;
    height:1.6rem;
  }
  .porque-head{
    display:flex;
    flex-direction: column;
  }
  .porque-numero{
    font-size: 2rem;
  }
  .porque-titulo{
    font-size: 1rem;
    text-align: left;
    margin:0.4rem 0 0 0;
  }
  .porque-descricao{
    font-size:1rem;
    line-height:1.6;
  }

  .consequencia-content{
    flex-direction:column;
    gap:1rem;
  }
  .consequencia-card{
    padding:1.25rem;
  }

  .contato-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .contato-mapa{
    height:320px;
    min-height:320px;
  }

  .cta-heart-decoration{
    width:5rem;
    height:5rem;
  }
  .cta-title{
    font-size:1.7rem;
  }
  .cta-text{
    font-size:1.05rem;
    margin-bottom:1.75rem;
  }
  .btn-whatsapp-lg{
    width:100%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9375b7f *//* garante que não vai surgir barra horizontal */
html, body { overflow-x: hidden; }

.btn-whatsapp2{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  background-color: rgb(37, 211, 102);
  width: 60px;
  height: 60px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 28px;
  text-decoration: none;
}

.btn-whatsapp2:before,
.btn-whatsapp2:after{
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid #25d366;
  inset: -20px;              /* no lugar de left/right/top/bottom */
  animation: animate 1.5s linear infinite;
  opacity: 0;
  pointer-events: none;
}

.pulsaDelay:after{ animation-delay: 0.5s; }

@keyframes animate{
  0%{ transform: scale(0.5); opacity: 0; }
  50%{ opacity: 1; }
  100%{ transform: scale(1.2); opacity: 0; }
}/* End custom CSS */