/* Estilos simplificados - diseño original */
:root{
  --red:#d72b2b;
  --navy:#0b2340;
  --card-bg:#ffffff;
  --muted:#5a6472;
}
body{font-family:Barlow,Arial,Helvetica,sans-serif;  background: linear-gradient(
    110deg,
    #f0f1f5 0%,
    #f2f2f7 42%,
    #d9dce0 62%,
    #dcecf8 82%,
    #f2f6fa 100%
  );overflow-x:hidden}
.container{max-width:1100px;margin:0 auto;padding:20px}
/* =========================================================
   ÁREAS QUE CUBRIMOS
   ========================================================= */
.areas-grid {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 16px;

  margin: 25px 0 40px;
}

/* =========================================================
   TARJETAS
   ========================================================= */
.area-card {
  position: relative;

  height: 505px;
  width: 805px;

  display: grid;

  grid-template-columns: 43% 57%;

  padding: 0;

  background: #ffffff;

  border: 1.5px solid var(--navy);

  border-radius: 14px;

  overflow: hidden;

  box-shadow: 0 5px 14px rgba(11,35,64,0.08);
}

/* Tarjetas con borde rojo */

.area-card.highlight,
.area-card:nth-child(4),
.area-card:nth-child(6) {
  border-color: var(--red);
}


/* =========================================================
   IMÁGENES
   ========================================================= */

.area-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  border-radius: 0;
}

.area-link:hover .area-media {
  transform: scale(1.02);
}

.area-media {
  position: relative;

  width: 100%;
  height: 100%;

  overflow: hidden;

  padding: 0;

  z-index: 1;
  transition: transform .2s ease;
}

.area-media img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  object-position: center;
}


.area-media img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  object-position: center;
}


/* =========================================================
   IMAGEN A LA IZQUIERDA
   ========================================================= */



/* =========================================================
   IMAGEN A LA DERECHA
   ========================================================= */

/* =========================================================
   TODAS LAS IMÁGENES A LA IZQUIERDA
   ========================================================= */

.area-media {
  grid-column: 1 !important;
  grid-row: 1 !important;

  width: 100%;
  height: 100%;

  overflow: hidden;

  border-radius: 0 0% 0% 0;
}


/* =========================================================
   TODAS LAS DESCRIPCIONES A LA DERECHA
   ========================================================= */

.area-body {
  grid-column: 2 !important;
  grid-row: 1 !important;

  padding: 18px 18px;

  position: relative;
  z-index: 2;

  min-width: 0;
}

/* =========================================================
   CONTENIDO
   ========================================================= */

.area-body {
  position: relative;

  z-index: 2;

  min-width: 0;

  padding: 18px 18px;
}

/* Texto cuando la imagen está a la derecha */
.area-card:nth-child(2) .area-body,
.area-card:nth-child(3) .area-body,
.area-card:nth-child(5) .area-body,
.area-card:nth-child(6) .area-body {

  grid-column: 1;

  grid-row: 1;

  padding: 18px 18px;
}



/* =========================================================
   NÚMERO
   ========================================================= */
.area-card .num {
  width: 34px;
  height: 34px;

  border-radius: 50%;

  background: var(--navy);

  color: #ffffff;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  font-size: 17px;

  font-weight: 700;

  margin: 0 7px 7px 0;

  vertical-align: middle;
}

/* Números rojos */

.area-card.highlight .num,
.area-card:nth-child(4) .num,
.area-card:nth-child(6) .num {

  background: var(--red);
}


/* =========================================================
   TÍTULO
   ========================================================= */
.area-card h3 {
  display: inline;

  margin: 0;

  font-size: 35px;

  line-height: 1.2;

  color: var(--navy);

  font-weight: 800;

  vertical-align: middle;
}


/* =========================================================
   DESCRIPCIÓN
   ========================================================= */
.area-card p {
  margin: 10px 0 0;

  color: var(--muted);

  font-size: 25px;

  line-height: 1.45;
}
@media (max-width: 900px) {

  .areas-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .area-card {
    height: 645px;
    width: 300px;
  }

}


@media (max-width: 600px) {

  .areas-grid {
    grid-template-columns: 1fr;

    gap: 12px;

    margin-left: 12px;
    margin-right: 12px;
  }

  .area-card {
    height: 150px;
  }

  .area-card h3 {
    font-size: 12px;
  }

  .area-card p {
    font-size: 9px;
  }

}




/* Responsive */
@media (max-width:1000px){.areas-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){
  .areas-grid{grid-template-columns:1fr}
  .area-card{flex-direction:row;gap:10px}
  .area-media{width:100px;height:80px}
  .area-card h3{font-size:15px}
}

/* =========================================================
   HEADER - ÁREAS QUE CUBRIMOS
   ========================================================= */
.site-header {
  position: relative;

  width: 100%;
  min-height: 175px;

  background: linear-gradient(
    110deg,
  #cfd2db 0%,
    #d6d6da 42%,
    #f5f9fd 62%,
    #dcecf8 82%,
    #d5dbe0 100%
  );

  display: flex;
  align-items: center;

  padding: 25px 55px;

  box-sizing: border-box;

  overflow: hidden;
}



/* =========================================================
   DECORACIÓN SUPERIOR DERECHA
   ========================================================= */

.site-header::before {
  content: "";

  position: absolute;

  top: -145px;
  right: -120px;

  width: 330px;
  height: 300px;

  background: #061d3d;

  border-radius: 0 0 0 100%;

  z-index: 0;
}


/* Arco rojo */

.site-header::after {
  content: "";

  position: absolute;

  top: -143px;
  right: -118px;

  width: 315px;
  height: 288px;

  border-radius: 0 0 0 100%;

  border-left: 9px solid #d71920;

  transform: rotate(1deg);

  z-index: 1;
}


/* =========================================================
   LOGO
   ========================================================= */

.brand {
  position: relative;

  z-index: 3;

  width: 190px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  color: #061d3d;

  flex-shrink: 0;
}


.brand img {
  width: 305px;

  height: auto;

  display: block;

  margin-bottom: 3px;
}


.brand strong {
  font-size: 38px;

  font-weight: 800;

  letter-spacing: 7px;

  line-height: 1;

  color: #061d3d;
}


.brand span {
  margin-top: 5px;

  padding-top: 4px;

  border-top: 1px solid #777;

  width: 135px;

  text-align: center;

  font-size: 19px;

  letter-spacing: 4px;

  color: #666;
}


/* =========================================================
   LÍNEA VERTICAL
   ========================================================= */

.header-divider {
  position: relative;

  z-index: 3;

  width: 1px;

  height: 95px;

  background: #9a9a9a;

  margin-left: 28px;

  margin-right: 32px;

  flex-shrink: 0;
}


/* =========================================================
   ÁREA DEL TÍTULO
   ========================================================= */

.header-hero {
  position: relative;

  z-index: 3;

  padding-top: 3px;

  max-width: 650px;
}


.header-hero h1 {
  position: relative;

  margin: 0 0 12px;

  color: #061d3d;

  font-size: 34px;

  font-weight: 800;

  letter-spacing: 0.5px;

  line-height: 1.05;
}


/* Línea roja debajo del título */

.header-hero h1::after {
  content: "";

  display: block;

  width: 42px;

  height: 3px;

  background: #d71920;

  margin-top: 10px;
}


.header-hero .lead {
  margin: 0;

  color: #4d4d4d;

  font-size: 15px;

  line-height: 1.35;

  font-weight: 400;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 800px) {

  .site-header {
    min-height: 155px;

    padding: 22px 30px;
  }

  .brand {
    width: 150px;
  }

  .brand img {
    width: 85px;
  }

  .brand strong {
    font-size: 18px;

    letter-spacing: 5px;
  }

  .brand span {
    width: 115px;

    font-size: 8px;

    letter-spacing: 3px;
  }

  .header-divider {
    margin-left: 18px;
    margin-right: 22px;

    height: 85px;
  }

  .header-hero h1 {
    font-size: 27px;
  }

  .header-hero .lead {
    font-size: 13px;
  }

}

/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 600px) {

  .site-header {
    min-height: 130px;

    padding: 18px 18px;

    align-items: center;
  }

  .brand {
    width: 105px;
  }

  .brand img {
    width: 65px;
  }

  .brand strong {
    font-size: 13px;

    letter-spacing: 3px;
  }

  .brand span {
    width: 85px;

    font-size: 6px;

    letter-spacing: 2px;
  }

  .header-divider {
    height: 70px;

    margin-left: 10px;
    margin-right: 14px;
  }

  .header-hero {
    max-width: calc(100% - 125px);
  }

  .header-hero h1 {
    font-size: 19px;

    margin-bottom: 8px;
  }

  .header-hero h1::after {
    width: 30px;

    height: 2px;

    margin-top: 6px;
  }

  .header-hero .lead {
    font-size: 9px;

    line-height: 1.35;
  }

  /* Reducimos la decoración */

  .site-header::before {
    width: 190px;
    height: 175px;

    top: -90px;
    right: -75px;
  }

  .site-header::after {
    width: 180px;
    height: 165px;

    top: -88px;
    right: -73px;

    border-left-width: 6px;
  }

}








/* =========================================================
   FOOTER CORPORATIVO
   ========================================================= */

.areas-footer {
  width: 100%;
  background:  #bac7f0 0%,
    #aeb2f3 42%,
    #f5f9fd 62%,
    #dcecf8 82%,
    #9fc9e8 100%;
  padding: 0 0 28px;
}


/* =========================================================
   BARRA PRINCIPAL
   ========================================================= */

.areas-footer-main {
    height: 92px;
    width: 100%;
  
  margin: 0 auto;

  background: #000b1a;

  border-radius: 14px;

  display: grid;
  grid-template-columns: repeat(4, 1fr);

  align-items: center;

  min-height: 92px;

  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.16);
}


/* =========================================================
   CADA BLOQUE
   ========================================================= */

.footer-feature {
  min-height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 16px;

  padding: 10px 22px;

  position: relative;
}


/* Línea divisoria */

.footer-feature:not(:last-child)::after {
  content: "";

  position: absolute;

  right: 0;
  top: 12px;
  bottom: 12px;

  width: 1px;

  background: rgba(255, 255, 255, 0.9);
}


/* =========================================================
   ICONOS
   ========================================================= */

.footer-icon {
  width: 48px;
  height: 48px;

  flex-shrink: 0;
}

.footer-icon svg {
  width: 100%;
  height: 100%;

  fill: none;

  stroke: #ffffff;

  stroke-width: 2;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* Check rojo */

.footer-icon .red-check {
  stroke: #e51f2a;
  stroke-width: 3;
}


/* Flecha roja */

.footer-icon .red-arrow {
  stroke: #e51f2a;
  stroke-width: 3;
}


/* =========================================================
   TEXTO
   ========================================================= */

.footer-text {
  display: flex;

  flex-direction: column;

  justify-content: center;

  color: #ffffff;

  line-height: 1.35;

  font-size: 12px;

  letter-spacing: 0.3px;
}

.footer-text strong {
  font-weight: 700;
}

.footer-text span {
  font-weight: 500;
}


/* =========================================================
   FRASE INFERIOR
   ========================================================= */

.footer-tagline {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 14px;

  margin-top: 15px;

  padding: 0 20px;

  font-size: 18px;

  font-weight: 700;

  letter-spacing: 0.3px;
}


/* Línea */

.tagline-line {
  width: 60px;

  height: 2px;

  background: #061d3d;

  flex-shrink: 0;
}


/* Texto azul */

.tagline-blue {
  color: #061d3d;
}


/* Texto rojo */

.tagline-red {
  color: #e51f2a;
}


@media (max-width: 1000px) {

  .areas-footer-main {
    width: calc(100% - 40px);
    height: 20%;
  }

  .footer-feature {
    gap: 9px;
    padding: 10px 12px;
  }

  .footer-icon {
    width: 40px;
    height: 40px;
  }

  .footer-text {
    font-size: 10px;
  }

  .footer-tagline {
    font-size: 15px;
  }

  .tagline-line {
    width: 40px;
  }




}


@media (max-width: 700px) {

  .areas-footer {
    padding-bottom: 22px;
  }

  .areas-footer-main {
    width: calc(100% - 24px);

    grid-template-columns: 1fr 1fr;

    border-radius: 12px;

    min-height: auto;

    padding: 8px 0;
  }


  .footer-feature {
    min-height: 70px;

    padding: 10px;

    justify-content: flex-start;

    gap: 10px;
  }


  /* Divisiones verticales */

  .footer-feature:nth-child(1)::after,
  .footer-feature:nth-child(3)::after {
    display: block;
  }


  /* Divisiones horizontales */

  .footer-feature:nth-child(1)::before,
  .footer-feature:nth-child(2)::before {
    content: "";

    position: absolute;

    left: 12px;
    right: 12px;
    bottom: 0;

    height: 1px;

    background: rgba(255, 255, 255, 0.9);
  }


  .footer-icon {
    width: 38px;
    height: 38px;
  }


  .footer-text {
    font-size: 9px;

    letter-spacing: 0.1px;
  }


  /* =====================================================
     FRASE INFERIOR
     ===================================================== */

  .footer-tagline {
    flex-wrap: wrap;

    gap: 5px;

    margin-top: 14px;

    font-size: 12px;

    line-height: 1.4;
  }


  .tagline-line {
    width: 25px;

    height: 1px;
  }

}



/* =========================================================
   RESPONSIVE FINAL - ÁREAS QUE CUBRIMOS
   ========================================================= */

/* ---------------------------------------------------------
   COMPUTADORA / ESCRITORIO
   --------------------------------------------------------- */

.areas-grid {
  width: 100%;
  box-sizing: border-box;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 16px;

  margin: 25px 0 40px;
}

.area-card {
  width: 100%;
  max-width: none;

  height: 405px;

  box-sizing: border-box;

  display: grid;
  grid-template-columns: 43% 57%;

  padding: 0;

  overflow: hidden;
}

.area-media {
  grid-column: 1 !important;
  grid-row: 1 !important;

  width: 100%;
  height: 100%;

  min-width: 0;

  overflow: hidden;

  border-radius: 0 0% 0% 0 !important;
}

.area-media img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}

.area-body {
  grid-column: 2 !important;
  grid-row: 1 !important;

  width: 100%;
  min-width: 0;

  box-sizing: border-box;

  padding: 22px 20px !important;
}

.area-card h3 {
  font-size: clamp(14px, 1.5vw, 20px);

  line-height: 1.2;

  word-break: normal;
}

.area-card p {
  font-size: clamp(10px, 1vw, 14px);

  line-height: 1.45;
}


/* ---------------------------------------------------------
   LAPTOP PEQUEÑA
   --------------------------------------------------------- */

@media (max-width: 1100px) {

  .container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .areas-grid {
    padding-left: 10px;
    padding-right: 10px;

    gap: 14px;
  }

  .area-card {
    height: 350px;
  }

  .area-body {
    padding: 18px 15px !important;
  }

}


/* ---------------------------------------------------------
   TABLET / IPAD
   --------------------------------------------------------- */

@media (max-width: 900px) {

  .areas-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));

    gap: 12px;

    padding-left: 10px;
    padding-right: 10px;
  }

  .area-card {
    height: 300px;
  }

  .area-card .num {
    width: 32px;
    height: 32px;

    font-size: 10px;
  }

  .area-card h3 {
    font-size: 1px;
  }

  .area-card p {
    font-size: 5px;

    line-height: 1.4;
  }

}


/* ---------------------------------------------------------
   TABLET VERTICAL / TELÉFONO GRANDE
   --------------------------------------------------------- */

@media (max-width: 700px) {

  .areas-grid {

    grid-template-columns: 1fr;

    gap: 14px;

    margin: 20px 0 30px;

    padding-left: 12px;
    padding-right: 12px;
  }

  .area-card {

    width: 100%;

    height: 260px;

    grid-template-columns: 43% 57%;
  }

  .area-media {

    grid-column: 1 !important;
    grid-row: 1 !important;

    border-radius: 0 0% 0% 0 !important;
  }

  .area-body {

    grid-column: 2 !important;
    grid-row: 1 !important;

    padding: 18px 14px !important;
  }

  .area-card .num {

    width: 30px;
    height: 30px;

    font-size: 14px;

    margin-bottom: 6px;
  }

  .area-card h3 {

    font-size: 3px;

    line-height: 1.2;
  }

  .area-card p {

    font-size: 1px;

    line-height: 1.4;

    margin-top: 8px;
  }

}


/* ---------------------------------------------------------
   TELÉFONOS
   --------------------------------------------------------- */

@media (max-width: 500px) {

  .areas-grid {

    padding-left: 8px;
    padding-right: 8px;

    gap: 12px;
  }

  .area-card {

    height: 220px;

    border-radius: 12px;
  }

  .area-body {

    padding: 14px 10px !important;
  }

  .area-card .num {

    width: 27px;
    height: 27px;

    font-size: 13px;
  }

  .area-card h3 {

    font-size: 10px;

    line-height: 1.2;
  }

  .area-card p {

    font-size: 8.5px;

    line-height: 1.35;
  }

}


/* ---------------------------------------------------------
   TELÉFONOS PEQUEÑOS
   --------------------------------------------------------- */

@media (max-width: 380px) {

  .areas-grid {

    padding-left: 6px;
    padding-right: 6px;
  }

  .area-card {

    height: 200px;

    grid-template-columns: 42% 58%;
  }

  .area-body {

    padding: 12px 8px !important;
  }

  .area-card .num {

    width: 25px;
    height: 25px;

    font-size: 12px;
  }

  .area-card h3 {

    font-size: 100px;
  }

  .area-card p {

    font-size: 8px;
  }

}
/* =========================================================
   TAMAÑO FINAL DEL TEXTO DE LAS TARJETAS
   ========================================================= */

.area-card h3 {
  font-size: 28px !important;
  line-height: 1.2;

  color: var(--navy);

  font-weight: 800;
}

.area-card p {
  font-size: 25px !important;
  line-height: 1.5;

  color: var(--muted);
}


/* =========================================================
   RESPONSIVE REAL PARA TELÉFONOS
   ========================================================= */

@media (max-width: 600px) {

  /* El contenedor utiliza todo el ancho disponible */
  .container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;

    padding-left: 10px;
    padding-right: 10px;
  }


  /* Una tarjeta por fila */
  .areas-grid {
    width: 100%;

    display: grid;
    grid-template-columns: 1fr;

    gap: 12px;

    margin: 18px 0 30px;

    padding: 0;
  }


  /* =====================================================
     TARJETA
     ===================================================== */

  .area-card {
    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    height: 220px;

    box-sizing: border-box;

    display: grid;

    grid-template-columns: 40% 60%;

    padding: 0;

    overflow: hidden;
  }


  /* =====================================================
     IMAGEN
     ===================================================== */

  .area-media {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 0;

    overflow: hidden;

    border-radius: 0 70% 70% 0 !important;
  }


  .area-media img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;
  }


  /* =====================================================
     TEXTO
     ===================================================== */

  .area-body {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;

    min-width: 0 !important;

    box-sizing: border-box;

    padding: 16px 12px !important;

    overflow: hidden;
  }


  /* =====================================================
     NÚMERO
     ===================================================== */

  .area-card .num {
    width: 28px;
    height: 28px;

    font-size: 13px;

    margin: 0 5px 5px 0;
  }


  /* =====================================================
     TÍTULO
     ===================================================== */

  .area-card h3 {
    display: inline;

    font-size: 15px !important;

    line-height: 1.2;

    word-break: normal;

    overflow-wrap: break-word;
  }


  /* =====================================================
     DESCRIPCIÓN
     ===================================================== */

  .area-card p {
    margin-top: 8px;

    font-size: 11px !important;

    line-height: 1.4;

    word-break: normal;

    overflow-wrap: break-word;
  }

}


/* =====================================================
   BOTÓN HAMBURGUESA
   ===================================================== */

.menu-toggle {
  position: fixed;

  top: 20px;
  right: 25px;

  width: 48px;
  height: 48px;

  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  gap: 6px;

  padding: 0;

  background: #061d3d;

  border: none;
  border-radius: 10px;

  cursor: pointer;

  z-index: 9999;

  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.18);

  transition: all 0.25s ease;
}


.menu-toggle:hover {
  background: #07579c;
}


.menu-toggle span {
  display: block;

  width: 24px;
  height: 2px;

  background: #ffffff;

  border-radius: 3px;

  transition: all 0.25s ease;
}


/* =====================================================
   MENÚ LATERAL
   ===================================================== */

.services-menu {
  position: fixed;

  top: 0;
  right: 0;

  width: 390px;
  max-width: 88vw;

  height: 100vh;

  background: #ffffff;

  padding: 30px;

  box-sizing: border-box;

  z-index: 10000;

  overflow-y: auto;

  transform: translateX(100%);

  transition: transform 0.35s ease;

  box-shadow: -8px 0 30px rgba(0, 0, 0, 0.20);
}


/* MENÚ ABIERTO */

.services-menu.active {
  transform: translateX(0);
}


/* =====================================================
   ENCABEZADO DEL MENÚ
   ===================================================== */

.services-menu-header {
  display: flex;

  align-items: center;

  justify-content: space-between;

  padding-bottom: 20px;

  border-bottom: 2px solid #e5e8ec;
}


.services-menu-header h2 {
  margin: 0;

  color: #061d3d;

  font-size: 20px;

  font-weight: 800;

  letter-spacing: 0.5px;
}


/* =====================================================
   BOTÓN CERRAR
   ===================================================== */

.menu-close {
  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 0;

  background: #061d3d;

  color: #ffffff;

  border: none;

  border-radius: 50%;

  font-size: 27px;

  line-height: 1;

  cursor: pointer;
}


.menu-close:hover {
  background: #07579c;
}


/* =====================================================
   OPCIONES
   ===================================================== */

.services-nav {
  display: flex;

  flex-direction: column;

  margin-top: 20px;
}


.services-nav a {
  display: flex;

  align-items: center;

  gap: 15px;

  min-height: 65px;

  padding: 10px 5px;

  box-sizing: border-box;

  color: #061d3d;

  text-decoration: none;

  font-size: 14px;

  font-weight: 700;

  border-bottom: 1px solid #e5e8ec;

  transition: all 0.25s ease;
}


.services-nav a:hover {
  color: #07579c;

  background: #f5f9fd;

  padding-left: 12px;
}


/* =====================================================
   NÚMEROS
   ===================================================== */

.service-number {
  width: 35px;
  height: 35px;

  flex-shrink: 0;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #061d3d;

  color: #ffffff;

  border-radius: 50%;

  font-size: 11px;

  font-weight: 800;
}


.services-nav a:hover .service-number {
  background: #07579c;
}


/* =====================================================
   FONDO OSCURO
   ===================================================== */

.menu-overlay {
  position: fixed;

  inset: 0;

  background: rgba(3, 15, 30, 0.55);

  opacity: 0;

  visibility: hidden;

  z-index: 9998;

  transition: all 0.3s ease;
}


.menu-overlay.active {
  opacity: 1;

  visibility: visible;
}


/* =====================================================
   EVITAR SCROLL AL ABRIR
   ===================================================== */

body.menu-open {
  overflow: hidden;
}


/* =====================================================
   MÓVIL
   ===================================================== */

@media (max-width: 600px) {

  .menu-toggle {
    top: 15px;
    right: 15px;

    width: 44px;
    height: 44px;
  }


  .services-menu {
    width: 340px;
    max-width: 88vw;

    padding: 22px 18px;
  }


  .services-menu-header h2 {
    font-size: 17px;
  }


  .services-nav a {
    font-size: 12px;

    min-height: 58px;
  }

}



/* =========================================================
   MENÚ HAMBURGUESA - SISTEMA SIN JAVASCRIPT
   ========================================================= */

.menu-checkbox {
  display: none;
}


/* =========================================================
   BOTÓN HAMBURGUESA
   ========================================================= */

.menu-button {
  position: fixed;

  top: 20px;
  right: 25px;

  width: 50px;
  height: 50px;

  background: #061d3d;

  border-radius: 10px;

  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  gap: 6px;

  cursor: pointer;

  z-index: 99999;

  box-shadow: 0 5px 15px rgba(0,0,0,.20);

  transition: .25s ease;
}


.menu-button:hover {
  background: #07579c;
}


.menu-button span {
  width: 25px;
  height: 2px;

  background: #ffffff;

  border-radius: 2px;

  transition: .25s ease;
}


/* =========================================================
   MENÚ LATERAL
   ========================================================= */

.services-menu {

  position: fixed;

  top: 0;
  right: 0;

  width: 390px;
  max-width: 88vw;

  height: 100vh;

  background: #ffffff;

  box-sizing: border-box;

  padding: 30px;

  z-index: 99998;

  overflow-y: auto;

  transform: translateX(100%);

  transition: transform .35s ease;

  box-shadow: -10px 0 30px rgba(0,0,0,.20);
}


/* =========================================================
   CUANDO EL CHECKBOX ESTÁ ACTIVADO
   ========================================================= */

.menu-checkbox:checked ~ .services-menu {

  transform: translateX(0);

}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.services-menu-header {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding-bottom: 20px;

  border-bottom: 2px solid #e5e8ec;
}


.services-menu-header h2 {

  margin: 0;

  color: #061d3d;

  font-size: 20px;

  font-weight: 800;
}


/* =========================================================
   CERRAR
   ========================================================= */

.menu-close {

  width: 40px;
  height: 40px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #061d3d;

  color: #ffffff;

  border-radius: 50%;

  font-size: 28px;

  line-height: 1;

  cursor: pointer;

  transition: .25s ease;
}


.menu-close:hover {

  background: #07579c;

}


/* =========================================================
   SERVICIOS
   ========================================================= */

.services-nav {

  display: flex;

  flex-direction: column;

  margin-top: 20px;
}


.services-nav a {

  display: flex;

  align-items: center;

  gap: 15px;

  min-height: 65px;

  padding: 10px 5px;

  color: #061d3d;

  text-decoration: none;

  font-size: 14px;

  font-weight: 700;

  border-bottom: 1px solid #e5e8ec;

  transition: .25s ease;
}


.services-nav a:hover {

  background: #f2f7fb;

  color: #07579c;

  padding-left: 12px;

}


/* =========================================================
   NÚMEROS
   ========================================================= */

.service-number {

  width: 35px;
  height: 35px;

  flex-shrink: 0;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #061d3d;

  color: #ffffff;

  font-size: 11px;

  font-weight: 800;
}


.services-nav a:hover .service-number {

  background: #010b14;

}


/* =========================================================
   TELÉFONO
   ========================================================= */

@media (max-width: 600px) {

  .menu-button {

    top: 15px;
    right: 15px;

    width: 44px;
    height: 44px;

  }


  .menu-button span {

    width: 22px;

  }


  .services-menu {

    width: 340px;

    max-width: 88vw;

    padding: 22px 18px;

  }


  .services-menu-header h2 {

    font-size: 17px;

  }


  .services-nav a {

    font-size: 12px;

    min-height: 58px;

  }

}

.menu-home-button {
  display: block;

  margin-top: 25px;

  padding: 13px 18px;

  background: #061d3d;

  color: #ffffff;

  text-align: center;

  text-decoration: none;

  border-radius: 8px;

  font-size: 13px;

  font-weight: 700;

  letter-spacing: 0.3px;

  transition: 0.25s ease;
}

.menu-home-button:hover {
  background: #07579c;

  transform: translateY(-2px);
}




.menu-home-button1 {
  width: 100%;
  max-width: 220px;
  min-width: 170px;

  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;

  margin-top: 25px;

  padding: 10px 18px;

  background: #061d3d;

  color: #ffffff;

  text-align: center;

  text-decoration: none;

  border-radius: 8px;

  font-size: 13px;

  font-weight: 700;

  letter-spacing: 0.3px;

  transition: 0.25s ease;
}


.menu-home-button1:hover {
  background: #07579c;

  transform: translateY(-2px);
}



@media (max-width: 600px) {

  .menu-home-button1 {
    width: 30%;
    max-width: 100%;

    min-width: 0;

    height: 42px;

    margin-top: 20px;

    padding: 10px 14px;
    font-family: Arial, sans-serif;
    font-size: 12px;
  }

}


/* =====================================================
   ACCESO ADMINISTRADOR
   ===================================================== */

.admin-access {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  padding: 5px 18px 8px;
}

.admin-access a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 32px;
  height: 28px;

  background: #08264a;
  color: #ffffff;

  border-radius: 4px;

  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;

  text-decoration: none;

  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.admin-access a:hover {
  background: #c99518;
  color: #ffffff;
  transform: translateY(-1px);
}

/* TEXTO ADMINISTRADOR */

.admin-access::after {
  content: "ADMINISTRADOR";

  color: #7b8188;

  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;

  letter-spacing: 0.2px;
}

/* =====================================================
   BOTONES SOCIALES FLOTANTES
   ===================================================== */

.social-floating{
    position:fixed;

    right:20px;
    top:50%;

    transform:translateY(-50%);

    display:flex;
    flex-direction:column;

    gap:10px;

    z-index:9999;
}


/* BOTÓN GENERAL */

.social-float{

    width:52px;
    height:52px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#ffffff;

    text-decoration:none;

    font-size:24px;

    box-shadow:
        0 8px 22px rgba(0,0,0,.20);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


/* =====================================================
   BOTONES SOCIALES FLOTANTES
   ===================================================== */

.social-floating{
    position:fixed;

    right:22px;
    top:50%;

    transform:translateY(-50%);

    display:flex;
    flex-direction:column;

    gap:12px;

    z-index:99999;
}


/* BOTÓN */

.social-float{

    width:54px;
    height:54px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    box-shadow:
        0 8px 22px rgba(0,0,0,.18);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


/* ÍCONOS SVG */

.social-float svg{

    width:25px;
    height:25px;

    fill:#ffffff;

    display:block;
}


/* FACEBOOK */

.social-float.facebook{

    background:#1877F2;
}


/* WHATSAPP */

.social-float.whatsapp{

    background:#25D366;
}


/* LLAMADA */

.social-float.phone{

    background:#102D52;
}


/* EFECTO */

.social-float:hover{

    transform:scale(1.10);

    box-shadow:
        0 12px 30px rgba(0,0,0,.25);
}


/* =====================================================
   CELULAR
   ===================================================== */

@media(max-width:600px){

    .social-floating{

        right:14px;

        gap:9px;
    }

    .social-float{

        width:47px;
        height:47px;
    }

    .social-float svg{

        width:21px;.area-card {
  opacity: 0;
  transform: translateY(20px) scale(.96);
  animation: areaEntrada .75s ease-out forwards;
}

@keyframes areaEntrada {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
        height:21px;
    }

}
.area-card {
  opacity: 0;
  transform: translateY(20px) scale(.96);
  animation: areaEntrada .75s ease-out forwards;
}

@keyframes areaEntrada {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* =========================================================
   FOOTER WAMARSA
   ========================================================= */

.wamarsa-footer{
  width:100%;
  background:linear-gradient(
    135deg,
    #f7fbff 0%,
    #edf5fc 55%,
    #ffffff 100%
  );
  color:#092b52;
  font-family:"Segoe UI",Inter,Roboto,Arial,sans-serif;
}


/* =========================================================
   FRANJA SUPERIOR
   ========================================================= */

.footer-highlights{
  width:100%;
  border-top:1px solid rgba(30,92,150,.10);
  border-bottom:1px solid rgba(30,92,150,.12);
}

.footer-highlights-inner{
  width:92%;
  max-width:1400px;
  margin:auto;

  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:stretch;
}

.footer-highlight{
  min-height:125px;
  padding:18px 20px;

  display:flex;
  align-items:center;
  gap:14px;

  border-right:1px solid rgba(30,92,150,.13);
}

.footer-highlight:last-child{
  border-right:0;
}


/* =========================================================
   ICONOS
   ========================================================= */

.footer-highlight-icon{
  width:58px;
  height:58px;
  min-width:58px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:15px;

  background:#fff;
  border:1px solid #d5e3f1;

  box-shadow:0 5px 16px rgba(9,43,82,.07);

  color:#0b3d70;
  font-size:27px;
}


/* =========================================================
   MAPA DE GUATEMALA
   ========================================================= */

.footer-guatemala-map{
  width:48px;
  height:48px;
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;
}

.footer-guatemala-map .map-image{
  width:46px;
  height:46px;

  display:block;

  object-fit:contain;

  filter:
    drop-shadow(
      0 3px 4px rgba(9,43,82,.10)
    );
}

.footer-guatemala-map::after{
  content:"";

  position:absolute;

  left:47%;
  top:55%;

  width:5px;
  height:5px;

  border:1.5px solid #fff;
  border-radius:50%;

  background:#d7282f;
}


/* =========================================================
   PERSONAS
   ========================================================= */

.footer-people{
  font-size:27px;
  letter-spacing:-6px;
}


/* =========================================================
   TEXTOS
   ========================================================= */

.footer-highlight-content{
  min-width:0;
}

.footer-highlight-title{
  margin:0;

  font-size:14px;
  line-height:1.15;

  font-weight:900;
  letter-spacing:.2px;

  text-transform:uppercase;
}

.footer-highlight-line{
  width:34px;
  height:2px;

  margin:7px 0;

  background:#c59a3a;
  border-radius:10px;
}

.footer-highlight-text{
  margin:0;

  color:#536b82;

  font-size:11px;
  line-height:1.35;
}


/* =========================================================
   PARTE INFERIOR
   ========================================================= */

.footer-main{
  width:92%;
  max-width:1400px;

  margin:auto;

  padding:32px 0;

  display:grid;
  grid-template-columns:1.15fr .9fr 1.25fr;

  gap:32px;

  align-items:center;
}


/* =========================================================
   MARCA
   ========================================================= */

.footer-brand{
  padding-right:10px;
}

.footer-brand img{
  width:210px;
  max-width:100%;
  height:auto;

  display:block;

  margin-bottom:12px;
}

.footer-brand p{
  max-width:370px;

  margin:0;

  color:#536b82;

  font-size:11px;
  line-height:1.5;
}


/* =========================================================
   CONTACTO
   ========================================================= */

.footer-contact{
  padding-left:25px;

  border-left:1px solid rgba(30,92,150,.15);
}

.footer-section-title{
  margin:0 0 12px;

  color:#092b52;

  font-size:16px;
  font-weight:900;

  text-transform:uppercase;
}

.footer-section-title::after{
  content:"";

  display:block;

  width:34px;
  height:2px;

  margin-top:7px;

  background:#c59a3a;

  border-radius:10px;
}

.footer-contact-item{
  display:flex;
  align-items:flex-start;

  gap:9px;

  margin:9px 0;

  color:#334f6b;

  font-size:11px;
  line-height:1.3;
}

.footer-contact-icon{
  width:22px;
  min-width:22px;

  text-align:center;

  color:#0b3d70;

  font-size:15px;
}


/* =========================================================
   BLOQUE WHATSAPP
   ========================================================= */

.footer-help{
  position:relative;

  min-height:170px;

  padding:22px 24px;

  display:grid;

  grid-template-columns:72px 1fr;

  align-items:center;

  gap:16px;

  background:
    linear-gradient(
      145deg,
      #eaf4fc 0%,
      #dcecf8 100%
    );

  border:1px solid #c6ddec;

  border-radius:17px;

  box-shadow:
    0 10px 25px rgba(9,43,82,.10);

  overflow:hidden;
}

.footer-help::before{
  content:"";

  position:absolute;

  width:170px;
  height:170px;

  border-radius:50%;

  background:rgba(255,255,255,.42);

  right:-65px;
  top:-70px;
}


/* =========================================================
   LOGOTIPO WHATSAPP
   ========================================================= */

.footer-whatsapp-logo{
  width:68px;
  height:68px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#fff;

  border:4px solid #25d366;

  box-shadow:
    0 0 0 4px rgba(37,211,102,.14),
    0 7px 18px rgba(0,0,0,.17);

  position:relative;

  z-index:2;
}

.footer-whatsapp-logo .whatsapp-svg{
  width:40px;
  height:40px;

  display:block;

  fill:#25d366;
}


/* =========================================================
   TEXTO WHATSAPP
   ========================================================= */

.footer-help-content{
  position:relative;
  z-index:2;
}

.footer-help-title{
  margin:0;

  color:#092b52;

  font-size:20px;
  font-weight:900;

  line-height:1.1;
}

.footer-help-line{
  width:38px;
  height:2px;

  margin:8px 0;

  background:#d5a640;

  border-radius:10px;
}

.footer-help-text{
  margin:0 0 12px;

  color:#385873;

  font-size:11px;
  line-height:1.35;
}


/* =========================================================
   BOTÓN WHATSAPP
   ========================================================= */

.footer-whatsapp-button{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:7px;

  min-height:38px;

  padding:0 16px;

  background:#fff;

  color:#092b52;

  border:2px solid #25d366;

  border-radius:8px;

  text-decoration:none;

  font-size:10px;
  font-weight:900;

  letter-spacing:.3px;

  text-transform:uppercase;

  box-shadow:
    0 6px 14px rgba(0,0,0,.10);

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.footer-whatsapp-button-icon .whatsapp-svg{
  width:19px;
  height:19px;

  display:block;

  fill:#25d366;
}

.footer-whatsapp-button:hover{
  transform:translateY(-2px);

  background:#f7fff9;

  box-shadow:
    0 9px 18px rgba(0,0,0,.18);
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.footer-copyright{
  width:100%;

  padding:10px 20px;

  background:#062a55;

  color:#dce8f4;

  text-align:center;

  font-size:10px;

  letter-spacing:.2px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1000px){

  .footer-highlights-inner{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-highlight:nth-child(2){
    border-right:0;
  }

  .footer-highlight:nth-child(1),
  .footer-highlight:nth-child(2){
    border-bottom:
      1px solid rgba(30,92,150,.13);
  }

  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:25px;
  }

  .footer-help{
    grid-column:1/-1;
  }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media(max-width:650px){

  .footer-highlights-inner{
    width:94%;
    grid-template-columns:1fr;
  }

  .footer-highlight{
    min-height:95px;

    padding:14px 5px;

    border-right:0;

    border-bottom:
      1px solid rgba(30,92,150,.12);
  }

  .footer-highlight:last-child{
    border-bottom:0;
  }

  .footer-highlight-icon{
    width:50px;
    height:50px;
    min-width:50px;

    border-radius:13px;

    font-size:24px;
  }

  .footer-guatemala-map{
    width:40px;
    height:40px;
  }

  .footer-guatemala-map .map-image{
    width:39px;
    height:39px;
  }

  .footer-highlight-title{
    font-size:13px;
  }

  .footer-highlight-text{
    font-size:10px;
  }

  .footer-main{
    width:92%;

    grid-template-columns:1fr;

    gap:24px;

    padding:27px 0;
  }

  .footer-brand{
    padding-right:0;
  }

  .footer-brand img{
    width:190px;
  }

  .footer-contact{
    padding-left:0;

    border-left:0;

    border-top:
      1px solid rgba(30,92,150,.15);

    padding-top:22px;
  }

  .footer-help{
    grid-column:auto;

    grid-template-columns:1fr;

    text-align:center;

    padding:25px 18px;

    min-height:auto;
  }

  .footer-whatsapp-logo{
    margin:auto;

    width:65px;
    height:65px;
  }

  .footer-help-title{
    font-size:20px;
  }

  .footer-help-line{
    margin:8px auto;
  }

  .footer-help-text{
    font-size:11px;
  }

  .footer-whatsapp-button{
    width:100%;
  }

}