.faq, .faq * {box-sizing:border-box }
.faq {background:#ffffff; position:relative; }
.svg {width:24px; height:24px; }

.seccion-preguntas-frecuentes { flex-direction:column; align-items:center; justify-content:flex-start; position:relative; align-content: start; justify-items: flex-start;margin-bottom: 100px;}
.div-faq-question {position:relative; display: flex; flex-direction: row; justify-content: space-between; }
.div-faq-icon {width:30px; height:30px; justify-content: flex-end; align-content: end; }
.text-container {display: flex;  flex-direction: column;   align-content: center; border-style: solid;  border-color: #90a5bb;  border-width: 1px 0px 0px 0px;  justify-content: flex-start;   max-width: 1440px;  padding: 27px;}
.question {color:#0e357a; padding:18px; font-size:20px; font-weight:700; text-align:left; font-family:'Montserrat-Bold', sans-serif; display:flex; align-items:center; justify-content:flex-start; gap: 20px;}
.answer {color:#18191c; padding:20px; font-size:16px; font-weight:400; text-align:left; font-family:'Montserrat-Bold', sans-serif; line-height:30px; display:flex; align-items:center; justify-content:flex-start; }


.frame-13817 {display:flex; flex-direction:column; gap:14px; align-items:center; justify-content:flex-start; flex-shrink:0; position:relative; }
.vector {width:78px; height:81px; position:absolute; right:0px; top:38px; overflow:visible; }
.texto {display:flex; flex-direction:column; gap:0px; align-items:flex-start; justify-content:flex-start; flex-shrink:0; position:relative; }

 /* Contenedor principal de la sección */
    .faq-section {
      max-width: 600px;
      margin: 40px auto;
      font-family: Arial, sans-serif;
      color: #333;
    }

    /* Título de la sección */
    h2 {
      text-align: center;
      font-size: 24px;
      color: #333;
      margin-bottom: 20px;
      font-weight: 600;
    }

    /* Estilo de cada pregunta */
    .faq-item {
      border-top: 1px solid #ddd;
    }

    /* Botón de pregunta */
    .faq-question {
      width: 100%;
      padding: 15px 20px;
      background: #f9f9f9;
      color: #333;
      font-size: 18px;
      font-weight: 500;
      border: none;
      outline: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: background 0.3s ease, color 0.3s ease;
    }

    /* Hover en la pregunta */
    .faq-question:hover {
      background: #e8f0fe;
      color: #333;
    }

    /* Estilo del símbolo + / - */
    .plus-minus {
      font-size: 24px;
      font-weight: bold;
      color: #0078D7; /* Azul moderno */
      transition: transform 0.3s ease;
    }

    /* Muestra la respuesta */
    .faq-answer {
      display: none;
      padding: 15px 20px;
      font-size: 15px;
      line-height: 1.6;
      color: #555;
      background-color: #f9f9f9;
      border-top: 1px solid #eee;
    }

    /* Activo: muestra la respuesta y rota el símbolo */
    .faq-item.active .faq-answer {
      display: block;
    }

    .faq-item.active .plus-minus {
      transform: rotate(45deg); /* Rotación a - */
    }




	.feature-description {
  font-family: Arial, sans-serif;
  color: #333;
  margin: 20px;
  line-height: 1.6;
}

.feature-description h2 {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 15px;
  color: #1859ce;
}

.feature-list {
  list-style-type: none;
  padding: 0;
}

.feature-item {
  background-color: #f9f9f9;
  border-radius: 8px;
  margin-bottom: 15px;
  padding: 20px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.feature-item h3 {
  font-size: 1.2em;
  margin-bottom: 8px;
  color: #2f4255;
}

.feature-item p {
  font-size: 1em;
  color: #555;
  margin: 0;
}

.feature-item strong {
  font-weight: bold;
}






/* Estilo general para la sección de servicios personalizados */
.custom-compliance-services {
  font-family: Arial, sans-serif;
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin: 20px 0;
}

/* Título */
.custom-compliance-services h2 {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
}

/* Párrafos */
.custom-compliance-services p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 10px;
}

/* Resaltar el texto de contacto */
.custom-compliance-services p strong {
  font-weight: bold;
  color: #0066cc;
}

/* Lista de opciones de contacto */
.contact-info {
  list-style-type: none;
  padding: 0;
  margin: 15px 0;
}

/* Estilo para los elementos de la lista */
.contact-info li {
  margin-bottom: 10px;
}

/* Enlaces */
.contact-info a {
  color: #0066cc;
  text-decoration: none;
  font-size: 16px;
  transition: color 0.3s ease;
}

/* Efecto hover sobre los enlaces */
.contact-info a:hover {
  color: #004c99;
  text-decoration: underline;
}


/* Estilo general para la sección de costos y soluciones personalizadas */
.custom-cost-solutions {
  font-family: Arial, sans-serif;
  background-color: #f4f4f4;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  margin: 20px 0;
}

/* Título */
.custom-cost-solutions h2 {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
}

/* Párrafos */
.custom-cost-solutions p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 10px;
}

/* Resaltar el texto de contacto */
.custom-cost-solutions p strong {
  font-weight: bold;
  color: #0066cc;
}

/* Estilo del enlace */
.custom-cost-solutions a {
  color: #0066cc;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s ease;
}

/* Efecto hover sobre el enlace */
.custom-cost-solutions a:hover {
  color: #004c99;
  text-decoration: underline;
}

/* Header container styles */
.header-section { width: 100%; padding: 3rem 1rem; background: linear-gradient(0deg, #0e357a, #00b8d8);  color: #fff; text-align: center; position: relative; overflow: hidden; border-bottom-left-radius: 30% 25%;  border-bottom-right-radius: 30% 25%; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); }
.header-content { max-width: 800px; margin: 0 auto; padding: 1rem; opacity: 0; transform: translateY(20px); animation: fadeInSlide 1s ease-out forwards; animation-delay: 0.5s;}
@keyframes fadeInSlide {
 to {  opacity: 1;  transform: translateY(0); }}
.header-title { font-size: 3rem; font-weight: 700; margin: 0; text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);  color: white;}
.header-subtitle { font-size: 1.2rem; margin: 0.5rem 0 0; color: #d1e4f2; text-align:center}
.header { width: 100%; background-color: #ffffff;  padding: 1.5rem 2rem; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }
.header-container { display: flex; justify-content: space-between; align-items: center; width: 100%;}
.logo img { max-height: 60px; width: auto;}
/* Estilo de los Botones */
.header-buttons { display: flex; gap: 1.5rem; justify-content: flex-end;  align-items: center; flex-grow: 1; /* Asegura que los botones se alineen correctamente */ margin-right: 20px; margin-left: 20px;}
.button-demo { background-color: #0e357a; color: #fff; padding: 1rem 2rem;  border-radius: 50px;  font-weight: 700;  text-decoration: none; text-transform: none;  font-size: 1rem; transition: background-color 0.3s, transform 0.3s ease-in-out, box-shadow 0.3s; text-align: center;}
.button-demo:hover { background-color: #154b8f;  transform: scale(1.05);  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.button-demo:visited {color: #fff;}
.button-login { background-color: #34cfa5;  color: #fff; padding: 1rem 2rem;  border-radius: 50px;  font-weight: 700;  text-decoration: none; text-transform: none;  font-size: 1rem; transition: background-color 0.3s, transform 0.3s ease-in-out, box-shadow 0.3s; text-align: center;text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);}
.button-login:hover { background-color: #28b795; transform: scale(1.05);  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.button-login:visited {color: #fff;}
.menu-icon img { width: 30px; height: 30px; transition: transform 0.3s ease-in-out;}
.menu-icon a:hover img { transform: rotate(90deg); /* Rotación sutil del ícono en hover */}
/* Estilo General del Nav Bar */
.navbar {  background-color: #0e357a;  padding: 0.8rem 2rem;  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  width: 100%;}
.navbar-container { display: flex; justify-content: center;  align-items: center; gap: 2rem; }
.navbar-item { font-size: 1.1rem;  font-weight: 500;  text-align: center; justify-items: center; align-content: center; text-align: center;}
.navbar-item a { color: #fff;  text-decoration: none; padding: 0.5rem 1rem; transition: color 0.3s ease, transform 0.3s ease; border-radius: 4px;  display: flex; text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);}
.navbar-item a:hover { color: #fff; transform: scale(1.05);  background-color: rgba(255, 255, 255, 0.2); }
/* Estilos para la sección de llamada a la acción (CTA) */
.cta-container {  background-color: #0e357a;  color: white;  display: flex;  justify-content: space-between;  padding: 30px 10%;  align-items: center;}
.cta-text {  max-width: 60%;}
.cta-heading {  font-size: 24px;  font-weight: bold;  margin-bottom: 10px;  color: white; }
.cta-description {  font-size: 16px;  margin-bottom: 20px;  color: white;   max-width: 424px;  line-height: 24px;}
.cta-buttons-container {  display: flex;  gap: 15px;  flex-direction: column;}
.cta-button {  padding: 12px 56px;  border-radius: 30px;  font-weight: bold;  text-align: center;  text-decoration: none;  display: flex;  justify-content: center;  align-items: center;  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;}
.cta-button-green {  background-color: #34cfa5;  border: none;  padding: 12px 56px;}
.cta-button-green a {  color: #0e357a;}
.cta-button-white {  background-color: transparent;  border: 2px solid white;  color: white;	padding: 12px 56px;}
.cta-button-white a {  color: white;}
.cta-button-green:hover {  transform: scale(1.05);   background-color: #28b795;   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.cta-button-white:hover {  transform: scale(1.05);   background-color: rgba(255, 255, 255, 0.2);   color: #0e357a;   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
/* Footer Estilos */
.footer {  font-family: 'Arial', sans-serif;  background-color: #fff;   color: #6d7175;   width: 100%;}
.footer-main {  display: flex;  justify-content: space-between;  padding: 40px 10%;  background-color: #fff;   color: #333; }
.footer-column {  width: 20%;  padding: 10px;}
.footer-logo {  max-width: 150px;}
.footer-section-title {  font-size: 18px;  font-weight: bold;  margin-bottom: 10px;  color: #0e357a;   max-width: 180px;}
.footer-links {  display: flex;  flex-direction: column;  gap: 10px;	align-items: flex-start;}
.footer-link {  font-size: 14px;  color: #18191c;   gap: 10px;  display: flex;}
.footer-link a {  color: #6d7175;   text-decoration: none;}
.footer-link a:hover {  text-decoration: underline;}
/* Footer de Derechos */
.footer-bottom {  background-color: #fff;   color: #333;   padding-left: 20px;  padding-right: 20px;  padding-bottom: 20px;}
.footer-divider {  border-top: 1px solid #ccc;  margin-bottom: 10px;}
.footer-copyright {  font-size: 14px;  color: #6d7175;   text-align: center;}
.footer-social-icons {  text-align: center;  margin-top: 10px;}
.footer-social-icon {  margin: 0 10px;}
.footer-social-icon-img {  width: 25px;  height: 25px;  filter: none; }
/* Animación para los iconos sociales */
.footer-social-icon {  transition: transform 0.3s ease, filter 0.3s ease;}
.footer-social-icon-img {  width: 30px;   height: 30px;  filter: grayscale(100%) brightness(0.6);  transition: filter 0.3s ease;}
.footer-social-icon:hover .footer-social-icon-img {  transform: scale(1.4);   filter: grayscale(0%) brightness(2); }
.footer-social-icon-img:hover {  transform: scale(1.4); }
.back-to-top {    position: fixed;    bottom: 20px;    right: 20px;    width: 50px;    height: 50px;    background-color: #0e357a; /* Main brand color */    border-radius: 50%;    display: flex;    justify-content: center;    align-items: center;    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);    cursor: pointer;    transition: transform 0.3s ease, background-color 0.3s ease;    }
.back-to-top:hover {    transform: scale(1.1);    background-color: #34cfa5; /* Hover color */}
.back-to-top-icon {    width: 24px;    height: 24px;    color: white;}
.back-to-top a {    text-decoration: none;    display: flex;    justify-content: center;    align-items: center;}
.page-button-top-item {     justify-content: center;  align-items: center;    }
.page-button-top-item img {      transition: transform 0.3s ease;}
.page-button-top-item:hover img {    transform: scale(1.1);}

@media (max-width: 768px) {	
.header-section {	padding: 1rem 1rem;	}
.footer-links { align-items: center;	}
.cta-container { flex-direction: column; align-items: center; padding: 20px;  }
.cta-buttons-container { flex-direction: column; gap: 10px;  }
.footer-main { flex-direction: column; align-items: center;  }
.cta-container { flex-direction: column; align-items: center; padding: 20px;  }
.cta-buttons-container { flex-direction: column; gap: 10px;  }
.footer-main { flex-direction: column; align-items: center;  }
.footer-column { width: 100%; text-align: center; margin-bottom: 20px; flex-direction: column; display: flex; align-items: center;  }
.page-button-top-item { display: none;	}
.navbar-container {  flex-wrap: wrap;  gap: 1rem; }
.cta-text {  text-align: center;  }
.header-container {  flex-direction: column;  align-items: center; }
.header-buttons {  margin-top: 1rem;  gap: 1rem; }
.header-title {  font-size: 2rem; }
.header-subtitle {  font-size: 1rem; }
}