.elementor-7826 .elementor-element.elementor-element-bd3cdd1{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-0a394e9{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-0a394e9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-7f2edf9{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-7f2edf9:not(.elementor-motion-effects-element-type-background), .elementor-7826 .elementor-element.elementor-element-7f2edf9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7826 .elementor-element.elementor-element-fbbfff5{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-5b16571{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-5b16571 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-8587763{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-f125dbb{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-f125dbb > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-b2cbab5{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-18959cf{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-5018ba1{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-5018ba1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-45362d3{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-3347b24{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-7ea6b8e{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-7ea6b8e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-a4a8947{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-6b3cb9f{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-6b3cb9f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-db5cedf{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-b9ef35e{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-b9ef35e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-071bff2{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-f2fe8c6{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-f2fe8c6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7826 .elementor-element.elementor-element-323b7f8{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-9116974{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7826 .elementor-element.elementor-element-b3ea30e{width:100%;max-width:100%;}.elementor-7826 .elementor-element.elementor-element-b3ea30e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-0a394e9 *//* =====================================================
   JACEO – ENGINEERED HERO FRAME
===================================================== */
/* ================= HERO BUTTON ANIMATION ================= */

#jaceo .btn-primary,
#jaceo .btn-secondary{
  position:relative;
  overflow:hidden;
  transition:all .35s ease;
}

/* Sheen line (efecto metal pulido) */
#jaceo .btn-primary::after,
#jaceo .btn-secondary::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:120%;
  height:100%;
  background:linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,.35) 50%,
    transparent 100%
  );
  transition:left .6s ease;
}

/* PRIMARY BUTTON HOVER */
#jaceo .btn-primary:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(25,56,134,.45);
}

#jaceo .btn-primary:hover::after{
  left:120%;
}

/* SECONDARY BUTTON HOVER */
#jaceo .btn-secondary:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(254,180,47,.45);
}

#jaceo .btn-secondary:hover::after{
  left:120%;
}

/* Active press effect */
#jaceo .btn-primary:active,
#jaceo .btn-secondary:active{
  transform:translateY(0);
  box-shadow:0 6px 16px rgba(0,0,0,.35);
}

#jaceo{
  --blue:#193886;
  --yellow:#feb42f;
  --white:#ffffff;
  --dark:#0c1222;
}

/* Reset */
#jaceo *{ box-sizing:border-box; }

/* ================= HERO ================= */

#jaceo .hero-frame{
  position:relative;
  min-height:100vh;
  padding:0 5%;
  display:flex;
  align-items:center;
  background:
    url("http://topmetalsupplier.com/wp-content/uploads/2026/01/Media_Portada_Top_Metal-5-scaled.png")
    center/cover no-repeat;
  color:var(--white);
  overflow:hidden;
}

/* ================= GRID (BLUEPRINT) ================= */

#jaceo .hero-grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:80px 80px;
  pointer-events:none;
}

/* ================= LOGO STRUCTURE ================= */

#jaceo .hero-logo-structure{
  position:absolute;
  right:-15%;
  top:50%;
  transform:translateY(-50%);
  width:900px;
  height:900px;
  background:
    url("http://topmetalsupplier.com/wp-content/uploads/2025/11/Topmetal_logos_2025-08-3-scaled.png")
    center/contain no-repeat;
  opacity:0.035;
  filter:grayscale(100%);
  pointer-events:none;
}

/* ================= FRAME BOX ================= */

#jaceo .hero-frame-box{
  position:relative;
  max-width:1100px;
  padding:90px 110px;
  border:3px solid var(--blue);
  background:
    linear-gradient(180deg,
      rgba(25,56,134,.08),
      rgba(25,56,134,.02)
    );
}

/* yellow engineering corner */
#jaceo .hero-frame-box::before{
  content:"";
  position:absolute;
  top:-3px;
  left:-3px;
  width:140px;
  height:140px;
  border-top:6px solid var(--yellow);
  border-left:6px solid var(--yellow);
}

/* ================= CONTENT ================= */

#jaceo .hero-content h1{
  font-size:clamp(60px,6vw,96px);
  font-weight:900;
  line-height:1.02;
  margin-bottom:28px;
}

#jaceo .hero-content p{
  max-width:720px;
  font-size:20px;
  line-height:1.7;
  margin-bottom:56px;
  color:rgba(255,255,255,.9);
}

/* ================= BUTTONS ================= */

#jaceo .hero-actions{
  display:flex;
  gap:22px;
}

#jaceo .btn-primary{
  background:var(--blue);
  color:#fff;
  padding:18px 48px;
  font-weight:900;
  letter-spacing:.12em;
  text-decoration:none;
}

#jaceo .btn-secondary{
  background:var(--yellow);
  color:#000;
  padding:18px 48px;
  font-weight:900;
  letter-spacing:.12em;
  text-decoration:none;
}

/* =====================================================
   HERO MOBILE FIX: NO SE VE LA SIGUIENTE SECCIÓN
   (mantiene el hero en 100% viewport y compacta contenido)
===================================================== */

@media (max-width: 900px){

  /* el hero vuelve a ocupar todo el alto visible del móvil */
  #jaceo .hero-frame{
    min-height: 100svh;       /* 🔥 mejor que 100vh en móviles */
    padding: 78px 7% 78px;    /* 🔥 top/bottom reales */
    align-items: center;      /* centra el bloque */
  }

  /* el frame ya no puede ser gigante */
  #jaceo .hero-frame-box{
    width: 100%;
    max-width: 100%;
    padding: 34px 24px;       /* 🔥 compacto */
    border-width: 2px;
  }

  #jaceo .hero-frame-box::before{
    width: 72px;
    height: 72px;
    border-width: 4px;
  }

  /* tipografía y espacios compactos para que no “empuje” */
  #jaceo .hero-content h1{
    font-size: clamp(38px, 9vw, 56px);
    margin-bottom: 16px;
    line-height: 1.02;
  }

  #jaceo .hero-content p{
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 24px;
  }

  /* botones full-width para que no rompa el layout */
  #jaceo .hero-actions{
    flex-direction: column;
    gap: 12px;
  }

  #jaceo .btn-primary,
  #jaceo .btn-secondary{
    width: 100%;
    text-align: center;
    padding: 14px 18px;
  }
}

@media (max-width: 600px){

  #jaceo .hero-frame{
    min-height: 100svh;
    padding: 68px 6% 68px;
  }

  #jaceo .hero-frame-box{
    padding: 28px 18px;
  }

  #jaceo .hero-content h1{
    font-size: clamp(34px, 10vw, 48px);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a36e359 */#CEOJA_TopMetal_Form{
      --tm-blue:#193886;
      --tm-yellow:#FEB42F;
      --tm-pad: clamp(24px, 5vw, 64px);
      
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size: 1.06rem;
      padding: var(--tm-pad);
      box-sizing: border-box;
        font-family: 'Montserrat', sans-serif;
     
    
  --tm-band-img: url("http://topmetalsupplier.com/wp-content/uploads/2026/01/Top_Metal_Texturas-01.jpg");
 background-color: #ffffff !important;

  background-image:
    linear-gradient(
      to bottom,
      #ffffff 0%,
      #ffffff calc(50% - 220px),
      #ffffff calc(50% - 220px),
      #ffffff calc(50% + 220px),
      #ffffff calc(50% + 220px),
      #ffffff 100%
    ),
    url("http://topmetalsupplier.com/wp-content/uploads/2026/01/Top_Metal_Texturas-01.jpg");

  background-repeat: no-repeat, no-repeat;
  background-position: center, center;
  background-size:
    100% 100%,
    100% clamp(360px, 35vw, 520px);
    
    
    
        isolation: isolate;
  position: relative;
    }
    #CEOJA_TopMetal_Form *{ box-sizing: border-box; }

    .TM-card{
      max-width: 100%;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      border-radius: 28px;
      overflow: hidden;

      background: #ffffff;
    }


.TM-media{
  position: relative;
  min-height: 420px;
  background: #f3f4f6;
  overflow: hidden;
}


.TM-media > img:not(.TM-logo){
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.TM-media > img.TM-logo{
  position: absolute;
  left: 24px;
  bottom: 22px;

  width: clamp(80px, 12vw, 140px);
  height: auto !important;

  max-width: 20%;
  object-fit: contain !important;
  display: block;

  z-index: 3;
  pointer-events: none;
}

   


    .TM-formWrap{
      padding: clamp(28px, 4vw, 56px);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .TM-eyebrow{
       font-size: clamp(1.6rem, 2.4vw, 2.1rem);
      font-weight: 800;
      line-height: 1.2;
      color: var(--tm-blue);
      margin: 0 0 px;
    }
    .TM-title{
      font-size: clamp(1.6rem, 2.4vw, 2.1rem);
      font-weight: 800;
      line-height: 1.2;
      color: var(--tm-blue);
      margin: 0 0 10px;
    }
    .TM-sub{
      color: #000000;
      margin-bottom: 26px;
      max-width: 420px;
      font-size: 1.2rem;
    }



    #CEOJA_TopMetal_Form .wpforms-container{ margin: 0 !important; }
    #CEOJA_TopMetal_Form .wpforms-container form.wpforms-form{ margin: 0 !important; }


    #CEOJA_TopMetal_Form .wpforms-container .wpforms-field-label{
      display: block !important;
      font-size: .92rem !important;
      font-weight: 600 !important;
      color: rgba(0, 0, 0, 1) !important;
      margin: 0 0 8px !important;
      line-height: 1.25 !important;
      letter-spacing: .01em !important;
    }


#CEOJA_TopMetal_Form .wpforms-container .wpforms-required-label{
  display: inline !important;
  color: var(--tm-yellow) !important; 
  font-weight: 700 !important;
  margin-left: 4px !important;
}



    #CEOJA_TopMetal_Form .wpforms-container .wpforms-field{
      padding: 0 !important;
      margin: 0 0 16px !important;
    }

 
    #CEOJA_TopMetal_Form .wpforms-container input[type="text"],
    #CEOJA_TopMetal_Form .wpforms-container input[type="email"],
    #CEOJA_TopMetal_Form .wpforms-container input[type="tel"],
    #CEOJA_TopMetal_Form .wpforms-container input[type="number"],
    #CEOJA_TopMetal_Form .wpforms-container textarea{
      width: 100% !important;
      padding: 14px 16px !important;
      border-radius: 10px !important;
      border: 1px solid rgba(25,56,134,.35) !important;
      font-size: 1.06rem !important;
      background: #ffffff !important;
      color: #0f172a !important;
      box-shadow: none !important;
      transition: border-color .25s ease, box-shadow .25s ease !important;
    }

    #CEOJA_TopMetal_Form .wpforms-container textarea{
      min-height: 110px !important;
      resize: vertical !important;
    }

    #CEOJA_TopMetal_Form .wpforms-container input:focus,
    #CEOJA_TopMetal_Form .wpforms-container textarea:focus{
      border-color: var(--tm-blue) !important;
      box-shadow:
        0 0 0 3px rgba(25,56,134,.18),
        0 0 0 6px rgba(254,180,47,.18) !important;
    }


    #CEOJA_TopMetal_Form .wpforms-container .wpforms-submit-container{
      padding: 0 !important;
      margin-top: 14px !important;
    }

    #CEOJA_TopMetal_Form .wpforms-container button[type="submit"].wpforms-submit{
      padding: 14px 36px !important;
      border-radius: 0px !important;
      background: var(--tm-blue) !important;
      color: #ffffff !important;
      font-weight: 700 !important;
      border: none !important;
      cursor: pointer !important;
      font-size: 1.06rem !important;
      line-height: 1 !important;
      transition: transform .2s ease, box-shadow .2s ease !important;
    }

    #CEOJA_TopMetal_Form .wpforms-container button[type="submit"].wpforms-submit:hover{
      transform: translateY(-1px) !important;
      box-shadow:
        0 16px 36px rgba(25,56,134,.35),
        0 0 0 4px rgba(254,180,47,.28) !important;
    }


    #CEOJA_TopMetal_Form .wpforms-container label.wpforms-error{
      display: block !important;
      margin-top: 8px !important;
      font-size: .92rem !important;
    }

 
    @media (max-width: 900px){
      .TM-card{ grid-template-columns: 1fr; }
      .TM-media{ min-height: 260px; }
      .TM-logo{ width: 96px; }
    }
    

  


#CEOJA_TopMetal_Form input[type="number"]::-webkit-inner-spin-button,
#CEOJA_TopMetal_Form input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

#CEOJA_TopMetal_Form input[type="number"]{
  -moz-appearance: textfield;
}

#CEOJA_TopMetal_Form input[type="tel"]{
  appearance: none;
}



#CEOJA_TopMetal_Form{

  --tm-band-img: url("http://topmetalsupplier.com/wp-content/uploads/2026/01/Top_Metal_Texturas-01.jpg");

  position: relative;
  isolation: isolate;

  background-color: #ffffff;
  background-image: var(--tm-band-img);
  background-repeat: no-repeat;
  background-position: center;

     background-size: 100% clamp(360px, 35vw, 520px);
  background-position: center;
}


#CEOJA_TopMetal_Form .TM-card{
  position: relative;
  z-index: 2;
   background: #ffffff!important;
}

#CEOJA_TopMetal_Form::before{
  content:"";
  position:absolute;
  z-index: 4;
  pointer-events:none;

  top: 26px;

  left: calc(
    var(--tm-pad) + (100% - (var(--tm-pad) * 2)) * 0.761904
  );
  transform: translateX(-50%);

  width: 18px;
  height: 18px;
  background: var(--tm-yellow);
  border-radius: 2px;

  box-shadow: 14px -12px 0 0 var(--tm-blue);
  
  
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);

  /* ALTURA DE LA FRANJA */
  height: clamp(360px, 35vw, 520px);

  background-image: url("http://topmetalsupplier.com/wp-content/uploads/2026/01/Top_Metal_Texturas-01.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;

  z-index: 0;
  pointer-events: none;
}

#CEOJA_TopMetal_Form::after{
  content:"";
  position:absolute;
  z-index: 4;
  pointer-events:none;

  bottom: 28px;

  left: calc(
    var(--tm-pad) + (100% - (var(--tm-pad) * 2)) * 0.761904
  );
  transform: translateX(-50%);

  width: 18px;
  height: 18px;
  background: var(--tm-yellow);
  border-radius: 2px;

  box-shadow: 14px -12px 0 0 var(--tm-blue);
}



@media (max-width: 900px){
  #CEOJA_TopMetal_Form::before{
    top: 18px;
    left: calc(var(--tm-pad) + (100% - (var(--tm-pad) * 2)) * 0.5);
  }
  #CEOJA_TopMetal_Form::after{
    bottom: 18px;
    left: calc(var(--tm-pad) + (100% - (var(--tm-pad) * 2)) * 0.5);
  }
}

#CEOJA_TopMetal_Form .TM-card{
  position: relative;
  overflow: visible; 
}

#CEOJA_TopMetal_Form .TM-media{
  border-top-left-radius: 28px;
  border-bottom-left-radius: 28px;
  overflow: hidden;
}
#CEOJA_TopMetal_Form .TM-formWrap{
  border-top-right-radius: 28px;
  border-bottom-right-radius: 28px;
}


#CEOJA_TopMetal_Form::before,
#CEOJA_TopMetal_Form::after{
  content: none !important;
}

#CEOJA_TopMetal_Form .TM-card::before{
  content:"";
  position:absolute;
  z-index: 6;
  pointer-events:none;

  top: -18px;


  left: 52.380952%;
  transform: translateX(-50%);

  width: 18px;
  height: 18px;
  background: var(--tm-yellow);
  border-radius: 2px;
  box-shadow: 14px -12px 0 0 var(--tm-blue);
}

#CEOJA_TopMetal_Form .TM-card::after{
  content:"";
  position:absolute;
  z-index: 6;
  pointer-events:none;

  bottom: -18px;

  left: 52.380952%;
  transform: translateX(-50%);

  width: 18px;
  height: 18px;
  background: var(--tm-yellow);
  border-radius: 2px;
  box-shadow: 14px -12px 0 0 var(--tm-blue);
}


@media (max-width: 900px){
  #CEOJA_TopMetal_Form .TM-card::before,
  #CEOJA_TopMetal_Form .TM-card::after{
    left: 50%;
  }
}

#CEOJA_TopMetal_Form .TM-card::before,
#CEOJA_TopMetal_Form .TM-card::after{
  content: none !important;
}



#CEOJA_TopMetal_Form .TM-formWrap{
  position: relative;
}


#CEOJA_TopMetal_Form .TM-formWrap::before{
  content:"";
  position:absolute;
  z-index: 10;
  pointer-events:none;


  top: -20px;
  left: 20px;

  width: 40px;
  height: 40px;
  background: var(--tm-yellow);
  border-radius: 2px;

  box-shadow: 14px -12px 0 0 var(--tm-blue);
}

#CEOJA_TopMetal_Form .TM-formWrap::after{
  content:"";
  position:absolute;
  z-index: 10;
  pointer-events:none;

  bottom: -20px;
  right: 40px;

  width: 40px;
  height: 40px;
  background: var(--tm-yellow);
  border-radius: 2px;

  box-shadow: 14px -12px 0 0 var(--tm-blue);
}





#CEOJA_TopMetal_Form .TM-card{
  overflow: visible; 
}

#CEOJA_TopMetal_Form .TM-media{
  min-height: 420px;
  border-top-left-radius: 28px;
  border-bottom-left-radius: 28px;
  overflow: hidden;
}
#CEOJA_TopMetal_Form .TM-formWrap{
  border-top-right-radius: 28px;
  border-bottom-right-radius: 28px;
}


@media (max-width: 950px){

  #CEOJA_TopMetal_Form .TM-card{
    grid-template-columns: 1fr !important;
    border-radius: 28px !important;
    overflow: visible !important;          
  }


  #CEOJA_TopMetal_Form .TM-media{
    min-height: unset !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }


#CEOJA_TopMetal_Form .TM-media > img:not(.TM-logo){
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 28px !important;
  display: block !important;
}


#CEOJA_TopMetal_Form .TM-media > img.TM-logo{
  width: clamp(70px, 18vw, 120px) !important;
  max-width: 55% !important;
  height: auto !important;
  left: 16px !important;
  bottom: 14px !important;
}



  #CEOJA_TopMetal_Form .TM-formWrap{
    border-radius: 28px !important;
    background: #ffffff !important;
  }


  #CEOJA_TopMetal_Form .TM-formWrap::before{
    top: -14px !important;
    left: 18px !important;
  }
  #CEOJA_TopMetal_Form .TM-formWrap::after{
    bottom: -14px !important;
    right: 18px !important;
  }
}


#CEOJA_TopMetal_Form .wpforms-container button[type="submit"].wpforms-submit:hover{
  transform: translateY(-1px) !important;
  background: var(--tm-yellow) !important;
  color: var(--tm-blue) !important;
  box-shadow: none !important;
}

#CEOJA_TopMetal_Form .wpforms-container button[type="submit"].wpforms-submit{
  display: inline-flex !important; 
  align-items: center !important;    
  justify-content: center !important;

  padding: 14px 36px !important;
  line-height: 1 !important;         
  text-align: center !important;
}



#CEOJA_TopMetal_Form .TM-media > img.TM-logo{
  z-index: 30 !important;
}


#CEOJA_TopMetal_Form .TM-media > img:not(.TM-logo){
  z-index: 1;
  position: relative;
}


#CEOJA_TopMetal_Form .TM-formWrap::before,
#CEOJA_TopMetal_Form .TM-formWrap::after{
  z-index: 10 !important;
}


#CEOJA_TopMetal_Form .TM-formWrap::before{
  left: 34px !important;
  top: -18px !important;
}

#CEOJA_TopMetal_Form .TM-media > img.TM-logo{
  bottom: 2px !important; 
}

#CEOJA_TopMetal_Form .TM-media > img.TM-logo{
  bottom: 15px !important;

}
@media (max-width: 950px){
  #CEOJA_TopMetal_Form .TM-media > img.TM-logo{
    left: auto !important;
    right: 20px !important; 
    bottom: 18px !important;  
  }
}
@media (max-width: 950px){
  #CEOJA_TopMetal_Form{
    background-size: 100% clamp(420px, 55vw, 700px);
  }
}
#CEOJA_TopMetal_Form .TM-eyebrow,
#CEOJA_TopMetal_Form .TM-title{
  font-family: 'Poppins', sans-serif;
  font-weight: 750;
}
#CEOJA_TopMetal_Form input,
#CEOJA_TopMetal_Form textarea,
#CEOJA_TopMetal_Form label,
#CEOJA_TopMetal_Form button{
  font-family: 'Montserrat', sans-serif;
}
/* Remove the blue wallpaper band under 1000px */
@media (max-width: 1000px){
  #CEOJA_TopMetal_Form{
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    background-position: center !important;
    background-color: #ffffff !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5b16571 *//* =====================================================
   JACEO – PEOPLE & ENGINEERING (ULTRA PREMIUM)
   Palette:
   Blue:   #193886
   Yellow: #FEB42F
   Rules: 5% real margins, clean responsive, no overlap
===================================================== */

#jaceo{
  --jx-blue:#193886;
  --jx-yellow:#FEB42F;

  --jx-ink:#0b0b0b;
  --jx-text:#1f2937;
  --jx-muted:#6b7280;

  --jx-paper:#ffffff;
  --jx-soft:#f7f9fc;
  --jx-soft2:#f2f6ff;

  --jx-line:rgba(25,56,134,.14);
  --jx-line2:rgba(0,0,0,.08);

  --jx-shadow-xl:0 44px 120px rgba(0,0,0,.22);
  --jx-shadow-lg:0 34px 90px rgba(0,0,0,.18);
  --jx-shadow-md:0 18px 55px rgba(0,0,0,.12);

  --jx-radius-xl:30px;
  --jx-radius-lg:22px;
  --jx-radius-md:18px;

  --jx-speed:.28s;
  --jx-speed2:.55s;

  overflow-x:hidden;
}

#jaceo *,
#jaceo *::before,
#jaceo *::after{
  box-sizing:border-box;
}

/* =====================================================
   SECTION BASE
===================================================== */
#jaceo .tm-people-100vh{
  width:100%;
  min-height:100vh;          /* más flexible que height */
  background:var(--jx-paper);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

/* Soft ambient (muy premium, NO tapa) */
#jaceo .tm-people-100vh::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 12% 20%, rgba(25,56,134,.10), transparent 60%),
    radial-gradient(700px 520px at 88% 70%, rgba(254,180,47,.10), transparent 60%);
  pointer-events:none;
  z-index:0;
}

/* Fine grid texture */
#jaceo .tm-people-100vh::after{
  content:"";
  position:absolute;
  inset:-2px;
  opacity:.22;
  background-image:
    linear-gradient(to right, rgba(25,56,134,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(25,56,134,.06) 1px, transparent 1px);
  background-size:86px 86px;
  mask-image:radial-gradient(circle at 30% 25%, rgba(0,0,0,1) 0%, rgba(0,0,0,.55) 48%, rgba(0,0,0,0) 78%);
  pointer-events:none;
  z-index:0;
}

/* =====================================================
   MAIN GRID (5% REAL)
===================================================== */
#jaceo .tm-people-main{
  position:relative;
  z-index:2;

  flex:1;
  width:100%;
  padding-left:5%;
  padding-right:5%;

  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:120px;
  align-items:center;

  padding-top:120px;
  padding-bottom:80px;
}

/* =====================================================
   IMAGE BLOCK (ULTRA)
===================================================== */
#jaceo .tm-people-image{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

/* premium frame */
#jaceo .tm-people-image::before{
  content:"";
  position:absolute;
  inset:-16px;
  border-radius:calc(var(--jx-radius-xl) + 10px);
  background:
    radial-gradient(600px 260px at 20% 10%, rgba(254,180,47,.18), transparent 60%),
    radial-gradient(600px 260px at 90% 90%, rgba(25,56,134,.22), transparent 60%);
  opacity:.75;
  filter:blur(10px);
  pointer-events:none;
  z-index:0;
}

/* image */
#jaceo .tm-people-image img{
  position:relative;
  z-index:1;

  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:var(--jx-radius-xl);
  box-shadow:var(--jx-shadow-xl);
  display:block;

  transform:translateZ(0);
  transition:transform var(--jx-speed2) ease, box-shadow var(--jx-speed2) ease;
}

/* subtle hover */
@media (hover:hover){
  #jaceo .tm-people-image:hover img{
    transform:scale(1.015);
    box-shadow:0 54px 140px rgba(0,0,0,.26);
  }
}

/* =====================================================
   CONTENT BLOCK (TYPO PRO)
===================================================== */
#jaceo .tm-people-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:640px;
}

/* Logo */
#jaceo .tm-people-logo{
  width:168px;
  margin-bottom:22px;
  position:relative;
}

#jaceo .tm-people-logo img{
  width:100%;
  display:block;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.10));
}

/* Title */
#jaceo .tm-people-content h2{
  font-family:Poppins, system-ui, sans-serif;
  font-size:clamp(38px,3.4vw,54px);
  font-weight:900;
  line-height:1.12;
  margin:0 0 22px;
  color:var(--jx-ink);
  letter-spacing:-.02em;
}

/* Lead paragraph */
#jaceo .tm-people-content .lead{
  font-size:18px;
  line-height:1.75;
  color:rgba(31,41,55,.92);
  margin:0 0 16px;
  max-width:58ch;
}

/* Body paragraphs */
#jaceo .tm-people-content p{
  font-size:16px;
  line-height:1.85;
  color:var(--jx-text);
  margin:0 0 14px;
  max-width:62ch;
}

/* Last p spacing */
#jaceo .tm-people-content p:last-of-type{
  margin-bottom:0;
}

/* =====================================================
   ENGINEERING STRIP (MORE PREMIUM)
===================================================== */
#jaceo .tm-engineering-strip{
  position:relative;
  z-index:2;

  width:100%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,1));
  border-top:1px solid var(--jx-line);

  padding:34px 0;
}

/* internal top highlight line */
#jaceo .tm-engineering-strip::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(254,180,47,.70), transparent);
  opacity:.85;
  pointer-events:none;
}

/* Wrap with 5% */
#jaceo .tm-engineering-wrap{
  width:100%;
  padding-left:5%;
  padding-right:5%;

  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:44px;
  align-items:stretch;
}

/* Block card feel */
#jaceo .tm-eng-block{
  position:relative;
  border-radius:var(--jx-radius-lg);

  padding:20px 18px 18px 20px;
  background:rgba(25,56,134,.035);
  border:1px solid rgba(25,56,134,.10);

  box-shadow:var(--jx-shadow-md);
  overflow:hidden;

  transition:transform var(--jx-speed) ease, box-shadow var(--jx-speed) ease, border-color var(--jx-speed) ease;
}

/* internal accent */
#jaceo .tm-eng-block::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--jx-yellow);
  opacity:.95;
}

/* tiny ambient */
#jaceo .tm-eng-block::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(420px 180px at 20% 0%, rgba(254,180,47,.16), transparent 60%),
    radial-gradient(420px 180px at 90% 100%, rgba(25,56,134,.18), transparent 60%);
  opacity:.55;
  pointer-events:none;
}

/* hover subtle */
@media (hover:hover){
  #jaceo .tm-eng-block:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 70px rgba(0,0,0,.14);
    border-color:rgba(25,56,134,.16);
  }
}

/* Title */
#jaceo .tm-eng-block h3{
  position:relative;
  z-index:2;

  font-family:Poppins, system-ui, sans-serif;
  font-size:18px;
  font-weight:900;
  color:var(--jx-blue);
  margin:0 0 6px;
  letter-spacing:-.01em;
}

/* Body */
#jaceo .tm-eng-block p{
  position:relative;
  z-index:2;

  font-size:15px;
  color:#0b0b0b;
  margin:0;
  line-height:1.55;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width:1200px){
  #jaceo .tm-people-100vh{
    min-height:auto;
  }

  #jaceo .tm-people-main{
    grid-template-columns:1fr;
    gap:70px;
    padding-top:110px;
    padding-bottom:60px;
  }

  #jaceo .tm-people-content{
    max-width:760px;
  }

  #jaceo .tm-engineering-wrap{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media (max-width:720px){
  #jaceo .tm-people-main{
    padding-left:7%;
    padding-right:7%;
    padding-top:95px;
    padding-bottom:55px;
    gap:46px;
  }

  #jaceo .tm-people-image img{
    max-height:460px;
  }

  #jaceo .tm-people-logo{
    width:150px;
  }
}

@media (max-width:420px){
  #jaceo .tm-people-content h2{
    font-size:32px;
  }

  #jaceo .tm-people-content .lead{
    font-size:16px;
  }

  #jaceo .tm-people-content p{
    font-size:15px;
  }

  #jaceo .tm-people-image img{
    max-height:420px;
  }
}

/* =====================================================
   ACCESSIBILITY / REDUCED MOTION
===================================================== */
@media (prefers-reduced-motion: reduce){
  #jaceo .tm-people-image img,
  #jaceo .tm-eng-block{
    transition:none;
  }

  #jaceo .tm-people-image:hover img{
    transform:none;
  }

  #jaceo .tm-eng-block:hover{
    transform:none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f125dbb *//* =====================================================
   JACEO – TRUST & CERTIFICATIONS
   SOLID BLUE / 5% REAL / SYMMETRIC / CLEAN
===================================================== */

#jaceo .trust-100vh{
  background:#0b1536 !important;
  background-image:none !important;
}
#jaceo .trust-100vh{
  min-height:100svh; /* browsers modernos */
  min-height:100vh;
}

/* =====================================================
   0) TOKENS (SCOPED)
===================================================== */
#jaceo{
  --jx-blue:#193886;
  --jx-yellow:#FEB42F;

  --jx-bg:#0b1536; 
  --jx-white:#ffffff;
  --jx-white-dim:rgba(255,255,255,.78);

  --jx-border:rgba(255,255,255,.22);

  --jx-shadow:0 22px 60px rgba(0,0,0,.45);
  --jx-shadow-hover:0 30px 80px rgba(0,0,0,.60);

  --jx-radius-lg:22px;

  --jx-speed:.3s;
}

/* =====================================================
   1) RESET LOCAL
===================================================== */
#jaceo .trust-100vh,
#jaceo .trust-100vh *{
  box-sizing:border-box;
}

/* =====================================================
   2) SECTION BASE
===================================================== */
#jaceo .trust-100vh{
  width:100%;
  min-height:100vh;
  max-height:100vh;

  display:flex;
  align-items:center;

  background:var(--jx-bg); /* 🔵 SOLID */

  overflow:hidden;
}

/* =====================================================
   3) WRAP — 5% REAL (NO MAX-WIDTH)
===================================================== */
#jaceo .trust-100vh .wrap{
  width:100%;
  max-width:none;          /* 🔥 CLAVE 5% REAL */
  margin:0;

  padding-left:5%;
  padding-right:5%;

  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

/* =====================================================
   4) COPY BLOCK
===================================================== */
#jaceo .trust-copy{
  max-width:640px;
  color:var(--jx-white);
}

#jaceo .trust-copy .line{
  width:80px;
  height:3px;
  background:var(--jx-yellow);
  margin-bottom:20px;
}

#jaceo .trust-copy h2{
  font-family:Poppins, system-ui, sans-serif;
  font-size:clamp(38px,4vw,56px);
  font-weight:900;
  line-height:1.1;
  margin:0 0 20px;
  letter-spacing:-.02em;
  color:var(--jx-white);
}

#jaceo .trust-copy p{
  font-size:18px;
  line-height:1.7;
  color:var(--jx-white-dim);
  margin:0 0 32px;
}

#jaceo .trust-copy .divider{
  width:140px;
  height:1px;
  background:rgba(255,255,255,.35);
}

/* =====================================================
   5) CERTIFICATIONS COLUMN
===================================================== */
#jaceo .trust-certs{
  display:flex;
  flex-direction:column;
  gap:28px;
}

/* =====================================================
   6) CERTIFICATION CARD (ALL SAME SIZE)
===================================================== */
#jaceo .cert{
  width:100%;
  height:220px; /* 🔑 MISMA ALTURA PARA TODAS */

  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(255,255,255,.06);
  border:1px solid var(--jx-border);
  border-radius:var(--jx-radius-lg);

  box-shadow:var(--jx-shadow);
  overflow:hidden;

  cursor:pointer;

  transition:
    transform var(--jx-speed) ease,
    box-shadow var(--jx-speed) ease;
}

/* IMAGE — NEVER CUT */
#jaceo .cert img{
  max-width:85%;
  max-height:85%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  filter:brightness(1.05);
}

/* HOVER (DESKTOP ONLY) */
@media (hover:hover){
  #jaceo .cert:hover{
    transform:translateY(-4px);
    box-shadow:var(--jx-shadow-hover);
  }
}

/* =====================================================
   7) TABLET
===================================================== */
@media (max-width:1200px){
  #jaceo .trust-100vh{
    min-height:auto;
    max-height:none;
    padding:120px 0;
  }

  #jaceo .trust-100vh .wrap{
    grid-template-columns:1fr;
    gap:60px;
  }

  #jaceo .trust-copy{
    max-width:720px;
  }

  #jaceo .cert{
    height:210px;
  }
}

/* =====================================================
   8) MOBILE
===================================================== */
@media (max-width:640px){
  #jaceo .trust-100vh{
    padding:90px 0;
  }

  #jaceo .trust-100vh .wrap{
    padding-left:7%;
    padding-right:7%;
    gap:48px;
  }

  #jaceo .trust-copy h2{
    font-size:34px;
  }

  #jaceo .trust-copy p{
    font-size:16px;
  }

  #jaceo .cert{
    height:180px;
  }

  #jaceo .cert img{
    max-width:90%;
    max-height:90%;
  }
}

/* =====================================================
   9) REDUCED MOTION
===================================================== */
@media (prefers-reduced-motion:reduce){
  #jaceo .cert{
    transition:none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b19cc2e */#CEOJAServices_TopMetal_NoCaps{
      font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
      background:#ffffff;
      color:#0b0f1a;
      padding:clamp(58px,6vw,96px) 0;
      position:relative;
      overflow:hidden;
      box-sizing:border-box;
      isolation:isolate;
    }
    #CEOJAServices_TopMetal_NoCaps *{box-sizing:border-box}

    #CEOJAServices_TopMetal_NoCaps .CEOJA-wrap{
      width:100%;
      margin:0 auto;
      padding:0 5%;
      position:relative;
      z-index:2;
    }

    /* Background brand shapes */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-bgSq{
      position:absolute; left:5%; top:18px;
      width:120px; height:120px;
      background:#193886;
      z-index:0; opacity:.95; pointer-events:none;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-bgBar{
      position:absolute; right:0; bottom:34px;
      width:min(560px,44vw); height:76px;
      background:#193886;
      z-index:0; opacity:.95; pointer-events:none;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-accentSlash{
      position:absolute; left:-60px; top:180px;
      width:90%; height:146px;
      background:#feb42f;
      transform:skewX(-18deg);
      opacity:.95; z-index:0; pointer-events:none;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ring{
      position:absolute;
      left:calc(5% + 86px);
      bottom:16px;
      width:240px; height:240px;
      border-radius:999px;
      border:10px solid rgba(254,180,47,.18);
      z-index:0; pointer-events:none;
    }

    /* Header */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-head{
      text-align:center;
      margin-bottom:clamp(18px,2.4vw,26px);
      padding:0 10px;
      position:relative;
      z-index:3;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-kicker{
      display:inline-flex; align-items:center; gap:10px;
      font-family:"Poppins",system-ui,sans-serif;
      font-weight:900;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-size:13px;
      color:#193886;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-kicker i{
      width:10px;height:10px;border-radius:999px;
      background:#feb42f;
      box-shadow:0 0 0 7px rgba(254,180,47,.18);
      display:inline-block;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-title{
      margin:10px 0 8px;
      font-family:"Poppins",system-ui,sans-serif;
      font-weight:900;
      color:#193886;
      letter-spacing:.02em;
      text-transform:uppercase;
      font-size:clamp(30px,5.8vw,54px);
      line-height:1.03;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-sub{
      margin:0 auto;
      max-width:98ch;
      color:rgba(11,15,26,.72);
      font-size:clamp(14px,2.7vw,16px);
      line-height:1.6;
    }

    /* Cards grid (12-col) */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-cards{
      margin-top:clamp(18px,2.6vw,28px);
      display:grid;
      grid-template-columns:repeat(12,minmax(0,1fr));
      gap:clamp(14px,2vw,20px);
      align-items:stretch;
    }

    /* Desktop: 3 + 3 */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-card{
      grid-column:span 4;
      border-radius:22px;
      overflow:hidden;
      border:1px solid rgba(25,56,134,.14);
      background:rgba(255,255,255,.94);
      box-shadow:0 18px 46px rgba(0,0,0,.10);
      position:relative;
      min-height:216px;
      display:flex;
      flex-direction:column;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-card:hover{
      transform:translateY(-2px);
      border-color:rgba(25,56,134,.30);
      box-shadow:0 22px 56px rgba(0,0,0,.14);
    }

    /* ✅ Keep SOFFIT bigger presence but SAME COLOR as others */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-card.CEOJA-featured{
      min-height:244px; /* presence */
      border-color:rgba(25,56,134,.18); /* same family */
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-card.CEOJA-featured:hover{
      border-color:rgba(25,56,134,.32);
    }

    /* top strip inside card (not capsule) */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-cardTop{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:16px 16px 12px;
      background:rgba(25,56,134,.06);
      border-bottom:1px solid rgba(25,56,134,.12);
    }
    /* ✅ ensure featured uses SAME top color (remove yellow tint) */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-card.CEOJA-featured .CEOJA-cardTop{
      background:rgba(25,56,134,.06);
      border-bottom:1px solid rgba(25,56,134,.12);
    }

    /* icon square */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ico{
      width:46px;height:46px;
      border-radius:14px;
      background:#feb42f;
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 14px 26px rgba(0,0,0,.10);
      flex:0 0 auto;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ico svg{
      width:26px;height:26px;
      display:block;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ico svg path,
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ico svg rect,
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ico svg line,
    #CEOJAServices_TopMetal_NoCaps .CEOJA-ico svg circle{
      stroke:#193886;
      stroke-width:2.2;
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    #CEOJAServices_TopMetal_NoCaps .CEOJA-cardTitle{
      margin:2px 0 0;
      font-family:"Poppins",system-ui,sans-serif;
      font-weight:900;
      color:#193886;
      letter-spacing:.02em;
      text-transform:uppercase;
      font-size:15px;
      line-height:1.2;
    }
    /* keep featured just slightly larger text (still same color) */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-card.CEOJA-featured .CEOJA-cardTitle{
      font-size:16px;
    }

    #CEOJAServices_TopMetal_NoCaps .CEOJA-cardBody{
      padding:14px 16px 16px;
      display:flex;
      flex-direction:column;
      gap:10px;
      height:100%;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-desc{
      margin:0;
      color:rgba(11,15,26,.74);
      font-size:14.5px;
      line-height:1.55;
      max-width:78ch;
    }

    /* simple bullet list (no pills) */
    #CEOJAServices_TopMetal_NoCaps .CEOJA-points{
      margin:0; padding:0;
      list-style:none;
      display:grid;
      gap:8px;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-point{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:10px 10px;
      border-radius:16px;
      border:1px solid rgba(25,56,134,.12);
      background:rgba(255,255,255,.86);
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-dot{
      width:10px;height:10px;
      border-radius:3px;
      background:#193886;
      box-shadow:0 10px 18px rgba(25,56,134,.20);
      margin-top:4px;
      flex:0 0 auto;
    }
    #CEOJAServices_TopMetal_NoCaps .CEOJA-point span{
      display:block;
      color:rgba(11,15,26,.78);
      font-size:13.5px;
      line-height:1.45;
    }

    /* Responsive */
    @media (max-width:980px){
      #CEOJAServices_TopMetal_NoCaps .CEOJA-card{ grid-column:span 6; } /* 2 per row */
      #CEOJAServices_TopMetal_NoCaps .CEOJA-bgBar{ height:62px; }
      #CEOJAServices_TopMetal_NoCaps .CEOJA-accentSlash{ width:99%; top:155px; }
    }
    @media (max-width:640px){
      #CEOJAServices_TopMetal_NoCaps .CEOJA-card{ grid-column:span 12; } /* 1 per row */
      #CEOJAServices_TopMetal_NoCaps .CEOJA-bgSq{
        width:72px;height:72px;
        left:-18px; top:-46px;
        opacity:.85;
      }
      #CEOJAServices_TopMetal_NoCaps .CEOJA-ring{ display:none; }
      #CEOJAServices_TopMetal_NoCaps .CEOJA-accentSlash{ width:0%; top:185px; }
      #CEOJAServices_TopMetal_NoCaps .CEOJA-ico{ width:44px;height:44px; }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5018ba1 *//* =========================================================
   TOPMETAL – U VISUALIZER (CSS FIX)
   Goals:
   - TRUE 5% margins on 2000px+ (wrap uses 90% width)
   - Premium/Standard show 2 rows (grid) so columns don’t go crazy tall
   - Bottom split: Ultra Premium + Basic side-by-side
   - Preview sticky on desktop
   - No loader overlay
========================================================= */

/* =========================================================
   RESPONSIVE FIX: text NEVER overflows tiles
========================================================= */
@media (max-width: 980px){
  /* Cuando todo cae a 1 columna, el bottom se vuelve un grid de 2 columnas:
     Basic (izq) + Ultra (der) */
  #tmColorUVisualizer .tmU-bottom{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 12px;
  }

  #tmColorUVisualizer .tmU-bottom .tmU-colHead{
    padding: 14px 14px 10px;
  }

  /* Asegura que cada bloque tenga su “caja” */
  #tmColorUVisualizer .tmU-bottom .tmU-listBottom{
    padding: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.12);
  }

  /* Si tu Ultra está en #tmUListUltra, le das un contenedor tipo caja */
  #tmColorUVisualizer .tmU-ultraBox{
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.12);
    overflow: hidden;
  }
}

@media (max-width: 680px){
  /* En teléfonos muy chicos: vuelve a 1 columna */
  #tmColorUVisualizer .tmU-bottom{
    grid-template-columns: 1fr;
  }
}




/* Asegura que el contenido dentro del grid pueda encogerse */
#tmColorUVisualizer .tmU-tile,
#tmColorUVisualizer .tmU-txt,
#tmColorUVisualizer .tmU-meta{
  min-width: 0;
}

/* Por defecto: 1 línea con ellipsis (desktop) */
#tmColorUVisualizer .tmU-name{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* En pantallas pequeñas: permitir 2 líneas y cortar bonito */
@media (max-width: 720px){
  #tmColorUVisualizer .tmU-name{
    white-space: normal;                 /* permite wrap */
    display: -webkit-box;
    -webkit-line-clamp: 2;               /* máximo 2 líneas */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.15;
  }

  /* Ajusta tamaños para que no explote */
  #tmColorUVisualizer .tmU-name{ font-size: 12px; }
  #tmColorUVisualizer .tmU-meta{ font-size: 11px; }
  #tmColorUVisualizer .tmU-tag{ font-size: 10px; padding: 5px 8px; }
}
@media (max-width: 720px){
  /* Tiles más compactos */
  #tmColorUVisualizer .tmU-tile{
    grid-template-columns: 56px 1fr;
    gap: 10px;
    padding: 10px;
  }

  #tmColorUVisualizer .tmU-thumb{
    width: 56px;
    height: 44px;
    border-radius: 11px;
  }

  /* Listas: 2 columnas para que no quede una lista infinita */
  #tmColorUVisualizer .tmU-list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  /* Bottom: también 2 columnas */
  #tmColorUVisualizer .tmU-listBottom{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* =========================
   5% REAL MARGINS (NO BUGS)
   - Always 5vw left/right
   - No overflow from 100vw + scrollbar
========================= */
#tmColorUVisualizer .tmU-wrap{
  max-width: none;                 /* no cap */
  width: calc(100% - 10vw);        /* 100% minus 5vw+5vw */
  margin-left: 5vw;
  margin-right: 5vw;
  position: relative;
  z-index: 1;
}

#tmColorUVisualizer{
  width: 100%;
}



#tmColorUVisualizer{
  --navy:#0b2d5c;
  --navy2:#081f40;
  --ink:#0b1220;
  --white:#ffffff;
  --muted:#7b8798;
  --line:rgba(255,255,255,.14);
  --glass:rgba(255,255,255,.10);
  --glass2:rgba(255,255,255,.06);
  --shadow: 0 28px 70px rgba(0,0,0,.45);
  --shadow2: 0 22px 56px rgba(0,0,0,.35);
  --r24:24px;
  --r20:20px;
  --r16:16px;
  --r14:14px;
  --r12:12px;
  --max:1400px;

  position:relative;
  padding: clamp(56px, 6vw, 92px) 0;
  background: #072C66;

    
  color:var(--white);
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  overflow:hidden;
  isolation:isolate;
}

#tmColorUVisualizer *{ box-sizing:border-box; }
#tmColorUVisualizer a{ color:inherit; text-decoration:none; }
#tmColorUVisualizer button{ font-family:inherit; }

#tmColorUVisualizer .tmU-ambient{ position:absolute; inset:0; z-index:0; pointer-events:none; }
#tmColorUVisualizer .tmU-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity:.10;
  transform: translateZ(0);
}
#tmColorUVisualizer .tmU-glow{ position:absolute; filter: blur(40px); opacity:.55; }
#tmColorUVisualizer .tmU-g1{ width:520px; height:520px; left:-120px; top:-160px; background:rgba(255,255,255,.14); border-radius:999px; }
#tmColorUVisualizer .tmU-g2{ width:680px; height:680px; right:-240px; top:40px; background:rgba(255,255,255,.10); border-radius:999px; }
#tmColorUVisualizer .tmU-noise{
  position:absolute; inset:0; opacity:.10; mix-blend-mode: overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}

/* =========================================================
   5% REAL MARGINS
   - On very large screens: width is 90% => 5% left + 5% right
   - Still capped for readability (max)
========================================================= */
/* =========================
   5% REAL MARGINS (NO BUGS)
   - Always 5vw left/right
   - No overflow from 100vw + scrollbar
========================= */
#tmColorUVisualizer .tmU-wrap{
  max-width: none;                 /* no cap */
  width: calc(100% - 10vw);        /* 100% minus 5vw+5vw */
  margin-left: 5vw;
  margin-right: 5vw;
  position: relative;
  z-index: 1;
}

#tmColorUVisualizer{
  width: 100%;
}


/* Head */
#tmColorUVisualizer .tmU-head{ text-align:left; }
#tmColorUVisualizer .tmU-kickerRow{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
#tmColorUVisualizer .tmU-kickerBar{ width:34px; height:2px; background:rgba(255,255,255,.75); border-radius:99px; }
#tmColorUVisualizer .tmU-kicker{ letter-spacing:.18em; font-weight:800; font-size:12px; opacity:.9; }

#tmColorUVisualizer .tmU-title{
  font-family:"Poppins",system-ui,sans-serif;
  font-weight:900;
  line-height:1.05;
  font-size: clamp(30px, 3.2vw, 46px);
  margin:0 0 10px;
}
#tmColorUVisualizer .tmU-titleAccent{
  display:block;
  font-weight:800;
  opacity:.92;
  font-size: clamp(18px, 1.6vw, 22px);
  margin-top:6px;
}
#tmColorUVisualizer .tmU-sub{
  max-width: 82ch;
  margin: 0 0 18px;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  line-height:1.65;
}

/* Buttons (WHITE ONLY) */
#tmColorUVisualizer .tmU-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
#tmColorUVisualizer .tmU-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 12px 16px;
  border-radius: 14px;
  font-family:"Poppins",system-ui,sans-serif;
  font-weight:800;
  letter-spacing:.08em;
  font-size:12px;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.92);
  color: #0b2d5c;
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
  overflow:hidden;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
#tmColorUVisualizer .tmU-btn:hover{ transform: translateY(-1px); box-shadow: 0 24px 55px rgba(0,0,0,.32); }
#tmColorUVisualizer .tmU-btnIcon{ width:18px; height:18px; display:grid; place-items:center; }
#tmColorUVisualizer .tmU-btnIcon svg{ width:18px; height:18px; }
#tmColorUVisualizer .tmU-btnSheen{
  position:absolute; inset:-2px;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.65), transparent 70%);
  transform: translateX(-120%);
  transition: transform .6s ease;
  opacity:.55;
  pointer-events:none;
}
#tmColorUVisualizer .tmU-btn:hover .tmU-btnSheen{ transform: translateX(120%); }
#tmColorUVisualizer .tmU-btnOutline{
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.95);
  border-color: rgba(255,255,255,.42);
  box-shadow: none;
}
#tmColorUVisualizer .tmU-btnOutline:hover{
  background: rgba(255,255,255,.14);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

/* Tools */
#tmColorUVisualizer .tmU-tools{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top: 10px;
}
#tmColorUVisualizer .tmU-search{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  width: min(720px, 100%);
}
#tmColorUVisualizer .tmU-searchIcon{ width:18px; height:18px; opacity:.9; }
#tmColorUVisualizer #tmUQuery{
  flex:1;
  background: transparent;
  border:0;
  outline:none;
  color: rgba(255,255,255,.95);
  font-size: 14px;
  font-family:"Montserrat",system-ui,sans-serif;
}
#tmColorUVisualizer #tmUQuery::placeholder{ color: rgba(255,255,255,.65); }
#tmColorUVisualizer .tmU-clear{
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  padding: 8px 10px;
  border-radius: 12px;
  font-weight:700;
  cursor:pointer;
  transition: background .2s ease, transform .2s ease;
}
#tmColorUVisualizer .tmU-clear:hover{ background: rgba(255,255,255,.18); transform: translateY(-1px); }

#tmColorUVisualizer .tmU-filter{ display:flex; gap:10px; flex-wrap:wrap; }
#tmColorUVisualizer .tmU-chip{
  padding: 9px 12px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-weight:800;
  font-size: 12px;
  letter-spacing:.06em;
  cursor:pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
#tmColorUVisualizer .tmU-chip:hover{ transform: translateY(-1px); background: rgba(255,255,255,.12); }
#tmColorUVisualizer .tmU-chip.is-on{
  background: rgba(255,255,255,.92);
  color: #0b2d5c;
  border-color: rgba(255,255,255,.65);
}

/* Divider */
#tmColorUVisualizer .tmU-divider{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  margin: 22px 0 26px;
}

/* =========================================================
   U GRID (top row)
   - Reduce center width a bit to avoid pushing down
========================================================= */
#tmColorUVisualizer .tmU-gridU{
  display:grid;
  grid-template-columns: 1fr minmax(340px, 500px) 1fr;
  gap: 16px;
  align-items:start;
}

/* Columns */
#tmColorUVisualizer .tmU-col{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius: var(--r24);
  box-shadow: var(--shadow);
  overflow:hidden;
}

/* Column head */
#tmColorUVisualizer .tmU-colHead{
  padding: 16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
#tmColorUVisualizer .tmU-colHeadBottom{
  padding: 16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
#tmColorUVisualizer .tmU-colTitle{
  font-family:"Poppins",system-ui,sans-serif;
  font-weight:900;
  font-size: 16px;
  letter-spacing:.02em;
}
#tmColorUVisualizer .tmU-colSub{
  color: rgba(255,255,255,.78);
  font-size: 12px;
  margin-top:4px;
  line-height:1.4;
}

/* Lists base */
#tmColorUVisualizer .tmU-list{
  padding: 12px;
  display:grid;
  gap:10px;
}

/* Two rows on sides (THIS is the fix) */
#tmColorUVisualizer .tmU-list2Rows{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

/* Tile */
#tmColorUVisualizer .tmU-tile{
  display:grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items:center;
  padding: 10px 10px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.16);
  cursor:pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
  text-align:left;
  width:100%;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
#tmColorUVisualizer .tmU-tile:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.24);
  background: rgba(0,0,0,.22);
  box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
#tmColorUVisualizer .tmU-tile:focus{
  outline: 2px solid rgba(255,255,255,.55);
  outline-offset: 2px;
}
#tmColorUVisualizer .tmU-thumb{
  width:64px; height:48px;
  border-radius: 12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  position:relative;
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}
#tmColorUVisualizer .tmU-thumb img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  transform: scale(1.02);
}
#tmColorUVisualizer .tmU-txt{ min-width:0; }
#tmColorUVisualizer .tmU-name{
  font-weight:900;
  font-size: 13px;
  line-height:1.15;
  letter-spacing:.01em;
  color: rgba(255,255,255,.95);
  font-family:"Poppins",system-ui,sans-serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#tmColorUVisualizer .tmU-meta{
  margin-top:6px;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  color: rgba(255,255,255,.78);
  font-size: 12px;
}
#tmColorUVisualizer .tmU-tag{
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  font-weight:800;
  letter-spacing:.06em;
  font-size: 11px;
}
#tmColorUVisualizer .tmU-code{
  opacity:.9;
  font-weight:700;
  font-size: 11px;
  letter-spacing:.08em;
}
#tmColorUVisualizer .tmU-tile.is-selected{
  border-color: rgba(255,255,255,.60);
  background: rgba(255,255,255,.10);
  box-shadow: 0 18px 42px rgba(0,0,0,.34);
}

/* Ultra premium special styling */
#tmColorUVisualizer .tmU-tile.is-ultra{
  border-color: rgba(255,255,255,.22);
  background:
    radial-gradient(120px 60px at 20% 20%, rgba(255,255,255,.10), transparent 70%),
    linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.12));
}
#tmColorUVisualizer .tmU-tile.is-ultra .tmU-tag{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.22);
}

/* Center preview + sticky */
#tmColorUVisualizer .tmU-center{ align-self:stretch; }
#tmColorUVisualizer .tmU-previewCard{
  border-radius: var(--r24);
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow);
  overflow:hidden;
  min-height: 520px;
  display:flex;
  flex-direction:column;
  position: sticky;
  top: 18px;
}
#tmColorUVisualizer .tmU-previewTop{
  padding: 16px 16px 12px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
#tmColorUVisualizer .tmU-selectedLabel{
  font-size:12px;
  color: rgba(255,255,255,.74);
  font-weight:700;
}
#tmColorUVisualizer .tmU-selectedName{
  font-family:"Poppins",system-ui,sans-serif;
  font-weight:900;
  font-size: 18px;
  margin-top:2px;
  letter-spacing:.01em;
}
#tmColorUVisualizer .tmU-selectedMeta{
  display:flex; gap:8px; flex-wrap:wrap;
  margin-top:8px;
}
#tmColorUVisualizer .tmU-pillTier,
#tmColorUVisualizer .tmU-pillCode{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.20);
  font-weight:800;
  letter-spacing:.06em;
  font-size: 11px;
  color: rgba(255,255,255,.92);
}
#tmColorUVisualizer .tmU-badge{
  display:flex; align-items:center; gap:8px;
  padding: 8px 10px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.16);
  color: rgba(255,255,255,.84);
  font-size: 12px;
  font-weight:800;
  white-space:nowrap;
}
#tmColorUVisualizer .tmU-badgeDot{
  width:8px; height:8px; border-radius:999px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 0 0 6px rgba(255,255,255,.08);
}

#tmColorUVisualizer .tmU-previewMedia{
  position:relative;
  padding: 14px;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.18);
}
#tmColorUVisualizer .tmU-previewMedia img{
  width:100%;
  height:auto;
  max-height: 430px;
  object-fit:contain;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  transform: translateZ(0);
  transition: transform .24s ease, filter .24s ease, opacity .18s ease;
}
#tmColorUVisualizer .tmU-previewMedia img.is-swap{
  opacity: .75;
  transform: scale(.992);
  filter: saturate(1.03) contrast(1.02);
}
#tmColorUVisualizer .tmU-previewOverlay{
  position:absolute; inset:0;
  background:
    radial-gradient(600px 300px at 50% 20%, rgba(255,255,255,.08), transparent 60%),
    radial-gradient(700px 360px at 50% 120%, rgba(255,255,255,.06), transparent 65%);
  pointer-events:none;
}

#tmColorUVisualizer .tmU-previewFoot{
  padding: 14px 16px 16px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  border-top: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
#tmColorUVisualizer .tmU-footBox{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.14);
  border-radius: 16px;
  padding: 12px 12px;
  min-height: 60px;
}
#tmColorUVisualizer .tmU-footKey{
  font-weight:900;
  font-size: 12px;
  letter-spacing:.08em;
  opacity:.9;
  font-family:"Poppins",system-ui,sans-serif;
}
#tmColorUVisualizer .tmU-footVal{
  margin-top:6px;
  font-size: 12px;
  color: rgba(255,255,255,.82);
  line-height:1.45;
}

/* =========================================================
   BOTTOM ROW (Ultra + Basic side-by-side)
========================================================= */
#tmColorUVisualizer .tmU-bottomRow{
  grid-column: 1 / -1;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items:stretch;
}
#tmColorUVisualizer .tmU-bottomCol{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius: var(--r24);
  box-shadow: var(--shadow);
  overflow:hidden;
}
#tmColorUVisualizer .tmU-listBottom{
  padding: 12px;
  display:grid;
  gap:10px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
#tmColorUVisualizer .tmU-listBottomTight .tmU-tile{
  grid-template-columns: 58px 1fr;
}
#tmColorUVisualizer .tmU-listBottomTight .tmU-thumb{
  width:58px; height:44px;
}

/* Tooltip */
#tmColorUVisualizer .tmU-tip{
  position:fixed;
  left:0; top:0;
  transform: translate(-9999px, -9999px);
  background: rgba(10,12,18,.92);
  border:1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: 0 24px 60px rgba(0,0,0,.55);
  z-index:9999;
  pointer-events:none;
  min-width: 180px;
}
#tmColorUVisualizer .tmU-tipName{
  font-family:"Poppins",system-ui,sans-serif;
  font-weight:900;
  font-size: 13px;
  color: rgba(255,255,255,.96);
  margin-bottom:6px;
}
#tmColorUVisualizer .tmU-tipMeta{
  display:flex;
  gap:8px;
  color: rgba(255,255,255,.78);
  font-weight:800;
  font-size: 11px;
  letter-spacing:.06em;
}

/* Responsive */
@media (max-width: 1100px){
  #tmColorUVisualizer .tmU-wrap{ width: 92%; }
  #tmColorUVisualizer .tmU-gridU{ grid-template-columns: 1fr; }
  #tmColorUVisualizer .tmU-previewCard{ position: relative; top:auto; }
  #tmColorUVisualizer .tmU-list2Rows{ grid-template-columns: 1fr; }
  #tmColorUVisualizer .tmU-bottomRow{ grid-template-columns: 1fr; }
  #tmColorUVisualizer .tmU-previewFoot{ grid-template-columns: 1fr; }
}

@media (max-width: 520px){
  #tmColorUVisualizer .tmU-listBottom{ grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7ea6b8e *//* ===== TITLE COLOR FIX – BLUE ===== */

/* Título principal del gallery */
#tmGalleryPro .tg-title{
  color: var(--tm-blue);
}

/* Títulos dentro de las cards (caption title) */
#tmGalleryPro .tg-capTitle{
  color: #ffffff; /* se mantiene blanco sobre imagen */
}

/* Si tienes títulos grandes adicionales */
#tmGalleryPro h2,
#tmGalleryPro h3{
  color: var(--tm-blue);
}

/* =========================================================
  GALLERY PRO – PREMIUM MINIMAL
  Encapsulated: #tmGalleryPro + #tmGalleryModal
========================================================= */

/* Elementor margin killers */
#tmGalleryPro,
#tmGalleryPro .tg-wrap,
#tmGalleryPro .tg-grid{ margin:0 !important; padding-top:0 !important; }
#tmGalleryPro .tg-wrap{ display:flow-root; }
#tmGalleryPro .tg-wrap > *:first-child{ margin-top:0 !important; }

/* Tokens */
#tmGalleryPro{
  --tm-blue:#193886;
  --tm-yellow:#FEB42F;

  --tm-bg:#ffffff;
  --tm-ink:#0c0f18;
  --tm-dim:rgba(12,15,24,.72);
  --tm-line:rgba(12,15,24,.10);
  --tm-soft:rgba(12,15,24,.05);

  --tm-card:#f7f8fb;
  --tm-shadow:0 30px 90px rgba(0,0,0,.14);
  --tm-shadow2:0 20px 60px rgba(0,0,0,.12);

  --tm-radius:26px;
  --tm-radius2:18px;

  --tm-font:Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --tm-head:Poppins, Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  background:var(--tm-bg);
  padding:140px 0;
  font-family:var(--tm-font);
  color:var(--tm-ink);
}

#tmGalleryPro *{ box-sizing:border-box; }

/* 5% real margins */
#tmGalleryPro .tg-wrap{
  width:100%;
  padding-left:5%;
  padding-right:5%;
}

/* Header */
#tmGalleryPro .tg-head{
  max-width:920px;
  margin:0 0 56px;
}

#tmGalleryPro .tg-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

#tmGalleryPro .tg-line{
  width:78px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--tm-yellow), rgba(254,180,47,.35));
  box-shadow:0 14px 30px rgba(254,180,47,.18);
}

#tmGalleryPro .tg-pill{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(12,15,24,.04);
  border:1px solid rgba(12,15,24,.10);
  color:rgba(12,15,24,.72);
}

#tmGalleryPro .tg-title{
  font-family:var(--tm-head);
  font-size:52px;
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 0 14px;
  font-weight:900;
}

#tmGalleryPro .tg-sub{
  margin:0;
  font-size:18px;
  line-height:1.75;
  color:var(--tm-dim);
}

/* Grid layout */
#tmGalleryPro .tg-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(4,220px);
  gap:28px;
}

/* Item */
#tmGalleryPro .tg-item{
  position:relative;
  border-radius:var(--tm-radius);
  background:var(--tm-card);
  box-shadow:var(--tm-shadow);
  overflow:hidden;
}

/* Make entire tile clickable via button */
#tmGalleryPro .tg-hit{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in;
  text-align:inherit;
  border-radius:inherit;
}

/* Image */
#tmGalleryPro .tg-hit img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.03);
  transition:transform .9s cubic-bezier(.22,.61,.36,1);
  display:block;
}

/* Overlay */
#tmGalleryPro .tg-hit::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.48) 100%);
  opacity:.45;
  transition:opacity .6s ease;
  pointer-events:none;
}

/* Caption */
#tmGalleryPro .tg-cap{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#fff;
  text-shadow:0 10px 30px rgba(0,0,0,.38);
}

#tmGalleryPro .tg-capTitle{
  font-family:var(--tm-head);
  font-weight:900;
  letter-spacing:-.01em;
  font-size:16px;
}

#tmGalleryPro .tg-capSub{
  font-size:13px;
  opacity:.86;
}

/* Zoom icon */
#tmGalleryPro .tg-zoom{
  position:absolute;
  top:16px;
  right:16px;
  z-index:2;
  width:44px;
  height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(8px);

  transform:translateZ(0);
}

#tmGalleryPro .tg-zoom svg{
  width:18px;
  height:18px;
}

/* Hover only on hover-capable devices */
@media (hover:hover){
  #tmGalleryPro .tg-item:hover .tg-hit img{ transform:scale(1.10); }
  #tmGalleryPro .tg-item:hover .tg-hit::after{ opacity:.28; }
  #tmGalleryPro .tg-item:hover{ box-shadow:var(--tm-shadow2); }
}

/* Focus */
#tmGalleryPro .tg-hit:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(254,180,47,.22);
}

/* Grid positions */
#tmGalleryPro .tg-main{ grid-column:1 / 3; grid-row:1 / 4; }
#tmGalleryPro .tg-img2{ grid-column:3 / 4; grid-row:1 / 2; }
#tmGalleryPro .tg-img6{ grid-column:4 / 5; grid-row:1 / 2; }
#tmGalleryPro .tg-img3{ grid-column:3 / 5; grid-row:2 / 5; }
#tmGalleryPro .tg-img4{ grid-column:1 / 2; grid-row:4 / 5; }
#tmGalleryPro .tg-img5{ grid-column:2 / 3; grid-row:4 / 5; }

/* Responsive */
@media(max-width:1100px){
  #tmGalleryPro .tg-grid{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:auto;
  }

  #tmGalleryPro .tg-main{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:420px;
  }

  #tmGalleryPro .tg-img2,
  #tmGalleryPro .tg-img6,
  #tmGalleryPro .tg-img3,
  #tmGalleryPro .tg-img4,
  #tmGalleryPro .tg-img5{
    grid-column:auto;
    grid-row:auto;
    min-height:240px;
  }
}

@media(max-width:640px){
  #tmGalleryPro{
    padding:110px 0;
  }

  #tmGalleryPro .tg-wrap{
    padding-left:7%;
    padding-right:7%;
  }

  #tmGalleryPro .tg-title{
    font-size:40px;
  }

  #tmGalleryPro .tg-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  #tmGalleryPro .tg-item{
    min-height:260px;
  }
}

/* =========================================================
  MODAL – PREMIUM LIGHTBOX
========================================================= */
#tmGalleryModal.tgm{
  --m-bg:#050b20;
  --m-ink:rgba(255,255,255,.92);
  --m-dim:rgba(255,255,255,.70);
  --m-line:rgba(255,255,255,.12);
  --m-soft:rgba(255,255,255,.08);

  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

#tmGalleryModal.tgm.is-open{ display:flex; }

#tmGalleryModal .tgm-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,11,32,.92);
  backdrop-filter:blur(6px);
}

#tmGalleryModal .tgm-shell{
  position:relative;
  width:min(1100px, 92vw);
  max-height:90vh;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 60px 160px rgba(0,0,0,.65);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  z-index:2;
  animation:tgmIn .28s cubic-bezier(.22,.61,.36,1);
}

@keyframes tgmIn{
  from{ opacity:0; transform:translateY(10px) scale(.985); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

/* Top bar */
#tmGalleryModal .tgm-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 16px;
  border-bottom:1px solid var(--m-line);
  background:rgba(0,0,0,.18);
}

#tmGalleryModal .tgm-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

#tmGalleryModal .tgm-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#FEB42F;
  box-shadow:0 0 0 6px rgba(254,180,47,.12);
}

#tmGalleryModal .tgm-title{
  font-family:Poppins, Montserrat, system-ui, sans-serif;
  font-weight:900;
  color:var(--m-ink);
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#tmGalleryModal .tgm-right{
  display:flex;
  align-items:center;
  gap:12px;
}

#tmGalleryModal .tgm-count{
  color:var(--m-dim);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#tmGalleryModal .tgm-close{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}

#tmGalleryModal .tgm-close svg{ width:18px; height:18px; }

#tmGalleryModal .tgm-close:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(254,180,47,.22);
}

/* Stage */
#tmGalleryModal .tgm-stage{
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr 56px;
  align-items:stretch;
  gap:0;
  background:rgba(0,0,0,.22);
}

#tmGalleryModal .tgm-figure{
  margin:0;
  display:flex;
  flex-direction:column;
  min-height:min(64vh, 640px);
}

#tmGalleryModal .tgm-img{
  width:100%;
  height:min(64vh, 640px);
  object-fit:contain;
  background:var(--m-bg);
  display:block;
}

#tmGalleryModal .tgm-cap{
  padding:12px 16px 14px;
  color:var(--m-dim);
  font-size:14px;
  line-height:1.6;
  border-top:1px solid var(--m-line);
  background:rgba(0,0,0,.16);
}

/* Nav buttons */
#tmGalleryModal .tgm-nav{
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
}

@media (hover:hover){
  #tmGalleryModal .tgm-nav:hover{
    background:rgba(255,255,255,.06);
  }
}

#tmGalleryModal .tgm-nav:focus{
  outline:none;
  box-shadow:inset 0 0 0 3px rgba(254,180,47,.22);
}

#tmGalleryModal .tgm-nav svg{ width:22px; height:22px; }

/* Thumbs */
#tmGalleryModal .tgm-thumbs{
  display:flex;
  gap:10px;
  padding:14px 14px 16px;
  overflow:auto;
  border-top:1px solid var(--m-line);
  background:rgba(0,0,0,.14);
}

#tmGalleryModal .tgm-thumb{
  width:84px;
  height:54px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  cursor:pointer;
  flex:0 0 auto;
  position:relative;
}

#tmGalleryModal .tgm-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
}

#tmGalleryModal .tgm-thumb.is-active{
  border-color:rgba(254,180,47,.70);
  box-shadow:0 0 0 4px rgba(254,180,47,.16);
}

#tmGalleryModal .tgm-thumb:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(254,180,47,.22);
}

/* Mobile modal */
@media(max-width:720px){
  #tmGalleryModal .tgm-shell{
    width:94vw;
    border-radius:22px;
  }
  #tmGalleryModal .tgm-stage{
    grid-template-columns:48px 1fr 48px;
  }
  #tmGalleryModal .tgm-img{
    height:min(60vh, 520px);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  #tmGalleryModal .tgm-shell{ animation:none; }
  #tmGalleryPro .tg-hit img{ transition:none; }
  #tmGalleryPro .tg-hit::after{ transition:none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6b3cb9f *//* ===== BUTTON FIX ===== */
#jaceo .JX-btn{
  overflow:hidden;
}

#jaceo .JX-btnGlow{
  inset:0;
  border-radius:inherit;
}

#jaceo .JX-btn--primary::before{
  inset:0;
  border-radius:inherit;
}

/* ===== 5% REAL FIX ===== */
#jaceo .JX-grid2{
  width:100%;
  max-width:calc(100vw - 10%);
  margin:0;
}

#jaceo .JX-location p{
  color: var(--jx-white);
}

/* =====================================================
   JACEO – LOCATION (ULTRA MINIMAL PREMIUM)
   Encapsulated: #jaceo
===================================================== */
#jaceo{
  --jx-blue:#193886;
  --jx-yellow:#FEB42F;

  --jx-bg0:#070a14;
  --jx-bg1:#0b1024;
  --jx-bg2:#0f1a3a;

  --jx-white:#ffffff;
  --jx-ink:rgba(255,255,255,.92);
  --jx-dim:rgba(255,255,255,.72);
  --jx-dimmer:rgba(255,255,255,.55);

  --jx-line:rgba(255,255,255,.10);
  --jx-line2:rgba(255,255,255,.14);

  --jx-glass:rgba(255,255,255,.06);
  --jx-glass2:rgba(255,255,255,.08);

  --jx-shadow:0 22px 60px rgba(0,0,0,.50);
  --jx-shadow2:0 18px 40px rgba(0,0,0,.45);

  --jx-radius:22px;
  --jx-radius2:18px;

  --jx-max:1600px;
  --jx-gap:28px;

  --jx-font-sans:Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --jx-font-head:Poppins, Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --jx-speed:.28s;
  --jx-speed2:.55s;
}

#jaceo *{ box-sizing:border-box; }
#jaceo *::before,
#jaceo *::after{ box-sizing:border-box; }

#jaceo .JX-location{
  position:relative;
  width:100%;
  min-height:100vh;
  padding:110px 0 120px;
  color:var(--jx-white);
  font-family:var(--jx-font-sans);
  overflow:hidden;
  isolation:isolate;

  background:
    radial-gradient(1100px 520px at 78% 10%, rgba(25,56,134,.28) 0%, transparent 62%),
    radial-gradient(900px 420px at 20% 85%, rgba(254,180,47,.12) 0%, transparent 62%),
    linear-gradient(180deg, var(--jx-bg0) 0%, var(--jx-bg1) 40%, var(--jx-bg0) 100%);
}

/* ===== Ambient layer ===== */
#jaceo .JX-ambient{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}

#jaceo .JX-glow{
  position:absolute;
  filter:blur(36px);
  opacity:.65;
  transform:translateZ(0);
}

#jaceo .JX-glow--a{
  width:520px;
  height:520px;
  left:-140px;
  top:-160px;
  background:radial-gradient(circle, rgba(254,180,47,.30), transparent 60%);
}

#jaceo .JX-glow--b{
  width:560px;
  height:560px;
  right:-180px;
  top:40px;
  background:radial-gradient(circle, rgba(25,56,134,.38), transparent 60%);
}

#jaceo .JX-glow--c{
  width:620px;
  height:620px;
  left:35%;
  bottom:-260px;
  background:radial-gradient(circle, rgba(25,56,134,.22), transparent 60%);
}

#jaceo .JX-grid{
  position:absolute;
  inset:-2px;
  opacity:.20;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 35% 35%, rgba(0,0,0,1) 0%, rgba(0,0,0,.65) 45%, rgba(0,0,0,0) 78%);
}

#jaceo .JX-noise{
  position:absolute;
  inset:0;
  opacity:.05;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size:220px 220px;
  mix-blend-mode:overlay;
}

/* ===== Content wrap with 5% real margins ===== */
#jaceo .JX-wrap{
  position:relative;
  z-index:2;
  width:100%;
  padding-left:5%;
  padding-right:5%;
}

#jaceo .JX-head{
  max-width:820px;
  margin:0 auto 46px 0;
}

#jaceo .JX-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

#jaceo .JX-line{
  width:78px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--jx-yellow), rgba(254,180,47,.22));
  box-shadow:0 10px 30px rgba(254,180,47,.16);
}

#jaceo .JX-tag{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}

#jaceo .JX-title{
  font-family:var(--jx-font-head);
  font-size:52px;
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 0 14px;
  font-weight:800;

  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.74));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

#jaceo .JX-sub{
  margin:0;
  font-size:18px;
  line-height:1.7;
  color:var(--jx-dim);
}

/* ===== Two column grid ===== */
#jaceo .JX-grid2{
  width:100%;
  max-width:var(--jx-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:var(--jx-gap);
  align-items:stretch;
}

/* ===== Card base ===== */
#jaceo .JX-card{
  border-radius:var(--jx-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--jx-shadow);
  overflow:hidden;
  position:relative;
  transform:translateZ(0);
}

#jaceo .JX-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(700px 220px at 12% 10%, rgba(254,180,47,.10), transparent 60%),
    radial-gradient(700px 220px at 92% 18%, rgba(25,56,134,.18), transparent 62%);
  opacity:.85;
  pointer-events:none;
}

#jaceo .JX-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.06) 50%, transparent 100%);
  opacity:.15;
  transform:translateX(-35%);
  pointer-events:none;
}

#jaceo .JX-card:hover::after{
  transform:translateX(35%);
  transition:transform var(--jx-speed2) ease;
}

/* ===== Map Card ===== */
#jaceo .JX-card--map{
  display:flex;
  flex-direction:column;
  min-height:560px;
}

#jaceo .JX-cardTop{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 22px 16px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
}

#jaceo .JX-cardTopLeft{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

#jaceo .JX-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--jx-yellow);
  box-shadow:0 0 0 6px rgba(254,180,47,.12);
  margin-bottom:6px;
}

#jaceo .JX-cardTitle{
  font-weight:800;
  font-family:var(--jx-font-head);
  font-size:18px;
  color:rgba(255,255,255,.92);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#jaceo .JX-cardMeta{
  font-size:13px;
  color:rgba(255,255,255,.62);
  letter-spacing:.02em;
}

#jaceo .JX-cardTopRight{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

#jaceo .JX-miniBtn{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.86);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  transition:transform var(--jx-speed) ease, background var(--jx-speed) ease, border-color var(--jx-speed) ease;
  backdrop-filter: blur(10px);
}

#jaceo .JX-miniBtn svg{
  width:16px;
  height:16px;
}

#jaceo .JX-miniBtn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.22);
}

#jaceo .JX-miniBtn:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(254,180,47,.18);
  border-color:rgba(254,180,47,.55);
}

#jaceo .JX-miniBtn--ghost{
  border-color:rgba(254,180,47,.22);
}

#jaceo .JX-mapFrame{
  position:relative;
  z-index:2;
  flex:1;
  min-height:360px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

#jaceo .JX-mapFrame iframe{
  width:100%;
  height:100%;
  border:0;
  filter:saturate(1.05) contrast(1.05);
}

#jaceo .JX-mapOverlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(7,10,20,.05) 0%, rgba(7,10,20,.0) 32%, rgba(7,10,20,.25) 100%);
}

#jaceo .JX-mapBadge{
  position:absolute;
  left:18px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.86);
  font-size:13px;
  backdrop-filter: blur(10px);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}

#jaceo .JX-ping{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--jx-yellow);
  box-shadow:0 0 0 0 rgba(254,180,47,.25);
  animation:JXping 1.8s ease-out infinite;
}

@keyframes JXping{
  0%{ box-shadow:0 0 0 0 rgba(254,180,47,.22); }
  70%{ box-shadow:0 0 0 14px rgba(254,180,47,0); }
  100%{ box-shadow:0 0 0 18px rgba(254,180,47,0); }
}

#jaceo .JX-cardBottom{
  position:relative;
  z-index:2;
  padding:18px 22px 22px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

#jaceo .JX-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

#jaceo .JX-badge{
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(25,56,134,.18);
  border:1px solid rgba(25,56,134,.35);
  color:rgba(255,255,255,.86);
}

#jaceo .JX-tip{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.70);
  font-size:13px;
}

#jaceo .JX-tipDot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.60);
}

/* ===== Info Card ===== */
#jaceo .JX-card--info{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:560px;
}

#jaceo .JX-infoHead{
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

#jaceo .JX-infoTitle{
  margin:0 0 8px;
  font-family:var(--jx-font-head);
  font-size:22px;
  font-weight:800;
  letter-spacing:-.01em;
}

#jaceo .JX-infoNote{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.6;
}

#jaceo .JX-infoList{
  display:flex;
  flex-direction:column;
  gap:12px;
}

#jaceo .JX-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  transition:transform var(--jx-speed) ease, border-color var(--jx-speed) ease, background var(--jx-speed) ease;
}

#jaceo .JX-row:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.12);
}

#jaceo .JX-ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.86);
  background:rgba(25,56,134,.16);
  border:1px solid rgba(25,56,134,.28);
  flex:0 0 auto;
}

#jaceo .JX-ico svg{
  width:18px;
  height:18px;
}

#jaceo .JX-rowText{
  min-width:0;
}

#jaceo .JX-rowLabel{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
  margin-bottom:6px;
}

#jaceo .JX-rowValue{
  color:rgba(255,255,255,.90);
  text-decoration:none;
  font-size:14px;
  line-height:1.5;
  word-break:break-word;
}

#jaceo .JX-rowValue:hover{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:2px;
}

#jaceo .JX-rowValue--plain{
  text-decoration:none !important;
  color:rgba(255,255,255,.86);
}

/* ===== Actions ===== */
#jaceo .JX-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-top:10px;
}

#jaceo .JX-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 16px;
  border-radius:18px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
  border:0;
  outline:0;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform var(--jx-speed) ease, box-shadow var(--jx-speed) ease, filter var(--jx-speed) ease;
}

#jaceo .JX-btnText{
  position:relative;
  z-index:2;
}

#jaceo .JX-btnIcon{
  position:relative;
  z-index:2;
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
}

#jaceo .JX-btnIcon svg{
  width:18px;
  height:18px;
}

/* Primary: Blue with premium glow + scanline */
#jaceo .JX-btn--primary{
  background:linear-gradient(180deg, rgba(25,56,134,1) 0%, rgba(18,40,95,1) 100%);
  color:rgba(255,255,255,.96);
  box-shadow:0 18px 42px rgba(0,0,0,.35);
}

#jaceo .JX-btnGlow{
  position:absolute;
  inset:-2px;
  border-radius:20px;
  background:
    radial-gradient(420px 120px at 20% 0%, rgba(254,180,47,.20), transparent 60%),
    radial-gradient(420px 120px at 80% 100%, rgba(255,255,255,.08), transparent 60%);
  opacity:.85;
  z-index:1;
  pointer-events:none;
}

#jaceo .JX-btn--primary::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.12) 50%, transparent 100%);
  transform:translateX(-55%);
  opacity:.55;
  z-index:1;
  pointer-events:none;
}

#jaceo .JX-btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 62px rgba(0,0,0,.45);
  filter:saturate(1.03);
}

#jaceo .JX-btn--primary:hover::before{
  transform:translateX(55%);
  transition:transform .7s ease;
}

/* Secondary: Yellow minimal */
#jaceo .JX-btn--secondary{
  background:linear-gradient(180deg, rgba(254,180,47,1) 0%, rgba(245,169,30,1) 100%);
  color:rgba(0,0,0,.92);
  box-shadow:0 18px 40px rgba(0,0,0,.30);
}

#jaceo .JX-btn--secondary .JX-btnIcon{
  background:rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.14);
}

#jaceo .JX-btn--secondary:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 62px rgba(0,0,0,.40);
}

/* Focus states */
#jaceo .JX-btn:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(254,180,47,.20), 0 18px 40px rgba(0,0,0,.40);
}

/* Footer note */
#jaceo .JX-foot{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.66);
  font-size:13px;
  line-height:1.6;
}

#jaceo .JX-footRow{
  display:flex;
  align-items:center;
  gap:10px;
}

#jaceo .JX-footDot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(254,180,47,.70);
  box-shadow:0 0 0 6px rgba(254,180,47,.10);
}

/* Toast */
#jaceo .JX-toast{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(16px);
  opacity:0;
  pointer-events:none;
  z-index:9999;

  padding:12px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.60);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.88);
  font-size:13px;
  letter-spacing:.02em;
  backdrop-filter: blur(10px);
  box-shadow:0 18px 52px rgba(0,0,0,.55);
  transition:opacity var(--jx-speed) ease, transform var(--jx-speed) ease;
}

#jaceo .JX-toast.is-on{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* Motion respect */
@media (prefers-reduced-motion: reduce){
  #jaceo .JX-ping{ animation:none; }
  #jaceo .JX-card:hover::after{ transition:none; }
  #jaceo .JX-btn,
  #jaceo .JX-miniBtn,
  #jaceo .JX-row{ transition:none; }
}

/* Responsive */
@media (max-width:1100px){
  #jaceo .JX-grid2{
    grid-template-columns:1fr;
  }
  #jaceo .JX-card--info{
    min-height:auto;
  }
  #jaceo .JX-card--map{
    min-height:520px;
  }
}

@media (max-width:720px){
  #jaceo .JX-location{
    padding:110px 0 130px;
  }
  #jaceo .JX-wrap{
    padding-left:7%;
    padding-right:7%;
  }
  #jaceo .JX-title{
    font-size:40px;
  }
  #jaceo .JX-sub{
    font-size:16px;
  }
  #jaceo .JX-cardTop{
    padding:18px 18px 14px;
  }
  #jaceo .JX-cardBottom{
    padding:16px 18px 18px;
  }
  #jaceo .JX-card--info{
    padding:18px;
  }
  #jaceo .JX-mapFrame{
    min-height:320px;
  }
}

@media (max-width:420px){
  #jaceo .JX-title{
    font-size:34px;
  }
  #jaceo .JX-line{
    width:62px;
  }
  #jaceo .JX-cardTopRight{
    width:100%;
    justify-content:flex-start;
  }
  #jaceo .JX-miniBtn{
    width:100%;
    justify-content:center;
  }
}

/* ===== FIX DEFINITIVO 5% REAL ===== */

/* el wrap es el que manda el 5% */
#jaceo .JX-wrap{
  padding-left:5%;
  padding-right:5%;
}

/* el grid NO debe usar vw, ni auto-center, ni max-width */
#jaceo .JX-grid2{
  width:100%;
  max-width:none !important;
  margin:0 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b9ef35e *//* ======================================================================
   JACEO – WHAT WE DO (100% Encapsulated)
   Palette:
   Blue:   #193886
   Yellow: #FEB42F
====================================================================== */

/* ---------------------------------------------
   0) Root Tokens (scoped)
---------------------------------------------- */

#jaceo{
  --jx-blue:#193886;
  --jx-yellow:#FEB42F;

  --jx-bg:#ffffff;
  --jx-ink:#0c0f18;
  --jx-dim:rgba(12,15,24,.72);
  --jx-dimmer:rgba(12,15,24,.60);

  --jx-card:rgba(255,255,255,.86);
  --jx-card2:rgba(255,255,255,.70);

  --jx-line:rgba(12,15,24,.10);
  --jx-line2:rgba(12,15,24,.14);

  --jx-soft:rgba(12,15,24,.05);
  --jx-soft2:rgba(12,15,24,.07);

  --jx-shadow:0 20px 55px rgba(12,15,24,.10);
  --jx-shadow2:0 16px 40px rgba(12,15,24,.10);

  --jx-radius:22px;
  --jx-radius2:18px;

  --jx-font:Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --jx-head:Poppins, Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --jx-speed:.28s;
  --jx-speed2:.60s;

  --jx-max:1600px;
}

/* ---------------------------------------------
   1) Internal reset
---------------------------------------------- */
#jaceo *,
#jaceo *::before,
#jaceo *::after{
  box-sizing:border-box;
}

/* ---------------------------------------------
   2) Section base
---------------------------------------------- */
#jaceo .JX-WEDO{
  position:relative;
  width:100%;
  padding:120px 0 140px;
  background:var(--jx-bg);
  color:var(--jx-ink);
  font-family:var(--jx-font);
  overflow:hidden;
  isolation:isolate;
}

/* ---------------------------------------------
   3) Ambient visuals
---------------------------------------------- */
#jaceo .JX-WEDO__ambient{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

#jaceo .JX-WEDO__glow{
  position:absolute;
  filter:blur(52px);
  opacity:.55;
  transform:translateZ(0);
}

#jaceo .JX-WEDO__glow--a{
  width:620px;
  height:620px;
  left:-260px;
  top:-260px;
  background:radial-gradient(circle, rgba(25,56,134,.16), transparent 62%);
}

#jaceo .JX-WEDO__glow--b{
  width:640px;
  height:640px;
  right:-280px;
  top:120px;
  background:radial-gradient(circle, rgba(254,180,47,.18), transparent 62%);
}

#jaceo .JX-WEDO__glow--c{
  width:720px;
  height:720px;
  left:34%;
  bottom:-340px;
  background:radial-gradient(circle, rgba(25,56,134,.10), transparent 65%);
}

#jaceo .JX-WEDO__grid{
  position:absolute;
  inset:-2px;
  opacity:.20;
  background-image:
    linear-gradient(to right, rgba(12,15,24,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(12,15,24,.08) 1px, transparent 1px);
  background-size:78px 78px;
  mask-image:radial-gradient(circle at 35% 20%, rgba(0,0,0,1) 0%, rgba(0,0,0,.65) 50%, rgba(0,0,0,0) 78%);
}

#jaceo .JX-WEDO__noise{
  position:absolute;
  inset:0;
  opacity:.05;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size:240px 240px;
  mix-blend-mode:multiply;
}

/* ---------------------------------------------
   4) Wrap (5% REAL MARGINS)
---------------------------------------------- */
#jaceo .JX-WEDO__wrap{
  position:relative;
  z-index:2;
  width:100%;
  padding-left:5%;
  padding-right:5%;
}

/* ---------------------------------------------
   5) Header
---------------------------------------------- */
#jaceo .JX-WEDO__head{
  max-width:920px;
  margin:0 0 58px;
}

#jaceo .JX-WEDO__kicker{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

#jaceo .JX-WEDO__line{
  width:78px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--jx-yellow), rgba(254,180,47,.35));
  box-shadow:0 14px 30px rgba(254,180,47,.18);
}

#jaceo .JX-WEDO__pill{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(12,15,24,.04);
  border:1px solid rgba(12,15,24,.10);
  color:rgba(12,15,24,.70);
}

#jaceo .JX-WEDO__title{
  font-family:var(--jx-head);
  font-size:54px;
  line-height:1.04;
  margin:0 0 14px;
  font-weight:900;
  letter-spacing:-.02em;
}

#jaceo .JX-WEDO__sub{
  margin:0;
  font-size:18px;
  line-height:1.75;
  color:var(--jx-dim);
}

/* =====================================================
   WHAT WE DO – TITLE COLOR FIX (BLUE)
===================================================== */

/* Título principal */
#jaceo .JX-WEDO__title{
  color: var(--jx-blue);
}

/* Títulos de las cards */
#jaceo .JX-WEDO__h3{
  color: var(--jx-blue);
}


/* ---------------------------------------------
   6) Grid of cards
---------------------------------------------- */
#jaceo .JX-WEDO__grid4{
  width:100%;
  margin:0;           /* no auto center => respects 5% wrap */
  max-width:none;     /* no max width to break 5% rule */
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:26px;
}

/* ---------------------------------------------
   7) Card base (ALL identical)
---------------------------------------------- */
#jaceo .JX-WEDO__card{
  position:relative;
  border-radius:var(--jx-radius);
  background:linear-gradient(180deg, var(--jx-card), var(--jx-card2));
  border:1px solid rgba(12,15,24,.10);
  box-shadow:var(--jx-shadow);
  padding:28px 24px 22px;

  display:flex;
  flex-direction:column;

  min-height:360px;   /* symmetric height */
  overflow:hidden;
  transform:translateZ(0);

  transition:
    transform var(--jx-speed) ease,
    box-shadow var(--jx-speed) ease,
    border-color var(--jx-speed) ease;
}

#jaceo .JX-WEDO__card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(520px 240px at 12% 8%, rgba(25,56,134,.10), transparent 60%),
    radial-gradient(520px 240px at 92% 100%, rgba(254,180,47,.12), transparent 60%);
  opacity:.95;
  pointer-events:none;
}

#jaceo .JX-WEDO__card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(12,15,24,.05) 50%, transparent 100%);
  transform:translateX(-45%);
  opacity:.28;
  pointer-events:none;
}

/* card hover (allowed on cards) */
#jaceo .JX-WEDO__card:hover{
  transform:translateY(-6px);
  box-shadow:var(--jx-shadow2);
  border-color:rgba(25,56,134,.18);
}

#jaceo .JX-WEDO__card:hover::after{
  transform:translateX(45%);
  transition:transform .75s ease;
}

/* ---------------------------------------------
   8) Card Top
---------------------------------------------- */
#jaceo .JX-WEDO__cardTop{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  min-height:54px; /* helps align titles */
}

#jaceo .JX-WEDO__icon{
  width:46px;
  height:46px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;

  color:var(--jx-blue);

  background:rgba(25,56,134,.08);
  border:1px solid rgba(25,56,134,.16);
  flex:0 0 auto;
}

#jaceo .JX-WEDO__icon svg{
  width:20px;
  height:20px;
  display:block;
}

/* ---------------------------------------------
   9) Card Title
---------------------------------------------- */
#jaceo .JX-WEDO__h3{
  margin:0;
  font-family:var(--jx-head);
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.01em;
}

/* ---------------------------------------------
   10) Card Text (SYMMETRY CONTROL)
---------------------------------------------- */
/* ===============================
   CARD TEXT – NO CUT, SYMMETRIC
================================= */

#jaceo .JX-WEDO__card{
  display:flex;
  flex-direction:column;
  min-height:360px; /* altura base igual para todas */
}

#jaceo .JX-WEDO__text{
  flex:1;                 /* empuja los tags abajo */
  margin:0 0 16px;
  font-size:15px;
  line-height:1.7;
  color:var(--jx-dimmer);

  /* IMPORTANTE: NO cortar texto */
  overflow:visible;
}

/* ---------------------------------------------
   11) Divider
---------------------------------------------- */
#jaceo .JX-WEDO__divider{
  position:relative;
  z-index:2;
  height:1px;
  background:rgba(12,15,24,.10);
  margin:0 0 16px;
}

/* ---------------------------------------------
   12) Tags
---------------------------------------------- */
#jaceo .JX-WEDO__tags{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto; /* keep at bottom */
}

#jaceo .JX-WEDO__tag{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(12,15,24,.62);

  padding:8px 10px;
  border-radius:999px;

  background:rgba(255,255,255,.72);
  border:1px solid rgba(12,15,24,.10);
}

/* ---------------------------------------------
   13) Bottom area: sectors + CTA
---------------------------------------------- */
#jaceo .JX-WEDO__bottom{
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid rgba(12,15,24,.10);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

/* sectors: NOT buttons, NO hover */
#jaceo .JX-WEDO__sectors{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  color:rgba(12,15,24,.78);
  font-weight:800;
  letter-spacing:.02em;
}

#jaceo .JX-WEDO__sector{
  position:relative;
  padding-left:16px;
  font-size:14px;
}

#jaceo .JX-WEDO__sector::before{
  content:"■";
  position:absolute;
  left:0;
  top:0;
  color:var(--jx-yellow);
  transform:translateY(1px);
}

/* explicitly remove hover feel */
#jaceo .JX-WEDO__sector{
  cursor:default;
}
#jaceo .JX-WEDO__sector:hover{
  text-decoration:none;
}

/* ---------------------------------------------
   14) CTA (premium, contained sheen)
---------------------------------------------- */
#jaceo .JX-WEDO__cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  text-decoration:none;

  padding:14px 16px;
  border-radius:18px;

  background:linear-gradient(180deg, rgba(254,180,47,1), rgba(245,169,30,1));
  color:rgba(0,0,0,.92);

  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;

  border:1px solid rgba(12,15,24,.10);
  box-shadow:0 18px 44px rgba(12,15,24,.12);

  overflow:hidden; /* CLIPS sheen */
  transition:transform var(--jx-speed) ease, box-shadow var(--jx-speed) ease;
}

#jaceo .JX-WEDO__cta:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 62px rgba(12,15,24,.16);
}

#jaceo .JX-WEDO__ctaText{
  position:relative;
  z-index:2;
}

#jaceo .JX-WEDO__ctaIcon{
  position:relative;
  z-index:2;
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.12);
}

#jaceo .JX-WEDO__ctaIcon svg{
  width:18px;
  height:18px;
}

#jaceo .JX-WEDO__ctaSheen{
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.40) 50%, transparent 100%);
  transform:translateX(-55%);
  opacity:.80;
  pointer-events:none;
}

#jaceo .JX-WEDO__cta:hover .JX-WEDO__ctaSheen{
  transform:translateX(55%);
  transition:transform .75s ease;
}

/* focus */
#jaceo .JX-WEDO__cta:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(254,180,47,.22), 0 18px 44px rgba(12,15,24,.12);
}

/* ---------------------------------------------
   15) Responsive
---------------------------------------------- */
@media (max-width:1200px){
  #jaceo .JX-WEDO__grid4{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:720px){
  #jaceo .JX-WEDO{
    padding:110px 0 130px;
  }

  #jaceo .JX-WEDO__wrap{
    padding-left:7%;
    padding-right:7%;
  }

  #jaceo .JX-WEDO__title{
    font-size:42px;
  }

  #jaceo .JX-WEDO__sub{
    font-size:16px;
  }

  #jaceo .JX-WEDO__grid4{
    grid-template-columns:1fr;
    gap:18px;
  }

  #jaceo .JX-WEDO__bottom{
    align-items:flex-start;
  }

  #jaceo .JX-WEDO__cta{
    width:100%;
  }
}

/* ---------------------------------------------
   16) Reduced motion
---------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  #jaceo .JX-WEDO__card,
  #jaceo .JX-WEDO__cta{
    transition:none;
  }
  #jaceo .JX-WEDO__card:hover{
    transform:none;
  }
  #jaceo .JX-WEDO__cta:hover{
    transform:none;
  }
  #jaceo .JX-WEDO__card:hover::after{
    transition:none;
  }
  #jaceo .JX-WEDO__cta:hover .JX-WEDO__ctaSheen{
    transition:none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f2fe8c6 *//* =========================================================
   JACEO – CTA ULTRA PREMIUM (ENCAPSULATED)
   Palette: Blue #193886 | Yellow #FEB42F
   5% Real margins rule
========================================================= */

/* =========================================
   REMOVE DEFAULT DOT — ICONS ONLY
========================================= */

/* =========================================
   FIX ICON SIZE — CTA BUTTONS
========================================= */

#jaceo .JX-CTA__btn i{
  width:34px;
  height:34px;
}

#jaceo .JX-CTA__btn i svg{
  width:18px;
  height:18px;
  display:block;
}



#jaceo .JX-CTA__btn i::before{
  display:none;
  content:none;
}

#jaceo{
  --jx-blue:#193886;
  --jx-yellow:#FEB42F;

  --jx-bg:#ffffff;
  --jx-ink:#0c0f18;
  --jx-dim:rgba(12,15,24,.74);
  --jx-dimmer:rgba(12,15,24,.62);

  --jx-card:#ffffff;
  --jx-soft:#f4f6fb;
  --jx-line:rgba(12,15,24,.10);

  --jx-shadow:0 24px 70px rgba(12,15,24,.12);
  --jx-shadow2:0 18px 50px rgba(12,15,24,.10);

  --jx-radius:22px;
  --jx-radius2:18px;

  --jx-font:Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --jx-head:Poppins, Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --jx-speed:.28s;
  --jx-speed2:.65s;
}

/* Internal reset */
#jaceo *{ box-sizing:border-box; }
#jaceo *::before,
#jaceo *::after{ box-sizing:border-box; }

/* Section */
#jaceo .JX-CTA{
  position:relative;
  width:100%;
  padding:120px 0 140px;
  background:
    radial-gradient(900px 460px at 15% 20%, rgba(25,56,134,.08), transparent 60%),
    radial-gradient(900px 460px at 85% 70%, rgba(254,180,47,.10), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7f9ff 56%, #ffffff 100%);
  font-family:var(--jx-font);
  color:var(--jx-ink);
  overflow:hidden;
  isolation:isolate;
}

/* 5% wrap */
#jaceo .JX-CTA__wrap{
  width:100%;
  padding-left:5%;
  padding-right:5%;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
  position:relative;
  z-index:2;
}

/* =========================================================
   LEFT COLLAGE (premium layering)
========================================================= */
#jaceo .JX-CTA__collage{
  position:relative;
  min-height:560px;
  border-radius:var(--jx-radius);
}

/* Ambient */
#jaceo .JX-CTA__glow{
  position:absolute;
  filter:blur(54px);
  opacity:.60;
  pointer-events:none;
  transform:translateZ(0);
}
#jaceo .JX-CTA__glow.g1{
  width:560px; height:560px;
  left:-220px; top:-240px;
  background:radial-gradient(circle, rgba(25,56,134,.18), transparent 62%);
}
#jaceo .JX-CTA__glow.g2{
  width:620px; height:620px;
  right:-260px; bottom:-260px;
  background:radial-gradient(circle, rgba(254,180,47,.22), transparent 62%);
}
#jaceo .JX-CTA__grid{
  position:absolute;
  inset:0;
  opacity:.22;
  background-image:
    linear-gradient(to right, rgba(12,15,24,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(12,15,24,.08) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(circle at 40% 35%, rgba(0,0,0,1) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,0) 80%);
  pointer-events:none;
}

/* Image cards */
#jaceo .JX-CTA__imgCard{
  position:absolute;
  border-radius:26px;
  overflow:hidden;
  background:var(--jx-soft);
  box-shadow:var(--jx-shadow);
  border:1px solid rgba(12,15,24,.10);
  transform:translateZ(0);
}
#jaceo .JX-CTA__imgCard::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(700px 240px at 20% 10%, rgba(254,180,47,.12), transparent 60%),
    radial-gradient(700px 240px at 92% 92%, rgba(25,56,134,.10), transparent 62%);
  opacity:.95;
  pointer-events:none;
}
#jaceo .JX-CTA__imgCard img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.03);
}

/* placements */
#jaceo .JX-CTA__imgCard.img1{
  left:0;
  top:0;
  width:60%;
  height:62%;
}
#jaceo .JX-CTA__imgCard.img2{
  right:0;
  bottom:0;
  width:58%;
  height:60%;
}

/* Stats */
#jaceo .JX-CTA__stat{
  position:absolute;
  min-width:240px;
  border-radius:18px;
  padding:18px 18px 16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(12,15,24,.10);
  box-shadow:0 20px 55px rgba(12,15,24,.14);
  backdrop-filter: blur(10px);
  overflow:hidden;
}
#jaceo .JX-CTA__stat::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg, rgba(255,255,255,.0), rgba(255,255,255,.42), rgba(255,255,255,.0));
  opacity:.22;
  transform:translateX(-45%);
  pointer-events:none;
}
#jaceo .JX-CTA__chip{
  position:absolute;
  top:14px;
  right:14px;
  width:12px;
  height:12px;
  border-radius:4px;
  background:var(--jx-yellow);
  box-shadow:0 10px 22px rgba(254,180,47,.26);
}
#jaceo .JX-CTA__stat.s2 .JX-CTA__chip{
  background:var(--jx-blue);
  box-shadow:0 10px 22px rgba(25,56,134,.22);
}
#jaceo .JX-CTA__big{
  font-family:var(--jx-head);
  font-weight:900;
  color:var(--jx-blue);
  font-size:34px;
  line-height:1.05;
  margin:0;
}
#jaceo .JX-CTA__label{
  margin-top:8px;
  color:rgba(12,15,24,.80);
  font-size:14px;
  line-height:1.45;
}

/* stat positions */
#jaceo .JX-CTA__stat.s1{ left:18px; bottom:46px; }
#jaceo .JX-CTA__stat.s2{ right:26px; top:46px; }

/* =========================================================
   RIGHT CARD
========================================================= */
#jaceo .JX-CTA__card{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(12,15,24,.10);
  box-shadow:0 22px 60px rgba(12,15,24,.10);
  border-radius:var(--jx-radius);
  padding:56px;
  position:relative;
  overflow:hidden;
}
#jaceo .JX-CTA__card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 300px at 20% 0%, rgba(254,180,47,.10), transparent 60%),
    radial-gradient(900px 300px at 100% 90%, rgba(25,56,134,.08), transparent 62%);
  opacity:.9;
  pointer-events:none;
}
#jaceo .JX-CTA__kicker{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
#jaceo .JX-CTA__line{
  width:72px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--jx-yellow), rgba(254,180,47,.32));
}
#jaceo .JX-CTA__pill{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(12,15,24,.72);
  border:1px solid rgba(12,15,24,.10);
  background:rgba(12,15,24,.04);
  padding:8px 12px;
  border-radius:999px;
}
#jaceo .JX-CTA__title{
  position:relative;
  z-index:2;
  font-family:var(--jx-head);
  font-size:44px;
  line-height:1.12;
  margin:0 0 14px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--jx-blue);
}
#jaceo .JX-CTA__sub{
  position:relative;
  z-index:2;
  margin:0 0 24px;
  font-size:18px;
  line-height:1.75;
  color:rgba(12,15,24,.74);
  max-width:560px;
}

/* bullets */
#jaceo .JX-CTA__bullets{
  position:relative;
  z-index:2;
  display:grid;
  gap:12px;
  margin-bottom:34px;
}
#jaceo .JX-CTA__bullets div{
  display:flex;
  gap:12px;
  font-size:16px;
  line-height:1.6;
  color:rgba(12,15,24,.78);
}
#jaceo .JX-CTA__bullets div::before{
  content:"■";
  color:var(--jx-yellow);
  font-size:12px;
  margin-top:3px;
}

/* actions */
#jaceo .JX-CTA__actions{
  position:relative;
  z-index:2;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

/* Buttons (premium sheen clipped, no overflow) */
#jaceo .JX-CTA__btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-radius:18px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
  border:0;
  cursor:pointer;
  overflow:hidden;
  transition:transform var(--jx-speed) ease, box-shadow var(--jx-speed) ease, filter var(--jx-speed) ease;
}
#jaceo .JX-CTA__btn span{ position:relative; z-index:2; }
#jaceo .JX-CTA__btn i{
  position:relative;
  z-index:2;
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
}
#jaceo .JX-CTA__btn i::before{
  content:"";
  width:10px; height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 0 0 6px rgba(255,255,255,.10);
}
#jaceo .JX-CTA__btn::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.40) 50%, transparent 100%);
  transform:translateX(-55%);
  opacity:.70;
  pointer-events:none;
}

/* primary */
#jaceo .JX-CTA__btn.primary{
  background:linear-gradient(180deg, rgba(25,56,134,1), rgba(18,40,95,1));
  color:#fff;
  box-shadow:0 22px 60px rgba(12,15,24,.18);
}
#jaceo .JX-CTA__btn.primary i{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
}

/* secondary */
#jaceo .JX-CTA__btn.secondary{
  background:linear-gradient(180deg, rgba(254,180,47,1), rgba(245,169,30,1));
  color:rgba(0,0,0,.92);
  box-shadow:0 22px 60px rgba(12,15,24,.14);
}
#jaceo .JX-CTA__btn.secondary i{
  background:rgba(0,0,0,.10);
  border-color:rgba(0,0,0,.14);
}
#jaceo .JX-CTA__btn.secondary i::before{
  background:rgba(0,0,0,.92);
  box-shadow:0 0 0 6px rgba(0,0,0,.10);
}

@media (hover:hover){
  #jaceo .JX-CTA__btn:hover{
    transform:translateY(-2px);
    filter:saturate(1.02);
  }
  #jaceo .JX-CTA__btn:hover::after{
    transform:translateX(55%);
    transition:transform .75s ease;
  }
}

/* foot */
#jaceo .JX-CTA__foot{
  position:relative;
  z-index:2;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(12,15,24,.10);
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:rgba(12,15,24,.64);
  font-size:13px;
  line-height:1.6;
}
#jaceo .JX-CTA__foot .dot{
  width:8px; height:8px;
  border-radius:999px;
  background:rgba(254,180,47,.95);
  box-shadow:0 0 0 6px rgba(254,180,47,.12);
  margin-top:4px;
  flex:0 0 auto;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1100px){
  #jaceo .JX-CTA__wrap{
    grid-template-columns:1fr;
    gap:48px;
  }
  #jaceo .JX-CTA__collage{
    min-height:520px;
  }
}

@media(max-width:720px){
  #jaceo .JX-CTA{
    padding:110px 0 130px;
  }
  #jaceo .JX-CTA__wrap{
    padding-left:7%;
    padding-right:7%;
  }
  #jaceo .JX-CTA__card{
    padding:42px 26px;
  }
  #jaceo .JX-CTA__title{
    font-size:36px;
  }
  #jaceo .JX-CTA__sub{
    font-size:16px;
  }
  #jaceo .JX-CTA__btn{
    width:100%;
  }
  #jaceo .JX-CTA__stat{
    min-width:210px;
  }
}

@media(max-width:520px){
  #jaceo .JX-CTA__imgCard.img1,
  #jaceo .JX-CTA__imgCard.img2{
    position:relative;
    width:100%;
    height:240px;
    left:auto; right:auto; top:auto; bottom:auto;
    margin-bottom:14px;
  }
  #jaceo .JX-CTA__collage{
    min-height:auto;
  }
  #jaceo .JX-CTA__stat{
    position:relative;
    left:auto; right:auto; top:auto; bottom:auto;
    width:100%;
    margin-top:12px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  #jaceo .JX-CTA__btn,
  #jaceo .JX-CTA__btn::after{
    transition:none !important;
  }
  #jaceo .JX-CTA__btn:hover{
    transform:none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b3ea30e *//* =====================================================
   JACEO – FAQ FINAL RESTRUCTURED
===================================================== */

#jaceo{
  --blue:#193886;
  --yellow:#feb42f;
  --bg1:#0b1536;
  --bg2:#070f28;
  --text:#ffffff;
  --muted:#cbd3e6;
  --line:rgba(255,255,255,.1);
}

/* Reset */
#jaceo *{ box-sizing:border-box; }

/* ================= SECTION ================= */

#jaceo .faq-section{
  min-height:100vh;
  padding:90px 5%;
  background:linear-gradient(180deg,var(--bg1),var(--bg2));
  color:var(--text);
  display:flex;
  align-items:center;
}

#jaceo .faq-container{
  width:100%;
  max-width:1800px;
  margin:auto;
}

/* ================= HEADER ================= */

#jaceo .faq-head{
  max-width:900px;
  margin-bottom:70px;
}

#jaceo .faq-head .line{
  display:block;
  width:90px;
  height:4px;
  background:var(--yellow);
  margin-bottom:26px;
}

#jaceo .faq-head h2{
  font-size:56px;
  font-weight:900;
  margin-bottom:18px;
}

#jaceo .faq-head p{
  font-size:20px;
  line-height:1.7;
  color:var(--muted);
}

/* ================= BODY ================= */

#jaceo .faq-body{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:80px;
}

/* ================= QUESTIONS ================= */

#jaceo .faq-questions{
  border-top:1px solid var(--line);
}

#jaceo .faq-q{
  all:unset;
  display:block;
  width:100%;
  padding:26px 0 26px 22px;
  border-bottom:1px solid var(--line);
  cursor:pointer;
  font-size:17px;
  color:var(--muted);
  position:relative;
  transition:.25s ease;
}

#jaceo .faq-q::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:100%;
  background:transparent;
  transition:.25s ease;
}

#jaceo .faq-q:hover{
  color:#fff;
}

#jaceo .faq-q.active{
  color:#fff;
  font-weight:700;
}

#jaceo .faq-q.active::before{
  background:var(--yellow);
}

/* ================= ANSWER ================= */

#jaceo .faq-answer{
  background:linear-gradient(180deg,#0f255f,#0b1c45);
  border-left:4px solid var(--yellow);
  padding:0;
  display:flex;
}

#jaceo .faq-answer-inner{
  padding:64px 72px;
  max-width:900px;
  transition:opacity .25s ease;
}

#jaceo .faq-answer-inner h3{
  font-size:32px;
  font-weight:900;
  margin-bottom:26px;
}

#jaceo .faq-answer-inner p{
  font-size:18px;
  line-height:1.85;
  color:var(--muted);
}

/* ================= RESPONSIVE ================= */

@media(max-width:1200px){
  #jaceo .faq-body{
    grid-template-columns:1fr;
    gap:50px;
  }

  #jaceo .faq-answer-inner{
    padding:48px 36px;
  }
}/* End custom CSS */