.elementor-7034 .elementor-element.elementor-element-fee72f2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-7034 .elementor-element.elementor-element-fee72f2.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7034 .elementor-element.elementor-element-e2e7c24{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-1vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;}.elementor-7034 .elementor-element.elementor-element-e2e7c24.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7034 .elementor-element.elementor-element-878b168{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-1vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-7034 .elementor-element.elementor-element-6fd743b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-1vw;--margin-bottom:-2vw;--margin-left:0vw;--margin-right:0vw;}@media(min-width:768px){.elementor-7034 .elementor-element.elementor-element-fee72f2{--width:100%;}.elementor-7034 .elementor-element.elementor-element-e2e7c24{--width:100%;}.elementor-7034 .elementor-element.elementor-element-6fd743b{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-4c6603d *//* =========================
   SECCIÓN GENERAL
   ========================= */

/* Contenedor principal del banner */
.our-banner {

  width: 100vw; /* ocupa todo el ancho de la pantalla (viewport completo) */

  min-height: 30vw; /* altura mínima responsive */

  background-color: #FFFFFF; /* fondo blanco */

  overflow: hidden; /* evita que elementos se salgan del contenedor */

  display: flex; /* activa flexbox */

  align-items: stretch; /* estira los hijos a la misma altura */

  margin-left: calc(-50vw + 50%); /* rompe el contenedor y lo hace full width */
  margin-right: calc(-50vw + 50%); /* lo mismo hacia la derecha */
}



/* =========================
   COLUMNA IZQUIERDA
   ========================= */

/* Contenedor de texto */
.our-content {

  width: 50%; /* ocupa la mitad izquierda */

  padding: 3.47vw 4.17vw 3.47vw 17vw !important; /* espaciado interno (top right bottom left) */

  display: flex; /* flexbox interno */

  flex-direction: column; /* elementos en columna */

  justify-content: center; /* centra verticalmente */

  z-index: 2; /* encima de decoraciones */

  position: relative; /* base para pseudo-elementos */

  overflow: hidden; /* recorta decoraciones */
}



/* =========================
   DECORACIONES (ESTRELLAS)
   ========================= */

/* Estilo base de símbolos decorativos */
.our-content::before,
.our-content::after {

  position: absolute; /* posicionamiento libre */

  font-family: Arial Black; /* fuente gruesa para símbolos */

  font-weight: 900; /* máxima negrita */

  color: #F5F5F5; /* gris muy claro */

  pointer-events: none; /* no bloquea clics */

  user-select: none; /* no seleccionable */

  z-index: 0; /* detrás del contenido */
}



/* símbolo decorativo superior */
.our-content::before {

  content: "✦"; /* estrella */

  font-size: 14vw; /* tamaño grande responsive */

  left: 3vw; /* posición izquierda */

  top: 1vw; /* posición superior */

  transform: rotate(-15deg); /* inclinación estética */
}



/* símbolos decorativos inferiores */
.our-content::after {

  content: "✦✦"; /* doble estrella */

  font-size: 9vw; /* tamaño menor */

  left: 12vw; /* posición horizontal */

  bottom: 1vw; /* posición inferior */

  top: 15vw !important; /* fuerza posición vertical (override) */

  transform: rotate(12deg); /* inclinación contraria */

  letter-spacing: 3vw; /* separación entre símbolos */
}



/* =========================
   TÍTULO
   ========================= */

/* título principal */
.our-content h2 {

  color: #090250; /* azul oscuro */

  font-size: 3vw; /* tamaño responsive */

  line-height: 1; /* compacta líneas */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 30vw; /* limita ancho del texto */

  position: relative; /* base para decoraciones */

  z-index: 2; /* encima de fondos */

  font-family: 'Roboto', sans-serif; /* fuente */
}



/* palabra destacada */
.our-content h2 span {

  color: #F3CB4E; /* amarillo */

  font-style: normal; /* sin cursiva */

  position: relative; /* permite posicionar la línea decorativa */

  display: inline-block; /* necesario para que el subrayado tenga el ancho exacto de la palabra */
}



/* línea decorativa debajo de la palabra destacada */
.our-content h2 span::after {

  content: ""; /* crea el elemento decorativo */

  position: absolute; /* se posiciona relativo al span */

  left: 0; /* inicia desde la izquierda */

  bottom: -0.3vw; /* separación respecto al texto */

  width: 100%; /* mismo ancho de la palabra */

  height: 0.3vw; /* grosor de la línea */

  background: #F3CB4E; /* color amarillo */

  border-radius: 5vw; /* extremos redondeados */
}



/* =========================
   TEXTO
   ========================= */

/* párrafo descriptivo */
.our-content p {

  color: #090250; /* azul oscuro */

  font-size: 1vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado entre líneas */

  max-width: 28vw; /* evita líneas muy largas */

  position: relative; /* base para capas */

  z-index: 2; /* encima de decoraciones */

  font-family: 'Roboto', sans-serif; /* fuente */
}



/* =========================
   COLUMNA DERECHA (IMAGEN)
   ========================= */

/* contenedor de imagen */
.our-image {

  width: 50%; /* mitad del banner */

  position: relative; /* base para efectos */

  overflow: hidden; /* recorta imagen */
}



/* =========================
   IMAGEN
   ========================= */

/* imagen principal */
.our-image img {

  width: 100%; /* ocupa todo el ancho */

  height: 100%; /* ocupa toda la altura */

  object-fit: cover; /* recorta sin deformar */

  display: block; /* elimina espacios blancos */

  clip-path: polygon(
    18% 0%, /* recorte diagonal superior */
    100% 0%,
    100% 100%,
    0% 100%
  ); /* forma diagonal estilizada */
}



/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1024px) {

  /* cambia layout a columna */
  .our-banner {
    flex-direction: column;
  }

  /* contenido ocupa todo el ancho */
  .our-content {
    width: 100%;
    padding: 10vw 7vw !important;
    text-align: center;
    align-items: center;
  }

  /* título más grande en móvil */
  .our-content h2 {
    font-size: 10vw;
    max-width: 100%;
  }

  /* ajusta el grosor de la línea decorativa en móviles */
  .our-content h2 span::after {

    height: 1vw; /* línea más gruesa para pantallas pequeñas */

    bottom: -0.5vw; /* separación adicional respecto al texto */
  }

  /* texto más legible en móvil */
  .our-content p {
    font-size: 3.5vw;
    max-width: 100%;
  }

  /* imagen ocupa todo el ancho */
  .our-image {
    width: 100%;
    height: 90vw;
  }

  /* elimina recorte diagonal en móvil */
  .our-image img {
    clip-path: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1a62c2a *//* =========================
   SECCIÓN GENERAL
   ========================= */

/* Contenedor principal de la sección */
.our-section-1 {

  width: 100vw; /* ocupa todo el ancho de la pantalla */

  min-height: 31.25vw; /* altura mínima responsive */

  background-color: #000075; /* fondo azul oscuro */

  overflow: hidden; /* evita desbordes */

  display: flex; /* activa flexbox */

  align-items: stretch; /* estira ambos lados a la misma altura */

  margin-left: calc(-50vw + 50%); /* rompe el contenedor para full width */
  margin-right: calc(-50vw + 50%); /* lo mismo a la derecha */

  font-family: 'Roboto', sans-serif; /* fuente general */
}



/* =========================
   IZQUIERDA: IMAGEN
   ========================= */

/* contenedor de imagen */
.our-section-1-image {

  width: 55%; /* ocupa más de la mitad */

  position: relative; /* base para overlay */

  overflow: hidden; /* recorta imagen */
}



/* =========================
   DEGRADADO SOBRE IMAGEN
   ========================= */

/* capa de degradado encima de la imagen */
.our-section-1-image::after {

  content: ""; /* elemento decorativo */

  position: absolute; /* se posiciona sobre la imagen */

  top: 0; /* arriba */

  right: 0; /* lado derecho */

  width: 50%; /* cubre mitad de la imagen */

  height: 100%; /* altura completa */

  background: linear-gradient(
    to right,
    rgba(0, 0, 117, 0) 0%,   /* transparente */
    rgba(0, 0, 117, 0.7) 60%, /* semi oscuro */
    rgba(0, 0, 117, 1) 100%   /* azul sólido */
  );

  z-index: 1; /* encima de la imagen */

  pointer-events: none; /* no bloquea clics */
}



/* =========================
   IMAGEN
   ========================= */

/* imagen principal */
.our-section-1-image img {

  width: 100%; /* ocupa todo el ancho */

  height: 100%; /* ocupa toda la altura */

  object-fit: cover; /* recorta sin deformar */

  display: block; /* elimina espacios inferiores */
}



/* =========================
   DERECHA: CONTENIDO
   ========================= */

/* contenedor de texto */
.our-section-1-content {

  width: 45%; /* ocupa el resto del espacio */

  padding: 3.47vw 4.17vw 3.47vw 2vw; /* espaciado interno */

  display: flex; /* flexbox */

  flex-direction: column; /* contenido en columna */

  justify-content: center; /* centra verticalmente */

  z-index: 2; /* encima de elementos decorativos */
}



/* =========================
   TÍTULO
   ========================= */

/* título principal */
.our-section-1-content h2 {

  color: white; /* texto blanco */

  font-size: 3vw; /* tamaño responsive */

  line-height: 1.2; /* separación entre líneas */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 30vw; /* limita ancho del texto */

  font-family: 'Roboto', sans-serif; /* fuente */
}



/* palabra destacada */
.our-section-1-content h2 span {

  color: #F3D61B; /* amarillo */
}



/* =========================
   LÍNEA DECORATIVA
   ========================= */

/* subrayado del título */
.our-section-1-content h2::after {

  content: ""; /* línea decorativa */

  display: block; /* lo convierte en bloque */

  width: 13vw; /* largo de la línea */

  height: 0.3vw; /* grosor */

  background: #F3D61B; /* color amarillo */

  margin-top: 0.8vw; /* separación del texto */

  border-radius: 5vw; /* bordes redondeados */
}



/* =========================
   TEXTO DESTACADO (LEAD)
   ========================= */

/* primer párrafo destacado */
.our-section-1-lead {

  color: #F3D61B; /* amarillo */

  font-size: 1vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado entre líneas */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 28vw; /* limita ancho */

  font-weight: 600; /* seminegrita */
}



/* =========================
   TEXTO NORMAL
   ========================= */

/* segundo párrafo */
.our-section-1-text {

  color: #ffffff; /* blanco */

  font-size: 0.95vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado entre líneas */

  max-width: 28vw; /* limita ancho */
}



/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1024px) {

  /* cambia layout a columna */
  .our-section-1 {
    flex-direction: column;
  }

  /* imagen ocupa todo el ancho */
  .our-section-1-image {
    width: 100%;
    height: 70vw;
  }

  /* degradado cambia orientación */
  .our-section-1-image::after {
    width: 100%;
    background: linear-gradient(
      to bottom,
      rgba(9, 2, 80, 0) 0%,
      rgba(9, 2, 80, 0.7) 60%,
      rgba(9, 2, 80, 1) 100%
    );
  }

  /* contenido centrado */
  .our-section-1-content {
    width: 100%;
    padding: 10vw 7vw;
    text-align: center;
    align-items: center;
  }

  /* título más grande */
  .our-section-1-content h2 {
    font-size: 10vw;
    max-width: 100%;
  }

  /* textos más legibles */
  .our-section-1-lead,
  .our-section-1-text {
    font-size: 3.5vw;
    max-width: 100%;
  }

  /* centra línea decorativa */
  .our-section-1-content h2::after {
    margin: 0.8vw auto 0;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8c9d7a1 *//* =========================
   SECCIÓN GENERAL
   ========================= */

/* Contenedor principal de la sección */
.our-section-2 {

  width: 100vw; /* ocupa todo el ancho de la pantalla */

  min-height: 31.25vw; /* altura mínima responsive */

  background-color: #000075; /* fondo azul oscuro */

  overflow: hidden; /* evita desbordes */

  display: flex; /* activa flexbox */

  align-items: stretch; /* estira columnas a la misma altura */

  margin-left: calc(-50vw + 50%); /* rompe el contenedor a full width */
  margin-right: calc(-50vw + 50%); /* lo mismo a la derecha */

  font-family: 'Roboto', sans-serif; /* fuente general */
}



/* =========================
   IZQUIERDA: CONTENIDO
   ========================= */

/* contenedor de texto */
.our-section-2-content {

  width: 45%; /* ocupa menos de la mitad */

  padding: 3.47vw 4.17vw 3.47vw 10vw; /* espaciado interno */

  display: flex; /* flexbox */

  flex-direction: column; /* elementos en columna */

  justify-content: center; /* centra verticalmente */

  z-index: 2; /* encima de decoraciones */
}



/* =========================
   TÍTULO
   ========================= */

/* título principal */
.our-section-2-content h2 {

  color: #ffffff; /* texto blanco */

  font-size: 3vw; /* tamaño responsive */

  line-height: 1.2; /* altura de línea */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 30vw; /* limita ancho del texto */

  font-family: 'Roboto', sans-serif; /* fuente */
}



/* palabra destacada */
.our-section-2-content h2 span {

  color: #F3D61B; /* amarillo */
}



/* =========================
   LÍNEA DECORATIVA
   ========================= */

/* subrayado del título */
.our-section-2-content h2::after {

  content: ""; /* elemento decorativo */

  display: block; /* lo convierte en bloque */

  width: 10vw; /* largo de la línea */

  height: 0.3vw; /* grosor */

  background: #F3D61B; /* amarillo */

  margin-top: 0.8vw; /* separación del texto */

  border-radius: 5vw; /* bordes redondeados */
}



/* =========================
   TEXTO DESTACADO (LEAD)
   ========================= */

/* primer párrafo destacado */
.our-section-2-lead {

  color: #F3D61B; /* amarillo */

  font-size: 1vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado entre líneas */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 28vw; /* limita ancho */

  font-weight: 600; /* seminegrita */
}



/* =========================
   TEXTO NORMAL
   ========================= */

/* segundo párrafo */
.our-section-2-text {

  color: #ffffff; /* blanco */

  font-size: 0.95vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado entre líneas */

  max-width: 28vw; /* limita ancho */
}



/* =========================
   DERECHA: IMAGEN
   ========================= */

/* contenedor de imagen */
.our-section-2-image {

  width: 55%; /* ocupa más de la mitad */

  position: relative; /* base para overlay */

  overflow: hidden; /* recorta imagen */
}



/* =========================
   DEGRADADO SOBRE IMAGEN
   ========================= */

/* capa de degradado encima de la imagen */
.our-section-2-image::before {

  content: ""; /* elemento decorativo */

  position: absolute; /* se posiciona sobre la imagen */

  top: 0; /* arriba */

  left: 0; /* izquierda */

  width: 50%; /* cubre mitad */

  height: 100%; /* altura completa */

  background: linear-gradient(
    to left,
    rgba(0, 0, 117, 0) 0%,   /* transparente */
    rgba(0, 0, 117, 0.7) 60%, /* semi oscuro */
    rgba(0, 0, 117, 1) 100%   /* azul sólido */
  );

  z-index: 1; /* encima de la imagen */

  pointer-events: none; /* no bloquea clics */
}



/* =========================
   IMAGEN
   ========================= */

/* imagen principal */
.our-section-2-image img {

  width: 100%; /* ocupa todo el ancho */

  height: 100%; /* ocupa toda la altura */

  object-fit: cover; /* recorta sin deformar */

  display: block; /* elimina espacios */
}



/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1024px) {

  /* cambia layout a columna */
  .our-section-2 {
    flex-direction: column;
  }

  /* contenido ocupa todo el ancho */
  .our-section-2-content {
    width: 100%;
    padding: 10vw 7vw;
    text-align: center;
    align-items: center;
  }

  /* título más grande */
  .our-section-2-content h2 {
    font-size: 10vw;
    max-width: 100%;
  }

  /* textos más legibles */
  .our-section-2-lead,
  .our-section-2-text {
    font-size: 3.5vw;
    max-width: 100%;
  }

  /* centra línea decorativa */
  .our-section-2-content h2::after {
    margin: 0.8vw auto 0;
  }

  /* imagen ocupa todo el ancho */
  .our-section-2-image {
    width: 100%;
    height: 70vw;
  }

  /* cambia degradado a vertical */
  .our-section-2-image::before {
    width: 100%;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 117, 1) 0%,
      rgba(0, 0, 117, 0.7) 40%,
      rgba(0, 0, 117, 0) 100%
    );
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-38ddc8e *//* =========================
   SECCIÓN GENERAL
   ========================= */

/* Contenedor principal de la sección */
.our-section-3 {

  width: 100vw; /* ocupa todo el ancho de la pantalla */

  min-height: 31.25vw; /* altura mínima responsive */

  background-color: #000075; /* fondo azul oscuro */

  overflow: hidden; /* evita desbordes */

  display: flex; /* activa flexbox */

  align-items: stretch; /* estira columnas a la misma altura */

  margin-left: calc(-50vw + 50%); /* rompe contenedor a full width */
  margin-right: calc(-50vw + 50%); /* lo mismo a la derecha */

  font-family: 'Roboto', sans-serif; /* fuente general */
}



/* =========================
   IZQUIERDA: IMAGEN
   ========================= */

/* contenedor de imagen */
.our-section-3-image {

  width: 55%; /* ocupa más de la mitad */

  position: relative; /* base para overlay */

  overflow: hidden; /* recorta imagen */
}



/* =========================
   DEGRADADO SOBRE IMAGEN
   ========================= */

/* capa de degradado sobre la imagen */
.our-section-3-image::after {

  content: ""; /* elemento decorativo */

  position: absolute; /* sobre la imagen */

  top: 0; /* arriba */

  right: 0; /* lado derecho */

  width: 50%; /* cubre mitad de la imagen */

  height: 100%; /* altura completa */

  background: linear-gradient(
    to right,
    rgba(0, 0, 117, 0) 0%,   /* transparente */
    rgba(0, 0, 117, 0.7) 60%, /* semi oscuro */
    rgba(0, 0, 117, 1) 100%   /* azul sólido */
  );

  z-index: 1; /* encima de la imagen */

  pointer-events: none; /* no bloquea clics */
}



/* =========================
   IMAGEN
   ========================= */

/* imagen principal */
.our-section-3-image img {

  width: 100%; /* ocupa todo el ancho */

  height: 100%; /* ocupa toda la altura */

  object-fit: cover; /* recorta sin deformar */

  display: block; /* elimina espacios inferiores */
}



/* =========================
   DERECHA: CONTENIDO
   ========================= */

/* contenedor de texto */
.our-section-3-content {

  width: 45%; /* ocupa menos de la mitad */

  padding: 3.47vw 4.17vw 3.47vw 2vw; /* espaciado interno */

  display: flex; /* flexbox */

  flex-direction: column; /* elementos en columna */

  justify-content: center; /* centra verticalmente */

  z-index: 2; /* encima de decoraciones */
}



/* =========================
   TÍTULO
   ========================= */

/* título principal */
.our-section-3-content h2 {

  color: #FFFFFF; /* blanco */

  font-size: 3vw; /* tamaño responsive */

  line-height: 1.2; /* separación entre líneas */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 30vw; /* limita ancho */

  font-family: 'Roboto', sans-serif; /* fuente */
}



/* palabra destacada */
.our-section-3-content h2 span {

  color: #ffffff; /* blanco (igual que el título) */
}



/* =========================
   LÍNEA DECORATIVA
   ========================= */

/* subrayado del título */
.our-section-3-content h2::after {

  content: ""; /* elemento decorativo */

  display: block; /* bloque */

  width: 12vw; /* largo de la línea */

  height: 0.3vw; /* grosor */

  background: #ffffff; /* blanco */

  margin-top: 0.8vw; /* separación */

  border-radius: 5vw; /* bordes redondeados */
}



/* =========================
   TEXTO DESTACADO (LEAD)
   ========================= */

/* primer párrafo */
.our-section-3-lead {

  color: #ffffff; /* blanco */

  font-size: 1vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado */

  margin-bottom: 1.5vw; /* separación inferior */

  max-width: 28vw; /* limita ancho */

  font-weight: 600; /* seminegrita */
}



/* =========================
   TEXTO NORMAL
   ========================= */

/* segundo párrafo */
.our-section-3-text {

  color: #F3D61B; /* amarillo (contraste) */

  font-size: 0.95vw; /* tamaño responsive */

  line-height: 1.6em; /* espaciado */

  max-width: 28vw; /* limita ancho */
}



/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1024px) {

  /* cambia layout a columna */
  .our-section-3 {
    flex-direction: column;
  }

  /* imagen ocupa todo el ancho */
  .our-section-3-image {
    width: 100%;
    height: 70vw;
  }

  /* degradado cambia orientación */
  .our-section-3-image::after {
    width: 100%;
    background: linear-gradient(
      to bottom,
      rgba(9, 2, 80, 0) 0%,
      rgba(9, 2, 80, 0.7) 60%,
      rgba(9, 2, 80, 1) 100%
    );
  }

  /* contenido centrado */
  .our-section-3-content {
    width: 100%;
    padding: 10vw 7vw;
    text-align: center;
    align-items: center;
  }

  /* título más grande */
  .our-section-3-content h2 {
    font-size: 10vw;
    max-width: 100%;
  }

  /* textos más legibles */
  .our-section-3-lead,
  .our-section-3-text {
    font-size: 3.5vw;
    max-width: 100%;
  }

  /* centra línea decorativa */
  .our-section-3-content h2::after {
    margin: 0.8vw auto 0;
  }
}/* End custom CSS */