{"id":1907,"date":"2025-12-15T13:53:57","date_gmt":"2025-12-15T12:53:57","guid":{"rendered":"https:\/\/gerardger.es\/?page_id=1907"},"modified":"2026-03-12T16:55:41","modified_gmt":"2026-03-12T15:55:41","slug":"holaa-mundo","status":"publish","type":"page","link":"https:\/\/gerardger.es\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1907\" class=\"elementor elementor-1907\" 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-9f0cbeb e-con-full e-flex e-con e-parent\" data-id=\"9f0cbeb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-69558ba video-frame e-flex e-con-boxed e-con e-child\" data-id=\"69558ba\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-8f1ee11 e-con-full e-flex e-con e-child\" data-id=\"8f1ee11\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.5,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:20,&quot;end&quot;:80}},&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f4708a2 elementor-widget elementor-widget-heading\" data-id=\"f4708a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CREO<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9039c7d e-con-full e-flex e-con e-child\" data-id=\"9039c7d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1.1999999999999999555910790149937383830547332763671875,&quot;sizes&quot;:[]},&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d534f96 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-video\" data-id=\"d534f96\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;hosted&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;mute&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"e-hosted-video elementor-wrapper elementor-open-inline\">\n\t\t\t\t\t<video class=\"elementor-video\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/Short-tease_3-con-eyeline.mp4\" autoplay=\"\" loop=\"\" muted=\"muted\" controlsList=\"nodownload\"><\/video>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d989d53 e-con-full e-flex e-con e-child\" data-id=\"d989d53\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.5,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:20,&quot;end&quot;:80}},&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f11713f elementor-widget__width-inherit elementor-widget-laptop__width-initial elementor-widget elementor-widget-html\" data-id=\"f11713f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.rotador {\r\n  position: relative;\r\n  display: inline-block;\r\n  font-family: 'Manrope', sans-serif;\r\n  font-weight: 700;\r\n  font-size: 56px;\r\n  line-height: 1.1;\r\n  letter-spacing: 0.04em;\r\n\r\n  color: white;\r\n  -webkit-text-stroke: 1.25px #111;\r\n  paint-order: stroke fill;\r\n\r\n  height: 1.2em;\r\n  overflow: visible;\r\n\r\n  text-align: center;\r\n}\r\n\r\n\/* Reserva el ancho de la palabra m\u00e1s larga *\/\r\n.rotador::before {\r\n  content: \"ESTRATEGIA\";\r\n  visibility: hidden;\r\n  white-space: nowrap;\r\n  display: block;\r\n}\r\n\r\n\/* Palabras animadas *\/\r\n.rotador span {\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n\r\n  opacity: 0;\r\n  animation-name: rotar;\r\n  animation-duration: 6s;          \/* \u23f1\ufe0f 6 segundos *\/\r\n  animation-iteration-count: infinite;\r\n  animation-timing-function: linear;\r\n\r\n  color: white;\r\n  -webkit-text-stroke: 1.25px #111;\r\n  paint-order: stroke fill;\r\n\r\n  backface-visibility: hidden;\r\n  -webkit-font-smoothing: antialiased;\r\n}\r\n\r\n\/* Delays (4 palabras en 6s) *\/\r\n.rotador .w1 { animation-delay: 0s; }\r\n.rotador .w2 { animation-delay: 1.5s; }\r\n.rotador .w3 { animation-delay: 3s; }\r\n.rotador .w4 { animation-delay: 4.5s; }\r\n\r\n\/* Cambio r\u00e1pido, sin solape *\/\r\n@keyframes rotar {\r\n  0%   { opacity: 0; }\r\n  3%   { opacity: 1; }   \/* entra r\u00e1pido *\/\r\n  24%  { opacity: 1; }\r\n  27%  { opacity: 0; }   \/* sale r\u00e1pido *\/\r\n  100% { opacity: 0; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"rotador\">\r\n  <span class=\"w1\">CONTENIDO<\/span>\r\n  <span class=\"w2\">V\u00cdDEO<\/span>\r\n  <span class=\"w3\">CUENTAS<\/span>\r\n  <span class=\"w4\">ESTRATEGIA<\/span>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\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-21f49c9 e-con-full e-flex e-con e-parent\" data-id=\"21f49c9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-e8e4c0c e-flex e-con-boxed e-con e-child\" data-id=\"e8e4c0c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bfce91c elementor-widget__width-inherit elementor-widget elementor-widget-image-carousel\" data-id=\"bfce91c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;6&quot;,&quot;navigation&quot;:&quot;none&quot;,&quot;autoplay_speed&quot;:0,&quot;speed&quot;:4000,&quot;autoplay&quot;:&quot;yes&quot;,&quot;infinite&quot;:&quot;yes&quot;}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Carrusel de im\u00e1genes\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/UPF-BSM.svg\" alt=\"UPF-BSM\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/CRUZ-ROJA.svg\" alt=\"CRUZ ROJA\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/UNIR.svg\" alt=\"UNIR\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/ENINTER.svg\" alt=\"ENINTER\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/NISSIN.svg\" alt=\"NISSIN\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/IBIZA.svg\" alt=\"IBIZA\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"7 de 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/ENRACHA.svg\" alt=\"ENRACHA\" \/><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-db13dc9 e-con-full e-flex e-con e-parent\" data-id=\"db13dc9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-fb3b36a e-flex e-con-boxed e-con e-child\" data-id=\"fb3b36a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42ee32f elementor-widget elementor-widget-html\" data-id=\"42ee32f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:25,&quot;end&quot;:75}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.text-outline{\r\n  font-family: 'Manrope', sans-serif;\r\n  font-weight: 800;          \/* Extra bold *\/\r\n  font-size: 40px;\r\n  line-height: 1.1;\r\n  letter-spacing: 0.04em;\r\n\r\n  color: #fff;\r\n  -webkit-text-stroke: 1.25px #111;\r\n  paint-order: stroke fill;\r\n\r\n  text-transform: uppercase;\r\n}\r\n<\/style>\r\n\r\n<div class=\"text-outline\">\r\n  MARKETING\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ee9929b e-con-full e-flex e-con e-child\" data-id=\"ee9929b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\">\n\t\t<div class=\"elementor-element elementor-element-191a700 e-con-full e-flex e-con e-child\" data-id=\"191a700\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f226954 elementor-widget elementor-widget-html\" data-id=\"f226954\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DLGCaMXoLRq\/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/ultimo_en_redes5.jpg\"\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/preview-tips.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2b18d14 e-con-full e-flex e-con e-child\" data-id=\"2b18d14\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d8f88d0 elementor-widget elementor-widget-html\" data-id=\"d8f88d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.tiktok.com\/@cronuts.digital\/video\/7541046786807385366\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_agosto-oficina.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_Agosto-oficina.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2064348 e-con-full e-flex e-con e-child\" data-id=\"2064348\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-13578b6 elementor-widget elementor-widget-html\" data-id=\"13578b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DOGjKK5iD3g\/?igsh=ZHBrdzcyazF0dmVl\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_-Canva.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_Canva.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9f97e96 e-con-full e-flex e-con e-child\" data-id=\"9f97e96\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a397580 elementor-widget elementor-widget-html\" data-id=\"a397580\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.tiktok.com\/@cronuts.digital\/video\/7535454222591134978\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_Glad-to-meet-you.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_Glad-to-meet-you.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\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 class=\"elementor-element elementor-element-f09e470 elementor-widget elementor-widget-heading\" data-id=\"f09e470\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:25,&quot;end&quot;:75}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\"><b>Rol<\/b>: Estrategia de contenidos \u00b7 Guion \u00b7 Coordinaci\u00f3n del proyecto \u00b7 Presencia frente a c\u00e1mara \u00b7 Publicaci\u00f3n y optimizaci\u00f3n <\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-255a31b elementor-widget elementor-widget-html\" data-id=\"255a31b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:25,&quot;end&quot;:75}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.text-outline{\r\n  font-family: 'Manrope', sans-serif;\r\n  font-weight: 800;          \/* Extra bold *\/\r\n  font-size: 40px;\r\n  line-height: 1.1;\r\n  letter-spacing: 0.04em;\r\n\r\n  color: #fff;\r\n  -webkit-text-stroke: 1.25px #111;\r\n  paint-order: stroke fill;\r\n\r\n  text-transform: uppercase;\r\n}\r\n<\/style>\r\n\r\n<div class=\"text-outline\">\r\n INDUSTRIAL\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fc5f804 e-con-full e-flex e-con e-child\" data-id=\"fc5f804\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\">\n\t\t<div class=\"elementor-element elementor-element-cce9cc6 e-con-full e-flex e-con e-child\" data-id=\"cce9cc6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-40f085e elementor-widget elementor-widget-html\" data-id=\"40f085e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DL5USZDqlzo\/\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_-acero-corten.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_acero-corten.mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a03356a e-con-full e-flex e-con e-child\" data-id=\"a03356a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-575bc41 elementor-widget elementor-widget-html\" data-id=\"575bc41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DKaGaVuoMrR\/\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_umbracle.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_umbracle.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b2b5040 e-con-full e-flex e-con e-child\" data-id=\"b2b5040\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-023dc2c elementor-widget elementor-widget-html\" data-id=\"023dc2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DOGjKK5iD3g\/?igsh=ZHBrdzcyazF0dmVl\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_-vigas.jpg.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_vigas.mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3a44122 e-con-full e-flex e-con e-child\" data-id=\"3a44122\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e852be6 elementor-widget elementor-widget-html\" data-id=\"e852be6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.tiktok.com\/@cronuts.digital\/video\/7535454222591134978\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_curiosidades.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_curiosidades-acero.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\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 class=\"elementor-element elementor-element-e24a143 elementor-widget elementor-widget-heading\" data-id=\"e24a143\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:25,&quot;end&quot;:75}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\"><b>Rol<\/b>: Estrategia de contenidos \u00b7 Guion \u00b7 Presencia frente a c\u00e1mara \u00b7 Edici\u00f3n \u00b7 Publicaci\u00f3n y optimizaci\u00f3n <\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43e8b33 elementor-widget elementor-widget-html\" data-id=\"43e8b33\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:25,&quot;end&quot;:75}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.text-outline{\r\n  font-family: 'Manrope', sans-serif;\r\n  font-weight: 800;          \/* Extra bold *\/\r\n  font-size: 40px;\r\n  line-height: 1.1;\r\n  letter-spacing: 0.04em;\r\n\r\n  color: #fff;\r\n  -webkit-text-stroke: 1.25px #111;\r\n  paint-order: stroke fill;\r\n\r\n  text-transform: uppercase;\r\n}\r\n<\/style>\r\n\r\n<div class=\"text-outline\">\r\n  INSTITUCIONAL\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-52b3ea0 e-con-full e-flex e-con e-child\" data-id=\"52b3ea0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\">\n\t\t<div class=\"elementor-element elementor-element-4079d95 e-con-full e-flex e-con e-child\" data-id=\"4079d95\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-754b7ef elementor-widget elementor-widget-html\" data-id=\"754b7ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DJClLnNSr6J\/\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_Apagon.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_-Apagon.mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bfd6c71 e-con-full e-flex e-con e-child\" data-id=\"bfd6c71\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ca7a1ef elementor-widget elementor-widget-html\" data-id=\"ca7a1ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DJY5-8lOyoK\/\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_-Dia-CR.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_-Dia-Mundial-CR.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3ea67e6 e-con-full e-flex e-con e-child\" data-id=\"3ea67e6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-897c7bc elementor-widget elementor-widget-html\" data-id=\"897c7bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.instagram.com\/reel\/DPCYv3DlA2W\/\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_SNC.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_-SNC.mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1b51261 e-con-full e-flex e-con e-child\" data-id=\"1b51261\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cf2bf9 elementor-widget elementor-widget-html\" data-id=\"7cf2bf9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== CARD ===== *\/\r\n.hvp-card{\r\n  position: relative;\r\n  width: 100%;\r\n  aspect-ratio: 9 \/ 16; \/* vertical tipo Reels \/ TikTok *\/\r\n  overflow: hidden;\r\n  border-radius: 16px;\r\n  cursor: pointer;\r\n  background: transparent;\r\n}\r\n\r\n\/* Media *\/\r\n.hvp-poster,\r\n.hvp-video{\r\n  width: 100%;\r\n  height: 100%;\r\n  display: block;\r\n  object-fit: cover;\r\n}\r\n\r\n.hvp-poster{\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.hvp-video{\r\n  position: absolute;\r\n  inset: 0;\r\n  z-index: 2;\r\n  opacity: 0;\r\n  transform: scale(1.02);\r\n  transition: opacity .18s ease, transform .18s ease;\r\n  pointer-events: none;\r\n}\r\n\r\n.hvp-card:hover .hvp-video{\r\n  opacity: 1;\r\n  transform: scale(1);\r\n}\r\n\r\n\/* Badge *\/\r\n.hvp-play{\r\n  position: absolute;\r\n  inset: auto 14px 14px auto;\r\n  z-index: 3;\r\n\r\n  background: rgba(0,0,0,.55);\r\n  backdrop-filter: blur(4px);\r\n  -webkit-backdrop-filter: blur(4px);\r\n\r\n  color: #fff;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n\r\n  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: .04em;\r\n  text-transform: uppercase;\r\n\r\n  transition: transform .2s ease, background .2s ease;\r\n}\r\n\r\n.hvp-card:hover .hvp-play{\r\n  transform: translateY(-2px);\r\n  background: rgba(0,0,0,.7);\r\n}\r\n<\/style>\r\n\r\n<!-- CARD -->\r\n<div class=\"hvp-card\"\r\n     data-href=\"https:\/\/www.tiktok.com\/@cronuts.digital\/video\/7535454222591134978\">\r\n\r\n  <img decoding=\"async\" class=\"hvp-poster\"\r\n    src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/thumb_-7-noticias.jpg\"\r\n    alt=\"Preview del proyecto\"\r\n    loading=\"lazy\">\r\n\r\n  <video class=\"hvp-video\" muted loop playsinline preload=\"metadata\">\r\n    <source src=\"https:\/\/gerardger.es\/wp-content\/uploads\/2026\/02\/prev_-7-noticias.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n\r\n  <div class=\"hvp-play\">VER<\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/* ===== Hover preview (robusto con Elementor) ===== *\/\r\n  function initCard(card){\r\n    if(card.dataset.hvpInit) return;\r\n    card.dataset.hvpInit = \"1\";\r\n\r\n    const video = card.querySelector('video');\r\n    if(!video) return;\r\n\r\n    let loadedOnce = false;\r\n\r\n    const start = async () => {\r\n      try{\r\n        if(!loadedOnce){\r\n          video.load();\r\n          loadedOnce = true;\r\n        }\r\n        if(video.readyState < 2) video.currentTime = 0.01;\r\n        else video.currentTime = 0;\r\n\r\n        await video.play();\r\n      }catch(e){}\r\n    };\r\n\r\n    const stop = () => {\r\n      video.pause();\r\n      video.currentTime = 0;\r\n    };\r\n\r\n    card.addEventListener('mouseover', start);\r\n    card.addEventListener('mouseout', stop);\r\n\r\n    \/* m\u00f3vil: primer toque preview *\/\r\n    let touchedOnce = false;\r\n    card.addEventListener('touchstart', (e) => {\r\n      if(!touchedOnce){\r\n        touchedOnce = true;\r\n        start();\r\n        setTimeout(()=>touchedOnce=false, 1200);\r\n        e.preventDefault();\r\n      }\r\n    }, {passive:false});\r\n  }\r\n\r\n  document.querySelectorAll('.hvp-card').forEach(initCard);\r\n\r\n  const obs = new MutationObserver(() => {\r\n    document.querySelectorAll('.hvp-card').forEach(initCard);\r\n  });\r\n  obs.observe(document.body, {childList:true, subtree:true});\r\n\r\n  \/* ===== Click abre TikTok (toda la card) ===== *\/\r\n  document.addEventListener('click', (e) => {\r\n    const card = e.target.closest('.hvp-card[data-href]');\r\n    if(!card) return;\r\n\r\n    e.preventDefault();\r\n    const url = card.getAttribute('data-href');\r\n    window.open(url, '_blank', 'noopener,noreferrer');\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 class=\"elementor-element elementor-element-8fc79f8 elementor-widget elementor-widget-heading\" data-id=\"8fc79f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\"><b>Rol<\/b>: Estrategia de contenidos \u00b7 Coordinaci\u00f3n del proyecto \u00b7 Acompa\u00f1amiento creativo \u00b7 Locuci\u00f3n \u00b7 Publicaci\u00f3n y optimizaci\u00f3n <\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d37c38d elementor-widget elementor-widget-html\" data-id=\"d37c38d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.40000000000000002220446049250313080847263336181640625,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:25,&quot;end&quot;:75}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;]}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.text-outline{\r\n  font-family: 'Manrope', sans-serif;\r\n  font-weight: 800;          \/* Extra bold *\/\r\n  font-size: 40px;\r\n  line-height: 1.1;\r\n  letter-spacing: 0.04em;\r\n\r\n  color: #fff;\r\n  -webkit-text-stroke: 1.25px #111;\r\n  paint-order: stroke fill;\r\n\r\n  text-transform: uppercase;\r\n}\r\n<\/style>\r\n\r\n<div class=\"text-outline\">\r\n  EDUCACIONAL\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\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-91c6f67 e-flex e-con-boxed e-con e-parent\" data-id=\"91c6f67\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\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>CREO https:\/\/gerardger.es\/wp-content\/uploads\/2026\/01\/Short-tease_3-con-eyeline.mp4 CONTENIDO V\u00cdDEO CUENTAS ESTRATEGIA MARKETING<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-1907","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/pages\/1907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/comments?post=1907"}],"version-history":[{"count":638,"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/pages\/1907\/revisions"}],"predecessor-version":[{"id":2878,"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/pages\/1907\/revisions\/2878"}],"wp:attachment":[{"href":"https:\/\/gerardger.es\/index.php\/wp-json\/wp\/v2\/media?parent=1907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}