#about-us {

   overflow: hidden;
 }
 
 .about-content {
   position: relative;
   z-index: 1;
 }
 
 .about-content h2 {
   font-size: 2.5rem;
   color: #333;
   font-weight: 700;
 }
 
 .about-content p, .about-content li {
   font-size: 1.1rem;
   color: #666;
 }
 
 .decorative-line {
   position: absolute;
   top: 50%;
   right: -80px;
   width: 225px;
   height: 3px;
   background: repeating-linear-gradient(to right, var(--color-primary) 0, var(--color-primary) 10px, transparent 10px, transparent 20px);
   transform: translateY(-50%);
   opacity: 0.8;
   animation: dash 1.5s linear infinite;

}
 
 @keyframes dash {
   to {
     background-position: 40px 0;
   }
 }
 
 .image-container {
   position: relative;
   z-index: 1;
 }
 #about-us i{
   color: var(--color-primary) !important;
   padding-right: 5px;
 }
 #about-us img{
   box-shadow: none !important;
 }
 .decorative-dots {
   position: absolute;
   top: -20px;
   left: -20px;
   right: -20px;
   bottom: -20px;
   background-image: radial-gradient(var(--color-secondary) 1px, transparent 1px);
   background-size: 15px 15px;
   z-index: -1;
   opacity: 6.3;
 }
 
 .image-container img {
   position: relative;
   z-index: 2;
 }
 
 @media (max-width: 991px) {
   .about-content h2 {
     font-size: 2rem;
   }
 
   .about-content p, .about-content li {
     font-size: 1rem;
   }
 
   .decorative-line {
     right: -50px;
     width: 100px;
   }
 }
 
 @media (max-width: 767px) {
   .decorative-line {
     display: none;
   }
 
   .decorative-dots {
     top: -10px;
     left: -10px;
     right: -10px;
     bottom: -10px;
   }
 }



/*migrar-abrir*/
.process-section {
   padding: 50px 0;
}

.process-section .btn_theme_primary{ background-color: #fff !important; color:#222 !important; }
.process-section .btn_theme_primary:hover{ background-color: #ddd !important; color:#222 !important; }

.process-title {
   text-align: center;
   margin-bottom: 50px;
   font-size: 3rem;
   font-weight: 600;
   color: var(--color-font-dark);
}

.process-flow {
   position: relative;
   max-width: 800px;
   margin: 0 auto;
   padding: 0 20px;
}

.process-step {
   display: flex;
   margin-bottom: 100px;
   position: relative;
}

.process-step:nth-child(even) {
   justify-content: flex-end;
}

.process-content {
   background-color: #2a2a2a;
   border-radius: 30px;
   padding: 20px;
   width: 100%;
   max-width: 300px;
   position: relative;
   transition: .5s;
}
.process-content:hover{
   transform: scale(1.1); 
}

.process-icon {
   width: 80px;
   height: 80px;
   margin-bottom: 15px;
}

.process-step h3 {
   font-size: 2.2rem;
   margin-bottom: 10px;
   color: #fff;
}
.process-step p {
   font-size: 0.9rem;
   color: #cccccc;
}

.process-flow::before {
   content: '';
   position: absolute;
   top: 0;
   bottom: 0;
   left: 50%;
   width: 2px;
   background-image: linear-gradient(to bottom, var(--color-primary) 50%, transparent 50%);
   background-size: 2px 20px;
   background-repeat: repeat-y;
}
.process-section img{
   border-radius: 50%;
}
.process-section .btn{
   font-size: 24px;
}

.process-step::after {
   content: '';
   position: absolute;
   width: 20px;
   height: 20px;
   background-color: var(--color-primary);
   border-radius: 50%;
   top: 40px;
   left: calc(50% - 10px);
}

.process-step:nth-child(even)::after {
   left: auto;
   right: calc(50% - 10px);
}

/* Responsividade */
@media (max-width: 768px) {

  /*migrar-abrir*/
  .process-section {
     padding: 0;
  }

   .process-flow {
       padding: 0 10px;
   }

   .process-step {
       flex-direction: column;
       align-items: center;
       margin-bottom: 60px;
   }

   .process-step:nth-child(even) {
       justify-content: center;
   }

   .process-content {
       max-width: 100%;
   }

   .process-flow::before {
       left: 50%;
       transform: translateX(-50%);
   }

   .process-step::after {
       left: 50%;
       transform: translateX(-50%);
   }

   .process-step:nth-child(even)::after {
       left: 50%;
       right: auto;
       transform: translateX(-50%);
   }

   .process-title {
       font-size: 29px;
   }
   .process-title {
    text-align: center;
    margin-bottom: 50px;
    font-size: 30px;
    font-weight: 600;
    color: var(--color-font-dark);
    padding-bottom: 0rem !important;
}
}

@media (max-width: 480px) {
   .process-icon {
       width: 60px;
       height: 60px;
   }

   .process-step h3 {
       font-size: 25px;
   }

   .process-step p {
       font-size: 18px;
   }
}


/* -------------------------------------------------------------------
 * SESSAO 02 - OUTRAS SOLUÇÔES (MEI, ME)
 * -----------------------------------------------------------------*/
 #solucao { padding: 2rem 0 3rem 0; }
 #solucao h2 { font-weight: 600; font-size: 2rem; text-align: center; }
 
 #solucao article { border: 2px solid var(--color-font-dark); padding: 1rem; border-radius: 15px; background-color: #fff; }
 #solucao article img { max-height: 55px; margin-right: 1rem; border-radius: 50%;}
 #solucao article h3 { font-size: 1.2rem; font-weight: 600; margin-bottom: 0; text-align: left; color: var(--color-font-dark); }
 #solucao article:hover {
     transition: .5s;
     transform: scale(1.1); 
     background-color:#a5afc7;
 }
 
 @media(max-width:1199px) {
    #solucao article h3 { font-size: 1.1rem; }
 }
 @media(max-width:599px) {
     #solucao { padding: 7rem 0 3rem 0; }
     #solucao article h3 br { display: none; }
     #solucao h2 {
      font-weight: 600;
      font-size: 2rem;
      text-align: center;
      margin-top: -5rem;
  }
 }


 /* -------------------------------------------------------------------
 * SESSAO 03 - SERVIÇOS
 * -----------------------------------------------------------------*/
 #servicos {
  background-color: var(--color-secondary);
  padding: 6rem 0;
  position: relative;
  overflow: hidden;
}

#servicos h2,
#servicos h3,
#servicos p {
  color: #fff;
}

#servicos::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: 
    radial-gradient(circle, rgba(0, 0, 0, 0.392) 0%, rgba(0, 0, 0, 0.233) 60%),
    radial-gradient(circle at 30% 70%, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 50%);
  animation: rotate 30s linear infinite;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.section-title {
  font-weight: bold;
  font-size: 2.8rem;
  color: var(--color-font-light);
  margin-bottom: 2rem;
  position: relative;
  display: inline-block;
}


.service-block {
  position: relative;
  overflow: hidden;
  border-radius: 2rem;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  max-width: 600px;
  margin: 0 auto;
}

.service-block img {
  transition: transform 0.5s ease, filter 0.5s ease;
}

.service-block:hover img {
  transform: scale(1.05);
  filter: brightness(0.7);
}
.service-block:hover .circular-image{
  display: none;
}

.service-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  text-align: center;
  transform: translateY(20px);
}

.service-block:hover .service-content {
  opacity: 1;
  transform: translateY(0);
}

.service-content h3 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

.service-content p {
  font-size: 1rem;
  margin-bottom: -0.5rem;
}

.carousel-control-prev,
.carousel-control-next {
  width: 50px;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  opacity: 0.7;
  transition: opacity 0.3s ease, background-color 0.3s ease;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.carousel-control-prev {
  left: -60px;
}

.carousel-control-next {
  right: -60px;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.8);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 20px;
  height: 20px;
  background-image: none;
}

.carousel-control-prev-icon::before,
.carousel-control-next-icon::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid white;
  border-right: 2px solid white;
  position: absolute;
  top: 50%;
  left: 50%;
}

.carousel-control-prev-icon::before {
  transform: translate(-25%, -50%) rotate(-135deg);
}

.carousel-control-next-icon::before {
  transform: translate(-75%, -50%) rotate(45deg);
}

/* Novos estilos para a imagem circular */
.circular-image {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: .5s;
}

.circular-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991px) {
  .carousel-control-prev {
    left: -30px;
  }

  .carousel-control-next {
    right: -30px;
  }
}

@media (max-width: 768px) {
  .section-title {
    font-size: 2.2rem;
  }

  .service-content h3 {
    font-size: 20px;
  }

  .service-content p {
    font-size: 14px;
  }

  .carousel-control-prev,
  .carousel-control-next {
    width: 40px;
    height: 40px;
  }

  .carousel-control-prev {
    left: -20px;
  }

  .carousel-control-next {
    right: -20px;
  }

  .carousel-control-prev-icon::before,
  .carousel-control-next-icon::before {
    width: 8px;
    height: 8px;
  }

  .circular-image {
    width: 30px;
    height: 30px;
    top: 10px;
    right: 10px;
  }
}


#servicos .grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 15px;
}
#servicos .block {
   border: 1px solid #ffffff;
   border-radius: 30px;
   padding: 15px;
   text-align: center;
   transition: .5s;
   align-items: center;
   justify-content: center;
   height: 160px;

}
#servicos .block:hover{
   background-color: var(--color-primary);
   transform: scale(1.02);
}

#servicos .block h2{
  font-size:1.1rem;
}

#servicos .block p{
  font-size:1rem;
}

@media (max-width: 768px) {
   #servicos .grid {
       grid-template-columns: repeat(2, 1fr);
      
   }
   #servicos h1 {
      text-align: center;
      margin-bottom: 44px;
      font-size: 37px;
  }
}
@media (max-width: 480px) {
   #servicos .grid {
       grid-template-columns: 1fr;
   }
}

  /* -------------------------------------------------------------------
 * SESSAO 04 - SEGMENTOS(Atividades) e BENEFICIOS
 * -----------------------------------------------------------------*/
 #atividade {
   background-color: #f8f9fa;
   overflow: hidden;
}
#atividade .atv i{
   color: var(--color-primary) !important;
}

.section-title {
   color: var(--color-primary);
   font-size: 2.5rem;
   font-weight: bold;
   margin-bottom: 1rem;
   position: relative;
   z-index: 2;
}

.section-divider {
   width: 60px;
   height: 4px;
   background-color: var(--color-primary);
   margin: 0 auto;
   position: relative;
   z-index: 2;
}

.card {
   border: none;
   border-radius: 15px;
   transition: all 0.3s ease;
   position: relative;
   z-index: 2;
}

.card::before {
   content: '';
   position: absolute;
   top: -10px;
   left: -10px;
   right: -10px;
   bottom: -10px;
   border: 2px dashed var(--color-primary);
   border-radius: 20px;
   opacity: 6.2;
   z-index: -1;
}

.card:hover {
   transform: translateY(-5px);
}

.card-title {
   color: var(--color-primary);
   font-size: 1.5rem;
   font-weight: bold;
}

.list-unstyled li {
   font-size: 1rem;
   color: var(--color-font-dark);
   display: flex;
   align-items: center;
   line-height: 1.5;
}

.list-unstyled li i {
   font-size: 1.2rem;
   margin-right: 10px;
}

.decorative-circle {
   position: absolute;
   border-radius: 50%;
   opacity: 0.1;
   z-index: 1;
}

.circle-1 {
   width: 300px;
   height: 300px;
   background-color: var(--color-primary);
   top: -150px;
   left: -150px;
   display: none;
}

.circle-2 {
   width: 200px;
   height: 200px;
   border: 4px solid var(--color-primary);
   bottom: -100px;
   right: -100px;
}



.line-1 {
   width: 2px;
   height: 100%;
   top: 0;
   left: 20%;
   transform: skew(-20deg);
}

.line-2 {
   width: 100%;
   height: 2px;
   bottom: 30%;
   right: 0;
   transform: skew(-20deg);
}

@media (max-width: 991px) {
   .section-title {
       font-size: 2rem;
   }
   
   .card-title {
       font-size: 1.3rem;
   }
   
   .list-unstyled li {
       font-size: 0.9rem;
   }

   .decorative-circle, .decorative-line {
       display: none;
   }
}

/* -------------------------------------------------------------------
 * SESSAO 05 - PLANOS
 * -----------------------------------------------------------------*/
 #planos {
  background-color: #f8f9fa;
  position: relative;
  overflow: hidden;
  padding-bottom: 0 !important;
}

#planos::before {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 200px;
  height: 200px;
  background: linear-gradient(45deg, var(--color-primary) 0%, var(--color-primary) 100%);
  border-radius: 50%;
  opacity: 0.1;
}

#planos::after {
  content: '';
  position: absolute;
  bottom: -100px;
  right: -100px;
  width: 200px;
  height: 200px;
  background: linear-gradient(45deg, #845ec2 0%, #00c9a7 100%);
  border-radius: 50%;
  opacity: 0.1;
}

.section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 2rem;
  position: relative;
}

.pricing-card {
  border: none;
  border-radius: 15px;
  transition: all 0.3s ease;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.pricing-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.pricing-card.featured {
  border: 2px solid var(--color-primary-hover);
  transform: scale(1.02);
}

.pricing-card.featured:hover {
  transform: scale(1.05) translateY(-10px);
}

.card-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.7rem;
  color:var(--color-primary);
}

.price {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 1rem;
  text-align: center;
}

.price-2 {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 1.5rem;
  text-align: center;
}

.price small{
  font-weight: 700;
  color: var(--color-primary);
}

.feature-list {
  list-style-type: none;
  padding: 0;
  margin-bottom: 1.5rem;
}

.feature-list li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  font-size:0.9rem;
}

.feature-list li i {
  color: var(--color-primary);
  margin-right: 0.5rem;
}

.btn-primary {
  background:  var(--color-primary);
  border: none;
  border-radius: 25px;
  padding: 10px 20px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  transform: translateY(-3px);
  background:  var(--color-primary-hover);
}

@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}

.pricing-card {

}

.pricing-card:nth-child(odd) {
  animation-delay: 1s;
}

@media (max-width: 991px) {
  .section-title {
    font-size: 2rem;
  }
  
  .pricing-card.featured {
    transform: scale(1);
  }
  
  .pricing-card.featured:hover {
    transform: translateY(-10px);
  }
}

/* Additional decorative elements */
.pricing-card::before {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, var(--color-primary), var(--color-primary));
  transform: rotate(45deg);
  opacity: 0.1;
}

.pricing-card::after {
  content: '';
  position: absolute;
  bottom: -50px;
  left: -50px;
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, var(--color-primary), var(--color-primary));
  transform: rotate(45deg);
  opacity: 0.1;
}

/* Dashed border effect */
.pricing-card .card-body {
  position: relative;
}

.pricing-card .card-body::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  border: 2px dashed var(--color-primary-hover);
  border-radius: 10px;
  pointer-events: none;
}


/* -------------------------------------------------------------------
 * SESSAO 06 - SIMULADOR
 * -----------------------------------------------------------------*/
 #simulador { padding: 1rem 0 1rem; }
 #simulador h2 { font-weight: 600; font-size: 2.2rem; margin-bottom: .5rem; }
 #simulador p { font-weight: 600; margin-bottom: 1.5rem; }
 #simulador .btn_theme_primary { min-width: 260px; font-size: 1.2rem; margin: 0 0.6rem; }

 @media (max-width:767px) {
    #simulador h2 { font-size: 2rem; }
    #simulador .btn_theme_primary { min-width: 260px; font-size: 1.2rem; margin: .5rem 0; }
 }


 /* -------------------------------------------------------------------
 * SESSAO 07 - DEPOIMENTOS
 * -----------------------------------------------------------------*/
 #depoimentos {
  position: relative;
  overflow: hidden;
  padding: 6rem 0;
}


@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
#depoimentos h2 { font-weight: 600; margin-bottom: 2.5rem; font-size: 2.2rem; color: var(--color-font-dark);}

#depoimentos .item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-font-dark);
    margin: 0 1rem;
    padding: 20px;
    border-radius: 1rem;
    min-height: 250px;
}
#depoimentos .fas{color: var(--color-font-dark);}
#depoimentos .item p.text-box { text-align: center; font-size: .9rem; font-style: italic; font-weight: 500; margin-bottom: 0; }
#depoimentos .item p { margin: 0.5rem 0; color: var(--color-font-dark);}
#depoimentos .btn_theme_primary {min-width: 190px; border: 1px solid var(--color-font-dark); background-color: transparent !important; color: var(--color-font-light) !important; font-weight: 500; margin-top: 0.7rem; }
#depoimentos .btn_theme_primary:hover { transition: .6s !important; background-color: var(--color-primary-hover) !important; }
@media(max-width:767px) {
    #depoimentos h2 { font-size: 2rem; }
}


/* -------------------------------------------------------------------
 * SESSAO 08 - PERGUNTAS FREQUENTES
 * -----------------------------------------------------------------*/
 #perguntas { 
  padding: 4rem 0; 
  position: relative;
  overflow: hidden;
}

#perguntas .title_section {
  margin-bottom: 3rem;
  position: relative;
}

#perguntas .title_section h2 {
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--color-font-dark);
  position: relative;
  z-index: 2;
}

#perguntas .accordion { 
  background: transparent; 
  border: 0; 
  padding: .5rem 0; 
  text-align: left; 
  display: flex; 
  align-items: center; 
  transition: all 0.3s ease;
}

#perguntas .accordion:hover {
  transform: translateX(10px);
}

#perguntas .accordion p { 
  margin-bottom: 0; 
  font-weight: 500; 
  font-size: 1.1rem; 
}

#perguntas .accordion i { 
  font-size: 22px; 
  color: var(--color-primary); 
  margin-right: 12px; 
  transition: transform 0.3s ease;
}

#perguntas .accordion:hover i {
  transform: rotate(90deg);
}

#perguntas button:focus { 
  outline: 0px !important; 
}

#perguntas .panel { 
  display: none; 
  margin-top: -0.1rem; 
  margin-bottom: 1rem; 
  padding: 0 1.3rem; 
  animation: fadeIn 0.5s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

#perguntas .panel, #perguntas .panel p { 
  padding-top:8px;
  margin-bottom: 0 !important; 
  font-size: 1rem; 
  font-weight: 400; 
  color: var(--color-primary); 
  padding-left: 0.8rem; 
  margin-top: -10px; 
  line-height:1.2rem;
}

#perguntas .panel ul{
  margin-bottom:15px;
}

#perguntas .panel li{
  font-size: 1rem;
  font-weight: 400; 
  color: var(--color-primary);
  padding-left:0;
  line-height:1.2rem;
}

.image-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 85%;
  overflow: hidden;
  margin-top:15%;
}

.image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.dashed-element {
  position: absolute;
  border: 2px dashed var(--color-primary);
  opacity: 0.5;
  z-index: 2;
}

.dashed-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  top: -50px;
  right: -50px;
  animation: rotate 20s linear infinite;
}

.dashed-square {
  width: 150px;
  height: 150px;
  bottom: -30px;
  left: -30px;
  animation: float 6s ease-in-out infinite;
}

.dashed-triangle {
  width: 0;
  height: 0;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
  border-bottom: 173px solid transparent;
  border-top: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: pulse 4s ease-in-out infinite;
}

.dashed-hexagon {
  width: 100px;
  height: 57.74px;
  background: transparent;
  position: absolute;
  top: 20px;
  left: 20px;
  animation: rotate 15s linear infinite reverse;
}

.dashed-hexagon:before,
.dashed-hexagon:after {
  content: "";
  position: absolute;
  width: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
}

.dashed-hexagon:before {
  bottom: 100%;
  border-bottom: 28.87px solid var(--color-primary);
}

.dashed-hexagon:after {
  top: 100%;
  width: 0;
  border-top: 28.87px solid var(--color-primary);
}

.dashed-rectangle {
  width: 180px;
  height: 100px;
  bottom: 20px;
  right: 20px;
  animation: pulse 5s ease-in-out infinite 1s;
}

.dashed-oval {
  width: 160px;
  height: 80px;
  border-radius: 50%;
  top: 40%;
  left: -40px;
  animation: float 7s ease-in-out infinite 2s;
}

.dashed-wave {
  width: 200px;
  height: 60px;
  background: transparent;
  border: none;
  position: absolute;
  top: 10%;
  right: 5%;
}

.dashed-wave::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px dashed var(--color-primary);
  transform: scale(1, 0.3);
  animation: wave 5s ease-in-out infinite;
}

.dashed-zigzag {
  width: 150px;
  height: 50px;
  background: repeating-linear-gradient(
    135deg,
    var(--color-primary) 0,
    var(--color-primary) 10px,
    transparent 10px,
    transparent 20px
    
  );
  opacity: 0.3;
  position: absolute;
  bottom: 10%;
  left: 5%;
  animation: pulse 4s ease-in-out infinite 1.5s;
  display: none;
}

.animated-bg-element {
  position: absolute;
  opacity: 0.1;
  z-index: 0;
}

.bg-circle {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background-color: var(--color-primary);
  top: -150px;
  left: -150px;
  animation: pulse 8s ease-in-out infinite;
}

.bg-square {
  width: 200px;
  height: 200px;
  background-color: var(--color-primary);
  bottom: -100px;
  right: -100px;
  animation: rotate 15s linear infinite;
}

.animated-element {
  position: absolute;
  background-color: var(--color-primary);
  border-radius: 50%;
  opacity: 0.6;
  z-index: 2;
}

.floating-dot {
  width: 10px;
  height: 10px;
}

.dot-1 {
  top: 20%;
  left: 10%;
  animation: float 4s ease-in-out infinite;
}

.dot-2 {
  top: 60%;
  right: 20%;
  animation: float 5s ease-in-out infinite 1s;
}

.dot-3 {
  bottom: 15%;
  left: 50%;
  animation: float 6s ease-in-out infinite 2s;
}

#perguntas .title_section::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -30px;
  width: 100px;
  height: 66px;
  background-color: var(--color-primary);
  border-radius: 0 4rem 4rem 0;
  opacity: 0.1;
  z-index: 1;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.1); opacity: 0.7; }
}

@keyframes wave {
  0%, 100% { transform: scale(1, 0.3); }
  50% { transform: scale(1, 0.5); }
}

@media(max-width:991px) {
  #perguntas .title_section h2 {
    font-size: 41px;
    text-align: center;
    margin: 0 auto;
  }
  #perguntas .title_section {
    margin-bottom: 1rem;
  }
  .image-container {
    margin-top: 2rem;
  }
  #perguntas .title_section {
    padding: 2rem 0 2rem;
  }
}

@media(max-width:767px) {
  #perguntas .accordion p { font-size: 1.2rem; }
  #perguntas .panel p { font-size: 1.2rem; }
  .animated-bg-element, .animated-element {
    display: none;
  }
  .dashed-element {
    opacity: 0.3;
  }
}

@media(max-width:575px) {
  #perguntas .accordion p { font-size: 1rem; }
  #perguntas .panel p { font-size: 1rem; }
}

/* -------------------------------------------------------------------
 * SESSAO 09 - NOTICIAS - ARTIGOS - BLOG
 * -----------------------------------------------------------------*/
 #noticias { 
  background: var(--color-secondary); 
  padding: 6rem 0;
  position: relative;
  overflow: hidden;
}

#noticias .section-title { 
  font-weight: 700; 
  font-size: 3.5rem; 
  color: var(--color-font-light); 
  text-align: center; 
  margin: 0 auto 2rem;
  position: relative;
}

#noticias .section-title::after {
  content: '';
  display: block;
  width: 100px;
  height: 4px;
  background: var(--color-font-light);
  margin: 1rem auto 0;
}

.news-card {
  display: block;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  height: 100%;
}

.news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

#noticias article { 
  margin-bottom: 1rem; 
}

#noticias article span, 
#noticias article h3,  
#noticias article p { 
  color: var(--color-font-light); 
}

.news-tag { 
  background-color: #292929; 
  font-size: .8rem; 
  border-radius: 20px; 
  padding: 5px 15px; 
  display: inline-block; 
  margin-bottom: 12px; 
  font-weight: 600;
}

#noticias article h3 { 
  font-size: 1.3rem; 
  font-weight: 600; 
  margin: 10px 0 15px 0; 
  line-height: 1.4;
}

.news-date { 
  font-weight: 500; 
  font-size: .9rem; 
  margin: 0.5rem 0 0; 
  opacity: 0.8;
}

#noticias article .image-cover { 
  position: relative; 
  padding: 0 !important; 
  height: 200px !important; 
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 15px;
}

#noticias article .image-cover img { 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  display: block; 
  transition: transform 0.3s ease;
}

#noticias article:hover .image-cover img {
  transform: scale(1.05);
}

.dashed-circle, .dashed-square {
  position: absolute;
  border: 2px dashed rgba(255, 255, 255, 0.596);
  z-index: 0;
}

.dashed-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  top: -100px;
  right: -100px;
  animation: rotate 30s linear infinite;
}

.dashed-square {
  width: 150px;
  height: 150px;
  bottom: -75px;
  left: -75px;
  animation: float 6s ease-in-out infinite;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

@media(max-width: 991px) {
  #noticias .section-title { 
      font-size: 2.8rem; 
  }
}

@media(max-width: 767px) {
  #noticias .section-title { 
      font-size: 2.3rem; 
  }
  #noticias article h3 { 
      font-size: 1.2rem; 
  }
  #noticias {
    padding: 1rem 0;
    position: relative;
    overflow: hidden;
}
}

@media(max-width: 575px) {
  #noticias .section-title { 
      font-size: 3rem; 
  }
  #noticias article h3 { 
      font-size: 1.1rem; 
  }
}
  /* -------------------------------------------------------------------
 * SESSAO 10 - NEWSLETTER
 * -----------------------------------------------------------------*/
 #newsletter{ background: var(--color-primary); padding: 2rem 0 4rem; }
 #newsletter h2 { font-weight: 500; font-size: 1.5rem; margin-bottom: 0; color: var(--color-font-light); }
 #newsletter input { border: 2px solid var(--color-font-light); background: transparent; color: var(--color-font-light); max-width: 340px; padding: 30px; font-size: 1.2rem; text-align: center; border-radius: 10px; margin: 0 1.5rem 0 2rem; }
 #newsletter input:focus, #newsletter input:active {
    border-color: var(--color-font-light)!important;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5)!important;
 }
 #newsletter input::placeholder { font-weight: 600; color: var(--color-font-light); }
 #newsletter .btn_theme_secondary { font-weight: 600; color: var(--color-font-light) !important; padding: 16px 40px !important; font-size: 1.2rem; }

 @media (max-width:991px) {
    #newsletter h2 { font-size: 1.3rem; }
    #newsletter h2 br { display: none; }
    #newsletter input { max-width: 300px; }
 }
 @media (max-width:767px) {
    #newsletter form div { text-align: center; }
    #newsletter h2 { text-align: center; font-size: 1.5rem; }
    #newsletter input { margin: 1rem 10%; max-width: 80%; }
 }
 @media (max-width:575px) {
    #newsletter input { margin: 1rem 5%; max-width: 90%; }
 }


 /* -------------------------------------------------------------------
 * SESSAO 11 - PARCEIROS
 * -----------------------------------------------------------------*/
 #parceiros { padding: 0 0 2rem 0; }
 #parceiros h3 { font-weight: 600; font-size: 1.9rem; }
 #parceiros .btn_theme_primary { font-size: 1.6rem; font-weight: 500; padding: 8px 34px !important; margin-top: 0.8rem; }
 #parceiros img{border-radius: 40px; transition: .5s;}
 #parceiros img:hover{
  transform: scale(1.05);
 }
 #parceiros h2{text-align: center; margin: 0 auto;}
 #parceiros .title_section::before {
  content: "";
  position: absolute;
  margin-top: 6px;
  width: 100px;
  height: 66px;
  background-color: var(--color-primary);
  border-radius: 0 4rem 4rem 0;
  display: none;
}
@media (max-width: 549px) {
  #parceiros .title_section h2 {
      font-size: 42px;
  }
}
 @media (max-width:991px) {
    #parceiros h3 br { display: none; }
 }
 @media (max-width:767px) {
    #parceiros .btn_theme_primary { margin-bottom: 2rem; }
 }
 @media (max-width:575px) {
    #parceiros h3 { font-size: 1.6rem; }
    #parceiros .btn_theme_primary { font-size: 1.2rem; }
 }


/* -------------------------------------------------------------------
 * FOOTER
 * -----------------------------------------------------------------*/
 #footer { 
  border-radius: 10rem 10rem 0 0; 
  background: var(--color-secondary); 
  padding-top: 4rem; 
  margin-top: 4rem; 
  position: relative;
  overflow: hidden;
} 

#footer h2 { 
  font-weight: bold; 
  margin-bottom: -3rem; 
  font-size: 2.3rem; 
  color: #fff;
  position: relative;
  z-index: 2;
}

#footer-container .contatos-group-button { 
  background: #003b2e; 
  border-radius: 11rem; 
  padding: 1rem; 
  position: relative;
  z-index: 2;
}

#footer-container .contatos-group-button article { 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  flex-direction: column; 
  text-align: center; 
  padding: 1rem; 
  transition: transform 0.3s ease;
}

#footer-container .contatos-group-button article:hover {
  transform: translateY(-5px);
}

#footer-container .contatos-group-button article img { 
  max-height: 70px; 
}

#footer-container .contatos-group-button article h3 {  
  color: var(--color-font-light); 
  font-size: 1.5rem; 
  font-weight: 600; 
  margin: 1rem 0 0; 
}

#footer-container .contatos-group-social { 
  padding: 2rem 0 1rem; 
  position: relative;
  z-index: 2;
}

#footer-container .contatos-group-social i { 
  font-size: 65px; 
  margin: 0 5px 1rem; 
  color: #fff;
  transition: color 0.3s ease, transform 0.3s ease;
}

#footer-container .contatos-group-social i:hover { 
  color: #fff; 
  transform: scale(1.1);
}

#footer-container .contatos-group-info { 
  padding: 1rem 2rem 1rem; 
  color: #fff;
  position: relative;
  z-index: 2;
}

#footer-container .contatos-group-info strong { 
  font-size: 1.1rem; 
  font-weight: bold; 
  color: #fff;
}

#footer-container .contatos-group-info p { 
  display: block; 
  margin-bottom: .2rem; 
  font-size: 1rem; 
  color: #fff;
} 

#footer-container #icon-instagram{
  vertical-align: -0.2rem !important;
}

/* Dashed geometric shapes */
.dashed-circle,
.dashed-square,
.dashed-triangle,
.dashed-hexagon,
.dashed-wave {
  position: absolute;
  border: 2px dashed rgba(255, 255, 255, 0.3);
  z-index: 1;
}

.dashed-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  top: -50px;
  left: -50px;
  animation: rotate 20s linear infinite;
}

.dashed-square {
  width: 150px;
  height: 150px;
  bottom: 50px;
  right: -50px;
  animation: float 6s ease-in-out infinite;
}

.dashed-triangle {
  width: 0;
  height: 0;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
  border-bottom: 173px solid transparent;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  animation: pulse 4s ease-in-out infinite;
}

.dashed-hexagon {
  width: 100px;
  height: 57.74px;
  background: transparent;
  position: absolute;
  top: 20%;
  right: 10%;
  animation: rotate 15s linear infinite reverse;
  display: none;
}

.dashed-hexagon:before,
.dashed-hexagon:after {
  content: "";
  position: absolute;
  width: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
}

.dashed-hexagon:before {
  bottom: 100%;
  border-bottom: 28.87px solid rgba(255, 255, 255, 0.3);
}

.dashed-hexagon:after {
  top: 100%;
  width: 0;
  border-top: 28.87px solid rgba(255, 255, 255, 0.3);
}

.dashed-wave {
  width: 280px;
  height: 100px;
  border: none;
  background: repeating-linear-gradient(to right, transparent, transparent 10px, rgba(255, 255, 255, 0.3) 10px, rgba(255, 255, 255, 0.3) 20px);
  mask: radial-gradient(100% 50% at center center, black, transparent);
  -webkit-mask: radial-gradient(100% 50% at center center, black, transparent);
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  animation: wave 10s linear infinite;
  margin-top: -5rem;
  display: none;
}
#footer .imagem{
  margin: 0 auto;
  display: block;
  box-shadow: none !important;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

@keyframes pulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.7; }
}

@keyframes wave {
  0% { background-position: 0 0; }
  100% { background-position: 200px 0; }
}

@media (max-width: 991px) {
  #footer {
      border-radius: 5rem 5rem 0 0;
  }
  
  #footer h2 {
      font-size: 2rem;
  }
  
  .dashed-circle,
  .dashed-square,
  .dashed-triangle,
  .dashed-hexagon {
      display: none;
  }
  
  .dashed-wave {
      width: 150px;
  }
}

@media (max-width: 767px) {
  #footer-container .contatos-group-social i {
      font-size: 45px;
  }
  
  #footer-container .contatos-group-info strong,
  #footer-container .contatos-group-info p {
      font-size: 0.9rem;
  }
}




#footer-container .contatos-group-button {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: transparent;
  padding: 0;
  max-width: 300px;
  margin: 0 auto;
}

#footer-container .contact-item {
  background: #003b2e;
  border-radius: 0.5rem;
  padding: 0.75rem;
  transition: transform 0.3s ease;
}

#footer-container .contact-item:hover {
  transform: translateY(-3px);
}

#footer-container .contact-item article {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  text-align: left;
}

#footer-container .contact-item article img {
  max-height: 50px;
  margin-right: 1rem;
}

#footer-container .contact-item article h3 {
  color: var(--color-font-light);
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0;
}

#footer-container .imagem {
  max-width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 991px) {
  #footer {
      border-radius: 5rem 5rem 0 0;
  }

  #footer-container .contatos-group-button {
      max-width: 100%;
  }

  #footer-container .imagem {
      max-height: 300px;
      margin-top: 2rem;
  }
}

@media (max-width: 767px) {
  #footer-container .contact-item article h3 {
      font-size: 26px;
  }
}

#foter     .col-lg-5 {
  -ms-flex: 0 0 41.666667%;
  flex: -3 0 42.666667%;
  max-width: 27.666667%;
}


#footer-container .contatos-group-button {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: transparent;
  padding: 0;
  max-width: 100%; /* Adicionado para limitar a largura dos botões */
  margin: 0 auto; /* Centraliza os botões se necessário */
  margin-top: 2rem;
}

#footer-container .contact-item {
  background: var(--color-secondary-hover);
  border-radius: 1rem;
  padding: 1rem;
  transition: transform 0.3s ease;
}

/* ... (resto do CSS para os botões permanece o mesmo) ... */

#footer-container .imagem {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

#footer #logo-footer{
  max-width: 180px;
  margin-right:50px;
  margin-top:15px;
}

#footer #logo-footer-mobile{
  max-width:170px;
}

#footer #w3c{
  max-width:60px !important;
}

@media (max-width: 991px) {
  #footer-container .contatos-group-button {
      max-width: 100%; /* Permite que os botões ocupem toda a largura em telas menores */
      margin-top: 3rem;
  }


  #footer-container .imagem {
      max-height: 300px; /* Ajuste para telas menores */
      margin-top: 2rem; /* Adiciona espaço entre os botões e a imagem em telas menores */
  }

  /* ... (resto do CSS para responsividade permanece o mesmo) ... */
}
/* Copy */
#footer #copyright { background: var(--color-secondary-hover); border-radius: 10rem 10rem 0 0; padding-top: 1rem; }
#footer #copyright .container { padding:1.2rem 0 1.5rem 0; }
#footer #copyright p { font-size: .9rem; letter-spacing: 1px; margin: 0; color: var(--color-font-light) !important; }
#footer #copyright .selos{ padding-left: 3rem; padding-right: 3rem; }
#footer #copyright .selos a { color: var(--color-font-light); }
#footer #copyright .selos .d-flex p { font-size: 0.6rem; text-transform: uppercase; margin: 0 0 9px 0; }
#footer #copyright .selos img { max-height: 35px; }


@media (max-width:991px) {
    #footer h2 br { display: none; }
}
@media (max-width:767px) {
    #footer { border-radius: 0; }
    #footer #copyright { border-radius: 0; }
    #footer-container .contatos-group-button article { margin-bottom: 2rem; }
    #footer #footer-container { padding-top: 2rem; clip-path: none; }
    #footer #copyright p { text-align: center; font-size: 0.8rem; }
}
@media(max-width:575px) {
   #footer h2 { font-size: 1.8rem; }
}