.elementor-9 .elementor-element.elementor-element-aa4051d{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-aa4051d:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-aa4051d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-9 .elementor-element.elementor-element-bd08d67 .elementor-heading-title{font-family:"Verdana", Sans-serif;font-weight:700;color:#FF680C;}.elementor-9 .elementor-element.elementor-element-8f59518{--display:flex;--min-height:600px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-9 .elementor-element.elementor-element-8f59518:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-8f59518 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(320deg, var( --e-global-color-primary ) -150%, var( --e-global-color-text ) 100%);}.elementor-9 .elementor-element.elementor-element-7b2da1e{text-align:center;}.elementor-9 .elementor-element.elementor-element-7b2da1e .elementor-heading-title{font-family:"Verdana", Sans-serif;font-size:32px;font-weight:700;color:var( --e-global-color-8771288 );}.elementor-9 .elementor-element.elementor-element-05d51f8{--grid-template-columns:repeat(0, auto);text-align:center;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-9 .elementor-element.elementor-element-05d51f8 .elementor-social-icon{background-color:#02010100;}.elementor-9 .elementor-element.elementor-element-05d51f8 .elementor-social-icon i{color:var( --e-global-color-8771288 );}.elementor-9 .elementor-element.elementor-element-05d51f8 .elementor-social-icon svg{fill:var( --e-global-color-8771288 );}.elementor-9 .elementor-element.elementor-element-bb35fdc{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-bb35fdc:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-bb35fdc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-9 .elementor-element.elementor-element-a21ca9e .elementor-heading-title{font-family:"Verdana", Sans-serif;font-weight:700;color:#FF680C;}@media(max-width:1024px){.elementor-9 .elementor-element.elementor-element-7b2da1e{text-align:center;}}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-bd08d67 .elementor-heading-title{font-size:12px;}.elementor-9 .elementor-element.elementor-element-8f59518{--min-height:500px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-7b2da1e{text-align:center;}.elementor-9 .elementor-element.elementor-element-7b2da1e .elementor-heading-title{font-size:24px;line-height:1.2em;}.elementor-9 .elementor-element.elementor-element-a21ca9e .elementor-heading-title{font-size:12px;}}/* Start custom CSS for heading, class: .elementor-element-bd08d67 */:root{
  --banner-height: 44px;
  --banner-speed: 28s;
  --banner-gap: 2rem;
  --banner-text: #fff;
  --banner-bg: #000;
  --banner-font: 500 12px/1.1 "Inter", system-ui, -apple-system, "Segoe UI", Verdana, Arial, sans-serif;
}

/* ==== Contenedor: no se desborda ==== */
.banner-loop{
  position: relative;
  display: flex;
  align-items: center;
  height: var(--banner-height);
  width: 100%;
  max-width: 100vw;           /* tope duro al viewport */
  min-width: 0;               /* clave si el padre es flex */
  overflow: hidden;           /* corta cualquier exceso */
  border-radius: 999px;
  background: var(--banner-bg);
  box-sizing: border-box;
  padding-inline: 1rem;
  mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

/* ==== Pista animada (dos listas idénticas) ==== */
.banner-track{
  display: flex;
  align-items: center;
  gap: var(--banner-gap);
  white-space: nowrap;
  will-change: transform;
  animation: marquee var(--banner-speed) linear infinite;
}

/* Evita “saltos” y compresión de ítems */
.banner-list{
  display: inline-flex;
  align-items: center;
  gap: var(--banner-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  flex-shrink: 0; /* no se encoge */
}

/* Ítems */
.banner-list li{
  color: var(--banner-text);
  font: var(--banner-font);
  letter-spacing: .2px;
  flex-shrink: 0;
  min-width: max-content; /* asegura que el texto no se quiebre */
}

/* Separador visual entre ítems */
.banner-list li + li::before{
  content: "•";
  opacity: .55;
  margin-right: var(--banner-gap);
}

/* Pausa en hover */
.banner-loop:hover .banner-track{
  animation-play-state: paused;
}

/* Loop suave: movemos exactamente la mitad (porque hay dos listas iguales) */
@keyframes marquee{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ======== Responsivo ======== */
@media (max-width: 768px){
  :root{
    --banner-height: 40px;
    --banner-gap: 1.25rem;
    --banner-speed: 24s;
  }
  .banner-loop{ border-radius: 20px; padding-inline: .75rem; }
  .banner-list li{ font-size: 14px; }
}

@media (max-width: 480px){
  :root{
    --banner-height: 36px;
    --banner-gap: 1rem;
    --banner-speed: 22s;
  }
  .banner-list li{ font-size: 13px; }
}

/* 🔒 Seguro extra si el layout global tiene padding raro */
html, body { max-width: 100%; overflow-x: hidden; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-a21ca9e */:root{
  --banner-height: 44px;
  --banner-speed: 28s;
  --banner-gap: 2rem;
  --banner-text: #fff;
  --banner-bg: #000;
  --banner-font: 500 12px/1.1 "Inter", system-ui, -apple-system, "Segoe UI", Verdana, Arial, sans-serif;
}

/* ==== Contenedor: no se desborda ==== */
.banner-loop{
  position: relative;
  display: flex;
  align-items: center;
  height: var(--banner-height);
  width: 100%;
  max-width: 100vw;           /* tope duro al viewport */
  min-width: 0;               /* clave si el padre es flex */
  overflow: hidden;           /* corta cualquier exceso */
  border-radius: 999px;
  background: var(--banner-bg);
  box-sizing: border-box;
  padding-inline: 1rem;
  mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

/* ==== Pista animada (dos listas idénticas) ==== */
.banner-track{
  display: flex;
  align-items: center;
  gap: var(--banner-gap);
  white-space: nowrap;
  will-change: transform;
  animation: marquee var(--banner-speed) linear infinite;
}

/* Evita “saltos” y compresión de ítems */
.banner-list{
  display: inline-flex;
  align-items: center;
  gap: var(--banner-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  flex-shrink: 0; /* no se encoge */
}

/* Ítems */
.banner-list li{
  color: var(--banner-text);
  font: var(--banner-font);
  letter-spacing: .2px;
  flex-shrink: 0;
  min-width: max-content; /* asegura que el texto no se quiebre */
}

/* Separador visual entre ítems */
.banner-list li + li::before{
  content: "•";
  opacity: .55;
  margin-right: var(--banner-gap);
}

/* Pausa en hover */
.banner-loop:hover .banner-track{
  animation-play-state: paused;
}

/* Loop suave: movemos exactamente la mitad (porque hay dos listas iguales) */
@keyframes marquee{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ======== Responsivo ======== */
@media (max-width: 768px){
  :root{
    --banner-height: 40px;
    --banner-gap: 1.25rem;
    --banner-speed: 24s;
  }
  .banner-loop{ border-radius: 20px; padding-inline: .75rem; }
  .banner-list li{ font-size: 14px; }
}

@media (max-width: 480px){
  :root{
    --banner-height: 36px;
    --banner-gap: 1rem;
    --banner-speed: 22s;
  }
  .banner-list li{ font-size: 13px; }
}

/* 🔒 Seguro extra si el layout global tiene padding raro */
html, body { max-width: 100%; overflow-x: hidden; }/* End custom CSS */