{"id":10,"date":"2025-07-25T03:35:11","date_gmt":"2025-07-25T03:35:11","guid":{"rendered":"https:\/\/aqua-chicken-516759.hostingersite.com\/?page_id=10"},"modified":"2025-08-30T02:31:05","modified_gmt":"2025-08-30T02:31:05","slug":"inicio","status":"publish","type":"page","link":"https:\/\/www.hackercol.com\/en\/","title":{"rendered":"home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10\" class=\"elementor elementor-10\">\n\t\t\t\t<div class=\"elementor-element elementor-element-689b951 e-flex e-con-boxed e-con e-parent\" data-id=\"689b951\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-61f7c38 elementor-widget elementor-widget-html\" data-id=\"61f7c38\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Imagen LCP optimizada -->\r\n<picture>\r\n  <source srcset=\"https:\/\/www.hackercol.com\/wp-content\/uploads\/2025\/07\/hc_pc.webp\" type=\"image\/webp\">\r\n  <img \r\n    src=\"https:\/\/www.hackercol.com\/wp-content\/uploads\/2025\/07\/hc_pc.webp\"\r\n    width=\"760\"\r\n    height=\"329\"\r\n    fetchpriority=\"high\"\r\n    decoding=\"async\"\r\n    loading=\"eager\"\r\n    alt=\"hackercol\"\r\n    style=\"max-width:100%;height:auto;display:block;margin:0 auto;\" \/>\r\n<\/picture>\r\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-286c3c2 e-flex e-con-boxed e-con e-parent\" data-id=\"286c3c2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7289712 elementor-widget elementor-widget-html\" data-id=\"7289712\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .csc-about-section {\r\n    background-color: #000;\r\n    color: #fff;\r\n    text-align: center;\r\n    font-family: system-ui, sans-serif;\r\n    padding: 2px 20px;\r\n  }\r\n  .csc-about-section h1 {\r\n    font-size: 2.15rem;\r\n    margin-bottom: 20px;\r\n    letter-spacing: 1px;\r\n    font-weight: 700;\r\n  }\r\n  .csc-about-section p {\r\n    font-size: 1.07rem;\r\n    line-height: 1.7;\r\n    max-width: 800px;\r\n    margin: 0 auto 20px;\r\n    color: #ccc;\r\n    min-height: 60px;\r\n  }\r\n  .csc-about-list-wrapper {\r\n    max-width: 720px;\r\n    margin: 0 auto;\r\n    text-align: left;\r\n  }\r\n  .csc-about-list {\r\n    list-style: none;\r\n    padding: 0;\r\n    margin: 28px 0 0;\r\n    color: #ddd;\r\n  }\r\n  .csc-about-list li {\r\n    position: relative;\r\n    padding-left: 28px;\r\n    margin-bottom: 14px;\r\n    font-size: 1rem;\r\n    line-height: 1.6;\r\n    font-weight: 500;\r\n  }\r\n  .csc-about-list li::before {\r\n    content: '\u25cf';\r\n    position: absolute;\r\n    left: 0;\r\n    top: 4px;\r\n    font-size: 1.16em;\r\n    color: #3A73C8;\r\n    background: linear-gradient(135deg, #004CFF 10%, #3A73C8 80%);\r\n    -webkit-background-clip: text;\r\n    -webkit-text-fill-color: transparent;\r\n    text-shadow: 0 0 7px #053C85BB;\r\n    font-weight: bold;\r\n    line-height: 1;\r\n    width: 18px;\r\n    height: 18px;\r\n    display: inline-block;\r\n    letter-spacing: 0;\r\n  }\r\n  @media (max-width: 768px) {\r\n    .csc-about-section h1 { font-size: 1.3rem; }\r\n    .csc-about-section p { font-size: 0.98rem; }\r\n    .csc-about-list li { font-size: 0.95rem; }\r\n    .csc-about-list-wrapper { max-width: 98vw; }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"csc-about-section\">\r\n  <h1>Sobre Nosotros<\/h1>\r\n  <p>\r\n    Somos una firma especializada en ciberseguridad, con m\u00e1s de 12 a\u00f1os de experiencia ofreciendo soluciones profesionales en protecci\u00f3n digital, an\u00e1lisis de vulnerabilidades y consultor\u00eda t\u00e9cnica.\r\n  <\/p>\r\n  <p>\r\n    Nos eligen empresas y profesionales que valoran la seguridad, la confidencialidad y los resultados concretos. Estas son algunas de nuestras fortalezas:\r\n  <\/p>\r\n  <div class=\"csc-about-list-wrapper\">\r\n    <ul class=\"csc-about-list\">\r\n      <li>M\u00e1s de 12,000 proyectos realizados con \u00e9xito.<\/li>\r\n      <li>Equipo t\u00e9cnico certificado y actualizado continuamente.<\/li>\r\n      <li>Soluciones adaptadas a cada necesidad, bajo metodolog\u00edas \u00e1giles.<\/li>\r\n      <li>Enfoque 100% confidencial y orientado a resultados verificables.<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9f00282 e-flex e-con-boxed e-con e-parent\" data-id=\"9f00282\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-652a444 elementor-widget elementor-widget-html\" data-id=\"652a444\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .csc-separador {\r\n    width: 100%;\r\n    padding: 10px 0 10px;\r\n    text-align: center;\r\n    position: relative;\r\n  }\r\n\r\n  .csc-separador::before {\r\n    content: '';\r\n    display: block;\r\n    width: 120px;\r\n    height: 3px;\r\n    margin: 0 auto;\r\n    background: linear-gradient(90deg, #004CFF, #004CFF);\r\n    border-radius: 4px;\r\n\r\n    animation: none !important;\r\n    transition: none !important;\r\n    transform: none !important;\r\n    opacity: 1 !important;\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .csc-separador {\r\n      padding: 30px 0 15px;\r\n    }\r\n\r\n    .csc-separador::before {\r\n      width: 80px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"csc-separador\" aria-hidden=\"true\"><\/div>\r\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-7631667 e-flex e-con-boxed e-con e-parent\" data-id=\"7631667\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4090a51 elementor-widget elementor-widget-html\" data-id=\"4090a51\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"utf-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<title>Contadores | Incremento cada 4 horas<\/title>\r\n<style>\r\n  .csc-counter-section{\r\n    background:#000; color:#fff; text-align:center; font-family:system-ui, sans-serif; margin:0; padding:10px 16px;\r\n  }\r\n  .csc-counter-section h2{font-size:2rem; font-weight:700; margin:0 0 8px}\r\n  .csc-counter-section p{font-size:1rem; color:#b5b8c2; margin:0 0 26px}\r\n\r\n  .csc-counter-grid{\r\n    display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:950px; margin:0 auto;\r\n  }\r\n  .csc-counter-box{\r\n    background:#000; border-radius:12px; padding:16px 10px; box-shadow:0 2px 14px #004cff55; position:relative; overflow:hidden;\r\n    transition:transform .15s, box-shadow .15s;\r\n  }\r\n  .csc-counter-box::before{\r\n    content:\"\"; position:absolute; top:0; left:8%; right:8%; height:3px; background:#004CFF; opacity:.9; border-radius:2px;\r\n  }\r\n  .csc-counter-box:hover{ transform:translateY(-4px); box-shadow:0 0 22px #004cff77; }\r\n\r\n  .csc-counter-number{ font-size:1.7rem; font-weight:900; margin:14px 0 6px; letter-spacing:1px }\r\n  .csc-counter-label{ font-size:.9rem; text-transform:uppercase; color:#004CFF; letter-spacing:.9px; font-weight:600; margin:4px 0 0 }\r\n\r\n  @media (max-width:900px){\r\n    .csc-counter-grid{ grid-template-columns:repeat(2,1fr); gap:14px }\r\n    .csc-counter-section h2{ font-size:1.35rem }\r\n    .csc-counter-number{ font-size:1.28rem }\r\n  }\r\n  @media (max-width:600px){\r\n    .csc-counter-grid{ gap:10px }\r\n    .csc-counter-section h2{ font-size:1.1rem }\r\n    .csc-counter-section p{ font-size:.95rem; margin-bottom:18px }\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<section class=\"csc-counter-section\" id=\"stats\">\r\n  <h2>Nuestros hechos en n\u00fameros<\/h2>\r\n  <p>Resultados que reflejan compromiso, capacidad y experiencia comprobada.<\/p>\r\n\r\n  <div class=\"csc-counter-grid\">\r\n    <div class=\"csc-counter-box\">\r\n      <div class=\"csc-counter-number\" data-target=\"50\">+0<\/div>\r\n      <div class=\"csc-counter-label\">Tipos de servicios<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"csc-counter-box\">\r\n      <div class=\"csc-counter-number\" data-random=\"6-12\">+0<\/div>\r\n      <div class=\"csc-counter-label\">Expertos en red activos<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"csc-counter-box\">\r\n      <div class=\"csc-counter-number\" data-target=\"auto-projects\">+0<\/div>\r\n      <div class=\"csc-counter-label\">Proyectos completados<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"csc-counter-box\">\r\n      <div class=\"csc-counter-number\" data-target=\"auto-clients\">+0<\/div>\r\n      <div class=\"csc-counter-label\">Clientes satisfechos<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n\r\n  const START = new Date('2025-06-01T00:00:00'); \r\n\r\n  const BASE_PROJECTS = 12966;\r\n  const BASE_CLIENTS  = 6520;\r\n\r\n  const STEP_HOURS = 4;\r\n  const INC_PROJECTS_PER_STEP = 16;\r\n  const INC_CLIENTS_PER_STEP  = 11;\r\n\r\n  const hoursPassed = Math.floor((Date.now() - START.getTime()) \/ 3600000);\r\n  const steps = Math.max(0, Math.floor(hoursPassed \/ STEP_HOURS));\r\n\r\n  const AUTO = {\r\n    projects: BASE_PROJECTS + steps * INC_PROJECTS_PER_STEP,\r\n    clients:  BASE_CLIENTS  + steps * INC_CLIENTS_PER_STEP,\r\n  };\r\n\r\n  const getTarget = (el) => {\r\n    const rand = el.dataset.random;\r\n    if (rand) {\r\n      const [min, max] = rand.split('-').map(Number);\r\n      return Math.floor(Math.random() * (max - min + 1)) + min; \r\n    }\r\n    const t = el.dataset.target || '';\r\n    if (t.startsWith('auto-')) {\r\n      return AUTO[t.replace('auto-', '')] || 0;\r\n    }\r\n    return parseInt(t, 10) || 0; \r\n  }; \r\n\r\n  const animate = (el, target, duration = 1500) => {\r\n    let startTs = null;\r\n    const from = 0;\r\n\r\n    const tick = (ts) => {\r\n      if (!startTs) startTs = ts;\r\n      const p = Math.min((ts - startTs) \/ duration, 1);\r\n      const val = Math.round(from + (target - from) * p);\r\n      el.textContent = `+${val.toLocaleString()}`;\r\n      if (p < 1) requestAnimationFrame(tick);\r\n    };\r\n    requestAnimationFrame(tick);\r\n  };\r\n\r\n  const runCounters = () => {\r\n    document.querySelectorAll('.csc-counter-number').forEach((el) => {\r\n      animate(el, getTarget(el));\r\n    });\r\n  };\r\n\r\n  const section = document.querySelector('.csc-counter-section');\r\n  const io = new IntersectionObserver(([entry], obs) => {\r\n    if (entry.isIntersecting) { runCounters(); obs.disconnect(); }\r\n  }, { threshold: 0.4 });\r\n  io.observe(section);\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\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-5176387 e-flex e-con-boxed e-con e-parent\" data-id=\"5176387\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-daa0561 elementor-widget elementor-widget-html\" data-id=\"daa0561\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .csc-separador {\r\n    width: 100%;\r\n    padding: 40px 0 20px;\r\n    text-align: center;\r\n    position: relative;\r\n  }\r\n\r\n  .csc-separador::before {\r\n    content: '';\r\n    display: block;\r\n    width: 120px;\r\n    height: 3px;\r\n    margin: 0 auto;\r\n    background: linear-gradient(90deg, #004CFF, #33aaff);\r\n    border-radius: 4px;\r\n    animation: pulseLine 2.5s infinite ease-in-out;\r\n  }\r\n\r\n  @keyframes pulseLine {\r\n    0%, 100% {\r\n      transform: scaleX(1);\r\n      opacity: 1;\r\n    }\r\n    50% {\r\n      transform: scaleX(1.4);\r\n      opacity: 0.7;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .csc-separador {\r\n      padding: 30px 0 15px;\r\n    }\r\n    .csc-separador::before {\r\n      width: 80px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"csc-separador\" aria-hidden=\"true\"><\/div>\r\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-231ad8d e-flex e-con-boxed e-con e-parent\" data-id=\"231ad8d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f253f5e elementor-widget elementor-widget-html\" data-id=\"f253f5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.csc-services-section {\r\n  background: #000;\r\n  color: #fff;\r\n  text-align: center;\r\n  font-family: system-ui, sans-serif;\r\n  padding: 10px 0 10px 0;\r\n  margin: 0;\r\n}\r\n.csc-services-section h2 {\r\n  font-size: 2.15rem;\r\n  font-weight: 700;\r\n  margin-bottom: 16px;\r\n  letter-spacing: 0.2px;\r\n}\r\n.csc-services-section h2 a {\r\n  color: inherit;\r\n  text-decoration: none !important;\r\n  cursor: pointer;\r\n  transition: color 0.17s;\r\n}\r\n\r\n}\r\n.csc-services-section h2 a:hover {\r\n  color: #fff;\r\n}\r\n.csc-services-section p {\r\n  font-size: 1.07rem;\r\n  color: #b3b3b;\r\n  margin-bottom: 36px;\r\n  max-width: 700px;\r\n  margin-left: auto;\r\n  margin-right: auto;\r\n  font-weight: 400;\r\n}\r\n.csc-services-list {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 18px;\r\n  max-width: 780px;\r\n  margin: 0 auto;\r\n  width: 100%;\r\n}\r\n.csc-service-item {\r\n  background: #000;\r\n  border-radius: 10px;\r\n  border-left: 0;\r\n  padding: 18px 24px 18px 24px;\r\n  font-size: 1.08rem;\r\n  color: #fff;\r\n  text-align: left;\r\n  position: relative;\r\n  overflow: hidden;\r\n  box-shadow: 0 2px 10px rgba(0,0,0,0.13);\r\n  transition: box-shadow .22s, transform .17s;\r\n  cursor: pointer;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 16px;\r\n}\r\n.csc-service-item::before {\r\n  content: \"\";\r\n  display: block;\r\n  position: absolute;\r\n  top: 0; left: 0; bottom: 0; width: 5px;\r\n  background: linear-gradient(180deg, #004CFF 60%, #004CFF 100%);\r\n  border-radius: 6px 0 0 6px;\r\n  box-shadow: 0 0 7px 1.5px #004CFF;\r\n  opacity: 0.88;\r\n  transition: width .25s cubic-bezier(.5,1.7,.4,1), box-shadow .22s;\r\n}\r\n.csc-service-item:hover {\r\n  transform: translateY(-3px) scale(1.01);\r\n  box-shadow: 0 0 16px #004CFF;\r\n}\r\n.csc-service-item:hover::before {\r\n  width: 16px;\r\n}\r\n.csc-service-emoji {\r\n  font-size: 1.55em;\r\n  flex-shrink: 0;\r\n  margin-right: 8px;\r\n  filter: grayscale(0%) drop-shadow(0 0 3px #004CFF);\r\n  user-select: none;\r\n}\r\n@media (max-width: 600px) {\r\n  .csc-services-section { padding: 24px 0 14px 0; }\r\n  .csc-services-section h2 { font-size: 1.27rem; }\r\n  .csc-services-section p { font-size: 0.97rem; margin-bottom: 20px; }\r\n  .csc-service-item { font-size: 0.98rem; padding: 13px 9vw 13px 9vw;}\r\n  .csc-service-emoji { font-size: 1.2em;}\r\n}\r\n<\/style>\r\n\r\n<div id=\"servicios\" class=\"csc-services-section\">\r\n  <h2>\r\n    <a href=\"\/enlaces-importantes\/\">Nuestros principales servicios<\/a>\r\n  <\/h2>\r\n  <\/h2>\r\n  <p>Servicios personalizados y adaptados a tus necesidades espec\u00edficas.<\/p>\r\n  <div class=\"csc-services-list\">\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83d\udd12<\/span>\r\n      Acceso profesional a cuentas de redes sociales.\r\n    <\/div>\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83d\udcf1<\/span>\r\n      Conexi\u00f3n remota y an\u00e1lisis t\u00e9cnico de dispositivos Android y iPhone.\r\n    <\/div>\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83d\udcb3<\/span>\r\n      Eliminaci\u00f3n de reportes negativos en centrales de riesgo y mejora del puntaje crediticio.\r\n    <\/div>\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83d\udea6<\/span>\r\n      Eliminaci\u00f3n de comparendos y suspensi\u00f3n de licencias de tr\u00e1nsito.\r\n    <\/div>\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83c\udfaf<\/span>\r\n      Ajuste de resultados y puntajes en pruebas estandarizadas (ICFES).\r\n    <\/div>\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83c\udf93<\/span>\r\n      Actualizaci\u00f3n de notas universitarias y registros acad\u00e9micos.\r\n    <\/div>\r\n    <div class=\"csc-service-item\">\r\n      <span class=\"csc-service-emoji\">\ud83d\udee0\ufe0f<\/span>\r\n      Servicios personalizados y confidenciales, adaptados a tu solicitud.\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f0874a e-flex e-con-boxed e-con e-parent\" data-id=\"3f0874a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-81262aa elementor-widget elementor-widget-html\" data-id=\"81262aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .csc-separador {\r\n    width: 100%;\r\n    padding: 40px 0 20px;\r\n    text-align: center;\r\n    position: relative;\r\n  }\r\n\r\n  .csc-separador::before {\r\n    content: '';\r\n    display: block;\r\n    width: 120px;\r\n    height: 3px;\r\n    margin: 0 auto;\r\n    background: linear-gradient(90deg, #004CFF, #33aaff);\r\n    border-radius: 4px;\r\n\r\n    animation: none !important;\r\n    transition: none !important;\r\n    transform: none !important;\r\n    opacity: 1 !important;\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .csc-separador {\r\n      padding: 30px 0 15px;\r\n    }\r\n\r\n    .csc-separador::before {\r\n      width: 80px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"csc-separador\" aria-hidden=\"true\"><\/div>\r\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-0e3ee34 e-flex e-con-boxed e-con e-parent\" data-id=\"0e3ee34\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8110d3a elementor-widget elementor-widget-html\" data-id=\"8110d3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n  <meta charset=\"UTF-8\" \/>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\/>\r\n  <title>Testimonios de Clientes<\/title>\r\n  <style>\r\n    body { background:#000; color:#fff; font-family:system-ui,sans-serif; margin:0; }\r\n    .testimonios-section { padding:20px 20px; text-align:center; }\r\n    .testimonios-section h2 { font-size:2.2rem; margin-bottom:30px; }\r\n\r\n    .testimonios-grid {\r\n      display:grid; grid-template-columns:repeat(2,1fr); gap:20px;\r\n      max-width:900px; margin:0 auto 30px;\r\n    }\r\n    @media (max-width:768px){ .testimonios-grid{ grid-template-columns:1fr; } }\r\n\r\n    .testimonio { background:#151515; border:1px solid #333; padding:20px; border-radius:10px; text-align:left; }\r\n    .testimonio p { font-size:1rem; color:#ddd; margin-bottom:10px; line-height:1.45; }\r\n    .autor { font-weight:700; color:#1a90ff; }\r\n\r\n    .botones-testimonios { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }\r\n    .ver-mas-btn,.form-toggle-btn{\r\n      background:#004CFF; color:#fff; padding:12px 22px; font-weight:700; border-radius:8px; border:none; cursor:pointer; transition:background .2s;\r\n    }\r\n    .ver-mas-btn:hover,.form-toggle-btn:hover{ background:#0059d6; }\r\n\r\n    .oculto{ display:none; }\r\n\r\n    .form-container{ max-width:600px; margin:0 auto; text-align:left; }\r\n    .form-container label{ display:block; margin-top:15px; font-weight:700; }\r\n    .form-container input,.form-container textarea{\r\n      width:100%; padding:10px; margin-top:6px; background:#1a1a1a; color:#fff; border:1px solid #555; border-radius:6px;\r\n    }\r\n    .form-botones{ display:flex; gap:10px; margin-top:16px; }\r\n    .form-container button{ background:#0084ff; color:#fff; padding:10px 20px; border:none; border-radius:8px; font-weight:700; cursor:pointer; }\r\n    .form-container button:disabled{ background:#555; cursor:not-allowed; }\r\n    .form-container button:hover:enabled{ background:#006cd1; }\r\n    .barra-carga{ width:100%; height:6px; background:#444; border-radius:4px; overflow:hidden; margin-top:12px; display:none; }\r\n    .progreso{ height:100%; width:0%; background:#1a90ff; }\r\n    .mensaje{ color:#ff6161; font-weight:700; margin-top:12px; display:none; }\r\n    .mensaje.exito{ color:#44d07c; }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <div class=\"testimonios-section\">\r\n    <h2>Testimonios de Clientes<\/h2>\r\n\r\n    <div class=\"testimonios-grid\" id=\"testimonios-visibles\"><\/div>\r\n    <div class=\"testimonios-grid oculto\" id=\"testimonios-ocultos\"><\/div>\r\n\r\n    <div class=\"botones-testimonios\">\r\n      <button class=\"ver-mas-btn\" id=\"toggle-btn\">Ver m\u00e1s<\/button>\r\n      <button class=\"form-toggle-btn\" onclick=\"toggleFormulario()\">Deja tu comentario<\/button>\r\n    <\/div>\r\n\r\n    <div class=\"form-container oculto\" id=\"comentarioForm\">\r\n      <label for=\"nombre\">Nombre:<\/label>\r\n      <input type=\"text\" id=\"nombre\" oninput=\"verificarCampos()\">\r\n\r\n      <label for=\"pais\">Pa\u00eds:<\/label>\r\n      <input type=\"text\" id=\"pais\" oninput=\"verificarCampos()\">\r\n\r\n      <label for=\"comentario\">Comentario:<\/label>\r\n      <textarea id=\"comentario\" rows=\"4\" oninput=\"verificarCampos()\"><\/textarea>\r\n\r\n      <label for=\"codigo\">C\u00f3digo de servicio:<\/label>\r\n      <input type=\"text\" id=\"codigo\" oninput=\"verificarCampos()\">\r\n\r\n      <div class=\"form-botones\">\r\n        <button id=\"btnEnviar\" onclick=\"enviarComentario()\" disabled>Enviar<\/button>\r\n        <button onclick=\"toggleFormulario()\">Ocultar formulario<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"barra-carga\" id=\"barraCarga\">\r\n        <div class=\"progreso\" id=\"progresoBarra\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mensaje\" id=\"mensajeError\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<script>\r\n\r\nconst BLOQUES = [\r\n\r\n  { texto:\"Acceso a redes y limpieza de mi historial, todo qued\u00f3 perfecto.\", autor:\"[Laura Torres] - Colombia\" },\r\n  { texto:\"Service impeccable. Rapide et discret, j\u2019ai retrouv\u00e9 l\u2019acc\u00e8s \u00e0 mon compte en un rien de temps!\", autor:\"[Pierre Dupont] - Francia\" },\r\n  { texto:\"Nunca pens\u00e9 que podr\u00eda recuperar mi cuenta de forma tan segura, estos chicos son lo mejor. Totalmente confiables, \u00a1los recomiendo al 100!\", autor:\"[Cristian Hern\u00e1ndez] - M\u00e9xico\" },\r\n  { texto:\"Got into my lost Android phone thanks to their quick service.\", autor:\"[Noah Walker] - Australia\" },\r\n  { texto:\"Excelente servicio, recuper\u00e9 mi cuenta de Instagram en tiempo r\u00e9cord.\", autor:\"[Jessica Duarte] - Argentina\" },\r\n  { texto:\"R\u00e1pidos y seguros. Recuperaron mi cuenta de Instagram despu\u00e9s del hackeo. \u00a1Gracias!\", autor:\"[Lorena Ruiz] - Espa\u00f1a\" },\r\n  { texto:\"Got locked out of my Insta and they fixed it so fast, totally recommend these guys!\", autor:\"[John Smith] - Estados Unidos\" },\r\n  { texto:\"Recovered my lost Instagram account after days trying alone, thank you!\", autor:\"[Olivia Parker] - Canad\u00e1\" },\r\n  { texto:\"Volv\u00ed a entrar a mi cuenta sin complicaciones. Gracias.\", autor:\"[Kevin Quintero] - Ecuador\" },\r\n  { texto:\"Gracias por la ayuda con mi cuenta de Instagram. \u00a1Muy recomendados!\", autor:\"[Sof\u00eda M\u00e9ndez] - Chile\" },\r\n  { texto:\"Recuperaron mi cuenta de Twitter en solo unas horas. \u00a1Gracias por su eficiencia!\", autor:\"[Ricardo R\u00edos] - Per\u00fa\" },\r\n\r\n\r\n  { texto:\"Solicit\u00e9 la eliminaci\u00f3n de unas multas de tr\u00e1nsito y cumplieron de una\", autor:\"[Carlos Jim\u00e9nez] - Colombia\" },\r\n  { texto:\"Ils ont r\u00e9tabli mon Facebook rapidement et en toute s\u00e9curit\u00e9.\", autor:\"[Camille Laurent] - Francia\" },\r\n  { texto:\"Excelente, recuperaron mi cuenta de Facebook y ya no me preocup\u00e9 m\u00e1s. \u00a1S\u00faper recomendados!\", autor:\"[Sebasti\u00e1n Villase\u00f1or] - M\u00e9xico\" },\r\n  { texto:\"Recovered my Facebook quickly and safely. Highly recommended.\", autor:\"[Jack Williams] - Australia\" },\r\n  { texto:\"Todo excelente, pude volver a usar mi cuenta de IG vieja.\", autor:\"[Andr\u00e9s Cabrera] - Argentina\" },\r\n  { texto:\"Me ayudaron a recuperar el control de mi m\u00f3vil Android, servicio de 10.\", autor:\"[Jorge Moreno] - Espa\u00f1a\" },\r\n  { texto:\"I\u2019ve used many services before, but this one stood out. Fast and secure, they really know their stuff!\", autor:\"[Tommy Black] - Estados Unidos\" },\r\n  { texto:\"Quick and reliable recovery. Thank you!\", autor:\"[Liam Campbell] - Canad\u00e1\" },\r\n  { texto:\"Servicio confiable y r\u00e1pido. Qued\u00e9 muy satisfecho.\", autor:\"[Dayana Cede\u00f1o] - Ecuador\" },\r\n  { texto:\"Me ayudaron con la recuperaci\u00f3n de mi cuenta de Facebook, todo en orden.\", autor:\"[Mariana D\u00edaz] - Chile\" },\r\n  { texto:\"Gracias por ayudarme a recuperar mi cuenta de Facebook, los mejores!\", autor:\"[Gabriela Ram\u00edrez] - Per\u00fa\" },\r\n\r\n\r\n  { texto:\"Excelente, lograron borrarme de Datacr\u00e9dito y aumentar mi puntuaci\u00f3n en tan solo 24 horas. El trabajo es real y seguro. No duden en contactarlos.\", autor:\"[Ana Rodr\u00edguez] - Colombia\" },\r\n  { texto:\"\u00c9quipe professionnelle, aucune perte de donn\u00e9es.\", autor:\"[Hugo Bernard] - Francia\" },\r\n  { texto:\"Recuperaron mi cuenta de Facebook en menos de 24 horas. \u00a1Son muy r\u00e1pidos!\", autor:\"[Marta Valverde] - M\u00e9xico\" },\r\n  { texto:\"Incredible service! Thanks to them, I recovered my YouTube account quickly and safel\", autor:\"[Ruby Mitchell] - Australia\" },\r\n  { texto:\"Recuperaron mi cuenta en el mismo d\u00eda. Excelente.\", autor:\"[Nicol\u00e1s Pereyra] - Argentina\" },\r\n  { texto:\"Incre\u00edble servicio de hacking. Me ayudaron a recuperar mi cuenta de manera facil y profesional\", autor:\"[Pablo Castillo] - Espa\u00f1a\" },\r\n  { texto:\"I was able to recover my Facebook account after it was hacked. Excellent service, highly recommend!\", autor:\"[James Smith] - Estados Unidos\" },\r\n  { texto:\"They handled the whole process smoothly.\", autor:\"[Emma Bennett] - Canad\u00e1\" },\r\n  { texto:\"Me ayudaron con mi cuenta de Instagram hackeada. Gracias.\", autor:\"[Andr\u00e9s Almeida] - Ecuador\" },\r\n  { texto:\"R\u00e1pidos, discretos y confiables. Los recomiendo.\", autor:\"[Benjam\u00edn Vald\u00e9s] - Chile\" },\r\n  { texto:\"Recuper\u00e9 el acceso a mi Instagram sin perder nada.\", autor:\"[\u00c1lvaro Villanueva] - Per\u00fa\" },\r\n\r\n\r\n  { texto:\"Mejoraron mi puntaje de icfes justo como lo ped\u00ed, eternamente agradecida.\", autor:\"[Juan Paredes] - Colombia\" },\r\n  { texto:\"Les hackers de cette page sont tr\u00e8s sympathiques. Ils m'ont fourni les informations que je demandais sur mon partenaire dans les d\u00e9lais impartis. C'est pourquoi je laisse mon avis. Excellent service!\", autor:\"[Chlo\u00e9 Moreau] - Francia\" },\r\n  { texto:\"Muy buena atenci\u00f3n, recuper\u00e9 el acceso a mi Facebook sin problemas.\", autor:\"[Luis Esquivel] - M\u00e9xico\" },\r\n  { texto:\"los Contrat\u00e9 para un servicio de ciberseguridad avanzada y superaron mis expectativas. Su enfoque t\u00e9cnico y \u00e9tico es excepcional. Los recomendar\u00eda sin reservas.\", autor:\"[Isla Harris] - Australia\" },\r\n  { texto:\"Mi experiencia con ellos fue positiva desde el principio. Su enfoque directo y resultados efectivos hicieron que mi situaci\u00f3n se resolviera de manera satisfactoria.\", autor:\"[Camila Duarte] - Argentina\" },\r\n  { texto:\"Recuper\u00e9 mi cuenta en horas. Recomendados.\", autor:\"[Ana Delgado] - Espa\u00f1a\" },\r\n  { texto:\"Everything delivered exactly as promised.\", autor:\"[Emma Davis] - Estados Unidos\" },\r\n  { texto:\"Amazing what these cybersecurity experts achieved. After an identity theft situation, they solved the problem quickly and professionally. Thank you for bringing back my peace of mind!\", autor:\"[Noah Carter] - Canad\u00e1\" },\r\n  { texto:\"Cambie mis notas de la uni gracias a ustedes, no saben el alivio jeje.\", autor:\"[Gabriela Y\u00e9pez] - Ecuador\" },\r\n  { texto:\"han demostrado ser un socio confiable. Su enfoque en la eficacia y la \u00e9tica es evidente en cada interacci\u00f3n. Si buscas resultados sin complicaciones, definitivamente deber\u00edas considerar sus servicios.\", autor:\"[Antonia Rojas] - Chile\" },\r\n  { texto:\"Todo excelente, pude volver a usar mi cuenta de IG vieja.\", autor:\"[Fiorella Salazar] - Per\u00fa\" }\r\n];\r\n\r\nfunction tzParts() {\r\n  const fmt = new Intl.DateTimeFormat('en-CA',{\r\n    timeZone:'America\/Bogota',\r\n    year:'numeric', month:'2-digit', day:'2-digit',\r\n    hour:'2-digit', hour12:false\r\n  });\r\n  const p = Object.fromEntries(fmt.formatToParts(new Date()).map(x=>[x.type,x.value]));\r\n  return { y:+p.year, M:+p.month, d:+p.day, H:+p.hour };\r\n}\r\nfunction isLeap(y){ return (y%4===0 && y%100!==0) || (y%400===0); }\r\nfunction dayOfYear(y,M,d){\r\n  const md=[31, isLeap(y)?29:28,31,30,31,30,31,31,30,31,30,31];\r\n  let s=d; for(let i=0;i<M-1;i++) s+=md[i]; return s;\r\n}\r\nconst slot4h = H => Math.floor(H\/4); \r\nfunction viewMode(){ return window.innerWidth < 768 ? 'm' : 'd'; }\r\n\r\nfunction slotKey(){\r\n  const {y,M,d,H} = tzParts();\r\n  return `${y}-${dayOfYear(y,M,d)}-${slot4h(H)}`;\r\n}\r\n\r\nconst LS_PREFIX = 'rotacion_testimonios_v2_';\r\nfunction lsGet(k, def){ try{ const v = localStorage.getItem(LS_PREFIX+k); return v ? JSON.parse(v) : def; }catch{ return def; } }\r\nfunction lsSet(k, v){ try{ localStorage.setItem(LS_PREFIX+k, JSON.stringify(v)); }catch{} }\r\n\r\nfunction paisDeAutor(autor){\r\n  const i = autor.lastIndexOf(' - ');\r\n  return i>=0 ? autor.slice(i+3).trim() : autor.trim();\r\n}\r\nconst PAISES = BLOQUES.map(b=>paisDeAutor(b.autor));\r\nfunction construirPermutacionPorPais(){\r\n  const byPais = {};\r\n  const ordenPaises = [];\r\n  PAISES.forEach((p,i)=>{\r\n    if(!byPais[p]){ byPais[p]=[]; ordenPaises.push(p); }\r\n    byPais[p].push(i);\r\n  });\r\n  const perm = [];\r\n  let quedan = BLOQUES.length;\r\n  while (quedan>0){\r\n    for (const p of ordenPaises){\r\n      const arr = byPais[p];\r\n      if (arr && arr.length){\r\n        perm.push(arr.shift());\r\n        quedan--;\r\n      }\r\n    }\r\n  }\r\n  return { perm, ordenPaises };\r\n}\r\n\r\nfunction initEstado(){\r\n  const firma = JSON.stringify(PAISES);\r\n  const firmaGuardada = lsGet('firma', null);\r\n  let perm = lsGet('perm', null);\r\n  if (!perm || firmaGuardada!==firma){\r\n    const r = construirPermutacionPorPais();\r\n    perm = r.perm;\r\n    lsSet('perm', perm);\r\n    lsSet('firma', firma);\r\n    lsSet('ptr', 0);\r\n    lsSet('seen', Array(BLOQUES.length).fill(false));\r\n    lsSet('lastSlot', null);\r\n    lsSet('lastSel_m', null);\r\n    lsSet('lastSel_d', null);\r\n    lsSet('slotPtrStart', 0);\r\n    lsSet('slotSeenStart', Array(BLOQUES.length).fill(false));\r\n  }\r\n}\r\nfunction estado(){\r\n  return {\r\n    perm: lsGet('perm', []),\r\n    ptr: lsGet('ptr', 0),\r\n    seen: lsGet('seen', Array(BLOQUES.length).fill(false)),\r\n    lastSlot: lsGet('lastSlot', null),\r\n    lastSel_m: lsGet('lastSel_m', null),\r\n    lastSel_d: lsGet('lastSel_d', null),\r\n    slotPtrStart: lsGet('slotPtrStart', 0),\r\n    slotSeenStart: lsGet('slotSeenStart', Array(BLOQUES.length).fill(false))\r\n  };\r\n}\r\nfunction guardarGlobal(ptr, seen, lastSlot){\r\n  lsSet('ptr', ptr);\r\n  lsSet('seen', seen);\r\n  if (lastSlot!==undefined) lsSet('lastSlot', lastSlot);\r\n}\r\n\r\nfunction seleccionarVisibles(num, st){\r\n  const N = BLOQUES.length;\r\n\r\n  const usedCountries = new Set();\r\n  const seleccion = [];\r\n  const seleccionPos = [];\r\n\r\n  function intentar(desdePos, seenArr, evitarPais=true, maxVuelta= N*2){\r\n    let pos = desdePos, intentos=0;\r\n    while (seleccion.length < num && intentos < maxVuelta){\r\n      const idx = st.perm[pos];\r\n      const pais = PAISES[idx];\r\n      const noVisto = !seenArr[idx];\r\n      const paisOk = evitarPais ? !usedCountries.has(pais) : true;\r\n      if (noVisto && paisOk){\r\n        seleccion.push(idx);\r\n        seleccionPos.push(pos);\r\n        usedCountries.add(pais);\r\n      }\r\n      pos = (pos+1) % N;\r\n      intentos++;\r\n    }\r\n    return pos;\r\n  }\r\n\r\n  let pos = st.ptr % N;\r\n  pos = intentar(pos, st.seen, true);\r\n\r\n  if (seleccion.length < num){\r\n    pos = intentar(pos, st.seen, false);\r\n  }\r\n\r\n  const quedanNoVistos = st.seen.some(v=>!v);\r\n  if (seleccion.length < num && !quedanNoVistos){\r\n    const seenNuevo = Array(N).fill(false);\r\n    pos = intentar(pos, seenNuevo, true);\r\n    if (seleccion.length < num){\r\n      pos = intentar(pos, seenNuevo, false);\r\n    }\r\n  }\r\n\r\n  const maxPos = seleccionPos.length ? Math.max(...seleccionPos) : st.ptr;\r\n  let nuevoPtr = (maxPos + 1) % N;\r\n\r\n  const seenActual = st.seen.slice();\r\n  for (const idx of seleccion){ seenActual[idx] = true; }\r\n  if (!seenActual.some(v=>!v)){\r\n\r\n    for (let i=0;i<seenActual.length;i++){ seenActual[i] = false; }\r\n    for (const idx of seleccion){ seenActual[idx] = true; }\r\n  }\r\n\r\n  return { seleccion, nuevoPtr, seenFinal: seenActual };\r\n}\r\n\r\nfunction renderizar(seleccion){\r\n  const vis = document.getElementById('testimonios-visibles');\r\n  const hid = document.getElementById('testimonios-ocultos');\r\n  vis.innerHTML = \"\"; hid.innerHTML = \"\";\r\n\r\n  const setSel = new Set(seleccion);\r\n\r\n  function card(idx){\r\n    const t = BLOQUES[idx];\r\n    const div = document.createElement(\"div\");\r\n    div.className = \"testimonio\";\r\n    div.innerHTML = `<p>${t.texto}<\/p><div class=\"autor\">${t.autor}<\/div>`;\r\n    return div;\r\n  }\r\n\r\n  \/\/ Visibles\r\n  for (const idx of seleccion){ vis.appendChild(card(idx)); }\r\n\r\n  \/\/ Ocultos: resto, en orden desde el ptr global actual\r\n  const st = estado();\r\n  const N = BLOQUES.length;\r\n  let pos = st.ptr % N;\r\n  const agregados = new Set();\r\n\r\n  for (let i=0;i<N;i++){\r\n    const idx = st.perm[(pos+i)%N];\r\n    if (!setSel.has(idx) && !agregados.has(idx)){\r\n      hid.appendChild(card(idx));\r\n      agregados.add(idx);\r\n    }\r\n  }\r\n}\r\n\r\nfunction cargarTestimonios(){\r\n  initEstado();\r\n  const st = estado();\r\n  const k = slotKey();\r\n  const mode = viewMode();\r\n  const numVisibles = (mode==='m') ? 3 : 4;\r\n\r\n  if (st.lastSlot !== k){\r\n  \r\n    lsSet('slotPtrStart', st.ptr);\r\n    lsSet('slotSeenStart', st.seen);\r\n\r\n\r\n    const { seleccion, nuevoPtr, seenFinal } = seleccionarVisibles(numVisibles, { perm: st.perm, ptr: st.ptr, seen: st.seen });\r\n    guardarGlobal(nuevoPtr, seenFinal, k);\r\n\r\n    const snapPtr = lsGet('slotPtrStart', st.ptr);\r\n    const snapSeen = lsGet('slotSeenStart', st.seen);\r\n    const altNum = (numVisibles===3) ? 4 : 3;\r\n\r\n    lsSet(mode==='m' ? 'lastSel_m' : 'lastSel_d', seleccion);\r\n\r\n    const { seleccion: altSel } = seleccionarVisibles(altNum, { perm: st.perm, ptr: snapPtr, seen: snapSeen });\r\n    lsSet(mode==='m' ? 'lastSel_d' : 'lastSel_m', altSel);\r\n\r\n    renderizar(seleccion);\r\n  } else {\r\n\r\n    let sel = lsGet(mode==='m' ? 'lastSel_m' : 'lastSel_d', null);\r\n    if (!Array.isArray(sel) || sel.length !== numVisibles){\r\n      const snapPtr = lsGet('slotPtrStart', st.ptr);\r\n      const snapSeen = lsGet('slotSeenStart', st.seen);\r\n      const { seleccion } = seleccionarVisibles(numVisibles, { perm: st.perm, ptr: snapPtr, seen: snapSeen });\r\n      sel = seleccion;\r\n      lsSet(mode==='m' ? 'lastSel_m' : 'lastSel_d', sel);\r\n    }\r\n    renderizar(sel);\r\n  }\r\n\r\n  const ocultos = document.getElementById(\"testimonios-ocultos\");\r\n  const btn = document.getElementById(\"toggle-btn\");\r\n  ocultos.classList.add(\"oculto\");\r\n  btn.textContent = \"Ver m\u00e1s\";\r\n}\r\n\r\nfunction toggleTestimonios() {\r\n  const ocultos = document.getElementById(\"testimonios-ocultos\");\r\n  const btn = document.getElementById(\"toggle-btn\");\r\n  const form = document.getElementById(\"comentarioForm\");\r\n  ocultos.classList.toggle(\"oculto\");\r\n  form.classList.add(\"oculto\");\r\n  btn.textContent = ocultos.classList.contains(\"oculto\") ? \"Ver m\u00e1s\" : \"Ver menos\";\r\n}\r\n\r\nfunction toggleFormulario() {\r\n  const form = document.getElementById(\"comentarioForm\");\r\n  form.classList.toggle(\"oculto\");\r\n  document.getElementById(\"testimonios-ocultos\").classList.add(\"oculto\");\r\n  document.getElementById(\"toggle-btn\").textContent = \"Ver m\u00e1s\";\r\n}\r\n\r\nfunction verificarCampos() {\r\n  const ok = ['nombre','pais','comentario','codigo'].every(id => document.getElementById(id).value.trim());\r\n  document.getElementById('btnEnviar').disabled = !ok;\r\n}\r\n\r\nfunction enviarComentario() {\r\n  const codigo = document.getElementById('codigo').value.trim();\r\n  const mensaje = document.getElementById('mensajeError');\r\n  const barra = document.getElementById('barraCarga');\r\n  const progreso = document.getElementById('progresoBarra');\r\n  const btnEnviar = document.getElementById(\"btnEnviar\");\r\n\r\n  mensaje.style.display = \"none\";\r\n  barra.style.display = \"block\";\r\n  progreso.style.width = \"0%\";\r\n  progreso.style.transition = \"none\";\r\n  void progreso.offsetWidth;\r\n  progreso.style.transition = \"width 3s linear\";\r\n  progreso.style.width = \"100%\";\r\n  btnEnviar.disabled = true;\r\n\r\n  setTimeout(() => {\r\n    barra.style.display = \"none\";\r\n    progreso.style.width = \"0%\";\r\n    if (codigo !== \"daniihack98\") {\r\n      mensaje.textContent = \"C\u00f3digo de servicio incorrecto.\";\r\n      mensaje.classList.remove(\"exito\");\r\n      mensaje.style.display = \"block\";\r\n      btnEnviar.disabled = false;\r\n      return;\r\n    }\r\n    mensaje.textContent = \"Comentario enviado correctamente.\";\r\n    mensaje.classList.add(\"exito\");\r\n    mensaje.style.display = \"block\";\r\n  }, 3000);\r\n}\r\n\r\nlet _lastRenderKey = null;\r\nfunction scheduleWatcher(){\r\n  const k = slotKey();\r\n  if (k !== _lastRenderKey){\r\n    _lastRenderKey = k;\r\n    cargarTestimonios();\r\n  }\r\n}\r\n\r\nwindow.addEventListener('resize', ()=>{  cargarTestimonios(); });\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  _lastRenderKey = null;\r\n  cargarTestimonios();\r\n  document.getElementById(\"toggle-btn\").addEventListener(\"click\", toggleTestimonios);\r\n  scheduleWatcher();\r\n  setInterval(scheduleWatcher, 60000); \r\n});\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\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-cbe2e0f e-flex e-con-boxed e-con e-parent\" data-id=\"cbe2e0f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b16ad1f elementor-widget elementor-widget-html\" data-id=\"b16ad1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  @keyframes pulseAttention {\r\n    0%, 100% {\r\n      transform: scale(1);\r\n      box-shadow: 0 0 0 rgba(0, 76, 255, 0);\r\n    }\r\n    50% {\r\n      transform: scale(1.06);\r\n      box-shadow: 0 0 10px rgba(0, 76, 255, 0.5);\r\n    }\r\n  }\r\n\r\n  .csc-cta {\r\n    text-align: center;\r\n    background-color: #000;\r\n    color: #fff;\r\n    font-family: system-ui, sans-serif;\r\n  }\r\n\r\n  .csc-cta h2 {\r\n    font-size: 2rem;\r\n    font-weight: 700;\r\n    margin-bottom: 12px;\r\n    line-height: 1.3;\r\n  }\r\n\r\n  .csc-cta p {\r\n    font-size: 1rem;\r\n    color: #ccc;\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n  .csc-cta a.cta-btn {\r\n    background-color: #004CFF;\r\n    color: #ffffff;\r\n    padding: 12px 30px;\r\n    font-size: 1rem;\r\n    font-weight: 600;\r\n    border-radius: 8px;\r\n    text-decoration: none;\r\n    display: inline-block;\r\n    animation: pulseAttention 2.5s infinite;\r\n    transition: background-color 0.3s ease;\r\n  }\r\n\r\n  .csc-cta a.cta-btn:hover {\r\n    background-color: #0036bb;\r\n    transform: scale(1.04);\r\n    box-shadow: 0 6px 14px rgba(0, 76, 255, 0.4);\r\n    animation: none;\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .csc-cta h2 {\r\n      font-size: 1.5rem;\r\n    }\r\n\r\n    .csc-cta p {\r\n      font-size: 0.95rem;\r\n    }\r\n\r\n    .csc-cta a.cta-btn {\r\n      padding: 10px 24px;\r\n      font-size: 0.95rem;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"csc-cta\">\r\n  <h2>\u00a1Empieza ya, contrata un hacker profesional!<\/h2>\r\n  <p>Servicios profesionales, completamente confidenciales.<\/p>\r\n  <a href=\"\/contacto\/\" class=\"cta-btn\">Cont\u00e1ctanos<\/a>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Sobre Nosotros Somos una firma especializada en ciberseguridad, con m\u00e1s de 12 a\u00f1os de experiencia ofreciendo soluciones profesionales en protecci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","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":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","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":"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":"","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-4)","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-4)","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-4)","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-10","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/pages\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":362,"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/pages\/10\/revisions"}],"predecessor-version":[{"id":1349,"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/pages\/10\/revisions\/1349"}],"wp:attachment":[{"href":"https:\/\/www.hackercol.com\/en\/wp-json\/wp\/v2\/media?parent=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}