/* Page-specific styles for index.php (homepage). */

/* --- block 1 --- */
  .imgssat.mobile-process-machine {
    position: relative;
    height: 100%;
    margin-top: 35px;
  }

  .mobile-process-machine .ondasinputos {
    opacity: 0.5;
  }

  .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
  .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
    background-image: none !important;
  }

  @media screen and (max-height: 1024px) {

    .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
    .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
      background-image: none !important;
    }
  }

  @media screen and (max-height: 640px) {

    .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
    .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
      background-image: none !important;
    }
  }

/* --- block 2 --- */
    .redesdrop {
      margin-top: 2vw;
    }

    .redesdrop p {
      font-size: 0.938vw;
    }

    .redesdrop a:hover {
      color: white;
    }

    /*
.direccionwrp a span {
	transition: .4s ease;
}
.direccionwrp a:hover span {
	color: var(--Rojo);
}*/
    .txtwrpmenudesp {
      z-index: 6;
    }

    .numbwrp {
      width: 6vw;
    }

    .txtwrpproductos {
      width: 100%;
    }

    .menudesplegado {
      height: 100vh;
      position: fixed;
      width: 100%;
      display: flex;
      flex-direction: column;
      padding-left: 3.5%;
      padding-right: 3.5%;
      padding-top: 5%;
      padding-bottom: 5%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      z-index: -1;
    }

    .menudesplegado a,
    .menudesplegado p {
      font-weight: 300;
    }

    .menudesplegadowrp {
      gap: 35px;
    }

    .nombremenuswrp {
      width: 60%;
    }

    .direccionwrp {
      width: 40%;
    }

    .fila {
      display: flex;
      flex-direction: row;
      gap: 2vw;
      width: 100%;
    }

    .nombremenuswrp p {
      font-size: 2.5vw;
      color: white;
    }

    .txtwrpproductos {
      position: relative;
      cursor: pointer;
    }

    .txtwrpproductos::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      height: 0.12vw;
      width: 0;
      background-color: #FF2D37;
      transition: width 0.6s ease;
    }

    .txtwrpproductos:hover::after {
      width: 100%;
    }

    .txtwrpproductos {
      position: relative;
      display: flex;
      flex-direction: row;
    }

    .listaproductos {
      cursor: none;
    }

    .txtwrpproductos:hover .listaproductoswrp {
      opacity: 1;
      z-index: 10;
    }

    .listaproductoswrp {
      position: absolute;
      opacity: 0;
      right: 0;
      bottom: 0;
      display: grid;
      grid-template-rows: 1fr 1fr 1fr;
      grid-gap: 2vw;
      grid-auto-flow: column;
      z-index: 5;
      transition: .4s ease;
      transition-delay: .1s;
      padding-bottom: 0.4vw;
      /*background-color: black;*/
      padding-left: 1%;
      padding-right: 1%;
      padding-top: 1%;
      /*margin-bottom: 1vw;*/
    }

    .item {
      position: relative;
      text-align: center;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-direction: row;
      gap: 0.854vw;
    }

    .item::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      height: 0.12vw;
      width: 0;
      background-color: white;
      transition: width 0.4s ease;
    }

    .item:hover::after {
      width: 100%;
    }

    .item p {
      font-size: 1.25vw;
    }

    .flechamenudesp {
      height: 0.938vw;
      width: 0.938vw;
    }

    .htmlwrpmidmenu .elementor-widget-container {
      display: flex;
      justify-content: space-between;
      align-content: center;
    }

    .direccionwrp {
      display: flex;
      flex-direction: column;
      align-self: end;
      justify-content: end;
      align-items: end;
      text-align: end;
    }

    .direccionwrp span {
      color: white;
      text-align: right;
      font-size: 0.938vw;
      text-transform: uppercase;
    }

    .txtsubr p {
      position: relative;
    }

    .txtsubr p::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      height: 0.12vw;
      width: 0;
      background-color: white;
      transition: width 0.4s ease;
    }

    .txtsubr p:hover::after {
      width: 100%;
    }

    .txtsubr a {
      position: relative;
    }

    .txtsubr a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      height: 0.12vw;
      width: 0;
      background-color: white;
      transition: width 0.4s ease;
    }

    .txtsubr a:hover::after {
      width: 100%;
    }

    @media (max-width: 767.98px) {
      .direccionwrp span {
        font-size: 2vw;
      }

      .direccionwrp {
        gap: 0px;
      }

      .nombremenuswrp p {
        font-size: 3.2vw;
        color: white;
      }

      .menudesplegado {
        justify-content: start !important;
      }

      .redesdrop {
        flex-direction: column;
        justify-content: center !important;
        margin-top: 15px;
      }

      .redesdrop p,
      .redesdrop a {
        font-size: 2vw;
      }

      /*+css en css de preloader porque aquí no dejaba*/
    }
  

/* --- block 3 --- */
    .df {
      display: flex;
    }

    .jfc {
      justify-content: center;
    }

    .jfcs {
      justify-content: start;
    }

    .jfce {
      justify-content: end;
    }

    .jfsb {
      justify-content: space-between;
    }

    .frow {
      flex-direction: row;
    }

    .fcolumn {
      flex-direction: column;
    }

    .frowrev {
      flex-direction: row-reverse;
    }

    .fcolumnrev {
      flex-direction: column-reverse;
    }

    .aic {
      align-items: center;
    }

    .ais {
      align-items: start;
    }

    .aie {
      align-items: end;
    }

    .pabs {
      position: absolute;
    }

    .prel {
      position: relative;
    }

    .bblack {
      background-color: black;
    }

    .bcover {
      background-size: cover;
    }

    .cwhite {
      color: white;
    }

    .cred {
      color: var(--Rojo);
    }

    .fw300 {
      font-weight: 300 !important;
    }

    .fw400 {
      font-weight: 400 !important;
    }

    .fw500 {
      font-weight: 500 !important;
    }

    .fw600 {
      font-weight: 600 !important;
    }

    .fw700 {
      font-weight: 700 !important;
    }

    .h100 {
      height: 100vh;
    }

    .h100p {
      height: 100%;
    }

    .w100 {
      width: 100vw;
    }

    .w100p {
      width: 100%;
    }

    .w50p {
      width: 50%;
    }

    .ofh {
      overflow: hidden;
    }

    .curnon {
      cursor: none !important;
    }

    .seetr p {
      transition: .4s ease;
    }

    .seetr svg path,
    .seetr svg rect {
      transition: .4s ease;
    }

    .seetr:hover p {
      color: white !important;
    }

    .seetr:hover svg path {
      stroke: white !important;
    }

    .seetr:hover svg rect {
      stroke: white !important;
    }

    @media (max-width: 767.98px) {
      .fcolumnmovil {
        flex-direction: column !important;
      }

      .frowmovil {
        flex-direction: row !important;
      }

      .jfcmovil {
        justify-content: center !important;
      }

      .jfcsmovil {
        justify-content: start !important;
      }

      .jfcemovil {
        justify-content: end !important;
      }

      .jfsbmovil {
        justify-content: space-between !important;
      }

      .aicmovil {
        align-items: center !important;
      }

      .aismovil {
        align-items: start !important;
      }

      .aiemovil {
        align-items: end !important;
      }

      .fs14mv {
        font-size: 14px !important;
      }

      .fs16mv {
        font-size: 16px !important;
      }

      .fs18mv {
        font-size: 18px !important;
      }

      .fs20mv {
        font-size: 20px !important;
      }

      .lh100mv {
        line-height: 100% !important;
      }

      .lh125mv {
        line-height: 125% !important;
      }

      .lh150mv {
        line-height: 150% !important;
      }

      .lh175mv {
        line-height: 175% !important;
      }

      .txtalmdmv {
        text-align: center !important;
      }

      .txtallemv {
        text-align: left !important;
      }

      .txtalrimv {
        text-align: right !important;
      }

      .gap10mv {
        gap: 10px !important;
      }

      .gap12mv {
        gap: 12px !important;
      }

      .gap14mv {
        gap: 14px !important;
      }

      .gap20mv {
        gap: 20px !important;
      }

      .pb5mv {
        padding-bottom: 5% !important;
      }

      .pd5mv {
        padding: 5% !important;
      }

      .h100movil {
        height: 100vh;
        min-height: calc(var(--vh, 1vh) * 100);
      }

    }
  

/* --- block 4 --- */
    .video-modal .close-modal {
      padding: 0.6vw 1.145vw !important;
    }

    p {
      margin: 0;
      padding: 0;
    }

    a,
    button {
      cursor: none !important;
    }

    button:active,
    button:focus {
      background-color: var(--Rojo) !important;
    }

    .buttonburgerheader:focus,
    .liquidoon-toggle:focus {
      background-color: transparent !important;
    }

    .animartexto2intro {
      visibility: hidden;
    }

    .animartexto2 {
      visibility: hidden;
    }

    .mainwrpscrollcont {
      background-color: black;
    }

    #site-header,
    #site-footer {
      display: none;
    }

    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    span {
      font-family: "Poppins", sans-serif;
      margin: 0;
      padding: 0;
    }

    body {
      background-color: black;
    }

    .buttonburgerheader {
      display: flex !important;
      justify-content: center !important;
      align-content: center !important;
    }

    /*Anular transiciones default*/
    .nulltr {
      transition: none !important;
    }

    /*Textos Rotativos*/
    .txtwrpmenudesp {
      overflow: hidden;
      position: relative;
    }

    .txt1 {
      transition: 0.4s ease;
    }

    .txt2 {
      position: absolute;
      top: 0;
    }

    .txt2 {
      transform: translateY(100%);
      transition: 0.4s ease;
    }

    .txtwrpmenudesp:hover .txt1 {
      transform: translateY(-100%);
      transition: 0.4s ease;
    }

    .txtwrpmenudesp:hover .txt2 {
      transform: translateY(0%);
    }
  

/* --- block 5 --- */
    .productssection {
      width: 100%;
      align-self: center;
      height: 5vw;
      display: none;
      justify-content: center;
      align-items: center;
      border-radius: 1vw;
      z-index: 5;
    }

    .productssection .item2 {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1vw;
    }

    .productssection .item2 p {
      color: white;
      transition: .4s ease;
    }

    .productssection .item2 path,
    .productssection .item2 svg {
      transition: .4s ease;
    }

    .productssection .item2:hover p {
      color: var(--Rojo);
    }

    .productssection .item2:hover path {
      stroke: var(--Rojo);
    }

    .productssection .item2:hover svg {
      transform: rotate(-45deg);
    }

    .listaproductoswrpmenuweb {
      gap: 4vw;
    }

    .mainheader {
      position: fixed;
      z-index: 50;
      padding: 0.5% 1%;
    }

    .headerwrappermain {
      padding: 3% 3%;
      border-radius: 5.208vw;
      height: 5vw;
      z-index: 10;
    }

    .mainheader button {
      all: unset;
      /* Elimina todos los estilos predeterminados */
      cursor: pointer;
      /* Restaura el comportamiento de botón */
    }

    .headerendwrp {
      width: 9%;
    }

    .productsheaderwrp a {
      font-size: 0.833vw;
      color: white;
    }

    p {
      margin: 0;
    }

    .logoliquido {
      width: 18.854vw;
      height: 1.354vw;
    }

    .logoheaderresponsive {
      display: none;
    }

    .buttonburgerheader:active {
      background-color: #ff2d3700 !important;
    }

    @media (max-width: 767.98px) {
      .logoliquido {
        display: none;
      }

      .logoheaderresponsive {
        display: flex;
        width: 35px;
        height: 35px;
      }

      .headerwrappermain {
        height: 65px;
        background-color: #181818;
        border-radius: 48px;
        padding: 3% 6%;
      }

      .hamburguesa {
        height: 36px;
        width: 36px;
      }

      .fila {
        gap: 15px;
      }

      .productsheaderwrp {
        display: none;
      }

      .headerendwrp {
        justify-content: end;
      }

      .direccionwrp {
        width: 100%;
      }

      .direccionwrp a {
        align-self: center;
        text-align: center;
      }

      .redesdrop {
        align-items: center !important;
        gap: 10px;
        margin-top: 5px !important;
      }

      .direccionwrp span {
        text-align: center !important;
      }

      .menudesplegado {
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        gap: 5px;
      }

      .tagliquidotech {
        display: none;
      }

      .mainheader {
        padding: 1% 2%;
      }

      .nombremenuswrp p {
        font-size: 19px;
        color: white;
      }

      .redesdrop p,
      .redesdrop a {
        font-size: 16px;
      }

      .direccionwrp span {
        font-size: 16px;
      }

      .txtsubr a {
        font-size: 16px;
      }

      .cursor-follower {
        display: none;
      }

      .menuspacer {
        height: 150px !important;
        min-height: 60px;
      }

    }
  

/* --- block 6 --- */
    @media (max-width: 767.98px) {
      .section2wrpft {
        margin-top: 48px;
        gap: 48px !important;
      }

      .svgliquidofooter {
        margin: 48px 0;
      }

      .menudesplegado {
        top: 0;
        padding-top: 0 !important;
      }
    }
  

/* --- block 7 --- */
  .video-modal .close-modal {
    transition: .4s ease;
  }

  .close-modal:hover {
    color: white;
    background: var(--Rojo) !important;
  }

  .cuadrado2 {
    transform: rotate(90deg);
    /*transform: rotate(90deg), translateY(-45%);*/
  }

  .cuadrado3 {
    transform: rotate(270deg);
  }

  .cuadrado4 {
    transform: rotate(180deg);
  }

  .cuadrado {
    position: absolute;
    height: 2.5vw;
    width: 2.5vw;
    z-index: 99999;
  }

  .background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    pointer-events: none;
  }

  .mainhomeheroliquido {
    position: relative;
    cursor: pointer;
    /* Indica que el área es clicable */
  }

  .svgliquido,
  .challenge {
    z-index: 2;
  }

  /* Modal de video */
  .video-modal {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    visibility: hidden;
    opacity: 1;
  }

  .video-modal .modal-content {
    width: 90%;
    height: auto;
    max-height: 90%;
    border-radius: 10px;
  }

  .video-modal video {
    max-height: 90vh;
  }

  .video-modal .close-modal {
    position: absolute;
    top: 5%;
    right: 5%;
    background: #fff;
    border: none;
    font-size: 1.2vw;
    padding: 0.8vw 1.2vw;
    border-radius: 50%;
  }

  .video-modal.visible {
    visibility: visible;
    opacity: 1;
  }

  .challenge {
    padding: 0% 3%;
  }

  .challengesvgwrp {
    width: 40%;
  }

  .iam {
    width: 70%;
  }

  .svgliquido svg {
    height: 13vw !important;
    width: auto !important;
  }

  .mainhomeheroliquido {
    background-color: black;
    height: 100vh;
    display: flex;
    align-items: end;
    padding-bottom: 1%;
  }

  .svgliquido {
    gap: 3vw;
    padding: 0% 3% 1%;
  }

  .iam {
    gap: 2.135vw;
  }

  .custom-button {
    display: inline-flex;
    padding: 12px 40px;
    justify-content: center;
    align-items: center;
    gap: 1.46vw;
    border-radius: 5.21vw;
    background: var(--Rojo);
    color: #fff;
    font-size: clamp(14px, 1vw, 19px);
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 5;
    transition: color 0.3s ease;
    text-transform: uppercase;
    font-family: 'Poppins';
    font-weight: 300;
    letter-spacing: 0.5px;
    line-height: normal;
  }

  .custom-button::before {
    content: "";
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: bottom 0.3s ease;
    z-index: -1;
  }

  .custom-button:hover::before {
    bottom: 0;
  }

  .custom-button:hover {
    color: var(--Rojo);
    background-color: var(--Rojo);
  }

  .interested {
    color: var(--Blanco, #FFF);
    font-family: Poppins;
    font-size: clamp(14px, 0.9vw, 18px);
    font-style: normal;
    font-weight: 300;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .svgliquido svg {
    opacity: 0;
  }

  /* .challenge {
    opacity: 0;
  } */

/* --- block 8 --- */
  .ndmole,
  .antenaswrp {
    display: none !important;
  }

  .video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 1;
    /* Ocultar el video inicialmente */
    pointer-events: none;
    /* Evitar interacciones */
  }

  @media (max-width: 767.98px) {
    .video-bg {
      object-position: 10% 50%;
    }
  }

  .txtwrp,
  .imgswrp {
    height: 100vh;
    width: 100vw;
    position: absolute;
  }

  .triggerAntena {
    height: 10vh;
    width: 100%;
    position: relative;
  }

  .antenaswrp {
    position: absolute;
    top: 7%;
    left: 50%;
    transform: translate(-50%, 0%) scale(0);
    background-size: cover;
    opacity: 0;
    background-repeat: no-repeat;
    max-height: 100vh !important;
    max-width: 100vw !important;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    padding-bottom: 0%;
    padding-right: 5%;
  }

  .antenaswrp p {
    font-size: 6.667vw;
    color: white;
    font-weight: 400;
    z-index: 5;
  }

  .txtwrp p {
    text-align: center;
    font-size: 2.5vw;
    font-style: normal;
    font-weight: 200;
    text-transform: uppercase;
    color: white;
  }

  .txtwrp span:first-of-type {
    opacity: 1;
  }

  .txtwrp span {
    opacity: 0.2;
  }

  .txtwrp {
    padding: 0% 11.5%;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .imgswrp {
    z-index: 3;
  }

  .maintxtimgswrp {
    height: 240vh;
    display: flex;
    flex-direction: column;
    background-color: black;
    position: relative;
  }

  .maintxtimgs {
    height: 400vh;
    position: relative;
  }

  .txtimgswrp {
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .imguniverse {
    object-fit: cover;
    position: absolute;
    z-index: 5;
  }

  .imguniverse1 {
    height: 15vw !important;
    width: 22.344vw !important;
    top: 10vw;
    left: 40%;
  }

  .imguniverse2 {
    height: 14.583vw !important;
    width: 22.188vw !important;
    left: 4%;
    top: 35%;
  }

  .imguniverse3 {
    height: 14.635vw !important;
    width: 22.188vw !important;
    right: 4%;
    bottom: 22%;
  }

/* --- block 9 --- */
  .txtimgswrp {
    will-change: transform, top;
  }

  @media (max-width: 767.98px) {
    .antenaswrp {
      position: relative;
      top: auto;
      left: auto;
      transform: none;
      width: 100%;
      max-width: 100% !important;
      height: 60vh;
      min-height: 380px;
      z-index: 10;
      display: flex;
      flex-direction: column;
      justify-content: end;
      align-items: center;
      padding: 0% 3% 6% 3%;
      overflow: hidden;
    }

    .antenaswrp .video-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      max-width: 100%;
    }

    .wdref {
      height: 0vh !important;
    }

    .antenaswrp p {
      font-size: 7.6vw;
      line-height: 120%;
    }

    .maintxtimgswrp {
      height: auto;
      max-width: 100%;
      overflow-x: hidden;
    }

    html,
    body {
      overflow-x: hidden !important;
      max-width: 100% !important;
    }

    .triggerAntena {
      height: 1vh;
    }

    .txtwrp br {
      display: none;
    }

    .maintxtimgs {
      height: 100vh;
    }

    .txtimgswrp {
      height: auto;
      min-height: 50vh;
      padding: 8vh 0;
    }

    .txtwrp,
    .imgswrp {
      height: auto;
      width: 100%;
      position: relative;
    }

    .txtwrp {
      padding: 0 6%;
    }

    .txtwrp p {
      font-size: 4.4vw;
      line-height: 150%;
    }

    .antenaswrp {
      display: flex !important;
      opacity: 1;
      align-items: self-start;
      gap: 0;
    }

    .antenaswrp .video-bg {
      z-index: -9;
    }

    .antenaswrp p {
      opacity: 1 !important;
      transform: none !important;
    }

  }

/* --- block 10 --- */
  .grow-on-scroll {
    transform: scale(var(--scale, 0));
    transform-origin: center center;
    transition: transform 0.5s ease-out;
    /* slower than 0.1s */

  }

/* --- block 11 --- */
  .contenedorintroduction {
    height: 400vh;
  }

  .txtwrpintroduction {
    display: flex;
    flex-direction: column;
    font-weight: 200;
    text-transform: uppercase;
  }

  .txtintroductionwrp {
    display: flex;
    flex-direction: column;
    gap: 3.177vw;
    width: 70%;
    position: relative;
  }

  .txtintroductionwrp span:first-of-type {
    opacity: 1;
  }

  .txtintroductionwrp span {
    opacity: 0.2;
    font-size: 2.5vw;
    color: white;
  }

  .txtintroductionwrp h3 {
    color: var(--Rojo);
    font-size: 1.042vw;
    text-transform: uppercase;
    font-weight: 300;
  }

  .introductionwrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1%;
    flex-direction: row;
    height: 100vh;
    width: 100%;
    padding-top: 5%;
    padding-bottom: 5%;
    padding-left: 4%;
    padding-right: 12%;
  }

  .imgintroductionwrp {
    position: relative;
    display: flex;
    width: 30%;
    overflow: hidden;
    height: 14.1vw;
  }

  .imgintroduction {
    width: 21.979vw;
    height: 12.396vw !important;
    object-fit: cover;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: none;
    margin-top: calc(-12.396vw / 2);
    margin-left: calc(-21.979vw / 2);
  }

  .marcoimg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

/* --- block 12 --- */
  .worldcontainer {
    z-index: 10;
  }

  .imgssat {
    width: 100%;
    height: 100%;
    position: absolute;
  }

  .redwaves {
    top: 50%;
    transform: translate(-50%, -50%);
  }


  .txtinputwrpmain {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 2vw;
    margin-left: -1vw;
    margin-left: 15.8vw;
    margin-left: auto;
    justify-content: center;
    width: auto;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    bottom: 10%
  }

  .txtinputwrp {
    position: relative;
    height: 100%;
  }

  .txtinputwrp1 {
    top: 22.5%;
    left: 0%;
  }

  .txtinputwrp2 {
    top: 34%;
    left: 0%;
  }

  .txtinputwrp3 {
    top: 42%;
    left: 0%;
  }

  .txtinputwrp4 {
    top: 53%;
    left: 0%;
  }

  .txtinputwrp5 {
    top: 64%;
    left: 0%;
  }

  .txtinputwrp6 {
    top: 71.4%;
    left: 0%;
  }

  .barrasquare {
    margin: 0vw 1vw;
    border-top: 0.5px solid #737373;
  }

  .barrasquare1 {
    width: 50px;
  }

  .barrasquare2 {
    width: 50px;
  }

  .barrasquare3 {
    width: 50px;
  }

  .barrasquare4 {
    width: 50px;
  }

  .barrasquare5 {
    width: 50px;
  }

  .barrasquare6 {
    width: 50pxs;
  }

  .txtinputwrp {
    width: auto;
    z-index: 99;
    align-items: self-start;
  }

  .txtinputs {
    color: white;
    font-size: 1.6vw;
    line-height: 2vw;
  }

  .inputsmaincontainer {
    background-color: black;
    padding: 10% 0%;
  }

  .ondasinputos {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 100%;
    width: 100%;
    object-fit: contain;
    opacity: 0.25;
    pointer-events: none;
  }

  .satellitered {
    width: 8vw !important;
    height: 8vw !important;
    object-fit: contain;
    position: absolute;
    top: 50%;
    left: 19%;
    transform: translate(-50%, -50%);
  }

  .inputswrp {
    display: flex;
    justify-content: start;
    align-items: center;
  }

  .worldimginput {
    position: relative;
    width: 35vw;
    height: 42vw !important;
    object-fit: contain;
    transform: translateX(-60%);
  }

  .redwaves {
    position: absolute;
    width: 35vw;
    height: 35vw !important;
    object-fit: contain;
    transform-origin: center;
    will-change: transform;
  }

  @keyframes rotate-wavered {
    from {
      transform: rotate(0deg);
    }

    to {
      transform: rotate(360deg);
    }
  }

/* --- block 13 --- */
                    .worldconttxt {
                      font-size: 2.5vw;
                      text-align: center;
                      line-height: normal;
                      position: absolute;
                      width: 80%;
                      font-weight: 200;
                      text-transform: uppercase;
                    }

                    .weareworld {
                      font-size: 1.042vw;
                      margin-top: 1vw;
                    }

                    .worldcontainer {
                      background-color: black;
                      display: flex;
                      justify-content: flex-start;
                      align-items: center;
                      background-color: black;
                      padding: 5%;
                      height: 100vh;
                      min-height: 900px;
                    }

                    .worldwrapper {
                      display: flex;
                      justify-content: center;
                      align-items: center;
                      height: auto;
                      position: relative;
                      height: auto;
                      width: 100%;
                    }

                    .worldimg {
                      width: 32vw !important;
                      height: 32vw !important;
                      object-fit: cover;
                      align-self: center;
                    }

                    .worldwaves {
                      position: absolute;
                      top: 50%;
                      left: 50%;
                      transform: translate(-49.5%, -49.5%);
                      height: 41vw !important;
                      width: 40vw !important;
                      object-fit: contain;
                      opacity: 0;
                    }

                    .satellite1 {
                      object-fit: contain;
                      top: 42%;
                      right: 24%;
                      transform-origin: -17vw 45%;
                    }

                    .satellite2 {
                      bottom: -4%;
                      left: 50%;
                      transform-origin: 0vw -245%;
                    }

                    .satellite3 {
                      bottom: 15%;
                      left: 24%;
                      transform-origin: 23vw -100%;
                    }

                    .satellite {
                      position: absolute;
                      width: 7vw !important;
                      height: 5vw !important;
                      object-fit: contain !important;
                      opacity: 0;
                    }


                    .worldconttxt span {
                      display: inline-block;
                    }

                    @keyframes rotate-satellite {
                      0% {
                        transform: rotate(0deg) translateX(0);
                      }

                      100% {
                        transform: rotate(360deg) translateX(0);
                      }
                    }

                    @keyframes rotate-satelliteRev {
                      0% {
                        transform: rotate(0deg) translateX(0);
                      }

                      100% {
                        transform: rotate(-360deg) translateX(0);
                      }
                    }
                  

/* --- block 14 --- */
  .worldcontainerresponsive {
    display: none;
    flex-direction: column;
    gap: 45px;
    justify-content: center;
    height: auto !important;
    padding: 10% 5%;
    margin-bottom: 50px;
  }

  .worldimgresp {
    position: relative;
    width: 100% !important;
    z-index: 5;
    height: 400px;
  }

  .weareworldres p {
    font-size: 16px;
  }

  .txtinputwrpres {
    gap: 25px;
    width: 85%;
    justify-content: start;
    z-index: 10;
  }

  .txtinputwrpres p {
    text-align: left;
  }

  .txtinputwrpres .cuadradoinput svg {
    width: 18px;
    height: 18px;
  }

  .worldcontainer {
    z-index: 10;
  }

  .imgssat {
    width: 100%;
    height: 100%;
    position: absolute;
  }

  .redwaves {
    top: 50%;
    right: -45%;
    transform: translate(-50%, -50%) !important;

  }

  .txtinputwrpmainres {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    width: 100%;
    flex-direction: column;
  }

  .txtinputwrpres .txtinputs {
    color: white;
    font-size: 18px;
  }

  .inputswrp {
    display: flex;
    justify-content: start;
    align-items: center;
  }

  .worldimginput {
    position: relative;
    width: 35vw;
    height: 42vw !important;
    object-fit: contain;
    transform: translateX(-60%);
  }

  .redwaves {
    position: absolute;
    width: 60vw;
    height: 60vw !important;
    object-fit: contain;
    transform-origin: center;
    /*        animation: rotate-wavered 85s linear infinite;*/
    will-change: transform;
  }

/* --- block 15 --- */
                    .worldconttxtres {
                      font-size: 18px;
                      text-align: center;
                      line-height: 180%;
                      position: relative;
                      width: 85%;
                    }

                    .worldcontainerres {
                      background-color: black;
                      display: flex;
                      justify-content: center;
                      align-items: center;
                      background-color: black;
                      padding: 5%;
                      height: auto !important;
                      min-height: 900px;
                    }

                    .worldwrapperres {
                      display: flex;
                      justify-content: center;
                      align-items: center;
                      height: auto;
                      position: relative;
                      /*height: 100vh;*/
                      height: auto;
                      width: 100%;
                    }

                    .worldimg {
                      width: 32vw !important;
                      height: 32vw !important;
                      object-fit: cover;
                      align-self: center;
                    }

                    .worldwaves {
                      position: absolute;
                      top: 50%;
                      left: 50%;
                      transform: translate(-49.5%, -49.5%);
                      height: 41vw !important;
                      width: 40vw !important;
                      object-fit: contain;
                      opacity: 0;
                    }

                    .worldconttxtres span {
                      display: inline-block;
                    }
                  

/* --- block 16 --- */
  .imgwrpproduct {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .video-products {
    width: 30vw;
    height: 550px;
    object-fit: cover;
    border-radius: 25px;
  }

  .moreinfowrp {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: end;
  }

  .textprd {
    margin-top: 3vw;
    margin-bottom: 2vw;
  }

  .moreinfo {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
  }

  .moreinfo p {
    font-size: 0.938vw !important;
  }

  .productsmainwrp {
    background-color: var(--Negro);
  }

  .productswrp {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.6vw;
    position: relative;
    padding: 8% 4% 8%;
  }

  .imgandtxtwrpproduct {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
  }

  .imgwrpproduct {
    width: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: start;
    padding-right: 80px;
  }

  .txtproductwrp {
    width: 50%;
    position: relative;
    display: flex;
    flex-direction: column;
    padding-right: 10%;
  }

  .productswrp p {
    color: var(--Rojo);
    font-size: 1.042vw;
    text-transform: uppercase;
    font-weight: 400;
  }


  .txtproductwrp h2 {
    color: white;
    font-weight: 200;
    font-size: 4vw;
    line-height: 4vw;
    text-transform: uppercase;
  }

  .txtproductwrp p {
    color: white;
    font-weight: 300;
    font-size: 18px;
    text-transform: none;
    line-height: 28px;
  }

/* --- block 17 --- */
  .tagliquidotech {
    position: fixed;
    height: 15.646vw;
    width: 3vw;
    right: 0%;
    top: 15%;
    z-index: 40;
  }

  .tagliquidowrp1 {
    background-color: var(--Rojo);
    transform: rotate(-90deg);
    transform-origin: bottom right;
    padding: 0.4vw;
    width: 13.646vw;
    position: absolute;
    top: 0%;
    right: 0%;
    z-index: 5;
  }

  .tagliquidowrp1 p {
    color: white;
    font-size: 0.8vw;
  }

  .tagliquidowrp2 {
    background-color: var(--Rojo);
    height: 13.646vw;
    width: 9.635vw;
    padding: 1.5vw 0.7vw;
    position: absolute;
    bottom: 0%;
    right: 0%;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
  }

  .tagliquidowrp2 p {
    color: white;
    font-size: 1.042vw;
  }

  .tagliquidowrp2 svg path,
  .tagliquidowrp2 svg rect {
    transition: .4s ease;
  }

  .tagliquidowrp2 svg:hover path {
    transform: scale(1.10);
  }

/* ===========================================================
   Phase R2.5 — homepage mobile overrides
   Addresses three systemic issues identified in 375px audit:
   1. Scroll-reveal opacity animations that never fire on mobile,
      leaving 80% of paragraph copy stuck at opacity:0.2.
   2. vw-based fonts that fall below readability (2.5vw=9.4px,
      1.6vw=6px, 1.042vw=3.9px at 375).
   3. Existing rules inside @media (max-width: 767.98px) that keep
      desktop-grid layout (flex-direction:row + width:50%) on
      product cards, crushing them into 1-word-per-line columns.
   =========================================================== */

@media (max-width: 767.98px) {
  /* 1. Force opacity:1 on scroll-reveal spans so all words are visible
        even if the JS animation doesn't fire. */
  .txtwrp span,
  .txtintroductionwrp span,
  .txtwrp span:first-of-type,
  .txtintroductionwrp span:first-of-type {
    opacity: 1 !important;
  }

  /* 2. Readable fonts. Override sub-10px vw fonts with a sane min. */
  .txtwrp p,
  .txtwrp span,
  .txtintroductionwrp span,
  .txtintroductionwrp p {
    font-size: clamp(14px, 4vw, 18px) !important;
    line-height: 1.55 !important;
  }

  .productswrp p {
    font-size: 13px !important;
  }

  .txtproductwrp h2 {
    font-size: clamp(22px, 7vw, 32px) !important;
    line-height: 1.15 !important;
  }

  .txtproductwrp p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  /* Stat row in the satellite/innovation section. Was 1.6vw (=6px). */
  .txtinputs,
  .txtinputs * {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* 3. Stack product image+text vertically on mobile (was 50/50 row). */
  .imgandtxtwrpproduct {
    flex-direction: column !important;
    gap: 24px;
  }

  .imgwrpproduct,
  .txtproductwrp {
    width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .imgwrpproduct {
    max-width: 480px;
    margin: 0 auto;
    justify-content: center !important;
  }

  /* 4. Hide decorative absolute-positioned graphics that overflow
        and clutter the mobile layout. Keep the mobile process machine
        image (.mobile-process-machine .ondasinputos) since that's the
        actual mobile content, not decoration. */
  .satellitered,
  .barrasquare,
  .imgssat:not(.mobile-process-machine),
  .redwaves {
    display: none !important;
  }

  .ondasinputos:not(.mobile-process-machine *) {
    display: none !important;
  }

  /* 5. Stop sections from being 100vh- or 400vh-tall on mobile.
        These desktop scroll-pinning containers waste 3000-4000px of
        vertical space when the GSAP ScrollTrigger pin doesn't fire. */
  .mainhomeheroliquido {
    min-height: auto !important;
    height: auto !important;
    padding-top: 80px;
    padding-bottom: 40px;
  }

  .contenedorintroduction {
    height: auto !important;
  }

  .introductionwrapper {
    height: auto !important;
    flex-direction: column !important;
    padding: 40px 16px !important;
    gap: 24px;
  }

  .imgintroductionwrp {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    position: relative;
  }

  /* Show only the first introduction image; hide the rotators that
     would normally cross-fade on scroll. */
  .imgintroduction {
    position: relative !important;
    width: 100% !important;
    max-width: 480px;
    height: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    object-fit: cover;
  }

  .imgintroductionwrp {
    display: flex !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .imgintroduction2,
  .imgintroduction3 {
    display: none !important;
  }

  .marcoimg {
    display: none !important;
  }

  .productswrp {
    padding: 40px 16px !important;
  }

  .inputsmaincontainer {
    padding: 40px 16px !important;
  }

  .worldcontainer,
  .worldimginput,
  .worldcontainerresponsive {
    height: auto !important;
    min-height: auto !important;
  }

  /* The mobile-specific section was set to display:none by default and
     never overridden — so mobile users have been seeing the desktop
     satellites layout. Swap visibility now. */
  .worldcontainer {
    display: none !important;
  }

  .worldcontainerresponsive {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 24px 16px !important;
    gap: 0;
  }

  .worldwrapperres {
    width: 100% !important;
  }

  /* 6. Force opacity:1 on the OTHER scroll-reveal mechanisms beyond
        the .txtwrp/.txtintroductionwrp ones from rule #1. These spans
        get JS-set opacity:0 on load and only become visible if a GSAP
        ScrollTrigger fires. On mobile that often doesn't fire. */
  .txtwrpintroduction span,
  .worldconttxtres span,
  .txtinputwrpres,
  .txtinputwrp1,
  .txtinputwrp3,
  .txtinputwrp4,
  .txtinputwrp5 {
    opacity: 1 !important;
    transform: none !important;
  }

  /* The mobile-only .worldcontainerresponsive section: lay its 4 cards
     out in a 2x2 grid, not absolute-positioned overlapping. */
  .txtinputwrpmainres {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto !important;
    padding: 24px 0 !important;
  }

  .txtinputwrpres {
    position: static !important;
    width: 100% !important;
  }

  .worldconttxtres p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: center;
    padding: 0 16px;
  }

  .imgssat.mobile-process-machine {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 24px auto !important;
    max-width: 320px;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    justify-content: center !important;
  }

  .imgssat.mobile-process-machine .ondasinputos {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
    object-fit: contain !important;
  }

  .worldcontainerresponsive {
    overflow: hidden !important;
    align-items: center !important;
  }

  .worldwrapperres {
    justify-content: center !important;
  }

  /* Stat row container needs to be a 2x2 grid, not absolute-positioned
     overlapping cards. */
  .txtinputwrpmain {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto !important;
    left: auto !important;
    margin-left: auto !important;
    transform: none !important;
  }

  .txtinputwrp1,
  .txtinputwrp2,
  .txtinputwrp3,
  .txtinputwrp4,
  .txtinputwrp5 {
    position: static !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
  }

  /* Hero subtitle hierarchy: bump the actual headline up on mobile. */
  .banner-home-subtitle h3 {
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.15 !important;
  }
}
