{"id":1753,"date":"2026-10-13T16:34:55","date_gmt":"2026-10-13T16:34:55","guid":{"rendered":"https:\/\/www.krezeconsulting.com\/?page_id=1753"},"modified":"2026-10-16T19:19:51","modified_gmt":"2026-10-16T19:19:51","slug":"inicio","status":"publish","type":"page","link":"https:\/\/www.krezeconsulting.com\/","title":{"rendered":"Inicio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1753\" class=\"elementor elementor-1753\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f4ebb1f e-con-full e-flex e-con e-parent\" data-id=\"f4ebb1f\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cb8bbe9 ha-has-bg-overlay elementor-widget elementor-widget-html\" data-id=\"cb8bbe9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kreze-hero-v3\" id=\"inicio\">\n  <div class=\"kh3-bg\" aria-hidden=\"true\"><\/div>\n  <div class=\"kh3-overlay\" aria-hidden=\"true\"><\/div>\n\n  <div class=\"kh3-container\">\n    <div class=\"kh3-grid\">\n\n      <!-- COLUMNA IZQUIERDA -->\n      <div class=\"kh3-card\">\n\n        <div class=\"kh3-rating\">\n          <div class=\"kh3-avatars\" aria-hidden=\"true\">\n            <span>\n              <img\n                src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/02\/logo-rising-lifts.webp\"\n                alt=\"\"\n                width=\"40\"\n                height=\"40\"\n                decoding=\"async\"\n              >\n            <\/span>\n\n            <span>\n              <img\n                src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/Keto-cliente-logo-optimizado.webp\"\n                alt=\"\"\n                width=\"40\"\n                height=\"40\"\n                decoding=\"async\"\n              >\n            <\/span>\n\n            <span>\n              <img\n                src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/ESP-2.webp\"\n                alt=\"\"\n                width=\"40\"\n                height=\"40\"\n                decoding=\"async\"\n              >\n            <\/span>\n\n            <span>\n              <img loading=\"lazy\"\n                src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/Centro-medico-cliente-logo-optimizado.webp\"\n                alt=\"\"\n                width=\"40\"\n                height=\"40\"\n                decoding=\"async\"\n              >\n            <\/span>\n          <\/div>\n\n          <div class=\"kh3-rating-copy\">\n            <span class=\"kh3-stars\" aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span>\n            <span class=\"kh3-score\">4,9\/5 de satisfacci\u00f3n<\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Edita aqu\u00ed el texto del t\u00edtulo -->\n        <h1 class=\"kh3-title\">\n          Agencia de marketing<br>\n          para <strong>ecommerce<\/strong>\n        <\/h1>\n\n        <p class=\"kh3-description\">\n          Ayudamos a marcas a crecer con estrategias de captaci\u00f3n,\n          retenci\u00f3n, dise\u00f1o y rendimiento basadas en datos.\n          Construye una marca en tu sector, por y para tus clientes.\n        <\/p>\n\n        <div class=\"kh3-services\" aria-label=\"Nuestros servicios\">\n          <div class=\"kh3-service\">\n            <span>SEO<\/span>\n            <span>01<\/span>\n          <\/div>\n\n          <div class=\"kh3-service\">\n            <span>PAID MEDIA<\/span>\n            <span>02<\/span>\n          <\/div>\n\n          <div class=\"kh3-service\">\n            <span>DISE\u00d1O &amp; CRO<\/span>\n            <span>03<\/span>\n          <\/div>\n\n          <div class=\"kh3-service\">\n            <span>EMAIL MARKETING<\/span>\n            <span>04<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"kh3-actions\">\n          <a\n            href=\"https:\/\/calendly.com\/hola-krezeconsulting\/30min\"\n            class=\"kh3-btn kh3-btn-light\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            aria-label=\"Hablemos: reservar llamada, abre en una pesta\u00f1a nueva\"\n          >\n            Hablemos\n            <span aria-hidden=\"true\">\u2197<\/span>\n          <\/a>\n\n          <a href=\"#casos-exito\" class=\"kh3-btn kh3-btn-dark\">\n            Ver casos de \u00e9xito\n            <span aria-hidden=\"true\">\u2197<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <!-- COLUMNA DERECHA -->\n      <div class=\"kh3-brand\">\n        <div class=\"kh3-wordmark\" aria-label=\"Kreze Consulting\">\n          <span>KREZE<\/span>\n          <span>CONSULTING<\/span>\n        <\/div>\n\n        <img\n          class=\"kh3-partners\"\n          src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/partners.png\"\n          alt=\"Partners y certificaciones de Kreze Consulting\"\n          loading=\"eager\"\n          decoding=\"async\"\n        >\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .kreze-hero-v3 {\n    \/* Nombre de la fuente subida en WordPress *\/\n    --kh3-font: \"Neue Montreal\", sans-serif;\n\n    \/*\n     * FORMATO DEL T\u00cdTULO:\n     * none      = tal como est\u00e1 escrito en el HTML\n     * uppercase = TODO EN MAY\u00daSCULAS\n     * lowercase = todo en min\u00fasculas\n     *\/\n    --kh3-title-case: none;\n\n    position: relative;\n    isolation: isolate;\n    width: 100%;\n    min-height: 770px;\n    background: #858585;\n    font-family: var(--kh3-font);\n    overflow: hidden;\n  }\n\n  .kreze-hero-v3 *,\n  .kreze-hero-v3 *::before,\n  .kreze-hero-v3 *::after {\n    box-sizing: border-box;\n  }\n\n  \/* TIPOGRAF\u00cdA *\/\n\n  .kreze-hero-v3 .kh3-title,\n  .kreze-hero-v3 .kh3-title strong,\n  .kreze-hero-v3 .kh3-description,\n  .kreze-hero-v3 .kh3-score,\n  .kreze-hero-v3 .kh3-service,\n  .kreze-hero-v3 .kh3-btn,\n  .kreze-hero-v3 .kh3-wordmark span {\n    font-family: var(--kh3-font) !important;\n    font-style: normal !important;\n  }\n\n  \/* FONDO *\/\n\n  .kreze-hero-v3 .kh3-bg,\n  .kreze-hero-v3 .kh3-overlay {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n  }\n\n  .kreze-hero-v3 .kh3-bg {\n    z-index: -2;\n    background:\n      url(\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-hero-motion.webp\")\n      center center \/ cover no-repeat;\n  }\n\n  .kreze-hero-v3 .kh3-overlay {\n    z-index: -1;\n    background: linear-gradient(\n      180deg,\n      rgba(17, 17, 17, 0.10),\n      rgba(17, 17, 17, 0.22)\n    );\n  }\n\n  \/* ESTRUCTURA *\/\n\n  .kreze-hero-v3 .kh3-container {\n    width: 94%;\n    max-width: 1760px;\n    min-height: 770px;\n    margin: 0 auto;\n    padding: 145px 0 48px;\n    display: flex;\n    align-items: flex-end;\n  }\n\n  .kreze-hero-v3 .kh3-grid {\n    width: 100%;\n    display: grid;\n    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);\n    gap: clamp(60px, 6vw, 115px);\n    align-items: end;\n  }\n\n  \/* TARJETA IZQUIERDA *\/\n\n  .kreze-hero-v3 .kh3-card {\n    min-width: 0;\n    padding: clamp(26px, 2.6vw, 38px);\n    background: rgba(255, 255, 255, 0.18);\n    border: 1px solid rgba(255, 255, 255, 0.4);\n    border-radius: 26px;\n    -webkit-backdrop-filter: blur(16px);\n    backdrop-filter: blur(16px);\n    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.1);\n  }\n\n  .kreze-hero-v3 .kh3-rating {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 18px;\n    margin-bottom: 28px;\n  }\n\n  \/* LOGOS APILADOS *\/\n\n  .kreze-hero-v3 .kh3-avatars {\n    --avatar-size: 40px;\n    --avatar-gap: 7px;\n    --avatar-overlap: 13px;\n\n    position: relative;\n    display: flex;\n    align-items: center;\n    flex-shrink: 0;\n    gap: var(--avatar-gap);\n\n    \/* Reserva espacio para abrir sin mover la satisfacci\u00f3n *\/\n    width: calc(\n      var(--avatar-size) * 4 + var(--avatar-gap) * 3\n    );\n    min-height: 44px;\n    isolation: isolate;\n  }\n\n  .kreze-hero-v3 .kh3-avatars > span {\n    position: relative;\n    display: block;\n    flex: 0 0 auto;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    margin: 0;\n    padding: 3px;\n    overflow: hidden;\n\n    border: 1px solid rgba(255, 255, 255, 0.55);\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.16);\n\n    -webkit-backdrop-filter: blur(8px);\n    backdrop-filter: blur(8px);\n\n    box-shadow:\n      inset 0 0 0 1px rgba(255, 255, 255, 0.10),\n      0 3px 10px rgba(0, 0, 0, 0.08);\n\n    translate: calc(\n      var(--avatar-index) *\n      (0px - var(--avatar-gap) - var(--avatar-overlap))\n    ) 0;\n\n    transition:\n      translate 320ms cubic-bezier(0.22, 1, 0.36, 1),\n      border-color 220ms ease,\n      background-color 220ms ease;\n  }\n\n  .kreze-hero-v3 .kh3-avatars > span:nth-child(1) {\n    --avatar-index: 0;\n    z-index: 4;\n  }\n\n  .kreze-hero-v3 .kh3-avatars > span:nth-child(2) {\n    --avatar-index: 1;\n    z-index: 3;\n  }\n\n  .kreze-hero-v3 .kh3-avatars > span:nth-child(3) {\n    --avatar-index: 2;\n    z-index: 2;\n  }\n\n  .kreze-hero-v3 .kh3-avatars > span:nth-child(4) {\n    --avatar-index: 3;\n    z-index: 1;\n  }\n\n  .kreze-hero-v3 .kh3-avatars > span > img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    margin: 0;\n    padding: 3px;\n    border: 0;\n    border-radius: 50%;\n    background: #ffffff;\n    object-fit: contain;\n    object-position: center;\n  }\n\n  @media (hover: hover) and (pointer: fine) {\n    .kreze-hero-v3 .kh3-avatars:hover > span {\n      translate: 0 0;\n    }\n\n    .kreze-hero-v3 .kh3-avatars:hover > span:hover {\n      translate: 0 -3px;\n      z-index: 5;\n      border-color: rgba(255, 255, 255, 0.9);\n      background: rgba(255, 255, 255, 0.28);\n    }\n  }\n\n  \/* SATISFACCI\u00d3N *\/\n\n  .kreze-hero-v3 .kh3-rating-copy {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    flex-wrap: wrap;\n  }\n\n  .kreze-hero-v3 .kh3-stars {\n    font-size: 15px;\n    letter-spacing: 0.06em;\n    color: #ffffff;\n  }\n\n  .kreze-hero-v3 .kh3-score {\n    color: #ffffff;\n    font-size: 14px;\n    font-weight: 600;\n  }\n\n  \/* T\u00cdTULO Y DESCRIPCI\u00d3N *\/\n\n  .kreze-hero-v3 .kh3-title {\n    margin: 0 0 22px;\n    color: #ffffff !important;\n    font-size: clamp(33px, 3.15vw, 53px);\n    font-weight: 500;\n    letter-spacing: -0.045em;\n    line-height: 1.04;\n    text-transform: var(--kh3-title-case) !important;\n  }\n\n  .kreze-hero-v3 .kh3-title strong {\n    color: #ffffff !important;\n    font-weight: 700;\n    text-transform: var(--kh3-title-case) !important;\n  }\n\n  .kreze-hero-v3 .kh3-description {\n    margin: 0 0 27px;\n    color: #ffffff;\n    font-size: clamp(14px, 1.05vw, 17px);\n    line-height: 1.55;\n  }\n\n  \/* SERVICIOS *\/\n\n  .kreze-hero-v3 .kh3-services {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    column-gap: 19px;\n    row-gap: 9px;\n    margin-bottom: 27px;\n  }\n\n  .kreze-hero-v3 .kh3-service {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 10px;\n    padding: 12px 0;\n    border-top: 1px solid rgba(255, 255, 255, 0.7);\n    border-bottom: 1px solid rgba(255, 255, 255, 0.7);\n    color: #ffffff;\n    font-size: clamp(12px, 1.05vw, 17px);\n    font-weight: 500;\n    line-height: 1.3;\n  }\n\n  .kreze-hero-v3 .kh3-service span:last-child {\n    color: rgba(255, 255, 255, 0.85);\n    font-size: 14px;\n    font-variant-numeric: tabular-nums;\n  }\n\n  \/* BOTONES *\/\n\n  .kreze-hero-v3 .kh3-actions {\n    display: flex;\n    align-items: center;\n    flex-wrap: wrap;\n    gap: 12px;\n  }\n\n  .kreze-hero-v3 .kh3-btn,\n  .kreze-hero-v3 .kh3-btn:visited {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 20px;\n    min-height: 49px;\n    padding: 12px 20px;\n    border-radius: 999px;\n    text-decoration: none !important;\n    font-size: 14px;\n    font-weight: 600;\n    transition:\n      transform 0.2s ease,\n      background 0.2s ease;\n  }\n\n  .kreze-hero-v3 .kh3-btn:hover {\n    transform: translateY(-2px);\n  }\n\n  .kreze-hero-v3 .kh3-btn:focus-visible {\n    outline: 2px solid #ffffff;\n    outline-offset: 4px;\n  }\n\n  .kreze-hero-v3 .kh3-btn-light,\n  .kreze-hero-v3 .kh3-btn-light:visited {\n    color: #111111 !important;\n    background: #ffffff;\n  }\n\n  .kreze-hero-v3 .kh3-btn-dark,\n  .kreze-hero-v3 .kh3-btn-dark:visited {\n    color: #ffffff !important;\n    background: #111111;\n  }\n\n  .kreze-hero-v3 .kh3-btn span {\n    font-size: 18px;\n    line-height: 1;\n  }\n\n  \/* MARCA DERECHA *\/\n\n  .kreze-hero-v3 .kh3-brand {\n    min-width: 0;\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end;\n    justify-content: flex-end;\n    gap: 25px;\n  }\n\n  .kreze-hero-v3 .kh3-wordmark {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end;\n    max-width: 100%;\n  }\n\n  .kreze-hero-v3 .kh3-wordmark span {\n    display: block;\n    max-width: 100%;\n    font-weight: 400;\n    font-size: clamp(52px, 6vw, 113px);\n    line-height: 0.91;\n    letter-spacing: -0.055em;\n    color: #ffffff;\n    white-space: nowrap;\n    text-transform: uppercase;\n    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.12);\n  }\n\n  \/* PARTNERS *\/\n\n  .kreze-hero-v3 .kh3-partners {\n    display: block;\n    width: 80%;\n    max-width: 440px;\n    height: auto;\n    align-self: flex-end;\n    object-fit: contain;\n  }\n\n  \/* TABLET *\/\n\n  @media (max-width: 1100px) {\n    .kreze-hero-v3 .kh3-container {\n      padding-top: 120px;\n    }\n\n    .kreze-hero-v3 .kh3-grid {\n      gap: 35px;\n      grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);\n    }\n\n    .kreze-hero-v3 .kh3-wordmark span {\n      font-size: clamp(43px, 5.7vw, 75px);\n    }\n\n    .kreze-hero-v3 .kh3-service {\n      font-size: 12px;\n    }\n  }\n\n  \/* M\u00d3VIL *\/\n\n  @media (max-width: 767px) {\n    .kreze-hero-v3 {\n      min-height: 0;\n    }\n\n    .kreze-hero-v3 .kh3-container {\n      width: calc(100% - 28px);\n      min-height: 0;\n      padding: 90px 0 30px;\n    }\n\n    .kreze-hero-v3 .kh3-grid {\n      display: flex;\n      flex-direction: column;\n      align-items: stretch;\n      gap: 32px;\n    }\n\n    .kreze-hero-v3 .kh3-card {\n      padding: 24px 19px;\n      border-radius: 21px;\n    }\n\n    .kreze-hero-v3 .kh3-rating {\n      margin-bottom: 23px;\n      gap: 12px;\n    }\n\n    .kreze-hero-v3 .kh3-avatars {\n      --avatar-size: 34px;\n      --avatar-gap: 5px;\n    }\n\n    .kreze-hero-v3 .kh3-avatars > span {\n      padding: 2px;\n      translate: 0 0;\n    }\n\n    .kreze-hero-v3 .kh3-rating-copy {\n      gap: 7px;\n    }\n\n    .kreze-hero-v3 .kh3-stars {\n      font-size: 12px;\n    }\n\n    .kreze-hero-v3 .kh3-score {\n      font-size: 12px;\n    }\n\n    .kreze-hero-v3 .kh3-title {\n      font-size: clamp(27px, 7.5vw, 39px);\n      margin-bottom: 18px;\n    }\n\n    .kreze-hero-v3 .kh3-description {\n      font-size: 14px;\n      margin-bottom: 22px;\n    }\n\n    .kreze-hero-v3 .kh3-services {\n      gap: 8px 13px;\n      margin-bottom: 22px;\n    }\n\n    .kreze-hero-v3 .kh3-service {\n      padding: 10px 0;\n      font-size: 11px;\n    }\n\n    .kreze-hero-v3 .kh3-service span:last-child {\n      font-size: 11px;\n    }\n\n    .kreze-hero-v3 .kh3-btn,\n    .kreze-hero-v3 .kh3-btn:visited {\n      min-height: 46px;\n      font-size: 12px;\n      padding: 10px 15px;\n    }\n\n    .kreze-hero-v3 .kh3-brand {\n      align-items: flex-end;\n      gap: 15px;\n    }\n\n    .kreze-hero-v3 .kh3-wordmark span {\n      font-size: clamp(39px, 10vw, 74px);\n    }\n\n    .kreze-hero-v3 .kh3-partners {\n      width: 90%;\n      max-width: 380px;\n    }\n  }\n\n  @media (max-width: 380px) {\n    .kreze-hero-v3 .kh3-services {\n      grid-template-columns: 1fr;\n    }\n\n    .kreze-hero-v3 .kh3-wordmark span {\n      font-size: 9vw;\n    }\n  }\n\n  \/* Pantallas t\u00e1ctiles: logos abiertos *\/\n  @media (hover: none), (pointer: coarse) {\n    .kreze-hero-v3 .kh3-avatars > span {\n      translate: 0 0;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .kreze-hero-v3 * {\n      transition: none !important;\n    }\n  }\n<\/style>\n<style>\n  \/* DESKTOP: valoraci\u00f3n m\u00e1s pr\u00f3xima a los logos apilados *\/\n  @media (min-width: 768px) and (hover: hover) and (pointer: fine) {\n    .kreze-hero-v3 .kh3-rating {\n      gap: 12px;\n    }\n\n    .kreze-hero-v3 .kh3-avatars {\n      width: calc(\n        var(--avatar-size) * 4 - var(--avatar-overlap) * 3\n      );\n      transition: width 320ms cubic-bezier(0.22, 1, 0.36, 1);\n    }\n\n    .kreze-hero-v3 .kh3-avatars:hover {\n      width: calc(\n        var(--avatar-size) * 4 + var(--avatar-gap) * 3\n      );\n    }\n  }\n\n  \/* M\u00d3VIL: composici\u00f3n m\u00e1s compacta *\/\n  @media (max-width: 767px) {\n    .kreze-hero-v3 {\n      min-height: 0;\n    }\n\n    .kreze-hero-v3 .kh3-container {\n      width: calc(100% - 24px);\n      min-height: 0;\n\n      \/* Espacio para la cabecera independiente *\/\n      padding: 84px 0 24px;\n    }\n\n    .kreze-hero-v3 .kh3-grid {\n      display: flex;\n      flex-direction: column;\n      align-items: stretch;\n      gap: 20px;\n    }\n\n    .kreze-hero-v3 .kh3-card {\n      padding: 20px 16px;\n      border-radius: 20px;\n    }\n\n    \/* Logos y valoraci\u00f3n en una misma fila *\/\n    .kreze-hero-v3 .kh3-rating {\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 8px 10px;\n      margin-bottom: 18px;\n    }\n\n    .kreze-hero-v3 .kh3-avatars {\n      --avatar-size: 28px;\n      --avatar-gap: 3px;\n\n      width: calc(\n        var(--avatar-size) * 4 + var(--avatar-gap) * 3\n      );\n      min-height: 32px;\n    }\n\n    .kreze-hero-v3 .kh3-avatars > span {\n      padding: 2px;\n      translate: 0 0;\n    }\n\n    .kreze-hero-v3 .kh3-avatars > span > img {\n      padding: 2px;\n    }\n\n    .kreze-hero-v3 .kh3-rating-copy {\n      display: flex;\n      flex-direction: column;\n      align-items: flex-start;\n      gap: 3px;\n    }\n\n    .kreze-hero-v3 .kh3-stars {\n      font-size: 11px;\n      line-height: 1;\n      letter-spacing: 0.04em;\n    }\n\n    .kreze-hero-v3 .kh3-score {\n      font-size: 11px;\n      line-height: 1.25;\n    }\n\n    \/* T\u00edtulo legible sin ocupar demasiadas l\u00edneas *\/\n    .kreze-hero-v3 .kh3-title {\n      margin-bottom: 16px;\n      font-size: clamp(26px, 7vw, 36px);\n      line-height: 1.08;\n      letter-spacing: -0.035em;\n      text-transform: var(--kh3-title-case, none) !important;\n    }\n\n    .kreze-hero-v3 .kh3-title strong {\n      text-transform: var(--kh3-title-case, none) !important;\n    }\n\n    .kreze-hero-v3 .kh3-description {\n      margin-bottom: 20px;\n      font-size: 14px;\n      line-height: 1.5;\n    }\n\n    \/* Servicios en dos columnas, tambi\u00e9n bajo 380 px *\/\n    .kreze-hero-v3 .kh3-services {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 8px 12px;\n      margin-bottom: 20px;\n    }\n\n    .kreze-hero-v3 .kh3-service {\n      min-width: 0;\n      gap: 5px;\n      padding: 10px 0;\n      font-size: 11px;\n      line-height: 1.3;\n    }\n\n    .kreze-hero-v3 .kh3-service span:first-child {\n      min-width: 0;\n    }\n\n    .kreze-hero-v3 .kh3-service span:last-child {\n      flex-shrink: 0;\n      font-size: 10px;\n    }\n\n    \/* Los dos botones comparten fila *\/\n    .kreze-hero-v3 .kh3-actions {\n      display: grid;\n      grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);\n      gap: 8px;\n      align-items: stretch;\n    }\n\n    .kreze-hero-v3 .kh3-btn,\n    .kreze-hero-v3 .kh3-btn:visited {\n      width: 100%;\n      min-width: 0;\n      min-height: 46px;\n      padding: 11px 9px;\n      gap: 7px;\n      font-size: 12px;\n      line-height: 1.25;\n      text-align: center;\n    }\n\n    .kreze-hero-v3 .kh3-btn span {\n      flex-shrink: 0;\n      font-size: 16px;\n    }\n\n    \/* Firma inferior m\u00e1s compacta, en una sola l\u00ednea *\/\n    .kreze-hero-v3 .kh3-brand {\n      align-items: center;\n      gap: 14px;\n    }\n\n    .kreze-hero-v3 .kh3-wordmark {\n      flex-direction: row;\n      align-items: baseline;\n      justify-content: center;\n      flex-wrap: wrap;\n      gap: 7px;\n      width: 100%;\n    }\n\n    .kreze-hero-v3 .kh3-wordmark span {\n      font-size: clamp(24px, 6.8vw, 34px);\n      line-height: 1;\n      letter-spacing: -0.045em;\n    }\n\n    .kreze-hero-v3 .kh3-partners {\n      width: 100%;\n      max-width: 300px;\n      height: auto;\n      align-self: center;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .kreze-hero-v3 .kh3-avatars {\n      transition: none;\n    }\n  }\n<\/style>\n<style>\n  @media (max-width: 767px) {\n    \/* Oculta la firma inferior y los logos de clientes *\/\n    .kreze-hero-v3 .kh3-wordmark,\n    .kreze-hero-v3 .kh3-avatars {\n      display: none !important;\n    }\n\n    \/* M\u00e1s aire entre la cabecera y la caja de cristal *\/\n    .kreze-hero-v3 .kh3-container {\n      padding-top: 108px;\n    }\n\n    \/* Estrellas y valoraci\u00f3n juntas, sin el hueco de los logos *\/\n    .kreze-hero-v3 .kh3-rating {\n      gap: 0;\n      margin-bottom: 18px;\n    }\n\n    .kreze-hero-v3 .kh3-rating-copy {\n      flex-direction: row;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 8px;\n    }\n  }\n<\/style>\n<style>\n  \/* Ocultar los iconos de clientes en todos los dispositivos *\/\n  .kreze-hero-v3 .kh3-avatars {\n    display: none !important;\n  }\n\n  \/* Valoraci\u00f3n alineada a la izquierda, sin espacio reservado *\/\n  .kreze-hero-v3 .kh3-rating {\n    gap: 0;\n  }\n<\/style>\n<style>\n  .kreze-hero-v3 .kh3-title,\n  .kreze-hero-v3 .kh3-title strong,\n  .kreze-hero-v3 .kh3-description,\n  .kreze-hero-v3 .kh3-stars,\n  .kreze-hero-v3 .kh3-score,\n  .kreze-hero-v3 .kh3-service,\n  .kreze-hero-v3 .kh3-service span {\n    color: #111111 !important;\n  }\n<\/style>\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-de9f523 e-con-full e-flex e-con e-parent\" data-id=\"de9f523\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f3ccebc elementor-widget elementor-widget-html\" data-id=\"f3ccebc\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kz-services-final\" id=\"servicios\">\n  <header class=\"kzsf-heading\">\n    <h2>Nuestros servicios <strong>m\u00e1s Pro.<\/strong><\/h2>\n    <p>\n      Convierte tu marketing en negocios y en posicionamiento de marca.\n    <\/p>\n  <\/header>\n\n  <div class=\"kzsf-grid\">\n\n    <article class=\"kzsf-card\">\n      <video\n        class=\"kzsf-video\"\n        src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-01.mp4#t=0.001\"\n        autoplay\n        muted\n        loop\n        playsinline\n        webkit-playsinline\n        preload=\"auto\"\n        disablepictureinpicture\n        aria-label=\"Dise\u00f1o web y CRO\"\n      ><\/video>\n      <div class=\"kzsf-label\">\n        <h3>Dise\u00f1o web &amp; CRO<\/h3>\n      <\/div>\n    <\/article>\n\n    <article class=\"kzsf-card\">\n      <video\n        class=\"kzsf-video\"\n        src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-02.mp4#t=0.001\"\n        autoplay\n        muted\n        loop\n        playsinline\n        webkit-playsinline\n        preload=\"auto\"\n        disablepictureinpicture\n        aria-label=\"SEO\"\n      ><\/video>\n      <div class=\"kzsf-label\">\n        <h3>SEO<\/h3>\n      <\/div>\n    <\/article>\n\n    <article class=\"kzsf-card\">\n      <video\n        class=\"kzsf-video\"\n        src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-03-sem-v2.mp4#t=0.001\"\n        autoplay\n        muted\n        loop\n        playsinline\n        webkit-playsinline\n        preload=\"auto\"\n        disablepictureinpicture\n        aria-label=\"Paid Media\"\n      ><\/video>\n      <div class=\"kzsf-label\">\n        <h3>Paid Media<\/h3>\n      <\/div>\n    <\/article>\n\n    <article class=\"kzsf-card\">\n      <video\n        class=\"kzsf-video\"\n        src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-04.mp4#t=0.001\"\n        autoplay\n        muted\n        loop\n        playsinline\n        webkit-playsinline\n        preload=\"auto\"\n        disablepictureinpicture\n        aria-label=\"Email Marketing\"\n      ><\/video>\n      <div class=\"kzsf-label\">\n        <h3>Email Marketing<\/h3>\n      <\/div>\n    <\/article>\n\n  <\/div>\n<\/section>\n\n<style>\n  .kz-services-final {\n    width: 90%;\n    max-width: 1600px;\n    margin: 0 auto;\n    padding: 44px 0;\n    background: #fff;\n    color: #111;\n    font-family: \"Inter Tight\", Arial, sans-serif;\n    scroll-margin-top: 110px;\n  }\n\n  .kz-services-final,\n  .kz-services-final * {\n    box-sizing: border-box;\n  }\n\n  .kz-services-final .kzsf-heading {\n    max-width: 840px;\n    margin: 0 auto 43px;\n    text-align: center;\n  }\n\n  .kz-services-final .kzsf-heading h2 {\n    margin: 0;\n    padding: 0;\n    color: #111;\n    font-family: inherit;\n    font-size: clamp(34px, 3.6vw, 72px);\n    font-weight: 400;\n    line-height: 1.1;\n    letter-spacing: -.055em;\n  }\n\n  .kz-services-final .kzsf-heading strong {\n    font-weight: 700;\n  }\n\n  .kz-services-final .kzsf-heading p {\n    margin: 13px auto 0;\n    color: #858585;\n    font-size: clamp(14px, 1.1vw, 17px);\n    line-height: 1.5;\n  }\n\n  .kz-services-final .kzsf-grid {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    grid-template-rows: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n    width: 100%;\n    aspect-ratio: 700 \/ 454.8;\n  }\n\n  .kz-services-final .kzsf-card {\n    position: relative;\n    min-width: 0;\n    min-height: 0;\n    margin: 0;\n    padding: 0;\n    overflow: hidden;\n    isolation: isolate;\n    border: 1px solid rgba(255,255,255,.035);\n    border-radius: 12px;\n    background: #111;\n    cursor: pointer;\n    touch-action: pan-y;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .kz-services-final .kzsf-card:nth-child(1),\n  .kz-services-final .kzsf-card:nth-child(4) {\n    grid-column: span 4;\n  }\n\n  .kz-services-final .kzsf-card:nth-child(2),\n  .kz-services-final .kzsf-card:nth-child(3) {\n    grid-column: span 3;\n  }\n\n  .kz-services-final .kzsf-video {\n    position: absolute;\n    inset: 0;\n    display: block;\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    max-height: none;\n    margin: 0;\n    padding: 0;\n    border: 0;\n    border-radius: inherit;\n    object-fit: cover;\n    object-position: center;\n    pointer-events: none;\n  }\n\n  .kz-services-final .kzsf-label {\n    position: absolute;\n    z-index: 2;\n    right: 15px;\n    bottom: 15px;\n    left: 15px;\n    display: flex;\n    align-items: center;\n    min-height: 58px;\n    padding: 13px 18px;\n    border: 1px solid rgba(255,255,255,.15);\n    border-radius: 13px;\n    background: rgba(48,48,48,.86);\n    box-shadow:\n      0 7px 23px rgba(0,0,0,.12),\n      inset 0 1px 0 rgba(255,255,255,.055);\n    pointer-events: none;\n  }\n\n  @supports (backdrop-filter: blur(18px)) or\n    (-webkit-backdrop-filter: blur(18px)) {\n    .kz-services-final .kzsf-label {\n      background: rgba(48,48,48,.73);\n      -webkit-backdrop-filter: blur(18px) saturate(115%);\n      backdrop-filter: blur(18px) saturate(115%);\n    }\n  }\n\n  .kz-services-final .kzsf-label h3 {\n    margin: 0;\n    padding: 0;\n    color: #fff;\n    font-family: inherit;\n    font-size: clamp(16px, 1.5vw, 21px);\n    font-weight: 600;\n    line-height: 1.25;\n    letter-spacing: -.025em;\n  }\n\n  .kz-services-final .kzsf-card:focus-visible {\n    outline: 2px solid #111;\n    outline-offset: 4px;\n  }\n\n  @media (max-width: 1024px) {\n    .kz-services-final {\n      width: 92%;\n      padding: 40px 0 45px;\n    }\n\n    .kz-services-final .kzsf-grid {\n      gap: 12px;\n    }\n\n    .kz-services-final .kzsf-heading {\n      margin-bottom: 34px;\n    }\n\n    .kz-services-final .kzsf-heading h2 {\n      font-size: clamp(32px, 4vw, 45px);\n    }\n\n    .kz-services-final .kzsf-label {\n      inset: auto 11px 11px;\n      min-height: 49px;\n      padding: 11px 14px;\n      border-radius: 11px;\n    }\n\n    .kz-services-final .kzsf-label h3 {\n      font-size: 16px;\n    }\n  }\n\n  @media (max-width: 767px) {\n    .kz-services-final {\n      width: calc(100% - 30px);\n      padding: 35px 0 42px;\n      scroll-margin-top: 90px;\n    }\n\n    .kz-services-final .kzsf-heading {\n      margin-bottom: 27px;\n    }\n\n    .kz-services-final .kzsf-heading h2 {\n      font-size: clamp(30px, 8vw, 40px);\n      letter-spacing: -.045em;\n    }\n\n    .kz-services-final .kzsf-heading p {\n      max-width: 340px;\n      margin-top: 11px;\n      font-size: 14px;\n    }\n\n    .kz-services-final .kzsf-grid {\n      display: block;\n      height: auto;\n      aspect-ratio: auto;\n    }\n\n    .kz-services-final .kzsf-card {\n      width: 100%;\n      height: auto;\n      min-height: 180px;\n      border-radius: 10px;\n    }\n\n    .kz-services-final .kzsf-card::before {\n      content: \"\";\n      display: block;\n      padding-top: 54.85%;\n    }\n\n    .kz-services-final .kzsf-card + .kzsf-card {\n      margin-top: 16px;\n    }\n\n    .kz-services-final .kzsf-label {\n      inset: auto 10px 10px;\n      min-height: 46px;\n      padding: 10px 13px;\n      border-radius: 9px;\n    }\n\n    .kz-services-final .kzsf-label h3 {\n      font-size: 15px;\n    }\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  function init(section) {\n    if (section.dataset.videoReady === \"true\") return;\n    section.dataset.videoReady = \"true\";\n\n    const reduced = window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    );\n\n    const items = Array.from(\n      section.querySelectorAll(\".kzsf-card\")\n    ).map(function (card) {\n      const video = card.querySelector(\"video\");\n\n      const item = {\n        card,\n        video,\n        userPaused: false,\n        manual: false,\n        pending: false,\n        lastAttempt: 0\n      };\n\n      video.muted = true;\n      video.defaultMuted = true;\n      video.playsInline = true;\n      video.loop = true;\n      video.controls = false;\n      video.autoplay = !reduced.matches;\n\n      if (reduced.matches) video.pause();\n\n      card.tabIndex = 0;\n      card.setAttribute(\"role\", \"button\");\n\n      function label() {\n        const name = card.querySelector(\"h3\").textContent.trim();\n        card.setAttribute(\n          \"aria-label\",\n          (video.paused ? \"Reproducir \" : \"Pausar \") + name\n        );\n      }\n\n      function visible() {\n        const rect = card.getBoundingClientRect();\n        return rect.bottom > 0 &&\n          rect.top < window.innerHeight &&\n          !document.hidden;\n      }\n\n      function permitted() {\n        return visible() &&\n          !item.userPaused &&\n          (!reduced.matches || item.manual);\n      }\n\n      function attempt(force) {\n        if (!permitted() || item.pending || !video.paused) return;\n        if (video.error && !force) return;\n\n        const now = performance.now();\n\n        \/* Evita repetir solicitudes constantemente durante el scroll *\/\n        if (!force && now - item.lastAttempt < 1500) return;\n\n        item.lastAttempt = now;\n        item.pending = true;\n        video.muted = true;\n\n        if (force && video.error) video.load();\n\n        let result;\n\n        try {\n          result = video.play();\n        } catch (error) {\n          item.pending = false;\n          return;\n        }\n\n        Promise.resolve(result).then(function () {\n          item.pending = false;\n          if (!permitted()) video.pause();\n          label();\n        }).catch(function () {\n          item.pending = false;\n          label();\n        });\n      }\n\n      item.sync = function () {\n        if (permitted()) {\n          attempt(false);\n        } else {\n          video.pause();\n        }\n      };\n\n      item.unlock = function () {\n        if (permitted()) attempt(true);\n      };\n\n      function toggle() {\n        if (!video.paused || item.pending) {\n          item.userPaused = true;\n          video.autoplay = false;\n          video.pause();\n        } else {\n          item.userPaused = false;\n          item.manual = true;\n          attempt(true);\n        }\n        label();\n      }\n\n      card.addEventListener(\"click\", toggle);\n\n      card.addEventListener(\"keydown\", function (event) {\n        if (\n          event.target === card &&\n          (event.key === \"Enter\" || event.key === \" \")\n        ) {\n          event.preventDefault();\n          toggle();\n        }\n      });\n\n      video.addEventListener(\"loadeddata\", item.sync);\n      video.addEventListener(\"canplay\", item.sync);\n      video.addEventListener(\"pause\", label);\n\n      video.addEventListener(\"playing\", function () {\n        if (!permitted()) video.pause();\n        label();\n      });\n\n      label();\n      return item;\n    });\n\n    function syncAll() {\n      if (!section.isConnected) return;\n      items.forEach(function (item) {\n        item.sync();\n      });\n    }\n\n    \/* El scroll no pausa los v\u00eddeos que siguen visibles *\/\n    let scrollFrame = null;\n\n    window.addEventListener(\"scroll\", function () {\n      if (scrollFrame !== null) return;\n\n      scrollFrame = requestAnimationFrame(function () {\n        scrollFrame = null;\n        syncAll();\n      });\n    }, { passive: true });\n\n    if (\"IntersectionObserver\" in window) {\n      const observer = new IntersectionObserver(syncAll, {\n        threshold: [0, 0.01, 0.25]\n      });\n\n      items.forEach(function (item) {\n        observer.observe(item.card);\n      });\n    }\n\n    \/*\n     * Aprovecha una interacci\u00f3n real para reintentar la reproducci\u00f3n\n     * de v\u00eddeos visibles, sin reanudar los pausados por el usuario.\n     *\/\n    function unlock(event) {\n      if (event.target.closest &&\n          event.target.closest(\".kzsf-card\")) return;\n\n      items.forEach(function (item) {\n        item.unlock();\n      });\n    }\n\n    document.addEventListener(\"touchend\", unlock, { passive: true });\n    document.addEventListener(\"click\", unlock);\n\n    document.addEventListener(\"visibilitychange\", syncAll);\n    window.addEventListener(\"pageshow\", syncAll);\n    window.addEventListener(\"resize\", syncAll, { passive: true });\n\n    function motionChanged() {\n      items.forEach(function (item) {\n        item.manual = false;\n        item.video.autoplay = !reduced.matches && !item.userPaused;\n      });\n      syncAll();\n    }\n\n    if (reduced.addEventListener) {\n      reduced.addEventListener(\"change\", motionChanged);\n    } else {\n      reduced.addListener(motionChanged);\n    }\n\n    syncAll();\n  }\n\n  function initAll() {\n    document.querySelectorAll(\".kz-services-final\").forEach(init);\n  }\n\n  initAll();\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initAll);\n  }\n\n  function connectElementor() {\n    if (!window.elementorFrontend?.hooks) return;\n\n    window.elementorFrontend.hooks.addAction(\n      \"frontend\/element_ready\/html.default\",\n      function ($scope) {\n        $scope[0].querySelectorAll(\".kz-services-final\").forEach(init);\n      }\n    );\n  }\n\n  connectElementor();\n\n  if (window.jQuery) {\n    window.jQuery(window).on(\n      \"elementor\/frontend\/init\",\n      connectElementor\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-ceb2c3d e-con-full e-flex e-con e-parent\" data-id=\"ceb2c3d\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-12fd01f elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"12fd01f\" data-element_type=\"widget\" id=\"casos-exito\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link\n  rel=\"stylesheet\"\n  href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter+Tight:wght@400;500;600;700&family=Caveat:wght@500;600&display=swap\"\n>\n\n<section class=\"kz-clients\" id=\"casos-exito\" aria-label=\"Nuestros clientes\">\n\n  <header class=\"kz-clients__header\">\n    <h2 class=\"kz-clients__title\">\n      Nuestros casos de <strong>\u00c9xito<\/strong>\n    <\/h2>\n\n    <p class=\"kz-clients__subtitle\">\n      estos son algunos de nuestros clientes, trabaja con nosotros\n    <\/p>\n  <\/header>\n\n  <div\n    class=\"kz-clients__navigation\"\n    role=\"group\"\n    aria-label=\"Mover carrusel de clientes\"\n  >\n    <button\n      class=\"kz-clients__arrow\"\n      type=\"button\"\n      data-direction=\"-1\"\n      aria-label=\"Ver cliente anterior\"\n    >\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M19 12H5M12 5l-7 7 7 7\"\/>\n      <\/svg>\n    <\/button>\n\n    <button\n      class=\"kz-clients__arrow\"\n      type=\"button\"\n      data-direction=\"1\"\n      aria-label=\"Ver cliente siguiente\"\n    >\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n      <\/svg>\n    <\/button>\n  <\/div>\n\n  <div\n    class=\"kz-clients__viewport\"\n    role=\"region\"\n    aria-label=\"Carrusel de clientes. Arrastra horizontalmente o utiliza las flechas.\"\n    tabindex=\"0\"\n  >\n    <div class=\"kz-clients__track\">\n      <div class=\"kz-clients__group\">\n\n        <figure class=\"kz-clients__card\" data-client=\"gacoworking\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/sala-3.webp\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Gacoworking<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"sinthesis\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/contorno-de-ojos-bote-abierto.webp\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Sinthesis Salud<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"huerta\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/Banner-web-Huerta-del-Perigall-2-1.webp\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Huerta del Perigall<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"ketonico\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/482343443_1056720329831810_4731733203542298776_n.jpg\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Ketonico<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"uno\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/recursos_tiempo-5.webp\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">UNO Inside<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"pecado\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/nigiri-flambeado-pecado.webp\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Pecado<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"phygital\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/1-2.webp\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Phygital Games<\/figcaption>\n        <\/figure>\n\n        <figure class=\"kz-clients__card\" data-client=\"rising\">\n          <img\n            class=\"kz-clients__image\"\n            src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/operario-rising-lifts.avif\"\n            alt=\"\"\n            decoding=\"async\"\n            draggable=\"false\"\n          >\n          <figcaption class=\"kz-clients__name\">Rising Lifts<\/figcaption>\n        <\/figure>\n\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"kz-clients__actions\">\n    <a\n      class=\"kz-clients__cta\"\n      href=\"https:\/\/calendly.com\/hola-krezeconsulting\/30min\"\n      target=\"_blank\"\n      rel=\"noopener noreferrer\"\n      aria-label=\"Ser el siguiente: agenda tu llamada en una pesta\u00f1a nueva\"\n    >\n      <span>SER EL SIGUIENTE<\/span>\n\n      <svg\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        aria-hidden=\"true\"\n        focusable=\"false\"\n      >\n        <path\n          d=\"M5 12h14M12 5l7 7-7 7\"\n          stroke=\"currentColor\"\n          stroke-width=\"1.7\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        \/>\n      <\/svg>\n    <\/a>\n  <\/div>\n\n<\/section>\n\n<style>\n  .kz-clients {\n    --clients-gap: 16px;\n    --clients-radius: 20px;\n    --clients-peek: 40px;\n\n    width: 100%;\n    padding: clamp(40px, 6vw, 80px) 0;\n    background: #fff;\n    color: #111;\n    font-family: \"Inter Tight\", sans-serif;\n    scroll-margin-top: 110px;\n  }\n\n  .kz-clients,\n  .kz-clients * {\n    box-sizing: border-box;\n  }\n\n  \/* ENCABEZADO *\/\n\n  .kz-clients .kz-clients__header {\n    max-width: 900px;\n    margin: 0 auto 24px;\n    padding: 0 20px;\n    text-align: center;\n  }\n\n  .kz-clients .kz-clients__title {\n    margin: 0 0 14px;\n    color: #111;\n    font-family: \"Inter Tight\", sans-serif;\n    font-size: clamp(32px, 4.5vw, 64px);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.08;\n    letter-spacing: -.035em;\n  }\n\n  .kz-clients .kz-clients__title strong {\n    font-weight: 700;\n  }\n\n  .kz-clients .kz-clients__subtitle {\n    margin: 0;\n    color: #606060;\n    font-family: \"Inter Tight\", sans-serif;\n    font-size: clamp(16px, 1.4vw, 19px);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.6;\n  }\n\n  \/* FLECHAS *\/\n\n  .kz-clients .kz-clients__navigation {\n    position: static;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 12px;\n    width: 100%;\n    margin: 0 0 32px;\n    padding: 0 20px;\n  }\n\n  .kz-clients .kz-clients__arrow {\n    appearance: none;\n    -webkit-appearance: none;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    flex: 0 0 auto;\n    width: 44px;\n    height: 44px;\n    min-height: 44px;\n    margin: 0;\n    padding: 0;\n    border: 1px solid #111;\n    border-radius: 50%;\n    background: transparent;\n    color: #111;\n    box-shadow: none;\n    cursor: pointer;\n    transition: transform 180ms ease;\n  }\n\n  .kz-clients .kz-clients__arrow:hover,\n  .kz-clients .kz-clients__arrow:focus,\n  .kz-clients .kz-clients__arrow:active {\n    background: transparent;\n    border-color: #111;\n    color: #111;\n    box-shadow: none;\n  }\n\n  .kz-clients .kz-clients__arrow:active {\n    transform: scale(.95);\n  }\n\n  .kz-clients .kz-clients__arrow:focus-visible {\n    outline: 2px solid #111;\n    outline-offset: 4px;\n  }\n\n  .kz-clients .kz-clients__arrow svg {\n    display: block;\n    width: 20px;\n    height: 20px;\n    fill: none;\n    stroke: currentColor;\n    stroke-width: 1.5;\n    stroke-linecap: round;\n    stroke-linejoin: round;\n    pointer-events: none;\n  }\n\n  \/* CARRUSEL *\/\n\n  .kz-clients .kz-clients__viewport {\n    position: relative;\n    container-type: inline-size;\n    width: var(--kz-screen-width, 100%);\n    max-width: none;\n    margin: 0;\n    margin-left: var(--kz-edge-offset, 0px);\n    overflow-x: auto;\n    scrollbar-width: none;\n  }\n\n  .kz-clients .kz-clients__viewport::-webkit-scrollbar {\n    display: none;\n  }\n\n  .kz-clients[data-carousel-ready=\"true\"] .kz-clients__viewport {\n    overflow: hidden;\n    touch-action: pan-y pinch-zoom;\n    cursor: grab;\n    user-select: none;\n    -webkit-user-select: none;\n  }\n\n  .kz-clients[data-carousel-ready=\"true\"]\n  .kz-clients__viewport.is-dragging {\n    cursor: grabbing;\n  }\n\n  .kz-clients .kz-clients__viewport:focus-visible {\n    outline: 2px solid #111;\n    outline-offset: -2px;\n  }\n\n  .kz-clients .kz-clients__track {\n    display: flex;\n    width: max-content;\n    will-change: transform;\n  }\n\n  .kz-clients .kz-clients__group {\n    display: flex;\n    flex: 0 0 auto;\n    gap: var(--clients-gap);\n    padding-right: var(--clients-gap);\n  }\n\n  .kz-clients .kz-clients__card {\n    position: relative;\n    flex: 0 0 auto;\n    width: calc((100cqw - 4 * var(--clients-gap)) \/ 5);\n    aspect-ratio: 4 \/ 5;\n    margin: 0;\n    overflow: hidden;\n    isolation: isolate;\n    border: 1px solid #e4e4e4;\n    border-radius: var(--clients-radius);\n    background: #efefed;\n  }\n\n  .kz-clients .kz-clients__image {\n    position: absolute;\n    inset: 0;\n    display: block;\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    object-fit: cover;\n    object-position: center;\n    -webkit-user-drag: none;\n    user-select: none;\n    -webkit-user-select: none;\n  }\n\n  .kz-clients .kz-clients__card::after {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    background: rgba(0, 0, 0, .36);\n    pointer-events: none;\n  }\n\n  .kz-clients .kz-clients__name {\n    position: absolute;\n    inset: 0;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin: 0;\n    padding: 20px;\n    color: #fff;\n    font-family: \"Inter Tight\", sans-serif;\n    font-size: clamp(18px, 2cqw, 30px);\n    font-style: normal;\n    font-weight: 700;\n    line-height: 1.15;\n    letter-spacing: -.02em;\n    text-align: center;\n    overflow-wrap: anywhere;\n    text-shadow: 0 2px 12px rgba(0, 0, 0, .6);\n  }\n\n  \/* SERVICIOS MANUSCRITOS *\/\n\n  .kz-clients .kz-client-with-note::before {\n    content: \"\";\n    position: absolute;\n    inset: 45% 0 0;\n    z-index: 2;\n    pointer-events: none;\n    background: linear-gradient(\n      to bottom,\n      transparent,\n      rgba(0, 0, 0, .78)\n    );\n    opacity: 0;\n    transition: opacity 220ms ease;\n  }\n\n  .kz-clients .kz-client-note {\n    position: absolute;\n    z-index: 3;\n    right: 12px;\n    bottom: 22px;\n    left: 12px;\n\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 6px;\n\n    color: #fff;\n    text-align: center;\n    pointer-events: none;\n    opacity: 0;\n    visibility: hidden;\n    transform: translateY(8px) rotate(-3deg);\n\n    transition:\n      opacity 220ms ease,\n      visibility 220ms ease,\n      transform 320ms cubic-bezier(.22, 1, .36, 1);\n  }\n\n  .kz-clients .kz-client-note__arrow {\n    display: block;\n    width: 42px;\n    height: 44px;\n    flex-shrink: 0;\n    overflow: visible;\n  }\n\n  .kz-clients .kz-client-note__arrow path {\n    stroke-dasharray: 1;\n    stroke-dashoffset: 1;\n    transition: stroke-dashoffset 420ms ease;\n  }\n\n  .kz-clients .kz-client-note__text {\n    display: block;\n    max-width: 100%;\n    font-family: \"Caveat\", cursive !important;\n    font-size: clamp(18px, 1.5vw, 25px);\n    font-weight: 600;\n    font-style: normal;\n    line-height: 1.08;\n    letter-spacing: .01em;\n    text-transform: none;\n    text-shadow: 0 2px 8px rgba(0, 0, 0, .6);\n  }\n\n  .kz-clients .kz-client-note__text span {\n    display: block;\n  }\n\n  .kz-clients .kz-client-with-note.is-note-open .kz-client-note,\n  .kz-clients .kz-client-with-note:focus-visible .kz-client-note {\n    opacity: 1;\n    visibility: visible;\n    transform: translateY(0) rotate(-3deg);\n  }\n\n  .kz-clients .kz-client-with-note.is-note-open::before,\n  .kz-clients .kz-client-with-note:focus-visible::before {\n    opacity: 1;\n  }\n\n  .kz-clients\n  .kz-client-with-note.is-note-open .kz-client-note__arrow path,\n  .kz-clients\n  .kz-client-with-note:focus-visible .kz-client-note__arrow path {\n    stroke-dashoffset: 0;\n  }\n\n  .kz-clients .kz-client-with-note:focus-visible {\n    outline: 2px solid #fff;\n    outline-offset: -5px;\n  }\n\n  @media (hover: hover) and (pointer: fine) {\n    .kz-clients\n    .kz-clients__viewport:not(.is-dragging)\n    .kz-client-with-note:hover .kz-client-note {\n      opacity: 1;\n      visibility: visible;\n      transform: translateY(0) rotate(-3deg);\n    }\n\n    .kz-clients\n    .kz-clients__viewport:not(.is-dragging)\n    .kz-client-with-note:hover::before {\n      opacity: 1;\n    }\n\n    .kz-clients\n    .kz-clients__viewport:not(.is-dragging)\n    .kz-client-with-note:hover .kz-client-note__arrow path {\n      stroke-dashoffset: 0;\n    }\n  }\n\n  \/* BOT\u00d3N COMERCIAL *\/\n\n  .kz-clients .kz-clients__actions {\n    display: flex;\n    justify-content: center;\n    margin-top: 38.4px;\n    padding-inline: 20px;\n    text-align: center;\n  }\n\n  .kz-clients .kz-clients__cta {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10.2px;\n    min-height: 67.2px;\n    max-width: 90%;\n    padding: 19.2px 36px;\n    border: 1px solid #111;\n    border-radius: 999px;\n    background: #111;\n    color: #fff;\n    font-family: \"Inter Tight\", sans-serif;\n    font-size: 13.8px;\n    font-style: normal;\n    font-weight: 600;\n    line-height: 1.2;\n    letter-spacing: .045em;\n    text-decoration: none;\n    box-shadow: none;\n    transition:\n      background-color 180ms ease,\n      border-color 180ms ease;\n  }\n\n  .kz-clients .kz-clients__cta:hover {\n    background: #303030;\n    border-color: #303030;\n    color: #fff;\n  }\n\n  .kz-clients .kz-clients__cta svg {\n    width: 20.6px;\n    height: 20.6px;\n    flex-shrink: 0;\n  }\n\n  .kz-clients .kz-clients__cta:focus-visible {\n    outline: 2px solid #111;\n    outline-offset: 4px;\n  }\n\n  \/* TABLET *\/\n\n  @media (max-width: 1024px) {\n    .kz-clients .kz-clients__card {\n      width: calc((100cqw - 2 * var(--clients-gap)) \/ 3);\n    }\n\n    .kz-clients .kz-client-note {\n      bottom: 16px;\n      gap: 3px;\n    }\n\n    .kz-clients .kz-client-note__arrow {\n      width: 32px;\n      height: 34px;\n    }\n\n    .kz-clients .kz-client-note__text {\n      font-size: 20px;\n    }\n  }\n\n  \/* M\u00d3VIL *\/\n\n  @media (max-width: 767px) {\n    .kz-clients {\n      --clients-gap: 12px;\n      --clients-radius: 16px;\n      --clients-peek: 0px;\n      scroll-margin-top: 90px;\n    }\n\n    .kz-clients .kz-clients__header {\n      margin-bottom: 20px;\n    }\n\n    .kz-clients .kz-clients__navigation {\n      gap: 10px;\n      margin-bottom: 24px;\n      padding-inline: 16px;\n    }\n\n    .kz-clients .kz-clients__card {\n      width: 76cqw;\n    }\n\n    .kz-clients .kz-clients__name {\n      font-size: 26px;\n    }\n\n    .kz-clients .kz-clients__actions {\n      margin-top: 28.8px;\n    }\n\n    .kz-clients .kz-clients__cta {\n      min-height: 5px;\n      padding: 18px 31.2px;\n    }\n  }\n\n  \/* MOVIMIENTO REDUCIDO *\/\n\n  @media (prefers-reduced-motion: reduce) {\n    .kz-clients[data-carousel-ready=\"true\"] .kz-clients__viewport {\n      overflow-x: auto;\n      touch-action: pan-x pan-y pinch-zoom;\n      scroll-behavior: auto;\n    }\n\n    .kz-clients .kz-clients__group[aria-hidden=\"true\"] {\n      display: none;\n    }\n\n    .kz-clients .kz-clients__track {\n      will-change: auto;\n    }\n\n    .kz-clients .kz-clients__arrow,\n    .kz-clients .kz-clients__cta,\n    .kz-clients .kz-client-note,\n    .kz-clients .kz-client-note__arrow path,\n    .kz-clients .kz-client-with-note::before {\n      transition: none;\n    }\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  \/* EDITA AQU\u00cd LOS SERVICIOS DE CADA CLIENTE. *\/\n  const clients = {\n    gacoworking: {\n      lines: [\"DISE\u00d1O WEB, SEO,\", \"RRSS, ESTRATEGIA\"],\n      accessible: \"Dise\u00f1o web, SEO, redes sociales y estrategia\"\n    },\n    sinthesis: {\n      lines: [\"DISE\u00d1O, EMAIL MARKETING,\", \"SEO, ADS\"],\n      accessible: \"Dise\u00f1o, email marketing, SEO y ADS\"\n    },\n    huerta: {\n      lines: [\"DISE\u00d1O, EMAIL MARKETING,\", \"SEO, ADS\"],\n      accessible: \"Dise\u00f1o, email marketing, SEO y ADS\"\n    },\n    ketonico: {\n      lines: [\"ADS, SEO,\", \"EMAIL MARKETING\"],\n      accessible: \"ADS, SEO y email marketing\"\n    },\n    uno: {\n      lines: [\"DISE\u00d1O, ADS, SEO,\", \"EMAIL MARKETING\"],\n      accessible: \"Dise\u00f1o, ADS, SEO y email marketing\"\n    },\n    pecado: {\n      lines: [\"DISE\u00d1O WEB\"],\n      accessible: \"Dise\u00f1o web\"\n    },\n    phygital: {\n      lines: [\"DISE\u00d1O WEB,\", \"ESTRATEGIA MARCA\"],\n      accessible: \"Dise\u00f1o web y estrategia de marca\"\n    },\n    rising: {\n      lines: [\"DISE\u00d1O WEB\"],\n      accessible: \"Dise\u00f1o web\"\n    }\n  };\n\n  function initCarousel(section) {\n    if (section.dataset.carouselReady === \"true\") return;\n\n    const viewport = section.querySelector(\".kz-clients__viewport\");\n    const track = section.querySelector(\".kz-clients__track\");\n    const group = section.querySelector(\".kz-clients__group\");\n    const buttons = section.querySelectorAll(\".kz-clients__arrow\");\n\n    if (!viewport || !track || !group) return;\n\n    const reducedMotion = window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    );\n\n    \/* Anotaciones de los clientes originales. *\/\n    group.querySelectorAll(\".kz-clients__card\").forEach(function (card) {\n      const config = clients[card.dataset.client];\n      const caption = card.querySelector(\".kz-clients__name\");\n\n      if (!config || !caption) return;\n\n      card.classList.add(\"kz-client-with-note\");\n      card.tabIndex = 0;\n      card.setAttribute(\n        \"aria-label\",\n        caption.textContent.trim() + \": \" + config.accessible\n      );\n\n      const note = document.createElement(\"div\");\n      note.className = \"kz-client-note\";\n      note.setAttribute(\"aria-hidden\", \"true\");\n\n      note.innerHTML = `\n        <svg\n          class=\"kz-client-note__arrow\"\n          viewBox=\"0 0 44 48\"\n          fill=\"none\"\n          stroke=\"currentColor\"\n          stroke-width=\"1.4\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n          aria-hidden=\"true\"\n          focusable=\"false\"\n        >\n          <path\n            pathLength=\"1\"\n            d=\"M35 43C17 42 8 31 14 24C19 18 29 26 23 31C16 37 7 22 11 5\"\n          ><\/path>\n          <path\n            pathLength=\"1\"\n            d=\"M5 11L11 5L16 12\"\n          ><\/path>\n        <\/svg>\n      `;\n\n      const text = document.createElement(\"span\");\n      text.className = \"kz-client-note__text\";\n\n      config.lines.forEach(function (line) {\n        const row = document.createElement(\"span\");\n        row.textContent = line;\n        text.appendChild(row);\n      });\n\n      note.appendChild(text);\n      card.appendChild(note);\n    });\n\n    group.querySelectorAll(\"img\").forEach(function (image) {\n      image.draggable = false;\n    });\n\n    \/*\n     * La copia mantiene los eventos de puntero para que el hover\n     * funcione tambi\u00e9n al llegar a la segunda secuencia.\n     * Se excluye de lectores de pantalla y del recorrido de teclado.\n     *\/\n    const duplicate = group.cloneNode(true);\n    duplicate.setAttribute(\"aria-hidden\", \"true\");\n\n    duplicate.querySelectorAll(\"[id]\").forEach(function (element) {\n      element.removeAttribute(\"id\");\n    });\n\n    duplicate.querySelectorAll(\"[tabindex]\").forEach(function (element) {\n      element.removeAttribute(\"tabindex\");\n    });\n\n    track.appendChild(duplicate);\n\n    const cards = Array.from(\n      track.querySelectorAll(\".kz-clients__card\")\n    );\n\n    let groupWidth = 0;\n    let cardStep = 0;\n    let position = 0;\n    let pendingDistance = 0;\n    let frameId = null;\n    let resizeFrame = null;\n    let previousTime = null;\n    let visible = true;\n    let initializedPosition = false;\n\n    let pointerId = null;\n    let pointerType = \"\";\n    let startX = 0;\n    let startY = 0;\n    let lastX = 0;\n    let dragging = false;\n    let nativeTouch = false;\n    let gestureMoved = false;\n    let suppressClickUntil = 0;\n\n    function closeNotes() {\n      cards.forEach(function (card) {\n        card.classList.remove(\"is-note-open\");\n      });\n    }\n\n    function cardAtPoint(x, y) {\n      return cards.find(function (card) {\n        const rect = card.getBoundingClientRect();\n\n        return (\n          rect.width > 0 &&\n          x >= rect.left &&\n          x <= rect.right &&\n          y >= rect.top &&\n          y <= rect.bottom\n        );\n      });\n    }\n\n    function toggleNoteAt(x, y) {\n      const card = cardAtPoint(x, y);\n      const shouldOpen = card &&\n        !card.classList.contains(\"is-note-open\");\n\n      closeNotes();\n\n      if (shouldOpen) card.classList.add(\"is-note-open\");\n    }\n\n    function render() {\n      if (reducedMotion.matches) {\n        track.style.transform = \"none\";\n        return;\n      }\n\n      if (!groupWidth) return;\n\n      position = (\n        (position % groupWidth) + groupWidth\n      ) % groupWidth;\n\n      track.style.transform =\n        \"translate3d(\" + (-position) + \"px, 0, 0)\";\n    }\n\n    function measure() {\n      const previousWidth = groupWidth;\n      groupWidth = group.getBoundingClientRect().width;\n\n      const card = group.querySelector(\".kz-clients__card\");\n      const gap = parseFloat(\n        getComputedStyle(group).columnGap\n      ) || 0;\n\n      cardStep = card\n        ? card.getBoundingClientRect().width + gap\n        : 0;\n\n      if (!initializedPosition && groupWidth > 0) {\n        position = parseFloat(\n          getComputedStyle(section)\n            .getPropertyValue(\"--clients-peek\")\n        ) || 0;\n\n        initializedPosition = true;\n      } else if (\n        previousWidth > 0 &&\n        previousWidth !== groupWidth\n      ) {\n        position = position \/ previousWidth * groupWidth;\n        pendingDistance = 0;\n      }\n    }\n\n    function fitToScreen() {\n      viewport.style.setProperty(\"--kz-edge-offset\", \"0px\");\n      viewport.style.setProperty(\n        \"--kz-screen-width\",\n        document.documentElement.clientWidth + \"px\"\n      );\n\n      const left = viewport.getBoundingClientRect().left;\n\n      viewport.style.setProperty(\"--kz-edge-offset\", -left + \"px\");\n\n      measure();\n      render();\n    }\n\n    function tick(time) {\n      frameId = null;\n\n      if (\n        !section.isConnected ||\n        reducedMotion.matches ||\n        document.hidden ||\n        !visible\n      ) {\n        previousTime = null;\n        return;\n      }\n\n      const elapsed = previousTime === null\n        ? 0\n        : Math.min((time - previousTime) \/ 1000, .05);\n\n      previousTime = time;\n\n      \/* Pasar el rat\u00f3n no pausa el loop. *\/\n      if (!dragging) {\n        position += Math.min(40, groupWidth \/ 15) * elapsed;\n\n        if (Math.abs(pendingDistance) > .1) {\n          const movement =\n            pendingDistance * (1 - Math.exp(-elapsed \/ .12));\n\n          position += movement;\n          pendingDistance -= movement;\n        } else {\n          position += pendingDistance;\n          pendingDistance = 0;\n        }\n\n        render();\n      }\n\n      frameId = requestAnimationFrame(tick);\n    }\n\n    function sync() {\n      if (frameId !== null) {\n        cancelAnimationFrame(frameId);\n        frameId = null;\n      }\n\n      previousTime = null;\n      render();\n\n      if (\n        section.isConnected &&\n        !reducedMotion.matches &&\n        !document.hidden &&\n        visible\n      ) {\n        frameId = requestAnimationFrame(tick);\n      }\n    }\n\n    function finishDrag() {\n      const capturedId = pointerId;\n      const wasDragging = dragging;\n\n      pointerId = null;\n      dragging = false;\n      nativeTouch = false;\n      gestureMoved = false;\n\n      viewport.classList.remove(\"is-dragging\");\n\n      if (\n        capturedId !== null &&\n        viewport.hasPointerCapture(capturedId)\n      ) {\n        viewport.releasePointerCapture(capturedId);\n      }\n\n      if (wasDragging) {\n        suppressClickUntil = performance.now() + 350;\n      }\n\n      previousTime = null;\n    }\n\n    viewport.addEventListener(\"pointerdown\", function (event) {\n      if (!event.isPrimary) {\n        finishDrag();\n        return;\n      }\n\n      if (pointerId !== null) return;\n\n      if (\n        event.pointerType === \"mouse\" &&\n        event.button !== 0\n      ) return;\n\n      pointerId = event.pointerId;\n      pointerType = event.pointerType;\n      startX = event.clientX;\n      startY = event.clientY;\n      lastX = startX;\n      dragging = false;\n      gestureMoved = false;\n\n      nativeTouch = (\n        reducedMotion.matches &&\n        event.pointerType !== \"mouse\"\n      );\n\n      if (!nativeTouch) {\n        viewport.setPointerCapture(event.pointerId);\n      }\n    });\n\n    viewport.addEventListener(\"pointermove\", function (event) {\n      if (event.pointerId !== pointerId) return;\n\n      const distanceX = event.clientX - startX;\n      const distanceY = event.clientY - startY;\n\n      if (\n        Math.abs(distanceX) >= 6 ||\n        Math.abs(distanceY) >= 6\n      ) {\n        gestureMoved = true;\n        closeNotes();\n      }\n\n      if (nativeTouch) return;\n\n      if (!dragging) {\n        if (!gestureMoved) return;\n\n        \/* El gesto vertical contin\u00faa desplazando la p\u00e1gina. *\/\n        if (Math.abs(distanceY) > Math.abs(distanceX)) {\n          finishDrag();\n          return;\n        }\n\n        dragging = true;\n        pendingDistance = 0;\n        viewport.classList.add(\"is-dragging\");\n      }\n\n      if (event.cancelable) event.preventDefault();\n\n      const movement = event.clientX - lastX;\n      lastX = event.clientX;\n\n      if (reducedMotion.matches) {\n        viewport.scrollLeft -= movement;\n      } else {\n        position -= movement;\n        render();\n      }\n    }, { passive: false });\n\n    viewport.addEventListener(\"pointerup\", function (event) {\n      if (event.pointerId !== pointerId) return;\n\n      const isTap = (\n        !dragging &&\n        !gestureMoved &&\n        pointerType !== \"mouse\"\n      );\n\n      finishDrag();\n\n      if (isTap) toggleNoteAt(event.clientX, event.clientY);\n    });\n\n    viewport.addEventListener(\"pointercancel\", function (event) {\n      if (event.pointerId === pointerId) finishDrag();\n    });\n\n    viewport.addEventListener(\n      \"lostpointercapture\",\n      function (event) {\n        if (event.pointerId === pointerId) finishDrag();\n      }\n    );\n\n    viewport.addEventListener(\"dragstart\", function (event) {\n      event.preventDefault();\n    });\n\n    viewport.addEventListener(\"click\", function (event) {\n      if (performance.now() < suppressClickUntil) {\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    }, true);\n\n    document.addEventListener(\"pointerdown\", function (event) {\n      if (!viewport.contains(event.target)) closeNotes();\n    }, { passive: true });\n\n    function moveByCard(direction) {\n      finishDrag();\n      closeNotes();\n      measure();\n\n      if (reducedMotion.matches) {\n        viewport.scrollBy({\n          left: direction * cardStep,\n          behavior: \"instant\"\n        });\n        return;\n      }\n\n      pendingDistance += direction * cardStep;\n    }\n\n    buttons.forEach(function (button) {\n      button.addEventListener(\"click\", function () {\n        moveByCard(Number(button.dataset.direction));\n      });\n    });\n\n    viewport.addEventListener(\"keydown\", function (event) {\n      if (event.key === \"Escape\") {\n        closeNotes();\n        viewport.focus({ preventScroll: true });\n        return;\n      }\n\n      if (event.target !== viewport) return;\n\n      if (event.key === \"ArrowLeft\") {\n        event.preventDefault();\n        moveByCard(-1);\n      } else if (event.key === \"ArrowRight\") {\n        event.preventDefault();\n        moveByCard(1);\n      }\n    });\n\n    \/*\n     * Al navegar por teclado, coloca la tarjeta enfocada\n     * dentro del \u00e1rea visible.\n     *\/\n    group.addEventListener(\"focusin\", function (event) {\n      const card = event.target.closest(\".kz-clients__card\");\n      if (!card) return;\n\n      closeNotes();\n      pendingDistance = 0;\n\n      if (!reducedMotion.matches) {\n        viewport.scrollLeft = 0;\n      }\n\n      const index = Array.from(group.children).indexOf(card);\n      const desiredPosition = Math.max(\n        0,\n        index * cardStep -\n        (viewport.clientWidth - card.getBoundingClientRect().width) \/ 2\n      );\n\n      if (reducedMotion.matches) {\n        viewport.scrollLeft = desiredPosition;\n      } else {\n        position = desiredPosition;\n        render();\n      }\n    });\n\n    section.dataset.carouselReady = \"true\";\n    fitToScreen();\n\n    if (\"ResizeObserver\" in window) {\n      const resizeObserver = new ResizeObserver(function () {\n        measure();\n        render();\n      });\n\n      resizeObserver.observe(group);\n    }\n\n    if (\"IntersectionObserver\" in window) {\n      const visibilityObserver = new IntersectionObserver(\n        function (entries) {\n          visible = entries[0].isIntersecting;\n\n          if (!visible) {\n            finishDrag();\n            closeNotes();\n          }\n\n          sync();\n        },\n        { threshold: 0 }\n      );\n\n      visibilityObserver.observe(section);\n    }\n\n    window.addEventListener(\"resize\", function () {\n      finishDrag();\n\n      if (resizeFrame !== null) {\n        cancelAnimationFrame(resizeFrame);\n      }\n\n      resizeFrame = requestAnimationFrame(function () {\n        resizeFrame = null;\n        fitToScreen();\n      });\n    }, { passive: true });\n\n    document.addEventListener(\"visibilitychange\", function () {\n      if (document.hidden) finishDrag();\n      sync();\n    });\n\n    window.addEventListener(\"blur\", finishDrag);\n\n    window.addEventListener(\"pageshow\", function () {\n      finishDrag();\n      fitToScreen();\n      sync();\n    });\n\n    function onMotionChange() {\n      finishDrag();\n      closeNotes();\n      pendingDistance = 0;\n      viewport.scrollLeft = 0;\n      measure();\n      sync();\n    }\n\n    if (reducedMotion.addEventListener) {\n      reducedMotion.addEventListener(\"change\", onMotionChange);\n    } else {\n      reducedMotion.addListener(onMotionChange);\n    }\n\n    if (document.fonts) {\n      document.fonts.ready.then(function () {\n        if (section.isConnected) fitToScreen();\n      });\n    }\n\n    sync();\n  }\n\n  function initAll() {\n    document.querySelectorAll(\".kz-clients\").forEach(initCarousel);\n  }\n\n  initAll();\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initAll);\n  }\n\n  let elementorRegistered = false;\n\n  function registerElementor() {\n    if (\n      elementorRegistered ||\n      !window.elementorFrontend ||\n      !window.elementorFrontend.hooks\n    ) return;\n\n    elementorRegistered = true;\n\n    window.elementorFrontend.hooks.addAction(\n      \"frontend\/element_ready\/html.default\",\n      function ($scope) {\n        $scope[0].querySelectorAll(\".kz-clients\")\n          .forEach(initCarousel);\n      }\n    );\n  }\n\n  registerElementor();\n\n  if (window.jQuery) {\n    window.jQuery(window).on(\n      \"elementor\/frontend\/init\",\n      registerElementor\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-6c368ef e-con-full e-flex e-con e-parent\" data-id=\"6c368ef\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8873f91 elementor-widget elementor-widget-html\" data-id=\"8873f91\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  .kz-team {\n    --team-black: #080808;\n    --team-charcoal: #303030;\n    --team-white: #ffffff;\n    --team-muted: #b9b9b9;\n\n    position: relative;\n    width: 100%;\n    overflow: hidden;\n    isolation: isolate;\n    background: var(--team-black);\n    color: var(--team-white);\n  }\n\n  .kz-team,\n  .kz-team * {\n    box-sizing: border-box;\n  }\n\n  \/* Iluminaci\u00f3n monocrom\u00e1tica *\/\n  .kz-team::before {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    z-index: -1;\n    background:\n      radial-gradient(\n        ellipse at 48% 24%,\n        rgba(90, 90, 90, 0.34),\n        transparent 52%\n      ),\n      radial-gradient(\n        ellipse at 24% 78%,\n        rgba(65, 65, 65, 0.22),\n        transparent 44%\n      ),\n      radial-gradient(\n        ellipse at 94% 48%,\n        rgba(65, 65, 65, 0.18),\n        transparent 42%\n      );\n    pointer-events: none;\n  }\n\n  .kz-team__stage {\n    position: relative;\n    width: 100%;\n    max-width: 1320px;\n    min-height: 720px;\n    margin-inline: auto;\n    padding: 260px 24px 80px;\n  }\n\n  .kz-team__content {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 620px;\n    margin-inline: auto;\n    text-align: center;\n  }\n\n  .kz-team .kz-team__title {\n    margin: 0;\n    padding: 0;\n    color: var(--team-white);\n    font-family: \"Neue Montreal\", sans-serif;\n    font-size: clamp(42px, 4vw, 56px);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.08;\n    letter-spacing: -0.035em;\n    text-wrap: balance;\n  }\n\n  .kz-team .kz-team__title strong {\n    font-family: inherit;\n    font-weight: 700;\n  }\n\n  .kz-team .kz-team__text {\n    max-width: 510px;\n    margin: 30px auto 0;\n    padding: 0;\n    color: var(--team-muted);\n    font-family: \"Manrope\", sans-serif;\n    font-size: 17px;\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.65;\n    text-wrap: pretty;\n  }\n\n  .kz-team .kz-team__cta {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 56px;\n    max-width: 100%;\n    margin-top: 36px;\n    padding: 17px 32px;\n\n    border: 1px solid var(--team-white);\n    border-radius: 999px;\n    background: var(--team-white);\n    color: #111111;\n\n    font-family: \"Manrope\", sans-serif;\n    font-size: 14px;\n    font-style: normal;\n    font-weight: 600;\n    line-height: 1.4;\n    text-align: center;\n    text-decoration: none;\n    box-shadow: none;\n\n    transition:\n      background-color 180ms ease,\n      border-color 180ms ease;\n  }\n\n  .kz-team .kz-team__cta:hover {\n    border-color: #e5e5e5;\n    background: #e5e5e5;\n    color: #111111;\n  }\n\n  .kz-team .kz-team__cta:focus-visible {\n    outline: 2px solid var(--team-white);\n    outline-offset: 5px;\n  }\n\n  \/* Fotograf\u00edas *\/\n  .kz-team .kz-team__portrait {\n    position: absolute;\n    z-index: 1;\n    width: clamp(100px, 9.5vw, 128px);\n    aspect-ratio: 1;\n    margin: 0;\n    overflow: hidden;\n\n    border: 1px solid rgba(255, 255, 255, 0.18);\n    border-radius: 20px;\n    background: linear-gradient(145deg, #858585, #303030);\n    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);\n  }\n\n  .kz-team .kz-team__portrait img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    object-fit: cover;\n    object-position: center 35%;\n  }\n\n  .kz-team__portrait img:not([src]) {\n    display: none;\n  }\n\n  \/* Dos retratos superiores *\/\n  .kz-team .kz-team__portrait--1 {\n    top: 80px;\n    left: 36%;\n    transform: rotate(4deg);\n  }\n\n  .kz-team .kz-team__portrait--2 {\n    top: 80px;\n    right: 27%;\n    transform: rotate(-3deg);\n  }\n\n  \/* Dos retratos a los lados del t\u00edtulo *\/\n  .kz-team .kz-team__portrait--3 {\n    top: 245px;\n    left: 12%;\n    transform: rotate(9deg);\n  }\n\n  .kz-team .kz-team__portrait--4 {\n    top: 245px;\n    right: 12%;\n    transform: rotate(-9deg);\n  }\n\n  \/* Dos retratos inferiores, m\u00e1s abiertos *\/\n  .kz-team .kz-team__portrait--5 {\n    top: 465px;\n    left: 4%;\n    transform: rotate(13deg);\n  }\n\n  .kz-team .kz-team__portrait--6 {\n    top: 465px;\n    right: 4%;\n    transform: rotate(-13deg);\n  }\n\n  \/* Tablet y m\u00f3vil: composici\u00f3n sin solapamientos *\/\n  @media (max-width: 1100px) {\n    .kz-team__stage {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      align-items: center;\n      justify-items: center;\n      gap: 40px 20px;\n\n      max-width: 760px;\n      min-height: auto;\n      padding: 64px 32px;\n    }\n\n    .kz-team__content {\n      grid-column: 1 \/ -1;\n      grid-row: 2;\n      max-width: 620px;\n    }\n\n    .kz-team .kz-team__portrait {\n      position: relative;\n      top: auto;\n      right: auto;\n      bottom: auto;\n      left: auto;\n      width: 112px;\n      max-width: 100%;\n    }\n\n    .kz-team .kz-team__portrait--1 {\n      grid-area: 1 \/ 1;\n    }\n\n    .kz-team .kz-team__portrait--2 {\n      grid-area: 1 \/ 2;\n    }\n\n    .kz-team .kz-team__portrait--3 {\n      grid-area: 1 \/ 3;\n    }\n\n    .kz-team .kz-team__portrait--4 {\n      grid-area: 3 \/ 1;\n    }\n\n    .kz-team .kz-team__portrait--5 {\n      grid-area: 3 \/ 2;\n    }\n\n    .kz-team .kz-team__portrait--6 {\n      grid-area: 3 \/ 3;\n    }\n  }\n\n  @media (max-width: 767px) {\n    .kz-team__stage {\n      gap: 36px 16px;\n      padding: 56px 24px;\n    }\n\n    .kz-team .kz-team__portrait {\n      width: 88px;\n      border-radius: 16px;\n    }\n\n    .kz-team .kz-team__title {\n      font-size: clamp(32px, 7.5vw, 42px);\n      line-height: 1.1;\n      letter-spacing: -0.03em;\n    }\n\n    .kz-team .kz-team__text {\n      margin-top: 24px;\n      font-size: 15px;\n      line-height: 1.65;\n    }\n\n    .kz-team .kz-team__cta {\n      min-height: 52px;\n      margin-top: 28px;\n      padding: 15px 28px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .kz-team .kz-team__cta {\n      transition: none;\n    }\n  }\n<\/style>\n\n<section class=\"kz-team\" aria-label=\"Tu equipo estrat\u00e9gico\">\n  <div class=\"kz-team__stage\">\n\n    <!-- IMAGEN 1: superior izquierda -->\n    <figure class=\"kz-team__portrait kz-team__portrait--1\">\n      <img data-src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/foto-portada-sergio-web.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n    <\/figure>\n\n    <!-- IMAGEN 2: superior derecha -->\n    <figure class=\"kz-team__portrait kz-team__portrait--2\">\n      <img data-src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/foto-web-jesus-co-founder.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n    <\/figure>\n\n    <!-- IMAGEN 3: lateral izquierdo -->\n    <figure class=\"kz-team__portrait kz-team__portrait--3\">\n      <img data-src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/foto-portada-mariaje-web.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n    <\/figure>\n\n    <!-- CONTENIDO CENTRAL -->\n    <div class=\"kz-team__content\">\n      <h2 class=\"kz-team__title\">\n        Tu <strong>equipo estrat\u00e9gico<\/strong>\n        para ganarle m\u00e1s a tu negocio\n      <\/h2>\n\n      <p class=\"kz-team__text\">\n        Que tener un equipo cualificado sea sencillo, cercano,\n        que entienda tu negocio y, sobre todo, que sea rentable.\n        Somos pr\u00e1cticos y te damos soluciones para avanzar\n        sin hacer tedioso el proceso.\n      <\/p>\n\n      <a class=\"kz-team__cta\" href=\"#form\">\n        Agenda tu llamada\n      <\/a>\n    <\/div>\n\n    <!-- IMAGEN 4: lateral derecho -->\n    <figure class=\"kz-team__portrait kz-team__portrait--4\">\n      <img data-src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/foto-portada-web-jesus.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n    <\/figure>\n\n    <!-- IMAGEN 5: inferior izquierda -->\n    <figure class=\"kz-team__portrait kz-team__portrait--5\">\n      <img data-src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/foto-portada-web-sergi.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n    <\/figure>\n\n    <!-- IMAGEN 6: inferior derecha -->\n    <figure class=\"kz-team__portrait kz-team__portrait--6\">\n      <img data-src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/Gemini_Generated_Image_lkmc1plkmc1plkmc.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n    <\/figure>\n\n  <\/div>\n<\/section>\n\n<script>\n(() => {\n  document.querySelectorAll(\".kz-team img[data-src]\").forEach((image) => {\n    const url = image.dataset.src.trim();\n\n    if (url && image.getAttribute(\"src\") !== url) {\n      image.src = url;\n    }\n  });\n})();\n<\/script>\n<style>\n  \/* Movimiento independiente de las rotaciones originales *\/\n  .kz-team .kz-team__portrait {\n    transition:\n      translate 280ms ease,\n      rotate 280ms ease;\n  }\n\n  @media (hover: hover) and (pointer: fine) {\n    .kz-team .kz-team__portrait:hover {\n      translate: 0 -4px;\n      rotate: 1.5deg;\n    }\n  }\n\n  \/* Se activa \u00fanicamente cuando el script est\u00e1 preparado *\/\n  .kz-team .kz-team-motion-pending {\n    opacity: 0;\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .kz-team .kz-team__portrait {\n      transition: none;\n      translate: none;\n      rotate: none;\n    }\n\n    .kz-team .kz-team-motion-pending {\n      opacity: 1;\n    }\n  }\n<\/style>\n\n<script>\n(() => {\n  const reducedMotion = window.matchMedia(\n    \"(prefers-reduced-motion: reduce)\"\n  );\n\n  document.querySelectorAll(\".kz-team\").forEach((section) => {\n    if (section.dataset.motionInitialized === \"true\") return;\n    section.dataset.motionInitialized = \"true\";\n\n    if (\n      reducedMotion.matches ||\n      !(\"IntersectionObserver\" in window) ||\n      !(\"animate\" in Element.prototype)\n    ) return;\n\n    const items = [\n      ...section.querySelectorAll(\".kz-team__portrait\"),\n      ...section.querySelectorAll(\n        \".kz-team__title, .kz-team__text, .kz-team__cta\"\n      )\n    ];\n\n    let revealed = false;\n    const animations = [];\n\n    items.forEach((item) => {\n      item.classList.add(\"kz-team-motion-pending\");\n    });\n\n    const reveal = (animate = true) => {\n      if (revealed) return;\n      revealed = true;\n      observer.disconnect();\n\n      items.forEach((item, index) => {\n        item.classList.remove(\"kz-team-motion-pending\");\n\n        if (!animate || reducedMotion.matches) return;\n\n        const portrait = item.classList.contains(\"kz-team__portrait\");\n\n        \/* Las fotograf\u00edas se colocan suavemente en su posici\u00f3n *\/\n        const horizontal = portrait\n          ? (index % 2 === 0 ? \"-6px\" : \"6px\")\n          : \"0px\";\n\n        const delay = portrait\n          ? Math.floor(index \/ 2) * 55\n          : (index - 6) * 55 + 40;\n\n        animations.push(\n          item.animate(\n            [\n              {\n                opacity: 0,\n                translate: `${horizontal} ${portrait ? 10 : 8}px`\n              },\n              {\n                opacity: 1,\n                translate: \"0px 0px\"\n              }\n            ],\n            {\n              duration: 420,\n              delay,\n              easing: \"cubic-bezier(0.22, 1, 0.36, 1)\",\n              fill: \"backwards\"\n            }\n          )\n        );\n      });\n    };\n\n    const observer = new IntersectionObserver(\n      (entries) => {\n        if (entries.some((entry) => entry.isIntersecting)) {\n          reveal();\n        }\n      },\n      {\n        threshold: 0,\n        rootMargin: \"0px 0px -12% 0px\"\n      }\n    );\n\n    observer.observe(section);\n\n    \/* Muestra inmediatamente el contenido si recibe foco *\/\n    section.addEventListener(\"focusin\", () => {\n      reveal(false);\n      animations.forEach((animation) => animation.cancel());\n    });\n\n    \/* Tambi\u00e9n responde a cambios de preferencia durante la visita *\/\n    reducedMotion.addEventListener(\"change\", (event) => {\n      if (!event.matches) return;\n      reveal(false);\n      animations.forEach((animation) => animation.cancel());\n    });\n  });\n})();\n<\/script>\n<style>\n  \/* Permite mostrar el nombre fuera de la fotograf\u00eda. *\/\n  .kz-team .kz-team__portrait {\n    overflow: visible;\n  }\n\n  \/* Mantiene las esquinas redondeadas de las fotograf\u00edas. *\/\n  .kz-team .kz-team__portrait img {\n    border-radius: inherit;\n  }\n\n  .kz-team .kz-team__portrait:focus-visible {\n    outline: 2px solid rgba(255, 255, 255, .85);\n    outline-offset: 6px;\n  }\n\n  \/* Nombre y flecha: no ocupan espacio en la composici\u00f3n. *\/\n  .kz-team .kz-team__signature {\n    position: absolute;\n    top: calc(100% + 8px);\n    left: 50%;\n\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 7px;\n\n    width: max-content;\n    max-width: 160px;\n    margin: 0;\n    padding: 0;\n\n    color: #fff;\n    font-family: \"Neue Montreal\", sans-serif;\n    font-size: 17px;\n    font-weight: 400;\n    font-style: normal;\n    line-height: 1.15;\n    letter-spacing: -.02em;\n    text-align: center;\n\n    opacity: 0;\n    visibility: hidden;\n    pointer-events: none;\n\n    transform: translate(-50%, -5px);\n    transition:\n      opacity 220ms ease,\n      transform 280ms cubic-bezier(.22, 1, .36, 1),\n      visibility 220ms ease;\n  }\n\n  .kz-team .kz-team__signature svg {\n    display: block;\n    flex: 0 0 25px;\n    width: 25px;\n    height: 34px;\n    overflow: visible;\n    color: rgba(255, 255, 255, .85);\n  }\n\n  .kz-team .kz-team__signature path {\n    stroke-dasharray: 1;\n    stroke-dashoffset: 1;\n    transition: stroke-dashoffset 380ms ease;\n  }\n\n  .kz-team .kz-team__signature-name {\n    display: block;\n    padding-top: 8px;\n    overflow-wrap: anywhere;\n  }\n\n  \/* Activaci\u00f3n mediante toque o teclado. *\/\n  .kz-team .kz-team__portrait.is-name-visible .kz-team__signature,\n  .kz-team .kz-team__portrait:focus-visible .kz-team__signature {\n    opacity: 1;\n    visibility: visible;\n    transform: translate(-50%, 0);\n  }\n\n  .kz-team .kz-team__portrait.is-name-visible .kz-team__signature path,\n  .kz-team .kz-team__portrait:focus-visible .kz-team__signature path {\n    stroke-dashoffset: 0;\n  }\n\n  \/* Hover solo en dispositivos con rat\u00f3n. *\/\n  @media (hover: hover) and (pointer: fine) {\n    .kz-team .kz-team__portrait:hover .kz-team__signature {\n      opacity: 1;\n      visibility: visible;\n      transform: translate(-50%, 0);\n    }\n\n    .kz-team .kz-team__portrait:hover .kz-team__signature path {\n      stroke-dashoffset: 0;\n    }\n  }\n\n  @media (max-width: 767px) {\n    .kz-team .kz-team__signature {\n      top: calc(100% + 5px);\n      max-width: 100px;\n      gap: 4px;\n      font-size: 14px;\n    }\n\n    .kz-team .kz-team__signature svg {\n      flex-basis: 18px;\n      width: 18px;\n      height: 27px;\n    }\n\n    .kz-team .kz-team__signature-name {\n      padding-top: 5px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .kz-team .kz-team__signature,\n    .kz-team .kz-team__signature path {\n      transition: none;\n    }\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  \/*\n   * EDITA AQU\u00cd LOS NOMBRES.\n   * La numeraci\u00f3n corresponde a las seis fotograf\u00edas\n   * de tu c\u00f3digo original.\n   *\/\n  const names = {\n    1: \"Lorenzo - SEO  Co-founder\",\n    2: \"Jes\u00fas A. - CRO Co-Founder\",\n    3: \"Mariaje - Edici\u00f3n\",\n    4: \"Jes\u00fas - Programador\",\n    5: \"Sergi - Filmaker\",\n    6: \"Edison - Dise\u00f1ador\"\n  };\n\n  function initTeamNames(section) {\n    if (section.dataset.namesInitialized === \"true\") return;\n    section.dataset.namesInitialized = \"true\";\n\n    const portraits = Array.from(\n      section.querySelectorAll(\".kz-team__portrait\")\n    );\n\n    function hideNames(except) {\n      portraits.forEach(function (portrait) {\n        if (portrait !== except) {\n          portrait.classList.remove(\"is-name-visible\");\n        }\n      });\n    }\n\n    portraits.forEach(function (portrait) {\n      const number = Object.keys(names).find(function (key) {\n        return portrait.classList.contains(\n          \"kz-team__portrait--\" + key\n        );\n      });\n\n      if (!number) return;\n\n      const name = names[number];\n\n      \/*\n       * El foco permite descubrir el nombre con teclado.\n       * Se conserva el elemento figure y la animaci\u00f3n existente.\n       *\/\n      portrait.tabIndex = 0;\n      portrait.setAttribute(\"aria-label\", name);\n\n      const signature = document.createElement(\"figcaption\");\n      signature.className = \"kz-team__signature\";\n      signature.setAttribute(\"aria-hidden\", \"true\");\n\n      signature.innerHTML = `\n        <svg\n          xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n          viewBox=\"0 0 30 40\"\n          fill=\"none\"\n          stroke=\"currentColor\"\n          stroke-width=\"1.35\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n          aria-hidden=\"true\"\n          focusable=\"false\"\n        >\n          <path\n            pathLength=\"1\"\n            d=\"M26 35C14 35 5 28 7 21C9 15 19 18 18 24C17 30 6 22 7 5\"\n          ><\/path>\n          <path\n            pathLength=\"1\"\n            d=\"M3 10L7 5L12 9\"\n          ><\/path>\n        <\/svg>\n      `;\n\n      const label = document.createElement(\"span\");\n      label.className = \"kz-team__signature-name\";\n      label.textContent = name;\n      signature.appendChild(label);\n      portrait.appendChild(signature);\n\n      portrait.addEventListener(\"click\", function () {\n        const shouldShow = !portrait.classList.contains(\n          \"is-name-visible\"\n        );\n\n        hideNames();\n        portrait.classList.toggle(\"is-name-visible\", shouldShow);\n      });\n\n      portrait.addEventListener(\"focus\", function () {\n        hideNames(portrait);\n      });\n\n      portrait.addEventListener(\"blur\", function () {\n        portrait.classList.remove(\"is-name-visible\");\n      });\n\n      portrait.addEventListener(\"keydown\", function (event) {\n        if (event.key === \"Escape\") {\n          portrait.classList.remove(\"is-name-visible\");\n          portrait.blur();\n        }\n      });\n    });\n\n    document.addEventListener(\"click\", function (event) {\n      if (!portraits.some(function (portrait) {\n        return portrait.contains(event.target);\n      })) {\n        hideNames();\n      }\n    });\n  }\n\n  function initAll() {\n    document.querySelectorAll(\".kz-team\").forEach(initTeamNames);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initAll);\n  } else {\n    initAll();\n  }\n\n  function registerElementor() {\n    if (\n      !window.elementorFrontend ||\n      !window.elementorFrontend.hooks\n    ) return;\n\n    window.elementorFrontend.hooks.addAction(\n      \"frontend\/element_ready\/html.default\",\n      function ($scope) {\n        $scope[0].querySelectorAll(\".kz-team\").forEach(initTeamNames);\n      }\n    );\n  }\n\n  if (window.elementorFrontend && window.elementorFrontend.hooks) {\n    registerElementor();\n  } else if (window.jQuery) {\n    window.jQuery(window).on(\n      \"elementor\/frontend\/init\",\n      registerElementor\n    );\n  }\n})();\n<\/script>\n<link\n  rel=\"stylesheet\"\n  href=\"https:\/\/fonts.googleapis.com\/css2?family=Caveat:wght@500;600&display=swap\"\n>\n\n<style>\n  \/* Tipograf\u00eda manuscrita para nombres y cargos. *\/\n  .kz-team .kz-team__signature,\n  .kz-team .kz-team__signature-name {\n    font-family: \"Caveat\", cursive !important;\n    font-weight: 600;\n    font-style: normal;\n    letter-spacing: 0;\n  }\n\n  .kz-team .kz-team__signature {\n    font-size: 21px;\n    line-height: 1.1;\n  }\n\n  \/* Tablet y m\u00f3vil: espacio reservado aunque el nombre est\u00e9 oculto.\n     As\u00ed, al aparecer, no empuja ni se superpone al contenido. *\/\n  @media (max-width: 1100px) {\n    .kz-team .kz-team__stage {\n      align-items: start;\n      row-gap: 30px;\n    }\n\n    .kz-team .kz-team__portrait {\n      margin-bottom: 100px;\n    }\n\n    .kz-team .kz-team__signature {\n      top: calc(100% + 9px);\n      width: 100%;\n      max-width: 100%;\n      flex-direction: column;\n      align-items: center;\n      justify-content: flex-start;\n      gap: 3px;\n      font-size: 20px;\n      line-height: 1.1;\n    }\n\n    .kz-team .kz-team__signature svg {\n      flex: 0 0 auto;\n      width: 18px;\n      height: 24px;\n    }\n\n    .kz-team .kz-team__signature-name {\n      width: 100%;\n      min-width: 0;\n      padding-top: 0;\n      white-space: normal;\n      overflow-wrap: anywhere;\n      text-wrap: balance;\n    }\n  }\n\n  @media (max-width: 767px) {\n    .kz-team .kz-team__stage {\n      column-gap: 16px;\n      row-gap: 26px;\n      padding: 48px 24px 28px;\n    }\n\n    .kz-team .kz-team__portrait {\n      \/* Espacio independiente para la flecha, el nombre y el cargo. *\/\n      margin-bottom: 100px;\n    }\n\n    .kz-team .kz-team__signature {\n      top: calc(100% + 8px);\n      font-size: 18px;\n      line-height: 1.1;\n      gap: 3px;\n    }\n\n    .kz-team .kz-team__signature svg {\n      width: 16px;\n      height: 21px;\n    }\n\n    .kz-team .kz-team__signature-name {\n      padding-top: 0;\n    }\n  }\n<\/style>\n<style>\n  @media (max-width: 767px) {\n\n    .kz-team .kz-team__stage {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      align-items: start;\n      justify-items: center;\n\n      width: 100%;\n      max-width: 100%;\n      min-height: 0;\n      margin-inline: auto;\n      padding: 44px 20px 36px;\n      gap: 28px 12px;\n    }\n\n    \/*\n     * Cada retrato contiene ahora:\n     * fotograf\u00eda + flecha + nombre.\n     * La altura incluye todos estos elementos.\n     *\/\n    .kz-team .kz-team__portrait {\n      position: relative;\n      inset: auto;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n\n      width: 100%;\n      max-width: 100px;\n      min-width: 0;\n      height: auto;\n      aspect-ratio: auto;\n      margin: 0 !important;\n      padding: 0;\n\n      overflow: visible;\n      border: 0;\n      border-radius: 0;\n      background: transparent;\n      box-shadow: none;\n\n      transform: none !important;\n      translate: none !important;\n      rotate: none !important;\n    }\n\n    \/* La inclinaci\u00f3n se aplica solo a la fotograf\u00eda. *\/\n    .kz-team .kz-team__portrait img {\n      display: block;\n      flex: 0 0 auto;\n      width: 88%;\n      max-width: 88px;\n      height: auto;\n      aspect-ratio: 1;\n      margin: 0;\n\n      object-fit: cover;\n      object-position: center 35%;\n      border: 1px solid rgba(255, 255, 255, .18);\n      border-radius: 15px;\n      box-shadow: 0 8px 20px rgba(0, 0, 0, .16);\n\n      transform: rotate(var(--team-mobile-angle, 0deg));\n    }\n\n    .kz-team .kz-team__portrait--1 {\n      grid-area: 1 \/ 1;\n      --team-mobile-angle: 4deg;\n    }\n\n    .kz-team .kz-team__portrait--2 {\n      grid-area: 1 \/ 2;\n      --team-mobile-angle: -3deg;\n    }\n\n    .kz-team .kz-team__portrait--3 {\n      grid-area: 1 \/ 3;\n      --team-mobile-angle: 7deg;\n    }\n\n    .kz-team .kz-team__portrait--4 {\n      grid-area: 3 \/ 1;\n      --team-mobile-angle: -7deg;\n    }\n\n    .kz-team .kz-team__portrait--5 {\n      grid-area: 3 \/ 2;\n      --team-mobile-angle: 8deg;\n    }\n\n    .kz-team .kz-team__portrait--6 {\n      grid-area: 3 \/ 3;\n      --team-mobile-angle: -8deg;\n    }\n\n    \/*\n     * Etiqueta en el flujo normal.\n     * Aunque est\u00e9 oculta, conserva su espacio:\n     * no pisa el t\u00edtulo ni queda fuera de la secci\u00f3n.\n     *\/\n    .kz-team .kz-team__signature {\n      position: static !important;\n      inset: auto !important;\n\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: flex-start;\n      gap: 3px;\n\n      width: 100%;\n      max-width: 100%;\n      min-width: 0;\n      margin: 12px 0 0;\n      padding: 0;\n\n      font-family: \"Caveat\", cursive !important;\n      font-size: 18px;\n      font-weight: 600;\n      line-height: 1.1;\n      letter-spacing: 0;\n      text-align: center;\n\n      transform: none !important;\n      transition:\n        opacity 200ms ease,\n        visibility 200ms ease;\n    }\n\n    .kz-team .kz-team__signature svg {\n      display: block;\n      flex: 0 0 auto;\n      width: 16px;\n      height: 21px;\n    }\n\n    .kz-team .kz-team__signature-name {\n      display: block;\n      width: 100%;\n      max-width: 100%;\n      min-width: 0;\n      padding: 0;\n      margin: 0;\n\n      font-family: \"Caveat\", cursive !important;\n      font-size: inherit;\n      line-height: inherit;\n\n      white-space: normal;\n      overflow-wrap: anywhere;\n      text-wrap: balance;\n    }\n\n    .kz-team .kz-team__content {\n      grid-column: 1 \/ -1;\n      grid-row: 2;\n      width: 100%;\n      min-width: 0;\n      max-width: 100%;\n      margin: 0;\n    }\n\n    .kz-team .kz-team__title {\n      font-size: clamp(28px, 7.5vw, 38px);\n      line-height: 1.1;\n      letter-spacing: -.03em;\n    }\n\n    .kz-team .kz-team__text {\n      margin-top: 24px;\n      font-size: 15px;\n      line-height: 1.65;\n    }\n\n    .kz-team .kz-team__cta {\n      min-height: 48px;\n      max-width: 100%;\n      margin-top: 28px;\n      padding: 14px 26px;\n    }\n  }\n<\/style>\n\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-891e6f6 e-con-full e-flex e-con e-parent\" data-id=\"891e6f6\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30b1e49 elementor-widget elementor-widget-html\" data-id=\"30b1e49\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link\n  rel=\"stylesheet\"\n  href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter+Tight:wght@400;500;600;700&display=swap\"\n>\n\n<section class=\"kreze-method-v4\" id=\"metodologia-kreze\">\n  <div class=\"km4-layout\">\n\n    <!-- COLUMNA IZQUIERDA -->\n    <div class=\"km4-left\">\n      <div class=\"km4-left-inner\">\n\n        <div class=\"km4-heading\">\n          <h2>Nuestra <strong>Metodolog\u00eda.<\/strong><\/h2>\n\n          <p>\n            Un proceso estructurado donde estrategia,\n            ejecuci\u00f3n y an\u00e1lisis trabajan juntos\n            para hacer crecer tu negocio.\n          <\/p>\n        <\/div>\n\n        <nav\n          class=\"km4-navigation\"\n          aria-label=\"Fases de nuestra metodolog\u00eda\"\n        >\n          <button\n            class=\"km4-tab is-active\"\n            type=\"button\"\n            data-km4-target=\"0\"\n            aria-current=\"step\"\n          >\n            <span class=\"km4-tab-number\">01<\/span>\n            <span class=\"km4-tab-label\">\n              Onboarding personalizado\n            <\/span>\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"1.7\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <path d=\"M5 19 19 5M9 5h10v10\"\/>\n            <\/svg>\n          <\/button>\n\n          <button\n            class=\"km4-tab\"\n            type=\"button\"\n            data-km4-target=\"1\"\n          >\n            <span class=\"km4-tab-number\">02<\/span>\n            <span class=\"km4-tab-label\">Auditor\u00eda completa<\/span>\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"1.7\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <path d=\"M5 19 19 5M9 5h10v10\"\/>\n            <\/svg>\n          <\/button>\n\n          <button\n            class=\"km4-tab\"\n            type=\"button\"\n            data-km4-target=\"2\"\n          >\n            <span class=\"km4-tab-number\">03<\/span>\n            <span class=\"km4-tab-label\">\n              Reuni\u00f3n estrat\u00e9gica y procesos\n            <\/span>\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"1.7\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <path d=\"M5 19 19 5M9 5h10v10\"\/>\n            <\/svg>\n          <\/button>\n\n          <button\n            class=\"km4-tab\"\n            type=\"button\"\n            data-km4-target=\"3\"\n          >\n            <span class=\"km4-tab-number\">04<\/span>\n            <span class=\"km4-tab-label\">\n              Desarrollo e implementaci\u00f3n\n            <\/span>\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"1.7\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <path d=\"M5 19 19 5M9 5h10v10\"\/>\n            <\/svg>\n          <\/button>\n\n          <button\n            class=\"km4-tab\"\n            type=\"button\"\n            data-km4-target=\"4\"\n          >\n            <span class=\"km4-tab-number\">05<\/span>\n            <span class=\"km4-tab-label\">\n              M\u00e9todo de Krezimiento\n            <\/span>\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"1.7\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <path d=\"M5 19 19 5M9 5h10v10\"\/>\n            <\/svg>\n          <\/button>\n        <\/nav>\n\n        <div class=\"km4-progress\">\n          <div class=\"km4-progress-head\">\n            <span>PROGRESO DEL PROCESO<\/span>\n            <span><b data-km4-counter>01<\/b> \/ 05<\/span>\n          <\/div>\n\n          <div class=\"km4-progress-track\">\n            <div class=\"km4-progress-fill\"><\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n    <!-- CONTENIDO DE LOS CINCO PROCESOS -->\n    <div class=\"km4-right\">\n      <div\n        class=\"km4-scroll\"\n        tabindex=\"0\"\n        aria-label=\"Contenido de las cinco fases de la metodolog\u00eda\"\n      >\n\n        <!-- FASE 01 -->\n        <article class=\"km4-phase\" data-km4-phase=\"0\">\n          <h3>Proceso de Onboarding personalizado<\/h3>\n\n          <p>\n            Conocemos tu negocio, objetivos y necesidades.\n            Organizamos accesos, herramientas y recursos\n            para empezar con claridad, orden y una ejecuci\u00f3n eficiente.\n          <\/p>\n\n          <div class=\"km4-video\">\n            <video\n              src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-onboarding-1.mp4\"\n              autoplay\n              muted\n              loop\n              playsinline\n              webkit-playsinline\n              preload=\"auto\"\n              disablepictureinpicture\n              aria-label=\"Animaci\u00f3n del proceso de onboarding\"\n            ><\/video>\n          <\/div>\n        <\/article>\n\n        <div class=\"km4-divider\"><\/div>\n\n        <!-- FASE 02 -->\n        <article class=\"km4-phase\" data-km4-phase=\"1\">\n          <h3>Auditor\u00eda completa<\/h3>\n\n          <p>\n            Conectamos tus fuentes de datos y analizamos\n            cada canal para detectar errores, oportunidades\n            de mejora y los principales obst\u00e1culos al crecimiento.\n          <\/p>\n\n          <div class=\"km4-video\">\n            <video\n              src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-auditoria-1.mp4\"\n              autoplay\n              muted\n              loop\n              playsinline\n              webkit-playsinline\n              preload=\"auto\"\n              disablepictureinpicture\n              aria-label=\"Animaci\u00f3n de auditor\u00eda completa\"\n            ><\/video>\n          <\/div>\n        <\/article>\n\n        <div class=\"km4-divider\"><\/div>\n\n        <!-- FASE 03 -->\n        <article class=\"km4-phase\" data-km4-phase=\"2\">\n          <h3>Reuni\u00f3n estrat\u00e9gica y procesos<\/h3>\n\n          <p>\n            Compartimos el diagn\u00f3stico contigo y definimos\n            un plan de acci\u00f3n por prioridades, con objetivos,\n            KPIs y responsabilidades para los pr\u00f3ximos meses.\n          <\/p>\n\n          <div class=\"km4-video\">\n            <video\n              src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-estrategia-1.mp4\"\n              autoplay\n              muted\n              loop\n              playsinline\n              webkit-playsinline\n              preload=\"auto\"\n              disablepictureinpicture\n              aria-label=\"Animaci\u00f3n de reuni\u00f3n estrat\u00e9gica\"\n            ><\/video>\n          <\/div>\n        <\/article>\n\n        <div class=\"km4-divider\"><\/div>\n\n        <!-- FASE 04 -->\n        <article class=\"km4-phase\" data-km4-phase=\"3\">\n          <h3>Desarrollo e implementaci\u00f3n<\/h3>\n\n          <p>\n            Convertimos la estrategia en acciones reales:\n            ejecutamos mejoras, desarrollamos soluciones\n            y activamos las iniciativas necesarias para alcanzar\n            los objetivos definidos.\n          <\/p>\n\n          <div class=\"km4-video\">\n            <video\n              src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-implementacion-1.mp4\"\n              autoplay\n              muted\n              loop\n              playsinline\n              webkit-playsinline\n              preload=\"auto\"\n              disablepictureinpicture\n              aria-label=\"Animaci\u00f3n de desarrollo e implementaci\u00f3n\"\n            ><\/video>\n          <\/div>\n        <\/article>\n\n        <div class=\"km4-divider\"><\/div>\n\n        <!-- FASE 05 -->\n        <article class=\"km4-phase\" data-km4-phase=\"4\">\n          <h3>M\u00e9todo de Krezimiento<\/h3>\n\n          <p>\n            Medimos resultados continuamente, corregimos\n            lo que no funciona y activamos nuevas oportunidades\n            para escalar con criterio, rentabilidad y visi\u00f3n a largo plazo.\n          <\/p>\n\n          <div class=\"km4-video\">\n            <video\n              src=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/kreze-growth-1.mp4\"\n              autoplay\n              muted\n              loop\n              playsinline\n              webkit-playsinline\n              preload=\"auto\"\n              disablepictureinpicture\n              aria-label=\"Animaci\u00f3n del m\u00e9todo de Krezimiento\"\n            ><\/video>\n          <\/div>\n        <\/article>\n\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n  .kreze-method-v4 {\n    --km4-heading-font:\n      \"Neue Montreal\",\n      var(--e-global-typography-primary-font-family, sans-serif);\n\n    \/* Ajusta este valor si cambia la altura de la cabecera m\u00f3vil *\/\n    --km4-mobile-offset: 100px;\n\n    width: 100%;\n    margin: 0;\n    padding: 70px 28px 85px;\n    background: #ffffff;\n    color: #111111;\n    font-family: \"Inter Tight\", sans-serif;\n    box-sizing: border-box;\n    overflow-x: clip;\n  }\n\n  .kreze-method-v4 *,\n  .kreze-method-v4 *::before,\n  .kreze-method-v4 *::after {\n    box-sizing: border-box;\n  }\n\n  \/* ESTRUCTURA DESKTOP *\/\n\n  .kreze-method-v4 .km4-layout {\n    display: grid;\n    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);\n    align-items: start;\n    gap: clamp(34px, 4.5vw, 74px);\n    width: 100%;\n    max-width: 1360px;\n    margin: 0 auto;\n  }\n\n  .kreze-method-v4 .km4-left {\n    min-width: 0;\n  }\n\n  .kreze-method-v4 .km4-left-inner {\n    padding-top: 15px;\n  }\n\n  \/* ENCABEZADO *\/\n\n  .kreze-method-v4 .km4-heading h2 {\n    margin: 0 0 20px;\n    color: #111111;\n    font-family: var(--km4-heading-font) !important;\n    font-size: clamp(37px, 3.8vw, 79px);\n    font-weight: 400;\n    line-height: 1.04;\n    letter-spacing: -.055em;\n  }\n\n  .kreze-method-v4 .km4-heading h2 strong {\n    color: inherit;\n    font-family: inherit !important;\n    font-weight: 700;\n  }\n\n  .kreze-method-v4 .km4-heading > p {\n    max-width: 425px;\n    margin: 0 0 39px;\n    color: #777777;\n    font-size: 16px;\n    font-weight: 400;\n    line-height: 1.6;\n  }\n\n  \/* NAVEGACI\u00d3N *\/\n\n  .kreze-method-v4 .km4-navigation {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n  }\n\n  .kreze-method-v4 .km4-tab {\n    appearance: none;\n    -webkit-appearance: none;\n    display: flex;\n    align-items: center;\n    width: 100%;\n    min-height: 63px;\n    gap: 17px;\n    padding: 17px 21px;\n    border: 1px solid #e8e8e8;\n    border-radius: 13px;\n    background: #f2f2f2;\n    color: #303030;\n    text-align: left;\n    font-family: \"Inter Tight\", sans-serif;\n    font-size: 15px;\n    font-weight: 500;\n    line-height: 1.3;\n    box-shadow: none;\n    cursor: pointer;\n    transition:\n      background .22s ease,\n      border-color .22s ease,\n      color .22s ease,\n      transform .22s ease;\n  }\n\n  .kreze-method-v4 .km4-tab:hover:not(.is-active) {\n    background: #e7e7e7;\n    border-color: #dddddd;\n    color: #111111;\n    transform: translateX(3px);\n  }\n\n  .kreze-method-v4 .km4-tab.is-active {\n    background: #111111;\n    border-color: #111111;\n    color: #ffffff;\n  }\n\n  .kreze-method-v4 .km4-tab:focus-visible {\n    outline: 3px solid #858585;\n    outline-offset: 3px;\n  }\n\n  .kreze-method-v4 .km4-tab-number {\n    flex: 0 0 25px;\n    color: #858585;\n    font-size: 12px;\n    font-weight: 700;\n    font-variant-numeric: tabular-nums;\n  }\n\n  .kreze-method-v4 .km4-tab.is-active .km4-tab-number {\n    color: #b9b9b9;\n  }\n\n  .kreze-method-v4 .km4-tab-label {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .kreze-method-v4 .km4-tab svg {\n    width: 17px;\n    height: 17px;\n    flex-shrink: 0;\n    opacity: .6;\n    transition: transform .22s ease, opacity .22s ease;\n  }\n\n  .kreze-method-v4 .km4-tab.is-active svg {\n    opacity: 1;\n  }\n\n  .kreze-method-v4 .km4-tab:hover svg {\n    transform: translate(2px, -2px);\n  }\n\n  \/* PROGRESO *\/\n\n  .kreze-method-v4 .km4-progress {\n    margin-top: 34px;\n  }\n\n  .kreze-method-v4 .km4-progress-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 12px;\n    color: #858585;\n    font-size: 10px;\n    font-weight: 600;\n    letter-spacing: .05em;\n  }\n\n  .kreze-method-v4 .km4-progress-head b {\n    color: #111111;\n    font-weight: 700;\n  }\n\n  .kreze-method-v4 .km4-progress-track {\n    width: 100%;\n    height: 3px;\n    overflow: hidden;\n    border-radius: 20px;\n    background: #e5e5e5;\n  }\n\n  .kreze-method-v4 .km4-progress-fill {\n    width: 20%;\n    height: 100%;\n    border-radius: inherit;\n    background: #111111;\n    transition: width .3s ease;\n  }\n\n  \/* PANEL DESKTOP *\/\n\n  .kreze-method-v4 .km4-right {\n    min-width: 0;\n    padding: 30px 29px;\n    overflow: hidden;\n    border: 1px solid #e5e5e5;\n    border-radius: 19px;\n    background: #f2f2f2;\n  }\n\n  .kreze-method-v4 .km4-scroll {\n    width: 100%;\n    height: 920px;\n    overflow-y: auto;\n    overflow-x: hidden;\n    overscroll-behavior-y: auto;\n    scroll-behavior: auto;\n    scrollbar-width: none;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .kreze-method-v4 .km4-scroll::-webkit-scrollbar {\n    display: none;\n    width: 0;\n    height: 0;\n  }\n\n  .kreze-method-v4 .km4-scroll:focus-visible {\n    outline: 2px solid #858585;\n    outline-offset: -2px;\n  }\n\n  \/* FASES *\/\n\n  .kreze-method-v4 .km4-phase {\n    margin: 0;\n    padding: 0 0 36px;\n    scroll-margin-top: 0;\n  }\n\n  .kreze-method-v4 .km4-phase h3 {\n    margin: 0 0 13px;\n    color: #111111;\n    font-family: var(--km4-heading-font) !important;\n    font-size: clamp(27px, 2.2vw, 35px);\n    font-weight: 600;\n    line-height: 1.15;\n    letter-spacing: -.045em;\n  }\n\n  .kreze-method-v4 .km4-phase > p {\n    max-width: 640px;\n    margin: 0 0 26px;\n    color: #696969;\n    font-family: \"Inter Tight\", sans-serif;\n    font-size: 16px;\n    font-weight: 400;\n    line-height: 1.55;\n  }\n\n  .kreze-method-v4 .km4-divider {\n    width: 100%;\n    height: 1px;\n    margin: 0 0 39px;\n    background: #dcdcdc;\n  }\n\n  \/* V\u00cdDEOS: VISIBLES SIN DEPENDER DE loadeddata *\/\n\n  .kreze-method-v4 .km4-video {\n    position: relative;\n    width: 100%;\n    aspect-ratio: 16 \/ 9;\n    overflow: hidden;\n    isolation: isolate;\n    border-radius: 12px;\n    background: #111111;\n    cursor: pointer;\n    touch-action: pan-y;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .kreze-method-v4 .km4-video video {\n    position: absolute;\n    inset: 0;\n    display: block;\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    max-height: none;\n    margin: 0;\n    padding: 0;\n    border: 0;\n    background: #111111;\n    object-fit: contain;\n    opacity: 1;\n    pointer-events: none;\n  }\n\n  .kreze-method-v4 .km4-video:focus-visible {\n    outline: 2px solid #111111;\n    outline-offset: 4px;\n  }\n\n  \/* TABLET *\/\n\n  @media (max-width: 1100px) {\n    .kreze-method-v4 {\n      padding: 58px 22px 68px;\n    }\n\n    .kreze-method-v4 .km4-layout {\n      grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);\n      gap: 28px;\n    }\n\n    .kreze-method-v4 .km4-heading h2 {\n      font-size: 42px;\n    }\n\n    .kreze-method-v4 .km4-heading > p {\n      font-size: 14px;\n      margin-bottom: 28px;\n    }\n\n    .kreze-method-v4 .km4-tab {\n      min-height: 57px;\n      padding: 14px;\n      gap: 10px;\n      font-size: 13px;\n    }\n\n    .kreze-method-v4 .km4-right {\n      padding: 22px 19px;\n    }\n\n    .kreze-method-v4 .km4-scroll {\n      height: 810px;\n    }\n\n    .kreze-method-v4 .km4-phase h3 {\n      font-size: 27px;\n    }\n\n    .kreze-method-v4 .km4-phase > p {\n      font-size: 14px;\n    }\n  }\n\n  \/* M\u00d3VIL: SCROLL NORMAL DE LA P\u00c1GINA *\/\n\n  @media (max-width: 767px) {\n    .kreze-method-v4 {\n      padding: 50px 15px 60px;\n    }\n\n    .kreze-method-v4 .km4-layout {\n      display: flex;\n      flex-direction: column;\n      gap: 25px;\n    }\n\n    .kreze-method-v4 .km4-left,\n    .kreze-method-v4 .km4-right {\n      width: 100%;\n    }\n\n    .kreze-method-v4 .km4-left-inner {\n      padding-top: 0;\n    }\n\n    .kreze-method-v4 .km4-heading h2 {\n      font-size: clamp(32px, 8vw, 43px);\n      margin-bottom: 13px;\n    }\n\n    .kreze-method-v4 .km4-heading > p {\n      margin-bottom: 21px;\n      font-size: 14px;\n      line-height: 1.5;\n    }\n\n    .kreze-method-v4 .km4-navigation {\n      flex-direction: row;\n      max-width: 100%;\n      gap: 9px;\n      padding-bottom: 5px;\n      overflow-x: auto;\n      overflow-y: hidden;\n      scroll-snap-type: x proximity;\n      scrollbar-width: none;\n      overscroll-behavior-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n\n    .kreze-method-v4 .km4-navigation::-webkit-scrollbar {\n      display: none;\n    }\n\n    .kreze-method-v4 .km4-tab {\n      flex: 0 0 auto;\n      width: auto;\n      min-width: 205px;\n      max-width: 245px;\n      min-height: 56px;\n      padding: 12px 14px;\n      border-radius: 10px;\n      font-size: 12px;\n      scroll-snap-align: start;\n    }\n\n    .kreze-method-v4 .km4-tab-number {\n      flex-basis: 20px;\n      font-size: 11px;\n    }\n\n    .kreze-method-v4 .km4-tab svg {\n      display: none;\n    }\n\n    .kreze-method-v4 .km4-progress {\n      margin-top: 14px;\n    }\n\n    .kreze-method-v4 .km4-right {\n      padding: 18px 16px;\n      border-radius: 15px;\n    }\n\n    .kreze-method-v4 .km4-right,\n    .kreze-method-v4 .km4-scroll {\n      height: auto !important;\n      min-height: 0 !important;\n      max-height: none !important;\n      overflow: visible !important;\n      overscroll-behavior: auto;\n    }\n\n    .kreze-method-v4 .km4-scroll {\n      padding-bottom: 0;\n    }\n\n    .kreze-method-v4 .km4-phase {\n      min-height: 0;\n      padding-bottom: 26px;\n      scroll-margin-top: var(--km4-mobile-offset);\n    }\n\n    .kreze-method-v4 .km4-phase:last-child {\n      padding-bottom: 0;\n      margin-bottom: 0;\n    }\n\n    .kreze-method-v4 .km4-phase h3 {\n      font-size: clamp(23px, 6vw, 29px);\n      margin-bottom: 11px;\n      line-height: 1.15;\n    }\n\n    .kreze-method-v4 .km4-phase > p {\n      font-size: 13px;\n      line-height: 1.52;\n      margin-bottom: 19px;\n    }\n\n    .kreze-method-v4 .km4-divider {\n      margin-bottom: 29px;\n    }\n\n    .kreze-method-v4 .km4-video {\n      border-radius: 9px;\n    }\n  }\n\n  @media (max-width: 380px) {\n    .kreze-method-v4 .km4-right {\n      padding: 15px 12px;\n    }\n\n    .kreze-method-v4 .km4-tab {\n      min-width: 190px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .kreze-method-v4 *,\n    .kreze-method-v4 *::before,\n    .kreze-method-v4 *::after {\n      scroll-behavior: auto !important;\n      transition: none !important;\n      animation: none !important;\n    }\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  function initMethod(root) {\n    if (!root || root.dataset.km4Corrected === \"true\") return;\n\n    const panel = root.querySelector(\".km4-scroll\");\n    const nav = root.querySelector(\".km4-navigation\");\n    const tabs = Array.from(root.querySelectorAll(\"[data-km4-target]\"));\n    const phases = Array.from(root.querySelectorAll(\"[data-km4-phase]\"));\n    const progress = root.querySelector(\".km4-progress-fill\");\n    const counter = root.querySelector(\"[data-km4-counter]\");\n\n    if (!panel || !phases.length) return;\n\n    root.dataset.km4Corrected = \"true\";\n\n    const mobile = window.matchMedia(\"(max-width: 767px)\");\n    const reduced = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\n    let active = -1;\n    let frame = null;\n    let navigatingUntil = 0;\n    let previouslyVisible = false;\n\n    function mobileOffset() {\n      return parseFloat(\n        getComputedStyle(root).getPropertyValue(\"--km4-mobile-offset\")\n      ) || 100;\n    }\n\n    function behavior() {\n      return reduced.matches ? \"auto\" : \"smooth\";\n    }\n\n    function setActive(index) {\n      index = Math.max(0, Math.min(index, phases.length - 1));\n      if (index === active) return;\n\n      active = index;\n\n      tabs.forEach(function (tab, i) {\n        const selected = i === index;\n        tab.classList.toggle(\"is-active\", selected);\n\n        if (selected) {\n          tab.setAttribute(\"aria-current\", \"step\");\n        } else {\n          tab.removeAttribute(\"aria-current\");\n        }\n      });\n\n      if (progress) {\n        progress.style.width =\n          ((index + 1) \/ phases.length * 100) + \"%\";\n      }\n\n      if (counter) {\n        counter.textContent = String(index + 1).padStart(2, \"0\");\n      }\n\n      if (mobile.matches && nav && tabs[index]) {\n        const tab = tabs[index];\n        const left =\n          tab.getBoundingClientRect().left -\n          nav.getBoundingClientRect().left +\n          nav.scrollLeft;\n\n        nav.scrollTo({\n          left: Math.max(\n            0,\n            left - (nav.clientWidth - tab.offsetWidth) \/ 2\n          ),\n          behavior: behavior()\n        });\n      }\n    }\n\n    function panelOffset(phase) {\n      return phase.getBoundingClientRect().top -\n        panel.getBoundingClientRect().top +\n        panel.scrollTop -\n        panel.clientTop;\n    }\n\n    tabs.forEach(function (tab, index) {\n      tab.addEventListener(\"click\", function () {\n        if (!phases[index]) return;\n\n        navigatingUntil = performance.now() +\n          (reduced.matches ? 0 : 900);\n\n        setActive(index);\n\n        if (mobile.matches) {\n          window.scrollTo({\n            top: Math.max(\n              0,\n              phases[index].getBoundingClientRect().top +\n              window.scrollY - mobileOffset()\n            ),\n            behavior: behavior()\n          });\n        } else {\n          panel.scrollTo({\n            top: panelOffset(phases[index]),\n            behavior: behavior()\n          });\n        }\n\n        setTimeout(schedule, reduced.matches ? 30 : 950);\n      });\n    });\n\n    function syncProgress() {\n      if (performance.now() < navigatingUntil) return;\n\n      let index = 0;\n\n      if (mobile.matches) {\n        const readingLine = mobileOffset() + 20;\n\n        phases.forEach(function (phase, i) {\n          if (phase.getBoundingClientRect().top <= readingLine) {\n            index = i;\n          }\n        });\n      } else {\n        const position = panel.scrollTop + 55;\n\n        phases.forEach(function (phase, i) {\n          if (panelOffset(phase) <= position) index = i;\n        });\n\n        if (\n          panel.scrollTop + panel.clientHeight >=\n          panel.scrollHeight - 4\n        ) {\n          index = phases.length - 1;\n        }\n      }\n\n      setActive(index);\n    }\n\n    \/* REPRODUCCI\u00d3N INDEPENDIENTE PARA CADA V\u00cdDEO *\/\n    const media = Array.from(\n      root.querySelectorAll(\".km4-video video\")\n    ).map(function (video) {\n      const wrapper = video.closest(\".km4-video\");\n\n      const item = {\n        video: video,\n        wrapper: wrapper,\n        pausedByUser: false,\n        manual: false,\n        pending: false,\n        lastAttempt: -Infinity\n      };\n\n      video.muted = true;\n      video.defaultMuted = true;\n      video.playsInline = true;\n      video.loop = true;\n      video.controls = false;\n      video.preload = \"auto\";\n      video.autoplay = !reduced.matches;\n\n      video.setAttribute(\"muted\", \"\");\n      video.setAttribute(\"playsinline\", \"\");\n      video.setAttribute(\"webkit-playsinline\", \"\");\n      video.removeAttribute(\"controls\");\n\n      if (reduced.matches) video.pause();\n\n      wrapper.tabIndex = 0;\n      wrapper.setAttribute(\"role\", \"button\");\n\n      function updateLabel() {\n        wrapper.setAttribute(\n          \"aria-label\",\n          (video.paused ? \"Reproducir: \" : \"Pausar: \") +\n          (video.getAttribute(\"aria-label\") || \"v\u00eddeo del proceso\")\n        );\n      }\n\n      function visible() {\n        const rect = wrapper.getBoundingClientRect();\n        let top = 0;\n        let bottom = window.innerHeight;\n\n        if (!mobile.matches) {\n          const panelRect = panel.getBoundingClientRect();\n          top = Math.max(top, panelRect.top);\n          bottom = Math.min(bottom, panelRect.bottom);\n        }\n\n        return bottom > top &&\n          rect.bottom > top &&\n          rect.top < bottom;\n      }\n\n      function allowed() {\n        return visible() &&\n          !document.hidden &&\n          !item.pausedByUser &&\n          (!reduced.matches || item.manual);\n      }\n\n      function play(force) {\n        if (!allowed() || item.pending || !video.paused) return;\n        if (video.error && !force) return;\n\n        const now = performance.now();\n        if (!force && now - item.lastAttempt < 1500) return;\n\n        item.lastAttempt = now;\n        item.pending = true;\n        video.muted = true;\n\n        if (force && video.error) video.load();\n\n        let attempt;\n\n        try {\n          attempt = video.play();\n        } catch (error) {\n          item.pending = false;\n          updateLabel();\n          return;\n        }\n\n        Promise.resolve(attempt).then(function () {\n          item.pending = false;\n          if (!allowed()) video.pause();\n          updateLabel();\n        }).catch(function () {\n          item.pending = false;\n          updateLabel();\n        });\n      }\n\n      item.sync = function () {\n        if (allowed()) {\n          play(false);\n        } else {\n          video.pause();\n        }\n      };\n\n      item.unlock = function () {\n        play(true);\n      };\n\n      function toggle() {\n        if (!video.paused || item.pending) {\n          item.pausedByUser = true;\n          video.autoplay = false;\n          video.pause();\n        } else {\n          item.pausedByUser = false;\n          item.manual = true;\n          play(true);\n        }\n\n        updateLabel();\n      }\n\n      wrapper.addEventListener(\"click\", toggle);\n\n      wrapper.addEventListener(\"keydown\", function (event) {\n        if (\n          event.target === wrapper &&\n          (event.key === \"Enter\" || event.key === \" \")\n        ) {\n          event.preventDefault();\n          toggle();\n        }\n      });\n\n      video.addEventListener(\"loadeddata\", schedule);\n      video.addEventListener(\"canplay\", schedule);\n\n      video.addEventListener(\"playing\", function () {\n        if (!allowed()) video.pause();\n        updateLabel();\n      });\n\n      video.addEventListener(\"pause\", updateLabel);\n      video.addEventListener(\"error\", updateLabel);\n\n      updateLabel();\n      return item;\n    });\n\n    function update() {\n      frame = null;\n      if (!root.isConnected) return;\n\n      syncProgress();\n\n      media.forEach(function (item) {\n        item.sync();\n      });\n\n      const rect = root.getBoundingClientRect();\n      const visible =\n        rect.bottom > 0 &&\n        rect.top < window.innerHeight;\n\n      \/* Reinicio original de desktop, sin mover la p\u00e1gina m\u00f3vil *\/\n      if (!mobile.matches && previouslyVisible && !visible) {\n        navigatingUntil = 0;\n        panel.scrollTop = 0;\n        setActive(0);\n      }\n\n      previouslyVisible = visible;\n    }\n\n    function schedule() {\n      if (frame !== null) return;\n      frame = requestAnimationFrame(update);\n    }\n\n    panel.addEventListener(\"scroll\", schedule, { passive: true });\n    window.addEventListener(\"scroll\", schedule, { passive: true });\n    window.addEventListener(\"resize\", schedule, { passive: true });\n    window.addEventListener(\"pageshow\", schedule);\n    document.addEventListener(\"visibilitychange\", schedule);\n\n    \/*\n     * Reintento tras una interacci\u00f3n real.\n     * No reanuda v\u00eddeos que el usuario haya pausado.\n     *\/\n    function unlockVisible(event) {\n      if (event.target.closest(\".km4-video\")) return;\n\n      media.forEach(function (item) {\n        item.unlock();\n      });\n    }\n\n    root.addEventListener(\"click\", unlockVisible);\n    root.addEventListener(\"touchend\", unlockVisible, { passive: true });\n\n    function changeLayout() {\n      panel.scrollTop = 0;\n      navigatingUntil = 0;\n\n      if (mobile.matches) {\n        panel.removeAttribute(\"tabindex\");\n      } else {\n        panel.setAttribute(\"tabindex\", \"0\");\n      }\n\n      schedule();\n    }\n\n    function changeMotion() {\n      media.forEach(function (item) {\n        item.manual = false;\n        item.video.autoplay =\n          !reduced.matches && !item.pausedByUser;\n      });\n\n      schedule();\n    }\n\n    if (mobile.addEventListener) {\n      mobile.addEventListener(\"change\", changeLayout);\n      reduced.addEventListener(\"change\", changeMotion);\n    } else {\n      mobile.addListener(changeLayout);\n      reduced.addListener(changeMotion);\n    }\n\n    if (\"IntersectionObserver\" in window) {\n      const observer = new IntersectionObserver(schedule, {\n        threshold: [0, 0.1, 0.5]\n      });\n\n      media.forEach(function (item) {\n        observer.observe(item.wrapper);\n      });\n    }\n\n    setActive(0);\n    changeLayout();\n  }\n\n  function initAll() {\n    document.querySelectorAll(\".kreze-method-v4\").forEach(initMethod);\n  }\n\n  initAll();\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initAll);\n  }\n\n  let elementorRegistered = false;\n\n  function registerElementor() {\n    if (\n      elementorRegistered ||\n      !window.elementorFrontend ||\n      !window.elementorFrontend.hooks\n    ) return;\n\n    elementorRegistered = true;\n\n    window.elementorFrontend.hooks.addAction(\n      \"frontend\/element_ready\/html.default\",\n      function ($scope) {\n        $scope[0]\n          .querySelectorAll(\".kreze-method-v4\")\n          .forEach(initMethod);\n      }\n    );\n  }\n\n  registerElementor();\n\n  if (window.jQuery) {\n    window.jQuery(window).on(\n      \"elementor\/frontend\/init\",\n      registerElementor\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-842878c e-con-full e-flex e-con e-parent\" data-id=\"842878c\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e0a7ce elementor-widget elementor-widget-html\" data-id=\"4e0a7ce\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kz-purpose\" aria-labelledby=\"kz-purpose-title\">\n  <div class=\"kz-purpose__background\" aria-hidden=\"true\"><\/div>\n  <div class=\"kz-purpose__shade\" aria-hidden=\"true\"><\/div>\n\n  <div class=\"kz-purpose__container\">\n    <!-- COLUMNA IZQUIERDA -->\n    <div class=\"kz-purpose__content\">\n      <h2 id=\"kz-purpose-title\" class=\"kz-purpose__title\">\n        Estrategia, implementaci\u00f3n y mejora\n        <strong>en un mismo lugar<\/strong>\n      <\/h2>\n\n      <p class=\"kz-purpose__text\">\n        Kreze nace del prop\u00f3sito de aportar humanidad, conocimientos\n        y resultados a los ecommerce que est\u00e1n cansados de tratar con\n        agencias vac\u00edas... consultores que no valoran ni sienten la\n        empresa para la que aplican sus estrategias, que no miran m\u00e1s\n        all\u00e1 ni entienden al cliente final.\n      <\/p>\n    <\/div>\n\n    <!-- COLUMNA DERECHA -->\n    <div class=\"kz-purpose__aside\">\n      <ol class=\"kz-purpose__list\" aria-label=\"Qu\u00e9 buscar en una agencia\">\n        <li class=\"kz-purpose__item\">\n          <span class=\"kz-purpose__number\" aria-hidden=\"true\">01<\/span>\n\n          <div class=\"kz-purpose__item-content\">\n            <h3 class=\"kz-purpose__item-title\">\n             Rentabilidad y transparencia total\n            <\/h3>\n\n            <p class=\"kz-purpose__item-text\">\n              Hablamos de tu margen de beneficio, CPA y LTV, no solo de seguidores.Tratamos tu marca como si fuera nuestra, poniendo foco en lo que de verdad importa. Hacer crecer tu negocio.\n            <\/p>\n          <\/div>\n        <\/li>\n\n        <li class=\"kz-purpose__item\">\n          <span class=\"kz-purpose__number\" aria-hidden=\"true\">02<\/span>\n\n          <div class=\"kz-purpose__item-content\">\n            <h3 class=\"kz-purpose__item-title\">\n              Tecnolog\u00eda y metodolog\u00eda a la vanguardia\n            <\/h3>\n\n            <p class=\"kz-purpose__item-text\">\n              Llevamos la tecnolog\u00eda al d\u00eda a d\u00eda de tu tienda online mediante una metodolog\u00eda propia apoyada en sistemas avanzados.\n            <\/p>\n          <\/div>\n        <\/li>\n\n        <li class=\"kz-purpose__item\">\n          <span class=\"kz-purpose__number\" aria-hidden=\"true\">03<\/span>\n\n          <div class=\"kz-purpose__item-content\">\n            <h3 class=\"kz-purpose__item-title\">\n              Hablamos el idioma de tu cliente\n            <\/h3>\n\n            <p class=\"kz-purpose__item-text\">\n              Entendemos a tu cliente para ofrecerle el valor y la comunicaci\u00f3n exacta que necesita. Nos involucramos en todos los \u00e1mbitos de tu proyecto, dando mejoras para ofrecer el mejor servicio posible.\n            <\/p>\n          <\/div>\n        <\/li>\n      <\/ol>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .kz-purpose {\n    --purpose-heading-font: \"Neue Montreal\", sans-serif;\n    --purpose-body-font: \"Manrope\", sans-serif;\n\n    position: relative;\n    isolation: isolate;\n    width: 100%;\n    overflow: hidden;\n    background: #111;\n    color: #fff;\n  }\n\n  .kz-purpose,\n  .kz-purpose * {\n    box-sizing: border-box;\n  }\n\n  \/* Fotograf\u00eda de fondo para toda la secci\u00f3n. *\/\n  .kz-purpose .kz-purpose__background {\n    position: absolute;\n    inset: 0;\n    z-index: -2;\n    pointer-events: none;\n    background-image: url(\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2026\/10\/Reunion-corporativa-en-sala-moderna.avif\");\n    background-size: cover;\n    background-position: center;\n    background-repeat: no-repeat;\n    filter: grayscale(1);\n  }\n\n  \/* Degradados oscuros y sombras suaves en los bordes. *\/\n  .kz-purpose .kz-purpose__shade {\n    position: absolute;\n    inset: 0;\n    z-index: -1;\n    pointer-events: none;\n    background:\n      linear-gradient(\n        180deg,\n        rgba(8, 8, 8, 0.48) 0%,\n        transparent 24%,\n        transparent 72%,\n        rgba(8, 8, 8, 0.75) 100%\n      ),\n      linear-gradient(\n        90deg,\n        rgba(8, 8, 8, 0.92) 0%,\n        rgba(8, 8, 8, 0.83) 43%,\n        rgba(8, 8, 8, 0.64) 67%,\n        rgba(8, 8, 8, 0.25) 100%\n      );\n    box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.22);\n  }\n\n  \/* Dos columnas: aproximadamente 66 % \/ 33 %. *\/\n  .kz-purpose .kz-purpose__container {\n    display: grid;\n    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);\n    align-items: center;\n    width: 100%;\n    max-width: 1680px;\n    margin-inline: auto;\n    padding: clamp(64px, 6vw, 100px) clamp(24px, 4vw, 64px);\n  }\n\n  .kz-purpose .kz-purpose__content {\n    min-width: 0;\n    padding-right: clamp(36px, 5vw, 88px);\n  }\n\n  .kz-purpose .kz-purpose__title {\n    max-width: 850px;\n    margin: 0 0 28px;\n    padding: 0;\n    color: #fff;\n    font-family: var(--purpose-heading-font);\n    font-size: clamp(38px, 4.6vw, 68px);\n    font-weight: 500;\n    font-style: normal;\n    line-height: 1.04;\n    letter-spacing: -0.045em;\n    text-transform: none;\n    text-wrap: balance;\n  }\n\n  .kz-purpose .kz-purpose__title strong {\n    color: inherit;\n    font-family: inherit;\n    font-size: inherit;\n    font-weight: 700;\n    font-style: normal;\n    text-transform: none;\n  }\n\n  .kz-purpose .kz-purpose__text {\n    max-width: 660px;\n    margin: 0;\n    padding: 0;\n    color: #e0e0e0;\n    font-family: var(--purpose-body-font);\n    font-size: clamp(15px, 1.25vw, 18px);\n    font-weight: 400;\n    font-style: normal;\n    line-height: 1.75;\n    letter-spacing: normal;\n    text-transform: none;\n  }\n\n  .kz-purpose .kz-purpose__aside {\n    position: relative;\n    isolation: isolate;\n    min-width: 0;\n  }\n\n  \/* Oscurecimiento difuminado detr\u00e1s de los puntos para dar contraste. *\/\n  .kz-purpose .kz-purpose__aside::before {\n    content: \"\";\n    position: absolute;\n    inset: -24px -16px;\n    z-index: -1;\n    pointer-events: none;\n    border-radius: 24px;\n    background: rgba(8, 8, 8, 0.62);\n    filter: blur(22px);\n  }\n\n  .kz-purpose .kz-purpose__list {\n    display: block;\n    margin: 0;\n    padding: 0;\n    list-style: none;\n  }\n\n  .kz-purpose .kz-purpose__item {\n    display: grid;\n    grid-template-columns: 32px minmax(0, 1fr);\n    align-items: start;\n    column-gap: 14px;\n    margin: 0;\n    padding: 20px 0;\n    border-top: 1px solid rgba(255, 255, 255, 0.18);\n    list-style: none;\n  }\n\n  .kz-purpose .kz-purpose__item:last-child {\n    padding-bottom: 0;\n  }\n\n  .kz-purpose .kz-purpose__number {\n    display: block;\n    padding-top: 1px;\n    color: rgba(255, 255, 255, 0.8);\n    font-family: var(--purpose-heading-font);\n    font-size: 27px;\n    font-weight: 400;\n    font-style: normal;\n    line-height: 1;\n    letter-spacing: -0.04em;\n    font-variant-numeric: tabular-nums;\n  }\n\n  .kz-purpose .kz-purpose__item-content {\n    min-width: 0;\n  }\n\n  .kz-purpose .kz-purpose__item-title {\n    margin: 0 0 8px;\n    padding: 0;\n    color: #fff;\n    font-family: var(--purpose-heading-font);\n    font-size: clamp(18px, 1.3vw, 21px);\n    font-weight: 700;\n    font-style: normal;\n    line-height: 1.2;\n    letter-spacing: -0.025em;\n    text-transform: none;\n  }\n\n  .kz-purpose .kz-purpose__item-text {\n    margin: 0;\n    padding: 0;\n    color: #d0d0d0;\n    font-family: var(--purpose-body-font);\n    font-size: 14px;\n    font-weight: 400;\n    font-style: normal;\n    line-height: 1.65;\n    letter-spacing: normal;\n    text-transform: none;\n  }\n\n  \/* Tablet: apilado para evitar una columna derecha demasiado estrecha. *\/\n  @media (max-width: 1024px) {\n    .kz-purpose .kz-purpose__container {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 40px;\n      padding: 64px 32px;\n    }\n\n    .kz-purpose .kz-purpose__content {\n      padding-right: 0;\n    }\n\n    .kz-purpose .kz-purpose__aside {\n      width: 100%;\n      max-width: 720px;\n    }\n\n    .kz-purpose .kz-purpose__shade {\n      background:\n        linear-gradient(\n          180deg,\n          rgba(8, 8, 8, 0.84) 0%,\n          rgba(8, 8, 8, 0.74) 45%,\n          rgba(8, 8, 8, 0.92) 100%\n        );\n    }\n\n    .kz-purpose .kz-purpose__aside::before {\n      display: none;\n    }\n  }\n\n  \/* M\u00f3vil: tipograf\u00eda y espacios compactos. *\/\n  @media (max-width: 767px) {\n    .kz-purpose .kz-purpose__container {\n      gap: 30px;\n      padding: 48px 22px;\n    }\n\n    .kz-purpose .kz-purpose__title {\n      margin-bottom: 20px;\n      font-size: clamp(30px, 8vw, 42px);\n      line-height: 1.08;\n      letter-spacing: -0.035em;\n    }\n\n    .kz-purpose .kz-purpose__text {\n      max-width: 100%;\n      font-size: 14px;\n      line-height: 1.7;\n    }\n\n    .kz-purpose .kz-purpose__background {\n      background-position: 60% center;\n    }\n\n    .kz-purpose .kz-purpose__item {\n      grid-template-columns: 28px minmax(0, 1fr);\n      column-gap: 12px;\n      padding: 20px 0;\n    }\n\n    .kz-purpose .kz-purpose__item:last-child {\n      padding-bottom: 0;\n    }\n\n    .kz-purpose .kz-purpose__number {\n      font-size: 24px;\n    }\n\n    .kz-purpose .kz-purpose__item-title {\n      margin-bottom: 8px;\n      font-size: 18px;\n      line-height: 1.25;\n    }\n\n    .kz-purpose .kz-purpose__item-text {\n      font-size: 13px;\n      line-height: 1.7;\n    }\n  }\n<\/style>\n<style>\n  \/* Ajusta exclusivamente el widget que contiene esta secci\u00f3n. *\/\n  .elementor-widget-html:has(.kz-purpose),\n  .elementor-widget-html:has(.kz-purpose) > .elementor-widget-container {\n    width: 100%;\n    max-width: 100%;\n    min-width: 0;\n  }\n\n  .kz-purpose {\n    position: relative;\n    display: block;\n    box-sizing: border-box;\n    width: 100%;\n    max-width: none;\n    min-width: 0;\n    margin: 0;\n    overflow: hidden;\n  }\n\n  .kz-purpose .kz-purpose__container {\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 1680px;\n    min-width: 0;\n    margin-inline: auto;\n  }\n\n  .kz-purpose .kz-purpose__content,\n  .kz-purpose .kz-purpose__aside,\n  .kz-purpose .kz-purpose__item-content {\n    min-width: 0;\n  }\n<\/style>\n\n<script>\n(function () {\n  const script = document.currentScript;\n  const widget = script && script.closest(\".elementor-widget-html\");\n\n  const section = widget\n    ? widget.querySelector(\".kz-purpose\")\n    : script && script.previousElementSibling &&\n      script.previousElementSibling.previousElementSibling;\n\n  const target = section && section.matches(\".kz-purpose\")\n    ? section\n    : document.querySelector(\".kz-purpose\");\n\n  if (!target || target.dataset.kzWidthReady === \"true\") return;\n  target.dataset.kzWidthReady = \"true\";\n\n  let frame = 0;\n  let lastViewportWidth = 0;\n\n  function fitSection() {\n    frame = 0;\n    if (!target.isConnected) return;\n\n    \/* Mide primero su posici\u00f3n natural dentro de Elementor. *\/\n    target.style.width = \"100%\";\n    target.style.marginLeft = \"0\";\n    target.style.marginRight = \"0\";\n\n    const viewportWidth = document.documentElement.clientWidth;\n    const left = target.getBoundingClientRect().left;\n\n    if (!viewportWidth || !target.getClientRects().length) return;\n\n    \/* Extiende solo esta secci\u00f3n hasta ambos bordes de la ventana. *\/\n    target.style.width = viewportWidth + \"px\";\n    target.style.marginLeft = -left + \"px\";\n    target.style.marginRight = \"0\";\n\n    lastViewportWidth = viewportWidth;\n  }\n\n  function scheduleFit() {\n    if (frame) return;\n    frame = requestAnimationFrame(fitSection);\n  }\n\n  scheduleFit();\n\n  window.addEventListener(\"resize\", scheduleFit, { passive: true });\n  window.addEventListener(\"load\", scheduleFit, { once: true });\n\n  if (\"ResizeObserver\" in window) {\n    const observer = new ResizeObserver(function () {\n      if (document.documentElement.clientWidth !== lastViewportWidth) {\n        scheduleFit();\n      }\n    });\n\n    observer.observe(document.documentElement);\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-8aa7c7c e-con-full e-flex e-con e-parent\" data-id=\"8aa7c7c\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f7297d7 elementor-widget elementor-widget-html\" data-id=\"f7297d7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<!-- ==========================================================\r\n KREZE CONSULTING \u2014 CALCULADORA V5\r\n WordPress + Elementor Pro\r\n C\u00f3digo completo responsive \u00b7 HTML + CSS + JavaScript\r\n ========================================================== -->\r\n\r\n<section class=\"kz5\" id=\"calculadora-kreze\">\r\n  <div class=\"kz5-container\">\r\n\r\n    <!-- ENCABEZADO -->\r\n    <header class=\"kz5-header\">\r\n      <span class=\"kz5-eyebrow\">\r\n        KREZE\u00ae \r\n      <\/span>\r\n\r\n      <h2>\r\n        Calcula cu\u00e1nto podr\u00edas\r\n        <strong> facturar con Kreze<\/strong> \r\n      <\/h2>\r\n\r\n      <p>\r\n        Descubre el impacto de mejorar tus m\u00e9tricas\r\n        sin aumentar el tr\u00e1fico de tu ecommerce.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- CALCULADORA -->\r\n    <div class=\"kz5-calculator\">\r\n\r\n      <!-- CONTROLES -->\r\n      <div class=\"kz5-inputs\">\r\n\r\n        <div class=\"kz5-column-header\">\r\n          <span>01 \/ TU NEGOCIO<\/span>\r\n          <span>AJUSTA LAS M\u00c9TRICAS<\/span>\r\n        <\/div>\r\n\r\n        <!-- SESIONES MENSUALES -->\r\n        <div class=\"kz5-control\">\r\n          <div class=\"kz5-control-header\">\r\n            <label for=\"kz5-sessions\">\r\n              <span class=\"kz5-icon\">\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\"\r\n                     stroke=\"currentColor\" stroke-width=\"1.7\"\r\n                     stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n                     aria-hidden=\"true\">\r\n                  <circle cx=\"9\" cy=\"8\" r=\"3\"\/>\r\n                  <path d=\"M3 19v-2a6 6 0 0 1 12 0v2M16 6a3 3 0 0 1 0 6M17 14a5 5 0 0 1 4 5\"\/>\r\n                <\/svg>\r\n              <\/span>\r\n              Sesiones al mes\r\n            <\/label>\r\n            <output data-out=\"sessions\">42.000<\/output>\r\n          <\/div>\r\n\r\n          <input id=\"kz5-sessions\" type=\"range\"\r\n                 min=\"1000\" max=\"200000\" step=\"1000\"\r\n                 value=\"42000\" data-field=\"sessions\">\r\n        <\/div>\r\n\r\n        <!-- CONVERSIONES -->\r\n        <div class=\"kz5-two-columns\">\r\n\r\n          <div class=\"kz5-control\">\r\n            <div class=\"kz5-control-header\">\r\n              <label for=\"kz5-cr-current\">\r\n                <span class=\"kz5-icon\">%<\/span>\r\n                Conversi\u00f3n actual\r\n              <\/label>\r\n              <output data-out=\"crCurrent\">1,1%<\/output>\r\n            <\/div>\r\n\r\n            <input id=\"kz5-cr-current\" type=\"range\"\r\n                   min=\"0.1\" max=\"10\" step=\"0.1\"\r\n                   value=\"1.1\" data-field=\"crCurrent\">\r\n          <\/div>\r\n\r\n          <div class=\"kz5-control\">\r\n            <div class=\"kz5-control-header\">\r\n              <label for=\"kz5-cr-target\">\r\n                <span class=\"kz5-icon\">%<\/span>\r\n                Conversi\u00f3n objetivo\r\n              <\/label>\r\n              <output data-out=\"crTarget\">2,2%<\/output>\r\n            <\/div>\r\n\r\n            <input id=\"kz5-cr-target\" type=\"range\"\r\n                   min=\"0.1\" max=\"10\" step=\"0.1\"\r\n                   value=\"2.2\" data-field=\"crTarget\">\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- TICKETS MEDIOS -->\r\n        <div class=\"kz5-two-columns\">\r\n\r\n          <div class=\"kz5-control\">\r\n            <div class=\"kz5-control-header\">\r\n              <label for=\"kz5-aov-current\">\r\n                <span class=\"kz5-icon\">\u20ac<\/span>\r\n                Ticket actual\r\n              <\/label>\r\n              <output data-out=\"aovCurrent\">62\u20ac<\/output>\r\n            <\/div>\r\n\r\n            <input id=\"kz5-aov-current\" type=\"range\"\r\n                   min=\"5\" max=\"500\" step=\"1\"\r\n                   value=\"62\" data-field=\"aovCurrent\">\r\n          <\/div>\r\n\r\n          <div class=\"kz5-control\">\r\n            <div class=\"kz5-control-header\">\r\n              <label for=\"kz5-aov-target\">\r\n                <span class=\"kz5-icon\">\u20ac<\/span>\r\n                Ticket objetivo\r\n              <\/label>\r\n              <output data-out=\"aovTarget\">70\u20ac<\/output>\r\n            <\/div>\r\n\r\n            <input id=\"kz5-aov-target\" type=\"range\"\r\n                   min=\"5\" max=\"500\" step=\"1\"\r\n                   value=\"70\" data-field=\"aovTarget\">\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <div class=\"kz5-info\">\r\n          <span class=\"kz5-info-icon\" aria-hidden=\"true\">i<\/span>\r\n          Los resultados se actualizan autom\u00e1ticamente.\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n      <!-- RESULTADOS -->\r\n      <div class=\"kz5-results\">\r\n\r\n        <!-- TARJETA NEGRA -->\r\n        <div class=\"kz5-main-result\">\r\n\r\n          <div class=\"kz5-result-label\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"\r\n                 stroke=\"currentColor\" stroke-width=\"1.8\"\r\n                 stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n                 aria-hidden=\"true\">\r\n              <path d=\"m3 17 6-6 4 4 8-9\"\/>\r\n              <path d=\"M15 6h6v6\"\/>\r\n            <\/svg>\r\n            FACTURACI\u00d3N MENSUAL OBJETIVO\r\n          <\/div>\r\n\r\n          <div class=\"kz5-result-number\" data-result=\"target\">\r\n            64.680\u20ac\r\n          <\/div>\r\n\r\n          <p>\r\n            Facturaci\u00f3n estimada seg\u00fan tus objetivos\r\n            de conversi\u00f3n y ticket medio.\r\n          <\/p>\r\n\r\n          <div class=\"kz5-comparison\">\r\n            <div>\r\n              <span>Facturaci\u00f3n actual<\/span>\r\n              <strong data-result=\"current\">28.644\u20ac<\/strong>\r\n            <\/div>\r\n\r\n            <div>\r\n              <span>Facturaci\u00f3n objetivo<\/span>\r\n              <strong data-result=\"targetSmall\">64.680\u20ac<\/strong>\r\n            <\/div>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- OPORTUNIDAD ANUAL -->\r\n        <div class=\"kz5-opportunity\">\r\n\r\n          <div class=\"kz5-opportunity-text\">\r\n            <span>\u2197 OPORTUNIDAD ANUAL<\/span>\r\n            <p data-result=\"message\">\r\n              Facturaci\u00f3n adicional potencial\r\n            <\/p>\r\n          <\/div>\r\n\r\n          <strong data-result=\"yearly\" aria-live=\"polite\">\r\n            +432.432\u20ac\r\n          <\/strong>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- FOOTER: COPY + AVISO + CTA -->\r\n    <div class=\"kz5-footer\">\r\n\r\n      <div class=\"kz5-footer-copy\">\r\n        <p class=\"kz5-footer-main\">\r\n          Los n\u00fameros muestran la oportunidad.\r\n          <strong>Nosotros dise\u00f1amos la estrategia.<\/strong>\r\n        <\/p>\r\n\r\n        <p class=\"kz5-disclaimer\">\r\n          Simulaci\u00f3n orientativa de facturaci\u00f3n bruta, no de beneficios.\r\n          Los resultados reales pueden variar.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <a class=\"kz5-button\" href=\"#contacto\">\r\n        Hablemos de tu crecimiento\r\n\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\"\r\n             stroke=\"currentColor\" stroke-width=\"1.8\"\r\n             stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n             aria-hidden=\"true\">\r\n          <path d=\"M5 19 19 5M8 5h11v11\"\/>\r\n        <\/svg>\r\n      <\/a>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter+Tight:wght@400;500;600;700&display=swap');\r\n\r\n\/* ==========================================================\r\n   CONFIGURACI\u00d3N GLOBAL\r\n   ========================================================== *\/\r\n\r\n.kz5 {\r\n  --kz-black: #111111;\r\n  --kz-dark: #303030;\r\n  --kz-gray: #858585;\r\n  --kz-light: #F2F2F2;\r\n  --kz-track: #D7D7D7;\r\n\r\n  width: 100%;\r\n  background: #FFFFFF;\r\n  color: #111111;\r\n  font-family: 'Inter Tight', sans-serif;\r\n\r\n  padding: 45px 28px 12px;\r\n  margin: 0;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.kz5 *,\r\n.kz5 *::before,\r\n.kz5 *::after {\r\n  box-sizing: border-box;\r\n}\r\n\r\n.kz5-container {\r\n  max-width: 1320px;\r\n  margin: 0 auto;\r\n}\r\n\r\n\/* ==========================================================\r\n   ENCABEZADO\r\n   ========================================================== *\/\r\n\r\n.kz5-header {\r\n  text-align: center;\r\n\r\n  \/* M\u00c1S ESPACIO ANTES DE LA CALCULADORA *\/\r\n  margin-bottom: 55px;\r\n}\r\n\r\n.kz5-eyebrow {\r\n  display: block;\r\n  font-size: 12px;\r\n  color: #858585;\r\n  font-weight: 600;\r\n  letter-spacing: 1.1px;\r\n  margin-bottom: 12px;\r\n}\r\n\r\n.kz5-header h2 {\r\n  font-family: inherit;\r\n  margin: 0;\r\n  color: #111111;\r\n  font-size: clamp(32px, 3.2vw, 72px);\r\n  line-height: 1.12;\r\n  font-weight: 400;\r\n  letter-spacing: -.045em;\r\n}\r\n\r\n.kz5-header h2 strong {\r\n  font-weight: 700;\r\n}\r\n\r\n.kz5-header p {\r\n  color: #858585;\r\n  font-size: 16px;\r\n  line-height: 1.5;\r\n  margin: 11px 0 0;\r\n}\r\n\r\n\/* ==========================================================\r\n   PANEL CALCULADORA\r\n   ========================================================== *\/\r\n\r\n.kz5-calculator {\r\n  display: grid;\r\n  grid-template-columns: 1.08fr .92fr;\r\n  gap: 26px;\r\n  padding: 25px;\r\n\r\n  background: #FAFAFA;\r\n  border: 1px solid #E5E5E5;\r\n  border-radius: 25px;\r\n\r\n  align-items: stretch;\r\n}\r\n\r\n\/* ==========================================================\r\n   CONTROLES\r\n   ========================================================== *\/\r\n\r\n.kz5-inputs {\r\n  padding: 10px 6px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: space-around;\r\n  gap: 30px;\r\n  min-width: 0;\r\n}\r\n\r\n.kz5-column-header {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  gap: 15px;\r\n\r\n  color: #858585;\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  letter-spacing: .06em;\r\n}\r\n\r\n.kz5-two-columns {\r\n  display: grid;\r\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\r\n  gap: 25px;\r\n}\r\n\r\n.kz5-control {\r\n  min-width: 0;\r\n}\r\n\r\n.kz5-control-header {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 12px;\r\n  margin-bottom: 18px;\r\n}\r\n\r\n.kz5-control-header label {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  font-size: 15px;\r\n  font-weight: 500;\r\n  color: #505050;\r\n  line-height: 1.3;\r\n}\r\n\r\n.kz5-control-header output {\r\n  font-size: 16px;\r\n  font-weight: 700;\r\n  color: #111111;\r\n  white-space: nowrap;\r\n  font-variant-numeric: tabular-nums;\r\n}\r\n\r\n.kz5-icon {\r\n  width: 29px;\r\n  height: 29px;\r\n  background: #EAEAEA;\r\n  border-radius: 8px;\r\n\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n\r\n  flex-shrink: 0;\r\n  font-size: 15px;\r\n  font-weight: 600;\r\n  color: #555555;\r\n}\r\n\r\n.kz5-icon svg {\r\n  width: 18px;\r\n  height: 18px;\r\n}\r\n\r\n\/* ==========================================================\r\n   SLIDERS SIN BORDE NEGRO EN LA ZONA GRIS\r\n   ========================================================== *\/\r\n\r\n.kz5 input[type=\"range\"] {\r\n  --fill: 0%;\r\n\r\n  -webkit-appearance: none !important;\r\n  appearance: none !important;\r\n\r\n  display: block;\r\n  width: 100%;\r\n  height: 6px;\r\n\r\n  margin: 0;\r\n  padding: 0;\r\n\r\n  border: none !important;\r\n  border-radius: 100px !important;\r\n  box-shadow: none !important;\r\n\r\n  background: linear-gradient(\r\n    to right,\r\n    #111111 0%,\r\n    #111111 var(--fill),\r\n    #D7D7D7 var(--fill),\r\n    #D7D7D7 100%\r\n  ) !important;\r\n\r\n  outline: none;\r\n  cursor: pointer;\r\n  touch-action: pan-y;\r\n}\r\n\r\n.kz5 input[type=\"range\"]::-webkit-slider-runnable-track {\r\n  height: 6px;\r\n  border: none !important;\r\n  border-radius: 100px;\r\n  box-shadow: none !important;\r\n  background: transparent !important;\r\n}\r\n\r\n.kz5 input[type=\"range\"]::-webkit-slider-thumb {\r\n  -webkit-appearance: none !important;\r\n  appearance: none !important;\r\n\r\n  width: 23px;\r\n  height: 23px;\r\n  margin-top: -8.5px;\r\n\r\n  background: #FFFFFF !important;\r\n  border: 2px solid #111111 !important;\r\n  border-radius: 50% !important;\r\n\r\n  box-shadow: 0 2px 7px rgba(0,0,0,.12) !important;\r\n  cursor: grab;\r\n}\r\n\r\n.kz5 input[type=\"range\"]::-moz-range-track {\r\n  height: 6px;\r\n  background: transparent !important;\r\n  border: none !important;\r\n  border-radius: 100px;\r\n  box-shadow: none !important;\r\n}\r\n\r\n.kz5 input[type=\"range\"]::-moz-range-progress {\r\n  height: 6px;\r\n  background: transparent;\r\n  border: none;\r\n}\r\n\r\n.kz5 input[type=\"range\"]::-moz-range-thumb {\r\n  width: 19px;\r\n  height: 19px;\r\n\r\n  background: #FFFFFF !important;\r\n  border: 2px solid #111111 !important;\r\n  border-radius: 50% !important;\r\n\r\n  box-shadow: 0 2px 7px rgba(0,0,0,.12);\r\n  cursor: grab;\r\n}\r\n\r\n.kz5 input[type=\"range\"]:active::-webkit-slider-thumb {\r\n  cursor: grabbing;\r\n}\r\n\r\n.kz5 input[type=\"range\"]:focus-visible {\r\n  outline: 2px solid #858585;\r\n  outline-offset: 9px;\r\n}\r\n\r\n\/* ==========================================================\r\n   NOTA INFERIOR DE CONTROLES\r\n   ========================================================== *\/\r\n\r\n.kz5-info {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 9px;\r\n  font-size: 13px;\r\n  color: #858585;\r\n  margin-top: 2px;\r\n}\r\n\r\n.kz5-info-icon {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  width: 19px;\r\n  height: 19px;\r\n\r\n  border: 1px solid #999999;\r\n  border-radius: 50%;\r\n\r\n  flex-shrink: 0;\r\n  font-size: 12px;\r\n}\r\n\r\n\/* ==========================================================\r\n   RESULTADOS\r\n   ========================================================== *\/\r\n\r\n.kz5-results {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 13px;\r\n  min-width: 0;\r\n}\r\n\r\n\/* TARJETA PRINCIPAL *\/\r\n\r\n.kz5-main-result {\r\n  background: #111111;\r\n  color: #FFFFFF;\r\n  border-radius: 21px;\r\n  text-align: center;\r\n\r\n  padding: 35px 32px 28px;\r\n  flex: 1;\r\n\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n}\r\n\r\n.kz5-result-label {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 9px;\r\n\r\n  color: #C0C0C0;\r\n  font-size: 12px;\r\n  letter-spacing: .035em;\r\n  font-weight: 700;\r\n}\r\n\r\n.kz5-result-label svg {\r\n  width: 17px;\r\n  height: 17px;\r\n}\r\n\r\n.kz5-result-number {\r\n  font-size: clamp(48px, 5.2vw, 77px);\r\n  font-weight: 700;\r\n  line-height: 1.05;\r\n  letter-spacing: -.055em;\r\n\r\n  margin: 18px 0 12px;\r\n  font-variant-numeric: tabular-nums;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.kz5-main-result p {\r\n  font-size: 15px;\r\n  color: #B2B2B2;\r\n  line-height: 1.5;\r\n  max-width: 360px;\r\n  margin: 0 auto;\r\n}\r\n\r\n.kz5-comparison {\r\n  display: flex;\r\n  justify-content: center;\r\n  gap: 35px;\r\n  flex-wrap: wrap;\r\n  margin-top: 30px;\r\n}\r\n\r\n.kz5-comparison div {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 6px;\r\n}\r\n\r\n.kz5-comparison span {\r\n  color: #858585;\r\n  font-size: 12px;\r\n}\r\n\r\n.kz5-comparison strong {\r\n  font-size: 17px;\r\n  color: #FFFFFF;\r\n  font-weight: 600;\r\n}\r\n\r\n\/* ==========================================================\r\n   OPORTUNIDAD ANUAL\r\n   ========================================================== *\/\r\n\r\n.kz5-opportunity {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 18px;\r\n\r\n  background: #EAEAEA;\r\n  border: 1px solid #DDDDDD;\r\n  border-radius: 17px;\r\n\r\n  padding: 23px 25px;\r\n}\r\n\r\n.kz5-opportunity-text {\r\n  min-width: 0;\r\n}\r\n\r\n.kz5-opportunity-text span {\r\n  display: block;\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  color: #444444;\r\n  letter-spacing: .02em;\r\n}\r\n\r\n.kz5-opportunity-text p {\r\n  margin: 6px 0 0;\r\n  font-size: 13px;\r\n  color: #858585;\r\n  line-height: 1.35;\r\n}\r\n\r\n.kz5-opportunity > strong {\r\n  font-size: clamp(27px, 3vw, 42px);\r\n  color: #111111;\r\n  font-weight: 700;\r\n  letter-spacing: -.045em;\r\n  white-space: nowrap;\r\n  font-variant-numeric: tabular-nums;\r\n}\r\n\r\n\/* ==========================================================\r\n   FOOTER CON M\u00c1S AIRE\r\n   ========================================================== *\/\r\n\r\n.kz5-footer {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 30px;\r\n\r\n  \/* ESPACIO AUMENTADO: 23px -> 48px *\/\r\n  margin-top: 48px;\r\n  margin-bottom: 0;\r\n}\r\n\r\n.kz5-footer-copy {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: flex-start;\r\n  gap: 7px;\r\n  min-width: 0;\r\n}\r\n\r\n.kz5-footer-main {\r\n  font-size: 15px;\r\n  color: #858585;\r\n  line-height: 1.45;\r\n  margin: 0 !important;\r\n}\r\n\r\n.kz5-footer-main strong {\r\n  color: #111111;\r\n  font-weight: 600;\r\n}\r\n\r\n.kz5-disclaimer {\r\n  text-align: left;\r\n  font-size: 11px;\r\n  font-weight: 400;\r\n  color: #999999;\r\n  line-height: 1.4;\r\n  margin: 0 !important;\r\n}\r\n\r\n\/* BOT\u00d3N *\/\r\n\r\n.kz5-button {\r\n  display: inline-flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 17px;\r\n  flex-shrink: 0;\r\n\r\n  background: #111111;\r\n  color: #FFFFFF !important;\r\n  text-decoration: none !important;\r\n  border-radius: 100px;\r\n\r\n  padding: 17px 23px;\r\n  font-size: 14px;\r\n  font-weight: 600;\r\n  white-space: nowrap;\r\n\r\n  transition:\r\n    background .25s ease,\r\n    transform .25s ease;\r\n}\r\n\r\n.kz5-button svg {\r\n  width: 18px;\r\n  height: 18px;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.kz5-button:hover {\r\n  background: #303030;\r\n  color: #FFFFFF !important;\r\n  transform: translateY(-2px);\r\n}\r\n\r\n.kz5-button:focus-visible {\r\n  outline: 3px solid #858585;\r\n  outline-offset: 3px;\r\n}\r\n\r\n\/* ==========================================================\r\n   TABLET\r\n   ========================================================== *\/\r\n\r\n@media (max-width: 1050px) {\r\n\r\n  .kz5 {\r\n    padding: 38px 20px 12px;\r\n  }\r\n\r\n  .kz5-header {\r\n    margin-bottom: 43px;\r\n  }\r\n\r\n  .kz5-calculator {\r\n    gap: 18px;\r\n    padding: 18px;\r\n  }\r\n\r\n  .kz5-control-header label {\r\n    font-size: 12px;\r\n  }\r\n\r\n  .kz5-control-header output {\r\n    font-size: 13px;\r\n  }\r\n\r\n  .kz5-two-columns {\r\n    gap: 16px;\r\n  }\r\n\r\n  .kz5-inputs {\r\n    gap: 26px;\r\n  }\r\n\r\n  .kz5-result-number {\r\n    font-size: clamp(39px, 5vw, 61px);\r\n  }\r\n\r\n  .kz5-opportunity {\r\n    padding: 19px;\r\n  }\r\n\r\n  .kz5-opportunity > strong {\r\n    font-size: 28px;\r\n  }\r\n\r\n  .kz5-footer {\r\n    margin-top: 38px;\r\n  }\r\n\r\n  .kz5-footer-main {\r\n    font-size: 13px;\r\n  }\r\n\r\n}\r\n\r\n\/* ==========================================================\r\n   MOBILE\r\n   ========================================================== *\/\r\n\r\n@media (max-width: 767px) {\r\n\r\n  .kz5 {\r\n    padding: 35px 15px 10px;\r\n  }\r\n\r\n  .kz5-header {\r\n    margin-bottom: 32px;\r\n  }\r\n\r\n  .kz5-eyebrow {\r\n    font-size: 10px;\r\n  }\r\n\r\n  .kz5-header h2 {\r\n    font-size: clamp(29px, 7vw, 39px);\r\n  }\r\n\r\n  .kz5-header p {\r\n    font-size: 14px;\r\n    max-width: 350px;\r\n    margin: 10px auto 0;\r\n  }\r\n\r\n  .kz5-calculator {\r\n    grid-template-columns: 1fr;\r\n    gap: 24px;\r\n    padding: 20px;\r\n    border-radius: 20px;\r\n  }\r\n\r\n  .kz5-inputs {\r\n    padding: 4px 0;\r\n    gap: 31px;\r\n  }\r\n\r\n  .kz5-column-header {\r\n    font-size: 10px;\r\n  }\r\n\r\n  .kz5-two-columns {\r\n    gap: 18px;\r\n  }\r\n\r\n  .kz5-control-header {\r\n    align-items: flex-start;\r\n    gap: 8px;\r\n  }\r\n\r\n  .kz5-control-header label {\r\n    font-size: 12px;\r\n  }\r\n\r\n  .kz5-control-header output {\r\n    font-size: 12px;\r\n  }\r\n\r\n  .kz5-icon {\r\n    width: 23px;\r\n    height: 23px;\r\n    font-size: 12px;\r\n  }\r\n\r\n  .kz5-info {\r\n    font-size: 12px;\r\n  }\r\n\r\n  .kz5-main-result {\r\n    padding: 29px 17px;\r\n    min-height: 260px;\r\n  }\r\n\r\n  .kz5-result-label {\r\n    font-size: 10px;\r\n  }\r\n\r\n  .kz5-result-number {\r\n    font-size: clamp(42px, 11vw, 65px);\r\n  }\r\n\r\n  .kz5-main-result p {\r\n    font-size: 13px;\r\n  }\r\n\r\n  .kz5-comparison {\r\n    margin-top: 24px;\r\n    gap: 20px;\r\n  }\r\n\r\n  .kz5-comparison span {\r\n    font-size: 11px;\r\n  }\r\n\r\n  .kz5-comparison strong {\r\n    font-size: 15px;\r\n  }\r\n\r\n  .kz5-opportunity {\r\n    padding: 19px;\r\n  }\r\n\r\n  .kz5-opportunity > strong {\r\n    font-size: clamp(23px, 6.4vw, 33px);\r\n  }\r\n\r\n  .kz5-opportunity-text span {\r\n    font-size: 10px;\r\n  }\r\n\r\n  .kz5-opportunity-text p {\r\n    font-size: 11px;\r\n  }\r\n\r\n  \/* ESPACIO INFERIOR EN MOBILE *\/\r\n  .kz5-footer {\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    gap: 17px;\r\n    margin-top: 30px;\r\n  }\r\n\r\n  .kz5-footer-copy {\r\n    align-items: flex-start;\r\n    text-align: left;\r\n    gap: 6px;\r\n  }\r\n\r\n  .kz5-footer-main {\r\n    font-size: 13px;\r\n  }\r\n\r\n  .kz5-disclaimer {\r\n    font-size: 10px;\r\n    text-align: left;\r\n  }\r\n\r\n  .kz5-button {\r\n    width: 100%;\r\n    min-height: 48px;\r\n  }\r\n\r\n}\r\n\r\n\/* ==========================================================\r\n   M\u00d3VILES ESTRECHOS\r\n   ========================================================== *\/\r\n\r\n@media (max-width: 390px) {\r\n\r\n  .kz5-two-columns {\r\n    grid-template-columns: 1fr;\r\n    gap: 25px;\r\n  }\r\n\r\n  .kz5-opportunity {\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n    gap: 10px;\r\n  }\r\n\r\n  .kz5-opportunity > strong {\r\n    font-size: 30px;\r\n  }\r\n\r\n}\r\n\r\n\/* ==========================================================\r\n   MOVIMIENTO REDUCIDO\r\n   ========================================================== *\/\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n  .kz5 *,\r\n  .kz5 *::before,\r\n  .kz5 *::after {\r\n    transition: none !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  \"use strict\";\r\n\r\n  function initKrezeCalculatorV5(root) {\r\n\r\n    if (!root || root.dataset.kz5Init === \"true\") return;\r\n\r\n    const fields = {};\r\n\r\n    root.querySelectorAll(\"[data-field]\").forEach(function(input) {\r\n      fields[input.dataset.field] = input;\r\n    });\r\n\r\n    const required = [\r\n      \"sessions\",\r\n      \"crCurrent\",\r\n      \"crTarget\",\r\n      \"aovCurrent\",\r\n      \"aovTarget\"\r\n    ];\r\n\r\n    if (required.some(function(key) {\r\n      return !fields[key];\r\n    })) return;\r\n\r\n    root.dataset.kz5Init = \"true\";\r\n\r\n    const formatNumber = new Intl.NumberFormat(\"es-ES\", {\r\n      maximumFractionDigits: 0\r\n    });\r\n\r\n    const formatDecimal = new Intl.NumberFormat(\"es-ES\", {\r\n      minimumFractionDigits: 1,\r\n      maximumFractionDigits: 1\r\n    });\r\n\r\n    function euros(value) {\r\n      return formatNumber.format(Math.round(value)) + \"\u20ac\";\r\n    }\r\n\r\n    function updateOutput(name, value) {\r\n      const element = root.querySelector(\r\n        '[data-out=\"' + name + '\"]'\r\n      );\r\n\r\n      if (element) element.textContent = value;\r\n    }\r\n\r\n    function updateResult(name, value) {\r\n      const element = root.querySelector(\r\n        '[data-result=\"' + name + '\"]'\r\n      );\r\n\r\n      if (element) element.textContent = value;\r\n    }\r\n\r\n    function updateSlider(input) {\r\n      const min = Number(input.min);\r\n      const max = Number(input.max);\r\n      const value = Number(input.value);\r\n\r\n      const percentage = ((value - min) \/ (max - min)) * 100;\r\n\r\n      input.style.setProperty(\"--fill\", percentage + \"%\");\r\n    }\r\n\r\n    function calculate() {\r\n      const sessions = Number(fields.sessions.value);\r\n      const crCurrent = Number(fields.crCurrent.value);\r\n      const crTarget = Number(fields.crTarget.value);\r\n      const aovCurrent = Number(fields.aovCurrent.value);\r\n      const aovTarget = Number(fields.aovTarget.value);\r\n\r\n      \/* Facturaci\u00f3n mensual *\/\r\n      const currentRevenue =\r\n        sessions * (crCurrent \/ 100) * aovCurrent;\r\n\r\n      const targetRevenue =\r\n        sessions * (crTarget \/ 100) * aovTarget;\r\n\r\n      \/* Diferencia positiva *\/\r\n      const difference =\r\n        Math.max(0, targetRevenue - currentRevenue);\r\n\r\n      \/* Proyecci\u00f3n anual *\/\r\n      const annualOpportunity = difference * 12;\r\n\r\n      \/* Valores de controles *\/\r\n      updateOutput(\r\n        \"sessions\",\r\n        formatNumber.format(sessions)\r\n      );\r\n\r\n      updateOutput(\r\n        \"crCurrent\",\r\n        formatDecimal.format(crCurrent) + \"%\"\r\n      );\r\n\r\n      updateOutput(\r\n        \"crTarget\",\r\n        formatDecimal.format(crTarget) + \"%\"\r\n      );\r\n\r\n      updateOutput(\r\n        \"aovCurrent\",\r\n        euros(aovCurrent)\r\n      );\r\n\r\n      updateOutput(\r\n        \"aovTarget\",\r\n        euros(aovTarget)\r\n      );\r\n\r\n      \/* Tarjeta mensual *\/\r\n      updateResult(\"current\", euros(currentRevenue));\r\n      updateResult(\"target\", euros(targetRevenue));\r\n      updateResult(\"targetSmall\", euros(targetRevenue));\r\n\r\n      \/* Oportunidad anual *\/\r\n      updateResult(\"yearly\", \"+\" + euros(annualOpportunity));\r\n\r\n      \/* Estado del escenario *\/\r\n      if (targetRevenue < currentRevenue) {\r\n        updateResult(\r\n          \"message\",\r\n          \"El objetivo no supera el escenario actual\"\r\n        );\r\n      } else if (targetRevenue === currentRevenue) {\r\n        updateResult(\r\n          \"message\",\r\n          \"Sin diferencia entre escenarios\"\r\n        );\r\n      } else {\r\n        updateResult(\r\n          \"message\",\r\n          \"Facturaci\u00f3n adicional potencial\"\r\n        );\r\n      }\r\n\r\n      \/* Actualizaci\u00f3n visual *\/\r\n      Object.values(fields).forEach(updateSlider);\r\n    }\r\n\r\n    Object.values(fields).forEach(function(input) {\r\n      input.addEventListener(\"input\", calculate);\r\n      input.addEventListener(\"change\", calculate);\r\n    });\r\n\r\n    calculate();\r\n  }\r\n\r\n  function initAllKrezeCalculatorsV5() {\r\n    document.querySelectorAll(\".kz5\")\r\n      .forEach(initKrezeCalculatorV5);\r\n  }\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\r\n      \"DOMContentLoaded\",\r\n      initAllKrezeCalculatorsV5\r\n    );\r\n  } else {\r\n    initAllKrezeCalculatorsV5();\r\n  }\r\n\r\n  \/* Elementor Pro *\/\r\n  if (window.jQuery) {\r\n    window.jQuery(window).on(\r\n      \"elementor\/frontend\/init\",\r\n      function () {\r\n        if (\r\n          window.elementorFrontend &&\r\n          window.elementorFrontend.hooks\r\n        ) {\r\n          window.elementorFrontend.hooks.addAction(\r\n            \"frontend\/element_ready\/html.default\",\r\n            function ($scope) {\r\n              $scope[0]\r\n                .querySelectorAll(\".kz5\")\r\n                .forEach(initKrezeCalculatorV5);\r\n            }\r\n          );\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n})();\r\n<\/script>\r\n\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>\u2605\u2605\u2605\u2605\u2605 4,9\/5 de satisfacci\u00f3n Agencia de marketing para ecommerce Ayudamos a marcas a crecer con estrategias de captaci\u00f3n, retenci\u00f3n, dise\u00f1o y rendimiento basadas en datos. Construye una marca en tu sector, por y para tus clientes. SEO 01 PAID MEDIA 02 DISE\u00d1O &amp; CRO 03 EMAIL MARKETING 04 Hablemos \u2197 Ver casos de \u00e9xito \u2197 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1649,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1753","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Inicio - Agencia de Marketing<\/title>\n<meta name=\"description\" content=\"Agencia de marketing para ecommerce. Te ayudamos a mejorar la rentabilidad de tu tienda online. Con nuestra metodolog\u00eda de krezecimiento.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.krezeconsulting.com\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Inicio - Agencia de Marketing\" \/>\n<meta property=\"og:description\" content=\"Agencia de marketing para ecommerce. Te ayudamos a mejorar la rentabilidad de tu tienda online. Con nuestra metodolog\u00eda de krezecimiento.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.krezeconsulting.com\/\" \/>\n<meta property=\"og:site_name\" content=\"Kreze - Consultora de Marketing\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-16T19:19:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/\",\"url\":\"https:\\\/\\\/www.krezeconsulting.com\\\/\",\"name\":\"Inicio - Agencia de Marketing\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.krezeconsulting.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-Propuesta-de-logo-1.webp\",\"datePublished\":\"2026-10-13T16:34:55+00:00\",\"dateModified\":\"2026-10-16T19:19:51+00:00\",\"description\":\"Agencia de marketing para ecommerce. Te ayudamos a mejorar la rentabilidad de tu tienda online. Con nuestra metodolog\u00eda de krezecimiento.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.krezeconsulting.com\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.krezeconsulting.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-Propuesta-de-logo-1.webp\",\"contentUrl\":\"https:\\\/\\\/www.krezeconsulting.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-Propuesta-de-logo-1.webp\",\"width\":512,\"height\":512,\"caption\":\"log-png-conultora.marketing-kreze\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.krezeconsulting.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Inicio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#website\",\"url\":\"https:\\\/\\\/www.krezeconsulting.com\\\/\",\"name\":\"krezeconsulting.com\",\"description\":\"Consultora de marketing para escalar tu Ecommerce, te ayudamos a mejorar tus ventas online con procesos cualificados\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.krezeconsulting.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#organization\",\"name\":\"krezeconsulting.com\",\"url\":\"https:\\\/\\\/www.krezeconsulting.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.krezeconsulting.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-Propuesta-de-logo.webp\",\"contentUrl\":\"https:\\\/\\\/www.krezeconsulting.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-Propuesta-de-logo.webp\",\"width\":500,\"height\":143,\"caption\":\"krezeconsulting.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.krezeconsulting.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/kreze_consulting\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Inicio - Agencia de Marketing","description":"Agencia de marketing para ecommerce. Te ayudamos a mejorar la rentabilidad de tu tienda online. Con nuestra metodolog\u00eda de krezecimiento.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.krezeconsulting.com\/","og_locale":"es_ES","og_type":"article","og_title":"Inicio - Agencia de Marketing","og_description":"Agencia de marketing para ecommerce. Te ayudamos a mejorar la rentabilidad de tu tienda online. Con nuestra metodolog\u00eda de krezecimiento.","og_url":"https:\/\/www.krezeconsulting.com\/","og_site_name":"Kreze - Consultora de Marketing","article_modified_time":"2026-10-16T19:19:51+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo-1.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.krezeconsulting.com\/","url":"https:\/\/www.krezeconsulting.com\/","name":"Inicio - Agencia de Marketing","isPartOf":{"@id":"https:\/\/www.krezeconsulting.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.krezeconsulting.com\/#primaryimage"},"image":{"@id":"https:\/\/www.krezeconsulting.com\/#primaryimage"},"thumbnailUrl":"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo-1.webp","datePublished":"2026-10-13T16:34:55+00:00","dateModified":"2026-10-16T19:19:51+00:00","description":"Agencia de marketing para ecommerce. Te ayudamos a mejorar la rentabilidad de tu tienda online. Con nuestra metodolog\u00eda de krezecimiento.","breadcrumb":{"@id":"https:\/\/www.krezeconsulting.com\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.krezeconsulting.com\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.krezeconsulting.com\/#primaryimage","url":"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo-1.webp","contentUrl":"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo-1.webp","width":512,"height":512,"caption":"log-png-conultora.marketing-kreze"},{"@type":"BreadcrumbList","@id":"https:\/\/www.krezeconsulting.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.krezeconsulting.com\/"},{"@type":"ListItem","position":2,"name":"Inicio"}]},{"@type":"WebSite","@id":"https:\/\/www.krezeconsulting.com\/#website","url":"https:\/\/www.krezeconsulting.com\/","name":"krezeconsulting.com","description":"Consultora de marketing para escalar tu Ecommerce, te ayudamos a mejorar tus ventas online con procesos cualificados","publisher":{"@id":"https:\/\/www.krezeconsulting.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.krezeconsulting.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.krezeconsulting.com\/#organization","name":"krezeconsulting.com","url":"https:\/\/www.krezeconsulting.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.krezeconsulting.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo.webp","contentUrl":"https:\/\/www.krezeconsulting.com\/wp-content\/uploads\/2025\/10\/cropped-Propuesta-de-logo.webp","width":500,"height":143,"caption":"krezeconsulting.com"},"image":{"@id":"https:\/\/www.krezeconsulting.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/kreze_consulting\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/pages\/1753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/comments?post=1753"}],"version-history":[{"count":161,"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/pages\/1753\/revisions"}],"predecessor-version":[{"id":1999,"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/pages\/1753\/revisions\/1999"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/media\/1649"}],"wp:attachment":[{"href":"https:\/\/www.krezeconsulting.com\/index.php\/wp-json\/wp\/v2\/media?parent=1753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}