{"id":3954,"date":"2026-01-20T16:29:40","date_gmt":"2026-01-20T22:29:40","guid":{"rendered":"https:\/\/vmsenergy.com\/?p=3954"},"modified":"2026-07-24T12:26:09","modified_gmt":"2026-07-24T18:26:09","slug":"subestacion-electrica-industrial","status":"publish","type":"post","link":"https:\/\/vmsenergy.com\/en\/subestacion-electrica-industrial\/","title":{"rendered":"Industrial Electrical Substation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3954\" class=\"elementor elementor-3954\" data-elementor-post-type=\"post\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-4abe4f9d e-flex e-con-boxed e-con e-parent\" data-id=\"4abe4f9d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-202fa25e elementor-widget elementor-widget-text-editor\" data-id=\"202fa25e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La modernizaci\u00f3n de una subestaci\u00f3n el\u00e9ctrica industrial no es un proyecto de sustituci\u00f3n de equipos, sino una decisi\u00f3n estrat\u00e9gica que impacta directamente en la continuidad operativa, el riesgo t\u00e9cnico y el desempe\u00f1o financiero del activo.<br \/>En esta gu\u00eda abordamos c\u00f3mo evaluar una subestaci\u00f3n desde una l\u00f3gica integral \u2014infraestructura, criterios t\u00e9cnicos y ruta de ejecuci\u00f3n\u2014 para identificar riesgos ocultos, priorizar inversiones CAPEX\/OPEX y tomar decisiones con base en datos, no en supuestos.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-f351cc2 e-con-full e-flex e-con e-parent\" data-id=\"f351cc2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0e02129 elementor-widget elementor-widget-html\" data-id=\"0e02129\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\n<html lang=\"es\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"theme-color\" content=\"#0F4C81\">\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\n<title>Modernizaci\u00f3n de subestaciones el\u00e9ctricas industriales | Diagn\u00f3stico CAPEX\/OPEX<\/title>\n<meta name=\"description\" content=\"Gu\u00eda t\u00e9cnica para evaluar riesgos, CAPEX\/OPEX y la integraci\u00f3n de subestaciones el\u00e9ctricas industriales. Incluye autodiagn\u00f3stico de nivel de se\u00f1al y priorizaci\u00f3n por capas (NSIC) autodiagn\u00f3stico y enfoque Project Management para proyectos llave en mano.\n\">\n<meta property=\"og:title\" content=\"Subestaciones el\u00e9ctricas industriales: CAPEX, OPEX y riesgos\">\n<meta property=\"og:description\" content=\"Gu\u00eda t\u00e9cnica y ejecutiva para modernizaci\u00f3n de subestaciones industriales: riesgos, CAPEX\/OPEX, autodiagn\u00f3stico y arquitectura por capas (NSIC).\">\n<meta property=\"og:type\" content=\"article\">\n\n\n  <style data-critical>\n\/*\n  VMS Energy \u2013 Clean CSS (deduplicated & formatted)\n  Note: Order preserved to avoid visual regressions.\n*\/\n\n:root{\n  --bg:#f7f8fb;\n  --card:#ffffff;\n  --ink:#0b1220;\n  --muted:#556070;\n  --line:#e5e8ef;\n  --soft:#f1f3f8;\n  --accent:#172C51;   \/* VMS navy *\/\n  --accent2:#0F4C81;  \/* VMS cobalt *\/\n  --accent3:#3A6FA5;  \/* VMS technical blue *\/\n  --ok:#1a7f37;\n  --warn:#b54708;\n  --shadow: 0 10px 30px rgba(16,24,40,.08);\n  --radius: 18px;\n  --radius2: 14px;\n  --max: 1120px;\n  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\"Courier New\", monospace;\n  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\",\"Segoe UI Emoji\";\n  --text: clamp(13.5px, 1.2vw, 15.5px);\n  --text-sm: clamp(12.5px, 1.05vw, 14px);\n  --text-lg: clamp(14.5px, 1.35vw, 17px);\n}\n\n*{box-sizing:border-box}\n\nhtml{\n  overflow-x: hidden;\n  max-width: 100vw;\n}\n\nbody{\n  margin:0;\n  font-family: var(--sans);\n  color:var(--ink);\n  background: linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, #ffffff 100%);\n  line-height:1.6;\n  font-size: var(--text);\n  overflow-x: hidden;\n  max-width: 100vw;\n}\n\na{color:var(--accent2); text-decoration:none}\n\na:hover{text-decoration:underline}\n\n.topbar{\n  position:sticky; top:0; z-index:50;\n  background: rgba(255,255,255,.85);\n  backdrop-filter: blur(10px);\n  border-bottom:1px solid var(--line);\n}\n\n.topbar-inner{\n  max-width:var(--max);\n  margin:0 auto;\n  padding:12px 18px;\n  display:flex;\n  align-items:center;\n  gap:14px;\n  justify-content:space-between;\n}\n\n.brand{\n  display:flex; align-items:center; gap:10px;\n  font-weight:700;\n  letter-spacing:.2px;\n}\n\n.dot{\n  width:10px;height:10px;border-radius:999px;background:var(--accent2);\n  box-shadow:0 0 0 4px rgba(15,76,129,.12);\n}\n\n.nav{\n  display:flex; gap:14px; align-items:center;\n  font-size:14px;\n  color:var(--muted);\n}\n\n.nav a{color:var(--muted)}\n\n.nav a.active{color:var(--accent); font-weight:600}\n\n.progress{\n  height:3px;\n  background:linear-gradient(90deg,var(--accent3),var(--accent2));\n  width:0%;\n  transition: width .08s linear;\n}\n\n.container{\n  max-width:var(--max); \n  margin:0 auto; \n  padding: 28px 18px 80px;\n  width: 100%;\n  overflow-x: hidden;\n}\n\n.hero{\n  display:grid;\n  grid-template-columns: 1.25fr .75fr;\n  gap:18px;\n  align-items:stretch;\n  margin-top:8px;\n}\n\n.hero-card{\n  background:var(--card);\n  border:1px solid var(--line);\n  border-radius: var(--radius);\n  padding:28px;\n  box-shadow: var(--shadow);\n  position:relative;\n  overflow:hidden;\n}\n\n.kicker{\n  display:inline-flex; gap:10px; align-items:center;\n  font-size:12px;\n  color:var(--muted);\n  padding:6px 10px;\n  border-radius:999px;\n  background: var(--soft);\n  border:1px solid var(--line);\n  width: fit-content;\n  margin-bottom:10px;\n}\n\nh1{\n  margin:10px 0 8px;\n  font-size: clamp(26px, 4vw, 40px);\n  line-height:1.15;\n  letter-spacing:-.5px;\n}\n\n.sub{\n  margin:0 0 16px;\n  font-size: clamp(12.5px, 2vw, 18px);\n  color: var(--muted);\n}\n\n.rule{height:1px;background:var(--line);margin:16px 0 14px}\n\n.sage{\n  margin:0;\n  font-style:italic;\n  color: var(--muted);\n}\n\n.hero-visual{\n  background: var(--card);\n  border:1px solid var(--line);\n  border-radius: var(--radius);\n  box-shadow: var(--shadow);\n  padding:18px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  overflow:hidden;\n  position:relative;\n}\n\n.badge{\n  position:absolute;\n  top:12px; right:12px;\n  font-size:12px;\n  color:var(--muted);\n  background:rgba(241,243,248,.9);\n  border:1px solid var(--line);\n  padding:6px 10px;\n  border-radius:999px;\n}\n\n.section{\n  margin-top:28px; \n  max-width:var(--max); \n  margin-left:auto; \n  margin-right:auto;\n  width: 100%;\n  overflow-x: hidden;\n}\n\n.section-card{\n  background:var(--card);\n  border:1px solid var(--line);\n  border-radius: var(--radius);\n  box-shadow: var(--shadow);\n  padding:22px;\n  max-width: 100%;\n  overflow-x: hidden;\n  box-sizing: border-box;\n}\n\n.h2{\n  font-size:22px;\n  margin:0 0 8px;\n  letter-spacing:-.2px;\n}\n\n.lead{\n  margin:0 0 14px;\n  color:var(--muted);\n}\n\n.pull{\n  border-left:4px solid rgba(58,111,165,.5);\n  background: linear-gradient(90deg, rgba(58,111,165,.10), rgba(15,76,129,.05));\n  padding:14px 16px;\n  border-radius: 12px;\n  color: #2b3a4a;\n  margin: 16px 0 0;\n}\n\n.cards{\n  display:grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap:12px;\n  margin-top:14px;\n}\n\n.card{\n  border:1px solid var(--line);\n  border-radius: var(--radius2);\n  padding:14px;\n  background: #fff;\n  min-height: 112px;\n  display:flex;\n  flex-direction:column;\n  gap:8px;\n}\n\n.card .icon{\n  width:32px;height:32px;border-radius:10px;\n  display:grid;place-items:center;\n  background: rgba(23,44,81,.06);\n  border:1px solid rgba(23,44,81,.12);\n}\n\n.card h3{\n  margin:0;\n  font-size:14px;\n  letter-spacing:-.1px;\n}\n\n.card p{\n  margin:0;\n  font-size:12.5px;\n  color:var(--muted);\n}\n\n.divider{\n  display:flex; align-items:center; gap:12px;\n  margin:22px 0 6px;\n  color:var(--muted);\n  font-size:12.5px;\n}\n\n.divider:before,.divider:after{\n  content:\"\";\n  height:1px; background:var(--line);\n  flex:1;\n}\n\n.layers{\n  display:grid;\n  grid-template-columns: 1fr;\n  gap:14px;\n  margin-top:14px;\n}\n\n.layer-grid{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap:12px;\n  margin-top:14px;\n}\n\n.layer{\n  border:1px solid var(--line);\n  border-radius: var(--radius2);\n  padding:16px;\n  background:#fff;\n  display:grid;\n  grid-template-columns: 1.05fr .95fr;\n  gap:12px;\n  align-items:center;\n}\n\n.layer h3{\n  margin:0 0 6px;\n  font-size:15px;\n  letter-spacing:-.1px;\n}\n\n.layer .meta{\n  margin:0 0 10px;\n  color:var(--muted);\n  font-size:12.5px;\n}\n\n.bullets{\n  margin:0; padding-left:16px;\n  color:var(--muted);\n  font-size:12.5px;\n}\n\n.mini{\n  border:1px dashed rgba(85,96,112,.35);\n  border-radius: 14px;\n  background: linear-gradient(180deg, rgba(241,243,248,.8), rgba(255,255,255,.9));\n  padding:12px;\n  min-height:110px;\n  display:flex; align-items:center; justify-content:center;\n}\n\n.impact{\n  display:grid;\n  grid-template-columns: 1.2fr .8fr;\n  gap:12px;\n  margin-top:14px;\n}\n\ntable{\n  width:100%;\n  border-collapse:separate;\n  border-spacing:0;\n  border:1px solid var(--line);\n  border-radius: var(--radius2);\n  background:#fff;\n}\n\n.table-wrap{\n  border-radius: 14px;\n}\n\nth,td{\n  text-align:left;\n  padding:12px 12px;\n  border-bottom:1px solid var(--line);\n  vertical-align:top;\n  font-size:12.5px;\n}\n\nth{\n  background: rgba(241,243,248,.9);\n  color:#2b3a4a;\n  font-weight:700;\n}\n\ntr:last-child td{border-bottom:none}\n\n\/* ===== RESPONSIVE TABLE - Sin scroll, se adapta al tama\u00f1o ===== *\/\n@media (max-width: 1024px){\n  .table-wrap table{\n    width: 100% !important;\n    min-width: 0 !important;\n  }\n  th, td{\n    padding: 8px 6px !important;\n    font-size: 11px !important;\n    word-wrap: break-word;\n    hyphens: auto;\n  }\n  th{\n    font-size: 10px !important;\n  }\n}\n\n@media (max-width: 768px){\n  .table-wrap{\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-wrap table{\n    width: 100% !important;\n    min-width: 720px;\n    table-layout: auto !important;\n  }\n  th, td{\n    padding: 6px 6px !important;\n    font-size: 11px !important;\n    line-height: 1.35 !important;\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  th{\n    font-size: 10px !important;\n    font-weight: 700;\n  }\n  \/* Primera columna m\u00e1s angosta *\/\n  th:first-child,\n  td:first-child{\n    width: 28%;\n  }\n}\n\n@media (max-width: 480px){\n  .table-wrap table{\n    min-width: 680px;\n  }\n  th, td{\n    padding: 6px 6px !important;\n    font-size: 10px !important;\n    line-height: 1.3 !important;\n  }\n  th{\n    font-size: 9px !important;\n  }\n}\n\n\/* ===== Mobile safe text + layout (evita cortes) ===== *\/\n@media (max-width: 720px){\n  .hero,\n  .impact,\n  .layer-panel__grid,\n  .layer-card,\n  .det-card,\n  .risk,\n  .detonator,\n  .section-card{\n    min-width: 0;\n  }\n\n  body{\n    overflow-x: hidden;\n  }\n\n  .topbar-inner,\n  .nav,\n  .hero,\n  .impact,\n  .layer-panel__head,\n  .layer-panel__actions{\n    flex-wrap: wrap;\n  }\n\n  .hero-card,\n  .section-card,\n  .layer-card,\n  .det-card,\n  .risk,\n  .detonator{\n    overflow: visible;\n  }\n\n  .table-wrap{\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-bottom: 6px;\n    margin-left: -12px;\n    margin-right: -12px;\n  }\n  .table-wrap table{\n    display: block;\n    width: max-content;\n    min-width: 100%;\n  }\n  .table-wrap::-webkit-scrollbar{ height: 8px; }\n  .table-wrap::-webkit-scrollbar-thumb{\n    background: rgba(85,96,112,.35);\n    border-radius: 999px;\n  }\n  .table-wrap::-webkit-scrollbar-track{\n    background: rgba(229,232,239,.6);\n    border-radius: 999px;\n  }\n  .table-wrap{ scrollbar-color: rgba(85,96,112,.45) rgba(229,232,239,.6); }\n\n  p, li, td, th,\n  .lead,\n  .sub,\n  .det-title,\n  .det-sub,\n  .layer-panel__desc,\n  .layer-block p,\n  .faq-a p,\n  .checkgroup p,\n  .checkitem span{\n    overflow-wrap: anywhere;\n    word-break: break-word;\n  }\n}\n\n.note{\n  margin-top:10px;\n  padding:12px 14px;\n  border-radius: 14px;\n  border:1px solid rgba(58,111,165,.25);\n  background: rgba(58,111,165,.08);\n  color:#2b3a4a;\n  font-size:12.5px;\n}\n\n.risklist{\n  border:1px solid var(--line);\n  border-radius: var(--radius2);\n  background:#fff;\n  padding:12px;\n  display:grid;\n  gap:10px;\n}\n\n.risk{\n  display:flex; gap:10px; align-items:flex-start;\n  padding:10px;\n  border-radius: 12px;\n  background: rgba(241,243,248,.7);\n  border:1px solid var(--line);\n}\n\n.risk .r-ic{\n  width:30px;height:30px;border-radius:10px;\n  display:grid;place-items:center;\n  background: rgba(181,71,8,.08);\n  border:1px solid rgba(181,71,8,.18);\n  color: var(--warn);\n  flex:0 0 auto;\n}\n\n.risk--alert .r-ic{\n  background: #fff1eb;\n  border: 1px solid #ffd6c9;\n  color: #b54708;\n}\n\n.risk strong{display:block; font-size:12.5px}\n\n.risk span{display:block; font-size:12.5px; color:var(--muted)}\n\n.turnkey{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap:12px;\n  margin-top:14px;\n}\n\n.benefits{\n  padding:14px;\n  border-radius: var(--radius2);\n  border:1px solid var(--line);\n  background:#fff;\n}\n\n.benefits ul{margin:0; padding-left:18px; color:var(--muted); font-size:12.5px}\n\n.benefits li{margin:6px 0}\n\n.related{\n  display:grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap:12px;\n  margin-top:12px;\n}\n\n.rel{\n  border:1px solid var(--line);\n  border-radius: var(--radius2);\n  background:#fff;\n  padding:14px;\n  display:flex;\n  flex-direction:column;\n  gap:8px;\n  min-height:120px;\n}\n\n.rel .tag{\n  font-family: var(--mono);\n  font-size:11px;\n  color:var(--muted);\n  background: var(--soft);\n  border:1px solid var(--line);\n  padding:4px 8px;\n  border-radius:999px;\n  width: fit-content;\n}\n\n.rel h4{margin:0; font-size:14px}\n\n.rel p{margin:0; color:var(--muted); font-size:12.5px}\n\n.rel a{margin-top:auto; font-weight:600; font-size:12.5px}\n\n.cta{\n  margin-top:18px;\n  padding:18px;\n  border-radius: var(--radius);\n  border:1px solid rgba(15,76,129,.22);\n  background: linear-gradient(180deg, rgba(15,76,129,.08), rgba(58,111,165,.06));\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n}\n\n.cta-card{\n  margin: 20px auto 0;\n  max-width: var(--max);\n  text-align: left;\n}\n.cta-card .btn{\n  margin-left: 0;\n  margin-right: 0;\n}\n\n.cta p{margin:0; color:#233042}\n\n.btn{\n  display:inline-flex; align-items:center; justify-content:center;\n  background: var(--accent);\n  color:#fff;\n  border:1px solid rgba(0,0,0,.08);\n  border-radius: 999px;\n  padding:10px 14px;\n  font-weight:700;\n  cursor:pointer;\n  transition: transform .08s ease, opacity .08s ease;\n  white-space:nowrap;\n}\n\n.btn:hover{opacity:.92; transform: translateY(-1px)}\n\n.btn:active{transform: translateY(0px)}\n\n.foot{\n  margin-top:22px;\n  color:var(--muted);\n  font-size:12.5px;\n  display:flex;\n  justify-content:space-between;\n  gap:10px;\n  flex-wrap:wrap;\n}\n\n.chip{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .4px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n}\n\n\/* Animaci\u00f3n suave al expandir *\/\n.layer-card__body[data-anim=\"in\"]{\n  animation: layerIn .18s ease-out both;\n}\n\n\/* ===== Layer Panel (inline preview) ===== *\/\n.layer-panel{\n  margin-top: 14px;\n  border-radius: var(--radius2);\n  border: 1px solid var(--line);\n  background: linear-gradient(180deg, rgba(241,243,248,.75), rgba(255,255,255,.98));\n  box-shadow: 0 10px 24px rgba(16,24,40,.06);\n  overflow: hidden;\n}\n\n.layer-panel__inner{ padding: 16px; }\n\n.layer-panel__head{\n  display: flex;\n  gap: 12px;\n  align-items: flex-start;\n  justify-content: space-between;\n}\n\n.layer-panel__kicker{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .9px;\n  color: rgba(58,111,165,.95);\n  text-transform: uppercase;\n}\n\n.layer-panel__title{\n  margin: 4px 0 6px;\n  font-size: 18px;\n  letter-spacing: -.2px;\n}\n\n.layer-panel__desc{\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.55;\n}\n\n.layer-panel__actions{\n  display: flex;\n  gap: 8px;\n  align-items: center;\n  flex: 0 0 auto;\n}\n\n.btn-ghost{\n  background: rgba(255,255,255,.75);\n  border: 1px solid rgba(229,232,239,.95);\n  border-radius: 999px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-weight: 700;\n}\n\n.btn-primary{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  border-radius: 999px;\n  padding: 10px 14px;\n  border: 1px solid rgba(58,111,165,.45);\n  background: rgba(58,111,165,.12);\n  color: var(--ink);\n  text-decoration: none;\n  font-weight: 800;\n}\n\n.layer-panel__grid{\n  margin-top: 14px;\n  display: grid;\n  grid-template-columns: 1.1fr .9fr;\n  gap: 12px;\n  align-items: stretch;\n}\n\n.layer-panel__diagram{\n  min-height: 140px;\n  border-radius: 14px;\n  border: 1px dashed rgba(85,96,112,.25);\n  background: rgba(255,255,255,.75);\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  color: rgba(23,44,81,.72);\n}\n\n.layer-panel__bullets{\n  border-radius: 14px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.85);\n  padding: 12px;\n}\n\n.layer-panel__label{\n  display:block;\n  margin-bottom: 8px;\n  font-family: var(--mono);\n  font-size: 11.5px;\n  letter-spacing: .8px;\n  text-transform: uppercase;\n  color: rgba(85,96,112,.95);\n}\n\n.layer-panel__bullets ul{\n  margin: 0;\n  padding-left: 18px;\n  color: var(--muted);\n  line-height: 1.6;\n  font-size: 12.5px;\n}\n\n\/* Mobile *\/\n@media (max-width: 820px){\n  .layer-panel__grid{ grid-template-columns: 1fr; }\n  .layer-panel__actions{ width: 100%; justify-content:flex-start; flex-wrap:wrap; }\n}\n\n@keyframes layerIn{\n  from{ opacity: 0; transform: translateY(-2px); }\n  to{ opacity: 1; transform: translateY(0); }\n}\n\n\/* =========================================================\n   RESPONSIVE TABLET (769px - 1024px)\n========================================================= *\/\n@media (min-width: 769px) and (max-width: 1024px){\n  \/* Container *\/\n  .container{\n    padding: 20px 16px 70px;\n  }\n  \n  \/* Hero *\/\n  .hero{\n    grid-template-columns: 1fr;\n    gap: 16px;\n  }\n  .hero-card{\n    padding: 20px;\n  }\n  h1{\n    font-size: 26px;\n  }\n  \n  \/* Section cards *\/\n  .section-card{\n    padding: 18px;\n  }\n  .h2{\n    font-size: 20px;\n  }\n  \n  \/* Mockups PDF *\/\n  .mockup-grid{\n    grid-template-columns: repeat(2, 1fr);\n    gap: 14px;\n  }\n  \n  \/* Logic tiles N-S-I-C *\/\n  .logic-tiles{\n    grid-template-columns: repeat(4, 1fr);\n    gap: 12px;\n  }\n  .logic-letter{\n    height: 90px;\n    font-size: 48px;\n  }\n  \n  \/* Detonators *\/\n  .det-cards{\n    grid-template-columns: repeat(2, 1fr);\n    gap: 14px;\n  }\n  .detonator{\n    padding: 14px;\n  }\n  \n  \/* Layers grid *\/\n  .layers-grid.vms-cards{\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n  .layer-card{\n    grid-template-columns: 1.2fr 0.8fr;\n    gap: 14px;\n    padding: 16px;\n  }\n  .layer-diagram{\n    width: 120px;\n    height: 75px;\n  }\n  .layer-explore{\n    flex: 0 0 95px;\n    height: 75px;\n  }\n  .layer-title{\n    font-size: 15px;\n  }\n  .layer-sub{\n    font-size: 12.5px;\n  }\n  \n  \/* Layer panel *\/\n  .layer-panel__grid{\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n  \n  \/* Impact section *\/\n  .impact{\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n  \n  \/* Tables - using global responsive styles *\/\n  \n  \/* Risklist *\/\n  .risklist{\n    padding: 14px;\n  }\n  .risk{\n    padding: 12px;\n  }\n  \n  \/* NSIC Close *\/\n  .nsic-close__inner{\n    flex-direction: column;\n    gap: 14px;\n  }\n  .nsic-close__actions{\n    width: 100%;\n    justify-content: flex-start;\n  }\n  .nsic-close__actions .btn-primary,\n  .nsic-close__actions .btn-ghost{\n    flex: 1;\n    text-align: center;\n  }\n  \n  \/* Turnkey \/ Q5 *\/\n  .turnkey{\n    grid-template-columns: 1fr;\n  }\n  .q5-hero{\n    grid-template-columns: 1fr;\n  }\n  .q5-cards{\n    grid-template-columns: repeat(2, 1fr);\n  }\n  \n  \/* Related *\/\n  .related{\n    grid-template-columns: repeat(2, 1fr);\n  }\n  \n  \/* Checklist *\/\n  .checklist-wrap{\n    grid-template-columns: 1fr;\n  }\n  .checklist-score{\n    order: -1;\n  }\n  \n  \/* FAQ *\/\n  .faq-q{\n    padding: 14px 12px;\n    font-size: 14px;\n  }\n  \n  \/* CTA *\/\n  .cta{\n    flex-direction: column;\n    gap: 12px;\n    text-align: center;\n  }\n  .cta-box{\n    flex-direction: row;\n    justify-content: center;\n  }\n}\n\n\/* Responsive *\/\n@media (max-width: 980px){\n  .hero{grid-template-columns:1fr}\n  .impact{grid-template-columns:1fr}\n  .turnkey{grid-template-columns:1fr}\n  .layer{grid-template-columns:1fr}\n  .layer-grid{grid-template-columns:1fr}\n  .cards{grid-template-columns:1fr 1fr}\n  .related{grid-template-columns:1fr}\n  .nav{display:none}\n}\n\n@media (max-width: 520px){\n  .cards{grid-template-columns:1fr}\n  .hero-card{padding:20px}\n  .section-card{padding:18px}\n}\n\n\/* Anchor offset for sticky header *\/\n[id]{scroll-margin-top: 70px;}\n\n\/* ===== L\u00f3gica progresiva (N S I C) ===== *\/\n\/* ===== L\u00f3gica progresiva (N S I C) \u00b7 VMS mid-fi ===== *\/\n.logic-tiles{\n  display: grid;\n  grid-template-columns: repeat(4, minmax(132px, 1fr));\n  gap: 18px;                 \/* mismo ritmo que cards *\/\n  align-items: start;\n  justify-items: center;\n  margin: 16px 0 14px;       \/* espaciado wireframe *\/\n}\n\n.logic-tile{\n  width: 152px;              \/* un poco m\u00e1s \u201cs\u00f3lido\u201d *\/\n  text-align: center;\n}\n\n.logic-letter{\n  height: 112px;             \/* altura consistente mid-fi *\/\n  width: 100%;\n  display: grid;\n  place-items: center;\n  font-family: var(--sans);\n  font-size: 66px;\n  font-weight: 800;\n  letter-spacing: 2px;\n  background: var(--accent2);\n  color: #fff;\n  border: 2px solid rgba(11,18,32,.95);\n  border-radius: 6px;        \/* sutil, mantiene est\u00e9tica \u201ccuadro\u201d *\/\n}\n\n\/* =========================================================\nDETONADORES \u00b7 Editorial + gr\u00e1fico (VMS mid-fi)\n========================================================= *\/\n\/* Micro nota editorial *\/\n.micro-note{\n  font-size: 12.5px;\n  color: var(--muted);\n  font-style: italic;\n  margin: -6px 0 12px;\n}\n\n\/* Cards (\u00edndice visual) *\/\n.det-cards{\n  display:grid;\n  grid-template-columns: repeat(4, minmax(210px, 1fr));\n  gap: 12px;\n  margin: 14px 0 18px;\n}\n\n.det-card{\n  position: relative;\n  display:flex;\n  gap: 12px;\n  align-items:flex-start;\n  padding: 14px 14px 12px;\n  border-radius: var(--radius2);\n  background: #fff;\n  border: 1px solid rgba(229,232,239,.95);\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\n  text-decoration:none;\n  color: inherit;\n  transform: translateY(0);\n  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;\n}\n\n\/* Numeraci\u00f3n blueprint *\/\n.det-num{\n  position:absolute;\n  top: 10px;\n  right: 12px;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .6px;\n  color: rgba(85,96,112,.9);\n  background: rgba(241,243,248,.92);\n  border: 1px solid var(--line);\n  padding: 4px 8px;\n  border-radius: 999px;\n}\n\n\/* \u00cdcono *\/\n.det-ic{\n  width: 36px;\n  height: 36px;\n  border-radius: 12px;\n  display:grid;\n  place-items:center;\n  background: rgba(23,44,81,.06);\n  border: 1px solid rgba(23,44,81,.14);\n  color: rgba(23,44,81,.88);\n  flex: 0 0 auto;\n  transition: background .12s ease, border-color .12s ease, color .12s ease;\n}\n\n.det-card-body{ min-width: 0; }\n\n.det-title{\n  font-weight: 800;\n  font-size: 13.5px;\n  letter-spacing: -.1px;\n  margin: 2px 0 2px;\n}\n\n.det-sub{\n  font-size: 12.5px;\n  color: var(--muted);\n  margin-bottom: 10px;\n}\n\n\/* Chips de capa *\/\n.det-layerchips{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 6px;\n}\n\n.layerchip{\n  display:inline-flex;\n  align-items:center;\n  gap: 6px;\n  font-family: var(--mono);\n  font-size: 11px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(241,243,248,.9);\n  color: rgba(11,18,32,.78);\n  line-height: 1;\n}\n\n.layerdot{\n  width: 8px;\n  height: 8px;\n  border-radius: 999px;\n  background: rgba(85,96,112,.7);\n}\n\n\/* Colores por capa *\/\n.layerchip--power .layerdot{ background: rgba(15,76,129,.75); }\n\n.layerchip--protection .layerdot{ background: rgba(58,111,165,.75); }\n\n.layerchip--control .layerdot{ background: rgba(23,44,81,.78); }\n\n.layerchip--comms .layerdot{ background: rgba(31,122,140,.75); }\n\n\/* Hover *\/\n.det-card:hover{\n  transform: translateY(-2px);\n  box-shadow: 0 14px 26px rgba(16,24,40,.10);\n  border-color: rgba(15,76,129,.25);\n}\n\n.det-card:hover .det-ic{\n  background: rgba(15,76,129,.10);\n  border-color: rgba(15,76,129,.28);\n  color: rgba(15,76,129,.92);\n}\n\n\/* Detonadores editoriales *\/\n.detonators{\n  margin-top: 6px;\n  max-width: 920px;\n}\n\n.detonator{\n  margin-top: 16px;\n  padding: 14px;\n  border-radius: var(--radius2);\n  border: 1px solid var(--line);\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\n}\n\n.detonator-head{\n  display:flex;\n  gap: 10px;\n  align-items:flex-start;\n}\n\n.detonator-num{\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: .6px;\n  color: rgba(85,96,112,.95);\n  padding: 6px 8px;\n  border-radius: 12px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  flex: 0 0 auto;\n  margin-top: 1px;\n}\n\n.detonator-title h4{\n  margin: 0 0 6px;\n  font-size: 15.5px;\n  font-weight: 800;\n  letter-spacing: -.2px;\n  color: var(--ink);\n}\n\n.detonator-meta{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 6px;\n}\n\n.detonator-rule{\n  display:block;\n  width: 52px;\n  height: 2px;\n  background: var(--accent3);\n  margin: 10px 0;\n  opacity: .9;\n}\n\n.detonator p{\n  margin: 0;\n  font-size: 12.5px;\n  line-height: 1.6;\n  color: var(--muted);\n}\n\n\/* Smooth scroll para anclas *\/\nhtml{ scroll-behavior: smooth; }\n\n\/* Responsive *\/\n@media (max-width: 1100px){\n  .det-cards{ grid-template-columns: repeat(2, minmax(220px, 1fr)); }\n}\n\n@media (max-width: 560px){\n  .det-cards{ grid-template-columns: 1fr; }\n}\n\n\/* =========================================================\nCAPAS \u00b7 UI tipo Detonadores (blueprint + hover + chips)\n========================================================= *\/\n.layers-grid.vms-cards{\n  display:grid;\n  grid-template-columns: repeat(2, minmax(360px, 1fr));\n  gap: 12px;\n  margin-top: 10px;\n  max-width: var(--max);\n  margin-left: auto;\n  margin-right: auto;\n  width: 100%;\n}\n\n\/* Card clickable *\/\n.layer-card{\n  position: relative;\n  display:grid;\n  grid-template-columns: 1.05fr .95fr;\n  gap: 12px;\n  padding: 16px;\n  border-radius: var(--radius2);\n  background: #fff;\n  border: 1px solid rgba(229,232,239,.95);\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\n  text-decoration:none;\n  color: inherit;\n  transform: translateY(0);\n  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;\n}\n\n.layer-card:hover{\n  transform: translateY(-2px);\n  box-shadow: 0 14px 26px rgba(16,24,40,.10);\n  border-color: rgba(15,76,129,.25);\n}\n\n\/* Numeraci\u00f3n blueprint *\/\n.layer-num{\n  position:absolute;\n  top: 12px;\n  right: 12px;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .6px;\n  color: rgba(85,96,112,.9);\n  background: rgba(241,243,248,.92);\n  border: 1px solid var(--line);\n  padding: 4px 8px;\n  border-radius: 999px;\n}\n\n\/* Columna izquierda *\/\n.layer-title{\n  margin: 0 0 6px;\n  font-size: 15px;\n  font-weight: 900;\n  letter-spacing: -.2px;\n  color: var(--ink);\n}\n\n.layer-es{\n  font-weight: 700;\n  color: rgba(85,96,112,.95);\n}\n\n.layer-sub{\n  margin: 0 0 10px;\n  font-size: 12.8px;\n  color: var(--muted);\n}\n\n.layer-bullets{\n  margin: 0 0 12px;\n  padding-left: 18px;\n  color: var(--muted);\n  font-size: 12.8px;\n}\n\n.layer-bullets li{ margin: 4px 0; }\n\n\/* Chips conexi\u00f3n *\/\n.layer-links{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 6px;\n}\n\n.layerchip--impact .layerdot{ background: rgba(15,76,129,.75); }\n\n.layerchip--risk .layerdot{ background: rgba(181,71,8,.70); }\n\n.layerchip--turnkey .layerdot{ background: rgba(26,127,55,.70); }\n\n\/* =========================================================\nCAPAS \u00b7 Explicaci\u00f3n editorial (consistente con Detonantes)\n========================================================= *\/\n.layer-explain{\n  margin-top: 12px;\n  max-width: 920px;\n}\n\n.layer-block{\n  margin-top: 16px;\n  padding: 16px;\n  border-radius: var(--radius2);\n  border: 1px solid var(--line);\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\n  max-width: 100%;\n  overflow-x: hidden;\n  box-sizing: border-box;\n}\n\n.layer-block-head{\n  display:flex;\n  gap: 10px;\n  align-items:flex-start;\n}\n\n.layer-block-num{\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: .6px;\n  color: rgba(85,96,112,.95);\n  padding: 6px 8px;\n  border-radius: 12px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.8);\n  flex: 0 0 auto;\n}\n\n.layer-block h4{\n  margin: 0 0 6px;\n  font-size: 15.5px;\n  font-weight: 900;\n  letter-spacing: -.2px;\n  color: var(--ink);\n}\n\n.layer-block-meta{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 6px;\n}\n\n.layer-block-rule{\n  display:block;\n  width: 56px;\n  height: 2px;\n  background: var(--accent3);\n  margin: 10px 0;\n  opacity: .9;\n}\n\n.layer-block p{\n  margin: 0;\n  font-size: 12.5px;\n  line-height: 1.6;\n  color: var(--muted);\n}\n\n\/* =========================================================\nFAQ \u00b7 SEO + UI (details\/summary) \u00b7 VMS mid-fi\n========================================================= *\/\n.faq{\n  margin-top: 12px;\n  display: grid;\n  gap: 10px;\n  max-width: 920px;\n}\n\n.faq-item{\n  border: 1px solid var(--line);\n  border-radius: var(--radius2);\n  background: #fff;\n  box-shadow: 0 10px 22px rgba(16,24,40,.04);\n  overflow: hidden;\n}\n\n.faq-q{\n  cursor: pointer;\n  padding: 14px 14px;\n  font-weight: 800;\n  color: var(--ink);\n  letter-spacing: -.1px;\n  list-style: none;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 10px;\n}\n\n.faq-q::-webkit-details-marker{ display: none; }\n\n\/* Icono caret (blueprint) *\/\n.faq-q::after{\n  content: \"+\";\n  font-family: var(--mono);\n  font-weight: 900;\n  font-size: 14px;\n  color: rgba(15,76,129,.85);\n  border: 1px solid rgba(15,76,129,.20);\n  background: rgba(15,76,129,.05);\n  width: 26px;\n  height: 26px;\n  border-radius: 10px;\n  display: grid;\n  place-items: center;\n  flex: 0 0 auto;\n}\n\n.faq-item[open] > .faq-q::after{\n  content: \"\u2013\";\n  background: rgba(15,76,129,.10);\n  border-color: rgba(15,76,129,.28);\n}\n\n.faq-a{\n  padding: 0 14px 14px;\n  border-top: 1px dashed rgba(85,96,112,.28);\n}\n\n.faq-a p{\n  margin: 12px 0 0;\n  color: var(--muted);\n  line-height: 1.65;\n  font-size: 12.5px;\n}\n\n\/* Hover *\/\n.faq-item:hover{\n  border-color: rgba(15,76,129,.22);\n}\n\n\/* Mobile *\/\n@media (max-width: 560px){\n  .faq-q{ padding: 13px 12px; }\n  .faq-a{ padding: 0 12px 12px; }\n}\n\n\/* =========================================================\nAutodiagn\u00f3stico \u00b7 Checklist (editorial blueprint) \u00b7 VMS mid-fi\n========================================================= *\/\n.checklist-wrap{\n  display:grid;\n  grid-template-columns: 360px 1fr;\n  gap: 12px;\n  align-items:start;\n  margin-top: 12px;\n}\n\n\/* Panel de resultado *\/\n.checklist-score{\n  position: sticky;\n  top: 96px;\n  border: 1px solid var(--line);\n  border-radius: var(--radius2);\n  background: linear-gradient(180deg, rgba(241,243,248,.75), rgba(255,255,255,.96));\n  padding: 14px;\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\n  align-self: start;\n  height: fit-content;\n}\n\n.score-top{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap: 10px;\n}\n\n.score-tag{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .6px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n}\n\n.score-title{\n  font-weight: 900;\n  font-size: 13.5px;\n  color: var(--ink);\n}\n\n.score-meter{\n  margin-top: 12px;\n  height: 10px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.7);\n  overflow:hidden;\n}\n\n.score-bar{\n  height: 100%;\n  width: 0%;\n  background: rgba(15,76,129,.35);\n  border-right: 1px solid rgba(15,76,129,.25);\n  transition: width .18s ease;\n}\n\n.score-bar[data-level=\"low\"]{ background: rgba(31,122,140,.35); }\n\n.score-bar[data-level=\"med\"]{ background: rgba(222,162,32,.35); }\n\n.score-bar[data-level=\"high\"]{ background: rgba(181,71,8,.35); }\n\n.score-value{\n  margin-top: 10px;\n  display:flex;\n  align-items:baseline;\n  gap: 6px;\n}\n\n.score-num{\n  font-family: var(--mono);\n  font-size: 22px;\n  font-weight: 900;\n  color: var(--ink);\n}\n\n.score-max{\n  font-family: var(--mono);\n  font-size: 12px;\n  color: rgba(85,96,112,.95);\n}\n\n.score-text{\n  margin: 10px 0 0;\n  color: var(--muted);\n  line-height: 1.6;\n  font-size: 14px;\n}\n\n.score-legend{\n  margin-top: 12px;\n  display:flex;\n  gap: 10px;\n  flex-wrap:wrap;\n  color: rgba(85,96,112,.95);\n  font-family: var(--mono);\n  font-size: 11px;\n}\n\n.legend-item{\n  display:flex;\n  align-items:center;\n  gap: 6px;\n}\n\n.legend-dot{\n  width: 9px; height: 9px; border-radius: 999px;\n  background: rgba(85,96,112,.6);\n}\n\n.dot-low{ background: rgba(31,122,140,.7); }\n\n.dot-med{ background: rgba(222,162,32,.7); }\n\n.dot-high{ background: rgba(181,71,8,.7); }\n\n.score-actions{\n  margin-top: 12px;\n  display:grid;\n  grid-template-columns: 1fr;\n  gap: 8px;\n}\n.score-actions > *{\n  width: 100%;\n  min-width: 0;\n  white-space: normal;\n  text-align: center;\n  justify-content: center;\n  word-break: break-word;\n}\n\n\/* Checklist *\/\n.checklist{\n  display:grid;\n  gap: 10px;\n}\n\n.checkgroup{\n  border: 1px solid var(--line);\n  border-radius: var(--radius2);\n  background: #fff;\n  padding: 14px;\n  box-shadow: 0 10px 22px rgba(16,24,40,.04);\n}\n\n.checkgroup--wide{\n  grid-column: 1 \/ -1;\n}\n\n.checkgroup-head{\n  display:flex;\n  gap: 10px;\n  align-items:flex-start;\n  margin-bottom: 10px;\n}\n\n.checkgroup-num{\n  font-family: var(--mono);\n  font-size: 12px;\n  letter-spacing: .6px;\n  color: rgba(85,96,112,.95);\n  padding: 6px 8px;\n  border-radius: 12px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(241,243,248,.92);\n  flex: 0 0 auto;\n}\n\n.checkgroup h4{\n  margin: 0 0 4px;\n  font-size: 15px;\n  font-weight: 900;\n  color: var(--ink);\n  letter-spacing: -.2px;\n}\n\n.checkgroup p{\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.55;\n  font-size: 12.5px;\n}\n\n.checkitem{\n  display:flex;\n  gap: 10px;\n  align-items:flex-start;\n  padding: 10px 10px;\n  border-radius: 14px;\n  border: 1px dashed rgba(85,96,112,.22);\n  background: linear-gradient(180deg, rgba(241,243,248,.55), rgba(255,255,255,.95));\n  margin-top: 8px;\n  cursor: pointer;\n}\n\n.checkitem input{\n  margin-top: 2px;\n  width: 16px;\n  height: 16px;\n  accent-color: rgba(15,76,129,.95);\n}\n\n.checkitem span{\n  color: rgba(11,18,32,.82);\n  font-size: 12.5px;\n  line-height: 1.55;\n}\n\n.checkitem:hover{\n  border-color: rgba(15,76,129,.28);\n  background: linear-gradient(180deg, rgba(15,76,129,.06), rgba(255,255,255,.96));\n}\n\n\/* Buttons (si ya existen en tu CSS, puedes omitir estos) *\/\n.btn-ghost, .btn-primary{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap: 8px;\n  border-radius: 14px;\n  padding: 10px 12px;\n  font-weight: 800;\n  text-decoration:none;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.8);\n  color: var(--ink);\n}\n\n.btn-primary{\n  border-color: rgba(15,76,129,.22);\n  background: rgba(15,76,129,.08);\n  color: rgba(15,76,129,.95);\n}\n\n.btn-ghost:hover{ border-color: rgba(15,76,129,.22); }\n\n.btn-primary:hover{ background: rgba(15,76,129,.12); }\n\n\/* Responsive *\/\n@media (max-width: 980px){\n  .checklist-wrap{ grid-template-columns: 1fr; }\n  .checklist-score{\n    position: sticky;\n    top: 76px;\n    z-index: 80;\n    background: rgba(255,255,255,.96);\n    backdrop-filter: blur(8px);\n  }\n}\n\n\/* CTA box *\/\n.cta-box{\n  margin-top: 14px;\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 14px;\n  align-items: center;\n  padding: 14px;\n  border: 1px solid var(--line);\n  border-radius: var(--radius2);\n  background: linear-gradient(180deg, rgba(241,243,248,.7), rgba(255,255,255,.95));\n}\n\n.cta-copy h4{\n  margin: 0 0 6px;\n  font-size: 15.5px;\n  font-weight: 900;\n  color: var(--ink);\n  letter-spacing: -.2px;\n}\n\n.cta-copy p{\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n\/* Chips *\/\n.tagline{\n  margin-top: 10px;\n  display:flex;\n  flex-wrap:wrap;\n  gap: 8px;\n}\n\n\/* Button (si ya tienes btn-primary, puedes omitir esto) *\/\n.btn-primary{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  padding: 10px 14px;\n  border-radius: 14px;\n  border: 1px solid rgba(15,76,129,.22);\n  background: rgba(15,76,129,.10);\n  color: rgba(15,76,129,.95);\n  font-weight: 900;\n  text-decoration:none;\n  white-space: nowrap;\n}\n\n.btn-primary:hover{\n  background: rgba(15,76,129,.14);\n}\n\n\/* SR-ONLY: oculta keywords extra (SEO) *\/\n.sr-only{\n  position: absolute !important;\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important;\n  overflow: hidden !important;\n  clip: rect(0,0,0,0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n}\n\n\/* Responsive *\/\n@media (max-width: 720px){\n  .cta-box{\n    grid-template-columns: 1fr;\n  }\n  .btn-primary{\n    width: 100%;\n  }\n}\n\n\/* =========================================================\nNSIC \u00b7 Marco l\u00f3gico (alineado a diagrama conceptual)\n========================================================= *\/\n.nsic-track{\n  position: relative;\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 18px;\n  margin-top: 14px;\n  max-width: 900px;\n}\n\n\/* Paso *\/\n.nsic-step{\n  position: relative;\n  display:flex;\n  flex-direction: column;\n  align-items: center;\n  z-index: 1;\n}\n\n\/* Caja letra *\/\n.nsic-box{\n  width: 68px;\n  height: 68px;\n  border-radius: 14px;\n  border: 1px solid rgba(15,76,129,.28);\n  background: linear-gradient(180deg, rgba(241,243,248,.75), rgba(255,255,255,.95));\n  display: grid;\n  place-items: center;\n  font-family: var(--mono);\n  font-size: 28px;\n  font-weight: 900;\n  letter-spacing: .5px;\n  color: rgba(15,76,129,.95);\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\n}\n\n\/* Label *\/\n.nsic-label{\n  margin-top: 6px;\n  font-size: 12.5px;\n  font-weight: 700;\n  color: rgba(85,96,112,.95);\n}\n\n\/* L\u00ednea de continuidad (inspirada en el diagrama conceptual) *\/\n.nsic-flow{\n  position:absolute;\n  left: 6%;\n  right: 6%;\n  top: 34px;\n  height: 2px;\n  background: linear-gradient(\n  90deg,\n  rgba(15,76,129,.15),\n  rgba(15,76,129,.35),\n  rgba(15,76,129,.15)\n  );\n  border-radius: 999px;\n  z-index: 0;\n}\n\n\/* Micro interacci\u00f3n sutil *\/\n.nsic-step:hover .nsic-box{\n  transform: translateY(-2px);\n  box-shadow: 0 14px 26px rgba(16,24,40,.10);\n  border-color: rgba(15,76,129,.45);\n}\n\n\/* Responsive *\/\n@media (max-width: 720px){\n  .nsic-track{\n    grid-template-columns: repeat(2, 1fr);\n    row-gap: 20px;\n  }\n  .nsic-flow{\n    display:none;\n  }\n}\n\n.layer-card{\n  margin-top: 12px;\n  border: 1px solid var(--line);\n  border-radius: var(--radius2);\n  background: #fff;\n  box-shadow: 0 10px 22px rgba(16,24,40,.05);\n  overflow: hidden;\n}\n\n.layer-card__head{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap: 12px;\n  padding: 12px 12px;\n  background: linear-gradient(180deg, rgba(241,243,248,.72), rgba(255,255,255,.95));\n  border-bottom: 1px dashed rgba(85,96,112,.22);\n}\n\n.layer-card__meta{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 8px;\n  align-items:center;\n}\n\n.layer-pill{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .45px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(15,76,129,.18);\n  background: rgba(15,76,129,.06);\n  color: rgba(15,76,129,.95);\n  white-space: nowrap;\n}\n\n.layer-pill--muted{\n  border-color: rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n}\n\n.layer-toggle{\n  display:inline-flex;\n  align-items:center;\n  gap: 10px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.8);\n  color: var(--ink);\n  border-radius: 14px;\n  padding: 8px 10px;\n  cursor: pointer;\n  font-weight: 900;\n  text-decoration:none;\n  user-select:none;\n}\n\n.layer-toggle:hover{\n  border-color: rgba(15,76,129,.22);\n}\n\n.layer-toggle__label{\n  font-size: 12.5px;\n}\n\n.layer-toggle__icon{\n  font-family: var(--mono);\n  font-weight: 900;\n  width: 26px;\n  height: 26px;\n  border-radius: 10px;\n  display:grid;\n  place-items:center;\n  border: 1px solid rgba(15,76,129,.18);\n  background: rgba(15,76,129,.06);\n  color: rgba(15,76,129,.95);\n}\n\n.layer-card__body{\n  padding: 12px;\n}\n\n.layer-figure{\n  margin: 0;\n}\n\n.layer-img{\n  width: 100%;\n  height: auto;\n  display:block;\n  border-radius: 16px;\n  border: 1px dashed rgba(85,96,112,.25);\n  background: linear-gradient(180deg, rgba(241,243,248,.6), rgba(255,255,255,.95));\n}\n\n.layer-caption{\n  margin-top: 10px;\n  color: var(--muted);\n  line-height: 1.6;\n  font-size: 14px;\n}\n\n.layer-tags{\n  margin-top: 10px;\n  display:flex;\n  flex-wrap:wrap;\n  gap: 8px;\n}\n\n.layer-panel__head{\n  display:flex;\n  gap: 12px;\n  align-items:flex-start;\n  justify-content: space-between;\n}\n\n.layer-panel__actions{\n  display:flex;\n  gap: 8px;\n  align-items:center;\n  flex: 0 0 auto;\n}\n\n.layer-panel__grid{\n  margin-top: 14px;\n  display:grid;\n  grid-template-columns: 1.1fr .9fr;\n  gap: 12px;\n  align-items: stretch;\n}\n\n\/* Flash suave blueprint en destino *\/\n.flash-blueprint{\n  animation: vmsFlash 900ms ease-out 1;\n}\n\n@keyframes vmsFlash{\n  0% { box-shadow: 0 0 0 rgba(58,111,165,0); }\n  30% { box-shadow: 0 0 0 6px rgba(58,111,165,.18); }\n  100% { box-shadow: 0 0 0 rgba(58,111,165,0); }\n}\n\n.flash-blueprint { animation: vmsFlash 900ms ease-out 1; }\n\n@keyframes vmsFlash{\n  0%   { box-shadow: 0 0 0 rgba(58,111,165,0); }\n  35%  { box-shadow: 0 0 0 6px rgba(58,111,165,.18); }\n  100% { box-shadow: 0 0 0 rgba(58,111,165,0); }\n}\n\n\/* ===============================\nConcept Hero \u2013 Internal\n================================ *\/\n.concept-hero{\n  margin: 28px 0 34px;\n  padding: 28px 28px 30px;\n  border-radius: 20px;\n  background: linear-gradient(\n  180deg,\n  rgba(241,243,248,.85),\n  rgba(255,255,255,.96)\n  );\n  border: 1px solid rgba(229,232,239,.95);\n}\n\n.concept-eyebrow{\n  display: inline-block;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .9px;\n  text-transform: uppercase;\n  color: rgba(58,111,165,.95);\n  margin-bottom: 8px;\n}\n\n.concept-title{\n  font-size: clamp(22px, 3vw, 28px);\n  line-height: 1.25;\n  letter-spacing: -.4px;\n  margin: 6px 0 10px;\n}\n\n.concept-intro{\n  font-size: 16.5px;\n  line-height: 1.65;\n  color: var(--muted);\n  max-width: 820px;\n  margin-bottom: 18px;\n}\n\n.concept-benefits{\n  margin: 0 0 18px;\n  padding-left: 18px;\n  max-width: 820px;\n}\n\n.concept-benefits li{\n  margin-bottom: 6px;\n  line-height: 1.55;\n}\n\n.concept-axiom{\n  margin-top: 16px;\n  padding: 14px 18px;\n  border-left: 3px solid rgba(58,111,165,.65);\n  background: rgba(58,111,165,.05);\n  font-size: 12.5px;\n  line-height: 1.55;\n  color: var(--ink);\n}\n\n\/* Mobile refinement *\/\n@media (max-width: 768px){\n  .concept-hero{\n    padding: 22px;\n  }\n}\n\n\/* ===== Explore hint (right tile) ===== *\/\n.layer-right{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 10px;\n  align-items: stretch;\n}\n\n.layer-explore{\n  height:100%;\n  min-height: 120px;\n  border-radius:14px;\n  border:1px dashed rgba(85,96,112,.35);\n  background:linear-gradient(180deg, rgba(255,255,255,.6), rgba(241,243,248,.9));\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  gap:6px;\n  color:rgba(23,44,81,.75);\n  font-size:12.5px;\n  text-align:center;\n  transition:all .25s ease;\n}\n\n.layer-explore__icon{\n  font-family:var(--mono);\n  font-size:22px;\n  line-height:1;\n  opacity:.85;\n  transition:transform .25s ease, opacity .25s ease;\n}\n\n.layer-card:hover .layer-explore{\n  background:linear-gradient(180deg, rgba(58,111,165,.06), rgba(255,255,255,.95));\n  border-color:rgba(58,111,165,.55);\n  color:rgba(23,44,81,.95);\n}\n\n.layer-card:hover .layer-explore__icon{\n  transform:translateY(-2px);\n  opacity:1;\n}\n\n\/* Mobile: apila para que no se vea apretado *\/\n@media (max-width: 820px){\n  .layer-right{\n    grid-template-columns: 1fr;\n  }\n  .layer-explore{\n    min-height: 88px;\n  }\n}\n\n\/* ===============================\nLayer Panel layout fix\n================================ *\/\n\/* que el panel use todo el ancho disponible del section-card *\/\n.layer-panel{\n  width: 100%;\n  margin-top: 14px;\n}\n\n.layer-panel__inner{\n  width: 100%;\n}\n\n\/* Header: que no rompa y que alinee bien *\/\n.layer-panel__head{\n  display:flex;\n  align-items:flex-start;\n  justify-content:space-between;\n  gap: 14px;\n  flex-wrap: wrap;           \/* CLAVE: evita desajuste *\/\n}\n\n\/* Acciones: que se mantengan juntas y hagan wrap *\/\n.layer-panel__actions{\n  display:flex;\n  gap: 10px;\n  flex-wrap: wrap;\n  justify-content:flex-end;\n}\n\n\/* Grid del panel: 2 columnas en desktop, 1 en mobile *\/\n.layer-panel__grid{\n  display:grid;\n  grid-template-columns: 1.15fr .85fr; \/* diagrama + bullets *\/\n  gap: 14px;\n  align-items:start;\n  margin-top: 14px;\n}\n\n@media (max-width: 980px){\n  .layer-panel__grid{\n    grid-template-columns: 1fr; \/* apila *\/\n  }\n  .layer-panel__actions{\n    width: 100%;\n    justify-content:flex-start;\n  }\n}\n\n\/* Evita que el texto se rompa en columna ultra-angosta *\/\n.layer-panel__title,\n.layer-panel__desc{\n  max-width: 52ch;\n}\n\n\/* Asegura que los cuadros internos no \u201ccolapsen\u201d *\/\n.layer-panel__diagram{\n  min-height: 220px;\n  border-radius: 16px;\n}\n\n.layer-panel__bullets{\n  min-width: 0; \/* evita overflow raro en grid *\/\n}\n\n\/* El panel ocupa todo el ancho del grid *\/\n.layer-panel{\n  grid-column: 1 \/ -1;\n}\n\n\/* Darle jerarqu\u00eda de \"detalle\" *\/\n.layer-panel{\n  margin-top: 24px;\n  background: linear-gradient(180deg, #f4f6fb, #ffffff);\n}\n\n\/* Centrar contenido interno *\/\n.layer-panel__inner{\n  max-width: 1100px;\n  margin: 0 auto;\n}\n\n\/* =========================\nBridge (Panel -> Impacto)\n========================= *\/\n.layer-bridge{\n  margin-top: 16px;\n  padding-top: 14px;\n  position: relative;\n}\n\n.layer-bridge__line{\n  height: 1px;\n  background: linear-gradient(90deg, rgba(14,73,129,.35), rgba(14,73,129,.08));\n  margin-bottom: 12px;\n}\n\n.layer-bridge__content{\n  display: flex;\n  align-items: baseline;\n  gap: 12px;\n  flex-wrap: wrap;\n}\n\n.layer-bridge__badge{\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-size: .78rem;\n  letter-spacing: .08em;\n  text-transform: uppercase;\n  padding: 6px 10px;\n  border-radius: 999px;\n  border: 1px solid rgba(14,73,129,.18);\n  background: rgba(14,73,129,.06);\n  color: var(--ink);\n}\n\n.layer-bridge__dot{\n  width: 8px;\n  height: 8px;\n  border-radius: 999px;\n  background: rgba(14,73,129,.55);\n}\n\n.layer-bridge__headline{\n  margin: 0;\n  font-size: .95rem;\n  color: var(--muted);\n  max-width: 70ch;\n}\n\n.layer-bridge__cta{\n  font-size: .95rem;\n  font-weight: 600;\n  text-decoration: none;\n  color: var(--brand);\n  border-bottom: 1px dashed rgba(14,73,129,.35);\n}\n\n.layer-bridge__cta:hover{\n  border-bottom-color: rgba(14,73,129,.7);\n}\n\n\/* =========================\nImpact Headers (conexi\u00f3n)\n========================= *\/\n.impact-block{\n  margin-top: 16px;\n}\n\n.impact-head{\n  margin-bottom: 10px;\n}\n\n.impact-kicker{\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  flex-wrap: wrap;\n  margin-bottom: 6px;\n}\n\n.impact-num{\n  font-size: .78rem;\n  font-weight: 700;\n  letter-spacing: .1em;\n  color: rgba(14,73,129,.9);\n  padding: 4px 8px;\n  border: 1px solid rgba(14,73,129,.18);\n  border-radius: 999px;\n  background: rgba(14,73,129,.06);\n}\n\n.impact-label{\n  font-size: .75rem;\n  letter-spacing: .18em;\n  text-transform: uppercase;\n  color: rgba(14,73,129,.85);\n}\n\n.impact-badge{\n  margin-left: auto;\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-size: .75rem;\n  letter-spacing: .08em;\n  text-transform: uppercase;\n  padding: 6px 10px;\n  border-radius: 999px;\n  border: 1px solid rgba(14,73,129,.18);\n  background: rgba(14,73,129,.05);\n  color: var(--ink);\n}\n\n.impact-dot{\n  width: 8px;\n  height: 8px;\n  border-radius: 999px;\n  background: rgba(14,73,129,.55);\n}\n\n.impact-title{\n  margin: 0;\n}\n\n.impact-rule{\n  margin-top: 10px;\n  height: 1px;\n  background: linear-gradient(90deg, rgba(14,73,129,.35), rgba(14,73,129,.08));\n}\n\n.impact-capexopex{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n  margin-top: 10px;\n}\n\n.impact-col{\n  border-radius: 14px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.85);\n  padding: 12px;\n}\n\n@media (max-width: 820px){\n  .impact-capexopex{ grid-template-columns: 1fr; }\n}\n\n\/* Responsive: badge no se vaya al infinito *\/\n@media (max-width: 720px){\n  .impact-badge{\n    margin-left: 0;\n  }\n}\n\n\/* ===============================\nColumna derecha (diagram + CTA)\n=============================== *\/\n.layer-right{\n  display:flex;\n  align-items:center;\n  justify-content:flex-end;\n  gap: 10px;\n}\n\n.layer-diagram{\n  flex: 0 0 auto;\n  width: 140px;\n  height: 86px;\n  border-radius: 14px;\n  border: 1px dashed rgba(85,96,112,.25);\n  background: rgba(255,255,255,.75);\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  color: rgba(23,44,81,.72);\n}\n\n.layer-diagram svg{\n  width: 100%;\n  height: 100%;\n}\n\n.layer-explore{\n  flex: 0 0 108px;\n  height: 86px;\n  border-radius: 14px;\n  border: 1px dashed rgba(85,96,112,.28);\n  background: linear-gradient(\n  180deg,\n  rgba(241,243,248,.72),\n  rgba(255,255,255,.88)\n  );\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  gap: 6px;\n  color: rgba(15,76,129,.92);\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .3px;\n}\n\n.layer-explore__icon{\n  font-family: var(--mono);\n  font-size: 18px;\n  font-weight: 900;\n  color: rgba(15,76,129,.95);\n}\n\n\/* Jump link dentro de Impact Layer *\/\n.impact-jump{\n  display:inline-flex;\n  align-items:center;\n  gap:8px;\n  margin:10px 0 0;\n  font-weight:700;\n  color: var(--ink);\n  opacity:.92;\n  background: none;\n  border: 0;\n  padding: 0;\n  cursor: pointer;\n  text-decoration: none;\n}\n\n.impact-jump:hover{ opacity:1; text-decoration:underline; }\n\n\/* ===== Button look for impact-jump ===== *\/\n.impact-jump--btn{\n  margin: 0;                 \/* evita el margin:10px del base *\/\n  padding: 10px 14px;\n  border-radius: 16px;\n  background: linear-gradient(180deg, #f3f8ff 0%, #ffffff 100%);\n  border: 1px solid rgba(15, 76, 129, .22); \/* --accent2 *\/\n  color: var(--accent2);\n  font-weight: 800;\n  font-size: 12.5px;\n  letter-spacing: .2px;\n  text-decoration: none !important;\n  box-shadow: 0 8px 18px rgba(15, 76, 129, .10);\n  transition: transform .08s ease, box-shadow .12s ease, background .12s ease;\n  white-space: nowrap;\n  user-select: none;\n}\n\n.impact-jump--btn:hover{\n  opacity: 1; \/* cancela tu hover de opacity *\/\n  background: linear-gradient(180deg, #eef6ff 0%, #ffffff 100%);\n  box-shadow: 0 12px 26px rgba(15, 76, 129, .14);\n  transform: translateY(-1px);\n  text-decoration: none !important;\n}\n\n.impact-jump--btn:active{\n  transform: translateY(0);\n  box-shadow: 0 8px 18px rgba(15, 76, 129, .10);\n}\n\n.impact-jump--btn:focus-visible{\n  outline: 3px solid rgba(58, 111, 165, .25); \/* --accent3 *\/\n  outline-offset: 3px;\n}\n\n.capex-row-flash{\n  outline: 2px solid rgba(58,111,165,.45);      \/* --accent3 *\/\n  background: rgba(58,111,165,.10);\n  transition: background .2s ease;\n}\n\n\/* Highlight suave blueprint en fila destino *\/\n.capex-row-flash{\n  outline: 2px solid rgba(15,76,129,.35);\n  background: linear-gradient(180deg, rgba(231,244,255,.55), rgba(255,255,255,0));\n  border-radius: 10px;\n  transition: outline .25s ease, background .25s ease;\n}\n\n\/* Bot\u00f3n de salto a tabla <a href=\"#impacto-capex\">CAPEX\/OPEX<\/a> *\/\n.impact-jump--btn{\n  margin-top: 12px;\n  padding: 8px 14px;\n  border-radius: 10px;\n  border: 1px solid rgba(15,76,129,.35);\n  background: linear-gradient(\n  180deg,\n  rgba(241,243,248,.85),\n  rgba(255,255,255,.98)\n  );\n  font-family: var(--mono);\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: .25px;\n  color: rgba(15,76,129,.95);\n  cursor: pointer;\n  box-shadow: 0 6px 14px rgba(16,24,40,.06);\n  transition:\n  transform .15s ease,\n  box-shadow .15s ease,\n  border-color .15s ease,\n  background .15s ease;\n}\n\n.impact-jump--btn:hover{\n  transform: translateY(-1px);\n  box-shadow: 0 10px 22px rgba(16,24,40,.10);\n  border-color: rgba(15,76,129,.6);\n}\n\n.impact-jump--btn:active{\n  transform: translateY(0);\n  box-shadow: 0 6px 14px rgba(16,24,40,.08);\n}\n\n\/* Bot\u00f3n tipo link (pero visualmente bot\u00f3n) *\/\n.impact-jump{\n  display:inline-flex;\n  align-items:center;\n  gap:10px;\n  border: 1px solid rgba(15,76,129,.18);\n  background: rgba(15,76,129,.06);\n  color: rgba(15,76,129,.95);\n  border-radius: 14px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-weight: 900;\n  font-family: var(--mono);\n  letter-spacing: .2px;\n  box-shadow: 0 10px 22px rgba(16,24,40,.05);\n}\n\n.impact-jump:hover{\n  transform: translateY(-1px);\n  border-color: rgba(15,76,129,.35);\n  background: rgba(15,76,129,.09);\n}\n\n\/* Layout consistente del lado derecho en las layer cards *\/\n.layer-right{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap: 10px;\n}\n\n.layer-diagram{\n  width: 160px;   \/* ajusta si quieres *\/\n  height: 72px;\n  display:grid;\n  place-items:center;\n  border-radius: 14px;\n  border: 1px dashed rgba(85,96,112,.22);\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\n}\n\n.layer-explore{\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  width: 92px;\n  height: 72px;\n  border-radius: 14px;\n  border: 1px solid rgba(15,76,129,.18);\n  background: rgba(15,76,129,.04);\n}\n\n.layer-explore__icon{\n  font-family: var(--mono);\n  font-weight: 900;\n  font-size: 20px;\n  line-height: 1;\n}\n\n.layer-explore__text{\n  margin-top: 4px;\n  font-size: 11px;\n  font-weight: 900;\n  letter-spacing: .3px;\n  color: rgba(85,96,112,.95);\n}\n\n\n\/* ===== Quinta Capa (UX\/UI optimized, scoped) ===== *\/\n.q5 .q5-head{\n  display:flex;\n  align-items:flex-start;\n  justify-content:space-between;\n  gap:16px;\n  margin-bottom:14px;\n}\n.q5 .q5-claim{\n  margin:10px 0 0;\n  color:var(--muted);\n  max-width:72ch;\n}\n.q5 .q5-badge{\n  flex:0 0 auto;\n  align-self:flex-start;\n  padding:10px 12px;\n  border-radius:999px;\n  background:rgba(23,44,81,.06);\n  border:1px solid rgba(23,44,81,.14);\n  color:rgba(23,44,81,.92);\n  font-weight:700;\n  font-size:12px;\n  line-height:1;\n  white-space:nowrap;\n}\n.q5 .q5-hero{\n  display:grid;\n  grid-template-columns: 1.2fr .9fr;\n  gap:16px;\n  align-items:stretch;\n  margin-top:12px;\n  margin-bottom:14px;\n}\n.q5 .q5-diagram{\n  border-radius:var(--radius);\n  border:1px dashed rgba(85,96,112,.35);\n  background:rgba(247,248,251,.8);\n  padding:14px;\n  min-height:250px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.q5 .q5-side{\n  display:flex;\n  flex-direction:column;\n  gap:12px;\n}\n.q5 .q5-card{\n  background:var(--card);\n  border:1px solid var(--line);\n  border-radius:var(--radius2);\n  padding:14px;\n  box-shadow:none;\n}\n.q5 .q5-card--what{\n  background:linear-gradient(180deg, rgba(23,44,81,.03), rgba(255,255,255,0));\n}\n.q5 .q5-small{\n  margin:10px 0 0;\n  color:var(--muted);\n}\n.q5 .q5-callout{\n  border-radius:var(--radius2);\n  border:1px solid rgba(15,76,129,.25);\n  background:rgba(15,76,129,.06);\n  padding:12px 14px;\n  color:rgba(23,44,81,.92);\n}\n.q5 .q5-callout strong{ font-weight:800; }\n\n.q5 .q5-cards{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap:14px;\n  margin-top:12px;\n}\n.q5 .q5-list{\n  margin:10px 0 0 18px;\n}\n.q5 .q5-list li{ margin:6px 0; }\n.q5 .q5-list--tight li{ margin:5px 0; }\n\n.q5 .q5-note{\n  margin-top:10px;\n  padding:10px 12px;\n  border-radius:12px;\n  background:rgba(241,243,248,.9);\n  border:1px solid rgba(85,96,112,.18);\n  color:var(--muted);\n}\n\n.q5 .q5-impact{\n  margin-top:14px;\n  padding:14px;\n  border-radius:var(--radius);\n  background:rgba(23,44,81,.04);\n  border:1px solid rgba(23,44,81,.12);\n}\n.q5 .q5-impact-grid{\n  display:grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap:12px;\n  margin-top:10px;\n}\n.q5 .q5-impact-col{\n  background:var(--card);\n  border:1px solid var(--line);\n  border-radius:var(--radius2);\n  padding:12px;\n}\n.q5 .q5-kicker{\n  font-family:var(--mono);\n  letter-spacing:.06em;\n  text-transform:uppercase;\n  font-size:11px;\n  color:rgba(23,44,81,.88);\n  margin-bottom:8px;\n}\n.q5 .q5-footnote{\n  margin-top:12px;\n  padding:12px 14px;\n  border-radius:14px;\n  background:rgba(241,243,248,.95);\n  border:1px solid rgba(85,96,112,.18);\n  color:var(--muted);\n}\n\n.q5 .q5-when{\n  margin-top:14px;\n}\n.q5 .q5-checks{\n  list-style:none;\n  padding:0;\n  margin:10px 0 0;\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap:10px 14px;\n}\n.q5 .q5-checks li{\n  position:relative;\n  padding-left:26px;\n  color:var(--ink);\n}\n.q5 .q5-checks li:before{\n  content:\"\u2713\";\n  position:absolute;\n  left:0;\n  top:0;\n  width:18px;\n  height:18px;\n  border-radius:6px;\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  background:rgba(26,127,55,.10);\n  border:1px solid rgba(26,127,55,.22);\n  color:rgba(26,127,55,.95);\n  font-weight:900;\n  font-size:12px;\n  line-height:1;\n}\n.q5 .q5-close{\n  margin-top:12px;\n  padding:12px 14px;\n  border-radius:14px;\n  border:1px solid rgba(23,44,81,.18);\n  background:rgba(247,248,251,.95);\n  color:var(--muted);\n}\n\n\/* Responsive: keep existing site layout safe *\/\n@media (max-width: 900px){\n  .q5 .q5-head{ flex-direction:column; }\n  .q5 .q5-badge{ align-self:flex-start; }\n  .q5 .q5-hero{ grid-template-columns: 1fr; }\n  .q5 .q5-cards{ grid-template-columns: 1fr; }\n  .q5 .q5-impact-grid{ grid-template-columns: 1fr; }\n  .q5 .q5-checks{ grid-template-columns: 1fr; }\n}\n\n\n\/* =========================================================\n   VMS \u00b7 Acciones y educaci\u00f3n (accent2 vs accent3)\n   - accent3: educativo\n   - accent2: acci\u00f3n (CTA)\n========================================================= *\/\n.btn-action{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap: 8px;\n  border-radius: 999px;\n  padding: 10px 14px;\n  border: 1px solid rgba(15,76,129,.22);\n  background: rgba(15,76,129,.10);\n  color: rgba(15,76,129,.98);\n  font-weight: 900;\n  text-decoration:none;\n  white-space: nowrap;\n}\n.btn-action:hover{ background: rgba(15,76,129,.14); }\n\n.btn-edu{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap: 8px;\n  border-radius: 999px;\n  padding: 10px 14px;\n  border: 1px solid rgba(58,111,165,.35);\n  background: rgba(58,111,165,.10);\n  color: rgba(23,44,81,.92);\n  font-weight: 900;\n  text-decoration:none;\n  white-space: nowrap;\n}\n.btn-edu:hover{ background: rgba(58,111,165,.14); }\n\n\/* Autodiagn\u00f3stico: evitar desborde de texto en botones *\/\n.score-actions .btn,\n.score-actions .btn-primary,\n.score-actions .btn-ghost,\n.score-actions .btn-action,\n.score-actions .btn-edu,\n.score-actions button,\n.score-actions a{\n  white-space: normal;\n  text-align: center;\n  line-height: 1.25;\n  word-break: break-word;\n  overflow-wrap: anywhere;\n}\n\n.score-actions .btn-primary,\n.score-actions .btn-action,\n.score-actions .btn-edu{\n  font-family: var(--sans);\n  font-size: 13.5px;\n  font-weight: 800;\n  padding: 10px 14px;\n  border-radius: 999px;\n  border: 1px solid rgba(15,76,129,.22);\n  background: rgba(15,76,129,.10);\n  color: rgba(15,76,129,.98);\n}\n\n.score-actions .btn-primary:hover,\n.score-actions .btn-action:hover,\n.score-actions .btn-edu:hover{\n  background: rgba(15,76,129,.14);\n}\n\n\/* Mobile one-hand: barra fija (acciones r\u00e1pidas) *\/\n\/* ==============================\n   VMS \u00b7 Social Proof & Score Gauge\n   ============================== *\/\n\n\/* Social proof: sectores *\/\n.sectors{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 10px;\n  margin-top: 12px;\n}\n.sector{\n  display:inline-flex;\n  align-items:center;\n  gap: 8px;\n  padding: 8px 10px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(241,243,248,.85);\n  color: rgba(85,96,112,.95);\n  font-family: var(--mono);\n  font-size: 11.5px;\n}\n\n\/* Exploded view (simple) *\/\n.exploded{\n  margin-top: 14px;\n  border-radius: var(--radius2);\n  border: 1px solid rgba(229,232,239,.95);\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\n  padding: 14px;\n  overflow:hidden;\n}\n.exploded .legend{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 8px;\n  margin-top: 10px;\n}\n.exploded .legend .chip{\n  font-family: var(--mono);\n  font-size: 11px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n}\n\n\n\/* ===== Autodiagn\u00f3stico \u00b7 Gauge (veloc\u00edmetro) ===== *\/\n.score-gauge{ margin-top: 12px; }\n.gauge{ width: 100%; max-width: 240px; height: auto; display:block; margin: 0 auto 8px; }\n.gauge-track{ stroke: rgba(229,232,239,.95); stroke-width: 14; }\n.gauge-fill{\n  stroke: rgba(15,76,129,.88);\n  stroke-width: 14;\n  stroke-dasharray: 314;   \/* approx semicircle *\/\n  stroke-dashoffset: 314;\n  transition: stroke-dashoffset .35s ease;\n}\n.gauge-center{ fill: rgba(15,76,129,.92); }\n.gauge-needle{\n  stroke: rgba(23,44,81,.92);\n  stroke-width: 4;\n  stroke-linecap: round;\n  transform-origin: 120px 120px;\n  transform: rotate(-90deg);\n  transition: transform .35s ease;\n}\n.score-status{\n  margin-top: 10px;\n  padding: 10px 12px;\n  border-radius: 14px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.85);\n}\n.score-status .badge{\n  display:inline-flex;\n  align-items:center;\n  padding: 4px 10px;\n  border-radius: 999px;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .6px;\n  text-transform: uppercase;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(241,243,248,.85);\n  color: rgba(85,96,112,.95);\n}\n.score-status .badge[data-tier=\"med\"]{ \n  background: rgba(58,111,165,.12); \n  border-color: rgba(58,111,165,.28);\n  color: rgba(23,44,81,.92);\n}\n.score-status .badge[data-tier=\"high\"]{\n  background: rgba(245,158,11,.12);\n  border-color: rgba(245,158,11,.30);\n  color: rgba(120,53,15,.95);\n}\n.score-status .badge[data-tier=\"crit\"]{\n  background: rgba(220,38,38,.10);\n  border-color: rgba(220,38,38,.30);\n  color: rgba(127,29,29,.98);\n}\n.score-status .status-note{ display:block; margin-top: 6px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }\n.score-status.pulse{ animation: scorePulse 650ms ease-out 1; }\n@keyframes scorePulse{\n  0% { box-shadow: 0 0 0 rgba(58,111,165,0); }\n  25%{ box-shadow: 0 0 0 8px rgba(58,111,165,.18); }\n  100%{ box-shadow: 0 0 0 rgba(58,111,165,0); }\n}\n\n\/* Hint de peso (micro) *\/\n.checkitem .w{\n  font-family: var(--mono);\n  font-size: 11px;\n  color: rgba(85,96,112,.85);\n  margin-left: 8px;\n  white-space: nowrap;\n}\n\n\n\/* Fix: evitar que .badge global (absolute) se sobreponga en el panel de resultado *\/\n.checklist-score .score-status .badge{\n  position: static;\n  top: auto; right: auto; left: auto; bottom: auto;\n}\n\n\n\/* ===== Gauge zones (man\u00f3metro) ===== *\/\n.gauge-zone{\n  stroke-width: 14;               \/* igual que el track *\/\n  opacity: .32;                   \/* sutil, no compite con el fill *\/\n}\n.gauge-zone.zone-low{  stroke: #0F4C81; } \/* azul *\/\n.gauge-zone.zone-med{  stroke: #FACC15; } \/* amarillo *\/\n.gauge-zone.zone-high{ stroke: #FB923C; } \/* naranja *\/\n.gauge-zone.zone-crit{ stroke: #DC2626; } \/* rojo *\/\n\n\/* Si quieres un look m\u00e1s \"industrial\", sube opacidad en desktop *\/\n@media (min-width: 900px){\n  .gauge-zone{ opacity: .36; }\n}\n\n\n\/* =========================================================\n   UX polish v6\n========================================================= *\/\n\n\/* Autodiagn\u00f3stico: hover\/tap affordance *\/\n#autodiagnostico .checkitem{\n  transition: background .18s ease, transform .12s ease, border-color .18s ease, box-shadow .18s ease;\n}\n#autodiagnostico .checkitem:hover{\n  background: rgba(58,111,165,.08);\n  border-color: rgba(58,111,165,.28);\n  box-shadow: 0 10px 18px rgba(16,24,40,.06);\n  transform: translateY(-1px);\n}\n#autodiagnostico .checkitem:active{\n  transform: translateY(0);\n  box-shadow: 0 6px 12px rgba(16,24,40,.05);\n}\n#autodiagnostico .checkitem input.chk:focus-visible + span{\n  outline: 2px solid rgba(15,76,129,.35);\n  outline-offset: 4px;\n  border-radius: 10px;\n}\n\n\/* Gauge: reactividad por zona (fill + aguja + hub) *\/\n#autodiagnostico[data-tier=\"low\"]  .gauge-fill{ stroke:#0F4C81; }\n#autodiagnostico[data-tier=\"med\"]  .gauge-fill{ stroke:#FACC15; }\n#autodiagnostico[data-tier=\"high\"] .gauge-fill{ stroke:#FB923C; }\n#autodiagnostico[data-tier=\"crit\"] .gauge-fill{ stroke:#DC2626; }\n\n#autodiagnostico[data-tier=\"low\"]  .gauge-needle{ stroke: rgba(23,44,81,.92); }\n#autodiagnostico[data-tier=\"med\"]  .gauge-needle{ stroke: rgba(120,53,15,.92); }\n#autodiagnostico[data-tier=\"high\"] .gauge-needle{ stroke: rgba(120,53,15,.92); }\n#autodiagnostico[data-tier=\"crit\"] .gauge-needle{ stroke: rgba(127,29,29,.98); }\n\n#autodiagnostico[data-tier=\"crit\"] .gauge-center{\n  fill:#DC2626;\n  filter: drop-shadow(0 0 10px rgba(220,38,38,.55)) drop-shadow(0 0 22px rgba(220,38,38,.25));\n}\n\n\/* NSIC \/ capas: estilo de diagramas wireframe *\/\n.layer-panel__diagram{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.diagram-svg{\n  width: 100%;\n  max-width: 260px;\n  height: auto;\n  opacity: .95;\n}\n.diagram-svg .w{\n  fill: none;\n  stroke: rgba(58,111,165,.78); \/* accent3 educativo *\/\n  stroke-width: 1.6;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.diagram-svg .w2{\n  fill:none;\n  stroke: rgba(15,76,129,.55); \/* accent2 suave *\/\n  stroke-width: 1.2;\n  stroke-dasharray: 6 6;\n}\n\n\/* Footer de autoridad (sellos) *\/\n.authority{\n  margin-top: 12px;\n  display:flex;\n  flex-wrap:wrap;\n  gap: 10px;\n}\n.seal{\n  display:flex;\n  align-items:center;\n  gap: 10px;\n  padding: 10px 12px;\n  border-radius: 16px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.85);\n}\n.seal svg{ width: 26px; height: 26px; }\n.seal .t{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .6px;\n  text-transform: uppercase;\n  color: rgba(85,96,112,.95);\n}\n.seal .d{\n  font-size: 12.5px;\n  color: rgba(85,96,112,.90);\n}\n\n\/* Hero \u2192 Detonadores: transici\u00f3n suave *\/\n.section-break{\n  height: 34px;\n  margin: -6px 0 10px;\n  border-radius: 999px;\n  background:\n    radial-gradient(60% 120% at 50% 50%, rgba(58,111,165,.14), rgba(255,255,255,0) 70%),\n    linear-gradient(90deg, rgba(241,243,248,.0), rgba(241,243,248,.95), rgba(241,243,248,.0));\n  border: 1px solid rgba(229,232,239,.75);\n}\n\n\/* Mockup PDF *\/\n.pdf-mock{\n  margin-top: 14px;\n  display:flex;\n  gap: 14px;\n  align-items:flex-start;\n  flex-wrap:wrap;\n}\n.pdf-thumb{\n  width: 190px;\n  border-radius: 18px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.92);\n  box-shadow: 0 14px 30px rgba(16,24,40,.10);\n  padding: 10px;\n}\n.pdf-page{\n  height: 120px;\n  border-radius: 14px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: linear-gradient(180deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\n  position: relative;\n  overflow:hidden;\n}\n.pdf-page:before{\n  content:\"\";\n  position:absolute; inset: 14px 14px auto 14px;\n  height: 10px;\n  border-radius: 999px;\n  background: rgba(15,76,129,.10);\n}\n.pdf-lines{\n  position:absolute; left:14px; right:14px; top: 38px;\n  display:grid; gap: 8px;\n}\n.pdf-lines span{\n  height: 7px;\n  border-radius: 999px;\n  background: rgba(23,44,81,.08);\n}\n.pdf-lines span:nth-child(2){ width: 86%; }\n.pdf-lines span:nth-child(3){ width: 70%; }\n.pdf-stamp{\n  position:absolute; right: 12px; bottom: 12px;\n  width: 38px; height: 38px;\n  border-radius: 12px;\n  border: 1px solid rgba(58,111,165,.35);\n  background: rgba(58,111,165,.10);\n  display:grid; place-items:center;\n  font-family: var(--mono);\n  font-size: 10px;\n  color: rgba(58,111,165,.92);\n}\n.pdf-meta{\n  flex: 1;\n  min-width: 220px;\n}\n.pdf-meta .k{\n  display:inline-block;\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .6px;\n  text-transform: uppercase;\n  color: rgba(85,96,112,.95);\n  margin-bottom: 8px;\n}\n\n\n\/* =========================================================\n   Man\u00f3metro industrial (ticks, contraste y glow reactivo)\n========================================================= *\/\n.gauge-ticks .tick{\n  stroke: rgba(85,96,112,.55);\n  stroke-linecap: round;\n}\n.gauge-ticks .tick.major{ stroke-width: 3; }\n.gauge-ticks .tick.minor{ stroke-width: 2; opacity: .75; }\n\n.gauge-labels text{\n  font-family: var(--mono);\n  font-size: 10.5px;\n  fill: rgba(85,96,112,.70);\n}\n\n\/* Track m\u00e1s contrastado en desktop *\/\n@media (min-width: 900px){\n  .gauge-track{ stroke: rgba(85,96,112,.20); }\n  .gauge-zone{ opacity: .42; }\n  .gauge-ticks .tick{ stroke: rgba(85,96,112,.62); }\n}\n\n\/* Glow pulsante SOLO al entrar a cr\u00edtico *\/\n#autodiagnostico .gauge-center{ transition: filter .25s ease, fill .25s ease; }\n#autodiagnostico.pulse-crit .gauge-center{\n  animation: critGlow 1200ms ease-in-out 2;\n}\n@keyframes critGlow{\n  0%{ filter: drop-shadow(0 0 0 rgba(220,38,38,0)); }\n  35%{ filter: drop-shadow(0 0 10px rgba(220,38,38,.55)) drop-shadow(0 0 22px rgba(220,38,38,.25)); }\n  70%{ filter: drop-shadow(0 0 6px rgba(220,38,38,.35)) drop-shadow(0 0 14px rgba(220,38,38,.18)); }\n  100%{ filter: drop-shadow(0 0 0 rgba(220,38,38,0)); }\n}\n\n\/* =========================================================\n   Sistema de iconograf\u00eda (mini-gu\u00eda aplicable a SVGs)\n========================================================= *\/\n:root{\n  --icon-stroke: 1.6;\n  --icon-stroke2: 1.2;\n  --icon-round: 10;\n}\n.diagram-svg .w{ stroke-width: var(--icon-stroke); }\n.diagram-svg .w2{ stroke-width: var(--icon-stroke2); }\n\n\n\/* Fondo grid t\u00e9cnico detr\u00e1s del man\u00f3metro *\/\n.score-gauge{\n  position: relative;\n  padding: 10px 8px 8px;\n  border-radius: 18px;\n  background:\n    linear-gradient(transparent 0, transparent 100%),\n    radial-gradient(80% 120% at 50% 10%, rgba(58,111,165,.10), rgba(255,255,255,0) 70%),\n    repeating-linear-gradient(0deg, rgba(15,76,129,.06) 0, rgba(15,76,129,.06) 1px, transparent 1px, transparent 10px),\n    repeating-linear-gradient(90deg, rgba(15,76,129,.06) 0, rgba(15,76,129,.06) 1px, transparent 1px, transparent 10px);\n  border: 1px solid rgba(229,232,239,.95);\n}\n@media (max-width: 720px){\n  .score-gauge{ background:\n    radial-gradient(80% 120% at 50% 10%, rgba(58,111,165,.10), rgba(255,255,255,0) 70%),\n    repeating-linear-gradient(0deg, rgba(15,76,129,.05) 0, rgba(15,76,129,.05) 1px, transparent 1px, transparent 12px),\n    repeating-linear-gradient(90deg, rgba(15,76,129,.05) 0, rgba(15,76,129,.05) 1px, transparent 1px, transparent 12px);\n  }\n}\n.gauge-scale{\n  display:flex;\n  gap: 8px;\n  justify-content: space-between;\n  margin: 8px 6px 0;\n  font-family: var(--mono);\n  font-size: 10.5px;\n  letter-spacing: .6px;\n  text-transform: uppercase;\n}\n.gauge-scale .s{\n  padding: 3px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n}\n.gauge-scale .low{ border-color: rgba(15,76,129,.22); }\n.gauge-scale .med{ border-color: rgba(250,204,21,.35); }\n.gauge-scale .high{ border-color: rgba(251,146,60,.35); }\n.gauge-scale .crit{ border-color: rgba(220,38,38,.35); }\n\n\/* Labels boundaries in SVG *\/\n.gauge-labels text.b{ font-size: 10px; fill: rgba(85,96,112,.62); }\n\n\n\/* FAQ visual: acorde\u00f3n (solo icono + \/ -) *\/\n.faq details{ border: 1px solid rgba(229,232,239,.95); border-radius: 16px; background: rgba(255,255,255,.85); padding: 10px 12px; }\n.faq details + details{ margin-top: 10px; }\n.faq summary{\n  cursor: pointer;\n  list-style: none;\n  display:flex;\n  align-items:center;\n  justify-content: space-between;\n  gap: 14px;\n  font-weight: 900;\n}\n.faq summary::-webkit-details-marker{ display:none; }\n.faq summary:after{\n  content:\"+\";\n  width: 26px; height: 26px;\n  display:grid; place-items:center;\n  border-radius: 10px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(241,243,248,.85);\n  font-family: var(--mono);\n  color: rgba(85,96,112,.95);\n}\n.faq details[open] summary:after{ content:\"\u2212\"; }\n.faq .faq-a{ margin-top: 8px; color: rgba(85,96,112,.92); }\n\n\n\/* Mockup \"Gu\u00eda\" (portada) junto al CTA de descarga *\/\n.guide-cover{ margin-top: 12px; display:flex; gap: 10px; align-items:center; flex-wrap:wrap; }\n.guide-cover .cover{\n  width: 210px;\n  border-radius: 18px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: linear-gradient(180deg, rgba(15,76,129,.10), rgba(255,255,255,.96));\n  padding: 12px;\n  position: relative;\n  box-shadow: 0 14px 30px rgba(16,24,40,.10);\n  overflow:hidden;\n}\n.guide-cover .cover:after{\n  content:\"\";\n  position:absolute; inset:-60px -60px auto auto;\n  width: 140px; height: 140px;\n  background: radial-gradient(circle at 30% 30%, rgba(58,111,165,.25), rgba(255,255,255,0) 65%);\n  transform: rotate(10deg);\n}\n.guide-cover .cover-top{ display:flex; gap: 8px; }\n.guide-cover .tag{\n  font-family: var(--mono);\n  font-size: 10px;\n  letter-spacing: .6px;\n  text-transform: uppercase;\n  padding: 3px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n}\n.guide-cover .cover-title{\n  margin-top: 12px;\n  font-weight: 950;\n  font-size: 15px;\n  color: rgba(23,44,81,.95);\n  line-height: 1.15;\n}\n.guide-cover .cover-sub{\n  margin-top: 8px;\n  font-size: 12.5px;\n  color: rgba(85,96,112,.92);\n}\n.guide-cover .cover-badge{\n  position:absolute;\n  right: 12px; bottom: 12px;\n  width: 42px; height: 42px;\n  border-radius: 14px;\n  border: 1px solid rgba(58,111,165,.35);\n  background: rgba(58,111,165,.12);\n  display:grid; place-items:center;\n  font-family: var(--mono);\n  font-size: 12px;\n  font-weight: 900;\n  color: rgba(58,111,165,.92);\n}\n.guide-cover .cover-note{\n  flex: 1;\n  min-width: 220px;\n  color: rgba(85,96,112,.90);\n  font-size: 12.5px;\n}\n\n\n\/* CTA principal: color de acento \"seguridad\" (mayor conversi\u00f3n) *\/\n.float-cta{\n  background: rgba(245,158,11,.96) !important; \/* naranja industrial *\/\n  border-color: rgba(245,158,11,.35) !important;\n  color: rgba(23,44,81,.95) !important;\n}\n.float-cta .dot{\n  background: rgba(23,44,81,.92) !important;\n  box-shadow: 0 0 0 4px rgba(23,44,81,.10) !important;\n}\n\n\n\/* =========================================================\n   Mockups (entre Introducci\u00f3n y Necesidad) + diagrama puente\n========================================================= *\/\n.mockup-strip{\n  margin: 18px 0 28px;\n}\n.mockup-grid{\n  display: grid;\n  grid-template-columns: repeat(2, minmax(220px, 1fr));\n  gap: 18px;\n}\n@media (max-width: 720px){\n  .mockup-grid{ grid-template-columns: 1fr; }\n}\n.mockup-card{\n  padding: 14px;\n  border-radius: 18px;\n  border: 1px dashed var(--line);\n  background: rgba(255,255,255,.85);\n  cursor: pointer;\n  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;\n  text-decoration: none;\n  display: block;\n}\n.mockup-card:hover{\n  transform: translateY(-4px);\n  box-shadow: 0 16px 36px rgba(15,76,129,.18);\n  border-color: rgba(15,76,129,.45);\n  background: rgba(255,255,255,1);\n}\n.mockup-card:hover .mockup-frame{\n  border-color: rgba(15,76,129,.35);\n}\n.mockup-card:hover .mockup-title{\n  color: rgba(15,76,129,1);\n}\n.mockup-frame{\n  height: 84px;\n  border-radius: 16px;\n  border: 1px solid rgba(229,232,239,.95);\n  overflow: hidden;\n  display:flex;\n  align-items:flex-end;\n  padding: 12px;\n  position: relative;\n  box-shadow: 0 12px 26px rgba(16,24,40,.10);\n}\n.mockup-card.software .mockup-frame{\n  background: linear-gradient(135deg, rgba(15,76,129,.08), rgba(255,255,255,.96));\n}\n.mockup-card.infrastructure .mockup-frame{\n  background:\n    radial-gradient(60% 120% at 20% 0%, rgba(58,111,165,.14), rgba(255,255,255,0) 60%),\n    linear-gradient(135deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\n}\n.mockup-frame:after{\n  content:\"\";\n  position:absolute; inset: 10px 10px auto auto;\n  width: 92px; height: 56px;\n  border-radius: 14px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.72);\n  opacity: .85;\n}\n.mockup-title{\n  font-weight: 950;\n  line-height: 1.1;\n  color: rgba(23,44,81,.95);\n  max-width: 70%;\n}\n.mockup-tags{\n  position:absolute;\n  left: 12px; top: 12px;\n  display:flex; gap: 8px;\n}\n.mockup-tag{\n  font-family: var(--mono);\n  font-size: 10px;\n  letter-spacing: .6px;\n  text-transform: uppercase;\n  padding: 3px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n}\n.mockup-caption{\n  margin-top: 8px;\n  font-family: 'Courier New', Courier, monospace;\n  font-size: 11px;\n  letter-spacing: .6px;\n  color: rgba(85,96,112,.85);\n}\n\n\/* Diagrama puente (activos \u2192 datos \u2192 reporte) *\/\n.bridge{\n  margin-top: 16px;\n  padding: 14px;\n  border-radius: 18px;\n  border: 1px dashed var(--line);\n  background: rgba(255,255,255,.75);\n}\n.bridge svg{ width: 100%; height: auto; display:block; }\n.bridge .w{\n  fill:none;\n  stroke: rgba(58,111,165,.72);\n  stroke-width: 1.6;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.bridge .w2{\n  fill:none;\n  stroke: rgba(15,76,129,.45);\n  stroke-width: 1.2;\n  stroke-dasharray: 6 6;\n}\n.bridge text{\n  font-family: var(--mono);\n  font-size: 10.5px;\n  fill: rgba(85,96,112,.85);\n  letter-spacing: .6px;\n}\n\n\n\/* =========================================================\n   Mockups: tarjeta t\u00e9cnica (altura + estructura)\n========================================================= *\/\n.mockup-card{\n  display:flex;\n  flex-direction: column;\n  gap: 10px;\n}\n.mockup-frame{\n  height: 120px;                 \/* +altura visual *\/\n  padding: 14px;\n}\n.mockup-title{\n  font-size: 15.5px;\n}\n.mockup-card .mockup-caption{\n  margin-top: 0;\n  padding-top: 2px;\n}\n.mockup-frame .ui-bar{\n  position:absolute;\n  left: 12px; right: 12px; top: 12px;\n  height: 12px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.72);\n  display:flex;\n  gap: 6px;\n  align-items:center;\n  padding: 0 8px;\n}\n.mockup-frame .dot{\n  width: 6px; height: 6px;\n  border-radius: 999px;\n  background: rgba(85,96,112,.35);\n}\n.mockup-frame .ui-lines{\n  position:absolute;\n  left: 14px; right: 14px; bottom: 14px;\n  display:grid;\n  gap: 8px;\n}\n.mockup-frame .ui-lines span{\n  height: 7px;\n  border-radius: 999px;\n  background: rgba(23,44,81,.08);\n}\n.mockup-frame .ui-lines span:nth-child(2){ width: 78%; }\n.mockup-frame .ui-lines span:nth-child(3){ width: 62%; }\n\n\/* Balance visual: que ninguno opaque al otro *\/\n.mockup-card.software .mockup-frame:after{ opacity: .65; }\n.mockup-card.infrastructure .mockup-frame:after{ opacity: .78; }\n\n\n\/* =========================================================\n   Transici\u00f3n: Necesidad \u2192 <a href=\"#capas-editorial\">Capas NSIC<\/a>\n========================================================= *\/\n.nsic-transition{\n  margin: 28px 0 34px;\n  padding: 18px 22px;\n  border-radius: 20px;\n  background:\n    radial-gradient(80% 140% at 50% 0%, rgba(58,111,165,.12), rgba(255,255,255,0) 70%),\n    linear-gradient(180deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\n  border: 1px dashed var(--line);\n}\n.nsic-transition .kicker{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .7px;\n  text-transform: uppercase;\n  color: rgba(85,96,112,.9);\n}\n.nsic-transition h3{\n  margin: 6px 0 10px;\n}\n.nsic-flow{\n  display:flex;\n  flex-wrap:wrap;\n  gap: 10px 16px;\n  align-items:center;\n}\n.nsic-step{\n  display:flex;\n  align-items:center;\n  gap: 8px;\n  padding: 6px 10px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.8);\n  font-size: 12.5px;\n  color: rgba(85,96,112,.95);\n}\n.nsic-step svg{\n  width: 18px;\n  height: 18px;\n}\n.nsic-step .w{\n  fill:none;\n  stroke: rgba(58,111,165,.85);\n  stroke-width: 1.6;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.nsic-arrow{\n  font-family: var(--mono);\n  color: rgba(85,96,112,.65);\n}\n\n\n\/* =========================================================\n   NSIC \u2192 Conversi\u00f3n (cierre suave) + jerarqu\u00eda mobile en capas\n========================================================= *\/\n.nsic-close{\n  margin-top: 18px;\n  border-radius: 22px;\n  border: 1px dashed var(--line);\n  background:\n    radial-gradient(90% 140% at 20% 0%, rgba(58,111,165,.12), rgba(255,255,255,0) 70%),\n    linear-gradient(180deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\n  padding: 16px;\n}\n.nsic-close__inner{\n  display:flex;\n  gap: 14px;\n  align-items:flex-start;\n  justify-content: space-between;\n  flex-wrap:wrap;\n}\n.nsic-close__kicker{\n  font-family: var(--mono);\n  font-size: 11px;\n  letter-spacing: .7px;\n  text-transform: uppercase;\n  color: rgba(85,96,112,.9);\n}\n.nsic-close__title{ margin: 6px 0 8px; }\n.nsic-close__desc{ margin: 0; color: rgba(85,96,112,.92); max-width: 60ch; }\n.nsic-close__actions{\n  display:flex;\n  gap: 10px;\n  align-items:center;\n  flex-wrap:wrap;\n  justify-content:flex-end;\n}\n\n\/* Jerarqu\u00eda en capas: mobile-first *\/\n@media (max-width: 720px){\n  .layer-block{\n    padding: 14px 14px 16px;\n  }\n  .layer-block-head{\n    gap: 10px;\n    align-items:flex-start;\n  }\n  .layer-block-head h4{\n    font-size: 17px;\n    line-height: 1.15;\n  }\n  .layer-block-meta{\n    margin-top: 6px;\n  }\n  .impact-jump.impact-jump--btn{\n    margin-top: 10px;\n    width: 100%;\n    text-align: center;\n  }\n  .layer-block p{\n    font-size: 14.5px;\n    line-height: 1.55;\n  }\n  .layer-block .bullets{\n    margin-top: 10px;\n  }\n  .layer-block .bullets li{\n    padding-left: 2px;\n    margin: 8px 0;\n  }\n  .layerchip{\n    font-size: 11px;\n  }\n}\n\n\/* Desktop: mejorar escaneabilidad de textos densos *\/\n@media (min-width: 900px){\n  .layer-block p{ max-width: 78ch; }\n  .layer-block .bullets li{ margin: 10px 0; }\n}\n\n\n\/* =========================================================\n   Capas (cards): iconos por capa en lugar de \"+\"\n========================================================= *\/\n.layer-explore__icon{\n  display:grid;\n  place-items:center;\n}\n.layer-explore__icon .layer-icon{\n  width: 28px;\n  height: 28px;\n}\n.layer-explore__icon .layer-icon .w{\n  fill:none;\n  stroke: currentColor;\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.layer-explore__icon .layer-icon .w2{\n  fill:none;\n  stroke: currentColor;\n  stroke-width: 1.6;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  opacity: .85;\n}\n\/* Color sutil por capa (sin romper paleta) *\/\n.layer-card[data-layer=\"power\"] .layer-explore__icon{ color: rgba(15,76,129,.95); }\n.layer-card[data-layer=\"protection\"] .layer-explore__icon{ color: rgba(23,44,81,.95); }\n.layer-card[data-layer=\"control\"] .layer-explore__icon{ color: rgba(58,111,165,.95); }\n.layer-card[data-layer=\"comms\"] .layer-explore__icon{ color: rgba(85,96,112,.95); }\n\n\n\/* =========================================================\n   SEO t\u00e9cnico \/ Core Web Vitals: rendering & containment\n========================================================= *\/\n.section{\n  content-visibility: auto;\n  contain-intrinsic-size: 900px;\n}\n@media (max-width: 720px){\n  .section{ contain-intrinsic-size: 760px; }\n}\nimg{\n  height: auto;\n}\n\n\n\/* =========================================================\n   NSIC framework: s\u00edmbolos en geometr\u00eda pura (N\/S\/I\/C)\n========================================================= *\/\n.nsic-box{\n  display:grid;\n  place-items:center;\n}\n.nsic-icon{\n  width: 34px;\n  height: 34px;\n}\n.nsic-icon .w{\n  fill:none;\n  stroke: rgba(58,111,165,.92);\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.nsic-box--s .nsic-icon .w{ stroke: rgba(23,44,81,.92); }\n.nsic-box--i .nsic-icon .w{ stroke: rgba(15,76,129,.92); }\n.nsic-box--c .nsic-icon .w{ stroke: rgba(85,96,112,.88); }\n@media (max-width: 720px){\n  .nsic-icon{ width: 30px; height: 30px; }\n}\n\n\n\/* =========================================================\n   NSIC icon + inicial (convivencia)\n========================================================= *\/\n.nsic-symbol{\n  position: relative;\n  width: 44px;\n  height: 44px;\n  display:grid;\n  place-items:center;\n}\n.nsic-letter{\n  position:absolute;\n  bottom: -6px;\n  right: -6px;\n  width: 22px;\n  height: 22px;\n  border-radius: 8px;\n  display:grid;\n  place-items:center;\n  font-family: var(--mono);\n  font-size: 12px;\n  font-weight: 900;\n  color: rgba(15,76,129,.95);\n  background: rgba(255,255,255,.95);\n  border: 1px solid rgba(229,232,239,.95);\n}\n.nsic-box--s .nsic-letter{ color: rgba(23,44,81,.95); }\n.nsic-box--i .nsic-letter{ color: rgba(15,76,129,.95); }\n.nsic-box--c .nsic-letter{ color: rgba(85,96,112,.9); }\n\n@media (max-width:720px){\n  .nsic-symbol{ width: 40px; height: 40px; }\n  .nsic-letter{\n    width: 20px;\n    height: 20px;\n    font-size: 11px;\n  }\n}\n\n\n\/* =========================================================\n   Tabla CAPEX\/OPEX: patr\u00f3n NSIC (icono + inicial) en encabezados por capa\n========================================================= *\/\n.capex-badge{\n  display:inline-flex;\n  vertical-align: middle;\n  margin-right: 10px;\n}\n.capex-symbol{\n  position: relative;\n  width: 28px;\n  height: 28px;\n  display:grid;\n  place-items:center;\n}\n.capex-symbol .nsic-icon{\n  width: 22px;\n  height: 22px;\n}\n.capex-symbol .nsic-icon .w{\n  fill:none;\n  stroke: rgba(58,111,165,.92);\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.capex-letter{\n  position:absolute;\n  bottom: -6px;\n  right: -6px;\n  width: 16px;\n  height: 16px;\n  border-radius: 6px;\n  display:grid;\n  place-items:center;\n  font-family: var(--mono);\n  font-size: 10px;\n  font-weight: 900;\n  background: rgba(255,255,255,.96);\n  border: 1px solid rgba(229,232,239,.95);\n  color: rgba(15,76,129,.95);\n}\n.capex-badge--s .nsic-icon .w, .capex-badge--s .capex-letter{ color: rgba(23,44,81,.95); stroke: rgba(23,44,81,.92); }\n.capex-badge--i .nsic-icon .w, .capex-badge--i .capex-letter{ color: rgba(15,76,129,.95); stroke: rgba(15,76,129,.92); }\n.capex-badge--c .nsic-icon .w, .capex-badge--c .capex-letter{ color: rgba(85,96,112,.90); stroke: rgba(85,96,112,.88); }\n\n\/* Asegurar alineaci\u00f3n en celdas de tabla *\/\n#impacto-capex table td:first-child{\n  white-space: nowrap;\n}\n@media (max-width:720px){\n  .capex-badge{ margin-right: 6px; }\n  .capex-symbol{ width: 22px; height: 22px; }\n  .capex-symbol .nsic-icon{ width: 16px; height: 16px; }\n  .capex-letter{ \n    width: 14px; \n    height: 14px; \n    font-size: 8px;\n    bottom: -4px;\n    right: -4px;\n  }\n}\n@media (max-width:480px){\n  \/* Ocultar iconos en m\u00f3vil muy peque\u00f1o, solo mostrar letra *\/\n  .capex-symbol .nsic-icon{ display: none; }\n  .capex-symbol{ width: 18px; height: 18px; }\n  .capex-letter{\n    position: static;\n    width: 18px;\n    height: 18px;\n    font-size: 9px;\n  }\n  .capex-badge{ margin-right: 4px; }\n}\n\n\n\/* =========================================================\n   CWV (CLS\/INP): estabilidad de layout y objetivos t\u00e1ctiles\n========================================================= *\/\n.btn-primary, .btn-ghost, .float-cta, .impact-jump, .layer-explore{\n  min-height: 44px; \/* tap target + evita saltos por font rendering *\/\n}\n.layer-card{\n  contain: layout paint style; \/* reduce impacto de repaint *\/\n}\n\n\n\/* =========================================================\n   Responsive fixes (mobile): capas cards + evitar overflow\n========================================================= *\/\n@media (max-width: 860px){\n  .layers-grid.vms-cards{\n    grid-template-columns: 1fr;\n  }\n  .layer-card{\n    grid-template-columns: 1fr;\n  }\n  .layer-explore{\n    margin-top: 8px;\n    width: 100%;\n    min-height: 52px;\n    justify-content: center;\n  }\n}\n\n\n\/* =========================================================\n   Mobile safe-area: evitar que el CTA flotante tape contenido\n========================================================= *\/\n@media (max-width: 720px){\n  body{ padding-bottom: 96px; } \/* espacio para CTA flotante *\/\n  .float-cta{\n    bottom: calc(14px + env(safe-area-inset-bottom));\n    right: 12px;\n    left: 12px;\n    width: auto;\n    justify-content: center;\n    border-radius: 999px;\n  }\n}\n\n\n@media (max-width: 980px){\n  .checklist-score{ padding: 12px 12px 10px; }\n  .score-gauge{ margin-top: 8px; }\n}\n\n\n\/* =========================================================\n   Layer panel: evitar redundancias (impacto) + helper t\u00e9cnico\n========================================================= *\/\n.lp-helper{\n  margin: 10px 0 0;\n  font-size: 13px;\n  color: rgba(85,96,112,.92);\n}\n.lp-helper a{\n  color: rgba(15,76,129,.95);\n  text-decoration: underline;\n  text-decoration-style: dotted;\n  text-underline-offset: 3px;\n}\n@media (max-width: 720px){\n  .lp-helper{ font-size: 12.5px; }\n}\n\n\n\/* =========================================================\n   Layer panel actions: botones (impacto + CAPEX\/OPEX) responsive\n========================================================= *\/\n.layer-panel__actions{\n  display:flex;\n  gap: 10px;\n  align-items:center;\n  justify-content:flex-end;\n  flex-wrap:wrap;\n}\n.layer-panel__actions .btn-primary,\n.layer-panel__actions .btn-ghost{\n  min-height: 44px;\n  padding: 10px 14px;\n  border-radius: 14px;\n  font-weight: 700;\n}\n@media (max-width: 720px){\n  .layer-panel__actions{\n    justify-content:flex-start;\n  }\n  .layer-panel__actions .btn-primary{\n    width: 100%;\n    justify-content:center;\n  }\n  .layer-panel__actions .btn-ghost{\n    width: 100%;\n    justify-content:center;\n  }\n}\n\n\/* =========================================================\n   Responsive hardening: media + grids (no layout changes)\n========================================================= *\/\nimg, video, canvas{\n  max-width: 100%;\n  height: auto;\n}\nsvg{\n  max-width: 100%;\n  height: auto;\n}\niframe, embed, object{\n  max-width: 100%;\n}\npre{\n  max-width: 100%;\n  overflow: auto;\n}\n:where(.hero, .section-card, .cards, .layer, .layer-grid, .layer-panel__grid, .layers-grid, .impact, .turnkey, .det-cards, .logic-tiles, .nsic-track, .impact-capexopex, .q5 .q5-hero, .q5 .q5-cards, .q5 .q5-impact-grid, .q5 .q5-checks, .checklist-wrap) > *{\n  min-width: 0;\n}\n@media (max-width: 900px){\n  .logic-tiles{\n    grid-template-columns: repeat(2, minmax(120px, 1fr));\n  }\n  .logic-tile{\n    width: 100%;\n  }\n}\n@media (max-width: 520px){\n  .logic-tiles{\n    grid-template-columns: 1fr;\n  }\n}\n\n\/* =========================================================\n   Tipograf\u00eda unificada: p\u00e1rrafos y textos\n========================================================= *\/\np,\nli,\n.lead,\n.sub{\n  font-size: var(--text);\n}\n.lead,\n.sub{\n  font-size: var(--text-lg);\n}\n.card p,\n.layer .meta,\n.bullets,\n.note,\n.risk span,\n.det-sub,\n.detonator p,\n.faq-a p,\n.micro-note,\n.layer-panel__bullets ul,\n.checkitem p,\n.checkitem ul,\n.q5 .q5-small,\n.q5 .q5-note,\n.q5 .q5-list,\n.q5 .q5-list li,\n.q5 .q5-checks,\n.q5 .q5-checks li{\n  font-size: var(--text-sm);\n}\n.risk strong,\n.layer h3,\n.card h3,\n.det-title,\n.cta-copy p{\n  font-size: var(--text);\n}\n\n\/* =========================================================\n   Modal Reporte PDF (UI consistente)\n========================================================= *\/\n.modal-overlay{\n  position: fixed;\n  inset: 0;\n  background: rgba(11,18,32,.45);\n  backdrop-filter: blur(4px);\n  display: none;\n  align-items: center;\n  justify-content: center;\n  z-index: 1000;\n  padding: 18px;\n}\n\n.modal-overlay.is-open{ display: flex; }\n\n.modal-card{\n  width: min(560px, 94vw);\n  background: #fff;\n  border: 1px solid var(--line);\n  border-radius: var(--radius);\n  box-shadow: 0 18px 40px rgba(16,24,40,.18);\n  overflow: hidden;\n}\n\n.modal-head{\n  display:flex;\n  align-items:flex-start;\n  justify-content: space-between;\n  gap: 10px;\n  padding: 16px 18px;\n  background: linear-gradient(180deg, rgba(241,243,248,.8), rgba(255,255,255,.98));\n  border-bottom: 1px dashed rgba(85,96,112,.22);\n}\n\n.modal-title{\n  margin: 0;\n  font-size: 16.5px;\n  font-weight: 900;\n  color: var(--ink);\n}\n\n.modal-sub{\n  margin: 4px 0 0;\n  color: var(--muted);\n  font-size: 12.8px;\n}\n\n.modal-close{\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.8);\n  color: var(--ink);\n  width: 32px;\n  height: 32px;\n  border-radius: 10px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  cursor: pointer;\n  font-weight: 900;\n  font-family: var(--mono);\n  font-size: 18px;\n  line-height: 1;\n  padding: 0;\n}\n\n.modal-body{ padding: 16px 18px 18px; }\n\n.modal-preview{\n  border: 1px solid var(--line);\n  border-radius: 14px;\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.98));\n  padding: 12px;\n  margin-bottom: 12px;\n}\n\n.modal-preview .chip{\n  display:inline-flex;\n  gap: 6px;\n  align-items:center;\n  font-family: var(--mono);\n  font-size: 11px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.75);\n  color: rgba(85,96,112,.95);\n  margin-right: 6px;\n  margin-bottom: 6px;\n}\n\n.modal-form{\n  display:grid;\n  gap: 10px;\n}\n\n.modal-form label{\n  font-size: 12.5px;\n  color: var(--muted);\n}\n\n.modal-form input{\n  width: 100%;\n  padding: 10px 12px;\n  border-radius: 12px;\n  border: 1px solid rgba(229,232,239,.95);\n  background: rgba(255,255,255,.9);\n  font-size: 13.5px;\n}\n\n.modal-form input:focus{\n  outline: 3px solid rgba(58,111,165,.2);\n  border-color: rgba(15,76,129,.35);\n}\n\n.modal-error{\n  color: #b54708;\n  font-size: 12px;\n  display: none;\n}\n\n.modal-actions{\n  display:flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  align-items:center;\n  margin-top: 4px;\n}\n\n.modal-actions .btn-action{\n  border-radius: 12px;\n  padding: 10px 14px;\n}\n\n.modal-note{\n  margin: 8px 0 0;\n  font-size: 12px;\n  color: var(--muted);\n}\n\n@media (max-width: 520px){\n  .modal-actions{ flex-direction: column; align-items: stretch; }\n  .modal-actions .btn-action{ width: 100%; }\n}\n\n\/* =========================================================\n   RESPONSIVE M\u00d3VIL - Secciones antes del Autodiagn\u00f3stico\n========================================================= *\/\n@media (max-width: 768px){\n  \/* Force everything to stay within viewport *\/\n  * {\n    max-width: 100vw !important;\n  }\n  html, body {\n    overflow-x: hidden !important;\n    width: 100% !important;\n  }\n  .container{\n    padding: 16px 12px 60px !important;\n    overflow-x: hidden !important;\n    width: 100% !important;\n  }\n  .section{\n    overflow-x: hidden !important;\n    width: 100% !important;\n  }\n  .section-card{\n    overflow-x: hidden !important;\n    width: 100% !important;\n    padding: 14px !important;\n  }\n  .layer-block{\n    overflow-x: hidden !important;\n    width: 100% !important;\n    padding: 12px !important;\n  }\n  .impact, .impact > *{\n    overflow-x: hidden !important;\n    width: 100% !important;\n  }\n  \n  \/* Hero *\/\n  .hero{\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n  .hero-card{\n    padding: 16px;\n  }\n  h1{\n    font-size: 22px;\n    line-height: 1.2;\n  }\n  .sub{\n    font-size: 14px;\n  }\n  .kicker{\n    font-size: 11px;\n    padding: 5px 8px;\n  }\n  \n  \/* Section cards *\/\n  .section-card{\n    padding: 14px;\n    overflow-x: visible;\n  }\n  .section{\n    overflow-x: visible;\n  }\n  .h2{\n    font-size: 18px;\n  }\n  .lead{\n    font-size: 13px;\n  }\n  \n  \/* Mockups PDF *\/\n  .mockup-grid{\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n  .mockup-card{\n    padding: 10px;\n  }\n  .mockup-frame{\n    height: 72px;\n    padding: 10px;\n  }\n  .mockup-title{\n    font-size: 13px;\n    max-width: 65%;\n  }\n  .mockup-tag{\n    font-size: 9px;\n    padding: 2px 6px;\n  }\n  .mockup-caption{\n    font-size: 10px;\n  }\n  \n  \/* Logic tiles (N S I C) *\/\n  .logic-tiles{\n    grid-template-columns: repeat(2, 1fr);\n    gap: 10px;\n  }\n  .logic-tile{\n    width: 100%;\n  }\n  .logic-letter{\n    height: 80px;\n    font-size: 42px;\n  }\n  \n  \/* Det cards *\/\n  .det-cards{\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n  .det-card{\n    padding: 12px;\n  }\n  .det-title{\n    font-size: 12.5px;\n  }\n  .det-sub{\n    font-size: 11.5px;\n  }\n  .det-ic{\n    width: 32px;\n    height: 32px;\n  }\n  \n  \/* Detonators editoriales *\/\n  .detonators{\n    max-width: 100%;\n  }\n  .detonator{\n    padding: 12px;\n  }\n  .detonator-head{\n    flex-wrap: wrap;\n  }\n  .detonator-title h4{\n    font-size: 14px;\n  }\n  .detonator-meta{\n    gap: 4px;\n  }\n  .layerchip{\n    font-size: 10px;\n    padding: 3px 6px;\n  }\n  \n  \/* Layers grid *\/\n  .layers-grid.vms-cards{\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n  .layer-card{\n    grid-template-columns: 1fr;\n    gap: 12px;\n    padding: 14px;\n  }\n  .layer-card__left,\n  .layer-left{\n    min-width: 0;\n  }\n  \n  \/* Layer right column - stack vertically on mobile *\/\n  .layer-right{\n    flex-direction: column;\n    align-items: stretch;\n    gap: 10px;\n  }\n  \n  \/* Layer diagram - smaller on mobile *\/\n  .layer-diagram{\n    width: 100%;\n    height: 70px;\n    min-height: 70px;\n  }\n  .layer-diagram svg{\n    max-width: 160px;\n    height: auto;\n  }\n  \n  \/* Layer explore button - full width *\/\n  .layer-explore{\n    flex: none;\n    width: 100%;\n    height: auto;\n    min-height: 50px;\n    padding: 10px;\n    flex-direction: row;\n    gap: 8px;\n  }\n  .layer-explore__icon{\n    font-size: 16px;\n  }\n  .layer-explore__icon .layer-icon{\n    width: 28px;\n    height: 28px;\n  }\n  .layer-explore__text{\n    font-size: 11px;\n  }\n  \n  \/* Layer number badge *\/\n  .layer-num{\n    top: 10px;\n    right: 10px;\n    font-size: 10px;\n    padding: 3px 6px;\n  }\n  \n  \/* Layer title and text *\/\n  .layer-title{\n    font-size: 14px;\n    padding-right: 40px;\n  }\n  .layer-es{\n    display: block;\n    font-size: 12px;\n    margin-top: 2px;\n  }\n  .layer-sub{\n    font-size: 12px;\n    line-height: 1.4;\n  }\n  \n  \/* Layer chips *\/\n  .layer-links{\n    gap: 5px;\n  }\n  \n  .layer-kicker{\n    font-size: 10px;\n  }\n  .layer-card__title{\n    font-size: 14px;\n  }\n  .layer-bullets{\n    font-size: 11.5px;\n    padding-left: 14px;\n  }\n  \n  \/* Layer panel *\/\n  .layer-panel__inner{\n    padding: 12px;\n  }\n  .layer-panel__title{\n    font-size: 15px;\n  }\n  .layer-panel__grid{\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n  .layer-panel__diagram{\n    min-height: 100px;\n  }\n  \n  \/* Layer explain *\/\n  .layer-explain{\n    max-width: 100%;\n  }\n  .layer-block{\n    padding: 12px;\n  }\n  .layer-block-head{\n    flex-wrap: wrap;\n  }\n  .layer-block h4{\n    font-size: 14px;\n  }\n  \n  \/* Impact table - REMOVED - Using global table styles instead *\/\n  \n  \/* Risks *\/\n  .risklist{\n    gap: 8px;\n  }\n  .risk{\n    padding: 8px;\n    gap: 8px;\n  }\n  .risk .r-ic{\n    width: 26px;\n    height: 26px;\n  }\n  .risk strong{\n    font-size: 11.5px;\n  }\n  .risk span{\n    font-size: 11.5px;\n  }\n  \n  \/* Q5 \/ Turnkey *\/\n  .q5-head{\n    flex-direction: column;\n    gap: 10px;\n  }\n  .q5-badge{\n    align-self: flex-start;\n  }\n  .q5-hero{\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n  .q5-diagram{\n    min-height: 160px;\n  }\n  .q5-cards{\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n  .q5-card{\n    padding: 12px;\n  }\n  .q5-impact-grid{\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n  .q5-checks{\n    padding-left: 16px;\n  }\n  \n  \/* Related *\/\n  .related{\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n  .rel{\n    padding: 12px;\n    min-height: auto;\n  }\n  \n  \/* CTA *\/\n  .cta{\n    flex-direction: column;\n    text-align: center;\n    gap: 10px;\n    padding: 14px;\n  }\n  .cta-box{\n    flex-direction: column;\n    gap: 12px;\n  }\n  \n  \/* Authority seals *\/\n  .authority{\n    flex-direction: column;\n    gap: 10px;\n  }\n  .seal{\n    width: 100%;\n  }\n  \n  \/* FAQ *\/\n  .faq{\n    gap: 8px;\n  }\n  .faq-q{\n    padding: 12px 10px;\n    font-size: 13px;\n  }\n  \n  \/* General buttons *\/\n  .btn, .btn-primary, .btn-action{\n    padding: 10px 14px;\n    font-size: 13px;\n  }\n  \n  \/* NSIC Close - Convierte las capas en decisi\u00f3n *\/\n  .nsic-close{\n    padding: 14px 12px;\n    margin-top: 14px;\n  }\n  .nsic-close__inner{\n    flex-direction: column;\n    gap: 12px;\n  }\n  .nsic-close__kicker{\n    font-size: 10px;\n  }\n  .nsic-close__title{\n    font-size: 16px;\n    margin: 4px 0 6px;\n  }\n  .nsic-close__desc{\n    font-size: 13px;\n    max-width: 100%;\n  }\n  .nsic-close__actions{\n    flex-direction: column;\n    align-items: stretch;\n    width: 100%;\n    gap: 8px;\n  }\n  .nsic-close__actions .btn-primary,\n  .nsic-close__actions .btn-ghost{\n    width: 100%;\n    text-align: center;\n    padding: 12px 14px;\n    font-size: 12.5px;\n    white-space: normal;\n    line-height: 1.3;\n  }\n  \n  \/* Pull quote *\/\n  .pull{\n    padding: 12px;\n    font-size: 13px;\n  }\n  \n  \/* Note *\/\n  .note{\n    padding: 10px 12px;\n    font-size: 11.5px;\n  }\n  \n  \/* Chip *\/\n  .chip{\n    font-size: 10px;\n    padding: 3px 6px;\n  }\n  \n  \/* ===== IMPACT SECTION - Mobile fixes ===== *\/\n  .impact{\n    grid-template-columns: 1fr !important;\n    gap: 14px;\n  }\n  \n  \/* Impact column boxes *\/\n  .impact-col{\n    padding: 10px;\n  }\n  .impact-col .layer-panel__label{\n    font-size: 13px;\n  }\n  .impact-col .bullets{\n    font-size: 12px;\n    padding-left: 16px;\n  }\n  .impact-col .bullets li{\n    margin: 4px 0;\n  }\n  \n  \/* Layer block (Falla t\u00e9cnica -> P\u00e9rdida financiera table) *\/\n  .layer-block{\n    padding: 10px;\n    margin-bottom: 12px;\n  }\n  .layer-block-num{\n    font-size: 18px;\n    min-width: 28px;\n  }\n  .layer-block h4{\n    font-size: 13px;\n    line-height: 1.3;\n  }\n  .layerchip{\n    font-size: 10px;\n    padding: 2px 6px;\n  }\n  \n  \/* Table scroll wrapper for mobile *\/\n  .table-wrap{\n    overflow-x: auto !important;\n    overflow-y: visible !important;\n    -webkit-overflow-scrolling: touch;\n    margin: 0 -12px;\n    padding: 0 12px;\n    max-width: calc(100% + 24px);\n    display: block;\n  }\n  .table-wrap table{\n    min-width: 580px;\n    font-size: 11px;\n    display: table;\n    width: max-content;\n  }\n  th, td{\n    padding: 8px 6px;\n    font-size: 11px;\n  }\n  th{\n    font-size: 10.5px;\n  }\n  \n  \/* CAPEX badge in table *\/\n  .capex-badge{\n    transform: scale(0.85);\n    margin-right: 4px;\n  }\n  .capex-letter{\n    font-size: 10px;\n  }\n  \n  \/* ===== RISKLIST - Mobile fixes ===== *\/\n  .risklist{\n    padding: 10px;\n    gap: 10px;\n  }\n  \n  \/* Nested risklist fix *\/\n  .risklist .risklist{\n    padding: 8px;\n    margin-top: 8px;\n  }\n  \n  .risk{\n    flex-direction: column;\n    align-items: flex-start;\n    padding: 10px;\n    gap: 8px;\n  }\n  .risk--alert{\n    flex-direction: row;\n    align-items: flex-start;\n  }\n  .risk .r-ic{\n    width: 28px;\n    height: 28px;\n    min-width: 28px;\n    font-size: 14px;\n  }\n  .risk--alert .r-ic{\n    width: 32px;\n    height: 32px;\n    min-width: 32px;\n  }\n  .risk strong{\n    font-size: 12px;\n    margin-bottom: 2px;\n  }\n  .risk span{\n    font-size: 11.5px;\n    line-height: 1.4;\n  }\n  \n  \/* Risk text container *\/\n  .risk > div:last-child{\n    width: 100%;\n  }\n}\n\n\/* Extra small screens *\/\n@media (max-width: 400px){\n  h1{\n    font-size: 19px;\n  }\n  .logic-tiles{\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .logic-letter{\n    height: 65px;\n    font-size: 36px;\n  }\n  .mockup-title{\n    font-size: 12px;\n  }\n  .layer-card__title{\n    font-size: 13px;\n  }\n  \n  \/* Layer cards - extra small *\/\n  .layer-card{\n    padding: 12px;\n    gap: 10px;\n  }\n  .layer-title{\n    font-size: 13px;\n    padding-right: 35px;\n  }\n  .layer-es{\n    font-size: 11px;\n  }\n  .layer-sub{\n    font-size: 11px;\n  }\n  .layer-diagram{\n    height: 60px;\n  }\n  .layer-explore{\n    min-height: 44px;\n    padding: 8px;\n  }\n  .layer-explore__icon .layer-icon{\n    width: 24px;\n    height: 24px;\n  }\n  \n  \/* Impact section - extra small *\/\n  .layer-block-head{\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 6px;\n  }\n  .layer-block-meta{\n    flex-wrap: wrap;\n    gap: 4px;\n  }\n  .table-wrap table{\n    min-width: 500px;\n    width: max-content;\n  }\n  th, td{\n    padding: 6px 5px;\n    font-size: 10px;\n    white-space: nowrap;\n  }\n  .capex-badge{\n    transform: scale(0.75);\n  }\n  \n  \/* Risks - extra small *\/\n  .risk{\n    padding: 8px;\n  }\n  .risk strong{\n    font-size: 11px;\n  }\n  .risk span{\n    font-size: 10.5px;\n  }\n  .risk .r-ic{\n    width: 24px;\n    height: 24px;\n    min-width: 24px;\n    font-size: 12px;\n  }\n  \n  \/* NSIC Close - extra small *\/\n  .nsic-close{\n    padding: 12px 10px;\n  }\n  .nsic-close__title{\n    font-size: 14px;\n  }\n  .nsic-close__desc{\n    font-size: 12px;\n  }\n  .nsic-close__actions .btn-primary,\n  .nsic-close__actions .btn-ghost{\n    padding: 10px 12px;\n    font-size: 11.5px;\n  }\n}\n\n<\/style>\n\n<script type=\"application\/ld+json\" id=\"schema-vms-autodiagnostico\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"SoftwareApplication\",\n      \"name\": \"Autodiagn\u00f3stico de Riesgos de Subestaciones Industriales\",\n      \"applicationCategory\": \"BusinessApplication\",\n      \"operatingSystem\": \"Web\",\n      \"description\": \"Herramienta web para <a href=\"#autodiagnostico\">autodiagn\u00f3stico<\/a> orientado a riesgos t\u00e9cnicos, <a href=\"#impacto-capex\">CAPEX\/OPEX<\/a> y priorizaci\u00f3n de modernizaci\u00f3n por capas (Power, Protection, Control, Communications).\",\n      \"offers\": {\n        \"@type\": \"Offer\",\n        \"price\": \"0\",\n        \"priceCurrency\": \"MXN\"\n      },\n      \"provider\": {\n        \"@type\": \"Organization\",\n        \"name\": \"VMS Energy\"\n      },\n      \"@id\": \"#autodiagnostico-app\",\n      \"url\": \"#autodiagnostico\"\n    },\n    {\n      \"@type\": \"Service\",\n      \"name\": \"Consultor\u00eda CAPEX\/OPEX y modernizaci\u00f3n de subestaciones industriales\",\n      \"serviceType\": \"Consultor\u00eda el\u00e9ctrica industrial \/ proyectos llave en mano\",\n      \"provider\": {\n        \"@type\": \"Organization\",\n        \"name\": \"VMS Energy\"\n      },\n      \"areaServed\": \"MX\",\n      \"audience\": {\n        \"@type\": \"BusinessAudience\",\n        \"name\": \"Industria (EPC, Manufactura, Miner\u00eda, Data Centers)\"\n      },\n      \"@id\": \"#servicio-modernizacion-subestaciones\",\n      \"url\": \"#turnkey\"\n    }\n  ]\n}\n<\/script>\n\n<\/head>\n<body>\n<p class=\"sr-only\">presupuesto modernizaci\u00f3n subestaci\u00f3n \u00b7 consultor\u00eda CAPEX el\u00e9ctrica \u00b7 proyectos llave en mano electricidad industrial<\/p>\n\n  <main class=\"container\">\n    <!-- HERO -->\n    <section class=\"hero\" aria-label=\"Hero\">\n      <article class=\"hero-card\">\n        <div class=\"kicker\">\n          <span style=\"width:8px;height:8px;border-radius:999px;background:rgba(58,111,165,.8)\"><\/span>\n          Subestaciones el\u00e9ctricas industriales\n        <\/div>\n        <h1>\u00bfCu\u00e1ndo y por qu\u00e9 se necesita una subestaci\u00f3n el\u00e9ctrica?<\/h1>\n        <p class=\"sub\">De la necesidad operativa a la toma de decisiones t\u00e9cnicas informadas<\/p>\n        <div class=\"rule\"><\/div>\n        <p class=\"sage\">\u201cDescubre los detonadores cr\u00edticos para instalar una subestaci\u00f3n el\u00e9ctrica industrial y c\u00f3mo optimizar CAPEX y OPEX mediante un dise\u00f1o basado en capas.\u201d<\/p>\n      <\/article>\n\n      <aside class=\"hero-visual\" aria-label=\"Visual de portada\">\n        <div class=\"badge\">Diagrama Conceptual:<\/div>\n        <!-- Inline SVG placeholder (blueprint-like) -->\n        <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 520 320\" role=\"img\" aria-label=\"Ilustraci\u00f3n t\u00e9cnica de subestaci\u00f3n (placeholder)\">\n          <defs>\n            <linearGradient id=\"g\" x1=\"0\" x2=\"1\">\n              <stop offset=\"0\" stop-color=\"rgba(58,111,165,.20)\"\/>\n              <stop offset=\"1\" stop-color=\"rgba(15,76,129,.08)\"\/>\n            <\/linearGradient>\n          <\/defs>\n          <rect x=\"0\" y=\"0\" width=\"520\" height=\"320\" fill=\"url(#g)\"\/>\n          <g stroke=\"rgba(23,44,81,.55)\" stroke-width=\"2\" fill=\"none\">\n            <rect x=\"60\" y=\"170\" width=\"150\" height=\"80\" rx=\"10\"\/>\n            <rect x=\"235\" y=\"145\" width=\"110\" height=\"105\" rx=\"10\"\/>\n            <rect x=\"365\" y=\"165\" width=\"95\" height=\"85\" rx=\"10\"\/>\n            <line x1=\"80\" y1=\"170\" x2=\"80\" y2=\"120\"\/>\n            <line x1=\"120\" y1=\"170\" x2=\"120\" y2=\"95\"\/>\n            <line x1=\"160\" y1=\"170\" x2=\"160\" y2=\"120\"\/>\n            <line x1=\"260\" y1=\"145\" x2=\"260\" y2=\"90\"\/>\n            <line x1=\"300\" y1=\"145\" x2=\"300\" y2=\"70\"\/>\n            <line x1=\"400\" y1=\"165\" x2=\"400\" y2=\"100\"\/>\n            <line x1=\"430\" y1=\"165\" x2=\"430\" y2=\"85\"\/>\n            <path d=\"M60 210 C120 200, 200 190, 235 200\" \/>\n            <path d=\"M345 200 C360 195, 372 195, 365 210\" \/>\n            <path d=\"M235 200 C290 190, 340 190, 365 200\" \/>\n          <\/g>\n          <g fill=\"rgba(11,18,32,.75)\" font-family=\"ui-monospace, monospace\" font-size=\"12\">\n            <text x=\"70\" y=\"270\">Subestaci\u00f3n El\u00e9ctrica Industrial<\/text>\n            <text x=\"70\" y=\"288\">\"El valor est\u00e1 en la arquitectura, no en los componentes\"<\/text>\n          <\/g>\n          <g stroke=\"rgba(255,255,255,.35)\" stroke-width=\"1\">\n            <line x1=\"0\" y1=\"40\" x2=\"520\" y2=\"40\"\/>\n            <line x1=\"0\" y1=\"80\" x2=\"520\" y2=\"80\"\/>\n            <line x1=\"0\" y1=\"120\" x2=\"520\" y2=\"120\"\/>\n            <line x1=\"0\" y1=\"160\" x2=\"520\" y2=\"160\"\/>\n            <line x1=\"0\" y1=\"200\" x2=\"520\" y2=\"200\"\/>\n            <line x1=\"0\" y1=\"240\" x2=\"520\" y2=\"240\"\/>\n            <line x1=\"0\" y1=\"280\" x2=\"520\" y2=\"280\"\/>\n          <\/g>\n        <\/svg>\n      <\/aside>\n    <\/section>\n\n    <!-- INTRO + PULL QUOTE -->\n    <section class=\"section\">\n      <div class=\"section-card\">\n        <h2 class=\"h2\">Introducci\u00f3n<\/h2>\n        <p class=\"lead\">\n          En entornos <Strong>industriales, energ\u00e9ticos y de infraestructura<\/Strong>, el crecimiento de una operaci\u00f3n rara vez es lineal.\n          Cambios en la demanda el\u00e9ctrica, la incorporaci\u00f3n de <Strong>procesos cada vez m\u00e1s cr\u00edticos<\/Strong> o la <strong>obsolescencia de la infrastructura existente<\/strong> suelen llevar a una pregunta clave para \u00e1reas de <Strong>ingenier\u00eda, operaciones y procurement:<\/Strong>\n        <\/p>\n        <p class=\"lead\">\n            <strong>\u00bfEn qu\u00e9 momento una subestaci\u00f3n se vuelve necesaria?<\/strong>\n        <\/p>\n        <p class=\"lead\">\n          Responder esta pregunta no implica \u00fanicamente seleccionar equipos o definir un alcance de obra. Implica comprender <strong>para qu\u00e9 sirve una subestaci\u00f3n el\u00e9ctrica<\/strong>, c\u00f3mo se integra al <strong>sistema el\u00e9ctrico industrial existente<\/strong> y qu\u00e9 decisiones t\u00e9cnicas condicionar\u00e1n su <strong>confiabilidad, costos de operaci\u00f3n y desempe\u00f1o futuro<\/strong>.          \n        <\/p>\n        <p class=\"lead\">\n        Este art\u00edculo aborda el tema desde una l\u00f3gica progresiva:\n        <\/p>\n<section class=\"section\" id=\"nsic-framework\">\n  <div class=\"section-card\">\n\n    <div class=\"nsic-track\" aria-label=\"Marco l\u00f3gico del an\u00e1lisis\">\n\n      <div class=\"nsic-step\">\n        <div class=\"nsic-box nsic-box--n\" aria-label=\"S\u00edmbolo N\">\n      <div class=\"nsic-symbol\">\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <circle class=\"w\" cx=\"20\" cy=\"24\" r=\"10\"\/>\n  <circle class=\"w\" cx=\"28\" cy=\"24\" r=\"10\"\/>\n<\/svg><span class=\"sr-only\">N<\/span>\n        <span class=\"nsic-letter\">N<\/span>\n      <\/div>\n    <\/div>\n        <div class=\"nsic-label\">Necesidad<\/div>\n      <\/div>\n\n      <div class=\"nsic-step\">\n        <div class=\"nsic-box nsic-box--s\" aria-label=\"S\u00edmbolo S\">\n      <div class=\"nsic-symbol\">\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <rect class=\"w\" x=\"14\" y=\"14\" width=\"20\" height=\"20\" rx=\"6\"\/>\n  <path class=\"w\" d=\"M18 24h12\"\/>\n  <path class=\"w\" d=\"M30 24l6-6\"\/>\n  <circle class=\"w\" cx=\"18\" cy=\"24\" r=\"2.3\"\/>\n  <circle class=\"w\" cx=\"30\" cy=\"24\" r=\"2.3\"\/>\n<\/svg><span class=\"sr-only\">S<\/span>\n        <span class=\"nsic-letter\">S<\/span>\n      <\/div>\n    <\/div>\n        <div class=\"nsic-label\">Soluci\u00f3n<\/div>\n      <\/div>\n\n      <div class=\"nsic-step\">\n        <div class=\"nsic-box nsic-box--i\" aria-label=\"S\u00edmbolo I\">\n      <div class=\"nsic-symbol\">\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <rect class=\"w\" x=\"14\" y=\"16\" width=\"20\" height=\"16\" rx=\"6\"\/>\n  <path class=\"w\" d=\"M10 20h4M10 24h4M10 28h4\"\/>\n  <path class=\"w\" d=\"M34 20h4M34 24h4M34 28h4\"\/>\n<\/svg><span class=\"sr-only\">I<\/span>\n        <span class=\"nsic-letter\">I<\/span>\n      <\/div>\n    <\/div>\n        <div class=\"nsic-label\">Implicaciones<\/div>\n      <\/div>\n\n      <div class=\"nsic-step\">\n        <div class=\"nsic-box nsic-box--c\" aria-label=\"S\u00edmbolo C\">\n      <div class=\"nsic-symbol\">\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <path class=\"w\" d=\"M12 18h24\"\/>\n  <circle class=\"w\" cx=\"16\" cy=\"18\" r=\"2.6\"\/>\n  <circle class=\"w\" cx=\"24\" cy=\"18\" r=\"2.6\"\/>\n  <circle class=\"w\" cx=\"32\" cy=\"18\" r=\"2.6\"\/>\n  <path class=\"w\" d=\"M16 18v14M24 18v10M32 18v14\"\/>\n<\/svg><span class=\"sr-only\">C<\/span>\n        <span class=\"nsic-letter\">C<\/span>\n      <\/div>\n    <\/div>\n        <div class=\"nsic-label\">Caminos<\/div>\n      <\/div>\n\n      <span class=\"nsic-flow\" aria-hidden=\"true\"><\/span>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n        <div class=\"pull\">\n       <Strong>Necesidad \u2192 soluci\u00f3n t\u00e9cnica \u2192 impactos operativos \u2192 caminos de ejecuci\u00f3n<\/Strong>.\n        <\/div>\n      <\/div>\n\n<div class=\"cta-soft\">\n  \n<p><strong>\u00bfTu subestaci\u00f3n enfrenta estos retos?<\/strong><\/p>\n\n<div class=\"mockup-strip\" id=\"mockups\">\n  <div class=\"mockup-grid\">\n    <a class=\"mockup-card infrastructure\" href=\"https:\/\/vmsenergy.com\/wp-content\/uploads\/2026\/01\/Blog-Subestacion-Electrica-Industrial-ungated.pdf\" target=\"_blank\" download>\n      <div class=\"mockup-frame\" role=\"img\" aria-label=\"Vista previa de la Gu\u00eda de Modernizaci\u00f3n de Subestaciones\">\n        <div class=\"mockup-tags\">\n          <span class=\"mockup-tag\">GU\u00cdA<\/span>\n          <span class=\"mockup-tag\">PDF<\/span>\n        <\/div>\n        <div class=\"mockup-title\">Gu\u00eda de Modernizaci\u00f3n<br\/>de Subestaciones<\/div>\n      <\/div>\n      <figcaption class=\"mockup-caption\">FIG. 01 \u00b7 Infraestructura \u2192 criterios t\u00e9cnicos y ruta de ejecuci\u00f3n<\/figcaption>\n    <\/a>\n\n    <a class=\"mockup-card software\" href=\"https:\/\/vmsenergy.com\/wp-content\/uploads\/2026\/01\/Blog-Subestacion-Electrica-Industrial-Checklist-ungated.pdf\" target=\"_blank\" download>\n      <div class=\"mockup-frame\" role=\"img\" aria-label=\"Vista previa del Checklist Ejecutivo de Autodiagn\u00f3stico\">\n        <div class=\"mockup-tags\">\n          <span class=\"mockup-tag\">CHECKLIST<\/span>\n          <span class=\"mockup-tag\">PDF<\/span>\n        <\/div>\n        <div class=\"mockup-title\">Checklist ejecutivo<br\/>de autodiagn\u00f3stico<\/div>\n      <\/div>\n      <figcaption class=\"mockup-caption\">FIG. 02 \u00b7 Se\u00f1ales \u2192 puntuaci\u00f3n \u2192 nivel de urgencia<\/figcaption>\n    <\/a>\n  <\/div>\n\n<section class=\"section\" id=\"necesidad\">\n\n  <div class=\"section-card logic-strip\">\n    <h2 class=\"h2\">La necesidad de una subestaci\u00f3n el\u00e9ctrica<\/h2>\n\n    <p class=\"lead\">\n      En la pr\u00e1ctica, una subestaci\u00f3n se vuelve necesaria cuando el sistema el\u00e9ctrico existente\n      <strong>deja de responder de forma confiable<\/strong> a las condiciones reales de la operaci\u00f3n.\n    <\/p>\n    <p class=\"micro-note\">\n      Estos escenarios suelen presentarse de forma gradual, pero sus efectos se manifiestan de manera abrupta en operaci\u00f3n.\n    <\/p>\n\n    <!-- Detonadores editoriales (mini-secciones) -->\n    <div class=\"detonators\">\n      <!-- 01 -->\n      <article class=\"detonator\" id=\"det-01\">\n        <header class=\"detonator-head\">\n          <span class=\"detonator-num\" aria-hidden=\"true\">01<\/span>\n          <div class=\"detonator-title\">\n            <h4>Crecimiento de carga o expansi\u00f3n de planta<\/h4>\n            <div class=\"detonator-meta\">\n              <span class=\"layerchip layerchip--power\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Power Layer<\/span>\n              <span class=\"layerchip layerchip--control\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Control Layer<\/span>\n            <\/div>\n          <\/div>\n        <\/header>\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\n        <p>\n          Incrementos en capacidad productiva, nuevas l\u00edneas de proceso o ampliaciones que superan la\n          <strong>capacidad el\u00e9ctrica instalada<\/strong>, generando l\u00edmites operativos o riesgos de sobrecarga.\n        <\/p>\n      <\/article>\n\n      <!-- 02 -->\n      <article class=\"detonator\" id=\"det-02\">\n        <header class=\"detonator-head\">\n          <span class=\"detonator-num\" aria-hidden=\"true\">02<\/span>\n          <div class=\"detonator-title\">\n            <h4>Problemas de confiabilidad y paros frecuentes<\/h4>\n            <div class=\"detonator-meta\">\n              <span class=\"layerchip layerchip--protection\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Protection Layer<\/span>\n              <span class=\"layerchip layerchip--comms\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Communication Layer<\/span>\n            <\/div>\n          <\/div>\n        <\/header>\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\n        <p>\n          Fallas recurrentes, disparos intempestivos o eventos el\u00e9ctricos que afectan la <strong>continuidad operativa<\/strong>\n          y la estabilidad del proceso productivo.\n        <\/p>\n      <\/article>\n\n      <!-- 03 -->\n      <article class=\"detonator\" id=\"det-03\">\n        <header class=\"detonator-head\">\n          <span class=\"detonator-num\" aria-hidden=\"true\">03<\/span>\n          <div class=\"detonator-title\">\n            <h4>Sustituci\u00f3n de infraestructura el\u00e9ctrica obsoleta<\/h4>\n            <div class=\"detonator-meta\">\n              <span class=\"layerchip layerchip--power\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Power Layer<\/span>\n              <span class=\"layerchip layerchip--protection\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Protection Layer<\/span>\n            <\/div>\n          <\/div>\n        <\/header>\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\n        <p>\n          Equipos con vida \u00fatil superada, tecnolog\u00edas desactualizadas o sistemas que ya no cumplen con\n          <strong>requerimientos actuales de operaci\u00f3n y seguridad<\/strong>.\n        <\/p>\n      <\/article>\n\n      <!-- 04 -->\n      <article class=\"detonator\" id=\"det-04\">\n        <header class=\"detonator-head\">\n          <span class=\"detonator-num\" aria-hidden=\"true\">04<\/span>\n          <div class=\"detonator-title\">\n            <h4>Incorporaci\u00f3n de procesos cr\u00edticos<\/h4>\n            <div class=\"detonator-meta\">\n              <span class=\"layerchip layerchip--control\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Control Layer<\/span>\n              <span class=\"layerchip layerchip--comms\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Communication Layer<\/span>\n            <\/div>\n          <\/div>\n        <\/header>\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\n        <p>\n          Operaciones donde la energ\u00eda el\u00e9ctrica se vuelve estrat\u00e9gica y donde un evento el\u00e9ctrico tiene impacto directo en\n          <strong>seguridad, producci\u00f3n y cumplimiento<\/strong>.\n        <\/p>\n      <\/article>\n    <\/div>\n\n  <\/div>\n<\/section>\n        <div class=\"divider\">\u00bfQu\u00e9 hacer?<\/div>\n        <p class=\"lead\" style=\"margin:0;\">\n          Cuando alguno de estos detonadores aparece, la pregunta deja de ser si se necesita una subestaci\u00f3n el\u00e9ctrica, y pasa a ser <Strong>c\u00f3mo debe dise\u00f1arse un sistema que responda al presente y al futuro<\/Strong>.\n            <\/p>\n      <\/div>\n    <\/section>\n<!-- ===== Secci\u00f3n: Capas (mejorada tipo Detonadores) ===== -->\n<div class=\"concept-hero\">\n\n  <span class=\"concept-eyebrow\">\n    Modelo de an\u00e1lisis t\u00e9cnico\n  <\/span>\n\n  <h2 class=\"concept-title\">\n    Pensar la subestaci\u00f3n como un sistema por capas\n  <\/h2>\n\n  <p class=\"concept-intro\">\n    M\u00e1s all\u00e1 de un conjunto de equipos, una subestaci\u00f3n el\u00e9ctrica debe analizarse como un\n    <strong>sistema integrado<\/strong>, donde cada capa t\u00e9cnica cumple una funci\u00f3n espec\u00edfica\n    y condiciona el desempe\u00f1o global.\n  <\/p>\n\n  <ul class=\"concept-benefits\">\n    <li>\n      Analizar el sistema de forma ordenada, sin perder la visi\u00f3n integral\n    <\/li>\n    <li>\n      Entender c\u00f3mo las decisiones t\u00e9cnicas impactan la operaci\u00f3n y el negocio\n    <\/li>\n    <li>\n      Anticipar riesgos, limitaciones y trade-offs antes de la ejecuci\u00f3n\n    <\/li>\n  <\/ul>\n\n  <div class=\"concept-axiom\">\n    Capas \u2260 equipos aislados<br>\n    <strong>Capas = decisiones t\u00e9cnicas con impacto a largo plazo<\/strong>\n  <\/div>\n\n<\/div>\n\n    <div class=\"layers-grid vms-cards\" role=\"list\" aria-label=\"Capas principales\">\n\n      <!-- 01 Power -->\n<button class=\"layer-card\" type=\"button\" data-layer=\"power\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\n  <span class=\"layer-num\" aria-hidden=\"true\">01<\/span>\n\n  <div class=\"layer-left\">\n    <h3 class=\"layer-title\">Power Layer <span class=\"layer-es\">(Capa de Potencia del Sistema)<\/span><\/h3>\n    <p class=\"layer-sub\">Decide c\u00f3mo fluye, se transforma y se distribuye la energ\u00eda, condicionando la capacidad instalada, el crecimiento futuro y la mantenibilidad del sistema.<\/p>\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\n      <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"layer-right\" aria-hidden=\"true\">\n    <div class=\"layer-diagram\">\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Power Layer\">\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n          <rect x=\"14\" y=\"36\" width=\"70\" height=\"56\" rx=\"12\"\/>\n          <rect x=\"92\" y=\"26\" width=\"74\" height=\"74\" rx=\"14\"\/>\n          <rect x=\"170\" y=\"44\" width=\"36\" height=\"38\" rx=\"10\"\/>\n          <path d=\"M49 20 v18\" \/>\n          <path d=\"M129 14 v14\" \/>\n          <path d=\"M188 26 v18\" \/>\n          <path d=\"M84 64 H92\" \/>\n          <path d=\"M166 64 H170\" \/>\n        <\/g>\n      <\/svg>\n    <\/div>\n\n  <div class=\"layer-explore\">\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <circle class=\"w2\" cx=\"24\" cy=\"24\" r=\"18\"\/>\n  <path class=\"w\" d=\"M22 10l-6 16h10l-4 12 14-20H26z\"\/>\n<\/svg><\/span>\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\n  <\/div>\n<\/button>\n\n<!-- 02 Protection -->\n<button class=\"layer-card\" type=\"button\" data-layer=\"protection\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\n  <span class=\"layer-num\" aria-hidden=\"true\">02<\/span>\n\n  <div class=\"layer-left\">\n    <h3 class=\"layer-title\">Protection Layer <span class=\"layer-es\">(Capa de Protecci\u00f3n)<\/span><\/h3>\n    <p class=\"layer-sub\">Define c\u00f3mo se detectan y a\u00edslan las fallas, y qu\u00e9 tan controlado es su impacto sobre personas, equipos y continuidad operativa.<\/p>\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\n      <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"layer-right\" aria-hidden=\"true\">\n    <div class=\"layer-diagram\">\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Protection Layer\">\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n          <rect x=\"18\" y=\"28\" width=\"70\" height=\"70\" rx=\"14\"\/>\n          <path d=\"M53 44 v16\" \/>\n          <path d=\"M53 70 h.01\" \/>\n          <path d=\"M88 63 H150\" \/>\n          <rect x=\"150\" y=\"44\" width=\"52\" height=\"38\" rx=\"10\"\/>\n        <\/g>\n      <\/svg>\n    <\/div>\n\n  <div class=\"layer-explore\">\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <path class=\"w2\" d=\"M24 8l14 6v10c0 10-6 16-14 18C16 40 10 34 10 24V14z\"\/>\n  <path class=\"w\" d=\"M14 24h8m4 0h8\"\/>\n  <path class=\"w\" d=\"M24 18v12\"\/>\n<\/svg><\/span>\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\n  <\/div>\n  <\/div>\n<\/button>\n\n<!-- 03 Control -->\n<button class=\"layer-card\" type=\"button\" data-layer=\"control\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\n  <span class=\"layer-num\" aria-hidden=\"true\">03<\/span>\n\n  <div class=\"layer-left\">\n    <h3 class=\"layer-title\">Control Layer <span class=\"layer-es\">(Capa de Control)<\/span><\/h3>\n    <p class=\"layer-sub\">Establece c\u00f3mo se opera el sistema en condiciones normales y de contingencia, determinando orden, repetibilidad y seguridad operativa.<\/p>\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\n      <span class=\"layerchip layerchip--turnkey\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Integraci\u00f3n<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"layer-right\" aria-hidden=\"true\">\n    <div class=\"layer-diagram\">\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Control Layer\">\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n          <rect x=\"18\" y=\"30\" width=\"82\" height=\"56\" rx=\"10\"\/>\n          <rect x=\"112\" y=\"42\" width=\"90\" height=\"40\" rx=\"10\"\/>\n          <path d=\"M60 86 V102\" \/>\n          <path d=\"M112 62 H100\" \/>\n          <path d=\"M100 62 C94 62, 94 54, 88 54\" \/>\n        <\/g>\n      <\/svg>\n    <\/div>\n\n  <div class=\"layer-explore\">\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <circle class=\"w2\" cx=\"24\" cy=\"24\" r=\"16\"\/>\n  <path class=\"w\" d=\"M24 14v20M14 24h20\"\/>\n  <circle class=\"w\" cx=\"24\" cy=\"24\" r=\"4\"\/>\n  <path class=\"w\" d=\"M36 18l4-2M36 30l4 2M12 18l-4-2M12 30l-4 2\"\/>\n<\/svg><\/span>\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\n  <\/div>\n  <\/div>\n<\/button>\n\n<!-- 04 Comms -->\n<button class=\"layer-card\" type=\"button\" data-layer=\"comms\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\n  <span class=\"layer-num\" aria-hidden=\"true\">04<\/span>\n\n  <div class=\"layer-left\">\n    <h3 class=\"layer-title\">Communication Layer <span class=\"layer-es\">(Capa de Comunicaciones)<\/span><\/h3>\n    <p class=\"layer-sub\">Define el nivel de visibilidad y trazabilidad del sistema, habilitando supervisi\u00f3n, an\u00e1lisis de eventos y toma de decisiones informadas.<\/p>\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\n      <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"layer-right\" aria-hidden=\"true\">\n    <div class=\"layer-diagram\">\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Communication Layer\">\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n          <circle cx=\"54\" cy=\"60\" r=\"18\"\/>\n          <circle cx=\"110\" cy=\"38\" r=\"14\"\/>\n          <circle cx=\"166\" cy=\"70\" r=\"16\"\/>\n          <path d=\"M70 52 L96 42\" \/>\n          <path d=\"M124 46 L152 62\" \/>\n          <path d=\"M70 68 L150 68\" \/>\n        <\/g>\n      <\/svg>\n    <\/div>\n\n  <div class=\"layer-explore\">\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n  <circle class=\"w2\" cx=\"14\" cy=\"28\" r=\"5\"\/>\n  <circle class=\"w2\" cx=\"34\" cy=\"20\" r=\"5\"\/>\n  <circle class=\"w2\" cx=\"34\" cy=\"34\" r=\"5\"\/>\n  <path class=\"w\" d=\"M18 26l12-4M18 30l12 3\"\/>\n  <path class=\"w\" d=\"M24 12h0\"\/>\n  <path class=\"w\" d=\"M10 10c6-6 22-6 28 0\"\/>\n  <path class=\"w2\" d=\"M14 14c4-4 16-4 20 0\"\/>\n<\/svg><\/span>\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\n  <\/div>\n  <\/div>\n<\/button>\n\n      \n    <!-- Panel inline (una sola vez, fuera del grid) -->\n    <div id=\"layer-panel\" class=\"layer-panel\" hidden>\n      <div class=\"layer-panel__inner\">\n        <div class=\"layer-panel__head\"><\/div>\n          <div>\n            <div class=\"layer-panel__kicker\" id=\"lp-kicker\">Capa<\/div>\n            <h3 class=\"layer-panel__title\" id=\"lp-title\">T\u00edtulo<\/h3>\n            <p class=\"layer-panel__desc\" id=\"lp-desc\">Descripci\u00f3n<\/p>\n          <\/div>\n          <div class=\"layer-panel__actions\">\n            <button type=\"button\" class=\"btn-ghost\" id=\"lp-close\" aria-label=\"Cerrar panel\">Volver<\/button>\n            <a class=\"btn-primary\" id=\"lp-jump\" href=\"#impacto-operacion\">Ver impacto en la operaci\u00f3n<\/a>\n            <a class=\"btn-ghost\" id=\"lp-capex\" href=\"#impacto-capex\">Ir a tabla CAPEX\/OPEX<\/a>\n          <\/div>\n        <\/div>\n\n        <div class=\"layer-panel__grid\">\n          <div class=\"layer-panel__diagram\" id=\"lp-diagram\" aria-hidden=\"true\"><\/div>\n          <div class=\"layer-panel__bullets\">\n            <strong class=\"layer-panel__label\">Elementos t\u00e9cnicos<\/strong>\n            <strong class=\"layer-panel__label\">(ingenier\u00eda, integraci\u00f3n, decisiones de alcance)<\/strong>\n            <ul id=\"lp-list\"><\/ul>\n          <\/div>\n\n        <\/div>\n\n        <\/div>\n<\/div>\n\n  <\/div>\n<\/section>\n\n<!-- ===== Capas \u00b7 Explicaci\u00f3n editorial (estilo Detonantes) ===== -->\n<section class=\"section\" id=\"capas-editorial\">\n  <section id=\"impacto-capex\">\n  <div class=\"section-card\">\n\n    <h3 class=\"h2\">Las capas t\u00e9cnicas y su impacto en la operaci\u00f3n<\/h3>\n    <p class=\"lead\">\n      Cada capa cumple una funci\u00f3n espec\u00edfica, pero su verdadero valor aparece cuando se integran correctamente dentro del sistema el\u00e9ctrico.\n      En esta secci\u00f3n revisaremos el <strong>impacto operativo<\/strong> de cada etapa desde una perspectiva <strong>CAPEX \/ OPEX<\/strong>, entendiendo que las decisiones t\u00e9cnicas tienen implicaciones directas en costos, riesgos y desempe\u00f1o.\n    <\/p>\n    <ul class=\"bullets\">\n          <li>CAPEX: agrupa las decisiones de inversi\u00f3n que definen la arquitectura, capacidad y configuraci\u00f3n del sistema durante las fases de dise\u00f1o y ejecuci\u00f3n del proyecto.<\/li>\n          <li>OPEX: se materializa a lo largo de la vida operativa del sistema y est\u00e1 directamente influenciado por las decisiones de CAPEX, impactando mantenimiento, eficiencia, confiabilidad y disponibilidad.<\/li>\n    <\/ul>    \n    <p class=\"lead\">\n      Desde <strong>Project Management<\/strong>, la decisi\u00f3n \u00f3ptima no se basa en <strong>CAPEX<\/strong> u <strong>OPEX<\/strong> de forma aislada, sino en su impacto conjunto sobre el <strong>costo total de propiedad (TCO)<\/strong> y el desempe\u00f1o del sistema a lo largo de su ciclo de vida, tema que se aborda en la siguiente secci\u00f3n\n    <\/p>    \n    \n    <div class=\"layer-explain\">\n\n      <!-- 01 Power -->\n      <article class=\"layer-block\" id=\"power-layer\">\n        <header class=\"layer-block-head\">\n          <span class=\"layer-block-num\">01<\/span>\n          <div>\n            <h4>Power Layer<\/h4>\n            <div class=\"layer-block-meta\">\n              <span class=\"layerchip layerchip--power\">\n                <span class=\"layerdot\"><\/span> Impacto operativo\n              <\/span>\n            <\/div>\n          <\/div>\n          <div class=\"impact-jump impact-jump--btn\"\n               role=\"button\"\n               tabindex=\"0\"\n               data-capex-jump=\"power\">\n               Ver impacto a nivel sistema \u2192\n          <\/div>\n        <\/header>\n\n        <span class=\"layer-block-rule\"><\/span>\n    \n    <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\n  <\/header>\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Protection Layer\" style=\"margin:10px 0 12px;\">\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\n  <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\n<\/div>\n\n<p class=\"lead\" style=\"margin:0 0 10px;\">\n  Impacto en la <strong>capacidad y arquitectura del sistema<\/strong> <em>(CAPEX)<\/em> y <strong>en su mantenibilidad, eficiencia y p\u00e9rdidas operativas <\/strong><em>(OPEX)<\/em>.\n<\/p>\n\n<div class=\"impact-capexopex\" role=\"list\">\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en CAPEX<\/strong>\n    <ul class=\"bullets\">\n          <li>Dimensionamiento de transformadores, celdas y barras<\/li>\n          <li>Obra civil \/ espacio \/ expansi\u00f3n futura<\/li>\n          <li>Selecci\u00f3n de tecnolog\u00eda (AIS\/GIS), niveles de tensi\u00f3n<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en OPEX<\/strong>\n    <ul class=\"bullets\">\n          <li>P\u00e9rdidas, calentamientos y eficiencia operativa<\/li>\n          <li>Accesibilidad, maniobrabilidad y tiempos de mantenimiento<\/li>\n          <li>Repuestos, MTBF y ventanas de paro<\/li>\n    <\/ul>\n  <\/div>\n<\/div>\n\n        <p>\n          Desde <strong>Project Management<\/strong>, estas fallas no son elementos aislados, sino el resultado de decisiones de dise\u00f1o e integraci\u00f3n tomadas en etapas tempranas\n        <\/p>\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas t\u00edpicas<\/strong>\n    <ul class=\"bullets\">\n        <li><strong>Sobredimensionamiento<\/strong> que puede incrementar costos innecesarios<\/li>\n        <li><strong>Subdimensionamiento<\/strong> que limita la operaci\u00f3n desde el primer d\u00eda.<\/li>\n        <li>En dise\u00f1o e instalaci\u00f3n de aislamiento el\u00e9ctrico<\/li>\n        <li>Deficiencias o discrepancias en conexiones<\/li>\n        <li>En c\u00e1lculo e instalaci\u00f3n de sistemas de puesta a tierra<\/li>\n        <li>Errores en selecci\u00f3n e integraci\u00f3n de equipos de potencia<\/li>\n    <\/ul>\n  <\/div>\n      <\/article>\n\n      <!-- 02 Protection -->\n      <article class=\"layer-block\" id=\"protection-layer\">\n        <header class=\"layer-block-head\">\n          <span class=\"layer-block-num\">02<\/span>\n          <div>\n            <h4>Protection Layer<\/h4>\n            <div class=\"layer-block-meta\">\n              <span class=\"layerchip layerchip--protection\">\n                <span class=\"layerdot\"><\/span> Impacto operativo\n              <\/span>\n            <\/div>\n          <\/div>\n          <div class=\"impact-jump impact-jump--btn\"\n               role=\"button\"\n               tabindex=\"0\"\n               data-capex-jump=\"protection\">\n               Ver impacto a nivel sistema \u2192\n          <\/div>\n        <\/header>\n\n        <span class=\"layer-block-rule\"><\/span>\n    \n    <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\n  <\/header>\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Protection Layer\" style=\"margin:10px 0 12px;\">\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\n  <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\n<\/div>\n\n<p class=\"lead\" style=\"margin:0 0 10px;\">\n  Impacto en el <strong>esquema y alcance de protecci\u00f3n<\/strong> <em> CAPEX<\/em> y <strong>la selectividad, capacidad de diagn\u00f3sticos y tiempos de recuperaci\u00f3n operativa<\/strong><em>OPEX<\/em>.\n<\/p>\n\n<div class=\"impact-capexopex\" role=\"list\">\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en CAPEX<\/strong>\n    <ul class=\"bullets\">\n      <li>Transformadores de instrumento (TC\/TP) y su clase de precisi\u00f3n<\/li>\n      <li>Arquitectura de protecciones (esquemas, redundancia, respaldo)<\/li>\n      <li>Circuitos de disparo, pruebas y cableado asociado<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en OPEX<\/strong>\n    <ul class=\"bullets\">\n      <li>Tiempo de diagn\u00f3stico y localizaci\u00f3n de fallas<\/li>\n      <li>Falsos disparos \/ indisponibilidad por mala coordinaci\u00f3n<\/li>\n      <li>Calidad de registros de eventos y ajuste peri\u00f3dico<\/li>\n    <\/ul>\n  <\/div>\n<\/div>\n\n        <p>\n          Desde <strong>Project Management<\/strong>, estas desviaciones suelen originarse en <strong>decisiones de dise\u00f1o y coordinaci\u00f3n<\/strong> tomadas en fases tempranas del proyecto. \n          En esta capa se define <strong>c\u00f3mo se detectan y a\u00edslan las fallas<\/strong>, una protecci\u00f3n mal coordinada no suele fallar en pruebas, sino durante la operaci\u00f3n real.\n        <\/p>\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas t\u00edpicas<\/strong>\n    <ul class=\"bullets\">\n            <li>Falta de selectividad entre protecciones<\/li>\n            <li>Ajustes de protecci\u00f3n incorrectos o inconsistentes<\/li>\n            <li>Elecci\u00f3n incorrecta en circuitos de disparo<\/li>\n            <li>Servicios auxiliares no verificados<\/li>\n    <\/ul>\n  <\/div>\n      <\/article>\n\n      <!-- 03 Control -->\n      <article class=\"layer-block\" id=\"control-layer\">\n        <header class=\"layer-block-head\">\n          <span class=\"layer-block-num\">03<\/span>\n          <div>\n            <h4>Control Layer<\/h4>\n            <div class=\"layer-block-meta\">\n              <span class=\"layerchip layerchip--control\">\n                <span class=\"layerdot\"><\/span> Impacto Operativo\n              <\/span>\n            <\/div>\n          <\/div>\n          <div class=\"impact-jump impact-jump--btn\"\n               role=\"button\"\n               tabindex=\"0\"\n               data-capex-jump=\"control\">\n               Ver impacto a nivel sistema \u2192\n          <\/div>\n        <\/header>\n\n        <span class=\"layer-block-rule\"><\/span>\n\n      <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\n  <\/header>\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Control Layer\" style=\"margin:10px 0 12px;\">\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\n  <span class=\"layerchip layerchip--turnkey\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Integraci\u00f3n<\/span>\n<\/div>\n\n<p class=\"lead\" style=\"margin:0 0 10px;\">\n  Impacto en la <strong>arquitectura de control y servicios auxiliares <\/strong><em>(CAPEX)<\/em>;<strong>y en la operabilidad, seguridad y consistencia de la operaci\u00f3n <\/strong><em>OPEX<\/em>.\n<\/p>\n\n<div class=\"impact-capexopex\" role=\"list\">\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en CAPEX<\/strong>\n    <ul class=\"bullets\">\n      <li>Tableros, l\u00f3gicas, enclavamientos y secuencias<\/li>\n      <li>Servicios auxiliares AC\/DC (respaldo y continuidad)<\/li>\n      <li>HMI \/ mandos locales \/ se\u00f1alizaci\u00f3n y alarmas<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en OPEX<\/strong>\n    <ul class=\"bullets\">\n      <li>Errores humanos por operaci\u00f3n ambigua o incompleta<\/li>\n      <li>Tiempo de reposici\u00f3n ante contingencia (procedimientos y l\u00f3gica)<\/li>\n      <li>Disponibilidad por calidad de auxiliares y mantenimiento<\/li>\n    <\/ul>\n  <\/div>\n<\/div>\n\n        <p>\n          Desde <strong>Project Management<\/strong> estas desviaciones rara vez se manifiestan como fallas el\u00e9ctricas, sino como <strong>problemas operativos<\/strong> afectando directamente la confiabilidad del sistema.\n        <\/p>\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas t\u00edpicas<\/strong>\n    <ul class=\"bullets\">\n            <li>Secuencias incorrectas de operaci\u00f3n<\/li>\n            <li>Enclavamiento incompletos o inconsistentes<\/li>\n            <li>Informaci\u00f3n incorrecta<\/li>\n            <li>Dependencia excesiva de personal humano<\/li>\n          <\/ul>\n  <\/div>\n      <\/article>\n\n      <!-- 04 Comms -->\n      <article class=\"layer-block\" id=\"comms-layer\">\n        <header class=\"layer-block-head\">\n          <span class=\"layer-block-num\">04<\/span>\n          <div>\n            <h4>Communication Layer<\/h4>\n            <div class=\"layer-block-meta\">\n              <span class=\"layerchip layerchip--comms\">\n                <span class=\"layerdot\"><\/span>Impacto operativo\n              <\/span>\n            <\/div>\n          <\/div>\n<div class=\"impact-jump impact-jump--btn\"\n     role=\"button\"\n     tabindex=\"0\"\n     data-capex-jump=\"comms\">\n  Ver impacto a nivel sistema\u2192\n<\/div>\n<\/header> \n\n        <span class=\"layer-block-rule\"><\/span>\n\n    <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\n  <\/header>\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Communication Layer\" style=\"margin:10px 0 12px;\">\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\n  <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\n<\/div>\n\n<p class=\"lead\" style=\"margin:0 0 10px;\">\n  Impacto en la <strong>infraestructura de red y supervisi\u00f3n <\/strong><em>(CAPEX)<\/em> y en la <strong> visibilidad, trazabilidad y capacidad de respuesta operativa <\/strong>basada en datos <em>(OPEX)<\/em>.\n<\/p>\n\n\n\n<div class=\"impact-capexopex\" role=\"list\">\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">CAPEX t\u00edpicamente impacta<\/strong>\n    <ul class=\"bullets\">\n      <li>Topolog\u00eda de red, canalizaciones y puntos de comunicaci\u00f3n<\/li>\n      <li>Supervisi\u00f3n\/registro (monitoreo, alarmas, tendencias)<\/li>\n      <li>Sincronizaci\u00f3n de tiempo y calidad de eventos<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">OPEX t\u00edpicamente impacta<\/strong>\n    <ul class=\"bullets\">\n      <li>Diagn\u00f3stico remoto vs. visitas a sitio (tiempo y continuidad)<\/li>\n      <li>Trazabilidad de incidentes y an\u00e1lisis post-evento<\/li>\n      <li>Riesgo de \u201coperar a ciegas\u201d por falta de datos confiables<\/li>\n    <\/ul>\n  <\/div>\n<\/div>\n\n        <p>\n          Desde <strong>Project Management<\/strong> una arquitectura de comunicaciones deficiente no suelen <strong>detener el sistema<\/strong>, pero si limita la capacidad de entenderlo, diagnosticarlo y tomas decisiones oportunas.\n        <\/p>\n  <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas T\u00edpicas<\/strong>\n    <ul class=\"bullets\">\n            <li>P\u00e9rdida de comunicaci\u00f3n<\/li>\n            <li>Falta de sincronizaci\u00f3n<\/li>\n            <li>Integraci\u00f3n incompleta a sistemas de supervisi\u00f3n<\/li>\n            <li>Operaci\u00f3n sin informaci\u00f3n<\/li>\n    <\/ul>\n  <\/div>\n      <\/article>\n\n    \n \n  <\/section>\n\n    <div class=\"nsic-close\" aria-label=\"Cierre suave hacia conversi\u00f3n\">\n      <div class=\"nsic-close__inner\">\n        <div>\n          <div class=\"nsic-close__kicker\">Siguiente paso recomendado<\/div>\n          <h3 class=\"h3 nsic-close__title\">Convierte las capas en una decisi\u00f3n accionable<\/h3>\n          <p class=\"nsic-close__desc\">\n            Si ya identificaste la <strong>necesidad<\/strong>, usa el autodiagn\u00f3stico para estimar el <strong>nivel de se\u00f1al<\/strong>\n            y ver tu <strong>urgencia<\/strong> en el man\u00f3metro (sin registro, solo dise\u00f1o).\n          <\/p>\n        <\/div>\n        <div class=\"nsic-close__actions\">\n          <a class=\"btn-primary\" href=\"#autodiagnostico\">Evaluar mi subestaci\u00f3n (autodiagn\u00f3stico) \u2192<\/a>\n          <a class=\"btn-ghost\" href=\"#impacto-capex\">Entender impacto CAPEX \/ OPEX \u2192<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n\n<\/section>  \n    <!-- IMPACT -->\n    <section class=\"section\" id=\"impacto\">\n      <div class=\"section-card\">\n        <h2 class=\"h2\">Impacto el sistema y riesgos<\/h2>\n        <p class=\"lead\">\n          Las decisiones que se han tomado hasta este momento no s\u00f3lo tienen un impacto exclusivamente t\u00e9cnico. <\/p>\n\n<div class=\"layer-block\" id=\"falla-vs-perdida\">\n  <div class=\"layer-block-head\">\n    <span class=\"layer-block-num\" aria-hidden=\"true\">$$<\/span>\n    <div>\n      <h4>Falla t\u00e9cnica \u2192 P\u00e9rdida financiera (ejemplos)<\/h4>\n      <div class=\"layer-block-meta\">\n        <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\n        <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgo<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n  <span class=\"layer-block-rule\" aria-hidden=\"true\"><\/span>\n\n  <div class=\"table-wrap\" role=\"region\" aria-label=\"Tabla de fallas y p\u00e9rdidas\">\n    <table>\n      <thead>\n        <tr>\n          <th>Falla t\u00edpica<\/th>\n          <th>\u00bfQu\u00e9 detona en operaci\u00f3n?<\/th>\n          <th>\u00bfD\u00f3nde pega en dinero?<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td>Protecciones mal coordinadas<\/td>\n          <td>Disparos innecesarios \/ restablecimientos frecuentes<\/td>\n          <td>Horas-hombre, scrap, penalizaciones por paro y da\u00f1os en equipos cr\u00edticos<\/td>\n        <\/tr>\n        <tr>\n          <td>Capacidad \/ redundancia subdimensionada<\/td>\n          <td>Operaci\u00f3n al l\u00edmite, sin margen ante crecimiento<\/td>\n          <td>CAPEX correctivo no planeado + OPEX por paros, sobrecargas y mantenimiento reactivo<\/td>\n        <\/tr>\n        <tr>\n          <td>Comunicaciones incompletas (SCADA\/registro)<\/td>\n          <td>\u201cOperar a ciegas\u201d, diagn\u00f3stico lento y decisiones tard\u00edas<\/td>\n          <td>Tiempo de recuperaci\u00f3n mayor (MTTR), visitas a sitio, p\u00e9rdidas por continuidad y calidad<\/td>\n        <\/tr>\n        <tr>\n          <td>L\u00f3gicas de control sin criterios de seguridad<\/td>\n          <td>Interlocks ausentes, maniobras inseguras, incidentes<\/td>\n          <td>Riesgo HSE, multas, paros de seguridad y costos de siniestros<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <p class=\"micro-note\" style=\"margin-top:10px;\"}\n    Estos son ejemplos t\u00edpicos. La cuantificaci\u00f3n real depende de tu proceso, criticidad, tarifas, penalizaciones y costo de oportunidad.\n    <br><em>Nota t\u00e9cnica: valores y efectos son estimativos; deben validarse con datos operativos y financieros del sitio.<\/em>\n  <\/p>\n<\/div>\n\n          \n          <p class=\"lead\"> Desde una perspectiva de <strong>Project Management<\/strong>estas decisiones definen variables cr\u00edticas que preocupan especialmente a <strong>Procurement, Ingenier\u00eda, Finanzas y Direcci\u00f3n<\/strong>, como costos totales, riesgos operativos y continuidad del negocio y flexibilidad futura.<\/p>\n          <p class=\"lead\"> En este contexto, existen dimensiones fundamentales a considerar en la toma de decisiones <em>(Como CAPEX y OPEX, entre otras)<\/em><\/p>\n          <p class=\"lead\"> La evaluaci\u00f3n correcta no se hace de forma aislada, sino considerando su impacto conjunto sobre el <strong>costo total de propiedad (TCO)<\/strong> y el desempe\u00f1o a lo largo de su ciclo de vida.<\/p>\n        <p class=\"lead\">\n          Hay dos conceptos fundamentales en la decisi\u00f3n: <strong>CAPEX <\/strong> que son decisiones que definen la configuraci\u00f3n del sistema (una vez);\n          y el <strong>OPEX<\/strong> que se materializa durante la operaci\u00f3n (mantenimiento, eficiencia, disponibilidad).\n        <\/p>\n            <div class=\"note\">\n              <strong>Momento de decisi\u00f3n:<\/strong> Una proporci\u00f3n significativa de las variables que impactan el OPEX, los riesgos operativos y el TCO se define durante las fases de ingenier\u00eda conceptual, b\u00e1sica y de integraci\u00f3n, antes de la adquisici\u00f3n de los equipos principales.\n            <\/div>\n\n        <div class=\"impact\">\n          <div>\n\n            <div class=\"note\">\n              <strong>Nota:<\/strong> Desde Project Management, cada capa contribuye de forma distinta al CAPEX del proyecto y al OPEX de la operaci\u00f3n. La siguiente matriz resume c\u00f3mo las decisiones tomadas en cada capa se traducen en impactos econ\u00f3micos y operativos a lo largo del ciclo de vida del sistema.            <\/div>\n            \n            <div class=\"table-wrap\" role=\"region\" aria-label=\"Tabla CAPEX OPEX por capa\">\n            <table aria-label=\"Tabla CAPEX OPEX por capa\">\n              <thead>\n             <tr>\n                  <th style=\"width:18%\">Capa<\/th>\n                  <th>Impacto en CAPEX<\/th>\n                  <th>Impacto en OPEX<\/th>\n                <\/tr>\n              <\/thead>\n              <tbody>\n                <tr id=\"capex-row-power\">\n                  <td><span class=\"capex-badge capex-badge--n\" aria-label=\"Capa N Potencia\">\n   <span class=\"capex-symbol\">\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n       <circle class=\"w\" cx=\"20\" cy=\"24\" r=\"10\"\/><circle class=\"w\" cx=\"28\" cy=\"24\" r=\"10\"\/>\n     <\/svg>\n     <span class=\"capex-letter\">N<\/span>\n   <\/span>\n <\/span><strong>Power<\/strong><\/td>\n                  <td>Capacidad, redundancia, crecimiento, interfaces f\u00edsicas.<\/td>\n                  <td>P\u00e9rdidas t\u00e9cnicas, accesibilidad, mantenibilidad, confiabilidad.<\/td>\n                <\/tr>\n                <tr id=\"capex-row-protection\">\n                  <td><span class=\"capex-badge capex-badge--s\" aria-label=\"Capa S Protecci\u00f3n\">\n   <span class=\"capex-symbol\">\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n       <rect class=\"w\" x=\"14\" y=\"14\" width=\"20\" height=\"20\" rx=\"6\"\/>\n       <path class=\"w\" d=\"M18 24h12\"\/><path class=\"w\" d=\"M30 24l6-6\"\/>\n       <circle class=\"w\" cx=\"18\" cy=\"24\" r=\"2.3\"\/><circle class=\"w\" cx=\"30\" cy=\"24\" r=\"2.3\"\/>\n     <\/svg>\n     <span class=\"capex-letter\">S<\/span>\n   <\/span>\n <\/span><strong>Protection<\/strong><\/td>\n                  <td>Arquitectura de protecci\u00f3n y coordinaci\u00f3n de estudios.<\/td>\n                  <td>Continuidad operativa, severidad de fallas, tiempos de recuperaci\u00f3n.<\/td>\n                <\/tr>\n                <tr id=\"capex-row-control\">\n                  <td><span class=\"capex-badge capex-badge--i\" aria-label=\"Capa I Control\">\n   <span class=\"capex-symbol\">\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n       <rect class=\"w\" x=\"14\" y=\"16\" width=\"20\" height=\"16\" rx=\"6\"\/>\n       <path class=\"w\" d=\"M10 20h4M10 24h4M10 28h4\"\/>\n       <path class=\"w\" d=\"M34 20h4M34 24h4M34 28h4\"\/>\n     <\/svg>\n     <span class=\"capex-letter\">I<\/span>\n   <\/span>\n <\/span><strong>Control<\/strong><\/td>\n                  <td>Servicios auxiliares, l\u00f3gica de operaci\u00f3n, integraci\u00f3n funcional.<\/td>\n                  <td>Errores operativos, disponibilidad, seguridad de maniobras.<\/td>\n                <\/tr>\n                <tr id=\"capex-row-comms\">\n                  <td><span class=\"capex-badge capex-badge--c\" aria-label=\"Capa C Comunicaciones\">\n   <span class=\"capex-symbol\">\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n       <path class=\"w\" d=\"M12 18h24\"\/>\n       <circle class=\"w\" cx=\"16\" cy=\"18\" r=\"2.6\"\/><circle class=\"w\" cx=\"24\" cy=\"18\" r=\"2.6\"\/><circle class=\"w\" cx=\"32\" cy=\"18\" r=\"2.6\"\/>\n       <path class=\"w\" d=\"M16 18v14M24 18v10M32 18v14\"\/>\n     <\/svg>\n     <span class=\"capex-letter\">C<\/span>\n   <\/span>\n <\/span><strong>Comms<\/strong><\/td>\n                  <td>Topolog\u00eda y redundancia de comunicaciones, infraestructura.<\/td>\n                  <td>Monitoreo, mantenimiento predictivo, toma de decisiones basada en datos.<\/td>\n                <\/tr>\n              <\/tbody>\n            <\/table>\n            <\/div>\n            <div class=\"note\">\n              <strong>Nota:<\/strong> una proporci\u00f3n significativa del OPEX queda definida antes de adquirir el primer equipo, como resultado directo de decisiones de dise\u00f1o, arquitectura e integraci\u00f3n tomadas durante el proyecto.\n              <strong>Ninguna capa t\u00e9cnica<\/strong> mitiga estos impactos o riesgos de forma aislada, es la integraci\u00f3n coherente del sistema la que determina el desempe\u00f1o real durante la operaci\u00f3n.<\/div>\n              <div class=\"impact-col\" role=\"listitem\">\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Decisiones Ejecutivas Clave<\/strong>\n    <ul class=\"bullets\">\n            <li>Definir la arquitectura \u00f3ptima del sistema<\/li>\n            <li>Evaluar el proyecto bajo una l\u00f3gica de costo total de propiedad (TCO)<\/li>\n            <li>Asegurar la integraci\u00f3n coherente entre capas t\u00e9cnicas<\/li>\n    <\/ul>\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">La responsabilidad de estas decisiones<\/strong>\n  <ul class=\"bullets\">\n            <li>No recae en un solo equipo, proveedor o disciplina<\/li>\n            <li>Es una visi\u00f3n integral del sistema<\/li>\n            <li>validada desde Project Management y Direcci\u00f3n<\/li>\n    <\/ul>\n<\/div>\n<\/div>\n\n<div class=\"risklist\" aria-label=\"Riesgos y amenazas\">\n  <div class=\"risk risk--alert\">\n    <div class=\"r-ic\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\"\n           fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n           stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <path d=\"M12 9v4\"><\/path>\n        <path d=\"M12 17h.01\"><\/path>\n        <path d=\"M10.29 3.86l-8.02 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3.14l-8.02-14a2 2 0 0 0-3.46 0z\"><\/path>\n      <\/svg>\n    <\/div>\n    <div>\n      <strong>Riesgos<\/strong>\n      <span>Desde Project Management, estos riesgos no suelen originarse en un \u00fanico equipo o tecnolog\u00eda, sino en decisiones de dise\u00f1o, alcance e integraci\u00f3n tomadas en fases tempranas del proyecto, y se manifiestan durante la operaci\u00f3n.<\/span>\n    <\/div>\n  <\/div>\n\n          <div class=\"risklist\" aria-label=\"Riesgos y amenazas\">\n            <div class=\"risk\">\n              <div class=\"r-ic\" aria-hidden=\"true\">!<\/div>\n              <div>\n                <strong>Paros no programados<\/strong>\n                <span>Resultado de arquitecturas e integraciones deficientes entre capas, afectando directamente la continuidad operativa y los compromisos de producci\u00f3n.<\/span>\n              <\/div>\n            <\/div>\n            <div class=\"risk\">\n              <div class=\"r-ic\" aria-hidden=\"true\">\u26d1<\/div>\n              <div>\n                <strong>Riesgos a personas<\/strong>\n                <span>Consecuencia de maniobras inseguras, protecciones no selectivas y l\u00f3gicas de operaci\u00f3n mal definidas, derivadas de decisiones de proyecto insuficientemente coordinadas.<\/span>\n              <\/div>\n            <\/div>\n            <div class=\"risk\">\n              <div class=\"r-ic\" aria-hidden=\"true\">\u2699<\/div>\n              <div>\n                <strong>Impacto en producci\u00f3n<\/strong>\n                <span>P\u00e9rdida de disponibilidad y eventos el\u00e9ctricos de alto impacto que afectan indicadores clave del negocio, calidad del producto y cumplimiento de contratos.<\/span>\n              <\/div>\n            <\/div>\n            <div class=\"risk\">\n              <div class=\"r-ic\" aria-hidden=\"true\">\u21ba<\/div>\n              <div>\n                <strong>Reprocesos t\u00e9cnicos<\/strong>\n                <span>Ajustes tard\u00edos provocados por interfaces no resueltas durante el dise\u00f1o, generando sobrecostos, retrasos y desviaciones del plan original.<\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/section>\n<!-- ===== Autodiagn\u00f3stico \u00b7 Checklist Subestaci\u00f3n Industrial ===== -->\n<section class=\"section\" id=\"autodiagnostico\">\n  <div class=\"section-card\">\n    <h3 class=\"h2\">Autodiagn\u00f3stico: \u00bfRenovar o instalar una subestaci\u00f3n industrial?<\/h3>\n    <p class=\"lead\">\n      Marca los enunciados que describen tu situaci\u00f3n actual. Este checklist no sustituye una evaluaci\u00f3n de ingenier\u00eda,\n      pero ayuda a identificar se\u00f1ales tempranas y prioridades de an\u00e1lisis.\n    <\/p>\n\n    <div class=\"checklist-wrap\">\n      <!-- Panel de resultado -->\n      <aside class=\"checklist-score\" aria-label=\"Resultado del autodiagn\u00f3stico\">\n        <div class=\"score-top\">\n          <span class=\"score-tag\">Resultado<\/span>\n          <div class=\"score-title\">Nivel de se\u00f1al<\/div>\n        <\/div>\n\n        \n        <div class=\"score-gauge\" aria-label=\"Urgencia estimada en tiempo real\">\n          <svg class=\"gauge\" viewBox=\"0 0 240 140\" role=\"img\" aria-label=\"Veloc\u00edmetro de urgencia\">\n            <path class=\"gauge-track\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\/>\n            \n            <!-- Zonas del man\u00f3metro (0\u201324 \/ 25\u201349 \/ 50\u201374 \/ 75\u2013100) -->\n            <path class=\"gauge-zone zone-low\"  pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\n                  stroke-dasharray=\"24 76\" stroke-dashoffset=\"0\"\/>\n            <path class=\"gauge-zone zone-med\"  pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\n                  stroke-dasharray=\"25 75\" stroke-dashoffset=\"-25\"\/>\n            <path class=\"gauge-zone zone-high\" pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\n                  stroke-dasharray=\"25 75\" stroke-dashoffset=\"-50\"\/>\n            <path class=\"gauge-zone zone-crit\" pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\n                  stroke-dasharray=\"25 75\" stroke-dashoffset=\"-75\"\/>\n            <!-- Ticks \/ marcas del man\u00f3metro -->\n            <g class=\"gauge-ticks\" aria-hidden=\"true\">\n              <!-- major ticks -->\n              <line class=\"tick major\" x1=\"20\"  y1=\"120\" x2=\"34\"  y2=\"120\"\/>\n              <line class=\"tick major\" x1=\"58\"  y1=\"62\"  x2=\"68\"  y2=\"70\"\/>\n              <line class=\"tick major\" x1=\"120\" y1=\"40\"  x2=\"120\" y2=\"54\"\/>\n              <line class=\"tick major\" x1=\"182\" y1=\"62\"  x2=\"172\" y2=\"70\"\/>\n              <line class=\"tick major\" x1=\"220\" y1=\"120\" x2=\"206\" y2=\"120\"\/>\n              <!-- minor ticks -->\n              <line class=\"tick minor\" x1=\"36\"  y1=\"92\"  x2=\"44\"  y2=\"98\"\/>\n              <line class=\"tick minor\" x1=\"78\"  y1=\"52\"  x2=\"86\"  y2=\"58\"\/>\n              <line class=\"tick minor\" x1=\"162\" y1=\"52\"  x2=\"154\" y2=\"58\"\/>\n              <line class=\"tick minor\" x1=\"204\" y1=\"92\"  x2=\"196\" y2=\"98\"\/>\n            <\/g>\n\n            <!-- Labels (sutiles) -->\n            <g class=\"gauge-labels\" aria-hidden=\"true\">\n              <text x=\"16\" y=\"136\">0<\/text>\n              <text x=\"112\" y=\"32\">50<\/text>\n              <text x=\"212\" y=\"136\">100<\/text>\n            \n              <text class=\"b\" x=\"54\" y=\"86\">24<\/text>\n              <text class=\"b\" x=\"112\" y=\"64\">49<\/text>\n              <text class=\"b\" x=\"170\" y=\"86\">74<\/text>\n<\/g>\n\n<path class=\"gauge-fill\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\/>\n            <circle class=\"gauge-center\" cx=\"120\" cy=\"120\" r=\"6\"\/>\n            <line class=\"gauge-needle\" x1=\"120\" y1=\"120\" x2=\"120\" y2=\"44\" \/>\n          <\/svg>\n\n          \n          <div class=\"gauge-scale\" aria-label=\"Escala de urgencia\">\n            <span class=\"s low\">Baja<\/span>\n            <span class=\"s med\">Media<\/span>\n            <span class=\"s high\">Alta<\/span>\n            <span class=\"s crit\">Cr\u00edtica<\/span>\n          <\/div>\n<div class=\"score-value\" aria-live=\"polite\">\n            <span class=\"score-num\" id=\"scoreNum\">0<\/span>\n            <span class=\"score-max\" id=\"scoreMax\">\/ 0<\/span>\n          <\/div>\n\n          <div class=\"score-status\" id=\"scoreStatus\" role=\"status\" aria-live=\"polite\">\n            <span class=\"badge\" data-tier=\"low\">Baja urgencia<\/span>\n            <span class=\"status-note\">Selecciona items para ver la clasificaci\u00f3n.<\/span>\n          <\/div>\n        <\/div>\n\n\n        <p class=\"score-text\" id=\"scoreText\">\n          Selecciona las condiciones reales de tu subestaci\u00f3n para estimar el nivel de se\u00f1al.\n        <\/p>\n\n        <div class=\"score-legend\">\n          <div class=\"legend-item\"><span class=\"dot dot-low\"><\/span> Bajo<\/div>\n          <div class=\"legend-item\"><span class=\"dot dot-med\"><\/span> Medio<\/div>\n          <div class=\"legend-item\"><span class=\"dot dot-high\"><\/span> Alto<\/div>\n        <\/div>\n\n        <div class=\"score-actions\">\n<button class=\"btn-ghost\" type=\"button\" id=\"resetChecklist\">Reiniciar<\/button>\n          <a class=\"btn-primary\" href=\"#impacto\">C\u00f3mo interpretar tu resultado t\u00e9cnico<\/a>\n\n    <button class=\"btn-action\" type=\"button\" id=\"openReportModal\" data-track=\"cta_reporte_personalizado\">Reporte Personalizado de Riesgos<\/button>\n    <a class=\"btn-edu\" href=\"#impacto\" data-track=\"cta_ver_impacto\">Ver impacto CAPEX\/OPEX<\/a>\n<\/div>\n\n        <p class=\"micro-note\" style=\"margin-top:10px;\">\n          Interpretaci\u00f3n orientativa: el valor real depende de contexto operativo, criticidad y arquitectura del sistema.\n        <\/p>\n      <\/aside>\n\n      <!-- Checklist -->\n      <div class=\"checklist\" role=\"list\" aria-label=\"Checklist de autodiagn\u00f3stico\">\n        <!-- Grupo 1 -->\n        <div class=\"checkgroup\" role=\"listitem\">\n          <div class=\"checkgroup-head\">\n            <span class=\"checkgroup-num\">01<\/span>\n            <div>\n              <h4>Crecimiento de carga y expansi\u00f3n<\/h4>\n              <p>Se\u00f1ales de que la demanda super\u00f3 la capacidad planeada o que el sistema qued\u00f3 \u201cjusto\u201d.<\/p>\n            <\/div>\n          <\/div>\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Se agregaron nuevas l\u00edneas\/procesos y el sistema el\u00e9ctrico qued\u00f3 sin reservas claras.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>La expansi\u00f3n requiere maniobras frecuentes o configuraciones \u201ctemporales\u201d para operar.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>La subestaci\u00f3n actual limita ampliaciones futuras (espacio, canales, salidas, patios).<\/span>\n          <\/label>\n        <\/div>\n\n        <!-- Grupo 2 -->\n        <div class=\"checkgroup\" role=\"listitem\">\n          <div class=\"checkgroup-head\">\n            <span class=\"checkgroup-num\">02<\/span>\n            <div>\n              <h4>Confiabilidad y continuidad<\/h4>\n              <p>Se\u00f1ales de degradaci\u00f3n: paros, disparos, comportamiento el\u00e9ctrico no consistente.<\/p>\n            <\/div>\n          <\/div>\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" data-key=\"unplanned\" \/>\n            <span>Ha tenido <strong>paros no programados<\/strong> relacionados con el sistema el\u00e9ctrico en el \u00faltimo a\u00f1o.<\/span>\n          <\/label>\n\n\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Hay disparos intempestivos o eventos el\u00e9ctricos que detienen producci\u00f3n.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Se presenta variabilidad operativa: \u201ca veces funciona, a veces no\u201d sin causa clara.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>El restablecimiento post-evento es lento por falta de trazabilidad o diagn\u00f3stico.<\/span>\n          <\/label>\n        <\/div>\n\n        <!-- Grupo 3 -->\n        <div class=\"checkgroup\" role=\"listitem\">\n          <div class=\"checkgroup-head\">\n            <span class=\"checkgroup-num\">03<\/span>\n            <div>\n              <h4>Obsolescencia y mantenibilidad<\/h4>\n              <p>Se\u00f1ales de que el ciclo de vida est\u00e1 cerca del l\u00edmite o el mantenimiento se volvi\u00f3 reactivo.<\/p>\n            <\/div>\n          <\/div>\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" data-key=\"age\" \/>\n            <span>Antig\u00fcedad de la subestaci\u00f3n: <strong>m\u00e1s de 20 a\u00f1os<\/strong> (o tecnolog\u00eda fuera de soporte).<\/span>\n          <\/label>\n\n\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>El mantenimiento es principalmente correctivo (se atiende despu\u00e9s del evento).<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Es dif\u00edcil conseguir refacciones\/soporte o hay documentaci\u00f3n incompleta.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Hay puntos calientes, conexiones con retrabajos frecuentes o accesos limitados para mantenimiento.<\/span>\n          <\/label>\n        <\/div>\n\n        <!-- Grupo 4 -->\n        <div class=\"checkgroup\" role=\"listitem\">\n          <div class=\"checkgroup-head\">\n            <span class=\"checkgroup-num\">04<\/span>\n            <div>\n              <h4>Operaci\u00f3n, seguridad y visibilidad<\/h4>\n              <p>Se\u00f1ales de que falta control, estandarizaci\u00f3n o informaci\u00f3n para operar con certidumbre.<\/p>\n            <\/div>\n          <\/div>\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" data-key=\"rtmon\" \/>\n            <span>Cuenta con <strong>monitoreo remoto en tiempo real<\/strong> (eventos, alarmas, mediciones, tendencias).<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" data-key=\"prot\" \/>\n            <span>Estado de <strong>esquemas de protecci\u00f3n<\/strong>: coordinaci\u00f3n, ajustes y pruebas est\u00e1n documentados y vigentes.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" data-key=\"grid\" \/>\n            <span>Cumple con el <strong>C\u00f3digo de Red vigente<\/strong> (evidencia, medici\u00f3n y seguimiento).<\/span>\n          <\/label>\n\n\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>La operaci\u00f3n depende de conocimiento de pocas personas (alta dependencia del factor humano).<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Los eventos no quedan bien registrados; se decide sin datos consistentes.<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Se requiere mejorar protocolos, enclavamientos o est\u00e1ndares de operaci\u00f3n segura.<\/span>\n          <\/label>\n        <\/div>\n\n        <!-- Grupo 5 -->\n        <div class=\"checkgroup checkgroup--wide\" role=\"listitem\">\n          <div class=\"checkgroup-head\">\n            <span class=\"checkgroup-num\">05<\/span>\n            <div>\n              <h4>Fragmentaci\u00f3n de proyecto (interfaces)<\/h4>\n              <p>Se\u00f1ales de que la integraci\u00f3n entre ingenier\u00eda, suministro y obra est\u00e1 generando fricci\u00f3n o riesgo.<\/p>\n            <\/div>\n          <\/div>\n\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Hay cambios en sitio que no regresan a ingenier\u00eda (planos \u201cas-built\u201d incompletos o tard\u00edos).<\/span>\n          <\/label>\n          <label class=\"checkitem\">\n            <input type=\"checkbox\" class=\"chk\" \/>\n            <span>Las pruebas de puesta en marcha revelan problemas de interfaz (cableado, se\u00f1ales, coordinaci\u00f3n).<\/span>\n          <\/label>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Modal: Reporte PDF ===== -->\n<div class=\"modal-overlay\" id=\"reportModal\" aria-hidden=\"true\">\n  <div class=\"modal-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"reportModalTitle\">\n    <div class=\"modal-head\">\n      <div>\n        <h3 class=\"modal-title\" id=\"reportModalTitle\">Reporte personalizado de riesgos<\/h3>\n        <p class=\"modal-sub\">Se generar\u00e1 un PDF con tus respuestas y nivel de urgencia.<\/p>\n      <\/div>\n      <button class=\"modal-close\" type=\"button\" id=\"closeReportModal\" aria-label=\"Cerrar\">\u00d7<\/button>\n    <\/div>\n    <div class=\"modal-body\">\n      <div class=\"modal-preview\" id=\"reportPreview\">\n        <span class=\"chip\" id=\"previewScore\">Puntaje: 0\/0<\/span>\n        <span class=\"chip\" id=\"previewUrgency\">Urgencia: \u2014<\/span>\n        <span class=\"chip\" id=\"previewItems\">\u00cdtems: 0<\/span>\n      <\/div>\n\n      <form class=\"modal-form\" id=\"reportForm\" novalidate>\n        <label for=\"reportEmail\">Correo para env\u00edo del PDF<\/label>\n        <input type=\"email\" id=\"reportEmail\" name=\"email\" placeholder=\"nombre@empresa.com\" required autocomplete=\"email\" \/>\n        <div class=\"modal-error\" id=\"reportEmailError\">Ingresa un correo v\u00e1lido.<\/div>\n\n        <div class=\"modal-actions\">\n          <button class=\"btn-action\" type=\"submit\" id=\"sendReportBtn\">Enviar reporte<\/button>\n          <button class=\"btn-ghost\" type=\"button\" id=\"downloadReportBtn\">Descargar PDF<\/button>\n        <\/div>\n        <p class=\"modal-note\" id=\"reportNote\">Tu reporte se prepara con los datos visibles en esta p\u00e1gina.<\/p>\n      <\/form>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- ===== JS opcional: puntaje + sem\u00e1foro ===== -->\n<script>\n(function(){\n  const root = document.getElementById('autodiagnostico');\n  if(!root) return;\n\n  const chks = Array.from(root.querySelectorAll('.chk'));\n  const scoreNum = document.getElementById('scoreNum');\n  const scoreMax = document.getElementById('scoreMax');\n  const status = document.getElementById('scoreStatus');\n  const badge = status ? status.querySelector('.badge') : null;\n  const note  = status ? status.querySelector('.status-note') : null;\n  const fill  = root.querySelector('.gauge-fill');\n  const needle= root.querySelector('.gauge-needle');\n  const resetBtn = document.getElementById('resetChecklist');\n\n  if(!scoreNum || !scoreMax || !status || !badge || !note || !fill || !needle) return;\n\n  \/* ==========\n     Ponderaci\u00f3n (1\u2013100)\n     - Si un item ya trae data-weight en HTML, se respeta.\n     - Si no, se asigna por data-key o por orden (fallback), para evitar \u201c+1\u201d plano.\n  ========== *\/\n  const weightByKey = {\n    \/\/ nuevos\n    age: 60,\n    rtmon: 70,\n    unplanned: 90,\n    prot: 95,\n    grid: 80\n  };\n\n  \/\/ Fallback por orden (los existentes) \u2014 basado en criticidad t\u00edpica en operaci\u00f3n real.\n  \/\/ Si editas el checklist, solo ajusta este arreglo.\n  const fallbackWeights = [\n    70, 55, 65,   \/\/ Grupo 1 (3)\n    85, 60, 75,   \/\/ Grupo 2 (3)  (nota: despu\u00e9s insertamos \"unplanned\" con key)\n    55, 70, 60,   \/\/ Grupo 3 (3)  (nota: despu\u00e9s insertamos \"age\" con key)\n    80, 65, 75, 60, 70 \/\/ Grupo 4 (5) (nota: despu\u00e9s insertamos 3 items con key)\n  ];\n\n  \/\/ Asignaci\u00f3n de weights + \u201cmicro-hint\u201d de peso (solo visual)\n  let fbIndex = 0;\n  chks.forEach(chk => {\n    const key = chk.getAttribute('data-key');\n    let w = chk.getAttribute('data-weight');\n\n    if(!w){\n      if(key && weightByKey[key] != null) w = weightByKey[key];\n      else w = fallbackWeights[fbIndex] != null ? fallbackWeights[fbIndex] : 50;\n    }else{\n      w = parseInt(w, 10);\n    }\n    chk.setAttribute('data-weight', String(w));\n\n    \/\/ micro etiqueta \"peso\" (evita ruido: solo si hay espacio)\n    const label = chk.closest('.checkitem');\n    if(label && !label.querySelector('.w')){\n      const span = document.createElement('span');\n      span.className = 'w';\n      span.textContent = '\u00b7 ' + w;\n      label.appendChild(span);\n    }\n\n    \/\/ solo incrementamos fallback index si no fue por key (evita desfasar)\n    if(!(key && weightByKey[key] != null) && !chk.hasAttribute('data-weight-fixed')){\n      fbIndex += 1;\n    }\n  });\n\n  const MAX = chks.reduce((acc, chk) => acc + (parseInt(chk.getAttribute('data-weight')||'0',10) || 0), 0);\n  scoreMax.textContent = '\/ ' + MAX;\n\n  \/\/ gauge math\n  const TRACK = 314; \/\/ debe coincidir con stroke-dasharray del CSS (semic\u00edrculo)\n  function clamp(n, a, b){ return Math.max(a, Math.min(b, n)); }\n\n  function classify(points){\n    const pct = MAX ? (points \/ MAX) : 0;\n    const p = Math.round(pct * 100);\n\n    \/\/ Escala de urgencia (decisi\u00f3n ejecutiva)\n    \/\/ 0\u201324: Validar \/ planificar\n    \/\/ 25\u201349: Actualizar\n    \/\/ 50\u201374: Renovar (modernizaci\u00f3n priorizada)\n    \/\/ 75\u2013100: Intervenir cr\u00edtico (renovar\/instalar con enfoque de continuidad)\n    let tier = 'low';\n    let title = 'Baja urgencia';\n    let action = 'Recomendado: validar reservas, documentaci\u00f3n y plan de crecimiento.';\n    if(p >= 25 && p < 50){\n      tier = 'med';\n      title = 'Urgencia media';\n      action = 'Recomendado: actualizar (protecciones\/medici\u00f3n\/monitoreo) y cerrar brechas de cumplimiento.';\n    } else if(p >= 50 && p < 75){\n      tier = 'high';\n      title = 'Alta urgencia';\n      action = 'Recomendado: renovar\/modernizar por capas y eliminar causas de paro y operaci\u00f3n reactiva.';\n    } else if(p >= 75){\n      tier = 'crit';\n      title = 'Urgencia cr\u00edtica';\n      action = 'Recomendado: intervenir de forma prioritaria (continuidad, seguridad y capacidad).';\n    }\n    return {tier, title, action, pct, p};\n  }\n\n  function render(points){\n    scoreNum.textContent = String(points);\n\n    const c = classify(points);\n\n    \/\/ fill\n    const dash = TRACK * (1 - clamp(c.pct, 0, 1));\n    fill.style.strokeDashoffset = String(dash);\n\n    \/\/ needle: -90 (0%) a +90 (100%)\n    const deg = -90 + (180 * clamp(c.pct, 0, 1));\n    needle.style.transform = 'rotate(' + deg + 'deg)';\n\n    \/\/ badge + note\n    badge.setAttribute('data-tier', c.tier);\n    \n    \/\/ exponer tier al CSS para reactividad visual del man\u00f3metro\n    root.setAttribute('data-tier', c.tier);\n\n    \/\/ Glow pulsante solo al entrar a \"cr\u00edtico\"\n    const prev = root.getAttribute('data-tier-prev') || 'low';\n    if(prev !== 'crit' && c.tier === 'crit'){\n      root.classList.remove('pulse-crit');\n      void root.offsetWidth;\n      root.classList.add('pulse-crit');\n      setTimeout(()=>root.classList.remove('pulse-crit'), 2600);\n    }\n    root.setAttribute('data-tier-prev', c.tier);\nbadge.textContent = c.title + ' (' + c.p + '%)';\n    note.textContent = c.action;\n\n    \/\/ pulse notification\n    status.classList.remove('pulse');\n    \/\/ reflow\n    void status.offsetWidth;\n    status.classList.add('pulse');\n  }\n\n  function calc(){\n    return chks.reduce((acc, chk) => acc + (chk.checked ? (parseInt(chk.getAttribute('data-weight')||'0',10) || 0) : 0), 0);\n  }\n\n  \/\/ live update\n  root.addEventListener('change', (e) => {\n    const t = e.target;\n    if(t && t.classList && t.classList.contains('chk')){\n      render(calc());\n    }\n  });\n\n  \/\/ reset\n  if(resetBtn){\n    resetBtn.addEventListener('click', () => {\n      chks.forEach(c => c.checked = false);\n      render(0);\n    });\n  }\n\n  \/\/ initial\n  render(calc());\n})();\n<\/script>\n\n<div class=\"cta-card\">\n  <h3>\u00bfMarcaste varios puntos?<\/h3>\n  <p>\n    Contin\u00faa la evaluaci\u00f3n con el <strong>Checklist Ejecutivo para Subestaciones Industriales<\/strong>.\n  <\/p>\n  <a class=\"btn btn-primary btn-action\" href=\"#descargar-checklist\">\n    Descargar checklist\n  <\/a>\n\n<\/div>\n\n    <!-- TURNKEY -->\n    <section class=\"section\" id=\"turnkey\">\n  <div class=\"section-card q5\">\n    <div class=\"q5-head\">\n      <div>\n        <h2 class=\"h2\">La <strong>Quinta Capa<\/strong><\/h2>\n        <p class=\"lead\">La integraci\u00f3n total como enfoque para reducir riesgos t\u00e9cnicos y operativos.<\/p>\n        <p class=\"q5-claim\"><strong>La Quinta Capa no es una tecnolog\u00eda adicional.<\/strong> Es un enfoque de integraci\u00f3n y responsabilidad del sistema completo.<\/p>\n      <\/div>\n      <div class=\"q5-badge\" aria-label=\"Modelo de entrega\">Turnkey \/ Proyecto Llave en Mano<\/div>\n    <\/div>\n\n    <div class=\"q5-hero\" aria-label=\"Resumen visual de integraci\u00f3n\">\n      <div class=\"q5-diagram\" role=\"img\" aria-label=\"Diagrama: Power, Protection, Control y Communications integradas por la Quinta Capa\">\n        <svg width=\"100%\" height=\"220\" viewBox=\"0 0 640 260\" aria-hidden=\"true\">\n          <rect x=\"14\" y=\"14\" width=\"612\" height=\"232\" rx=\"20\" fill=\"rgba(241,243,248,.75)\" stroke=\"rgba(85,96,112,.25)\"\/>\n\n          <!-- Left nodes -->\n          <g>\n            <rect x=\"70\" y=\"56\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\n            <text x=\"150\" y=\"90\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace\" font-size=\"12\" fill=\"rgba(23,44,81,.9)\">Power<\/text>\n\n            <rect x=\"70\" y=\"146\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\n            <text x=\"150\" y=\"180\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace\" font-size=\"12\" fill=\"rgba(23,44,81,.9)\">Protection<\/text>\n          <\/g>\n\n          <!-- Right nodes -->\n          <g>\n            <rect x=\"410\" y=\"56\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\n            <text x=\"490\" y=\"90\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace\" font-size=\"12\" fill=\"rgba(23,44,81,.9)\">Control<\/text>\n\n            <rect x=\"410\" y=\"146\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\n            <text x=\"490\" y=\"180\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace\" font-size=\"12\" fill=\"rgba(23,44,81,.9)\">Communications<\/text>\n          <\/g>\n\n          <!-- Center node -->\n          <g>\n            <circle cx=\"320\" cy=\"130\" r=\"46\" fill=\"rgba(15,76,129,.12)\" stroke=\"rgba(15,76,129,.65)\" stroke-width=\"2\"\/>\n            <text x=\"320\" y=\"122\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace\" font-size=\"11\" fill=\"rgba(23,44,81,.92)\">Integraci\u00f3n<\/text>\n            <text x=\"320\" y=\"140\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace\" font-size=\"11\" fill=\"rgba(23,44,81,.92)\">Quinta Capa<\/text>\n          <\/g>\n\n          <!-- Connectors -->\n          <path d=\"M230 85 C275 85 275 110 274 118\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\n          <path d=\"M230 175 C275 175 275 150 274 142\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\n          <path d=\"M410 85 C365 85 365 110 366 118\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\n          <path d=\"M410 175 C365 175 365 150 366 142\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\n        <\/svg>\n      <\/div>\n\n      <div class=\"q5-side\">\n        <div class=\"q5-card q5-card--what\">\n          <h3 class=\"h3\">\u00bfQu\u00e9 es?<\/h3>\n          <p>Desde <strong>Project Management<\/strong>, la Quinta Capa coordina decisiones de <strong>Power, Protection, Control<\/strong> y <strong>Communications<\/strong> para que el sistema opere como una <strong>unidad coherente<\/strong>, y no como la suma de soluciones independientes.<\/p>\n          <p class=\"q5-small\">Se materializa com\u00fanmente bajo esquemas <strong>Turnkey \/ Proyecto Llave en Mano<\/strong>, donde la responsabilidad del desempe\u00f1o del sistema recae en un solo integrador.<\/p>\n          <div class=\"q5-callout\" role=\"note\" style=\"margin-top:12px;\">\n            <strong>Te quita de encima:<\/strong>\n            <ul class=\"q5-list\" style=\"margin:10px 0 0;\">\n              <li>Interfases \u201csin due\u00f1o\u201d entre proveedores, disciplinas y etapas.<\/li>\n              <li>Re-trabajos y cambios tard\u00edos que se vuelven <strong>OPEX<\/strong> durante puesta en marcha y operaci\u00f3n.<\/li>\n              <li>Decisiones aisladas que comprometen <strong>continuidad, seguridad<\/strong> y escalabilidad.<\/li>\n            <\/ul>\n          <\/div>\n\n        <\/div>\n\n        <div class=\"q5-callout\" role=\"note\">\n          <strong>Idea clave:<\/strong> cuando nadie es due\u00f1o del sistema completo, el riesgo se fragmenta\u2026 y se materializa en operaci\u00f3n.\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"q5-cards\" aria-label=\"Fundamentos de la Quinta Capa\">\n      <div class=\"q5-card\">\n        <h3 class=\"h3\">\u00bfPor qu\u00e9 surge la Quinta Capa?<\/h3>\n        <ul class=\"q5-list\">\n          <li>Muchos riesgos operativos <strong>no se originan en fallas de equipos<\/strong>, sino en interfaces no resueltas.<\/li>\n          <li>Gran parte del <strong>OPEX<\/strong> y del riesgo operativo queda definido antes de la compra del primer equipo.<\/li>\n          <li>Las desviaciones m\u00e1s costosas aparecen cuando las decisiones se toman por <strong>capa, proveedor o disciplina<\/strong>, sin una visi\u00f3n sist\u00e9mica.<\/li>\n        <\/ul>\n        <div class=\"q5-note\">La Quinta Capa surge como respuesta a este patr\u00f3n: cuando la integraci\u00f3n no se gestiona expl\u00edcitamente, los problemas aparecen en puesta en marcha y se vuelven OPEX.<\/div>\n      <\/div>\n\n      <div class=\"q5-card\">\n        <h3 class=\"h3\">\u00bfQu\u00e9 integra la Quinta Capa?<\/h3>\n        <ul class=\"q5-list\">\n          <li><strong>Arquitectura el\u00e9ctrica<\/strong> (capacidad, redundancia, crecimiento).<\/li>\n          <li><strong>Esquemas de protecci\u00f3n<\/strong> y coordinaci\u00f3n.<\/li>\n          <li><strong>L\u00f3gicas de control<\/strong>, servicios auxiliares y operaci\u00f3n humana.<\/li>\n          <li><strong>Comunicaciones<\/strong>, supervisi\u00f3n, sincronizaci\u00f3n y trazabilidad.<\/li>\n          <li><strong>Interfaces<\/strong> entre disciplinas, proveedores y etapas del proyecto.<\/li>\n        <\/ul>\n        <div class=\"q5-note\">Asegura integraci\u00f3n transversal entre capas t\u00e9cnicas, alineando decisiones de ingenier\u00eda, procurement y obra bajo un mismo criterio de desempe\u00f1o.<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"q5-impact\" aria-label=\"Impacto en CAPEX, OPEX y Riesgos\">\n      <h3 class=\"h3\">Impacto de la Quinta Capa en CAPEX, OPEX y Riesgos<\/h3>\n\n      <div class=\"q5-impact-grid\">\n        <div class=\"q5-impact-col\">\n          <div class=\"q5-kicker\">CAPEX<\/div>\n          <ul class=\"q5-list q5-list--tight\">\n            <li>Reduce reprocesos y cambios tard\u00edos.<\/li>\n            <li>Evita sobredimensionamientos defensivos.<\/li>\n            <li>Clarifica alcances, interfaces y responsabilidades.<\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"q5-impact-col\">\n          <div class=\"q5-kicker\">OPEX<\/div>\n          <ul class=\"q5-list q5-list--tight\">\n            <li>Estabiliza la operaci\u00f3n desde el arranque.<\/li>\n            <li>Disminuye tiempos de diagn\u00f3stico y recuperaci\u00f3n.<\/li>\n            <li>Reduce errores humanos y ambig\u00fcedades operativas.<\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"q5-impact-col\">\n          <div class=\"q5-kicker\">Riesgos<\/div>\n          <ul class=\"q5-list q5-list--tight\">\n            <li>Reduce probabilidad de paros no programados.<\/li>\n            <li>Disminuye riesgos a equipos y personas.<\/li>\n            <li>Reduce eventos el\u00e9ctricos de alto impacto.<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n\n      <div class=\"q5-footnote\">\n        Desde una \u00f3ptica de <strong>Project Management<\/strong>, esto cambia el enfoque: de gestionar contratos o disciplinas aisladas, a gestionar el <strong>desempe\u00f1o integral del sistema<\/strong> a lo largo de su ciclo de vida, habilitando evaluaci\u00f3n por <strong>riesgo asumido<\/strong>, <strong>desempe\u00f1o esperado<\/strong> y <strong>costo total de propiedad (TCO)<\/strong>.\n      <\/div>\n    <\/div>\n\n    <div class=\"q5-when\" aria-label=\"Cu\u00e1ndo aplicar la Quinta Capa\">\n      <h3 class=\"h3\">\u00bfCu\u00e1ndo tiene sentido aplicar la Quinta Capa?<\/h3>\n      <ul class=\"q5-checks\">\n        <li>El proyecto involucra <strong>m\u00faltiples proveedores o tecnolog\u00edas<\/strong>.<\/li>\n        <li>Los costos por paro o indisponibilidad son <strong>altos<\/strong>.<\/li>\n        <li>Se requiere alta <strong>confiabilidad, seguridad o trazabilidad<\/strong>.<\/li>\n        <li>El plan estrat\u00e9gico contempla <strong>crecimientos o adaptaciones<\/strong> futuras.<\/li>\n        <li>Se busca reducir riesgos <strong>desde el dise\u00f1o<\/strong>, no corregirlos en operaci\u00f3n.<\/li>\n      <\/ul>\n\n      <div class=\"q5-close\">\n        Cuando la integraci\u00f3n del sistema se gestiona de forma expl\u00edcita, el proyecto deja de depender de correcciones tard\u00edas y comienza a generar valor desde su puesta en operaci\u00f3n.\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <a\n  id=\"descargar-checklist\"\n  class=\"btn btn-secondary\"\n  href=\"\/assets\/Checklist_Subestaciones_VMS.pdf\"\n  data-cta=\"checklist-q5\"\n  onclick=\"trackCTA('checklist_quinta_capa')\"\n>\n  Descargar checklist ejecutivo\n<\/a>\n\n<\/section>\n\n    <!-- RELATED -->\n    <section class=\"section\">\n      <div class=\"section-card\">\n        <h2 class=\"h2\">Lecturas relacionadas<\/h2>\n        <p class=\"lead\">Bloque de investigaci\u00f3n y actualizaci\u00f3n.<\/p>\n        <div class=\"related\">\n          <div class=\"rel\">\n            <div class=\"tag\">Operaci\u00f3n<\/div>\n            <h4>Mantenimiento de subestaciones el\u00e9ctricas<\/h4>\n            <p>Claves para confiabilidad, vida \u00fatil y continuidad operativa.<\/p>\n            <a href=\"#\" aria-label=\"Ir a Mantenimiento de subestaciones\">Ver entrada \u2192<\/a>\n          <\/div>\n          <div class=\"rel\">\n            <div class=\"tag\">Modernizaci\u00f3n<\/div>\n            <h4>Diagn\u00f3stico y modernizaci\u00f3n de sistemas el\u00e9ctricos<\/h4>\n            <p>C\u00f3mo priorizar acciones sin sobredimensionar inversiones.<\/p>\n            <a href=\"#\" aria-label=\"Ir a Diagn\u00f3stico y modernizaci\u00f3n\">Ver entrada \u2192<\/a>\n          <\/div>\n          <div class=\"rel\">\n            <div class=\"tag\">EPC<\/div>\n            <h4>Evaluaci\u00f3n t\u00e9cnica previa a proyectos EPC<\/h4>\n            <p>Checklist y criterios para alinear ingenier\u00eda y procurement.<\/p>\n            <a href=\"#\" aria-label=\"Ir a Evaluaci\u00f3n t\u00e9cnica EPC\">Ver entrada \u2192<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- CTA -->\n<section class=\"section cta-final\" id=\"cta-diagnostico\">\n  <div class=\"section-card\">\n    <h3 class=\"h2\">Siguiente paso<\/h3>\n    <p class=\"lead\">\n      Un diagn\u00f3stico t\u00e9cnico temprano permite definir alcance, riesgos y alternativas\n      antes de comprometer decisiones dif\u00edciles de revertir.\n    <\/p>\n\n    <div class=\"cta-box\">\n      <div class=\"cta-copy\">\n        <h4>\u00bfEst\u00e1s evaluando la necesidad o modernizaci\u00f3n de una subestaci\u00f3n?<\/h4>\n        <p>Podemos ayudarte a ordenar criterios t\u00e9cnicos desde ingenier\u00eda, operaci\u00f3n y procurement.<\/p>\n      <\/div>\n\n      <a class=\"btn-primary\" href=\"#contacto\">Solicitar diagn\u00f3stico t\u00e9cnico<\/a>\n    <\/div>\n\n    <div class=\"tagline\" aria-label=\"Temas clave del diagn\u00f3stico\">\n      <span class=\"chip\">Subestaci\u00f3n el\u00e9ctrica industrial<\/span>\n      <span class=\"chip\">Evaluaci\u00f3n t\u00e9cnica previa<\/span>\n      <span class=\"chip\">Gesti\u00f3n de riesgos<\/span>\n    <\/div>\n\n    <span class=\"sr-only\">\n      diagn\u00f3stico de confiabilidad el\u00e9ctrica, modernizaci\u00f3n de subestaciones, checklist t\u00e9cnico, ingenier\u00eda el\u00e9ctrica aplicada\n    <\/span>\n  <\/div>\n<\/section>\n\n\n\n  \n<section class=\"section\" id=\"autoridad\">\n  <div class=\"section-card\">\n    <h2 class=\"h2\">Autoridad t\u00e9cnica y normativas<\/h2>\n    <p class=\"lead\">Criterios de dise\u00f1o y buenas pr\u00e1cticas basadas en normativas y est\u00e1ndares aplicables. (Sellos visuales conceptuales).<\/p>\n\n    <div class=\"authority\" role=\"list\" aria-label=\"Sellos normativos\">\n      <div class=\"seal\" role=\"listitem\">\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n          <circle cx=\"24\" cy=\"24\" r=\"18\" fill=\"none\" stroke=\"rgba(58,111,165,.70)\" stroke-width=\"2\"\/>\n          <path d=\"M16 26l5 5 11-13\" fill=\"none\" stroke=\"rgba(58,111,165,.85)\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n        <\/svg>\n        <div>\n          <div class=\"t\">NOM<\/div>\n          <div class=\"d\">Cumplimiento y evidencia<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"seal\" role=\"listitem\">\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n          <rect x=\"10\" y=\"10\" width=\"28\" height=\"28\" rx=\"10\" fill=\"none\" stroke=\"rgba(58,111,165,.70)\" stroke-width=\"2\"\/>\n          <path d=\"M16 30h16M16 24h10\" fill=\"none\" stroke=\"rgba(58,111,165,.85)\" stroke-width=\"2.6\" stroke-linecap=\"round\"\/>\n        <\/svg>\n        <div>\n          <div class=\"t\">IEEE<\/div>\n          <div class=\"d\">Protecci\u00f3n y confiabilidad<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"seal\" role=\"listitem\">\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n          <path d=\"M24 8l14 8v16l-14 8-14-8V16z\" fill=\"none\" stroke=\"rgba(58,111,165,.70)\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\n          <path d=\"M16 24h16\" fill=\"none\" stroke=\"rgba(58,111,165,.85)\" stroke-width=\"2.6\" stroke-linecap=\"round\"\/>\n        <\/svg>\n        <div>\n          <div class=\"t\">IEC<\/div>\n          <div class=\"d\">Interoperabilidad y pruebas<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<\/main>\n\n  <script>\n    \/\/ Reading progress\n    const progress = document.getElementById('progress');\n    const navLinks = [...document.querySelectorAll('.nav a')];\n\n    function onScroll(){\n      const doc = document.documentElement;\n      const scrollTop = doc.scrollTop || document.body.scrollTop;\n      const scrollHeight = doc.scrollHeight - doc.clientHeight;\n      const pct = scrollHeight ? (scrollTop \/ scrollHeight) * 100 : 0;\n      progress.style.width = pct.toFixed(2) + \"%\";\n\n      \/\/ Active section highlighting (simple)\n      const sections = ['necesidad','capas','impacto','riesgos','turnkey','cta']\n        .map(id => document.getElementById(id))\n        .filter(Boolean);\n\n      let current = 'necesidad';\n      for(const s of sections){\n        const rect = s.getBoundingClientRect();\n        if(rect.top <= 90) current = s.id;\n      }\n      navLinks.forEach(a=>{\n        a.classList.toggle('active', a.getAttribute('href') === '#'+current);\n      });\n    }\n    window.addEventListener('scroll', onScroll, {passive:true});\n    onScroll();\n\n    \/\/ CTA button (prototype behavior)\n    document.getElementById('btnDiag').addEventListener('click', ()=>{\n      alert('Prototipo: aqu\u00ed abrir\u00eda el formulario de \u201cDiagn\u00f3stico t\u00e9cnico\u201d o dirigir\u00eda a la landing.');\n    });\n  <\/script>\n<!-- ===== FAQ SEO (insertar antes del CTA final o despu\u00e9s de Conclusi\u00f3n) ===== -->\n<section class=\"section\" id=\"faq\">\n  <div class=\"section-card\">\n    <h3 class=\"h2\">Preguntas frecuentes sobre subestaciones el\u00e9ctricas industriales<\/h3>\n    <p class=\"lead\">Respuestas breves para apoyar una toma de decisiones t\u00e9cnicas informada.<\/p>\n\n    <div class=\"faq\" role=\"list\">\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfPara qu\u00e9 sirve una subestaci\u00f3n el\u00e9ctrica en una instalaci\u00f3n industrial?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            Una subestaci\u00f3n el\u00e9ctrica permite <strong>recibir, transformar, proteger y distribuir<\/strong> la energ\u00eda el\u00e9ctrica\n            de forma segura y confiable hacia los procesos productivos. Su funci\u00f3n es adaptar la energ\u00eda a las condiciones reales\n            de la operaci\u00f3n, garantizando continuidad, seguridad y capacidad de crecimiento del sistema el\u00e9ctrico industrial.\n          <\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfCu\u00e1ndo se vuelve necesaria una subestaci\u00f3n el\u00e9ctrica?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            Una subestaci\u00f3n se vuelve necesaria cuando el sistema el\u00e9ctrico existente <strong>deja de responder de forma confiable<\/strong>\n            a la demanda operativa. Esto suele ocurrir ante crecimiento de carga, expansi\u00f3n de planta, incorporaci\u00f3n de procesos cr\u00edticos,\n            problemas recurrentes de confiabilidad o cuando la infraestructura instalada alcanza el fin de su vida \u00fatil.\n          <\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfCu\u00e1l es la diferencia entre dise\u00f1ar una subestaci\u00f3n por equipos y dise\u00f1arla por capas?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            Dise\u00f1ar una subestaci\u00f3n por capas implica analizar el sistema como un conjunto integrado \u2014potencia, protecci\u00f3n, control y comunicaciones\u2014\n            en lugar de evaluar equipos de forma aislada. Este enfoque permite <strong>anticipar impactos en CAPEX, OPEX y riesgos operativos<\/strong>,\n            facilitando decisiones t\u00e9cnicas m\u00e1s informadas y sostenibles a lo largo del ciclo de vida del proyecto.\n          <\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfC\u00f3mo impacta una subestaci\u00f3n mal dise\u00f1ada en los costos de operaci\u00f3n (OPEX)?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            Una subestaci\u00f3n mal integrada puede generar <strong>mayores costos de mantenimiento<\/strong>, p\u00e9rdidas t\u00e9cnicas, tiempos de indisponibilidad,\n            reprocesos y dificultades para futuras expansiones. Muchas decisiones que parecen reducir la inversi\u00f3n inicial terminan incrementando el OPEX\n            durante toda la vida \u00fatil del sistema.\n          <\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfQu\u00e9 riesgos existen si no se eval\u00faan correctamente las capas de protecci\u00f3n y control?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            La falta de una evaluaci\u00f3n adecuada en estas capas puede derivar en <strong>paros no programados<\/strong>, disparos intempestivos,\n            dificultad para diagnosticar fallas, riesgos a personas y una recuperaci\u00f3n lenta del sistema ante eventos el\u00e9ctricos. Estos riesgos suelen\n            manifestarse durante la operaci\u00f3n, no en la etapa de construcci\u00f3n.\n          <\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfEn qu\u00e9 casos conviene evaluar un proyecto EPC o llave en mano para una subestaci\u00f3n?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            Un esquema EPC o proyecto llave en mano suele ser conveniente cuando la subestaci\u00f3n es <strong>cr\u00edtica para la operaci\u00f3n<\/strong>,\n            existe alta complejidad t\u00e9cnica o m\u00faltiples interfaces entre disciplinas. Este enfoque ayuda a centralizar la responsabilidad t\u00e9cnica,\n            coordinar pruebas y puesta en marcha, y reducir riesgos asociados a la fragmentaci\u00f3n del proyecto.\n          <\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"faq-item\" role=\"listitem\">\n        <summary class=\"faq-q\">\u00bfQu\u00e9 es un diagn\u00f3stico t\u00e9cnico previo y por qu\u00e9 es importante antes de un proyecto de subestaci\u00f3n?<\/summary>\n        <div class=\"faq-a\">\n          <p>\n            Un diagn\u00f3stico t\u00e9cnico previo permite <strong>ordenar criterios de ingenier\u00eda, operaci\u00f3n y procurement<\/strong> antes de comprometer decisiones\n            dif\u00edciles de revertir. Su objetivo no es imponer un modelo de ejecuci\u00f3n, sino identificar riesgos, alternativas t\u00e9cnicas y alcances reales del\n            proyecto desde una visi\u00f3n integral.\n          <\/p>\n        <\/div>\n      <\/details>\n\n    <\/div>\n\n    <!-- Nota editorial opcional -->\n    <p class=\"micro-note\" style=\"margin-top:14px;\">\n      Este art\u00edculo forma parte de un conjunto de contenidos t\u00e9cnicos orientados a apoyar la toma de decisiones en proyectos el\u00e9ctricos industriales,\n      desde mantenimiento y modernizaci\u00f3n hasta evaluaci\u00f3n previa de esquemas EPC.\n    <\/p>\n  <\/div>\n<\/section>\n<script>\n(function(){\n  if (window.__vmsLayerPanelInit) return;\n  window.__vmsLayerPanelInit = true;\n\n  const panel = document.getElementById('layer-panel');\n  const closeBtn = document.getElementById('lp-close');\n  const title = document.getElementById('lp-title');\n  const desc = document.getElementById('lp-desc');\n  const kicker = document.getElementById('lp-kicker');\n  const list = document.getElementById('lp-list');\n  const diagram = document.getElementById('lp-diagram');\n  const jump = document.getElementById('lp-jump');\n\n  const BUTTONS = Array.from(document.querySelectorAll('.layers-grid .layer-card[data-layer]'));\n\n  if (!panel || !title || !desc || !list || !diagram || !jump || BUTTONS.length === 0) return;\n\n  const DATA = {\n    power: {\n      kicker: '01 \u00b7 Power Layer',\n      title: 'Power Layer \u00b7 Capa de Potencia del Sistema',\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\n      bullets: [\n        'Transformaci\u00f3n de tensi\u00f3n (transformaci\u00f3n y acoplamientos)',\n        'Maniobra y seccionamiento (interruptores, seccionadores)',\n        'Barras y conducci\u00f3n (buses, conexiones, canalizaciones)',\n        'Medici\u00f3n primaria (instrumentaci\u00f3n de potencia)',\n        'Puesta a tierra (malla, conexiones equipotenciales)',\n        'Estructuras y fundaciones (soportes, obra civil)'\n      ],\n      target: '#power-layer',\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Power<\/span>'\n    },\n    protection: {\n      kicker: '02 \u00b7 Protection Layer',\n      title: 'Protection Layer \u00b7 Capa de Protecci\u00f3n',\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\n      bullets: [\n        'Transformadores de instrumento (TC\/TP)',\n        'Circuitos de disparo y actuaci\u00f3n (trip)',\n        'Interconexi\u00f3n de se\u00f1ales (marshalling \/ bornes)',\n        'L\u00f3gicas de selectividad y respaldo (arquitectura)',\n        'Alimentaci\u00f3n auxiliar para protecci\u00f3n',\n        'Canalizaciones y cableado de protecci\u00f3n'\n      ],\n      target: '#protection-layer',\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Protection<\/span>'\n    },\n    control: {\n      kicker: '03 \u00b7 Control Layer',\n      title: 'Control Layer \u00b7 Capa de Control',\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\n      bullets: [\n        'Tableros de control y automatizaci\u00f3n',\n        'Servicios auxiliares AC\/DC (cargadores, respaldo)',\n        'L\u00f3gicas y enclavamientos (interlocks)',\n        'Interfaces de operaci\u00f3n (local\/HMI)',\n        'Se\u00f1alizaci\u00f3n y cableado de control',\n        'Alarmas y eventos operativos'\n      ],\n      target: '#control-layer',\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Control<\/span>'\n    },\n    comms: {\n      kicker: '04 \u00b7 Communication Layer',\n      title: 'Communication Layer \u00b7 Capa de Comunicaciones',\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\n      bullets: [\n        'Infraestructura de red industrial (switches\/ruteo)',\n        'Medios f\u00edsicos (FO\/cobre) y patching',\n        'Sincronizaci\u00f3n de tiempo (time sync)',\n        'Sistemas de supervisi\u00f3n y registro (SCADA\/Hist\u00f3rico)',\n        'Canalizaciones y cableado de comunicaciones',\n        'Interfaz con sistemas externos (integraciones)'\n      ],\n      target: '#comms-layer',\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Comms<\/span>'\n    }\n  };\n\n  function flashTarget(selector){\n    const el = document.querySelector(selector);\n    if(!el) return;\n    el.classList.add('flash-blueprint');\n    setTimeout(()=> el.classList.remove('flash-blueprint'), 900);\n  }\n\n  function setActive(btn){\n    BUTTONS.forEach(b=>{\n      b.classList.remove('is-active');\n      b.setAttribute('aria-expanded','false');\n    });\n    if(btn){\n      btn.classList.add('is-active');\n      btn.setAttribute('aria-expanded','true');\n    }\n  }\n\n  function openPanel(key, btn){\n    const d = DATA[key];\n    if(!d) return;\n\n    setActive(btn);\n\n    kicker.textContent = d.kicker;\n    title.textContent = d.title;\n    desc.textContent = d.desc;\n    list.innerHTML = d.bullets.map(x=> `<li>${x}<\/li>`).join('');\n    const srcSvg = btn ? btn.querySelector('.layer-diagram svg') : null;\n    diagram.innerHTML = '';\n    if (srcSvg) {\n    diagram.appendChild(srcSvg.cloneNode(true));\n    } else {\n    diagram.innerHTML = d.diagramHTML || '';\n    }\n\n    jump.setAttribute('href', d.target);\n    jump.dataset.flashTarget = d.target;\n\n    panel.hidden = false;\n    panel.scrollIntoView({behavior:'smooth', block:'start'});\n  }\n\n  function closePanel(){\n    panel.hidden = true;\n    setActive(null);\n  }\n\n  \/\/ Bind buttons\n  BUTTONS.forEach(btn=>{\n    btn.addEventListener('click', ()=> openPanel(btn.dataset.layer, btn));\n  });\n\n  closeBtn && closeBtn.addEventListener('click', closePanel);\n\n  \/\/ ESC closes\n  document.addEventListener('keydown', (e)=>{\n    if(e.key === 'Escape' && !panel.hidden) closePanel();\n  });\n\n  \/\/ Jump with flash\n  jump && jump.addEventListener('click', ()=>{\n    const target = jump.dataset.flashTarget;\n    if(!target) return;\n    setTimeout(()=> flashTarget(target), 450);\n  });\n\n})();\n<\/script>\n<script>\n(() => {\n  if (window.__vmsLayerPanelInit) return;\n  window.__vmsLayerPanelInit = true;\n  \/\/ ====== Elementos del DOM ======\n  const panel = document.getElementById('layer-panel');\n  const kicker = document.getElementById('lp-kicker');\n  const title  = document.getElementById('lp-title');\n  const desc   = document.getElementById('lp-desc');\n  const list   = document.getElementById('lp-list');\n  const diagram= document.getElementById('lp-diagram');\n  const close  = document.getElementById('lp-close');\n  const jump   = document.getElementById('lp-jump');\n\n  const cards = Array.from(document.querySelectorAll('.layers-grid .layer-card[data-layer]'));\n\n  if (!panel || !title || !desc || !list || !diagram || !jump || cards.length === 0) {\n    console.warn('[LayerPanel] Faltan elementos requeridos (ids lp-* o layer-panel) o no hay cards.');\n    return;\n  }\n\n  \/\/ ====== Datos (edita textos si quieres) ======\n  const DATA = {\n    power: {\n      kicker: '01 \u00b7 Power Layer',\n      title: 'Power Layer \u00b7 Capa de Potencia del Sistema',\n      desc: 'Arquitectura F\u00edsica de una subestaci\u00f3n el\u00e9ctrica industrial.',\n      bullets: [\n        'Transformaci\u00f3n de niveles de tensi\u00f3n (equipos de potencia asociados)',\n        'Maniobra y seccionamiento (operaci\u00f3n y aislamiento)',\n        'Barras y conducci\u00f3n (conexiones y distribuci\u00f3n)',\n        'Medici\u00f3n primaria (instrumentaci\u00f3n asociada)',\n        'Puesta a tierra (malla y equipotencialidad)',\n        'Estructuras y fundaciones (obra civil de soporte)'\n      ],\n      target: '#power-layer'\n    },\n    protection: {\n      kicker: '02 \u00b7 Protection Layer',\n      title: 'Protection Layer \u00b7 Capa de Protecci\u00f3n',\n      desc: 'Detecta condiciones anormales y a\u00edsla fallas de forma selectiva, limitando su alcance e impacto operativo.',\n      bullets: [\n        'Transformadores de instrumento (TC\/TP)',\n        'Rel\u00e9s \/ l\u00f3gica de protecci\u00f3n (funciones y criterios)',\n        'Circuitos de disparo y actuaci\u00f3n (trip)',\n        'Selectividad, respaldo y coordinaci\u00f3n',\n        'Alimentaci\u00f3n auxiliar (AC\/DC asociada)',\n        'Cableado y canalizaciones de protecci\u00f3n'\n      ],\n      target: '#protection-layer'\n    },\n    control: {\n      kicker: '03 \u00b7 Control Layer',\n      title: 'Control Layer \u00b7 Capa de Control',\n      desc: 'Habilita operaci\u00f3n ordenada y segura: secuencias, enclavamientos, servicios auxiliares e interfaces de operaci\u00f3n.',\n      bullets: [\n        'Tableros de control \/ automatizaci\u00f3n',\n        'Servicios auxiliares AC\/DC (respaldo y continuidad)',\n        'Enclavamientos (interlocks) y secuencias',\n        'Mandos locales \/ HMI \/ interfaces',\n        'Se\u00f1alizaci\u00f3n, alarmas y eventos',\n        'Cableado de control y se\u00f1alizaci\u00f3n'\n      ],\n      target: '#control-layer'\n    },\n    comms: {\n      kicker: '04 \u00b7 Communication Layer',\n      title: 'Communication Layer \u00b7 Capa de Comunicaciones',\n      desc: 'Conecta supervisi\u00f3n, registro y an\u00e1lisis: redes industriales, trazabilidad de eventos y datos para decisi\u00f3n.',\n      bullets: [\n        'Infraestructura de red industrial',\n        'Medios f\u00edsicos (FO\/cobre) y patching',\n        'Sincronizaci\u00f3n de tiempo (time sync)',\n        'Supervisi\u00f3n\/registro (SCADA\/hist\u00f3rico)',\n        'Canalizaciones y cableado de comunicaciones',\n        'Interfaces con sistemas externos'\n      ],\n      target: '#comms-layer'\n    }\n  };\n\n  \/\/ ====== Helpers ======\n  const setExpanded = (activeBtn) => {\n    cards.forEach(btn => btn.setAttribute('aria-expanded', btn === activeBtn ? 'true' : 'false'));\n  };\n\n  const flashTarget = (selector) => {\n    const el = document.querySelector(selector);\n    if (!el) return;\n    el.classList.add('flash-blueprint');\n    setTimeout(() => el.classList.remove('flash-blueprint'), 900);\n  };\n\n  const openPanel = (key, btn) => {\n    const d = DATA[key];\n    if (!d) return;\n\n    \/\/ Textos\n    if (kicker) kicker.textContent = d.kicker || '';\n    title.textContent = d.title || '';\n    desc.textContent  = d.desc || '';\n\n    \/\/ Bullets\n    list.innerHTML = (d.bullets || []).map(x => `<li>${x}<\/li>`).join('');\n\n    \/\/ Diagrama: clona el SVG del card si existe; si no, deja vac\u00edo\n    diagram.innerHTML = '';\n    const srcSvg = btn ? btn.querySelector('.layer-diagram svg') : null;\n    if (srcSvg) diagram.appendChild(srcSvg.cloneNode(true));\n\n    \/\/ Link a secci\u00f3n expandida\n    jump.setAttribute('href', d.target);\n    jump.dataset.flashTarget = d.target;\n\n    \/\/ Mostrar panel\n    panel.hidden = false;\n    setExpanded(btn);\n\n    \/\/ Scroll suave al panel (opcional pero recomendado)\n    panel.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  };\n\n  const closePanel = () => {\n    panel.hidden = true;\n    setExpanded(null);\n  };\n\n  \/\/ ====== Eventos ======\n  cards.forEach(btn => {\n    btn.addEventListener('click', () => openPanel(btn.dataset.layer, btn));\n  });\n\n  if (close) close.addEventListener('click', closePanel);\n\n  document.addEventListener('keydown', (e) => {\n    if (e.key === 'Escape' && !panel.hidden) closePanel();\n  });\n\n  \/\/ Jump + flash suave al llegar\n  jump.addEventListener('click', () => {\n    const target = jump.dataset.flashTarget;\n    if (!target) return;\n    setTimeout(() => flashTarget(target), 450);\n  });\n\n  \/\/ Opcional: abrir la primera capa por defecto\n  \/\/ openPanel('power', cards.find(b => b.dataset.layer === 'power'));\n\n})();\n<\/script>\n<script>\n(function(){\n  const map = {\n    power: 'capex-row-power',\n    protection: 'capex-row-protection',\n    control: 'capex-row-control',\n    comms: 'capex-row-comms'\n  };\n\n  function flashRow(row){\n    if(!row) return;\n    row.classList.add('capex-row-flash');\n    window.setTimeout(() => row.classList.remove('capex-row-flash'), 1200);\n  }\n\n  function goToCapex(key){\n    const rowId = map[key];\n    const section = document.querySelector('#impacto');\n    const row = rowId ? document.getElementById(rowId) : null;\n\n    if(section){\n      section.scrollIntoView({ behavior:'smooth', block:'start' });\n    } else {\n      location.hash = '#impacto';\n    }\n\n    window.setTimeout(() => {\n      if(row){\n        row.scrollIntoView({ behavior:'smooth', block:'center' });\n        window.setTimeout(() => flashRow(row), 160);\n      }\n    }, 450);\n  }\n\n  document.addEventListener('click', (e) => {\n    const btn = e.target.closest('[data-capex-jump]');\n    if(!btn) return;\n    e.preventDefault();\n    goToCapex(btn.getAttribute('data-capex-jump'));\n  });\n\n  document.addEventListener('keydown', (e) => {\n    const btn = e.target.closest('[data-capex-jump]');\n    if(!btn) return;\n    if(e.key === 'Enter' || e.key === ' '){\n      e.preventDefault();\n      goToCapex(btn.getAttribute('data-capex-jump'));\n    }\n  });\n})();\n<\/script>\n\n\n<script>\n(function(){\n  \/\/ tracking seguro (no rompe si no existe dataLayer)\n  function track(name){\n    try{\n      window.dataLayer = window.dataLayer || [];\n      window.dataLayer.push({event: 'vms_cta', cta: name});\n    }catch(e){}\n  }\n  document.addEventListener('click', function(e){\n    var t = e.target;\n    var el = t && t.closest ? t.closest('[data-track]') : null;\n    if(!el) return;\n    track(el.getAttribute('data-track'));\n  }, {passive:true});\n})();\n<\/script>\n\n\n<script>\n\/* =========================================================\n   Core Web Vitals (RUM local) \u2014 LCP \/ CLS \/ INP\n   - No env\u00eda datos por defecto: imprime en consola.\n   - Activa overlay con ?cwv=1 (solo debug).\n========================================================= *\/\n(function(){\n  const params = new URLSearchParams(location.search);\n  const showOverlay = params.get('cwv') === '1';\n\n  \/\/ --- State ---\n  let cls = 0;\n  let lcp = 0;\n  let inp = 0;\n  let lcpEntry = null;\n\n  \/\/ --- CLS ---\n  try{\n    const poCLS = new PerformanceObserver((list)=>{\n      for(const entry of list.getEntries()){\n        \/\/ Ignorar shifts causados por interacci\u00f3n del usuario\n        if(!entry.hadRecentInput) cls += entry.value;\n      }\n    });\n    poCLS.observe({type:'layout-shift', buffered:true});\n  }catch(e){}\n\n  \/\/ --- LCP ---\n  try{\n    const poLCP = new PerformanceObserver((list)=>{\n      const entries = list.getEntries();\n      if(entries.length){\n        lcpEntry = entries[entries.length - 1];\n        lcp = lcpEntry.startTime;\n      }\n    });\n    poLCP.observe({type:'largest-contentful-paint', buffered:true});\n    \/\/ Detener LCP cuando el usuario interact\u00faa o la p\u00e1gina se oculta\n    const stopLCP = () => { try{ poLCP.disconnect(); }catch(e){} };\n    addEventListener('pointerdown', stopLCP, {once:true, passive:true});\n    addEventListener('keydown', stopLCP, {once:true});\n    addEventListener('visibilitychange', ()=>{ if(document.visibilityState==='hidden') stopLCP(); }, {passive:true});\n  }catch(e){}\n\n  \/\/ --- INP (Event Timing) ---\n  \/\/ Nota: INP oficial usa l\u00f3gica de \"interactions\" (Chrome). Aqu\u00ed aproximamos con max duration.\n  try{\n    const poINP = new PerformanceObserver((list)=>{\n      for(const entry of list.getEntries()){\n        \/\/ Solo eventos relevantes\n        if(entry.duration && entry.duration > inp) inp = entry.duration;\n      }\n    });\n    poINP.observe({type:'event', buffered:true, durationThreshold: 40});\n  }catch(e){}\n\n  function round(n){ return Math.round(n); }\n  function grade(metric, value){\n    \/\/ Umbrales CWV (aprox.) \u2014 ms para LCP\/INP, unitless para CLS\n    const t = metric==='CLS'\n      ? [0.1, 0.25]\n      : metric==='LCP'\n        ? [2500, 4000]\n        : [200, 500]; \/\/ INP\n    return value <= t[0] ? 'GOOD' : (value <= t[1] ? 'NI' : 'POOR');\n  }\n\n  function report(){\n    const out = {\n      LCP_ms: round(lcp),\n      CLS: +cls.toFixed(3),\n      INP_ms: round(inp),\n      LCP_grade: grade('LCP', lcp),\n      CLS_grade: grade('CLS', cls),\n      INP_grade: grade('INP', inp)\n    };\n    \/\/ Consola (RUM local)\n    console.table(out);\n\n    \/\/ Overlay opcional (debug)\n    if(showOverlay){\n      const box = document.createElement('div');\n      box.style.cssText = [\n        'position:fixed','right:12px','bottom:12px','z-index:9999',\n        'padding:10px 12px','border-radius:14px',\n        'background:rgba(255,255,255,.92)','border:1px solid rgba(229,232,239,.95)',\n        'box-shadow:0 12px 26px rgba(16,24,40,.14)','font:12px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace',\n        'color:rgba(23,44,81,.95)','min-width:210px'\n      ].join(';');\n      box.innerHTML = `\n        <div style=\"font-weight:900;letter-spacing:.6px;margin-bottom:6px\">CWV (debug)<\/div>\n        <div>LCP: <b>${out.LCP_ms}ms<\/b> <span style=\"opacity:.7\">(${out.LCP_grade})<\/span><\/div>\n        <div>CLS: <b>${out.CLS}<\/b> <span style=\"opacity:.7\">(${out.CLS_grade})<\/span><\/div>\n        <div>INP: <b>${out.INP_ms}ms<\/b> <span style=\"opacity:.7\">(${out.INP_grade})<\/span><\/div>\n        <div style=\"opacity:.7;margin-top:6px\">Tip: usa Lighthouse\/CrUX para datos reales.<\/div>\n      `;\n      document.body.appendChild(box);\n    }\n  }\n\n  \/\/ Reportar al final de la sesi\u00f3n (pagehide es el m\u00e1s fiable)\n  addEventListener('pagehide', report, {once:true});\n})();\n<\/script>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.1\/dist\/jspdf.umd.min.js\"><\/script>\n<script>\n(function(){\n  const modal = document.getElementById('reportModal');\n  const openBtn = document.getElementById('openReportModal');\n  const closeBtn = document.getElementById('closeReportModal');\n  const form = document.getElementById('reportForm');\n  const emailInput = document.getElementById('reportEmail');\n  const emailError = document.getElementById('reportEmailError');\n  const note = document.getElementById('reportNote');\n  const previewScore = document.getElementById('previewScore');\n  const previewUrgency = document.getElementById('previewUrgency');\n  const previewItems = document.getElementById('previewItems');\n  const downloadBtn = document.getElementById('downloadReportBtn');\n  const root = document.getElementById('autodiagnostico');\n\n  if(!modal || !openBtn || !closeBtn || !form || !emailInput) return;\n\n  const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/i;\n\n  function getReportData(){\n    const scoreNumText = document.getElementById('scoreNum')?.textContent.trim() || '0';\n    const scoreMaxRaw = document.getElementById('scoreMax')?.textContent.trim() || '\/ 0';\n    const scoreMaxText = scoreMaxRaw.replace('\/', '').trim() || '0';\n    const scoreNumVal = Number(scoreNumText.replace(\/[^\\d.]\/g,'')) || 0;\n    const scoreMaxVal = Number(scoreMaxText.replace(\/[^\\d.]\/g,'')) || 0;\n    const scorePct = scoreMaxVal > 0 ? Math.min(100, Math.max(0, (scoreNumVal \/ scoreMaxVal) * 100)) : 0;\n\n    const statusBadge = document.querySelector('#scoreStatus .badge');\n    const urgency = statusBadge?.textContent.trim() || '\u2014';\n    const urgencyTier = statusBadge?.dataset.tier || (scorePct >= 75 ? 'crit' : scorePct >= 50 ? 'high' : scorePct >= 25 ? 'med' : 'low');\n\n    const checked = root ? Array.from(root.querySelectorAll('.chk:checked')) : [];\n    const items = checked.map((chk) => {\n      const label = chk.closest('label');\n      const text = label ? label.textContent.trim().replace(\/\\s+\/g,' ') : '\u00cdtem seleccionado';\n      return text;\n    });\n\n    return { scoreNum: scoreNumText, scoreMax: scoreMaxText, urgency, items, scorePct, urgencyTier };\n  }\n\n  function updatePreview(){\n    const data = getReportData();\n    if(previewScore) previewScore.textContent = `Puntaje: ${data.scoreNum}\/${data.scoreMax}`;\n    if(previewUrgency) previewUrgency.textContent = `Urgencia: ${data.urgency}`;\n    if(previewItems) previewItems.textContent = `\u00cdtems: ${data.items.length}`;\n  }\n\n  function openModal(){\n    updatePreview();\n    modal.classList.add('is-open');\n    modal.setAttribute('aria-hidden','false');\n    setTimeout(() => emailInput.focus(), 0);\n  }\n\n  function closeModal(){\n    modal.classList.remove('is-open');\n    modal.setAttribute('aria-hidden','true');\n    form.reset();\n    if(emailError) emailError.style.display = 'none';\n    if(note) note.textContent = 'Tu reporte se prepara con los datos visibles en esta p\u00e1gina.';\n  }\n\n  function validateEmail(){\n    const value = emailInput.value.trim();\n    const ok = value.length <= 254 && emailRegex.test(value);\n    if(emailError) emailError.style.display = ok ? 'none' : 'block';\n    return ok;\n  }\n\n  function getTierStroke(tier){\n    switch(tier){\n      case 'low': return '#0F4C81';\n      case 'med': return '#FACC15';\n      case 'high': return '#FB923C';\n      case 'crit': return '#DC2626';\n      default: return '#0F4C81';\n    }\n  }\n\n  function getNeedleStroke(tier){\n    switch(tier){\n      case 'med':\n      case 'high': return 'rgba(120,53,15,.92)';\n      case 'crit': return 'rgba(127,29,29,.98)';\n      default: return 'rgba(23,44,81,.92)';\n    }\n  }\n\n  function svgToDataUrl(svg){\n    const encoded = encodeURIComponent(svg)\n      .replace(\/'\/g, '%27')\n      .replace(\/\"\/g, '%22');\n    return `data:image\/svg+xml;charset=utf-8,${encoded}`;\n  }\n\n  function renderGaugeSvg(data){\n    try{\n      const pct = Number.isFinite(data.scorePct) ? data.scorePct : 0;\n      const dashTotal = 314;\n      const dashOffset = dashTotal - (dashTotal * (pct\/100));\n      const needleDeg = -90 + (180 * (pct\/100));\n      const fillStroke = getTierStroke(data.urgencyTier);\n      const needleStroke = getNeedleStroke(data.urgencyTier);\n      const centerFill = data.urgencyTier === 'crit' ? '#DC2626' : 'rgba(15,76,129,.92)';\n\n      return `\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"240\" height=\"170\" viewBox=\"0 0 240 170\">\n  <rect x=\"0\" y=\"0\" width=\"240\" height=\"170\" rx=\"16\" fill=\"#ffffff\" stroke=\"#e5e8ef\"\/>\n  <g transform=\"translate(0,8)\">\n    <path d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke=\"rgba(229,232,239,.95)\" stroke-width=\"14\" stroke-linecap=\"round\"\/>\n\n    <path d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke=\"#0F4C81\" stroke-width=\"14\" stroke-linecap=\"round\" opacity=\"0.32\" pathLength=\"100\" stroke-dasharray=\"25 75\" stroke-dashoffset=\"-25\"\/>\n    <path d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke=\"#FACC15\" stroke-width=\"14\" stroke-linecap=\"round\" opacity=\"0.32\" pathLength=\"100\" stroke-dasharray=\"25 75\" stroke-dashoffset=\"-50\"\/>\n    <path d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke=\"#FB923C\" stroke-width=\"14\" stroke-linecap=\"round\" opacity=\"0.32\" pathLength=\"100\" stroke-dasharray=\"25 75\" stroke-dashoffset=\"-75\"\/>\n    <path d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke=\"#DC2626\" stroke-width=\"14\" stroke-linecap=\"round\" opacity=\"0.32\" pathLength=\"100\" stroke-dasharray=\"25 75\"\/>\n\n    <g stroke=\"rgba(85,96,112,.55)\" stroke-linecap=\"round\">\n      <line x1=\"20\"  y1=\"120\" x2=\"34\"  y2=\"120\" stroke-width=\"3\"\/>\n      <line x1=\"58\"  y1=\"62\"  x2=\"68\"  y2=\"70\"  stroke-width=\"3\"\/>\n      <line x1=\"120\" y1=\"40\"  x2=\"120\" y2=\"54\"  stroke-width=\"3\"\/>\n      <line x1=\"182\" y1=\"62\"  x2=\"172\" y2=\"70\"  stroke-width=\"3\"\/>\n      <line x1=\"220\" y1=\"120\" x2=\"206\" y2=\"120\" stroke-width=\"3\"\/>\n      <line x1=\"36\"  y1=\"92\"  x2=\"44\"  y2=\"98\"  stroke-width=\"2\" opacity=\".75\"\/>\n      <line x1=\"78\"  y1=\"52\"  x2=\"86\"  y2=\"58\"  stroke-width=\"2\" opacity=\".75\"\/>\n      <line x1=\"162\" y1=\"52\"  x2=\"154\" y2=\"58\"  stroke-width=\"2\" opacity=\".75\"\/>\n      <line x1=\"204\" y1=\"92\"  x2=\"196\" y2=\"98\"  stroke-width=\"2\" opacity=\".75\"\/>\n    <\/g>\n\n    <g font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\" font-size=\"10.5\" fill=\"rgba(85,96,112,.70)\">\n      <text x=\"16\" y=\"136\">0<\/text>\n      <text x=\"112\" y=\"32\">50<\/text>\n      <text x=\"212\" y=\"136\">100<\/text>\n      <text x=\"54\" y=\"86\" font-size=\"10\" fill=\"rgba(85,96,112,.62)\">24<\/text>\n      <text x=\"112\" y=\"64\" font-size=\"10\" fill=\"rgba(85,96,112,.62)\">49<\/text>\n      <text x=\"170\" y=\"86\" font-size=\"10\" fill=\"rgba(85,96,112,.62)\">74<\/text>\n    <\/g>\n\n    <path d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke=\"${fillStroke}\" stroke-width=\"14\" stroke-linecap=\"round\" stroke-dasharray=\"${dashTotal}\" stroke-dashoffset=\"${dashOffset}\"\/>\n    <circle cx=\"120\" cy=\"120\" r=\"6\" fill=\"${centerFill}\"\/>\n    <line x1=\"120\" y1=\"120\" x2=\"120\" y2=\"44\" stroke=\"${needleStroke}\" stroke-width=\"4\" stroke-linecap=\"round\" transform=\"rotate(${needleDeg} 120 120)\"\/>\n  <\/g>\n\n  <text x=\"120\" y=\"22\" text-anchor=\"middle\" font-family=\"ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial\" font-size=\"12.5\" fill=\"#0b1220\">${data.scoreNum}\/${data.scoreMax}<\/text>\n  <text x=\"120\" y=\"40\" text-anchor=\"middle\" font-family=\"ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial\" font-size=\"11.5\" fill=\"#556070\">${window.VMS_ENGLISH_PATH ? 'Urgency' : 'Urgencia'}: ${data.urgency}<\/text>\n  <text x=\"120\" y=\"162\" text-anchor=\"middle\" font-family=\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\" font-size=\"10.5\" fill=\"rgba(85,96,112,.95)\">${Math.round(pct)}%<\/text>\n<\/svg>`;\n    }catch(err){\n      return null;\n    }\n  }\n\n  function renderGaugePng(data){\n    return new Promise((resolve) => {\n      const svg = renderGaugeSvg(data);\n      if(!svg) return resolve(null);\n      const img = new Image();\n      img.onload = () => {\n        const c = document.createElement('canvas');\n        c.width = img.width;\n        c.height = img.height;\n        const ctx = c.getContext('2d');\n        if(!ctx) return resolve(null);\n        ctx.drawImage(img, 0, 0);\n        resolve(c.toDataURL('image\/png'));\n      };\n      img.onerror = () => resolve(null);\n      img.src = svgToDataUrl(svg);\n    });\n  }\n\n  function buildPdf(data, gaugeImg){\n    const jspdf = window.jspdf;\n    if(!jspdf || !jspdf.jsPDF){\n      return null;\n    }\n    const doc = new jspdf.jsPDF({ unit: 'pt', format: 'a4' });\n    const marginX = 40;\n    const pageW = doc.internal.pageSize.getWidth();\n    const pageH = doc.internal.pageSize.getHeight();\n    const centerX = pageW \/ 2;\n    let y = 50;\n    const theme = {\n      ink: [11, 18, 32],\n      muted: [85, 96, 112],\n      line: [229, 232, 239],\n      accent: [15, 76, 129]\n    };\n\n    \/\/ Header card\n    doc.setDrawColor(...theme.line);\n    doc.setFillColor(248, 250, 253);\n    doc.roundedRect(marginX, y - 26, pageW - marginX * 2, 64, 10, 10, 'F');\n    doc.setFont('helvetica', 'bold');\n    doc.setFontSize(16);\n    doc.setTextColor(...theme.ink);\n    doc.text('Reporte personalizado de riesgos', centerX, y, { align: 'center' });\n    y += 18;\n    doc.setFont('helvetica', 'normal');\n    doc.setFontSize(11);\n    doc.setTextColor(...theme.muted);\n    doc.text(`Fecha: ${new Date().toLocaleString(window.VMS_ENGLISH_PATH ? 'en-US' : 'es-MX')}`, centerX, y, { align: 'center' });\n    y += 22;\n\n    \/\/ Score summary\n    doc.setTextColor(...theme.ink);\n    doc.setFont('helvetica', 'bold');\n    doc.setFontSize(12.5);\n    doc.text(`Puntaje: ${data.scoreNum}\/${data.scoreMax}`, centerX, y, { align: 'center' });\n    y += 16;\n    doc.setFont('helvetica', 'normal');\n    doc.setFontSize(11.5);\n    doc.setTextColor(...theme.muted);\n    doc.text(`Nivel de urgencia: ${data.urgency}`, centerX, y, { align: 'center' });\n    y += 16;\n\n    if(gaugeImg){\n      const gaugeW = 240;\n      const gaugeH = 170;\n      doc.addImage(gaugeImg, 'PNG', centerX - (gaugeW\/2), y, gaugeW, gaugeH);\n      y += gaugeH + 12;\n    }\n\n    doc.setFont('helvetica', 'bold');\n    doc.setFontSize(12.5);\n    doc.setTextColor(...theme.ink);\n    doc.text('Respuestas seleccionadas', centerX, y, { align: 'center' });\n    y += 14;\n    doc.setFont('helvetica', 'normal');\n    doc.setFontSize(11);\n    doc.setTextColor(...theme.muted);\n\n    const items = data.items.length ? data.items : ['No se seleccionaron \u00edtems.'];\n    const maxWidth = 515;\n    items.forEach((item, idx) => {\n      const line = `${idx + 1}. ${item}`;\n      const lines = doc.splitTextToSize(line, maxWidth);\n      lines.forEach((ln) => {\n        if(y > pageH - 60){\n          doc.addPage();\n          y = 50;\n        }\n        doc.text(ln, centerX, y, { align: 'center', maxWidth: pageW - marginX * 2 });\n        y += 14;\n      });\n    });\n\n    return doc;\n  }\n\n  async function downloadPdf(){\n    const data = getReportData();\n    const gaugeImg = await renderGaugePng(data);\n    const doc = buildPdf(data, gaugeImg);\n    if(!doc){\n      if(note) note.textContent = 'No se pudo cargar el generador PDF. Intenta recargar la p\u00e1gina.';\n      return;\n    }\n    doc.save(window.VMS_ENGLISH_PATH ? 'risk-report.pdf' : 'reporte-riesgos.pdf');\n  }\n\n  function getElementorForm(){\n    return document.getElementById('formResults')\n      || document.querySelector('.elementor-form[data-id=\"formResults\"], .elementor-form[data-name=\"formResults\"], form[data-id=\"formResults\"], form[name=\"formResults\"], form#formResults');\n  }\n\n  function setElementorField(form, fieldId, value){\n    if(!form) return;\n    const selectors = [\n      `#form-field-${fieldId}`,\n      `[name=\"form_fields[${fieldId}]\"]`,\n      `[data-field-id=\"${fieldId}\"] input`,\n      `[data-field-id=\"${fieldId}\"] textarea`\n    ];\n    const el = selectors.map(s => form.querySelector(s)).find(Boolean);\n    if(!el) return;\n    el.value = value;\n    el.dispatchEvent(new Event('input', { bubbles: true }));\n    el.dispatchEvent(new Event('change', { bubbles: true }));\n  }\n\n  function submitElementorForm(form){\n    if(!form) return false;\n    if(typeof form.requestSubmit === 'function'){\n      form.requestSubmit();\n      return true;\n    }\n    const submitBtn = form.querySelector('button[type=\"submit\"], input[type=\"submit\"]');\n    if(submitBtn){\n      submitBtn.click();\n      return true;\n    }\n    form.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\n    return true;\n  }\n\n  function escapeHtml(value){\n    return String(value)\n      .replace(\/&\/g, '&amp;')\n      .replace(\/<\/g, '&lt;')\n      .replace(\/>\/g, '&gt;')\n      .replace(\/\"\/g, '&quot;')\n      .replace(\/'\/g, '&#39;');\n  }\n\n  function buildReportPayload(data){\n    \/\/ Texto plano (fallback) + HTML estilo \u201creporte PDF\u201d\n    const introMessage = 'De parte de VMS Energy te compartimos tu reporte personalizado.';\n    const itemsPlain = data.items.length\n      ? data.items.map((item, i) => `${String(i + 1).padStart(2, '0')}. ${item}`).join('\\n')\n      : '\u2014 Sin \u00edtems seleccionados \u2014';\n\n    const safeItems = data.items.map(escapeHtml);\n    const itemsHtml = safeItems.length\n      ? `\n        <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"border-collapse:collapse;\">\n          ${safeItems.map((item, i) => `\n            <tr>\n              <td style=\"padding:8px 10px; border-bottom:1px solid #e5e8ef; font-size:13px; color:#0b1220;\">\n                <span style=\"display:inline-block; min-width:26px; font-weight:700; color:#172C51;\">${String(i + 1).padStart(2, '0')}.<\/span>\n                ${item}\n              <\/td>\n            <\/tr>\n          `).join('')}\n        <\/table>\n      `\n      : '<p style=\"margin:6px 0 0; color:#556070;\">\u2014 Sin \u00edtems seleccionados \u2014<\/p>';\n\n    const reportHtml = `\n      <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"background:#f7f8fb; padding:16px;\">\n        <tr>\n          <td align=\"center\">\n            <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"max-width:640px; background:#ffffff; border:1px solid #e5e8ef; border-radius:12px; overflow:hidden;\">\n              <tr>\n                <td style=\"padding:14px 20px 0; font-family:Arial, Helvetica, sans-serif; color:#0b1220; font-size:13.5px;\">\n                  ${escapeHtml(introMessage)}\n                <\/td>\n              <\/tr>\n              <tr>\n                <td style=\"padding:18px 20px; background:#f8fafc; border-bottom:1px solid #e5e8ef;\">\n                  <div style=\"font-family:Arial, Helvetica, sans-serif; color:#0b1220;\">\n                    <div style=\"font-size:12px; color:#556070; letter-spacing:.6px; text-transform:uppercase;\">Reporte<\/div>\n                    <div style=\"font-size:18px; font-weight:700; margin-top:4px;\">Reporte personalizado de riesgos<\/div>\n                  <\/div>\n                <\/td>\n              <\/tr>\n\n              <tr>\n                <td style=\"padding:16px 20px;\">\n                  <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"border-collapse:collapse; font-family:Arial, Helvetica, sans-serif;\">\n                    <tr>\n                      <td style=\"padding:10px 12px; border:1px solid #e5e8ef; border-radius:10px;\">\n                        <div style=\"font-size:12px; color:#556070;\">Puntaje<\/div>\n                        <div style=\"font-size:16px; font-weight:700; color:#0b1220;\">${escapeHtml(data.scoreNum)}\/${escapeHtml(data.scoreMax)}<\/div>\n                      <\/td>\n                      <td style=\"width:10px;\"><\/td>\n                      <td style=\"padding:10px 12px; border:1px solid #e5e8ef; border-radius:10px;\">\n                        <div style=\"font-size:12px; color:#556070;\">Urgencia<\/div>\n                        <div style=\"font-size:16px; font-weight:700; color:#0b1220;\">${escapeHtml(data.urgency)}<\/div>\n                      <\/td>\n                      <td style=\"width:10px;\"><\/td>\n                      <td style=\"padding:10px 12px; border:1px solid #e5e8ef; border-radius:10px;\">\n                        <div style=\"font-size:12px; color:#556070;\">\u00cdtems<\/div>\n                        <div style=\"font-size:16px; font-weight:700; color:#0b1220;\">${data.items.length}<\/div>\n                      <\/td>\n                    <\/tr>\n                  <\/table>\n                <\/td>\n              <\/tr>\n\n              <tr>\n                <td style=\"padding:0 20px 6px; font-family:Arial, Helvetica, sans-serif;\">\n                  <div style=\"font-size:13px; font-weight:700; color:#0b1220;\">\u00cdtems seleccionados<\/div>\n                <\/td>\n              <\/tr>\n\n              <tr>\n                <td style=\"padding:6px 20px 16px;\">\n                  ${itemsHtml}\n                <\/td>\n              <\/tr>\n\n              <tr>\n                <td style=\"padding:12px 20px 18px; border-top:1px solid #e5e8ef; font-family:Arial, Helvetica, sans-serif; color:#556070; font-size:12.5px;\">\n                  Este reporte se gener\u00f3 con la informaci\u00f3n visible en la p\u00e1gina.\n                <\/td>\n              <\/tr>\n            <\/table>\n          <\/td>\n        <\/tr>\n      <\/table>\n    `;\n\n    const reportPlain = [\n      introMessage,\n      '',\n      'Reporte personalizado de riesgos',\n      '===============================',\n      `Puntaje: ${data.scoreNum}\/${data.scoreMax}`,\n      `Urgencia: ${data.urgency}`,\n      `\u00cdtems seleccionados (${data.items.length}):`,\n      itemsPlain\n    ].join('\\n');\n\n    return { reportHtml, reportPlain, itemsHtml, itemsPlain, introMessage };\n  }\n\n  async function buildPdfAttachment(data){\n    const gaugeImg = await renderGaugePng(data);\n    const doc = buildPdf(data, gaugeImg);\n    if(!doc) return null;\n    const dataUri = doc.output('datauristring');\n    const base64 = dataUri.split(',')[1] || '';\n    const stamp = new Date().toISOString().slice(0, 10);\n    return {\n      dataUri,\n      base64,\n      filename: window.VMS_ENGLISH_PATH ? `risk-report-${stamp}.pdf` : `reporte-riesgos-${stamp}.pdf`,\n      mime: 'application\/pdf'\n    };\n  }\n\n  openBtn.addEventListener('click', openModal);\n  closeBtn.addEventListener('click', closeModal);\n  modal.addEventListener('click', (e)=> { if(e.target === modal) closeModal(); });\n  document.addEventListener('keydown', (e)=>{\n    if(e.key === 'Escape' && modal.classList.contains('is-open')) closeModal();\n  });\n\n  emailInput.addEventListener('input', validateEmail);\n  if(root){\n    root.addEventListener('change', updatePreview);\n  }\n  if(downloadBtn){\n    downloadBtn.addEventListener('click', downloadPdf);\n  }\n\n  form.addEventListener('submit', async (e)=>{\n    e.preventDefault();\n    if(!validateEmail()) return;\n\n    const data = getReportData();\n    const email = emailInput.value.trim();\n    const reportPayload = buildReportPayload(data);\n    const pdfAttachment = await buildPdfAttachment(data);\n\n    const elementorForm = getElementorForm();\n    if(elementorForm){\n      setElementorField(elementorForm, 'email', email);\n      \/\/ HTML (se renderiza mejor en correos con formato). Si no existe el campo, no pasa nada.\n      setElementorField(elementorForm, 'reporte', reportPayload.reportHtml);\n      setElementorField(elementorForm, 'reporte_plain', reportPayload.reportPlain);\n      setElementorField(elementorForm, 'mensaje', reportPayload.introMessage);\n      setElementorField(elementorForm, 'puntaje', `${data.scoreNum}\/${data.scoreMax}`);\n      setElementorField(elementorForm, 'urgencia', data.urgency);\n      setElementorField(elementorForm, 'items', reportPayload.itemsHtml || '\u2014');\n      setElementorField(elementorForm, 'items_plain', reportPayload.itemsPlain || '\u2014');\n      if(pdfAttachment){\n        setElementorField(elementorForm, 'reporte_pdf_base64', pdfAttachment.base64);\n        setElementorField(elementorForm, 'reporte_pdf_datauri', pdfAttachment.dataUri);\n        setElementorField(elementorForm, 'reporte_pdf_filename', pdfAttachment.filename);\n        setElementorField(elementorForm, 'reporte_pdf_mime', pdfAttachment.mime);\n      }\n\n      submitElementorForm(elementorForm);\n\n      if(note) note.textContent = 'Reporte enviado. Revisa tu correo en unos minutos.';\n      return;\n    }\n\n    if(note) note.textContent = 'No se encontr\u00f3 el formulario oculto de Elementor (formResults).';\n  });\n})();\n<\/script>\n\n\n<script id=\"vms-bilingual-substation-runtime\">\n(function () {\n  'use strict';\n\n  const EN = \/^\\\/en(?:\\\/|$)\/i.test(window.location.pathname);\n  window.VMS_ENGLISH_PATH = EN;\n  if (!EN) return;\n\n  const MAP = {\"Modernizaci\u00f3n de subestaciones el\u00e9ctricas industriales | Diagn\u00f3stico CAPEX\/OPEX\":\"Industrial Substation Modernization | CAPEX\/OPEX Assessment\",\"presupuesto modernizaci\u00f3n subestaci\u00f3n \u00b7 consultor\u00eda CAPEX el\u00e9ctrica \u00b7 proyectos llave en mano electricidad industrial\":\"substation modernization budget \u00b7 electrical CAPEX consulting \u00b7 turnkey industrial electrical projects\",\"Subestaciones el\u00e9ctricas industriales\":\"Industrial Electrical Substations\",\"\u00bfCu\u00e1ndo y por qu\u00e9 se necesita una subestaci\u00f3n el\u00e9ctrica?\":\"When and why is an electrical substation needed?\",\"De la necesidad operativa a la toma de decisiones t\u00e9cnicas informadas\":\"From operational needs to informed technical decision-making\",\"\u201cDescubre los detonadores cr\u00edticos para instalar una subestaci\u00f3n el\u00e9ctrica industrial y c\u00f3mo optimizar CAPEX y OPEX mediante un dise\u00f1o basado en capas.\u201d\":\"\u201cDiscover the critical drivers for installing an industrial electrical substation and how to optimize CAPEX and OPEX through a layer-based design.\u201d\",\"Diagrama Conceptual:\":\"Conceptual Diagram:\",\"Introducci\u00f3n\":\"Introduction\",\"En entornos\":\"In\",\"industriales, energ\u00e9ticos y de infraestructura\":\"industrial, energy, and infrastructure environments\",\", el crecimiento de una operaci\u00f3n rara vez es lineal. Cambios en la demanda el\u00e9ctrica, la incorporaci\u00f3n de\":\", operational growth is rarely linear. Changes in electrical demand, the addition of\",\"procesos cada vez m\u00e1s cr\u00edticos\":\"increasingly critical processes\",\"o la\":\"or the\",\"obsolescencia de la infrastructura existente\":\"obsolescence of existing infrastructure\",\"suelen llevar a una pregunta clave para \u00e1reas de\":\"often lead to a key question for\",\"ingenier\u00eda, operaciones y procurement:\":\"engineering, operations, and procurement teams:\",\"\u00bfEn qu\u00e9 momento una subestaci\u00f3n se vuelve necesaria?\":\"At what point does a substation become necessary?\",\"Responder esta pregunta no implica \u00fanicamente seleccionar equipos o definir un alcance de obra. Implica comprender\":\"Answering this question involves more than selecting equipment or defining a scope of work. It requires understanding\",\"para qu\u00e9 sirve una subestaci\u00f3n el\u00e9ctrica\":\"what an electrical substation does\",\", c\u00f3mo se integra al\":\", how it integrates with the\",\"sistema el\u00e9ctrico industrial existente\":\"existing industrial electrical system\",\"y qu\u00e9 decisiones t\u00e9cnicas condicionar\u00e1n su\":\"and which technical decisions will determine its\",\"confiabilidad, costos de operaci\u00f3n y desempe\u00f1o futuro\":\"reliability, operating costs, and future performance\",\"Este art\u00edculo aborda el tema desde una l\u00f3gica progresiva:\":\"This article approaches the topic through a progressive framework:\",\"Necesidad\":\"Need\",\"Soluci\u00f3n\":\"Solution\",\"Implicaciones\":\"Implications\",\"Caminos\":\"Paths\",\"Necesidad \u2192 soluci\u00f3n t\u00e9cnica \u2192 impactos operativos \u2192 caminos de ejecuci\u00f3n\":\"Need \u2192 technical solution \u2192 operational impacts \u2192 execution paths\",\"\u00bfTu subestaci\u00f3n enfrenta estos retos?\":\"Does your substation face these challenges?\",\"GU\u00cdA\":\"GUIDE\",\"Gu\u00eda de Modernizaci\u00f3n\":\"Modernization Guide\",\"de Subestaciones\":\"for Substations\",\"FIG. 01 \u00b7 Infraestructura \u2192 criterios t\u00e9cnicos y ruta de ejecuci\u00f3n\":\"FIG. 01 \u00b7 Infrastructure \u2192 technical criteria and execution roadmap\",\"Checklist ejecutivo\":\"Executive checklist\",\"de autodiagn\u00f3stico\":\"for self-assessment\",\"FIG. 02 \u00b7 Se\u00f1ales \u2192 puntuaci\u00f3n \u2192 nivel de urgencia\":\"FIG. 02 \u00b7 Signals \u2192 score \u2192 urgency level\",\"La necesidad de una subestaci\u00f3n el\u00e9ctrica\":\"The Need for an Electrical Substation\",\"En la pr\u00e1ctica, una subestaci\u00f3n se vuelve necesaria cuando el sistema el\u00e9ctrico existente\":\"In practice, a substation becomes necessary when the existing electrical system\",\"deja de responder de forma confiable\":\"can no longer respond reliably\",\"a las condiciones reales de la operaci\u00f3n.\":\"to actual operating conditions.\",\"Estos escenarios suelen presentarse de forma gradual, pero sus efectos se manifiestan de manera abrupta en operaci\u00f3n.\":\"These scenarios usually develop gradually, but their effects appear abruptly during operation.\",\"Crecimiento de carga o expansi\u00f3n de planta\":\"Load Growth or Plant Expansion\",\"Incrementos en capacidad productiva, nuevas l\u00edneas de proceso o ampliaciones que superan la\":\"Increases in production capacity, new process lines, or expansions that exceed the\",\"capacidad el\u00e9ctrica instalada\":\"installed electrical capacity\",\", generando l\u00edmites operativos o riesgos de sobrecarga.\":\", creating operational limits or overload risks.\",\"Problemas de confiabilidad y paros frecuentes\":\"Reliability Issues and Frequent Shutdowns\",\"Fallas recurrentes, disparos intempestivos o eventos el\u00e9ctricos que afectan la\":\"Recurring failures, nuisance trips, or electrical events that affect\",\"continuidad operativa\":\"operational continuity\",\"y la estabilidad del proceso productivo.\":\"and the stability of the production process.\",\"Sustituci\u00f3n de infraestructura el\u00e9ctrica obsoleta\":\"Replacement of Obsolete Electrical Infrastructure\",\"Equipos con vida \u00fatil superada, tecnolog\u00edas desactualizadas o sistemas que ya no cumplen con\":\"Equipment beyond its service life, outdated technologies, or systems that no longer meet\",\"requerimientos actuales de operaci\u00f3n y seguridad\":\"current operational and safety requirements\",\"Incorporaci\u00f3n de procesos cr\u00edticos\":\"Addition of Critical Processes\",\"Operaciones donde la energ\u00eda el\u00e9ctrica se vuelve estrat\u00e9gica y donde un evento el\u00e9ctrico tiene impacto directo en\":\"Operations where electrical power becomes strategic and an electrical event directly affects\",\"seguridad, producci\u00f3n y cumplimiento\":\"safety, production, and compliance\",\"\u00bfQu\u00e9 hacer?\":\"What should be done?\",\"Cuando alguno de estos detonadores aparece, la pregunta deja de ser si se necesita una subestaci\u00f3n el\u00e9ctrica, y pasa a ser\":\"When any of these drivers appears, the question is no longer whether an electrical substation is needed, but rather\",\"c\u00f3mo debe dise\u00f1arse un sistema que responda al presente y al futuro\":\"how to design a system that meets both current and future needs\",\"Modelo de an\u00e1lisis t\u00e9cnico\":\"Technical Analysis Model\",\"Pensar la subestaci\u00f3n como un sistema por capas\":\"Think of the substation as a layered system\",\"M\u00e1s all\u00e1 de un conjunto de equipos, una subestaci\u00f3n el\u00e9ctrica debe analizarse como un\":\"Beyond a collection of equipment, an electrical substation must be analyzed as an\",\"sistema integrado\":\"integrated system\",\", donde cada capa t\u00e9cnica cumple una funci\u00f3n espec\u00edfica y condiciona el desempe\u00f1o global.\":\", where each technical layer serves a specific function and determines overall performance.\",\"Analizar el sistema de forma ordenada, sin perder la visi\u00f3n integral\":\"Analyze the system methodically without losing the overall perspective\",\"Entender c\u00f3mo las decisiones t\u00e9cnicas impactan la operaci\u00f3n y el negocio\":\"Understand how technical decisions affect operations and the business\",\"Anticipar riesgos, limitaciones y trade-offs antes de la ejecuci\u00f3n\":\"Anticipate risks, constraints, and trade-offs before execution\",\"Capas \u2260 equipos aislados\":\"Layers \u2260 isolated equipment\",\"Capas = decisiones t\u00e9cnicas con impacto a largo plazo\":\"Layers = technical decisions with long-term impact\",\"(Capa de Potencia del Sistema)\":\"(System Power Layer)\",\"Decide c\u00f3mo fluye, se transforma y se distribuye la energ\u00eda, condicionando la capacidad instalada, el crecimiento futuro y la mantenibilidad del sistema.\":\"Determines how energy flows, is transformed, and is distributed, shaping installed capacity, future growth, and system maintainability.\",\"Riesgos\":\"Risks\",\"Explorar capa\":\"Explore layer\",\"(Capa de Protecci\u00f3n)\":\"(Protection Layer)\",\"Define c\u00f3mo se detectan y a\u00edslan las fallas, y qu\u00e9 tan controlado es su impacto sobre personas, equipos y continuidad operativa.\":\"Defines how faults are detected and isolated, and how effectively their impact on people, equipment, and operational continuity is controlled.\",\"(Capa de Control)\":\"(Control Layer)\",\"Establece c\u00f3mo se opera el sistema en condiciones normales y de contingencia, determinando orden, repetibilidad y seguridad operativa.\":\"Establishes how the system is operated under normal and contingency conditions, determining order, repeatability, and operational safety.\",\"Integraci\u00f3n\":\"Integration\",\"(Capa de Comunicaciones)\":\"(Communications Layer)\",\"Define el nivel de visibilidad y trazabilidad del sistema, habilitando supervisi\u00f3n, an\u00e1lisis de eventos y toma de decisiones informadas.\":\"Defines the system's level of visibility and traceability, enabling supervision, event analysis, and informed decision-making.\",\"Capa\":\"Layer\",\"T\u00edtulo\":\"Title\",\"Descripci\u00f3n\":\"Description\",\"Volver\":\"Back\",\"Ver impacto en la operaci\u00f3n\":\"View operational impact\",\"Ir a tabla CAPEX\/OPEX\":\"Go to CAPEX\/OPEX table\",\"Elementos t\u00e9cnicos\":\"Technical elements\",\"(ingenier\u00eda, integraci\u00f3n, decisiones de alcance)\":\"(engineering, integration, scope decisions)\",\"Las capas t\u00e9cnicas y su impacto en la operaci\u00f3n\":\"Technical Layers and Their Operational Impact\",\"Cada capa cumple una funci\u00f3n espec\u00edfica, pero su verdadero valor aparece cuando se integran correctamente dentro del sistema el\u00e9ctrico. En esta secci\u00f3n revisaremos el\":\"Each layer serves a specific function, but its true value emerges when the layers are properly integrated within the electrical system. In this section, we examine the\",\"impacto operativo\":\"operational impact\",\"de cada etapa desde una perspectiva\":\"of each stage from a\",\", entendiendo que las decisiones t\u00e9cnicas tienen implicaciones directas en costos, riesgos y desempe\u00f1o.\":\"perspective, recognizing that technical decisions have direct implications for costs, risks, and performance.\",\"CAPEX: agrupa las decisiones de inversi\u00f3n que definen la arquitectura, capacidad y configuraci\u00f3n del sistema durante las fases de dise\u00f1o y ejecuci\u00f3n del proyecto.\":\"CAPEX encompasses the investment decisions that define system architecture, capacity, and configuration during the project's design and execution phases.\",\"OPEX: se materializa a lo largo de la vida operativa del sistema y est\u00e1 directamente influenciado por las decisiones de CAPEX, impactando mantenimiento, eficiencia, confiabilidad y disponibilidad.\":\"OPEX materializes throughout the system's operating life and is directly influenced by CAPEX decisions, affecting maintenance, efficiency, reliability, and availability.\",\"Desde\":\"From\",\", la decisi\u00f3n \u00f3ptima no se basa en\":\", the optimal decision is not based on\",\"de forma aislada, sino en su impacto conjunto sobre el\":\"in isolation, but on their combined impact on\",\"costo total de propiedad (TCO)\":\"total cost of ownership (TCO)\",\"y el desempe\u00f1o del sistema a lo largo de su ciclo de vida, tema que se aborda en la siguiente secci\u00f3n\":\"and system performance throughout its life cycle, as discussed in the next section\",\"Impacto operativo\":\"Operational impact\",\"Ver impacto a nivel sistema \u2192\":\"View system-level impact \u2192\",\"Impacto en la\":\"Impact on\",\"capacidad y arquitectura del sistema\":\"system capacity and architecture\",\"y\":\"and\",\"en su mantenibilidad, eficiencia y p\u00e9rdidas operativas\":\"its maintainability, efficiency, and operational losses\",\"Impacto t\u00e9cnico t\u00edpico en CAPEX\":\"Typical technical impact on CAPEX\",\"Dimensionamiento de transformadores, celdas y barras\":\"Sizing of transformers, switchgear, and busbars\",\"Obra civil \/ espacio \/ expansi\u00f3n futura\":\"Civil works \/ space \/ future expansion\",\"Selecci\u00f3n de tecnolog\u00eda (AIS\/GIS), niveles de tensi\u00f3n\":\"Technology selection (AIS\/GIS), voltage levels\",\"Impacto t\u00e9cnico t\u00edpico en OPEX\":\"Typical technical impact on OPEX\",\"P\u00e9rdidas, calentamientos y eficiencia operativa\":\"Losses, heating, and operating efficiency\",\"Accesibilidad, maniobrabilidad y tiempos de mantenimiento\":\"Accessibility, operability, and maintenance times\",\"Repuestos, MTBF y ventanas de paro\":\"Spare parts, MTBF, and shutdown windows\",\", estas fallas no son elementos aislados, sino el resultado de decisiones de dise\u00f1o e integraci\u00f3n tomadas en etapas tempranas\":\", these failures are not isolated issues, but the result of design and integration decisions made at early stages\",\"Fallas t\u00edpicas\":\"Typical failures\",\"Sobredimensionamiento\":\"Oversizing\",\"que puede incrementar costos innecesarios\":\"which can increase unnecessary costs\",\"Subdimensionamiento\":\"Undersizing\",\"que limita la operaci\u00f3n desde el primer d\u00eda.\":\"which limits operation from day one.\",\"En dise\u00f1o e instalaci\u00f3n de aislamiento el\u00e9ctrico\":\"In electrical insulation design and installation\",\"Deficiencias o discrepancias en conexiones\":\"Connection deficiencies or discrepancies\",\"En c\u00e1lculo e instalaci\u00f3n de sistemas de puesta a tierra\":\"In grounding-system calculation and installation\",\"Errores en selecci\u00f3n e integraci\u00f3n de equipos de potencia\":\"Errors in power-equipment selection and integration\",\"Impacto en el\":\"Impact on the\",\"esquema y alcance de protecci\u00f3n\":\"protection scheme and scope\",\"la selectividad, capacidad de diagn\u00f3sticos y tiempos de recuperaci\u00f3n operativa\":\"selectivity, diagnostic capability, and operational recovery times\",\"Transformadores de instrumento (TC\/TP) y su clase de precisi\u00f3n\":\"Instrument transformers (CT\/VT) and their accuracy class\",\"Arquitectura de protecciones (esquemas, redundancia, respaldo)\":\"Protection architecture (schemes, redundancy, backup)\",\"Circuitos de disparo, pruebas y cableado asociado\":\"Trip circuits, testing, and associated wiring\",\"Tiempo de diagn\u00f3stico y localizaci\u00f3n de fallas\":\"Fault diagnosis and location time\",\"Falsos disparos \/ indisponibilidad por mala coordinaci\u00f3n\":\"False trips \/ unavailability caused by poor coordination\",\"Calidad de registros de eventos y ajuste peri\u00f3dico\":\"Quality of event records and periodic settings review\",\", estas desviaciones suelen originarse en\":\", these deviations usually originate in\",\"decisiones de dise\u00f1o y coordinaci\u00f3n\":\"design and coordination decisions\",\"tomadas en fases tempranas del proyecto. En esta capa se define\":\"made during early project phases. This layer defines\",\"c\u00f3mo se detectan y a\u00edslan las fallas\":\"how faults are detected and isolated\",\", una protecci\u00f3n mal coordinada no suele fallar en pruebas, sino durante la operaci\u00f3n real.\":\"; poorly coordinated protection usually fails not during testing, but during actual operation.\",\"Falta de selectividad entre protecciones\":\"Lack of selectivity between protection devices\",\"Ajustes de protecci\u00f3n incorrectos o inconsistentes\":\"Incorrect or inconsistent protection settings\",\"Elecci\u00f3n incorrecta en circuitos de disparo\":\"Incorrect trip-circuit selection\",\"Servicios auxiliares no verificados\":\"Unverified auxiliary services\",\"Impacto Operativo\":\"Operational Impact\",\"arquitectura de control y servicios auxiliares\":\"control architecture and auxiliary services\",\"y en la operabilidad, seguridad y consistencia de la operaci\u00f3n\":\"and operational usability, safety, and consistency\",\"Tableros, l\u00f3gicas, enclavamientos y secuencias\":\"Panels, logic, interlocks, and sequences\",\"Servicios auxiliares AC\/DC (respaldo y continuidad)\":\"AC\/DC auxiliary services (backup and continuity)\",\"HMI \/ mandos locales \/ se\u00f1alizaci\u00f3n y alarmas\":\"HMI \/ local controls \/ indication and alarms\",\"Errores humanos por operaci\u00f3n ambigua o incompleta\":\"Human errors caused by ambiguous or incomplete operation\",\"Tiempo de reposici\u00f3n ante contingencia (procedimientos y l\u00f3gica)\":\"Restoration time after a contingency (procedures and logic)\",\"Disponibilidad por calidad de auxiliares y mantenimiento\":\"Availability based on auxiliary-system quality and maintenance\",\"estas desviaciones rara vez se manifiestan como fallas el\u00e9ctricas, sino como\":\"these deviations rarely appear as electrical faults, but rather as\",\"problemas operativos\":\"operational problems\",\"afectando directamente la confiabilidad del sistema.\":\"directly affecting system reliability.\",\"Secuencias incorrectas de operaci\u00f3n\":\"Incorrect operating sequences\",\"Enclavamiento incompletos o inconsistentes\":\"Incomplete or inconsistent interlocks\",\"Informaci\u00f3n incorrecta\":\"Incorrect information\",\"Dependencia excesiva de personal humano\":\"Excessive dependence on personnel\",\"Ver impacto a nivel sistema\u2192\":\"View system-level impact \u2192\",\"infraestructura de red y supervisi\u00f3n\":\"network and supervisory infrastructure\",\"visibilidad, trazabilidad y capacidad de respuesta operativa\":\"visibility, traceability, and operational response capability\",\"basada en datos\":\"based on data\",\"CAPEX t\u00edpicamente impacta\":\"CAPEX typically affects\",\"Topolog\u00eda de red, canalizaciones y puntos de comunicaci\u00f3n\":\"Network topology, raceways, and communication points\",\"Supervisi\u00f3n\/registro (monitoreo, alarmas, tendencias)\":\"Supervision\/recording (monitoring, alarms, trends)\",\"Sincronizaci\u00f3n de tiempo y calidad de eventos\":\"Time synchronization and event quality\",\"OPEX t\u00edpicamente impacta\":\"OPEX typically affects\",\"Diagn\u00f3stico remoto vs. visitas a sitio (tiempo y continuidad)\":\"Remote diagnostics vs. site visits (time and continuity)\",\"Trazabilidad de incidentes y an\u00e1lisis post-evento\":\"Incident traceability and post-event analysis\",\"Riesgo de \u201coperar a ciegas\u201d por falta de datos confiables\":\"Risk of \u201coperating blind\u201d due to a lack of reliable data\",\"una arquitectura de comunicaciones deficiente no suelen\":\"a deficient communications architecture does not usually\",\"detener el sistema\":\"stop the system\",\", pero si limita la capacidad de entenderlo, diagnosticarlo y tomas decisiones oportunas.\":\", but it does limit the ability to understand it, diagnose it, and make timely decisions.\",\"Fallas T\u00edpicas\":\"Typical Failures\",\"P\u00e9rdida de comunicaci\u00f3n\":\"Loss of communication\",\"Falta de sincronizaci\u00f3n\":\"Lack of synchronization\",\"Integraci\u00f3n incompleta a sistemas de supervisi\u00f3n\":\"Incomplete integration with supervisory systems\",\"Operaci\u00f3n sin informaci\u00f3n\":\"Operation without information\",\"Siguiente paso recomendado\":\"Recommended Next Step\",\"Convierte las capas en una decisi\u00f3n accionable\":\"Turn the layers into an actionable decision\",\"Si ya identificaste la\":\"If you have already identified the\",\", usa el autodiagn\u00f3stico para estimar el\":\", use the self-assessment to estimate the\",\"nivel de se\u00f1al\":\"signal level\",\"y ver tu\":\"and view your\",\"urgencia\":\"urgency\",\"en el man\u00f3metro (sin registro, solo dise\u00f1o).\":\"on the gauge (no registration; design only).\",\"Evaluar mi subestaci\u00f3n (autodiagn\u00f3stico) \u2192\":\"Assess my substation (self-assessment) \u2192\",\"Entender impacto CAPEX \/ OPEX \u2192\":\"Understand CAPEX \/ OPEX impact \u2192\",\"Impacto el sistema y riesgos\":\"System Impact and Risks\",\"Las decisiones que se han tomado hasta este momento no s\u00f3lo tienen un impacto exclusivamente t\u00e9cnico.\":\"The decisions made up to this point do not have a purely technical impact.\",\"Falla t\u00e9cnica \u2192 P\u00e9rdida financiera (ejemplos)\":\"Technical failure \u2192 Financial loss (examples)\",\"Riesgo\":\"Risk\",\"Falla t\u00edpica\":\"Typical failure\",\"\u00bfQu\u00e9 detona en operaci\u00f3n?\":\"What does it trigger during operation?\",\"\u00bfD\u00f3nde pega en dinero?\":\"Where does it affect costs?\",\"Protecciones mal coordinadas\":\"Poorly coordinated protection\",\"Disparos innecesarios \/ restablecimientos frecuentes\":\"Unnecessary trips \/ frequent resets\",\"Horas-hombre, scrap, penalizaciones por paro y da\u00f1os en equipos cr\u00edticos\":\"Labor hours, scrap, shutdown penalties, and damage to critical equipment\",\"Capacidad \/ redundancia subdimensionada\":\"Undersized capacity \/ redundancy\",\"Operaci\u00f3n al l\u00edmite, sin margen ante crecimiento\":\"Operation at the limit, with no margin for growth\",\"CAPEX correctivo no planeado + OPEX por paros, sobrecargas y mantenimiento reactivo\":\"Unplanned corrective CAPEX + OPEX from shutdowns, overloads, and reactive maintenance\",\"Comunicaciones incompletas (SCADA\/registro)\":\"Incomplete communications (SCADA\/recording)\",\"\u201cOperar a ciegas\u201d, diagn\u00f3stico lento y decisiones tard\u00edas\":\"\u201cOperating blind,\u201d slow diagnostics, and delayed decisions\",\"Tiempo de recuperaci\u00f3n mayor (MTTR), visitas a sitio, p\u00e9rdidas por continuidad y calidad\":\"Longer recovery time (MTTR), site visits, continuity losses, and quality losses\",\"L\u00f3gicas de control sin criterios de seguridad\":\"Control logic without safety criteria\",\"Interlocks ausentes, maniobras inseguras, incidentes\":\"Missing interlocks, unsafe switching, incidents\",\"Riesgo HSE, multas, paros de seguridad y costos de siniestros\":\"HSE risk, fines, safety shutdowns, and incident costs\",\"Nota t\u00e9cnica: valores y efectos son estimativos; deben validarse con datos operativos y financieros del sitio.\":\"Technical note: values and effects are estimates and must be validated using the site's operational and financial data.\",\"Desde una perspectiva de\":\"From a\",\"estas decisiones definen variables cr\u00edticas que preocupan especialmente a\":\"perspective, these decisions define critical variables of particular concern to\",\"Procurement, Ingenier\u00eda, Finanzas y Direcci\u00f3n\":\"Procurement, Engineering, Finance, and Executive Management\",\", como costos totales, riesgos operativos y continuidad del negocio y flexibilidad futura.\":\", including total costs, operational risks, business continuity, and future flexibility.\",\"En este contexto, existen dimensiones fundamentales a considerar en la toma de decisiones\":\"In this context, there are fundamental dimensions to consider in decision-making\",\"(Como CAPEX y OPEX, entre otras)\":\"(such as CAPEX and OPEX, among others)\",\"La evaluaci\u00f3n correcta no se hace de forma aislada, sino considerando su impacto conjunto sobre el\":\"A proper assessment is not performed in isolation, but by considering their combined impact on\",\"y el desempe\u00f1o a lo largo de su ciclo de vida.\":\"and performance throughout the life cycle.\",\"Hay dos conceptos fundamentales en la decisi\u00f3n:\":\"There are two fundamental concepts in the decision:\",\"que son decisiones que definen la configuraci\u00f3n del sistema (una vez); y el\":\"which consists of decisions that define the system configuration (once); and\",\"que se materializa durante la operaci\u00f3n (mantenimiento, eficiencia, disponibilidad).\":\"which materializes during operation (maintenance, efficiency, availability).\",\"Momento de decisi\u00f3n:\":\"Decision point:\",\"Una proporci\u00f3n significativa de las variables que impactan el OPEX, los riesgos operativos y el TCO se define durante las fases de ingenier\u00eda conceptual, b\u00e1sica y de integraci\u00f3n, antes de la adquisici\u00f3n de los equipos principales.\":\"A significant share of the variables affecting OPEX, operational risk, and TCO is defined during conceptual, basic, and integration engineering, before the main equipment is purchased.\",\"Nota:\":\"Note:\",\"Desde Project Management, cada capa contribuye de forma distinta al CAPEX del proyecto y al OPEX de la operaci\u00f3n. La siguiente matriz resume c\u00f3mo las decisiones tomadas en cada capa se traducen en impactos econ\u00f3micos y operativos a lo largo del ciclo de vida del sistema.\":\"From a Project Management perspective, each layer contributes differently to project CAPEX and operating OPEX. The following matrix summarizes how decisions made in each layer translate into economic and operational impacts throughout the system life cycle.\",\"Impacto en CAPEX\":\"Impact on CAPEX\",\"Impacto en OPEX\":\"Impact on OPEX\",\"Capacidad, redundancia, crecimiento, interfaces f\u00edsicas.\":\"Capacity, redundancy, growth, physical interfaces.\",\"P\u00e9rdidas t\u00e9cnicas, accesibilidad, mantenibilidad, confiabilidad.\":\"Technical losses, accessibility, maintainability, reliability.\",\"Arquitectura de protecci\u00f3n y coordinaci\u00f3n de estudios.\":\"Protection architecture and study coordination.\",\"Continuidad operativa, severidad de fallas, tiempos de recuperaci\u00f3n.\":\"Operational continuity, fault severity, recovery times.\",\"Servicios auxiliares, l\u00f3gica de operaci\u00f3n, integraci\u00f3n funcional.\":\"Auxiliary services, operating logic, functional integration.\",\"Errores operativos, disponibilidad, seguridad de maniobras.\":\"Operational errors, availability, switching safety.\",\"Topolog\u00eda y redundancia de comunicaciones, infraestructura.\":\"Communications topology and redundancy, infrastructure.\",\"Monitoreo, mantenimiento predictivo, toma de decisiones basada en datos.\":\"Monitoring, predictive maintenance, data-driven decision-making.\",\"una proporci\u00f3n significativa del OPEX queda definida antes de adquirir el primer equipo, como resultado directo de decisiones de dise\u00f1o, arquitectura e integraci\u00f3n tomadas durante el proyecto.\":\"a significant share of OPEX is determined before the first piece of equipment is purchased, as a direct result of design, architecture, and integration decisions made during the project.\",\"Ninguna capa t\u00e9cnica\":\"No technical layer\",\"mitiga estos impactos o riesgos de forma aislada, es la integraci\u00f3n coherente del sistema la que determina el desempe\u00f1o real durante la operaci\u00f3n.\":\"mitigates these impacts or risks in isolation; coherent system integration determines actual operating performance.\",\"Decisiones Ejecutivas Clave\":\"Key Executive Decisions\",\"Definir la arquitectura \u00f3ptima del sistema\":\"Define the optimal system architecture\",\"Evaluar el proyecto bajo una l\u00f3gica de costo total de propiedad (TCO)\":\"Evaluate the project using a total cost of ownership (TCO) approach\",\"Asegurar la integraci\u00f3n coherente entre capas t\u00e9cnicas\":\"Ensure coherent integration across technical layers\",\"La responsabilidad de estas decisiones\":\"Responsibility for these decisions\",\"No recae en un solo equipo, proveedor o disciplina\":\"Does not rest with a single team, supplier, or discipline\",\"Es una visi\u00f3n integral del sistema\":\"Requires an integrated view of the system\",\"validada desde Project Management y Direcci\u00f3n\":\"validated by Project Management and Executive Management\",\"Desde Project Management, estos riesgos no suelen originarse en un \u00fanico equipo o tecnolog\u00eda, sino en decisiones de dise\u00f1o, alcance e integraci\u00f3n tomadas en fases tempranas del proyecto, y se manifiestan durante la operaci\u00f3n.\":\"From a Project Management perspective, these risks usually do not originate in a single piece of equipment or technology, but in design, scope, and integration decisions made early in the project and revealed during operation.\",\"Paros no programados\":\"Unplanned Shutdowns\",\"Resultado de arquitecturas e integraciones deficientes entre capas, afectando directamente la continuidad operativa y los compromisos de producci\u00f3n.\":\"The result of deficient architecture and integration across layers, directly affecting operational continuity and production commitments.\",\"Riesgos a personas\":\"Risks to People\",\"Consecuencia de maniobras inseguras, protecciones no selectivas y l\u00f3gicas de operaci\u00f3n mal definidas, derivadas de decisiones de proyecto insuficientemente coordinadas.\":\"A consequence of unsafe switching, non-selective protection, and poorly defined operating logic resulting from insufficiently coordinated project decisions.\",\"Impacto en producci\u00f3n\":\"Production Impact\",\"P\u00e9rdida de disponibilidad y eventos el\u00e9ctricos de alto impacto que afectan indicadores clave del negocio, calidad del producto y cumplimiento de contratos.\":\"Loss of availability and high-impact electrical events that affect key business indicators, product quality, and contract compliance.\",\"Reprocesos t\u00e9cnicos\":\"Technical Rework\",\"Ajustes tard\u00edos provocados por interfaces no resueltas durante el dise\u00f1o, generando sobrecostos, retrasos y desviaciones del plan original.\":\"Late adjustments caused by unresolved interfaces during design, resulting in cost overruns, delays, and deviations from the original plan.\",\"Autodiagn\u00f3stico: \u00bfRenovar o instalar una subestaci\u00f3n industrial?\":\"Self-Assessment: Modernize or Install an Industrial Substation?\",\"Marca los enunciados que describen tu situaci\u00f3n actual. Este checklist no sustituye una evaluaci\u00f3n de ingenier\u00eda, pero ayuda a identificar se\u00f1ales tempranas y prioridades de an\u00e1lisis.\":\"Select the statements that describe your current situation. This checklist does not replace an engineering assessment, but it helps identify early warning signs and analysis priorities.\",\"Resultado\":\"Result\",\"Nivel de se\u00f1al\":\"Signal Level\",\"Baja\":\"Low\",\"Media\":\"Medium\",\"Alta\":\"High\",\"Cr\u00edtica\":\"Critical\",\"Baja urgencia\":\"Low urgency\",\"Selecciona items para ver la clasificaci\u00f3n.\":\"Select items to view the classification.\",\"Selecciona las condiciones reales de tu subestaci\u00f3n para estimar el nivel de se\u00f1al.\":\"Select the actual conditions of your substation to estimate the signal level.\",\"Bajo\":\"Low\",\"Medio\":\"Medium\",\"Alto\":\"High\",\"Reiniciar\":\"Reset\",\"C\u00f3mo interpretar tu resultado t\u00e9cnico\":\"How to Interpret Your Technical Result\",\"Reporte Personalizado de Riesgos\":\"Personalized Risk Report\",\"Ver impacto CAPEX\/OPEX\":\"View CAPEX\/OPEX Impact\",\"Interpretaci\u00f3n orientativa: el valor real depende de contexto operativo, criticidad y arquitectura del sistema.\":\"Indicative interpretation: the actual value depends on operating context, criticality, and system architecture.\",\"Crecimiento de carga y expansi\u00f3n\":\"Load Growth and Expansion\",\"Se\u00f1ales de que la demanda super\u00f3 la capacidad planeada o que el sistema qued\u00f3 \u201cjusto\u201d.\":\"Signs that demand exceeded planned capacity or that the system has no remaining margin.\",\"Se agregaron nuevas l\u00edneas\/procesos y el sistema el\u00e9ctrico qued\u00f3 sin reservas claras.\":\"New lines\/processes were added and the electrical system has no clearly defined reserve capacity.\",\"La expansi\u00f3n requiere maniobras frecuentes o configuraciones \u201ctemporales\u201d para operar.\":\"Expansion requires frequent switching or \u201ctemporary\u201d configurations to operate.\",\"La subestaci\u00f3n actual limita ampliaciones futuras (espacio, canales, salidas, patios).\":\"The current substation limits future expansion (space, raceways, feeders, yards).\",\"Confiabilidad y continuidad\":\"Reliability and Continuity\",\"Se\u00f1ales de degradaci\u00f3n: paros, disparos, comportamiento el\u00e9ctrico no consistente.\":\"Signs of degradation: shutdowns, trips, and inconsistent electrical behavior.\",\"Ha tenido\":\"It has experienced\",\"paros no programados\":\"unplanned shutdowns\",\"relacionados con el sistema el\u00e9ctrico en el \u00faltimo a\u00f1o.\":\"related to the electrical system during the past year.\",\"Hay disparos intempestivos o eventos el\u00e9ctricos que detienen producci\u00f3n.\":\"There are nuisance trips or electrical events that stop production.\",\"Se presenta variabilidad operativa: \u201ca veces funciona, a veces no\u201d sin causa clara.\":\"Operational variability occurs: \u201csometimes it works, sometimes it does not,\u201d with no clear cause.\",\"El restablecimiento post-evento es lento por falta de trazabilidad o diagn\u00f3stico.\":\"Post-event restoration is slow because of insufficient traceability or diagnostics.\",\"Obsolescencia y mantenibilidad\":\"Obsolescence and Maintainability\",\"Se\u00f1ales de que el ciclo de vida est\u00e1 cerca del l\u00edmite o el mantenimiento se volvi\u00f3 reactivo.\":\"Signs that the life cycle is nearing its limit or maintenance has become reactive.\",\"Antig\u00fcedad de la subestaci\u00f3n:\":\"Substation age:\",\"m\u00e1s de 20 a\u00f1os\":\"more than 20 years\",\"(o tecnolog\u00eda fuera de soporte).\":\"(or unsupported technology).\",\"El mantenimiento es principalmente correctivo (se atiende despu\u00e9s del evento).\":\"Maintenance is mainly corrective (performed after an event).\",\"Es dif\u00edcil conseguir refacciones\/soporte o hay documentaci\u00f3n incompleta.\":\"Spare parts\/support are difficult to obtain, or documentation is incomplete.\",\"Hay puntos calientes, conexiones con retrabajos frecuentes o accesos limitados para mantenimiento.\":\"There are hot spots, connections requiring frequent rework, or limited maintenance access.\",\"Operaci\u00f3n, seguridad y visibilidad\":\"Operation, Safety, and Visibility\",\"Se\u00f1ales de que falta control, estandarizaci\u00f3n o informaci\u00f3n para operar con certidumbre.\":\"Signs that control, standardization, or information is insufficient for reliable operation.\",\"Cuenta con\":\"It has\",\"monitoreo remoto en tiempo real\":\"real-time remote monitoring\",\"(eventos, alarmas, mediciones, tendencias).\":\"(events, alarms, measurements, trends).\",\"Estado de\":\"Status of\",\"esquemas de protecci\u00f3n\":\"protection schemes\",\": coordinaci\u00f3n, ajustes y pruebas est\u00e1n documentados y vigentes.\":\": coordination, settings, and tests are documented and current.\",\"Cumple con el\":\"It complies with the\",\"C\u00f3digo de Red vigente\":\"current Grid Code\",\"(evidencia, medici\u00f3n y seguimiento).\":\"(evidence, measurement, and follow-up).\",\"La operaci\u00f3n depende de conocimiento de pocas personas (alta dependencia del factor humano).\":\"Operation depends on the knowledge of a few people (high dependence on the human factor).\",\"Los eventos no quedan bien registrados; se decide sin datos consistentes.\":\"Events are not properly recorded; decisions are made without consistent data.\",\"Se requiere mejorar protocolos, enclavamientos o est\u00e1ndares de operaci\u00f3n segura.\":\"Protocols, interlocks, or safe operating standards need improvement.\",\"Fragmentaci\u00f3n de proyecto (interfaces)\":\"Project Fragmentation (Interfaces)\",\"Se\u00f1ales de que la integraci\u00f3n entre ingenier\u00eda, suministro y obra est\u00e1 generando fricci\u00f3n o riesgo.\":\"Signs that integration among engineering, supply, and construction is creating friction or risk.\",\"Hay cambios en sitio que no regresan a ingenier\u00eda (planos \u201cas-built\u201d incompletos o tard\u00edos).\":\"Site changes are not fed back to engineering (incomplete or late as-built drawings).\",\"Las pruebas de puesta en marcha revelan problemas de interfaz (cableado, se\u00f1ales, coordinaci\u00f3n).\":\"Commissioning tests reveal interface problems (wiring, signals, coordination).\",\"Reporte personalizado de riesgos\":\"Personalized Risk Report\",\"Se generar\u00e1 un PDF con tus respuestas y nivel de urgencia.\":\"A PDF will be generated with your answers and urgency level.\",\"Puntaje: 0\/0\":\"Score: 0\/0\",\"Urgencia: \u2014\":\"Urgency: \u2014\",\"\u00cdtems: 0\":\"Items: 0\",\"Correo para env\u00edo del PDF\":\"Email address for PDF delivery\",\"Ingresa un correo v\u00e1lido.\":\"Enter a valid email address.\",\"Enviar reporte\":\"Send Report\",\"Descargar PDF\":\"Download PDF\",\"Tu reporte se prepara con los datos visibles en esta p\u00e1gina.\":\"Your report is prepared using the data visible on this page.\",\"\u00bfMarcaste varios puntos?\":\"Did you select several items?\",\"Contin\u00faa la evaluaci\u00f3n con el\":\"Continue the assessment with the\",\"Checklist Ejecutivo para Subestaciones Industriales\":\"Executive Checklist for Industrial Substations\",\"Descargar checklist\":\"Download Checklist\",\"La\":\"The\",\"Quinta Capa\":\"Fifth Layer\",\"La integraci\u00f3n total como enfoque para reducir riesgos t\u00e9cnicos y operativos.\":\"Full integration as an approach to reducing technical and operational risks.\",\"La Quinta Capa no es una tecnolog\u00eda adicional.\":\"The Fifth Layer is not an additional technology.\",\"Es un enfoque de integraci\u00f3n y responsabilidad del sistema completo.\":\"It is an approach to integration and accountability for the complete system.\",\"Turnkey \/ Proyecto Llave en Mano\":\"Turnkey Project\",\"\u00bfQu\u00e9 es?\":\"What is it?\",\", la Quinta Capa coordina decisiones de\":\", the Fifth Layer coordinates decisions across\",\"para que el sistema opere como una\":\"so the system operates as a\",\"unidad coherente\":\"coherent unit\",\", y no como la suma de soluciones independientes.\":\", rather than as the sum of independent solutions.\",\"Se materializa com\u00fanmente bajo esquemas\":\"It is commonly implemented through\",\", donde la responsabilidad del desempe\u00f1o del sistema recae en un solo integrador.\":\"delivery models, where responsibility for system performance rests with a single integrator.\",\"Te quita de encima:\":\"It eliminates:\",\"Interfases \u201csin due\u00f1o\u201d entre proveedores, disciplinas y etapas.\":\"\u201cOwnerless\u201d interfaces among suppliers, disciplines, and project stages.\",\"Re-trabajos y cambios tard\u00edos que se vuelven\":\"Rework and late changes that become\",\"durante puesta en marcha y operaci\u00f3n.\":\"during commissioning and operation.\",\"Decisiones aisladas que comprometen\":\"Isolated decisions that compromise\",\"continuidad, seguridad\":\"continuity, safety\",\"y escalabilidad.\":\"and scalability.\",\"Idea clave:\":\"Key idea:\",\"cuando nadie es due\u00f1o del sistema completo, el riesgo se fragmenta\u2026 y se materializa en operaci\u00f3n.\":\"when no one owns the complete system, risk becomes fragmented\u2014and materializes during operation.\",\"\u00bfPor qu\u00e9 surge la Quinta Capa?\":\"Why Does the Fifth Layer Emerge?\",\"Muchos riesgos operativos\":\"Many operational risks\",\"no se originan en fallas de equipos\":\"do not originate in equipment failures\",\", sino en interfaces no resueltas.\":\", but in unresolved interfaces.\",\"Gran parte del\":\"Much of the\",\"y del riesgo operativo queda definido antes de la compra del primer equipo.\":\"and operational risk is determined before the first piece of equipment is purchased.\",\"Las desviaciones m\u00e1s costosas aparecen cuando las decisiones se toman por\":\"The most expensive deviations arise when decisions are made by\",\"capa, proveedor o disciplina\":\"layer, supplier, or discipline\",\", sin una visi\u00f3n sist\u00e9mica.\":\", without a systems perspective.\",\"La Quinta Capa surge como respuesta a este patr\u00f3n: cuando la integraci\u00f3n no se gestiona expl\u00edcitamente, los problemas aparecen en puesta en marcha y se vuelven OPEX.\":\"The Fifth Layer responds to this pattern: when integration is not explicitly managed, problems emerge during commissioning and become OPEX.\",\"\u00bfQu\u00e9 integra la Quinta Capa?\":\"What Does the Fifth Layer Integrate?\",\"Arquitectura el\u00e9ctrica\":\"Electrical architecture\",\"(capacidad, redundancia, crecimiento).\":\"(capacity, redundancy, growth).\",\"Esquemas de protecci\u00f3n\":\"Protection schemes\",\"y coordinaci\u00f3n.\":\"and coordination.\",\"L\u00f3gicas de control\":\"Control logic\",\", servicios auxiliares y operaci\u00f3n humana.\":\", auxiliary services, and human operation.\",\"Comunicaciones\":\"Communications\",\", supervisi\u00f3n, sincronizaci\u00f3n y trazabilidad.\":\", supervision, synchronization, and traceability.\",\"Interfaces\":\"Interfaces\",\"entre disciplinas, proveedores y etapas del proyecto.\":\"among disciplines, suppliers, and project stages.\",\"Asegura integraci\u00f3n transversal entre capas t\u00e9cnicas, alineando decisiones de ingenier\u00eda, procurement y obra bajo un mismo criterio de desempe\u00f1o.\":\"Ensures cross-functional integration among technical layers, aligning engineering, procurement, and construction decisions under a single performance criterion.\",\"Impacto de la Quinta Capa en CAPEX, OPEX y Riesgos\":\"Fifth-Layer Impact on CAPEX, OPEX, and Risks\",\"Reduce reprocesos y cambios tard\u00edos.\":\"Reduces rework and late changes.\",\"Evita sobredimensionamientos defensivos.\":\"Avoids defensive oversizing.\",\"Clarifica alcances, interfaces y responsabilidades.\":\"Clarifies scopes, interfaces, and responsibilities.\",\"Estabiliza la operaci\u00f3n desde el arranque.\":\"Stabilizes operation from startup.\",\"Disminuye tiempos de diagn\u00f3stico y recuperaci\u00f3n.\":\"Reduces diagnostic and recovery times.\",\"Reduce errores humanos y ambig\u00fcedades operativas.\":\"Reduces human errors and operational ambiguity.\",\"Reduce probabilidad de paros no programados.\":\"Reduces the likelihood of unplanned shutdowns.\",\"Disminuye riesgos a equipos y personas.\":\"Reduces risks to equipment and people.\",\"Reduce eventos el\u00e9ctricos de alto impacto.\":\"Reduces high-impact electrical events.\",\"Desde una \u00f3ptica de\":\"From a\",\", esto cambia el enfoque: de gestionar contratos o disciplinas aisladas, a gestionar el\":\"perspective, this changes the approach from managing isolated contracts or disciplines to managing\",\"desempe\u00f1o integral del sistema\":\"the system's overall performance\",\"a lo largo de su ciclo de vida, habilitando evaluaci\u00f3n por\":\"throughout its life cycle, enabling evaluation by\",\"riesgo asumido\":\"assumed risk\",\"desempe\u00f1o esperado\":\"expected performance\",\"\u00bfCu\u00e1ndo tiene sentido aplicar la Quinta Capa?\":\"When Does It Make Sense to Apply the Fifth Layer?\",\"El proyecto involucra\":\"The project involves\",\"m\u00faltiples proveedores o tecnolog\u00edas\":\"multiple suppliers or technologies\",\"Los costos por paro o indisponibilidad son\":\"Shutdown or unavailability costs are\",\"altos\":\"high\",\"Se requiere alta\":\"High\",\"confiabilidad, seguridad o trazabilidad\":\"reliability, safety, or traceability is required\",\"El plan estrat\u00e9gico contempla\":\"The strategic plan includes\",\"crecimientos o adaptaciones\":\"future growth or adaptations\",\"futuras.\":\".\",\"Se busca reducir riesgos\":\"The goal is to reduce risks\",\"desde el dise\u00f1o\":\"from the design stage\",\", no corregirlos en operaci\u00f3n.\":\", rather than correcting them during operation.\",\"Cuando la integraci\u00f3n del sistema se gestiona de forma expl\u00edcita, el proyecto deja de depender de correcciones tard\u00edas y comienza a generar valor desde su puesta en operaci\u00f3n.\":\"When system integration is explicitly managed, the project no longer depends on late corrections and begins creating value from commissioning onward.\",\"Descargar checklist ejecutivo\":\"Download Executive Checklist\",\"Lecturas relacionadas\":\"Related Reading\",\"Bloque de investigaci\u00f3n y actualizaci\u00f3n.\":\"Research and update section.\",\"Operaci\u00f3n\":\"Operations\",\"Mantenimiento de subestaciones el\u00e9ctricas\":\"Electrical Substation Maintenance\",\"Claves para confiabilidad, vida \u00fatil y continuidad operativa.\":\"Key considerations for reliability, service life, and operational continuity.\",\"Ver entrada \u2192\":\"View Article \u2192\",\"Modernizaci\u00f3n\":\"Modernization\",\"Diagn\u00f3stico y modernizaci\u00f3n de sistemas el\u00e9ctricos\":\"Electrical System Assessment and Modernization\",\"C\u00f3mo priorizar acciones sin sobredimensionar inversiones.\":\"How to prioritize actions without oversizing investments.\",\"Evaluaci\u00f3n t\u00e9cnica previa a proyectos EPC\":\"Technical Assessment Before EPC Projects\",\"Checklist y criterios para alinear ingenier\u00eda y procurement.\":\"Checklist and criteria for aligning engineering and procurement.\",\"Siguiente paso\":\"Next Step\",\"Un diagn\u00f3stico t\u00e9cnico temprano permite definir alcance, riesgos y alternativas antes de comprometer decisiones dif\u00edciles de revertir.\":\"An early technical assessment helps define scope, risks, and alternatives before committing to decisions that are difficult to reverse.\",\"\u00bfEst\u00e1s evaluando la necesidad o modernizaci\u00f3n de una subestaci\u00f3n?\":\"Are you evaluating the need for a substation or its modernization?\",\"Podemos ayudarte a ordenar criterios t\u00e9cnicos desde ingenier\u00eda, operaci\u00f3n y procurement.\":\"We can help you organize technical criteria from engineering, operations, and procurement perspectives.\",\"Solicitar diagn\u00f3stico t\u00e9cnico\":\"Request a Technical Assessment\",\"Subestaci\u00f3n el\u00e9ctrica industrial\":\"Industrial electrical substation\",\"Evaluaci\u00f3n t\u00e9cnica previa\":\"Preliminary technical assessment\",\"Gesti\u00f3n de riesgos\":\"Risk management\",\"diagn\u00f3stico de confiabilidad el\u00e9ctrica, modernizaci\u00f3n de subestaciones, checklist t\u00e9cnico, ingenier\u00eda el\u00e9ctrica aplicada\":\"electrical reliability assessment, substation modernization, technical checklist, applied electrical engineering\",\"Autoridad t\u00e9cnica y normativas\":\"Technical Authority and Standards\",\"Criterios de dise\u00f1o y buenas pr\u00e1cticas basadas en normativas y est\u00e1ndares aplicables. (Sellos visuales conceptuales).\":\"Design criteria and good practices based on applicable regulations and standards. (Conceptual visual seals.)\",\"Cumplimiento y evidencia\":\"Compliance and evidence\",\"Protecci\u00f3n y confiabilidad\":\"Protection and reliability\",\"Interoperabilidad y pruebas\":\"Interoperability and testing\",\"Preguntas frecuentes sobre subestaciones el\u00e9ctricas industriales\":\"Frequently Asked Questions About Industrial Electrical Substations\",\"Respuestas breves para apoyar una toma de decisiones t\u00e9cnicas informada.\":\"Brief answers to support informed technical decision-making.\",\"\u00bfPara qu\u00e9 sirve una subestaci\u00f3n el\u00e9ctrica en una instalaci\u00f3n industrial?\":\"What is the purpose of an electrical substation in an industrial facility?\",\"Una subestaci\u00f3n el\u00e9ctrica permite\":\"An electrical substation makes it possible to\",\"recibir, transformar, proteger y distribuir\":\"receive, transform, protect, and distribute\",\"la energ\u00eda el\u00e9ctrica de forma segura y confiable hacia los procesos productivos. Su funci\u00f3n es adaptar la energ\u00eda a las condiciones reales de la operaci\u00f3n, garantizando continuidad, seguridad y capacidad de crecimiento del sistema el\u00e9ctrico industrial.\":\"electrical power safely and reliably to production processes. Its function is to adapt power to actual operating conditions, ensuring continuity, safety, and growth capacity for the industrial electrical system.\",\"\u00bfCu\u00e1ndo se vuelve necesaria una subestaci\u00f3n el\u00e9ctrica?\":\"When does an electrical substation become necessary?\",\"Una subestaci\u00f3n se vuelve necesaria cuando el sistema el\u00e9ctrico existente\":\"A substation becomes necessary when the existing electrical system\",\"a la demanda operativa. Esto suele ocurrir ante crecimiento de carga, expansi\u00f3n de planta, incorporaci\u00f3n de procesos cr\u00edticos, problemas recurrentes de confiabilidad o cuando la infraestructura instalada alcanza el fin de su vida \u00fatil.\":\"can no longer meet operational demand. This often occurs because of load growth, plant expansion, the addition of critical processes, recurring reliability issues, or installed infrastructure reaching the end of its service life.\",\"\u00bfCu\u00e1l es la diferencia entre dise\u00f1ar una subestaci\u00f3n por equipos y dise\u00f1arla por capas?\":\"What is the difference between designing a substation by equipment and designing it by layers?\",\"Dise\u00f1ar una subestaci\u00f3n por capas implica analizar el sistema como un conjunto integrado \u2014potencia, protecci\u00f3n, control y comunicaciones\u2014 en lugar de evaluar equipos de forma aislada. Este enfoque permite\":\"Designing a substation by layers means analyzing the system as an integrated whole\u2014power, protection, control, and communications\u2014instead of evaluating equipment in isolation. This approach makes it possible to\",\"anticipar impactos en CAPEX, OPEX y riesgos operativos\":\"anticipate impacts on CAPEX, OPEX, and operational risks\",\", facilitando decisiones t\u00e9cnicas m\u00e1s informadas y sostenibles a lo largo del ciclo de vida del proyecto.\":\", enabling more informed and sustainable technical decisions throughout the project life cycle.\",\"\u00bfC\u00f3mo impacta una subestaci\u00f3n mal dise\u00f1ada en los costos de operaci\u00f3n (OPEX)?\":\"How does a poorly designed substation affect operating costs (OPEX)?\",\"Una subestaci\u00f3n mal integrada puede generar\":\"A poorly integrated substation can cause\",\"mayores costos de mantenimiento\":\"higher maintenance costs\",\", p\u00e9rdidas t\u00e9cnicas, tiempos de indisponibilidad, reprocesos y dificultades para futuras expansiones. Muchas decisiones que parecen reducir la inversi\u00f3n inicial terminan incrementando el OPEX durante toda la vida \u00fatil del sistema.\":\", technical losses, downtime, rework, and difficulties with future expansions. Many decisions that appear to reduce the initial investment ultimately increase OPEX throughout the system's service life.\",\"\u00bfQu\u00e9 riesgos existen si no se eval\u00faan correctamente las capas de protecci\u00f3n y control?\":\"What risks arise if the protection and control layers are not properly assessed?\",\"La falta de una evaluaci\u00f3n adecuada en estas capas puede derivar en\":\"Inadequate assessment of these layers can result in\",\", disparos intempestivos, dificultad para diagnosticar fallas, riesgos a personas y una recuperaci\u00f3n lenta del sistema ante eventos el\u00e9ctricos. Estos riesgos suelen manifestarse durante la operaci\u00f3n, no en la etapa de construcci\u00f3n.\":\", nuisance trips, difficulty diagnosing faults, risks to people, and slow system recovery after electrical events. These risks usually appear during operation, not during construction.\",\"\u00bfEn qu\u00e9 casos conviene evaluar un proyecto EPC o llave en mano para una subestaci\u00f3n?\":\"When should an EPC or turnkey project be considered for a substation?\",\"Un esquema EPC o proyecto llave en mano suele ser conveniente cuando la subestaci\u00f3n es\":\"An EPC or turnkey project is often appropriate when the substation is\",\"cr\u00edtica para la operaci\u00f3n\":\"critical to operations\",\", existe alta complejidad t\u00e9cnica o m\u00faltiples interfaces entre disciplinas. Este enfoque ayuda a centralizar la responsabilidad t\u00e9cnica, coordinar pruebas y puesta en marcha, y reducir riesgos asociados a la fragmentaci\u00f3n del proyecto.\":\", involves high technical complexity, or has multiple interfaces among disciplines. This approach helps centralize technical responsibility, coordinate testing and commissioning, and reduce risks associated with project fragmentation.\",\"\u00bfQu\u00e9 es un diagn\u00f3stico t\u00e9cnico previo y por qu\u00e9 es importante antes de un proyecto de subestaci\u00f3n?\":\"What is a preliminary technical assessment, and why is it important before a substation project?\",\"Un diagn\u00f3stico t\u00e9cnico previo permite\":\"A preliminary technical assessment makes it possible to\",\"ordenar criterios de ingenier\u00eda, operaci\u00f3n y procurement\":\"organize engineering, operations, and procurement criteria\",\"antes de comprometer decisiones dif\u00edciles de revertir. Su objetivo no es imponer un modelo de ejecuci\u00f3n, sino identificar riesgos, alternativas t\u00e9cnicas y alcances reales del proyecto desde una visi\u00f3n integral.\":\"before committing to decisions that are difficult to reverse. Its purpose is not to impose a delivery model, but to identify risks, technical alternatives, and the project's actual scope from an integrated perspective.\",\"Este art\u00edculo forma parte de un conjunto de contenidos t\u00e9cnicos orientados a apoyar la toma de decisiones en proyectos el\u00e9ctricos industriales, desde mantenimiento y modernizaci\u00f3n hasta evaluaci\u00f3n previa de esquemas EPC.\":\"This article is part of a set of technical resources designed to support decision-making in industrial electrical projects, from maintenance and modernization to preliminary assessment of EPC delivery models.\",\"Subestaciones el\u00e9ctricas industriales: CAPEX, OPEX y riesgos\":\"Industrial Electrical Substations: CAPEX, OPEX, and Risks\",\"Gu\u00eda t\u00e9cnica y ejecutiva para modernizaci\u00f3n de subestaciones industriales: riesgos, CAPEX\/OPEX, autodiagn\u00f3stico y arquitectura por capas (NSIC).\":\"Technical and executive guide to industrial substation modernization: risks, CAPEX\/OPEX, self-assessment, and layered architecture (NSIC).\",\"Gu\u00eda\":\"Guide\",\"Autodiagn\u00f3stico de Riesgos de Subestaciones Industriales\":\"Industrial Substation Risk Self-Assessment\",\"Consultor\u00eda CAPEX\/OPEX y modernizaci\u00f3n de subestaciones industriales\":\"CAPEX\/OPEX Consulting and Industrial Substation Modernization\",\"Consultor\u00eda el\u00e9ctrica industrial \/ proyectos llave en mano\":\"Industrial electrical consulting \/ turnkey projects\",\"Industria (EPC, Manufactura, Miner\u00eda, Data Centers)\":\"Industry (EPC, Manufacturing, Mining, Data Centers)\",\"El valor est\u00e1 en la arquitectura, no en los componentes\":\"The value lies in the architecture, not the components\",\"Recomendado: validar reservas, documentaci\u00f3n y plan de crecimiento.\":\"Recommended: validate reserve capacity, documentation, and the growth plan.\",\"Urgencia media\":\"Medium urgency\",\"Recomendado: actualizar (protecciones\/medici\u00f3n\/monitoreo) y cerrar brechas de cumplimiento.\":\"Recommended: upgrade protection, metering, and monitoring, and close compliance gaps.\",\"Alta urgencia\":\"High urgency\",\"Recomendado: renovar\/modernizar por capas y eliminar causas de paro y operaci\u00f3n reactiva.\":\"Recommended: renovate\/modernize by layers and eliminate causes of shutdowns and reactive operation.\",\"Urgencia cr\u00edtica\":\"Critical urgency\",\"Recomendado: intervenir de forma prioritaria (continuidad, seguridad y capacidad).\":\"Recommended: take priority action focused on continuity, safety, and capacity.\",\"cr\u00edtico\":\"critical\",\"Power Layer \u00b7 Capa de Potencia del Sistema\":\"Power Layer \u00b7 System Power Layer\",\"Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.\":\"You are exploring the technical details of this layer.\",\"Transformaci\u00f3n de tensi\u00f3n (transformaci\u00f3n y acoplamientos)\":\"Voltage transformation (transformation and couplings)\",\"Maniobra y seccionamiento (interruptores, seccionadores)\":\"Switching and isolation (circuit breakers, disconnect switches)\",\"Barras y conducci\u00f3n (buses, conexiones, canalizaciones)\":\"Busbars and conductors (buses, connections, raceways)\",\"Medici\u00f3n primaria (instrumentaci\u00f3n de potencia)\":\"Primary metering (power instrumentation)\",\"Puesta a tierra (malla, conexiones equipotenciales)\":\"Grounding (grid, equipotential bonding)\",\"Estructuras y fundaciones (soportes, obra civil)\":\"Structures and foundations (supports, civil works)\",\"Protection Layer \u00b7 Capa de Protecci\u00f3n\":\"Protection Layer\",\"Transformadores de instrumento (TC\/TP)\":\"Instrument transformers (CT\/VT)\",\"Circuitos de disparo y actuaci\u00f3n (trip)\":\"Trip and actuation circuits\",\"Interconexi\u00f3n de se\u00f1ales (marshalling \/ bornes)\":\"Signal interconnection (marshalling \/ terminals)\",\"L\u00f3gicas de selectividad y respaldo (arquitectura)\":\"Selectivity and backup logic (architecture)\",\"Alimentaci\u00f3n auxiliar para protecci\u00f3n\":\"Auxiliary power for protection\",\"Canalizaciones y cableado de protecci\u00f3n\":\"Protection raceways and wiring\",\"Control Layer \u00b7 Capa de Control\":\"Control Layer\",\"Tableros de control y automatizaci\u00f3n\":\"Control and automation panels\",\"Servicios auxiliares AC\/DC (cargadores, respaldo)\":\"AC\/DC auxiliary services (chargers, backup)\",\"L\u00f3gicas y enclavamientos (interlocks)\":\"Logic and interlocks\",\"Interfaces de operaci\u00f3n (local\/HMI)\":\"Operating interfaces (local\/HMI)\",\"Se\u00f1alizaci\u00f3n y cableado de control\":\"Indication and control wiring\",\"Alarmas y eventos operativos\":\"Operational alarms and events\",\"Communication Layer \u00b7 Capa de Comunicaciones\":\"Communications Layer\",\"Infraestructura de red industrial (switches\/ruteo)\":\"Industrial network infrastructure (switches\/routing)\",\"Medios f\u00edsicos (FO\/cobre) y patching\":\"Physical media (fiber\/copper) and patching\",\"Sincronizaci\u00f3n de tiempo (time sync)\":\"Time synchronization\",\"Sistemas de supervisi\u00f3n y registro (SCADA\/Hist\u00f3rico)\":\"Supervisory and recording systems (SCADA\/historian)\",\"Canalizaciones y cableado de comunicaciones\":\"Communications raceways and cabling\",\"Interfaz con sistemas externos (integraciones)\":\"Interfaces with external systems (integrations)\",\"Arquitectura F\u00edsica de una subestaci\u00f3n el\u00e9ctrica industrial.\":\"Physical architecture of an industrial electrical substation.\",\"Transformaci\u00f3n de niveles de tensi\u00f3n (equipos de potencia asociados)\":\"Voltage-level transformation (associated power equipment)\",\"Maniobra y seccionamiento (operaci\u00f3n y aislamiento)\":\"Switching and isolation (operation and electrical isolation)\",\"Barras y conducci\u00f3n (conexiones y distribuci\u00f3n)\":\"Busbars and conductors (connections and distribution)\",\"Medici\u00f3n primaria (instrumentaci\u00f3n asociada)\":\"Primary metering (associated instrumentation)\",\"Puesta a tierra (malla y equipotencialidad)\":\"Grounding (grid and equipotential bonding)\",\"Estructuras y fundaciones (obra civil de soporte)\":\"Structures and foundations (supporting civil works)\",\"Detecta condiciones anormales y a\u00edsla fallas de forma selectiva, limitando su alcance e impacto operativo.\":\"Detects abnormal conditions and selectively isolates faults, limiting their extent and operational impact.\",\"Rel\u00e9s \/ l\u00f3gica de protecci\u00f3n (funciones y criterios)\":\"Relays \/ protection logic (functions and criteria)\",\"Selectividad, respaldo y coordinaci\u00f3n\":\"Selectivity, backup, and coordination\",\"Alimentaci\u00f3n auxiliar (AC\/DC asociada)\":\"Auxiliary power (associated AC\/DC)\",\"Cableado y canalizaciones de protecci\u00f3n\":\"Protection wiring and raceways\",\"Habilita operaci\u00f3n ordenada y segura: secuencias, enclavamientos, servicios auxiliares e interfaces de operaci\u00f3n.\":\"Enables orderly and safe operation through sequences, interlocks, auxiliary services, and operating interfaces.\",\"Tableros de control \/ automatizaci\u00f3n\":\"Control \/ automation panels\",\"Enclavamientos (interlocks) y secuencias\":\"Interlocks and sequences\",\"Mandos locales \/ HMI \/ interfaces\":\"Local controls \/ HMI \/ interfaces\",\"Se\u00f1alizaci\u00f3n, alarmas y eventos\":\"Indication, alarms, and events\",\"Cableado de control y se\u00f1alizaci\u00f3n\":\"Control and indication wiring\",\"Conecta supervisi\u00f3n, registro y an\u00e1lisis: redes industriales, trazabilidad de eventos y datos para decisi\u00f3n.\":\"Connects supervision, recording, and analysis through industrial networks, event traceability, and decision-making data.\",\"Infraestructura de red industrial\":\"Industrial network infrastructure\",\"Supervisi\u00f3n\/registro (SCADA\/hist\u00f3rico)\":\"Supervision\/recording (SCADA\/historian)\",\"Interfaces con sistemas externos\":\"Interfaces with external systems\",\"\u00cdtem seleccionado\":\"Selected item\",\"De parte de VMS Energy te compartimos tu reporte personalizado.\":\"VMS Energy is sharing your personalized report with you.\",\"\u2014 Sin \u00edtems seleccionados \u2014\":\"\u2014 No items selected \u2014\",\"Reporte\":\"Report\",\"Puntaje\":\"Score\",\"Urgencia\":\"Urgency\",\"\u00cdtems\":\"Items\",\"\u00cdtems seleccionados\":\"Selected items\",\"Este reporte se gener\u00f3 con la informaci\u00f3n visible en la p\u00e1gina.\":\"This report was generated using the information visible on the page.\",\"Respuestas seleccionadas\":\"Selected Responses\",\"No se seleccionaron \u00edtems.\":\"No items were selected.\",\"No se pudo cargar el generador PDF. Intenta recargar la p\u00e1gina.\":\"The PDF generator could not be loaded. Try reloading the page.\",\"Reporte enviado. Revisa tu correo en unos minutos.\":\"Report sent. Check your email in a few minutes.\",\"No se encontr\u00f3 el formulario oculto de Elementor (formResults).\":\"The hidden Elementor form (formResults) was not found.\",\"Ilustraci\u00f3n t\u00e9cnica de subestaci\u00f3n (placeholder)\":\"Technical substation illustration (placeholder)\",\"Marco l\u00f3gico del an\u00e1lisis\":\"Analysis framework\",\"S\u00edmbolo N\":\"N symbol\",\"S\u00edmbolo S\":\"S symbol\",\"S\u00edmbolo I\":\"I symbol\",\"S\u00edmbolo C\":\"C symbol\",\"Vista previa de la Gu\u00eda de Modernizaci\u00f3n de Subestaciones\":\"Preview of the Substation Modernization Guide\",\"Vista previa del Checklist Ejecutivo de Autodiagn\u00f3stico\":\"Preview of the Executive Self-Assessment Checklist\",\"Capas principales\":\"Main layers\",\"Conecta con\":\"Connects to\",\"Diagrama conceptual Power Layer\":\"Power Layer conceptual diagram\",\"Diagrama conceptual Protection Layer\":\"Protection Layer conceptual diagram\",\"Diagrama conceptual Control Layer\":\"Control Layer conceptual diagram\",\"Diagrama conceptual Communication Layer\":\"Communications Layer conceptual diagram\",\"Cerrar panel\":\"Close panel\",\"Impacto CAPEX\/OPEX en Protection Layer\":\"CAPEX\/OPEX impact in the Protection Layer\",\"Impacto CAPEX\/OPEX en Control Layer\":\"CAPEX\/OPEX impact in the Control Layer\",\"Impacto CAPEX\/OPEX en Communication Layer\":\"CAPEX\/OPEX impact in the Communications Layer\",\"Cierre suave hacia conversi\u00f3n\":\"Soft transition to conversion\",\"Tabla de fallas y p\u00e9rdidas\":\"Failure and loss table\",\"Tabla CAPEX OPEX por capa\":\"CAPEX\/OPEX table by layer\",\"Capa N Potencia\":\"Layer N Power\",\"Capa S Protecci\u00f3n\":\"Layer S Protection\",\"Capa I Control\":\"Layer I Control\",\"Capa C Comunicaciones\":\"Layer C Communications\",\"Riesgos y amenazas\":\"Risks and threats\",\"Resultado del autodiagn\u00f3stico\":\"Self-assessment result\",\"Urgencia estimada en tiempo real\":\"Estimated urgency in real time\",\"Veloc\u00edmetro de urgencia\":\"Urgency gauge\",\"Escala de urgencia\":\"Urgency scale\",\"Checklist de autodiagn\u00f3stico\":\"Self-assessment checklist\",\"Cerrar\":\"Close\",\"Modelo de entrega\":\"Delivery model\",\"Resumen visual de integraci\u00f3n\":\"Visual integration summary\",\"Diagrama: Power, Protection, Control y Communications integradas por la Quinta Capa\":\"Diagram: Power, Protection, Control, and Communications integrated by the Fifth Layer\",\"Fundamentos de la Quinta Capa\":\"Fifth Layer fundamentals\",\"Impacto en CAPEX, OPEX y Riesgos\":\"Impact on CAPEX, OPEX, and Risks\",\"Cu\u00e1ndo aplicar la Quinta Capa\":\"When to apply the Fifth Layer\",\"Ir a Mantenimiento de subestaciones\":\"Go to Substation Maintenance\",\"Ir a Diagn\u00f3stico y modernizaci\u00f3n\":\"Go to Assessment and Modernization\",\"Ir a Evaluaci\u00f3n t\u00e9cnica EPC\":\"Go to EPC Technical Assessment\",\"Temas clave del diagn\u00f3stico\":\"Key assessment topics\",\"Sellos normativos\":\"Standards seals\",\"Fecha:\":\"Date:\",\"Nivel de urgencia:\":\"Urgency level:\",\"Puntaje:\":\"Score:\",\"Urgencia:\":\"Urgency:\",\"\u00cdtems:\":\"Items:\"};\n  const ATTRS = ['alt', 'title', 'aria-label', 'placeholder', 'value'];\n  const SKIP = new Set(['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'CODE', 'PRE']);\n  const embeddedKeys = Object.keys(MAP)\n    .filter((key) => key.length >= 8)\n    .sort((a, b) => b.length - a.length);\n\n  function normalize(value) {\n    return String(value == null ? '' : value).replace(\/\\s+\/g, ' ').trim();\n  }\n\n  function exact(value) {\n    const key = normalize(value);\n    return MAP[key] || null;\n  }\n\n  function embedded(value) {\n    let output = String(value == null ? '' : value);\n    for (const key of embeddedKeys) {\n      if (output.includes(key)) output = output.split(key).join(MAP[key]);\n    }\n    output = output\n      .replace(\/\\bPuntaje:\/g, 'Score:')\n      .replace(\/\\bUrgencia:\/g, 'Urgency:')\n      .replace(\/\\bNivel de urgencia:\/g, 'Urgency level:')\n      .replace(\/\\b\u00cdtems:\/g, 'Items:')\n      .replace(\/\\b\u00cdtems seleccionados\\b\/g, 'Selected items')\n      .replace(\/\\bFecha:\/g, 'Date:');\n    return output;\n  }\n\n  window.vmsT = function (value) {\n    return exact(value) || embedded(value);\n  };\n  window.vmsTranslateEmbedded = embedded;\n\n  function preserveWhitespace(original, translated) {\n    const leading = (String(original).match(\/^\\s*\/) || [''])[0];\n    const trailing = (String(original).match(\/\\s*$\/) || [''])[0];\n    return leading + translated + trailing;\n  }\n\n  function translateTextNode(node) {\n    if (!node || !node.nodeValue || !node.parentElement || SKIP.has(node.parentElement.tagName)) return;\n    const translated = exact(node.nodeValue);\n    if (translated) node.nodeValue = preserveWhitespace(node.nodeValue, translated);\n    else {\n      const current = normalize(node.nodeValue);\n      if (\/^(Puntaje|Urgencia|Nivel de urgencia|\u00cdtems|Fecha):\/i.test(current) || \/\\((?:\\d{1,3})%\\)$\/.test(current)) {\n        const changed = embedded(current);\n        if (changed !== current) node.nodeValue = preserveWhitespace(node.nodeValue, changed);\n      }\n    }\n  }\n\n  function translateElement(el) {\n    if (!el || el.nodeType !== 1) return;\n    for (const attr of ATTRS) {\n      if (!el.hasAttribute(attr)) continue;\n      const original = el.getAttribute(attr);\n      const translated = exact(original);\n      if (translated) el.setAttribute(attr, translated);\n    }\n    if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') {\n      const translated = exact(el.value);\n      if (translated) el.value = translated;\n    }\n  }\n\n  function translateTree(root) {\n    if (!root) return;\n    if (root.nodeType === Node.TEXT_NODE) {\n      translateTextNode(root);\n      return;\n    }\n    if (root.nodeType !== Node.ELEMENT_NODE && root.nodeType !== Node.DOCUMENT_NODE && root.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) return;\n    if (root.nodeType === Node.ELEMENT_NODE) translateElement(root);\n    const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT);\n    let node;\n    while ((node = walker.nextNode())) {\n      if (node.nodeType === Node.TEXT_NODE) translateTextNode(node);\n      else translateElement(node);\n    }\n  }\n\n  function translateMetadata() {\n    document.documentElement.lang = 'en-US';\n    const title = exact(document.title);\n    if (title) document.title = title;\n    for (const meta of document.querySelectorAll('meta[content]')) {\n      const value = meta.getAttribute('content') || '';\n      const translated = exact(value);\n      if (translated) meta.setAttribute('content', translated);\n      else {\n        const changed = embedded(value);\n        if (changed !== value) meta.setAttribute('content', changed);\n      }\n    }\n    for (const schema of document.querySelectorAll('script[type=\"application\/ld+json\"]')) {\n      try {\n        const parsed = JSON.parse(schema.textContent);\n        const walk = (value) => {\n          if (Array.isArray(value)) return value.map(walk);\n          if (value && typeof value === 'object') {\n            Object.keys(value).forEach((key) => { value[key] = walk(value[key]); });\n            return value;\n          }\n          return typeof value === 'string' ? embedded(value) : value;\n        };\n        schema.textContent = JSON.stringify(walk(parsed));\n      } catch (_) {\n        schema.textContent = embedded(schema.textContent);\n      }\n    }\n  }\n\n  function patchJsPdf() {\n    const api = window.jspdf && window.jspdf.jsPDF && window.jspdf.jsPDF.API;\n    if (!api || api.__vmsEnglishPatched || typeof api.text !== 'function') return false;\n    const originalText = api.text;\n    api.text = function (text) {\n      const args = Array.prototype.slice.call(arguments, 1);\n      if (typeof text === 'string') text = embedded(text);\n      else if (Array.isArray(text)) text = text.map((item) => typeof item === 'string' ? embedded(item) : item);\n      return originalText.apply(this, [text].concat(args));\n    };\n    api.__vmsEnglishPatched = true;\n    return true;\n  }\n\n  function translateFormPayload(event) {\n    const form = event.target;\n    if (!form || form.tagName !== 'FORM') return;\n    form.querySelectorAll('input, textarea').forEach((field) => {\n      if (!field.value) return;\n      const changed = embedded(field.value);\n      if (changed !== field.value) field.value = changed;\n    });\n  }\n\n  function run() {\n    translateMetadata();\n    translateTree(document.body);\n    patchJsPdf();\n\n    const observer = new MutationObserver((records) => {\n      for (const record of records) {\n        if (record.type === 'characterData') translateTextNode(record.target);\n        else {\n          record.addedNodes.forEach(translateTree);\n          if (record.target && record.target.nodeType === 1) translateElement(record.target);\n        }\n      }\n    });\n    observer.observe(document.body, {\n      subtree: true,\n      childList: true,\n      characterData: true,\n      attributes: true,\n      attributeFilter: ATTRS\n    });\n\n    document.addEventListener('submit', translateFormPayload, true);\n    let attempts = 0;\n    const timer = window.setInterval(() => {\n      attempts += 1;\n      if (patchJsPdf() || attempts > 40) window.clearInterval(timer);\n    }, 250);\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run, { once: true });\n  else run();\n})();\n<\/script>\n\n<\/body>\n\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-4a068e4 e-flex e-con-boxed e-con e-parent\" data-id=\"4a068e4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-872e1ac elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"872e1ac\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"formResults\" data-settings=\"{&quot;step_next_label&quot;:&quot;Siguiente&quot;,&quot;step_previous_label&quot;:&quot;Anterior&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" id=\"formResults\" name=\"formResults\" aria-label=\"formResults\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"3954\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"872e1ac\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"\" \/>\n\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\temail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"email\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-reporte elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-reporte\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\treporte\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[reporte]\" id=\"form-field-reporte\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"reporte\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-puntaje elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[puntaje]\" id=\"form-field-puntaje\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-urgencia elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[urgencia]\" id=\"form-field-urgencia\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-items elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[items]\" id=\"form-field-items\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-reporte_pdf_base64 elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[reporte_pdf_base64]\" id=\"form-field-reporte_pdf_base64\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-reporte_pdf_filename elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[reporte_pdf_filename]\" id=\"form-field-reporte_pdf_filename\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-reporte_pdf_mime elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[reporte_pdf_mime]\" id=\"form-field-reporte_pdf_mime\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-mensaje elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[mensaje]\" id=\"form-field-mensaje\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Enviar<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Modernizing an industrial electrical substation is not merely an equipment replacement project; it is a strategic decision that directly affects operational continuity, technical risk, and the asset's financial performance. This guide explains how to evaluate a substation from an integrated perspective\u2014infrastructure, technical criteria, and execution path\u2014to identify &#8230; <a title=\"Industrial Electrical Substation\" class=\"read-more\" href=\"https:\/\/vmsenergy.com\/en\/subestacion-electrica-industrial\/\" aria-label=\"Read more about Subestaci\u00f3n El\u00e9ctrica Industrial\">Read more<\/a><\/p>","protected":false},"author":2,"featured_media":3955,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_joinchat":[],"footnotes":""},"categories":[15],"tags":[],"class_list":["post-3954","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/posts\/3954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/comments?post=3954"}],"version-history":[{"count":5,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/posts\/3954\/revisions"}],"predecessor-version":[{"id":4469,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/posts\/3954\/revisions\/4469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/media\/3955"}],"wp:attachment":[{"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/media?parent=3954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/categories?post=3954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/tags?post=3954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}