{"id":6958,"date":"2026-08-14T18:38:18","date_gmt":"2026-08-14T18:38:18","guid":{"rendered":"https:\/\/ruvic.ai\/?page_id=6958"},"modified":"2026-08-28T19:42:39","modified_gmt":"2026-08-28T19:42:39","slug":"retail","status":"publish","type":"page","link":"https:\/\/ruvic.ai\/en\/retail\/","title":{"rendered":"Retail"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n.breadcrumb-wrap {\n  width: 100%;\n  background-color: #FBF6EC;\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: #F2E9D8;\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: #7A6E58;\n}\n\n.breadcrumb-pill a {\n  color: #7A6E58;\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: #7A6E58;\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: #101630;\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\">Retail<\/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<!--\n=====================================================================\nRUVIC AI \u00b7 SOLUCIONES POR INDUSTRIA \u2014 bloque HTML para WordPress\n=====================================================================\nAdaptado desde ruvic-retail.html. Sin nav\/breadcrumb\/footer del sitio.\nCSS aislado bajo #ruvic-ind-retail. Arreglado el <script><script> duplicado que\nmataba la animacion del pipeline. Los && de los scripts se\nreescribieron sin el caracter \"&\" (WordPress lo convierte a\n&#038; al guardar y rompe la sintaxis - mismo bug que en\nruvic-equipos-de-ti). Icono ..\/assets\/icon-white.png reemplazado\npor el mismo base64 que ya usa el resto del sitio.\nEnlaces \/plataforma\/xxx\/ corregidos a su URL final (evita el salto\nde redireccion; motor-ia\/ estaba directamente roto, 404).\nJSON-LD: se quito solo el BreadcrumbList (apuntaba a \/soluciones\/,\nque no existe como pagina), Service y FAQPage quedan intactos.\n=====================================================================\n-->\n\n<style>\n\/* =====================================================================\n   RUVIC \u2014 KIT v1 \"Mezcla A+B\" \u00b7 Soluciones \/ Salud\n   ===================================================================== *\/\n#ruvic-ind-retail{\n  --navy:#0E1632;\n  --navy-card:#131B3D;\n  --coral:#FF363A;\n  --coral-action:#E4262B;\n  --amber:#FDAA4C;\n  --amber-text:#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  --muted:#4A5170;\n  --muted-navy:rgba(255,255,255,.66);\n  --ok:#189A4A;\n  --display:\"Syne\",system-ui,sans-serif;\n  --body:\"DM Sans\",system-ui,sans-serif;\n  --mono:\"JetBrains Mono\",ui-monospace,monospace;\n  --maxw:1200px;\n}#ruvic-ind-retail *{box-sizing:border-box;margin:0;padding:0}#ruvic-ind-retail{\n  background:var(--cream);\n  color:var(--navy);\n  font-family:var(--body);\n  font-size:1rem;\n  line-height:1.7;\n  -webkit-font-smoothing:antialiased;\n  overflow-x:hidden;\n}#ruvic-ind-retail a{color:inherit;text-decoration:none}#ruvic-ind-retail img{max-width:100%;display:block}#ruvic-ind-retail .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}#ruvic-ind-retail .section{padding:112px 0}#ruvic-ind-retail .section--white{background:var(--white)}\/* ---------- Tipograf\u00eda ---------- *\/\n#ruvic-ind-retail .kicker{\n  font-family:var(--mono);\n  font-size:.72rem;\n  font-weight:500;\n  letter-spacing:.14em;\n  text-transform:uppercase;\n  color:var(--coral-action);\n  display:block;\n  margin-bottom:16px;\n}#ruvic-ind-retail h1,#ruvic-ind-retail h2,#ruvic-ind-retail h3{font-family:var(--display);font-weight:600}#ruvic-ind-retail h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.02;letter-spacing:-.03em}#ruvic-ind-retail h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:18px}#ruvic-ind-retail h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.015em;margin-bottom:10px}#ruvic-ind-retail .lead{font-size:1.15rem;line-height:1.6;color:var(--muted);max-width:700px}#ruvic-ind-retail .accent{color:var(--coral-action)}#ruvic-ind-retail .head{max-width:780px}\/* ---------- Botones ---------- *\/\n#ruvic-ind-retail .btn{\n  display:inline-flex;align-items:center;gap:8px;\n  font-family:var(--body);font-weight:600;font-size:14px;\n  padding:13px 24px;border-radius:999px;border:1px solid transparent;\n  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;\n  white-space:nowrap;\n}#ruvic-ind-retail .btn--primary{background:var(--coral-action);color:#fff}#ruvic-ind-retail .btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(228,38,43,.55)}#ruvic-ind-retail .btn--ghost{background:transparent;border-color:rgba(14,22,50,.25);color:var(--navy)}#ruvic-ind-retail .btn--ghost:hover{transform:translateY(-2px);background:rgba(14,22,50,.05)}#ruvic-ind-retail .btn--ghost-dark{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}#ruvic-ind-retail .btn--ghost-dark:hover{transform:translateY(-2px);background:rgba(255,255,255,.08)}\/* ---------- Nav ---------- *\/\n#ruvic-ind-retail header{\n  position:sticky;top:0;z-index:60;\n  background:rgba(255,255,255,.88);\n  backdrop-filter:saturate(140%) blur(14px);\n  -webkit-backdrop-filter:saturate(140%) blur(14px);\n  border-bottom:1px solid var(--line);\n}#ruvic-ind-retail .nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}#ruvic-ind-retail .logo{display:inline-flex;align-items:center;gap:10px}#ruvic-ind-retail .logo__box{\n  width:34px;height:34px;border-radius:9px;background:var(--navy);\n  display:grid;place-items:center;position:relative;\n  color:#fff;font-family:var(--display);font-weight:600;font-size:1.05rem;\n}#ruvic-ind-retail .logo__box i{position:absolute;right:5px;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--coral);font-style:normal}#ruvic-ind-retail .logo__name{font-family:var(--display);font-weight:600;font-size:1.08rem;letter-spacing:-.01em}#ruvic-ind-retail .nav__links{display:flex;gap:26px;font-size:.92rem;font-weight:500;color:var(--muted)}#ruvic-ind-retail .nav__links a:hover{color:var(--navy)}#ruvic-ind-retail .nav__cta{display:flex;gap:12px;align-items:center}@media(max-width:940px){#ruvic-ind-retail .nav__links{display:none}#ruvic-ind-retail .nav__cta .btn--ghost{display:none}}\/* ---------- Breadcrumb ---------- *\/\n#ruvic-ind-retail .breadcrumb{font-family:var(--mono);font-size:12px;color:var(--muted);padding:16px 0}#ruvic-ind-retail .breadcrumb a:hover{color:var(--navy)}\/* ---------- HERO NAVY ---------- *\/\n#ruvic-ind-retail .hero{\n  position:relative;background:var(--navy);color:#fff;overflow:hidden;\n  border-radius:22px 22px 0 0;\n}#ruvic-ind-retail .hero::before{\n  content:\"\";position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(52% 46% at 82% 4%, rgba(255,54,58,.04), transparent 70%);\n}#ruvic-ind-retail .hero__grid{\n  position:relative;z-index:1;\n  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;\n  padding:92px 24px 76px;\n}#ruvic-ind-retail .hero .kicker{color:var(--amber)}#ruvic-ind-retail .hero h1{color:#fff;margin-bottom:22px}#ruvic-ind-retail .hero h1 .accent{color:var(--coral)}#ruvic-ind-retail .hero__p{font-size:1.15rem;line-height:1.6;color:rgba(255,255,255,.72);max-width:580px;margin-bottom:32px}#ruvic-ind-retail .hero__cta{display:flex;gap:14px;flex-wrap:wrap}#ruvic-ind-retail .hero__trust{\n  display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:28px;\n  font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;\n  color:rgba(255,255,255,.66);\n}#ruvic-ind-retail .hero__trust b{color:#fff;font-weight:500}#ruvic-ind-retail .hero__trust .dot{color:rgba(255,255,255,.3)}@media(max-width:900px){#ruvic-ind-retail .hero__grid{grid-template-columns:1fr;gap:44px;padding-top:72px}}\/* ---------- Consola Command Center \u00b7 Llamada en vivo ---------- *\/\n#ruvic-ind-retail .console{\n  background:var(--navy-card);\n  border:1px solid rgba(255,255,255,.09);\n  border-radius:16px;\n  padding:20px;\n  box-shadow:0 40px 90px -40px rgba(0,0,0,.75);\n}#ruvic-ind-retail .console__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:14px}#ruvic-ind-retail .console__title{font-family:var(--display);font-weight:600;font-size:13px;color:#fff}#ruvic-ind-retail .live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--amber)}#ruvic-ind-retail .live i{width:8px;height:8px;border-radius:50%;background:var(--amber);animation:pulse 1.8s infinite}\n@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(253,170,76,.5)}70%{box-shadow:0 0 0 8px rgba(253,170,76,0)}100%{box-shadow:0 0 0 0 rgba(253,170,76,0)}}#ruvic-ind-retail .cc__meta{\n  display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:start;\n  padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:14px;\n}#ruvic-ind-retail .cc__meta .label{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}#ruvic-ind-retail .cc__meta .value{font-weight:600;font-size:.85rem;color:#fff;margin-top:2px;line-height:1.4}#ruvic-ind-retail .cc__time{font-family:var(--mono);font-size:.85rem;font-weight:500;color:var(--amber);align-self:center}#ruvic-ind-retail .cc__tr{display:flex;flex-direction:column;gap:11px;min-height:236px}#ruvic-ind-retail .cc-line{display:flex;flex-direction:column;gap:3px}#ruvic-ind-retail .cc-line .speaker{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}#ruvic-ind-retail .cc-line--ruvic .speaker{color:var(--amber)}#ruvic-ind-retail .cc-line--patient .speaker{color:rgba(255,255,255,.5)}#ruvic-ind-retail .cc-line .text{\n  font-size:.85rem;line-height:1.5;color:rgba(255,255,255,.9);\n  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);\n  border-radius:12px;padding:9px 12px;\n}#ruvic-ind-retail .cc-line--ruvic .text{background:rgba(253,170,76,.08);border-color:rgba(253,170,76,.2)}#ruvic-ind-retail .cc-line .text em{font-style:normal;font-weight:600;color:var(--amber)}#ruvic-ind-retail .cc__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09);min-height:60px;align-content:flex-start}#ruvic-ind-retail .tag{font-size:.68rem;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}#ruvic-ind-retail .tag--ok{background:rgba(253,170,76,.16);color:var(--amber)}#ruvic-ind-retail .tag--live{background:rgba(255,255,255,.10);color:#fff}#ruvic-ind-retail .tag--esc{background:rgba(255,54,58,.16);color:#FF7A7D}#ruvic-ind-retail .cc-line.enter{animation:lineIn .42s cubic-bezier(.2,.7,.2,1) both}#ruvic-ind-retail .tag.pop{animation:chipPop .34s ease both}\n@keyframes lineIn{from{transform:translateY(9px)}to{transform:none}}\n@keyframes chipPop{from{transform:scale(.85)}to{transform:none}}#ruvic-ind-retail .console__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09);font-size:.8rem;color:var(--muted-navy)}#ruvic-ind-retail .console__foot b{color:#fff;font-family:var(--display);font-weight:600}@media(max-width:480px){#ruvic-ind-retail .cc__meta{grid-template-columns:1fr 1fr}#ruvic-ind-retail .cc__time{grid-column:1 \/ -1}}\/* ---------- Banda de stats (navy, integrada al hero) ---------- *\/\n#ruvic-ind-retail .statsband{position:relative;z-index:1;padding:0 0 76px}#ruvic-ind-retail .stats{\n  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;\n  background:rgba(255,255,255,.09);\n  border:1px solid rgba(255,255,255,.09);\n  border-radius:16px;overflow:hidden;\n}#ruvic-ind-retail .stat{background:var(--navy-card);padding:30px 24px}#ruvic-ind-retail .stat__n{font-family:var(--display);font-weight:700;font-size:2.15rem;letter-spacing:-.02em;color:var(--amber);margin-bottom:8px;line-height:1.05}#ruvic-ind-retail .stat__n .unit{font-size:.55em;color:rgba(255,255,255,.6);margin-left:3px;font-weight:600}#ruvic-ind-retail .stat__n .cu{font-variant-numeric:tabular-nums}#ruvic-ind-retail .stat__l{font-size:.95rem;color:#fff;font-weight:500;line-height:1.45}#ruvic-ind-retail .stat__c{font-family:var(--mono);font-size:.72rem;color:rgba(255,255,255,.5);margin-top:8px;line-height:1.5}@media(max-width:820px){#ruvic-ind-retail .stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:460px){#ruvic-ind-retail .stats{grid-template-columns:1fr}}\/* ---------- Problema ---------- *\/\n#ruvic-ind-retail .problems{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px;list-style:none}#ruvic-ind-retail .problem{\n  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px;\n  transition:border-color .2s,transform .2s,box-shadow .2s;\n}#ruvic-ind-retail .problem:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(14,22,50,.25);border-color:rgba(255,54,58,.28)}#ruvic-ind-retail .problem .num{\n  font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;\n  color:var(--coral-action);display:block;margin-bottom:12px;\n}#ruvic-ind-retail .problem h3{font-family:var(--body);font-weight:600;font-size:1.12rem;letter-spacing:0;line-height:1.4;margin-bottom:8px}#ruvic-ind-retail .problem p{color:var(--muted);font-size:.92rem}@media(max-width:980px){#ruvic-ind-retail .problems{grid-template-columns:1fr 1fr}}@media(max-width:560px){#ruvic-ind-retail .problems{grid-template-columns:1fr}}\/* ---------- Casos de uso ---------- *\/\n#ruvic-ind-retail .casos{display:flex;flex-direction:column;gap:20px;margin-top:52px}#ruvic-ind-retail .caso{\n  display:grid;grid-template-columns:250px 1fr;gap:40px;\n  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:32px;\n  transition:border-color .2s,transform .2s,box-shadow .2s;\n}#ruvic-ind-retail .caso:hover{transform:translateY(-3px);border-color:rgba(255,54,58,.28);box-shadow:0 18px 40px -24px rgba(14,22,50,.25)}#ruvic-ind-retail .caso > *{min-width:0}#ruvic-ind-retail .caso__kpi{\n  background:var(--cream-soft);border:1px solid var(--line);border-radius:16px;padding:24px;\n  display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:180px;\n}#ruvic-ind-retail .caso__num{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-action)}#ruvic-ind-retail .caso__fig{font-family:var(--display);font-weight:700;font-size:clamp(2rem,3.4vw,2.6rem);letter-spacing:-.02em;color:var(--navy);line-height:1}#ruvic-ind-retail .caso__fig-l{font-size:.82rem;color:var(--muted);margin-top:8px;line-height:1.4}#ruvic-ind-retail .caso__tag{\n  display:inline-block;\n  background:rgba(253,170,76,.16);color:var(--amber-text);\n  font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;\n  padding:5px 12px;border-radius:999px;\n}#ruvic-ind-retail .caso h3{font-size:1.32rem;margin:12px 0 14px}#ruvic-ind-retail .caso__quote{\n  color:var(--muted);font-size:.95rem;line-height:1.6;font-style:italic;\n  padding:4px 0 4px 16px;border-left:3px solid var(--coral);margin-bottom:14px;\n}#ruvic-ind-retail .caso__res{color:var(--navy);font-size:.95rem;line-height:1.65}#ruvic-ind-retail .caso__res strong{color:var(--coral-action);font-weight:600}@media(max-width:860px){#ruvic-ind-retail .caso{grid-template-columns:1fr;gap:22px;padding:26px}}\/* ---------- Capacidades t\u00e9cnicas ---------- *\/\n#ruvic-ind-retail .tech{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}#ruvic-ind-retail .tech__item{\n  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px;\n  transition:border-color .2s,transform .2s,box-shadow .2s;\n}#ruvic-ind-retail .tech__item:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(14,22,50,.25);border-color:rgba(255,54,58,.28)}#ruvic-ind-retail .tech__item h3{font-family:var(--body);font-weight:600;font-size:1.12rem;letter-spacing:0;margin-bottom:6px}#ruvic-ind-retail .tech__item .stack{font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;color:var(--coral-action);margin-bottom:10px;line-height:1.6}#ruvic-ind-retail .tech__item p{color:var(--muted);font-size:.9rem;line-height:1.6}@media(max-width:980px){#ruvic-ind-retail .tech{grid-template-columns:1fr 1fr}}@media(max-width:600px){#ruvic-ind-retail .tech{grid-template-columns:1fr}}\/* ---------- Capacidades del motor (cross-sell) ---------- *\/\n#ruvic-ind-retail .motor{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}#ruvic-ind-retail .motor__card{\n  display:block;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px;\n  transition:border-color .2s,transform .2s,box-shadow .2s;\n}#ruvic-ind-retail .motor__card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(14,22,50,.25);border-color:rgba(255,54,58,.4)}#ruvic-ind-retail .motor__ic{\n  width:48px;height:48px;border-radius:13px;background:rgba(255,54,58,.11);\n  display:grid;place-items:center;margin-bottom:16px;\n}#ruvic-ind-retail .motor__ic svg{width:23px;height:23px;fill:none;stroke:var(--coral-action);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#ruvic-ind-retail .motor__card h3{font-family:var(--body);font-weight:600;font-size:1.12rem;letter-spacing:0;margin-bottom:6px}#ruvic-ind-retail .motor__card p{color:var(--muted);font-size:.9rem;line-height:1.6}#ruvic-ind-retail .motor__card .stack{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-text);margin-top:14px;display:block}@media(max-width:980px){#ruvic-ind-retail .motor{grid-template-columns:1fr 1fr}}@media(max-width:560px){#ruvic-ind-retail .motor{grid-template-columns:1fr}}\/* ---------- FAQ ---------- *\/\n#ruvic-ind-retail .faq{margin-top:48px;display:flex;flex-direction:column;gap:12px;max-width:820px}#ruvic-ind-retail details{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0 22px;transition:border-color .2s}#ruvic-ind-retail details[open]{border-color:rgba(255,54,58,.35)}#ruvic-ind-retail summary{\n  list-style:none;cursor:pointer;padding:18px 0;\n  font-weight:600;font-size:1rem;\n  display:flex;justify-content:space-between;align-items:center;gap:16px;\n}#ruvic-ind-retail summary::-webkit-details-marker{display:none}#ruvic-ind-retail summary::after{content:\"+\";color:var(--coral-action);font-size:1.4rem;font-weight:400;line-height:1;transition:transform .2s}#ruvic-ind-retail details[open] summary::after{transform:rotate(45deg)}#ruvic-ind-retail details p{color:var(--muted);font-size:.95rem;padding:0 0 20px}\/* ---------- CTA final navy ---------- *\/\n#ruvic-ind-retail .cta{padding:112px 0}#ruvic-ind-retail .cta__inner{\n  position:relative;overflow:hidden;text-align:center;\n  background:var(--navy);color:#fff;border-radius:22px;\n  padding:clamp(44px,5vw,72px) clamp(24px,5vw,56px);\n}#ruvic-ind-retail .cta__inner::before{\n  content:\"\";position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(60% 70% at 50% 0%, rgba(255,54,58,.04), transparent 70%);\n}#ruvic-ind-retail .cta__content{position:relative;z-index:1}#ruvic-ind-retail .cta__inner .kicker{color:var(--amber)}#ruvic-ind-retail .cta__inner h2{color:#fff;max-width:22ch;margin-left:auto;margin-right:auto}#ruvic-ind-retail .cta__inner h2 .accent{color:var(--coral)}#ruvic-ind-retail .cta__inner .lead{color:rgba(255,255,255,.72);margin:0 auto 28px;max-width:600px}#ruvic-ind-retail .cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}#ruvic-ind-retail .cta__tags{margin-top:28px;color:rgba(255,255,255,.72);font-size:.9rem;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}#ruvic-ind-retail .cta__tags span{display:inline-flex;gap:7px;align-items:center}#ruvic-ind-retail .cta__tags i{color:var(--amber);font-style:normal}#ruvic-ind-retail .cta__geo{margin-top:30px;font-family:var(--mono);color:rgba(255,255,255,.5);font-size:.78rem;letter-spacing:.06em}\/* ---------- Footer ---------- *\/\n#ruvic-ind-retail footer{border-top:1px solid var(--line);padding:40px 0;color:var(--muted);font-size:.85rem;background:var(--cream)}#ruvic-ind-retail .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}\/* ---------- Reveal (gated .js; solo transform+opacity en transici\u00f3n) ---------- *\/\n#ruvic-ind-retail .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}#ruvic-ind-retail .js .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){#ruvic-ind-retail .js .reveal{opacity:1;transform:none;transition:none}#ruvic-ind-retail .live i{animation:none}#ruvic-ind-retail .cc-line.enter,#ruvic-ind-retail .tag.pop{animation:none}}\/* ===== KIT v2 \u00b7 Efectos unificados (boxes + mouse + tabla) ===== *\/\n#ruvic-ind-retail .card{position:relative;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .25s ease}#ruvic-ind-retail .card:hover{transform:translateY(-3px);box-shadow:0 18px 44px -24px rgba(14,22,50,.28);border-color:rgba(255,54,58,.30)}#ruvic-ind-retail .card::after{content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,54,58,.12),transparent 60%)}#ruvic-ind-retail .card:hover::after{opacity:1}#ruvic-ind-retail .btn{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .2s ease,background .2s ease,color .2s ease}#ruvic-ind-retail table tbody tr{transition:background .18s ease}#ruvic-ind-retail table tbody tr:hover td,#ruvic-ind-retail table tbody tr:hover th{background:rgba(255,54,58,.06)}@media (prefers-reduced-motion:reduce){#ruvic-ind-retail .card,#ruvic-ind-retail .btn{transition:none}}\/* ===== KIT v2 \u00b7 salud \u2192 hero CLARO + pipeline light ===== *\/\n#ruvic-ind-retail .hero{background:var(--cream-soft);color:var(--navy)}#ruvic-ind-retail .hero::before{background:radial-gradient(52% 46% at 82% 4%, rgba(255,54,58,.04), transparent 70%)}#ruvic-ind-retail .hero .kicker{color:var(--coral-action)}#ruvic-ind-retail .hero h1{color:var(--navy)}#ruvic-ind-retail .hero__p{color:var(--ink-soft)}#ruvic-ind-retail .hero__p strong{color:var(--navy)}#ruvic-ind-retail .hero__trust{color:var(--ink-soft)}#ruvic-ind-retail .hero__trust b{color:var(--navy)}#ruvic-ind-retail .hero .console{color:#fff}#ruvic-ind-retail .hero .console .cc__tr{min-height:150px}#ruvic-ind-retail .hero .console .cc__chips{min-height:0}#ruvic-ind-retail .hero__visual{display:flex;flex-direction:column;gap:16px;min-width:0}#ruvic-ind-retail .pipe-wrap{position:relative;width:100%}#ruvic-ind-retail .pipe-wrap svg{width:100%;height:auto;display:block;overflow:visible}#ruvic-ind-retail .pn rect{fill:#fff;stroke:rgba(14,22,50,.13);stroke-width:1}#ruvic-ind-retail .pn text{font-family:\"JetBrains Mono\",monospace;font-size:13px;letter-spacing:.005em;fill:#0E1632}#ruvic-ind-retail .pn .pn-ic{fill:none;stroke:#0E1632;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#ruvic-ind-retail .pn.lit rect{stroke:#FF363A}#ruvic-ind-retail .edge{fill:none;stroke:rgba(14,22,50,.14);stroke-width:1}#ruvic-ind-retail .hub-glow{fill:url(#hubGlow)}#ruvic-ind-retail .hub-diamond{fill:#FF363A;stroke:rgba(255,255,255,.5);stroke-width:1.1}#ruvic-ind-retail .hub-ring{fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.2;stroke-dasharray:1.6 5;stroke-linecap:round}#ruvic-ind-retail .hub-lab{font-family:\"JetBrains Mono\",monospace;font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;fill:#4A5170}#ruvic-ind-retail .pchip text{font-family:\"JetBrains Mono\",monospace;font-size:11px;font-weight:500;letter-spacing:.02em}#ruvic-ind-retail .pchip .cic{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\/* === Banda de resultados navy full-width (homologada a idp-documental) === *\/\n#ruvic-ind-retail .rstats{background:var(--navy);padding:56px 0}#ruvic-ind-retail .rstats .wrap{max-width:1160px;margin:0 auto}#ruvic-ind-retail .rstats ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0}#ruvic-ind-retail .rstats li{border-right:1px solid rgba(255,255,255,.14);padding:4px 22px;text-align:center;display:flex;flex-direction:column}#ruvic-ind-retail .rstats li:last-child{border-right:0}#ruvic-ind-retail .rstats .num{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,3.6vw,2.4rem);line-height:1;color:var(--amber)}#ruvic-ind-retail .rstats .num .cu{font-variant-numeric:tabular-nums}#ruvic-ind-retail .rstats .num .unit{font-size:.55em;color:rgba(255,255,255,.6);margin-left:3px;font-weight:600}#ruvic-ind-retail .rstats p{margin-top:10px;font-size:.95rem;line-height:1.45;color:#fff;font-weight:500}#ruvic-ind-retail .rstats .cap{display:block;margin-top:auto;padding-top:10px;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.55)}@media(max-width:900px){#ruvic-ind-retail .rstats ul{grid-template-columns:repeat(2,1fr)}#ruvic-ind-retail .rstats li{padding:16px 14px}#ruvic-ind-retail .rstats li:nth-child(2n){border-right:0}#ruvic-ind-retail .rstats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}}@media(max-width:560px){#ruvic-ind-retail .rstats ul{grid-template-columns:1fr}#ruvic-ind-retail .rstats li{border-right:0;border-top:0;border-bottom:1px solid rgba(255,255,255,.14);padding:16px 0}#ruvic-ind-retail .rstats li:last-child{border-bottom:0}}\n<\/style>\n\n<div id=\"ruvic-ind-retail\">\n\n\n<!-- ============ BREADCRUMB ============ -->\n\n\n<!-- ============ HERO NAVY ============ -->\n<section class=\"hero\">\n  <div class=\"wrap hero__grid\">\n    <div class=\"reveal\">\n\n      <h1>Plataforma IA para <span class=\"accent\">retail<\/span><\/h1>\n\n      <span class=\"kicker\">SOLUCIONES \u00b7 RETAIL<\/span>\n\n      <p class=\"hero__p\">\n        Tu cliente es omnicanal. <span class=\"accent\">Tu operaci\u00f3n tambi\u00e9n deber\u00eda serlo.<\/span>\n      <\/p>\n\n      <p class=\"hero__p\">\n        Un chatbot responde preguntas y deriva a un humano cuando el cliente quiere comprar. Ruvic ejecuta la venta completa: atiende en el canal del cliente, consulta el stock real en tu ERP, recomienda la alternativa que s\u00ed existe, calcula el flete, genera la orden y gestiona la postventa. Sobre tu e-commerce, tu ERP y tu POS actuales.\n      <\/p>\n\n      <div class=\"hero__cta\">\n        <a class=\"btn btn--primary\" href=\"#demo\">Solicitar prueba de concepto<\/a>\n        <a class=\"btn btn--ghost\" href=\"#casos\">Ver casos de uso<\/a>\n      <\/div>\n\n      <div class=\"hero__trust\">\n        <span><b>Shopify<\/b> \u00b7 <b>VTEX<\/b> \u00b7 <b>WooCommerce<\/b> \u00b7 <b>Magento<\/b><\/span>\n        <span class=\"dot\">\u2022<\/span>\n        <span>ERP, WMS y POS v\u00eda <b>API \u00b7 Conectores<\/b><\/span>\n        <span class=\"dot\">\u2022<\/span>\n        <span><b>CO \u00b7 MX \u00b7 CL \u00b7 PE \u00b7 US<\/b><\/span>\n      <\/div>\n\n    <\/div>\n\n    <!-- Derecha: pipeline + consola Command Center -->\n    <div class=\"hero__visual reveal\">\n    <div class=\"pipe-wrap\"><svg id=\"pipe\" viewBox=\"0 0 720 370\" role=\"img\" aria-label=\"Motor Ruvic de retail: cada interacci\u00f3n (WhatsApp, llamada, e-commerce, marketplace, POS) entra al motor que entiende, prioriza y resuelve, y ejecuta la acci\u00f3n (responde, reserva stock, genera orden, actualiza el ERP, escala).\"><\/svg><\/div>\n    <div class=\"console\" id=\"callcard\" aria-label=\"Ruvic atendiendo una venta por WhatsApp en tiempo real: consulta stock real, ofrece alternativa y cierra la orden\">\n      <div class=\"console__top\">\n        <span class=\"console__title\"><span style=\"display:inline-flex;width:26px;height:26px;border-radius:8px;background:#FF363A;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;margin-right:8px\"><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\/Vw8Bhf6eoaYTaMJGHFiKTfUAUEy3ODQjiANL8DLuwkG3ODTjNAV24zRlvs6T3MUX9kCSvE9ykeS+eA5gBzbiQHcvI4TDlm5xaEQQB7q7qh4AZka3ODQhiAOdvchQ3Qb82Sa6xWH2BHGgs6vqAWCmdItDAx5rwm481pwnP3\/B5+kWhxmzEQe6uqweABrQLQ4zJogDXV1WDwAN6BaHGRPEga4uqweAJq7j4SbMkiAOdHVRPQA0oVscZkoQB7pSWwi70y0OMySIA8A6bOJEBWZFEAc6uqgeABrSLQ4zI4gDHV1UDwBN\/ZTkefUQwEAQB4B10S0OMyGIA8C66BaHmRDEAWB9ruPhJpQTxAFgfXSLwwwI4gCwTrrFoZggDgDrtYkTFSgjiAPAeukWh0KCOACsm25xKCKIAwC6xaGAIA4A6BaHAoI4AJDoFofJCeIAQKJbHCYniAMAW7rFYUKCOADw2CZOVGASgjgA8JhucZiIIA4AfEy3OExAEAcAnqJbHE5MEAcAnqJbHE5MEAcAPuU6Hm7CyQjiAMCn6BaHExLEAYDP0S0OJyKIAwBfsokTFRidIA4AfIlucTgBQRwA2IVucRiZIA4A7Eq3OIxIEAcAdqVbHEYkiAMA+7iOh5swCkEcANiHbnEYiSAOAOxLtziMQBAHAA6xiRMVOIogDgAcQrc4HEkQBwAOpVscjiCIAwDH0C0OBxLEAYBj6BaHAwniAMCxruPhJuxNEAcAjqVbHA4giAMAY9AtDnsSxAGAsWziRAV2JogDAGPRLQ57EMQBgDHpFocdCeIAwNh0i8MOBHEAYGy6xWEHgjgAcArX8XATPksQBwBOQbc4fIEgDgCcim5x+AxBHAA4pU2cqMCTBHEA4JR0i8MnCOIAwKnpFocnCOIAwBR0i8NHBHEAYAq6xeEjgjgAMJXreLgJvxPEAYCp6BaHRwRxAGBKusXhA0EcAJjaJk5UQBAHACanWxwiiAMANXSLs3qCOABQRbc4qyaIAwBVdIuzaoI4AFDpOh5uslKCOABQSbc4qyWIAwDVdIuzSoI4ADAHmzhRYWUEcQBgDnSLszqCOAAwF7rFWRVBHACYE93irIYgDgDMiW5xVkMQBwDm5joebrICgjgAMDe6xVkFQRwAmCPd4iyeIA4AzNUmTlRYMEEcAJgr3eIsmiAOAMyZbnEWSxAHAOZOtziLJIgDAHOnW5xFEsQBgA6u4+EmCyOIAwAd6BZncQRxAKAL3eIsiiAOAHSyiRMVFkIQBwA60S3OYgjiAEA3usVZBEEcAOhItzjtCeIAQEe6xWlPEAcAurqOh5s0JogDAF3pFqc1QRwA6Ey3OG0J4gBAd5s4UaEhQRwA6E63OC0J4gDAEugWpx1BHABYCt3itCKIAwBLoVucVgRxAGBJruPhJk0I4gDAkugWpw1BHABYGt3itCCIAwBLtIkTFWZOEAcAlki3OLMniAMAS6VbnFkTxAGAJdMtzmwJ4gDAkukWZ7YEcQBg6a7j4SYzJIgDAEunW5xZEsQBgDXQLc7sCOIAwFps4kSFGRHEAYC10C3OrAjiAMCa6BZnNgRxAGBtdIszC4I4ALA2usWZBUEcAFij63i4STFBHABYI93ilBPEAYC10i1OKUEcAFizTZyoUEQQBwDWTLc4ZQRxAGDtdItTQhAHANAtTgFBHABAtzgFBHEAgMF1PNxkQoI4AMBAtziTEsQBAP6gW5zJCOIAAH+2iRMVJiCIAwD8mW5xJiGIAwD8lW5xTk4QBwB4mm5xTkoQBwB4mm5xTkoQBwD4tOt4uMmJCOIAAJ+mW5yTEcQBAD5PtzgnIYgDAHzZJk5UGJkgDgDwZbrFGZ0gDgCwG93ijEoQBwDYnW5xRiOIAwDsTrc4oxHEAQD2cx0PNxmBIA4AsB\/d4oxCEAcA2J9ucY4miAMAHGYTJyocQRAHADiMbnGOIogDABxOtzgHE8QBAI6jW5yDCOIAAMfRLc5BBHEAgONdx8NN9iSIAwAcT7c4exPEAQDGoVucvQjiAADj2cSJCjsSxAEAxqNbnJ0J4gAA49Itzk4EcQCA8ekW54sEcQCA8ekW54sEcQCA07iOh5t8hiAOAHAausX5LEEcAOB0dIvzSYI4AMBpbeJEhScI4gAAp6VbnCcJ4gAAp6dbnL8QxAEApqFbnD8RxAEApqFbnD8RxAEApnMdDzf5QBAHAJiObnF+J4gDAExLtzhJBHEAgAqbOFFZPUEcAGB6usURxAEAiugWXzlBHACgjm7xFfvq4eHhoXoIgAN8Vz3AAc4zbL+2f7zI8PE0sG7\/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>Ruvic \u00b7 Retail Command Center<\/span>\n        <span class=\"live\"><i><\/i> EN VIVO<\/span>\n      <\/div>\n      <div class=\"cc__meta\">\n        <div><div class=\"label\">Cliente<\/div><div class=\"value\" id=\"call-pac\">D. Salazar \u00b7 WhatsApp<\/div><\/div>\n        <div><div class=\"label\">Proceso<\/div><div class=\"value\" id=\"call-mot\">Venta asistida \u00b7 Stock real<\/div><\/div>\n        <div class=\"cc__time\" id=\"call-time\">00:42<\/div>\n      <\/div>\n      <!-- Semilla \/ fallback sin JS -->\n      <div class=\"cc__tr\" id=\"call-transcript\">\n        <div class=\"cc-line cc-line--patient\"><span class=\"speaker\">Cliente<\/span><span class=\"text\">Hola, \u00bftienen la chaqueta azul en talla M?<\/span><\/div>\n        <div class=\"cc-line cc-line--ruvic\"><span class=\"speaker\">Ruvic<\/span><span class=\"text\">En azul talla M no me queda inventario. S\u00ed tengo <em>M en negro<\/em> en la tienda de Chapinero y <em>L en azul<\/em> para env\u00edo desde bodega.<\/span><\/div>\n        <div class=\"cc-line cc-line--patient\"><span class=\"speaker\">Cliente<\/span><span class=\"text\">La negra en M, \u00bfme la env\u00edan hoy?<\/span><\/div>\n        <div class=\"cc-line cc-line--ruvic\"><span class=\"speaker\">Ruvic<\/span><span class=\"text\">S\u00ed, con env\u00edo mismo d\u00eda por <em>$9.900<\/em>. Te dejo el link de pago y te reservo la unidad por 30 minutos.<\/span><\/div>\n      <\/div>\n      <div class=\"cc__chips\" id=\"call-chips\">\n        <span class=\"tag tag--ok\">Stock consultado en ERP<\/span>\n        <span class=\"tag tag--ok\">Alternativa ofrecida<\/span>\n        <span class=\"tag tag--ok\">Unidad reservada<\/span>\n        <span class=\"tag tag--live\">\u2192 Orden creada<\/span>\n      <\/div>\n      <div class=\"console__foot\"><span>Ruvic Engine activo<\/span><span><b>20\u201330%<\/b> de carritos recuperados<\/span><\/div>\n    <\/div>\n    <\/div><!-- \/hero__visual -->\n  <\/div>\n\n<\/section>\n\n<!-- ============ RESULTADOS \u00b7 banda navy full-width ============ -->\n<section class=\"rstats\" aria-label=\"Resultados en operaciones de retail\">\n  <div class=\"wrap\">\n    <ul>\n      <li><span class=\"num\"><span class=\"cu\" data-count=\"80\" data-prefix=\"65\u2013\">65\u201380<\/span><span class=\"unit\">%<\/span><\/span><p>Consultas resueltas sin intervenci\u00f3n humana<\/p><span class=\"cap\">Disponibilidad, precio, estado de pedido, cambios y devoluciones atendidos de punta a punta en el canal del cliente.<\/span><\/li>\n      <li><span class=\"num\"><span class=\"cu\" data-count=\"30\" data-prefix=\"20\u2013\">20\u201330<\/span><span class=\"unit\">%<\/span><\/span><p>Recuperaci\u00f3n de carritos abandonados<\/p><span class=\"cap\">Sobre el volumen de carritos contactados, resolviendo la objeci\u00f3n concreta en lugar de enviar un recordatorio gen\u00e9rico.<\/span><\/li>\n      <li><span class=\"num\"><span class=\"cu\" data-count=\"60\" data-prefix=\"40\u2013\">40\u201360<\/span><span class=\"unit\">%<\/span><\/span><p>Menos tiempo de gesti\u00f3n en postventa<\/p><span class=\"cap\">Cambios, devoluciones y seguimiento de pedido que hoy consumen la mayor parte del equipo de servicio.<\/span><\/li>\n      <li><span class=\"num\"><span class=\"cu\" data-count=\"3\" data-prefix=\"&lt;\">&lt;3<\/span><span class=\"unit\">sem<\/span><\/span><p>De diagn\u00f3stico a primer canal productivo<\/p><span class=\"cap\">Entre el mapeo del proceso comercial y el primer canal operando contra tu cat\u00e1logo e inventario reales.<\/span><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ============ EL PROBLEMA (base crema) ============ -->\n<section class=\"section\" id=\"dolor\">\n  <div class=\"wrap\">\n    <div class=\"head reveal\">\n      <h2>El cliente compra por todos lados y tu operaci\u00f3n <span class=\"accent\">responde por uno solo<\/span>.<\/h2>\n      <p class=\"lead\">Tu e-commerce muestra el cat\u00e1logo, tu ERP guarda el inventario, tu POS registra la venta en tienda. Pero entre cada sistema hay un asesor mirando dos pantallas para saber si hay una talla, y un cliente esperando en WhatsApp mientras decide comprarle a otro.<\/p>\n    <\/div>\n    <ul class=\"problems\">\n      <li class=\"problem reveal\">\n        <span class=\"num\">01 \u2014 Respuesta<\/span>\n        <h3>La consulta de WhatsApp se responde cuatro horas despu\u00e9s.<\/h3>\n        <p>Para entonces el cliente ya compr\u00f3 en otro lado. El pico de conversaci\u00f3n llega justo cuando el equipo est\u00e1 atendiendo en piso.<\/p>\n      <\/li>\n      <li class=\"problem reveal\">\n        <span class=\"num\">02 \u2014 Carritos<\/span>\n        <h3>El recordatorio autom\u00e1tico no resuelve la duda que fren\u00f3 la compra.<\/h3>\n        <p>El cliente no abandon\u00f3 por olvido: dud\u00f3 de la talla, del flete o del tiempo de entrega. Un correo gen\u00e9rico no responde ninguna de las tres.<\/p>\n      <\/li>\n      <li class=\"problem reveal\">\n        <span class=\"num\">03 \u2014 Inventario<\/span>\n        <h3>Vendes lo que no tienes y no vendes lo que s\u00ed.<\/h3>\n        <p>El stock del canal digital no coincide con el de tienda. Terminas cancelando \u00f3rdenes pagadas y con producto parado que nadie ofrece.<\/p>\n      <\/li>\n      <li class=\"problem reveal\">\n        <span class=\"num\">04 \u2014 Postventa<\/span>\n        <h3>\u00ab\u00bfD\u00f3nde va mi pedido?\u00bb se come al equipo de servicio.<\/h3>\n        <p>Seguimiento, cambios y devoluciones consumen la mayor\u00eda del tiempo del equipo, que deja de atender las conversaciones que s\u00ed venden.<\/p>\n      <\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ============ CASOS DE USO (blanco) ============ -->\n<section class=\"section section--white\" id=\"casos\">\n  <div class=\"wrap\">\n    <div class=\"head reveal\">\n      <h2>Procesos de retail\n automatizados <span class=\"accent\">con Ruvic AI<\/span>.<\/h2>\n      <p class=\"lead\">Cada caso opera sobre tu e-commerce, tu ERP y tus reglas comerciales. Ruvic no improvisa: consulta el inventario real, aplica la promoci\u00f3n vigente, respeta tu pol\u00edtica de descuento y escala al humano cuando corresponde (reclamo, excepci\u00f3n de pol\u00edtica, cliente de alto valor).<\/p>\n    <\/div>\n\n    <div class=\"casos\">\n\n      <article class=\"caso reveal\">\n        <div class=\"caso__kpi\">\n          <span class=\"caso__num\">CASO 01<\/span>\n          <div><div class=\"caso__fig\">80%<\/div><div class=\"caso__fig-l\">Consultas resueltas sin intervenci\u00f3n humana<\/div><\/div>\n        <\/div>\n        <div>\n          <span class=\"caso__tag\">Venta asistida \u00b7 WhatsApp y web<\/span>\n          <h3>Atiende, consulta el stock real y cierra la orden en la misma conversaci\u00f3n.<\/h3>\n          <p class=\"caso__quote\">\u00abLa consulta de WhatsApp se responde cuatro horas despu\u00e9s. Para entonces el cliente ya compr\u00f3 en otro lado.\u00bb<\/p>\n          <p class=\"caso__res\">Ruvic atiende la conversaci\u00f3n al instante, consulta la existencia por bodega y por tienda directamente en tu ERP, y si el producto no est\u00e1 ofrece la alternativa que s\u00ed existe: otra talla, otro color, otra tienda cercana o env\u00edo desde bodega. Calcula el flete, aplica la promoci\u00f3n vigente, reserva la unidad y genera la orden con link de pago sin que nadie intervenga.<\/p>\n        <\/div>\n      <\/article>\n\n      <article class=\"caso reveal\">\n        <div class=\"caso__kpi\">\n          <span class=\"caso__num\">CASO 02<\/span>\n          <div><div class=\"caso__fig\">+30%<\/div><div class=\"caso__fig-l\">Recuperaci\u00f3n de carritos abandonados<\/div><\/div>\n        <\/div>\n        <div>\n          <span class=\"caso__tag\">Conversi\u00f3n \u00b7 Recuperaci\u00f3n proactiva<\/span>\n          <h3>Contacta al cliente y resuelve la objeci\u00f3n concreta que fren\u00f3 la compra.<\/h3>\n          <p class=\"caso__quote\">\u00abMandamos el correo de carrito abandonado y no pasa nada. El cliente no olvid\u00f3: dud\u00f3 de la talla, del flete o del tiempo de entrega.\u00bb<\/p>\n          <p class=\"caso__res\">Ruvic detecta el carrito y contacta por WhatsApp mencionando el producto espec\u00edfico. Resuelve la duda real \u2014gu\u00eda de tallas, tiempo de entrega a esa ciudad, costo de flete, medios de pago disponibles\u2014 y completa la compra en la misma conversaci\u00f3n. Si el cliente no responde, hace un segundo intento con la promoci\u00f3n vigente dentro de tu pol\u00edtica de descuento.<\/p>\n        <\/div>\n      <\/article>\n\n      <article class=\"caso reveal\">\n        <div class=\"caso__kpi\">\n          <span class=\"caso__num\">CASO 03<\/span>\n          <div><div class=\"caso__fig\">\u221275%<\/div><div class=\"caso__fig-l\">\u00d3rdenes canceladas por quiebre de stock<\/div><\/div>\n        <\/div>\n        <div>\n          <span class=\"caso__tag\">Inventario \u00b7 Omnicanalidad<\/span>\n          <h3>Sincroniza lo que ofreces con lo que realmente tienes, canal por canal.<\/h3>\n          <p class=\"caso__quote\">\u00abVendemos lo que no tenemos y no vendemos lo que s\u00ed. Terminamos cancelando \u00f3rdenes ya pagadas y con producto parado que nadie ofrece.\u00bb<\/p>\n          <p class=\"caso__res\">Ruvic monitorea la existencia por bodega, tienda y canal, detecta desalineaciones entre el cat\u00e1logo digital y el inventario real, y las corrige o alerta seg\u00fan tus reglas. Para el producto de baja rotaci\u00f3n, dispara campa\u00f1as segmentadas en los canales donde s\u00ed hay demanda. Para el quiebre inminente, avisa a compras con el hist\u00f3rico de venta del SKU.<\/p>\n        <\/div>\n      <\/article>\n\n      <article class=\"caso reveal\">\n        <div class=\"caso__kpi\">\n          <span class=\"caso__num\">CASO 04<\/span>\n          <div><div class=\"caso__fig\">\u221260%<\/div><div class=\"caso__fig-l\">Tiempo de gesti\u00f3n en cambios y devoluciones<\/div><\/div>\n        <\/div>\n        <div>\n          <span class=\"caso__tag\">Postventa \u00b7 Servicio y log\u00edstica<\/span>\n          <h3>Resuelve el seguimiento, el cambio y la devoluci\u00f3n de punta a punta.<\/h3>\n          <p class=\"caso__quote\">\u00ab&#8216;\u00bfD\u00f3nde va mi pedido?&#8217; se come al equipo. Entre eso, cambios y devoluciones no queda nadie atendiendo las conversaciones que s\u00ed venden.\u00bb<\/p>\n          <p class=\"caso__res\">Ruvic responde el estado del pedido consultando la transportadora en vivo. Para un cambio o devoluci\u00f3n, valida la orden y la pol\u00edtica vigente, clasifica el motivo, genera la gu\u00eda de retorno, coordina la recogida y hace seguimiento hasta el cierre, actualizando el estado en el e-commerce y el ERP. Escala al humano solo ante reclamo o excepci\u00f3n de pol\u00edtica.<\/p>\n        <\/div>\n      <\/article>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ CAPACIDADES T\u00c9CNICAS (base crema) ============ -->\n<section class=\"section\" id=\"tecnico\">\n  <div class=\"wrap\">\n    <div class=\"head reveal\">\n      <h2>Lo que tu CTO, tu CMO y tu Head of E-commerce <span class=\"accent\">necesitan saber<\/span>.<\/h2>\n      <p class=\"lead\">Especificaciones operativas del motor de Ruvic aplicado a retail. Disponibles desde el primer caso de uso, configurables por canal y compatibles con el stack comercial que tu empresa ya opera.<\/p>\n    <\/div>\n    <div class=\"tech\">\n      <div class=\"tech__item reveal\"><h3>Plataformas de e-commerce<\/h3><div class=\"stack\">Shopify \u00b7 VTEX \u00b7 WooCommerce \u00b7 Magento<\/div><p>Lectura de cat\u00e1logo y creaci\u00f3n de \u00f3rdenes v\u00eda API nativa. Ruvic escribe sobre tu tienda, no monta una paralela.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Marketplaces y redes<\/h3><div class=\"stack\">Mercado Libre \u00b7 Amazon \u00b7 Instagram \u00b7 Facebook<\/div><p>Atenci\u00f3n y gesti\u00f3n de preguntas y mensajer\u00eda de marketplace y redes con el mismo contexto de cliente e inventario que en tus canales propios.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Inventario en tiempo real<\/h3><div class=\"stack\">ERP \u00b7 WMS \u00b7 POS \u00b7 Stock por bodega y tienda<\/div><p>Consulta de existencia en el momento de la conversaci\u00f3n, con visibilidad por punto. Reserva temporal de unidad mientras el cliente completa el pago.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Canales de atenci\u00f3n<\/h3><div class=\"stack\">WhatsApp Business API \u00b7 Web \u00b7 Voz \u00b7 Chat<\/div><p>El cliente puede empezar en Instagram, seguir en WhatsApp y recibir en tienda sin repetir la informaci\u00f3n. Un solo contexto entre canales.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Pagos y log\u00edstica<\/h3><div class=\"stack\">PSE \u00b7 Wompi \u00b7 Mercado Pago \u00b7 Transportadoras<\/div><p>Generaci\u00f3n de link de pago en vivo dentro de la conversaci\u00f3n, c\u00e1lculo de flete por destino y consulta de estado con la transportadora.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Reglas comerciales<\/h3><div class=\"stack\">Promociones \u00b7 Descuento m\u00e1ximo \u00b7 Pol\u00edtica de cambio<\/div><p>Ruvic aplica la promoci\u00f3n vigente y nunca ofrece un descuento por encima del l\u00edmite que definas. La pol\u00edtica de devoluci\u00f3n se configura por categor\u00eda.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Datos de cliente<\/h3><div class=\"stack\">Habeas Data \u00b7 LFPDPPP \u00b7 Enmascaramiento<\/div><p>Cifrado AES-256 en reposo y TLS 1.3 en tr\u00e1nsito, datos sensibles enmascarados y retenci\u00f3n configurable por pol\u00edtica. ISO 27001 en proceso.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Motor multi-LLM din\u00e1mico<\/h3><div class=\"stack\">GPT-4o \u00b7 Claude \u00b7 Gemini \u00b7 DeepSeek<\/div><p>Ruvic selecciona el modelo \u00f3ptimo por tarea dentro de la misma conversaci\u00f3n (recomendaci\u00f3n de producto, resoluci\u00f3n de objeci\u00f3n, redacci\u00f3n comercial) sin depender de un solo proveedor.<\/p><\/div>\n      <div class=\"tech__item reveal\"><h3>Orquestaci\u00f3n multi-agente<\/h3><div class=\"stack\">Agentes especializados \u00b7 Tiempo real<\/div><p>Durante una conversaci\u00f3n, Ruvic invoca agentes que consultan stock, calculan flete, validan promoci\u00f3n y generan la orden, en paralelo. El cliente solo ve una respuesta.<\/p><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ CAPACIDADES DEL MOTOR (blanco) ============ -->\n<section class=\"section section--white\" aria-labelledby=\"motor-title\">\n  <div class=\"wrap\">\n    <div class=\"head reveal\">\n      <h2 id=\"motor-title\">Retail no es un m\u00f3dulo. Es el motor de Ruvic <span class=\"accent\">aplicado a tu operaci\u00f3n comercial<\/span>.<\/h2>\n      <p class=\"lead\">Cada capacidad opera de forma independiente, pero el valor real aparece cuando se combinan: una consulta de WhatsApp que verifica stock en el ERP, calcula el flete, aplica la promoci\u00f3n vigente y genera la orden, sin que nadie las conecte a mano.<\/p>\n    <\/div>\n    <div class=\"motor\">\n      <a href=\"https:\/\/ruvic.ai\/chat-web\/\" class=\"motor__card reveal\">\n        <div class=\"motor__ic\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><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 8v.5Z\"><\/path><\/svg><\/div>\n        <h3>Operador IA<\/h3>\n        <p>Venta asistida y postventa conversacional en WhatsApp, web, marketplaces y redes, con el mismo contexto de cliente e inventario.<\/p>\n        <span class=\"stack\">WhatsApp \u00b7 Web \u00b7 Chat<\/span>\n      <\/a>\n      <a href=\"https:\/\/ruvic.ai\/workflows\/\" class=\"motor__card reveal\">\n        <div class=\"motor__ic\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"6\" height=\"6\" rx=\"1.5\"><\/rect><rect x=\"15\" y=\"15\" width=\"6\" height=\"6\" rx=\"1.5\"><\/rect><path d=\"M9 6h6a3 3 0 0 1 3 3v6\"><\/path><\/svg><\/div>\n        <h3>Workflows<\/h3>\n        <p>Flujos multi-paso que orquestan cat\u00e1logo, inventario, pago, log\u00edstica y reglas comerciales. Drag &amp; drop, sin c\u00f3digo.<\/p>\n        <span class=\"stack\">Orquestaci\u00f3n \u00b7 No-code<\/span>\n      <\/a>\n      <a href=\"https:\/\/ruvic.ai\/voz-ia\/\" class=\"motor__card reveal\">\n        <div class=\"motor__ic\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3a3 3 0 0 1 3 3v5a3 3 0 0 1-6 0V6a3 3 0 0 1 3-3Z\"><\/path><path d=\"M5 11a7 7 0 0 0 14 0\"><\/path><path d=\"M12 18v3\"><\/path><\/svg><\/div>\n        <h3>Voz IA<\/h3>\n        <p>Atenci\u00f3n telef\u00f3nica de pedidos, confirmaci\u00f3n de entrega y recuperaci\u00f3n de clientes inactivos con voz natural y acento regional.<\/p>\n        <span class=\"stack\">Voz \u00b7 SIP \u00b7 Telefon\u00eda<\/span>\n      <\/a>\n      <a href=\"https:\/\/ruvic.ai\/idp-documental\/\" class=\"motor__card reveal\">\n        <div class=\"motor__ic\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z\"><\/path><path d=\"M14 2v6h6\"><\/path><path d=\"M8 13h8\"><\/path><path d=\"M8 17h5\"><\/path><\/svg><\/div>\n        <h3>IDP Documental<\/h3>\n        <p>Lee facturas de proveedor, gu\u00edas de transporte, comprobantes de pago y fichas de producto. Extrae los datos y los pasa al flujo.<\/p>\n        <span class=\"stack\">OCR \u00b7 NLP \u00b7 Validaci\u00f3n<\/span>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ FAQ (base crema) ============ -->\n<section class=\"section\" id=\"faq\" aria-labelledby=\"faq-title\">\n  <div class=\"wrap\">\n    \n    <div class=\"head reveal\">\n      <h2 id=\"faq-title\">\n        Preguntas frecuentes de\n        <span class=\"accent\">automatizaci\u00f3n con IA para retail<\/span>\n      <\/h2>\n    <\/div>\n\n    <div class=\"faq\">\n      \n      <!-- Pregunta 1 -->\n      <details class=\"reveal\">\n        <summary>\n          <h3>\u00bfQu\u00e9 es la automatizaci\u00f3n con IA en retail?<\/h3>\n        <\/summary>\n        <p>\n          Son agentes de IA que atienden, recomiendan, cierran tickets y ordenan la operaci\u00f3n\n          sin horario: ventas, atenci\u00f3n omnicanal, inventario y soporte. Menos fricci\u00f3n para\n          el cliente y m\u00e1s conversi\u00f3n.\n        <\/p>\n      <\/details>\n\n      <!-- Pregunta 2 -->\n      <details class=\"reveal\">\n        <summary>\n          <h3>\u00bfQu\u00e9 procesos puede automatizar Ruvic en retail?<\/h3>\n        <\/summary>\n        <p>\n          Las ventas y la conversi\u00f3n (recomendaciones, recuperaci\u00f3n de carritos), la atenci\u00f3n\n          omnicanal, el inventario (predicci\u00f3n de demanda y picking), el soporte y las cuentas\n          por cobrar.\n        <\/p>\n      <\/details>\n\n      <!-- Pregunta 3 -->\n      <details class=\"reveal\">\n        <summary>\n          <h3>\u00bfSe integra con mis sistemas actuales?<\/h3>\n        <\/summary>\n        <p>\n          S\u00ed. Se conecta por API a tu ERP y tu POS, y por EDI con proveedores: consulta cat\u00e1logo,\n          cotiza, genera \u00f3rdenes y reordena m\u00e1s r\u00e1pido.\n        <\/p>\n      <\/details>\n\n      <!-- Pregunta 4 -->\n      <details class=\"reveal\">\n        <summary>\n          <h3>\u00bfLa IA reemplaza a mi equipo de tienda?<\/h3>\n        <\/summary>\n        <p>\n          No. Absorbe las consultas repetitivas (\u00ab\u00bfd\u00f3nde va mi pedido?\u00bb), el seguimiento y la\n          clasificaci\u00f3n de tickets para que tu equipo se enfoque en vender y en los casos complejos.\n        <\/p>\n      <\/details>\n\n      <!-- Pregunta 5 -->\n      <details class=\"reveal\">\n        <summary>\n          <h3>\u00bfCu\u00e1nto cuesta automatizar procesos de retail con IA?<\/h3>\n        <\/summary>\n        <p>\n          Depende de tus canales, tu volumen y tus integraciones. No publicamos una tarifa cerrada;\n          lo revisamos sobre tu operaci\u00f3n en una demo.\n        <\/p>\n      <\/details>\n\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- ============ CTA FINAL NAVY ============ -->\n<section class=\"cta\" id=\"demo\">\n  <div class=\"wrap\">\n    <div class=\"cta__inner reveal\">\n      <div class=\"cta__content\">\n        <span class=\"kicker\">PRUEBA DE CONCEPTO<\/span>\n        <h2>Pru\u00e9balo en uno de tus <span class=\"accent\">canales reales<\/span>.<\/h2>\n        <p class=\"lead\">Solicita una prueba de concepto. En menos de tres semanas tienes Ruvic operando contra tu cat\u00e1logo e inventario reales en el canal que priorices: WhatsApp, e-commerce, marketplace o postventa.<\/p>\n        <div class=\"cta__btns\">\n          <a class=\"btn btn--primary\" href=\"https:\/\/app.ruvic.ai\/account\/auth\/login-2\">Solicitar prueba de concepto<\/a>\n          <a class=\"btn btn--ghost-dark\" href=\"https:\/\/ruvic.ai\/motor-de-ia\/\">Hablar con un especialista<\/a>\n        <\/div>\n        <div class=\"cta__tags\">\n          <span><i>\u2713<\/i> Integrado a tu e-commerce, ERP y POS v\u00eda API<\/span>\n          <span><i>\u2713<\/i> Stock real por bodega y por tienda<\/span>\n          <span><i>\u2713<\/i> Primer canal productivo en &lt;3 semanas<\/span>\n        <\/div>\n        <div class=\"cta__geo\">Colombia \u00b7 Per\u00fa \u00b7 Chile \u00b7 M\u00e9xico \u00b7 Estados Unidos<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ FOOTER ============ -->\n\n<\/div>\n\n\n\n<script>\n\/* ============ Reveal on scroll (gated con .js; con fallback) ============ *\/\n(function(){\n  var els=document.querySelectorAll('.reveal');\n  if(!('IntersectionObserver' in window)){\n    els.forEach(function(el){el.classList.add('in');});\n    return;\n  }\n  var io=new IntersectionObserver(function(entries){\n    entries.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}});\n  },{threshold:.12});\n  els.forEach(function(el){io.observe(el);});\n  \/* Fallback de robustez: si algo qued\u00f3 oculto tras la carga, mostrarlo *\/\n  window.addEventListener('load',function(){\n    setTimeout(function(){\n      els.forEach(function(el){\n        var r=el.getBoundingClientRect();\n        if(!(r.top>=window.innerHeight || r.bottom<=0))el.classList.add('in');\n      });\n    },900);\n  });\n})();\n\n\/* ============ Count-up: unificado en el script universal al final del documento (KIT \u00a710.1) ============ *\/\n\n\/* ============ Retail Command Center \u2014 operacion en vivo ============ *\/\n(function(){\n  var card=document.getElementById('callcard');\n  if(!card) return;\n  var reduce = window.matchMedia ? window.matchMedia('(prefers-reduced-motion:reduce)').matches : false;\n  var tEl=document.getElementById('call-time');\n  var pacEl=document.getElementById('call-pac');\n  var motEl=document.getElementById('call-mot');\n  var trEl=document.getElementById('call-transcript');\n  var chEl=document.getElementById('call-chips');\n\n  \/* Escenarios de la seccion *\/\n  var SCENARIOS=[\n    { pac:'D. Salazar \u00b7 WhatsApp', mot:'Venta asistida \u00b7 Stock real',\n      lines:[['patient','Hola, \u00bftienen la chaqueta azul en talla M?'],\n             ['ruvic','En azul talla M no me queda inventario. S\u00ed tengo <em>M en negro<\/em> en la tienda de Chapinero y <em>L en azul<\/em> para env\u00edo desde bodega.'],\n             ['patient','La negra en M, \u00bfme la env\u00edan hoy?'],\n             ['ruvic','S\u00ed, con env\u00edo mismo d\u00eda por <em>$9.900<\/em>. Te dejo el link de pago y te reservo la unidad por 30 minutos.']],\n      chips:[['Stock consultado en ERP','ok'],['Alternativa ofrecida','ok'],['Unidad reservada','ok'],['\u2192 Orden creada','live']] },\n    { pac:'C. Mu\u00f1oz \u00b7 Carrito abandonado', mot:'Conversi\u00f3n \u00b7 Recuperaci\u00f3n',\n      lines:[['ruvic','Hola Carolina, vi que dejaste unos tenis running talla 38 en el carrito. \u00bfTe qued\u00f3 alguna duda?'],\n             ['patient','S\u00ed, no sab\u00eda si me sirve la 38 o mejor la 38 y medio.'],\n             ['ruvic','Ese modelo talla justo, la mayor\u00eda sube media talla. Te recomiendo la <em>38\u00bd<\/em>, y si no te queda el cambio es gratis en 30 d\u00edas.'],\n             ['patient','Perfecto, m\u00e1ndame el link con la 38 y medio.']],\n      chips:[['Objeci\u00f3n resuelta','ok'],['Talla ajustada','ok'],['\u2192 Compra completada','live']] },\n    { pac:'Orden #10-44821', mot:'Postventa \u00b7 Devoluci\u00f3n',\n      lines:[['patient','Quiero devolver el pedido, me lleg\u00f3 de otro color.'],\n             ['ruvic','Verifico la orden 10-44821: efectivamente se despach\u00f3 verde y pediste beige. Error nuestro, la devoluci\u00f3n es sin costo.'],\n             ['ruvic','Genero la gu\u00eda de retorno, coordino recogida para ma\u00f1ana y te despacho el beige hoy mismo sin esperar el retorno.']],\n      chips:[['Error de despacho','ok'],['Gu\u00eda generada','ok'],['\u2192 Reposici\u00f3n despachada','live']] },\n    { pac:'SKU CH-2200 \u00b7 Inventario', mot:'Omnicanal \u00b7 Desalineaci\u00f3n',\n      lines:[['ruvic','El cat\u00e1logo web ofrece 14 unidades de CH-2200, pero el ERP registra <em>3<\/em> disponibles reales.'],\n             ['ruvic','Riesgo de cancelar \u00f3rdenes ya pagadas. Ajusto la disponibilidad publicada a 3 y alerto a compras.'],\n             ['ruvic','En paralelo: hay 22 unidades paradas en la tienda de Cali. Propongo traslado o campa\u00f1a regional.']],\n      chips:[['Desalineaci\u00f3n detectada','esc'],['Cat\u00e1logo corregido','ok'],['\u2192 Compras notificado','live']] },\n    { pac:'M. Vargas \u00b7 Reclamo', mot:'Postventa \u00b7 Escalamiento',\n      lines:[['patient','Es la tercera vez que escribo y nadie me resuelve. Quiero hablar con alguien ya.'],\n             ['ruvic','Entiendo la molestia, Mar\u00eda, y tienes raz\u00f3n: veo tus tres contactos previos sin cierre.'],\n             ['ruvic','Te paso de inmediato con una asesora del equipo de servicio, con todo el historial de tu caso cargado.']],\n      chips:[['Reclamo detectado','esc'],['\u2192 Escalado a humano','esc']] }\n  ];\n\n  \/* ---- Estabilizador de altura (evita temblor al rotar SCENARIOS) ----\n     El CSS de .hero .console reduce min-height a valores fijos (150px en\n     el transcript, 0 en los chips) que no alcanzan para todos los\n     escenarios. Se mide el alto real de cada variante posible (todas las\n     lineas\/chips de cada escenario, renderizadas por completo, no solo\n     la primera) y se fija minHeight al maximo -- asi el contenedor nunca\n     necesita crecer\/encoger cuando cambia el escenario. *\/\n  function __medirMax(el, variantesHtml){\n    var prevMin = el.style.minHeight;\n    var original = el.innerHTML;\n    el.style.minHeight = '0';\n    var max = 0;\n    variantesHtml.forEach(function(html){\n      el.innerHTML = html;\n      var h = el.getBoundingClientRect().height;\n      if(h > max) max = h;\n    });\n    el.innerHTML = original;\n    el.style.minHeight = prevMin;\n    return max;\n  }\n  function __reservarAlturas(){\n    if(!pacEl || !motEl || !trEl || !chEl) return;\n    pacEl.style.minHeight = __medirMax(pacEl, SCENARIOS.map(function(sc){return sc.pac;})) + 'px';\n    motEl.style.minHeight = __medirMax(motEl, SCENARIOS.map(function(sc){return sc.mot;})) + 'px';\n    var trVariantes = SCENARIOS.map(function(sc){\n      return sc.lines.map(function(ln){\n        return '<div class=\"cc-line cc-line--'+ln[0]+'\"><span class=\"speaker\">'+(ln[0]==='ruvic'?'Ruvic':'Cliente')+'<\/span><span class=\"text\">'+ln[1]+'<\/span><\/div>';\n      }).join('');\n    });\n    trEl.style.minHeight = __medirMax(trEl, trVariantes) + 'px';\n    var chVariantes = SCENARIOS.map(function(sc){\n      return sc.chips.map(function(c){\n        return '<span class=\"tag tag--'+(c[1]||'ok')+'\">'+c[0]+'<\/span>';\n      }).join('');\n    });\n    chEl.style.minHeight = __medirMax(chEl, chVariantes) + 'px';\n  }\n  __reservarAlturas();\n  window.addEventListener('resize', __reservarAlturas);\n  if(document.fonts && document.fonts.ready) document.fonts.ready.then(__reservarAlturas);\n\n  var sec=0, timer=null, pending=[];\n  function fmt(){var m=Math.floor(sec\/60),s=sec%60;tEl.textContent=(m<10?'0':'')+m+':'+(s<10?'0':'')+s;}\n  function startTimer(){stopTimer();sec=0;fmt();timer=setInterval(function(){sec++;fmt();},1000);}\n  function stopTimer(){if(timer){clearInterval(timer);timer=null;}}\n  function clearPending(){pending.forEach(clearTimeout);pending=[];}\n  function later(fn,ms){pending.push(setTimeout(fn,ms));}\n\n  function play(i,done){\n    var sc=SCENARIOS[i];\n    clearPending();\n    pacEl.textContent=sc.pac; motEl.textContent=sc.mot;\n    trEl.innerHTML=''; chEl.innerHTML='';\n    startTimer();\n    var d=350;\n    sc.lines.forEach(function(ln){\n      later(function(){\n        var row=document.createElement('div');\n        row.className='cc-line cc-line--'+ln[0]+' enter';\n        row.innerHTML='<span class=\"speaker\">'+(ln[0]==='ruvic'?'Ruvic':'Cliente')+'<\/span><span class=\"text\">'+ln[1]+'<\/span>';\n        trEl.appendChild(row);\n      },d);\n      d+=1350;\n    });\n    sc.chips.forEach(function(c,idx){\n      later(function(){\n        var s=document.createElement('span');\n        s.className='tag pop tag--'+(c[1]||'ok');\n        s.innerHTML=c[0];\n        chEl.appendChild(s);\n      },d+idx*360);\n    });\n    d+=sc.chips.length*360+2600;\n    later(done,d);\n  }\n  function loop(i){play(i,function(){loop((i+1)%SCENARIOS.length);});}\n\n  var started=false;\n  function start(){\n    if(started) return; started=true;\n    if(reduce) return; \/* sin movimiento: la semilla queda est\u00e1tica *\/\n    startTimer();\n    later(function(){loop(1);},3200);\n  }\n\n  \/* Robustez: arranque garantizado con load + setTimeout *\/\n  window.addEventListener('load',function(){setTimeout(start,700);});\n  setTimeout(start,3500); \/* respaldo por si 'load' ya dispar\u00f3 o tarda *\/\n\n  \/* IntersectionObserver solo como extra (arranque anticipado al entrar en viewport) *\/\n  if('IntersectionObserver' in window){\n    var io2=new IntersectionObserver(function(es){\n      es.forEach(function(e){if(e.isIntersecting) start();});\n    },{threshold:.25});\n    io2.observe(card);\n  }\n})();\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('[data-count],div,span,strong,b,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){ if(window.cancelAnimationFrame) 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)){ 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 Pipeline del hero (Canales \u2192 Motor Ruvic \u2192 Acciones) \u2014 Retail (light) \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  var IC={\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    chat:'M4 5h15v11H9l-4 4V5z',\n    web:'M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M3 12h18M12 3c2.5 2.6 3.8 5.7 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.7-3.8-9s1.3-6.4 3.8-9',\n    cal:'M3 5h18v16H3zM3 9h18M8 3v4M16 3v4',\n    crm:'M4 5h16v14H4zM8 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4M5.5 17c.5-1.4 1.8-2.2 2.5-2.2s2 .8 2.5 2.2M14 9h4M14 13h4',\n    bell:'M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9M13.7 21a2 2 0 0 1-3.4 0',\n    doc:'M6 3h9l3 3v15H6zM9 12h5M9 16h5M9 8h3',\n    agent:'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8M16 11l2 2 4-4'\n  };\n  var CHIP_IC={ event:'M4 5h15v11H9l-4 4V5z', alerta:'M6 3h9l3 3v15H6z', resuelto:'M20 6 9 17l-5-5' };\n  var COL={ ev:'#FDAA4C',evbg:'rgba(253,170,76,.16)',evln:'rgba(253,170,76,.5)', al:'#E4262B',albg:'rgba(228,38,43,.13)',alln:'rgba(228,38,43,.4)', res:'#189A4A',resbg:'rgba(24,154,74,.13)',resln:'rgba(24,154,74,.4)' };\n  var SOURCES=[ {t:'WHATSAPP',ic:'chat'},{t:'LLAMADA',ic:'phone'},{t:'E-COMMERCE',ic:'web'},{t:'MARKETPLACE',ic:'doc'},{t:'POS \/ TIENDA',ic:'crm'} ];\n  var ACTIONS=[ {t:'RESPONDE',ic:'bell'},{t:'RESERVA STOCK',ic:'cal'},{t:'GENERA ORDEN',ic:'doc'},{t:'ACTUALIZA ERP',ic:'crm'},{t:'ESCALA',ic:'agent'} ];\n  var HUBLABS=['ENTIENDE','PRIORIZA','RESUELVE'];\n  var CHIPLABS={ event:'CONSULTA', alerta:'SIN STOCK', resuelto:'VENDIDO' };\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 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':'#FF5F62','stop-opacity':'.5'}));\n  g.appendChild(el('stop',{offset:'45%','stop-color':'#FFB0AB','stop-opacity':'.26'}));\n  g.appendChild(el('stop',{offset:'100%','stop-color':'#FFB0AB','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.doc})); 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,HUBLABS[0]); lab(HUBX-57,HUBY+68,HUBLABS[1]); lab(HUBX+57,HUBY+68,HUBLABS[2]);\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 WIDTHS={ event:74, alerta:78, resuelto:66 };\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=CHIPLABS[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\/* KIT v2 \u00b7 Efectos unificados: botones magneticos + spotlight en cards (mouse) *\/\n(function(){\n  if(window.__ruvicFX) return; window.__ruvicFX=1;\n  if(!window.matchMedia) return;\n  var reduce=matchMedia('(prefers-reduced-motion:reduce)').matches;\n  if(reduce || !matchMedia('(hover:hover)').matches) return;\n  [].slice.call(document.querySelectorAll('.btn')).forEach(function(btn){\n    var s=\/primary\/.test(btn.className)?0.32:0.20;\n    btn.addEventListener('pointermove',function(e){var r=btn.getBoundingClientRect();btn.style.transform='translate('+((e.clientX-r.left-r.width\/2)*s).toFixed(1)+'px,'+((e.clientY-r.top-r.height\/2)*s-2).toFixed(1)+'px)';});\n    btn.addEventListener('pointerleave',function(){btn.style.transform='';});\n  });\n  [].slice.call(document.querySelectorAll('.card,.dash,.console')).forEach(function(el){\n    el.addEventListener('pointermove',function(e){var r=el.getBoundingClientRect();el.style.setProperty('--mx',((e.clientX-r.left)\/r.width*100).toFixed(1)+'%');el.style.setProperty('--my',((e.clientY-r.top)\/r.height*100).toFixed(1)+'%');});\n  });\n})();\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Service\",\n      \"name\": \"Retail automation con IA\",\n      \"serviceType\": \"IA para operaci\u00f3n comercial omnicanal\",\n      \"description\": \"Agentes de IA que responden en WhatsApp y web, recuperan carritos, consultan stock real en el ERP, generan la orden y gestionan la postventa, integrados a Shopify, VTEX, marketplaces y POS.\",\n      \"provider\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Ruvic AI\",\n        \"url\": \"https:\/\/ruvic.ai\/\"\n      },\n      \"areaServed\": [\n        \"CO\",\n        \"MX\",\n        \"CL\",\n        \"PE\",\n        \"US\"\n      ],\n      \"url\": \"https:\/\/ruvic.ai\/soluciones\/por-industria\/retail\/\"\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfQu\u00e9 es el retail automation con IA?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Es el uso de agentes de IA para ejecutar la operaci\u00f3n comercial completa en lugar de solo responder preguntas: atender la consulta en el canal del cliente, verificar stock real, recomendar producto, generar la orden en el e-commerce o ERP y gestionar la postventa. La diferencia con un chatbot es que Ruvic ejecuta la transacci\u00f3n, no solo la conversaci\u00f3n.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfSe integra con Shopify, VTEX o mi ERP?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"S\u00ed. Ruvic se conecta v\u00eda API y conectores a plataformas de e-commerce como Shopify, VTEX, WooCommerce y Magento, a marketplaces como Mercado Libre y Amazon, y a tu ERP, WMS y POS. No reemplaza tu stack comercial: se integra a \u00e9l sin migraci\u00f3n.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfC\u00f3mo consulta el inventario en tiempo real?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Ruvic consulta la existencia directamente en tu ERP o WMS en el momento de la conversaci\u00f3n, considerando stock por bodega y por tienda. Si el producto no est\u00e1 disponible en el punto solicitado, ofrece alternativas reales: otra talla o color, otra tienda cercana o env\u00edo desde bodega.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfPuede recuperar carritos abandonados?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"S\u00ed. Ruvic detecta el carrito abandonado, contacta al cliente por WhatsApp con el producto espec\u00edfico, resuelve la objeci\u00f3n concreta (talla, tiempo de env\u00edo, medio de pago, costo de flete) y completa la compra en la misma conversaci\u00f3n con link de pago, en lugar de enviar un recordatorio gen\u00e9rico.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfC\u00f3mo maneja las devoluciones y la postventa?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Recibe la solicitud, valida la orden y la pol\u00edtica de devoluci\u00f3n vigente, clasifica el motivo, genera la gu\u00eda de retorno con la transportadora y hace seguimiento hasta el cierre, actualizando el estado en el e-commerce y el ERP. Escala al humano cuando hay reclamo o excepci\u00f3n de pol\u00edtica.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfFunciona en varios canales a la vez?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"S\u00ed. Ruvic opera en WhatsApp, web, llamada, marketplaces y redes con el mismo contexto de cliente y de inventario. El cliente puede empezar en Instagram, seguir en WhatsApp y recibir en tienda sin repetir la informaci\u00f3n.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfEn qu\u00e9 se diferencia de un chatbot de retail?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Un chatbot responde con un \u00e1rbol de respuestas y deriva a un humano cuando el cliente quiere comprar. Ruvic consulta el stock real, calcula el flete, aplica la promoci\u00f3n vigente, genera la orden y registra el pago, orquestando varios agentes especializados sobre tu stack existente.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Inicio Soluciones Retail<\/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-6958","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages\/6958","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=6958"}],"version-history":[{"count":3,"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages\/6958\/revisions"}],"predecessor-version":[{"id":7037,"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/pages\/6958\/revisions\/7037"}],"wp:attachment":[{"href":"https:\/\/ruvic.ai\/en\/wp-json\/wp\/v2\/media?parent=6958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}