{"id":6009,"date":"2026-05-27T19:09:16","date_gmt":"2026-05-27T19:09:16","guid":{"rendered":"https:\/\/ruvic.ai\/?page_id=6009"},"modified":"2026-07-30T19:51:39","modified_gmt":"2026-07-30T19:51:39","slug":"ciberseguridad","status":"publish","type":"page","link":"https:\/\/ruvic.ai\/en\/ciberseguridad\/","title":{"rendered":"Cybersecurity"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n.breadcrumb-wrap {\n  width: 100%;\n  background-color: #101630;\n  padding: 20px 24px;\n  box-sizing: border-box;\n}\n\n.breadcrumb-container {\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.breadcrumb-pill {\n  display: inline-flex;\n  width: fit-content;\n  max-width: 100%;\n  background-color: #1B2142;\n  border-radius: 999px;\n  padding: 14px 28px;\n  font-family: \"Syne\", sans-serif;\n  box-sizing: border-box;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 8px;\n  font-size: 16px;\n  color: #8890AC;\n}\n\n.breadcrumb-pill a {\n  color: #8890AC;\n  text-decoration: none;\n  transition: color .2s ease;\n}\n\n.breadcrumb-pill a:hover {\n  color: #E4262B;\n}\n\n.breadcrumb-pill .category {\n  color: #8890AC;\n  cursor: default;\n}\n\n.breadcrumb-pill .separator {\n  color: #E4262B;\n  font-size: 0;\n}\n\n.breadcrumb-pill .separator::before {\n  content: \"\/\";\n  font-size: 16px;\n}\n\n.breadcrumb-pill .last {\n  color: #FFFFFF;\n  font-weight: 700;\n}\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  white-space: nowrap;\n  border: 0;\n}\n<\/style>\n\n<div class=\"breadcrumb-wrap\">\n  <div class=\"breadcrumb-container\">\n    <nav class=\"breadcrumb-pill\" aria-label=\"breadcrumb\">\n      <a href=\"\/\">Inicio<\/a>\n      <span class=\"separator\"><\/span>\n      <span class=\"category\">Soluciones<\/span>\n      <span class=\"separator\"><\/span>\n      <span class=\"last\">Ciberseguridad<\/span>\n    <\/nav>\n  <\/div>\n  <span class=\"sr-only\"><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Inicio<\/span><\/p><\/nav><\/span>\n<\/div>\n\n\n\n<div id=\"rv-cyber\" class=\"rv-cyber\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@500;600;700');\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700');\n@import url('https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@400;500');\n.rv-cyber{\n  --navy:#0E1632;\n  --navy-card:#131B3D;\n  --coral:#FF363A;\n  --coral-action:#E4262B;\n  --amber:#FDAA4C;\n  --amber-ink:#8A5A1F;\n  --ice:#E8ECF2;\n  --cream:#FDF2E1;\n  --cream-soft:#FBF6EC;\n  --white:#FFFFFF;\n  --line:rgba(14,22,50,.10);\n  --divider:rgba(14,22,50,.07);\n  --ink-soft:#4A5170;\n  --on-navy-soft:rgba(255,255,255,.66);\n  --ok:#189A4A;\n}.rv-cyber,.rv-cyber *{margin:0;padding:0;box-sizing:border-box}.rv-cyber{scroll-behavior:smooth;scroll-padding-top:96px}.rv-cyber{\n  font-family:\"DM Sans\",system-ui,sans-serif;\n  font-size:1rem;line-height:1.7;\n  color:var(--navy);\n  background:var(--white);\n  -webkit-font-smoothing:antialiased;\n  -moz-osx-font-smoothing:grayscale;\n  text-rendering:optimizeLegibility;\n}.rv-cyber h1,.rv-cyber h2,.rv-cyber h3{font-family:\"Syne\",sans-serif;font-weight:600}.rv-cyber h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.02;letter-spacing:-.03em}.rv-cyber h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.08;letter-spacing:-.025em}.rv-cyber h3{font-size:1.35rem;line-height:1.2;letter-spacing:-.01em}.rv-cyber p{margin:0}.rv-cyber a{color:var(--coral-action);text-decoration:none}.rv-cyber img{max-width:100%}.rv-cyber .wrap{max-width:1200px;margin:0 auto;padding:0 24px !important}.rv-cyber .kicker{\n  font-family:\"JetBrains Mono\",monospace;font-size:.72rem;font-weight:500;\n  letter-spacing:.14em;text-transform:uppercase;color:var(--coral-action);\n  display:block;margin-bottom:16px;\n}.rv-cyber .accent{color:var(--coral)}.rv-cyber .accent-action{color:var(--coral-action)}.rv-cyber .lead{font-size:1.15rem;line-height:1.6;color:var(--ink-soft)}.rv-cyber section{padding:104px 0}.rv-cyber .btn{\n  display:inline-flex;align-items:center;justify-content:center;gap:8px;\n  font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:14px;\n  border-radius:999px;padding:13px 24px;transition:.2s ease;white-space:nowrap;cursor:pointer;\n}.rv-cyber .btn-primary{background:var(--coral-action);color:#fff}.rv-cyber .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(228,38,43,.55)}.rv-cyber .btn-ghost-dark{border:1px solid rgba(255,255,255,.28);color:#fff}.rv-cyber .btn-ghost-dark:hover{border-color:rgba(255,255,255,.55);transform:translateY(-2px)}.rv-cyber .btn-ghost-light{border:1px solid rgba(14,22,50,.25);color:var(--navy)}.rv-cyber .btn-ghost-light:hover{border-color:var(--navy);transform:translateY(-2px)}.rv-cyber .nav{\n  position:sticky;top:0;z-index:50;\n  background:rgba(255,255,255,.88);\n  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);\n  border-bottom:1px solid var(--line);\n}.rv-cyber .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px}.rv-cyber .brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy)}.rv-cyber .brand__box{\n  width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;\n  display:grid;place-items:center;font-family:\"Syne\",sans-serif;font-weight:600;font-size:1rem;\n  position:relative;\n}.rv-cyber .brand__box::after{content:\"\";position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--coral)}.rv-cyber .brand__name{font-family:\"Syne\",sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.rv-cyber .nav__links{display:flex;align-items:center;gap:26px;list-style:none}.rv-cyber .nav__links a{font-weight:500;font-size:.95rem;color:var(--navy)}.rv-cyber .nav__links a:hover{color:var(--coral-action)}@media (max-width:900px){.rv-cyber .nav__links{display:none}}.rv-cyber .crumbs{background:var(--white);padding:14px 0 0}.rv-cyber .crumbs ol{\n  list-style:none;display:flex;flex-wrap:wrap;gap:8px;\n  font-family:\"JetBrains Mono\",monospace;font-size:12px;color:var(--ink-soft);\n}.rv-cyber .crumbs a{color:var(--ink-soft)}.rv-cyber .crumbs a:hover{color:var(--coral-action)}.rv-cyber .crumbs li+li::before{content:\"\/\";margin-right:8px;color:rgba(14,22,50,.35)}.rv-cyber .crumbs [aria-current]{color:var(--navy)}.rv-cyber .hero{\n  background:var(--navy);color:#fff;\n  margin-top:0;padding:88px 0 0;position:relative;overflow:hidden;\n}.rv-cyber .hero::before{\n  content:\"\";position:absolute;top:-220px;right:-160px;width:640px;height:640px;\n  background:radial-gradient(circle,rgba(255,54,58,.04) 0%,transparent 62%);\n  pointer-events:none;\n}.rv-cyber .hero .wrap{position:relative}.rv-cyber .hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}@media (max-width:960px){.rv-cyber .hero__grid{grid-template-columns:1fr;gap:44px}}.rv-cyber .hero__grid>div{min-width:0}.rv-cyber .hero .kicker{color:var(--amber)}.rv-cyber .hero h1{color:#fff;max-width:22ch}.rv-cyber .hero .lead{color:rgba(255,255,255,.72);max-width:60ch;margin-top:22px}.rv-cyber .hero .lead strong{color:#fff;font-weight:600}.rv-cyber .hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}@media (max-width:620px){.rv-cyber .hero__btns .btn{flex:1 1 100%}}.rv-cyber .hero__metrics{\n  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;\n  margin-top:64px;padding:40px 0 64px;border-top:1px solid rgba(255,255,255,.1);\n}.rv-cyber .hero__metrics .num{\n  display:block;font-family:\"Syne\",sans-serif;font-weight:700;\n  font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1;color:var(--amber);\n}.rv-cyber .hero__metrics p{margin-top:10px;font-size:.93rem;line-height:1.5;color:#fff}.rv-cyber .hero__metrics .capm{\n  display:block;margin-top:8px;font-family:\"JetBrains Mono\",monospace;\n  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);\n}@media (max-width:900px){.rv-cyber .hero__metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.rv-cyber .hero__metrics{grid-template-columns:1fr}}.rv-cyber .console{\n  background:var(--navy-card);border:1px solid rgba(255,255,255,.09);\n  border-radius:16px;box-shadow:0 40px 90px -45px rgba(0,0,0,.75);\n  padding:13px 14px;min-width:0;\n}.rv-cyber .console__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.09)}.rv-cyber .console__title{font-family:\"Syne\",sans-serif;font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-cyber .console__live{\n  flex-shrink:0;display:inline-flex;align-items:center;gap:7px;\n  font-family:\"JetBrains Mono\",monospace;font-size:11px;letter-spacing:.08em;color:var(--amber);\n}.rv-cyber .console__live .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:blip 2s ease-in-out infinite}@keyframes blip{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.rv-cyber .stages{\n  display:flex;align-items:center;gap:8px;flex-wrap:wrap;\n  padding:11px 2px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.09);\n  font-family:\"JetBrains Mono\",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;\n  color:rgba(255,255,255,.45);\n}.rv-cyber .stages .arrow{color:rgba(255,255,255,.3)}.rv-cyber .stages .stage{padding:3px 9px;border-radius:999px;transition:background .3s ease,color .3s ease}.rv-cyber .stages .stage.on{background:rgba(253,170,76,.16);color:var(--amber)}.rv-cyber .feed{display:flex;flex-direction:column;gap:8px;min-height:0}.rv-cyber .frow{\n  display:flex;align-items:center;gap:12px;\n  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);\n  border-radius:12px;padding:11px 13px;overflow:hidden;\n}.rv-cyber .frow.enter{animation:rowIn .5s ease both}@keyframes rowIn{from{transform:translateY(-9px)}to{transform:translateY(0)}}.rv-cyber .frow__ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:rgba(255,255,255,.06)}.rv-cyber .frow__ic svg{width:18px;height:18px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .frow__ic--ok svg{stroke:var(--amber)}.rv-cyber .frow__ic--crit svg{stroke:#FF7A7D}.rv-cyber .frow__ic--run svg{stroke:rgba(255,255,255,.85)}.rv-cyber .frow__body{flex:1;min-width:0}.rv-cyber .frow__name{font-weight:500;font-size:.88rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-cyber .frow__meta{font-family:\"JetBrains Mono\",monospace;font-size:10.5px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rv-cyber .chip{\n  font-family:\"JetBrains Mono\",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;\n  padding:5px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0;\n}.rv-cyber .chip--ok{background:rgba(253,170,76,.16);color:var(--amber)}.rv-cyber .chip--crit{background:rgba(255,54,58,.16);color:#FF7A7D}.rv-cyber .chip--run{background:rgba(255,255,255,.1);color:#fff}.rv-cyber .console__ft{\n  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;\n  margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09);\n  font-family:\"JetBrains Mono\",monospace;font-size:10.5px;color:rgba(255,255,255,.5);\n}.rv-cyber .console__ft b{color:var(--amber);font-weight:500}@media (max-width:480px){.rv-cyber .console{padding:14px}.rv-cyber .feed{min-height:0}}.rv-cyber .problema{background:var(--white)}.rv-cyber .problema h2{max-width:26ch}.rv-cyber .problema .lead{max-width:66ch;margin-top:18px}.rv-cyber .problema__grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}.rv-cyber .card{\n  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px 26px;\n  transition:.2s ease;\n}.rv-cyber .card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(14,22,50,.25);border-color:rgba(255,54,58,.28)}.rv-cyber .pcard{display:flex;flex-direction:column}.rv-cyber .pcard__num{\n  font-family:\"JetBrains Mono\",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;\n  color:var(--coral-action);margin-bottom:14px;\n}.rv-cyber .pcard h3{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:1.12rem;letter-spacing:0;margin-bottom:10px}.rv-cyber .pcard p{color:var(--ink-soft);font-size:.96rem}.rv-cyber .pcard__link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:600;font-size:.88rem;color:var(--coral-action)}.rv-cyber .pcard__link svg{width:14px;height:14px;transition:transform .2s ease}.rv-cyber .pcard:hover .pcard__link{color:var(--coral-action)}.rv-cyber .pcard:hover .pcard__link svg{transform:translateX(4px)}@media (max-width:900px){.rv-cyber .problema__grid{grid-template-columns:1fr}}.rv-cyber .pain{margin-top:64px}.rv-cyber .pain__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.rv-cyber .pain__head h3{max-width:none}.rv-cyber .pain__note{font-family:\"JetBrains Mono\",monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft)}.rv-cyber .pain__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rv-cyber .pain__grid .card{padding:24px 22px}.rv-cyber .pain .ic{\n  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;\n  background:rgba(255,54,58,.11);margin-bottom:16px;\n}.rv-cyber .pain .ic svg{width:23px;height:23px;fill:none;stroke:var(--coral-action);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .pain h4{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:1.02rem;margin-bottom:8px}.rv-cyber .pain .card p{color:var(--ink-soft);font-size:.9rem}@media (max-width:980px){.rv-cyber .pain__grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.rv-cyber .pain__grid{grid-template-columns:1fr}}.rv-cyber .case-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.rv-cyber .case-chips a{\n  display:inline-flex;align-items:center;gap:8px;\n  font-size:.88rem;font-weight:500;color:var(--navy);\n  background:var(--white);border:1px solid var(--line);border-radius:999px;padding:9px 16px;\n  transition:.2s ease;\n}.rv-cyber .case-chips a svg{width:14px;height:14px;fill:none;stroke:var(--coral-action);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.rv-cyber .case-chips a:hover{border-color:var(--coral-action);transform:translateY(-2px)}.rv-cyber .capacidades{background:var(--cream-soft)}.rv-cyber .capacidades__head{text-align:center;max-width:800px;margin:0 auto}.rv-cyber .capacidades__head .lead{margin-top:18px}.rv-cyber .capacidades__grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}.rv-cyber .capacidades .card{background:var(--white);display:flex;flex-direction:column}.rv-cyber .ccard__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.rv-cyber .ccard__idx{font-family:\"Syne\",sans-serif;font-weight:600;font-size:1.05rem;color:var(--coral-action)}.rv-cyber .ccard__kick{\n  font-family:\"JetBrains Mono\",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;\n  color:var(--ink-soft);\n}.rv-cyber .capacidades h3{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:1.12rem;letter-spacing:0;margin-bottom:10px}.rv-cyber .capacidades .card p{color:var(--ink-soft);font-size:.95rem}.rv-cyber .ccard__out{\n  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;\n  margin-top:18px;font-weight:600;font-size:.82rem;color:var(--amber-ink);\n  background:rgba(253,170,76,.16);border-radius:999px;padding:6px 14px;\n}.rv-cyber .ccard__out svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}@media (max-width:980px){.rv-cyber .capacidades__grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.rv-cyber .capacidades__grid{grid-template-columns:1fr}}.rv-cyber .stats{background:var(--navy);padding:56px 0}.rv-cyber .stats ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.rv-cyber .stats .num{\n  display:block;font-family:\"Syne\",sans-serif;font-weight:700;\n  font-size:clamp(2rem,4vw,2.9rem);line-height:1;color:var(--amber);\n}.rv-cyber .stats p{margin-top:10px;font-size:.95rem;line-height:1.5;color:#fff}.rv-cyber .stats .cap{\n  display:block;margin-top:8px;font-family:\"JetBrains Mono\",monospace;\n  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);\n}@media (max-width:900px){.rv-cyber .stats ul{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.rv-cyber .stats ul{grid-template-columns:1fr}}.rv-cyber .how{background:var(--white)}.rv-cyber .how__head{text-align:center;max-width:800px;margin:0 auto}.rv-cyber .how__head .lead{margin-top:18px}.rv-cyber .how__grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}.rv-cyber .step{position:relative}.rv-cyber .step__n{\n  font-family:\"Syne\",sans-serif;font-weight:600;font-size:1.4rem;color:var(--coral-action);\n  margin-bottom:14px;display:block;\n}.rv-cyber .step h3{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:1.12rem;letter-spacing:0;margin-bottom:10px}.rv-cyber .step p{color:var(--ink-soft);font-size:.95rem}.rv-cyber .step__pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.rv-cyber .step__pills span{\n  font-family:\"JetBrains Mono\",monospace;font-size:10.5px;font-weight:500;\n  padding:5px 11px;border-radius:999px;background:var(--ice);color:var(--navy);\n}@media (max-width:900px){.rv-cyber .how__grid{grid-template-columns:1fr}}.rv-cyber .roles{background:var(--cream-soft)}.rv-cyber .roles__head{text-align:center;max-width:800px;margin:0 auto}.rv-cyber .roles__head .lead{margin-top:18px}.rv-cyber .role-tabs{\n  display:flex;gap:6px;flex-wrap:wrap;justify-content:center;\n  padding:6px;margin:44px auto 48px;max-width:max-content;\n  background:var(--white);border:1px solid var(--line);border-radius:999px;\n}.rv-cyber .role-tab{\n  font-family:\"DM Sans\",sans-serif;font-size:.9rem;font-weight:600;color:var(--ink-soft);\n  background:transparent;border:none;border-radius:999px;padding:11px 20px;cursor:pointer;\n  transition:.2s ease;white-space:nowrap;\n}.rv-cyber .role-tab:hover{color:var(--navy)}.rv-cyber .role-tab.active{color:#fff;background:var(--navy)}.rv-cyber .role-panel{display:none}.rv-cyber .role-panel.active{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}@media (max-width:980px){.rv-cyber .role-panel.active{grid-template-columns:1fr;gap:36px}}.rv-cyber .role-tag{\n  display:inline-flex;align-items:center;\n  font-weight:600;font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;color:var(--amber-ink);\n  background:rgba(253,170,76,.16);border-radius:999px;padding:6px 14px;margin-bottom:14px;\n}.rv-cyber .role-panel h3{max-width:24ch;margin-bottom:16px}.rv-cyber .role-pain{\n  font-size:.95rem;font-weight:500;color:var(--coral-action);line-height:1.55;\n  padding:15px 17px;background:rgba(255,54,58,.05);\n  border-radius:12px;margin-bottom:16px;\n}.rv-cyber .role-text{color:var(--ink-soft);margin-bottom:22px}.rv-cyber .scenarios{list-style:none;display:flex;flex-direction:column;gap:12px}.rv-cyber .scenario{display:flex;gap:15px;align-items:flex-start;padding:17px 19px}.rv-cyber .scenario .sic{\n  width:48px;height:48px;border-radius:13px;flex-shrink:0;\n  display:grid;place-items:center;background:rgba(255,54,58,.11);\n}.rv-cyber .scenario .sic svg{width:23px;height:23px;fill:none;stroke:var(--coral-action);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .scenario h4{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:.98rem;margin-bottom:4px}.rv-cyber .scenario p{color:var(--ink-soft);font-size:.9rem}.rv-cyber .dash{\n  background:var(--navy-card);border:1px solid rgba(255,255,255,.09);border-radius:16px;\n  padding:24px;box-shadow:0 40px 90px -45px rgba(0,0,0,.55);min-width:0;\n}.rv-cyber .dash__hd{\n  display:flex;align-items:center;justify-content:space-between;gap:12px;\n  padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.09);\n}.rv-cyber .dash__title{font-family:\"Syne\",sans-serif;font-weight:600;font-size:13px;color:#fff}.rv-cyber .dash__status{\n  display:inline-flex;align-items:center;gap:7px;\n  font-family:\"JetBrains Mono\",monospace;font-size:11px;letter-spacing:.08em;color:var(--amber);\n}.rv-cyber .dash__status .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:blip 2s ease-in-out infinite}.rv-cyber .dash__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:20px}.rv-cyber .dash__metric{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:15px 12px;text-align:center}.rv-cyber .dash__metric b{\n  display:block;font-family:\"Syne\",sans-serif;font-weight:700;font-size:1.35rem;line-height:1;color:var(--amber);\n}.rv-cyber .dash__metric span{\n  display:block;margin-top:8px;font-family:\"JetBrains Mono\",monospace;font-size:9.5px;\n  letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);line-height:1.4;\n}.rv-cyber .dash__progs{display:flex;flex-direction:column;gap:14px}.rv-cyber .dprog__hd{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.rv-cyber .dprog__n{font-size:.85rem;font-weight:500;color:rgba(255,255,255,.78)}.rv-cyber .dprog__p{font-family:\"JetBrains Mono\",monospace;font-size:.82rem;color:#fff}.rv-cyber .dprog__bar{height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.rv-cyber .dprog__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--amber),#FFC985)}@media (max-width:480px){.rv-cyber .dash__metrics{grid-template-columns:1fr 1fr}}.rv-cyber .compare{background:var(--white)}.rv-cyber .compare__head{text-align:center;max-width:800px;margin:0 auto}.rv-cyber .compare__head .lead{margin-top:18px}.rv-cyber .table-wrap{overflow-x:auto;margin-top:52px;border:1px solid var(--line);border-radius:16px}.rv-cyber .ctable{width:100%;min-width:860px;border-collapse:collapse}.rv-cyber .ctable thead th{\n  background:var(--navy);color:#fff;font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:.9rem;\n  text-align:center;padding:18px 16px;\n}.rv-cyber .ctable thead th:first-child{text-align:left}.rv-cyber .ctable thead th .badge{\n  display:block;margin:0 auto 6px;width:max-content;\n  font-family:\"JetBrains Mono\",monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;\n  color:var(--amber);background:rgba(253,170,76,.16);border-radius:999px;padding:3px 10px;\n}.rv-cyber .ctable tbody th,.rv-cyber .ctable tbody td{\n  padding:15px 16px;border-top:1px solid rgba(14,22,50,.08);font-size:.92rem;text-align:center;vertical-align:middle;\n}.rv-cyber .ctable tbody th{text-align:left;font-weight:600;color:var(--navy)}.rv-cyber .ctable tbody td.rv{background:rgba(255,54,58,.05);font-weight:600}.rv-cyber .ctable tbody tr{transition:background .18s ease}.rv-cyber .ctable tbody tr:hover th,.rv-cyber .ctable tbody tr:hover td{background:rgba(255,54,58,.09)}@media (prefers-reduced-motion:reduce){.rv-cyber .ctable tbody tr{transition:none}}.rv-cyber .ctable .yes{color:var(--ok);font-weight:700}.rv-cyber .ctable .partial{\n  display:inline-block;font-size:.78rem;font-weight:600;color:var(--amber-ink);\n  background:rgba(253,170,76,.16);border-radius:999px;padding:4px 12px;\n}.rv-cyber .ctable .no{color:#9AA0B4}.rv-cyber .table-note{max-width:780px;margin:26px auto 0;text-align:center;color:var(--ink-soft);font-size:.95rem}.rv-cyber .mssp{background:var(--cream-soft)}.rv-cyber .mssp__head{text-align:center;max-width:800px;margin:0 auto}.rv-cyber .mssp__head .lead{margin-top:18px}.rv-cyber .mssp__grid{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:52px}.rv-cyber .mssp__grid li{display:contents}.rv-cyber .mssp__grid .card{background:var(--white);grid-column:span 2;height:100%}.rv-cyber .mssp__grid li:nth-child(4) .card,.rv-cyber .mssp__grid li:nth-child(5) .card{grid-column:span 3}.rv-cyber .mssp .ic{\n  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;\n  background:rgba(255,54,58,.11);margin-bottom:16px;\n}.rv-cyber .mssp .ic svg{width:23px;height:23px;fill:none;stroke:var(--coral-action);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .mssp h3{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:1.08rem;letter-spacing:0;margin-bottom:8px}.rv-cyber .mssp .card p{color:var(--ink-soft);font-size:.93rem}@media (max-width:980px){.rv-cyber .mssp__grid{grid-template-columns:1fr 1fr}.rv-cyber .mssp .card,.rv-cyber .mssp__grid li:nth-child(n){grid-column:auto}\n}@media (max-width:620px){.rv-cyber .mssp__grid{grid-template-columns:1fr}.rv-cyber .mssp__grid .card{grid-column:auto !important}}.rv-cyber .integra{background:var(--white)}.rv-cyber .integra h2{max-width:26ch}.rv-cyber .integra .lead{max-width:66ch;margin-top:18px}.rv-cyber .int__marquee{\n  overflow:hidden;position:relative;margin-top:44px;\n  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);\n  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);\n}.rv-cyber .int__track{display:flex;gap:12px;width:max-content;animation:intMarquee 38s linear infinite}.rv-cyber .int__marquee:hover .int__track{animation-play-state:paused}@keyframes intMarquee{to{transform:translateX(-50%)}}.rv-cyber .int__chip{\n  display:inline-flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap;\n  padding:11px 18px;background:var(--white);border:1px solid var(--line);border-radius:999px;\n}.rv-cyber .int__mark{\n  width:26px;height:26px;border-radius:7px;background:var(--navy);color:#fff;\n  display:grid;place-items:center;font-family:\"Syne\",sans-serif;font-weight:700;font-size:11px;\n}.rv-cyber .int__chip-name{font-family:\"DM Sans\",sans-serif;font-size:13.5px;font-weight:600;color:var(--navy)}.rv-cyber .int__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}.rv-cyber .int__grid .card{padding:22px 20px;height:100%}.rv-cyber .int__cat{\n  font-family:\"JetBrains Mono\",monospace;font-size:.72rem;font-weight:500;\n  letter-spacing:.12em;text-transform:uppercase;color:var(--coral-action);margin-bottom:14px;display:block;\n}.rv-cyber .int__items{display:flex;flex-wrap:wrap;gap:7px}.rv-cyber .int__items span{\n  font-size:.84rem;font-weight:500;color:var(--navy);\n  background:var(--ice);border-radius:999px;padding:5px 12px;\n}.rv-cyber .int__note{margin-top:36px;text-align:center;color:var(--ink-soft);font-size:.95rem}.rv-cyber .int__note a{font-weight:600}.rv-cyber .int__note a:hover{text-decoration:underline}@media (max-width:980px){.rv-cyber .int__grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.rv-cyber .int__grid{grid-template-columns:1fr}}.rv-cyber .related{background:var(--cream-soft)}.rv-cyber .related h2{text-align:center;font-size:clamp(1.5rem,2.6vw,1.9rem)}.rv-cyber .related__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.rv-cyber .related__grid a{display:block;color:var(--navy);height:100%}.rv-cyber .related__grid .card{height:100%;padding:24px;background:var(--white)}.rv-cyber .related .ic{\n  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;\n  background:rgba(255,54,58,.11);margin-bottom:16px;\n}.rv-cyber .related .ic svg{width:23px;height:23px;fill:none;stroke:var(--coral-action);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .related h3{font-family:\"DM Sans\",sans-serif;font-weight:600;font-size:1.06rem;letter-spacing:0}.rv-cyber .related .card p{color:var(--ink-soft);font-size:.9rem;margin-top:8px}.rv-cyber .related .go{color:var(--coral-action);font-weight:600;font-size:.86rem;margin-top:14px;display:inline-block}@media (max-width:980px){.rv-cyber .related__grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.rv-cyber .related__grid{grid-template-columns:1fr}}.rv-cyber .cta{background:var(--white);padding:104px 0}.rv-cyber .cta__card{\n  background:var(--navy);color:#fff;border-radius:22px;\n  text-align:center;padding:72px 32px;position:relative;overflow:hidden;\n}.rv-cyber .cta__card::before{\n  content:\"\";position:absolute;top:-200px;right:-140px;width:520px;height:520px;\n  background:radial-gradient(circle,rgba(255,54,58,.04) 0%,transparent 62%);\n  pointer-events:none;\n}.rv-cyber .cta__inner{position:relative;max-width:700px;margin:0 auto}.rv-cyber .cta__eyebrow{\n  display:block;margin-bottom:16px;\n  font-family:\"JetBrains Mono\",monospace;font-size:.72rem;font-weight:500;\n  letter-spacing:.14em;text-transform:uppercase;color:var(--amber);\n}.rv-cyber .cta h2{color:#fff}.rv-cyber .cta p{color:rgba(255,255,255,.72);margin-top:18px}.rv-cyber .cta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}.rv-cyber .cta__tags{\n  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:30px;\n  font-size:.88rem;color:rgba(255,255,255,.66);\n}.rv-cyber .cta__tags span::before{content:\"\u2713\";color:var(--ok);margin-right:7px;font-weight:600}.rv-cyber .cta__geo{\n  margin-top:26px;font-family:\"JetBrains Mono\",monospace;font-size:11px;\n  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);\n}@media (max-width:620px){.rv-cyber .cta__btns .btn{flex:1 1 100%}}.rv-cyber .footer{background:var(--white);border-top:1px solid var(--line);padding:34px 0}.rv-cyber .footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.rv-cyber .footer small{color:var(--ink-soft);font-size:.85rem}@media (max-width:680px){.rv-cyber section{padding:76px 0}.rv-cyber .hero{padding:64px 0 0}.rv-cyber .cta{padding:76px 0}\n}@media (prefers-reduced-motion: reduce){.rv-cyber .console__live .dot,.rv-cyber .dash__status .dot{animation:none}.rv-cyber .frow.enter{animation:none}.rv-cyber .int__track{animation:none}.rv-cyber{scroll-behavior:auto}\n}.rv-cyber table th:first-child,.rv-cyber table td:first-child{text-align:left !important}.rv-cyber table th:not(:first-child),.rv-cyber table td:not(:first-child){text-align:center !important}.rv-cyber table td,.rv-cyber table th{vertical-align:middle}.rv-cyber{\n  --ease-quart:cubic-bezier(.25,1,.5,1);\n  --ease-expo:cubic-bezier(.16,1,.3,1);\n  --ease-soft:cubic-bezier(.22,.61,.36,1);\n  \/* Sombras en capas (contacto + difusa) *\/\n  --shadow-card:0 1px 2px rgba(14,22,50,.05), 0 14px 34px -20px rgba(14,22,50,.24);\n  --shadow-card-h:0 2px 6px rgba(14,22,50,.07), 0 30px 60px -28px rgba(14,22,50,.32);\n  --shadow-navy:0 40px 100px -50px rgba(0,0,0,.8);\n  \/* Textura retirada: navy s\u00f3lido para m\u00e1xima legibilidad del texto (grano + grid = none) *\/\n  --grain:none;\n  --grid-navy:none;\n}.rv-cyber h1,.rv-cyber h2,.rv-cyber h3{text-wrap:balance}.rv-cyber .lead,.rv-cyber p{text-wrap:pretty}.rv-cyber .btn{transition:transform .35s var(--ease-quart),box-shadow .35s var(--ease-quart),border-color .25s ease,background .25s ease}.rv-cyber .card{transition:transform .4s var(--ease-quart),box-shadow .4s var(--ease-quart),border-color .3s ease}.rv-cyber .card:hover{box-shadow:var(--shadow-card-h)}.rv-cyber .hero,.rv-cyber .stats,.rv-cyber .cta__card{background-color:var(--navy);background-image:var(--grain);background-size:140px 140px}.rv-cyber .hero{position:relative;overflow:hidden;isolation:isolate}.rv-cyber .hero::before{\n  content:\"\";position:absolute;inset:-30% -10% auto -10%;height:120%;z-index:-1;pointer-events:none;\n  background:\n    radial-gradient(38% 42% at 78% 8%, rgba(255,54,58,.04), transparent 70%),\n    radial-gradient(34% 40% at 12% 24%, rgba(46,107,230,.16), transparent 72%),\n    radial-gradient(30% 34% at 62% 62%, rgba(253,170,76,.10), transparent 74%);\n  filter:blur(8px);\n  animation:auroraDrift 22s var(--ease-soft) infinite;\n}.rv-cyber .hero::after{\n  content:\"\";position:absolute;inset:0;z-index:-1;pointer-events:none;\n  background-image:var(--grid-navy);background-size:46px 46px;\n  -webkit-mask-image:radial-gradient(120% 90% at 72% 0%,#000 8%,transparent 68%);\n          mask-image:radial-gradient(120% 90% at 72% 0%,#000 8%,transparent 68%);\n  opacity:.7;\n}@keyframes auroraDrift{\n  0%{transform:translate3d(0,0,0) scale(1)}\n  33%{transform:translate3d(-3%,2.5%,0) scale(1.12)}\n  66%{transform:translate3d(2.5%,-2%,0) scale(1.06)}\n  100%{transform:translate3d(0,0,0) scale(1)}\n}.rv-cyber .stats{position:relative;overflow:hidden;isolation:isolate}.rv-cyber .stats::before{\n  content:\"\";position:absolute;inset:0;z-index:-1;pointer-events:none;\n  background-image:var(--grid-navy);background-size:54px 54px;\n  -webkit-mask-image:radial-gradient(90% 140% at 50% 0%,#000,transparent 70%);\n          mask-image:radial-gradient(90% 140% at 50% 0%,#000,transparent 70%);\n  opacity:.55;\n}.rv-cyber .stats::after{\n  content:\"\";position:absolute;top:0;left:10%;right:10%;height:1px;\n  background:linear-gradient(90deg,transparent,rgba(253,170,76,.5),transparent);\n}.rv-cyber .stats li{position:relative}.rv-cyber .stats .num{\n  background:linear-gradient(180deg,#FFD9A6,var(--amber));\n  -webkit-background-clip:text;background-clip:text;color:transparent;\n  text-shadow:0 0 30px rgba(253,170,76,.18);\n}.rv-cyber .cta__card{position:relative;overflow:hidden;isolation:isolate}.rv-cyber .cta__card::before{\n  content:\"\";position:absolute;inset:-30% -10%;z-index:-1;pointer-events:none;\n  background:\n    radial-gradient(40% 46% at 82% 4%, rgba(255,54,58,.04), transparent 70%),\n    radial-gradient(36% 42% at 8% 90%, rgba(46,107,230,.16), transparent 72%);\n  filter:blur(6px);\n  animation:auroraDrift 26s var(--ease-soft) infinite;\n}.rv-cyber .cta__card::after{\n  content:\"\";position:absolute;inset:0;z-index:-1;pointer-events:none;\n  background-image:var(--grid-navy);background-size:50px 50px;\n  -webkit-mask-image:radial-gradient(120% 100% at 50% 0%,#000 6%,transparent 64%);\n          mask-image:radial-gradient(120% 100% at 50% 0%,#000 6%,transparent 64%);\n  opacity:.5;\n}.rv-cyber .console,.rv-cyber .dash{position:relative;overflow:hidden;background-image:var(--grain);background-size:130px 130px}.rv-cyber .console{box-shadow:var(--shadow-navy)}.rv-cyber .console::before,.rv-cyber .dash::before{\n  content:\"\";position:absolute;inset:0;pointer-events:none;z-index:0;\n  background:radial-gradient(60% 50% at 82% -6%, rgba(253,170,76,.10), transparent 68%);\n}.rv-cyber .console>*,.rv-cyber .dash>*{position:relative;z-index:1}.rv-cyber .console::after{\n  content:\"\";position:absolute;top:0;left:0;right:0;height:1px;z-index:2;pointer-events:none;\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);\n  background-size:40% 100%;background-repeat:no-repeat;\n  animation:scan 5.5s var(--ease-soft) infinite;\n}@keyframes scan{0%{background-position:-40% 0}60%,100%{background-position:140% 0}}.rv-cyber .stages .stage.on{box-shadow:0 0 0 1px rgba(253,170,76,.35),0 0 18px -4px rgba(253,170,76,.5)}.rv-cyber .frow{transition:background .3s ease,border-color .3s ease}.rv-cyber .frow:first-child{border-color:rgba(253,170,76,.22);background:rgba(253,170,76,.05)}.rv-cyber .card,.rv-cyber .console,.rv-cyber .dash{--mx:50%;--my:50%}.rv-cyber .card::after{\n  content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;\n  background:radial-gradient(240px circle at var(--mx) var(--my), rgba(255,54,58,.09), transparent 62%);\n  opacity:0;transition:opacity .35s var(--ease-quart);\n}.rv-cyber .card:hover::after{opacity:1}.rv-cyber .card>*{position:relative;z-index:1}.rv-cyber .dash::after,.rv-cyber .console-spot::after{\n  content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;\n  background:radial-gradient(280px circle at var(--mx) var(--my), rgba(253,170,76,.10), transparent 60%);\n  opacity:0;transition:opacity .4s var(--ease-quart);\n}.rv-cyber .dash:hover::after{opacity:1}.rv-cyber .btn-primary{position:relative;box-shadow:0 8px 22px -12px rgba(228,38,43,.6)}.rv-cyber .btn-primary:hover{box-shadow:0 16px 34px -12px rgba(228,38,43,.7)}.rv-cyber .btn.is-magnetic{transition:transform .18s var(--ease-quart),box-shadow .35s var(--ease-quart)}.rv-cyber .role-pain{\n  border-left:none;\n  border:1px solid rgba(255,54,58,.20);\n  background:rgba(255,54,58,.055);\n  border-radius:12px;\n  padding:16px 18px 16px 44px;position:relative;\n}.rv-cyber .role-pain::before{\n  content:\"\";position:absolute;left:17px;top:19px;width:16px;height:16px;\n  background:var(--coral-action);\n  -webkit-mask:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'\/%3E%3Cline x1='12' y1='9' x2='12' y2='13'\/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'\/%3E%3C\/svg%3E\") center\/contain no-repeat;\n          mask:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'\/%3E%3Cline x1='12' y1='9' x2='12' y2='13'\/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'\/%3E%3C\/svg%3E\") center\/contain no-repeat;\n}.rv-cyber .dprog__bar{position:relative}.rv-cyber .dprog__fill{width:100% !important;transform-origin:left center;transform:scaleX(var(--p,0));transition:transform 1.15s var(--ease-quart)}.rv-cyber .dprog__fill::after{\n  content:\"\";position:absolute;top:0;right:0;width:14px;height:100%;\n  background:radial-gradient(circle at right,rgba(253,170,76,.9),transparent 70%);\n  opacity:.7;\n}.rv-cyber.js [data-rv]{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-quart),transform .7s var(--ease-quart)}.rv-cyber.js [data-rv].rv-in{opacity:1;transform:none}.rv-cyber @keyframes heroIntro{from{transform:translateY(16px)}.rv-cyber to{transform:translateY(0)}.rv-cyber }\n.js .hero .kicker,.rv-cyber.js .hero h1,.rv-cyber.js .hero .lead,.rv-cyber.js .hero__btns{animation:heroIntro .85s var(--ease-quart) both}.rv-cyber.js .hero h1{animation-delay:.06s}.rv-cyber.js .hero .lead{animation-delay:.14s}.rv-cyber.js .hero__btns{animation-delay:.22s}.rv-cyber.js .hero .console{animation:heroIntro 1s var(--ease-quart) .1s both}.rv-cyber a:focus-visible,.rv-cyber button:focus-visible,.rv-cyber .btn:focus-visible,.rv-cyber [tabindex]:focus-visible{\n  outline:2px solid var(--coral-action);outline-offset:3px;border-radius:6px;\n}.rv-cyber .hero a:focus-visible,.rv-cyber .stats a:focus-visible,.rv-cyber .cta a:focus-visible{outline-color:var(--amber)}@media (prefers-reduced-motion:reduce){.rv-cyber .hero::before,.rv-cyber .cta__card::before,.rv-cyber .console::after{animation:none}.rv-cyber.js [data-rv]{opacity:1 !important;transform:none !important;transition:none}.rv-cyber.js .hero .kicker,.rv-cyber.js .hero h1,.rv-cyber.js .hero .lead,.rv-cyber.js .hero__btns,.rv-cyber.js .hero .console{animation:none}.rv-cyber .dprog__fill{transition:none}.rv-cyber .stats .num{text-shadow:none}\n}.rv-cyber{\n  --ink:#EAEDF5; --graphite:rgba(234,237,245,.74); --edge:rgba(255,255,255,.14);\n  --node-fill:rgba(255,255,255,.05); --node-line:rgba(255,255,255,.16);\n  --hub-fill:#FF363A; --hub-glow:#FF5257; --hub-glow-2:#FF8F7A; --accent:#FF5257;\n  --ev:#FDAA4C; --ev-bg:rgba(253,170,76,.16); --ev-ln:rgba(253,170,76,.5);\n  --al:#FF5257; --al-bg:rgba(255,82,87,.16); --al-ln:rgba(255,82,87,.5);\n  --res:#3FBF7F; --res-bg:rgba(63,191,127,.16); --res-ln:rgba(63,191,127,.5);\n}.rv-cyber .hero__visual{display:flex;flex-direction:column;gap:16px;min-width:0}.rv-cyber .pipe-wrap{position:relative;width:100%}.rv-cyber .pipe-wrap svg{width:100%;height:auto;display:block;overflow:visible}.rv-cyber .pn rect{fill:var(--node-fill);stroke:var(--node-line);stroke-width:1}.rv-cyber .pn text{font-family:\"JetBrains Mono\",monospace;font-size:13px;letter-spacing:.005em;fill:var(--ink)}.rv-cyber .pn .pn-ic{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .pn.lit rect{stroke:var(--accent)}.rv-cyber .edge{fill:none;stroke:var(--edge);stroke-width:1}.rv-cyber .hub-glow{fill:url(#hubGlow)}.rv-cyber .hub-diamond{fill:var(--hub-fill);stroke:rgba(255,255,255,.22);stroke-width:1.1}.rv-cyber .hub-ring{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.2;stroke-dasharray:1.6 5;stroke-linecap:round}.rv-cyber .hub-lab{font-family:\"JetBrains Mono\",monospace;font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;fill:var(--graphite)}.rv-cyber .pchip text{font-family:\"JetBrains Mono\",monospace;font-size:11px;font-weight:500;letter-spacing:.02em}.rv-cyber .pchip .cic{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rv-cyber .integra{--edge:rgba(14,22,50,.14);--graphite:#4A5170;--ink:#0E1632}.rv-cyber .constel{margin:36px auto 8px;max-width:1000px;position:relative}.rv-cyber .constel svg{width:100%;height:auto;display:block;overflow:visible}.rv-cyber .cx-orbit{fill:none;stroke:var(--edge);stroke-width:1;opacity:.6}.rv-cyber .cx-glow{fill:url(#cxGlow)}.rv-cyber .cx-diamond{fill:var(--hub-fill);stroke:rgba(255,255,255,.5);stroke-width:1.2}.rv-cyber .cx-ring{fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.3;stroke-dasharray:1.8 6;stroke-linecap:round}.rv-cyber .cx-sub{font-family:\"JetBrains Mono\",monospace;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;fill:var(--graphite);text-anchor:middle}.rv-cyber .cx-chip circle{fill:#fff;stroke:rgba(14,22,50,.14);stroke-width:1}.rv-cyber .cx-chip image{transition:opacity .45s ease}.rv-cyber .cx-chip text{font-family:\"JetBrains Mono\",monospace;font-size:11px;font-weight:600;fill:#3A4067;text-anchor:middle;dominant-baseline:central;transition:opacity .45s ease}.rv-cyber .cx-chip.on circle{stroke:var(--accent);stroke-width:1.6}.rv-cyber .cx-link{fill:none;stroke-linecap:round}.rv-cyber .cx-packet{stroke:none}.rv-cyber .cx-name{font-family:\"JetBrains Mono\",monospace;font-size:11px;font-weight:500;fill:var(--ink);text-anchor:middle}@media (max-width:820px){.rv-cyber .constel{overflow-x:auto}.rv-cyber .constel svg{min-width:680px} }@media (prefers-reduced-motion:reduce){.rv-cyber .cx-chip image,.rv-cyber .cx-chip text{transition:none} }.rv-cyber .stats ul{gap:0 !important}.rv-cyber .stats li{border-right:1px solid rgba(255,255,255,.14);padding:4px 20px;text-align:center;display:flex;flex-direction:column}.rv-cyber .stats li:last-child{border-right:0}.rv-cyber .stats .num,.rv-cyber .stats p,.rv-cyber .stats .cap{text-align:center}.rv-cyber .stats .num{color:var(--amber) !important}.rv-cyber .stats p{margin-bottom:10px}.rv-cyber .stats .cap{margin-top:auto !important}.rv-cyber .hero__metrics{text-align:center}.rv-cyber .hero__metrics li{text-align:center;display:flex;flex-direction:column;align-items:center}.rv-cyber .hero__metrics .num,.rv-cyber .hero__metrics p,.rv-cyber .hero__metrics .capm{text-align:center}@media(max-width:900px){.rv-cyber .stats ul{grid-template-columns:repeat(2,1fr) !important}.rv-cyber .stats li{padding:16px 14px}.rv-cyber .stats li:nth-child(2n){border-right:0}.rv-cyber .stats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}}@media(max-width:560px){.rv-cyber .stats ul{grid-template-columns:1fr !important}.rv-cyber .stats li{border-right:0 !important;border-top:0 !important;border-bottom:1px solid rgba(255,255,255,.14);padding:16px 0}.rv-cyber .stats li:last-child{border-bottom:0}}\n<\/style>\n<!-- ================= HERO NAVY ================= -->\n<header class=\"hero\">\n  <div class=\"wrap\">\n    <div class=\"hero__grid\">\n      <div>\n        <span class=\"kicker\">Soluciones \u00b7 Ciberseguridad<\/span>\n        <h1>Operaciones de seguridad orquestadas por IA: triaje, respuesta y escalamiento en una sola <span class=\"accent\">plataforma BOAT<\/span><\/h1>\n        <p class=\"lead\">Ruvic orquesta tus operaciones de ciberseguridad de punta a punta: triaje inteligente de alertas, automatizaci\u00f3n de flujos de respuesta, escalamiento multicanal y gesti\u00f3n de incidentes, todo coordinado por agentes especializados sobre un motor multi-LLM. <strong>No es un SIEM, no es un SOAR tradicional. Es orquestaci\u00f3n AI-nativa para el SOC.<\/strong><\/p>\n        <div class=\"hero__btns\">\n          <a class=\"btn btn-primary\" href=\"https:\/\/ruvic.ai\/contacto\/\">Agendar demo<\/a>\n          <a class=\"btn btn-ghost-dark\" href=\"#capacidades\">Ver capacidades<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"hero__visual\">\n      <!-- Gr\u00e1fico pipeline: Fuentes \u2192 Motor Ruvic \u2192 Acciones -->\n      <div class=\"pipe-wrap\"><svg id=\"pipe\" viewBox=\"0 0 720 370\" role=\"img\" aria-label=\"Motor Ruvic: fuentes de seguridad (SIEM, EDR, firewall, vulnerabilidades) ingresan al motor que orquesta, normaliza y prioriza, y ejecuta acciones (bloqueo de IP, aislar endpoint, ticket, escalamiento, reporte ISO 27001).\"><\/svg><\/div>\n\n      <!-- Consola SOC Command Center -->\n      <div class=\"console\" role=\"img\" aria-label=\"Consola SOC de Ruvic procesando alertas en tiempo real: triaje, respuesta y escalamiento\">\n        <div class=\"console__hd\">\n          <div style=\"display:flex;align-items:center;gap:9px;min-width:0\"><span style=\"display:inline-flex;width:26px;height:26px;border-radius:8px;background:#FF363A;align-items:center;justify-content:center;flex-shrink:0\"><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuIAAAK4CAYAAAAx9piuAAAACXBIWXMAACE3AAAhNwEzWJ96AAAgAElEQVR4nO3dz3Ecd7Yl4KOOtwfGAkEWkG2BIAvEsUCQBcO2QNBmto+yoEsWPMqCBi14oAUNWvDA7Wwwi2RJEAWS9Scrb97M74tgqNUdId1QtMjDW\/d36quHh4ebAADMx92HH7v8bzcnnQRO6KuHh4eH6iEAAI70Psnth\/988+iP94\/+e5gVQRwAWIN3GTbpNx\/+eBsBnWKCOACwZm\/yRygXzpmUIA4A8If3Gbbm2x+COScjiAMAfNrjYP46n35ECnsTxAEAdvcuQyB\/HY0tHEkQBwA4zPv8EcpfF89CQ4I4AMDxtqF8E5tydiSIAwCMa3u+8ipuyvkMQRwA4HTeZNiSb2rHYI4EcQCA03ufIYzbkvM7QRwAYFq\/ZQjkN8VzUEwQBwCo8TZDIN8Uz0ERQRwAoNa7JNcRyFfnb9UDAACs3NdJ\/pnhdvyqdBImJYgDAMyDQL4ygjgAwLwI5CvhRhwAYN7eJnkZLSuLYyMOADBvz5L8K8O3dV7UjsKYBHEAgB6+T\/LvDA0r57WjMAanKQAA\/bzLcK7yunoQDieIAwD09SbDg8672jE4hNMUAIC+vk1ym2E7TjM24gAAy2A73oyNOADAMtiON2MjDgCwPLbjDdiIAwAsz3Y7\/qJ6ED5NEAcAWKazJP+VZBO947PkNAUAYPneZjhVuS2eg0dsxAEAlu9ZkpsMYZyZEMQBANbhLMk\/k7yqHoSB0xQAgPV5k+Eh5331IGtmIw4AsD7bVpXn1YOsmSAOALBOX2e4G1dxWEQQBwBYr23F4VXxHKskiAMA8M8MfeNMSBAHACBJfogwPimtKQAAPPY2yWU0qpycjTgAAI9tv\/znvHiOxRPEAQD4mDA+AUEcAICnCOMnJogDAPApwvgJCeIAAHyOMH4igjgAAF8ijJ+AIA4AwC6E8ZEJ4gAA7EoYH5EgDgDAPoTxkQjiAADs61mSV9VDdCeIAwBwiB+SbKqH6EwQBwDgUD8keVk9RFdfPTw8PFQPAQBAaz\/GdnxvgjgAAMd6n+QyyW3xHK0I4gAAjOF9kosk98VztOFGHACAMZxlqDVkR4I4AABjeRa34jsTxAEAGNMPSa6qh+jAjTgAAGPzeHMHNuIAAIztLMOJynnxHLMmiAMAcArPkryqHmLOBHEAAE7FvfhnuBEHAOCU3id5nuSueI7ZsREHAOCUzpK8rh5ijgRxAABO7VmS6+oh5sZpCgAAU\/l7VBr+zkYcAICpbKoHmBNBHACAqThRecRpCgAAU\/smWlRsxAEAmNymeoA5EMQBAJjat\/FFP05TAAAo8T7JRZL74jnK2IgDAFDhLCt\/uGkjDgBApdV2i9uIAwBQ6VX1AFUEcQAAKn2b5EX1EBWcpgAAUO1dhoebq2IjDgBAta+TvKweYmo24gAAzMHq6gxtxAEAmIOzrGwrbiMOAMBcrGorbiMOAMBcrGorbiMOAMCcrGYrbiMOAMCcrGYrbiMOAMDcrGIrbiMOAMDcnCW5qh7i1GzEAQCYo8V\/26aNOAAAc\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\/8OPi0Q+Yg\/+X5OfqIWDm7qoH2IcgDqzdeZKrJJdJvi+dBL7s\/ya5qR4CGIcgDqzVZZKXEb7pZZPhE5v74jmAEbgRB9bmMsNG8V8Rwunn6wy\/gQQWQBAH1uIiyesMAfzb2lHgKD9l2IoDzQniwBpcJbmNDTjL8ap6AOB4gjiwdJsk\/0xyVjwHjOnbOFGB9gRxYKnOM9yC\/1A8B5zKdYb\/nwNNCeLAEm1DuFtwluwswyc+QFOCOLA02xD+rHgOmML3GZqAgIYEcWBpXkUIZ102caICLQniwJK8jJtw1ke3ODT11cPDw0P1ENDAd\/G10nP3PMl\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\/iEC+SoI40NVX1QOM6DJDML\/88OOscBZgeu8z\/Mb8vngOJiaIA10tKYh\/bBvKr5I8K50EmMpvSV5UD8G0BHGgqyUH8ccuMvzi\/DLOWGDpvktyUz0E0xHEga7WEsQfu8ywJf+hdgzgRN5l+ETMicpKaE0B6OMmQxD\/JskvGe5KgeXQLb4yNuJAV2vciH\/sPMMv2j9VDwKM6u9JbquH4PQEcaArQfwPFxmqz74vngMYx5sMp2gsnNMUgP7uMjzo\/C7DjSnQ27dxorIKNuJAVzbin3Yd5yrQnW7xFbARB1ie6ww3prbj0NdZkk31EJyWIA6wTLcZatB+qx4EONj3cSu+aII4wHLdZ7gd\/0f1IMDBNhkaklggQRxg+V5leMipdxz60S2+YB5rAl15rLm\/5xm+FOiseA5gf7rFF8hGHGA9bjPcm74tngPY36vqARifIA6wLsI49KRbfIGcpgBdOU05znmGLwJypgJ96BZfGBtxgHW6z7AZ94AT+tAtvjA24kBXNuLj8IAT+vkuw7+3NGcjDrBut3F3Ct1solt8EQRxADZJfqkeAtiZbvGFcJoCdOU0ZXw3GZoZgB50izcniANdCeLj06QCvbzJ8OiappymALB1n+SqeghgZ7rFm7MRB7qyET+d10m+rx4C2Ilu8cZsxAH42FX0i0MXusUbE8QB+Nh9kuvqIYCdfR+34i05TQG6cppyejfRogJdvMvwBV1OVBqxEQfgUzwCgz50izckiAPwKbdJfq4eAtjZTxm24jThNAXoymnKNM4zBPKvqwcBdqJbvBEbcQA+R7c49KJbvBEbcaArG\/Fp6RaHPnSLN2EjDsAurqJbHLrQLd6EIA7ALnSLQy+6xRtwmgJ05TSlxk10i0MXusVnzkYcgH14BAZ96BafOUEcgH3oFodedIvPmNMUoCunKXV0i0MvusVnykYcgH3pFodedIvPlI040JWNeD3d4tCHbvEZshEH4FBX0S0OXegWnyFBHIBD6RaHXnSLz4zTFKArpynzcRPd4tCFbvEZsREH4FgegUEfusVnRBAH4Fi6xaEX3eIz4TQF6MppyrzoFodedIvPgI04AGPQLQ696BafARtxoCsb8XnSLQ596BYvZiMOwJiuolscujhL8qp6iDUTxAEYk25x6OWHuBUv4zQF6MppyrzdRLc4dPEuw4kKE7MRB+AUPAKDPr6OT7JK2IgDXdmIz991hr5ioIdvktxVD7EmgjjQlSA+f7rFoRfd4hNzmgLAqegWh16+jX9nJ2UjDnRlI96HbnHoQ7f4hGzEATi1q+gWhy50i09IEAfg1HSLQy+6xSfiNAXoymlKPzfRLQ5d6BafgI04AFPRLQ596BafgI040JWNeE\/X0S0OnegWP6G\/xQMaAKbzKsNH3kAPm+oBluxvGb5sAQCmoFscetEtfkJuxAGY2k2S36qHAHb2KsM35TIyQRyACldxGgld6BY\/EUEcgAq6xaEX3eIn8LcMHxECwNReJXlTPQSws031AEtjIw5AJd3i0Idu8ZEJ4gBUuk3yc\/UQwM5+im\/cHI3TFACq6RaHXjbVAyyFjTgA1XSLQy+6xUfy1cPDw0WSf1cPArAnX3G\/PK+TfF89BLCT9xlOVO6L52jtq4eHhyR5qB4EYE+C+PKcJ7nL0FkMzN+vsRk\/yvY0xW0eANV0i0MvusWPtA3id5VDAMAHusWhl031AJ0J4gDMjW5x6EO3+BEEcQDmRrc49KJb\/EDbIH5TOQQAfES3OPSyqR6go20QVz0DwJzoFodedIsfYFtfmKgwBHpRX7gOusWhD93ie3r8zZpvy6YAgKddZfjFHZi\/swxnZezocRC\/LZsCAJ6mWxx60S2+h8dB\/K5qCAD4DN3i0MumeoAuHgfxm6ohAOALdItDH7rFd\/T4seZ5kv8pnAVgHx5rrs91hr5ioIdv4uLisx5vxO+jsxWA+dItDr1sqgeYu7999Oc3FUMAwA50i0MvusW\/4OMgrjkFgDm7SfJb9RDAzl5lOH\/mCTbiAHRzFd3i0IVu8c94aiPuJzcA5ky3OPSiW\/wTPg7iia04APOnWxx62VQPMEeCOABd6RaHPnSLP0EQB6Cr2yQ\/Vw8B7OynJBfVQ8zJ4y\/0eewuw+9cAObKF\/qQDG0Mt\/FrFnTxJu7Ff\/fURjyxFQegB93i0Itu8UcEcQC6u4lucehEt\/gHnzpNOU\/yPxPPArAPpyk8dp7hrPKseA5gN7\/GZvyTG\/H7qIUCoA\/d4tCLbvF8OognyevJpgCA4+kWh1421QNUE8QBWBLd4tDH6rvFPxfE75K8nWgOABiDbnHoZdXd4p8L4omPDADo51WSd9VDADvbVA9Q5UtB3HkKAN3oFodeVtst\/qn6wsdukzybYBaAfagv5EteJ\/m+eghgJ+8znKjcF88xqS9txJPhIz4A6OYqwy\/uwPydZYWZc5cg7jwFgI50i0Mvq+sW3+U0JfHxHjA\/TlPY1U2GG1Rg\/t5lRS0qu2zEkxW\/ZgWgPd3i0MequsV33YgnQ6\/416cbBWAvNuLs4zpDXzHQwzcZsuei7boRT2zFAehLtzj0sqkeYAqCOABroFscellFt\/g+QfwuyW8nmgMATu0mfh2DTl4lOa8e4pT2CeLJCvsdAViUq+gWhy4W3y2+bxC\/SfL2BHMAwBR0i0Mvi+4W3zeIJwv\/nQkAi\/cqyZvqIYCdbaoHOJVDgvgmXp4D0Jtucehjsd3ihwTxZMG\/MwFgFW6T\/Fw9BLCzn7LAb9zc5wt9HjvP0KJyNuo0ALvzhT4c6zxDIPdlddDDmyzsXvzQjfh93IoD0Jtucehlcd3ih27EE1txoJaNOGN5neT76iGAnbzPcKJyXzzHKA7diCe24gAsw1V0i0MXi+oWP2YjntiKA3VsxBnTyyT\/WT0EsLPvMny\/TWvHbMQTW3EAlkG3OPSyqR5gDMcG8WT4yctHegB0p1sc+lhEt\/gYQfw+fvICoD\/d4tBL+27xY2\/EH7uLLlZgOm7EOQXd4tBL627xMTbiW1cj\/rUAoIJuceildbf4mBvxZHi9+u2Yf0GAT7AR55R0i0MfbbvFxw7iF0n+PeZfEOATBHFOST0v9PJrGm7GxzxNSYaftH4Z+a8JAFO7zwIaGWBFfkjDW\/GxN+KJhy7ANGzEmcJNnFxCF+\/SrEVl7I14os4QgOXw6xn00a5b\/BQb8a2b2CIAp2MjzlSuM\/QVAz18k+FcevZOGcQvMpyoeOgCnIIgzlScXEIvbbrFT3GasnWXZh8PAMATdItDL226xU+5Ed+6iRMVYHw24kxNtzj00aJb\/JQb8a2rDP8wAKCzq\/j1DLo4S\/KqeogvmSKI38WJCgD96RaHXmbfLT7FacqWj\/SAMTlNocpNnFxCF7PuFp9iI751FR\/pAdCfbnHoY9bd4lMG8fskLyb8+wHAKdwm+bl6CGBnP2WmW\/Epg3gyfJz3y8R\/TwAY26sMH3kDPWyqB3jKlDfij90meVbxNwYWw4041S6T\/Kt6CGBnP2ZmgbwqiF\/Et24CxxHEmQNFBNDH7LrFpz5N2bqLe3EA+ruKIgLoYnbd4lVBPBnuxf9R+PcHgGPpFodeZtUtXnWa8tgmwz8UgH04TWFObqJbHLqYTbd45UZ862WSt9VDAMARdItDH7PpFp\/DRjxJzjPcjXu8CezKRpy5uc7QVwz08E2G\/FlmDhvxZLixu4wHLwD0pVscetlUDzCXIJ4MdYZX1UMAwIHu49cx6OTbFP87O5fTlMeukvyzeghg9pymMFe6xaGP0m7xOW3EtzZJfqkeAgAOdBWnltBFabf4HIN4Mrw+\/7V6CAA4gG5x6KWsW3yOpymPbaJjHHia0xTm7ia6xaGLkm7xuW7Et65iMw5AT7rFoY+SbvG5b8S3bmKrAPyZjTgdXEe3OHQyabd4lyB+niGMPyueA5gPQZwOzjPU835dPQiwkzeZ8F587qcpW9sv\/HlTPAcA7EO3OPQyabd4l434Y5t4wAnYiNOLbnHoY7Ju8S4b8ceu4gEnAL1cRbc4dDFZt3jHIJ4I4wD0olscepmkW7zjacpjr5L8n+ohgBJOU+joJlrAoIuTd4t33YhvvUzyY\/UQALAj3eLQx8m7xbsH8WR4vPlj3N4BMH+3SX6uHgLY2U854Va8+2nKY88zfOR3VjwHMA2nKXSlWxx6OVm3+BI24lu3GcL42+pBAOAzdItDLyfrFl\/SRnzrPMO5ir5WWDYbcbrTLQ59nKRbfEkb8a37JC\/iBg+AebuK903QxUm6xZcYxLeuk\/zv+EkOgHnSLQ69jN4tvsTTlI9dZPj471nxHMC4nKawFDfRLQ5djNotvuSN+NZdhkecvxTPAQBP0S0OfYzaLb6GjfhjLzI85FRxCP3ZiLMk1xn6ioEevsmw7D3K2oJ4MnycsImPAaE7QZwl0S0OvYzSLb6G05SP3WX4B\/eP2jEA4He6xaGXUbrF17gRf+x5hu24h5zQj404S6RbHPo4ult8jRvxx7bfxqlzHIA5uIraXeji6G7xtQfxresMR\/dviucAYN10i0MvR3WLr\/005SkvM\/wkqFkF5s1pCkt2E6UC0MXB3eI24n\/1KsM\/zF+L5wBgvXSLQx8Hd4sL4k\/bvl7\/Ls5VAJjebbxfgk5+ygFbcacpu7nK8Dsd\/a4wH05TWDrd4tDL3t3iNuK72eSPdhWv2QGYgm5x6GXvbnEb8f2dZ7jd81XEUMtGnLXQLQ597NUtbiO+v2211DfxoBOA07uKT2Ohi726xQXxw91l+MlRIAfglHSLQy87d4s7TRnPRYZg\/jI6yGEKTgRZHhEAAAFuSURBVFNYm5voFocuduoWF8THt70hv4qX7nBKgjhr8zzJf1cPAezs53zh0yxB\/LSuPvywwYDxCeKs0XWUBUAn32Q4Z36SID6N5xm25C\/ibAXGIoizRrrFoZfPdosL4tM6zxDGXyZ5VjwLdCeIs1aXSf5VPQSwsx8zfCfNXwjidS7yx5bcZgP2J4izZrrFoY9PdosL4vPwPMMtuVAOuxPEWbPzDHenzh2hh1\/zxLduCuLzI5TDbgRx1u5lkv+sHgLY2XcZakh\/J4jP20WGQP4imlfgY4I46BaHTv7SLS6I9\/IiwyOdy3jsCYI46BaHbv7ULS6I93WeIZA\/\/\/BHGxHWRhCHwXV0i0Mnv3eLC+LL8vyjH8I5SyaIw0C3OPTye7e4IL58Fx9+XGb4yfr5hz\/3EzbdCeLwh8voFodOfkyyEcTX7eKjH8kQ1M8f\/e8CO3MliMOf6RaHPt4nuRDEOcRl9QCQjyqggN8\/9QR6uP3\/PmNsa8n3cqMAAAAASUVORK5CYII=\" alt=\"Ruvic\" style=\"width:16px;height:16px;display:block\"><\/span><div class=\"console__title\">Ruvic \u00b7 SOC Command Center<\/div><\/div>\n          <div class=\"console__live\"><span class=\"dot\"><\/span>EN VIVO<\/div>\n        <\/div>\n        <div class=\"stages\" aria-hidden=\"true\">\n          <span class=\"stage\" data-stage=\"alertas\">Alertas<\/span><span class=\"arrow\">\u2192<\/span><span class=\"stage on\" data-stage=\"triaje\">Triaje<\/span><span class=\"arrow\">\u2192<\/span><span class=\"stage\" data-stage=\"respuesta\">Respuesta<\/span><span class=\"arrow\">\u2192<\/span><span class=\"stage\" data-stage=\"escala\">Escala<\/span>\n        <\/div>\n        <div class=\"feed\" id=\"soc-feed\">\n          <div class=\"frow\">\n            <div class=\"frow__ic frow__ic--ok\"><svg viewBox=\"0 0 24 24\"><path d=\"M11 4a7 7 0 1 1 0 14 7 7 0 0 1 0-14z\"><\/path><path d=\"m21 21-4.3-4.3\"><\/path><\/svg><\/div>\n            <div class=\"frow__body\"><div class=\"frow__name\">Triaje completado<\/div><div class=\"frow__meta\">142 eventos \u00b7 12 escalados<\/div><\/div>\n            <span class=\"chip chip--ok\">Procesado<\/span>\n          <\/div>\n          <div class=\"frow\">\n            <div class=\"frow__ic frow__ic--ok\"><svg viewBox=\"0 0 24 24\"><path d=\"M13 2 4.5 13.5h6L11 22l8.5-11.5h-6z\"><\/path><\/svg><\/div>\n            <div class=\"frow__body\"><div class=\"frow__name\">Flujo ejecutado<\/div><div class=\"frow__meta\">Bloqueo IP + ticket<\/div><\/div>\n            <span class=\"chip chip--ok\">Resuelto<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"console__ft\">\n          <span>Ruvic Engine activo<\/span>\n          <span><b>85%<\/b> de alertas clasificadas sin intervenci\u00f3n humana<\/span>\n        <\/div>\n      <\/div>\n      <\/div><!-- \/hero__visual -->\n    <\/div>\n\n    <!-- M\u00e9tricas clave del hero -->\n    <ul class=\"hero__metrics\" aria-label=\"M\u00e9tricas clave\">\n      <li><span class=\"num\" data-count=\"85\" data-suffix=\"%\">85%<\/span><p>alertas clasificadas y priorizadas sin intervenci\u00f3n humana<\/p><\/li>\n      <li><span class=\"num\" data-count=\"70\" data-suffix=\"%\">70%<\/span><p>reducci\u00f3n en MTTR<\/p><\/li>\n      <li><span class=\"num\" data-count=\"50\" data-suffix=\"%\">50%<\/span><p>menos incidentes de seguridad<\/p><\/li>\n      <li><span class=\"num\">24\/7<\/span><p>operaci\u00f3n activa sin horarios<\/p><\/li>\n    <\/ul>\n  <\/div>\n<\/header>\n\n<!-- ================= 01 \u00b7 PROBLEMA (blanco) ================= -->\n<section class=\"problema\" aria-labelledby=\"problema-h\">\n  <div class=\"wrap\">\n    <h2 id=\"problema-h\">Tu SOC no tiene un problema de herramientas. Tiene un problema de <span class=\"accent-action\">orquestaci\u00f3n<\/span>.<\/h2>\n    <p class=\"lead\">La mayor\u00eda de organizaciones ya invirtieron en SIEM, EDR y firewalls. El cuello de botella no es la detecci\u00f3n: es lo que pasa despu\u00e9s, clasificar, priorizar, enriquecer, ejecutar el flujo de respuesta, escalar y documentar. Todo eso sigue siendo manual, lento y fragmentado entre 3 o 4 herramientas que no se hablan entre s\u00ed.<\/p>\n\n    <ul class=\"problema__grid\">\n      <li class=\"card pcard\">\n        <span class=\"pcard__num\">01 \u2014 visible<\/span>\n        <h3>El SOC opera en modo bombero: apaga alertas, no previene incidentes<\/h3>\n        <p>Tu equipo recibe miles de alertas diarias y se desensibiliza. El 90% son ruido, pero para descubrirlo hay que revisarlas una por una, y los incidentes reales pasan desapercibidos entre el volumen.<\/p>\n        <a class=\"pcard__link\" href=\"#capacidades\">Quiero optimizar esto <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 5l7 7-7 7\"><\/path><\/svg><\/a>\n      <\/li>\n      <li class=\"card pcard\">\n        <span class=\"pcard__num\">02 \u2014 interno<\/span>\n        <h3>Tu mejor analista renunci\u00f3 por agotamiento, y el reemplazo tarda 6 meses<\/h3>\n        <p>El analista no entr\u00f3 a este trabajo para copiar y pegar IOCs a las 3 a. m. Forzar al equipo a hacer trabajo mec\u00e1nico genera errores, rotaci\u00f3n y burnout. El talento que s\u00ed sabe investigar amenazas reales termina y\u00e9ndose.<\/p>\n        <a class=\"pcard__link\" href=\"#capacidades\">Quiero optimizar esto <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 5l7 7-7 7\"><\/path><\/svg><\/a>\n      <\/li>\n      <li class=\"card pcard\">\n        <span class=\"pcard__num\">03 \u2014 estrat\u00e9gico<\/span>\n        <h3>Cuando el board pregunte si estaban protegidos, la evidencia no est\u00e1 armada<\/h3>\n        <p>Tus herramientas detectan, pero el flujo de respuesta depende de operaci\u00f3n manual. Cada minuto sin contenci\u00f3n ampl\u00eda la superficie de da\u00f1o y la trazabilidad para auditor\u00eda se reconstruye a mano la noche anterior.<\/p>\n        <a class=\"pcard__link\" href=\"#capacidades\">Quiero optimizar esto <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 5l7 7-7 7\"><\/path><\/svg><\/a>\n      <\/li>\n    <\/ul>\n\n    <div class=\"pain\">\n      <div class=\"pain__head\">\n        <h3>Los cuatro dolores que se repiten en todo SOC<\/h3>\n        <span class=\"pain__note\">Patrones detectados en implementaciones Ruvic AI<\/span>\n      <\/div>\n      <ul class=\"pain__grid\">\n        <li class=\"card\">\n          <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2v3M4.93 4.93l2.12 2.12M2 12h3M4.93 19.07l2.12-2.12M12 22v-3M19.07 19.07l-2.12-2.12M22 12h-3M19.07 4.93l-2.12 2.12\"><\/path><circle cx=\"12\" cy=\"12\" r=\"4\"><\/circle><\/svg><\/div>\n          <h4>Fatiga de alertas y falsos positivos<\/h4>\n          <p>Miles de alertas diarias. El 90 % son ruido, pero para descubrirlo hay que revisarlas una por una. Los analistas se desensibilizan y los incidentes reales pasan desapercibidos.<\/p>\n        <\/li>\n        <li class=\"card\">\n          <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"13\" r=\"8\"><\/circle><path d=\"M12 9v4l2 2M9 2h6M12 7v-2\"><\/path><\/svg><\/div>\n          <h4>MTTR inaceptable<\/h4>\n          <p>Desde la detecci\u00f3n hasta la contenci\u00f3n pueden pasar horas o d\u00edas. El flujo de respuesta depende de que alguien lo ejecute manualmente, y a las 3 a. m. no siempre hay alguien disponible.<\/p>\n        <\/li>\n        <li class=\"card\">\n          <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z\"><\/path><\/svg><\/div>\n          <h4>Escalamiento desconectado<\/h4>\n          <p>Cuando un incidente requiere intervenci\u00f3n, el analista busca a qui\u00e9n llamar, arma un resumen manual y espera. El contexto se pierde entre herramientas, chats y correos.<\/p>\n        <\/li>\n        <li class=\"card\">\n          <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.72M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.72-1.72\"><\/path><\/svg><\/div>\n          <h4>Herramientas que no se orquestan<\/h4>\n          <p>Tienes SIEM, EDR, firewall y ticketing, pero ninguna coordina a la otra. Un SOAR es prohibitivo. El on-call routing solo te avisa, no ejecuta nada.<\/p>\n        <\/li>\n      <\/ul>\n      <div class=\"case-chips\" aria-label=\"Casos de uso relacionados\">\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ================= 02 \u00b7 CAPACIDADES (crema tenue) ================= -->\n<section class=\"capacidades\" id=\"capacidades\" aria-labelledby=\"capacidades-h\">\n  <div class=\"wrap\">\n    <div class=\"capacidades__head\">\n      <h2 id=\"capacidades-h\">Una plataforma que orquesta todo el ciclo de <span class=\"accent-action\">operaciones de seguridad<\/span><\/h2>\n      <p class=\"lead\">Ruvic aplica el modelo BOAT (Business Orchestration and Automation Technologies) a las operaciones de seguridad: cada alerta activa un flujo orquestado de agentes que clasifican, enriquecen, ejecutan y documentan, sin que un analista toque el teclado hasta que sea necesario.<\/p>\n    <\/div>\n    <ul class=\"capacidades__grid\">\n      <li class=\"card\">\n        <div class=\"ccard__top\"><span class=\"ccard__idx\">01<\/span><span class=\"ccard__kick\">Detecci\u00f3n<\/span><\/div>\n        <h3>Triaje inteligente de alertas<\/h3>\n        <p>Correlaci\u00f3n multi-fuente desde tu SIEM, EDR, NDR y firewalls. Enriquecimiento autom\u00e1tico con IOCs, VirusTotal y geolocalizaci\u00f3n. Clasificaci\u00f3n por IA que separa incidentes reales de falsos positivos y asigna severidad en segundos.<\/p>\n        <span class=\"ccard__out\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>85 % clasificadas sin intervenci\u00f3n humana<\/span>\n      <\/li>\n      <li class=\"card\">\n        <div class=\"ccard__top\"><span class=\"ccard__idx\">02<\/span><span class=\"ccard__kick\">Respuesta<\/span><\/div>\n        <h3>Automatizaci\u00f3n de flujos de respuesta<\/h3>\n        <p>Acciones autom\u00e1ticas: bloqueo de IP, aislamiento de endpoints, restricci\u00f3n de acceso en AD y preservaci\u00f3n de evidencia. Los flujos de respuesta (playbooks) los ejecutan agentes coordinados, no humanos.<\/p>\n        <span class=\"ccard__out\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>MTTR de horas a minutos<\/span>\n      <\/li>\n      <li class=\"card\">\n        <div class=\"ccard__top\"><span class=\"ccard__idx\">03<\/span><span class=\"ccard__kick\">Escalamiento<\/span><\/div>\n        <h3>Escalamiento autom\u00e1tico multicanal<\/h3>\n        <p>Cuando un incidente requiere intervenci\u00f3n humana, Ruvic escala por llamada, WhatsApp o Teams con todo el contexto: qu\u00e9 pas\u00f3, qu\u00e9 endpoint, qu\u00e9 flujo aplica, qu\u00e9 acciones ya se ejecutaron.<\/p>\n        <span class=\"ccard__out\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>Reemplaza el on-call routing manual<\/span>\n      <\/li>\n      <li class=\"card\">\n        <div class=\"ccard__top\"><span class=\"ccard__idx\">04<\/span><span class=\"ccard__kick\">Asistente<\/span><\/div>\n        <h3>Asistente SOC 24\/7 para analistas<\/h3>\n        <p>Consultas en lenguaje natural: \u00ab\u00bfQu\u00e9 hago con esta alerta de lateral movement?\u00bb. Ruvic busca en la knowledge base, identifica el flujo correcto y entrega pasos contextualizados con IOCs y acciones sugeridas.<\/p>\n        <span class=\"ccard__out\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>\u221250 % en tiempo de resoluci\u00f3n N1<\/span>\n      <\/li>\n      <li class=\"card\">\n        <div class=\"ccard__top\"><span class=\"ccard__idx\">05<\/span><span class=\"ccard__kick\">Gesti\u00f3n<\/span><\/div>\n        <h3>Gesti\u00f3n de tickets de seguridad omnicanal<\/h3>\n        <p>Creaci\u00f3n autom\u00e1tica de tickets desde cualquier canal: webhook, email, WhatsApp, Teams, voz o API. Clasificaci\u00f3n, priorizaci\u00f3n y asignaci\u00f3n por IA. Seguimiento de SLA en tiempo real.<\/p>\n        <span class=\"ccard__out\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>\u221260 a 75 % en gesti\u00f3n de tickets<\/span>\n      <\/li>\n      <li class=\"card\">\n        <div class=\"ccard__top\"><span class=\"ccard__idx\">06<\/span><span class=\"ccard__kick\">Ofensiva<\/span><\/div>\n        <h3>Pentesting automatizado y an\u00e1lisis de vulnerabilidades<\/h3>\n        <p>Agentes que ejecutan reconocimiento, escaneo y documentaci\u00f3n autom\u00e1tica. Reportes con narrativa t\u00e9cnica y ejecutiva generados por IA. Re-testing de remediaciones sin intervenci\u00f3n humana.<\/p>\n        <span class=\"ccard__out\"><svg viewBox=\"0 0 24 24\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>Cobertura continua sin depender del Red Team<\/span>\n      <\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ================= BANDA DE STATS (navy) ================= -->\n<section class=\"stats\" aria-label=\"M\u00e9tricas operativas\">\n  <div class=\"wrap\">\n    <ul>\n      <li><span class=\"num\" data-count=\"84\" data-suffix=\" %\">84 %<\/span><p>flujos de respuesta ejecutados autom\u00e1ticamente<\/p><span class=\"cap\">Implementaciones Ruvic AI<\/span><\/li>\n      <li><span class=\"num\" data-count=\"68\" data-suffix=\" %\">68 %<\/span><p>reducci\u00f3n de falsos positivos procesados por analistas<\/p><span class=\"cap\">Implementaciones Ruvic AI<\/span><\/li>\n      <li><span class=\"num\" data-count=\"3\" data-prefix=\"&lt; \" data-suffix=\" sem\">&lt; 3 sem<\/span><p>de integraci\u00f3n a primer flujo productivo<\/p><span class=\"cap\">Tiempo promedio de activaci\u00f3n<\/span><\/li>\n      <li><span class=\"num\" data-count=\"96\" data-suffix=\" %\">96 %<\/span><p>alertas cr\u00edticas resueltas dentro del SLA<\/p><span class=\"cap\">Implementaciones Ruvic AI<\/span><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ================= 03 \u00b7 C\u00d3MO FUNCIONA (blanco) ================= -->\n<section class=\"how\" aria-labelledby=\"how-h\">\n  <div class=\"wrap\">\n    <div class=\"how__head\">\n      <h2 id=\"how-h\">De la alerta a la resoluci\u00f3n en un ciclo <span class=\"accent-action\">orquestado y aut\u00f3nomo<\/span><\/h2>\n      <p class=\"lead\">Ruvic se conecta a tu stack de seguridad, recibe alertas en tiempo real y ejecuta flujos de respuesta con agentes especializados. Sin intervenci\u00f3n manual hasta que t\u00fa lo definas.<\/p>\n    <\/div>\n    <ol class=\"how__grid\">\n      <li class=\"card step\">\n        <span class=\"step__n\">01<\/span>\n        <h3>Conexi\u00f3n con tu stack<\/h3>\n        <p>Ruvic se conecta con cualquier stack de seguridad que tu operaci\u00f3n use hoy, sin importar el fabricante ni la generaci\u00f3n. V\u00eda API, webhooks, ingesta de logs, lectura de correos, conectores nativos o integraciones a medida. Si genera alertas, Ruvic las procesa.<\/p>\n        <div class=\"step__pills\"><span>Agn\u00f3stico de stack<\/span><span>API \u00b7 Webhooks \u00b7 Logs<\/span><span>Sin migraci\u00f3n<\/span><\/div>\n      <\/li>\n      <li class=\"card step\">\n        <span class=\"step__n\">02<\/span>\n        <h3>Orquestaci\u00f3n multi-agente<\/h3>\n        <p>Cada alerta activa un flujo coordinado: un agente clasifica y prioriza, otro enriquece con IOCs, otro ejecuta la respuesta y otro documenta. En paralelo, no en secuencia. Cuando se requiere intervenci\u00f3n humana, Ruvic escala por llamada, WhatsApp o Teams.<\/p>\n        <div class=\"step__pills\"><span>Multi-agente<\/span><span>Flujos autom\u00e1ticos<\/span><span>Escalamiento multicanal<\/span><\/div>\n      <\/li>\n      <li class=\"card step\">\n        <span class=\"step__n\">03<\/span>\n        <h3>Operaci\u00f3n continua<\/h3>\n        <p>Ruvic ajusta el scoring de alertas con cada incidente procesado, reduce falsos positivos progresivamente y genera reporter\u00eda ejecutiva en tiempo real: MTTD, MTTR, volumen, tendencias. El SOC opera m\u00e1s eficiente cada semana.<\/p>\n        <div class=\"step__pills\"><span>Scoring adaptativo<\/span><span>Reporter\u00eda MTTD\/MTTR<\/span><span>Reducci\u00f3n progresiva de ruido<\/span><\/div>\n      <\/li>\n    <\/ol>\n  <\/div>\n<\/section>\n\n<!-- ================= 04 \u00b7 POR PERFIL (crema tenue) ================= -->\n<section class=\"roles\" aria-labelledby=\"roles-h\">\n  <div class=\"wrap\">\n    <div class=\"roles__head\">\n      <h2 id=\"roles-h\">Una plataforma, tres niveles de <span class=\"accent-action\">operaci\u00f3n<\/span><\/h2>\n      <p class=\"lead\">Cada rol tiene necesidades espec\u00edficas: los accionables y entregables de Ruvic est\u00e1n dise\u00f1ados para que cada persona obtenga exactamente lo que necesita para operar, decidir o reportar.<\/p>\n    <\/div>\n\n    <div class=\"role-tabs\" role=\"tablist\" aria-label=\"Perfiles\">\n      <button class=\"role-tab active\" id=\"tab-cto\" role=\"tab\" aria-selected=\"true\" aria-controls=\"panel-cto\">CTO \/ VP de TI<\/button>\n      <button class=\"role-tab\" id=\"tab-ciso\" role=\"tab\" aria-selected=\"false\" aria-controls=\"panel-ciso\">CISO \/ Director de Seguridad<\/button>\n      <button class=\"role-tab\" id=\"tab-soc\" role=\"tab\" aria-selected=\"false\" aria-controls=\"panel-soc\">SOC Manager \/ Analista<\/button>\n    <\/div>\n\n    <!-- CTO -->\n    <div class=\"role-panel active\" id=\"panel-cto\" role=\"tabpanel\" aria-labelledby=\"tab-cto\">\n      <div>\n        <span class=\"role-tag\">CTO \/ VP de TI<\/span>\n        <h3>Reduce el riesgo sin aumentar headcount ni presupuesto<\/h3>\n        <p class=\"role-pain\">Te piden reducir el riesgo de seguridad sin m\u00e1s presupuesto ni m\u00e1s gente. El talento SOC es escaso, caro y rota r\u00e1pido.<\/p>\n        <p class=\"role-text\">Ruvic multiplica la capacidad del equipo que ya tienes y consolida SOAR, on-call y ticketing de seguridad en una sola plataforma, con ROI que puedes llevar al CFO.<\/p>\n        <ul class=\"scenarios\">\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/div>\n            <div><h4>El talento que no consigues, Ruvic lo cubre<\/h4><p>Ruvic absorbe el 85 % del triaje y la ejecuci\u00f3n de respuesta, liberando a tu equipo para el trabajo que s\u00ed requiere criterio humano. Escalas la operaci\u00f3n sin escalar la n\u00f3mina.<\/p><\/div>\n          <\/li>\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 3v18h18\"><\/path><path d=\"m7 14 4-4 4 4 5-6\"><\/path><\/svg><\/div>\n            <div><h4>ROI que el CFO entiende<\/h4><p>Dashboard con horas-analista recuperadas, costo operativo por incidente y reducci\u00f3n de MTTR. Los n\u00fameros, no argumentos cualitativos.<\/p><\/div>\n          <\/li>\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94z\"><\/path><\/svg><\/div>\n            <div><h4>Menos stack, menos superficie de fallo<\/h4><p>Ruvic consolida 2 a 3 herramientas en una. Se conecta a lo que ya tienes, sin migraci\u00f3n, sin reentrenamiento.<\/p><\/div>\n          <\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dash\" role=\"img\" aria-label=\"Dashboard CTO de Ruvic con m\u00e9tricas de consolidaci\u00f3n y costo\">\n        <div class=\"dash__hd\"><span class=\"dash__title\">Ruvic \u00b7 CTO Dashboard<\/span><span class=\"dash__status\"><span class=\"dot\"><\/span>Sincronizado<\/span><\/div>\n        <div class=\"dash__metrics\">\n          <div class=\"dash__metric\"><b>3\u21921<\/b><span>Herramientas consolidadas<\/span><\/div>\n          <div class=\"dash__metric\"><b>\u221242 %<\/b><span>Costo operativo<\/span><\/div>\n          <div class=\"dash__metric\"><b>99,2 %<\/b><span>Uptime plataforma<\/span><\/div>\n        <\/div>\n        <div class=\"dash__progs\">\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Alertas procesadas autom\u00e1ticamente<\/span><span class=\"dprog__p\">85 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:85%\"><\/div><\/div><\/div>\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Flujos ejecutados sin intervenci\u00f3n<\/span><span class=\"dprog__p\">84 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:84%\"><\/div><\/div><\/div>\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Reducci\u00f3n MTTR vs. baseline<\/span><span class=\"dprog__p\">70 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:70%\"><\/div><\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- CISO -->\n    <div class=\"role-panel\" id=\"panel-ciso\" role=\"tabpanel\" aria-labelledby=\"tab-ciso\">\n      <div>\n        <span class=\"role-tag\">CISO \/ Director de Seguridad<\/span>\n        <h3>Cuando el board pregunte \u00ab\u00bfest\u00e1bamos protegidos?\u00bb, ten la evidencia<\/h3>\n        <p class=\"role-pain\">Tu firma est\u00e1 en el reporte de cumplimiento. Si hay una brecha, la primera pregunta es para ti, y \u00abnuestras herramientas no lo detectaron\u00bb no es una respuesta aceptable.<\/p>\n        <p class=\"role-text\">Ruvic te da trazabilidad completa: cada alerta, cada decisi\u00f3n, cada acci\u00f3n tomada. Evidencia lista para auditor\u00edas, reguladores y el board, generada autom\u00e1ticamente.<\/p>\n        <ul class=\"scenarios\">\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><path d=\"M6 3v18M18 3v18M3 7h18M3 17h18\"><\/path><circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle><\/svg><\/div>\n            <div><h4>Defendibilidad ante auditor\u00eda<\/h4><p>Cada incidente queda documentado de punta a punta. Cuando llega la auditor\u00eda ISO 27001, NIST o SOC 2, la evidencia ya est\u00e1. No hay que reconstruirla.<\/p><\/div>\n          <\/li>\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8z\"><\/path><\/svg><\/div>\n            <div><h4>Riesgo t\u00e9cnico en lenguaje de negocio<\/h4><p>Ruvic convierte el ruido operativo en m\u00e9tricas que el board entiende: exposici\u00f3n real, tendencias de amenaza, tiempo de contenci\u00f3n.<\/p><\/div>\n          <\/li>\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><circle cx=\"12\" cy=\"12\" r=\"6\"><\/circle><circle cx=\"12\" cy=\"12\" r=\"2\"><\/circle><\/svg><\/div>\n            <div><h4>Reduce el gap entre lo que crees y lo que pasa<\/h4><p>Ruvic correlaciona incidentes hist\u00f3ricos y detecta campa\u00f1as multi-fase que las reglas est\u00e1ticas no ven. Menos sorpresas, menos puntos ciegos.<\/p><\/div>\n          <\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dash\" role=\"img\" aria-label=\"Vista CISO de Ruvic con m\u00e9tricas de cumplimiento y MTTR\">\n        <div class=\"dash__hd\"><span class=\"dash__title\">Ruvic \u00b7 CISO View<\/span><span class=\"dash__status\"><span class=\"dot\"><\/span>Activo<\/span><\/div>\n        <div class=\"dash__metrics\">\n          <div class=\"dash__metric\"><b>2,1 h<\/b><span>MTTR promedio<\/span><\/div>\n          <div class=\"dash__metric\"><b>\u221270 %<\/b><span>Incidentes vs. baseline<\/span><\/div>\n          <div class=\"dash__metric\"><b>100 %<\/b><span>Cobertura ISO 27001<\/span><\/div>\n        <\/div>\n        <div class=\"dash__progs\">\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Alertas cr\u00edticas dentro de SLA<\/span><span class=\"dprog__p\">96 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:96%\"><\/div><\/div><\/div>\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Reducci\u00f3n de falsos positivos<\/span><span class=\"dprog__p\">68 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:68%\"><\/div><\/div><\/div>\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Flujos de respuesta documentados<\/span><span class=\"dprog__p\">100 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:100%\"><\/div><\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- SOC -->\n    <div class=\"role-panel\" id=\"panel-soc\" role=\"tabpanel\" aria-labelledby=\"tab-soc\">\n      <div>\n        <span class=\"role-tag\">SOC Manager \/ Analista<\/span>\n        <h3>Recupera a tu equipo del burnout que los hace renunciar<\/h3>\n        <p class=\"role-pain\">Tu mejor analista renunci\u00f3 por agotamiento. El reemplazo tarda 6 meses. Y las alertas no paran: 10 000 al d\u00eda para encontrar las 3 que importan.<\/p>\n        <p class=\"role-text\">Ruvic se come el trabajo mec\u00e1nico (triaje, enriquecimiento, documentaci\u00f3n) para que el humano haga lo que sabe hacer: investigar amenazas reales.<\/p>\n        <ul class=\"scenarios\">\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.6 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.6a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9c.39.94 1 1.41 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"><\/path><\/svg><\/div>\n            <div><h4>El trabajo mec\u00e1nico, automatizado<\/h4><p>Triaje, enriquecimiento de IOCs, creaci\u00f3n de tickets y documentaci\u00f3n: lo que quema al analista, Ruvic lo ejecuta. El humano recibe solo lo que requiere criterio.<\/p><\/div>\n          <\/li>\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"10\" rx=\"2\"><\/rect><circle cx=\"12\" cy=\"5\" r=\"2\"><\/circle><path d=\"M12 7v4M8 16h.01M16 16h.01\"><\/path><\/svg><\/div>\n            <div><h4>Un asistente que no duerme<\/h4><p>\u00ab\u00bfQu\u00e9 endpoints conectaron a dominios maliciosos esta semana?\u00bb. Ruvic busca, correlaciona y responde en segundos. El analista N1 opera con la capacidad de un N3.<\/p><\/div>\n          <\/li>\n          <li class=\"card scenario\">\n            <div class=\"sic\"><svg viewBox=\"0 0 24 24\"><path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z\"><\/path><\/svg><\/div>\n            <div><h4>Sin turnos nocturnos persiguiendo falsos positivos<\/h4><p>Ruvic contiene incidentes autom\u00e1ticamente: a\u00edsla el endpoint, bloquea la IP, preserva evidencia y escala solo si es real. Tu equipo descansa; la operaci\u00f3n no para.<\/p><\/div>\n          <\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dash\" role=\"img\" aria-label=\"Consola SOC de Ruvic con incidentes activos y precisi\u00f3n de alertas\">\n        <div class=\"dash__hd\"><span class=\"dash__title\">Ruvic \u00b7 SOC Console<\/span><span class=\"dash__status\"><span class=\"dot\"><\/span>Monitoreando<\/span><\/div>\n        <div class=\"dash__metrics\">\n          <div class=\"dash__metric\"><b>7<\/b><span>Incidentes activos<\/span><\/div>\n          <div class=\"dash__metric\"><b>94 %<\/b><span>Precisi\u00f3n alertas<\/span><\/div>\n          <div class=\"dash__metric\"><b>2,1 h<\/b><span>MTTR promedio<\/span><\/div>\n        <\/div>\n        <div class=\"dash__progs\">\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Alertas cr\u00edticas resueltas<\/span><span class=\"dprog__p\">96 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:96%\"><\/div><\/div><\/div>\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Reducci\u00f3n de falsos positivos<\/span><span class=\"dprog__p\">68 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:68%\"><\/div><\/div><\/div>\n          <div class=\"dprog\"><div class=\"dprog__hd\"><span class=\"dprog__n\">Flujos ejecutados autom\u00e1ticamente<\/span><span class=\"dprog__p\">84 %<\/span><\/div><div class=\"dprog__bar\"><div class=\"dprog__fill\" style=\"width:84%\"><\/div><\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ================= 05 \u00b7 COMPARATIVA (blanco) ================= -->\n<section class=\"compare\" aria-labelledby=\"compare-h\">\n  <div class=\"wrap\">\n    <div class=\"compare__head\">\n      <h2 id=\"compare-h\">Todo lo que hoy requiere 3 o 4 herramientas, en una sola <span class=\"accent-action\">plataforma BOAT<\/span><\/h2>\n      <p class=\"lead\">Ruvic consolida capacidades que hoy viven fragmentadas entre tu SOAR, tu sistema de ticketing, tu herramienta de escalamiento y la operaci\u00f3n manual sobre tu SIEM.<\/p>\n    <\/div>\n    <div class=\"table-wrap\" tabindex=\"0\" role=\"region\" aria-label=\"Tabla comparativa Ruvic vs. SOAR, SIEM e ITSM\">\n      <table class=\"ctable\">\n        <thead>\n          <tr>\n            <th scope=\"col\">Capacidad<\/th>\n            <th scope=\"col\"><span class=\"badge\">Recomendado<\/span>Ruvic AI<\/th>\n            <th scope=\"col\">SOAR tradicional<\/th>\n            <th scope=\"col\">SIEM + op. manual<\/th>\n            <th scope=\"col\">ITSM \/ SecOps<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr><th scope=\"row\">Triaje autom\u00e1tico de alertas<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"partial\">Parcial<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Automatizaci\u00f3n de flujos de respuesta<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"partial\">Parcial<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Escalamiento por llamada \/ WhatsApp \/ Teams<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"partial\">Parcial<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Asistente SOC en lenguaje natural<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Tickets de seguridad omnicanal<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Pentesting automatizado<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">An\u00e1lisis de logs con IA<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"partial\">Parcial<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Reporter\u00eda ISO \/ NIST \/ SOC 2<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"partial\">Parcial<\/span><\/td><td><span class=\"partial\">Parcial<\/span><\/td><td><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Multi-tenant (MSSP)<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><\/tr>\n          <tr><th scope=\"row\">Multi-LLM \/ Multi-agente<\/th><td class=\"rv\"><span class=\"yes\">\u2713 S\u00ed<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><td><span class=\"no\">\u2014<\/span><\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n    <p class=\"table-note\">Ruvic es una plataforma BOAT AI-nativa: combina en un solo motor las capacidades que hoy requieren 3 o 4 herramientas separadas (SOAR + SIEM ops + on-call routing + ticketing de seguridad).<\/p>\n  <\/div>\n<\/section>\n\n<!-- ================= 06 \u00b7 MSSP (crema tenue) ================= -->\n<section class=\"mssp\" aria-labelledby=\"mssp-h\">\n  <div class=\"wrap\">\n    <div class=\"mssp__head\">\n      <h2 id=\"mssp-h\">Una sola plataforma para todos tus <span class=\"accent-action\">clientes SOC<\/span><\/h2>\n      <p class=\"lead\">Si operas SOC para m\u00faltiples clientes, Ruvic te permite escalar sin multiplicar analistas. Multi-tenant nativo: cada cliente con sus flujos de respuesta, sus SLA, sus integraciones y sus reportes, todo desde una sola consola.<\/p>\n    <\/div>\n    <ul class=\"mssp__grid\">\n      <li><div class=\"card\">\n        <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91-.79-.79-2.07-.8-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2zM9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\"><\/path><\/svg><\/div>\n        <h3>Onboarding de cliente en &lt; 48 h<\/h3>\n        <p>Conecta el stack del nuevo cliente (SIEM, EDR, firewalls), configura sus flujos de respuesta y activa la operaci\u00f3n. Sin semanas de implementaci\u00f3n por cada cuenta nueva.<\/p>\n      <\/div><\/li>\n      <li><div class=\"card\">\n        <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.6 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.6a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9c.39.94 1 1.41 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"><\/path><\/svg><\/div>\n        <h3>Flujos de respuesta por cliente<\/h3>\n        <p>Cada cliente tiene sus propias reglas, umbrales y procedimientos. Ruvic los ejecuta de forma independiente sin que se mezclen entre cuentas.<\/p>\n      <\/div><\/li>\n      <li><div class=\"card\">\n        <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 3v18h18\"><\/path><path d=\"m7 14 4-4 4 4 5-6\"><\/path><\/svg><\/div>\n        <h3>Reporter\u00eda ejecutiva por cuenta<\/h3>\n        <p>Cada cliente recibe su propio dashboard y reportes autom\u00e1ticos alineados al framework que exija (ISO 27001, NIST, SOC 2). Sin armar reportes manuales.<\/p>\n      <\/div><\/li>\n      <li><div class=\"card\">\n        <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z\"><\/path><\/svg><\/div>\n        <h3>Escalamiento diferenciado por SLA<\/h3>\n        <p>El cliente con SLA de 15 minutos escala por llamada inmediata. El de 4 horas escala por Teams. Ruvic aplica las reglas de cada contrato autom\u00e1ticamente.<\/p>\n      <\/div><\/li>\n      <li><div class=\"card\">\n        <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 3v18h18\"><\/path><path d=\"m7 17 5-5 4 4 5-6\"><\/path><\/svg><\/div>\n        <h3>Escala sin contratar<\/h3>\n        <p>M\u00e1s clientes no significa m\u00e1s analistas N1. Ruvic absorbe el volumen de triaje, flujos autom\u00e1ticos y documentaci\u00f3n. Tu equipo se enfoca en incidentes complejos y en la relaci\u00f3n con el cliente.<\/p>\n      <\/div><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ================= 07 \u00b7 INTEGRACIONES (blanco) ================= -->\n<section class=\"integra\" aria-labelledby=\"integra-h\">\n  <div class=\"wrap\">\n    <h2 id=\"integra-h\">Se conecta con el stack de seguridad que <span class=\"accent-action\">ya tienes<\/span><\/h2>\n    <p class=\"lead\">Ruvic no reemplaza tus herramientas. Se integra con ellas para orquestar la operaci\u00f3n completa. V\u00eda API, webhooks, ingesta de logs, conectores nativos o integraciones a medida. Agn\u00f3stico de fabricante: si tu herramienta genera informaci\u00f3n, Ruvic la procesa.<\/p>\n    <div class=\"constel\"><svg id=\"cxconstel\" viewBox=\"0 0 1040 660\" role=\"img\" aria-label=\"Constelaci\u00f3n de integraciones de seguridad de Ruvic: el motor orquesta y sincroniza en tiempo real con Splunk, Microsoft Sentinel, CrowdStrike, Fortinet, SentinelOne, ServiceNow, Okta, Palo Alto, Cisco y decenas de herramientas m\u00e1s.\"><\/svg><\/div>\n    <ul class=\"int__grid\">\n      <li class=\"card\">\n        <span class=\"int__cat\">SIEM y Logs<\/span>\n        <div class=\"int__items\"><span>Splunk<\/span><span>Microsoft Sentinel<\/span><span>IBM QRadar<\/span><span>Elastic SIEM<\/span><span>Wazuh<\/span><span>LogRhythm<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">EDR y Endpoint<\/span>\n        <div class=\"int__items\"><span>CrowdStrike<\/span><span>SentinelOne<\/span><span>Sophos<\/span><span>Microsoft Defender<\/span><span>Carbon Black<\/span><span>Trend Micro<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">Firewall y Red<\/span>\n        <div class=\"int__items\"><span>Fortinet<\/span><span>Palo Alto<\/span><span>Cisco<\/span><span>Check Point<\/span><span>Meraki<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">ITSM y Ticketing<\/span>\n        <div class=\"int__items\"><span>ServiceNow<\/span><span>Jira Service Mgmt<\/span><span>Aranda<\/span><span>Freshdesk<\/span><span>Zendesk<\/span><span>HubSpot<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">Identidad y Acceso<\/span>\n        <div class=\"int__items\"><span>Azure AD<\/span><span>Okta<\/span><span>Google Workspace<\/span><span>AWS IAM<\/span><span>JumpCloud<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">Comunicaci\u00f3n<\/span>\n        <div class=\"int__items\"><span>Microsoft Teams<\/span><span>WhatsApp<\/span><span>Llamadas (Twilio)<\/span><span>Email (SMTP\/IMAP)<\/span><span>Telegram<\/span><span>Slack<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">Cloud e Infra<\/span>\n        <div class=\"int__items\"><span>AWS<\/span><span>Google Cloud<\/span><span>Azure<\/span><span>DigitalOcean<\/span><span>Kubernetes<\/span><\/div>\n      <\/li>\n      <li class=\"card\">\n        <span class=\"int__cat\">Custom<\/span>\n        <div class=\"int__items\"><span>API REST<\/span><span>Webhooks<\/span><span>Ingesta de logs<\/span><span>SMTP \/ IMAP<\/span><span>GraphQL<\/span><\/div>\n      <\/li>\n    <\/ul>\n    <p class=\"int__note\">Estas son las integraciones m\u00e1s comunes. Ruvic se conecta con cualquier plataforma que exponga API, genere logs o env\u00ede notificaciones. <a href=\"\/integraciones\">Ver todas las integraciones \u2192<\/a><\/p>\n  <\/div>\n<\/section>\n\n<!-- ================= RELACIONADOS (crema tenue) ================= -->\n<section class=\"related\" aria-labelledby=\"related-h\">\n  <div class=\"wrap\">\n    <h2 id=\"related-h\">Explora otras soluciones por industria<\/h2>\n    <ul class=\"related__grid\">\n      <li><a href=\"\/salud\/\"><div class=\"card\">\n        <div class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M3 21V8a2 2 0 0 1 2-2h4V3h6v3h4a2 2 0 0 1 2 2v13M3 21h18M9 11h6M9 15h6M9 7v14M15 7v14\"><\/path><\/svg><\/div>\n        <h3>Salud<\/h3>\n        <p>Agendamiento, dictado patol\u00f3gico inteligente y codificaci\u00f3n CIE-10 automatizada.<\/p>\n        <span class=\"go\">Ver soluci\u00f3n \u2192<\/span>\n      <\/div><\/a><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ================= CTA FINAL NAVY ================= -->\n<section class=\"cta\" aria-labelledby=\"cta-h\">\n  <div class=\"wrap\">\n    <div class=\"cta__card\">\n      <div class=\"cta__inner\">\n        <span class=\"cta__eyebrow\">\u00bfListo para orquestar tu operaci\u00f3n de seguridad?<\/span>\n        <h2 id=\"cta-h\">Conecta tu stack y ve a Ruvic operar en menos de 30 minutos<\/h2>\n        <p>Agenda una demostraci\u00f3n personalizada. Te mostramos c\u00f3mo Ruvic se conecta a tu SIEM, EDR y herramientas actuales, y ejecuta un flujo de respuesta completo sobre un escenario real de tu operaci\u00f3n.<\/p>\n        <div class=\"cta__btns\">\n          <a class=\"btn btn-primary\" href=\"https:\/\/ruvic.ai\/contacto\/\">Agendar demo<\/a>\n          <a class=\"btn btn-ghost-dark\" href=\"#\">Ver casos de uso<\/a>\n        <\/div>\n        <div class=\"cta__tags\">\n          <span>Agn\u00f3stico de stack<\/span>\n          <span>Activaci\u00f3n en &lt; 3 semanas<\/span>\n          <span>Resultados medibles desde el mes 1<\/span>\n        <\/div>\n        <div class=\"cta__geo\">Colombia \u00b7 Per\u00fa \u00b7 Chile \u00b7 M\u00e9xico \u00b7 USA<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n<script>\n(function(){ document.getElementById('rv-cyber').classList.add('js'); })();\n<\/script>\n<script>\n\/* ============ Consola SOC Command Center (robusta, \u00a75 del KIT) ============ *\/\n(function () {\n  'use strict';\n  var reduce = (window.matchMedia ? window.matchMedia('(prefers-reduced-motion: reduce)').matches : false);\n  var feed = document.getElementById('soc-feed');\n  if (!feed || reduce) return; \/* con reduced-motion la semilla queda est\u00e1tica *\/\n\n  \/* Eventos derivados del contenido de la secci\u00f3n (alertas \u2192 triaje \u2192 respuesta \u2192 escala) *\/\n  var EVENTS = [\n    { name: 'Triaje completado',        meta: '142 eventos \u00b7 12 escalados',        chip: 'Procesado',  tone: 'ok',   ic: 'search', stage: 'triaje' },\n    { name: 'Falso positivo descartado',meta: 'Scoring contextual',                chip: 'Descartado', tone: 'ok',   ic: 'search', stage: 'triaje' },\n    { name: 'Alerta correlacionada',    meta: '6 fuentes \u00b7 SIEM',                  chip: 'En curso',   tone: 'run',  ic: 'search', stage: 'alertas' },\n    { name: 'Severidad asignada \u00b7 P2',  meta: 'Clasificaci\u00f3n por IA',              chip: 'Procesado',  tone: 'ok',   ic: 'search', stage: 'triaje' },\n    { name: 'Flujo ejecutado',          meta: 'Bloqueo IP + ticket',               chip: 'Resuelto',   tone: 'ok',   ic: 'bolt',   stage: 'respuesta' },\n    { name: 'Endpoint aislado',         meta: 'srv-fin-03 \u00b7 EDR',                  chip: 'Contenido',  tone: 'ok',   ic: 'bolt',   stage: 'respuesta' },\n    { name: 'IP 203.0.113.45 bloqueada',meta: 'Firewall',                          chip: 'Bloqueado',  tone: 'crit', ic: 'shield', stage: 'respuesta' },\n    { name: 'C2 bloqueada',             meta: '3 endpoints',                       chip: 'Bloqueado',  tone: 'crit', ic: 'shield', stage: 'respuesta' },\n    { name: 'Evidencia preservada',     meta: '14 artefactos \u00b7 forense',           chip: 'Resuelto',   tone: 'ok',   ic: 'bolt',   stage: 'respuesta' },\n    { name: 'Escalamiento WhatsApp',    meta: 'Analista on-call \u00b7 IOCs',           chip: 'En curso',   tone: 'run',  ic: 'phone',  stage: 'escala' },\n    { name: 'Llamada autom\u00e1tica',       meta: 'SLA 15 min',                        chip: 'En curso',   tone: 'run',  ic: 'phone',  stage: 'escala' },\n    { name: 'Contexto + IOCs enviados', meta: 'WhatsApp \u00b7 analista on-call',       chip: 'En curso',   tone: 'run',  ic: 'phone',  stage: 'escala' },\n    { name: 'Incidente P1 notificado',  meta: 'Teams',                             chip: 'Escalado',   tone: 'crit', ic: 'phone',  stage: 'escala' },\n    { name: 'ISO 27001 generado',       meta: 'A.16 \u00b7 evidencia adjunta',          chip: 'Completado', tone: 'ok',   ic: 'chart',  stage: 'respuesta' },\n    { name: 'Ticket INC-2847 creado',   meta: 'Prioridad P2 \u00b7 N2',                 chip: 'Abierto',    tone: 'run',  ic: 'chart',  stage: 'respuesta' },\n    { name: 'Asignado a N2',            meta: 'SLA 4 h \u00b7 seguimiento en vivo',     chip: 'En curso',   tone: 'run',  ic: 'chart',  stage: 'respuesta' },\n    { name: 'Reconocimiento ejecutado', meta: '3 dominios \u00b7 recon',                chip: 'En curso',   tone: 'run',  ic: 'shield', stage: 'respuesta' },\n    { name: '14 hallazgos documentados',meta: 'Reporte t\u00e9cnico + ejecutivo',       chip: 'Completado', tone: 'ok',   ic: 'chart',  stage: 'respuesta' },\n    { name: 'CVE-2026-1284 re-test',    meta: 'Remediaci\u00f3n validada',              chip: 'Completado', tone: 'ok',   ic: 'shield', stage: 'respuesta' }\n  ];\n  var ICON = {\n    search: '<path d=\"M11 4a7 7 0 1 1 0 14 7 7 0 0 1 0-14z\"\/><path d=\"m21 21-4.3-4.3\"\/>',\n    bolt:   '<path d=\"M13 2 4.5 13.5h6L11 22l8.5-11.5h-6z\"\/>',\n    phone:  '<path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z\"\/>',\n    shield: '<path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/>',\n    chart:  '<path d=\"M3 3v18h18\"\/><path d=\"M7 14l4-4 4 4 5-6\"\/>'\n  };\n  var MAX = 2, lastIdx = -1;\n  var stages = document.querySelectorAll('#rv-cyber .stages .stage');\n\n  function esc(s) { var d = document.createElement('div'); d.textContent = s; return d.innerHTML; }\n  function next() {\n    var i;\n    do { i = Math.floor(Math.random() * EVENTS.length); } while (EVENTS.length > 1 ? i === lastIdx : false);\n    lastIdx = i;\n    return EVENTS[i];\n  }\n  function row(e) {\n    var el = document.createElement('div');\n    el.className = 'frow enter';\n    el.innerHTML =\n      '<div class=\"frow__ic frow__ic--' + e.tone + '\"><svg viewBox=\"0 0 24 24\">' + (ICON[e.ic] || ICON.search) + '<\/svg><\/div>' +\n      '<div class=\"frow__body\"><div class=\"frow__name\">' + esc(e.name) + '<\/div>' +\n      '<div class=\"frow__meta\">' + esc(e.meta) + '<\/div><\/div>' +\n      '<span class=\"chip chip--' + e.tone + '\">' + esc(e.chip) + '<\/span>';\n    return el;\n  }\n  function light(stage) {\n    for (var i = 0; i < stages.length; i++) {\n      stages[i].classList.toggle('on', stages[i].getAttribute('data-stage') === stage);\n    }\n  }\n  function push() {\n    var e = next();\n    feed.insertBefore(row(e), feed.firstChild);\n    while (feed.children.length > MAX) feed.removeChild(feed.lastElementChild);\n    light(e.stage);\n  }\n  function start() {\n    if (start.done) return;\n    start.done = true;\n    setTimeout(function tick() { push(); setTimeout(tick, 2600); }, 1400);\n  }\n\n  \/* Arranque robusto: load + setTimeout; sin depender de IntersectionObserver *\/\n  if (document.readyState === 'complete') { setTimeout(start, 300); }\n  else { window.addEventListener('load', function () { setTimeout(start, 300); }); }\n  setTimeout(start, 3000); \/* respaldo *\/\n})();\n\n\/* ============ Tabs por perfil ============ *\/\n(function () {\n  'use strict';\n  var tabs = document.querySelectorAll('#rv-cyber .role-tab');\n  var panels = document.querySelectorAll('#rv-cyber .role-panel');\n  tabs.forEach(function (tab) {\n    tab.addEventListener('click', function () {\n      tabs.forEach(function (t) { t.classList.remove('active'); t.setAttribute('aria-selected', 'false'); });\n      panels.forEach(function (p) { p.classList.remove('active'); });\n      tab.classList.add('active');\n      tab.setAttribute('aria-selected', 'true');\n      var panel = document.getElementById(tab.getAttribute('aria-controls'));\n      if (panel) panel.classList.add('active');\n    });\n  });\n})();\n\n\/* ============ Marquee de integraciones (\u00a710.4) ============ *\/\n(function () {\n  'use strict';\n  var track = document.getElementById('int-track');\n  if (!track) return;\n  var feat = ['Splunk','CrowdStrike','Microsoft Sentinel','Fortinet','Palo Alto','SentinelOne','ServiceNow','Okta','Azure AD','Microsoft Teams','WhatsApp','AWS','Jira','Wazuh','Cisco','Elastic'];\n  function esc(s){var d=document.createElement('div');d.textContent=s;return d.innerHTML;}\n  function chip(n){\n    var mk = n.replace(\/[^A-Za-z]\/g,'').slice(0,2);\n    mk = mk.charAt(0).toUpperCase() + (mk.charAt(1)||'').toLowerCase();\n    return '<div class=\"int__chip\"><span class=\"int__mark\">'+esc(mk)+'<\/span><span class=\"int__chip-name\">'+esc(n)+'<\/span><\/div>';\n  }\n  var row = feat.map(chip).join('');\n  track.innerHTML = row + row; \/* duplicado para loop sin corte *\/\n})();\n\n\/* Count-up viejo removido: unificado en el script universal __ruvicCU (KIT \u00a710.1) *\/\n<\/script>\n<script>\n\/* ===== Count-up universal v2 (KIT \u00a710.1) \u2014 neutraliza count-ups viejos y anima ===== *\/\n(function(){\n  if(window.__ruvicCU) return; window.__ruvicCU=1;\n  var reduce = (window.matchMedia ? window.matchMedia('(prefers-reduced-motion:reduce)').matches : false);\n  function fmt(v,dec,thou){ if(thou) return String(Math.round(v)).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,'.'); return v.toFixed(dec); }\n  function parseNum(s){ var val,dec=0,thou=false;\n    if(\/^\\d{1,3}(\\.\\d{3})+$\/.test(s)){ thou=true; val=parseFloat(s.replace(\/\\.\/g,'')); }\n    else { var d=s.match(\/^(\\d+)(?:[.,](\\d+))?$\/); if(!d) return null; dec=d[2]?d[2].length:0; val=parseFloat(d[1]+(d[2]?'.'+d[2]:'')); }\n    return isFinite(val)?{val:val,dec:dec,thou:thou}:null; }\n  function isBig(el){ if(el.children.length) return false; var tx=el.textContent.trim();\n    if(tx.indexOf('\/')>-1) return false; if(\/^0\\d$\/.test(tx)||\/^(19|20)\\d\\d$\/.test(tx)) return false;\n    if(!\/^[<>+~]?\\s*[\\d][\\d.,]*\\s*(%|h\\+?|\u00d7|x|min|seg|sem|pts?|k)?$\/i.test(tx)) return false;\n    return parseFloat(getComputedStyle(el).fontSize)>=26; }\n  var all=[].slice.call(document.querySelectorAll('#rv-cyber [data-count],#rv-cyber div,#rv-cyber span,#rv-cyber strong,#rv-cyber b,#rv-cyber p'));\n  var seen=[], data=[];\n  all.forEach(function(el){\n    if(seen.indexOf(el)>-1) return;\n    var dc=el.getAttribute('data-count'), pre='', numStr=null, suf='', raw=el.textContent.trim();\n    if(dc!=null ? \/\\d\/.test(dc) : false){ numStr=String(dc).trim(); suf=el.getAttribute('data-suffix')||''; pre=el.getAttribute('data-prefix')||''; if(!pre){ var pm=raw.match(\/^([<>+~])\/); if(pm) pre=pm[1]; } }\n    else if(isBig(el)){ var m=raw.match(\/^([<>+~]?\\s*)([\\d.,]+)(.*)$\/); if(m){ pre=m[1]; numStr=m[2]; suf=m[3]; } }\n    if(numStr==null) return;\n    var pn=parseNum(numStr); if(!pn) return;\n    seen.push(el);\n    el.removeAttribute('data-count'); el.removeAttribute('data-suffix'); el.removeAttribute('data-done'); \/* mata al viejo *\/\n    el.textContent=pre+fmt(0,pn.dec,pn.thou)+suf;\n    data.push({el:el,pre:pre,suf:suf,val:pn.val,dec:pn.dec,thou:pn.thou,done:false});\n  });\n  function run(d){ if(!d||d.done) return; d.done=true;\n    var setFinal=function(){ d.el.textContent=d.pre+fmt(d.val,d.dec,d.thou)+d.suf; };\n    if(reduce){ setFinal(); return; }\n    var dur=1500,t0=null,raf=0,finished=false;\n    function done(){ if(finished) return; finished=true; if(raf ? window.cancelAnimationFrame : false) cancelAnimationFrame(raf); setFinal(); }\n    function step(ts){ if(finished) return; if(t0===null)t0=ts; var p=(ts-t0)\/dur; if(!(p>0))p=0; if(p>=1){ done(); return; }\n      var e=1-Math.pow(1-p,3); d.el.textContent=d.pre+fmt(d.val*e,d.dec,d.thou)+d.suf; raf=requestAnimationFrame(step); }\n    raf=requestAnimationFrame(step);\n    setTimeout(done, dur+500); \/* respaldo: garantiza el valor final aunque rAF no dispare *\/\n  }\n  \/* Disparo por entrada en viewport (animaci\u00f3n visible al hacer scroll); nunca deja \"0\" a la vista *\/\n  var pending=data.slice();\n  function check(){ for(var i=pending.length-1;i>=0;i--){ var d=pending[i]; if(d.done){pending.splice(i,1);continue;} var r=d.el.getBoundingClientRect(); var vh=window.innerHeight||document.documentElement.clientHeight||800; if(r.top<vh*0.92 ? r.bottom>-4 : false){ run(d); pending.splice(i,1); } } }\n  if(reduce){ data.forEach(run); }\n  else {\n    if('IntersectionObserver' in window){\n      var io=new IntersectionObserver(function(es){es.forEach(function(e){ if(e.isIntersecting){ for(var k=0;k<data.length;k++) if(data[k].el===e.target){ run(data[k]); } io.unobserve(e.target);} });},{threshold:.2,rootMargin:'0px 0px -6% 0px'});\n      data.forEach(function(d){ io.observe(d.el); });\n    }\n    window.addEventListener('scroll',check,{passive:true});\n    window.addEventListener('resize',check,{passive:true});\n    window.addEventListener('load',check);\n    check();\n    \/* Poll de viewport: anima cada n\u00famero en cuanto entra en pantalla, aunque scroll\/IO fallen; nunca toca los que est\u00e1n fuera de vista *\/\n    var poll=setInterval(function(){ check(); if(!pending.length) clearInterval(poll); },250);\n    setTimeout(function(){ clearInterval(poll); },20000);\n  }\n})();\n<\/script>\n<script>\n\/* \u2550\u2550\u2550 RUVIC KIT v2 \u2014 motor de movimiento (portable, robusto, reduced-motion) \u2550\u2550\u2550 *\/\n(function(){\n  'use strict';\n  if(window.__ruvicMotion) return; window.__ruvicMotion=1;\n  var reduce = (window.matchMedia ? window.matchMedia('(prefers-reduced-motion:reduce)').matches : false);\n\n  \/* ---------- 1. Reveal on scroll (opacity+lift, con force-show de respaldo) ---------- *\/\n  var RVSEL = [\n    '.problema .kicker','.problema h2','.problema .lead','.problema__grid > li','.pain__head','.pain__grid > li','.case-chips',\n    '.capacidades__head','.capacidades__grid > li',\n    '.stats li','.hero__metrics li',\n    '.how__head','.how__grid > li',\n    '.roles__head','.role-tabs',\n    '.compare__head','.table-wrap','.table-note',\n    '.mssp__head','.mssp__grid > li',\n    '.integra .kicker','.integra h2','.integra .lead','.int__marquee','.int__grid > li','.int__note',\n    '.related h2','.related__grid > li',\n    '.cta__card'\n  ].join(',');\n  var __cyroot = document.getElementById('rv-cyber')||document;\n  var rv = [].slice.call(__cyroot.querySelectorAll(RVSEL));\n  function reveal(el){ el.classList.add('rv-in'); }\n  if(reduce){ rv.forEach(function(el){ el.classList.add('rv-in'); }); }\n  else {\n    \/* stagger por posici\u00f3n dentro del mismo contenedor *\/\n    var lastParent=null, k=0;\n    rv.forEach(function(el){\n      el.setAttribute('data-rv','');\n      var p=el.parentNode;\n      if(p!==lastParent){ lastParent=p; k=0; } else { k++; }\n      el.style.transitionDelay=(Math.min(k,6)*65)+'ms';\n    });\n    if('IntersectionObserver' in window){\n      var io=new IntersectionObserver(function(es){\n        es.forEach(function(e){ if(e.isIntersecting){ reveal(e.target); io.unobserve(e.target); } });\n      },{threshold:.12,rootMargin:'0px 0px -8% 0px'});\n      rv.forEach(function(el){ io.observe(el); });\n    } else { rv.forEach(reveal); }\n    \/* Respaldo por scroll + poll: nada queda invisible aunque IO no dispare *\/\n    function sweep(){ var vh=window.innerHeight||800;\n      for(var i=rv.length-1;i>=0;i--){ var el=rv[i]; if(el.classList.contains('rv-in')){ rv.splice(i,1); continue; }\n        var r=el.getBoundingClientRect(); if(r.top<vh*0.94 ? r.bottom>0 : false) reveal(el); } }\n    window.addEventListener('scroll',sweep,{passive:true});\n    window.addEventListener('resize',sweep,{passive:true});\n    sweep();\n    var pr=setInterval(function(){ sweep(); if(!rv.length) clearInterval(pr); },300);\n    setTimeout(function(){ __cyroot.querySelectorAll('[data-rv]:not(.rv-in)').forEach(reveal); clearInterval(pr); },6000);\n  }\n\n  \/* ---------- 2. Botones magn\u00e9ticos ---------- *\/\n  if(!reduce ? matchMedia('(hover:hover)').matches : false){\n    [].slice.call(document.querySelectorAll('#rv-cyber .btn')).forEach(function(btn){\n      btn.classList.add('is-magnetic');\n      var strength = btn.classList.contains('btn-primary') ? 0.34 : 0.22;\n      btn.addEventListener('pointermove',function(e){\n        var r=btn.getBoundingClientRect();\n        var x=(e.clientX-r.left-r.width\/2)*strength;\n        var y=(e.clientY-r.top-r.height\/2)*strength - 2;\n        btn.style.transform='translate('+x.toFixed(1)+'px,'+y.toFixed(1)+'px)';\n      });\n      btn.addEventListener('pointerleave',function(){ btn.style.transform=''; });\n    });\n  }\n\n  \/* ---------- 3. Spotlight que sigue el cursor ---------- *\/\n  if(!reduce ? matchMedia('(hover:hover)').matches : false){\n    [].slice.call(document.querySelectorAll('#rv-cyber .card,#rv-cyber .dash')).forEach(function(el){\n      el.addEventListener('pointermove',function(e){\n        var r=el.getBoundingClientRect();\n        el.style.setProperty('--mx',((e.clientX-r.left)\/r.width*100).toFixed(1)+'%');\n        el.style.setProperty('--my',((e.clientY-r.top)\/r.height*100).toFixed(1)+'%');\n      });\n    });\n  }\n\n  \/* ---------- 4. Barras dprog: llenado (scaleX) + % suben juntos ---------- *\/\n  function animateDprogs(scope){\n    if(!scope) return;\n    [].slice.call(scope.querySelectorAll('.dprog')).forEach(function(dp){\n      var fill=dp.querySelector('.dprog__fill'), pl=dp.querySelector('.dprog__p');\n      if(!fill||!pl) return;\n      \/* Cachea el valor real la 1\u00aa vez: re-ejecuciones nunca leen un % a medio animar *\/\n      if(dp.dataset.target==null){ var m0=(pl.textContent||'').match(\/(\\d+(?:[.,]\\d+)?)\/); if(!m0) return;\n        dp.dataset.target=m0[1].replace(',','.'); dp.dataset.suf=pl.textContent.replace(\/[\\d.,\\s]\/g,'')||'%'; }\n      var target=parseFloat(dp.dataset.target), suf=dp.dataset.suf;\n      if(reduce){ fill.style.setProperty('--p',(target\/100).toFixed(3)); pl.textContent=Math.round(target)+' '+suf; return; }\n      \/* reset y anima *\/\n      fill.style.setProperty('--p','0');\n      pl.textContent='0 '+suf;\n      requestAnimationFrame(function(){ requestAnimationFrame(function(){\n        fill.style.setProperty('--p',(target\/100).toFixed(3));\n      });});\n      var dur=1150,t0=null;\n      function step(ts){ if(t0===null)t0=ts; var p=Math.min((ts-t0)\/dur,1); var e=1-Math.pow(1-p,3);\n        pl.textContent=Math.round(target*e)+' '+suf; if(p<1) requestAnimationFrame(step); }\n      requestAnimationFrame(step);\n    });\n  }\n  var roles=document.querySelector('.roles');\n  if(roles){\n    \/* al entrar en vista, anima el panel activo *\/\n    var fired=false;\n    function tryRoles(){ if(fired) return; var r=roles.getBoundingClientRect(); var vh=window.innerHeight||800;\n      if(r.top<vh*0.85 ? r.bottom>0 : false){ fired=true; animateDprogs(document.querySelector('#rv-cyber .role-panel.active')); } }\n    if('IntersectionObserver' in window){\n      var rio=new IntersectionObserver(function(es){ es.forEach(function(e){ if(e.isIntersecting ? !fired : false){ fired=true; animateDprogs(document.querySelector('#rv-cyber .role-panel.active')); rio.disconnect(); } }); },{threshold:.2});\n      rio.observe(roles);\n    }\n    window.addEventListener('scroll',tryRoles,{passive:true}); tryRoles();\n    \/* al cambiar de tab, re-anima el panel reci\u00e9n mostrado (corre despu\u00e9s del handler original) *\/\n    [].slice.call(document.querySelectorAll('.role-tab')).forEach(function(tab){\n      tab.addEventListener('click',function(){ requestAnimationFrame(function(){ animateDprogs(document.querySelector('#rv-cyber .role-panel.active')); }); });\n    });\n  }\n\n  \/* ---------- 5. Parallax sutil de la consola del hero (tras su intro) ---------- *\/\n  if(!reduce){\n    var hero=document.querySelector('.hero'), con=document.querySelector('.hero .console');\n    if(hero ? con : false){\n      var on=false, ticking=false;\n      function apply(){ ticking=false;\n        var r=hero.getBoundingClientRect(); var vh=window.innerHeight||800;\n        var prog=Math.max(-1,Math.min(1,(vh*0.5-(r.top+r.height\/2))\/vh));\n        con.style.transform='translateY('+(prog*-14).toFixed(1)+'px)';\n      }\n      function onScroll(){ if(!on||ticking) return; ticking=true; requestAnimationFrame(apply); }\n      function enable(){ on=true; window.addEventListener('scroll',onScroll,{passive:true}); apply(); }\n      \/* espera a que termine la animaci\u00f3n de entrada para no pisar el transform *\/\n      con.addEventListener('animationend',enable,{once:true});\n      setTimeout(enable,1600); \/* respaldo si animationend no dispara (preview headless) *\/\n    }\n  }\n})();\n<\/script>\n<script>\n\/* \u2550\u2550\u2550 Pipeline del hero (Fuentes \u2192 Motor Ruvic \u2192 Acciones) \u2014 data-driven \u2550\u2550\u2550 *\/\n(function(){\n  'use strict';\n  var svg=document.getElementById('pipe'); if(!svg) return;\n  var NS='http:\/\/www.w3.org\/2000\/svg';\n  var reduce=(window.matchMedia ? window.matchMedia('(prefers-reduced-motion:reduce)').matches : false);\n  function el(n,a){ var e=document.createElementNS(NS,n); if(a) for(var k in a) e.setAttribute(k,a[k]); return e; }\n  function cssv(n){ return getComputedStyle(document.getElementById('rv-cyber')||document.documentElement).getPropertyValue(n).trim(); }\n  var IC={\n    any:'M4 6c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3zM4 6v12c0 1.7 3.6 3 8 3s8-1.3 8-3V6M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3',\n    siem:'M3 3v18h18M7 14l3-3 3 3 5-6', edr:'M4 5h16v11H4zM9 20h6M12 16v4',\n    fw:'M4 4h16v16H4zM4 9h16M4 14h16M9 4v5M15 9v5M9 14v6',\n    vuln:'M12 2 3 7v5c0 5 4 8 9 10 5-2 9-5 9-10V7z M12 8v4M12 16h.01',\n    ban:'M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zM5.6 5.6l12.8 12.8', iso:'M6 3h9l3 3v15H6zM9 12h6M9 16h6M9 8h3',\n    isolate:'M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zM12 7v5l3 2',\n    ticket:'M3 8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v-1 3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n    phone:'M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.1 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.4 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'\n  };\n  var CHIP_IC={ event:'M12 3 3 12l9 9 9-9z', alerta:'M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h16.9a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0zM12 9v4M12 17h.01', resuelto:'M20 6 9 17l-5-5' };\n  var SOURCES=[ {t:'CUALQUIER FUENTE',ic:'any'},{t:'SIEM',ic:'siem'},{t:'EDR \/ ENDPOINT',ic:'edr'},{t:'FIREWALL',ic:'fw'},{t:'VULNERABILIDADES',ic:'vuln'} ];\n  var ACTIONS=[ {t:'BLOQUEO DE IP',ic:'ban'},{t:'AISLAR ENDPOINT',ic:'isolate'},{t:'TICKET + SLA',ic:'ticket'},{t:'ESCALAR \u00b7 TEAMS',ic:'phone'},{t:'REPORTE ISO 27001',ic:'iso'} ];\n  var NW=184,NH=40,RX=20, LX=4, RX2=720-4-NW, HUBX=360,HUBY=184,DIA=44;\n  var LV=HUBX-DIA*1.414, RV=HUBX+DIA*1.414;\n  function spread(n,a,b){ var out=[],g=(b-a)\/(n-1); for(var i=0;i<n;i++) out.push(a+g*i); return out; }\n  var lys=spread(SOURCES.length,24,346), rys=spread(ACTIONS.length,24,346);\n  var COL={ ev:cssv('--ev'),evbg:cssv('--ev-bg'),evln:cssv('--ev-ln'),al:cssv('--al'),albg:cssv('--al-bg'),alln:cssv('--al-ln'),res:cssv('--res'),resbg:cssv('--res-bg'),resln:cssv('--res-ln') };\n  var defs=el('defs');\n  var g=el('radialGradient',{id:'hubGlow',cx:'50%',cy:'50%',r:'50%'});\n  g.appendChild(el('stop',{offset:'0%','stop-color':cssv('--hub-glow'),'stop-opacity':'.55'}));\n  g.appendChild(el('stop',{offset:'45%','stop-color':cssv('--hub-glow-2'),'stop-opacity':'.28'}));\n  g.appendChild(el('stop',{offset:'100%','stop-color':cssv('--hub-glow-2'),'stop-opacity':'0'}));\n  defs.appendChild(g); svg.appendChild(defs);\n  svg.appendChild(el('circle',{cx:HUBX,cy:HUBY,r:106,class:'hub-glow'}));\n  var edgesIn=[],edgesOut=[];\n  lys.forEach(function(y){ var p=el('path',{class:'edge',d:'M'+(LX+NW)+','+y+' C'+(LX+NW+72)+','+y+' '+(LV-40)+','+HUBY+' '+LV+','+HUBY}); svg.appendChild(p); edgesIn.push(p); });\n  rys.forEach(function(y){ var p=el('path',{class:'edge',d:'M'+RV+','+HUBY+' C'+(RV+40)+','+HUBY+' '+(RX2-72)+','+y+' '+RX2+','+y}); svg.appendChild(p); edgesOut.push(p); });\n  function node(x,y,item){\n    var gg=el('g',{class:'pn',transform:'translate('+x+','+(y-NH\/2)+')'});\n    gg.appendChild(el('rect',{x:0,y:0,width:NW,height:NH,rx:RX,ry:RX}));\n    var ig=el('g',{transform:'translate(13,'+(NH\/2-7)+') scale(.60)'});\n    ig.appendChild(el('path',{class:'pn-ic',d:IC[item.ic]||IC.any})); gg.appendChild(ig);\n    var t=el('text',{x:34,y:NH\/2+3.6}); t.textContent=item.t; gg.appendChild(t);\n    svg.appendChild(gg); return gg;\n  }\n  var srcNodes=SOURCES.map(function(s,i){ return node(LX,lys[i],s); });\n  var actNodes=ACTIONS.map(function(a,i){ return node(RX2,rys[i],a); });\n  function lit(g){ g.classList.add('lit'); setTimeout(function(){ g.classList.remove('lit'); },560); }\n  var hub=el('g');\n  hub.appendChild(el('rect',{x:HUBX-DIA,y:HUBY-DIA,width:DIA*2,height:DIA*2,rx:15,ry:15,class:'hub-diamond',transform:'rotate(45 '+HUBX+' '+HUBY+')'}));\n  hub.appendChild(el('circle',{cx:HUBX,cy:HUBY,r:23,class:'hub-ring'}));\n  var HRS=30; hub.appendChild(el('image',{x:HUBX-HRS\/2,y:HUBY-HRS\/2,width:HRS,height:HRS,preserveAspectRatio:'xMidYMid meet',href:'data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuIAAAK4CAYAAAAx9piuAAAACXBIWXMAACE3AAAhNwEzWJ96AAAgAElEQVR4nO3dz3Ecd7Yl4KOOtwfGAkEWkG2BIAvEsUCQBcO2QNBmto+yoEsWPMqCBi14oAUNWvDA7Wwwi2RJEAWS9Scrb97M74tgqNUdId1QtMjDW\/d36quHh4ebAADMx92HH7v8bzcnnQRO6KuHh4eH6iEAAI70Psnth\/988+iP94\/+e5gVQRwAWIN3GTbpNx\/+eBsBnWKCOACwZm\/yRygXzpmUIA4A8If3Gbbm2x+COScjiAMAfNrjYP46n35ECnsTxAEAdvcuQyB\/HY0tHEkQBwA4zPv8EcpfF89CQ4I4AMDxtqF8E5tydiSIAwCMa3u+8ipuyvkMQRwA4HTeZNiSb2rHYI4EcQCA03ufIYzbkvM7QRwAYFq\/ZQjkN8VzUEwQBwCo8TZDIN8Uz0ERQRwAoNa7JNcRyFfnb9UDAACs3NdJ\/pnhdvyqdBImJYgDAMyDQL4ygjgAwLwI5CvhRhwAYN7eJnkZLSuLYyMOADBvz5L8K8O3dV7UjsKYBHEAgB6+T\/LvDA0r57WjMAanKQAA\/bzLcK7yunoQDieIAwD09SbDg8672jE4hNMUAIC+vk1ym2E7TjM24gAAy2A73oyNOADAMtiON2MjDgCwPLbjDdiIAwAsz3Y7\/qJ6ED5NEAcAWKazJP+VZBO947PkNAUAYPneZjhVuS2eg0dsxAEAlu9ZkpsMYZyZEMQBANbhLMk\/k7yqHoSB0xQAgPV5k+Eh5331IGtmIw4AsD7bVpXn1YOsmSAOALBOX2e4G1dxWEQQBwBYr23F4VXxHKskiAMA8M8MfeNMSBAHACBJfogwPimtKQAAPPY2yWU0qpycjTgAAI9tv\/znvHiOxRPEAQD4mDA+AUEcAICnCOMnJogDAPApwvgJCeIAAHyOMH4igjgAAF8ijJ+AIA4AwC6E8ZEJ4gAA7EoYH5EgDgDAPoTxkQjiAADs61mSV9VDdCeIAwBwiB+SbKqH6EwQBwDgUD8keVk9RFdfPTw8PFQPAQBAaz\/GdnxvgjgAAMd6n+QyyW3xHK0I4gAAjOF9kosk98VztOFGHACAMZxlqDVkR4I4AABjeRa34jsTxAEAGNMPSa6qh+jAjTgAAGPzeHMHNuIAAIztLMOJynnxHLMmiAMAcArPkryqHmLOBHEAAE7FvfhnuBEHAOCU3id5nuSueI7ZsREHAOCUzpK8rh5ijgRxAABO7VmS6+oh5sZpCgAAU\/l7VBr+zkYcAICpbKoHmBNBHACAqThRecRpCgAAU\/smWlRsxAEAmNymeoA5EMQBAJjat\/FFP05TAAAo8T7JRZL74jnK2IgDAFDhLCt\/uGkjDgBApdV2i9uIAwBQ6VX1AFUEcQAAKn2b5EX1EBWcpgAAUO1dhoebq2IjDgBAta+TvKweYmo24gAAzMHq6gxtxAEAmIOzrGwrbiMOAMBcrGorbiMOAMBcrGorbiMOAMCcrGYrbiMOAMCcrGYrbiMOAMDcrGIrbiMOAMDcnCW5qh7i1GzEAQCYo8V\/26aNOAAAc\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\/8OPi0Q+Yg\/+X5OfqIWDm7qoH2IcgDqzdeZKrJJdJvi+dBL7s\/ya5qR4CGIcgDqzVZZKXEb7pZZPhE5v74jmAEbgRB9bmMsNG8V8Rwunn6wy\/gQQWQBAH1uIiyesMAfzb2lHgKD9l2IoDzQniwBpcJbmNDTjL8ap6AOB4gjiwdJsk\/0xyVjwHjOnbOFGB9gRxYKnOM9yC\/1A8B5zKdYb\/nwNNCeLAEm1DuFtwluwswyc+QFOCOLA02xD+rHgOmML3GZqAgIYEcWBpXkUIZ102caICLQniwJK8jJtw1ke3ODT11cPDw0P1ENDAd\/G10nP3PMl\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\/iEC+SoI40NVX1QOM6DJDML\/88OOscBZgeu8z\/Mb8vngOJiaIA10tKYh\/bBvKr5I8K50EmMpvSV5UD8G0BHGgqyUH8ccuMvzi\/DLOWGDpvktyUz0E0xHEga7WEsQfu8ywJf+hdgzgRN5l+ETMicpKaE0B6OMmQxD\/JskvGe5KgeXQLb4yNuJAV2vciH\/sPMMv2j9VDwKM6u9JbquH4PQEcaArQfwPFxmqz74vngMYx5sMp2gsnNMUgP7uMjzo\/C7DjSnQ27dxorIKNuJAVzbin3Yd5yrQnW7xFbARB1ie6ww3prbj0NdZkk31EJyWIA6wTLcZatB+qx4EONj3cSu+aII4wHLdZ7gd\/0f1IMDBNhkaklggQRxg+V5leMipdxz60S2+YB5rAl15rLm\/5xm+FOiseA5gf7rFF8hGHGA9bjPcm74tngPY36vqARifIA6wLsI49KRbfIGcpgBdOU05znmGLwJypgJ96BZfGBtxgHW6z7AZ94AT+tAtvjA24kBXNuLj8IAT+vkuw7+3NGcjDrBut3F3Ct1solt8EQRxADZJfqkeAtiZbvGFcJoCdOU0ZXw3GZoZgB50izcniANdCeLj06QCvbzJ8OiappymALB1n+SqeghgZ7rFm7MRB7qyET+d10m+rx4C2Ilu8cZsxAH42FX0i0MXusUbE8QB+Nh9kuvqIYCdfR+34i05TQG6cppyejfRogJdvMvwBV1OVBqxEQfgUzwCgz50izckiAPwKbdJfq4eAtjZTxm24jThNAXoymnKNM4zBPKvqwcBdqJbvBEbcQA+R7c49KJbvBEbcaArG\/Fp6RaHPnSLN2EjDsAurqJbHLrQLd6EIA7ALnSLQy+6xRtwmgJ05TSlxk10i0MXusVnzkYcgH14BAZ96BafOUEcgH3oFodedIvPmNMUoCunKXV0i0MvusVnykYcgH3pFodedIvPlI040JWNeD3d4tCHbvEZshEH4FBX0S0OXegWnyFBHIBD6RaHXnSLz4zTFKArpynzcRPd4tCFbvEZsREH4FgegUEfusVnRBAH4Fi6xaEX3eIz4TQF6MppyrzoFodedIvPgI04AGPQLQ696BafARtxoCsb8XnSLQ596BYvZiMOwJiuolscujhL8qp6iDUTxAEYk25x6OWHuBUv4zQF6MppyrzdRLc4dPEuw4kKE7MRB+AUPAKDPr6OT7JK2IgDXdmIz991hr5ioIdvktxVD7EmgjjQlSA+f7rFoRfd4hNzmgLAqegWh16+jX9nJ2UjDnRlI96HbnHoQ7f4hGzEATi1q+gWhy50i09IEAfg1HSLQy+6xSfiNAXoymlKPzfRLQ5d6BafgI04AFPRLQ596BafgI040JWNeE\/X0S0OnegWP6G\/xQMaAKbzKsNH3kAPm+oBluxvGb5sAQCmoFscetEtfkJuxAGY2k2S36qHAHb2KsM35TIyQRyACldxGgld6BY\/EUEcgAq6xaEX3eIn8LcMHxECwNReJXlTPQSws031AEtjIw5AJd3i0Idu8ZEJ4gBUuk3yc\/UQwM5+im\/cHI3TFACq6RaHXjbVAyyFjTgA1XSLQy+6xUfy1cPDw0WSf1cPArAnX3G\/PK+TfF89BLCT9xlOVO6L52jtq4eHhyR5qB4EYE+C+PKcJ7nL0FkMzN+vsRk\/yvY0xW0eANV0i0MvusWPtA3id5VDAMAHusWhl031AJ0J4gDMjW5x6EO3+BEEcQDmRrc49KJb\/EDbIH5TOQQAfES3OPSyqR6go20QVz0DwJzoFodedIsfYFtfmKgwBHpRX7gOusWhD93ie3r8zZpvy6YAgKddZfjFHZi\/swxnZezocRC\/LZsCAJ6mWxx60S2+h8dB\/K5qCAD4DN3i0MumeoAuHgfxm6ohAOALdItDH7rFd\/T4seZ5kv8pnAVgHx5rrs91hr5ioIdv4uLisx5vxO+jsxWA+dItDr1sqgeYu7999Oc3FUMAwA50i0MvusW\/4OMgrjkFgDm7SfJb9RDAzl5lOH\/mCTbiAHRzFd3i0IVu8c94aiPuJzcA5ky3OPSiW\/wTPg7iia04APOnWxx62VQPMEeCOABd6RaHPnSLP0EQB6Cr2yQ\/Vw8B7OynJBfVQ8zJ4y\/0eewuw+9cAObKF\/qQDG0Mt\/FrFnTxJu7Ff\/fURjyxFQegB93i0Itu8UcEcQC6u4lucehEt\/gHnzpNOU\/yPxPPArAPpyk8dp7hrPKseA5gN7\/GZvyTG\/H7qIUCoA\/d4tCLbvF8OognyevJpgCA4+kWh1421QNUE8QBWBLd4tDH6rvFPxfE75K8nWgOABiDbnHoZdXd4p8L4omPDADo51WSd9VDADvbVA9Q5UtB3HkKAN3oFodeVtst\/qn6wsdukzybYBaAfagv5EteJ\/m+eghgJ+8znKjcF88xqS9txJPhIz4A6OYqwy\/uwPydZYWZc5cg7jwFgI50i0Mvq+sW3+U0JfHxHjA\/TlPY1U2GG1Rg\/t5lRS0qu2zEkxW\/ZgWgPd3i0MequsV33YgnQ6\/416cbBWAvNuLs4zpDXzHQwzcZsuei7boRT2zFAehLtzj0sqkeYAqCOABroFscellFt\/g+QfwuyW8nmgMATu0mfh2DTl4lOa8e4pT2CeLJCvsdAViUq+gWhy4W3y2+bxC\/SfL2BHMAwBR0i0Mvi+4W3zeIJwv\/nQkAi\/cqyZvqIYCdbaoHOJVDgvgmXp4D0Jtucehjsd3ihwTxZMG\/MwFgFW6T\/Fw9BLCzn7LAb9zc5wt9HjvP0KJyNuo0ALvzhT4c6zxDIPdlddDDmyzsXvzQjfh93IoD0Jtucehlcd3ih27EE1txoJaNOGN5neT76iGAnbzPcKJyXzzHKA7diCe24gAsw1V0i0MXi+oWP2YjntiKA3VsxBnTyyT\/WT0EsLPvMny\/TWvHbMQTW3EAlkG3OPSyqR5gDMcG8WT4yctHegB0p1sc+lhEt\/gYQfw+fvICoD\/d4tBL+27xY2\/EH7uLLlZgOm7EOQXd4tBL627xMTbiW1cj\/rUAoIJuceildbf4mBvxZHi9+u2Yf0GAT7AR55R0i0MfbbvFxw7iF0n+PeZfEOATBHFOST0v9PJrGm7GxzxNSYaftH4Z+a8JAFO7zwIaGWBFfkjDW\/GxN+KJhy7ANGzEmcJNnFxCF+\/SrEVl7I14os4QgOXw6xn00a5b\/BQb8a2b2CIAp2MjzlSuM\/QVAz18k+FcevZOGcQvMpyoeOgCnIIgzlScXEIvbbrFT3GasnWXZh8PAMATdItDL226xU+5Ed+6iRMVYHw24kxNtzj00aJb\/JQb8a2rDP8wAKCzq\/j1DLo4S\/KqeogvmSKI38WJCgD96RaHXmbfLT7FacqWj\/SAMTlNocpNnFxCF7PuFp9iI751FR\/pAdCfbnHoY9bd4lMG8fskLyb8+wHAKdwm+bl6CGBnP2WmW\/Epg3gyfJz3y8R\/TwAY26sMH3kDPWyqB3jKlDfij90meVbxNwYWw4041S6T\/Kt6CGBnP2ZmgbwqiF\/Et24CxxHEmQNFBNDH7LrFpz5N2bqLe3EA+ruKIgLoYnbd4lVBPBnuxf9R+PcHgGPpFodeZtUtXnWa8tgmwz8UgH04TWFObqJbHLqYTbd45UZ862WSt9VDAMARdItDH7PpFp\/DRjxJzjPcjXu8CezKRpy5uc7QVwz08E2G\/FlmDhvxZLixu4wHLwD0pVscetlUDzCXIJ4MdYZX1UMAwIHu49cx6OTbFP87O5fTlMeukvyzeghg9pymMFe6xaGP0m7xOW3EtzZJfqkeAgAOdBWnltBFabf4HIN4Mrw+\/7V6CAA4gG5x6KWsW3yOpymPbaJjHHia0xTm7ia6xaGLkm7xuW7Et65iMw5AT7rFoY+SbvG5b8S3bmKrAPyZjTgdXEe3OHQyabd4lyB+niGMPyueA5gPQZwOzjPU835dPQiwkzeZ8F587qcpW9sv\/HlTPAcA7EO3OPQyabd4l434Y5t4wAnYiNOLbnHoY7Ju8S4b8ceu4gEnAL1cRbc4dDFZt3jHIJ4I4wD0olscepmkW7zjacpjr5L8n+ohgBJOU+joJlrAoIuTd4t33YhvvUzyY\/UQALAj3eLQx8m7xbsH8WR4vPlj3N4BMH+3SX6uHgLY2U854Va8+2nKY88zfOR3VjwHMA2nKXSlWxx6OVm3+BI24lu3GcL42+pBAOAzdItDLyfrFl\/SRnzrPMO5ir5WWDYbcbrTLQ59nKRbfEkb8a37JC\/iBg+AebuK903QxUm6xZcYxLeuk\/zv+EkOgHnSLQ69jN4tvsTTlI9dZPj471nxHMC4nKawFDfRLQ5djNotvuSN+NZdhkecvxTPAQBP0S0OfYzaLb6GjfhjLzI85FRxCP3ZiLMk1xn6ioEevsmw7D3K2oJ4MnycsImPAaE7QZwl0S0OvYzSLb6G05SP3WX4B\/eP2jEA4He6xaGXUbrF17gRf+x5hu24h5zQj404S6RbHPo4ult8jRvxx7bfxqlzHIA5uIraXeji6G7xtQfxresMR\/dviucAYN10i0MvR3WLr\/005SkvM\/wkqFkF5s1pCkt2E6UC0MXB3eI24n\/1KsM\/zF+L5wBgvXSLQx8Hd4sL4k\/bvl7\/Ls5VAJjebbxfgk5+ygFbcacpu7nK8Dsd\/a4wH05TWDrd4tDL3t3iNuK72eSPdhWv2QGYgm5x6GXvbnEb8f2dZ7jd81XEUMtGnLXQLQ597NUtbiO+v2211DfxoBOA07uKT2Ohi726xQXxw91l+MlRIAfglHSLQy87d4s7TRnPRYZg\/jI6yGEKTgRZHhEAAAFuSURBVFNYm5voFocuduoWF8THt70hv4qX7nBKgjhr8zzJf1cPAezs53zh0yxB\/LSuPvywwYDxCeKs0XWUBUAn32Q4Z36SID6N5xm25C\/ibAXGIoizRrrFoZfPdosL4tM6zxDGXyZ5VjwLdCeIs1aXSf5VPQSwsx8zfCfNXwjidS7yx5bcZgP2J4izZrrFoY9PdosL4vPwPMMtuVAOuxPEWbPzDHenzh2hh1\/zxLduCuLzI5TDbgRx1u5lkv+sHgLY2XcZakh\/J4jP20WGQP4imlfgY4I46BaHTv7SLS6I9\/IiwyOdy3jsCYI46BaHbv7ULS6I93WeIZA\/\/\/BHGxHWRhCHwXV0i0Mnv3eLC+LL8vyjH8I5SyaIw0C3OPTye7e4IL58Fx9+XGb4yfr5hz\/3EzbdCeLwh8voFodOfkyyEcTX7eKjH8kQ1M8f\/e8CO3MliMOf6RaHPt4nuRDEOcRl9QCQjyqggN8\/9QR6uP3\/PmNsa8n3cqMAAAAASUVORK5CYII='}));\n  function lab(x,y,txt){ var t=el('text',{x:x,y:y,'text-anchor':'middle',class:'hub-lab'}); t.textContent=txt; hub.appendChild(t); }\n  lab(HUBX,HUBY-66,'ORQUESTA'); lab(HUBX-57,HUBY+68,'NORMALIZA'); lab(HUBX+57,HUBY+68,'PRIORIZA');\n  svg.appendChild(hub);\n  function makeChip(){ var gg=el('g',{class:'pchip',opacity:'0'}); var rect=el('rect',{x:0,y:-9,height:18,rx:9,ry:9}); var ic=el('path',{class:'cic'}); var tx=el('text',{y:4}); gg.appendChild(rect); gg.appendChild(ic); gg.appendChild(tx); svg.appendChild(gg); return {g:gg,rect:rect,ic:ic,tx:tx}; }\n  var LABELS={ event:'EVENT', alerta:'ALERTA', resuelto:'RESUELTO' }, WIDTHS={ event:60, alerta:66, resuelto:82 };\n  function dressChip(c,kind){ var w=WIDTHS[kind]; var fg=kind==='event'?COL.ev:kind==='alerta'?COL.al:COL.res; var bg=kind==='event'?COL.evbg:kind==='alerta'?COL.albg:COL.resbg; var ln=kind==='event'?COL.evln:kind==='alerta'?COL.alln:COL.resln;\n    c.rect.setAttribute('width',w); c.rect.setAttribute('fill',bg); c.rect.setAttribute('stroke',ln); c.rect.setAttribute('stroke-width','1'); c.ic.setAttribute('d',CHIP_IC[kind]); c.ic.setAttribute('stroke',fg); c.ic.setAttribute('transform','translate(9,0) scale(.5) translate(-12,-12)'); c.tx.setAttribute('x',20); c.tx.setAttribute('fill',fg); c.tx.textContent=LABELS[kind]; c._w=w; }\n  if(reduce){ var stat=[{p:edgesIn[1],k:'event'},{p:edgesIn[4],k:'alerta'},{p:edgesOut[2],k:'resuelto'}];\n    stat.forEach(function(s){ var c=makeChip(); dressChip(c,s.k); var pt=s.p.getPointAtLength(s.p.getTotalLength()*0.5); c.g.setAttribute('opacity','1'); c.g.setAttribute('transform','translate('+(pt.x-c._w\/2)+','+pt.y+')'); }); return; }\n  var POOL=3, chips=[];\n  function pick(){ var side=Math.random()<0.62?'in':'out'; var list=side==='in'?edgesIn:edgesOut; var path=list[Math.floor(Math.random()*list.length)]; var kind=side==='in'?(Math.random()<0.5?'event':'alerta'):'resuelto'; return {path:path,len:path.getTotalLength(),kind:kind,side:side}; }\n  for(var i=0;i<POOL;i++){ var c=makeChip(); var job=pick(); dressChip(c,job.kind); chips.push({c:c,job:job,t:-(i*70+Math.random()*40),sp:1.05+Math.random()*0.35}); }\n  function respawn(ch){ ch.job=pick(); dressChip(ch.c,ch.job.kind); ch.t=-(40+Math.random()*90); ch.sp=1.05+Math.random()*0.35; }\n  var raf=0,tick=0, glowEl=svg.querySelector('.hub-glow'), ring=svg.querySelector('.hub-ring');\n  function frame(){\n    tick++;\n    glowEl.setAttribute('opacity',(0.82+Math.sin(tick*0.03)*0.18).toFixed(3));\n    ring.setAttribute('transform','rotate('+(tick*0.35)+' '+HUBX+' '+HUBY+')');\n    for(var i=0;i<chips.length;i++){ var ch=chips[i]; ch.t+=ch.sp;\n      if(ch.t<0){ ch.c.g.setAttribute('opacity','0'); continue; }\n      if(ch.t>=ch.job.len){ if(ch.job.side==='in') lit(srcNodes[edgesIn.indexOf(ch.job.path)]); else lit(actNodes[edgesOut.indexOf(ch.job.path)]); respawn(ch); continue; }\n      var pt=ch.job.path.getPointAtLength(ch.t); var f=Math.min(ch.t,ch.job.len-ch.t)\/26; if(f>1)f=1;\n      ch.c.g.setAttribute('opacity',f.toFixed(2)); ch.c.g.setAttribute('transform','translate('+(pt.x-ch.c._w\/2)+','+pt.y+')');\n    }\n    raf=requestAnimationFrame(frame);\n  }\n  frame();\n  document.addEventListener('visibilitychange',function(){ if(document.hidden){cancelAnimationFrame(raf);} else {cancelAnimationFrame(raf);frame();} });\n})();\n<\/script>\n<script>\n\/* \u2550\u2550\u2550 Constelaci\u00f3n de integraciones de seguridad (logos reales rotando) \u2550\u2550\u2550 *\/\n(function(){\n  'use strict';\n  var svg=document.getElementById('cxconstel'); if(!svg) return;\n  var NS='http:\/\/www.w3.org\/2000\/svg';\n  var reduce=(window.matchMedia ? window.matchMedia('(prefers-reduced-motion:reduce)').matches : false);\n  function el(n,a){ var e=document.createElementNS(NS,n); if(a) for(var k in a) e.setAttribute(k,a[k]); return e; }\n  function cssv(n){ return getComputedStyle(document.getElementById('rv-cyber')||document.documentElement).getPropertyValue(n).trim(); }\n  \/* integraciones de seguridad de esta p\u00e1gina \u00b7 [nombre, slug del logo] *\/\n  var APPS=[\n    [\"Splunk\",\"splunk\"],[\"Microsoft Sentinel\",\"microsoft-sentinel\"],[\"IBM QRadar\",\"qradar\"],[\"Elastic\",\"elasticsearch\"],[\"Wazuh\",\"wazuh\"],[\"LogRhythm\",\"logrhythm\"],\n    [\"CrowdStrike\",\"crowdstrike\"],[\"SentinelOne\",\"sentinelone\"],[\"Sophos\",\"sophos\"],[\"Microsoft Defender\",\"microsoft-defender\"],[\"Carbon Black\",\"carbon-black\"],[\"Trend Micro\",\"trend-micro\"],\n    [\"Fortinet\",\"fortinet\"],[\"Palo Alto\",\"palo-alto\"],[\"Cisco\",\"cisco\"],[\"Check Point\",\"check-point\"],[\"Cisco Meraki\",\"meraki\"],\n    [\"ServiceNow\",\"servicenow\"],[\"Jira\",\"jira\"],[\"Aranda\",\"aranda\"],[\"Freshdesk\",\"freshdesk\"],[\"Zendesk\",\"zendesk\"],[\"HubSpot\",\"hubspot\"],\n    [\"Microsoft Entra ID\",\"microsoft-entra-id\"],[\"Okta\",\"okta\"],[\"Google Workspace\",\"google-workspace\"],[\"AWS IAM\",\"aws-iam\"],[\"JumpCloud\",\"jumpcloud\"],\n    [\"Microsoft Teams\",\"microsoft-teams\"],[\"WhatsApp\",\"whatsapp\"],[\"Twilio\",\"twilio\"],[\"Telegram\",\"telegram\"],[\"Slack\",\"slack\"],\n    [\"AWS\",\"aws-s3\"],[\"Google Cloud\",\"google-cloud\"],[\"Azure\",\"azure\"],[\"DigitalOcean\",\"digitalocean\"],[\"Kubernetes\",\"kubernetes\"]\n  ];\n  var CX=520,CY=330;\n  var RINGS=[{r:150,n:8,sp:0.00060,dir:1},{r:248,n:10,sp:0.00044,dir:-1},{r:338,n:12,sp:0.00032,dir:1}];\n  var CORAL=cssv('--coral')||'#E4262B', AMBER=cssv('--amber')||'#C8862E';\n  var defs=el('defs');\n  var g=el('radialGradient',{id:'cxGlow',cx:'50%',cy:'50%',r:'50%'});\n  g.appendChild(el('stop',{offset:'0%','stop-color':cssv('--hub-glow'),'stop-opacity':'.5'}));\n  g.appendChild(el('stop',{offset:'55%','stop-color':cssv('--hub-glow-2'),'stop-opacity':'.22'}));\n  g.appendChild(el('stop',{offset:'100%','stop-color':cssv('--hub-glow-2'),'stop-opacity':'0'}));\n  var clip=el('clipPath',{id:'cxClip'}); clip.appendChild(el('circle',{cx:0,cy:0,r:16})); defs.appendChild(clip);\n  defs.appendChild(g); svg.appendChild(defs);\n  RINGS.forEach(function(rg){ svg.appendChild(el('circle',{cx:CX,cy:CY,r:rg.r,class:'cx-orbit'})); });\n  var linkLayer=el('g'); svg.appendChild(linkLayer);\n  var glow=el('circle',{cx:CX,cy:CY,r:150,class:'cx-glow'}); svg.appendChild(glow);\n  var LOGO=''; \/* logos locales no disponibles en WP: los chips muestran iniciales *\/\n  var displayed={};\n  function initials(n){ var w=n.replace(\/[^A-Za-z0-9 ]\/g,' ').trim().split(\/\\s+\/); return (w.length>=2 ? (w[0][0]+w[1][0]) : n.replace(\/[^A-Za-z0-9]\/g,'').slice(0,2)).toUpperCase(); }\n  function pickEntry(){ var e,tr=0; do{ e=APPS[Math.floor(Math.random()*APPS.length)]; tr++; }while(displayed[e[1]] ? tr<50 : false); return e; }\n  function setChip(c,e){ if(c.slug) delete displayed[c.slug]; c.slug=e[1]; c.name=e[0]; displayed[c.slug]=1; c.tx.textContent=initials(e[0]); c.img.style.opacity='0'; c.tx.style.opacity='1'; if(LOGO){ c.img.setAttribute('href',LOGO+c.slug+'.png'); } }\n  var chips=[];\n  RINGS.forEach(function(rg,ri){\n    for(var i=0;i<rg.n;i++){\n      var gg=el('g',{class:'cx-chip'});\n      var cir=el('circle',{r:18}); gg.appendChild(cir);\n      var tx=el('text'); gg.appendChild(tx);\n      var img=el('image',{x:-17,y:-17,width:34,height:34,'clip-path':'url(#cxClip)',preserveAspectRatio:'xMidYMid meet',opacity:0});\n      (function(im,txt){ im.addEventListener('load',function(){ txt.style.opacity='0'; im.style.opacity='1'; }); im.addEventListener('error',function(){ im.style.opacity='0'; txt.style.opacity='1'; }); })(img,tx);\n      gg.appendChild(img); svg.appendChild(gg);\n      var c={g:gg,ring:ri,base:(i\/rg.n)*Math.PI*2 + ri*0.4,name:'',slug:'',x:CX,y:CY,on:0,cir:cir,tx:tx,img:img};\n      setChip(c,pickEntry()); chips.push(c);\n    }\n  });\n  var DIA=46, core=el('g');\n  core.appendChild(el('rect',{x:CX-DIA,y:CY-DIA,width:DIA*2,height:DIA*2,rx:18,ry:18,class:'cx-diamond',transform:'rotate(45 '+CX+' '+CY+')'}));\n  var cring=el('circle',{cx:CX,cy:CY,r:26,class:'cx-ring'}); core.appendChild(cring);\n  var CRS=42; core.appendChild(el('image',{x:CX-CRS\/2,y:CY-CRS\/2,width:CRS,height:CRS,preserveAspectRatio:'xMidYMid meet',href:'data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuIAAAK4CAYAAAAx9piuAAAACXBIWXMAACE3AAAhNwEzWJ96AAAgAElEQVR4nO3dz3Ecd7Yl4KOOtwfGAkEWkG2BIAvEsUCQBcO2QNBmto+yoEsWPMqCBi14oAUNWvDA7Wwwi2RJEAWS9Scrb97M74tgqNUdId1QtMjDW\/d36quHh4ebAADMx92HH7v8bzcnnQRO6KuHh4eH6iEAAI70Psnth\/988+iP94\/+e5gVQRwAWIN3GTbpNx\/+eBsBnWKCOACwZm\/yRygXzpmUIA4A8If3Gbbm2x+COScjiAMAfNrjYP46n35ECnsTxAEAdvcuQyB\/HY0tHEkQBwA4zPv8EcpfF89CQ4I4AMDxtqF8E5tydiSIAwCMa3u+8ipuyvkMQRwA4HTeZNiSb2rHYI4EcQCA03ufIYzbkvM7QRwAYFq\/ZQjkN8VzUEwQBwCo8TZDIN8Uz0ERQRwAoNa7JNcRyFfnb9UDAACs3NdJ\/pnhdvyqdBImJYgDAMyDQL4ygjgAwLwI5CvhRhwAYN7eJnkZLSuLYyMOADBvz5L8K8O3dV7UjsKYBHEAgB6+T\/LvDA0r57WjMAanKQAA\/bzLcK7yunoQDieIAwD09SbDg8672jE4hNMUAIC+vk1ym2E7TjM24gAAy2A73oyNOADAMtiON2MjDgCwPLbjDdiIAwAsz3Y7\/qJ6ED5NEAcAWKazJP+VZBO947PkNAUAYPneZjhVuS2eg0dsxAEAlu9ZkpsMYZyZEMQBANbhLMk\/k7yqHoSB0xQAgPV5k+Eh5331IGtmIw4AsD7bVpXn1YOsmSAOALBOX2e4G1dxWEQQBwBYr23F4VXxHKskiAMA8M8MfeNMSBAHACBJfogwPimtKQAAPPY2yWU0qpycjTgAAI9tv\/znvHiOxRPEAQD4mDA+AUEcAICnCOMnJogDAPApwvgJCeIAAHyOMH4igjgAAF8ijJ+AIA4AwC6E8ZEJ4gAA7EoYH5EgDgDAPoTxkQjiAADs61mSV9VDdCeIAwBwiB+SbKqH6EwQBwDgUD8keVk9RFdfPTw8PFQPAQBAaz\/GdnxvgjgAAMd6n+QyyW3xHK0I4gAAjOF9kosk98VztOFGHACAMZxlqDVkR4I4AABjeRa34jsTxAEAGNMPSa6qh+jAjTgAAGPzeHMHNuIAAIztLMOJynnxHLMmiAMAcArPkryqHmLOBHEAAE7FvfhnuBEHAOCU3id5nuSueI7ZsREHAOCUzpK8rh5ijgRxAABO7VmS6+oh5sZpCgAAU\/l7VBr+zkYcAICpbKoHmBNBHACAqThRecRpCgAAU\/smWlRsxAEAmNymeoA5EMQBAJjat\/FFP05TAAAo8T7JRZL74jnK2IgDAFDhLCt\/uGkjDgBApdV2i9uIAwBQ6VX1AFUEcQAAKn2b5EX1EBWcpgAAUO1dhoebq2IjDgBAta+TvKweYmo24gAAzMHq6gxtxAEAmIOzrGwrbiMOAMBcrGorbiMOAMBcrGorbiMOAMCcrGYrbiMOAMCcrGYrbiMOAMDcrGIrbiMOAMDcnCW5qh7i1GzEAQCYo8V\/26aNOAAAc\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\/8OPi0Q+Yg\/+X5OfqIWDm7qoH2IcgDqzdeZKrJJdJvi+dBL7s\/ya5qR4CGIcgDqzVZZKXEb7pZZPhE5v74jmAEbgRB9bmMsNG8V8Rwunn6wy\/gQQWQBAH1uIiyesMAfzb2lHgKD9l2IoDzQniwBpcJbmNDTjL8ap6AOB4gjiwdJsk\/0xyVjwHjOnbOFGB9gRxYKnOM9yC\/1A8B5zKdYb\/nwNNCeLAEm1DuFtwluwswyc+QFOCOLA02xD+rHgOmML3GZqAgIYEcWBpXkUIZ102caICLQniwJK8jJtw1ke3ODT11cPDw0P1ENDAd\/G10nP3PMl\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\/iEC+SoI40NVX1QOM6DJDML\/88OOscBZgeu8z\/Mb8vngOJiaIA10tKYh\/bBvKr5I8K50EmMpvSV5UD8G0BHGgqyUH8ccuMvzi\/DLOWGDpvktyUz0E0xHEga7WEsQfu8ywJf+hdgzgRN5l+ETMicpKaE0B6OMmQxD\/JskvGe5KgeXQLb4yNuJAV2vciH\/sPMMv2j9VDwKM6u9JbquH4PQEcaArQfwPFxmqz74vngMYx5sMp2gsnNMUgP7uMjzo\/C7DjSnQ27dxorIKNuJAVzbin3Yd5yrQnW7xFbARB1ie6ww3prbj0NdZkk31EJyWIA6wTLcZatB+qx4EONj3cSu+aII4wHLdZ7gd\/0f1IMDBNhkaklggQRxg+V5leMipdxz60S2+YB5rAl15rLm\/5xm+FOiseA5gf7rFF8hGHGA9bjPcm74tngPY36vqARifIA6wLsI49KRbfIGcpgBdOU05znmGLwJypgJ96BZfGBtxgHW6z7AZ94AT+tAtvjA24kBXNuLj8IAT+vkuw7+3NGcjDrBut3F3Ct1solt8EQRxADZJfqkeAtiZbvGFcJoCdOU0ZXw3GZoZgB50izcniANdCeLj06QCvbzJ8OiappymALB1n+SqeghgZ7rFm7MRB7qyET+d10m+rx4C2Ilu8cZsxAH42FX0i0MXusUbE8QB+Nh9kuvqIYCdfR+34i05TQG6cppyejfRogJdvMvwBV1OVBqxEQfgUzwCgz50izckiAPwKbdJfq4eAtjZTxm24jThNAXoymnKNM4zBPKvqwcBdqJbvBEbcQA+R7c49KJbvBEbcaArG\/Fp6RaHPnSLN2EjDsAurqJbHLrQLd6EIA7ALnSLQy+6xRtwmgJ05TSlxk10i0MXusVnzkYcgH14BAZ96BafOUEcgH3oFodedIvPmNMUoCunKXV0i0MvusVnykYcgH3pFodedIvPlI040JWNeD3d4tCHbvEZshEH4FBX0S0OXegWnyFBHIBD6RaHXnSLz4zTFKArpynzcRPd4tCFbvEZsREH4FgegUEfusVnRBAH4Fi6xaEX3eIz4TQF6MppyrzoFodedIvPgI04AGPQLQ696BafARtxoCsb8XnSLQ596BYvZiMOwJiuolscujhL8qp6iDUTxAEYk25x6OWHuBUv4zQF6MppyrzdRLc4dPEuw4kKE7MRB+AUPAKDPr6OT7JK2IgDXdmIz991hr5ioIdvktxVD7EmgjjQlSA+f7rFoRfd4hNzmgLAqegWh16+jX9nJ2UjDnRlI96HbnHoQ7f4hGzEATi1q+gWhy50i09IEAfg1HSLQy+6xSfiNAXoymlKPzfRLQ5d6BafgI04AFPRLQ596BafgI040JWNeE\/X0S0OnegWP6G\/xQMaAKbzKsNH3kAPm+oBluxvGb5sAQCmoFscetEtfkJuxAGY2k2S36qHAHb2KsM35TIyQRyACldxGgld6BY\/EUEcgAq6xaEX3eIn8LcMHxECwNReJXlTPQSws031AEtjIw5AJd3i0Idu8ZEJ4gBUuk3yc\/UQwM5+im\/cHI3TFACq6RaHXjbVAyyFjTgA1XSLQy+6xUfy1cPDw0WSf1cPArAnX3G\/PK+TfF89BLCT9xlOVO6L52jtq4eHhyR5qB4EYE+C+PKcJ7nL0FkMzN+vsRk\/yvY0xW0eANV0i0MvusWPtA3id5VDAMAHusWhl031AJ0J4gDMjW5x6EO3+BEEcQDmRrc49KJb\/EDbIH5TOQQAfES3OPSyqR6go20QVz0DwJzoFodedIsfYFtfmKgwBHpRX7gOusWhD93ie3r8zZpvy6YAgKddZfjFHZi\/swxnZezocRC\/LZsCAJ6mWxx60S2+h8dB\/K5qCAD4DN3i0MumeoAuHgfxm6ohAOALdItDH7rFd\/T4seZ5kv8pnAVgHx5rrs91hr5ioIdv4uLisx5vxO+jsxWA+dItDr1sqgeYu7999Oc3FUMAwA50i0MvusW\/4OMgrjkFgDm7SfJb9RDAzl5lOH\/mCTbiAHRzFd3i0IVu8c94aiPuJzcA5ky3OPSiW\/wTPg7iia04APOnWxx62VQPMEeCOABd6RaHPnSLP0EQB6Cr2yQ\/Vw8B7OynJBfVQ8zJ4y\/0eewuw+9cAObKF\/qQDG0Mt\/FrFnTxJu7Ff\/fURjyxFQegB93i0Itu8UcEcQC6u4lucehEt\/gHnzpNOU\/yPxPPArAPpyk8dp7hrPKseA5gN7\/GZvyTG\/H7qIUCoA\/d4tCLbvF8OognyevJpgCA4+kWh1421QNUE8QBWBLd4tDH6rvFPxfE75K8nWgOABiDbnHoZdXd4p8L4omPDADo51WSd9VDADvbVA9Q5UtB3HkKAN3oFodeVtst\/qn6wsdukzybYBaAfagv5EteJ\/m+eghgJ+8znKjcF88xqS9txJPhIz4A6OYqwy\/uwPydZYWZc5cg7jwFgI50i0Mvq+sW3+U0JfHxHjA\/TlPY1U2GG1Rg\/t5lRS0qu2zEkxW\/ZgWgPd3i0MequsV33YgnQ6\/416cbBWAvNuLs4zpDXzHQwzcZsuei7boRT2zFAehLtzj0sqkeYAqCOABroFscellFt\/g+QfwuyW8nmgMATu0mfh2DTl4lOa8e4pT2CeLJCvsdAViUq+gWhy4W3y2+bxC\/SfL2BHMAwBR0i0Mvi+4W3zeIJwv\/nQkAi\/cqyZvqIYCdbaoHOJVDgvgmXp4D0Jtucehjsd3ihwTxZMG\/MwFgFW6T\/Fw9BLCzn7LAb9zc5wt9HjvP0KJyNuo0ALvzhT4c6zxDIPdlddDDmyzsXvzQjfh93IoD0Jtucehlcd3ih27EE1txoJaNOGN5neT76iGAnbzPcKJyXzzHKA7diCe24gAsw1V0i0MXi+oWP2YjntiKA3VsxBnTyyT\/WT0EsLPvMny\/TWvHbMQTW3EAlkG3OPSyqR5gDMcG8WT4yctHegB0p1sc+lhEt\/gYQfw+fvICoD\/d4tBL+27xY2\/EH7uLLlZgOm7EOQXd4tBL627xMTbiW1cj\/rUAoIJuceildbf4mBvxZHi9+u2Yf0GAT7AR55R0i0MfbbvFxw7iF0n+PeZfEOATBHFOST0v9PJrGm7GxzxNSYaftH4Z+a8JAFO7zwIaGWBFfkjDW\/GxN+KJhy7ANGzEmcJNnFxCF+\/SrEVl7I14os4QgOXw6xn00a5b\/BQb8a2b2CIAp2MjzlSuM\/QVAz18k+FcevZOGcQvMpyoeOgCnIIgzlScXEIvbbrFT3GasnWXZh8PAMATdItDL226xU+5Ed+6iRMVYHw24kxNtzj00aJb\/JQb8a2rDP8wAKCzq\/j1DLo4S\/KqeogvmSKI38WJCgD96RaHXmbfLT7FacqWj\/SAMTlNocpNnFxCF7PuFp9iI751FR\/pAdCfbnHoY9bd4lMG8fskLyb8+wHAKdwm+bl6CGBnP2WmW\/Epg3gyfJz3y8R\/TwAY26sMH3kDPWyqB3jKlDfij90meVbxNwYWw4041S6T\/Kt6CGBnP2ZmgbwqiF\/Et24CxxHEmQNFBNDH7LrFpz5N2bqLe3EA+ruKIgLoYnbd4lVBPBnuxf9R+PcHgGPpFodeZtUtXnWa8tgmwz8UgH04TWFObqJbHLqYTbd45UZ862WSt9VDAMARdItDH7PpFp\/DRjxJzjPcjXu8CezKRpy5uc7QVwz08E2G\/FlmDhvxZLixu4wHLwD0pVscetlUDzCXIJ4MdYZX1UMAwIHu49cx6OTbFP87O5fTlMeukvyzeghg9pymMFe6xaGP0m7xOW3EtzZJfqkeAgAOdBWnltBFabf4HIN4Mrw+\/7V6CAA4gG5x6KWsW3yOpymPbaJjHHia0xTm7ia6xaGLkm7xuW7Et65iMw5AT7rFoY+SbvG5b8S3bmKrAPyZjTgdXEe3OHQyabd4lyB+niGMPyueA5gPQZwOzjPU835dPQiwkzeZ8F587qcpW9sv\/HlTPAcA7EO3OPQyabd4l434Y5t4wAnYiNOLbnHoY7Ju8S4b8ceu4gEnAL1cRbc4dDFZt3jHIJ4I4wD0olscepmkW7zjacpjr5L8n+ohgBJOU+joJlrAoIuTd4t33YhvvUzyY\/UQALAj3eLQx8m7xbsH8WR4vPlj3N4BMH+3SX6uHgLY2U854Va8+2nKY88zfOR3VjwHMA2nKXSlWxx6OVm3+BI24lu3GcL42+pBAOAzdItDLyfrFl\/SRnzrPMO5ir5WWDYbcbrTLQ59nKRbfEkb8a37JC\/iBg+AebuK903QxUm6xZcYxLeuk\/zv+EkOgHnSLQ69jN4tvsTTlI9dZPj471nxHMC4nKawFDfRLQ5djNotvuSN+NZdhkecvxTPAQBP0S0OfYzaLb6GjfhjLzI85FRxCP3ZiLMk1xn6ioEevsmw7D3K2oJ4MnycsImPAaE7QZwl0S0OvYzSLb6G05SP3WX4B\/eP2jEA4He6xaGXUbrF17gRf+x5hu24h5zQj404S6RbHPo4ult8jRvxx7bfxqlzHIA5uIraXeji6G7xtQfxresMR\/dviucAYN10i0MvR3WLr\/005SkvM\/wkqFkF5s1pCkt2E6UC0MXB3eI24n\/1KsM\/zF+L5wBgvXSLQx8Hd4sL4k\/bvl7\/Ls5VAJjebbxfgk5+ygFbcacpu7nK8Dsd\/a4wH05TWDrd4tDL3t3iNuK72eSPdhWv2QGYgm5x6GXvbnEb8f2dZ7jd81XEUMtGnLXQLQ597NUtbiO+v2211DfxoBOA07uKT2Ohi726xQXxw91l+MlRIAfglHSLQy87d4s7TRnPRYZg\/jI6yGEKTgRZHhEAAAFuSURBVFNYm5voFocuduoWF8THt70hv4qX7nBKgjhr8zzJf1cPAezs53zh0yxB\/LSuPvywwYDxCeKs0XWUBUAn32Q4Z36SID6N5xm25C\/ibAXGIoizRrrFoZfPdosL4tM6zxDGXyZ5VjwLdCeIs1aXSf5VPQSwsx8zfCfNXwjidS7yx5bcZgP2J4izZrrFoY9PdosL4vPwPMMtuVAOuxPEWbPzDHenzh2hh1\/zxLduCuLzI5TDbgRx1u5lkv+sHgLY2XcZakh\/J4jP20WGQP4imlfgY4I46BaHTv7SLS6I9\/IiwyOdy3jsCYI46BaHbv7ULS6I93WeIZA\/\/\/BHGxHWRhCHwXV0i0Mnv3eLC+LL8vyjH8I5SyaIw0C3OPTye7e4IL58Fx9+XGb4yfr5hz\/3EzbdCeLwh8voFodOfkyyEcTX7eKjH8kQ1M8f\/e8CO3MliMOf6RaHPt4nuRDEOcRl9QCQjyqggN8\/9QR6uP3\/PmNsa8n3cqMAAAAASUVORK5CYII='}));\n  function clab(dy,txt){ var t=el('text',{x:CX,y:CY+dy,class:'cx-sub'}); t.textContent=txt; core.appendChild(t); }\n  clab(-DIA-26,'ORQUESTA'); clab(DIA+32,'SINCRONIZA');\n  svg.appendChild(core);\n  var LPOOL=4, links=[];\n  function mkLink(){ var line=el('path',{class:'cx-link'}); var pk=el('circle',{r:3.4,class:'cx-packet'}); var nm=el('text',{class:'cx-name'}); linkLayer.appendChild(line); svg.appendChild(pk); svg.appendChild(nm); return {line:line,pk:pk,nm:nm,target:-1,state:'idle',t:0,dur:0,dirOut:true}; }\n  for(var i=0;i<LPOOL;i++){ var L=mkLink(); L.t=-(i*40+20); links.push(L); }\n  function freeTool(){ var used={}; links.forEach(function(l){ if(l.target>=0) used[l.target]=1; }); var tries=0,j; do{ j=Math.floor(Math.random()*chips.length); tries++; }while(used[j] ? tries<20 : false); return j; }\n  function layout(tk){ for(var i=0;i<chips.length;i++){ var c=chips[i], rg=RINGS[c.ring]; var a=c.base + rg.sp*rg.dir*tk; c.x=CX+Math.cos(a)*rg.r; c.y=CY+Math.sin(a)*rg.r; c.g.setAttribute('transform','translate('+c.x.toFixed(1)+','+c.y.toFixed(1)+')'); } }\n  if(reduce){ layout(0); [3,12,21].forEach(function(ci,k){ var c=chips[ci]; var l=links[k]; l.target=ci; l.line.setAttribute('d','M'+CX+','+CY+' L'+c.x+','+c.y); l.line.setAttribute('stroke',k%2?AMBER:CORAL); l.line.setAttribute('opacity','.5'); c.g.classList.add('on'); }); return; }\n  var raf=0,tick=0, SWAP_GAP=84, pendingSwap=null;\n  function frame(){\n    tick++;\n    layout(tick);\n    glow.setAttribute('opacity',(0.8+Math.sin(tick*0.02)*0.2).toFixed(3));\n    cring.setAttribute('transform','rotate('+(tick*0.4)+' '+CX+' '+CY+')');\n    for(var i=0;i<chips.length;i++){ if(chips[i].on>0){ chips[i].on-=1; if(chips[i].on<=0) chips[i].g.classList.remove('on'); } }\n    if(pendingSwap ? tick>=pendingSwap.at : false){ setChip(pendingSwap.c,pickEntry()); pendingSwap=null; }\n    if(!pendingSwap ? tick%SWAP_GAP===0 : false){ var pk=0,tr=0; do{ pk=Math.floor(Math.random()*chips.length); tr++; }while(chips[pk].on>0 ? tr<12 : false); var sc=chips[pk]; sc.img.style.opacity='0'; sc.tx.style.opacity='0'; pendingSwap={c:sc,at:tick+28}; }\n    for(var k=0;k<links.length;k++){ var L=links[k]; L.t++;\n      if(L.state==='idle'){ if(L.t>=0){ L.target=freeTool(); L.state='in'; L.t=0; L.dur=26; L.dirOut=(k%2===0); } else { L.line.setAttribute('opacity','0'); L.pk.setAttribute('opacity','0'); L.nm.setAttribute('opacity','0'); continue; } }\n      var c=chips[L.target]; if(!c){ L.state='idle'; L.t=-30; continue; }\n      var col = L.dirOut ? CORAL : AMBER;\n      L.line.setAttribute('d','M'+CX+','+CY+' L'+c.x.toFixed(1)+','+c.y.toFixed(1)); L.line.setAttribute('stroke',col);\n      c.g.classList.add('on'); c.on=3;\n      if(L.state==='in'){ var p=L.t\/L.dur; L.line.setAttribute('opacity',(p*0.85).toFixed(2)); L.line.setAttribute('stroke-width',(1+p*0.6).toFixed(2)); if(L.t>=L.dur){ L.state='hold'; L.t=0; L.dur=90; } }\n      else if(L.state==='hold'){ L.line.setAttribute('opacity','0.85'); L.line.setAttribute('stroke-width','1.6'); var q=(L.t%45)\/45; var tp=L.dirOut?q:(1-q); var px=CX+(c.x-CX)*tp, py=CY+(c.y-CY)*tp; L.pk.setAttribute('cx',px.toFixed(1)); L.pk.setAttribute('cy',py.toFixed(1)); L.pk.setAttribute('fill',col); L.pk.setAttribute('opacity','1'); var off=(c.y<CY?-26:26); L.nm.setAttribute('x',c.x.toFixed(1)); L.nm.setAttribute('y',(c.y+off).toFixed(1)); L.nm.textContent=c.name; L.nm.setAttribute('opacity','0.9'); if(L.t>=L.dur){ L.state='out'; L.t=0; L.dur=24; } }\n      else if(L.state==='out'){ var o=1-L.t\/L.dur; L.line.setAttribute('opacity',(o*0.85).toFixed(2)); L.pk.setAttribute('opacity',o.toFixed(2)); L.nm.setAttribute('opacity',(o*0.9).toFixed(2)); if(L.t>=L.dur){ L.state='idle'; L.t=-(20+Math.floor(Math.random()*60)); L.target=-1; } }\n    }\n    raf=requestAnimationFrame(frame);\n  }\n  frame();\n  document.addEventListener('visibilitychange',function(){ if(document.hidden){cancelAnimationFrame(raf);} else {cancelAnimationFrame(raf);frame();} });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Inicio Soluciones Ciberseguridad Soluciones \u00b7 Ciberseguridad Operaciones de seguridad orquestadas por IA: triaje, respuesta y escalamiento en una sola plataforma BOAT Ruvic orquesta tus operaciones de ciberseguridad de punta a punta: triaje inteligente de alertas, automatizaci\u00f3n de flujos de respuesta, escalamiento multicanal y gesti\u00f3n de incidentes, todo coordinado por agentes especializados sobre un motor multi-LLM&#8230;.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"hide","_kad_post_feature":"hide","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-6009","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages\/6009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/comments?post=6009"}],"version-history":[{"count":10,"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages\/6009\/revisions"}],"predecessor-version":[{"id":6894,"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages\/6009\/revisions\/6894"}],"wp:attachment":[{"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/media?parent=6009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}