{"id":995,"date":"2026-10-15T18:26:06","date_gmt":"2026-10-15T18:26:06","guid":{"rendered":"https:\/\/bipolar.mx\/?p=995"},"modified":"2026-10-15T18:46:48","modified_gmt":"2026-10-15T18:46:48","slug":"juntos-en-el-viaje","status":"publish","type":"post","link":"https:\/\/bipolar.mx\/es\/juntos-en-el-viaje\/","title":{"rendered":"juntos en el viaje"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"995\" class=\"elementor elementor-995\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7ede43cf e-con-full case-hero e-flex e-con e-parent\" data-id=\"7ede43cf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-46a0a452 e-con-full bplr-global-header e-flex e-con e-child\" data-id=\"46a0a452\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;position&quot;:&quot;fixed&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-1217d99d bplr-header-left e-flex e-con-boxed e-con e-child\" data-id=\"1217d99d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-541136c7 elementor-widget__width-auto elementor-widget elementor-widget-image\" data-id=\"541136c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"227\" src=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-768x227.png\" class=\"attachment-medium_large size-medium_large wp-image-998\" alt=\"\" srcset=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-768x227.png 768w, https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-300x89.png 300w, https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-1024x302.png 1024w, https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-1536x453.png 1536w, https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-18x5.png 18w, https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1-600x177.png 600w, https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/BPLR_05-copy-1-1-1.png 1583w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6f83e6db e-con-full elementor-hidden-mobile bplr-header-center e-flex e-con e-child\" data-id=\"6f83e6db\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37f924c2 elementor-widget elementor-widget-heading\" data-id=\"37f924c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/about\/\">ABOUT<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11945375 elementor-widget elementor-widget-heading\" data-id=\"11945375\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/work\/\">WORK<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46109335 elementor-widget elementor-widget-heading\" data-id=\"46109335\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/join\/\">JOIN US<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6b6f2287 elementor-hidden-desktop bplr-header-right e-flex e-con-boxed e-con e-child\" data-id=\"6b6f2287\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41ab5d69 bplr-header-menu elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"41ab5d69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"ion ion-ios-menu\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11579a5c elementor-widget elementor-widget-html\" data-id=\"11579a5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n\/* =========================================================\n   HEADER GLOBAL \u2014 BASE ESTABLE\n========================================================= *\/\n\n.bplr-global-header {\n\n  position: fixed !important;\n\n  top: 0 !important;\n  left: 0 !important;\n  right: 0 !important;\n\n  display: flex !important;\n\n  width: 100vw !important;\n  max-width: 100vw !important;\n\n  min-height: 82px !important;\n\n  margin: 0 !important;\n\n  box-sizing: border-box !important;\n\n  background: #000 !important;\n\n  opacity: 1 !important;\n  visibility: visible !important;\n\n  transform:\n    translate3d(0,0,0) !important;\n\n  pointer-events: auto !important;\n\n  overflow: visible !important;\n\n  z-index: 999999 !important;\n\n  transition:\n    transform .46s cubic-bezier(.22,.7,.25,1) !important;\n\n}\n\n\n\/* =========================================================\n   FORCE CHILDREN VISIBLE\n========================================================= *\/\n\n.bplr-global-header\n.bplr-header-left,\n\n.bplr-global-header\n.bplr-header-center,\n\n.bplr-global-header\n.bplr-header-right {\n\n  opacity: 1 !important;\n  visibility: visible !important;\n\n}\n\n\n\n\/* =========================================================\n   DESKTOP\n========================================================= *\/\n\n@media (min-width:1181px) {\n\n  .bplr-global-header {\n\n    min-height:\n      84px !important;\n\n    padding:\n      0 13.5vw !important;\n\n    display:\n      grid !important;\n\n    grid-template-columns:\n      1fr auto 1fr !important;\n\n    align-items:\n      center !important;\n\n    column-gap:\n      0 !important;\n\n  }\n\n\n  .bplr-header-left {\n\n    grid-column:\n      1 !important;\n\n    justify-self:\n      start !important;\n\n    align-self:\n      center !important;\n\n    display:\n      flex !important;\n\n    width:\n      auto !important;\n\n    max-width:\n      none !important;\n\n    min-width:\n      0 !important;\n\n    flex:\n      0 0 auto !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n  }\n\n\n  .bplr-header-left\n  .elementor-widget-image {\n\n    display:\n      block !important;\n\n    width:\n      auto !important;\n\n    max-width:\n      none !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n  }\n\n\n  .bplr-header-left img {\n\n    display:\n      block !important;\n\n    width:\n      clamp(\n        108px,\n        7.2vw,\n        128px\n      ) !important;\n\n    max-width:\n      none !important;\n\n    height:\n      auto !important;\n\n    opacity:\n      1 !important;\n\n    visibility:\n      visible !important;\n\n    object-fit:\n      contain !important;\n\n  }\n\n\n  .bplr-header-center {\n\n    grid-column:\n      2 !important;\n\n    justify-self:\n      center !important;\n\n    align-self:\n      center !important;\n\n    display:\n      flex !important;\n\n    flex-direction:\n      row !important;\n\n    align-items:\n      center !important;\n\n    justify-content:\n      center !important;\n\n    flex-wrap:\n      nowrap !important;\n\n    width:\n      auto !important;\n\n    max-width:\n      none !important;\n\n    height:\n      auto !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n    gap:\n      clamp(\n        24px,\n        2vw,\n        36px\n      ) !important;\n\n  }\n\n\n  .bplr-header-center >\n  .elementor-element {\n\n    display:\n      block !important;\n\n    width:\n      auto !important;\n\n    max-width:\n      none !important;\n\n    flex:\n      0 0 auto !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n  }\n\n\n  .bplr-header-center\n  .elementor-heading-title {\n\n    display:\n      block !important;\n\n    margin:\n      0 !important;\n\n    opacity:\n      1 !important;\n\n    visibility:\n      visible !important;\n\n    white-space:\n      nowrap !important;\n\n  }\n\n\n  .bplr-header-right {\n\n    display:\n      none !important;\n\n  }\n\n}\n\n\n\n\/* =========================================================\n   TABLET + MOBILE\n========================================================= *\/\n\n@media (max-width:1180px) {\n\n  .bplr-global-header {\n\n    min-height:\n      82px !important;\n\n    padding:\n      0 7vw !important;\n\n    display:\n      flex !important;\n\n    flex-direction:\n      row !important;\n\n    align-items:\n      center !important;\n\n    justify-content:\n      space-between !important;\n\n    gap:\n      0 !important;\n\n  }\n\n\n  .bplr-header-left {\n\n    display:\n      flex !important;\n\n    width:\n      auto !important;\n\n    max-width:\n      none !important;\n\n    height:\n      auto !important;\n\n    flex:\n      0 0 auto !important;\n\n    align-items:\n      center !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n  }\n\n\n  .bplr-header-left\n  .elementor-widget-image {\n\n    display:\n      block !important;\n\n    width:\n      auto !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n  }\n\n\n  .bplr-header-left img {\n\n    display:\n      block !important;\n\n    width:\n      clamp(\n        96px,\n        11vw,\n        112px\n      ) !important;\n\n    max-width:\n      none !important;\n\n    height:\n      auto !important;\n\n    opacity:\n      1 !important;\n\n    visibility:\n      visible !important;\n\n    object-fit:\n      contain !important;\n\n  }\n\n\n  .bplr-header-center {\n\n    display:\n      none !important;\n\n    width:\n      0 !important;\n\n    max-width:\n      0 !important;\n\n    height:\n      0 !important;\n\n    min-height:\n      0 !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n    overflow:\n      hidden !important;\n\n    pointer-events:\n      none !important;\n\n  }\n\n\n  .bplr-header-right {\n\n    position:\n      relative !important;\n\n    display:\n      flex !important;\n\n    width:\n      auto !important;\n\n    max-width:\n      none !important;\n\n    height:\n      auto !important;\n\n    flex:\n      0 0 auto !important;\n\n    align-items:\n      center !important;\n\n    justify-content:\n      flex-end !important;\n\n    margin:\n      0 !important;\n\n    padding:\n      0 !important;\n\n    opacity:\n      1 !important;\n\n    visibility:\n      visible !important;\n\n    z-index:\n      1000001 !important;\n\n  }\n\n\n  .bplr-header-right\n  .elementor-widget-icon,\n\n  .bplr-header-right\n  .elementor-icon {\n\n    display:\n      flex !important;\n\n    opacity:\n      1 !important;\n\n    visibility:\n      visible !important;\n\n  }\n\n}\n\n\n\n\/* =========================================================\n   HTML WIDGET OUT OF LAYOUT\n========================================================= *\/\n\n.bplr-global-header >\n.elementor-widget-html {\n\n  position:\n    absolute !important;\n\n  left:\n    0 !important;\n\n  bottom:\n    0 !important;\n\n  width:\n    1px !important;\n\n  height:\n    1px !important;\n\n  min-width:\n    1px !important;\n\n  min-height:\n    1px !important;\n\n  margin:\n    0 !important;\n\n  padding:\n    0 !important;\n\n  overflow:\n    visible !important;\n\n  pointer-events:\n    none !important;\n\n}\n\n<\/style>\n\n\n<script>\n\n(function () {\n\n  function recoverBPLRHeader() {\n\n    const left =\n      document.querySelector(\n        '.bplr-header-left'\n      );\n\n\n    if (!left) return;\n\n\n    let candidate =\n      left.parentElement;\n\n\n    let header =\n      null;\n\n\n    while (\n      candidate &&\n      candidate !==\n      document.body\n    ) {\n\n      const hasLeft =\n        candidate.querySelector(\n          '.bplr-header-left'\n        );\n\n\n      const hasRight =\n        candidate.querySelector(\n          '.bplr-header-right'\n        );\n\n\n      if (\n        hasLeft &&\n        hasRight\n      ) {\n\n        header =\n          candidate;\n\n        break;\n\n      }\n\n\n      candidate =\n        candidate.parentElement;\n\n    }\n\n\n    if (!header) return;\n\n\n    header.classList.add(\n      'bplr-global-header'\n    );\n\n\n    header.classList.remove(\n      'header-hidden',\n      'header-visible',\n      'header-intro-hidden',\n      'header-scroll-hidden'\n    );\n\n\n    header.style.removeProperty(\n      'display'\n    );\n\n    header.style.removeProperty(\n      'opacity'\n    );\n\n    header.style.removeProperty(\n      'visibility'\n    );\n\n    header.style.removeProperty(\n      'transform'\n    );\n\n    header.style.removeProperty(\n      'position'\n    );\n\n    header.style.removeProperty(\n      'top'\n    );\n\n  }\n\n\n  function start() {\n\n    recoverBPLRHeader();\n\n\n    setTimeout(\n      recoverBPLRHeader,\n      250\n    );\n\n\n    setTimeout(\n      recoverBPLRHeader,\n      700\n    );\n\n  }\n\n\n  if (\n    document.readyState ===\n    'loading'\n  ) {\n\n    document.addEventListener(\n      'DOMContentLoaded',\n      start\n    );\n\n  }\n\n  else {\n\n    start();\n\n  }\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3da6b9a6 elementor-widget elementor-widget-html\" data-id=\"3da6b9a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n\/* =========================================================\n   HEADER SCROLL STATE\n\n   IMPORTANTE:\n   NO ALTERA OPACITY.\n   NO ALTERA DISPLAY.\n   SOLO MUEVE EL HEADER HACIA ARRIBA.\n========================================================= *\/\n\n.bplr-global-header.header-scroll-hidden {\n\n  transform:\n    translate3d(0,-110%,0) !important;\n\n  opacity:\n    1 !important;\n\n  visibility:\n    visible !important;\n\n}\n\n\n\/* =========================================================\n   CUANDO EST\u00c1 VISIBLE\n========================================================= *\/\n\n.bplr-global-header:not(.header-scroll-hidden) {\n\n  transform:\n    translate3d(0,0,0) !important;\n\n}\n\n<\/style>\n\n\n<script>\n\n(function () {\n\n  function initBPLRHeaderScroll() {\n\n    const header =\n      document.querySelector(\n        '.bplr-global-header'\n      );\n\n\n    if (!header) {\n\n      return;\n\n    }\n\n\n    \/* =====================================================\n       LIMPIAR LISTENER ANTERIOR\n       SI ELEMENTOR REEJECUTA EL WIDGET\n    ===================================================== *\/\n\n    if (\n      window.__bplrHeaderScrollHandler\n    ) {\n\n      window.removeEventListener(\n        'scroll',\n        window.__bplrHeaderScrollHandler\n      );\n\n    }\n\n\n    \/* =====================================================\n       ESTADO INICIAL\n    ===================================================== *\/\n\n    header.classList.remove(\n      'header-scroll-hidden'\n    );\n\n\n    let lastY =\n      window.scrollY;\n\n\n    let accumulator =\n      0;\n\n\n    let lastDirection =\n      null;\n\n\n    let ticking =\n      false;\n\n\n\n    \/* =====================================================\n       UPDATE\n    ===================================================== *\/\n\n    function update() {\n\n      const y =\n        window.scrollY;\n\n\n      const delta =\n        y - lastY;\n\n\n\n      \/* =================================================\n         CERCA DEL TOP = SIEMPRE VISIBLE\n      ================================================= *\/\n\n      if (\n        y <= 80\n      ) {\n\n        header.classList.remove(\n          'header-scroll-hidden'\n        );\n\n\n        accumulator =\n          0;\n\n\n        lastDirection =\n          null;\n\n\n        lastY =\n          y;\n\n\n        ticking =\n          false;\n\n\n        return;\n\n      }\n\n\n\n      \/* =================================================\n         MENU ABIERTO = SIEMPRE VISIBLE\n      ================================================= *\/\n\n      if (\n        document.body.classList\n          .contains(\n            'mobile-menu-open'\n          )\n      ) {\n\n        header.classList.remove(\n          'header-scroll-hidden'\n        );\n\n\n        accumulator =\n          0;\n\n\n        lastY =\n          y;\n\n\n        ticking =\n          false;\n\n\n        return;\n\n      }\n\n\n\n      \/* =================================================\n         DOWN\n      ================================================= *\/\n\n      if (\n        delta > 0\n      ) {\n\n        if (\n          lastDirection !==\n          'down'\n        ) {\n\n          accumulator =\n            0;\n\n        }\n\n\n        lastDirection =\n          'down';\n\n\n        accumulator +=\n          delta;\n\n\n        \/*\n          NO OCULTAMOS CON MICRO MOVIMIENTOS.\n          EL USUARIO DEBE BAJAR ~24PX.\n        *\/\n\n        if (\n          accumulator >= 24 &&\n          y > 130\n        ) {\n\n          header.classList.add(\n            'header-scroll-hidden'\n          );\n\n\n          accumulator =\n            0;\n\n        }\n\n      }\n\n\n\n      \/* =================================================\n         UP\n      ================================================= *\/\n\n      else if (\n        delta < 0\n      ) {\n\n        if (\n          lastDirection !==\n          'up'\n        ) {\n\n          accumulator =\n            0;\n\n        }\n\n\n        lastDirection =\n          'up';\n\n\n        accumulator +=\n          Math.abs(\n            delta\n          );\n\n\n        \/*\n          AL SUBIR RESPONDE M\u00c1S R\u00c1PIDO.\n        *\/\n\n        if (\n          accumulator >= 10\n        ) {\n\n          header.classList.remove(\n            'header-scroll-hidden'\n          );\n\n\n          accumulator =\n            0;\n\n        }\n\n      }\n\n\n      lastY =\n        y;\n\n\n      ticking =\n        false;\n\n    }\n\n\n\n    \/* =====================================================\n       HANDLER GLOBAL\n    ===================================================== *\/\n\n    window.__bplrHeaderScrollHandler =\n      function () {\n\n        if (!ticking) {\n\n          ticking =\n            true;\n\n\n          requestAnimationFrame(\n            update\n          );\n\n        }\n\n      };\n\n\n    window.addEventListener(\n\n      'scroll',\n\n      window.__bplrHeaderScrollHandler,\n\n      {\n        passive:\n          true\n      }\n\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     ESPERAMOS A QUE EL SCRIPT DE RECOVERY\n     TERMINE DE IDENTIFICAR EL HEADER.\n  ===================================================== *\/\n\n  function start() {\n\n    setTimeout(\n      initBPLRHeaderScroll,\n      850\n    );\n\n  }\n\n\n  if (\n    document.readyState ===\n    'loading'\n  ) {\n\n    document.addEventListener(\n      'DOMContentLoaded',\n      start\n    );\n\n  }\n\n  else {\n\n    start();\n\n  }\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-555389ce elementor-widget elementor-widget-html\" data-id=\"555389ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     BPLR MOBILE \/ TABLET MENU\n========================================================= -->\n\n<div\n  id=\"bplr-case-mobile-menu\"\n  class=\"bplr-mobile-menu\"\n  aria-hidden=\"true\"\n>\n\n  <div class=\"bplr-menu-nav\">\n\n    <a\n      href=\"#\"\n      data-home-anchor=\"about\"\n    >\n      ABOUT\n    <\/a>\n\n    <a\n      href=\"#\"\n      data-home-anchor=\"work\"\n    >\n      WORK\n    <\/a>\n\n    <a\n      href=\"#\"\n      data-home-anchor=\"join\"\n    >\n      JOIN US\n    <\/a>\n\n  <\/div>\n\n\n  <div class=\"bplr-menu-bottom\">\n\n\n    <!-- SOCIAL -->\n\n    <div class=\"bplr-menu-social\">\n\n\n      <a\n        href=\"#\"\n        aria-label=\"Instagram\"\n        class=\"social-box\"\n      >\n\n        <svg\n          viewBox=\"0 0 24 24\"\n          aria-hidden=\"true\"\n        >\n          <rect\n            x=\"3\"\n            y=\"3\"\n            width=\"18\"\n            height=\"18\"\n            rx=\"5\"\n            ry=\"5\"\n          ><\/rect>\n\n          <circle\n            cx=\"12\"\n            cy=\"12\"\n            r=\"4\"\n          ><\/circle>\n\n          <circle\n            cx=\"17.5\"\n            cy=\"6.5\"\n            r=\"1\"\n          ><\/circle>\n        <\/svg>\n\n      <\/a>\n\n\n      <a\n        href=\"#\"\n        aria-label=\"LinkedIn\"\n        class=\"social-box\"\n      >\n\n        <svg\n          viewBox=\"0 0 24 24\"\n          aria-hidden=\"true\"\n        >\n\n          <rect\n            x=\"3\"\n            y=\"9\"\n            width=\"4\"\n            height=\"12\"\n          ><\/rect>\n\n          <circle\n            cx=\"5\"\n            cy=\"5\"\n            r=\"2\"\n          ><\/circle>\n\n          <path\n            d=\"M10 9h4v2c1-1.5 2.5-2.5 4.5-2.5 3.5 0 5.5 2.3 5.5 6.5V21h-4v-5.3c0-2-.7-3.4-2.6-3.4-1.4 0-2.3.9-2.7 1.9-.1.4-.2 1-.2 1.5V21h-4z\"\n          ><\/path>\n\n        <\/svg>\n\n      <\/a>\n\n\n      <a\n        href=\"#\"\n        aria-label=\"Vimeo\"\n        class=\"social-box\"\n      >\n\n        <svg\n          viewBox=\"0 0 24 24\"\n          aria-hidden=\"true\"\n        >\n\n          <path\n            d=\"M3 8.5c2-2.3 4.7-4.9 7-4.9 2.1 0 2.6 1.3 3 4 .5 3.5.8 6 1.8 6 1.1 0 3-2.1 4.3-4.2.7-1.1.4-1.7-.6-1.7-.5 0-1.2.2-1.8.5.6-3 2.6-4.5 5.8-4.4 2.4.1 3.4 1.4 2.8 3.8-1 4.2-6.8 11.7-10.9 14-2.3 1.3-4.3.5-5.3-1.7C7.8 17.1 7 13.4 6.2 10.7c-.5-1.7-.9-2.3-1.7-2.3-.5 0-1 .4-1.5.9z\"\n          ><\/path>\n\n        <\/svg>\n\n      <\/a>\n\n\n    <\/div>\n\n\n    <!-- ADDRESS -->\n\n    <div class=\"bplr-menu-address\">\n\n      <div class=\"address-title\">\n        Headquarters\n      <\/div>\n\n      <div class=\"address-copy\">\n\n        L\u00e1zaro C\u00e1rdenas 2424,<br>\n        Loma Larga Oriente<br>\n        San Pedro Garza Garc\u00eda<br>\n        Nuevo Le\u00f3n, M\u00e9xico<br>\n        C.P. 66266\n\n      <\/div>\n\n    <\/div>\n\n\n  <\/div>\n\n<\/div>\n\n\n\n<style>\n\/* =========================================================\n   FORCE VISIBLE HAMBURGER \u2014 TABLET \/ MOBILE\n========================================================= *\/\n\n@media (max-width:1180px) {\n\n  .bplr-header-right {\n\n    position:\n      relative !important;\n\n    min-width:\n      32px;\n\n    min-height:\n      32px;\n\n  }\n\n\n  \/* Hide Elementor's original icon.\n     We draw our own hamburger instead. *\/\n\n  .bplr-header-right\n  .elementor-icon {\n\n    opacity:\n      0 !important;\n\n  }\n\n\n  \/* HAMBURGER *\/\n\n  .bplr-header-right::before {\n\n    content:\n      \"\";\n\n    position:\n      absolute;\n\n    right:\n      0;\n\n    top:\n      50%;\n\n    width:\n      30px;\n\n    height:\n      2px;\n\n    background:\n      #ffffff;\n\n    box-shadow:\n      0 -8px 0 #ffffff,\n      0 8px 0 #ffffff;\n\n    transform:\n      translateY(-50%);\n\n    opacity:\n      1;\n\n    pointer-events:\n      none;\n\n    transition:\n      opacity .2s ease;\n\n  }\n\n\n  \/* Hide hamburger when menu is open.\n     Existing ::after X takes its place. *\/\n\n  body.mobile-menu-open\n  .bplr-header-right::before {\n\n    opacity:\n      0;\n\n  }\n\n}\n\n\/* =========================================================\n   MOBILE MENU\n========================================================= *\/\n\n.bplr-mobile-menu {\n\n  position:\n    fixed;\n\n  inset:\n    0;\n\n  width:\n    100vw;\n\n  height:\n    100vh;\n\n  height:\n    100dvh;\n\n  margin:\n    0;\n\n  padding:\n    105px 20px 24px;\n\n  box-sizing:\n    border-box;\n\n  display:\n    flex;\n\n  flex-direction:\n    column;\n\n  justify-content:\n    space-between;\n\n  overflow:\n    hidden;\n\n  background:\n    #F5F5F5;\n\n  color:\n    #0B0B0D;\n\n  opacity:\n    0;\n\n  visibility:\n    hidden;\n\n  pointer-events:\n    none;\n\n  transform:\n    translate3d(0,-20px,0);\n\n  transition:\n    opacity .3s ease,\n    transform .45s cubic-bezier(.65,0,.35,1),\n    visibility .3s;\n\n  z-index:\n    999990;\n\n}\n\n\n\/* =========================================================\n   OPEN\n========================================================= *\/\n\nbody.mobile-menu-open\n.bplr-mobile-menu {\n\n  opacity:\n    1;\n\n  visibility:\n    visible;\n\n  pointer-events:\n    auto;\n\n  transform:\n    translate3d(0,0,0);\n\n}\n\n\n\/* =========================================================\n   NAV\n========================================================= *\/\n\n.bplr-menu-nav {\n\n  display:\n    flex;\n\n  flex-direction:\n    column;\n\n  align-items:\n    flex-start;\n\n  justify-content:\n    flex-start;\n\n  gap:\n    0;\n\n  text-align:\n    left;\n\n}\n\n\n.bplr-menu-nav a,\n.bplr-menu-nav a:link,\n.bplr-menu-nav a:visited,\n.bplr-menu-nav a:hover,\n.bplr-menu-nav a:focus,\n.bplr-menu-nav a:active {\n\n  display:\n    block;\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif !important;\n\n  font-size:\n    clamp(68px,18vw,110px);\n\n  font-weight:\n    800 !important;\n\n  font-style:\n    normal;\n\n  line-height:\n    .83;\n\n  letter-spacing:\n    -2px;\n\n  text-transform:\n    uppercase;\n\n  color:\n    #0B0B0D !important;\n\n  text-decoration:\n    none !important;\n\n  border:\n    0 !important;\n\n  box-shadow:\n    none !important;\n\n  background:\n    transparent !important;\n\n  transform:\n    skewX(0deg);\n\n  transform-origin:\n    left center;\n\n  transition:\n    transform .28s cubic-bezier(.65,0,.35,1);\n\n}\n\n\n.bplr-menu-nav a::before,\n.bplr-menu-nav a::after {\n\n  content:\n    none !important;\n\n  display:\n    none !important;\n\n}\n\n\n@media (hover:hover) {\n\n  .bplr-menu-nav a:hover {\n\n    transform:\n      skewX(-10deg);\n\n  }\n\n}\n\n\n\/* =========================================================\n   BOTTOM\n========================================================= *\/\n\n.bplr-menu-bottom {\n\n  width:\n    100%;\n\n  display:\n    flex;\n\n  flex-direction:\n    column;\n\n  gap:\n    28px;\n\n}\n\n\n\/* =========================================================\n   SOCIAL\n========================================================= *\/\n\n.bplr-menu-social {\n\n  display:\n    flex;\n\n  gap:\n    18px;\n\n}\n\n\n.social-box,\n.social-box:hover,\n.social-box:focus,\n.social-box:active,\n.social-box:visited {\n\n  width:\n    auto;\n\n  height:\n    auto;\n\n  margin:\n    0;\n\n  padding:\n    0 !important;\n\n  border:\n    0 !important;\n\n  display:\n    flex;\n\n  align-items:\n    center;\n\n  justify-content:\n    center;\n\n  color:\n    #0B0B0D !important;\n\n  text-decoration:\n    none !important;\n\n  box-shadow:\n    none !important;\n\n  background:\n    transparent !important;\n\n}\n\n\n.social-box svg {\n\n  width:\n    30px;\n\n  height:\n    30px;\n\n  fill:\n    none;\n\n  stroke:\n    currentColor;\n\n  stroke-width:\n    1.8;\n\n  stroke-linecap:\n    round;\n\n  stroke-linejoin:\n    round;\n\n}\n\n\n.social-box[aria-label=\"Vimeo\"] svg {\n\n  fill:\n    currentColor;\n\n  stroke:\n    none;\n\n}\n\n\n\/* =========================================================\n   ADDRESS\n========================================================= *\/\n\n.bplr-menu-address {\n\n  border-top:\n    1px solid #d5d5d5;\n\n  padding-top:\n    20px;\n\n  font-family:\n    \"Barlow\",\n    Arial,\n    sans-serif;\n\n  color:\n    #0B0B0D;\n\n}\n\n\n.bplr-menu-address\n.address-title {\n\n  margin-bottom:\n    8px;\n\n  font-size:\n    20px;\n\n  font-weight:\n    600;\n\n  line-height:\n    1.15;\n\n}\n\n\n.bplr-menu-address\n.address-copy {\n\n  font-size:\n    20px;\n\n  font-weight:\n    400;\n\n  line-height:\n    1.2;\n\n}\n\n\n\/* =========================================================\n   HEADER WHILE MENU IS OPEN\n========================================================= *\/\n\n@media (max-width:1180px) {\n\n  body.mobile-menu-open\n  .bplr-global-header {\n\n    transform:\n      translate3d(0,0,0) !important;\n\n    background:\n      #F5F5F5 !important;\n\n  }\n\n\n  \/* LOGO TO BLACK *\/\n\n  body.mobile-menu-open\n  .bplr-header-left img {\n\n    filter:\n      brightness(0)\n      saturate(100%) !important;\n\n  }\n\n\n  \/* HIDE ORIGINAL HAMBURGER *\/\n\n  body.mobile-menu-open\n  .bplr-header-right\n  .elementor-icon {\n\n    opacity:\n      0 !important;\n\n  }\n\n\n  \/* X *\/\n\n  .bplr-header-right::after {\n\n    content:\n      \"\u00d7\";\n\n    position:\n      absolute;\n\n    right:\n      0;\n\n    top:\n      50%;\n\n    transform:\n      translateY(-53%);\n\n    color:\n      #0B0B0D;\n\n    font-family:\n      Arial,\n      sans-serif;\n\n    font-size:\n      42px;\n\n    font-weight:\n      300;\n\n    line-height:\n      1;\n\n    opacity:\n      0;\n\n    pointer-events:\n      none;\n\n    transition:\n      opacity .2s ease;\n\n  }\n\n\n  body.mobile-menu-open\n  .bplr-header-right::after {\n\n    opacity:\n      1;\n\n  }\n\n}\n\n\n\/* =========================================================\n   BLOCK PAGE SCROLL\n========================================================= *\/\n\nbody.mobile-menu-open {\n\n  overflow:\n    hidden !important;\n\n}\n\n\n\/* =========================================================\n   DESKTOP\n========================================================= *\/\n\n@media (min-width:1181px) {\n\n  .bplr-mobile-menu {\n\n    display:\n      none !important;\n\n  }\n\n}\n\n<\/style>\n\n\n\n<script>\n\n(function () {\n\n  function initBPLRMobileMenu() {\n\n\n    \/* =====================================================\n       MENU\n    ===================================================== *\/\n\n    const menus =\n      Array.from(\n        document.querySelectorAll(\n          '#bplr-case-mobile-menu'\n        )\n      );\n\n\n    \/* REMOVE CONTACT FROM ALL MOBILE MENU INSTANCES *\/\n\n    menus.forEach(\n      function (menuInstance) {\n\n        menuInstance\n          .querySelectorAll(\n            '[data-home-anchor=\"contact\"]'\n          )\n          .forEach(\n            function (contactLink) {\n\n              contactLink.remove();\n\n            }\n          );\n\n      }\n    );\n\n\n    if (!menus.length) return;\n\n\n    const menu =\n      menus[\n        menus.length - 1\n      ];\n\n\n    \/* Remove accidental Elementor duplicates *\/\n\n    menus\n      .slice(\n        0,\n        -1\n      )\n      .forEach(\n        function (oldMenu) {\n\n          oldMenu.remove();\n\n        }\n      );\n\n\n    \/* =====================================================\n       MOVE MENU TO BODY\n    ===================================================== *\/\n\n    if (\n      menu.parentElement !==\n      document.body\n    ) {\n\n      document.body.appendChild(\n        menu\n      );\n\n    }\n\n\n    \/* =====================================================\n       HEADER + TRIGGER\n    ===================================================== *\/\n\n    const header =\n      document.querySelector(\n        '.bplr-global-header'\n      );\n\n\n    if (!header) return;\n\n\n    const trigger =\n      header.querySelector(\n        '.bplr-header-right'\n      );\n\n\n    if (!trigger) return;\n\n\n    \/* =====================================================\n       PAGE LINKS\n\n       MOBILE \/ TABLET MIRRORS THE LINKS\n       ALREADY ASSIGNED TO DESKTOP HEADER.\n\n       THIS MEANS:\n       - STAGING WORKS NOW\n       - PRODUCTION WILL WORK LATER\n       - NO DUPLICATE URL MAINTENANCE\n    ===================================================== *\/\n\n    const headerLinks =\n      Array.from(\n        header.querySelectorAll(\n          'a[href]'\n        )\n      );\n\n\n    function getHeaderHref(label) {\n\n      const match =\n        headerLinks.find(\n          function (link) {\n\n            return (\n              link.textContent ||\n              ''\n            )\n              .trim()\n              .toUpperCase() ===\n              label;\n\n          }\n        );\n\n\n      return match\n        ? match.href\n        : '';\n\n    }\n\n\n    const pageLinks = {\n\n      about:\n        getHeaderHref(\n          'ABOUT'\n        ),\n\n      work:\n        getHeaderHref(\n          'WORK'\n        ),\n\n      join:\n        getHeaderHref(\n          'JOIN US'\n        )\n\n    };\n\n\n    menu\n      .querySelectorAll(\n        '[data-home-anchor]'\n      )\n      .forEach(\n        function (link) {\n\n          const key =\n            link.dataset.homeAnchor;\n\n\n          if (\n            pageLinks[key]\n          ) {\n\n            link.href =\n              pageLinks[key];\n\n          }\n\n        }\n      );\n\n\n    \/* =====================================================\n       STATE\n    ===================================================== *\/\n\n    function isOpen() {\n\n      return document.body\n        .classList\n        .contains(\n          'mobile-menu-open'\n        );\n\n    }\n\n\n    function openMenu() {\n\n      if (\n        window.innerWidth >\n        1180\n      ) {\n\n        return;\n\n      }\n\n\n      document.body.classList.add(\n        'mobile-menu-open'\n      );\n\n\n      header.classList.remove(\n        'header-scroll-hidden'\n      );\n\n\n      menu.setAttribute(\n        'aria-hidden',\n        'false'\n      );\n\n    }\n\n\n    function closeMenu() {\n\n      document.body.classList.remove(\n        'mobile-menu-open'\n      );\n\n\n      menu.setAttribute(\n        'aria-hidden',\n        'true'\n      );\n\n    }\n\n\n    function toggleMenu() {\n\n      if (isOpen()) {\n\n        closeMenu();\n\n      }\n\n      else {\n\n        openMenu();\n\n      }\n\n    }\n\n\n    \/* =====================================================\n       RESET\n    ===================================================== *\/\n\n    closeMenu();\n\n\n    \/* =====================================================\n       TRIGGER\n\n       Clean replacement prevents duplicate clicks\n       caused by Elementor re-rendering.\n    ===================================================== *\/\n\n    if (\n      trigger.__bplrMenuHandler\n    ) {\n\n      trigger.removeEventListener(\n        'click',\n        trigger.__bplrMenuHandler\n      );\n\n    }\n\n\n    trigger.__bplrMenuHandler =\n      function (event) {\n\n        if (\n          window.innerWidth >\n          1180\n        ) {\n\n          return;\n\n        }\n\n\n        event.preventDefault();\n\n        event.stopPropagation();\n\n\n        toggleMenu();\n\n      };\n\n\n    trigger.addEventListener(\n      'click',\n      trigger.__bplrMenuHandler\n    );\n\n\n    \/* =====================================================\n       LINKS CLOSE MENU\n    ===================================================== *\/\n\n    menu\n      .querySelectorAll(\n        '.bplr-menu-nav a'\n      )\n      .forEach(\n        function (link) {\n\n          link.addEventListener(\n            'click',\n            closeMenu\n          );\n\n        }\n      );\n\n\n    \/* =====================================================\n       ESC\n    ===================================================== *\/\n\n    document.addEventListener(\n      'keydown',\n      function (event) {\n\n        if (\n          event.key ===\n          'Escape' &&\n          isOpen()\n        ) {\n\n          closeMenu();\n\n        }\n\n      }\n    );\n\n\n    \/* =====================================================\n       DESKTOP RESIZE\n    ===================================================== *\/\n\n    window.addEventListener(\n      'resize',\n      function () {\n\n        if (\n          window.innerWidth >\n          1180 &&\n          isOpen()\n        ) {\n\n          closeMenu();\n\n        }\n\n      },\n      {\n        passive:\n          true\n      }\n    );\n\n  }\n\n\n  function start() {\n\n    \/*\n      Esperamos a que los otros dos widgets\n      terminen de recuperar el header\n      y activar el scroll.\n    *\/\n\n    setTimeout(\n      initBPLRMobileMenu,\n      950\n    );\n\n  }\n\n\n  if (\n    document.readyState ===\n    'loading'\n  ) {\n\n    document.addEventListener(\n      'DOMContentLoaded',\n      start\n    );\n\n  }\n\n  else {\n\n    start();\n\n  }\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c67380e elementor-widget elementor-widget-html\" data-id=\"3c67380e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     BPLR \u2014 GLOBAL PAGE TRANSITION V3.1\n     RED \u2192 BLUE \u2192 TRANSPARENT REVEAL\n\n     PERFORMANCE:\n     1. Immediate prefetch of primary header destinations\n     2. Prerender on user intent when supported\n     3. Prefetch fallback\n========================================================= -->\n\n\n<!-- =========================================================\n     EARLY INCOMING DETECTION\n========================================================= -->\n\n<script>\n\n(function () {\n\n  try {\n\n    const target =\n      sessionStorage.getItem(\n        'bplr-transition-target'\n      );\n\n    const timestamp =\n      Number(\n        sessionStorage.getItem(\n          'bplr-transition-time'\n        )\n      );\n\n\n    const isRecent =\n      timestamp &&\n      (\n        Date.now() - timestamp\n      ) < 10000;\n\n\n    if (\n      target &&\n      isRecent\n    ) {\n\n      const current =\n        new URL(\n          window.location.href\n        );\n\n\n      const expected =\n        new URL(\n          target,\n          window.location.origin\n        );\n\n\n      if (\n        current.pathname ===\n          expected.pathname &&\n        current.search ===\n          expected.search\n      ) {\n\n        document.documentElement\n          .classList\n          .add(\n            'bplr-transition-in'\n          );\n\n      }\n\n    }\n\n\n    sessionStorage.removeItem(\n      'bplr-transition-target'\n    );\n\n\n    sessionStorage.removeItem(\n      'bplr-transition-time'\n    );\n\n  }\n\n  catch (error) {}\n\n})();\n\n<\/script>\n\n\n\n<!-- =========================================================\n     TRANSITION STAGE\n========================================================= -->\n\n<div\n  id=\"bplr-page-transition\"\n  aria-hidden=\"true\"\n>\n\n\n  <!-- =====================================================\n       OUTGOING\n  ====================================================== -->\n\n  <svg\n    id=\"bplr-transition-outgoing\"\n    class=\"bplr-transition-svg\"\n    xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n    preserveAspectRatio=\"none\"\n  >\n\n    <circle\n      id=\"bplr-transition-red\"\n      fill=\"#F01F46\"\n    ><\/circle>\n\n\n    <circle\n      id=\"bplr-transition-blue\"\n      fill=\"#4278D3\"\n    ><\/circle>\n\n  <\/svg>\n\n\n\n  <!-- =====================================================\n       INCOMING\n  ====================================================== -->\n\n  <svg\n    id=\"bplr-transition-incoming\"\n    class=\"bplr-transition-svg\"\n    xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n    preserveAspectRatio=\"none\"\n  >\n\n    <defs>\n\n      <mask\n        id=\"bplr-transition-mask\"\n        maskUnits=\"userSpaceOnUse\"\n      >\n\n        <rect\n          id=\"bplr-mask-background\"\n          x=\"0\"\n          y=\"0\"\n          fill=\"white\"\n        ><\/rect>\n\n\n        <circle\n          id=\"bplr-transition-hole\"\n          fill=\"black\"\n        ><\/circle>\n\n      <\/mask>\n\n    <\/defs>\n\n\n    <rect\n      id=\"bplr-transition-blue-screen\"\n      x=\"0\"\n      y=\"0\"\n      fill=\"#4278D3\"\n      mask=\"url(#bplr-transition-mask)\"\n    ><\/rect>\n\n  <\/svg>\n\n\n<\/div>\n\n\n\n<style>\n\n\/* =========================================================\n   ROOT\n========================================================= *\/\n\n#bplr-page-transition {\n\n  position:\n    fixed;\n\n  inset:\n    0;\n\n  width:\n    100vw;\n\n  height:\n    100vh;\n\n  height:\n    100dvh;\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  overflow:\n    hidden;\n\n  pointer-events:\n    none;\n\n  visibility:\n    hidden;\n\n  z-index:\n    2147483646;\n\n}\n\n\n\/* =========================================================\n   SVG\n========================================================= *\/\n\n#bplr-page-transition\n.bplr-transition-svg {\n\n  position:\n    absolute;\n\n  inset:\n    0;\n\n  display:\n    none;\n\n  width:\n    100%;\n\n  height:\n    100%;\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  overflow:\n    hidden;\n\n}\n\n\n\/* =========================================================\n   OUTGOING\n========================================================= *\/\n\nhtml.bplr-transition-out\n#bplr-page-transition {\n\n  visibility:\n    visible;\n\n  pointer-events:\n    all;\n\n}\n\n\nhtml.bplr-transition-out\n#bplr-transition-outgoing {\n\n  display:\n    block;\n\n}\n\n\n\/* =========================================================\n   INCOMING\n========================================================= *\/\n\nhtml.bplr-transition-in\n#bplr-page-transition {\n\n  visibility:\n    visible;\n\n  pointer-events:\n    all;\n\n}\n\n\nhtml.bplr-transition-in\n#bplr-transition-incoming {\n\n  display:\n    block;\n\n}\n\n\n\/* =========================================================\n   TEMPORARY SCROLL LOCK\n========================================================= *\/\n\nhtml.bplr-transition-out,\nhtml.bplr-transition-in {\n\n  overflow:\n    hidden !important;\n\n}\n\n\n\/* =========================================================\n   ACCESSIBILITY\n========================================================= *\/\n\n@media\n(prefers-reduced-motion: reduce) {\n\n  #bplr-page-transition {\n\n    display:\n      none !important;\n\n  }\n\n}\n\n<\/style>\n\n\n\n<script>\n\n(function () {\n\n\n  \/* =====================================================\n     SETTINGS\n  ===================================================== *\/\n\n  const RED =\n    '#F01F46';\n\n\n  const BLUE =\n    '#4278D3';\n\n\n  const RED_DURATION =\n    500;\n\n\n  const BLUE_DELAY =\n    145;\n\n\n  const BLUE_DURATION =\n    500;\n\n\n  const REVEAL_DELAY =\n    60;\n\n\n  const REVEAL_DURATION =\n    650;\n\n\n\n  \/* =====================================================\n     ELEMENTS\n  ===================================================== *\/\n\n  const stage =\n    document.getElementById(\n      'bplr-page-transition'\n    );\n\n\n  const outgoing =\n    document.getElementById(\n      'bplr-transition-outgoing'\n    );\n\n\n  const incoming =\n    document.getElementById(\n      'bplr-transition-incoming'\n    );\n\n\n  const redCircle =\n    document.getElementById(\n      'bplr-transition-red'\n    );\n\n\n  const blueCircle =\n    document.getElementById(\n      'bplr-transition-blue'\n    );\n\n\n  const holeCircle =\n    document.getElementById(\n      'bplr-transition-hole'\n    );\n\n\n  const maskBackground =\n    document.getElementById(\n      'bplr-mask-background'\n    );\n\n\n  const blueScreen =\n    document.getElementById(\n      'bplr-transition-blue-screen'\n    );\n\n\n  if (\n    !stage ||\n    !outgoing ||\n    !incoming ||\n    !redCircle ||\n    !blueCircle ||\n    !holeCircle ||\n    !maskBackground ||\n    !blueScreen\n  ) {\n\n    return;\n\n  }\n\n\n\n  \/* =====================================================\n     GEOMETRY\n  ===================================================== *\/\n\n  let viewportWidth =\n    0;\n\n\n  let viewportHeight =\n    0;\n\n\n  let centerX =\n    0;\n\n\n  let centerY =\n    0;\n\n\n  let maximumRadius =\n    0;\n\n\n\n  function setupGeometry() {\n\n    viewportWidth =\n      Math.max(\n        window.innerWidth,\n        1\n      );\n\n\n    viewportHeight =\n      Math.max(\n        window.innerHeight,\n        1\n      );\n\n\n    centerX =\n      viewportWidth \/ 2;\n\n\n    centerY =\n      viewportHeight \/ 2;\n\n\n    maximumRadius =\n      (\n        Math.hypot(\n          viewportWidth,\n          viewportHeight\n        ) \/ 2\n      ) + 12;\n\n\n\n    outgoing.setAttribute(\n      'viewBox',\n      '0 0 ' +\n      viewportWidth +\n      ' ' +\n      viewportHeight\n    );\n\n\n    incoming.setAttribute(\n      'viewBox',\n      '0 0 ' +\n      viewportWidth +\n      ' ' +\n      viewportHeight\n    );\n\n\n\n    redCircle.setAttribute(\n      'cx',\n      centerX\n    );\n\n\n    redCircle.setAttribute(\n      'cy',\n      centerY\n    );\n\n\n    redCircle.setAttribute(\n      'r',\n      2\n    );\n\n\n    redCircle.setAttribute(\n      'fill',\n      RED\n    );\n\n\n\n    blueCircle.setAttribute(\n      'cx',\n      centerX\n    );\n\n\n    blueCircle.setAttribute(\n      'cy',\n      centerY\n    );\n\n\n    blueCircle.setAttribute(\n      'r',\n      2\n    );\n\n\n    blueCircle.setAttribute(\n      'fill',\n      BLUE\n    );\n\n\n\n    holeCircle.setAttribute(\n      'cx',\n      centerX\n    );\n\n\n    holeCircle.setAttribute(\n      'cy',\n      centerY\n    );\n\n\n    holeCircle.setAttribute(\n      'r',\n      0\n    );\n\n\n\n    maskBackground.setAttribute(\n      'width',\n      viewportWidth\n    );\n\n\n    maskBackground.setAttribute(\n      'height',\n      viewportHeight\n    );\n\n\n\n    blueScreen.setAttribute(\n      'width',\n      viewportWidth\n    );\n\n\n    blueScreen.setAttribute(\n      'height',\n      viewportHeight\n    );\n\n\n    blueScreen.setAttribute(\n      'fill',\n      BLUE\n    );\n\n  }\n\n\n\n  setupGeometry();\n\n\n\n  \/* =====================================================\n     EASING\n  ===================================================== *\/\n\n  function easeInOutCubic(t) {\n\n    if (\n      t < 0.5\n    ) {\n\n      return (\n        4 *\n        t *\n        t *\n        t\n      );\n\n    }\n\n\n    return (\n      1 -\n      Math.pow(\n        -2 * t + 2,\n        3\n      ) \/ 2\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     RADIUS ANIMATION\n  ===================================================== *\/\n\n  function animateRadius(\n    element,\n    from,\n    to,\n    duration,\n    delay,\n    callback\n  ) {\n\n    const start =\n      performance.now() +\n      delay;\n\n\n    function frame(now) {\n\n      if (\n        now < start\n      ) {\n\n        requestAnimationFrame(\n          frame\n        );\n\n        return;\n\n      }\n\n\n      const rawProgress =\n        Math.min(\n          (\n            now - start\n          ) \/ duration,\n          1\n        );\n\n\n      const progress =\n        easeInOutCubic(\n          rawProgress\n        );\n\n\n      const radius =\n        from +\n        (\n          to - from\n        ) *\n        progress;\n\n\n      element.setAttribute(\n        'r',\n        radius\n      );\n\n\n      if (\n        rawProgress < 1\n      ) {\n\n        requestAnimationFrame(\n          frame\n        );\n\n      }\n\n      else if (\n        typeof callback ===\n        'function'\n      ) {\n\n        callback();\n\n      }\n\n    }\n\n\n    requestAnimationFrame(\n      frame\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     INCOMING REVEAL\n  ===================================================== *\/\n\n  function runIncomingTransition() {\n\n    setupGeometry();\n\n\n    holeCircle.setAttribute(\n      'r',\n      2\n    );\n\n\n    requestAnimationFrame(\n      function () {\n\n        requestAnimationFrame(\n          function () {\n\n            animateRadius(\n\n              holeCircle,\n\n              2,\n\n              maximumRadius,\n\n              REVEAL_DURATION,\n\n              REVEAL_DELAY,\n\n              function () {\n\n                document.documentElement\n                  .classList\n                  .remove(\n                    'bplr-transition-in'\n                  );\n\n\n                stage.setAttribute(\n                  'aria-hidden',\n                  'true'\n                );\n\n              }\n\n            );\n\n          }\n        );\n\n      }\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     RUN INCOMING\n  ===================================================== *\/\n\n  if (\n    document.documentElement\n      .classList\n      .contains(\n        'bplr-transition-in'\n      )\n  ) {\n\n    stage.setAttribute(\n      'aria-hidden',\n      'false'\n    );\n\n\n    runIncomingTransition();\n\n  }\n\n\n\n  \/* =====================================================\n     INTERNAL URL VALIDATION\n  ===================================================== *\/\n\n  function getInternalURL(link) {\n\n    if (!link) {\n\n      return null;\n\n    }\n\n\n    const href =\n      link.getAttribute(\n        'href'\n      );\n\n\n    if (\n      !href ||\n      href === '#' ||\n      href.startsWith('#') ||\n      href.startsWith('mailto:') ||\n      href.startsWith('tel:') ||\n      href.startsWith('javascript:')\n    ) {\n\n      return null;\n\n    }\n\n\n    let url;\n\n\n    try {\n\n      url =\n        new URL(\n          link.href,\n          window.location.href\n        );\n\n    }\n\n    catch (error) {\n\n      return null;\n\n    }\n\n\n    if (\n      url.origin !==\n      window.location.origin\n    ) {\n\n      return null;\n\n    }\n\n\n    if (\n      url.pathname.includes(\n        '\/wp-admin\/'\n      ) ||\n      url.pathname.includes(\n        '\/wp-login.php'\n      )\n    ) {\n\n      return null;\n\n    }\n\n\n    if (\n      url.pathname ===\n        window.location.pathname &&\n      url.search ===\n        window.location.search\n    ) {\n\n      return null;\n\n    }\n\n\n    return url;\n\n  }\n\n\n\n  \/* =====================================================\n     PERFORMANCE STATE\n  ===================================================== *\/\n\n  const prefetched =\n    new Set();\n\n\n  const prerendered =\n    new Set();\n\n\n\n  \/* =====================================================\n     SPECULATION RULE SUPPORT\n  ===================================================== *\/\n\n  function supportsSpeculationRules() {\n\n    try {\n\n      return (\n        window.HTMLScriptElement &&\n        typeof HTMLScriptElement.supports ===\n          'function' &&\n        HTMLScriptElement.supports(\n          'speculationrules'\n        )\n      );\n\n    }\n\n    catch (error) {\n\n      return false;\n\n    }\n\n  }\n\n\n\n  \/* =====================================================\n     ADD SPECULATION RULE\n  ===================================================== *\/\n\n  function addSpeculationRule(\n    type,\n    url,\n    eagerness\n  ) {\n\n    if (\n      !supportsSpeculationRules()\n    ) {\n\n      return false;\n\n    }\n\n\n    try {\n\n      const script =\n        document.createElement(\n          'script'\n        );\n\n\n      script.type =\n        'speculationrules';\n\n\n      const rule = {};\n\n\n      rule[type] = [\n\n        {\n\n          source:\n            'list',\n\n          urls:\n            [\n              url\n            ],\n\n          eagerness:\n            eagerness || 'moderate'\n\n        }\n\n      ];\n\n\n      script.textContent =\n        JSON.stringify(\n          rule\n        );\n\n\n      document.head.appendChild(\n        script\n      );\n\n\n      return true;\n\n    }\n\n    catch (error) {\n\n      return false;\n\n    }\n\n  }\n\n\n\n  \/* =====================================================\n     PREFETCH\n  ===================================================== *\/\n\n  function prefetchURL(url) {\n\n    if (!url) {\n\n      return;\n\n    }\n\n\n    const key =\n      url.href;\n\n\n    if (\n      prefetched.has(\n        key\n      )\n    ) {\n\n      return;\n\n    }\n\n\n    prefetched.add(\n      key\n    );\n\n\n\n    \/* -----------------------------------------------\n       SPECULATION RULE PREFETCH\n    ------------------------------------------------ *\/\n\n    const speculationAdded =\n      addSpeculationRule(\n        'prefetch',\n        key,\n        'immediate'\n      );\n\n\n    if (\n      speculationAdded\n    ) {\n\n      return;\n\n    }\n\n\n\n    \/* -----------------------------------------------\n       STANDARD PREFETCH FALLBACK\n    ------------------------------------------------ *\/\n\n    try {\n\n      const prefetch =\n        document.createElement(\n          'link'\n        );\n\n\n      prefetch.rel =\n        'prefetch';\n\n\n      prefetch.href =\n        key;\n\n\n      prefetch.as =\n        'document';\n\n\n      document.head.appendChild(\n        prefetch\n      );\n\n    }\n\n    catch (error) {}\n\n  }\n\n\n\n  \/* =====================================================\n     PRERENDER\n  ===================================================== *\/\n\n  function prerenderURL(url) {\n\n    if (!url) {\n\n      return;\n\n    }\n\n\n    const key =\n      url.href;\n\n\n    if (\n      prerendered.has(\n        key\n      )\n    ) {\n\n      return;\n\n    }\n\n\n    prerendered.add(\n      key\n    );\n\n\n\n    \/* -----------------------------------------------\n       ALWAYS PREFETCH AS SAFETY NET\n    ------------------------------------------------ *\/\n\n    prefetchURL(\n      url\n    );\n\n\n\n    \/* -----------------------------------------------\n       PRERENDER IF SUPPORTED\n    ------------------------------------------------ *\/\n\n    addSpeculationRule(\n      'prerender',\n      key,\n      'immediate'\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     PRIMARY HEADER PREFETCH\n\n     HOME \/ ABOUT \/ WORK \/ JOIN\n     are prepared immediately.\n  ===================================================== *\/\n\n  function prefetchPrimaryNavigation() {\n\n    const selectors = [\n\n      '.bplr-global-header a[href]',\n\n      '#bplr-case-mobile-menu a[href]'\n\n    ];\n\n\n    const links =\n      Array.from(\n        document.querySelectorAll(\n          selectors.join(',')\n        )\n      );\n\n\n    let count =\n      0;\n\n\n    links.forEach(\n      function (link) {\n\n        if (\n          count >= 8\n        ) {\n\n          return;\n\n        }\n\n\n        const url =\n          getInternalURL(\n            link\n          );\n\n\n        if (!url) {\n\n          return;\n\n        }\n\n\n        prefetchURL(\n          url\n        );\n\n\n        count++;\n\n      }\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     RUN PRIMARY PREFETCH ASAP\n\n     Multiple passes because Elementor can finish\n     rendering header links slightly later.\n  ===================================================== *\/\n\n  prefetchPrimaryNavigation();\n\n\n  requestAnimationFrame(\n    function () {\n\n      prefetchPrimaryNavigation();\n\n    }\n  );\n\n\n  setTimeout(\n    prefetchPrimaryNavigation,\n    250\n  );\n\n\n  setTimeout(\n    prefetchPrimaryNavigation,\n    800\n  );\n\n\n  setTimeout(\n    prefetchPrimaryNavigation,\n    1600\n  );\n\n\n\n  \/* =====================================================\n     USER INTENT \u2192 PRERENDER\n  ===================================================== *\/\n\n  function prerenderFromEvent(\n    event\n  ) {\n\n    const link =\n      event.target.closest(\n        'a[href]'\n      );\n\n\n    const url =\n      getInternalURL(\n        link\n      );\n\n\n    if (\n      url\n    ) {\n\n      prerenderURL(\n        url\n      );\n\n    }\n\n  }\n\n\n\n  document.addEventListener(\n\n    'mouseover',\n\n    prerenderFromEvent,\n\n    true\n\n  );\n\n\n  document.addEventListener(\n\n    'focusin',\n\n    prerenderFromEvent,\n\n    true\n\n  );\n\n\n  document.addEventListener(\n\n    'pointerdown',\n\n    prerenderFromEvent,\n\n    true\n\n  );\n\n\n  document.addEventListener(\n\n    'touchstart',\n\n    prerenderFromEvent,\n\n    {\n      capture:\n        true,\n\n      passive:\n        true\n    }\n\n  );\n\n\n\n  \/* =====================================================\n     SECONDARY LINKS\n     PREFETCH WHEN BROWSER HAS FREE TIME\n  ===================================================== *\/\n\n  function prefetchSecondaryLinks() {\n\n    const links =\n      Array.from(\n        document.querySelectorAll(\n          'a[href]'\n        )\n      );\n\n\n    let count =\n      0;\n\n\n    links.forEach(\n      function (link) {\n\n        if (\n          count >= 8\n        ) {\n\n          return;\n\n        }\n\n\n        const url =\n          getInternalURL(\n            link\n          );\n\n\n        if (!url) {\n\n          return;\n\n        }\n\n\n        if (\n          prefetched.has(\n            url.href\n          )\n        ) {\n\n          return;\n\n        }\n\n\n        prefetchURL(\n          url\n        );\n\n\n        count++;\n\n      }\n    );\n\n  }\n\n\n\n  if (\n    'requestIdleCallback'\n    in window\n  ) {\n\n    requestIdleCallback(\n\n      prefetchSecondaryLinks,\n\n      {\n        timeout:\n          2500\n      }\n\n    );\n\n  }\n\n  else {\n\n    setTimeout(\n      prefetchSecondaryLinks,\n      1800\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     SHOULD TRANSITION?\n  ===================================================== *\/\n\n  function shouldTransition(\n    link,\n    event\n  ) {\n\n    if (!link) {\n\n      return false;\n\n    }\n\n\n    if (\n      event.button !== 0\n    ) {\n\n      return false;\n\n    }\n\n\n    if (\n      event.metaKey ||\n      event.ctrlKey ||\n      event.shiftKey ||\n      event.altKey\n    ) {\n\n      return false;\n\n    }\n\n\n    if (\n      link.hasAttribute(\n        'download'\n      )\n    ) {\n\n      return false;\n\n    }\n\n\n    if (\n      link.getAttribute(\n        'target'\n      ) === '_blank'\n    ) {\n\n      return false;\n\n    }\n\n\n    if (\n      link.hasAttribute(\n        'data-no-transition'\n      )\n    ) {\n\n      return false;\n\n    }\n\n\n    if (\n      link.closest(\n        '#wpadminbar'\n      )\n    ) {\n\n      return false;\n\n    }\n\n\n    return !!getInternalURL(\n      link\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     CLICK\n  ===================================================== *\/\n\n  document.addEventListener(\n\n    'click',\n\n    function (event) {\n\n\n      const link =\n        event.target.closest(\n          'a[href]'\n        );\n\n\n      if (\n        !shouldTransition(\n          link,\n          event\n        )\n      ) {\n\n        return;\n\n      }\n\n\n\n      if (\n        document.documentElement\n          .classList\n          .contains(\n            'bplr-transition-out'\n          )\n      ) {\n\n        event.preventDefault();\n\n        return;\n\n      }\n\n\n\n      event.preventDefault();\n\n\n\n      const destination =\n        link.href;\n\n\n      const destinationURL =\n        getInternalURL(\n          link\n        );\n\n\n\n      \/* =================================================\n         LAST CHANCE PRERENDER\n      ================================================= *\/\n\n      if (\n        destinationURL\n      ) {\n\n        prerenderURL(\n          destinationURL\n        );\n\n      }\n\n\n\n      \/* =================================================\n         PREPARE TRANSITION\n      ================================================= *\/\n\n      setupGeometry();\n\n\n      redCircle.setAttribute(\n        'r',\n        2\n      );\n\n\n      blueCircle.setAttribute(\n        'r',\n        2\n      );\n\n\n      stage.setAttribute(\n        'aria-hidden',\n        'false'\n      );\n\n\n      document.documentElement\n        .classList\n        .add(\n          'bplr-transition-out'\n        );\n\n\n\n      \/* =================================================\n         SAVE DESTINATION\n      ================================================= *\/\n\n      try {\n\n        sessionStorage.setItem(\n          'bplr-transition-target',\n          destination\n        );\n\n\n        sessionStorage.setItem(\n          'bplr-transition-time',\n          String(\n            Date.now()\n          )\n        );\n\n      }\n\n      catch (error) {}\n\n\n\n      \/* =================================================\n         RED\n      ================================================= *\/\n\n      animateRadius(\n\n        redCircle,\n\n        2,\n\n        maximumRadius,\n\n        RED_DURATION,\n\n        0\n\n      );\n\n\n\n      \/* =================================================\n         BLUE\n      ================================================= *\/\n\n      animateRadius(\n\n        blueCircle,\n\n        2,\n\n        maximumRadius,\n\n        BLUE_DURATION,\n\n        BLUE_DELAY,\n\n        function () {\n\n\n          window.location.href =\n            destination;\n\n        }\n\n      );\n\n    },\n\n    true\n  );\n\n\n\n  \/* =====================================================\n     BACK \/ FORWARD CACHE\n  ===================================================== *\/\n\n  window.addEventListener(\n\n    'pageshow',\n\n    function (event) {\n\n      if (\n        event.persisted\n      ) {\n\n        document.documentElement\n          .classList\n          .remove(\n            'bplr-transition-out',\n            'bplr-transition-in'\n          );\n\n\n        stage.setAttribute(\n          'aria-hidden',\n          'true'\n        );\n\n      }\n\n    }\n\n  );\n\n\n\n  \/* =====================================================\n     RESIZE\n  ===================================================== *\/\n\n  let resizeTimer;\n\n\n  window.addEventListener(\n\n    'resize',\n\n    function () {\n\n      clearTimeout(\n        resizeTimer\n      );\n\n\n      resizeTimer =\n        setTimeout(\n\n          function () {\n\n            if (\n              !document.documentElement\n                .classList\n                .contains(\n                  'bplr-transition-out'\n                ) &&\n              !document.documentElement\n                .classList\n                .contains(\n                  'bplr-transition-in'\n                )\n            ) {\n\n              setupGeometry();\n\n            }\n\n          },\n\n          120\n\n        );\n\n    },\n\n    {\n      passive:\n        true\n    }\n\n  );\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3d218a57 e-con-full case-hero-content e-flex e-con e-child\" data-id=\"3d218a57\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6cd5e4e7 elementor-widget elementor-widget-html\" data-id=\"6cd5e4e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"case-hero-sequence\">\n<section class=\"case-hero-stage\">\n<div class=\"case-hero-brand\">\nUBER\n<\/div>\n<div class=\"case-hero-title-wrap case-hero-title-desktop-wrap\">\n<h1 class=\"case-hero-title\">\n<span>JUNTOS EN<\/span>\n<span>EL VIAJE<\/span>\n<\/h1>\n<\/div>\n<div class=\"case-hero-title-mobile\">\n<span class=\"case-mobile-line\">JUNTOS<\/span>\n<span class=\"case-mobile-line\">EN EL<\/span>\n<span class=\"case-mobile-line\">VIAJE<\/span>\n<\/div>\n<div class=\"case-hero-circle\">\n<img\nclass=\"case-hero-circle-media\"\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2024\/09\/Uber_rectangular_14.png\"\nalt=\"Uber \u2014 Juntos en el viaje\"\n>\n<\/div>\n<\/section>\n<div class=\"case-hero-final-media\">\n<img\nclass=\"case-hero-final-image\"\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2024\/09\/Uber_rectangular_14.png\"\nalt=\"Uber \u2014 Juntos en el viaje\"\n>\n<\/div>\n<\/div>\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:ital,wght@0,400;0,600;0,700;0,800;0,900;1,800;1,900&display=swap');\n\n.case-hero-sequence {\nposition: relative;\nwidth: 100vw;\nmax-width: 100vw;\nheight: 200vh;\nmargin:\n0 0 0 calc(50% - 50vw);\npadding: 0;\noverflow: hidden;\nbox-sizing: border-box;\nbackground: #F5F5F5;\n}\n\n.case-hero-stage {\nposition: absolute;\ntop: 0;\nleft: 0;\nwidth: 100vw;\nmax-width: 100vw;\nheight: 100vh;\nmin-height: 100vh;\nmargin: 0;\npadding: 0;\nbox-sizing: border-box;\noverflow: hidden;\nbackground: #F5F5F5;\ncolor: #0B0B0D;\nfont-family:\n\"Barlow Condensed\",\nArial,\nsans-serif;\n}\n\n.case-hero-brand {\nposition: absolute;\nleft:\nclamp(28px, 3vw, 56px);\ntop:\nclamp(110px, 11vh, 150px);\nmin-height: 36px;\npadding:\n0 14px;\ndisplay:\ninline-flex;\nalign-items:\ncenter;\njustify-content:\ncenter;\nbox-sizing:\nborder-box;\nborder:\n1px solid rgba(11,11,13,.28);\nbackground:\ntransparent;\nfont-family:\n\"Barlow Condensed\",\nArial,\nsans-serif !important;\nfont-size:\nclamp(14px,1vw,18px);\nfont-weight:\n800 !important;\nline-height: 1;\ntext-transform:\nuppercase;\nwhite-space:\nnowrap;\ncolor:\n#0B0B0D;\nz-index:\n5;\n}\n\n.case-hero-title-wrap {\nposition: absolute;\nleft:\nclamp(28px,3vw,56px);\nbottom:\nclamp(42px,5vh,72px);\nwidth:\nmin(70vw,980px);\nmargin: 0;\npadding: 0;\nz-index: 4;\n}\n\n.case-hero-title {\nmargin: 0;\npadding: 0;\ndisplay: flex;\nflex-direction:\ncolumn;\ngap: 0;\nfont-family:\n\"Barlow Condensed\",\nArial,\nsans-serif !important;\nfont-size:\nclamp(120px,13vw,230px);\nfont-weight:\n800 !important;\nline-height:\n.72;\nletter-spacing:\n-.025em;\ntext-transform:\nuppercase;\ncolor:\n#0B0B0D;\n}\n\n.case-hero-title span {\ndisplay: block;\nwhite-space: nowrap;\n}\n\n.case-hero-title-mobile {\ndisplay: none;\n}\n\n.case-hero-circle {\nposition: absolute;\nright:\nclamp(44px,5vw,90px);\nbottom:\nclamp(52px,7vh,110px);\nwidth:\nclamp(150px,15vw,260px);\naspect-ratio:\n1 \/ 1;\nmargin: 0;\npadding: 0;\noverflow: hidden;\nborder-radius: 50%;\nbackground: #111;\nz-index: 20;\n}\n\n.case-hero-circle-media {\nposition: absolute !important;\ninset: 0 !important;\ndisplay: block !important;\nwidth: 100% !important;\nheight: 100% !important;\nmax-width: none !important;\nobject-fit: cover !important;\nobject-position: center center !important;\npointer-events: none;\n}\n\n.case-hero-final-media {\nposition: absolute;\nleft: 0;\nbottom: 0;\nwidth: 100vw;\nmax-width: 100vw;\nheight: 100vh;\nmargin: 0;\npadding: 0;\noverflow: hidden;\nbackground: #111;\n}\n\n.case-hero-final-image {\ndisplay: block;\nwidth: 100%;\nheight: 100%;\nmargin: 0;\npadding: 0;\nobject-fit: cover;\nobject-position:\ncenter center;\npointer-events: none;\n}\n\n.case-hero-fixed-overlay {\nposition:\nfixed !important;\ninset:\n0 !important;\nwidth:\n100vw !important;\nheight:\n100vh !important;\nmargin:\n0 !important;\npadding:\n0 !important;\noverflow:\nhidden !important;\npointer-events:\nnone !important;\nbackground:\n#F5F5F5;\nz-index:\n90000;\n}\n\n.case-hero-fixed-overlay\n.case-hero-stage {\nposition:\nabsolute !important;\ninset:\n0 !important;\nwidth:\n100vw !important;\nheight:\n100vh !important;\nmin-height:\n100vh !important;\n}\n\n.case-mobile-hero-overlay {\nposition:\nfixed !important;\ninset:\n0 !important;\nwidth:\n100vw !important;\nheight:\n100svh !important;\nmargin:\n0 !important;\npadding:\n0 !important;\noverflow:\nhidden !important;\npointer-events:\nnone !important;\nbackground:\n#F5F5F5;\nz-index:\n80000;\n}\n\n.case-mobile-hero-overlay\n.case-hero-stage {\nposition:\nabsolute !important;\ninset:\n0 !important;\nwidth:\n100vw !important;\nheight:\n100svh !important;\nmin-height:\n100svh !important;\n}\n\n.case-mobile-video-overlay {\nposition:\nfixed !important;\ninset:\n0 !important;\nwidth:\n100vw !important;\nheight:\n100svh !important;\nmargin:\n0 !important;\npadding:\n0 !important;\noverflow:\nhidden !important;\npointer-events:\nnone !important;\nbackground:\n#111;\ntransform:\ntranslate3d(0,100%,0);\nwill-change:\ntransform;\nz-index:\n80001;\n}\n\n.case-mobile-video-overlay img,\n.case-mobile-video-overlay video {\ndisplay:\nblock !important;\nwidth:\n100% !important;\nheight:\n100% !important;\nmargin:\n0 !important;\npadding:\n0 !important;\nobject-fit:\ncover !important;\nobject-position:\ncenter center !important;\n}\n\n@media\n(min-width:768px)\nand\n(max-width:1180px) {\n.case-hero-brand {\nleft: 32px;\ntop: 120px;\nmin-height: 38px;\nfont-size: 18px;\n}\n.case-hero-title-wrap {\nleft: 32px;\nbottom: 54px;\nwidth: 75vw;\n}\n.case-hero-title {\nfont-size:\nclamp(104px,14.5vw,165px);\nline-height:\n.72;\n}\n.case-hero-circle {\nright: 38px;\nbottom: 64px;\nwidth:\nclamp(130px,17vw,190px);\n}\n}\n\n@media\n(max-width:767px) {\n.case-hero-sequence {\nposition:\nrelative !important;\nwidth:\n100vw !important;\nmax-width:\n100vw !important;\nheight:\n200svh !important;\nmargin:\n0 0 0 calc(50% - 50vw) !important;\npadding:\n0 !important;\noverflow:\nhidden !important;\nbackground:\n#F5F5F5;\n}\n.case-hero-stage {\nposition:\nabsolute !important;\ntop:\n0 !important;\nleft:\n0 !important;\nwidth:\n100vw !important;\nheight:\n100svh !important;\nmin-height:\n100svh !important;\nmargin:\n0 !important;\npadding:\n0 !important;\noverflow:\nhidden !important;\n}\n.case-hero-brand {\nleft:\n18px;\ntop:\n72px;\nmin-height:\n32px;\npadding:\n0 11px;\nfont-size:\n14px;\n}\n.case-hero-title-desktop-wrap {\ndisplay:\nnone !important;\n}\n.case-hero-title-mobile {\nposition:\nabsolute;\nleft:\n18px;\nbottom:\n48px;\nwidth:\ncalc(100% - 36px);\nmargin:\n0;\npadding:\n0;\ndisplay:\nflex !important;\nflex-direction:\ncolumn;\nalign-items:\nflex-start;\ngap:\n0;\nfont-family:\n\"Barlow Condensed\",\nArial,\nsans-serif !important;\nfont-size:\nclamp(84px,24vw,118px);\nfont-weight:\n800 !important;\nline-height:\n1;\nletter-spacing:\n-.025em;\ntext-transform:\nuppercase;\ncolor:\n#0B0B0D;\nz-index:\n5;\n}\n.case-mobile-line {\ndisplay:\nblock;\nwidth:\nmax-content;\nheight:\n.75em;\nmargin:\n0;\npadding:\n0;\nline-height:\n1;\nwhite-space:\nnowrap;\n}\n.case-hero-circle {\ndisplay:\nnone !important;\n}\n.case-hero-final-media {\nposition:\nabsolute !important;\ntop:\n100svh !important;\nleft:\n0 !important;\nbottom:\nauto !important;\nwidth:\n100vw !important;\nheight:\n100svh !important;\nmin-height:\n100svh !important;\nmargin:\n0 !important;\npadding:\n0 !important;\noverflow:\nhidden !important;\n}\n.case-hero-final-image {\nwidth:\n100% !important;\nheight:\n100% !important;\nobject-fit:\ncover !important;\nobject-position:\ncenter center !important;\n}\n.case-hero-fixed-overlay {\ndisplay:\nnone !important;\n}\n}\n<\/style>\n\n<script>\n(function () {\nconst sequence =\ndocument.querySelector(\n'.case-hero-sequence'\n);\nconst originalStage =\ndocument.querySelector(\n'.case-hero-stage'\n);\nconst originalCircle =\noriginalStage\n? originalStage.querySelector(\n'.case-hero-circle'\n)\n: null;\nconst finalImage =\ndocument.querySelector(\n'.case-hero-final-image'\n);\nif (\n!sequence ||\n!originalStage\n) {\nreturn;\n}\nfunction normalizeHeroWrappers() {\nconst widget =\nsequence.closest(\n'.elementor-widget-html'\n);\nif (!widget) return;\nwidget.style.width =\n'100%';\nwidget.style.maxWidth =\n'100%';\nwidget.style.margin =\n'0';\nwidget.style.padding =\n'0';\nlet parent =\nwidget.parentElement;\nlet level =\n0;\nwhile (\nparent &&\nlevel < 3\n) {\nparent.style.paddingLeft =\n'0';\nparent.style.paddingRight =\n'0';\nparent.style.marginLeft =\n'0';\nparent.style.marginRight =\n'0';\nparent.style.maxWidth =\n'none';\nparent.style.width =\n'100%';\nparent.style.gap =\n'0';\nlevel++;\nparent =\nparent.parentElement;\n}\n}\nnormalizeHeroWrappers();\nfunction isMobile() {\nreturn (\nwindow.innerWidth <= 767\n);\n}\nfunction clamp(\nvalue,\nmin,\nmax\n) {\nreturn Math.min(\nMath.max(\nvalue,\nmin\n),\nmax\n);\n}\ndocument\n.querySelectorAll(\n'.case-hero-fixed-overlay,' +\n'.case-mobile-hero-overlay,' +\n'.case-mobile-video-overlay'\n)\n.forEach(\nfunction(el) {\nel.remove();\n}\n);\nif (isMobile()) {\nconst heroOverlay =\ndocument.createElement(\n'div'\n);\nheroOverlay.className =\n'case-mobile-hero-overlay';\nconst mobileHero =\noriginalStage.cloneNode(\ntrue\n);\nconst mobileCircle =\nmobileHero.querySelector(\n'.case-hero-circle'\n);\nif (mobileCircle) {\nmobileCircle.remove();\n}\nheroOverlay.appendChild(\nmobileHero\n);\ndocument.body.appendChild(\nheroOverlay\n);\nconst videoOverlay =\ndocument.createElement(\n'div'\n);\nvideoOverlay.className =\n'case-mobile-video-overlay';\nconst mobileImage =\nfinalImage\n? finalImage.cloneNode(true)\n: null;\nif (mobileImage) {\nvideoOverlay.appendChild(\nmobileImage\n);\n}\ndocument.body.appendChild(\nvideoOverlay\n);\nheroOverlay.style.display =\n'none';\nvideoOverlay.style.display =\n'none';\nlet ticking =\nfalse;\nfunction updateMobile() {\nconst rect =\nsequence.getBoundingClientRect();\nconst viewportH =\nwindow.innerHeight;\nconst scrollInside =\n-rect.top;\nconst end =\nsequence.offsetHeight -\nviewportH;\nif (\nscrollInside <= 0\n) {\nheroOverlay.style.display =\n'none';\nvideoOverlay.style.display =\n'none';\noriginalStage.style.visibility =\n'visible';\nticking =\nfalse;\nreturn;\n}\nif (\nscrollInside >= end\n) {\nheroOverlay.style.display =\n'none';\nvideoOverlay.style.display =\n'none';\noriginalStage.style.visibility =\n'visible';\nticking =\nfalse;\nreturn;\n}\noriginalStage.style.visibility =\n'hidden';\nheroOverlay.style.display =\n'block';\nvideoOverlay.style.display =\n'block';\nconst progress =\nclamp(\nscrollInside \/\nviewportH,\n0,\n1\n);\nconst translate =\n(1 - progress) * 100;\nvideoOverlay.style.transform =\n'translate3d(0,' +\ntranslate +\n'%,0)';\nticking =\nfalse;\n}\nfunction requestMobileUpdate() {\nif (ticking) return;\nticking =\ntrue;\nwindow.requestAnimationFrame(\nupdateMobile\n);\n}\nwindow.addEventListener(\n'scroll',\nrequestMobileUpdate,\n{\npassive:\ntrue\n}\n);\nrequestAnimationFrame(\nupdateMobile\n);\nreturn;\n}\nif (!originalCircle) {\nreturn;\n}\nconst overlay =\ndocument.createElement(\n'div'\n);\noverlay.className =\n'case-hero-fixed-overlay';\nconst fixedStage =\noriginalStage.cloneNode(\ntrue\n);\noverlay.appendChild(\nfixedStage\n);\ndocument.body.appendChild(\noverlay\n);\nconst fixedCircle =\nfixedStage.querySelector(\n'.case-hero-circle'\n);\noverlay.style.display =\n'none';\nlet viewportW =\nwindow.innerWidth;\nlet viewportH =\nwindow.innerHeight;\nlet startCircle = {\nleft: 0,\ntop: 0,\nwidth: 0,\nheight: 0\n};\nlet ticking =\nfalse;\nlet pinned =\nfalse;\nfunction lerp(\nstart,\nend,\namount\n) {\nreturn (\nstart +\n(\nend -\nstart\n) *\namount\n);\n}\nfunction measure() {\nviewportW =\nwindow.innerWidth;\nviewportH =\nwindow.innerHeight;\nstartCircle = {\nleft:\noriginalCircle.offsetLeft,\ntop:\noriginalCircle.offsetTop,\nwidth:\noriginalCircle.offsetWidth,\nheight:\noriginalCircle.offsetHeight\n};\nrequestUpdate();\n}\nfunction showOriginal() {\noverlay.style.display =\n'none';\noriginalStage.style.visibility =\n'visible';\npinned =\nfalse;\n}\nfunction showFixed() {\nif (!pinned) {\npinned =\ntrue;\n}\noverlay.style.display =\n'block';\noriginalStage.style.visibility =\n'hidden';\n}\nfunction animateCircle(\nprogress\n) {\nconst left =\nlerp(\nstartCircle.left,\n0,\nprogress\n);\nconst top =\nlerp(\nstartCircle.top,\n0,\nprogress\n);\nconst width =\nlerp(\nstartCircle.width,\nviewportW,\nprogress\n);\nconst height =\nlerp(\nstartCircle.height,\nviewportH,\nprogress\n);\nconst radius =\nlerp(\n50,\n0,\nprogress\n);\nfixedCircle.style.left =\nleft + 'px';\nfixedCircle.style.top =\ntop + 'px';\nfixedCircle.style.right =\n'auto';\nfixedCircle.style.bottom =\n'auto';\nfixedCircle.style.width =\nwidth + 'px';\nfixedCircle.style.height =\nheight + 'px';\nfixedCircle.style.aspectRatio =\n'auto';\nfixedCircle.style.borderRadius =\nradius + '%';\n}\nfunction update() {\nconst rect =\nsequence.getBoundingClientRect();\nconst scrollInside =\n-rect.top;\nconst sequenceEnd =\nsequence.offsetHeight -\nviewportH;\nif (\nscrollInside <= 0\n) {\nshowOriginal();\nanimateCircle(\n0\n);\nticking =\nfalse;\nreturn;\n}\nif (\nscrollInside >=\nsequenceEnd\n) {\noverlay.style.display =\n'none';\noriginalStage.style.visibility =\n'visible';\npinned =\nfalse;\nticking =\nfalse;\nreturn;\n}\nshowFixed();\nconst progress =\nclamp(\nscrollInside \/\nviewportH,\n0,\n1\n);\nanimateCircle(\nprogress\n);\nticking =\nfalse;\n}\nfunction requestUpdate() {\nif (ticking) return;\nticking =\ntrue;\nwindow.requestAnimationFrame(\nupdate\n);\n}\nwindow.addEventListener(\n'scroll',\nrequestUpdate,\n{\npassive:\ntrue\n}\n);\nlet resizeTimer;\nwindow.addEventListener(\n'resize',\nfunction () {\nclearTimeout(\nresizeTimer\n);\nresizeTimer =\nsetTimeout(\nmeasure,\n120\n);\n}\n);\nrequestAnimationFrame(\nmeasure\n);\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-542cab5f e-con-full case-description-section e-flex e-con e-child\" data-id=\"542cab5f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53ae384f elementor-widget elementor-widget-html\" data-id=\"53ae384f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"case-description-stage\">\n\n  <div class=\"case-description-inner\">\n\n    <h2 class=\"case-description-title\">\nA JOURNEY FUELED BY FOOTBALL, PASSION AND SHARED MEMORIES.\n<\/h2>\n    <\/h2>\n\n  <\/div>\n\n<\/section>\n\n\n<style>\n\n\/* =========================================================\n   CASE DESCRIPTION\n========================================================= *\/\n\n.case-description-stage {\n\n  position: relative;\n\n  width: 100%;\n  min-height: 100vh;\n\n  margin: 0;\n  padding: 0;\n\n  box-sizing: border-box;\n\n  display: flex;\n\n  align-items: center;\n\n  overflow: hidden;\n\n  background: #0B0B0D;\n\n  color: #F5F5F5;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif;\n\n}\n\n\n\/* =========================================================\n   INNER\n========================================================= *\/\n\n.case-description-inner {\n\n  width: 100%;\n\n  margin: 0;\n\n  padding:\n    clamp(70px, 7vw, 130px)\n    clamp(30px, 4vw, 72px);\n\n  box-sizing: border-box;\n\n}\n\n\n\/* =========================================================\n   LARGE STATEMENT\n========================================================= *\/\n\n.case-description-title {\n\n  width:\n    min(95%, 1700px);\n\n  margin: 0;\n\n  padding: 0;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif !important;\n\n  font-size:\n    clamp(\n      92px,\n      9.4vw,\n      180px\n    );\n\n  font-weight:\n    800 !important;\n\n  font-style:\n    normal;\n\n  line-height:\n    .80;\n\n  letter-spacing:\n    -.028em;\n\n  text-transform:\n    uppercase;\n\n  color:\n    #F5F5F5;\n\n}\n\n\n.case-description-title span {\n\n  display: block;\n\n  margin: 0;\n\n  padding: 0;\n\n  white-space: nowrap;\n\n}\n\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media\n(min-width: 768px)\nand\n(max-width: 1180px) {\n\n  .case-description-stage {\n\n    min-height:\n      100svh;\n\n  }\n\n\n  .case-description-inner {\n\n    padding:\n      70px\n      32px;\n\n  }\n\n\n  .case-description-title {\n\n    width:\n      100%;\n\n    font-size:\n      clamp(\n        74px,\n        10.2vw,\n        118px\n      );\n\n    line-height:\n      .80;\n\n  }\n\n\n  .case-description-title span {\n\n    white-space:\n      normal;\n\n  }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media\n(max-width: 767px) {\n\n  .case-description-stage {\n\n    min-height:\n      100svh;\n\n    align-items:\n      center;\n\n  }\n\n\n  .case-description-inner {\n\n    padding:\n      64px\n      18px;\n\n  }\n\n\n  .case-description-title {\n\n    width:\n      100%;\n\n    font-size:\n      clamp(\n        54px,\n        16vw,\n        82px\n      );\n\n    line-height:\n      .82;\n\n    letter-spacing:\n      -.025em;\n\n  }\n\n\n  .case-description-title span {\n\n    white-space:\n      normal;\n\n  }\n\n}\n\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7ce221dd e-con-full case-story-section e-flex e-con e-child\" data-id=\"7ce221dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4524e79b elementor-widget elementor-widget-html\" data-id=\"4524e79b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"case-story\">\n<div class=\"case-story-inner\">\n<div class=\"case-story-media\">\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2024\/09\/Uber_rectangular_14.png\"\nalt=\"Uber \u2014 Juntos en el viaje\"\nclass=\"case-story-image\"\n>\n<\/div>\n<div class=\"case-story-copy\">\n<div class=\"case-story-label\">\nIDEA\n<\/div>\n<div class=\"case-story-text\">\n<p>\nEvery four years, football takes over far more than the pitch. In Mexico, the World Cup becomes part of everyday conversation \u2014 in the streets, at work, at home and everywhere in between. Old stories return, legends become relevant again, and an entire country reconnects through a celebration that has grown into something bigger than sport: culture.\n<\/p>\n<p>\nFor Uber, Jorge Campos and Luis Garc\u00eda stepped out of the role of brand ambassadors and became what they really are at heart \u2014 two people who simply love football. Enough to change the plans for the day, get in the car and go play a quick match. Because during the World Cup, sometimes the best part of the journey is deciding to take it together.\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400&family=Barlow+Condensed:wght@700&display=swap');\n\n.case-story {\nposition:\nrelative;\nwidth:\n100vw;\nmax-width:\n100vw;\nmargin-top:\n0;\nmargin-right:\n0;\nmargin-bottom:\n0;\nmargin-left:\ncalc(50% - 50vw);\npadding:\n0;\nbox-sizing:\nborder-box;\noverflow:\nhidden;\nbackground:\n#0B0B0D;\ncolor:\n#F5F5F5;\n}\n\n.case-story-inner {\nwidth:\n100%;\nmin-height:\n72vh;\nmargin:\n0;\npadding:\nclamp(70px, 7vw, 130px)\nclamp(32px, 5vw, 92px);\nbox-sizing:\nborder-box;\ndisplay:\ngrid;\ngrid-template-columns:\nminmax(220px, 28%)\nminmax(0, 1fr);\ncolumn-gap:\nclamp(80px, 10vw, 190px);\nalign-items:\nstart;\n}\n\n.case-story-media {\nwidth:\nmin(100%, 360px);\naspect-ratio:\n4 \/ 3;\nmargin:\n0;\npadding:\n0;\noverflow:\nhidden;\nbackground:\n#1A1A1A;\n}\n\n.case-story-image {\ndisplay:\nblock;\nwidth:\n100%;\nheight:\n100%;\nmargin:\n0;\npadding:\n0;\nobject-fit:\ncover;\nobject-position:\ncenter center;\n}\n\n.case-story-copy {\nwidth:\nmin(100%, 820px);\nmargin-left:\nauto;\nmargin-right:\n0;\n}\n\n.case-story-label {\nmargin:\n0 0 34px;\npadding:\n0;\nfont-family:\n\"Barlow Condensed\",\nArial,\nsans-serif !important;\nfont-size:\nclamp(\n30px,\n2.3vw,\n44px\n);\nfont-weight:\n700 !important;\nfont-style:\nnormal;\nline-height:\n1;\nletter-spacing:\n-.01em;\ntext-transform:\nuppercase;\ncolor:\n#F5F5F5;\n}\n\n.case-story-text {\nwidth:\n100%;\nmax-width:\n760px;\nmargin:\n0;\npadding:\n0;\n}\n\n.case-story-text p {\nmargin:\n0 0 26px;\npadding:\n0;\nfont-family:\n\"Barlow\",\nArial,\nsans-serif !important;\nfont-size:\nclamp(\n20px,\n1.45vw,\n27px\n);\nfont-weight:\n400 !important;\nfont-style:\nnormal;\nline-height:\n1.38;\nletter-spacing:\n0;\ncolor:\n#F5F5F5;\n}\n\n.case-story-text p:last-child {\nmargin-bottom:\n0;\n}\n\n@media\n(min-width: 768px)\nand\n(max-width: 1180px) {\n.case-story-inner {\nmin-height:\n0;\npadding:\n72px\n32px\n90px;\ngrid-template-columns:\nminmax(180px, 30%)\nminmax(0, 1fr);\ncolumn-gap:\n54px;\n}\n\n.case-story-media {\nwidth:\n100%;\nmax-width:\n290px;\n}\n\n.case-story-label {\nmargin-bottom:\n28px;\nfont-size:\nclamp(\n28px,\n3.8vw,\n38px\n);\n}\n\n.case-story-text p {\nfont-size:\nclamp(\n19px,\n2.2vw,\n24px\n);\nline-height:\n1.4;\n}\n}\n\n@media\n(max-width: 767px) {\n.case-story-inner {\nmin-height:\n0;\npadding:\n54px\n18px\n72px;\ndisplay:\nflex;\nflex-direction:\ncolumn;\ngap:\n42px;\n}\n\n.case-story-media {\nwidth:\n100%;\nmax-width:\nnone;\naspect-ratio:\n4 \/ 3;\n}\n\n.case-story-copy {\nwidth:\n100%;\nmargin:\n0;\n}\n\n.case-story-label {\nmargin-bottom:\n24px;\nfont-size:\n30px;\n}\n\n.case-story-text {\nwidth:\n100%;\nmax-width:\nnone;\n}\n\n.case-story-text p {\nmargin-bottom:\n22px;\nfont-size:\n19px;\nline-height:\n1.42;\n}\n}\n<\/style>\n\n<script>\n(function () {\nconst story =\ndocument.querySelector(\n'.case-story'\n);\nif (!story) return;\nconst widget =\nstory.closest(\n'.elementor-widget-html'\n);\nif (widget) {\nwidget.style.width =\n'100%';\nwidget.style.maxWidth =\n'100%';\nwidget.style.margin =\n'0';\nwidget.style.padding =\n'0';\n}\nlet parent =\nwidget\n? widget.parentElement\n: null;\nlet level =\n0;\nwhile (\nparent &&\nlevel < 3\n) {\nparent.style.paddingLeft =\n'0';\nparent.style.paddingRight =\n'0';\nparent.style.marginLeft =\n'0';\nparent.style.marginRight =\n'0';\nparent.style.maxWidth =\n'none';\nparent.style.width =\n'100%';\nparent.style.gap =\n'0';\nlevel++;\nparent =\nparent.parentElement;\n}\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3d74694c e-con-full case-gallery-section e-flex e-con e-child\" data-id=\"3d74694c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54d575fc elementor-widget elementor-widget-html\" data-id=\"54d575fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"case-gallery\">\n<div class=\"case-gallery-grid\">\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"0\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<video\nclass=\"case-gallery-media\"\nautoplay\nmuted\nloop\nplaysinline\npreload=\"auto\"\n>\n<source\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/UBER_JUNTOS_001.mp4\"\ntype=\"video\/mp4\"\n>\n<\/video>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"1\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_003.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 02\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"2\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS022.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 03\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"3\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_021.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 04\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"4\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_020.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 05\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"5\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_019.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 06\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"6\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_016.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 07\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"7\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<video\nclass=\"case-gallery-media\"\nautoplay\nmuted\nloop\nplaysinline\npreload=\"auto\"\n>\n<source\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/UBER_JUNTOS_002.mp4\"\ntype=\"video\/mp4\"\n>\n<\/video>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"8\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_015.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 09\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"9\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_014.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 10\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"10\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_013.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 11\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"11\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_012.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 12\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"12\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTO_011.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 13\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"13\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_009.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 14\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"14\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_006.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 15\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<div\nclass=\"case-gallery-item case-gallery-full\"\ndata-gallery-index=\"15\"\nrole=\"button\"\ntabindex=\"0\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_005.jpg\"\nalt=\"Uber \u2014 Juntos en el viaje, Gallery 16\"\nclass=\"case-gallery-media\"\n>\n<\/div>\n<\/div>\n<\/section>\n\n<div\nclass=\"case-strip-modal\"\naria-hidden=\"true\"\n>\n<div class=\"case-strip-track\">\n<div class=\"case-strip-set\">\n<div\nclass=\"case-strip-item case-strip-full case-strip-video-item\"\ndata-strip-index=\"0\"\n>\n<video\nclass=\"case-strip-media case-strip-preview-video\"\nmuted\nplaysinline\npreload=\"auto\"\n>\n<source\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/UBER_JUNTOS_001.mp4\"\ntype=\"video\/mp4\"\n>\n<\/video>\n<button\nclass=\"case-strip-play\"\ntype=\"button\"\naria-label=\"Play video\"\n>\u25b6<\/button>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"1\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_003.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"2\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS022.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"3\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_021.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"4\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_020.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"5\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_019.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"6\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_016.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full case-strip-video-item\"\ndata-strip-index=\"7\"\n>\n<video\nclass=\"case-strip-media case-strip-preview-video\"\nmuted\nplaysinline\npreload=\"auto\"\n>\n<source\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/UBER_JUNTOS_002.mp4\"\ntype=\"video\/mp4\"\n>\n<\/video>\n<button\nclass=\"case-strip-play\"\ntype=\"button\"\naria-label=\"Play video\"\n>\u25b6<\/button>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"8\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_015.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"9\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_014.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"10\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_013.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"11\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_012.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"12\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTO_011.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"13\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_009.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"14\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_006.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<div\nclass=\"case-strip-item case-strip-full\"\ndata-strip-index=\"15\"\n>\n<img\nsrc=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/JUNTOS_005.jpg\"\nalt=\"\"\nclass=\"case-strip-media\"\ndraggable=\"false\"\n>\n<\/div>\n<\/div>\n<\/div>\n<button\nclass=\"case-strip-close\"\ntype=\"button\"\naria-label=\"Close gallery\"\n>\u00d7<\/button>\n<\/div>\n\n<div\nclass=\"case-video-modal\"\naria-hidden=\"true\"\n>\n<div class=\"case-video-stage\">\n<video\nclass=\"case-video-player\"\nplaysinline\npreload=\"auto\"\ncontrols\n><\/video>\n<\/div>\n<button\nclass=\"case-video-close\"\ntype=\"button\"\naria-label=\"Close video\"\n>\u00d7<\/button>\n<\/div>\n\n<style>\n.case-gallery {\nposition: relative;\nwidth: 100vw;\nmax-width: 100vw;\nmargin:\n0 0 0 calc(50% - 50vw) !important;\npadding:\n0 !important;\nbox-sizing:\nborder-box;\noverflow:\nhidden;\nbackground:\n#0B0B0D;\n}\n.case-gallery-grid {\ndisplay:\ngrid !important;\nwidth:\n100% !important;\nmargin:\n0 !important;\npadding:\n0 !important;\ngrid-template-columns:\nrepeat(2,minmax(0,1fr));\ngap:\n0 !important;\nrow-gap:\n0 !important;\ncolumn-gap:\n0 !important;\nfont-size:\n0 !important;\nline-height:\n0 !important;\n}\n.case-gallery-item {\nposition:\nrelative;\ndisplay:\nblock !important;\nwidth:\n100% !important;\nmin-width:\n0 !important;\nmin-height:\n0 !important;\nmargin:\n0 !important;\npadding:\n0 !important;\noverflow:\nhidden;\nbackground:\n#0B0B0D;\ncursor:\npointer;\n}\n.case-gallery-half {\ngrid-column:\nspan 1;\naspect-ratio:\n1 \/ 1;\n}\n.case-gallery-full {\ngrid-column:\n1 \/ -1;\naspect-ratio:\n16 \/ 8;\n}\n.case-gallery-media {\nposition:\nabsolute !important;\ninset:\n0 !important;\ndisplay:\nblock !important;\nwidth:\n100% !important;\nheight:\n100% !important;\nmax-width:\nnone !important;\nmax-height:\nnone !important;\nmargin:\n0 !important;\npadding:\n0 !important;\nobject-fit:\ncover !important;\nobject-position:\ncenter center !important;\ntransform:\nscale(1);\ntransition:\ntransform .6s cubic-bezier(.22,.8,.3,1);\n}\n.case-gallery video,\n.case-gallery img {\ndisplay:\nblock !important;\nwidth:\n100% !important;\nheight:\n100% !important;\nobject-fit:\ncover !important;\n}\n@media (hover:hover) {\n.case-gallery-item:hover\n.case-gallery-media {\ntransform:\nscale(1.018);\n}\n}\n@media\n(min-width:768px)\nand\n(max-width:1180px) {\n.case-gallery-half {\naspect-ratio:\n4 \/ 5;\n}\n.case-gallery-full {\naspect-ratio:\n16 \/ 9;\n}\n}\n@media\n(max-width:767px) {\n.case-gallery-half {\naspect-ratio:\n1 \/ 1.12;\n}\n.case-gallery-full {\naspect-ratio:\n4 \/ 3;\n}\n}\n.case-strip-modal {\nposition:\nfixed;\ninset:\n0;\nwidth:\n100vw;\nheight:\n100vh;\nheight:\n100dvh;\nmargin:\n0;\npadding:\n0;\noverflow:\nhidden;\nbackground:\n#000;\nopacity:\n0;\nvisibility:\nhidden;\npointer-events:\nnone;\ncursor:\ngrab;\ntouch-action:\nnone;\nuser-select:\nnone;\n-webkit-user-select:\nnone;\nz-index:\n2147483000;\n}\n.case-strip-modal.is-open {\nopacity:\n1;\nvisibility:\nvisible;\npointer-events:\nauto;\n}\n.case-strip-modal.is-dragging {\ncursor:\ngrabbing;\n}\n.case-strip-track {\nposition:\nabsolute;\ntop:\n0;\nleft:\n0;\ndisplay:\nflex;\nflex-direction:\nrow;\nalign-items:\nstretch;\nwidth:\nmax-content;\nheight:\n100%;\nmargin:\n0;\npadding:\n0;\ngap:\n0;\ntransform:\ntranslate3d(0,0,0);\nwill-change:\ntransform;\n}\n.case-strip-set {\ndisplay:\nflex;\nflex-direction:\nrow;\nflex:\nnone;\nwidth:\nmax-content;\nheight:\n100%;\nmargin:\n0;\npadding:\n0;\ngap:\n0;\n}\n.case-strip-item {\nposition:\nrelative;\nflex:\nnone;\nheight:\n100vh;\nheight:\n100dvh;\nmargin:\n0;\npadding:\n0;\noverflow:\nhidden;\nbackground:\n#111;\n}\n.case-strip-half {\nwidth:\n50vw;\n}\n.case-strip-full {\nwidth:\n100vw;\n}\n.case-strip-media {\nposition:\nabsolute;\ninset:\n0;\ndisplay:\nblock;\nwidth:\n100%;\nheight:\n100%;\nmargin:\n0;\npadding:\n0;\nborder:\n0;\nobject-fit:\ncover;\nobject-position:\ncenter center;\nuser-select:\nnone;\n-webkit-user-drag:\nnone;\n}\n.case-strip-play {\nposition:\nabsolute;\nleft:\n50%;\ntop:\n50%;\ntransform:\ntranslate(-50%,-50%);\nwidth:\n84px;\nheight:\n84px;\nmargin:\n0;\npadding:\n0 0 0 4px;\ndisplay:\nflex;\nalign-items:\ncenter;\njustify-content:\ncenter;\nborder:\n1px solid rgba(255,255,255,.9);\nborder-radius:\n50%;\nbackground:\nrgba(0,0,0,.22);\ncolor:\n#fff;\nfont-family:\nArial,\nsans-serif;\nfont-size:\n24px;\nline-height:\n1;\ncursor:\npointer;\nz-index:\n20;\n}\n@media (hover:hover) {\n.case-strip-play:hover {\ntransform:\ntranslate(-50%,-50%)\nscale(1.06);\n}\n}\n.case-strip-close {\nposition:\nfixed;\ntop:\n26px;\nright:\n26px;\nwidth:\n58px;\nheight:\n58px;\nmargin:\n0;\npadding:\n0;\ndisplay:\nflex;\nalign-items:\ncenter;\njustify-content:\ncenter;\nborder:\n0;\nborder-radius:\n0;\nbackground:\n#F5F5F5;\ncolor:\n#0B0B0D;\nfont-family:\nArial,\nsans-serif;\nfont-size:\n27px;\nline-height:\n1;\ncursor:\npointer;\nz-index:\n100;\n}\n.case-video-modal {\nposition:\nfixed;\ninset:\n0;\nwidth:\n100vw;\nheight:\n100vh;\nheight:\n100dvh;\nmargin:\n0;\npadding:\n0;\ndisplay:\nflex;\nalign-items:\ncenter;\njustify-content:\ncenter;\noverflow:\nhidden;\nbackground:\n#000;\nopacity:\n0;\nvisibility:\nhidden;\npointer-events:\nnone;\nz-index:\n2147483600;\n}\n.case-video-modal.is-open {\nopacity:\n1;\nvisibility:\nvisible;\npointer-events:\nauto;\n}\n.case-video-stage {\nposition:\nabsolute;\ninset:\n0;\nwidth:\n100vw;\nheight:\n100vh;\nheight:\n100dvh;\ndisplay:\nflex;\nalign-items:\ncenter;\njustify-content:\ncenter;\nbackground:\n#000;\noverflow:\nhidden;\n}\n.case-video-player {\ndisplay:\nblock;\nwidth:\n100vw;\nheight:\n100vh;\nheight:\n100dvh;\nmax-width:\n100vw;\nmax-height:\n100dvh;\nmargin:\n0;\npadding:\n0;\nobject-fit:\ncontain;\nobject-position:\ncenter center;\nbackground:\n#000;\n}\n.case-video-close {\nposition:\nfixed;\ntop:\n26px;\nright:\n26px;\nwidth:\n58px;\nheight:\n58px;\nmargin:\n0;\npadding:\n0;\ndisplay:\nflex;\nalign-items:\ncenter;\njustify-content:\ncenter;\nborder:\n0;\nborder-radius:\n0;\nbackground:\n#F5F5F5;\ncolor:\n#0B0B0D;\nfont-family:\nArial,\nsans-serif;\nfont-size:\n27px;\nline-height:\n1;\ncursor:\npointer;\nz-index:\n200;\n}\n@media\n(max-width:1180px) {\n.case-strip-item,\n.case-strip-half,\n.case-strip-full {\nwidth:\nauto;\nmax-width:\nnone;\nheight:\n100vh;\nheight:\n100dvh;\nflex:\n0 0 auto;\n}\n.case-strip-media {\nwidth:\n100%;\nheight:\n100%;\nobject-fit:\ncover;\nobject-position:\ncenter center;\n}\n}\n@media\n(max-width:767px) {\n.case-strip-close,\n.case-video-close {\ntop:\n16px;\nright:\n16px;\nwidth:\n50px;\nheight:\n50px;\nfont-size:\n24px;\n}\n.case-strip-play {\nwidth:\n68px;\nheight:\n68px;\nfont-size:\n20px;\n}\n}\n<\/style>\n\n<script>\n(function () {\nconst gallery =\ndocument.querySelector(\n'.case-gallery'\n);\nconst stripModal =\ndocument.querySelector(\n'.case-strip-modal'\n);\nconst videoModal =\ndocument.querySelector(\n'.case-video-modal'\n);\nif (\n!gallery ||\n!stripModal ||\n!videoModal\n) {\nreturn;\n}\ndocument.body.appendChild(\nstripModal\n);\ndocument.body.appendChild(\nvideoModal\n);\nconst track =\nstripModal.querySelector(\n'.case-strip-track'\n);\nconst originalSet =\ntrack.querySelector(\n'.case-strip-set'\n);\nconst stripClose =\nstripModal.querySelector(\n'.case-strip-close'\n);\nconst videoClose =\nvideoModal.querySelector(\n'.case-video-close'\n);\nconst videoPlayer =\nvideoModal.querySelector(\n'.case-video-player'\n);\nconst galleryItems =\nArray.from(\ngallery.querySelectorAll(\n'.case-gallery-item'\n)\n);\ngallery\n.querySelectorAll(\n'video'\n)\n.forEach(\nfunction (video) {\nvideo.muted =\ntrue;\nvideo.defaultMuted =\ntrue;\nvideo.loop =\ntrue;\nvideo.autoplay =\ntrue;\nvideo.playsInline =\ntrue;\nvideo.setAttribute(\n'muted',\n''\n);\nvideo.setAttribute(\n'playsinline',\n''\n);\nvideo.play().catch(\nfunction () {}\n);\n}\n);\nconst widget =\ngallery.closest(\n'.elementor-widget-html'\n);\nif (widget) {\nwidget.style.width =\n'100%';\nwidget.style.maxWidth =\n'100%';\nwidget.style.margin =\n'0';\nwidget.style.padding =\n'0';\n}\nlet parent =\nwidget\n? widget.parentElement\n: null;\nlet level =\n0;\nwhile (\nparent &&\nlevel < 3\n) {\nparent.style.paddingLeft =\n'0';\nparent.style.paddingRight =\n'0';\nparent.style.paddingTop =\n'0';\nparent.style.paddingBottom =\n'0';\nparent.style.marginLeft =\n'0';\nparent.style.marginRight =\n'0';\nparent.style.marginTop =\n'0';\nparent.style.marginBottom =\n'0';\nparent.style.maxWidth =\n'none';\nparent.style.width =\n'100%';\nparent.style.gap =\n'0';\nparent.style.rowGap =\n'0';\nparent.style.columnGap =\n'0';\nlevel++;\nparent =\nparent.parentElement;\n}\ntrack\n.querySelectorAll(\n'.case-strip-set-clone'\n)\n.forEach(\nfunction (clone) {\nclone.remove();\n}\n);\nconst previousSet =\noriginalSet.cloneNode(\ntrue\n);\npreviousSet.classList.add(\n'case-strip-set-clone'\n);\nconst nextSet =\noriginalSet.cloneNode(\ntrue\n);\nnextSet.classList.add(\n'case-strip-set-clone'\n);\ntrack.insertBefore(\npreviousSet,\noriginalSet\n);\ntrack.appendChild(\nnextSet\n);\nfunction viewportHeight() {\nif (\nwindow.visualViewport &&\nwindow.visualViewport.height\n) {\nreturn window.visualViewport.height;\n}\nreturn window.innerHeight;\n}\nfunction mediaRatio(\nmedia\n) {\nif (!media) return 0;\nif (\nmedia.tagName ===\n'IMG'\n) {\nif (\nmedia.naturalWidth &&\nmedia.naturalHeight\n) {\nreturn (\nmedia.naturalWidth \/\nmedia.naturalHeight\n);\n}\n}\nif (\nmedia.tagName ===\n'VIDEO'\n) {\nif (\nmedia.videoWidth &&\nmedia.videoHeight\n) {\nreturn (\nmedia.videoWidth \/\nmedia.videoHeight\n);\n}\n}\nreturn 0;\n}\nfunction sizeStripItem(\nitem\n) {\nif (!item) return;\nif (\nwindow.innerWidth >\n1180\n) {\nitem.style.removeProperty(\n'width'\n);\nreturn;\n}\nconst media =\nitem.querySelector(\n'.case-strip-media'\n);\nconst ratio =\nmediaRatio(\nmedia\n);\nif (!ratio) return;\nconst height =\nviewportHeight();\nconst calculatedWidth =\nheight *\nratio;\nitem.style.width =\ncalculatedWidth +\n'px';\n}\nfunction syncStripItemSizes() {\nconst allItems =\nArray.from(\nstripModal.querySelectorAll(\n'.case-strip-item'\n)\n);\nallItems.forEach(\nsizeStripItem\n);\n}\nlet stripOpen =\nfalse;\nlet videoOpen =\nfalse;\nlet dragging =\nfalse;\nlet activePointer =\nnull;\nlet previousPointerX =\n0;\nlet previousPointerTime =\n0;\nlet velocityX =\n0;\nlet inertiaFrame =\n0;\nlet movedDistance =\n0;\nlet currentX =\n0;\nlet setWidth =\n0;\nlet savedScrollY =\n0;\nlet openedIndex =\n0;\nlet userHasDragged =\nfalse;\nfunction refreshAfterMediaReady() {\nsyncStripItemSizes();\nif (!stripOpen) return;\nmeasureSets();\nif (!userHasDragged) {\ncenterClickedItem(\nopenedIndex\n);\n}\nelse {\nnormalizeLoop();\npaintTrack();\n}\n}\nArray.from(\nstripModal.querySelectorAll(\n'.case-strip-media'\n)\n).forEach(\nfunction (media) {\nif (\nmedia.tagName ===\n'IMG'\n) {\nif (\nmedia.complete &&\nmedia.naturalWidth\n) {\nsizeStripItem(\nmedia.closest(\n'.case-strip-item'\n)\n);\n}\nelse {\nmedia.addEventListener(\n'load',\nrefreshAfterMediaReady\n);\n}\n}\nelse if (\nmedia.tagName ===\n'VIDEO'\n) {\nif (\nmedia.videoWidth &&\nmedia.videoHeight\n) {\nsizeStripItem(\nmedia.closest(\n'.case-strip-item'\n)\n);\n}\nelse {\nmedia.addEventListener(\n'loadedmetadata',\nrefreshAfterMediaReady\n);\n}\n}\n}\n);\nconst previewVideos =\nArray.from(\nstripModal.querySelectorAll(\n'.case-strip-preview-video'\n)\n);\nfunction primePreview(\nvideo\n) {\nvideo.muted =\ntrue;\nvideo.defaultMuted =\ntrue;\nvideo.playsInline =\ntrue;\nvideo.setAttribute(\n'muted',\n''\n);\nvideo.setAttribute(\n'playsinline',\n''\n);\nvideo.load();\nconst startPrime =\nfunction () {\nvideo\n.play()\n.then(\nfunction () {\nsetTimeout(\nfunction () {\nvideo.pause();\ntry {\nvideo.currentTime =\n.05;\n}\ncatch(error) {}\nrefreshAfterMediaReady();\n},\n140\n);\n}\n)\n.catch(\nfunction () {}\n);\n};\nif (\nvideo.readyState >= 2\n) {\nstartPrime();\n}\nelse {\nvideo.addEventListener(\n'loadeddata',\nstartPrime,\n{\nonce:\ntrue\n}\n);\n}\n}\npreviewVideos.forEach(\nprimePreview\n);\nfunction measureSets() {\nsyncStripItemSizes();\nsetWidth =\noriginalSet.offsetWidth;\n}\nfunction paintTrack() {\ntrack.style.transform =\n'translate3d(' +\ncurrentX +\n'px,0,0)';\n}\nfunction stopInertia() {\nif (inertiaFrame) {\ncancelAnimationFrame(\ninertiaFrame\n);\ninertiaFrame =\n0;\n}\nvelocityX =\n0;\n}\nfunction normalizeLoop() {\nif (!setWidth) return;\nwhile (\ncurrentX > 0\n) {\ncurrentX -=\nsetWidth;\n}\nwhile (\ncurrentX <\n-2 * setWidth\n) {\ncurrentX +=\nsetWidth;\n}\n}\nfunction startInertia() {\nconst friction =\n0.94;\nconst minimumVelocity =\n0.025;\nlet previousFrameTime =\n0;\nfunction step(timestamp) {\nif (\n!stripOpen ||\ndragging ||\nvideoOpen\n) {\ninertiaFrame =\n0;\nreturn;\n}\nif (!previousFrameTime) {\npreviousFrameTime =\ntimestamp;\n}\nconst elapsed =\nMath.min(\ntimestamp - previousFrameTime,\n32\n);\npreviousFrameTime =\ntimestamp;\ncurrentX +=\nvelocityX * elapsed;\nvelocityX *=\nMath.pow(\nfriction,\nelapsed \/ 16.67\n);\nnormalizeLoop();\npaintTrack();\nif (\nMath.abs(velocityX) >\nminimumVelocity\n) {\ninertiaFrame =\nrequestAnimationFrame(\nstep\n);\n}\nelse {\ninertiaFrame =\n0;\nvelocityX =\n0;\n}\n}\nif (\nMath.abs(velocityX) <=\nminimumVelocity\n) {\nvelocityX =\n0;\nreturn;\n}\ninertiaFrame =\nrequestAnimationFrame(\nstep\n);\n}\nfunction centerClickedItem(\nindex\n) {\nsyncStripItemSizes();\nmeasureSets();\nconst item =\noriginalSet.querySelector(\n'[data-strip-index=\"' +\nindex +\n'\"]'\n);\nif (!item) return;\nconst itemCenter =\nsetWidth +\nitem.offsetLeft +\nitem.offsetWidth \/ 2;\ncurrentX =\nwindow.innerWidth \/ 2 -\nitemCenter;\nnormalizeLoop();\npaintTrack();\n}\nfunction openStrip(\nindex\n) {\nif (stripOpen) return;\nstripOpen =\ntrue;\nopenedIndex =\nindex;\nuserHasDragged =\nfalse;\nsavedScrollY =\nwindow.scrollY;\ndocument.body.style.position =\n'fixed';\ndocument.body.style.top =\n'-' +\nsavedScrollY +\n'px';\ndocument.body.style.left =\n'0';\ndocument.body.style.right =\n'0';\ndocument.body.style.width =\n'100%';\ndocument.body.style.overflow =\n'hidden';\nstripModal.classList.add(\n'is-open'\n);\nstripModal.setAttribute(\n'aria-hidden',\n'false'\n);\nrequestAnimationFrame(\nfunction () {\nrequestAnimationFrame(\nfunction () {\nsyncStripItemSizes();\ncenterClickedItem(\nindex\n);\n}\n);\n}\n);\n}\nfunction closeStrip() {\nif (!stripOpen) return;\nstopInertia();\nif (videoOpen) {\ncloseVideo();\n}\nstripOpen =\nfalse;\ndragging =\nfalse;\nactivePointer =\nnull;\nstripModal.classList.remove(\n'is-open',\n'is-dragging'\n);\nstripModal.setAttribute(\n'aria-hidden',\n'true'\n);\ndocument.body.style.position =\n'';\ndocument.body.style.top =\n'';\ndocument.body.style.left =\n'';\ndocument.body.style.right =\n'';\ndocument.body.style.width =\n'';\ndocument.body.style.overflow =\n'';\nwindow.scrollTo(\n0,\nsavedScrollY\n);\n}\nfunction openVideo(\nsource\n) {\nif (!source) return;\nvideoOpen =\ntrue;\nvideoPlayer.pause();\nvideoPlayer.removeAttribute(\n'src'\n);\nvideoPlayer.load();\nvideoPlayer.src =\nsource;\nvideoPlayer.muted =\nfalse;\nvideoPlayer.defaultMuted =\nfalse;\nvideoPlayer.volume =\n1;\nvideoPlayer.playsInline =\ntrue;\nvideoPlayer.setAttribute(\n'playsinline',\n''\n);\nvideoPlayer.load();\nvideoModal.classList.add(\n'is-open'\n);\nvideoModal.setAttribute(\n'aria-hidden',\n'false'\n);\nvideoPlayer\n.play()\n.catch(\nfunction () {}\n);\n}\nfunction closeVideo() {\nif (!videoOpen) return;\nvideoOpen =\nfalse;\nvideoPlayer.pause();\ntry {\nvideoPlayer.currentTime =\n0;\n}\ncatch(error) {}\nvideoModal.classList.remove(\n'is-open'\n);\nvideoModal.setAttribute(\n'aria-hidden',\n'true'\n);\nvideoPlayer.removeAttribute(\n'src'\n);\nvideoPlayer.load();\n}\ngalleryItems.forEach(\nfunction (item) {\nconst galleryIndex =\nNumber(\nitem.dataset.galleryIndex\n);\nitem.addEventListener(\n'click',\nfunction () {\nopenStrip(\ngalleryIndex\n);\n}\n);\nitem.addEventListener(\n'keydown',\nfunction (event) {\nif (\nevent.key ===\n'Enter' ||\nevent.key ===\n' '\n) {\nevent.preventDefault();\nopenStrip(\ngalleryIndex\n);\n}\n}\n);\n}\n);\ntrack.addEventListener(\n'pointerdown',\nfunction (event) {\nif (\nevent.target.closest(\n'.case-strip-play'\n)\n) {\nevent.stopPropagation();\n}\n}\n);\ntrack.addEventListener(\n'click',\nfunction (event) {\nconst play =\nevent.target.closest(\n'.case-strip-play'\n);\nif (!play) return;\nevent.stopPropagation();\nconst item =\nplay.closest(\n'.case-strip-video-item'\n);\nif (!item) return;\nconst video =\nitem.querySelector(\n'.case-strip-preview-video'\n);\nif (!video) return;\nconst source =\nvideo.querySelector(\n'source'\n);\nconst src =\nsource\n? source.src\n: video.currentSrc;\nopenVideo(\nsrc\n);\n}\n);\nstripModal.addEventListener(\n'pointerdown',\nfunction (event) {\nif (\n!stripOpen ||\nvideoOpen\n) {\nreturn;\n}\nif (\nevent.target.closest(\n'.case-strip-close,' +\n'.case-strip-play'\n)\n) {\nreturn;\n}\ndragging =\ntrue;\nstopInertia();\nactivePointer =\nevent.pointerId;\npreviousPointerX =\nevent.clientX;\npreviousPointerTime =\nperformance.now();\nmovedDistance =\n0;\nstripModal.classList.add(\n'is-dragging'\n);\ntry {\nstripModal.setPointerCapture(\nevent.pointerId\n);\n}\ncatch(error) {}\n}\n);\nstripModal.addEventListener(\n'pointermove',\nfunction (event) {\nif (\n!dragging ||\nevent.pointerId !==\nactivePointer\n) {\nreturn;\n}\nconst movement =\nevent.clientX -\npreviousPointerX;\nconst currentTime =\nperformance.now();\nconst elapsed =\nMath.max(\ncurrentTime - previousPointerTime,\n1\n);\npreviousPointerX =\nevent.clientX;\npreviousPointerTime =\ncurrentTime;\nconst instantVelocity =\nmovement \/ elapsed;\nvelocityX =\nvelocityX * 0.65 +\ninstantVelocity * 0.35;\nvelocityX =\nMath.max(\n-2.5,\nMath.min(\n2.5,\nvelocityX\n)\n);\nmovedDistance +=\nMath.abs(\nmovement\n);\nif (\nmovedDistance >\n2\n) {\nuserHasDragged =\ntrue;\n}\ncurrentX +=\nmovement;\nnormalizeLoop();\npaintTrack();\n}\n);\nfunction releaseDrag(\nevent\n) {\nif (\n!dragging ||\nevent.pointerId !==\nactivePointer\n) {\nreturn;\n}\ndragging =\nfalse;\nactivePointer =\nnull;\nstripModal.classList.remove(\n'is-dragging'\n);\ntry {\nstripModal.releasePointerCapture(\nevent.pointerId\n);\n}\ncatch(error) {}\nstartInertia();\n}\nstripModal.addEventListener(\n'pointerup',\nreleaseDrag\n);\nstripModal.addEventListener(\n'pointercancel',\nreleaseDrag\n);\nstripClose.addEventListener(\n'pointerdown',\nfunction (event) {\nevent.stopPropagation();\n}\n);\nstripClose.addEventListener(\n'click',\nfunction (event) {\nevent.stopPropagation();\ncloseStrip();\n}\n);\nvideoClose.addEventListener(\n'pointerdown',\nfunction (event) {\nevent.stopPropagation();\n}\n);\nvideoClose.addEventListener(\n'click',\nfunction (event) {\nevent.stopPropagation();\ncloseVideo();\n}\n);\ndocument.addEventListener(\n'keydown',\nfunction (event) {\nif (\nevent.key !==\n'Escape'\n) {\nreturn;\n}\nif (videoOpen) {\ncloseVideo();\nreturn;\n}\nif (stripOpen) {\ncloseStrip();\n}\n}\n);\nfunction refreshViewportSizing() {\nif (!stripOpen) {\nsyncStripItemSizes();\nreturn;\n}\nconst oldWidth =\nsetWidth;\nsyncStripItemSizes();\nmeasureSets();\nif (\noldWidth > 0 &&\nsetWidth > 0 &&\nuserHasDragged\n) {\ncurrentX =\ncurrentX *\n(\nsetWidth \/\noldWidth\n);\nnormalizeLoop();\npaintTrack();\n}\nelse {\ncenterClickedItem(\nopenedIndex\n);\n}\n}\nwindow.addEventListener(\n'resize',\nrefreshViewportSizing\n);\nwindow.addEventListener(\n'orientationchange',\nfunction () {\nsetTimeout(\nrefreshViewportSizing,\n120\n);\n}\n);\nif (\nwindow.visualViewport\n) {\nwindow.visualViewport.addEventListener(\n'resize',\nrefreshViewportSizing\n);\n}\nsyncStripItemSizes();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5719985e e-con-full next-case-section e-flex e-con e-child\" data-id=\"5719985e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f57844b elementor-widget elementor-widget-html\" data-id=\"2f57844b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"next-story\">\n\n  <div class=\"next-story-layout\">\n\n\n    <!-- LEFT \/ COPY -->\n    <div class=\"next-story-copy\">\n\n      <div class=\"next-story-content\">\n\n        <h2 class=\"next-story-title\">\n          <span>cambia el<\/span>\n          <span>mood<\/span>\n        <\/h2>\n\n\n        <!-- \u00daNICO LINK DE LA SECCI\u00d3N -->\n        <a\n          href=\"\/cambia-el-mood\/\"\n          class=\"next-story-button\"\n        >\n          <span>NEXT STORIE<\/span>\n          <span class=\"next-story-button-arrow\">\u2192<\/span>\n        <\/a>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- RIGHT \/ IMAGE -->\n    <div class=\"next-story-media\">\n\n      <img decoding=\"async\"\n        src=\"https:\/\/bipolar.mx\/wp-content\/uploads\/2026\/10\/MOOD_007.jpg\"\n        alt=\"Juntos en el viaje\"\n        class=\"next-story-image\"\n      >\n\n    <\/div>\n\n\n  <\/div>\n\n<\/section>\n\n\n<style>\n\n\/* =========================================================\n   NEXT STORY\n   FULL BLEED\n========================================================= *\/\n\n.next-story {\n\n  position:\n    relative;\n\n  display:\n    block;\n\n  width:\n    100vw;\n\n  max-width:\n    100vw;\n\n  margin:\n    0 0 0 calc(50% - 50vw);\n\n  padding:\n    0;\n\n  box-sizing:\n    border-box;\n\n  overflow:\n    hidden;\n\n  background:\n    #0B0B0D;\n\n  color:\n    #F5F5F5;\n\n  isolation:\n    isolate;\n\n}\n\n\n\/* =========================================================\n   LAYOUT\n\n   IMPORTANTE:\n   DESKTOP + TABLET TIENEN ALTURA REAL.\n\n   100vw \/ 2 = 50vw\n   Por lo tanto cada mitad es un cuadrado real.\n========================================================= *\/\n\n.next-story-layout {\n\n  position:\n    relative;\n\n  display:\n    grid;\n\n  grid-template-columns:\n    50% 50%;\n\n  width:\n    100%;\n\n  height:\n    50vw;\n\n  min-height:\n    50vw;\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  gap:\n    0;\n\n  box-sizing:\n    border-box;\n\n  overflow:\n    hidden;\n\n}\n\n\n\/* =========================================================\n   LEFT \/ COPY\n========================================================= *\/\n\n.next-story-copy {\n\n  position:\n    relative;\n\n  width:\n    100%;\n\n  height:\n    100%;\n\n  min-height:\n    0;\n\n  margin:\n    0;\n\n  padding:\n    clamp(32px, 3.5vw, 64px);\n\n  box-sizing:\n    border-box;\n\n  display:\n    flex;\n\n  align-items:\n    stretch;\n\n  background:\n    #0B0B0D;\n\n  color:\n    #F5F5F5;\n\n  overflow:\n    hidden;\n\n}\n\n\n.next-story-content {\n\n  width:\n    100%;\n\n  height:\n    100%;\n\n  display:\n    flex;\n\n  flex-direction:\n    column;\n\n  justify-content:\n    flex-end;\n\n}\n\n\n\/* =========================================================\n   TITLE\n========================================================= *\/\n\n.next-story-title {\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif !important;\n\n  font-size:\n    clamp(90px, 8.8vw, 175px);\n\n  font-weight:\n    800 !important;\n\n  font-style:\n    normal;\n\n  line-height:\n    .79;\n\n  letter-spacing:\n    -.03em;\n\n  text-transform:\n    uppercase;\n\n  color:\n    #F5F5F5;\n\n}\n\n\n.next-story-title span {\n\n  display:\n    block;\n\n  white-space:\n    nowrap;\n\n}\n\n\n\/* =========================================================\n   BUTTON\n========================================================= *\/\n\n.next-story-button {\n\n  width:\n    clamp(210px, 15vw, 240px);\n\n  height:\n    58px;\n\n  margin-top:\n    clamp(28px, 2.4vw, 42px);\n\n  padding:\n    0 18px;\n\n  box-sizing:\n    border-box;\n\n  display:\n    flex;\n\n  align-items:\n    center;\n\n  justify-content:\n    space-between;\n\n  border:\n    1px solid #F5F5F5;\n\n  border-radius:\n    0;\n\n  background:\n    transparent;\n\n  text-decoration:\n    none !important;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif !important;\n\n  font-size:\n    18px;\n\n  font-weight:\n    700 !important;\n\n  font-style:\n    normal;\n\n  line-height:\n    1;\n\n  letter-spacing:\n    0;\n\n  text-transform:\n    uppercase;\n\n  color:\n    #F5F5F5 !important;\n\n}\n\n\n.next-story-button span {\n\n  transition:\n    transform .25s ease,\n    font-style .25s ease;\n\n}\n\n\n.next-story-button-arrow {\n\n  font-family:\n    \"Barlow\",\n    Arial,\n    sans-serif;\n\n  font-size:\n    22px;\n\n  font-weight:\n    400;\n\n}\n\n\n\/* =========================================================\n   HOVER\n========================================================= *\/\n\n@media (hover:hover) {\n\n  .next-story-button:hover {\n\n    background:\n      transparent;\n\n    color:\n      #F5F5F5 !important;\n\n  }\n\n\n  .next-story-button:hover\n  span:first-child {\n\n    font-style:\n      oblique;\n\n  }\n\n\n  .next-story-button:hover\n  .next-story-button-arrow {\n\n    transform:\n      translateX(4px);\n\n  }\n\n}\n\n\n\/* =========================================================\n   RIGHT \/ IMAGE\n========================================================= *\/\n\n.next-story-media {\n\n  position:\n    relative;\n\n  width:\n    100%;\n\n  height:\n    100%;\n\n  min-height:\n    0;\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  overflow:\n    hidden;\n\n  background:\n    #151515;\n\n  box-sizing:\n    border-box;\n\n}\n\n\n.next-story-image {\n\n  position:\n    absolute;\n\n  inset:\n    0;\n\n  display:\n    block;\n\n  width:\n    100%;\n\n  height:\n    100%;\n\n  max-width:\n    none;\n\n  margin:\n    0;\n\n  padding:\n    0;\n\n  object-fit:\n    cover;\n\n  object-position:\n    center center;\n\n}\n\n\n\/* =========================================================\n   CONTACT\n   FULL BLEED STRUCTURAL FIX\n\n   NO CAMBIA SU DISE\u00d1O.\n   S\u00d3LO LO SACA DEL WRAPPER ESTRECHO DE ELEMENTOR.\n========================================================= *\/\n\nbody .bplr-contact {\n\n  position:\n    relative !important;\n\n  left:\n    auto !important;\n\n  right:\n    auto !important;\n\n  width:\n    100vw !important;\n\n  min-width:\n    100vw !important;\n\n  max-width:\n    100vw !important;\n\n  margin-top:\n    0 !important;\n\n  margin-right:\n    0 !important;\n\n  margin-bottom:\n    0 !important;\n\n  margin-left:\n    calc(50% - 50vw) !important;\n\n  box-sizing:\n    border-box !important;\n\n}\n\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media\n(min-width:768px)\nand\n(max-width:1180px) {\n\n  .next-story-layout {\n\n    \/*\n      Contin\u00faa siendo 50\/50.\n      La altura de la secci\u00f3n sigue siendo exactamente\n      la mitad del viewport horizontal.\n    *\/\n\n    height:\n      50vw;\n\n    min-height:\n      50vw;\n\n  }\n\n\n  .next-story-copy {\n\n    padding:\n      32px;\n\n  }\n\n\n  .next-story-title {\n\n    font-size:\n      clamp(72px, 9.6vw, 112px);\n\n    line-height:\n      .80;\n\n  }\n\n\n  .next-story-button {\n\n    width:\n      210px;\n\n    height:\n      56px;\n\n    margin-top:\n      28px;\n\n    font-size:\n      17px;\n\n  }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media\n(max-width:767px) {\n\n  .next-story-layout {\n\n    display:\n      flex;\n\n    flex-direction:\n      column;\n\n    width:\n      100%;\n\n    height:\n      auto;\n\n    min-height:\n      0;\n\n    overflow:\n      visible;\n\n  }\n\n\n  .next-story-copy {\n\n    width:\n      100%;\n\n    height:\n      auto;\n\n    min-height:\n      52svh;\n\n    padding:\n      42px 18px;\n\n  }\n\n\n  .next-story-content {\n\n    min-height:\n      calc(52svh - 84px);\n\n  }\n\n\n  .next-story-title {\n\n    font-size:\n      clamp(74px, 22vw, 108px);\n\n    line-height:\n      .80;\n\n  }\n\n\n  .next-story-title span {\n\n    white-space:\n      normal;\n\n  }\n\n\n  .next-story-button {\n\n    width:\n      200px;\n\n    height:\n      54px;\n\n    margin-top:\n      26px;\n\n    padding:\n      0 16px;\n\n    font-size:\n      16px;\n\n  }\n\n\n  .next-story-media {\n\n    width:\n      100%;\n\n    height:\n      auto;\n\n    min-height:\n      0;\n\n    aspect-ratio:\n      1 \/ 1;\n\n  }\n\n}\n\/* =========================================================\n   TABLET \u2014 HIDE HEADQUARTERS IMAGE\n========================================================= *\/\n\n@media (min-width: 768px) and (max-width: 1180px) {\n\n  .bplr-contact-photo,\n  .contact-image {\n\n    display: none !important;\n\n    visibility: hidden !important;\n\n    opacity: 0 !important;\n\n    width: 0 !important;\n    min-width: 0 !important;\n    max-width: 0 !important;\n\n    height: 0 !important;\n    min-height: 0 !important;\n    max-height: 0 !important;\n\n    flex: 0 0 0 !important;\n\n    margin: 0 !important;\n    padding: 0 !important;\n\n    overflow: hidden !important;\n\n    pointer-events: none !important;\n\n  }\n\n}\n<\/style>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-26ec4f47 e-con-full bplr-contact e-flex e-con e-child\" data-id=\"26ec4f47\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;bottom&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;],&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_offset&quot;:0,&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b718b43 elementor-widget elementor-widget-html\" data-id=\"6b718b43\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     BPLR HOME CONTACT \u2014 MASTER V4\n     RESPONSIVE \/ STANDALONE \/ CLONABLE\n     TITLE ALWAYS CENTERED\n========================================================= -->\n\n<section class=\"bplr-home-contact\">\n\n  <!-- TITLE -->\n  <div class=\"bplr-home-contact__header\">\n\n    <h2 class=\"bplr-home-contact__title\">\n\n      <span class=\"bplr-home-contact__title-fit\">\n\n        <span class=\"bplr-home-contact__title-line\">\n          <span class=\"bplr-home-contact__word\">GET<\/span>\n          <span class=\"bplr-home-contact__word\">IN<\/span>\n        <\/span>\n\n        <span class=\"bplr-home-contact__title-line\">\n          <span class=\"bplr-home-contact__word\">TOUCH<\/span>\n        <\/span>\n\n      <\/span>\n\n    <\/h2>\n\n  <\/div>\n\n\n  <!-- DIVIDER -->\n  <div class=\"bplr-home-contact__divider\"><\/div>\n\n\n  <!-- CONTENT -->\n  <div class=\"bplr-home-contact__body\">\n\n\n    <!-- MAIN -->\n    <div class=\"\n      bplr-home-contact__column\n      bplr-home-contact__column--main\n    \">\n\n      <div class=\"bplr-home-contact__pitch\">\n        GOT SOMETHING IN MIND? LET'S MAKE IT HAPPEN.\n      <\/div>\n\n\n      <!-- EMAIL -->\n      <a\n        href=\"mailto:hello@bipolar.mx\"\n        class=\"bplr-home-contact__email\"\n      >\n\n        <span class=\"bplr-home-contact__email-text\">\n          SEND E-MAIL\n        <\/span>\n\n        <span class=\"bplr-home-contact__arrow\">\n          \u2192\n        <\/span>\n\n      <\/a>\n\n\n      <!-- FOLLOW -->\n      <div class=\"bplr-home-contact__follow\">\n\n        <div class=\"bplr-home-contact__follow-title\">\n          FOLLOW US\n        <\/div>\n\n\n        <div class=\"bplr-home-contact__socials\">\n\n\n          <!-- INSTAGRAM -->\n          <a\n            href=\"https:\/\/www.instagram.com\/bipolar.mx\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            class=\"bplr-home-contact__social\"\n            aria-label=\"Instagram\"\n          >\n\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <path d=\"\n                M12 2.163\n                c3.204 0 3.584.012 4.85.07\n                3.252.148 4.771 1.691 4.919 4.919\n                .058 1.265.069 1.645.069 4.849\n                s-.012 3.584-.069 4.849\n                c-.149 3.225-1.664 4.771-4.919 4.919\n                -1.266.058-1.644.069-4.85.069\n                s-3.584-.012-4.849-.069\n                c-3.26-.149-4.771-1.699-4.919-4.92\n                -.058-1.265-.07-1.644-.07-4.849\n                s.013-3.583.07-4.849\n                C2.381 3.924 3.896 2.38 7.151 2.232\n                8.417 2.175 8.796 2.163 12 2.163z\n\n                M12 0\n                C8.741 0 8.332.014 7.052.072\n                2.695.272.273 2.69.073 7.052\n                .014 8.333 0 8.741 0 12\n                c0 3.259.014 3.668.072 4.948\n                .2 4.358 2.618 6.78 6.98 6.98\n                C8.333 23.986 8.741 24 12 24\n                c3.259 0 3.668-.014 4.948-.072\n                4.354-.2 6.782-2.618 6.979-6.98\n                .059-1.28.073-1.689.073-4.948\n                0-3.259-.014-3.667-.072-4.947\n                -.196-4.354-2.617-6.78-6.979-6.98\n                C15.668.014 15.259 0 12 0z\n\n                M12 5.838\n                A6.162 6.162 0 1 0 12 18.162\n                6.162 6.162 0 0 0 12 5.838z\n\n                M12 16\n                a4 4 0 1 1 0-8\n                4 4 0 0 1 0 8z\n\n                M18.406 4.155\n                a1.44 1.44 0 1 0 0 2.881\n                1.44 1.44 0 0 0 0-2.881z\n              \"><\/path>\n            <\/svg>\n\n          <\/a>\n\n\n          <!-- LINKEDIN -->\n          <a\n            href=\"https:\/\/www.linkedin.com\/company\/bipolarmx\/\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            class=\"bplr-home-contact__social\"\n            aria-label=\"LinkedIn\"\n          >\n\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <path d=\"\n                M20.447 20.452\n                h-3.554\n                v-5.569\n                c0-1.328-.027-3.037-1.852-3.037\n                -1.853 0-2.136 1.445-2.136 2.939\n                v5.667\n                H9.351V9\n                h3.414\n                v1.561\n                h.046\n                c.477-.9 1.637-1.85 3.37-1.85\n                3.601 0 4.267 2.37 4.267 5.455\n                v6.286z\n\n                M5.337 7.433\n                a2.062 2.062 0 1 1 0-4.124\n                2.062 2.062 0 0 1 0 4.124z\n\n                M7.119 20.452\n                H3.555V9H7.12\n                v11.452z\n              \"><\/path>\n            <\/svg>\n\n          <\/a>\n\n\n          <!-- VIMEO -->\n          <a\n            href=\"https:\/\/vimeo.com\/user101049977\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            class=\"bplr-home-contact__social\"\n            aria-label=\"Vimeo\"\n          >\n\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <path d=\"\n                M23.977 6.416\n                c-.105 2.338-1.739 5.542-4.894 9.608\n                -3.265 4.268-6.027 6.403-8.286 6.403\n                -1.402 0-2.586-1.29-3.553-3.873\n                l-1.934-7.093\n                c-.72-2.584-1.493-3.875-2.321-3.875\n                -.18 0-.806.378-1.878 1.132\n                L0 7.261\n                a52.861 52.861 0 0 1 3.501-3.125\n                c1.579-1.364 2.765-2.08 3.553-2.152\n                1.864-.18 3.011 1.096 3.442 3.827\n                .467 2.947.791 4.779.971 5.493\n                .539 2.444 1.13 3.665 1.777 3.665\n                .503 0 1.258-.795 2.266-2.386\n                1.006-1.591 1.545-2.803 1.617-3.635\n                .144-1.376-.395-2.064-1.617-2.064\n                -.575 0-1.168.132-1.777.394\n                1.18-3.867 3.434-5.745 6.761-5.636\n                2.466.072 3.627 1.664 3.483 4.774z\n              \"><\/path>\n            <\/svg>\n\n          <\/a>\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- VISIT -->\n    <div class=\"\n      bplr-home-contact__column\n      bplr-home-contact__column--visit\n    \">\n\n      <div class=\"bplr-home-contact__visit-title\">\n        VISIT US\n      <\/div>\n\n\n      <div class=\"bplr-home-contact__address\">\n\n        <strong>\n          Headquarters\n        <\/strong>\n\n        <span>\n          L\u00e1zaro C\u00e1rdenas 2424,<br>\n          Loma Larga Oriente<br>\n          San Pedro Garza Garc\u00eda<br>\n          Nuevo Le\u00f3n, M\u00e9xico<br>\n          C.P. 66266\n        <\/span>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- IMAGE \u2014 DESKTOP ONLY -->\n    <div class=\"\n      bplr-home-contact__column\n      bplr-home-contact__column--media\n    \">\n\n      <img decoding=\"async\"\n        src=\"https:\/\/bipolar.mx\/stanging\/wp-content\/uploads\/2026\/10\/Trebol.jpg\"\n        alt=\"Bipolar headquarters\"\n        class=\"bplr-home-contact__image\"\n      >\n\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n\n<style>\n\n\/* =========================================================\n   RESET\n========================================================= *\/\n\n.bplr-home-contact,\n.bplr-home-contact *,\n.bplr-home-contact *::before,\n.bplr-home-contact *::after {\n  box-sizing: border-box;\n}\n\n\n\/* =========================================================\n   ROOT\n========================================================= *\/\n\n.bplr-home-contact {\n  position: relative;\n\n  width: 100% !important;\n  max-width: none !important;\n\n  margin: 0 !important;\n\n  padding:\n    clamp(44px, 5vh, 72px)\n    clamp(28px, 3.2vw, 60px)\n    clamp(54px, 6vh, 86px);\n\n  overflow: hidden;\n\n  background: #f4f4f4;\n\n  color: #0b0b0d;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif;\n}\n\n\n\/* =========================================================\n   HEADER\n========================================================= *\/\n\n.bplr-home-contact__header {\n  width: 100%;\n\n  margin: 0;\n  padding: 0;\n\n  overflow: visible;\n}\n\n\n\/* =========================================================\n   TITLE\n========================================================= *\/\n\n.bplr-home-contact__title {\n  width: 100%;\n\n  margin: 0;\n  padding: 0;\n\n  display: flex;\n\n  align-items: baseline;\n  justify-content: center;\n\n  text-align: center;\n\n  color: #0b0b0d;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif;\n\n  font-size: 200px;\n\n  font-weight: 800;\n\n  line-height: .76;\n\n  letter-spacing: -.035em;\n\n  font-kerning: none;\n\n  font-feature-settings:\n    \"kern\" 0;\n\n  text-transform: uppercase;\n}\n\n\n.bplr-home-contact__title-fit {\n  display: inline-flex;\n\n  width: max-content;\n\n  align-items: baseline;\n  justify-content: center;\n\n  gap: .105em;\n\n  margin: 0 auto;\n\n  white-space: nowrap;\n}\n\n\n\/* Desktop + Tablet = one line *\/\n.bplr-home-contact__title-line {\n  display: contents;\n}\n\n\n\/* =========================================================\n   TITLE ANIMATION\n========================================================= *\/\n\n.bplr-home-contact__word {\n  display: inline-block;\n\n  margin: 0;\n  padding: 0;\n\n  opacity: 0;\n\n  transform:\n    translateY(.16em);\n\n  transition:\n    opacity .34s ease,\n    transform .5s cubic-bezier(.22,.8,.3,1);\n\n  will-change:\n    opacity,\n    transform;\n}\n\n\n.bplr-home-contact__word.is-visible {\n  opacity: 1;\n\n  transform:\n    translateY(0);\n}\n\n\n\/* =========================================================\n   DIVIDER\n========================================================= *\/\n\n.bplr-home-contact__divider {\n  width: 100%;\n  height: 1px;\n\n  margin:\n    clamp(34px, 4vh, 54px)\n    0\n    0;\n\n  background:\n    rgba(11,11,13,.82);\n\n  transform:\n    scaleX(0);\n\n  transform-origin:\n    left center;\n\n  transition:\n    transform .7s cubic-bezier(.22,.8,.3,1);\n}\n\n\n.bplr-home-contact__divider.is-visible {\n  transform:\n    scaleX(1);\n}\n\n\n\/* =========================================================\n   BODY\n========================================================= *\/\n\n.bplr-home-contact__body {\n  width: 100%;\n\n  margin:\n    clamp(40px, 4.5vh, 64px)\n    0\n    0;\n\n  padding: 0;\n\n  display: grid;\n\n  grid-template-columns:\n    minmax(0, 1.55fr)\n    minmax(230px, .62fr)\n    minmax(280px, .68fr);\n\n  column-gap:\n    clamp(38px, 4vw, 76px);\n\n  align-items: start;\n\n  opacity: 0;\n\n  transform:\n    translateY(20px);\n\n  transition:\n    opacity .52s ease,\n    transform .62s cubic-bezier(.22,.8,.3,1);\n}\n\n\n.bplr-home-contact__body.is-visible {\n  opacity: 1;\n\n  transform:\n    translateY(0);\n}\n\n\n.bplr-home-contact__column {\n  min-width: 0;\n}\n\n\n\/* =========================================================\n   PITCH\n========================================================= *\/\n\n.bplr-home-contact__pitch {\n  max-width: 760px;\n\n  margin: 0;\n  padding: 0;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif;\n\n  font-size:\n    clamp(26px, 2vw, 38px);\n\n  font-weight: 800;\n\n  line-height: .98;\n\n  letter-spacing: -.018em;\n\n  text-transform: uppercase;\n\n  color: #0b0b0d;\n}\n\n\n\/* =========================================================\n   EMAIL\n========================================================= *\/\n\n.bplr-home-contact__email,\n.bplr-home-contact__email:link,\n.bplr-home-contact__email:visited,\n.bplr-home-contact__email:hover,\n.bplr-home-contact__email:focus,\n.bplr-home-contact__email:active {\n\n  width:\n    min(360px, 100%) !important;\n\n  min-height:\n    58px !important;\n\n  margin-top:\n    22px !important;\n\n  padding:\n    0 20px !important;\n\n  display:\n    flex !important;\n\n  align-items:\n    center !important;\n\n  justify-content:\n    space-between !important;\n\n  gap:\n    20px !important;\n\n  background:\n    transparent !important;\n\n  border:\n    1px solid rgba(11,11,13,.72) !important;\n\n  border-radius:\n    0 !important;\n\n  color:\n    #0b0b0d !important;\n\n  box-shadow:\n    none !important;\n\n  outline:\n    none !important;\n\n  text-decoration:\n    none !important;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif !important;\n\n  font-size:\n    clamp(17px, 1.2vw, 21px) !important;\n\n  font-weight:\n    800 !important;\n\n  line-height:\n    1 !important;\n\n  text-transform:\n    uppercase !important;\n\n  transition:\n    background-color .25s ease,\n    color .25s ease;\n}\n\n\n.bplr-home-contact__email-text {\n  display: inline-block;\n\n  transform:\n    skewX(0deg);\n\n  transition:\n    transform .25s ease;\n}\n\n\n.bplr-home-contact__arrow {\n  font-family:\n    Arial,\n    sans-serif;\n\n  font-size:\n    1.45em;\n\n  font-weight:\n    400;\n\n  line-height:\n    1;\n}\n\n\n@media\n(hover: hover)\nand\n(pointer: fine) {\n\n  .bplr-home-contact__email:hover {\n    background:\n      #0b0b0d !important;\n\n    color:\n      #fff !important;\n  }\n\n\n  .bplr-home-contact__email:hover\n  .bplr-home-contact__email-text {\n    transform:\n      skewX(-10deg);\n  }\n\n}\n\n\n\/* =========================================================\n   FOLLOW \/ VISIT TITLES\n========================================================= *\/\n\n.bplr-home-contact__follow {\n  margin-top:\n    clamp(38px, 4vh, 54px);\n}\n\n\n.bplr-home-contact__follow-title,\n.bplr-home-contact__visit-title {\n  margin: 0;\n  padding: 0;\n\n  font-family:\n    \"Barlow Condensed\",\n    Arial,\n    sans-serif;\n\n  font-size:\n    clamp(28px, 2vw, 38px);\n\n  font-weight:\n    800;\n\n  line-height:\n    1;\n\n  letter-spacing:\n    -.02em;\n\n  text-transform: uppercase;\n\n  color: #0b0b0d;\n}\n\n\n\/* =========================================================\n   SOCIAL\n========================================================= *\/\n\n.bplr-home-contact__socials {\n  margin-top:\n    14px;\n\n  display: flex;\n\n  align-items: center;\n  justify-content: flex-start;\n\n  gap: 10px;\n}\n\n\n.bplr-home-contact__social,\n.bplr-home-contact__social:link,\n.bplr-home-contact__social:visited,\n.bplr-home-contact__social:hover,\n.bplr-home-contact__social:focus,\n.bplr-home-contact__social:active {\n\n  width: 46px;\n  height: 46px;\n\n  flex:\n    0 0 46px;\n\n  margin: 0;\n\n  padding: 11px;\n\n  display: flex;\n\n  align-items: center;\n  justify-content: center;\n\n  background:\n    #303030 !important;\n\n  border:\n    0 !important;\n\n  border-radius:\n    50% !important;\n\n  color:\n    #fff !important;\n\n  box-shadow:\n    none !important;\n\n  outline:\n    none !important;\n\n  text-decoration:\n    none !important;\n\n  transition:\n    transform .22s ease,\n    background-color .22s ease;\n}\n\n\n.bplr-home-contact__social svg {\n  display: block;\n\n  width: 100%;\n  height: 100%;\n\n  overflow: visible;\n\n  fill:\n    currentColor !important;\n\n  stroke:\n    none !important;\n\n  color: #fff;\n}\n\n\n.bplr-home-contact__social svg path {\n  fill:\n    currentColor !important;\n\n  stroke:\n    none !important;\n}\n\n\n@media\n(hover: hover)\nand\n(pointer: fine) {\n\n  .bplr-home-contact__social:hover {\n    transform:\n      translateY(-3px);\n\n    background:\n      #0b0b0d !important;\n  }\n\n}\n\n\n\/* =========================================================\n   VISIT\n========================================================= *\/\n\n.bplr-home-contact__column--visit {\n  padding-top: 2px;\n}\n\n\n.bplr-home-contact__address {\n  margin-top:\n    16px;\n\n  color:\n    #272729;\n\n  font-family:\n    \"Barlow\",\n    Arial,\n    sans-serif;\n\n  font-size:\n    clamp(17px, 1.2vw, 22px);\n\n  font-weight:\n    400;\n\n  line-height:\n    1.32;\n}\n\n\n.bplr-home-contact__address strong {\n  display: block;\n\n  margin-bottom:\n    4px;\n\n  color:\n    #0b0b0d;\n\n  font-weight:\n    700;\n}\n\n\n\/* =========================================================\n   IMAGE\n========================================================= *\/\n\n.bplr-home-contact__column--media {\n  width: 100%;\n}\n\n\n.bplr-home-contact__image {\n  display: block;\n\n  width: 100%;\n\n  aspect-ratio:\n    1 \/ 1;\n\n  margin: 0;\n  padding: 0;\n\n  object-fit:\n    cover;\n\n  object-position:\n    center center;\n}\n\n\n\/* =========================================================\n   TABLET\n   768 \u2014 1180\n========================================================= *\/\n\n@media\n(min-width: 768px)\nand\n(max-width: 1180px) {\n\n  .bplr-home-contact {\n    padding:\n      50px\n      40px\n      58px;\n  }\n\n\n  \/* TITLE = ONE LINE \/ CENTERED *\/\n\n  .bplr-home-contact__title-fit {\n    display: inline-flex;\n\n    flex-direction: row;\n\n    align-items: baseline;\n    justify-content: center;\n\n    gap: .105em;\n\n    margin: 0 auto;\n\n    white-space: nowrap;\n  }\n\n\n  .bplr-home-contact__title-line {\n    display: contents;\n  }\n\n\n  \/* BODY *\/\n\n  .bplr-home-contact__body {\n    grid-template-columns:\n      minmax(0, 1.35fr)\n      minmax(250px, .65fr);\n\n    column-gap:\n      54px;\n\n    margin-top:\n      46px;\n  }\n\n\n  \/* IMAGE OFF *\/\n\n  .bplr-home-contact__column--media {\n    display:\n      none;\n  }\n\n\n  .bplr-home-contact__pitch {\n    font-size:\n      clamp(28px, 3.5vw, 38px);\n  }\n\n\n  .bplr-home-contact__email,\n  .bplr-home-contact__email:link,\n  .bplr-home-contact__email:visited,\n  .bplr-home-contact__email:hover,\n  .bplr-home-contact__email:focus,\n  .bplr-home-contact__email:active {\n\n    width:\n      340px !important;\n\n    min-height:\n      60px !important;\n\n    font-size:\n      19px !important;\n  }\n\n\n  .bplr-home-contact__follow-title,\n  .bplr-home-contact__visit-title {\n    font-size:\n      32px;\n  }\n\n\n  .bplr-home-contact__address {\n    font-size:\n      19px;\n  }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   0 \u2014 767\n========================================================= *\/\n\n@media (max-width: 767px) {\n\n  .bplr-home-contact {\n    padding:\n      40px\n      24px\n      50px;\n  }\n\n\n  \/* =====================================================\n     TITLE\n     CENTERED \/ EXACTLY TWO LINES\n     GET IN\n     TOUCH\n  ===================================================== *\/\n\n  .bplr-home-contact__title {\n    align-items:\n      center;\n\n    justify-content:\n      center;\n\n    line-height:\n      .78;\n\n    text-align:\n      center;\n  }\n\n\n  .bplr-home-contact__title-fit {\n    display:\n      flex;\n\n    flex-direction:\n      column;\n\n    align-items:\n      center;\n\n    justify-content:\n      flex-start;\n\n    gap:\n      0;\n\n    width:\n      max-content;\n\n    margin:\n      0 auto;\n\n    white-space:\n      normal;\n  }\n\n\n  .bplr-home-contact__title-line {\n    display:\n      flex;\n\n    align-items:\n      baseline;\n\n    justify-content:\n      center;\n\n    width:\n      max-content;\n\n    gap:\n      .105em;\n\n    white-space:\n      nowrap;\n\n    text-align:\n      center;\n  }\n\n\n  \/* DIVIDER *\/\n\n  .bplr-home-contact__divider {\n    margin-top:\n      28px;\n  }\n\n\n  \/* BODY *\/\n\n  .bplr-home-contact__body {\n    display:\n      block;\n\n    margin-top:\n      34px;\n  }\n\n\n  \/* HIDE VISIT + IMAGE *\/\n\n  .bplr-home-contact__column--visit,\n  .bplr-home-contact__column--media {\n    display:\n      none;\n  }\n\n\n  \/* PITCH *\/\n\n  .bplr-home-contact__pitch {\n    max-width:\n      100%;\n\n    font-size:\n      clamp(28px, 8vw, 38px);\n\n    line-height:\n      .98;\n  }\n\n\n  \/* EMAIL *\/\n\n  .bplr-home-contact__email,\n  .bplr-home-contact__email:link,\n  .bplr-home-contact__email:visited,\n  .bplr-home-contact__email:hover,\n  .bplr-home-contact__email:focus,\n  .bplr-home-contact__email:active {\n\n    width:\n      100% !important;\n\n    min-height:\n      60px !important;\n\n    margin-top:\n      22px !important;\n\n    font-size:\n      18px !important;\n  }\n\n\n  \/* FOLLOW *\/\n\n  .bplr-home-contact__follow {\n    margin-top:\n      40px;\n  }\n\n\n  .bplr-home-contact__follow-title {\n    font-size:\n      32px;\n  }\n\n\n  .bplr-home-contact__socials {\n    margin-top:\n      14px;\n  }\n\n\n  .bplr-home-contact__social {\n    width:\n      46px;\n\n    height:\n      46px;\n\n    flex-basis:\n      46px;\n\n    padding:\n      11px;\n  }\n\n}\n\n<\/style>\n\n\n<script>\n\n(function () {\n\n  const contact =\n    document.querySelector(\n      '.bplr-home-contact'\n    );\n\n\n  if (!contact) return;\n\n\n  const title =\n    contact.querySelector(\n      '.bplr-home-contact__title'\n    );\n\n\n  const titleFit =\n    contact.querySelector(\n      '.bplr-home-contact__title-fit'\n    );\n\n\n  const titleLines =\n    Array.from(\n      contact.querySelectorAll(\n        '.bplr-home-contact__title-line'\n      )\n    );\n\n\n  const words =\n    Array.from(\n      contact.querySelectorAll(\n        '.bplr-home-contact__word'\n      )\n    );\n\n\n  const divider =\n    contact.querySelector(\n      '.bplr-home-contact__divider'\n    );\n\n\n  const body =\n    contact.querySelector(\n      '.bplr-home-contact__body'\n    );\n\n\n\n  \/* =====================================================\n     NORMALIZE ELEMENTOR\n  ===================================================== *\/\n\n  function normalizeHomeContact() {\n\n    const widget =\n      contact.closest(\n        '.elementor-widget-html'\n      );\n\n\n    if (widget) {\n\n      widget.style.width =\n        '100%';\n\n      widget.style.maxWidth =\n        'none';\n\n      widget.style.flex =\n        '0 0 100%';\n\n      widget.style.flexBasis =\n        '100%';\n\n      widget.style.alignSelf =\n        'stretch';\n\n      widget.style.margin =\n        '0';\n\n      widget.style.padding =\n        '0';\n\n      widget.style.minWidth =\n        '0';\n\n    }\n\n\n    const container =\n      widget\n        ? widget.closest('.e-con')\n        : null;\n\n\n    if (container) {\n\n      container.style.width =\n        '100%';\n\n      container.style.maxWidth =\n        'none';\n\n      container.style.flex =\n        '0 0 100%';\n\n      container.style.flexBasis =\n        '100%';\n\n      container.style.alignSelf =\n        'stretch';\n\n      container.style.margin =\n        '0';\n\n      container.style.padding =\n        '0';\n\n      container.style.gap =\n        '0';\n\n      container.style.minWidth =\n        '0';\n\n    }\n\n\n    if (\n      widget &&\n      widget.parentElement &&\n      widget.parentElement !== container\n    ) {\n\n      const parent =\n        widget.parentElement;\n\n\n      parent.style.width =\n        '100%';\n\n      parent.style.maxWidth =\n        'none';\n\n      parent.style.flex =\n        '0 0 100%';\n\n      parent.style.flexBasis =\n        '100%';\n\n      parent.style.alignSelf =\n        'stretch';\n\n      parent.style.margin =\n        '0';\n\n      parent.style.padding =\n        '0';\n\n      parent.style.gap =\n        '0';\n\n      parent.style.minWidth =\n        '0';\n\n    }\n\n  }\n\n\n\n  \/* =====================================================\n     TITLE AUTO-FIT\n\n     DESKTOP\/TABLET:\n     GET IN TOUCH = ONE LINE \/ CENTERED\n\n     MOBILE:\n     GET IN\n     TOUCH\n\n     Siempre centrado.\n  ===================================================== *\/\n\n  function fitContactTitle() {\n\n    if (\n      !title ||\n      !titleFit\n    ) {\n\n      return;\n\n    }\n\n\n    const available =\n      title.clientWidth;\n\n\n    if (\n      !available\n    ) {\n\n      return;\n\n    }\n\n\n    \/* Base de medici\u00f3n *\/\n\n    title.style.fontSize =\n      '100px';\n\n\n    let naturalWidth =\n      0;\n\n\n    if (\n      window.innerWidth <= 767\n    ) {\n\n      titleLines.forEach(\n        function (line) {\n\n          naturalWidth =\n            Math.max(\n              naturalWidth,\n              line.scrollWidth\n            );\n\n        }\n      );\n\n    } else {\n\n      naturalWidth =\n        titleFit.scrollWidth;\n\n    }\n\n\n    if (\n      !naturalWidth\n    ) {\n\n      return;\n\n    }\n\n\n    const targetWidth =\n      available * .985;\n\n\n    let calculatedSize =\n      100 *\n      (\n        targetWidth \/\n        naturalWidth\n      );\n\n\n    \/* Safety caps *\/\n\n    if (\n      window.innerWidth > 1180\n    ) {\n\n      calculatedSize =\n        Math.min(\n          calculatedSize,\n          320\n        );\n\n    } else if (\n      window.innerWidth >= 768\n    ) {\n\n      calculatedSize =\n        Math.min(\n          calculatedSize,\n          210\n        );\n\n    } else {\n\n      calculatedSize =\n        Math.min(\n          calculatedSize,\n          150\n        );\n\n    }\n\n\n    calculatedSize =\n      Math.max(\n        calculatedSize,\n        68\n      );\n\n\n    title.style.fontSize =\n      calculatedSize +\n      'px';\n\n  }\n\n\n\n  \/* =====================================================\n     CONTACT ANIMATION\n  ===================================================== *\/\n\n  let hasPlayed =\n    false;\n\n\n  function playContact() {\n\n    if (\n      hasPlayed\n    ) {\n\n      return;\n\n    }\n\n\n    hasPlayed =\n      true;\n\n\n    const initialDelay =\n      100;\n\n\n    const wordStep =\n      180;\n\n\n    words.forEach(\n      function (\n        word,\n        index\n      ) {\n\n        setTimeout(\n          function () {\n\n            word.classList.add(\n              'is-visible'\n            );\n\n          },\n\n          initialDelay +\n          (\n            index *\n            wordStep\n          )\n\n        );\n\n      }\n    );\n\n\n    const contentMoment =\n      initialDelay +\n      (\n        words.length *\n        wordStep\n      )\n      +\n      160;\n\n\n    setTimeout(\n      function () {\n\n        if (\n          divider\n        ) {\n\n          divider.classList.add(\n            'is-visible'\n          );\n\n        }\n\n      },\n\n      contentMoment\n    );\n\n\n    setTimeout(\n      function () {\n\n        if (\n          body\n        ) {\n\n          body.classList.add(\n            'is-visible'\n          );\n\n        }\n\n      },\n\n      contentMoment +\n      180\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     OBSERVER\n  ===================================================== *\/\n\n  const observer =\n    new IntersectionObserver(\n\n      function (entries) {\n\n        entries.forEach(\n          function (entry) {\n\n            if (\n              entry.isIntersecting &&\n              entry.intersectionRatio >=\n              .16\n            ) {\n\n              playContact();\n\n              observer.disconnect();\n\n            }\n\n          }\n        );\n\n      },\n\n      {\n        threshold:\n          [\n            .06,\n            .12,\n            .16,\n            .24\n          ]\n      }\n\n    );\n\n\n  observer.observe(\n    contact\n  );\n\n\n\n  \/* =====================================================\n     INIT\n  ===================================================== *\/\n\n  normalizeHomeContact();\n\n  fitContactTitle();\n\n\n  requestAnimationFrame(\n    function () {\n\n      normalizeHomeContact();\n\n      fitContactTitle();\n\n    }\n  );\n\n\n  setTimeout(\n    function () {\n\n      normalizeHomeContact();\n\n      fitContactTitle();\n\n    },\n\n    250\n  );\n\n\n  setTimeout(\n    function () {\n\n      normalizeHomeContact();\n\n      fitContactTitle();\n\n    },\n\n    700\n  );\n\n\n\n  \/* =====================================================\n     FONT READY\n  ===================================================== *\/\n\n  if (\n    document.fonts &&\n    document.fonts.ready\n  ) {\n\n    document.fonts.ready.then(\n      function () {\n\n        fitContactTitle();\n\n      }\n    );\n\n  }\n\n\n\n  \/* =====================================================\n     RESIZE\n  ===================================================== *\/\n\n  let resizeTimer;\n\n\n  window.addEventListener(\n    'resize',\n\n    function () {\n\n      clearTimeout(\n        resizeTimer\n      );\n\n\n      resizeTimer =\n        setTimeout(\n          function () {\n\n            normalizeHomeContact();\n\n            fitContactTitle();\n\n          },\n\n          120\n        );\n\n    }\n  );\n\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-566e835f e-con-full e-flex e-con e-child\" data-id=\"566e835f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-150a416d elementor-widget elementor-widget-heading\" data-id=\"150a416d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00a9 BIPOLAR 2026 <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f586cd3 elementor-widget elementor-widget-heading\" data-id=\"3f586cd3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PRIVACY \/ LEGAL<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ABOUT WORK JOIN US ABOUT WORK JOIN US Headquarters L\u00e1zaro C\u00e1rdenas 2424, Loma Larga Oriente San Pedro Garza Garc\u00eda Nuevo Le\u00f3n, M\u00e9xico C.P. 66266 UBER JUNTOS EN EL VIAJE JUNTOS EN EL VIAJE A JOURNEY FUELED BY FOOTBALL, PASSION AND SHARED MEMORIES. IDEA Every four years, football takes over far more than the pitch. In [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_canvas","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-995","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"acf":[],"_links":{"self":[{"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/posts\/995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/comments?post=995"}],"version-history":[{"count":7,"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/posts\/995\/revisions"}],"predecessor-version":[{"id":1004,"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/posts\/995\/revisions\/1004"}],"wp:attachment":[{"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/media?parent=995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/categories?post=995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bipolar.mx\/es\/wp-json\/wp\/v2\/tags?post=995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}