.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-101117 .elementor-element.elementor-element-6a337c90 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-101117 .elementor-element.elementor-element-524fbd8c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-101117 .elementor-element.elementor-element-1436ae55 .elementor-button-content-wrapper{flex-direction:row-reverse;}/* Start custom CSS for section, class: .elementor-element-1e92fbed *//* ==========================================================================
   IPO · HOJA DE ESTILOS
   Los bloques van en widgets HTML; los CTA y las fotos de los bonus son
   widgets nativos de Elementor. Este archivo lo viste todo.

   No hace falta poner clases a mano: el CSS reconoce cada sección solo.

   DÓNDE PEGARLO
   Elementor → Ajustes del sitio → CSS personalizado
   (o Apariencia → Personalizar → CSS adicional)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bebas+Neue&display=swap');

/* ==========================================================================
   BLOQUE 1 · HERO
   ========================================================================== */

.ipo-hero,
.elementor-section.ipo-hero,
.elementor-section:has(.ih-head),
.e-con.ipo-hero,
.e-con:has(.ih-head){
  --blue:#3D87F9;
  --blue-hi:#7FB2FF;
  --blue-soft:#98C0FF;
  --edge:rgba(61,135,249,.42);
  --green:#1FD800;
  --green-hi:#2BFF0A;
  --white:#FFFFFF;
  --muted:#D6E4F7;

  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--white);
  padding:clamp(26px,2.8vw,48px) clamp(16px,4vw,56px) clamp(32px,3.4vw,58px);
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(124% 92% at 50% 6%, #062051 0%, #01113C 32%, #00082E 62%, #00041D 88%, #00041D 100%);
}
.ih-head,.ih-head *,.ih-head *::before,.ih-head *::after,
.ih-foot,.ih-foot *,.ih-foot *::before,.ih-foot *::after{box-sizing:border-box;}

.elementor-section:has(.ih-head) .elementor-container,
.elementor-section:has(.ih-head) .elementor-column,
.elementor-section:has(.ih-head) .elementor-widget-wrap,
.elementor-section:has(.ih-head) .elementor-widget-html,
.elementor-section:has(.ih-head) .elementor-widget-html > .elementor-widget-container{
  position:static;
}
.elementor-section:has(.ih-head) .elementor-widget{margin:0;}
.elementor-section:has(.ih-head) .elementor-widget:not(:last-child){margin-bottom:0;}

/* ---------- CAPAS DE FONDO ---------- */
.ih-dots{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(120,175,255,.22) 1px,transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:radial-gradient(120% 76% at 50% 32%,#000 20%,transparent 72%);
          mask-image:radial-gradient(120% 76% at 50% 32%,#000 20%,transparent 72%);
  opacity:.5;
}
.ih-arcs{
  position:absolute;left:-12%;top:-34%;width:48%;aspect-ratio:1;z-index:0;
  pointer-events:none;opacity:.36;
  background:
    radial-gradient(closest-side,transparent 61%,rgba(120,175,255,.30) 61.4%,transparent 62.4%),
    radial-gradient(closest-side,transparent 73%,rgba(120,175,255,.20) 73.4%,transparent 74.4%),
    radial-gradient(closest-side,transparent 86%,rgba(120,175,255,.14) 86.4%,transparent 87.4%);
}
.ih-chart{
  position:absolute;right:-2%;top:2%;width:30%;height:58%;z-index:0;
  pointer-events:none;opacity:.26;
  background:repeating-linear-gradient(90deg,rgba(140,190,255,.16) 0 3px,transparent 3px 30px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 50%,#000 84%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 50%,#000 84%,transparent);
}
.ih-waves{
  position:absolute;left:-6%;right:-6%;bottom:-6%;height:46%;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 120% at 18% 118%, rgba(43,111,224,.5), transparent 62%),
    radial-gradient(70% 120% at 78% 122%, rgba(43,111,224,.38), transparent 62%),
    radial-gradient(90% 130% at 50% 135%, rgba(2,23,108,.8), transparent 60%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);
          mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);
}
.ih-waves::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(150,195,255,.55) 1px,transparent 1px);
  background-size:14px 14px;
  -webkit-mask-image:radial-gradient(85% 100% at 50% 112%,#000 25%,transparent 68%);
          mask-image:radial-gradient(85% 100% at 50% 112%,#000 25%,transparent 68%);
  opacity:.55;
}

/* ---------- CEREBRO (widget Imagen, encima de la pastilla) ---------- */
.ih-brain{
  position:relative;z-index:2;
  text-align:center;
  margin-bottom:clamp(10px,1.2vw,22px) !important;
}
.ih-brain img{
  display:block;margin:0 auto;
  width:clamp(124px,12.5vw,200px);
  height:auto;
  filter:drop-shadow(0 0 26px rgba(61,135,249,.55))
         drop-shadow(0 0 62px rgba(61,135,249,.28));
}

/* ---------- CABECERA ---------- */
.ih-head{
  position:relative;z-index:2;
  max-width:1500px;margin:0 auto;
  text-align:center;
}
.ih-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12px,1.02vw,17px);
  letter-spacing:.12em;line-height:1.2;
  color:var(--blue-soft);
  border:1px solid var(--edge);
  background:rgba(4,16,46,.7);
  border-radius:999px;
  padding:clamp(6px,.6vw,9px) clamp(14px,1.3vw,22px);
  box-shadow:0 0 22px rgba(61,135,249,.22);
}
.ih-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--blue-hi);box-shadow:0 0 10px 2px rgba(127,178,255,.9);
}
.ih-title{
  margin:clamp(18px,1.9vw,30px) 0 0;
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-weight:400;text-transform:uppercase;
  letter-spacing:.012em;line-height:1.05;
  font-size:clamp(26px,3.3vw,56px);
  color:var(--white);
  text-shadow:0 0 26px rgba(61,135,249,.5);
}
.ih-title > span{display:block;}
.ih-title .ih-hot{
  color:var(--white);
  text-shadow:0 0 56px rgba(61,135,249,.85),0 0 26px rgba(61,135,249,.5),0 0 16px rgba(255,255,255,.28);
}
.ih-sub{
  margin:clamp(9px,1vw,16px) 0 0;
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.06em;
  font-size:clamp(16px,1.75vw,31px);
  color:var(--blue-soft);
  text-shadow:0 0 20px rgba(127,178,255,.5);
}
.ih-rule{
  width:clamp(90px,10vw,170px);height:1px;margin:clamp(18px,2vw,30px) auto 0;
  background:linear-gradient(90deg,transparent,rgba(120,175,255,.6) 20%,rgba(120,175,255,.6) 80%,transparent);
}
.ih-lead{
  margin:clamp(18px,1.9vw,28px) auto 0;
  max-width:80ch;
  font-size:clamp(13.5px,1.08vw,18.5px);
  line-height:1.68;color:var(--muted);
}
.ih-lead b{color:#EAF2FF;font-weight:700;}
.ih-nodes{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:clamp(9px,1vw,16px);margin:clamp(20px,2.2vw,32px) 0 0;
}
.ih-node{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12px,1.02vw,17px);letter-spacing:.055em;
  color:#DCE9FF;
  border:1px solid var(--edge);
  background:linear-gradient(168deg,rgba(3,16,52,.55),rgba(0,6,22,.82));
  border-radius:12px;
  padding:clamp(8px,.85vw,13px) clamp(13px,1.3vw,21px);
  box-shadow:0 0 24px rgba(43,111,224,.16);
}
.ih-node svg{width:15px;height:15px;flex:none;filter:drop-shadow(0 0 8px rgba(61,135,249,.7));}

/* ---------- CTA del hero ---------- */
.ih-cta,
.elementor-section:has(.ih-head) .elementor-widget-button{
  position:relative;z-index:2;
  margin-top:clamp(24px,2.6vw,40px);
  text-align:center;
}
.ih-cta .elementor-button,
.elementor-section:has(.ih-head) .elementor-widget-button .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;
  gap:clamp(12px,1.3vw,20px);
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;
  font-size:clamp(19px,2vw,36px);
  color:#0C2B00;text-decoration:none;
  padding:clamp(13px,1.25vw,21px) clamp(30px,3.2vw,62px);
  border-radius:999px;
  background:linear-gradient(180deg,var(--green-hi),var(--green) 55%,#17A800);
  border:1px solid rgba(140,255,110,.7);
  box-shadow:0 8px 22px rgba(0,0,0,.38), inset 0 -3px 0 rgba(0,0,0,.22), inset 0 2px 0 rgba(255,255,255,.4);
  transition:box-shadow .25s ease,transform .25s ease;
}
.ih-cta .elementor-button:hover,
.elementor-section:has(.ih-head) .elementor-widget-button .elementor-button:hover{
  color:#0C2B00;transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.46), inset 0 -3px 0 rgba(0,0,0,.22), inset 0 2px 0 rgba(255,255,255,.45);
}

/* ---------- PIE ---------- */
.ih-foot{position:relative;z-index:2;text-align:center;}
.ih-note{
  display:block;margin:clamp(11px,1.1vw,17px) 0 0;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12px,.98vw,16px);letter-spacing:.08em;color:var(--blue-soft);
}
@media (max-width:1000px){
  .ih-chart{display:none;}
  .ih-arcs{width:66%;top:-24%;left:-20%;}
}
@media (max-width:680px){
  .ipo-hero,
  .elementor-section.ipo-hero,
  .elementor-section:has(.ih-head),
  .e-con.ipo-hero,
  .e-con:has(.ih-head){padding:clamp(24px,5.5vw,38px) 16px clamp(28px,6vw,42px);}
  .ih-title{font-size:clamp(28px,7.4vw,40px);}
  .ih-lead{font-size:clamp(13.5px,3.5vw,16px);}
}
@media (max-width:620px){
  .ih-nodes{flex-direction:column;align-items:stretch;}
  .ih-node{justify-content:center;}
  .ih-cta .elementor-button,
  .elementor-section:has(.ih-head) .elementor-widget-button .elementor-button{width:100%;padding-inline:16px;}
}
@media (prefers-reduced-motion:reduce){
  .ih-cta .elementor-button,
  .elementor-section:has(.ih-head) .elementor-widget-button .elementor-button{transition:none;}
  .elementor-section:has(.ih-head) .elementor-widget-button .elementor-button:hover{transform:none;}
}


/* ==========================================================================
   BLOQUES 2 a 6
   ========================================================================== */

.elementor-section:has(.ipo-s2),
.elementor-section.ipo-s2,
.e-con:has(.ipo-s2),
.e-con.ipo-s2,
.elementor-section:has(.ipo-s3),
.elementor-section.ipo-s3,
.e-con:has(.ipo-s3),
.e-con.ipo-s3,
.elementor-section:has(.ipo-s4),
.elementor-section.ipo-s4,
.e-con:has(.ipo-s4),
.e-con.ipo-s4,
.elementor-section:has(.ipo-s5),
.elementor-section.ipo-s5,
.e-con:has(.ipo-s5),
.e-con.ipo-s5,
.elementor-section:has(.ipo-s6),
.elementor-section.ipo-s6,
.e-con:has(.ipo-s6),
.e-con.ipo-s6{
  --blue:#3D87F9;
  --blue-hi:#7FB2FF;
  --blue-soft:#98C0FF;
  --edge:rgba(61,135,249,.42);
  --green:#1FD800;
  --green-hi:#2BFF0A;
  --white:#FFFFFF;
  --muted:#D6E4F7;

  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--white);
  font-family:Arial,Helvetica,sans-serif;
  padding:clamp(34px,3.6vw,68px) clamp(16px,4vw,56px);
}

.elementor-section:has(.ipo-s2),
.elementor-section.ipo-s2,
.e-con:has(.ipo-s2),
.e-con.ipo-s2{background:linear-gradient(180deg,#00041D 0%,#00041D 12%,#010A2C 48%,#03123F 88%,#03123F 100%);}
.elementor-section:has(.ipo-s3),
.elementor-section.ipo-s3,
.e-con:has(.ipo-s3),
.e-con.ipo-s3{background:linear-gradient(180deg,#03123F 0%,#03123F 12%,#010B2E 50%,#000722 88%,#000722 100%);}
.elementor-section:has(.ipo-s4),
.elementor-section.ipo-s4,
.e-con:has(.ipo-s4),
.e-con.ipo-s4{background:linear-gradient(180deg,#000722 0%,#000722 12%,#000C2B 50%,#001132 88%,#001132 100%);}
.elementor-section:has(.ipo-s5),
.elementor-section.ipo-s5,
.e-con:has(.ipo-s5),
.e-con.ipo-s5{background:linear-gradient(180deg,#001132 0%,#001132 12%,#03204F 54%,#062051 88%,#062051 100%);}
.elementor-section:has(.ipo-s6),
.elementor-section.ipo-s6,
.e-con:has(.ipo-s6),
.e-con.ipo-s6{background:radial-gradient(126% 104% at 50% -6%, #062051 0%, #062051 10%, #01113C 38%, #00082E 68%, #00041D 100%);}

.elementor-section:has(.ipo-s2) .elementor-container,
.elementor-section.ipo-s2 .elementor-container,
.e-con:has(.ipo-s2) .elementor-container,
.e-con.ipo-s2 .elementor-container,
.elementor-section:has(.ipo-s3) .elementor-container,
.elementor-section.ipo-s3 .elementor-container,
.e-con:has(.ipo-s3) .elementor-container,
.e-con.ipo-s3 .elementor-container,
.elementor-section:has(.ipo-s4) .elementor-container,
.elementor-section.ipo-s4 .elementor-container,
.e-con:has(.ipo-s4) .elementor-container,
.e-con.ipo-s4 .elementor-container,
.elementor-section:has(.ipo-s5) .elementor-container,
.elementor-section.ipo-s5 .elementor-container,
.e-con:has(.ipo-s5) .elementor-container,
.e-con.ipo-s5 .elementor-container,
.elementor-section:has(.ipo-s6) .elementor-container,
.elementor-section.ipo-s6 .elementor-container,
.e-con:has(.ipo-s6) .elementor-container,
.e-con.ipo-s6 .elementor-container,
.elementor-section:has(.ipo-s2) .elementor-column,
.elementor-section.ipo-s2 .elementor-column,
.e-con:has(.ipo-s2) .elementor-column,
.e-con.ipo-s2 .elementor-column,
.elementor-section:has(.ipo-s3) .elementor-column,
.elementor-section.ipo-s3 .elementor-column,
.e-con:has(.ipo-s3) .elementor-column,
.e-con.ipo-s3 .elementor-column,
.elementor-section:has(.ipo-s4) .elementor-column,
.elementor-section.ipo-s4 .elementor-column,
.e-con:has(.ipo-s4) .elementor-column,
.e-con.ipo-s4 .elementor-column,
.elementor-section:has(.ipo-s5) .elementor-column,
.elementor-section.ipo-s5 .elementor-column,
.e-con:has(.ipo-s5) .elementor-column,
.e-con.ipo-s5 .elementor-column,
.elementor-section:has(.ipo-s6) .elementor-column,
.elementor-section.ipo-s6 .elementor-column,
.e-con:has(.ipo-s6) .elementor-column,
.e-con.ipo-s6 .elementor-column,
.elementor-section:has(.ipo-s2) .elementor-widget-wrap,
.elementor-section.ipo-s2 .elementor-widget-wrap,
.e-con:has(.ipo-s2) .elementor-widget-wrap,
.e-con.ipo-s2 .elementor-widget-wrap,
.elementor-section:has(.ipo-s3) .elementor-widget-wrap,
.elementor-section.ipo-s3 .elementor-widget-wrap,
.e-con:has(.ipo-s3) .elementor-widget-wrap,
.e-con.ipo-s3 .elementor-widget-wrap,
.elementor-section:has(.ipo-s4) .elementor-widget-wrap,
.elementor-section.ipo-s4 .elementor-widget-wrap,
.e-con:has(.ipo-s4) .elementor-widget-wrap,
.e-con.ipo-s4 .elementor-widget-wrap,
.elementor-section:has(.ipo-s5) .elementor-widget-wrap,
.elementor-section.ipo-s5 .elementor-widget-wrap,
.e-con:has(.ipo-s5) .elementor-widget-wrap,
.e-con.ipo-s5 .elementor-widget-wrap,
.elementor-section:has(.ipo-s6) .elementor-widget-wrap,
.elementor-section.ipo-s6 .elementor-widget-wrap,
.e-con:has(.ipo-s6) .elementor-widget-wrap,
.e-con.ipo-s6 .elementor-widget-wrap,
.elementor-section:has(.ipo-s2) .elementor-widget-html,
.elementor-section.ipo-s2 .elementor-widget-html,
.e-con:has(.ipo-s2) .elementor-widget-html,
.e-con.ipo-s2 .elementor-widget-html,
.elementor-section:has(.ipo-s3) .elementor-widget-html,
.elementor-section.ipo-s3 .elementor-widget-html,
.e-con:has(.ipo-s3) .elementor-widget-html,
.e-con.ipo-s3 .elementor-widget-html,
.elementor-section:has(.ipo-s4) .elementor-widget-html,
.elementor-section.ipo-s4 .elementor-widget-html,
.e-con:has(.ipo-s4) .elementor-widget-html,
.e-con.ipo-s4 .elementor-widget-html,
.elementor-section:has(.ipo-s5) .elementor-widget-html,
.elementor-section.ipo-s5 .elementor-widget-html,
.e-con:has(.ipo-s5) .elementor-widget-html,
.e-con.ipo-s5 .elementor-widget-html,
.elementor-section:has(.ipo-s6) .elementor-widget-html,
.elementor-section.ipo-s6 .elementor-widget-html,
.e-con:has(.ipo-s6) .elementor-widget-html,
.e-con.ipo-s6 .elementor-widget-html,
.elementor-section:has(.ipo-s2) .elementor-widget-html > .elementor-widget-container,
.elementor-section.ipo-s2 .elementor-widget-html > .elementor-widget-container,
.e-con:has(.ipo-s2) .elementor-widget-html > .elementor-widget-container,
.e-con.ipo-s2 .elementor-widget-html > .elementor-widget-container,
.elementor-section:has(.ipo-s3) .elementor-widget-html > .elementor-widget-container,
.elementor-section.ipo-s3 .elementor-widget-html > .elementor-widget-container,
.e-con:has(.ipo-s3) .elementor-widget-html > .elementor-widget-container,
.e-con.ipo-s3 .elementor-widget-html > .elementor-widget-container,
.elementor-section:has(.ipo-s4) .elementor-widget-html > .elementor-widget-container,
.elementor-section.ipo-s4 .elementor-widget-html > .elementor-widget-container,
.e-con:has(.ipo-s4) .elementor-widget-html > .elementor-widget-container,
.e-con.ipo-s4 .elementor-widget-html > .elementor-widget-container,
.elementor-section:has(.ipo-s5) .elementor-widget-html > .elementor-widget-container,
.elementor-section.ipo-s5 .elementor-widget-html > .elementor-widget-container,
.e-con:has(.ipo-s5) .elementor-widget-html > .elementor-widget-container,
.e-con.ipo-s5 .elementor-widget-html > .elementor-widget-container,
.elementor-section:has(.ipo-s6) .elementor-widget-html > .elementor-widget-container,
.elementor-section.ipo-s6 .elementor-widget-html > .elementor-widget-container,
.e-con:has(.ipo-s6) .elementor-widget-html > .elementor-widget-container,
.e-con.ipo-s6 .elementor-widget-html > .elementor-widget-container{
  position:static;
}
.elementor-section:has(.ipo-s2) .elementor-widget,
.elementor-section.ipo-s2 .elementor-widget,
.e-con:has(.ipo-s2) .elementor-widget,
.e-con.ipo-s2 .elementor-widget,
.elementor-section:has(.ipo-s3) .elementor-widget,
.elementor-section.ipo-s3 .elementor-widget,
.e-con:has(.ipo-s3) .elementor-widget,
.e-con.ipo-s3 .elementor-widget,
.elementor-section:has(.ipo-s4) .elementor-widget,
.elementor-section.ipo-s4 .elementor-widget,
.e-con:has(.ipo-s4) .elementor-widget,
.e-con.ipo-s4 .elementor-widget,
.elementor-section:has(.ipo-s5) .elementor-widget,
.elementor-section.ipo-s5 .elementor-widget,
.e-con:has(.ipo-s5) .elementor-widget,
.e-con.ipo-s5 .elementor-widget,
.elementor-section:has(.ipo-s6) .elementor-widget,
.elementor-section.ipo-s6 .elementor-widget,
.e-con:has(.ipo-s6) .elementor-widget,
.e-con.ipo-s6 .elementor-widget{margin:0;}
.elementor-section:has(.ipo-s2) .elementor-widget:not(:last-child),
.elementor-section.ipo-s2 .elementor-widget:not(:last-child),
.e-con:has(.ipo-s2) .elementor-widget:not(:last-child),
.e-con.ipo-s2 .elementor-widget:not(:last-child),
.elementor-section:has(.ipo-s3) .elementor-widget:not(:last-child),
.elementor-section.ipo-s3 .elementor-widget:not(:last-child),
.e-con:has(.ipo-s3) .elementor-widget:not(:last-child),
.e-con.ipo-s3 .elementor-widget:not(:last-child),
.elementor-section:has(.ipo-s4) .elementor-widget:not(:last-child),
.elementor-section.ipo-s4 .elementor-widget:not(:last-child),
.e-con:has(.ipo-s4) .elementor-widget:not(:last-child),
.e-con.ipo-s4 .elementor-widget:not(:last-child),
.elementor-section:has(.ipo-s5) .elementor-widget:not(:last-child),
.elementor-section.ipo-s5 .elementor-widget:not(:last-child),
.e-con:has(.ipo-s5) .elementor-widget:not(:last-child),
.e-con.ipo-s5 .elementor-widget:not(:last-child),
.elementor-section:has(.ipo-s6) .elementor-widget:not(:last-child),
.elementor-section.ipo-s6 .elementor-widget:not(:last-child),
.e-con:has(.ipo-s6) .elementor-widget:not(:last-child),
.e-con.ipo-s6 .elementor-widget:not(:last-child){margin-bottom:0;}

/* ==========================================================================
   COSTURAS - van en los pseudoelementos de la propia seccion, asi que
   funcionan solo con el CSS, sin depender de nada del HTML.
   Cada seccion repinta arriba el color de salida de la anterior y abajo
   el suyo propio, fundiendolos. El degradado nunca cambia de pendiente
   justo en la union, que es lo que delata el corte.
   ========================================================================== */

.elementor-section:has(.ipo-s2)::before,
.elementor-section.ipo-s2::before,
.e-con:has(.ipo-s2)::before,
.e-con.ipo-s2::before{
  content:"";position:absolute;left:0;right:0;top:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(180deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(180deg,#00041D 0%,#00041D 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s2)::after,
.elementor-section.ipo-s2::after,
.e-con:has(.ipo-s2)::after,
.e-con.ipo-s2::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(0deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(0deg,#03123F 0%,#03123F 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s3)::before,
.elementor-section.ipo-s3::before,
.e-con:has(.ipo-s3)::before,
.e-con.ipo-s3::before{
  content:"";position:absolute;left:0;right:0;top:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(180deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(180deg,#03123F 0%,#03123F 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s3)::after,
.elementor-section.ipo-s3::after,
.e-con:has(.ipo-s3)::after,
.e-con.ipo-s3::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(0deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(0deg,#000722 0%,#000722 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s4)::before,
.elementor-section.ipo-s4::before,
.e-con:has(.ipo-s4)::before,
.e-con.ipo-s4::before{
  content:"";position:absolute;left:0;right:0;top:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(180deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(180deg,#000722 0%,#000722 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s4)::after,
.elementor-section.ipo-s4::after,
.e-con:has(.ipo-s4)::after,
.e-con.ipo-s4::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(0deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(0deg,#001132 0%,#001132 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s5)::before,
.elementor-section.ipo-s5::before,
.e-con:has(.ipo-s5)::before,
.e-con.ipo-s5::before{
  content:"";position:absolute;left:0;right:0;top:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(180deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(180deg,#001132 0%,#001132 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s5)::after,
.elementor-section.ipo-s5::after,
.e-con:has(.ipo-s5)::after,
.e-con.ipo-s5::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(0deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(0deg,#062051 0%,#062051 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s6)::before,
.elementor-section.ipo-s6::before,
.e-con:has(.ipo-s6)::before,
.e-con.ipo-s6::before{
  content:"";position:absolute;left:0;right:0;top:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(180deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(180deg,#062051 0%,#062051 22%,rgba(0,0,0,0) 100%);
}
.elementor-section:has(.ipo-s6)::after,
.elementor-section.ipo-s6::after,
.e-con:has(.ipo-s6)::after,
.e-con.ipo-s6::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(0deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(0deg,#00041D 0%,#00041D 22%,rgba(0,0,0,0) 100%);
}

/* el hero funde su borde inferior con la entrada del bloque 2 */
.ipo-hero::after,
.elementor-section.ipo-hero::after,
.elementor-section:has(.ih-head)::after,
.e-con.ipo-hero::after,
.e-con:has(.ih-head)::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none;
  height:clamp(100px,13vw,200px);
  background:
    linear-gradient(0deg,rgba(61,135,249,0) 0%,rgba(61,135,249,.09) 52%,rgba(61,135,249,0) 100%),
    linear-gradient(0deg,#00041D 0%,#00041D 22%,rgba(0,0,0,0) 100%);
}
/* los divs de la version anterior dejan de pintar nada */
.ipo-join-top,.ipo-join-bot,.ih-join-bot{display:none !important;}

/* ---------- CAPAS DECORATIVAS REUTILIZABLES ---------- */
.ipo-dots,.ipo-mesh,.ipo-arcs,.ipo-glow,.ipo-chart{
  position:absolute;z-index:0;pointer-events:none;
}
.ipo-dots{
  inset:0;
  background-image:radial-gradient(rgba(120,175,255,.20) 1px,transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:radial-gradient(112% 68% at 50% 46%,#000 12%,transparent 70%);
          mask-image:radial-gradient(112% 68% at 50% 46%,#000 12%,transparent 70%);
  opacity:.5;
}
.ipo-mesh{
  inset:0;
  background-image:
    linear-gradient(rgba(120,175,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,175,255,.10) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(104% 66% at 50% 50%,#000 8%,transparent 72%);
          mask-image:radial-gradient(104% 66% at 50% 50%,#000 8%,transparent 72%);
  opacity:.55;
}
.ipo-arcs{
  right:-14%;top:-22%;width:48%;aspect-ratio:1;opacity:.3;
  background:
    radial-gradient(closest-side,transparent 61%,rgba(120,175,255,.30) 61.4%,transparent 62.4%),
    radial-gradient(closest-side,transparent 73%,rgba(120,175,255,.20) 73.4%,transparent 74.4%),
    radial-gradient(closest-side,transparent 86%,rgba(120,175,255,.14) 86.4%,transparent 87.4%);
  -webkit-mask-image:radial-gradient(closest-side,#000 60%,transparent 100%);
          mask-image:radial-gradient(closest-side,#000 60%,transparent 100%);
}
.ipo-chart{
  left:-4%;top:16%;width:28%;height:52%;opacity:.22;
  background:repeating-linear-gradient(90deg,rgba(140,190,255,.16) 0 3px,transparent 3px 30px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 26%,#000 58%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 26%,#000 58%,transparent);
}
.ipo-glow{
  left:50%;top:6%;width:66%;aspect-ratio:2.2/1;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(61,135,249,.26),transparent 74%);
  filter:blur(20px);
}

/* ---------- ENVOLTORIO Y TIPOGRAFÍA COMUNES ---------- */
.ipo-sec{
  position:relative;z-index:2;
  max-width:1500px;margin:0 auto;
  text-align:center;
}
.ipo-sec,.ipo-sec *,.ipo-sec *::before,.ipo-sec *::after{box-sizing:border-box;}

.ipo-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12px,1.02vw,17px);
  letter-spacing:.14em;line-height:1.2;
  color:var(--blue-soft);
  border:1px solid var(--edge);
  background:rgba(4,16,46,.7);
  border-radius:999px;
  padding:clamp(6px,.6vw,9px) clamp(14px,1.3vw,22px);
  box-shadow:0 0 22px rgba(61,135,249,.22);
}
.ipo-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--blue-hi);box-shadow:0 0 10px 2px rgba(127,178,255,.9);
}

/* titulares a dos líneas: cada <span> es una línea */
.ipo-h2{
  margin:clamp(16px,1.7vw,28px) auto 0;
  max-width:none;
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-weight:400;text-transform:uppercase;
  letter-spacing:.012em;line-height:1.08;
  font-size:clamp(22px,2.75vw,46px);
  color:var(--white);
  text-shadow:0 0 26px rgba(61,135,249,.5);
}
.ipo-h2 > span{display:block;}

.ipo-rule{
  width:clamp(80px,9vw,150px);height:1px;margin:clamp(16px,1.8vw,28px) auto 0;
  background:linear-gradient(90deg,transparent,rgba(120,175,255,.6) 20%,rgba(120,175,255,.6) 80%,transparent);
}
.ipo-lead{
  margin:clamp(15px,1.6vw,24px) auto 0;
  max-width:78ch;
  font-size:clamp(13.5px,1.06vw,18px);
  line-height:1.68;color:var(--muted);
}
.ipo-lead b{color:#EAF2FF;font-weight:700;}
.ipo-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12px,1vw,16px);letter-spacing:.1em;
  color:#0C2B00;
  background:linear-gradient(180deg,#BFE9FF,#7FB2FF 60%,#4F90FB);
  border-radius:999px;
  padding:clamp(5px,.5vw,8px) clamp(12px,1.15vw,18px);
  box-shadow:0 0 22px rgba(61,135,249,.45);
}

.ipo-card{
  position:relative;display:flex;flex-direction:column;text-align:left;
  border-radius:18px;
  padding:clamp(18px,1.8vw,30px) clamp(18px,1.8vw,32px) clamp(20px,2vw,34px);
  background:linear-gradient(168deg,rgba(6,32,86,.52),rgba(0,8,32,.84));
  border:1px solid var(--edge);
  box-shadow:0 0 40px rgba(43,111,224,.16), inset 0 0 46px rgba(43,111,224,.05);
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.ipo-card:hover{
  transform:translateY(-3px);border-color:rgba(61,135,249,.72);
  box-shadow:0 0 56px rgba(43,111,224,.3), inset 0 0 46px rgba(43,111,224,.07);
}
.ipo-card-h{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 0 clamp(13px,1.3vw,20px);
  padding-bottom:clamp(11px,1.1vw,17px);
  border-bottom:1px solid rgba(61,135,249,.26);
}
.ipo-card-t{
  margin:0;font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-weight:400;text-transform:uppercase;letter-spacing:.03em;
  font-size:clamp(16px,1.5vw,26px);color:var(--white);
  text-shadow:0 0 18px rgba(61,135,249,.45);
}
.ipo-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(10px,1vw,16px);counter-reset:li;}
.ipo-list li{
  display:grid;grid-template-columns:auto 1fr;align-items:start;
  gap:clamp(10px,1vw,15px);
  font-size:clamp(13px,1.02vw,17px);line-height:1.55;color:var(--muted);
}
.ipo-list li::before{
  content:counter(li);counter-increment:li;
  width:clamp(24px,1.9vw,30px);height:clamp(24px,1.9vw,30px);
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;flex:none;
  border:1px solid var(--blue);background:rgba(6,24,66,.6);
  box-shadow:0 0 16px rgba(61,135,249,.45),inset 0 0 14px rgba(61,135,249,.16);
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-size:clamp(12px,.95vw,15px);color:#DCE9FF;margin-top:2px;
}
.ipo-duo{
  max-width:1300px;margin-inline:auto;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,1.5vw,26px);
  margin-top:clamp(20px,2.1vw,34px);align-items:stretch;
}

/* ==========================================================================
   BLOQUE 2 · tarjetas con foto editable
   Cada tarjeta es una foto (widget Imagen de Elementor) sobre un cuerpo de
   texto (widget HTML). Se colocan con rejilla.
   ========================================================================== */
.elementor-section:has(.ipo-s2) .elementor-widget-wrap,
.elementor-section.ipo-s2 .elementor-widget-wrap,
.e-con:has(.ipo-s2) .elementor-widget-wrap,
.e-con.ipo-s2 .elementor-widget-wrap{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:
    "head head"
    "imga imgb"
    "boda bodb";
  column-gap:clamp(14px,1.5vw,26px);
  max-width:1500px;margin:0 auto;
  align-items:stretch;
}
.s2-head{grid-area:head;}
.s2-img-a{grid-area:imga;}
.s2-img-b{grid-area:imgb;}
.s2-bod-a{grid-area:boda;}
.s2-bod-b{grid-area:bodb;}
.s2-bod-a,.s2-bod-b{display:flex;}
.s2-bod-a > .elementor-widget-container,
.s2-bod-b > .elementor-widget-container{display:flex;flex:1;}
.s2-img-a > .elementor-widget-container,
.s2-img-b > .elementor-widget-container{display:block;width:100%;}
.s2-card{flex:1;}

/* ==========================================================================
   BLOQUE 3 · MAPA DE RECORRIDO
   ========================================================================== */
.s3-map{
  position:relative;
  max-width:1300px;margin-inline:auto;
  margin-top:clamp(24px,2.6vw,42px);
  height:clamp(360px,32vw,440px);
}
.s3-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.s3-stop{
  position:absolute;left:var(--x);top:var(--y);
  transform:translate(-50%,-50%);
  width:clamp(50px,4.2vw,74px);height:clamp(50px,4.2vw,74px);
}
.s3-dot{
  width:100%;height:100%;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--blue);
  background:radial-gradient(closest-side,rgba(10,40,104,.96),rgba(2,10,34,.96));
  box-shadow:0 0 30px rgba(61,135,249,.65),inset 0 0 22px rgba(61,135,249,.22);
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-size:clamp(17px,1.5vw,27px);color:#DCE9FF;letter-spacing:.02em;
}
.s3-stop--end .s3-dot{
  border-color:var(--green);
  box-shadow:0 0 36px rgba(31,216,0,.6),inset 0 0 22px rgba(31,216,0,.2);
}
.s3-txt{
  position:absolute;left:50%;transform:translateX(-50%);
  width:clamp(130px,15vw,210px);text-align:center;
  font-size:clamp(11.5px,.92vw,15px);line-height:1.42;
  text-transform:uppercase;font-weight:700;letter-spacing:.045em;
  color:var(--muted);
  transition:color .25s ease,text-shadow .25s ease;
}

/* al pasar por encima, la parada se enciende en azul fluorescente */
.s3-stop{cursor:default;}
.s3-dot{transition:border-color .25s ease,box-shadow .25s ease,color .25s ease,transform .25s ease;}
.s3-stop:hover .s3-dot,
.s3-stop:focus-within .s3-dot,
.s3-stop--end:hover .s3-dot{
  animation:none;
  border-color:#5CE1FF;
  color:#EAFBFF;
  transform:scale(1.07);
  box-shadow:0 0 48px rgba(92,225,255,.95),
             0 0 14px rgba(92,225,255,.8),
             inset 0 0 26px rgba(92,225,255,.38);
}
.s3-stop:hover .s3-txt,
.s3-stop:focus-within .s3-txt{
  color:#B4F0FF;
  text-shadow:0 0 18px rgba(92,225,255,.85);
}
.s3-stop--down .s3-txt{top:calc(100% + clamp(11px,1.1vw,18px));}
.s3-stop--up .s3-txt{bottom:calc(100% + clamp(11px,1.1vw,18px));}

/* ==========================================================================
   BLOQUE 4 · plantillas + soporte
   ========================================================================== */
.s4-grid{
  max-width:1400px;margin-inline:auto;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(11px,1.2vw,20px);margin-top:clamp(20px,2.1vw,34px);
}
.s4-item{
  display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1vw,16px);
  border-radius:16px;
  padding:clamp(16px,1.6vw,26px) clamp(11px,1.1vw,18px);
  background:linear-gradient(168deg,rgba(6,32,86,.5),rgba(0,8,32,.84));
  border:1px solid var(--edge);
  box-shadow:0 0 34px rgba(43,111,224,.14);
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.s4-item:hover{transform:translateY(-3px);border-color:rgba(61,135,249,.7);box-shadow:0 0 50px rgba(43,111,224,.28);}
.s4-ico{
  width:clamp(40px,3.2vw,56px);height:clamp(40px,3.2vw,56px);flex:none;
  border-radius:14px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(61,135,249,.5);background:rgba(4,18,52,.8);
  box-shadow:0 0 22px rgba(61,135,249,.35);
}
.s4-ico svg{width:52%;height:52%;filter:drop-shadow(0 0 8px rgba(61,135,249,.75));}
.s4-t{
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(13px,1.08vw,18px);letter-spacing:.05em;line-height:1.25;color:#EAF2FF;
}
.s4-support{
  display:flex;align-items:center;justify-content:center;gap:clamp(13px,1.4vw,24px);
  text-align:left;margin-top:clamp(16px,1.7vw,28px);
  border-radius:16px;padding:clamp(15px,1.5vw,26px) clamp(18px,1.9vw,34px);
  background:linear-gradient(150deg,rgba(10,44,110,.5),rgba(0,8,32,.85));
  border:1px solid rgba(61,135,249,.5);
  box-shadow:0 0 44px rgba(43,111,224,.22);
}
.s4-support svg{width:clamp(26px,2.4vw,38px);height:clamp(26px,2.4vw,38px);flex:none;filter:drop-shadow(0 0 9px rgba(61,135,249,.8));}
.s4-support p{margin:0;font-size:clamp(13px,1.05vw,17.5px);line-height:1.6;color:var(--muted);}
.s4-support b{color:#EAF2FF;}

/* ==========================================================================
   BLOQUE 5 · BONUS con foto editable
   Los widgets se colocan en rejilla: cada tarjeta es una foto (widget
   Imagen de Elementor) sobre un cuerpo de texto (widget HTML).
   ========================================================================== */
.elementor-section:has(.ipo-s5) .elementor-widget-wrap,
.elementor-section.ipo-s5 .elementor-widget-wrap,
.e-con:has(.ipo-s5) .elementor-widget-wrap,
.e-con.ipo-s5 .elementor-widget-wrap{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:
    "head head"
    "imga imgb"
    "boda bodb"
    "cta  cta";
  column-gap:clamp(14px,1.5vw,26px);
  max-width:1300px;margin:0 auto;
  align-items:stretch;
}
.s5-head{grid-area:head;}
.s5-img-a{grid-area:imga;}
.s5-img-b{grid-area:imgb;}
.s5-bod-a{grid-area:boda;}
.s5-bod-b{grid-area:bodb;}
/* la cadena tiene que estirarse para que las dos tarjetas midan igual */
.s5-bod-a,.s5-bod-b{display:flex;}
.s5-bod-a > .elementor-widget-container,
.s5-bod-b > .elementor-widget-container{display:flex;flex:1;}
.s5-img-a > .elementor-widget-container,
.s5-img-b > .elementor-widget-container{display:block;width:100%;}
.elementor-section:has(.ipo-s5) .elementor-widget-button,
.elementor-section.ipo-s5 .elementor-widget-button,
.e-con:has(.ipo-s5) .elementor-widget-button,
.e-con.ipo-s5 .elementor-widget-button{grid-area:cta;}

/* la foto: parte superior de la tarjeta */
.s5-img-a,.s5-img-b,.s2-img-a,.s2-img-b{
  position:relative;z-index:2;
  margin-top:clamp(24px,2.6vw,44px) !important;
}
.s5-img-a .elementor-widget-container,
.s5-img-b .elementor-widget-container,
.s2-img-a .elementor-widget-container,
.s2-img-b .elementor-widget-container{
  overflow:hidden;
  border:1px solid var(--edge);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:linear-gradient(168deg,rgba(6,32,86,.6),rgba(0,8,32,.86));
  box-shadow:0 -6px 40px rgba(43,111,224,.18);
}
.s5-img-a img,.s5-img-b img,.s2-img-a img,.s2-img-b img{
  display:block;width:100%;height:100%;
  aspect-ratio:16/10;object-fit:cover;
}
/* el cuerpo: parte inferior, se une con la foto sin costura */
.s5-card,.s2-card{
  flex:1;
  border-radius:0 0 18px 18px;
  border:1px solid var(--edge);
  border-top:0;
  background:linear-gradient(168deg,rgba(6,32,86,.4),rgba(0,8,32,.86));
  box-shadow:0 12px 44px rgba(43,111,224,.18);
  padding:clamp(18px,1.8vw,30px) clamp(18px,1.8vw,32px) clamp(20px,2vw,34px);
  display:flex;flex-direction:column;text-align:left;
}
.s5-badge{
  align-self:flex-start;
  max-width:100%;flex-wrap:wrap;text-align:center;
  display:inline-flex;align-items:center;gap:9px;
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.05em;
  font-size:clamp(14px,1.25vw,22px);color:#0C2B00;
  background:linear-gradient(180deg,#D8F0FF,#7FB2FF 58%,#3D87F9);
  border-radius:999px;padding:clamp(6px,.6vw,10px) clamp(14px,1.4vw,24px);
  box-shadow:0 0 30px rgba(61,135,249,.55);
}
.s5-body{
  margin:clamp(13px,1.3vw,20px) 0 0;
  font-size:clamp(13.5px,1.08vw,18.5px);line-height:1.62;color:var(--muted);
}
.s5-foot{
  display:flex;align-items:center;gap:10px;
  margin-top:auto;padding-top:clamp(13px,1.3vw,20px);
  border-top:1px solid rgba(61,135,249,.26);
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12.5px,1vw,16.5px);letter-spacing:.08em;color:var(--blue-soft);
}
.s5-foot svg{width:15px;height:15px;flex:none;filter:drop-shadow(0 0 8px rgba(61,135,249,.7));}

/* ==========================================================================
   BLOQUE 6 · garantía
   ========================================================================== */
.s6-seal{
  position:relative;
  width:clamp(122px,11vw,180px);height:clamp(122px,11vw,180px);
  margin:clamp(20px,2.2vw,36px) auto 0;
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:2px solid var(--green);
  background:radial-gradient(closest-side,rgba(10,52,10,.6),rgba(0,10,30,.92));
  box-shadow:0 0 60px rgba(31,216,0,.45),inset 0 0 34px rgba(31,216,0,.18);
}
.s6-seal::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(31,216,0,.35);}
.s6-n{
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-size:clamp(40px,3.9vw,66px);line-height:1;color:var(--white);
  text-shadow:0 0 30px rgba(31,216,0,.9);
}
.s6-u{font-family:'Bebas Neue',Arial,sans-serif;font-size:clamp(12px,1.05vw,17px);letter-spacing:.16em;color:#B9F5AA;}
.s6-rail{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:clamp(9px,1vw,18px);margin-top:clamp(22px,2.4vw,38px);
}
.s6-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(12.5px,1.02vw,17px);letter-spacing:.07em;color:#DCE9FF;
  border:1px solid var(--edge);
  background:linear-gradient(168deg,rgba(3,16,52,.55),rgba(0,6,22,.82));
  border-radius:999px;padding:clamp(8px,.8vw,13px) clamp(15px,1.4vw,24px);
}
.s6-pill--hot{border-color:rgba(31,216,0,.6);color:#D8FFCB;box-shadow:0 0 26px rgba(31,216,0,.3);}
.s6-arrow{color:var(--blue-hi);font-size:clamp(14px,1.2vw,20px);filter:drop-shadow(0 0 8px rgba(61,135,249,.8));}

/* ---------- CTA de los bloques 5 y 6 ---------- */
.elementor-section:has(.ipo-s5) .elementor-widget-button,
.elementor-section.ipo-s5 .elementor-widget-button,
.e-con:has(.ipo-s5) .elementor-widget-button,
.e-con.ipo-s5 .elementor-widget-button,
.elementor-section:has(.ipo-s6) .elementor-widget-button,
.elementor-section.ipo-s6 .elementor-widget-button,
.e-con:has(.ipo-s6) .elementor-widget-button,
.e-con.ipo-s6 .elementor-widget-button{
  position:relative;z-index:2;
  margin-top:clamp(26px,2.8vw,44px);text-align:center;
}
.elementor-section:has(.ipo-s5) .elementor-widget-button .elementor-button,
.elementor-section.ipo-s5 .elementor-widget-button .elementor-button,
.e-con:has(.ipo-s5) .elementor-widget-button .elementor-button,
.e-con.ipo-s5 .elementor-widget-button .elementor-button,
.elementor-section:has(.ipo-s6) .elementor-widget-button .elementor-button,
.elementor-section.ipo-s6 .elementor-widget-button .elementor-button,
.e-con:has(.ipo-s6) .elementor-widget-button .elementor-button,
.e-con.ipo-s6 .elementor-widget-button .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;
  gap:clamp(12px,1.3vw,20px);
  font-family:Anton,'Bebas Neue','Arial Narrow','Helvetica Neue Condensed',sans-serif-condensed,Arial,sans-serif;
  font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;
  font-size:clamp(19px,2vw,36px);color:#0C2B00;text-decoration:none;
  padding:clamp(13px,1.25vw,21px) clamp(30px,3.2vw,62px);
  border-radius:999px;
  background:linear-gradient(180deg,var(--green-hi),var(--green) 55%,#17A800);
  border:1px solid rgba(140,255,110,.7);
  box-shadow:0 8px 22px rgba(0,0,0,.38), inset 0 -3px 0 rgba(0,0,0,.22), inset 0 2px 0 rgba(255,255,255,.4);
  transition:box-shadow .25s ease,transform .25s ease;
}
.elementor-section:has(.ipo-s5) .elementor-widget-button .elementor-button:hover,
.elementor-section.ipo-s5 .elementor-widget-button .elementor-button:hover,
.e-con:has(.ipo-s5) .elementor-widget-button .elementor-button:hover,
.e-con.ipo-s5 .elementor-widget-button .elementor-button:hover,
.elementor-section:has(.ipo-s6) .elementor-widget-button .elementor-button:hover,
.elementor-section.ipo-s6 .elementor-widget-button .elementor-button:hover,
.e-con:has(.ipo-s6) .elementor-widget-button .elementor-button:hover,
.e-con.ipo-s6 .elementor-widget-button .elementor-button:hover{
  color:#0C2B00;transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.46), inset 0 -3px 0 rgba(0,0,0,.22), inset 0 2px 0 rgba(255,255,255,.45);
}

/* ==========================================================================
   RESPONSIVE · bloques 2 a 6
   ========================================================================== */
@media (max-width:1000px){
  .ipo-arcs,.ipo-chart{display:none;}
  .s4-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:820px){
  /* el mapa se endereza: línea vertical y paradas apiladas */
  .s3-map{
    height:auto;display:grid;gap:clamp(16px,3.4vw,26px);
    padding-left:clamp(58px,15vw,74px);text-align:left;
  }
  .s3-map::before{
    content:"";position:absolute;left:clamp(25px,7.5vw,37px);top:8px;bottom:8px;width:2px;
    background:linear-gradient(180deg,transparent,rgba(120,175,255,.55) 10%,rgba(120,175,255,.55) 90%,transparent);
  }
  .s3-path{display:none;}
  .s3-stop{
    position:relative;left:auto;top:auto;transform:none;
    width:auto;height:auto;
    display:grid;grid-template-columns:auto 1fr;align-items:center;
    gap:clamp(12px,3vw,18px);
  }
  .s3-dot{width:clamp(46px,11vw,58px);height:clamp(46px,11vw,58px);margin-left:calc(-1 * clamp(58px,15vw,74px) + 4px);}
  .s3-txt{position:static;transform:none;width:auto;text-align:left;}
  .s3-stop--up .s3-txt,.s3-stop--down .s3-txt{top:auto;bottom:auto;}
}
@media (max-width:900px){
  .ipo-h2 > span{display:inline;}
  .ih-title > span{display:inline;}
}
@media (max-width:680px){
  .elementor-section:has(.ipo-s2),
.elementor-section.ipo-s2,
.e-con:has(.ipo-s2),
.e-con.ipo-s2,
.elementor-section:has(.ipo-s3),
.elementor-section.ipo-s3,
.e-con:has(.ipo-s3),
.e-con.ipo-s3,
.elementor-section:has(.ipo-s4),
.elementor-section.ipo-s4,
.e-con:has(.ipo-s4),
.e-con.ipo-s4,
.elementor-section:has(.ipo-s5),
.elementor-section.ipo-s5,
.e-con:has(.ipo-s5),
.e-con.ipo-s5,
.elementor-section:has(.ipo-s6),
.elementor-section.ipo-s6,
.e-con:has(.ipo-s6),
.e-con.ipo-s6{padding:clamp(30px,6.5vw,48px) 16px;}
  .ipo-duo{grid-template-columns:1fr;}
  .s4-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ipo-h2{font-size:clamp(23px,6.4vw,34px);}
  .s4-support{flex-direction:column;text-align:center;}
  .elementor-section:has(.ipo-s5) .elementor-widget-wrap,
.elementor-section.ipo-s5 .elementor-widget-wrap,
.e-con:has(.ipo-s5) .elementor-widget-wrap,
.e-con.ipo-s5 .elementor-widget-wrap{
    grid-template-columns:1fr;
    grid-template-areas:"head" "imga" "boda" "imgb" "bodb" "cta";
  }
  .elementor-section:has(.ipo-s2) .elementor-widget-wrap,
.elementor-section.ipo-s2 .elementor-widget-wrap,
.e-con:has(.ipo-s2) .elementor-widget-wrap,
.e-con.ipo-s2 .elementor-widget-wrap{
    grid-template-columns:1fr;
    grid-template-areas:"head" "imga" "boda" "imgb" "bodb";
  }
  .s5-img-b,.s2-img-b{margin-top:clamp(20px,4vw,32px) !important;}
}
@media (max-width:620px){
  .s4-grid{grid-template-columns:1fr;}
  .s6-arrow{display:none;}
  .s6-rail{flex-direction:column;}
  .s6-pill{width:100%;justify-content:center;}
  .elementor-section:has(.ipo-s5) .elementor-widget-button .elementor-button,
.elementor-section.ipo-s5 .elementor-widget-button .elementor-button,
.e-con:has(.ipo-s5) .elementor-widget-button .elementor-button,
.e-con.ipo-s5 .elementor-widget-button .elementor-button,
.elementor-section:has(.ipo-s6) .elementor-widget-button .elementor-button,
.elementor-section.ipo-s6 .elementor-widget-button .elementor-button,
.e-con:has(.ipo-s6) .elementor-widget-button .elementor-button,
.e-con.ipo-s6 .elementor-widget-button .elementor-button{width:100%;padding-inline:16px;}
}
@media (prefers-reduced-motion:reduce){
  .ipo-card,.s4-item{transition:none;}
  .ipo-card:hover,.s4-item:hover{transform:none;}
}


/* ==========================================================================
   CAPA DE MOVIMIENTO
   Si el JavaScript no se ejecuta, nada se oculta: la página se ve completa
   y estática. La clase .ipo-motion la pone el propio script.
   ========================================================================== */

/* ---------- REVELADO AL ENTRAR EN PANTALLA ---------- */
.ipo-motion [data-anim],
.ipo-motion .ih-cta,
.ipo-motion .ih-brain,
.ipo-motion .s5-img-a,
.ipo-motion .s5-img-b,
.ipo-motion .s2-img-a,
.ipo-motion .s2-img-b{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .72s cubic-bezier(.22,.85,.28,1) var(--d,0s),
             transform .72s cubic-bezier(.22,.85,.28,1) var(--d,0s);
}
.ipo-motion [data-anim="left"]{transform:translate3d(-30px,12px,0);}
.ipo-motion [data-anim="right"]{transform:translate3d(30px,12px,0);}
.ipo-motion [data-anim="zoom"]{transform:scale(.86) translateY(14px);}
.ipo-motion [data-anim="plain"]{transform:none;}

.ipo-motion [data-anim].is-in,
.ipo-motion .ih-cta.is-in,
.ipo-motion .ih-brain.is-in,
.ipo-motion .s5-img-a.is-in,
.ipo-motion .s5-img-b.is-in,
.ipo-motion .s2-img-a.is-in,
.ipo-motion .s2-img-b.is-in{
  opacity:1;
  transform:none;
}

/* listas y textos internos: entran detrás de su tarjeta */
.ipo-motion .ipo-card .ipo-list li,
.ipo-motion .s2-card .ipo-list li,
.ipo-motion .s5-card .s5-badge,
.ipo-motion .s5-card .s5-body,
.ipo-motion .s5-card .s5-foot{
  opacity:0;transform:translateY(12px);
  transition:opacity .5s ease,transform .5s ease;
}
.ipo-motion .ipo-card.is-in .ipo-list li,
.ipo-motion .s2-card.is-in .ipo-list li,
.ipo-motion .s5-card.is-in .s5-badge,
.ipo-motion .s5-card.is-in .s5-body,
.ipo-motion .s5-card.is-in .s5-foot{opacity:1;transform:none;}
.ipo-motion .ipo-card.is-in .ipo-list li:nth-child(1),
.ipo-motion .s2-card.is-in .ipo-list li:nth-child(1){transition-delay:.24s;}
.ipo-motion .ipo-card.is-in .ipo-list li:nth-child(2),
.ipo-motion .s2-card.is-in .ipo-list li:nth-child(2){transition-delay:.34s;}
.ipo-motion .ipo-card.is-in .ipo-list li:nth-child(3),
.ipo-motion .s2-card.is-in .ipo-list li:nth-child(3){transition-delay:.44s;}
.ipo-motion .s5-card.is-in .s5-badge{transition-delay:.16s;}
.ipo-motion .s5-card.is-in .s5-body{transition-delay:.26s;}
.ipo-motion .s5-card.is-in .s5-foot{transition-delay:.36s;}

/* el titular entra línea a línea */
.ipo-motion .ih-title > span,
.ipo-motion .ipo-h2 > span{
  opacity:0;transform:translateY(16px);
  transition:opacity .68s cubic-bezier(.22,.85,.28,1),transform .68s cubic-bezier(.22,.85,.28,1);
}
.ipo-motion .ih-title.is-in > span,
.ipo-motion .ipo-h2.is-in > span{opacity:1;transform:none;}
.ipo-motion .ih-title.is-in > span:nth-child(2),
.ipo-motion .ipo-h2.is-in > span:nth-child(2){transition-delay:.13s;}

/* ---------- AMBIENTE: las texturas respiran ---------- */
@keyframes ipoDeriva{from{background-position:0 0;}to{background-position:24px 24px;}}
@keyframes ipoDerivaMalla{from{background-position:0 0,0 0;}to{background-position:64px 64px,64px 64px;}}
@keyframes ipoGiro{to{transform:rotate(360deg);}}
@keyframes ipoLatido{0%,100%{opacity:.82;}50%{opacity:1;}}
@keyframes ipoSuspende{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

.ih-dots,.ipo-dots{animation:ipoDeriva 16s linear infinite;}
.ipo-mesh{animation:ipoDerivaMalla 34s linear infinite;}
.ih-arcs,.ipo-arcs{animation:ipoGiro 150s linear infinite;transform-origin:50% 50%;}
.ih-waves{animation:ipoLatido 7s ease-in-out infinite;}
.ipo-motion .ih-brain.is-in img{animation:ipoSuspende 6s ease-in-out infinite;}
.ipo-glow{animation:ipoLatido 6s ease-in-out infinite;}

/* ---------- EL BOTÓN: halo que respira y destello que cruza ---------- */
@keyframes ipoDestello{
  0%{left:-45%;}
  26%{left:135%;}
  100%{left:135%;}
}
.ipo-motion .ih-cta .elementor-button{position:relative;overflow:hidden;}
.ipo-motion .ih-cta .elementor-button::after{
  content:"";position:absolute;top:-70%;left:-45%;
  width:26%;height:240%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  transform:skewX(-18deg);
  animation:ipoDestello 5s ease-in-out infinite;
}
.ipo-motion .ih-cta .elementor-button:hover::after{animation-play-state:paused;}

/* ---------- EL MAPA: la ruta se dibuja y la corriente circula ---------- */
@keyframes ipoCorriente{to{stroke-dashoffset:-18;}}
.ipo-motion .s3-line-base{
  stroke-dasharray:100;stroke-dashoffset:100;
  transition:stroke-dashoffset 1.7s cubic-bezier(.3,.7,.3,1) .15s;
}
.ipo-motion .s3-map.is-in .s3-line-base{stroke-dashoffset:0;}
.s3-line-flow{animation:ipoCorriente 1.15s linear infinite;}
.ipo-motion .s3-line-flow{opacity:0;transition:opacity .6s ease 1.5s;}
.ipo-motion .s3-map.is-in .s3-line-flow{opacity:1;}

/* la parada final late en verde */
@keyframes ipoMeta{
  0%,100%{box-shadow:0 0 30px rgba(31,216,0,.5),inset 0 0 22px rgba(31,216,0,.18);}
  50%    {box-shadow:0 0 54px rgba(31,216,0,.85),inset 0 0 26px rgba(31,216,0,.3);}
}
.s3-stop--end .s3-dot{animation:ipoMeta 2.6s ease-in-out infinite;}

/* ---------- EL SELLO: anillos que se expanden ---------- */
@keyframes ipoAnillo{
  0%{transform:scale(1);opacity:.65;}
  100%{transform:scale(1.42);opacity:0;}
}
.s6-seal::after{
  content:"";position:absolute;inset:-10px;border-radius:50%;
  border:1px solid rgba(31,216,0,.55);
  animation:ipoAnillo 3.4s ease-out infinite;
}

/* ---------- TARJETAS: barrido de luz al pasar por encima ---------- */
.ipo-card,.s4-item,.s5-card,.s2-card{overflow:hidden;}
.ipo-card::after,.s4-item::after,.s5-card::after,.s2-card::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 38%,rgba(127,178,255,.14) 50%,transparent 62%);
  transform:translateX(-120%);
  transition:transform .8s cubic-bezier(.3,.7,.3,1);
}
.ipo-card:hover::after,.s4-item:hover::after,.s5-card:hover::after,.s2-card:hover::after{transform:translateX(120%);}
.s5-card{position:relative;}
.s4-item{position:relative;}

/* la foto del bonus se acerca un poco al pasar por encima */
.s5-img-a .elementor-widget-container,
.s5-img-b .elementor-widget-container,
.s2-img-a .elementor-widget-container,
.s2-img-b .elementor-widget-container{overflow:hidden;}
.s5-img-a img,.s5-img-b img,.s2-img-a img,.s2-img-b img{transition:transform .6s cubic-bezier(.3,.7,.3,1);}
.s5-img-a:hover img,.s5-img-b:hover img,.s2-img-a:hover img,.s2-img-b:hover img{transform:scale(1.05);}

/* ---------- DENTRO DEL EDITOR DE ELEMENTOR, TODO VISIBLE ----------
   El editor mete la página en un iframe con su propio scroll y redibuja los
   widgets al editarlos. Ahí las animaciones de entrada estorban: se apagan. */
body.elementor-editor-active [data-anim],
body.elementor-editor-active .ih-cta,
body.elementor-editor-active .ih-brain,
body.elementor-editor-active .s5-img-a,
body.elementor-editor-active .s5-img-b,
body.elementor-editor-active .s2-img-a,
body.elementor-editor-active .s2-img-b,
body.elementor-editor-active .ih-title > span,
body.elementor-editor-active .ipo-h2 > span,
body.elementor-editor-active .ipo-card .ipo-list li,
body.elementor-editor-active .s5-card .s5-badge,
body.elementor-editor-active .s5-card .s5-body,
body.elementor-editor-active .s5-card .s5-foot,
body.elementor-editor-preview [data-anim],
body.elementor-editor-preview .ih-cta,
body.elementor-editor-preview .ih-brain,
body.elementor-editor-preview .s5-img-a,
body.elementor-editor-preview .s5-img-b,
body.elementor-editor-preview .s2-img-a,
body.elementor-editor-preview .s2-img-b,
body.elementor-editor-preview .ih-title > span,
body.elementor-editor-preview .ipo-h2 > span,
body.elementor-editor-preview .ipo-card .ipo-list li,
body.elementor-editor-preview .s5-card .s5-badge,
body.elementor-editor-preview .s5-card .s5-body,
body.elementor-editor-preview .s5-card .s5-foot{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
body.elementor-editor-active .s3-line-base,
body.elementor-editor-preview .s3-line-base{stroke-dashoffset:0 !important;transition:none !important;}
body.elementor-editor-active .s3-line-flow,
body.elementor-editor-preview .s3-line-flow{opacity:1 !important;}

/* ---------- RESPETO A QUIEN PIDE MENOS MOVIMIENTO ---------- */
@media (prefers-reduced-motion:reduce){
  .ipo-motion [data-anim],
  .ipo-motion .ih-cta,
  .ipo-motion .ih-brain,
  .ipo-motion .s5-img-a,
  .ipo-motion .s5-img-b,
  .ipo-motion .s2-img-a,
  .ipo-motion .s2-img-b,
  .ipo-motion .ih-title > span,
  .ipo-motion .ipo-h2 > span,
  .ipo-motion .ipo-card .ipo-list li,
.ipo-motion .s2-card .ipo-list li,
  .ipo-motion .s5-card .s5-badge,
  .ipo-motion .s5-card .s5-body,
  .ipo-motion .s5-card .s5-foot{
    opacity:1 !important;transform:none !important;transition:none !important;
  }
  .ih-dots,.ipo-dots,.ipo-mesh,.ih-arcs,.ipo-arcs,.ih-waves,.ipo-glow,.ih-brain img,
  .s3-line-flow,.s3-stop--end .s3-dot,.s6-seal::after,
  .ipo-motion .ih-cta .elementor-button::after{
    animation:none !important;
  }
  .ipo-motion .s3-line-base{stroke-dashoffset:0 !important;transition:none !important;}
  .ipo-motion .s3-line-flow{opacity:1 !important;}
}/* End custom CSS */