{"id":10990,"date":"2025-12-07T12:26:11","date_gmt":"2025-12-07T17:26:11","guid":{"rendered":"https:\/\/demosites.royal-elementor-addons.com\/ai-image-v1\/?page_id=6"},"modified":"2026-04-22T14:51:09","modified_gmt":"2026-04-22T19:51:09","slug":"home-ai-image-v1","status":"publish","type":"page","link":"https:\/\/gabodesarrollador.com\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10990\" class=\"elementor elementor-10990\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f155f5 e-flex e-con-boxed wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"2f155f5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-f7bef2e e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-child\" data-id=\"f7bef2e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eb768ff elementor-invisible elementor-widget elementor-widget-html\" data-id=\"eb768ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ===== HERO PREMIUM (RESPONSIVE + CTA + POPUP PRACTICO) ===== -->\r\n<section id=\"gdHeroPremium\" aria-label=\"Hero\">\r\n  <div class=\"gdHeroInner\">\r\n\r\n    <!-- Kicker -->\r\n    <div class=\"gdKicker\">Agencia Digital & Desarrollo Web Estrat\u00e9gico<\/div>\r\n\r\n    <!-- Title -->\r\n    <div id=\"gdHeroPremiumTitle\">\r\n      <h1 class=\"gdH1\">\r\n        <span class=\"line line1\">\r\n          Agencia <span class=\"accent\">Digital<\/span>\r\n          <span class=\"spark\" aria-hidden=\"true\">\u2726<\/span>\r\n        <\/span>\r\n\r\n        <span class=\"line line2\">\r\n          Dise\u00f1o y <span class=\"accent2\">desarrollo web<\/span> para crecer en Google\r\n        <\/span>\r\n      <\/h1>\r\n\r\n      <p class=\"gdSub\">\r\n        Creamos p\u00e1ginas web modernas y responsivas (landing pages, sitios corporativos y ecommerce).\r\n        Integramos WhatsApp, formularios, agenda de citas y chatbot para convertir visitas en clientes.\r\n      <\/p>\r\n\r\n      <!-- CTA (abre modal) -->\r\n      <div class=\"gdCtas\">\r\n        <button class=\"gdBtnPrimary\" id=\"gdOpenQuote\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"gdQuoteModal\">\r\n          Cotizar proyecto\r\n          <span class=\"gdBtnIcon\" aria-hidden=\"true\">\u2192<\/span>\r\n          <span class=\"gdBtnShine\" aria-hidden=\"true\"><\/span>\r\n        <\/button>\r\n      <\/div>\r\n\r\n      <!-- SEO discreto (no visible) -->\r\n      <span class=\"sr-only\">\r\n        dise\u00f1o web, desarrollo web, creaci\u00f3n de p\u00e1ginas web, agencia digital, SEO, landing page, ecommerce, web corporativa, p\u00e1ginas web responsivas, optimizaci\u00f3n web\r\n      <\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== POPUP (MODAL) PRACTICO ===== -->\r\n<div class=\"gdModal\" id=\"gdQuoteModal\" aria-hidden=\"true\">\r\n  <div class=\"gdModalBackdrop\" data-close=\"true\"><\/div>\r\n\r\n  <div class=\"gdModalCard\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gdModalTitle\" tabindex=\"-1\">\r\n    <button class=\"gdModalClose\" type=\"button\" aria-label=\"Cerrar\" data-close=\"true\">\u2715<\/button>\r\n\r\n    <div class=\"gdModalHead\">\r\n      <div class=\"gdModalKicker\">Cotizaci\u00f3n r\u00e1pida<\/div>\r\n      <h2 class=\"gdModalTitle\" id=\"gdModalTitle\">Elige 3 datos y listo<\/h2>\r\n      <p class=\"gdModalDesc\">Completa r\u00e1pido y te abrimos WhatsApp con el mensaje listo.<\/p>\r\n    <\/div>\r\n\r\n    <form class=\"gdForm\" id=\"gdQuoteForm\">\r\n      <!-- 1) Tipo de web -->\r\n      <div class=\"gdField\">\r\n        <label class=\"gdLabel\">Tipo de web<\/label>\r\n        <div class=\"gdPills\" role=\"group\" aria-label=\"Tipo de web\">\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"tipo\" value=\"Landing Page\" checked>\r\n            <span>Landing<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"tipo\" value=\"Web Corporativa\">\r\n            <span>Corporativa<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"tipo\" value=\"Ecommerce (Tienda Online)\">\r\n            <span>Ecommerce<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"tipo\" value=\"Cat\u00e1logo\">\r\n            <span>Cat\u00e1logo<\/span>\r\n          <\/label>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 2) Presupuesto -->\r\n      <div class=\"gdField\">\r\n        <label class=\"gdLabel\">Presupuesto<\/label>\r\n        <div class=\"gdPills\" role=\"group\" aria-label=\"Presupuesto\">\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"presupuesto\" value=\"A\u00fan no lo s\u00e9\" checked>\r\n            <span>No s\u00e9<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"presupuesto\" value=\"S\/ 800 \u2013 S\/ 1,500\">\r\n            <span>S\/800\u20131,500<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"presupuesto\" value=\"S\/ 1,500 \u2013 S\/ 3,000\">\r\n            <span>S\/1,500\u20133,000<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"presupuesto\" value=\"S\/ 3,000+\">\r\n            <span>S\/3,000+<\/span>\r\n          <\/label>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3) Plazo -->\r\n      <div class=\"gdField\">\r\n        <label class=\"gdLabel\">Plazo<\/label>\r\n        <div class=\"gdPills\" role=\"group\" aria-label=\"Plazo\">\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"plazo\" value=\"Urgente (1 semana)\">\r\n            <span>Urgente<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"plazo\" value=\"2\u20133 semanas\" checked>\r\n            <span>2\u20133 semanas<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"plazo\" value=\"1\u20132 meses\">\r\n            <span>1\u20132 meses<\/span>\r\n          <\/label>\r\n          <label class=\"gdPill\">\r\n            <input type=\"radio\" name=\"plazo\" value=\"Solo estoy cotizando\">\r\n            <span>Cotizando<\/span>\r\n          <\/label>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 4) Rubro opcional -->\r\n      <div class=\"gdField\">\r\n        <label class=\"gdLabel\">Rubro (opcional)<\/label>\r\n        <input class=\"gdInput\" name=\"rubro\" type=\"text\" placeholder=\"Ej: restaurante, consultor\u00eda, servicios...\">\r\n      <\/div>\r\n\r\n      <div class=\"gdActions\">\r\n        <button class=\"gdBtnGhost\" type=\"button\" data-close=\"true\">Cerrar<\/button>\r\n\r\n        <button class=\"gdBtnPrimaryBig\" type=\"submit\">\r\n          <span class=\"gdWaIcon\" aria-hidden=\"true\">\r\n            <!-- WhatsApp logo (SVG) -->\r\n            <svg viewBox=\"0 0 32 32\" width=\"18\" height=\"18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n              <path fill=\"#0B0A12\" d=\"M16.02 3C9.39 3 4 8.25 4 14.71c0 2.56.87 4.92 2.34 6.83L5 29l7.62-1.99a12.3 12.3 0 0 0 3.4.47c6.63 0 12.02-5.24 12.02-11.7C28.04 8.25 22.65 3 16.02 3Zm0 22.35c-1.1 0-2.18-.16-3.21-.48l-.82-.26-4.53 1.18 1.21-4.36-.53-.86a9.83 9.83 0 0 1-1.58-5.22c0-5.45 4.56-9.9 10.46-9.9 5.9 0 10.46 4.45 10.46 9.9 0 5.45-4.56 9.9-10.46 9.9Z\"\/>\r\n              <path fill=\"#0B0A12\" d=\"M21.9 18.07c-.3-.15-1.78-.86-2.05-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.95 1.16-.17.2-.34.22-.63.08-.3-.15-1.23-.44-2.34-1.4-.86-.74-1.44-1.66-1.61-1.95-.17-.3-.02-.45.13-.6.13-.13.3-.34.45-.5.15-.16.2-.27.3-.45.1-.18.05-.33-.02-.48-.07-.15-.67-1.57-.92-2.15-.24-.55-.48-.48-.67-.49h-.57c-.2 0-.52.07-.8.33-.27.26-1.05 1-.99 2.44.06 1.44 1.05 2.83 1.2 3.03.15.2 2.06 3.22 5.1 4.38.72.27 1.28.43 1.72.55.72.22 1.37.19 1.88.11.57-.08 1.78-.7 2.03-1.38.25-.67.25-1.25.17-1.38-.07-.13-.27-.2-.57-.35Z\"\/>\r\n            <\/svg>\r\n          <\/span>\r\n          Enviar por WhatsApp\r\n          <span class=\"gdBtnIconMini\" aria-hidden=\"true\">\u2197<\/span>\r\n          <span class=\"gdBtnShine\" aria-hidden=\"true\"><\/span>\r\n        <\/button>\r\n      <\/div>\r\n    <\/form>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700;800&display=swap');\r\n\r\n\/* ===== Anti-desborde SOLO para estos bloques ===== *\/\r\n#gdHeroPremium, #gdQuoteModal{ box-sizing: border-box; }\r\n#gdHeroPremium *, #gdQuoteModal *{ box-sizing: border-box; max-width: 100%; }\r\n#gdHeroPremiumTitle, .gdModalCard{ overflow-wrap: anywhere; word-break: break-word; }\r\n\r\n\/* ===== HERO ===== *\/\r\n#gdHeroPremium{ position: relative; width: 100%; }\r\n#gdHeroPremium .gdHeroInner{\r\n  width: min(1100px, 92vw);\r\n  margin: 0 auto;\r\n  padding: clamp(34px, 6.2vw, 88px) 0;\r\n  text-align: center;\r\n}\r\n#gdHeroPremium .gdKicker{\r\n  display:inline-flex; align-items:center; justify-content:center;\r\n  margin: 0 auto 14px;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n  max-width: min(520px, 92vw);\r\n  text-align:center;\r\n  white-space: normal;\r\n  overflow-wrap: anywhere;\r\n\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  font-weight:600;\r\n  font-size: 13px;\r\n  letter-spacing: .01em;\r\n  line-height: 1.25;\r\n\r\n  color: rgba(255,255,255,.80);\r\n  background: rgba(255,255,255,.06);\r\n  border: 1px solid rgba(255,255,255,.10);\r\n  box-shadow: 0 18px 44px rgba(0,0,0,.28);\r\n  backdrop-filter: blur(10px);\r\n}\r\n\r\n#gdHeroPremiumTitle{ width:100%; text-align:center; position:relative; }\r\n#gdHeroPremiumTitle .gdH1{\r\n  margin:0 !important; padding:0 !important; border:0 !important;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif !important;\r\n  font-weight:700 !important;\r\n  letter-spacing:-0.03em !important;\r\n  line-height:1.05 !important;\r\n  font-size:clamp(30px,4.2vw,74px) !important;\r\n  color:#ffffff !important;\r\n  text-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 16px rgba(139,92,255,.12) !important;\r\n  -webkit-font-smoothing: antialiased !important;\r\n  text-rendering: geometricPrecision !important;\r\n}\r\n#gdHeroPremiumTitle .line{ display:block; white-space:normal; }\r\n#gdHeroPremiumTitle .line2{\r\n  margin-top:.16em;\r\n  font-weight:600 !important;\r\n  letter-spacing:-0.02em !important;\r\n  opacity:.98;\r\n}\r\n#gdHeroPremiumTitle .gdSub{\r\n  margin: 14px auto 0;\r\n  max-width: 920px;\r\n  padding: 0 16px;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  font-weight:400;\r\n  font-size: clamp(14px, 1.15vw, 17px);\r\n  line-height: 1.7;\r\n  color: rgba(255,255,255,.84);\r\n  text-shadow: 0 10px 22px rgba(0,0,0,.30);\r\n}\r\n\r\n\/* ===== RESALTADOS ===== *\/\r\n#gdHeroPremiumTitle .accent, #gdHeroPremiumTitle .accent2{\r\n  color: transparent;\r\n  background: linear-gradient(90deg,#ffffff 0%, #ff4fd8 30%, #8b5cff 62%, #4be7ff 100%);\r\n  background-size: 220% 100%;\r\n  background-position: 0% 50%;\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  -webkit-text-fill-color: transparent;\r\n  filter: drop-shadow(0 10px 18px rgba(0,0,0,.32));\r\n  animation: gdAccentShift 7.5s ease-in-out infinite;\r\n}\r\n#gdHeroPremiumTitle .spark{\r\n  display:inline-block;\r\n  margin-left:.18em;\r\n  font-size:.58em;\r\n  vertical-align:super;\r\n  opacity:.92;\r\n  color: transparent;\r\n  background: linear-gradient(90deg,#ffffff,#ff4fd8,#8b5cff,#4be7ff,#ffffff);\r\n  background-size: 240% 100%;\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  -webkit-text-fill-color: transparent;\r\n  filter: drop-shadow(0 10px 18px rgba(0,0,0,.28));\r\n  animation: gdSparkSpin 4.2s ease-in-out infinite, gdAccentShift 7.5s ease-in-out infinite;\r\n}\r\n\r\n\/* ===== CTA ===== *\/\r\n#gdHeroPremiumTitle .gdCtas{\r\n  margin-top: 22px;\r\n  display:flex;\r\n  justify-content:center;\r\n  gap: 14px;\r\n  flex-wrap: wrap;\r\n}\r\n#gdHeroPremiumTitle .gdBtnPrimary{\r\n  position: relative;\r\n  overflow: hidden;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 10px;\r\n  padding: 14px 22px;\r\n  border-radius: 14px;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  font-weight:700;\r\n  font-size: 15px;\r\n  color:#0b0a12;\r\n  border: 0;\r\n  cursor: pointer;\r\n  background: linear-gradient(90deg,#ffffff 0%, #ff4fd8 32%, #8b5cff 70%, #4be7ff 100%);\r\n  box-shadow: 0 18px 46px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.16) inset;\r\n  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;\r\n}\r\n#gdHeroPremiumTitle .gdBtnPrimary:hover{\r\n  transform: translateY(-2px) scale(1.01);\r\n  filter: brightness(1.04);\r\n  box-shadow: 0 22px 54px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.22) inset;\r\n}\r\n#gdHeroPremiumTitle .gdBtnPrimary:active{ transform: translateY(0px) scale(.99); }\r\n#gdHeroPremiumTitle .gdBtnIcon{\r\n  display:inline-flex;\r\n  width: 26px;\r\n  height: 26px;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius: 10px;\r\n  background: rgba(255,255,255,.42);\r\n  box-shadow: 0 10px 22px rgba(0,0,0,.16);\r\n}\r\n\r\n\/* brillo dentro del bot\u00f3n *\/\r\n.gdBtnShine{\r\n  position:absolute;\r\n  inset:-40% -20%;\r\n  background: linear-gradient(120deg,\r\n    rgba(255,255,255,0) 0%,\r\n    rgba(255,255,255,.42) 18%,\r\n    rgba(255,255,255,0) 36%,\r\n    rgba(255,255,255,0) 100%\r\n  );\r\n  transform: translateX(-60%) rotate(10deg);\r\n  animation: gdShine 3.4s ease-in-out infinite;\r\n  pointer-events:none;\r\n  mix-blend-mode: overlay;\r\n  opacity: .9;\r\n}\r\n@keyframes gdShine{\r\n  0%   { transform: translateX(-70%) rotate(10deg); opacity:.10; }\r\n  35%  { transform: translateX(10%) rotate(10deg); opacity:.50; }\r\n  60%  { transform: translateX(60%) rotate(10deg); opacity:.20; }\r\n  100% { transform: translateX(70%) rotate(10deg); opacity:.10; }\r\n}\r\n@keyframes gdAccentShift{\r\n  0%   { background-position: 0% 50%; }\r\n  50%  { background-position: 100% 50%; }\r\n  100% { background-position: 0% 50%; }\r\n}\r\n@keyframes gdSparkSpin{\r\n  0%   { transform: rotate(0deg) scale(1); opacity:.75; }\r\n  25%  { transform: rotate(14deg) scale(1.06); opacity:1; }\r\n  55%  { transform: rotate(360deg) scale(1.02); opacity:.95; }\r\n  100% { transform: rotate(360deg) scale(1); opacity:.82; }\r\n}\r\n\r\n\/* SEO invisible *\/\r\n#gdHeroPremiumTitle .sr-only{\r\n  position:absolute; width:1px; height:1px;\r\n  padding:0; margin:-1px; overflow:hidden;\r\n  clip:rect(0,0,0,0); white-space:nowrap; border:0;\r\n}\r\n\r\n\/* ===== MODAL ===== *\/\r\n.gdModal{\r\n  position: fixed;\r\n  inset: 0;\r\n  display: grid;\r\n  place-items: center;\r\n  z-index: 9999;\r\n  opacity: 0;\r\n  pointer-events: none;\r\n  transition: opacity .18s ease;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  padding:\r\n    max(14px, env(safe-area-inset-top))\r\n    max(14px, env(safe-area-inset-right))\r\n    max(14px, env(safe-area-inset-bottom))\r\n    max(14px, env(safe-area-inset-left));\r\n}\r\n.gdModal.is-open{ opacity: 1; pointer-events: auto; }\r\n.gdModalBackdrop{\r\n  position:absolute; inset:0;\r\n  background: rgba(0,0,0,.62);\r\n  backdrop-filter: blur(10px);\r\n}\r\n.gdModalCard{\r\n  position: relative;\r\n  width: min(760px, 100%);\r\n  max-height: 86vh;\r\n  overflow: auto;\r\n  -webkit-overflow-scrolling: touch;\r\n  border-radius: 20px;\r\n  padding: 18px;\r\n  background: rgba(14,12,22,.92);\r\n  border: 1px solid rgba(255,255,255,.14);\r\n  box-shadow: 0 30px 90px rgba(0,0,0,.70);\r\n  color: rgba(255,255,255,.92);\r\n}\r\n.gdModalClose{\r\n  position:absolute; top: 12px; right: 12px;\r\n  width: 42px; height: 42px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(255,255,255,.14);\r\n  background: rgba(255,255,255,.06);\r\n  color: rgba(255,255,255,.92);\r\n  cursor:pointer;\r\n  font-size: 16px;\r\n}\r\n.gdModalClose:hover{ background: rgba(255,255,255,.10); }\r\n\r\n.gdModalHead{ padding-right: 56px; }\r\n.gdModalKicker{\r\n  display:inline-flex;\r\n  padding: 7px 12px;\r\n  border-radius: 999px;\r\n  background: rgba(255,255,255,.06);\r\n  border: 1px solid rgba(255,255,255,.10);\r\n  font-weight:600;\r\n  font-size: 12px;\r\n  letter-spacing: .02em;\r\n  color: rgba(255,255,255,.84);\r\n}\r\n.gdModalTitle{\r\n  margin: 10px 0 6px;\r\n  font-weight:700;\r\n  font-size: clamp(18px, 2.2vw, 26px);\r\n  letter-spacing: -0.02em;\r\n  color: #fff;\r\n}\r\n.gdModalDesc{\r\n  margin: 0 0 12px;\r\n  color: rgba(255,255,255,.78);\r\n  line-height: 1.55;\r\n  font-size: 14px;\r\n  font-weight: 400;\r\n}\r\n\r\n\/* Form *\/\r\n.gdField{ margin-top: 14px; }\r\n.gdLabel{\r\n  display:block;\r\n  margin-bottom: 8px;\r\n  font-weight:600;\r\n  font-size: 13px;\r\n  color: rgba(255,255,255,.92);\r\n}\r\n.gdInput{\r\n  width: 100%;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(255,255,255,.14);\r\n  background: rgba(255,255,255,.06);\r\n  color: rgba(255,255,255,.92);\r\n  padding: 12px 14px;\r\n  font-weight:500;\r\n  outline: none;\r\n}\r\n.gdInput::placeholder{ color: rgba(255,255,255,.50); }\r\n.gdInput:focus{\r\n  border-color: rgba(75,231,255,.32);\r\n  box-shadow: 0 0 0 3px rgba(75,231,255,.14);\r\n}\r\n\r\n\/* Pills sin desborde *\/\r\n.gdPills{ display:flex; flex-wrap: wrap; gap: 10px; }\r\n.gdPill{\r\n  position:relative;\r\n  cursor:pointer;\r\n  user-select:none;\r\n  flex: 1 1 150px;\r\n  min-width: 140px;\r\n}\r\n.gdPill input{ position:absolute; opacity:0; pointer-events:none; }\r\n.gdPill span{\r\n  width: 100%;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  text-align:center;\r\n  padding: 10px 12px;\r\n  border-radius: 999px;\r\n  background: rgba(255,255,255,.06);\r\n  border: 1px solid rgba(255,255,255,.14);\r\n  color: rgba(255,255,255,.90);\r\n  font-weight:600;\r\n  font-size: 13px;\r\n  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;\r\n}\r\n.gdPill:hover span{ transform: translateY(-1px); background: rgba(255,255,255,.09); }\r\n.gdPill input:checked + span{\r\n  background: linear-gradient(90deg, rgba(255,79,216,.22), rgba(139,92,255,.20), rgba(75,231,255,.18));\r\n  border-color: rgba(255,255,255,.18);\r\n  box-shadow: 0 0 0 3px rgba(255,255,255,.08) inset;\r\n}\r\n\r\n\/* Acciones *\/\r\n.gdActions{\r\n  margin-top: 18px;\r\n  display:flex;\r\n  justify-content: flex-end;\r\n  gap: 10px;\r\n  flex-wrap: wrap;\r\n}\r\n.gdBtnGhost{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  padding: 12px 14px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(255,255,255,.14);\r\n  background: rgba(255,255,255,.06);\r\n  color: rgba(255,255,255,.90);\r\n  cursor:pointer;\r\n  font-weight:600;\r\n  transition: transform .15s ease, background .15s ease;\r\n}\r\n.gdBtnGhost:hover{ transform: translateY(-1px); background: rgba(255,255,255,.10); }\r\n\r\n.gdBtnPrimaryBig{\r\n  position: relative;\r\n  overflow:hidden;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 10px;\r\n  padding: 12px 16px;\r\n  border-radius: 14px;\r\n  font-weight:700;\r\n  font-size: 14px;\r\n  color:#0b0a12;\r\n  border:0;\r\n  cursor:pointer;\r\n  background: linear-gradient(90deg,#ffffff 0%, #ff4fd8 32%, #8b5cff 70%, #4be7ff 100%);\r\n  box-shadow:\r\n    0 18px 48px rgba(0,0,0,.45),\r\n    0 0 0 1px rgba(255,255,255,.16) inset;\r\n  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;\r\n}\r\n.gdBtnPrimaryBig:hover{\r\n  transform: translateY(-2px) scale(1.01);\r\n  filter: brightness(1.04);\r\n  box-shadow:\r\n    0 22px 58px rgba(0,0,0,.55),\r\n    0 0 0 1px rgba(255,255,255,.22) inset;\r\n}\r\n.gdBtnPrimaryBig:active{ transform: translateY(0) scale(.99); }\r\n\r\n.gdBtnIconMini{\r\n  display:inline-flex;\r\n  width: 24px;\r\n  height: 24px;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius: 10px;\r\n  background: rgba(255,255,255,.42);\r\n  box-shadow: 0 10px 24px rgba(0,0,0,.14);\r\n}\r\n.gdWaIcon{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  width: 28px;\r\n  height: 28px;\r\n  border-radius: 12px;\r\n  background: rgba(255,255,255,.42);\r\n  box-shadow: 0 10px 22px rgba(0,0,0,.14);\r\n}\r\n\r\n\/* ===== MOBILE ===== *\/\r\n@media (max-width: 560px){\r\n  #gdHeroPremium .gdHeroInner{ padding: 40px 0 62px; }\r\n\r\n  #gdHeroPremiumTitle .gdH1{\r\n    font-size:clamp(26px,7.2vw,44px) !important;\r\n    line-height:1.10 !important;\r\n    letter-spacing:-0.015em !important;\r\n  }\r\n\r\n  #gdHeroPremium .gdKicker{\r\n    max-width: 92vw;\r\n    font-size: 12px;\r\n    padding: 8px 12px;\r\n  }\r\n\r\n  #gdHeroPremiumTitle .gdSub{\r\n    font-size: 14px;\r\n    line-height: 1.65;\r\n  }\r\n\r\n  #gdHeroPremiumTitle .gdBtnPrimary{\r\n    width: min(420px, 92vw);\r\n    padding: 14px 18px;\r\n  }\r\n\r\n  .gdModalCard{\r\n    width: 100%;\r\n    max-height: 88vh;\r\n    border-radius: 18px;\r\n    padding: 16px;\r\n  }\r\n\r\n  .gdPill{\r\n    flex: 1 1 calc(50% - 10px);\r\n    min-width: 0;\r\n  }\r\n\r\n  .gdBtnPrimaryBig{ width: 100%; }\r\n  .gdBtnGhost{ width: 100%; }\r\n  .gdActions{ justify-content: stretch; }\r\n}\r\n\r\n\/* Evitar scroll del fondo *\/\r\nbody.gdNoScroll{ overflow:hidden; }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  const modal = document.getElementById('gdQuoteModal');\r\n  const openBtn = document.getElementById('gdOpenQuote');\r\n  const card = modal.querySelector('.gdModalCard');\r\n  const form = document.getElementById('gdQuoteForm');\r\n\r\n  const WHATSAPP_NUMBER = '51947274091';\r\n\r\n  function openModal(){\r\n    modal.classList.add('is-open');\r\n    modal.setAttribute('aria-hidden', 'false');\r\n    document.body.classList.add('gdNoScroll');\r\n    setTimeout(() => card.focus(), 0);\r\n  }\r\n\r\n  function closeModal(){\r\n    modal.classList.remove('is-open');\r\n    modal.setAttribute('aria-hidden', 'true');\r\n    document.body.classList.remove('gdNoScroll');\r\n    openBtn.focus();\r\n  }\r\n\r\n  openBtn.addEventListener('click', openModal);\r\n\r\n  modal.addEventListener('click', (e) => {\r\n    if (e.target?.dataset?.close === \"true\") closeModal();\r\n  });\r\n\r\n  document.addEventListener('keydown', (e) => {\r\n    if (!modal.classList.contains('is-open')) return;\r\n    if (e.key === 'Escape') closeModal();\r\n  });\r\n\r\n  form.addEventListener('submit', (e) => {\r\n    e.preventDefault();\r\n\r\n    const tipo = form.querySelector('input[name=\"tipo\"]:checked')?.value || 'Landing Page';\r\n    const presupuesto = form.querySelector('input[name=\"presupuesto\"]:checked')?.value || 'A\u00fan no lo s\u00e9';\r\n    const plazo = form.querySelector('input[name=\"plazo\"]:checked')?.value || '2\u20133 semanas';\r\n    const rubro = form.querySelector('input[name=\"rubro\"]')?.value?.trim() || 'No indic\u00f3';\r\n\r\n    \/\/ SIN emojis\r\n    const msg =\r\n`Hola. Quiero cotizar una p\u00e1gina web.\r\n\r\n- Tipo: ${tipo}\r\n- Presupuesto: ${presupuesto}\r\n- Plazo: ${plazo}\r\n- Rubro: ${rubro}\r\n\r\n\u00bfMe puede indicar opciones y tiempo de entrega?`;\r\n\r\n    const url = `https:\/\/wa.me\/${WHATSAPP_NUMBER}?text=${encodeURIComponent(msg)}`;\r\n    window.open(url, '_blank', 'noopener,noreferrer');\r\n    closeModal();\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\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<div class=\"elementor-element elementor-element-bd294d6 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"bd294d6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-344173e elementor-widget elementor-widget-html\" data-id=\"344173e\" data-element_type=\"widget\" data-e-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  GABO \u2014 LOGOS PREMIUM (ESTILO PRO) | FULL WIDTH | RESPONSIVE + LOADING FIX\r\n  Pegar en: Elementor > Widget HTML\r\n  ========================= -->\r\n<section class=\"gabo-proof\" aria-label=\"Clientes y aliados\">\r\n  <div class=\"gabo-proof-inner\">\r\n\r\n    <!-- TITULO -->\r\n    <h3 class=\"gabo-proof-title\">\r\n      Marcas que escalan con <span class=\"gabo-proof-accent\">experiencias digitales<\/span> de alto nivel\r\n    <\/h3>\r\n\r\n    <!-- LINEA GLOW SUPERIOR -->\r\n    <div class=\"gabo-proof-glow\" aria-hidden=\"true\"><\/div>\r\n\r\n    <!-- MARQUEE -->\r\n    <div class=\"gabo-proof-marquee gabo-loading\" aria-label=\"Logos de clientes\">\r\n      <!-- \u2705 placeholder premium mientras carga -->\r\n      <div class=\"gabo-proof-shimmer\" aria-hidden=\"true\"><\/div>\r\n\r\n      <div class=\"gabo-proof-track\" data-track>\r\n        <!-- ===== SET A (tus logos) ===== -->\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__8_-removebg-preview.png\" alt=\"Logo cliente 01\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/cropped-cropped-WhatsApp_Image_2025-08-04_at_11.28.47_PM-removebg-preview-1__1_-removebg-preview.png\" alt=\"Logo cliente 02\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__9_-removebg-preview.png\" alt=\"Logo cliente 03\" loading=\"eager\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/logo2amypack-removebg-preview-1.png\" alt=\"Logo cliente 04\" loading=\"eager\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image-removebg-preview.png\" alt=\"Logo cliente 05\" loading=\"eager\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__1_-removebg-preview.png\" alt=\"Logo cliente 06\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__2_-removebg-preview.png\" alt=\"Logo cliente 07\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__3_-removebg-preview.png\" alt=\"Logo cliente 08\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__4_-removebg-preview.png\" alt=\"Logo cliente 09\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__5_-removebg-preview.png\" alt=\"Logo cliente 10\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__6_-removebg-preview.png\" alt=\"Logo cliente 11\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__7_-removebg-preview.png\" alt=\"Logo cliente 12\" loading=\"lazy\" decoding=\"async\">\r\n\r\n        <!-- ===== DUPLICADO (loop infinito) ===== -->\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__8_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/cropped-cropped-WhatsApp_Image_2025-08-04_at_11.28.47_PM-removebg-preview-1__1_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__9_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/logo2amypack-removebg-preview-1.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__1_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__2_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__3_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__4_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__5_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__6_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n        <img src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/01\/image__7_-removebg-preview.png\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" decoding=\"async\">\r\n      <\/div>\r\n\r\n      <!-- fades -->\r\n      <span class=\"gabo-proof-fade left\" aria-hidden=\"true\"><\/span>\r\n      <span class=\"gabo-proof-fade right\" aria-hidden=\"true\"><\/span>\r\n    <\/div>\r\n\r\n    <!-- LINEA GLOW INFERIOR -->\r\n    <div class=\"gabo-proof-glow bottom\" aria-hidden=\"true\"><\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n\/* =========================\r\n  GABO \u2014 PROOF (Premium + responsive + loading)\r\n  ========================= *\/\r\n.gabo-proof{\r\n  --bg: rgba(0,0,0,0);\r\n  --text: rgba(255,255,255,.94);\r\n\r\n  --glowA: rgba(90,120,255,.55);\r\n  --glowB: rgba(170,90,255,.45);\r\n\r\n  --speed: 28s;\r\n  --gap: clamp(24px, 6vw, 72px);\r\n  --logoH: clamp(24px, 3.2vw, 48px);\r\n\r\n  width: 100%;\r\n  max-width: 100%;\r\n  overflow: hidden;\r\n  background: var(--bg);\r\n  font-family: \"Poppins\", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\r\n}\r\n.gabo-proof *{ box-sizing: border-box; max-width: 100%; }\r\n\r\n.gabo-proof-inner{\r\n  width: 100%;\r\n  padding: clamp(18px, 3vw, 34px) 0;\r\n}\r\n\r\n\/* TITULO *\/\r\n.gabo-proof-title{\r\n  margin: 0;\r\n  padding: 0 16px clamp(14px, 2.2vw, 20px);\r\n  text-align: center;\r\n  color: var(--text);\r\n  font-weight: 600;\r\n  letter-spacing: -0.02em;\r\n  line-height: 1.15;\r\n  font-size: clamp(20px, 3.3vw, 40px);\r\n  text-shadow: 0 16px 42px rgba(0,0,0,.55);\r\n  overflow-wrap: anywhere;\r\n}\r\n.gabo-proof-accent{\r\n  background: linear-gradient(90deg, #ffffff 0%, #ff4fd8 30%, #8b5cff 62%, #4be7ff 100%);\r\n  -webkit-background-clip: text;\r\n  background-clip: text;\r\n  color: transparent;\r\n  font-weight: 700;\r\n}\r\n\r\n\/* GLOW LINE *\/\r\n.gabo-proof-glow{\r\n  height: 2px;\r\n  width: min(1100px, 86vw);\r\n  margin: 0 auto clamp(14px, 2.4vw, 22px);\r\n  background: linear-gradient(90deg,\r\n    transparent 0%,\r\n    rgba(255,255,255,.14) 15%,\r\n    var(--glowA) 35%,\r\n    var(--glowB) 65%,\r\n    rgba(255,255,255,.14) 85%,\r\n    transparent 100%\r\n  );\r\n  filter: blur(.2px);\r\n  box-shadow:\r\n    0 0 22px rgba(90,120,255,.20),\r\n    0 0 30px rgba(170,90,255,.16);\r\n  opacity: .9;\r\n}\r\n.gabo-proof-glow.bottom{ margin: clamp(14px, 2.4vw, 22px) auto 0; }\r\n\r\n\/* MARQUEE *\/\r\n.gabo-proof-marquee{\r\n  position: relative;\r\n  width: 100%;\r\n  overflow: hidden;\r\n  min-height: clamp(84px, 10vw, 130px);\r\n  display: grid;\r\n  align-items: center;\r\n  padding: 0 max(18px, env(safe-area-inset-left)) 0 max(18px, env(safe-area-inset-right));\r\n}\r\n\r\n\/* \u2705 placeholder shimmer *\/\r\n.gabo-proof-shimmer{\r\n  position:absolute;\r\n  inset: 0;\r\n  opacity: 0;\r\n  pointer-events: none;\r\n  transition: opacity .25s ease;\r\n  background:\r\n    radial-gradient(700px 160px at 50% 50%, rgba(170,90,255,.10), transparent 60%),\r\n    linear-gradient(90deg,\r\n      rgba(255,255,255,.00) 0%,\r\n      rgba(255,255,255,.06) 25%,\r\n      rgba(255,255,255,.00) 50%,\r\n      rgba(255,255,255,.06) 75%,\r\n      rgba(255,255,255,.00) 100%\r\n    );\r\n  background-size: 220% 100%;\r\n  animation: gaboShimmer 1.25s linear infinite;\r\n  border-radius: 18px;\r\n}\r\n@keyframes gaboShimmer{\r\n  0%{ background-position: 0% 50%; }\r\n  100%{ background-position: 220% 50%; }\r\n}\r\n\r\n\/* Cuando est\u00e1 cargando, mostramos shimmer y escondemos logos *\/\r\n.gabo-proof-marquee.gabo-loading .gabo-proof-shimmer{ opacity: 1; }\r\n.gabo-proof-marquee.gabo-loading .gabo-proof-track{\r\n  opacity: 0;\r\n  transform: translateZ(0);\r\n}\r\n\r\n\/* Track normal *\/\r\n.gabo-proof-track{\r\n  display: flex;\r\n  align-items: center;\r\n  gap: var(--gap);\r\n  width: max-content;\r\n  animation: gaboProofMove var(--speed) linear infinite;\r\n  will-change: transform;\r\n  transform: translateZ(0);\r\n  opacity: 1;\r\n  transition: opacity .35s ease;\r\n}\r\n@keyframes gaboProofMove{\r\n  0%{ transform: translateX(0); }\r\n  100%{ transform: translateX(-50%); }\r\n}\r\n@media (hover:hover){\r\n  .gabo-proof-marquee:hover .gabo-proof-track{ animation-play-state: paused; }\r\n}\r\n\r\n\/* Logos *\/\r\n.gabo-proof-track img{\r\n  height: var(--logoH);\r\n  width: auto;\r\n  max-width: 260px;\r\n  opacity: .90;\r\n  filter: grayscale(1) saturate(0) brightness(1.35);\r\n  transition: opacity .25s ease, transform .25s ease, filter .25s ease;\r\n  display:block;\r\n}\r\n@media (hover:hover){\r\n  .gabo-proof-track img:hover{\r\n    opacity: 1;\r\n    transform: translateY(-2px);\r\n    filter: grayscale(0) saturate(1) brightness(1.07);\r\n  }\r\n}\r\n\r\n\/* fades *\/\r\n.gabo-proof-fade{\r\n  position:absolute;\r\n  top:0; bottom:0;\r\n  width: clamp(70px, 12vw, 200px);\r\n  pointer-events:none;\r\n}\r\n.gabo-proof-fade.left{\r\n  left:0;\r\n  background: linear-gradient(90deg, rgba(6,8,14,.98), transparent);\r\n}\r\n.gabo-proof-fade.right{\r\n  right:0;\r\n  background: linear-gradient(270deg, rgba(6,8,14,.98), transparent);\r\n}\r\n\r\n\/* Responsive global *\/\r\n@media (max-width: 1024px){ .gabo-proof{ --speed: 24s; } }\r\n@media (max-width: 768px){\r\n  .gabo-proof{ --speed: 20s; --gap: clamp(18px, 6vw, 50px); --logoH: clamp(22px, 4vw, 42px); }\r\n}\r\n@media (max-width: 480px){\r\n  .gabo-proof{ --speed: 18s; --gap: 30px; --logoH: 30px; }\r\n  .gabo-proof-title{ font-size: 18px; line-height: 1.2; padding-bottom: 14px; }\r\n  .gabo-proof-track img{ max-width: 190px; }\r\n}\r\n\r\n\/* Accesibilidad *\/\r\n@media (prefers-reduced-motion: reduce){\r\n  .gabo-proof-track{ animation: none; }\r\n  .gabo-proof-shimmer{ animation: none; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n\/* =========================\r\n  Loading fix: evita \"cuadro vac\u00edo\"\r\n  - muestra shimmer al inicio\r\n  - cuando cargan los primeros logos, aparece track\r\n  ========================= *\/\r\n(function(){\r\n  const marquee = document.querySelector('.gabo-proof-marquee');\r\n  if(!marquee) return;\r\n\r\n  const track = marquee.querySelector('[data-track]');\r\n  if(!track) return;\r\n\r\n  \/\/ Solo contamos los primeros logos (set A) para no esperar duplicados\r\n  const imgs = Array.from(track.querySelectorAll('img'))\r\n    .filter(img => !img.hasAttribute('aria-hidden'))\r\n    .slice(0, 6); \/\/ con 6 ya se ve lleno r\u00e1pido\r\n\r\n  let loaded = 0;\r\n  const done = () => {\r\n    marquee.classList.remove('gabo-loading');\r\n  };\r\n\r\n  const onOne = () => {\r\n    loaded++;\r\n    if(loaded >= imgs.length) done();\r\n  };\r\n\r\n  \/\/ Si ya est\u00e1n en cache, no esperes\r\n  imgs.forEach(img => {\r\n    if (img.complete && img.naturalWidth > 0) return onOne();\r\n    img.addEventListener('load', onOne, { once: true });\r\n    img.addEventListener('error', onOne, { once: true });\r\n  });\r\n\r\n  \/\/ Fallback: si algo bloquea, se muestra igual en 1.2s\r\n  setTimeout(done, 1200);\r\n})();\r\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-b9c58cc e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"b9c58cc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5e8ab63 elementor-widget elementor-widget-html\" data-id=\"5e8ab63\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ====== SERVICIOS | CARRUSEL PREMIUM AUTO | GABODESARROLLADOR ====== -->\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');\r\n\r\n.gdSrvCarousel{\r\n  --txt: rgba(255,255,255,.97);\r\n  --muted: rgba(255,255,255,.72);\r\n  --line: rgba(255,255,255,.10);\r\n  --line2: rgba(255,255,255,.18);\r\n  --accent:#8B5CFF;\r\n  --accent2:#A882FF;\r\n  --accent3:#FF78DB;\r\n  --panel1: rgba(13,9,28,.86);\r\n  --panel2: rgba(8,6,18,.96);\r\n  --shadow: 0 30px 90px rgba(0,0,0,.42);\r\n\r\n  position: relative;\r\n  overflow: hidden;\r\n  padding: clamp(34px,5vw,76px) 0;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  color: var(--txt);\r\n}\r\n\r\n.gdSrvCarousel *{ box-sizing:border-box; }\r\n\r\n.gdSrvCarousel::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:\r\n    radial-gradient(900px 340px at 12% 0%, rgba(139,92,255,.16), transparent 60%),\r\n    radial-gradient(700px 300px at 88% 10%, rgba(255,120,219,.09), transparent 62%);\r\n  pointer-events:none;\r\n}\r\n\r\n.gdSrvCarousel::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background-image:\r\n    linear-gradient(to right, rgba(255,255,255,.018) 1px, transparent 1px),\r\n    linear-gradient(to bottom, rgba(255,255,255,.018) 1px, transparent 1px);\r\n  background-size: 44px 44px;\r\n  opacity:.10;\r\n  pointer-events:none;\r\n}\r\n\r\n.gdSrvCarousel .wrap{\r\n  position:relative;\r\n  z-index:2;\r\n  width:min(1220px,92%);\r\n  margin:0 auto;\r\n}\r\n\r\n.gdSrvCarousel .head{\r\n  text-align:center;\r\n  margin-bottom:26px;\r\n}\r\n\r\n.gdSrvCarousel .eyebrow{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  padding:8px 12px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(255,255,255,.03);\r\n  color:rgba(255,255,255,.92);\r\n  font-size:13px;\r\n  font-weight:800;\r\n  backdrop-filter:blur(10px);\r\n}\r\n\r\n.gdSrvCarousel .eyebrow::before{\r\n  content:\"\";\r\n  width:8px;height:8px;border-radius:999px;\r\n  background:radial-gradient(circle at 30% 30%, #fff, #8B5CFF);\r\n  box-shadow:0 0 0 5px rgba(139,92,255,.12);\r\n}\r\n\r\n.gdSrvCarousel h2{\r\n  margin:12px auto 10px;\r\n  font-size:clamp(30px,4vw,58px);\r\n  line-height:1.08;\r\n  letter-spacing:-0.045em;\r\n  font-weight:600;\r\n  color:#fff;\r\n  max-width:none;\r\n  width:100%;\r\n  text-shadow:0 14px 34px rgba(0,0,0,.42);\r\n}\r\n\r\n.gdSrvCarousel .grad{\r\n  background:linear-gradient(90deg,#B398FF 0%,#FF86E2 100%);\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  color:transparent;\r\n}\r\n\r\n.gdSrvCarousel .sub{\r\n  margin:0 auto;\r\n  max-width:58ch;\r\n  color:var(--muted);\r\n  font-size:15px;\r\n  line-height:1.78;\r\n}\r\n\r\n\/* stage *\/\r\n.gdSrvCarousel .stage{\r\n  position:relative;\r\n  margin-top:28px;\r\n  height: 620px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n}\r\n\r\n.gdSrvCarousel .glow{\r\n  position:absolute;\r\n  inset:auto 50% 70px 50%;\r\n  width:min(900px,90%);\r\n  height:260px;\r\n  transform:translateX(-50%);\r\n  background:radial-gradient(circle, rgba(139,92,255,.24), transparent 62%);\r\n  filter:blur(24px);\r\n  pointer-events:none;\r\n}\r\n\r\n.gdSrvCarousel .track{\r\n  position:relative;\r\n  width:100%;\r\n  height:100%;\r\n  perspective:1200px;\r\n}\r\n\r\n.gdSrvCarousel .card{\r\n  position:absolute;\r\n  top:50%;\r\n  left:50%;\r\n  width:min(380px, 82vw);\r\n  height:520px;\r\n  border-radius:28px;\r\n  border:1px solid var(--line);\r\n  overflow:hidden;\r\n  background:\r\n    radial-gradient(760px 260px at 15% 0%, rgba(139,92,255,.16), transparent 60%),\r\n    radial-gradient(680px 240px at 100% 8%, rgba(255,120,219,.08), transparent 62%),\r\n    linear-gradient(180deg, var(--panel1), var(--panel2));\r\n  box-shadow:var(--shadow);\r\n  transform-style:preserve-3d;\r\n  transition:\r\n    transform .8s cubic-bezier(.22,.61,.36,1),\r\n    opacity .8s ease,\r\n    filter .8s ease,\r\n    box-shadow .8s ease;\r\n  will-change: transform, opacity;\r\n}\r\n\r\n.gdSrvCarousel .card::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background-image:\r\n    linear-gradient(to right, rgba(255,255,255,.018) 1px, transparent 1px),\r\n    linear-gradient(to bottom, rgba(255,255,255,.018) 1px, transparent 1px);\r\n  background-size:42px 42px;\r\n  opacity:.16;\r\n  pointer-events:none;\r\n}\r\n\r\n.gdSrvCarousel .card::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-35% -35%;\r\n  background:linear-gradient(120deg, transparent 42%, rgba(255,255,255,.05), transparent 62%);\r\n  transform:translateX(-14%);\r\n  opacity:.55;\r\n  pointer-events:none;\r\n  animation:gdSrvSheen 10s ease-in-out infinite;\r\n}\r\n\r\n@keyframes gdSrvSheen{\r\n  0%,100%{ transform:translateX(-14%); }\r\n  50%{ transform:translateX(14%); }\r\n}\r\n\r\n.gdSrvCarousel .card.is-center{\r\n  z-index:5;\r\n  box-shadow:0 36px 110px rgba(0,0,0,.52);\r\n}\r\n\r\n.gdSrvCarousel .card.is-left,\r\n.gdSrvCarousel .card.is-right{\r\n  z-index:3;\r\n}\r\n\r\n.gdSrvCarousel .card.is-hidden{\r\n  z-index:1;\r\n  opacity:0;\r\n  pointer-events:none;\r\n}\r\n\r\n\/* transforms desktop *\/\r\n.gdSrvCarousel .card.is-center{\r\n  transform:translate(-50%,-50%) scale(1) rotateY(0deg);\r\n  opacity:1;\r\n  filter:none;\r\n}\r\n.gdSrvCarousel .card.is-left{\r\n  transform:translate(calc(-50% - 325px),-50%) scale(.88) rotateY(18deg);\r\n  opacity:.48;\r\n  filter:blur(.3px);\r\n}\r\n.gdSrvCarousel .card.is-right{\r\n  transform:translate(calc(-50% + 325px),-50%) scale(.88) rotateY(-18deg);\r\n  opacity:.48;\r\n  filter:blur(.3px);\r\n}\r\n.gdSrvCarousel .card.is-back-left{\r\n  transform:translate(calc(-50% - 520px),-50%) scale(.76) rotateY(24deg);\r\n  opacity:.10;\r\n  filter:blur(1px);\r\n}\r\n.gdSrvCarousel .card.is-back-right{\r\n  transform:translate(calc(-50% + 520px),-50%) scale(.76) rotateY(-24deg);\r\n  opacity:.10;\r\n  filter:blur(1px);\r\n}\r\n\r\n.gdSrvCarousel .inner{\r\n  position:relative;\r\n  z-index:2;\r\n  display:flex;\r\n  flex-direction:column;\r\n  height:100%;\r\n}\r\n\r\n.gdSrvCarousel .media{\r\n  position:relative;\r\n  height:58%;\r\n  overflow:hidden;\r\n  border-bottom:1px solid rgba(255,255,255,.08);\r\n}\r\n\r\n.gdSrvCarousel .media img{\r\n  width:100%;\r\n  height:100%;\r\n  object-fit:cover;\r\n  display:block;\r\n  transform:scale(1.02);\r\n}\r\n\r\n.gdSrvCarousel .media::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:\r\n    linear-gradient(180deg, rgba(8,6,18,.08), rgba(8,6,18,.10) 35%, rgba(8,6,18,.88) 100%);\r\n  pointer-events:none;\r\n}\r\n\r\n.gdSrvCarousel .badge{\r\n  position:absolute;\r\n  top:16px;\r\n  left:16px;\r\n  z-index:3;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:8px;\r\n  padding:8px 12px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(10,8,20,.46);\r\n  color:#fff;\r\n  font-size:11.5px;\r\n  font-weight:800;\r\n  letter-spacing:.03em;\r\n  text-transform:uppercase;\r\n  backdrop-filter:blur(10px);\r\n}\r\n\r\n.gdSrvCarousel .content{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:12px;\r\n  padding:20px 20px 22px;\r\n  flex:1;\r\n}\r\n\r\n.gdSrvCarousel .title{\r\n  margin:0;\r\n  font-size:clamp(24px,2vw,32px);\r\n  line-height:1.02;\r\n  letter-spacing:-0.04em;\r\n  font-weight:900;\r\n  color:#fff;\r\n}\r\n\r\n.gdSrvCarousel .text{\r\n  margin:0;\r\n  color:var(--muted);\r\n  font-size:14px;\r\n  line-height:1.72;\r\n  max-width:34ch;\r\n}\r\n\r\n.gdSrvCarousel .chips{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap:8px;\r\n}\r\n\r\n.gdSrvCarousel .chip{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  padding:9px 11px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:rgba(255,255,255,.03);\r\n  color:#fff;\r\n  font-size:12px;\r\n  font-weight:600;\r\n  line-height:1;\r\n}\r\n\r\n.gdSrvCarousel .spacer{ flex:1; }\r\n\r\n.gdSrvCarousel .cta{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:10px;\r\n  width:max-content;\r\n  min-height:48px;\r\n  padding:12px 17px;\r\n  border-radius:14px;\r\n  text-decoration:none;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:linear-gradient(90deg,#A882FF 0%,#8B5CFF 55%,#7447FF 100%);\r\n  color:#fff;\r\n  font-size:13.5px;\r\n  font-weight:800;\r\n  letter-spacing:.01em;\r\n  box-shadow:\r\n    0 16px 36px rgba(139,92,255,.28),\r\n    inset 0 1px 0 rgba(255,255,255,.16);\r\n  transition:transform .2s ease, filter .2s ease, box-shadow .2s ease;\r\n}\r\n\r\n.gdSrvCarousel .cta:hover{\r\n  transform:translateY(-2px);\r\n  filter:brightness(1.04);\r\n  box-shadow:\r\n    0 22px 46px rgba(139,92,255,.36),\r\n    inset 0 1px 0 rgba(255,255,255,.20);\r\n}\r\n\r\n.gdSrvCarousel .cta svg{\r\n  width:18px;\r\n  height:18px;\r\n  flex:0 0 auto;\r\n}\r\n\r\n.gdSrvCarousel .controls{\r\n  margin-top:18px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:12px;\r\n}\r\n\r\n.gdSrvCarousel .arrow{\r\n  appearance:none;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:rgba(255,255,255,.04);\r\n  color:#fff;\r\n  width:48px;\r\n  height:48px;\r\n  border-radius:999px;\r\n  display:grid;\r\n  place-items:center;\r\n  cursor:pointer;\r\n  transition:all .22s ease;\r\n}\r\n\r\n.gdSrvCarousel .arrow:hover{\r\n  background:rgba(255,255,255,.08);\r\n  border-color:rgba(255,255,255,.18);\r\n  transform:translateY(-1px);\r\n}\r\n\r\n.gdSrvCarousel .arrow svg{\r\n  width:18px;\r\n  height:18px;\r\n}\r\n\r\n.gdSrvCarousel .dots{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:8px;\r\n}\r\n\r\n.gdSrvCarousel .dot{\r\n  width:10px;\r\n  height:10px;\r\n  border-radius:999px;\r\n  background:rgba(255,255,255,.18);\r\n  border:none;\r\n  padding:0;\r\n  cursor:pointer;\r\n  transition:all .22s ease;\r\n}\r\n\r\n.gdSrvCarousel .dot.is-active{\r\n  width:28px;\r\n  background:linear-gradient(90deg,#A882FF,#8B5CFF);\r\n}\r\n\r\n\/* mobile *\/\r\n@media (max-width: 980px){\r\n  .gdSrvCarousel .stage{\r\n    height:560px;\r\n  }\r\n\r\n  .gdSrvCarousel .card{\r\n    width:min(350px, 84vw);\r\n    height:500px;\r\n  }\r\n\r\n  .gdSrvCarousel .card.is-left{\r\n    transform:translate(calc(-50% - 230px),-50%) scale(.82) rotateY(14deg);\r\n  }\r\n  .gdSrvCarousel .card.is-right{\r\n    transform:translate(calc(-50% + 230px),-50%) scale(.82) rotateY(-14deg);\r\n  }\r\n  .gdSrvCarousel .card.is-back-left,\r\n  .gdSrvCarousel .card.is-back-right{\r\n    opacity:0;\r\n  }\r\n}\r\n\r\n@media (max-width: 560px){\r\n  .gdSrvCarousel{\r\n    padding:28px 0 40px;\r\n  }\r\n\r\n  .gdSrvCarousel .wrap{\r\n    width:min(100%,94%);\r\n  }\r\n\r\n  .gdSrvCarousel h2{\r\n    font-size:clamp(28px,10vw,42px);\r\n    max-width:100%;\r\n    padding:0 6px;\r\n  }\r\n\r\n  .gdSrvCarousel .sub{\r\n    font-size:14px;\r\n    line-height:1.72;\r\n  }\r\n\r\n  .gdSrvCarousel .stage{\r\n    height:520px;\r\n    margin-top:20px;\r\n  }\r\n\r\n  .gdSrvCarousel .card{\r\n    width:min(320px, 88vw);\r\n    height:470px;\r\n    border-radius:22px;\r\n  }\r\n\r\n  .gdSrvCarousel .card.is-center{\r\n    transform:translate(-50%,-50%) scale(1);\r\n  }\r\n\r\n  .gdSrvCarousel .card.is-left,\r\n  .gdSrvCarousel .card.is-right,\r\n  .gdSrvCarousel .card.is-back-left,\r\n  .gdSrvCarousel .card.is-back-right{\r\n    opacity:0;\r\n    transform:translate(-50%,-50%) scale(.92);\r\n    pointer-events:none;\r\n  }\r\n\r\n  .gdSrvCarousel .media{\r\n    height:54%;\r\n  }\r\n\r\n  .gdSrvCarousel .content{\r\n    padding:16px 16px 18px;\r\n    gap:10px;\r\n  }\r\n\r\n  .gdSrvCarousel .title{\r\n    font-size:28px;\r\n  }\r\n\r\n  .gdSrvCarousel .text{\r\n    font-size:13.5px;\r\n  }\r\n\r\n  .gdSrvCarousel .cta{\r\n    width:100%;\r\n    min-height:46px;\r\n  }\r\n\r\n  .gdSrvCarousel .controls{\r\n    gap:10px;\r\n  }\r\n\r\n  .gdSrvCarousel .arrow{\r\n    width:44px;\r\n    height:44px;\r\n  }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce){\r\n  .gdSrvCarousel .card,\r\n  .gdSrvCarousel .cta,\r\n  .gdSrvCarousel .arrow,\r\n  .gdSrvCarousel .dot{\r\n    transition:none !important;\r\n  }\r\n  .gdSrvCarousel .card::after{\r\n    animation:none !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<section class=\"gdSrvCarousel\" aria-label=\"Servicios\">\r\n  <div class=\"wrap\">\r\n    <div class=\"head\">\r\n      <span class=\"eyebrow\">Servicios destacados<\/span>\r\n      <h2>Servicios con enfoque <span class=\"grad\">estrat\u00e9gico<\/span><\/h2>\r\n      <p class=\"sub\">\r\n        Soluciones digitales dise\u00f1adas para fortalecer marcas, potenciar su presencia y generar mejores oportunidades de crecimiento.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"stage\">\r\n      <div class=\"glow\" aria-hidden=\"true\"><\/div>\r\n\r\n      <div class=\"track\" id=\"gdSrvTrack\">\r\n\r\n        <!-- PAGINAS WEB -->\r\n        <article class=\"card is-center\" data-index=\"0\">\r\n          <div class=\"inner\">\r\n            <div class=\"media\">\r\n              <span class=\"badge\">Servicio principal<\/span>\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/images.unsplash.com\/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=1200&q=80\"\r\n                alt=\"Desarrollo de p\u00e1ginas web\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n              <h3 class=\"title\">P\u00e1ginas web<\/h3>\r\n              <p class=\"text\">\r\n                Creamos sitios modernos, estrat\u00e9gicos y pensados para proyectar marcas con m\u00e1s nivel y mejorar la conversi\u00f3n.\r\n              <\/p>\r\n              <div class=\"chips\">\r\n                <span class=\"chip\">WordPress<\/span>\r\n                <span class=\"chip\">Elementor<\/span>\r\n                <span class=\"chip\">Responsive<\/span>\r\n              <\/div>\r\n              <div class=\"spacer\"><\/div>\r\n              <a href=\"https:\/\/gabodesarrollador.com\/pagina-web\/\" class=\"cta\">\r\n                Ver servicio\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n                  <path d=\"M5 12h12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n                  <path d=\"M13 6l6 6-6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                <\/svg>\r\n              <\/a>\r\n            <\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <!-- BRANDING -->\r\n        <article class=\"card is-right\" data-index=\"1\">\r\n          <div class=\"inner\">\r\n            <div class=\"media\">\r\n              <span class=\"badge\">Imagen de marca<\/span>\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/images.unsplash.com\/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=1200&q=80\"\r\n                alt=\"Branding e identidad visual\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n              <h3 class=\"title\">Branding<\/h3>\r\n              <p class=\"text\">\r\n                Desarrollamos identidades visuales m\u00e1s s\u00f3lidas para que cada negocio se vea m\u00e1s profesional, coherente y memorable.\r\n              <\/p>\r\n              <div class=\"chips\">\r\n                <span class=\"chip\">Identidad visual<\/span>\r\n                <span class=\"chip\">Presencia<\/span>\r\n                <span class=\"chip\">Coherencia<\/span>\r\n              <\/div>\r\n              <div class=\"spacer\"><\/div>\r\n              <a href=\"https:\/\/gabodesarrollador.com\/branding\/\" class=\"cta\">\r\n                Ver servicio\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n                  <path d=\"M5 12h12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n                  <path d=\"M13 6l6 6-6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                <\/svg>\r\n              <\/a>\r\n            <\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <!-- PUBLICIDAD -->\r\n        <article class=\"card is-back-right\" data-index=\"2\">\r\n          <div class=\"inner\">\r\n            <div class=\"media\">\r\n              <span class=\"badge\">Crecimiento digital<\/span>\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/images.unsplash.com\/photo-1557838923-2985c318be48?auto=format&fit=crop&w=1200&q=80\"\r\n                alt=\"Publicidad y estrategia digital\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n              <h3 class=\"title\">Publicidad<\/h3>\r\n              <p class=\"text\">\r\n                Dise\u00f1amos una presentaci\u00f3n m\u00e1s estrat\u00e9gica de los servicios para impulsar campa\u00f1as, visibilidad y captaci\u00f3n.\r\n              <\/p>\r\n              <div class=\"chips\">\r\n                <span class=\"chip\">Anuncios<\/span>\r\n                <span class=\"chip\">Captaci\u00f3n<\/span>\r\n                <span class=\"chip\">Visibilidad<\/span>\r\n              <\/div>\r\n              <div class=\"spacer\"><\/div>\r\n              <a href=\"https:\/\/gabodesarrollador.com\/publicidad\/\" class=\"cta\">\r\n                Ver servicio\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n                  <path d=\"M5 12h12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n                  <path d=\"M13 6l6 6-6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                <\/svg>\r\n              <\/a>\r\n            <\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"controls\">\r\n      <button class=\"arrow\" id=\"gdSrvPrev\" type=\"button\" aria-label=\"Anterior\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n          <path d=\"M15 6l-6 6 6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n        <\/svg>\r\n      <\/button>\r\n\r\n      <div class=\"dots\" id=\"gdSrvDots\">\r\n        <button class=\"dot is-active\" type=\"button\" data-dot=\"0\" aria-label=\"Ir a p\u00e1ginas web\"><\/button>\r\n        <button class=\"dot\" type=\"button\" data-dot=\"1\" aria-label=\"Ir a branding\"><\/button>\r\n        <button class=\"dot\" type=\"button\" data-dot=\"2\" aria-label=\"Ir a publicidad\"><\/button>\r\n      <\/div>\r\n\r\n      <button class=\"arrow\" id=\"gdSrvNext\" type=\"button\" aria-label=\"Siguiente\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n          <path d=\"M9 6l6 6-6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n        <\/svg>\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function(){\r\n  const root = document.querySelector('.gdSrvCarousel');\r\n  if(!root) return;\r\n\r\n  const cards = Array.from(root.querySelectorAll('.card'));\r\n  const prevBtn = root.querySelector('#gdSrvPrev');\r\n  const nextBtn = root.querySelector('#gdSrvNext');\r\n  const dots = Array.from(root.querySelectorAll('.dot'));\r\n\r\n  let current = 0;\r\n  let autoPlay = null;\r\n  const total = cards.length;\r\n\r\n  function getRelativeClass(index){\r\n    const diff = (index - current + total) % total;\r\n\r\n    if(diff === 0) return 'is-center';\r\n    if(diff === 1) return 'is-right';\r\n    if(diff === 2 && total > 3) return 'is-back-right';\r\n    if(diff === total - 1) return 'is-left';\r\n    if(diff === total - 2 && total > 3) return 'is-back-left';\r\n\r\n    if(total === 3){\r\n      if(diff === 1) return 'is-right';\r\n      if(diff === 2) return 'is-left';\r\n    }\r\n\r\n    return 'is-hidden';\r\n  }\r\n\r\n  function render(){\r\n    cards.forEach((card, index) => {\r\n      card.classList.remove('is-center','is-left','is-right','is-back-left','is-back-right','is-hidden');\r\n      card.classList.add(getRelativeClass(index));\r\n    });\r\n\r\n    dots.forEach((dot, index) => {\r\n      dot.classList.toggle('is-active', index === current);\r\n    });\r\n  }\r\n\r\n  function next(){\r\n    current = (current + 1) % total;\r\n    render();\r\n  }\r\n\r\n  function prev(){\r\n    current = (current - 1 + total) % total;\r\n    render();\r\n  }\r\n\r\n  function goTo(index){\r\n    current = index;\r\n    render();\r\n  }\r\n\r\n  function startAuto(){\r\n    stopAuto();\r\n    autoPlay = setInterval(next, 3600);\r\n  }\r\n\r\n  function stopAuto(){\r\n    if(autoPlay) clearInterval(autoPlay);\r\n  }\r\n\r\n  nextBtn.addEventListener('click', () => {\r\n    next();\r\n    startAuto();\r\n  });\r\n\r\n  prevBtn.addEventListener('click', () => {\r\n    prev();\r\n    startAuto();\r\n  });\r\n\r\n  dots.forEach(dot => {\r\n    dot.addEventListener('click', () => {\r\n      goTo(Number(dot.dataset.dot));\r\n      startAuto();\r\n    });\r\n  });\r\n\r\n  root.addEventListener('mouseenter', stopAuto);\r\n  root.addEventListener('mouseleave', startAuto);\r\n  root.addEventListener('focusin', stopAuto);\r\n  root.addEventListener('focusout', startAuto);\r\n\r\n  render();\r\n  startAuto();\r\n})();\r\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-ebaaa5b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"ebaaa5b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cfd5966 elementor-widget elementor-widget-html\" data-id=\"cfd5966\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u2705 PLANETA + TEXTO (BLOQUE COMPLETO)\r\n     \u2705 Fondo MORADO (solo fondo)\r\n     \u2705 Planeta con sus colores originales (teal\/real)\r\n     \u2705 Planeta m\u00e1s a la derecha para que el t\u00edtulo respire a la izquierda\r\n     \u2705 Responsive intacto\r\n-->\r\n\r\n<style>\r\n  #globeShopifyFix{\r\n    position:relative;\r\n    width:100%;\r\n    height:640px;\r\n    overflow:hidden;\r\n    border-radius:18px;\r\n\r\n    \/* \u2705 SOLO EL FONDO morado *\/\r\n    background:radial-gradient(ellipse at center,#120018 0%,#07000d 55%,#000 100%);\r\n    isolation:isolate;\r\n  }\r\n\r\n  #globeShopifyFix canvas{\r\n    position:absolute !important;\r\n    inset:0 !important;\r\n    width:100% !important;\r\n    height:100% !important;\r\n    z-index:1 !important;\r\n    display:block;\r\n  }\r\n\r\n  \/* Overlay sutil (solo ambiente, NO ti\u00f1e el planeta) *\/\r\n  #globeShopifyFix::before{\r\n    content:\"\";\r\n    position:absolute;\r\n    inset:0;\r\n    z-index:2;\r\n    pointer-events:none;\r\n    background:\r\n      radial-gradient(120% 80% at 20% 15%, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 55%),\r\n      linear-gradient(to bottom, rgba(0,0,0,.30) 0%, rgba(0,0,0,0) 55%, rgba(0,0,0,.28) 100%);\r\n    opacity:.62;\r\n  }\r\n\r\n  \/* Texto *\/\r\n  #globeShopifyFix .heroText{\r\n    position:absolute;\r\n    left:6vw;\r\n    top:12vh;\r\n    z-index:10;\r\n    max-width:min(640px,54vw);\r\n    color:#eafff7;\r\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n    text-shadow:0 0 28px rgba(255,255,255,.10);\r\n    pointer-events:none;\r\n  }\r\n  #globeShopifyFix .heroKicker{\r\n    font-size:clamp(14px,1.1vw,16px);\r\n    letter-spacing:.12em;\r\n    text-transform:uppercase;\r\n    opacity:.82;\r\n    margin-bottom:12px;\r\n  }\r\n  #globeShopifyFix .heroTitle{\r\n    font-size:clamp(34px,4.0vw,64px);\r\n    line-height:1.02;\r\n    font-weight:900;\r\n    margin:0 0 12px;\r\n  }\r\n  #globeShopifyFix .heroDesc{\r\n    opacity:.86;\r\n    font-size:clamp(12px,1.15vw,16px);\r\n    line-height:1.6;\r\n    margin-bottom:14px;\r\n  }\r\n  #globeShopifyFix .heroChips{\r\n    display:flex;\r\n    gap:10px;\r\n    flex-wrap:wrap;\r\n    opacity:.96;\r\n  }\r\n  #globeShopifyFix .chip{\r\n    padding:10px 12px;\r\n    border-radius:12px;\r\n    border:1px solid rgba(170,90,255,.26); \/* si quieres chips morados como el fondo *\/\r\n    background:rgba(0,0,0,.22);\r\n    backdrop-filter:blur(6px);\r\n    -webkit-backdrop-filter:blur(6px);\r\n    font-size:12px;\r\n    box-shadow:0 0 26px rgba(170,90,255,.10);\r\n  }\r\n\r\n  \/* Badge *\/\r\n  #globeShopifyFix .heroBadge{\r\n    position:absolute;\r\n    right:5vw;\r\n    bottom:8vh;\r\n    z-index:10;\r\n    padding:12px 14px;\r\n    border-radius:12px;\r\n    border:1px solid rgba(170,90,255,.26);\r\n    background:rgba(0,0,0,.22);\r\n    color:rgba(210,255,245,.92);\r\n    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;\r\n    font-size:12px;\r\n    box-shadow:0 0 26px rgba(170,90,255,.12);\r\n    backdrop-filter:blur(6px);\r\n    -webkit-backdrop-filter:blur(6px);\r\n    pointer-events:none;\r\n    max-width:min(360px,40vw);\r\n  }\r\n  #globeShopifyFix .heroBadge span{ opacity:.85; }\r\n\r\n  \/* =========================\r\n     MOBILE\r\n  ========================= *\/\r\n  @media (max-width: 768px){\r\n    #globeShopifyFix{\r\n      height:clamp(520px, 78svh, 620px);\r\n      border-radius:16px;\r\n    }\r\n    #globeShopifyFix::before{ opacity:.78; }\r\n\r\n    #globeShopifyFix .heroText{\r\n      left:0;\r\n      right:0;\r\n      top:18px;\r\n      max-width:92vw;\r\n      margin:0 auto;\r\n      padding:0 16px;\r\n    }\r\n    #globeShopifyFix .heroKicker{\r\n      font-size:12px;\r\n      letter-spacing:.10em;\r\n      margin-bottom:10px;\r\n    }\r\n    #globeShopifyFix .heroTitle{\r\n      font-size:clamp(26px, 8.2vw, 40px);\r\n      line-height:1.05;\r\n      margin-bottom:10px;\r\n    }\r\n    #globeShopifyFix .heroDesc{\r\n      font-size:clamp(13px, 3.7vw, 15px);\r\n      line-height:1.5;\r\n      margin-bottom:12px;\r\n      opacity:.90;\r\n      max-width:58ch;\r\n    }\r\n    #globeShopifyFix .heroChips{ gap:8px; }\r\n    #globeShopifyFix .chip{\r\n      width:calc(50% - 4px);\r\n      box-sizing:border-box;\r\n      padding:10px 10px;\r\n      font-size:12px;\r\n      border-radius:12px;\r\n    }\r\n    #globeShopifyFix .heroBadge{\r\n      left:16px;\r\n      right:16px;\r\n      bottom:14px;\r\n      width:auto;\r\n      max-width:none;\r\n      padding:10px 12px;\r\n      font-size:11px;\r\n      border-radius:12px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 420px){\r\n    #globeShopifyFix{\r\n      height:clamp(520px, 82svh, 660px);\r\n    }\r\n    #globeShopifyFix .heroDesc{ font-size:13px; }\r\n  }\r\n<\/style>\r\n\r\n<div id=\"globeShopifyFix\">\r\n  <div class=\"heroText\">\r\n    <div class=\"heroKicker\">Gabo Desarrollador \u00b7 Agencia Digital \u00b7 Per\u00fa<\/div>\r\n    <div class=\"heroTitle\">Desde Per\u00fa, para marcas globales.<\/div>\r\n    <div class=\"heroDesc\">\r\n      Dise\u00f1o y desarrollo a medida para que tu web se vea premium, cargue r\u00e1pido y convierta. Estrategia, ejecuci\u00f3n y soporte en un solo equipo.\r\n    <\/div>\r\n    <div class=\"heroChips\">\r\n      <div class=\"chip\">\u26a1 Velocidad + performance<\/div>\r\n      <div class=\"chip\">\ud83c\udfaf Conversi\u00f3n y SEO<\/div>\r\n      <div class=\"chip\">\ud83d\udd12 Soporte y mejora continua<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"heroBadge\">\r\n    PROYECTOS EN VIVO<br\/>\r\n    <span>Per\u00fa \u2192 Latam \u2192 USA \u2192 Europa \u2192 Asia<\/span>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/three@0.160.0\/build\/three.min.js\"><\/script>\r\n\r\n<script>\r\n(() => {\r\n  const mount = document.getElementById(\"globeShopifyFix\");\r\n  if (!mount) return;\r\n  if (mount.dataset.inited === \"1\") return;\r\n  mount.dataset.inited = \"1\";\r\n\r\n  const CONFIG = {\r\n    R: 1.0,\r\n    startLikeShopify: false,\r\n\r\n    globeSpeed: 0.06,\r\n    cloudsSpeed: 0.08,\r\n    exposure: 1.26,\r\n\r\n    arcSurfaceScale: 1.004,\r\n    arcHeightMin: 0.12,\r\n    arcHeightMax: 0.42,\r\n\r\n    maxRays: 12,\r\n\r\n    rayRadius: 0.0048,\r\n    rayRadialSegments: 8,\r\n    bandLenMin: 0.16,\r\n    bandLenMax: 0.28,\r\n    rayBaseAlpha: 0.10,\r\n    rayHeadAlpha: 1.15,\r\n    rayGlowMin: 1.10,\r\n    rayGlowMax: 1.80,\r\n\r\n    impactSize: 0.060,\r\n    impactAlpha: 0.95,\r\n    impactPulseSpeed: 2.0,\r\n\r\n    visibleDotMin: 0.06,\r\n    curveVisibleDotMin: -0.02,\r\n\r\n    cityCount: 220,\r\n    cityAlpha: 0.75,\r\n\r\n    \/* \u2705 NUEVO: empujar planeta a la derecha (solo composici\u00f3n) *\/\r\n    earthOffsetX: 0.58   \/\/ prueba 0.50\u20130.70 seg\u00fan tu gusto\r\n  };\r\n\r\n  const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true, powerPreference: \"high-performance\" });\r\n  renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 2));\r\n  renderer.setSize(mount.clientWidth, mount.clientHeight);\r\n  renderer.outputColorSpace = THREE.SRGBColorSpace;\r\n  renderer.toneMapping = THREE.ACESFilmicToneMapping;\r\n  renderer.toneMappingExposure = CONFIG.exposure;\r\n\r\n  renderer.domElement.style.position = \"absolute\";\r\n  renderer.domElement.style.inset = \"0\";\r\n  renderer.domElement.style.zIndex = \"1\";\r\n  mount.appendChild(renderer.domElement);\r\n\r\n  const scene = new THREE.Scene();\r\n  const camera = new THREE.PerspectiveCamera(42, mount.clientWidth \/ mount.clientHeight, 0.1, 3000);\r\n\r\n  \/* C\u00e1mara igual *\/\r\n  camera.position.set(0.0, 0.10, 3.20);\r\n\r\n  scene.add(new THREE.AmbientLight(0xffffff, 0.55));\r\n\r\n  const sun = new THREE.DirectionalLight(0xffffff, 1.65);\r\n  sun.position.set(6.5, 3.0, 6.5);\r\n  scene.add(sun);\r\n\r\n  \/* \u2705 Planeta vuelve a su look original (teal) *\/\r\n  const rim = new THREE.DirectionalLight(0x7bffe3, 0.55);\r\n  rim.position.set(-6.0, 1.5, -6.0);\r\n  scene.add(rim);\r\n\r\n  (function addStars(count = 1200, spread = 85) {\r\n    const geo = new THREE.BufferGeometry();\r\n    const pos = new Float32Array(count * 3);\r\n    for (let i = 0; i < count; i++) {\r\n      const r = spread * (0.35 + Math.random());\r\n      const theta = Math.random() * Math.PI * 2;\r\n      const phi = Math.acos(2 * Math.random() - 1);\r\n      pos[i*3+0] = r * Math.sin(phi) * Math.cos(theta);\r\n      pos[i*3+1] = r * Math.cos(phi);\r\n      pos[i*3+2] = r * Math.sin(phi) * Math.sin(theta);\r\n    }\r\n    geo.setAttribute(\"position\", new THREE.BufferAttribute(pos, 3));\r\n    const mat = new THREE.PointsMaterial({ size: 0.055, transparent: true, opacity: 0.85 });\r\n    scene.add(new THREE.Points(geo, mat));\r\n  })();\r\n\r\n  const R = CONFIG.R;\r\n  const V3 = THREE.Vector3;\r\n  const loader = new THREE.TextureLoader();\r\n  loader.crossOrigin = \"anonymous\";\r\n\r\n  function rand(min, max) { return min + Math.random() * (max - min); }\r\n  function pick(arr) { return arr[(Math.random() * arr.length) | 0]; }\r\n\r\n  function latLonToVec3(latDeg, lonDeg, radius) {\r\n    const lat = THREE.MathUtils.degToRad(latDeg);\r\n    const lon = THREE.MathUtils.degToRad(-lonDeg);\r\n    const x = -radius * Math.cos(lat) * Math.sin(lon);\r\n    const y =  radius * Math.sin(lat);\r\n    const z =  radius * Math.cos(lat) * Math.cos(lon);\r\n    return new V3(x, y, z);\r\n  }\r\n\r\n  const earth = new THREE.Group();\r\n  scene.add(earth);\r\n\r\n  \/* \u2705 Aqu\u00ed movemos el planeta a la derecha *\/\r\n  earth.position.x = CONFIG.earthOffsetX;\r\n\r\n  const SHOPIFY_ROT = THREE.MathUtils.degToRad(-105);\r\n  const baseRot = CONFIG.startLikeShopify ? SHOPIFY_ROT : 0.0;\r\n  earth.rotation.y = baseRot;\r\n\r\n  const TEX_DAY    = \"https:\/\/threejs.org\/examples\/textures\/planets\/earth_atmos_2048.jpg\";\r\n  const TEX_NORMAL = \"https:\/\/threejs.org\/examples\/textures\/planets\/earth_normal_2048.jpg\";\r\n  const TEX_SPEC   = \"https:\/\/threejs.org\/examples\/textures\/planets\/earth_specular_2048.jpg\";\r\n  const TEX_CLOUDS = \"https:\/\/threejs.org\/examples\/textures\/planets\/earth_clouds_1024.png\";\r\n\r\n  const earthMat = new THREE.MeshStandardMaterial({\r\n    metalness: 0.02,\r\n    roughness: 0.72,\r\n    color: 0xffffff,\r\n    emissive: new THREE.Color(0x0a2b22),\r\n    emissiveIntensity: 0.18\r\n  });\r\n\r\n  const earthMesh = new THREE.Mesh(new THREE.SphereGeometry(R, 128, 128), earthMat);\r\n  earth.add(earthMesh);\r\n\r\n  const tintMat = new THREE.MeshBasicMaterial({\r\n    color: 0x78ffd9,\r\n    transparent: true,\r\n    opacity: 0.14,\r\n    blending: THREE.AdditiveBlending,\r\n    depthWrite: false\r\n  });\r\n  const tintMesh = new THREE.Mesh(new THREE.SphereGeometry(R * 1.0008, 96, 96), tintMat);\r\n  earth.add(tintMesh);\r\n\r\n  const cloudsMat = new THREE.MeshPhongMaterial({\r\n    transparent: true,\r\n    opacity: 0.18,\r\n    depthWrite: false\r\n  });\r\n  const clouds = new THREE.Mesh(new THREE.SphereGeometry(R * 1.012, 96, 96), cloudsMat);\r\n  earth.add(clouds);\r\n\r\n  earth.add(new THREE.Mesh(\r\n    new THREE.SphereGeometry(R * 1.07, 64, 64),\r\n    new THREE.MeshBasicMaterial({\r\n      color: 0x6fffd6,\r\n      transparent: true,\r\n      opacity: 0.06,\r\n      blending: THREE.AdditiveBlending,\r\n      side: THREE.BackSide,\r\n      depthWrite: false\r\n    })\r\n  ));\r\n\r\n  loader.load(TEX_DAY, (t) => {\r\n    t.colorSpace = THREE.SRGBColorSpace;\r\n    t.anisotropy = Math.min(8, renderer.capabilities.getMaxAnisotropy());\r\n    earthMat.map = t;\r\n    earthMat.needsUpdate = true;\r\n  });\r\n  loader.load(TEX_NORMAL, (t) => {\r\n    earthMat.normalMap = t;\r\n    earthMat.normalScale.set(0.95, 0.95);\r\n    earthMat.needsUpdate = true;\r\n  });\r\n  loader.load(TEX_SPEC, (t) => {\r\n    earthMat.roughnessMap = t;\r\n    earthMat.roughness = 0.70;\r\n    earthMat.needsUpdate = true;\r\n  });\r\n  loader.load(TEX_CLOUDS, (t) => {\r\n    t.colorSpace = THREE.SRGBColorSpace;\r\n    cloudsMat.map = t;\r\n    cloudsMat.needsUpdate = true;\r\n  });\r\n\r\n  function makeRadialTexture(size = 128) {\r\n    const c = document.createElement(\"canvas\");\r\n    c.width = c.height = size;\r\n    const ctx = c.getContext(\"2d\");\r\n    const g = ctx.createRadialGradient(size\/2, size\/2, 0, size\/2, size\/2, size\/2);\r\n    g.addColorStop(0.00, \"rgba(255,255,255,1)\");\r\n    g.addColorStop(0.18, \"rgba(255,255,255,0.85)\");\r\n    g.addColorStop(0.45, \"rgba(255,255,255,0.18)\");\r\n    g.addColorStop(1.00, \"rgba(255,255,255,0)\");\r\n    ctx.fillStyle = g;\r\n    ctx.fillRect(0, 0, size, size);\r\n    const tex = new THREE.CanvasTexture(c);\r\n    tex.colorSpace = THREE.SRGBColorSpace;\r\n    return tex;\r\n  }\r\n  const radialTex = makeRadialTexture(128);\r\n\r\n  function makeSprite(pos, size, color, opacity) {\r\n    const mat = new THREE.SpriteMaterial({\r\n      map: radialTex,\r\n      transparent: true,\r\n      depthWrite: false,\r\n      blending: THREE.AdditiveBlending,\r\n      opacity: opacity ?? 1,\r\n      color: color ?? 0xffffff\r\n    });\r\n    const spr = new THREE.Sprite(mat);\r\n    spr.position.copy(pos);\r\n    spr.scale.set(size, size, size);\r\n    spr.renderOrder = 25;\r\n    return spr;\r\n  }\r\n\r\n  const cityGroup = new THREE.Group();\r\n  earth.add(cityGroup);\r\n\r\n  function spawnCities() {\r\n    const hubs = [\r\n      { lat: 40.7128, lon: -74.0060 }, { lat: 34.0522, lon: -118.2437 }, { lat: 41.8781, lon: -87.6298 },\r\n      { lat: 51.5074, lon: -0.1278 }, { lat: 48.8566, lon: 2.3522 }, { lat: 52.5200, lon: 13.4050 },\r\n      { lat: 30.0444, lon: 31.2357 }, { lat: -26.2041, lon: 28.0473 },\r\n      { lat: 35.6762, lon: 139.6503 }, { lat: 1.3521, lon: 103.8198 },\r\n      { lat: -12.0464, lon: -77.0428 }, { lat: -33.4489, lon: -70.6693 }, { lat: 4.7110, lon: -74.0721 },\r\n    ];\r\n    while (cityGroup.children.length) {\r\n      const c = cityGroup.children.pop();\r\n      c.material && c.material.dispose && c.material.dispose();\r\n    }\r\n    for (let i = 0; i < CONFIG.cityCount; i++) {\r\n      const h = pick(hubs);\r\n      const ll = { lat: h.lat + rand(-3.0, 3.0), lon: h.lon + rand(-3.0, 3.0) };\r\n      const p = latLonToVec3(ll.lat, ll.lon, R * 1.0018);\r\n      const s = rand(0.010, 0.022);\r\n      const spr = makeSprite(p, s, 0xffc97a, CONFIG.cityAlpha * rand(0.6, 1.0));\r\n      cityGroup.add(spr);\r\n    }\r\n  }\r\n  spawnCities();\r\n\r\n  function isWorldPointVisible(worldPos) {\r\n    const n = worldPos.clone().normalize();\r\n    const camDir = camera.position.clone().normalize();\r\n    return n.dot(camDir) > CONFIG.visibleDotMin;\r\n  }\r\n  function isCurveVisibleEnough(curve) {\r\n    const pts = curve.getPoints(14);\r\n    const camDir = camera.position.clone().normalize();\r\n    for (let i = 0; i < pts.length; i++) {\r\n      const w = earth.localToWorld(pts[i].clone());\r\n      const n = w.clone().normalize();\r\n      if (n.dot(camDir) < CONFIG.curveVisibleDotMin) return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  const rayGroup = new THREE.Group();\r\n  earth.add(rayGroup);\r\n\r\n  function makeArc(A, B, height) {\r\n    const start = latLonToVec3(A.lat, A.lon, R * CONFIG.arcSurfaceScale);\r\n    const end   = latLonToVec3(B.lat, B.lon, R * CONFIG.arcSurfaceScale);\r\n    const mid   = start.clone().add(end).multiplyScalar(0.5).normalize()\r\n      .multiplyScalar(R * (1 + height));\r\n    const curve = new THREE.QuadraticBezierCurve3(start, mid, end);\r\n    return { curve, start, end };\r\n  }\r\n\r\n  function makeRayTube(A, B) {\r\n    const height = rand(CONFIG.arcHeightMin, CONFIG.arcHeightMax);\r\n    const { curve, start, end } = makeArc(A, B, height);\r\n\r\n    const tubeGeo = new THREE.TubeGeometry(curve, 260, CONFIG.rayRadius, CONFIG.rayRadialSegments, false);\r\n\r\n    const mat = new THREE.ShaderMaterial({\r\n      transparent: true,\r\n      depthWrite: false,\r\n      blending: THREE.AdditiveBlending,\r\n      uniforms: {\r\n        uTime: { value: 0 },\r\n        uSpeed:{ value: rand(0.085, 0.155) },\r\n        uLen:  { value: rand(CONFIG.bandLenMin, CONFIG.bandLenMax) },\r\n        uBase: { value: CONFIG.rayBaseAlpha },\r\n        uHead: { value: CONFIG.rayHeadAlpha },\r\n        uGlow: { value: rand(CONFIG.rayGlowMin, CONFIG.rayGlowMax) },\r\n      },\r\n      vertexShader: `\r\n        varying vec2 vUv;\r\n        void main(){\r\n          vUv = uv;\r\n          vec4 mv = modelViewMatrix * vec4(position, 1.0);\r\n          gl_Position = projectionMatrix * mv;\r\n        }\r\n      `,\r\n      fragmentShader: `\r\n        uniform float uTime, uSpeed, uLen, uBase, uHead, uGlow;\r\n        varying vec2 vUv;\r\n\r\n        float headBand(float u, float head, float len){\r\n          float d = abs(u - head);\r\n          d = min(d, 1.0 - d);\r\n          float core = 1.0 - smoothstep(0.0, len * 0.22, d);\r\n          float tail = 1.0 - smoothstep(len * 0.22, len, d);\r\n          return core * 0.85 + tail * 0.40;\r\n        }\r\n\r\n        void main(){\r\n          float u = vUv.x;\r\n          float head = fract(uTime * uSpeed);\r\n          float band = headBand(u, head, uLen);\r\n\r\n          float a = (uBase + band * uHead) * uGlow;\r\n          a = clamp(a, 0.0, 1.0);\r\n\r\n          vec3 col = vec3(0.92, 0.97, 1.0);\r\n          gl_FragColor = vec4(col, a);\r\n        }\r\n      `\r\n    });\r\n\r\n    const mesh = new THREE.Mesh(tubeGeo, mat);\r\n    mesh.renderOrder = 10;\r\n    mesh.material.depthTest = true;\r\n    rayGroup.add(mesh);\r\n\r\n    const glowGeo = new THREE.TubeGeometry(curve, 260, CONFIG.rayRadius * 2.2, CONFIG.rayRadialSegments, false);\r\n    const glowMat = new THREE.MeshBasicMaterial({\r\n      color: 0xffffff, transparent: true, opacity: 0.10,\r\n      blending: THREE.AdditiveBlending, depthWrite: false\r\n    });\r\n    const glowMesh = new THREE.Mesh(glowGeo, glowMat);\r\n    glowMesh.renderOrder = 9;\r\n    rayGroup.add(glowMesh);\r\n\r\n    const aDot = makeSprite(start, CONFIG.impactSize * 0.90, 0xffffff, CONFIG.impactAlpha);\r\n    const bDot = makeSprite(end,   CONFIG.impactSize * 1.05, 0xffffff, CONFIG.impactAlpha);\r\n    rayGroup.add(aDot, bDot);\r\n\r\n    const sparks = [];\r\n    for (let i = 0; i < 18; i++) {\r\n      const u = Math.random();\r\n      const p = curve.getPoint(u);\r\n      const s = makeSprite(p, 0.020 * rand(0.6, 1.15), 0xffffff, rand(0.20, 0.55));\r\n      s.userData.u = u;\r\n      s.userData.speed = rand(0.05, 0.16);\r\n      s.userData.phase = rand(0, Math.PI * 2);\r\n      sparks.push(s);\r\n      rayGroup.add(s);\r\n    }\r\n\r\n    return { curve, mesh, mat, glowMesh, aDot, bDot, sparks, t0: performance.now() * 0.001, life: rand(3.6, 6.4) };\r\n  }\r\n\r\n  const HUBS = [\r\n    { lat: 40.7128, lon: -74.0060 }, { lat: 34.0522, lon: -118.2437 }, { lat: 41.8781, lon: -87.6298 },\r\n    { lat: 29.7604, lon: -95.3698 }, { lat: 25.7617, lon: -80.1918 }, { lat: 19.4326, lon: -99.1332 },\r\n    { lat: -12.0464, lon: -77.0428 }, { lat: -33.4489, lon: -70.6693 }, { lat: 4.7110, lon: -74.0721 },\r\n    { lat: -23.5505, lon: -46.6333 },\r\n    { lat: 51.5074, lon: -0.1278 }, { lat: 48.8566, lon: 2.3522 }, { lat: 52.5200, lon: 13.4050 },\r\n    { lat: 40.4168, lon: -3.7038 }, { lat: 41.9028, lon: 12.4964 },\r\n    { lat: 30.0444, lon: 31.2357 }, { lat: -26.2041, lon: 28.0473 }, { lat: 6.5244, lon: 3.3792 },\r\n    { lat: 35.6762, lon: 139.6503 }, { lat: 1.3521, lon: 103.8198 }, { lat: 37.5665, lon: 126.9780 },\r\n    { lat: -33.8688, lon: 151.2093 },\r\n  ];\r\n\r\n  function jitterLL(ll, deg=2.8){\r\n    return { lat: ll.lat + rand(-deg, deg), lon: ll.lon + rand(-deg, deg) };\r\n  }\r\n\r\n  const active = [];\r\n\r\n  function spawnRayAlwaysVisible() {\r\n    earth.updateMatrixWorld(true);\r\n\r\n    for (let tries = 0; tries < 90; tries++) {\r\n      const A = jitterLL(pick(HUBS), 2.8);\r\n      const B = jitterLL(pick(HUBS), 2.8);\r\n      if (A.lat === B.lat && A.lon === B.lon) continue;\r\n\r\n      const height = rand(CONFIG.arcHeightMin, CONFIG.arcHeightMax);\r\n      const { curve, start, end } = makeArc(A, B, height);\r\n\r\n      const startW = earth.localToWorld(start.clone());\r\n      const endW   = earth.localToWorld(end.clone());\r\n\r\n      if (!isWorldPointVisible(startW)) continue;\r\n      if (!isWorldPointVisible(endW)) continue;\r\n      if (!isCurveVisibleEnough(curve)) continue;\r\n\r\n      const ray = makeRayTube(A, B);\r\n      active.push(ray);\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  for (let i = 0; i < 10; i++) spawnRayAlwaysVisible();\r\n\r\n  let lastSpawn = performance.now() * 0.001;\r\n\r\n  function tick() {\r\n    if (!mount.isConnected) return;\r\n    requestAnimationFrame(tick);\r\n\r\n    const t = performance.now() * 0.001;\r\n\r\n    earth.rotation.y = baseRot + t * CONFIG.globeSpeed;\r\n    clouds.rotation.y = baseRot + t * CONFIG.cloudsSpeed;\r\n\r\n    if (t - lastSpawn > rand(0.38, 0.78)) {\r\n      lastSpawn = t;\r\n\r\n      if (active.length < CONFIG.maxRays) spawnRayAlwaysVisible();\r\n      else {\r\n        const old = active.shift();\r\n        rayGroup.remove(old.mesh, old.glowMesh, old.aDot, old.bDot);\r\n        old.mesh.geometry.dispose();\r\n        old.mesh.material.dispose();\r\n        old.glowMesh.geometry.dispose();\r\n        old.glowMesh.material.dispose();\r\n        old.aDot.material.dispose();\r\n        old.bDot.material.dispose();\r\n        for (const s of old.sparks) { rayGroup.remove(s); s.material.dispose(); }\r\n        spawnRayAlwaysVisible();\r\n      }\r\n    }\r\n\r\n    for (let i = active.length - 1; i >= 0; i--) {\r\n      const ray = active[i];\r\n      const age = t - ray.t0;\r\n\r\n      ray.mat.uniforms.uTime.value = age;\r\n\r\n      const pulse = 0.65 + 0.35 * Math.sin((age * CONFIG.impactPulseSpeed) + i);\r\n      ray.aDot.material.opacity = CONFIG.impactAlpha * pulse;\r\n      ray.bDot.material.opacity = CONFIG.impactAlpha * (0.72 + 0.28 * Math.cos((age * CONFIG.impactPulseSpeed) + i));\r\n\r\n      for (const s of ray.sparks) {\r\n        const u = (s.userData.u + age * s.userData.speed) % 1;\r\n        s.position.copy(ray.curve.getPoint(u));\r\n        s.material.opacity = 0.18 + 0.40 * (0.5 + 0.5 * Math.sin(age * 3.0 + s.userData.phase));\r\n      }\r\n\r\n      if (age >= ray.life) {\r\n        rayGroup.remove(ray.mesh, ray.glowMesh, ray.aDot, ray.bDot);\r\n        ray.mesh.geometry.dispose();\r\n        ray.mesh.material.dispose();\r\n        ray.glowMesh.geometry.dispose();\r\n        ray.glowMesh.material.dispose();\r\n        ray.aDot.material.dispose();\r\n        ray.bDot.material.dispose();\r\n        for (const s of ray.sparks) { rayGroup.remove(s); s.material.dispose(); }\r\n        active.splice(i, 1);\r\n      }\r\n    }\r\n\r\n    renderer.render(scene, camera);\r\n  }\r\n  tick();\r\n\r\n  function onResize() {\r\n    const w = mount.clientWidth || 1;\r\n    const h = mount.clientHeight || 1;\r\n    renderer.setSize(w, h, false);\r\n    camera.aspect = w \/ h;\r\n    camera.updateProjectionMatrix();\r\n    renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 2));\r\n  }\r\n\r\n  window.addEventListener(\"resize\", onResize, { passive: true });\r\n  window.addEventListener(\"orientationchange\", () => setTimeout(onResize, 250), { passive: true });\r\n\r\n  const ro = new ResizeObserver(() => onResize());\r\n  ro.observe(mount);\r\n\r\n  setTimeout(onResize, 0);\r\n})();\r\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-3c24e50 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"3c24e50\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-23928e1 elementor-widget elementor-widget-html\" data-id=\"23928e1\" data-element_type=\"widget\" data-e-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  GABO \u2014 3D PORTFOLIO MARQUEE (Vertical Strips)\r\n  PREMIUM 3D v1: innovador, ligero, sin mil etiquetas\r\n  Pegar en: Elementor > Widget HTML\r\n  ========================= -->\r\n\r\n<section class=\"gabo-3d-marquee\" aria-label=\"Portafolio 3D en movimiento\">\r\n  <div class=\"gabo-3d-container\">\r\n    <div class=\"gabo-3d-stage\">\r\n\r\n      <!-- Header pro minimal -->\r\n      <div class=\"gabo-3d-head\" aria-hidden=\"true\">\r\n        <div class=\"gabo-3d-pill\">\r\n          <span class=\"gabo-3d-dot\"><\/span>\r\n          <span class=\"gabo-3d-title\">Portafolio<\/span>\r\n          <span class=\"gabo-3d-sub\">\u2022 Dise\u00f1o web premium<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- ===== Columnas ===== -->\r\n      <div class=\"gabo-3d-strip gabo-up\">\r\n        <div class=\"gabo-3d-track\">\r\n          <!-- SET A -->\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto BioSnack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/biosnack-1.png\">\r\n            <figcaption class=\"gabo-3d-cap\">BioSnack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Enfoque50\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/enfoque50-pagina-web-creada-por-gabodesarrollador-developer.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Enfoque50<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Holding\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/holding-e1758416995929.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Holding<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto AmyPack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/amypack-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">AmyPack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Aut\u00e9nticaspa Nails\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/autenticaspanails-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Aut\u00e9nticaspa<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Asenpro\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/asenpro2.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Asenpro<\/figcaption>\r\n          <\/figure>\r\n\r\n          <!-- DUPLICADO -->\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto BioSnack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/biosnack-1.png\">\r\n            <figcaption class=\"gabo-3d-cap\">BioSnack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Enfoque50\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/enfoque50-pagina-web-creada-por-gabodesarrollador-developer.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Enfoque50<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Holding\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/holding-e1758416995929.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Holding<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto AmyPack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/amypack-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">AmyPack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Aut\u00e9nticaspa Nails\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/autenticaspanails-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Aut\u00e9nticaspa<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Asenpro\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/asenpro2.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Asenpro<\/figcaption>\r\n          <\/figure>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"gabo-3d-strip gabo-down\">\r\n        <div class=\"gabo-3d-track\">\r\n          <!-- SET B -->\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Latam\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/latam2.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Latam<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto HJ Project\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/hjproject-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">HJ Project<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Corgemisac\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/corgemisacgabodesarrollador-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Corgemisac<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Nukleo\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/nukleo-pagina-web-creada-por-gabo-desarrollador.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Nukleo<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Rinconcito Sullanero\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/rinconcitosullanero-pagina-web-creada-por-gabodesarrollador.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Rinconcito<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Black Enterprise\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2024\/06\/black-enterprise-gabo-desarrollador.png\">\r\n            <figcaption class=\"gabo-3d-cap\">Black Enterprise<\/figcaption>\r\n          <\/figure>\r\n\r\n          <!-- DUPLICADO -->\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Latam\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/latam2.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Latam<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto HJ Project\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/hjproject-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">HJ Project<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Corgemisac\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/corgemisacgabodesarrollador-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Corgemisac<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Nukleo\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/nukleo-pagina-web-creada-por-gabo-desarrollador.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Nukleo<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Rinconcito Sullanero\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/rinconcitosullanero-pagina-web-creada-por-gabodesarrollador.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Rinconcito<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Black Enterprise\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2024\/06\/black-enterprise-gabo-desarrollador.png\">\r\n            <figcaption class=\"gabo-3d-cap\">Black Enterprise<\/figcaption>\r\n          <\/figure>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"gabo-3d-strip gabo-up gabo-slow\">\r\n        <div class=\"gabo-3d-track\">\r\n          <!-- SET C -->\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto AmyPack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/amypack-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">AmyPack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto HJ Project\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/hjproject-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">HJ Project<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Holding\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/holding-e1758416995929.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Holding<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Nukleo\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/nukleo-pagina-web-creada-por-gabo-desarrollador.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Nukleo<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto BioSnack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/biosnack-1.png\">\r\n            <figcaption class=\"gabo-3d-cap\">BioSnack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Corgemisac\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/corgemisacgabodesarrollador-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Corgemisac<\/figcaption>\r\n          <\/figure>\r\n\r\n          <!-- DUPLICADO -->\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto AmyPack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/amypack-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">AmyPack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto HJ Project\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/hjproject-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">HJ Project<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Holding\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/02\/holding-e1758416995929.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Holding<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Nukleo\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/09\/nukleo-pagina-web-creada-por-gabo-desarrollador.jpg\">\r\n            <figcaption class=\"gabo-3d-cap\">Nukleo<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto BioSnack\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/biosnack-1.png\">\r\n            <figcaption class=\"gabo-3d-cap\">BioSnack<\/figcaption>\r\n          <\/figure>\r\n\r\n          <figure class=\"gabo-3d-card\">\r\n            <img decoding=\"async\" class=\"gabo-3d-img\" loading=\"lazy\" alt=\"Proyecto Corgemisac\" src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2025\/06\/corgemisacgabodesarrollador-_1_.webp\">\r\n            <figcaption class=\"gabo-3d-cap\">Corgemisac<\/figcaption>\r\n          <\/figure>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- fades -->\r\n      <div class=\"gabo-3d-fade gabo-3d-fade-top\" aria-hidden=\"true\"><\/div>\r\n      <div class=\"gabo-3d-fade gabo-3d-fade-bot\" aria-hidden=\"true\"><\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n\/* =========================\r\n  GABO \u2014 PREMIUM 3D v1 (LIGHTWEIGHT)\r\n  - 3D frame con perspective (r\u00e1pido)\r\n  - Sin blur pesado \/ sin ruido base64\r\n  - FULL images: contain\r\n  ========================= *\/\r\n\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@500;600;700;800&display=swap');\r\n\r\n.gabo-3d-marquee{\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  --bg1:#080513;\r\n  --bg2:#05030b;\r\n\r\n  --stroke: rgba(255,255,255,.10);\r\n  --stroke2: rgba(190,140,255,.22);\r\n\r\n  --glow1: rgba(170,90,255,.24);\r\n  --glow2: rgba(255,110,180,.14);\r\n\r\n  --h: 580px;\r\n  --cardH: 178px;\r\n  --gap: 18px;\r\n  --container: 1180px;\r\n\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n\r\n.gabo-3d-container{\r\n  width: min(var(--container), 92%);\r\n  margin: 0 auto;\r\n}\r\n\r\n.gabo-3d-stage{\r\n  position: relative;\r\n  height: var(--h);\r\n  overflow: hidden;\r\n  border-radius: 28px;\r\n  background:\r\n    radial-gradient(1100px 520px at 50% 12%, rgba(170,90,255,.14), transparent 55%),\r\n    radial-gradient(900px 420px at 75% 70%, rgba(255,110,180,.10), transparent 60%),\r\n    linear-gradient(180deg, var(--bg1), var(--bg2));\r\n  border: 1px solid rgba(255,255,255,.08);\r\n  box-shadow: 0 34px 130px rgba(0,0,0,.62);\r\n}\r\n\r\n\/* header pill *\/\r\n.gabo-3d-head{\r\n  position:absolute;\r\n  top: 14px;\r\n  left: 14px;\r\n  z-index: 30;\r\n  pointer-events:none;\r\n}\r\n.gabo-3d-pill{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  padding: 10px 12px;\r\n  border-radius: 999px;\r\n  background: rgba(10,6,18,.44);\r\n  border: 1px solid rgba(255,255,255,.10);\r\n  backdrop-filter: blur(10px);\r\n  box-shadow: 0 18px 52px rgba(0,0,0,.45);\r\n}\r\n.gabo-3d-dot{\r\n  width:10px; height:10px; border-radius:999px;\r\n  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(170,90,255,.9));\r\n  box-shadow: 0 0 0 5px rgba(170,90,255,.12);\r\n}\r\n.gabo-3d-title{ font-weight:800; font-size: 13px; color: rgba(255,255,255,.94); }\r\n.gabo-3d-sub{ font-weight:700; font-size: 12px; color: rgba(255,255,255,.68); }\r\n\r\n\/* strips *\/\r\n.gabo-3d-strip{\r\n  position:absolute;\r\n  top: 0; bottom: 0;\r\n  width: 33.333%;\r\n  padding: 64px 14px 18px; \/* deja espacio al header *\/\r\n  perspective: 900px;\r\n  transform-style: preserve-3d;\r\n}\r\n\r\n.gabo-3d-strip:nth-of-type(1){ left: 0; }\r\n.gabo-3d-strip:nth-of-type(2){ left: 33.333%; }\r\n.gabo-3d-strip:nth-of-type(3){ left: 66.666%; }\r\n\r\n.gabo-3d-track{\r\n  display:flex;\r\n  flex-direction: column;\r\n  gap: var(--gap);\r\n  will-change: transform;\r\n  transform: translateZ(0);\r\n}\r\n\r\n\/* card 3D *\/\r\n.gabo-3d-card{\r\n  position: relative;\r\n  height: var(--cardH);\r\n  border-radius: 22px;\r\n  margin: 0;\r\n  overflow: hidden;\r\n  border: 1px solid var(--stroke2);\r\n  background: rgba(255,255,255,.03);\r\n  box-shadow:\r\n    0 18px 60px rgba(0,0,0,.45),\r\n    0 0 0 1px rgba(255,255,255,.05) inset;\r\n  transform: translateZ(0);\r\n}\r\n\r\n\/* marco 3D (sin blur pesado) *\/\r\n.gabo-3d-card::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-1px;\r\n  border-radius: 24px;\r\n  background:\r\n    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0) 45%),\r\n    radial-gradient(600px 220px at 20% 0%, var(--glow1), transparent 55%),\r\n    radial-gradient(600px 220px at 90% 100%, var(--glow2), transparent 60%);\r\n  opacity: .95;\r\n  z-index: 0;\r\n  pointer-events:none;\r\n}\r\n\r\n.gabo-3d-card::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.58));\r\n  z-index: 1;\r\n  pointer-events:none;\r\n}\r\n\r\n\/* imagen FULL *\/\r\n.gabo-3d-img{\r\n  position:absolute;\r\n  inset: 10px;\r\n  width: calc(100% - 20px);\r\n  height: calc(100% - 20px);\r\n  object-fit: contain;\r\n  object-position: center;\r\n  border-radius: 16px;\r\n  z-index: 2;\r\n  background: rgba(255,255,255,.03);\r\n  transform: translateZ(18px);\r\n}\r\n\r\n\/* caption minimal pro *\/\r\n.gabo-3d-cap{\r\n  position:absolute;\r\n  left: 12px;\r\n  bottom: 12px;\r\n  z-index: 3;\r\n  padding: 9px 12px;\r\n  border-radius: 999px;\r\n  background: rgba(10,6,18,.45);\r\n  border: 1px solid rgba(255,255,255,.10);\r\n  backdrop-filter: blur(10px);\r\n  color: rgba(255,255,255,.90);\r\n  font-weight: 800;\r\n  font-size: 12.5px;\r\n  letter-spacing: .2px;\r\n  max-width: calc(100% - 24px);\r\n  overflow: hidden;\r\n  white-space: nowrap;\r\n  text-overflow: ellipsis;\r\n  transform: translateZ(28px);\r\n}\r\n\r\n\/* hover 3D (ligero) *\/\r\n@media (hover:hover){\r\n  .gabo-3d-card{\r\n    transition: transform .25s ease, box-shadow .25s ease;\r\n    transform-style: preserve-3d;\r\n  }\r\n  .gabo-3d-card:hover{\r\n    transform: rotateX(7deg) rotateY(-7deg) translateY(-2px);\r\n    box-shadow:\r\n      0 24px 80px rgba(0,0,0,.55),\r\n      0 0 0 1px rgba(255,255,255,.06) inset;\r\n  }\r\n  .gabo-3d-card:hover .gabo-3d-img{\r\n    transform: translateZ(22px) scale(1.01);\r\n    transition: transform .25s ease;\r\n  }\r\n  .gabo-3d-img{ transition: transform .25s ease; }\r\n}\r\n\r\n\/* animaciones *\/\r\n@keyframes gaboUp { 0%{transform:translateY(0)} 100%{transform:translateY(-50%)} }\r\n@keyframes gaboDown { 0%{transform:translateY(-50%)} 100%{transform:translateY(0)} }\r\n\r\n.gabo-up .gabo-3d-track{ animation: gaboUp 26s linear infinite; }\r\n.gabo-down .gabo-3d-track{ animation: gaboDown 30s linear infinite; }\r\n.gabo-slow .gabo-3d-track{ animation-duration: 36s; }\r\n\r\n.gabo-3d-stage:hover .gabo-3d-track{ animation-play-state: paused; }\r\n\r\n\/* fades (ligeros) *\/\r\n.gabo-3d-fade{\r\n  position:absolute;\r\n  left:0; right:0;\r\n  height: 30%;\r\n  pointer-events:none;\r\n  z-index: 20;\r\n}\r\n.gabo-3d-fade-top{ top:0; background: linear-gradient(180deg, rgba(0,0,0,.90), transparent); }\r\n.gabo-3d-fade-bot{ bottom:0; background: linear-gradient(0deg, rgba(0,0,0,.96), transparent); }\r\n\r\n\/* responsive *\/\r\n@media (max-width: 1024px){\r\n  .gabo-3d-strip{ width: 50%; }\r\n  .gabo-3d-strip:nth-of-type(1){ left:0; }\r\n  .gabo-3d-strip:nth-of-type(2){ left:50%; }\r\n  .gabo-3d-strip:nth-of-type(3){ display:none; }\r\n}\r\n@media (max-width: 640px){\r\n  .gabo-3d-marquee{ --h: 590px; --cardH: 190px; --gap: 16px; }\r\n  .gabo-3d-strip{ width: 100%; left:0 !important; padding: 64px 12px 18px; }\r\n  .gabo-3d-strip:nth-of-type(2){ display:none; }\r\n}\r\n\r\n\/* reduce motion *\/\r\n@media (prefers-reduced-motion: reduce){\r\n  .gabo-3d-track{ animation: none !important; }\r\n  .gabo-3d-card:hover{ transform: none !important; }\r\n}\r\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-451b07d e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"451b07d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c922d90 elementor-widget elementor-widget-html\" data-id=\"c922d90\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ====== C\u00d3MO TRABAJAMOS | GABODESARROLLADOR (PROCESO PREMIUM CLEAN) ====== -->\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700;800&display=swap');\r\n\r\n.gdWork{\r\n  --txt: rgba(255,255,255,.96);\r\n  --muted: rgba(255,255,255,.76);\r\n  --line: rgba(255,255,255,.11);\r\n  --line2: rgba(255,255,255,.20);\r\n  --panel1: rgba(12, 9, 26, .72);\r\n  --panel2: rgba(20, 12, 40, .56);\r\n  --accent:#ff4fd8;\r\n  --accent2:#8b5cff;\r\n\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  color: var(--txt);\r\n  padding: clamp(28px,4vw,60px) 0;\r\n}\r\n\r\n.gdWork .wrap{\r\n  width:min(1180px,92%);\r\n  margin:0 auto;\r\n}\r\n\r\n\/* Header *\/\r\n.gdWork .top{\r\n  display:flex;\r\n  align-items:flex-start;\r\n  justify-content:space-between;\r\n  gap:22px;\r\n  margin-bottom:18px;\r\n}\r\n\r\n.gdWork .left{\r\n  min-width:0;\r\n}\r\n\r\n.gdWork .kicker{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  padding:8px 12px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(10,8,20,.46);\r\n  font-weight:700;\r\n  font-size:13px;\r\n  color:rgba(255,255,255,.92);\r\n  backdrop-filter: blur(10px);\r\n}\r\n\r\n.gdWork .kicker::before{\r\n  content:\"\";\r\n  width:8px;\r\n  height:8px;\r\n  border-radius:999px;\r\n  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(139,92,255,.95));\r\n  box-shadow:0 0 0 5px rgba(139,92,255,.12);\r\n}\r\n\r\n.gdWork h2{\r\n  margin:10px 0 8px;\r\n  font-weight:600;\r\n  letter-spacing:-0.03em;\r\n  font-size:clamp(26px,3.1vw,44px);\r\n  line-height:1.06;\r\n  text-shadow:0 14px 34px rgba(0,0,0,.52);\r\n  max-width:760px;\r\n  color: var(--txt) !important;\r\n}\r\n\r\n.gdWork .sub{\r\n  margin:0;\r\n  max-width:720px;\r\n  color:var(--muted);\r\n  line-height:1.68;\r\n  font-size:clamp(13px,1.35vw,15px);\r\n}\r\n\r\n.gdWork .cta{\r\n  flex:0 0 auto;\r\n  margin-top:6px;\r\n}\r\n\r\n.gdWork .btn{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:10px;\r\n  padding:12px 15px;\r\n  border-radius:14px;\r\n  border:1px solid rgba(255,255,255,.16);\r\n  background:linear-gradient(135deg, rgba(255,79,216,.32), rgba(139,92,255,.20));\r\n  color:rgba(255,255,255,.98);\r\n  font-weight:800;\r\n  font-size:14px;\r\n  text-decoration:none;\r\n  white-space:nowrap;\r\n  box-shadow:0 18px 50px rgba(0,0,0,.34);\r\n  transition:transform .22s ease, border-color .22s ease, filter .22s ease, box-shadow .22s ease;\r\n  backdrop-filter: blur(10px);\r\n}\r\n.gdWork .btn:hover{\r\n  transform:translateY(-2px);\r\n  border-color:rgba(255,255,255,.24);\r\n  filter:brightness(1.06);\r\n  box-shadow:0 24px 70px rgba(0,0,0,.5);\r\n}\r\n.gdWork .arr{\r\n  width:18px;\r\n  height:18px;\r\n}\r\n\r\n\/* Grid *\/\r\n.gdWork .grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(3, minmax(0, 1fr));\r\n  gap:18px;\r\n  margin-top:18px;\r\n}\r\n\r\n\/* Card *\/\r\n.gdWork .card{\r\n  position:relative;\r\n  border-radius:20px;\r\n  border:1px solid var(--line);\r\n  background:linear-gradient(180deg, var(--panel1), var(--panel2));\r\n  overflow:hidden;\r\n  box-shadow:0 20px 70px rgba(0,0,0,.42);\r\n  padding:20px;\r\n  min-height:198px;\r\n  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;\r\n  backdrop-filter: blur(12px);\r\n}\r\n\r\n.gdWork .card::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:\r\n    radial-gradient(900px 320px at 15% 0%, rgba(139,92,255,.16), transparent 60%),\r\n    radial-gradient(760px 320px at 90% 10%, rgba(255,79,216,.12), transparent 62%),\r\n    linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.32));\r\n  pointer-events:none;\r\n}\r\n\r\n.gdWork .card::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-40% -40%;\r\n  background: linear-gradient(120deg, transparent 42%, rgba(255,255,255,.05), transparent 62%);\r\n  transform: translateX(-18%);\r\n  opacity:.5;\r\n  pointer-events:none;\r\n  animation: gdSheen 9s ease-in-out infinite;\r\n}\r\n@keyframes gdSheen{\r\n  0%,100%{ transform: translateX(-18%); }\r\n  50%{ transform: translateX(18%); }\r\n}\r\n\r\n.gdWork .card:hover{\r\n  transform:translateY(-6px);\r\n  border-color:var(--line2);\r\n  box-shadow:0 30px 110px rgba(0,0,0,.56);\r\n}\r\n\r\n.gdWork .row{\r\n  position:relative;\r\n  z-index:2;\r\n  display:flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  margin-bottom:12px;\r\n}\r\n\r\n\/* Icon *\/\r\n.gdWork .icon{\r\n  width:48px;\r\n  height:48px;\r\n  border-radius:15px;\r\n  display:grid;\r\n  place-items:center;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(10,8,20,.52);\r\n  box-shadow:0 16px 40px rgba(0,0,0,.30);\r\n  flex:0 0 auto;\r\n}\r\n.gdWork .icon svg{\r\n  width:22px;\r\n  height:22px;\r\n  opacity:.95;\r\n}\r\n\r\n.gdWork .title{\r\n  position:relative;\r\n  z-index:2;\r\n  margin:0 0 7px;\r\n  font-weight:800;\r\n  font-size:17px;\r\n  letter-spacing:-0.02em;\r\n  line-height:1.15;\r\n  color: var(--txt) !important;\r\n}\r\n\r\n.gdWork .desc{\r\n  position:relative;\r\n  z-index:2;\r\n  margin:0;\r\n  color:rgba(255,255,255,.82);\r\n  line-height:1.62;\r\n  font-size:13.6px;\r\n\r\n  display:-webkit-box;\r\n  -webkit-line-clamp:4;\r\n  -webkit-box-orient:vertical;\r\n  overflow:hidden;\r\n}\r\n\r\n\/* Tablets *\/\r\n@media (max-width: 980px){\r\n  .gdWork .top{\r\n    flex-direction:column;\r\n  }\r\n  .gdWork .cta{\r\n    margin-top:10px;\r\n  }\r\n  .gdWork .grid{\r\n    grid-template-columns:repeat(2, minmax(0, 1fr));\r\n  }\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 560px){\r\n  .gdWork{\r\n    padding:26px 0;\r\n  }\r\n\r\n  .gdWork .wrap{\r\n    width:min(520px,92%);\r\n  }\r\n\r\n  .gdWork .top{\r\n    align-items:center;\r\n    text-align:center;\r\n    gap:14px;\r\n  }\r\n\r\n  .gdWork .kicker{\r\n    justify-content:center;\r\n  }\r\n\r\n  .gdWork h2{\r\n    font-size:26px;\r\n    line-height:1.08;\r\n    margin-top:8px;\r\n  }\r\n\r\n  .gdWork .sub{\r\n    max-width:34ch;\r\n    margin:0 auto;\r\n    font-size:13.5px;\r\n    line-height:1.65;\r\n  }\r\n\r\n  .gdWork .cta{\r\n    width:100%;\r\n  }\r\n\r\n  .gdWork .btn{\r\n    width:100%;\r\n    max-width:420px;\r\n    margin:0 auto;\r\n    padding:13px 14px;\r\n  }\r\n\r\n  .gdWork .grid{\r\n    grid-template-columns:1fr;\r\n    gap:14px;\r\n    margin-top:16px;\r\n  }\r\n\r\n  .gdWork .card{\r\n    padding:16px;\r\n    min-height:178px;\r\n    border-radius:18px;\r\n  }\r\n\r\n  .gdWork .icon{\r\n    width:44px;\r\n    height:44px;\r\n    border-radius:14px;\r\n  }\r\n\r\n  .gdWork .title{\r\n    font-size:15.5px;\r\n  }\r\n\r\n  .gdWork .desc{\r\n    font-size:13.2px;\r\n    -webkit-line-clamp:4;\r\n  }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce){\r\n  .gdWork .card::after{ animation:none !important; }\r\n  .gdWork .card:hover{ transform:none !important; }\r\n}\r\n<\/style>\r\n\r\n<section class=\"gdWork\" aria-label=\"C\u00f3mo trabajamos\">\r\n  <div class=\"wrap\">\r\n\r\n    <div class=\"top\">\r\n      <div class=\"left\">\r\n        <span class=\"kicker\">Nuestro proceso<\/span>\r\n        <h2>Dise\u00f1amos p\u00e1ginas web pensadas para vender mejor<\/h2>\r\n        <p class=\"sub\">\r\n          Cada proyecto sigue una metodolog\u00eda clara: entendemos tu negocio, dise\u00f1amos una experiencia profesional y desarrollamos una web r\u00e1pida, moderna y enfocada en generar confianza, contactos y ventas.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"cta\">\r\n        <a class=\"btn\" target=\"_blank\" rel=\"noopener\"\r\n           href=\"https:\/\/wa.me\/51947274091?text=Hola%20GaboDesarrollador%2C%20quiero%20una%20propuesta%20para%20mi%20p%C3%A1gina%20web.%20%C2%BFPodemos%20agendar%20una%20reuni%C3%B3n%3F\">\r\n          Agendar por WhatsApp\r\n          <svg class=\"arr\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n            <path d=\"M5 12h12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <path d=\"M13 6l6 6-6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n          <\/svg>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"grid\">\r\n\r\n      <article class=\"card\">\r\n        <div class=\"row\">\r\n          <div class=\"icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <path d=\"M12 2a7 7 0 0 0-4 12.7V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.3A7 7 0 0 0 12 2Z\" stroke=\"white\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\r\n              <path d=\"M9.5 21h5\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M9 12l2 1 4-4\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n        <h3 class=\"title\">An\u00e1lisis de tu negocio<\/h3>\r\n        <p class=\"desc\">\r\n          Revisamos tu servicio, p\u00fablico objetivo, competencia y objetivos comerciales para plantear una p\u00e1gina web con direcci\u00f3n clara y enfoque estrat\u00e9gico.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"card\">\r\n        <div class=\"row\">\r\n          <div class=\"icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <path d=\"M4 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7Z\" stroke=\"white\" stroke-width=\"2\"\/>\r\n              <path d=\"M8 9h8\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M8 13h5\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M16.5 12.5l1.8 1.8\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n        <h3 class=\"title\">Estructura y enfoque visual<\/h3>\r\n        <p class=\"desc\">\r\n          Organizamos el contenido, definimos las secciones clave y dise\u00f1amos una interfaz moderna que transmita confianza y haga ver tu marca m\u00e1s profesional.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"card\">\r\n        <div class=\"row\">\r\n          <div class=\"icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <path d=\"M8 9l-3 3 3 3\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n              <path d=\"M16 9l3 3-3 3\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n              <path d=\"M14 7l-4 10\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n        <h3 class=\"title\">Desarrollo web profesional<\/h3>\r\n        <p class=\"desc\">\r\n          Construimos tu web en WordPress, Elementor, Shopify o c\u00f3digo puro, seg\u00fan lo que mejor se adapte a tu negocio. As\u00ed logramos p\u00e1ginas m\u00e1s ligeras, r\u00e1pidas, optimizadas y preparadas para crecer.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"card\">\r\n        <div class=\"row\">\r\n          <div class=\"icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <path d=\"M5 19l4-1 9-9a3 3 0 0 0-4-4l-9 9-1 5Z\" stroke=\"white\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\r\n              <path d=\"M14 5l5 5\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M7 17l3 3\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n        <h3 class=\"title\">Revisi\u00f3n y publicaci\u00f3n<\/h3>\r\n        <p class=\"desc\">\r\n          Probamos formularios, botones, versi\u00f3n m\u00f3vil, enlaces y detalles finales para entregar una web lista para mostrarse bien y empezar a captar clientes.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"card\">\r\n        <div class=\"row\">\r\n          <div class=\"icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <path d=\"M4 18V6\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M4 18h16\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M7 14l3-3 3 2 5-6\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n              <path d=\"M18 7h2v2\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n        <h3 class=\"title\">Optimizaci\u00f3n para convertir<\/h3>\r\n        <p class=\"desc\">\r\n          No se trata solo de que se vea bonita. Ajustamos llamadas a la acci\u00f3n, jerarqu\u00eda visual y mensajes clave para que tu web venda mejor.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"card\">\r\n        <div class=\"row\">\r\n          <div class=\"icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <path d=\"M12 2l8 4v6c0 5-3.5 9.5-8 10-4.5-.5-8-5-8-10V6l8-4Z\" stroke=\"white\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\r\n              <path d=\"M9.5 12l1.8 1.8 3.7-4\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n        <\/div>\r\n        <h3 class=\"title\">Soporte y continuidad<\/h3>\r\n        <p class=\"desc\">\r\n          Si lo necesitas, seguimos contigo despu\u00e9s de publicar: actualizaciones, respaldo, mejoras y acompa\u00f1amiento para que tu web siga funcionando bien.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\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-d7dc060 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"d7dc060\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-be1d0ee elementor-widget elementor-widget-html\" data-id=\"be1d0ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ====== HERRAMIENTAS & TECNOLOG\u00cdAS (PREMIUM + MODAL COMPACTO PRO) | FIX RESPONSIVE ====== -->\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');\r\n\r\n.gdTools{\r\n  --txt: rgba(255,255,255,.97);\r\n  --muted: rgba(255,255,255,.78);\r\n  --accent:#8b5cff;\r\n  --accent-hover:#7447ff;\r\n  --accent-dark:#5f34e8;\r\n  --success:#18c37e;\r\n  --danger:#ff5f6d;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  color:var(--txt);\r\n  padding:clamp(18px,4vw,58px) 0;\r\n}\r\n\r\n.gdTools *{ box-sizing:border-box; }\r\n\r\n.gdTools .wrap{\r\n  width:min(1180px,92%);\r\n  margin:0 auto;\r\n}\r\n\r\n.gdTools .hero{\r\n  position:relative;\r\n  overflow:hidden;\r\n  border-radius:24px;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:\r\n    linear-gradient(180deg, rgba(10,7,20,.70), rgba(8,6,16,.82));\r\n  box-shadow:0 30px 120px rgba(0,0,0,.56);\r\n  padding:clamp(24px,4.5vw,58px) clamp(16px,4vw,46px);\r\n  min-height:384px;\r\n  padding-left:max(clamp(16px,4vw,46px), env(safe-area-inset-left));\r\n  padding-right:max(clamp(16px,4vw,46px), env(safe-area-inset-right));\r\n}\r\n\r\n.gdTools .hero::before{\r\n  content:\"\";\r\n  position:absolute; inset:0;\r\n  background:\r\n    radial-gradient(900px 420px at 14% 10%, rgba(139,92,255,.24), transparent 60%),\r\n    radial-gradient(900px 420px at 85% 18%, rgba(255,79,216,.14), transparent 62%),\r\n    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.58));\r\n  pointer-events:none;\r\n}\r\n\r\n.gdTools .hero::after{\r\n  content:\"\";\r\n  position:absolute; inset:0;\r\n  background-image:\r\n    linear-gradient(to right, rgba(255,255,255,.032) 1px, transparent 1px),\r\n    linear-gradient(to bottom, rgba(255,255,255,.032) 1px, transparent 1px);\r\n  background-size:52px 52px;\r\n  opacity:.22;\r\n  pointer-events:none;\r\n}\r\n\r\n.gdTools .content{\r\n  position:relative;\r\n  z-index:4;\r\n  text-align:center;\r\n  max-width:860px;\r\n  margin:0 auto;\r\n}\r\n\r\n.gdTools .content::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  left:50%;\r\n  top:50%;\r\n  transform:translate(-50%,-52%);\r\n  width:min(860px,92%);\r\n  height:260px;\r\n  border-radius:30px;\r\n  background:radial-gradient(closest-side, rgba(8,6,16,.82), transparent 70%);\r\n  filter:blur(5px);\r\n  z-index:-1;\r\n  pointer-events:none;\r\n}\r\n\r\n.gdTools .kicker{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:8px;\r\n  padding:9px 14px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(10,8,20,.40);\r\n  color:rgba(255,255,255,.92);\r\n  font-weight:800;\r\n  font-size:13px;\r\n  backdrop-filter:blur(10px);\r\n}\r\n\r\n.gdTools .kicker::before{\r\n  content:\"\";\r\n  width:8px;height:8px;border-radius:999px;\r\n  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.85), rgba(139,92,255,.95));\r\n  box-shadow:0 0 0 5px rgba(139,92,255,.12);\r\n}\r\n\r\n.gdTools h2{\r\n  margin:14px 0 12px;\r\n  font-weight:900;\r\n  letter-spacing:-0.04em;\r\n  font-size:clamp(28px,3.15vw,50px);\r\n  line-height:1.03;\r\n  text-shadow:0 14px 34px rgba(0,0,0,.55);\r\n  color: var(--txt) !important;\r\n}\r\n\r\n.gdTools .grad{\r\n  background:linear-gradient(90deg, #b096ff, #ff7ae6);\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  color:transparent;\r\n}\r\n\r\n.gdTools .sub{\r\n  margin:0 auto;\r\n  color:var(--muted);\r\n  line-height:1.7;\r\n  font-size:clamp(14px,1.35vw,15px);\r\n  max-width:720px;\r\n}\r\n\r\n.gdTools .btn{\r\n  margin-top:22px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:10px;\r\n  min-height:56px;\r\n  padding:15px 24px;\r\n  border-radius:16px;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:var(--accent);\r\n  color:#fff;\r\n  font-weight:900;\r\n  font-size:15px;\r\n  letter-spacing:.01em;\r\n  text-decoration:none;\r\n  white-space:nowrap;\r\n  box-shadow:\r\n    0 18px 50px rgba(91,58,255,.35),\r\n    inset 0 1px 0 rgba(255,255,255,.14);\r\n  transition:transform .22s ease, background .22s ease, box-shadow .22s ease;\r\n  max-width:100%;\r\n  cursor:pointer;\r\n}\r\n\r\n.gdTools .btn:hover{\r\n  transform:translateY(-2px);\r\n  background:var(--accent-hover);\r\n  box-shadow:\r\n    0 24px 70px rgba(91,58,255,.45),\r\n    inset 0 1px 0 rgba(255,255,255,.18);\r\n}\r\n\r\n.gdTools .btn:active{\r\n  transform:translateY(0);\r\n  background:var(--accent-dark);\r\n}\r\n\r\n.gdTools .ico{\r\n  width:18px;\r\n  height:18px;\r\n  display:block;\r\n  flex:0 0 auto;\r\n}\r\n\r\n\/* ===== ICONOS FLOTANTES ===== *\/\r\n.gdTools .floaters{\r\n  position:absolute;\r\n  inset:0;\r\n  z-index:1;\r\n  pointer-events:none;\r\n  opacity:.78;\r\n}\r\n\r\n.gdTools .floaters::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:\r\n    radial-gradient(560px 320px at 50% 50%, rgba(8,6,16,.95), rgba(8,6,16,.80) 34%, transparent 68%);\r\n  z-index:0;\r\n  pointer-events:none;\r\n}\r\n\r\n.gdTools .logo,\r\n.gdTools .cube{\r\n  position:absolute;\r\n  z-index:1;\r\n  transform:translateZ(0);\r\n  will-change:transform;\r\n}\r\n\r\n.gdTools .logo{\r\n  width:46px;\r\n  height:46px;\r\n  border-radius:14px;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:rgba(255,255,255,.92);\r\n  box-shadow:0 14px 36px rgba(0,0,0,.30);\r\n  display:grid;\r\n  place-items:center;\r\n  overflow:hidden;\r\n  animation:gdFloat 6.5s ease-in-out infinite;\r\n  opacity:.84;\r\n}\r\n\r\n.gdTools .logo img{\r\n  width:58%;\r\n  height:58%;\r\n  object-fit:contain;\r\n  display:block;\r\n  filter:saturate(1.02);\r\n}\r\n\r\n.gdTools .d1{ animation-duration: 6.2s; }\r\n.gdTools .d2{ animation-duration: 7.1s; animation-delay: -1.6s; }\r\n.gdTools .d3{ animation-duration: 7.8s; animation-delay: -2.2s; }\r\n.gdTools .d4{ animation-duration: 6.9s; animation-delay: -1.2s; }\r\n.gdTools .d5{ animation-duration: 8.3s; animation-delay: -2.9s; }\r\n.gdTools .d6{ animation-duration: 6.6s; animation-delay: -2.0s; }\r\n.gdTools .d7{ animation-duration: 7.4s; animation-delay: -1.9s; }\r\n.gdTools .d8{ animation-duration: 8.0s; animation-delay: -3.1s; }\r\n.gdTools .d9{ animation-duration: 7.0s; animation-delay: -2.6s; }\r\n.gdTools .d10{ animation-duration: 8.6s; animation-delay: -3.3s; }\r\n.gdTools .d11{ animation-duration: 7.7s; animation-delay: -1.4s; }\r\n.gdTools .d12{ animation-duration: 8.1s; animation-delay: -2.1s; }\r\n\r\n@keyframes gdFloat{\r\n  0%,100%{ transform:translateY(0) translateX(0); }\r\n  50%{ transform:translateY(-8px) translateX(5px); }\r\n}\r\n\r\n.gdTools .cube{\r\n  width:22px;\r\n  height:22px;\r\n  border-radius:8px;\r\n  background:rgba(139,92,255,.12);\r\n  border:1px solid rgba(255,255,255,.07);\r\n  box-shadow:0 12px 28px rgba(0,0,0,.20);\r\n  animation:gdFloat 8.5s ease-in-out infinite;\r\n  opacity:.34;\r\n}\r\n\r\n\/* Desktop positions *\/\r\n.gdTools .p1{ left:5%; top:19%; }   \/* WordPress *\/\r\n.gdTools .p2{ left:8%; top:53%; }   \/* Elementor *\/\r\n.gdTools .p3{ left:18%; top:8%; }   \/* HTML *\/\r\n.gdTools .p4{ left:26%; top:74%; }  \/* CSS - FIX *\/\r\n.gdTools .p5{ left:73%; top:10%; }  \/* JS *\/\r\n.gdTools .p6{ left:78%; top:76%; }  \/* React *\/\r\n.gdTools .p7{ left:89%; top:22%; }  \/* Figma *\/\r\n.gdTools .p8{ left:92%; top:56%; }  \/* GitHub *\/\r\n.gdTools .p9{ left:40%; top:10%; }  \/* Google *\/\r\n.gdTools .p10{ left:61%; top:11%; } \/* Meta *\/\r\n.gdTools .p11{ left:37%; top:86%; } \/* WhatsApp *\/\r\n.gdTools .p12{ left:66%; top:84%; } \/* Instagram *\/\r\n\r\n.gdTools .c1{ left:13%; top:33%; }\r\n.gdTools .c2{ left:84%; top:34%; }\r\n.gdTools .c3{ left:12%; top:71%; }\r\n.gdTools .c4{ left:86%; top:71%; }\r\n\r\n@media (max-width: 980px){\r\n  .gdTools .hero{\r\n    min-height:360px;\r\n  }\r\n\r\n  .gdTools .logo{\r\n    width:40px;\r\n    height:40px;\r\n    border-radius:12px;\r\n  }\r\n\r\n  .gdTools .cube{\r\n    width:18px;\r\n    height:18px;\r\n  }\r\n\r\n  .gdTools .floaters{ opacity:.70; }\r\n\r\n  .gdTools .p1{ left:4%; top:16%; }\r\n  .gdTools .p2{ left:7%; top:52%; }\r\n  .gdTools .p3{ left:18%; top:8%; }\r\n  .gdTools .p4{ left:24%; top:76%; }\r\n  .gdTools .p5{ left:72%; top:9%; }\r\n  .gdTools .p6{ left:78%; top:76%; }\r\n  .gdTools .p7{ left:88%; top:20%; }\r\n  .gdTools .p8{ left:90%; top:56%; }\r\n  .gdTools .p9{ left:38%; top:8%; }\r\n  .gdTools .p10{ left:61%; top:10%; }\r\n  .gdTools .p11{ left:37%; top:84%; }\r\n  .gdTools .p12{ left:64%; top:82%; }\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 560px){\r\n  .gdTools{\r\n    padding:18px 0 28px;\r\n  }\r\n\r\n  .gdTools .wrap{\r\n    width:min(100%,94%);\r\n  }\r\n\r\n  .gdTools .hero{\r\n    min-height:420px;\r\n    border-radius:22px;\r\n    padding:26px 18px 28px;\r\n  }\r\n\r\n  .gdTools .content{\r\n    max-width:100%;\r\n  }\r\n\r\n  .gdTools .content::before{\r\n    width:100%;\r\n    height:240px;\r\n    transform:translate(-50%,-50%);\r\n  }\r\n\r\n  .gdTools .kicker{\r\n    font-size:12px;\r\n    padding:8px 12px;\r\n  }\r\n\r\n  .gdTools h2{\r\n    font-size:clamp(26px,7vw,36px);\r\n    line-height:1.08;\r\n    margin-top:14px;\r\n    margin-bottom:12px;\r\n  }\r\n\r\n  .gdTools .sub{\r\n    font-size:13.8px;\r\n    line-height:1.62;\r\n    max-width:95%;\r\n  }\r\n\r\n  .gdTools .btn{\r\n    width:100%;\r\n    max-width:100%;\r\n    min-height:54px;\r\n    font-size:14px;\r\n    border-radius:16px;\r\n    margin-top:18px;\r\n    padding:14px 16px;\r\n    white-space:normal;\r\n  }\r\n\r\n  .gdTools .logo{\r\n    width:32px;\r\n    height:32px;\r\n    border-radius:10px;\r\n    box-shadow:0 10px 20px rgba(0,0,0,.22);\r\n    opacity:.64;\r\n  }\r\n\r\n  .gdTools .logo img{\r\n    width:54%;\r\n    height:54%;\r\n  }\r\n\r\n  .gdTools .cube{\r\n    width:14px;\r\n    height:14px;\r\n    border-radius:6px;\r\n    opacity:.24;\r\n  }\r\n\r\n  \/* mejor distribuci\u00f3n m\u00f3vil *\/\r\n  .gdTools .p1{ left:6%; top:16%; }\r\n  .gdTools .p2{ left:82%; top:16%; }\r\n  .gdTools .p3{ left:10%; top:37%; }\r\n  .gdTools .p4{ left:84%; top:38%; }\r\n  .gdTools .p5{ left:8%; top:72%; }\r\n  .gdTools .p6{ left:80%; top:72%; }\r\n  .gdTools .p7{ left:21%; top:9%; }\r\n  .gdTools .p8{ left:90%; top:54%; }\r\n\r\n  .gdTools .p9{ left:40%; top:10%; }\r\n  .gdTools .p10{ left:61%; top:11%; }\r\n  .gdTools .p11{ left:28%; top:84%; }\r\n  .gdTools .p12{ left:66%; top:82%; }\r\n\r\n  .gdTools .c1{ left:15%; top:26%; }\r\n  .gdTools .c2{ left:82%; top:28%; }\r\n  .gdTools .c3,\r\n  .gdTools .c4{ display:none; }\r\n\r\n  .gdTools .floaters::after{\r\n    background:radial-gradient(620px 420px at 50% 52%, rgba(8,6,16,.97), transparent 70%);\r\n  }\r\n}\r\n\r\n\/* extra small *\/\r\n@media (max-width: 390px){\r\n  .gdTools .hero{\r\n    min-height:400px;\r\n    padding:24px 14px 24px;\r\n  }\r\n\r\n  .gdTools h2{\r\n    font-size:28px;\r\n  }\r\n\r\n  .gdTools .sub{\r\n    font-size:13.2px;\r\n  }\r\n\r\n  .gdTools .logo{\r\n    width:30px;\r\n    height:30px;\r\n  }\r\n\r\n  .gdTools .p9,\r\n  .gdTools .p10{\r\n    display:none;\r\n  }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce){\r\n  .gdTools .logo,\r\n  .gdTools .cube{\r\n    animation:none !important;\r\n  }\r\n}\r\n\r\n\/* ===== MODAL ===== *\/\r\n.gdModal{\r\n  position:fixed;\r\n  inset:0;\r\n  z-index:99999;\r\n  display:none;\r\n}\r\n\r\n.gdModal.is-open{ display:block; }\r\n\r\n.gdModal .backdrop{\r\n  position:absolute;\r\n  inset:0;\r\n  background:rgba(0,0,0,.72);\r\n  backdrop-filter:blur(7px);\r\n  -webkit-backdrop-filter:blur(7px);\r\n}\r\n\r\n.gdModal .panelWrap{\r\n  position:absolute;\r\n  inset:0;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  padding:\r\n    max(18px, env(safe-area-inset-top))\r\n    14px\r\n    max(18px, env(safe-area-inset-bottom))\r\n    14px;\r\n}\r\n\r\n.gdModal .panel{\r\n  position:relative;\r\n  width:min(420px, 100%);\r\n  max-height:min(82vh, 720px);\r\n  border-radius:22px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:linear-gradient(180deg, rgba(12,9,26,.96), rgba(10,8,20,.94));\r\n  box-shadow:0 30px 100px rgba(0,0,0,.65);\r\n  overflow:auto;\r\n  -webkit-overflow-scrolling:touch;\r\n  scrollbar-width:thin;\r\n  scrollbar-color: rgba(139,92,255,.45) transparent;\r\n}\r\n\r\n.gdModal .panel::-webkit-scrollbar{ width:6px; }\r\n.gdModal .panel::-webkit-scrollbar-thumb{\r\n  background:rgba(139,92,255,.45);\r\n  border-radius:999px;\r\n}\r\n.gdModal .panel::-webkit-scrollbar-track{ background:transparent; }\r\n\r\n.gdModal .panel::before{\r\n  content:\"\";\r\n  position:absolute; inset:0;\r\n  background:\r\n    radial-gradient(420px 220px at 20% 0%, rgba(139,92,255,.18), transparent 60%),\r\n    radial-gradient(420px 220px at 90% 10%, rgba(255,79,216,.10), transparent 62%);\r\n  pointer-events:none;\r\n}\r\n\r\n.gdModal .head{\r\n  position:relative;\r\n  z-index:2;\r\n  padding:16px 16px 8px;\r\n  display:flex;\r\n  align-items:flex-start;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n}\r\n\r\n.gdModal .title{\r\n  margin:0;\r\n  font-size:16px;\r\n  line-height:1.15;\r\n  font-weight:900;\r\n  letter-spacing:-.02em;\r\n  color:rgba(255,255,255,.96) !important;\r\n}\r\n\r\n.gdModal .hint{\r\n  margin:5px 0 0;\r\n  font-size:12.5px;\r\n  line-height:1.45;\r\n  color:rgba(255,255,255,.72);\r\n  max-width:260px;\r\n}\r\n\r\n.gdModal .close{\r\n  appearance:none;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(255,255,255,.06);\r\n  color:rgba(255,255,255,.92);\r\n  width:36px;\r\n  height:36px;\r\n  border-radius:12px;\r\n  cursor:pointer;\r\n  display:grid;\r\n  place-items:center;\r\n  transition:transform .18s ease, border-color .18s ease, filter .18s ease;\r\n  flex:0 0 auto;\r\n}\r\n\r\n.gdModal .close:hover{\r\n  transform:translateY(-1px);\r\n  border-color:rgba(255,255,255,.20);\r\n  filter:brightness(1.05);\r\n}\r\n\r\n.gdModal .body{\r\n  position:relative;\r\n  z-index:2;\r\n  padding:0 16px 16px;\r\n}\r\n\r\n.gdModal form{\r\n  display:grid;\r\n  gap:10px;\r\n}\r\n\r\n.gdModal label{\r\n  display:block;\r\n  font-size:11.5px;\r\n  font-weight:800;\r\n  letter-spacing:.01em;\r\n  color:rgba(255,255,255,.80);\r\n  margin-bottom:5px;\r\n}\r\n\r\n.gdModal input,\r\n.gdModal textarea{\r\n  width:100%;\r\n  padding:11px 13px;\r\n  border-radius:13px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(255,255,255,.06);\r\n  color:rgba(255,255,255,.95);\r\n  outline:none;\r\n  font-size:13.5px;\r\n  line-height:1.35;\r\n  font-family:inherit;\r\n  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;\r\n}\r\n\r\n.gdModal input::placeholder,\r\n.gdModal textarea::placeholder{\r\n  color:rgba(255,255,255,.45);\r\n}\r\n\r\n.gdModal textarea{\r\n  min-height:74px;\r\n  max-height:110px;\r\n  resize:vertical;\r\n}\r\n\r\n.gdModal input:focus,\r\n.gdModal textarea:focus{\r\n  border-color:rgba(139,92,255,.72);\r\n  box-shadow:0 0 0 4px rgba(139,92,255,.14);\r\n  background:rgba(255,255,255,.08);\r\n}\r\n\r\n.gdModal .actions{\r\n  display:grid;\r\n  gap:8px;\r\n  margin-top:2px;\r\n}\r\n\r\n.gdModal .primary,\r\n.gdModal .secondary{\r\n  width:100%;\r\n  min-height:46px;\r\n  padding:12px 14px;\r\n  border-radius:14px;\r\n  font-size:14px;\r\n  font-weight:900;\r\n}\r\n\r\n.gdModal .primary{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:8px;\r\n  border:1px solid rgba(255,255,255,.08);\r\n  background:var(--accent);\r\n  color:#fff;\r\n  cursor:pointer;\r\n  box-shadow:\r\n    0 12px 28px rgba(91,58,255,.28),\r\n    inset 0 1px 0 rgba(255,255,255,.14);\r\n  transition:transform .22s ease, background .22s ease, box-shadow .22s ease, opacity .22s ease;\r\n}\r\n\r\n.gdModal .primary:hover{\r\n  transform:translateY(-1px);\r\n  background:var(--accent-hover);\r\n  box-shadow:\r\n    0 18px 38px rgba(91,58,255,.35),\r\n    inset 0 1px 0 rgba(255,255,255,.18);\r\n}\r\n\r\n.gdModal .primary:disabled{\r\n  opacity:.7;\r\n  cursor:not-allowed;\r\n  transform:none;\r\n}\r\n\r\n.gdModal .primary .ico{\r\n  width:16px;\r\n  height:16px;\r\n}\r\n\r\n.gdModal .secondary{\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(255,255,255,.06);\r\n  color:rgba(255,255,255,.90);\r\n  cursor:pointer;\r\n}\r\n\r\n.gdModal .secondary:hover{\r\n  background:rgba(255,255,255,.09);\r\n  border-color:rgba(255,255,255,.20);\r\n}\r\n\r\n.gdModal .status{\r\n  display:none;\r\n  margin-top:4px;\r\n  padding:10px 12px;\r\n  border-radius:12px;\r\n  font-size:12.5px;\r\n  line-height:1.45;\r\n  font-weight:600;\r\n}\r\n\r\n.gdModal .status.is-success{\r\n  display:block;\r\n  background:rgba(24,195,126,.12);\r\n  border:1px solid rgba(24,195,126,.28);\r\n  color:#d6ffed;\r\n}\r\n\r\n.gdModal .status.is-error{\r\n  display:block;\r\n  background:rgba(255,95,109,.10);\r\n  border:1px solid rgba(255,95,109,.24);\r\n  color:#ffdede;\r\n}\r\n\r\n@media (max-width: 560px){\r\n  .gdModal .panelWrap{\r\n    padding:\r\n      max(20px, env(safe-area-inset-top))\r\n      12px\r\n      max(20px, env(safe-area-inset-bottom))\r\n      12px;\r\n  }\r\n\r\n  .gdModal .panel{\r\n    width:min(360px, 100%);\r\n    max-height:min(78vh, 680px);\r\n    border-radius:20px;\r\n  }\r\n\r\n  .gdModal .head{\r\n    padding:14px 14px 8px;\r\n  }\r\n\r\n  .gdModal .body{\r\n    padding:0 14px 14px;\r\n  }\r\n\r\n  .gdModal .title{\r\n    font-size:15px;\r\n  }\r\n\r\n  .gdModal .hint{\r\n    font-size:12px;\r\n    max-width:220px;\r\n  }\r\n\r\n  .gdModal .close{\r\n    width:34px;\r\n    height:34px;\r\n    border-radius:11px;\r\n  }\r\n\r\n  .gdModal label{\r\n    font-size:11px;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  .gdModal input,\r\n  .gdModal textarea{\r\n    padding:10px 12px;\r\n    font-size:13px;\r\n    border-radius:12px;\r\n  }\r\n\r\n  .gdModal textarea{\r\n    min-height:68px;\r\n    max-height:96px;\r\n  }\r\n\r\n  .gdModal .primary,\r\n  .gdModal .secondary{\r\n    min-height:42px;\r\n    padding:11px 12px;\r\n    font-size:13.5px;\r\n    border-radius:13px;\r\n  }\r\n\r\n  .gdModal .status{\r\n    font-size:12px;\r\n    padding:9px 11px;\r\n  }\r\n}\r\n\r\n@media (max-height: 740px){\r\n  .gdModal .panel{\r\n    max-height:76vh;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<section class=\"gdTools\" aria-label=\"Herramientas y Tecnolog\u00edas\">\r\n  <div class=\"wrap\">\r\n    <div class=\"hero\">\r\n\r\n      <div class=\"floaters\" aria-hidden=\"true\">\r\n        <span class=\"cube c1\"><\/span>\r\n        <span class=\"cube c2\"><\/span>\r\n        <span class=\"cube c3\"><\/span>\r\n        <span class=\"cube c4\"><\/span>\r\n\r\n        <div class=\"logo p1 d1\"><img decoding=\"async\" alt=\"WordPress\" src=\"https:\/\/cdn.simpleicons.org\/wordpress\/000000\"><\/div>\r\n        <div class=\"logo p2 d2\"><img decoding=\"async\" alt=\"Elementor\" src=\"https:\/\/cdn.simpleicons.org\/elementor\/000000\"><\/div>\r\n        <div class=\"logo p3 d3\"><img decoding=\"async\" alt=\"HTML5\" src=\"https:\/\/cdn.simpleicons.org\/html5\/000000\"><\/div>\r\n        <div class=\"logo p4 d4\"><img decoding=\"async\" alt=\"CSS\" src=\"https:\/\/cdn.simpleicons.org\/css\/000000\"><\/div>\r\n\r\n        <div class=\"logo p5 d5\"><img decoding=\"async\" alt=\"JavaScript\" src=\"https:\/\/cdn.simpleicons.org\/javascript\/000000\"><\/div>\r\n        <div class=\"logo p6 d6\"><img decoding=\"async\" alt=\"React\" src=\"https:\/\/cdn.simpleicons.org\/react\/000000\"><\/div>\r\n        <div class=\"logo p7 d7\"><img decoding=\"async\" alt=\"Figma\" src=\"https:\/\/cdn.simpleicons.org\/figma\/000000\"><\/div>\r\n        <div class=\"logo p8 d8\"><img decoding=\"async\" alt=\"GitHub\" src=\"https:\/\/cdn.simpleicons.org\/github\/000000\"><\/div>\r\n\r\n        <div class=\"logo p9 d9\"><img decoding=\"async\" alt=\"Google\" src=\"https:\/\/cdn.simpleicons.org\/google\/000000\"><\/div>\r\n        <div class=\"logo p10 d10\"><img decoding=\"async\" alt=\"Meta\" src=\"https:\/\/cdn.simpleicons.org\/meta\/000000\"><\/div>\r\n        <div class=\"logo p11 d11\"><img decoding=\"async\" alt=\"WhatsApp\" src=\"https:\/\/cdn.simpleicons.org\/whatsapp\/000000\"><\/div>\r\n        <div class=\"logo p12 d12\"><img decoding=\"async\" alt=\"Instagram\" src=\"https:\/\/cdn.simpleicons.org\/instagram\/000000\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"content\">\r\n        <span class=\"kicker\">Tecnolog\u00eda & Desarrollo Web<\/span>\r\n        <h2>Conectamos tu negocio con una <span class=\"grad\">web que vende<\/span><\/h2>\r\n        <p class=\"sub\">\r\n          Dise\u00f1amos p\u00e1ginas web modernas, estrat\u00e9gicas y optimizadas para captar clientes,\r\n          fortalecer tu marca y convertir visitas en oportunidades reales.\r\n        <\/p>\r\n\r\n        <button class=\"btn\" type=\"button\" id=\"gdOpenModal\">\r\n          Agenda tu asesor\u00eda para tu p\u00e1gina web\r\n          <svg class=\"ico\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n            <path d=\"M7 3v3M17 3v3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <path d=\"M4 9h16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n            <path d=\"M6 6h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z\" stroke=\"currentColor\" stroke-width=\"2\"\/>\r\n            <path d=\"M8 13h3M8 17h3M13 13h3M13 17h3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n          <\/svg>\r\n        <\/button>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== MODAL ===== -->\r\n<div class=\"gdModal\" id=\"gdModal\" aria-hidden=\"true\">\r\n  <div class=\"backdrop\" data-close=\"1\"><\/div>\r\n\r\n  <div class=\"panelWrap\">\r\n    <div class=\"panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gdModalTitle\">\r\n      <div class=\"head\">\r\n        <div>\r\n          <p class=\"title\" id=\"gdModalTitle\">Agenda tu asesor\u00eda web<\/p>\r\n          <p class=\"hint\">D\u00e9janos tus datos y te contactaremos para coordinar tu cita.<\/p>\r\n        <\/div>\r\n\r\n        <button class=\"close\" type=\"button\" id=\"gdCloseModal\" aria-label=\"Cerrar\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" width=\"18\" height=\"18\" aria-hidden=\"true\">\r\n            <path d=\"M6 6l12 12M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\r\n          <\/svg>\r\n        <\/button>\r\n      <\/div>\r\n\r\n      <div class=\"body\">\r\n        <form id=\"gdBookingForm\" novalidate>\r\n          <div>\r\n            <label for=\"gdName\">Nombre<\/label>\r\n            <input id=\"gdName\" name=\"name\" type=\"text\" autocomplete=\"name\" required placeholder=\"Tu nombre completo\">\r\n          <\/div>\r\n\r\n          <div>\r\n            <label for=\"gdWhatsApp\">WhatsApp<\/label>\r\n            <input id=\"gdWhatsApp\" name=\"phone\" type=\"tel\" inputmode=\"tel\" required placeholder=\"Tu n\u00famero de contacto\">\r\n          <\/div>\r\n\r\n          <div>\r\n            <label for=\"gdEmail\">Correo<\/label>\r\n            <input id=\"gdEmail\" name=\"email\" type=\"email\" autocomplete=\"email\" required placeholder=\"tucorreo@ejemplo.com\">\r\n          <\/div>\r\n\r\n          <div>\r\n            <label for=\"gdMsg\">\u00bfQu\u00e9 tipo de p\u00e1gina web necesitas?<\/label>\r\n            <textarea id=\"gdMsg\" name=\"message\" placeholder=\"Ejemplo: web corporativa, landing page o tienda online\"><\/textarea>\r\n          <\/div>\r\n\r\n          <div class=\"actions\">\r\n            <button class=\"primary\" type=\"submit\" id=\"gdSubmitBtn\">\r\n              Solicitar cita\r\n              <svg class=\"ico\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n                <path d=\"M4 12l16-8-6 16-2-7-8-1Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\r\n              <\/svg>\r\n            <\/button>\r\n            <button class=\"secondary\" type=\"button\" data-close=\"1\">Cancelar<\/button>\r\n          <\/div>\r\n\r\n          <div class=\"status\" id=\"gdFormStatus\" role=\"status\" aria-live=\"polite\"><\/div>\r\n        <\/form>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const modal = document.getElementById('gdModal');\r\n  const openBtn = document.getElementById('gdOpenModal');\r\n  const closeBtn = document.getElementById('gdCloseModal');\r\n  const form = document.getElementById('gdBookingForm');\r\n  const statusBox = document.getElementById('gdFormStatus');\r\n  const submitBtn = document.getElementById('gdSubmitBtn');\r\n\r\n  const nameEl = document.getElementById('gdName');\r\n  const phoneEl = document.getElementById('gdWhatsApp');\r\n  const emailEl = document.getElementById('gdEmail');\r\n  const msgEl = document.getElementById('gdMsg');\r\n\r\n  function openModal(){\r\n    modal.classList.add('is-open');\r\n    modal.setAttribute('aria-hidden','false');\r\n    document.body.style.overflow = 'hidden';\r\n    setTimeout(() => nameEl.focus(), 60);\r\n  }\r\n\r\n  function closeModal(){\r\n    modal.classList.remove('is-open');\r\n    modal.setAttribute('aria-hidden','true');\r\n    document.body.style.overflow = '';\r\n    clearStatus();\r\n  }\r\n\r\n  function showStatus(type, message){\r\n    statusBox.className = 'status ' + (type === 'success' ? 'is-success' : 'is-error');\r\n    statusBox.textContent = message;\r\n  }\r\n\r\n  function clearStatus(){\r\n    statusBox.className = 'status';\r\n    statusBox.textContent = '';\r\n  }\r\n\r\n  function validateEmail(email){\r\n    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email);\r\n  }\r\n\r\n  openBtn.addEventListener('click', openModal);\r\n  closeBtn.addEventListener('click', closeModal);\r\n\r\n  modal.addEventListener('click', (e) => {\r\n    if(e.target && e.target.dataset && e.target.dataset.close === \"1\"){\r\n      closeModal();\r\n    }\r\n  });\r\n\r\n  window.addEventListener('keydown', (e) => {\r\n    if(e.key === 'Escape' && modal.classList.contains('is-open')){\r\n      closeModal();\r\n    }\r\n  });\r\n\r\n  form.addEventListener('submit', async function(e){\r\n    e.preventDefault();\r\n    clearStatus();\r\n\r\n    const name = nameEl.value.trim();\r\n    const phone = phoneEl.value.trim();\r\n    const email = emailEl.value.trim();\r\n    const message = msgEl.value.trim();\r\n\r\n    if(!name || !phone || !email){\r\n      showStatus('error', 'Por favor completa nombre, WhatsApp y correo.');\r\n      return;\r\n    }\r\n\r\n    if(!validateEmail(email)){\r\n      showStatus('error', 'Ingresa un correo v\u00e1lido.');\r\n      return;\r\n    }\r\n\r\n    submitBtn.disabled = true;\r\n    submitBtn.innerHTML = 'Enviando...';\r\n\r\n    const payload = {\r\n      name,\r\n      phone,\r\n      email,\r\n      message,\r\n      servicio: 'Asesor\u00eda para p\u00e1gina web',\r\n      _subject: `Nueva solicitud web \u2014 ${name}`,\r\n      _captcha: 'false',\r\n      _template: 'table'\r\n    };\r\n\r\n    try{\r\n      const response = await fetch('https:\/\/formsubmit.co\/ajax\/hola@gabodesarrollador.com', {\r\n        method: 'POST',\r\n        headers: {\r\n          'Content-Type': 'application\/json',\r\n          'Accept': 'application\/json'\r\n        },\r\n        body: JSON.stringify(payload)\r\n      });\r\n\r\n      await response.json();\r\n\r\n      if(response.ok){\r\n        showStatus('success', 'Solicitud enviada correctamente. Pronto te contactaremos.');\r\n        form.reset();\r\n\r\n        setTimeout(() => {\r\n          closeModal();\r\n        }, 1700);\r\n      }else{\r\n        showStatus('error', 'No se pudo enviar en este momento. Int\u00e9ntalo nuevamente.');\r\n      }\r\n    }catch(error){\r\n      showStatus('error', 'Ocurri\u00f3 un problema al enviar. Verifica tu conexi\u00f3n e int\u00e9ntalo otra vez.');\r\n    }finally{\r\n      submitBtn.disabled = false;\r\n      submitBtn.innerHTML = `\r\n        Solicitar cita\r\n        <svg class=\"ico\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n          <path d=\"M4 12l16-8-6 16-2-7-8-1Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\r\n        <\/svg>\r\n      `;\r\n    }\r\n  });\r\n})();\r\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-7475de3 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"7475de3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfea3b9 elementor-widget elementor-widget-html\" data-id=\"dfea3b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ====== TESTIMONIOS | CARRUSEL INFINITO PREMIUM SIN FLECHAS | ESPACIADO CORREGIDO ====== -->\r\n<section class=\"gabo-testimonials\" aria-label=\"Testimonios\">\r\n  <div class=\"gabo-testimonials-inner\">\r\n\r\n    <div class=\"gabo-testimonials-head\">\r\n      <span class=\"gabo-testimonials-kicker\">Testimonios<\/span>\r\n      <h3 class=\"gabo-testimonials-title\">\r\n        Clientes que conf\u00edan en <span class=\"gabo-testimonials-accent\">nuestro trabajo<\/span>\r\n      <\/h3>\r\n    <\/div>\r\n\r\n    <div class=\"gabo-testimonials-glow\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"gabo-testimonials-shell\" data-gbt-shell>\r\n      <div class=\"gabo-testimonials-viewport\" data-gbt-viewport>\r\n        <div class=\"gabo-testimonials-track\" data-gbt-track>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Isabella C\u00e1ceres<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Lima, Per\u00fa<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">La web qued\u00f3 rapid\u00edsima y con un dise\u00f1o que s\u00ed se ve serio. Me ayudaron con la estructura y los CTA. Ahora recibo m\u00e1s consultas por WhatsApp.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Renata Palacios<\/div>\r\n                <div class=\"gabo-testimonial-loc\">CDMX, M\u00e9xico<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Me gust\u00f3 el enfoque en conversi\u00f3n: copy claro, secciones ordenadas y carga r\u00e1pida. Qued\u00f3 perfecta en celular y lista para campa\u00f1as.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Mariana Valdivia<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Arequipa, Per\u00fa<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Antes mi web se ve\u00eda como plantilla. Ahora se ve premium, con identidad y mucha m\u00e1s confianza. Adem\u00e1s la velocidad mejor\u00f3 much\u00edsimo.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Valentina R\u00edos<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Bogot\u00e1, Colombia<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Muy buena asesor\u00eda. Propusieron mejoras reales y dejaron todo listo para anuncios. Dise\u00f1o limpio, elegante y con llamados a la acci\u00f3n bien ubicados.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Diego Huam\u00e1n<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Cusco, Per\u00fa<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Lo que m\u00e1s valoro es la velocidad y el orden del sitio. Se siente profesional y confiable. Excelente comunicaci\u00f3n durante todo el proceso.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Camila Soto<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Santiago, Chile<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Qued\u00f3 todo muy prolijo. La web se ve moderna y confiable, con secciones claras y buena lectura. Ideal para captar clientes.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Luc\u00eda Fern\u00e1ndez<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Trujillo, Per\u00fa<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Me encant\u00f3 c\u00f3mo qued\u00f3 el dise\u00f1o. La lectura es clara, el sitio carga r\u00e1pido y transmite mucha confianza. Muy recomendable.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Mart\u00edn Acosta<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Buenos Aires, Argentina<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Se nota el enfoque profesional: orden, velocidad y un dise\u00f1o que vende. El sitio qued\u00f3 listo para escalar con campa\u00f1as y SEO.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Paola Rojas<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Piura, Per\u00fa<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Me ayudaron con los textos y el orden de la p\u00e1gina. Ahora se ve elegante, f\u00e1cil de entender y mucho m\u00e1s profesional.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Daniela Mena<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Guayaquil, Ecuador<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Me encant\u00f3 la versi\u00f3n m\u00f3vil. Todo se ve ordenado, r\u00e1pido y transmite confianza. Ideal para vender servicios en l\u00ednea.<\/p>\r\n          <\/article>\r\n\r\n          <article class=\"gabo-testimonial-card\">\r\n            <div class=\"gabo-testimonial-top\">\r\n              <div>\r\n                <div class=\"gabo-testimonial-name\">Jorge Salazar<\/div>\r\n                <div class=\"gabo-testimonial-loc\">Chiclayo, Per\u00fa<\/div>\r\n              <\/div>\r\n              <div class=\"gabo-testimonial-badge\">\r\n                <div class=\"gabo-google-logo\"><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"gabo-testimonial-stars\" aria-label=\"5 estrellas\">\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n              <svg class=\"gabo-star\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\/><\/svg>\r\n            <\/div>\r\n            <p class=\"gabo-testimonial-text\">Me dejaron todo listo: estructura, CTA y una web que se siente como empresa seria. Se nota bastante la diferencia con mi p\u00e1gina anterior.<\/p>\r\n          <\/article>\r\n\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"gabo-testimonials-footer\">\r\n        <div class=\"gabo-testimonials-dots\" data-gbt-dots aria-label=\"Paginaci\u00f3n\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"gabo-testimonials-glow bottom\" aria-hidden=\"true\"><\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n.gabo-testimonials{\r\n  --text: rgba(255,255,255,.94);\r\n  --muted: rgba(255,255,255,.72);\r\n  --line: rgba(255,255,255,.10);\r\n  --line2: rgba(255,255,255,.14);\r\n  --panel1: rgba(14,9,30,.78);\r\n  --panel2: rgba(8,5,20,.88);\r\n  --card1: rgba(255,255,255,.05);\r\n  --card2: rgba(255,255,255,.02);\r\n  --glowA: rgba(90,120,255,.55);\r\n  --glowB: rgba(170,90,255,.45);\r\n\r\n  width:100%;\r\n  max-width:100%;\r\n  overflow:hidden;\r\n  background:transparent;\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n}\r\n.gabo-testimonials *{\r\n  box-sizing:border-box;\r\n  max-width:100%;\r\n}\r\n.gabo-testimonials-inner{\r\n  width:100%;\r\n  padding:clamp(18px,3vw,34px) 0;\r\n}\r\n\r\n\/* HEAD *\/\r\n.gabo-testimonials-head{\r\n  width:min(1180px,92%);\r\n  margin:0 auto;\r\n  padding-bottom:clamp(12px,2vw,18px);\r\n}\r\n.gabo-testimonials-kicker{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  padding:8px 14px;\r\n  border-radius:999px;\r\n  border:1px solid var(--line2);\r\n  background:rgba(255,255,255,.03);\r\n  font-size:13px;\r\n  font-weight:600;\r\n  color:var(--text);\r\n}\r\n.gabo-testimonials-title{\r\n  margin:0;\r\n  padding:12px 0 0;\r\n  color:var(--text);\r\n  font-weight:600;\r\n  letter-spacing:-0.02em;\r\n  line-height:1.15;\r\n  font-size:clamp(20px,3.3vw,40px);\r\n  text-shadow:0 16px 42px rgba(0,0,0,.55);\r\n  overflow-wrap:anywhere;\r\n  max-width:760px;\r\n}\r\n.gabo-testimonials-accent{\r\n  background:linear-gradient(90deg,#ffffff 0%,#ff4fd8 30%,#8b5cff 62%,#4be7ff 100%);\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  color:transparent;\r\n  font-weight:700;\r\n}\r\n\r\n\/* GLOW *\/\r\n.gabo-testimonials-glow{\r\n  height:2px;\r\n  width:min(1100px,86vw);\r\n  margin:0 auto clamp(14px,2.4vw,22px);\r\n  background:linear-gradient(\r\n    90deg,\r\n    transparent 0%,\r\n    rgba(255,255,255,.14) 15%,\r\n    var(--glowA) 35%,\r\n    var(--glowB) 65%,\r\n    rgba(255,255,255,.14) 85%,\r\n    transparent 100%\r\n  );\r\n  filter:blur(.2px);\r\n  box-shadow:\r\n    0 0 22px rgba(90,120,255,.20),\r\n    0 0 30px rgba(170,90,255,.16);\r\n  opacity:.9;\r\n}\r\n.gabo-testimonials-glow.bottom{\r\n  margin:clamp(14px,2.4vw,22px) auto 0;\r\n}\r\n\r\n\/* SHELL *\/\r\n.gabo-testimonials-shell{\r\n  position:relative;\r\n  width:min(1180px,92%);\r\n  margin:0 auto;\r\n  border-radius:28px;\r\n  border:1px solid var(--line);\r\n  overflow:hidden;\r\n  background:linear-gradient(180deg,var(--panel1),var(--panel2));\r\n  box-shadow:\r\n    0 22px 80px rgba(0,0,0,.40),\r\n    inset 0 1px 0 rgba(255,255,255,.03);\r\n}\r\n.gabo-testimonials-shell::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  pointer-events:none;\r\n  background:\r\n    radial-gradient(920px 320px at 10% 0%, rgba(139,92,255,.14), transparent 62%),\r\n    radial-gradient(760px 280px at 100% 0%, rgba(255,79,216,.10), transparent 60%);\r\n}\r\n\r\n\/* VIEWPORT + TRACK *\/\r\n.gabo-testimonials-viewport{\r\n  position:relative;\r\n  z-index:2;\r\n  overflow:hidden;\r\n  padding:20px 18px 12px;\r\n}\r\n.gabo-testimonials-track{\r\n  display:flex;\r\n  gap:22px;\r\n  will-change:transform;\r\n  transform:translate3d(0,0,0);\r\n}\r\n\r\n\/* CARD *\/\r\n.gabo-testimonial-card{\r\n  flex:0 0 calc((100% - 44px) \/ 3);\r\n  min-width:0;\r\n  min-height:220px;\r\n  padding:20px 18px 18px;\r\n  border-radius:20px;\r\n  border:1px solid rgba(255,255,255,.11);\r\n  background:linear-gradient(180deg,var(--card1),var(--card2));\r\n  backdrop-filter:blur(12px);\r\n  -webkit-backdrop-filter:blur(12px);\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.03),\r\n    0 10px 30px rgba(0,0,0,.18);\r\n}\r\n.gabo-testimonial-top{\r\n  display:flex;\r\n  align-items:flex-start;\r\n  justify-content:space-between;\r\n  gap:12px;\r\n  margin-bottom:8px;\r\n}\r\n.gabo-testimonial-name{\r\n  font-size:16px;\r\n  font-weight:700;\r\n  line-height:1.1;\r\n  letter-spacing:-0.02em;\r\n  color:#fff;\r\n}\r\n.gabo-testimonial-loc{\r\n  margin-top:5px;\r\n  font-size:12.5px;\r\n  line-height:1.2;\r\n  color:var(--muted);\r\n}\r\n.gabo-testimonial-badge{\r\n  flex:0 0 auto;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  min-width:64px;\r\n  height:32px;\r\n  padding:0 11px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(255,255,255,.03);\r\n}\r\n.gabo-google-logo{\r\n  font-size:12px;\r\n  font-weight:800;\r\n  letter-spacing:.01em;\r\n  white-space:nowrap;\r\n}\r\n.gabo-google-logo span:nth-child(1){color:#4285F4;}\r\n.gabo-google-logo span:nth-child(2){color:#EA4335;}\r\n.gabo-google-logo span:nth-child(3){color:#FBBC05;}\r\n.gabo-google-logo span:nth-child(4){color:#4285F4;}\r\n.gabo-google-logo span:nth-child(5){color:#34A853;}\r\n.gabo-google-logo span:nth-child(6){color:#EA4335;}\r\n\r\n.gabo-testimonial-stars{\r\n  display:flex;\r\n  gap:4px;\r\n  margin:10px 0 14px;\r\n}\r\n.gabo-star{\r\n  width:15px;\r\n  height:15px;\r\n  flex:0 0 15px;\r\n}\r\n.gabo-star path{\r\n  fill:#fbbc05;\r\n}\r\n.gabo-testimonial-text{\r\n  margin:0;\r\n  color:rgba(255,255,255,.85);\r\n  font-size:14px;\r\n  line-height:1.72;\r\n  letter-spacing:-0.01em;\r\n  display:-webkit-box;\r\n  -webkit-box-orient:vertical;\r\n  -webkit-line-clamp:6;\r\n  overflow:hidden;\r\n}\r\n\r\n\/* DOTS *\/\r\n.gabo-testimonials-footer{\r\n  position:relative;\r\n  z-index:2;\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  padding:6px 16px 18px;\r\n}\r\n.gabo-testimonials-dots{\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  gap:8px;\r\n}\r\n.gabo-testimonials-dots .dot{\r\n  width:8px;\r\n  height:8px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:rgba(255,255,255,.12);\r\n  transition:.22s ease;\r\n  cursor:pointer;\r\n}\r\n.gabo-testimonials-dots .dot.active{\r\n  width:30px;\r\n  background:linear-gradient(135deg, rgba(255,79,216,.75), rgba(139,92,255,.72));\r\n  border-color:rgba(255,255,255,.20);\r\n}\r\n\r\n\/* TABLET *\/\r\n@media (max-width:980px){\r\n  .gabo-testimonials-title{\r\n    max-width:620px;\r\n  }\r\n  .gabo-testimonials-viewport{\r\n    padding:18px 16px 10px;\r\n  }\r\n  .gabo-testimonials-track{\r\n    gap:18px;\r\n  }\r\n  .gabo-testimonial-card{\r\n    flex:0 0 calc((100% - 18px) \/ 2);\r\n    min-height:214px;\r\n  }\r\n}\r\n\r\n\/* MOBILE *\/\r\n@media (max-width:768px){\r\n  .gabo-testimonials-head{\r\n    text-align:center;\r\n    width:min(100%,94%);\r\n  }\r\n  .gabo-testimonials-title{\r\n    max-width:100%;\r\n    margin:0 auto;\r\n  }\r\n}\r\n\r\n@media (max-width:480px){\r\n  .gabo-testimonials-inner{\r\n    padding:18px 0;\r\n  }\r\n  .gabo-testimonials-head{\r\n    padding-bottom:14px;\r\n  }\r\n  .gabo-testimonials-title{\r\n    font-size:18px;\r\n    line-height:1.2;\r\n    padding-top:12px;\r\n    max-width:320px;\r\n    margin-left:auto;\r\n    margin-right:auto;\r\n  }\r\n  .gabo-testimonials-shell{\r\n    width:min(100%,94%);\r\n    border-radius:22px;\r\n  }\r\n  .gabo-testimonials-viewport{\r\n    padding:14px 14px 10px;\r\n  }\r\n  .gabo-testimonials-track{\r\n    gap:14px;\r\n  }\r\n  .gabo-testimonial-card{\r\n    flex:0 0 calc(100% - 6px);\r\n    min-height:auto;\r\n    padding:18px 15px 16px;\r\n    border-radius:18px;\r\n  }\r\n  .gabo-testimonial-name{\r\n    font-size:15.5px;\r\n  }\r\n  .gabo-testimonial-loc{\r\n    font-size:12px;\r\n  }\r\n  .gabo-testimonial-badge{\r\n    min-width:58px;\r\n    height:30px;\r\n    padding:0 10px;\r\n  }\r\n  .gabo-testimonial-text{\r\n    font-size:13.4px;\r\n    line-height:1.66;\r\n    -webkit-line-clamp:7;\r\n  }\r\n  .gabo-testimonials-footer{\r\n    padding:8px 12px 14px;\r\n  }\r\n  .gabo-testimonials-dots .dot.active{\r\n    width:24px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  const root = document.querySelector('.gabo-testimonials');\r\n  if(!root) return;\r\n\r\n  const shell = root.querySelector('[data-gbt-shell]');\r\n  const viewport = root.querySelector('[data-gbt-viewport]');\r\n  const track = root.querySelector('[data-gbt-track]');\r\n  const dotsWrap = root.querySelector('[data-gbt-dots]');\r\n  if(!shell || !viewport || !track || !dotsWrap) return;\r\n\r\n  if(shell.__gbtInit) return;\r\n  shell.__gbtInit = true;\r\n\r\n  const originals = Array.from(track.children).filter(el => el.classList.contains('gabo-testimonial-card'));\r\n  if(!originals.length) return;\r\n\r\n  let x = 0;\r\n  let raf = null;\r\n  let paused = false;\r\n  let lastTime = 0;\r\n\r\n  const getGap = () => {\r\n    if(window.innerWidth <= 480) return 14;\r\n    if(window.innerWidth <= 980) return 18;\r\n    return 22;\r\n  };\r\n\r\n  const getSpeed = () => {\r\n    if(window.innerWidth <= 480) return 20;\r\n    if(window.innerWidth <= 980) return 24;\r\n    return 28;\r\n  };\r\n\r\n  const getPerView = () => {\r\n    if(window.innerWidth <= 480) return 1;\r\n    if(window.innerWidth <= 980) return 2;\r\n    return 3;\r\n  };\r\n\r\n  let cloneCount = Math.max(getPerView() + 2, 4);\r\n\r\n  function cleanClones(){\r\n    track.querySelectorAll('[data-clone=\"1\"]').forEach(el => el.remove());\r\n  }\r\n\r\n  function buildClones(){\r\n    cleanClones();\r\n    cloneCount = Math.min(Math.max(getPerView() + 2, 4), originals.length);\r\n\r\n    const before = originals.slice(-cloneCount).map(card => {\r\n      const c = card.cloneNode(true);\r\n      c.setAttribute('data-clone', '1');\r\n      return c;\r\n    });\r\n\r\n    const after = originals.slice(0, cloneCount).map(card => {\r\n      const c = card.cloneNode(true);\r\n      c.setAttribute('data-clone', '1');\r\n      return c;\r\n    });\r\n\r\n    before.forEach(c => track.insertBefore(c, track.firstChild));\r\n    after.forEach(c => track.appendChild(c));\r\n  }\r\n\r\n  function allSlides(){\r\n    return Array.from(track.children);\r\n  }\r\n\r\n  function slideWidth(){\r\n    const first = allSlides()[0];\r\n    if(!first) return 0;\r\n    return first.getBoundingClientRect().width + getGap();\r\n  }\r\n\r\n  function startIndex(){\r\n    return cloneCount;\r\n  }\r\n\r\n  function xForIndex(i){\r\n    return -(i * slideWidth());\r\n  }\r\n\r\n  function totalRealWidth(){\r\n    return originals.length * slideWidth();\r\n  }\r\n\r\n  function setX(value){\r\n    track.style.transform = `translate3d(${value}px,0,0)`;\r\n  }\r\n\r\n  function normalize(){\r\n    const base = xForIndex(startIndex());\r\n    const realW = totalRealWidth();\r\n    if(!realW) return;\r\n\r\n    while(x < base - realW) x += realW;\r\n    while(x > base) x -= realW;\r\n\r\n    setX(x);\r\n    setActiveDot(getCurrentDot());\r\n  }\r\n\r\n  function pagesCount(){\r\n    return Math.ceil(originals.length \/ getPerView());\r\n  }\r\n\r\n  function buildDots(){\r\n    dotsWrap.innerHTML = '';\r\n    const total = pagesCount();\r\n\r\n    for(let i = 0; i < total; i++){\r\n      const dot = document.createElement('button');\r\n      dot.type = 'button';\r\n      dot.className = 'dot' + (i === 0 ? ' active' : '');\r\n      dot.setAttribute('aria-label', 'Ir a p\u00e1gina ' + (i + 1));\r\n      dot.addEventListener('click', () => {\r\n        const target = i * getPerView();\r\n        x = xForIndex(startIndex() + target);\r\n        setX(x);\r\n        setActiveDot(i);\r\n      });\r\n      dotsWrap.appendChild(dot);\r\n    }\r\n  }\r\n\r\n  function setActiveDot(index){\r\n    Array.from(dotsWrap.children).forEach((dot, i) => {\r\n      dot.classList.toggle('active', i === index);\r\n    });\r\n  }\r\n\r\n  function getCurrentDot(){\r\n    const sw = slideWidth();\r\n    if(!sw) return 0;\r\n\r\n    const base = xForIndex(startIndex());\r\n    const moved = base - x;\r\n    const realIndex = Math.floor((moved \/ sw) % originals.length);\r\n    return Math.floor(realIndex \/ getPerView());\r\n  }\r\n\r\n  function tick(t){\r\n    if(!lastTime) lastTime = t;\r\n    const dt = Math.min(0.05, (t - lastTime) \/ 1000);\r\n    lastTime = t;\r\n\r\n    if(!paused){\r\n      x -= getSpeed() * dt;\r\n      normalize();\r\n    }\r\n\r\n    raf = requestAnimationFrame(tick);\r\n  }\r\n\r\n  function start(){\r\n    if(raf) cancelAnimationFrame(raf);\r\n    x = xForIndex(startIndex());\r\n    setX(x);\r\n    lastTime = 0;\r\n    raf = requestAnimationFrame(tick);\r\n  }\r\n\r\n  function stop(){\r\n    if(raf){\r\n      cancelAnimationFrame(raf);\r\n      raf = null;\r\n    }\r\n  }\r\n\r\n  shell.addEventListener('mouseenter', () => paused = true);\r\n  shell.addEventListener('mouseleave', () => paused = false);\r\n  shell.addEventListener('touchstart', () => paused = true, { passive:true });\r\n  shell.addEventListener('touchend', () => paused = false, { passive:true });\r\n\r\n  const io = new IntersectionObserver((entries) => {\r\n    entries.forEach(entry => {\r\n      paused = !entry.isIntersecting;\r\n    });\r\n  }, { threshold: 0.20 });\r\n\r\n  io.observe(shell);\r\n\r\n  function rebuild(){\r\n    stop();\r\n    buildClones();\r\n    buildDots();\r\n    start();\r\n    normalize();\r\n  }\r\n\r\n  let resizeTimer;\r\n  window.addEventListener('resize', () => {\r\n    clearTimeout(resizeTimer);\r\n    resizeTimer = setTimeout(rebuild, 120);\r\n  }, { passive:true });\r\n\r\n  buildClones();\r\n  buildDots();\r\n  start();\r\n  normalize();\r\n})();\r\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-48dbd1d e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"48dbd1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-56b772e elementor-widget elementor-widget-html\" data-id=\"56b772e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ====== M\u00c9TODOS DE PAGO | PREMIUM LIMPIO V3 ====== -->\r\n<section class=\"gaboPayCleanV3\" aria-label=\"M\u00e9todos de pago\">\r\n  <div class=\"gaboPayCleanV3-wrap\">\r\n\r\n    <div class=\"gaboPayCleanV3-box\">\r\n      <div class=\"gaboPayCleanV3-bg\" aria-hidden=\"true\"><\/div>\r\n\r\n      <header class=\"gaboPayCleanV3-head\">\r\n        <span class=\"gaboPayCleanV3-kicker\">M\u00e9todos de pago<\/span>\r\n        <h2>\r\n          Nuestros m\u00e9todos de pago son\r\n          <span>BCP, Yape y AstroPay<\/span>\r\n        <\/h2>\r\n        <p>Tambi\u00e9n contamos con opci\u00f3n en cuotas.<\/p>\r\n      <\/header>\r\n\r\n      <div class=\"gaboPayCleanV3-grid\">\r\n\r\n        <!-- YAPE -->\r\n        <article class=\"gaboPayMethod yape\">\r\n          <div class=\"gaboPayMethod-glow\" aria-hidden=\"true\"><\/div>\r\n          <div class=\"gaboPayMethod-logoWrap\">\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/03\/1200x630wa.png\"\r\n              alt=\"Yape\">\r\n          <\/div>\r\n          <h3>Yape<\/h3>\r\n          <span>Pago r\u00e1pido<\/span>\r\n        <\/article>\r\n\r\n        <!-- BCP -->\r\n        <article class=\"gaboPayMethod bcp\">\r\n          <div class=\"gaboPayMethod-glow\" aria-hidden=\"true\"><\/div>\r\n          <div class=\"gaboPayMethod-logoWrap\">\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/03\/BCP.png\"\r\n              alt=\"BCP\">\r\n          <\/div>\r\n          <h3>BCP<\/h3>\r\n          <span>Transferencia bancaria<\/span>\r\n        <\/article>\r\n\r\n        <!-- ASTROPAY -->\r\n        <article class=\"gaboPayMethod astro\">\r\n          <div class=\"gaboPayMethod-glow\" aria-hidden=\"true\"><\/div>\r\n          <div class=\"gaboPayMethod-logoWrap astroLogoWrap\">\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/gabodesarrollador.com\/wp-content\/uploads\/2026\/03\/AstroPay_thumbnail.png\"\r\n              alt=\"AstroPay\">\r\n          <\/div>\r\n          <h3>AstroPay<\/h3>\r\n          <span>Pago internacional<\/span>\r\n        <\/article>\r\n\r\n        <!-- CUOTAS -->\r\n        <article class=\"gaboPayMethod cuotas\">\r\n          <div class=\"gaboPayMethod-glow\" aria-hidden=\"true\"><\/div>\r\n          <div class=\"gaboPayMethod-logoWrap cuotasWrap\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n              <rect x=\"5\" y=\"3\" width=\"14\" height=\"18\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.8\"\/>\r\n              <path d=\"M8.5 8h7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M8.5 12h7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M8.5 16h4.5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n          <h3>Cuotas<\/h3>\r\n          <span>Facilidad de pago<\/span>\r\n        <\/article>\r\n\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');\r\n\r\n.gaboPayCleanV3{\r\n  --text: rgba(255,255,255,.96);\r\n  --muted: rgba(255,255,255,.72);\r\n  --line: rgba(255,255,255,.10);\r\n  --line2: rgba(255,255,255,.14);\r\n  --panel1: rgba(12,9,26,.78);\r\n  --panel2: rgba(7,5,18,.92);\r\n\r\n  font-family:\"Poppins\",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\r\n  color:var(--text);\r\n  padding: clamp(34px, 4vw, 64px) 0;\r\n}\r\n\r\n.gaboPayCleanV3 *{\r\n  box-sizing:border-box;\r\n}\r\n\r\n.gaboPayCleanV3-wrap{\r\n  width:min(1100px, 92%);\r\n  margin:0 auto;\r\n}\r\n\r\n.gaboPayCleanV3-box{\r\n  position:relative;\r\n  overflow:hidden;\r\n  border-radius:28px;\r\n  border:1px solid var(--line);\r\n  background:linear-gradient(180deg,var(--panel1),var(--panel2));\r\n  box-shadow:\r\n    0 24px 90px rgba(0,0,0,.42),\r\n    inset 0 1px 0 rgba(255,255,255,.03);\r\n  padding: clamp(22px, 3vw, 34px);\r\n}\r\n\r\n.gaboPayCleanV3-bg{\r\n  position:absolute;\r\n  inset:0;\r\n  pointer-events:none;\r\n  background:\r\n    radial-gradient(760px 260px at 12% 0%, rgba(143,92,255,.16), transparent 62%),\r\n    radial-gradient(760px 260px at 100% 0%, rgba(255,176,0,.08), transparent 64%);\r\n  opacity:.9;\r\n}\r\n\r\n.gaboPayCleanV3-head{\r\n  position:relative;\r\n  z-index:2;\r\n  text-align:center;\r\n  max-width:900px;\r\n  margin:0 auto 26px;\r\n}\r\n\r\n.gaboPayCleanV3-kicker{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  padding:8px 14px;\r\n  border-radius:999px;\r\n  border:1px solid var(--line2);\r\n  background:rgba(255,255,255,.03);\r\n  font-size:12px;\r\n  font-weight:700;\r\n  color:rgba(255,255,255,.94);\r\n}\r\n\r\n.gaboPayCleanV3-head h2{\r\n  margin:12px 0 10px;\r\n  font-weight:800;\r\n  letter-spacing:-.03em;\r\n  line-height:1.08;\r\n  font-size:clamp(26px, 3.4vw, 48px);\r\n  text-shadow:0 18px 46px rgba(0,0,0,.55);\r\n  color: var(--text) !important;\r\n}\r\n\r\n.gaboPayCleanV3-head h2 span{\r\n  display:block;\r\n  margin-top:6px;\r\n  background:linear-gradient(90deg,#ffffff 0%, #ff4fd8 35%, #8b5cff 68%, #4be7ff 100%);\r\n  -webkit-background-clip:text;\r\n  background-clip:text;\r\n  color:transparent !important;\r\n}\r\n\r\n.gaboPayCleanV3-head p{\r\n  margin:0;\r\n  color:var(--muted);\r\n  font-size:clamp(13px, 1.1vw, 15px);\r\n  line-height:1.7;\r\n}\r\n\r\n\/* GRID *\/\r\n.gaboPayCleanV3-grid{\r\n  position:relative;\r\n  z-index:2;\r\n  display:grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap:18px;\r\n}\r\n\r\n\/* CARD *\/\r\n.gaboPayMethod{\r\n  position:relative;\r\n  overflow:hidden;\r\n  border-radius:22px;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));\r\n  min-height:188px;\r\n  padding:18px 16px 16px;\r\n  display:flex;\r\n  flex-direction:column;\r\n  align-items:center;\r\n  justify-content:flex-start;\r\n  text-align:center;\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.03),\r\n    0 12px 30px rgba(0,0,0,.18);\r\n  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;\r\n}\r\n\r\n.gaboPayMethod:hover{\r\n  transform:translateY(-4px);\r\n  border-color:rgba(255,255,255,.16);\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.04),\r\n    0 20px 42px rgba(0,0,0,.24);\r\n}\r\n\r\n.gaboPayMethod-glow{\r\n  position:absolute;\r\n  inset:auto -35px -50px auto;\r\n  width:115px;\r\n  height:115px;\r\n  border-radius:999px;\r\n  filter:blur(26px);\r\n  opacity:.20;\r\n  pointer-events:none;\r\n}\r\n\r\n.gaboPayMethod.yape .gaboPayMethod-glow{ background:#a62cff; }\r\n.gaboPayMethod.bcp .gaboPayMethod-glow{ background:#2b7cff; }\r\n.gaboPayMethod.astro .gaboPayMethod-glow{ background:#18d3bf; }\r\n.gaboPayMethod.cuotas .gaboPayMethod-glow{ background:#ffb000; }\r\n\r\n\/* LOGO AREA *\/\r\n.gaboPayMethod-logoWrap{\r\n  width:100%;\r\n  height:96px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  margin-bottom:16px;\r\n}\r\n\r\n\/* IMAGEN *\/\r\n.gaboPayMethod-logoWrap img{\r\n  display:block;\r\n  width:auto;\r\n  height:auto;\r\n  max-width:100%;\r\n  object-fit:contain;\r\n  image-rendering:auto;\r\n  filter: contrast(1.06) saturate(1.06);\r\n  backface-visibility:hidden;\r\n  transform:translateZ(0);\r\n  border-radius:18px;\r\n  overflow:hidden;\r\n}\r\n\r\n\/* tama\u00f1os m\u00e1s grandes *\/\r\n.gaboPayMethod.yape .gaboPayMethod-logoWrap img{\r\n  max-height:80px;\r\n}\r\n\r\n.gaboPayMethod.bcp .gaboPayMethod-logoWrap img{\r\n  max-height:64px;\r\n}\r\n\r\n.gaboPayMethod.astro .gaboPayMethod-logoWrap img{\r\n  max-height:62px;\r\n}\r\n\r\n\/* para astro: fondo claro redondeado y limpio *\/\r\n.gaboPayMethod .astroLogoWrap{\r\n  border-radius:22px;\r\n  background:rgba(255,255,255,.97);\r\n  padding:14px 18px;\r\n  width:fit-content;\r\n  min-width: 180px;\r\n  max-width: 96%;\r\n  margin-left:auto;\r\n  margin-right:auto;\r\n  box-shadow: 0 8px 18px rgba(0,0,0,.10);\r\n}\r\n\r\n\/* yape y bcp: m\u00e1s grandes y redondeados *\/\r\n.gaboPayMethod.yape .gaboPayMethod-logoWrap img,\r\n.gaboPayMethod.bcp .gaboPayMethod-logoWrap img{\r\n  padding:0;\r\n  border-radius:22px;\r\n}\r\n\r\n\/* ICONO CUOTAS *\/\r\n.gaboPayMethod .cuotasWrap{\r\n  color:#ffb000;\r\n}\r\n.gaboPayMethod .cuotasWrap svg{\r\n  width:38px;\r\n  height:38px;\r\n}\r\n\r\n\/* TEXTOS *\/\r\n.gaboPayMethod h3{\r\n  margin:0 0 5px;\r\n  font-size:22px;\r\n  line-height:1.05;\r\n  font-weight:800;\r\n  letter-spacing:-.03em;\r\n  color:#fff !important;\r\n}\r\n\r\n.gaboPayMethod span{\r\n  display:block;\r\n  font-size:12.8px;\r\n  line-height:1.4;\r\n  font-weight:600;\r\n  color:rgba(255,255,255,.68);\r\n}\r\n\r\n\/* TABLET *\/\r\n@media (max-width: 920px){\r\n  .gaboPayCleanV3-grid{\r\n    grid-template-columns: repeat(2, 1fr);\r\n  }\r\n}\r\n\r\n\/* MOBILE *\/\r\n@media (max-width: 560px){\r\n  .gaboPayCleanV3{\r\n    padding:32px 0;\r\n  }\r\n\r\n  .gaboPayCleanV3-wrap{\r\n    width:min(100%, 94%);\r\n  }\r\n\r\n  .gaboPayCleanV3-box{\r\n    border-radius:22px;\r\n    padding:16px;\r\n  }\r\n\r\n  .gaboPayCleanV3-head{\r\n    margin-bottom:18px;\r\n  }\r\n\r\n  .gaboPayCleanV3-head h2{\r\n    font-size:clamp(23px, 7vw, 33px);\r\n    line-height:1.08;\r\n  }\r\n\r\n  .gaboPayCleanV3-grid{\r\n    grid-template-columns:1fr;\r\n    gap:14px;\r\n  }\r\n\r\n  .gaboPayMethod{\r\n    min-height:160px;\r\n    border-radius:18px;\r\n    padding:16px 14px 14px;\r\n  }\r\n\r\n  .gaboPayMethod-logoWrap{\r\n    height:82px;\r\n    margin-bottom:14px;\r\n  }\r\n\r\n  .gaboPayMethod.yape .gaboPayMethod-logoWrap img{\r\n    max-height:70px;\r\n  }\r\n\r\n  .gaboPayMethod.bcp .gaboPayMethod-logoWrap img{\r\n    max-height:54px;\r\n  }\r\n\r\n  .gaboPayMethod.astro .gaboPayMethod-logoWrap img{\r\n    max-height:48px;\r\n  }\r\n\r\n  .gaboPayMethod .astroLogoWrap{\r\n    min-width: 160px;\r\n    padding:12px 16px;\r\n    border-radius:18px;\r\n  }\r\n\r\n  .gaboPayMethod h3{\r\n    font-size:19px;\r\n  }\r\n\r\n  .gaboPayMethod span{\r\n    font-size:12px;\r\n  }\r\n}\r\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-a791aaa e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"a791aaa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-be96c40 elementor-widget elementor-widget-html\" data-id=\"be96c40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ====== FAQ PREMIUM | GABO ====== -->\r\n<section class=\"gaboFaqPremium\" aria-label=\"Preguntas frecuentes sobre p\u00e1ginas web\">\r\n  <div class=\"gaboFaqPremium-wrap\">\r\n\r\n    <header class=\"gaboFaqPremium-head\">\r\n      <span class=\"gaboFaqPremium-kicker\">Preguntas frecuentes<\/span>\r\n      <h2 class=\"gaboFaqPremium-title\">\r\n        Todo lo que Necesitas Saber Antes de Crear tu P\u00e1gina Web\r\n      <\/h2>\r\n      <p class=\"gaboFaqPremium-sub\">\r\n        Resolvemos las dudas m\u00e1s importantes para que tomes una decisi\u00f3n con claridad, seguridad y confianza.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"gaboFaqPremium-line\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"gaboFaqPremium-shell\">\r\n      <div class=\"gaboFaqPremium-bg\" aria-hidden=\"true\"><\/div>\r\n\r\n      <div class=\"gaboFaqPremium-grid\">\r\n\r\n        <!-- COLUMNA 1 -->\r\n        <div class=\"gaboFaqPremium-col\">\r\n\r\n          <details class=\"gaboFaqItem\" open>\r\n            <summary>\r\n              <span>\u00bfCu\u00e1nto cuesta una p\u00e1gina web y qu\u00e9 incluye?<\/span>\r\n              <span class=\"gaboFaqIcon\" aria-hidden=\"true\"><\/span>\r\n            <\/summary>\r\n            <div class=\"gaboFaqAnswer\">\r\n              <p>\r\n                El precio depende del tipo de sitio (web corporativa, landing o tienda) y del n\u00famero de secciones. \r\n                Nuestros proyectos incluyen dise\u00f1o profesional, versi\u00f3n m\u00f3vil, optimizaci\u00f3n de velocidad, integraci\u00f3n \r\n                de WhatsApp, formulario de contacto y configuraci\u00f3n b\u00e1sica de SEO.\r\n              <\/p>\r\n            <\/div>\r\n          <\/details>\r\n\r\n          <details class=\"gaboFaqItem\">\r\n            <summary>\r\n              <span>\u00bfCu\u00e1nto tiempo tarda el desarrollo?<\/span>\r\n              <span class=\"gaboFaqIcon\" aria-hidden=\"true\"><\/span>\r\n            <\/summary>\r\n            <div class=\"gaboFaqAnswer\">\r\n              <p>\r\n                Una landing suele tardar entre 7 a 14 d\u00edas, una web corporativa entre 2 a 4 semanas y una tienda online \r\n                entre 3 a 6 semanas, seg\u00fan el contenido y las integraciones requeridas.\r\n              <\/p>\r\n            <\/div>\r\n          <\/details>\r\n\r\n          <details class=\"gaboFaqItem\">\r\n            <summary>\r\n              <span>\u00bfQu\u00e9 necesito enviarles para empezar?<\/span>\r\n              <span class=\"gaboFaqIcon\" aria-hidden=\"true\"><\/span>\r\n            <\/summary>\r\n            <div class=\"gaboFaqAnswer\">\r\n              <p>\r\n                Solo necesitamos tu logo (si tienes), colores o referencias, los textos (o te ayudamos a redactarlos), \r\n                fotos y los datos de contacto. Si no tienes todo, trabajamos contigo para armarlo.\r\n              <\/p>\r\n            <\/div>\r\n          <\/details>\r\n\r\n        <\/div>\r\n\r\n        <!-- COLUMNA 2 -->\r\n        <div class=\"gaboFaqPremium-col\">\r\n\r\n          <details class=\"gaboFaqItem\" open>\r\n            <summary>\r\n              <span>\u00bfLa web ser\u00e1 100% responsive (celular)?<\/span>\r\n              <span class=\"gaboFaqIcon\" aria-hidden=\"true\"><\/span>\r\n            <\/summary>\r\n            <div class=\"gaboFaqAnswer\">\r\n              <p>\r\n                S\u00ed. Dise\u00f1amos primero pensando en m\u00f3vil, luego en tablet y escritorio. Se adapta a iPhone\/Android \r\n                sin que se rompan textos, botones ni im\u00e1genes.\r\n              <\/p>\r\n            <\/div>\r\n          <\/details>\r\n\r\n          <details class=\"gaboFaqItem\">\r\n            <summary>\r\n              <span>\u00bfIncluyen dominio y hosting?<\/span>\r\n              <span class=\"gaboFaqIcon\" aria-hidden=\"true\"><\/span>\r\n            <\/summary>\r\n            <div class=\"gaboFaqAnswer\">\r\n              <p>\r\n                S\u00ed. En <strong>GaboDesarrollador Agencia Digital E.I.R.L.<\/strong> ofrecemos dominio y hosting como parte \r\n                del servicio o de manera adicional, seg\u00fan las necesidades de tu proyecto. Trabajamos con servidores \r\n                r\u00e1pidos y seguros, configurando todo correctamente para que tu web funcione de forma estable, r\u00e1pida y \r\n                sin complicaciones t\u00e9cnicas para ti.\r\n              <\/p>\r\n            <\/div>\r\n          <\/details>\r\n\r\n          <details class=\"gaboFaqItem\">\r\n            <summary>\r\n              <span>\u00bfMi web tendr\u00e1 certificados y seguridad?<\/span>\r\n              <span class=\"gaboFaqIcon\" aria-hidden=\"true\"><\/span>\r\n            <\/summary>\r\n            <div class=\"gaboFaqAnswer\">\r\n              <p>\r\n                S\u00ed. Configuramos SSL (https), buenas pr\u00e1cticas de seguridad y recomendaciones para proteger formularios \r\n                y accesos. En tiendas, reforzamos seguridad extra.\r\n              <\/p>\r\n            <\/div>\r\n          <\/details>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\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=Poppins:wght@400;500;600;700;800;900&display=swap');\r\n\r\n.gaboFaqPremium{\r\n  --text: rgba(255,255,255,.96);\r\n  --muted: rgba(255,255,255,.72);\r\n  --line: rgba(255,255,255,.10);\r\n  --line2: rgba(255,255,255,.14);\r\n  --panel1: rgba(12,9,26,.80);\r\n  --panel2: rgba(7,5,18,.94);\r\n  --card: rgba(255,255,255,.045);\r\n  --card2: rgba(255,255,255,.02);\r\n  --glowA: rgba(90,120,255,.55);\r\n  --glowB: rgba(170,90,255,.45);\r\n\r\n  padding: clamp(46px, 5vw, 92px) 0;\r\n  font-family: \"Poppins\", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\r\n  color: var(--text);\r\n}\r\n\r\n.gaboFaqPremium *{\r\n  box-sizing: border-box;\r\n}\r\n\r\n.gaboFaqPremium-wrap{\r\n  width: min(1240px, 94%);\r\n  margin: 0 auto;\r\n}\r\n\r\n.gaboFaqPremium-head{\r\n  text-align: center;\r\n  max-width: 980px;\r\n  margin: 0 auto 22px;\r\n}\r\n\r\n.gaboFaqPremium-kicker{\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: 8px 14px;\r\n  border-radius: 999px;\r\n  border: 1px solid var(--line2);\r\n  background: rgba(255,255,255,.03);\r\n  color: rgba(255,255,255,.94);\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  letter-spacing: .02em;\r\n}\r\n\r\n.gaboFaqPremium-title{\r\n  margin: 14px 0 12px;\r\n  font-size: clamp(28px, 4.4vw, 66px);\r\n  line-height: 1.03;\r\n  letter-spacing: -.04em;\r\n  font-weight: 300;\r\n  color: #f7f6ff;\r\n  text-wrap: balance;\r\n}\r\n\r\n.gaboFaqPremium-sub{\r\n  margin: 0 auto;\r\n  max-width: 760px;\r\n  font-size: clamp(13px, 1.2vw, 15px);\r\n  line-height: 1.75;\r\n  color: var(--muted);\r\n}\r\n\r\n.gaboFaqPremium-line{\r\n  height: 2px;\r\n  width: min(1100px, 86vw);\r\n  margin: 0 auto clamp(18px, 2.5vw, 26px);\r\n  background: linear-gradient(\r\n    90deg,\r\n    transparent 0%,\r\n    rgba(255,255,255,.14) 15%,\r\n    var(--glowA) 35%,\r\n    var(--glowB) 65%,\r\n    rgba(255,255,255,.14) 85%,\r\n    transparent 100%\r\n  );\r\n  box-shadow:\r\n    0 0 20px rgba(90,120,255,.18),\r\n    0 0 28px rgba(170,90,255,.14);\r\n  opacity: .92;\r\n}\r\n\r\n.gaboFaqPremium-shell{\r\n  position: relative;\r\n  overflow: hidden;\r\n  border-radius: 30px;\r\n  border: 1px solid var(--line);\r\n  background: linear-gradient(180deg, var(--panel1), var(--panel2));\r\n  box-shadow:\r\n    0 24px 90px rgba(0,0,0,.42),\r\n    inset 0 1px 0 rgba(255,255,255,.03);\r\n  padding: clamp(18px, 2.2vw, 28px);\r\n}\r\n\r\n.gaboFaqPremium-bg{\r\n  position: absolute;\r\n  inset: 0;\r\n  pointer-events: none;\r\n  background:\r\n    radial-gradient(860px 320px at 10% 0%, rgba(143,92,255,.16), transparent 62%),\r\n    radial-gradient(860px 320px at 100% 0%, rgba(255,176,0,.07), transparent 64%),\r\n    linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px),\r\n    linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px);\r\n  background-size: auto, auto, 56px 56px, 56px 56px;\r\n  mask-image: radial-gradient(68% 60% at 50% 46%, rgba(0,0,0,1), transparent 74%);\r\n  opacity: .58;\r\n}\r\n\r\n.gaboFaqPremium-grid{\r\n  position: relative;\r\n  z-index: 2;\r\n  display: grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 18px;\r\n}\r\n\r\n.gaboFaqPremium-col{\r\n  display: grid;\r\n  gap: 14px;\r\n}\r\n\r\n.gaboFaqItem{\r\n  position: relative;\r\n  border-radius: 20px;\r\n  border: 1px solid rgba(255,255,255,.09);\r\n  background: linear-gradient(180deg, var(--card), var(--card2));\r\n  overflow: hidden;\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.03),\r\n    0 10px 28px rgba(0,0,0,.16);\r\n  transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;\r\n}\r\n\r\n.gaboFaqItem:hover{\r\n  border-color: rgba(255,255,255,.16);\r\n  transform: translateY(-2px);\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.04),\r\n    0 18px 36px rgba(0,0,0,.22);\r\n}\r\n\r\n.gaboFaqItem[open]{\r\n  border-color: rgba(255,255,255,.14);\r\n}\r\n\r\n.gaboFaqItem summary{\r\n  list-style: none;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 14px;\r\n  cursor: pointer;\r\n  padding: 20px 22px;\r\n  min-height: 74px;\r\n}\r\n\r\n.gaboFaqItem summary::-webkit-details-marker{\r\n  display: none;\r\n}\r\n\r\n.gaboFaqItem summary span:first-child{\r\n  font-size: clamp(16px, 1.45vw, 18px);\r\n  line-height: 1.35;\r\n  font-weight: 600;\r\n  color: #f5f4ff;\r\n  letter-spacing: -.02em;\r\n}\r\n\r\n.gaboFaqIcon{\r\n  position: relative;\r\n  width: 18px;\r\n  height: 18px;\r\n  flex: 0 0 18px;\r\n}\r\n\r\n.gaboFaqIcon::before,\r\n.gaboFaqIcon::after{\r\n  content: \"\";\r\n  position: absolute;\r\n  left: 50%;\r\n  top: 50%;\r\n  width: 14px;\r\n  height: 2px;\r\n  border-radius: 999px;\r\n  background: #9e98ff;\r\n  transform: translate(-50%, -50%);\r\n  transition: transform .24s ease, opacity .24s ease;\r\n}\r\n\r\n.gaboFaqIcon::after{\r\n  transform: translate(-50%, -50%) rotate(90deg);\r\n}\r\n\r\n.gaboFaqItem[open] .gaboFaqIcon::after{\r\n  opacity: 0;\r\n  transform: translate(-50%, -50%) rotate(90deg) scaleX(.2);\r\n}\r\n\r\n.gaboFaqAnswer{\r\n  padding: 0 22px 22px;\r\n}\r\n\r\n.gaboFaqAnswer p{\r\n  margin: 0;\r\n  color: var(--muted);\r\n  font-size: clamp(14px, 1.08vw, 15px);\r\n  line-height: 1.68;\r\n}\r\n\r\n.gaboFaqAnswer strong{\r\n  color: #ffffff;\r\n  font-weight: 700;\r\n}\r\n\r\n\/* TABLET *\/\r\n@media (max-width: 980px){\r\n  .gaboFaqPremium-grid{\r\n    grid-template-columns: 1fr;\r\n  }\r\n\r\n  .gaboFaqPremium-title{\r\n    font-size: clamp(30px, 6vw, 54px);\r\n  }\r\n}\r\n\r\n\/* MOBILE *\/\r\n@media (max-width: 560px){\r\n  .gaboFaqPremium{\r\n    padding: 34px 0 52px;\r\n  }\r\n\r\n  .gaboFaqPremium-wrap{\r\n    width: min(100%, 94%);\r\n  }\r\n\r\n  .gaboFaqPremium-head{\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  .gaboFaqPremium-title{\r\n    font-size: clamp(30px, 10vw, 42px);\r\n    line-height: .98;\r\n    letter-spacing: -.045em;\r\n  }\r\n\r\n  .gaboFaqPremium-sub{\r\n    font-size: 13px;\r\n    line-height: 1.65;\r\n  }\r\n\r\n  .gaboFaqPremium-shell{\r\n    border-radius: 22px;\r\n    padding: 14px;\r\n  }\r\n\r\n  .gaboFaqPremium-grid{\r\n    gap: 14px;\r\n  }\r\n\r\n  .gaboFaqPremium-col{\r\n    gap: 12px;\r\n  }\r\n\r\n  .gaboFaqItem{\r\n    border-radius: 16px;\r\n  }\r\n\r\n  .gaboFaqItem summary{\r\n    min-height: 66px;\r\n    padding: 16px 16px;\r\n    gap: 12px;\r\n  }\r\n\r\n  .gaboFaqItem summary span:first-child{\r\n    font-size: 15px;\r\n    line-height: 1.35;\r\n  }\r\n\r\n  .gaboFaqAnswer{\r\n    padding: 0 16px 16px;\r\n  }\r\n\r\n  .gaboFaqAnswer p{\r\n    font-size: 13.5px;\r\n    line-height: 1.62;\r\n  }\r\n\r\n  .gaboFaqIcon{\r\n    width: 16px;\r\n    height: 16px;\r\n    flex-basis: 16px;\r\n  }\r\n\r\n  .gaboFaqIcon::before,\r\n  .gaboFaqIcon::after{\r\n    width: 12px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  const faqRoot = document.querySelector('.gaboFaqPremium');\r\n  if(!faqRoot) return;\r\n\r\n  const items = faqRoot.querySelectorAll('.gaboFaqItem');\r\n\r\n  items.forEach((item) => {\r\n    item.addEventListener('toggle', () => {\r\n      if (!item.open) return;\r\n\r\n      items.forEach((other) => {\r\n        if (other !== item) other.open = false;\r\n      });\r\n    });\r\n  });\r\n})();\r\n<\/script>\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>Agencia Digital &#038; Desarrollo Web Estrat\u00e9gico Agencia Digital \u2726 Dise\u00f1o y desarrollo web para crecer en Google Creamos p\u00e1ginas web modernas y responsivas (landing pages, sitios corporativos y ecommerce). Integramos WhatsApp, formularios, agenda de citas y chatbot para convertir visitas en clientes. Cotizar proyecto \u2192 dise\u00f1o web, desarrollo web, creaci\u00f3n de p\u00e1ginas web, agencia digital, SEO, landing page, ecommerce, web corporativa, p\u00e1ginas web responsivas, optimizaci\u00f3n web \u2715 Cotizaci\u00f3n r\u00e1pida Elige 3 datos y listo Completa r\u00e1pido y te abrimos WhatsApp con el mensaje listo. Tipo de web Landing Corporativa Ecommerce Cat\u00e1logo Presupuesto No s\u00e9 S\/800\u20131,500 S\/1,500\u20133,000 S\/3,000+ Plazo Urgente 2\u20133 semanas 1\u20132 meses Cotizando Rubro (opcional) Cerrar Enviar por WhatsApp \u2197 Marcas que escalan con experiencias digitales de alto nivel Servicios destacados Servicios con enfoque estrat\u00e9gico Soluciones digitales dise\u00f1adas para fortalecer marcas, potenciar su presencia y generar mejores oportunidades de crecimiento. Servicio principal P\u00e1ginas web Creamos sitios modernos, estrat\u00e9gicos y pensados para proyectar marcas con m\u00e1s nivel y mejorar la conversi\u00f3n. WordPress Elementor Responsive Ver servicio Imagen de marca Branding Desarrollamos identidades visuales m\u00e1s s\u00f3lidas para que cada negocio se vea m\u00e1s profesional, coherente y memorable. Identidad visual Presencia Coherencia Ver servicio Crecimiento digital Publicidad Dise\u00f1amos una presentaci\u00f3n m\u00e1s estrat\u00e9gica de los servicios para impulsar campa\u00f1as, visibilidad y captaci\u00f3n. Anuncios Captaci\u00f3n Visibilidad Ver servicio Gabo Desarrollador \u00b7 Agencia Digital \u00b7 Per\u00fa Desde Per\u00fa, para marcas globales. Dise\u00f1o y desarrollo a medida para que tu web se vea premium, cargue r\u00e1pido y convierta. Estrategia, ejecuci\u00f3n y soporte en un solo equipo. \u26a1 Velocidad + performance \ud83c\udfaf Conversi\u00f3n y SEO \ud83d\udd12 Soporte y mejora continua PROYECTOS EN VIVO Per\u00fa \u2192 Latam \u2192 USA \u2192 Europa \u2192 Asia Portafolio \u2022 Dise\u00f1o web premium BioSnack Enfoque50 Holding AmyPack Aut\u00e9nticaspa Asenpro BioSnack Enfoque50 Holding AmyPack Aut\u00e9nticaspa Asenpro Latam HJ Project Corgemisac Nukleo Rinconcito Black Enterprise Latam HJ Project Corgemisac Nukleo Rinconcito Black Enterprise AmyPack HJ Project Holding Nukleo BioSnack Corgemisac AmyPack HJ Project Holding Nukleo BioSnack Corgemisac Nuestro proceso Dise\u00f1amos p\u00e1ginas web pensadas para vender mejor Cada proyecto sigue una metodolog\u00eda clara: entendemos tu negocio, dise\u00f1amos una experiencia profesional y desarrollamos una web r\u00e1pida, moderna y enfocada en generar confianza, contactos y ventas. Agendar por WhatsApp An\u00e1lisis de tu negocio Revisamos tu servicio, p\u00fablico objetivo, competencia y objetivos comerciales para plantear una p\u00e1gina web con direcci\u00f3n clara y enfoque estrat\u00e9gico. Estructura y enfoque visual Organizamos el contenido, definimos las secciones clave y dise\u00f1amos una interfaz moderna que transmita confianza y haga ver tu marca m\u00e1s profesional. Desarrollo web profesional Construimos tu web en WordPress, Elementor, Shopify o c\u00f3digo puro, seg\u00fan lo que mejor se adapte a tu negocio. As\u00ed logramos p\u00e1ginas m\u00e1s ligeras, r\u00e1pidas, optimizadas y preparadas para crecer. Revisi\u00f3n y publicaci\u00f3n Probamos formularios, botones, versi\u00f3n m\u00f3vil, enlaces y detalles finales para entregar una web lista para mostrarse bien y empezar a captar clientes. Optimizaci\u00f3n para convertir No se trata solo de que se vea bonita. Ajustamos llamadas a la acci\u00f3n, jerarqu\u00eda visual y mensajes clave para que tu web venda mejor. Soporte y continuidad Si lo necesitas, seguimos contigo despu\u00e9s de publicar: actualizaciones, respaldo, mejoras y acompa\u00f1amiento para que tu web siga funcionando bien. Tecnolog\u00eda &#038; Desarrollo Web Conectamos tu negocio con una web que vende Dise\u00f1amos p\u00e1ginas web modernas, estrat\u00e9gicas y optimizadas para captar clientes, fortalecer tu marca y convertir visitas en oportunidades reales. Agenda tu asesor\u00eda para tu p\u00e1gina web Agenda tu asesor\u00eda web D\u00e9janos tus datos y te contactaremos para coordinar tu cita. Nombre WhatsApp Correo \u00bfQu\u00e9 tipo de p\u00e1gina web necesitas? Solicitar cita Cancelar Testimonios Clientes que conf\u00edan en nuestro trabajo Isabella C\u00e1ceres Lima, Per\u00fa Google La web qued\u00f3 rapid\u00edsima y con un dise\u00f1o que s\u00ed se ve serio. Me ayudaron con la estructura y los CTA. Ahora recibo m\u00e1s consultas por WhatsApp. Renata Palacios CDMX, M\u00e9xico Google Me gust\u00f3 el enfoque en conversi\u00f3n: copy claro, secciones ordenadas y carga r\u00e1pida. Qued\u00f3 perfecta en celular y lista para campa\u00f1as. Mariana Valdivia Arequipa, Per\u00fa Google Antes mi web se ve\u00eda como plantilla. Ahora se ve premium, con identidad y mucha m\u00e1s confianza. Adem\u00e1s la velocidad mejor\u00f3 much\u00edsimo. Valentina R\u00edos Bogot\u00e1, Colombia Google Muy buena asesor\u00eda. Propusieron mejoras reales y dejaron todo listo para anuncios. Dise\u00f1o limpio, elegante y con llamados a la acci\u00f3n bien ubicados. Diego Huam\u00e1n Cusco, Per\u00fa Google Lo que m\u00e1s valoro es la velocidad y el orden del sitio. Se siente profesional y confiable. Excelente comunicaci\u00f3n durante todo el proceso. Camila Soto Santiago, Chile Google Qued\u00f3 todo muy prolijo. La web se ve moderna y confiable, con secciones claras y buena lectura. Ideal para captar clientes. Luc\u00eda Fern\u00e1ndez Trujillo, Per\u00fa Google Me encant\u00f3 c\u00f3mo qued\u00f3 el dise\u00f1o. La lectura es clara, el sitio carga r\u00e1pido y transmite mucha confianza. Muy recomendable. Mart\u00edn Acosta Buenos Aires, Argentina Google Se nota el enfoque profesional: orden, velocidad y un dise\u00f1o que vende. El sitio qued\u00f3 listo para escalar con campa\u00f1as y SEO. Paola Rojas Piura, Per\u00fa Google Me ayudaron con los textos y el orden de la p\u00e1gina. Ahora se ve elegante, f\u00e1cil de entender y mucho m\u00e1s profesional. Daniela Mena Guayaquil, Ecuador Google Me encant\u00f3 la versi\u00f3n m\u00f3vil. Todo se ve ordenado, r\u00e1pido y transmite confianza. Ideal para vender servicios en l\u00ednea. Jorge Salazar Chiclayo, Per\u00fa Google Me dejaron todo listo: estructura, CTA y una web que se siente como empresa seria. Se nota bastante la diferencia con mi p\u00e1gina anterior. M\u00e9todos de pago Nuestros m\u00e9todos de pago son BCP, Yape y AstroPay Tambi\u00e9n contamos con opci\u00f3n en cuotas. Yape Pago r\u00e1pido BCP Transferencia bancaria AstroPay Pago internacional Cuotas Facilidad de pago Preguntas frecuentes Todo lo que Necesitas Saber Antes de Crear tu P\u00e1gina Web Resolvemos las dudas m\u00e1s importantes para que tomes una decisi\u00f3n con claridad, seguridad y confianza. \u00bfCu\u00e1nto cuesta una p\u00e1gina web y qu\u00e9 incluye? El precio depende del tipo de sitio (web corporativa, landing o tienda) y del n\u00famero de secciones. Nuestros proyectos incluyen dise\u00f1o profesional, versi\u00f3n m\u00f3vil, optimizaci\u00f3n de velocidad, integraci\u00f3n de WhatsApp, formulario de contacto y configuraci\u00f3n b\u00e1sica de SEO. \u00bfCu\u00e1nto tiempo tarda<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-10990","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/pages\/10990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/comments?post=10990"}],"version-history":[{"count":868,"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/pages\/10990\/revisions"}],"predecessor-version":[{"id":13015,"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/pages\/10990\/revisions\/13015"}],"wp:attachment":[{"href":"https:\/\/gabodesarrollador.com\/en\/wp-json\/wp\/v2\/media?parent=10990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}