{"id":3954,"date":"2026-01-20T16:29:40","date_gmt":"2026-01-20T22:29:40","guid":{"rendered":"https:\/\/vmsenergy.com\/?p=3954"},"modified":"2026-01-23T11:28:34","modified_gmt":"2026-01-23T17:28:34","slug":"subestacion-electrica-industrial","status":"publish","type":"post","link":"https:\/\/vmsenergy.com\/en\/subestacion-electrica-industrial\/","title":{"rendered":"Subestaci\u00f3n El\u00e9ctrica Industrial"},"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>\r\n<html lang=\"es\">\r\n<head>\r\n  <meta charset=\"utf-8\" \/>\r\n  <meta name=\"theme-color\" content=\"#0F4C81\">\r\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\r\n<title>Modernizaci\u00f3n de subestaciones el\u00e9ctricas industriales | Diagn\u00f3stico CAPEX\/OPEX<\/title>\r\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.\r\n\">\r\n<meta property=\"og:title\" content=\"Subestaciones el\u00e9ctricas industriales: CAPEX, OPEX y riesgos\">\r\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).\">\r\n<meta property=\"og:type\" content=\"article\">\r\n\r\n\r\n  <style data-critical>\r\n\/*\r\n  VMS Energy \u2013 Clean CSS (deduplicated & formatted)\r\n  Note: Order preserved to avoid visual regressions.\r\n*\/\r\n\r\n:root{\r\n  --bg:#f7f8fb;\r\n  --card:#ffffff;\r\n  --ink:#0b1220;\r\n  --muted:#556070;\r\n  --line:#e5e8ef;\r\n  --soft:#f1f3f8;\r\n  --accent:#172C51;   \/* VMS navy *\/\r\n  --accent2:#0F4C81;  \/* VMS cobalt *\/\r\n  --accent3:#3A6FA5;  \/* VMS technical blue *\/\r\n  --ok:#1a7f37;\r\n  --warn:#b54708;\r\n  --shadow: 0 10px 30px rgba(16,24,40,.08);\r\n  --radius: 18px;\r\n  --radius2: 14px;\r\n  --max: 1120px;\r\n  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\"Courier New\", monospace;\r\n  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\",\"Segoe UI Emoji\";\r\n  --text: clamp(13.5px, 1.2vw, 15.5px);\r\n  --text-sm: clamp(12.5px, 1.05vw, 14px);\r\n  --text-lg: clamp(14.5px, 1.35vw, 17px);\r\n}\r\n\r\n*{box-sizing:border-box}\r\n\r\nhtml{\r\n  overflow-x: hidden;\r\n  max-width: 100vw;\r\n}\r\n\r\nbody{\r\n  margin:0;\r\n  font-family: var(--sans);\r\n  color:var(--ink);\r\n  background: linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, #ffffff 100%);\r\n  line-height:1.6;\r\n  font-size: var(--text);\r\n  overflow-x: hidden;\r\n  max-width: 100vw;\r\n}\r\n\r\na{color:var(--accent2); text-decoration:none}\r\n\r\na:hover{text-decoration:underline}\r\n\r\n.topbar{\r\n  position:sticky; top:0; z-index:50;\r\n  background: rgba(255,255,255,.85);\r\n  backdrop-filter: blur(10px);\r\n  border-bottom:1px solid var(--line);\r\n}\r\n\r\n.topbar-inner{\r\n  max-width:var(--max);\r\n  margin:0 auto;\r\n  padding:12px 18px;\r\n  display:flex;\r\n  align-items:center;\r\n  gap:14px;\r\n  justify-content:space-between;\r\n}\r\n\r\n.brand{\r\n  display:flex; align-items:center; gap:10px;\r\n  font-weight:700;\r\n  letter-spacing:.2px;\r\n}\r\n\r\n.dot{\r\n  width:10px;height:10px;border-radius:999px;background:var(--accent2);\r\n  box-shadow:0 0 0 4px rgba(15,76,129,.12);\r\n}\r\n\r\n.nav{\r\n  display:flex; gap:14px; align-items:center;\r\n  font-size:14px;\r\n  color:var(--muted);\r\n}\r\n\r\n.nav a{color:var(--muted)}\r\n\r\n.nav a.active{color:var(--accent); font-weight:600}\r\n\r\n.progress{\r\n  height:3px;\r\n  background:linear-gradient(90deg,var(--accent3),var(--accent2));\r\n  width:0%;\r\n  transition: width .08s linear;\r\n}\r\n\r\n.container{\r\n  max-width:var(--max); \r\n  margin:0 auto; \r\n  padding: 28px 18px 80px;\r\n  width: 100%;\r\n  overflow-x: hidden;\r\n}\r\n\r\n.hero{\r\n  display:grid;\r\n  grid-template-columns: 1.25fr .75fr;\r\n  gap:18px;\r\n  align-items:stretch;\r\n  margin-top:8px;\r\n}\r\n\r\n.hero-card{\r\n  background:var(--card);\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius);\r\n  padding:28px;\r\n  box-shadow: var(--shadow);\r\n  position:relative;\r\n  overflow:hidden;\r\n}\r\n\r\n.kicker{\r\n  display:inline-flex; gap:10px; align-items:center;\r\n  font-size:12px;\r\n  color:var(--muted);\r\n  padding:6px 10px;\r\n  border-radius:999px;\r\n  background: var(--soft);\r\n  border:1px solid var(--line);\r\n  width: fit-content;\r\n  margin-bottom:10px;\r\n}\r\n\r\nh1{\r\n  margin:10px 0 8px;\r\n  font-size: clamp(26px, 4vw, 40px);\r\n  line-height:1.15;\r\n  letter-spacing:-.5px;\r\n}\r\n\r\n.sub{\r\n  margin:0 0 16px;\r\n  font-size: clamp(12.5px, 2vw, 18px);\r\n  color: var(--muted);\r\n}\r\n\r\n.rule{height:1px;background:var(--line);margin:16px 0 14px}\r\n\r\n.sage{\r\n  margin:0;\r\n  font-style:italic;\r\n  color: var(--muted);\r\n}\r\n\r\n.hero-visual{\r\n  background: var(--card);\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius);\r\n  box-shadow: var(--shadow);\r\n  padding:18px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  overflow:hidden;\r\n  position:relative;\r\n}\r\n\r\n.badge{\r\n  position:absolute;\r\n  top:12px; right:12px;\r\n  font-size:12px;\r\n  color:var(--muted);\r\n  background:rgba(241,243,248,.9);\r\n  border:1px solid var(--line);\r\n  padding:6px 10px;\r\n  border-radius:999px;\r\n}\r\n\r\n.section{\r\n  margin-top:28px; \r\n  max-width:var(--max); \r\n  margin-left:auto; \r\n  margin-right:auto;\r\n  width: 100%;\r\n  overflow-x: hidden;\r\n}\r\n\r\n.section-card{\r\n  background:var(--card);\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius);\r\n  box-shadow: var(--shadow);\r\n  padding:22px;\r\n  max-width: 100%;\r\n  overflow-x: hidden;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.h2{\r\n  font-size:22px;\r\n  margin:0 0 8px;\r\n  letter-spacing:-.2px;\r\n}\r\n\r\n.lead{\r\n  margin:0 0 14px;\r\n  color:var(--muted);\r\n}\r\n\r\n.pull{\r\n  border-left:4px solid rgba(58,111,165,.5);\r\n  background: linear-gradient(90deg, rgba(58,111,165,.10), rgba(15,76,129,.05));\r\n  padding:14px 16px;\r\n  border-radius: 12px;\r\n  color: #2b3a4a;\r\n  margin: 16px 0 0;\r\n}\r\n\r\n.cards{\r\n  display:grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap:12px;\r\n  margin-top:14px;\r\n}\r\n\r\n.card{\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  padding:14px;\r\n  background: #fff;\r\n  min-height: 112px;\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:8px;\r\n}\r\n\r\n.card .icon{\r\n  width:32px;height:32px;border-radius:10px;\r\n  display:grid;place-items:center;\r\n  background: rgba(23,44,81,.06);\r\n  border:1px solid rgba(23,44,81,.12);\r\n}\r\n\r\n.card h3{\r\n  margin:0;\r\n  font-size:14px;\r\n  letter-spacing:-.1px;\r\n}\r\n\r\n.card p{\r\n  margin:0;\r\n  font-size:12.5px;\r\n  color:var(--muted);\r\n}\r\n\r\n.divider{\r\n  display:flex; align-items:center; gap:12px;\r\n  margin:22px 0 6px;\r\n  color:var(--muted);\r\n  font-size:12.5px;\r\n}\r\n\r\n.divider:before,.divider:after{\r\n  content:\"\";\r\n  height:1px; background:var(--line);\r\n  flex:1;\r\n}\r\n\r\n.layers{\r\n  display:grid;\r\n  grid-template-columns: 1fr;\r\n  gap:14px;\r\n  margin-top:14px;\r\n}\r\n\r\n.layer-grid{\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap:12px;\r\n  margin-top:14px;\r\n}\r\n\r\n.layer{\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  padding:16px;\r\n  background:#fff;\r\n  display:grid;\r\n  grid-template-columns: 1.05fr .95fr;\r\n  gap:12px;\r\n  align-items:center;\r\n}\r\n\r\n.layer h3{\r\n  margin:0 0 6px;\r\n  font-size:15px;\r\n  letter-spacing:-.1px;\r\n}\r\n\r\n.layer .meta{\r\n  margin:0 0 10px;\r\n  color:var(--muted);\r\n  font-size:12.5px;\r\n}\r\n\r\n.bullets{\r\n  margin:0; padding-left:16px;\r\n  color:var(--muted);\r\n  font-size:12.5px;\r\n}\r\n\r\n.mini{\r\n  border:1px dashed rgba(85,96,112,.35);\r\n  border-radius: 14px;\r\n  background: linear-gradient(180deg, rgba(241,243,248,.8), rgba(255,255,255,.9));\r\n  padding:12px;\r\n  min-height:110px;\r\n  display:flex; align-items:center; justify-content:center;\r\n}\r\n\r\n.impact{\r\n  display:grid;\r\n  grid-template-columns: 1.2fr .8fr;\r\n  gap:12px;\r\n  margin-top:14px;\r\n}\r\n\r\ntable{\r\n  width:100%;\r\n  border-collapse:separate;\r\n  border-spacing:0;\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background:#fff;\r\n}\r\n\r\n.table-wrap{\r\n  border-radius: 14px;\r\n}\r\n\r\nth,td{\r\n  text-align:left;\r\n  padding:12px 12px;\r\n  border-bottom:1px solid var(--line);\r\n  vertical-align:top;\r\n  font-size:12.5px;\r\n}\r\n\r\nth{\r\n  background: rgba(241,243,248,.9);\r\n  color:#2b3a4a;\r\n  font-weight:700;\r\n}\r\n\r\ntr:last-child td{border-bottom:none}\r\n\r\n\/* ===== RESPONSIVE TABLE - Sin scroll, se adapta al tama\u00f1o ===== *\/\r\n@media (max-width: 1024px){\r\n  .table-wrap table{\r\n    width: 100% !important;\r\n    min-width: 0 !important;\r\n  }\r\n  th, td{\r\n    padding: 8px 6px !important;\r\n    font-size: 11px !important;\r\n    word-wrap: break-word;\r\n    hyphens: auto;\r\n  }\r\n  th{\r\n    font-size: 10px !important;\r\n  }\r\n}\r\n\r\n@media (max-width: 768px){\r\n  .table-wrap{\r\n    overflow-x: auto;\r\n    -webkit-overflow-scrolling: touch;\r\n  }\r\n  .table-wrap table{\r\n    width: 100% !important;\r\n    min-width: 720px;\r\n    table-layout: auto !important;\r\n  }\r\n  th, td{\r\n    padding: 6px 6px !important;\r\n    font-size: 11px !important;\r\n    line-height: 1.35 !important;\r\n    word-wrap: break-word;\r\n    overflow-wrap: break-word;\r\n    hyphens: auto;\r\n  }\r\n  th{\r\n    font-size: 10px !important;\r\n    font-weight: 700;\r\n  }\r\n  \/* Primera columna m\u00e1s angosta *\/\r\n  th:first-child,\r\n  td:first-child{\r\n    width: 28%;\r\n  }\r\n}\r\n\r\n@media (max-width: 480px){\r\n  .table-wrap table{\r\n    min-width: 680px;\r\n  }\r\n  th, td{\r\n    padding: 6px 6px !important;\r\n    font-size: 10px !important;\r\n    line-height: 1.3 !important;\r\n  }\r\n  th{\r\n    font-size: 9px !important;\r\n  }\r\n}\r\n\r\n\/* ===== Mobile safe text + layout (evita cortes) ===== *\/\r\n@media (max-width: 720px){\r\n  .hero,\r\n  .impact,\r\n  .layer-panel__grid,\r\n  .layer-card,\r\n  .det-card,\r\n  .risk,\r\n  .detonator,\r\n  .section-card{\r\n    min-width: 0;\r\n  }\r\n\r\n  body{\r\n    overflow-x: hidden;\r\n  }\r\n\r\n  .topbar-inner,\r\n  .nav,\r\n  .hero,\r\n  .impact,\r\n  .layer-panel__head,\r\n  .layer-panel__actions{\r\n    flex-wrap: wrap;\r\n  }\r\n\r\n  .hero-card,\r\n  .section-card,\r\n  .layer-card,\r\n  .det-card,\r\n  .risk,\r\n  .detonator{\r\n    overflow: visible;\r\n  }\r\n\r\n  .table-wrap{\r\n    overflow-x: auto;\r\n    -webkit-overflow-scrolling: touch;\r\n    padding-bottom: 6px;\r\n    margin-left: -12px;\r\n    margin-right: -12px;\r\n  }\r\n  .table-wrap table{\r\n    display: block;\r\n    width: max-content;\r\n    min-width: 100%;\r\n  }\r\n  .table-wrap::-webkit-scrollbar{ height: 8px; }\r\n  .table-wrap::-webkit-scrollbar-thumb{\r\n    background: rgba(85,96,112,.35);\r\n    border-radius: 999px;\r\n  }\r\n  .table-wrap::-webkit-scrollbar-track{\r\n    background: rgba(229,232,239,.6);\r\n    border-radius: 999px;\r\n  }\r\n  .table-wrap{ scrollbar-color: rgba(85,96,112,.45) rgba(229,232,239,.6); }\r\n\r\n  p, li, td, th,\r\n  .lead,\r\n  .sub,\r\n  .det-title,\r\n  .det-sub,\r\n  .layer-panel__desc,\r\n  .layer-block p,\r\n  .faq-a p,\r\n  .checkgroup p,\r\n  .checkitem span{\r\n    overflow-wrap: anywhere;\r\n    word-break: break-word;\r\n  }\r\n}\r\n\r\n.note{\r\n  margin-top:10px;\r\n  padding:12px 14px;\r\n  border-radius: 14px;\r\n  border:1px solid rgba(58,111,165,.25);\r\n  background: rgba(58,111,165,.08);\r\n  color:#2b3a4a;\r\n  font-size:12.5px;\r\n}\r\n\r\n.risklist{\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background:#fff;\r\n  padding:12px;\r\n  display:grid;\r\n  gap:10px;\r\n}\r\n\r\n.risk{\r\n  display:flex; gap:10px; align-items:flex-start;\r\n  padding:10px;\r\n  border-radius: 12px;\r\n  background: rgba(241,243,248,.7);\r\n  border:1px solid var(--line);\r\n}\r\n\r\n.risk .r-ic{\r\n  width:30px;height:30px;border-radius:10px;\r\n  display:grid;place-items:center;\r\n  background: rgba(181,71,8,.08);\r\n  border:1px solid rgba(181,71,8,.18);\r\n  color: var(--warn);\r\n  flex:0 0 auto;\r\n}\r\n\r\n.risk--alert .r-ic{\r\n  background: #fff1eb;\r\n  border: 1px solid #ffd6c9;\r\n  color: #b54708;\r\n}\r\n\r\n.risk strong{display:block; font-size:12.5px}\r\n\r\n.risk span{display:block; font-size:12.5px; color:var(--muted)}\r\n\r\n.turnkey{\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap:12px;\r\n  margin-top:14px;\r\n}\r\n\r\n.benefits{\r\n  padding:14px;\r\n  border-radius: var(--radius2);\r\n  border:1px solid var(--line);\r\n  background:#fff;\r\n}\r\n\r\n.benefits ul{margin:0; padding-left:18px; color:var(--muted); font-size:12.5px}\r\n\r\n.benefits li{margin:6px 0}\r\n\r\n.related{\r\n  display:grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap:12px;\r\n  margin-top:12px;\r\n}\r\n\r\n.rel{\r\n  border:1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background:#fff;\r\n  padding:14px;\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:8px;\r\n  min-height:120px;\r\n}\r\n\r\n.rel .tag{\r\n  font-family: var(--mono);\r\n  font-size:11px;\r\n  color:var(--muted);\r\n  background: var(--soft);\r\n  border:1px solid var(--line);\r\n  padding:4px 8px;\r\n  border-radius:999px;\r\n  width: fit-content;\r\n}\r\n\r\n.rel h4{margin:0; font-size:14px}\r\n\r\n.rel p{margin:0; color:var(--muted); font-size:12.5px}\r\n\r\n.rel a{margin-top:auto; font-weight:600; font-size:12.5px}\r\n\r\n.cta{\r\n  margin-top:18px;\r\n  padding:18px;\r\n  border-radius: var(--radius);\r\n  border:1px solid rgba(15,76,129,.22);\r\n  background: linear-gradient(180deg, rgba(15,76,129,.08), rgba(58,111,165,.06));\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap:12px;\r\n}\r\n\r\n.cta-card{\r\n  margin: 20px auto 0;\r\n  max-width: var(--max);\r\n  text-align: left;\r\n}\r\n.cta-card .btn{\r\n  margin-left: 0;\r\n  margin-right: 0;\r\n}\r\n\r\n.cta p{margin:0; color:#233042}\r\n\r\n.btn{\r\n  display:inline-flex; align-items:center; justify-content:center;\r\n  background: var(--accent);\r\n  color:#fff;\r\n  border:1px solid rgba(0,0,0,.08);\r\n  border-radius: 999px;\r\n  padding:10px 14px;\r\n  font-weight:700;\r\n  cursor:pointer;\r\n  transition: transform .08s ease, opacity .08s ease;\r\n  white-space:nowrap;\r\n}\r\n\r\n.btn:hover{opacity:.92; transform: translateY(-1px)}\r\n\r\n.btn:active{transform: translateY(0px)}\r\n\r\n.foot{\r\n  margin-top:22px;\r\n  color:var(--muted);\r\n  font-size:12.5px;\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n  flex-wrap:wrap;\r\n}\r\n\r\n.chip{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .4px;\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n\/* Animaci\u00f3n suave al expandir *\/\r\n.layer-card__body[data-anim=\"in\"]{\r\n  animation: layerIn .18s ease-out both;\r\n}\r\n\r\n\/* ===== Layer Panel (inline preview) ===== *\/\r\n.layer-panel{\r\n  margin-top: 14px;\r\n  border-radius: var(--radius2);\r\n  border: 1px solid var(--line);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.75), rgba(255,255,255,.98));\r\n  box-shadow: 0 10px 24px rgba(16,24,40,.06);\r\n  overflow: hidden;\r\n}\r\n\r\n.layer-panel__inner{ padding: 16px; }\r\n\r\n.layer-panel__head{\r\n  display: flex;\r\n  gap: 12px;\r\n  align-items: flex-start;\r\n  justify-content: space-between;\r\n}\r\n\r\n.layer-panel__kicker{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .9px;\r\n  color: rgba(58,111,165,.95);\r\n  text-transform: uppercase;\r\n}\r\n\r\n.layer-panel__title{\r\n  margin: 4px 0 6px;\r\n  font-size: 18px;\r\n  letter-spacing: -.2px;\r\n}\r\n\r\n.layer-panel__desc{\r\n  margin: 0;\r\n  color: var(--muted);\r\n  line-height: 1.55;\r\n}\r\n\r\n.layer-panel__actions{\r\n  display: flex;\r\n  gap: 8px;\r\n  align-items: center;\r\n  flex: 0 0 auto;\r\n}\r\n\r\n.btn-ghost{\r\n  background: rgba(255,255,255,.75);\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  border-radius: 999px;\r\n  padding: 10px 12px;\r\n  cursor: pointer;\r\n  font-weight: 700;\r\n}\r\n\r\n.btn-primary{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius: 999px;\r\n  padding: 10px 14px;\r\n  border: 1px solid rgba(58,111,165,.45);\r\n  background: rgba(58,111,165,.12);\r\n  color: var(--ink);\r\n  text-decoration: none;\r\n  font-weight: 800;\r\n}\r\n\r\n.layer-panel__grid{\r\n  margin-top: 14px;\r\n  display: grid;\r\n  grid-template-columns: 1.1fr .9fr;\r\n  gap: 12px;\r\n  align-items: stretch;\r\n}\r\n\r\n.layer-panel__diagram{\r\n  min-height: 140px;\r\n  border-radius: 14px;\r\n  border: 1px dashed rgba(85,96,112,.25);\r\n  background: rgba(255,255,255,.75);\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  color: rgba(23,44,81,.72);\r\n}\r\n\r\n.layer-panel__bullets{\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.85);\r\n  padding: 12px;\r\n}\r\n\r\n.layer-panel__label{\r\n  display:block;\r\n  margin-bottom: 8px;\r\n  font-family: var(--mono);\r\n  font-size: 11.5px;\r\n  letter-spacing: .8px;\r\n  text-transform: uppercase;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n.layer-panel__bullets ul{\r\n  margin: 0;\r\n  padding-left: 18px;\r\n  color: var(--muted);\r\n  line-height: 1.6;\r\n  font-size: 12.5px;\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 820px){\r\n  .layer-panel__grid{ grid-template-columns: 1fr; }\r\n  .layer-panel__actions{ width: 100%; justify-content:flex-start; flex-wrap:wrap; }\r\n}\r\n\r\n@keyframes layerIn{\r\n  from{ opacity: 0; transform: translateY(-2px); }\r\n  to{ opacity: 1; transform: translateY(0); }\r\n}\r\n\r\n\/* =========================================================\r\n   RESPONSIVE TABLET (769px - 1024px)\r\n========================================================= *\/\r\n@media (min-width: 769px) and (max-width: 1024px){\r\n  \/* Container *\/\r\n  .container{\r\n    padding: 20px 16px 70px;\r\n  }\r\n  \r\n  \/* Hero *\/\r\n  .hero{\r\n    grid-template-columns: 1fr;\r\n    gap: 16px;\r\n  }\r\n  .hero-card{\r\n    padding: 20px;\r\n  }\r\n  h1{\r\n    font-size: 26px;\r\n  }\r\n  \r\n  \/* Section cards *\/\r\n  .section-card{\r\n    padding: 18px;\r\n  }\r\n  .h2{\r\n    font-size: 20px;\r\n  }\r\n  \r\n  \/* Mockups PDF *\/\r\n  .mockup-grid{\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 14px;\r\n  }\r\n  \r\n  \/* Logic tiles N-S-I-C *\/\r\n  .logic-tiles{\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 12px;\r\n  }\r\n  .logic-letter{\r\n    height: 90px;\r\n    font-size: 48px;\r\n  }\r\n  \r\n  \/* Detonators *\/\r\n  .det-cards{\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 14px;\r\n  }\r\n  .detonator{\r\n    padding: 14px;\r\n  }\r\n  \r\n  \/* Layers grid *\/\r\n  .layers-grid.vms-cards{\r\n    grid-template-columns: 1fr;\r\n    gap: 14px;\r\n  }\r\n  .layer-card{\r\n    grid-template-columns: 1.2fr 0.8fr;\r\n    gap: 14px;\r\n    padding: 16px;\r\n  }\r\n  .layer-diagram{\r\n    width: 120px;\r\n    height: 75px;\r\n  }\r\n  .layer-explore{\r\n    flex: 0 0 95px;\r\n    height: 75px;\r\n  }\r\n  .layer-title{\r\n    font-size: 15px;\r\n  }\r\n  .layer-sub{\r\n    font-size: 12.5px;\r\n  }\r\n  \r\n  \/* Layer panel *\/\r\n  .layer-panel__grid{\r\n    grid-template-columns: 1fr;\r\n    gap: 12px;\r\n  }\r\n  \r\n  \/* Impact section *\/\r\n  .impact{\r\n    grid-template-columns: 1fr;\r\n    gap: 14px;\r\n  }\r\n  \r\n  \/* Tables - using global responsive styles *\/\r\n  \r\n  \/* Risklist *\/\r\n  .risklist{\r\n    padding: 14px;\r\n  }\r\n  .risk{\r\n    padding: 12px;\r\n  }\r\n  \r\n  \/* NSIC Close *\/\r\n  .nsic-close__inner{\r\n    flex-direction: column;\r\n    gap: 14px;\r\n  }\r\n  .nsic-close__actions{\r\n    width: 100%;\r\n    justify-content: flex-start;\r\n  }\r\n  .nsic-close__actions .btn-primary,\r\n  .nsic-close__actions .btn-ghost{\r\n    flex: 1;\r\n    text-align: center;\r\n  }\r\n  \r\n  \/* Turnkey \/ Q5 *\/\r\n  .turnkey{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .q5-hero{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .q5-cards{\r\n    grid-template-columns: repeat(2, 1fr);\r\n  }\r\n  \r\n  \/* Related *\/\r\n  .related{\r\n    grid-template-columns: repeat(2, 1fr);\r\n  }\r\n  \r\n  \/* Checklist *\/\r\n  .checklist-wrap{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .checklist-score{\r\n    order: -1;\r\n  }\r\n  \r\n  \/* FAQ *\/\r\n  .faq-q{\r\n    padding: 14px 12px;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  \/* CTA *\/\r\n  .cta{\r\n    flex-direction: column;\r\n    gap: 12px;\r\n    text-align: center;\r\n  }\r\n  .cta-box{\r\n    flex-direction: row;\r\n    justify-content: center;\r\n  }\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 980px){\r\n  .hero{grid-template-columns:1fr}\r\n  .impact{grid-template-columns:1fr}\r\n  .turnkey{grid-template-columns:1fr}\r\n  .layer{grid-template-columns:1fr}\r\n  .layer-grid{grid-template-columns:1fr}\r\n  .cards{grid-template-columns:1fr 1fr}\r\n  .related{grid-template-columns:1fr}\r\n  .nav{display:none}\r\n}\r\n\r\n@media (max-width: 520px){\r\n  .cards{grid-template-columns:1fr}\r\n  .hero-card{padding:20px}\r\n  .section-card{padding:18px}\r\n}\r\n\r\n\/* Anchor offset for sticky header *\/\r\n[id]{scroll-margin-top: 70px;}\r\n\r\n\/* ===== L\u00f3gica progresiva (N S I C) ===== *\/\r\n\/* ===== L\u00f3gica progresiva (N S I C) \u00b7 VMS mid-fi ===== *\/\r\n.logic-tiles{\r\n  display: grid;\r\n  grid-template-columns: repeat(4, minmax(132px, 1fr));\r\n  gap: 18px;                 \/* mismo ritmo que cards *\/\r\n  align-items: start;\r\n  justify-items: center;\r\n  margin: 16px 0 14px;       \/* espaciado wireframe *\/\r\n}\r\n\r\n.logic-tile{\r\n  width: 152px;              \/* un poco m\u00e1s \u201cs\u00f3lido\u201d *\/\r\n  text-align: center;\r\n}\r\n\r\n.logic-letter{\r\n  height: 112px;             \/* altura consistente mid-fi *\/\r\n  width: 100%;\r\n  display: grid;\r\n  place-items: center;\r\n  font-family: var(--sans);\r\n  font-size: 66px;\r\n  font-weight: 800;\r\n  letter-spacing: 2px;\r\n  background: var(--accent2);\r\n  color: #fff;\r\n  border: 2px solid rgba(11,18,32,.95);\r\n  border-radius: 6px;        \/* sutil, mantiene est\u00e9tica \u201ccuadro\u201d *\/\r\n}\r\n\r\n\/* =========================================================\r\nDETONADORES \u00b7 Editorial + gr\u00e1fico (VMS mid-fi)\r\n========================================================= *\/\r\n\/* Micro nota editorial *\/\r\n.micro-note{\r\n  font-size: 12.5px;\r\n  color: var(--muted);\r\n  font-style: italic;\r\n  margin: -6px 0 12px;\r\n}\r\n\r\n\/* Cards (\u00edndice visual) *\/\r\n.det-cards{\r\n  display:grid;\r\n  grid-template-columns: repeat(4, minmax(210px, 1fr));\r\n  gap: 12px;\r\n  margin: 14px 0 18px;\r\n}\r\n\r\n.det-card{\r\n  position: relative;\r\n  display:flex;\r\n  gap: 12px;\r\n  align-items:flex-start;\r\n  padding: 14px 14px 12px;\r\n  border-radius: var(--radius2);\r\n  background: #fff;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\r\n  text-decoration:none;\r\n  color: inherit;\r\n  transform: translateY(0);\r\n  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;\r\n}\r\n\r\n\/* Numeraci\u00f3n blueprint *\/\r\n.det-num{\r\n  position:absolute;\r\n  top: 10px;\r\n  right: 12px;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  color: rgba(85,96,112,.9);\r\n  background: rgba(241,243,248,.92);\r\n  border: 1px solid var(--line);\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n}\r\n\r\n\/* \u00cdcono *\/\r\n.det-ic{\r\n  width: 36px;\r\n  height: 36px;\r\n  border-radius: 12px;\r\n  display:grid;\r\n  place-items:center;\r\n  background: rgba(23,44,81,.06);\r\n  border: 1px solid rgba(23,44,81,.14);\r\n  color: rgba(23,44,81,.88);\r\n  flex: 0 0 auto;\r\n  transition: background .12s ease, border-color .12s ease, color .12s ease;\r\n}\r\n\r\n.det-card-body{ min-width: 0; }\r\n\r\n.det-title{\r\n  font-weight: 800;\r\n  font-size: 13.5px;\r\n  letter-spacing: -.1px;\r\n  margin: 2px 0 2px;\r\n}\r\n\r\n.det-sub{\r\n  font-size: 12.5px;\r\n  color: var(--muted);\r\n  margin-bottom: 10px;\r\n}\r\n\r\n\/* Chips de capa *\/\r\n.det-layerchips{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 6px;\r\n}\r\n\r\n.layerchip{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap: 6px;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(241,243,248,.9);\r\n  color: rgba(11,18,32,.78);\r\n  line-height: 1;\r\n}\r\n\r\n.layerdot{\r\n  width: 8px;\r\n  height: 8px;\r\n  border-radius: 999px;\r\n  background: rgba(85,96,112,.7);\r\n}\r\n\r\n\/* Colores por capa *\/\r\n.layerchip--power .layerdot{ background: rgba(15,76,129,.75); }\r\n\r\n.layerchip--protection .layerdot{ background: rgba(58,111,165,.75); }\r\n\r\n.layerchip--control .layerdot{ background: rgba(23,44,81,.78); }\r\n\r\n.layerchip--comms .layerdot{ background: rgba(31,122,140,.75); }\r\n\r\n\/* Hover *\/\r\n.det-card:hover{\r\n  transform: translateY(-2px);\r\n  box-shadow: 0 14px 26px rgba(16,24,40,.10);\r\n  border-color: rgba(15,76,129,.25);\r\n}\r\n\r\n.det-card:hover .det-ic{\r\n  background: rgba(15,76,129,.10);\r\n  border-color: rgba(15,76,129,.28);\r\n  color: rgba(15,76,129,.92);\r\n}\r\n\r\n\/* Detonadores editoriales *\/\r\n.detonators{\r\n  margin-top: 6px;\r\n  max-width: 920px;\r\n}\r\n\r\n.detonator{\r\n  margin-top: 16px;\r\n  padding: 14px;\r\n  border-radius: var(--radius2);\r\n  border: 1px solid var(--line);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\r\n}\r\n\r\n.detonator-head{\r\n  display:flex;\r\n  gap: 10px;\r\n  align-items:flex-start;\r\n}\r\n\r\n.detonator-num{\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  letter-spacing: .6px;\r\n  color: rgba(85,96,112,.95);\r\n  padding: 6px 8px;\r\n  border-radius: 12px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  flex: 0 0 auto;\r\n  margin-top: 1px;\r\n}\r\n\r\n.detonator-title h4{\r\n  margin: 0 0 6px;\r\n  font-size: 15.5px;\r\n  font-weight: 800;\r\n  letter-spacing: -.2px;\r\n  color: var(--ink);\r\n}\r\n\r\n.detonator-meta{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 6px;\r\n}\r\n\r\n.detonator-rule{\r\n  display:block;\r\n  width: 52px;\r\n  height: 2px;\r\n  background: var(--accent3);\r\n  margin: 10px 0;\r\n  opacity: .9;\r\n}\r\n\r\n.detonator p{\r\n  margin: 0;\r\n  font-size: 12.5px;\r\n  line-height: 1.6;\r\n  color: var(--muted);\r\n}\r\n\r\n\/* Smooth scroll para anclas *\/\r\nhtml{ scroll-behavior: smooth; }\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 1100px){\r\n  .det-cards{ grid-template-columns: repeat(2, minmax(220px, 1fr)); }\r\n}\r\n\r\n@media (max-width: 560px){\r\n  .det-cards{ grid-template-columns: 1fr; }\r\n}\r\n\r\n\/* =========================================================\r\nCAPAS \u00b7 UI tipo Detonadores (blueprint + hover + chips)\r\n========================================================= *\/\r\n.layers-grid.vms-cards{\r\n  display:grid;\r\n  grid-template-columns: repeat(2, minmax(360px, 1fr));\r\n  gap: 12px;\r\n  margin-top: 10px;\r\n  max-width: var(--max);\r\n  margin-left: auto;\r\n  margin-right: auto;\r\n  width: 100%;\r\n}\r\n\r\n\/* Card clickable *\/\r\n.layer-card{\r\n  position: relative;\r\n  display:grid;\r\n  grid-template-columns: 1.05fr .95fr;\r\n  gap: 12px;\r\n  padding: 16px;\r\n  border-radius: var(--radius2);\r\n  background: #fff;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\r\n  text-decoration:none;\r\n  color: inherit;\r\n  transform: translateY(0);\r\n  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;\r\n}\r\n\r\n.layer-card:hover{\r\n  transform: translateY(-2px);\r\n  box-shadow: 0 14px 26px rgba(16,24,40,.10);\r\n  border-color: rgba(15,76,129,.25);\r\n}\r\n\r\n\/* Numeraci\u00f3n blueprint *\/\r\n.layer-num{\r\n  position:absolute;\r\n  top: 12px;\r\n  right: 12px;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  color: rgba(85,96,112,.9);\r\n  background: rgba(241,243,248,.92);\r\n  border: 1px solid var(--line);\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n}\r\n\r\n\/* Columna izquierda *\/\r\n.layer-title{\r\n  margin: 0 0 6px;\r\n  font-size: 15px;\r\n  font-weight: 900;\r\n  letter-spacing: -.2px;\r\n  color: var(--ink);\r\n}\r\n\r\n.layer-es{\r\n  font-weight: 700;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n.layer-sub{\r\n  margin: 0 0 10px;\r\n  font-size: 12.8px;\r\n  color: var(--muted);\r\n}\r\n\r\n.layer-bullets{\r\n  margin: 0 0 12px;\r\n  padding-left: 18px;\r\n  color: var(--muted);\r\n  font-size: 12.8px;\r\n}\r\n\r\n.layer-bullets li{ margin: 4px 0; }\r\n\r\n\/* Chips conexi\u00f3n *\/\r\n.layer-links{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 6px;\r\n}\r\n\r\n.layerchip--impact .layerdot{ background: rgba(15,76,129,.75); }\r\n\r\n.layerchip--risk .layerdot{ background: rgba(181,71,8,.70); }\r\n\r\n.layerchip--turnkey .layerdot{ background: rgba(26,127,55,.70); }\r\n\r\n\/* =========================================================\r\nCAPAS \u00b7 Explicaci\u00f3n editorial (consistente con Detonantes)\r\n========================================================= *\/\r\n.layer-explain{\r\n  margin-top: 12px;\r\n  max-width: 920px;\r\n}\r\n\r\n.layer-block{\r\n  margin-top: 16px;\r\n  padding: 16px;\r\n  border-radius: var(--radius2);\r\n  border: 1px solid var(--line);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\r\n  max-width: 100%;\r\n  overflow-x: hidden;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.layer-block-head{\r\n  display:flex;\r\n  gap: 10px;\r\n  align-items:flex-start;\r\n}\r\n\r\n.layer-block-num{\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  letter-spacing: .6px;\r\n  color: rgba(85,96,112,.95);\r\n  padding: 6px 8px;\r\n  border-radius: 12px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.8);\r\n  flex: 0 0 auto;\r\n}\r\n\r\n.layer-block h4{\r\n  margin: 0 0 6px;\r\n  font-size: 15.5px;\r\n  font-weight: 900;\r\n  letter-spacing: -.2px;\r\n  color: var(--ink);\r\n}\r\n\r\n.layer-block-meta{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 6px;\r\n}\r\n\r\n.layer-block-rule{\r\n  display:block;\r\n  width: 56px;\r\n  height: 2px;\r\n  background: var(--accent3);\r\n  margin: 10px 0;\r\n  opacity: .9;\r\n}\r\n\r\n.layer-block p{\r\n  margin: 0;\r\n  font-size: 12.5px;\r\n  line-height: 1.6;\r\n  color: var(--muted);\r\n}\r\n\r\n\/* =========================================================\r\nFAQ \u00b7 SEO + UI (details\/summary) \u00b7 VMS mid-fi\r\n========================================================= *\/\r\n.faq{\r\n  margin-top: 12px;\r\n  display: grid;\r\n  gap: 10px;\r\n  max-width: 920px;\r\n}\r\n\r\n.faq-item{\r\n  border: 1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background: #fff;\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.04);\r\n  overflow: hidden;\r\n}\r\n\r\n.faq-q{\r\n  cursor: pointer;\r\n  padding: 14px 14px;\r\n  font-weight: 800;\r\n  color: var(--ink);\r\n  letter-spacing: -.1px;\r\n  list-style: none;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 10px;\r\n}\r\n\r\n.faq-q::-webkit-details-marker{ display: none; }\r\n\r\n\/* Icono caret (blueprint) *\/\r\n.faq-q::after{\r\n  content: \"+\";\r\n  font-family: var(--mono);\r\n  font-weight: 900;\r\n  font-size: 14px;\r\n  color: rgba(15,76,129,.85);\r\n  border: 1px solid rgba(15,76,129,.20);\r\n  background: rgba(15,76,129,.05);\r\n  width: 26px;\r\n  height: 26px;\r\n  border-radius: 10px;\r\n  display: grid;\r\n  place-items: center;\r\n  flex: 0 0 auto;\r\n}\r\n\r\n.faq-item[open] > .faq-q::after{\r\n  content: \"\u2013\";\r\n  background: rgba(15,76,129,.10);\r\n  border-color: rgba(15,76,129,.28);\r\n}\r\n\r\n.faq-a{\r\n  padding: 0 14px 14px;\r\n  border-top: 1px dashed rgba(85,96,112,.28);\r\n}\r\n\r\n.faq-a p{\r\n  margin: 12px 0 0;\r\n  color: var(--muted);\r\n  line-height: 1.65;\r\n  font-size: 12.5px;\r\n}\r\n\r\n\/* Hover *\/\r\n.faq-item:hover{\r\n  border-color: rgba(15,76,129,.22);\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 560px){\r\n  .faq-q{ padding: 13px 12px; }\r\n  .faq-a{ padding: 0 12px 12px; }\r\n}\r\n\r\n\/* =========================================================\r\nAutodiagn\u00f3stico \u00b7 Checklist (editorial blueprint) \u00b7 VMS mid-fi\r\n========================================================= *\/\r\n.checklist-wrap{\r\n  display:grid;\r\n  grid-template-columns: 360px 1fr;\r\n  gap: 12px;\r\n  align-items:start;\r\n  margin-top: 12px;\r\n}\r\n\r\n\/* Panel de resultado *\/\r\n.checklist-score{\r\n  position: sticky;\r\n  top: 96px;\r\n  border: 1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.75), rgba(255,255,255,.96));\r\n  padding: 14px;\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\r\n  align-self: start;\r\n  height: fit-content;\r\n}\r\n\r\n.score-top{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap: 10px;\r\n}\r\n\r\n.score-tag{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n.score-title{\r\n  font-weight: 900;\r\n  font-size: 13.5px;\r\n  color: var(--ink);\r\n}\r\n\r\n.score-meter{\r\n  margin-top: 12px;\r\n  height: 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.7);\r\n  overflow:hidden;\r\n}\r\n\r\n.score-bar{\r\n  height: 100%;\r\n  width: 0%;\r\n  background: rgba(15,76,129,.35);\r\n  border-right: 1px solid rgba(15,76,129,.25);\r\n  transition: width .18s ease;\r\n}\r\n\r\n.score-bar[data-level=\"low\"]{ background: rgba(31,122,140,.35); }\r\n\r\n.score-bar[data-level=\"med\"]{ background: rgba(222,162,32,.35); }\r\n\r\n.score-bar[data-level=\"high\"]{ background: rgba(181,71,8,.35); }\r\n\r\n.score-value{\r\n  margin-top: 10px;\r\n  display:flex;\r\n  align-items:baseline;\r\n  gap: 6px;\r\n}\r\n\r\n.score-num{\r\n  font-family: var(--mono);\r\n  font-size: 22px;\r\n  font-weight: 900;\r\n  color: var(--ink);\r\n}\r\n\r\n.score-max{\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n.score-text{\r\n  margin: 10px 0 0;\r\n  color: var(--muted);\r\n  line-height: 1.6;\r\n  font-size: 14px;\r\n}\r\n\r\n.score-legend{\r\n  margin-top: 12px;\r\n  display:flex;\r\n  gap: 10px;\r\n  flex-wrap:wrap;\r\n  color: rgba(85,96,112,.95);\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n}\r\n\r\n.legend-item{\r\n  display:flex;\r\n  align-items:center;\r\n  gap: 6px;\r\n}\r\n\r\n.legend-dot{\r\n  width: 9px; height: 9px; border-radius: 999px;\r\n  background: rgba(85,96,112,.6);\r\n}\r\n\r\n.dot-low{ background: rgba(31,122,140,.7); }\r\n\r\n.dot-med{ background: rgba(222,162,32,.7); }\r\n\r\n.dot-high{ background: rgba(181,71,8,.7); }\r\n\r\n.score-actions{\r\n  margin-top: 12px;\r\n  display:grid;\r\n  grid-template-columns: 1fr;\r\n  gap: 8px;\r\n}\r\n.score-actions > *{\r\n  width: 100%;\r\n  min-width: 0;\r\n  white-space: normal;\r\n  text-align: center;\r\n  justify-content: center;\r\n  word-break: break-word;\r\n}\r\n\r\n\/* Checklist *\/\r\n.checklist{\r\n  display:grid;\r\n  gap: 10px;\r\n}\r\n\r\n.checkgroup{\r\n  border: 1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background: #fff;\r\n  padding: 14px;\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.04);\r\n}\r\n\r\n.checkgroup--wide{\r\n  grid-column: 1 \/ -1;\r\n}\r\n\r\n.checkgroup-head{\r\n  display:flex;\r\n  gap: 10px;\r\n  align-items:flex-start;\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.checkgroup-num{\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  letter-spacing: .6px;\r\n  color: rgba(85,96,112,.95);\r\n  padding: 6px 8px;\r\n  border-radius: 12px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(241,243,248,.92);\r\n  flex: 0 0 auto;\r\n}\r\n\r\n.checkgroup h4{\r\n  margin: 0 0 4px;\r\n  font-size: 15px;\r\n  font-weight: 900;\r\n  color: var(--ink);\r\n  letter-spacing: -.2px;\r\n}\r\n\r\n.checkgroup p{\r\n  margin: 0;\r\n  color: var(--muted);\r\n  line-height: 1.55;\r\n  font-size: 12.5px;\r\n}\r\n\r\n.checkitem{\r\n  display:flex;\r\n  gap: 10px;\r\n  align-items:flex-start;\r\n  padding: 10px 10px;\r\n  border-radius: 14px;\r\n  border: 1px dashed rgba(85,96,112,.22);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.55), rgba(255,255,255,.95));\r\n  margin-top: 8px;\r\n  cursor: pointer;\r\n}\r\n\r\n.checkitem input{\r\n  margin-top: 2px;\r\n  width: 16px;\r\n  height: 16px;\r\n  accent-color: rgba(15,76,129,.95);\r\n}\r\n\r\n.checkitem span{\r\n  color: rgba(11,18,32,.82);\r\n  font-size: 12.5px;\r\n  line-height: 1.55;\r\n}\r\n\r\n.checkitem:hover{\r\n  border-color: rgba(15,76,129,.28);\r\n  background: linear-gradient(180deg, rgba(15,76,129,.06), rgba(255,255,255,.96));\r\n}\r\n\r\n\/* Buttons (si ya existen en tu CSS, puedes omitir estos) *\/\r\n.btn-ghost, .btn-primary{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 8px;\r\n  border-radius: 14px;\r\n  padding: 10px 12px;\r\n  font-weight: 800;\r\n  text-decoration:none;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.8);\r\n  color: var(--ink);\r\n}\r\n\r\n.btn-primary{\r\n  border-color: rgba(15,76,129,.22);\r\n  background: rgba(15,76,129,.08);\r\n  color: rgba(15,76,129,.95);\r\n}\r\n\r\n.btn-ghost:hover{ border-color: rgba(15,76,129,.22); }\r\n\r\n.btn-primary:hover{ background: rgba(15,76,129,.12); }\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 980px){\r\n  .checklist-wrap{ grid-template-columns: 1fr; }\r\n  .checklist-score{\r\n    position: sticky;\r\n    top: 76px;\r\n    z-index: 80;\r\n    background: rgba(255,255,255,.96);\r\n    backdrop-filter: blur(8px);\r\n  }\r\n}\r\n\r\n\/* CTA box *\/\r\n.cta-box{\r\n  margin-top: 14px;\r\n  display: grid;\r\n  grid-template-columns: 1fr auto;\r\n  gap: 14px;\r\n  align-items: center;\r\n  padding: 14px;\r\n  border: 1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.7), rgba(255,255,255,.95));\r\n}\r\n\r\n.cta-copy h4{\r\n  margin: 0 0 6px;\r\n  font-size: 15.5px;\r\n  font-weight: 900;\r\n  color: var(--ink);\r\n  letter-spacing: -.2px;\r\n}\r\n\r\n.cta-copy p{\r\n  margin: 0;\r\n  color: var(--muted);\r\n  line-height: 1.6;\r\n}\r\n\r\n\/* Chips *\/\r\n.tagline{\r\n  margin-top: 10px;\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 8px;\r\n}\r\n\r\n\/* Button (si ya tienes btn-primary, puedes omitir esto) *\/\r\n.btn-primary{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  padding: 10px 14px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(15,76,129,.22);\r\n  background: rgba(15,76,129,.10);\r\n  color: rgba(15,76,129,.95);\r\n  font-weight: 900;\r\n  text-decoration:none;\r\n  white-space: nowrap;\r\n}\r\n\r\n.btn-primary:hover{\r\n  background: rgba(15,76,129,.14);\r\n}\r\n\r\n\/* SR-ONLY: oculta keywords extra (SEO) *\/\r\n.sr-only{\r\n  position: absolute !important;\r\n  width: 1px !important;\r\n  height: 1px !important;\r\n  padding: 0 !important;\r\n  margin: -1px !important;\r\n  overflow: hidden !important;\r\n  clip: rect(0,0,0,0) !important;\r\n  white-space: nowrap !important;\r\n  border: 0 !important;\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 720px){\r\n  .cta-box{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .btn-primary{\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n\/* =========================================================\r\nNSIC \u00b7 Marco l\u00f3gico (alineado a diagrama conceptual)\r\n========================================================= *\/\r\n.nsic-track{\r\n  position: relative;\r\n  display: grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap: 18px;\r\n  margin-top: 14px;\r\n  max-width: 900px;\r\n}\r\n\r\n\/* Paso *\/\r\n.nsic-step{\r\n  position: relative;\r\n  display:flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  z-index: 1;\r\n}\r\n\r\n\/* Caja letra *\/\r\n.nsic-box{\r\n  width: 68px;\r\n  height: 68px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(15,76,129,.28);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.75), rgba(255,255,255,.95));\r\n  display: grid;\r\n  place-items: center;\r\n  font-family: var(--mono);\r\n  font-size: 28px;\r\n  font-weight: 900;\r\n  letter-spacing: .5px;\r\n  color: rgba(15,76,129,.95);\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.06);\r\n}\r\n\r\n\/* Label *\/\r\n.nsic-label{\r\n  margin-top: 6px;\r\n  font-size: 12.5px;\r\n  font-weight: 700;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n\/* L\u00ednea de continuidad (inspirada en el diagrama conceptual) *\/\r\n.nsic-flow{\r\n  position:absolute;\r\n  left: 6%;\r\n  right: 6%;\r\n  top: 34px;\r\n  height: 2px;\r\n  background: linear-gradient(\r\n  90deg,\r\n  rgba(15,76,129,.15),\r\n  rgba(15,76,129,.35),\r\n  rgba(15,76,129,.15)\r\n  );\r\n  border-radius: 999px;\r\n  z-index: 0;\r\n}\r\n\r\n\/* Micro interacci\u00f3n sutil *\/\r\n.nsic-step:hover .nsic-box{\r\n  transform: translateY(-2px);\r\n  box-shadow: 0 14px 26px rgba(16,24,40,.10);\r\n  border-color: rgba(15,76,129,.45);\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 720px){\r\n  .nsic-track{\r\n    grid-template-columns: repeat(2, 1fr);\r\n    row-gap: 20px;\r\n  }\r\n  .nsic-flow{\r\n    display:none;\r\n  }\r\n}\r\n\r\n.layer-card{\r\n  margin-top: 12px;\r\n  border: 1px solid var(--line);\r\n  border-radius: var(--radius2);\r\n  background: #fff;\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.05);\r\n  overflow: hidden;\r\n}\r\n\r\n.layer-card__head{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap: 12px;\r\n  padding: 12px 12px;\r\n  background: linear-gradient(180deg, rgba(241,243,248,.72), rgba(255,255,255,.95));\r\n  border-bottom: 1px dashed rgba(85,96,112,.22);\r\n}\r\n\r\n.layer-card__meta{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 8px;\r\n  align-items:center;\r\n}\r\n\r\n.layer-pill{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .45px;\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,76,129,.18);\r\n  background: rgba(15,76,129,.06);\r\n  color: rgba(15,76,129,.95);\r\n  white-space: nowrap;\r\n}\r\n\r\n.layer-pill--muted{\r\n  border-color: rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n.layer-toggle{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap: 10px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.8);\r\n  color: var(--ink);\r\n  border-radius: 14px;\r\n  padding: 8px 10px;\r\n  cursor: pointer;\r\n  font-weight: 900;\r\n  text-decoration:none;\r\n  user-select:none;\r\n}\r\n\r\n.layer-toggle:hover{\r\n  border-color: rgba(15,76,129,.22);\r\n}\r\n\r\n.layer-toggle__label{\r\n  font-size: 12.5px;\r\n}\r\n\r\n.layer-toggle__icon{\r\n  font-family: var(--mono);\r\n  font-weight: 900;\r\n  width: 26px;\r\n  height: 26px;\r\n  border-radius: 10px;\r\n  display:grid;\r\n  place-items:center;\r\n  border: 1px solid rgba(15,76,129,.18);\r\n  background: rgba(15,76,129,.06);\r\n  color: rgba(15,76,129,.95);\r\n}\r\n\r\n.layer-card__body{\r\n  padding: 12px;\r\n}\r\n\r\n.layer-figure{\r\n  margin: 0;\r\n}\r\n\r\n.layer-img{\r\n  width: 100%;\r\n  height: auto;\r\n  display:block;\r\n  border-radius: 16px;\r\n  border: 1px dashed rgba(85,96,112,.25);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.6), rgba(255,255,255,.95));\r\n}\r\n\r\n.layer-caption{\r\n  margin-top: 10px;\r\n  color: var(--muted);\r\n  line-height: 1.6;\r\n  font-size: 14px;\r\n}\r\n\r\n.layer-tags{\r\n  margin-top: 10px;\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 8px;\r\n}\r\n\r\n.layer-panel__head{\r\n  display:flex;\r\n  gap: 12px;\r\n  align-items:flex-start;\r\n  justify-content: space-between;\r\n}\r\n\r\n.layer-panel__actions{\r\n  display:flex;\r\n  gap: 8px;\r\n  align-items:center;\r\n  flex: 0 0 auto;\r\n}\r\n\r\n.layer-panel__grid{\r\n  margin-top: 14px;\r\n  display:grid;\r\n  grid-template-columns: 1.1fr .9fr;\r\n  gap: 12px;\r\n  align-items: stretch;\r\n}\r\n\r\n\/* Flash suave blueprint en destino *\/\r\n.flash-blueprint{\r\n  animation: vmsFlash 900ms ease-out 1;\r\n}\r\n\r\n@keyframes vmsFlash{\r\n  0% { box-shadow: 0 0 0 rgba(58,111,165,0); }\r\n  30% { box-shadow: 0 0 0 6px rgba(58,111,165,.18); }\r\n  100% { box-shadow: 0 0 0 rgba(58,111,165,0); }\r\n}\r\n\r\n.flash-blueprint { animation: vmsFlash 900ms ease-out 1; }\r\n\r\n@keyframes vmsFlash{\r\n  0%   { box-shadow: 0 0 0 rgba(58,111,165,0); }\r\n  35%  { box-shadow: 0 0 0 6px rgba(58,111,165,.18); }\r\n  100% { box-shadow: 0 0 0 rgba(58,111,165,0); }\r\n}\r\n\r\n\/* ===============================\r\nConcept Hero \u2013 Internal\r\n================================ *\/\r\n.concept-hero{\r\n  margin: 28px 0 34px;\r\n  padding: 28px 28px 30px;\r\n  border-radius: 20px;\r\n  background: linear-gradient(\r\n  180deg,\r\n  rgba(241,243,248,.85),\r\n  rgba(255,255,255,.96)\r\n  );\r\n  border: 1px solid rgba(229,232,239,.95);\r\n}\r\n\r\n.concept-eyebrow{\r\n  display: inline-block;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .9px;\r\n  text-transform: uppercase;\r\n  color: rgba(58,111,165,.95);\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.concept-title{\r\n  font-size: clamp(22px, 3vw, 28px);\r\n  line-height: 1.25;\r\n  letter-spacing: -.4px;\r\n  margin: 6px 0 10px;\r\n}\r\n\r\n.concept-intro{\r\n  font-size: 16.5px;\r\n  line-height: 1.65;\r\n  color: var(--muted);\r\n  max-width: 820px;\r\n  margin-bottom: 18px;\r\n}\r\n\r\n.concept-benefits{\r\n  margin: 0 0 18px;\r\n  padding-left: 18px;\r\n  max-width: 820px;\r\n}\r\n\r\n.concept-benefits li{\r\n  margin-bottom: 6px;\r\n  line-height: 1.55;\r\n}\r\n\r\n.concept-axiom{\r\n  margin-top: 16px;\r\n  padding: 14px 18px;\r\n  border-left: 3px solid rgba(58,111,165,.65);\r\n  background: rgba(58,111,165,.05);\r\n  font-size: 12.5px;\r\n  line-height: 1.55;\r\n  color: var(--ink);\r\n}\r\n\r\n\/* Mobile refinement *\/\r\n@media (max-width: 768px){\r\n  .concept-hero{\r\n    padding: 22px;\r\n  }\r\n}\r\n\r\n\/* ===== Explore hint (right tile) ===== *\/\r\n.layer-right{\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 10px;\r\n  align-items: stretch;\r\n}\r\n\r\n.layer-explore{\r\n  height:100%;\r\n  min-height: 120px;\r\n  border-radius:14px;\r\n  border:1px dashed rgba(85,96,112,.35);\r\n  background:linear-gradient(180deg, rgba(255,255,255,.6), rgba(241,243,248,.9));\r\n  display:flex;\r\n  flex-direction:column;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap:6px;\r\n  color:rgba(23,44,81,.75);\r\n  font-size:12.5px;\r\n  text-align:center;\r\n  transition:all .25s ease;\r\n}\r\n\r\n.layer-explore__icon{\r\n  font-family:var(--mono);\r\n  font-size:22px;\r\n  line-height:1;\r\n  opacity:.85;\r\n  transition:transform .25s ease, opacity .25s ease;\r\n}\r\n\r\n.layer-card:hover .layer-explore{\r\n  background:linear-gradient(180deg, rgba(58,111,165,.06), rgba(255,255,255,.95));\r\n  border-color:rgba(58,111,165,.55);\r\n  color:rgba(23,44,81,.95);\r\n}\r\n\r\n.layer-card:hover .layer-explore__icon{\r\n  transform:translateY(-2px);\r\n  opacity:1;\r\n}\r\n\r\n\/* Mobile: apila para que no se vea apretado *\/\r\n@media (max-width: 820px){\r\n  .layer-right{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .layer-explore{\r\n    min-height: 88px;\r\n  }\r\n}\r\n\r\n\/* ===============================\r\nLayer Panel layout fix\r\n================================ *\/\r\n\/* que el panel use todo el ancho disponible del section-card *\/\r\n.layer-panel{\r\n  width: 100%;\r\n  margin-top: 14px;\r\n}\r\n\r\n.layer-panel__inner{\r\n  width: 100%;\r\n}\r\n\r\n\/* Header: que no rompa y que alinee bien *\/\r\n.layer-panel__head{\r\n  display:flex;\r\n  align-items:flex-start;\r\n  justify-content:space-between;\r\n  gap: 14px;\r\n  flex-wrap: wrap;           \/* CLAVE: evita desajuste *\/\r\n}\r\n\r\n\/* Acciones: que se mantengan juntas y hagan wrap *\/\r\n.layer-panel__actions{\r\n  display:flex;\r\n  gap: 10px;\r\n  flex-wrap: wrap;\r\n  justify-content:flex-end;\r\n}\r\n\r\n\/* Grid del panel: 2 columnas en desktop, 1 en mobile *\/\r\n.layer-panel__grid{\r\n  display:grid;\r\n  grid-template-columns: 1.15fr .85fr; \/* diagrama + bullets *\/\r\n  gap: 14px;\r\n  align-items:start;\r\n  margin-top: 14px;\r\n}\r\n\r\n@media (max-width: 980px){\r\n  .layer-panel__grid{\r\n    grid-template-columns: 1fr; \/* apila *\/\r\n  }\r\n  .layer-panel__actions{\r\n    width: 100%;\r\n    justify-content:flex-start;\r\n  }\r\n}\r\n\r\n\/* Evita que el texto se rompa en columna ultra-angosta *\/\r\n.layer-panel__title,\r\n.layer-panel__desc{\r\n  max-width: 52ch;\r\n}\r\n\r\n\/* Asegura que los cuadros internos no \u201ccolapsen\u201d *\/\r\n.layer-panel__diagram{\r\n  min-height: 220px;\r\n  border-radius: 16px;\r\n}\r\n\r\n.layer-panel__bullets{\r\n  min-width: 0; \/* evita overflow raro en grid *\/\r\n}\r\n\r\n\/* El panel ocupa todo el ancho del grid *\/\r\n.layer-panel{\r\n  grid-column: 1 \/ -1;\r\n}\r\n\r\n\/* Darle jerarqu\u00eda de \"detalle\" *\/\r\n.layer-panel{\r\n  margin-top: 24px;\r\n  background: linear-gradient(180deg, #f4f6fb, #ffffff);\r\n}\r\n\r\n\/* Centrar contenido interno *\/\r\n.layer-panel__inner{\r\n  max-width: 1100px;\r\n  margin: 0 auto;\r\n}\r\n\r\n\/* =========================\r\nBridge (Panel -> Impacto)\r\n========================= *\/\r\n.layer-bridge{\r\n  margin-top: 16px;\r\n  padding-top: 14px;\r\n  position: relative;\r\n}\r\n\r\n.layer-bridge__line{\r\n  height: 1px;\r\n  background: linear-gradient(90deg, rgba(14,73,129,.35), rgba(14,73,129,.08));\r\n  margin-bottom: 12px;\r\n}\r\n\r\n.layer-bridge__content{\r\n  display: flex;\r\n  align-items: baseline;\r\n  gap: 12px;\r\n  flex-wrap: wrap;\r\n}\r\n\r\n.layer-bridge__badge{\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  font-size: .78rem;\r\n  letter-spacing: .08em;\r\n  text-transform: uppercase;\r\n  padding: 6px 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(14,73,129,.18);\r\n  background: rgba(14,73,129,.06);\r\n  color: var(--ink);\r\n}\r\n\r\n.layer-bridge__dot{\r\n  width: 8px;\r\n  height: 8px;\r\n  border-radius: 999px;\r\n  background: rgba(14,73,129,.55);\r\n}\r\n\r\n.layer-bridge__headline{\r\n  margin: 0;\r\n  font-size: .95rem;\r\n  color: var(--muted);\r\n  max-width: 70ch;\r\n}\r\n\r\n.layer-bridge__cta{\r\n  font-size: .95rem;\r\n  font-weight: 600;\r\n  text-decoration: none;\r\n  color: var(--brand);\r\n  border-bottom: 1px dashed rgba(14,73,129,.35);\r\n}\r\n\r\n.layer-bridge__cta:hover{\r\n  border-bottom-color: rgba(14,73,129,.7);\r\n}\r\n\r\n\/* =========================\r\nImpact Headers (conexi\u00f3n)\r\n========================= *\/\r\n.impact-block{\r\n  margin-top: 16px;\r\n}\r\n\r\n.impact-head{\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.impact-kicker{\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  flex-wrap: wrap;\r\n  margin-bottom: 6px;\r\n}\r\n\r\n.impact-num{\r\n  font-size: .78rem;\r\n  font-weight: 700;\r\n  letter-spacing: .1em;\r\n  color: rgba(14,73,129,.9);\r\n  padding: 4px 8px;\r\n  border: 1px solid rgba(14,73,129,.18);\r\n  border-radius: 999px;\r\n  background: rgba(14,73,129,.06);\r\n}\r\n\r\n.impact-label{\r\n  font-size: .75rem;\r\n  letter-spacing: .18em;\r\n  text-transform: uppercase;\r\n  color: rgba(14,73,129,.85);\r\n}\r\n\r\n.impact-badge{\r\n  margin-left: auto;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  font-size: .75rem;\r\n  letter-spacing: .08em;\r\n  text-transform: uppercase;\r\n  padding: 6px 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(14,73,129,.18);\r\n  background: rgba(14,73,129,.05);\r\n  color: var(--ink);\r\n}\r\n\r\n.impact-dot{\r\n  width: 8px;\r\n  height: 8px;\r\n  border-radius: 999px;\r\n  background: rgba(14,73,129,.55);\r\n}\r\n\r\n.impact-title{\r\n  margin: 0;\r\n}\r\n\r\n.impact-rule{\r\n  margin-top: 10px;\r\n  height: 1px;\r\n  background: linear-gradient(90deg, rgba(14,73,129,.35), rgba(14,73,129,.08));\r\n}\r\n\r\n.impact-capexopex{\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 12px;\r\n  margin-top: 10px;\r\n}\r\n\r\n.impact-col{\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.85);\r\n  padding: 12px;\r\n}\r\n\r\n@media (max-width: 820px){\r\n  .impact-capexopex{ grid-template-columns: 1fr; }\r\n}\r\n\r\n\/* Responsive: badge no se vaya al infinito *\/\r\n@media (max-width: 720px){\r\n  .impact-badge{\r\n    margin-left: 0;\r\n  }\r\n}\r\n\r\n\/* ===============================\r\nColumna derecha (diagram + CTA)\r\n=============================== *\/\r\n.layer-right{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:flex-end;\r\n  gap: 10px;\r\n}\r\n\r\n.layer-diagram{\r\n  flex: 0 0 auto;\r\n  width: 140px;\r\n  height: 86px;\r\n  border-radius: 14px;\r\n  border: 1px dashed rgba(85,96,112,.25);\r\n  background: rgba(255,255,255,.75);\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  color: rgba(23,44,81,.72);\r\n}\r\n\r\n.layer-diagram svg{\r\n  width: 100%;\r\n  height: 100%;\r\n}\r\n\r\n.layer-explore{\r\n  flex: 0 0 108px;\r\n  height: 86px;\r\n  border-radius: 14px;\r\n  border: 1px dashed rgba(85,96,112,.28);\r\n  background: linear-gradient(\r\n  180deg,\r\n  rgba(241,243,248,.72),\r\n  rgba(255,255,255,.88)\r\n  );\r\n  display:flex;\r\n  flex-direction:column;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 6px;\r\n  color: rgba(15,76,129,.92);\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .3px;\r\n}\r\n\r\n.layer-explore__icon{\r\n  font-family: var(--mono);\r\n  font-size: 18px;\r\n  font-weight: 900;\r\n  color: rgba(15,76,129,.95);\r\n}\r\n\r\n\/* Jump link dentro de Impact Layer *\/\r\n.impact-jump{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:8px;\r\n  margin:10px 0 0;\r\n  font-weight:700;\r\n  color: var(--ink);\r\n  opacity:.92;\r\n  background: none;\r\n  border: 0;\r\n  padding: 0;\r\n  cursor: pointer;\r\n  text-decoration: none;\r\n}\r\n\r\n.impact-jump:hover{ opacity:1; text-decoration:underline; }\r\n\r\n\/* ===== Button look for impact-jump ===== *\/\r\n.impact-jump--btn{\r\n  margin: 0;                 \/* evita el margin:10px del base *\/\r\n  padding: 10px 14px;\r\n  border-radius: 16px;\r\n  background: linear-gradient(180deg, #f3f8ff 0%, #ffffff 100%);\r\n  border: 1px solid rgba(15, 76, 129, .22); \/* --accent2 *\/\r\n  color: var(--accent2);\r\n  font-weight: 800;\r\n  font-size: 12.5px;\r\n  letter-spacing: .2px;\r\n  text-decoration: none !important;\r\n  box-shadow: 0 8px 18px rgba(15, 76, 129, .10);\r\n  transition: transform .08s ease, box-shadow .12s ease, background .12s ease;\r\n  white-space: nowrap;\r\n  user-select: none;\r\n}\r\n\r\n.impact-jump--btn:hover{\r\n  opacity: 1; \/* cancela tu hover de opacity *\/\r\n  background: linear-gradient(180deg, #eef6ff 0%, #ffffff 100%);\r\n  box-shadow: 0 12px 26px rgba(15, 76, 129, .14);\r\n  transform: translateY(-1px);\r\n  text-decoration: none !important;\r\n}\r\n\r\n.impact-jump--btn:active{\r\n  transform: translateY(0);\r\n  box-shadow: 0 8px 18px rgba(15, 76, 129, .10);\r\n}\r\n\r\n.impact-jump--btn:focus-visible{\r\n  outline: 3px solid rgba(58, 111, 165, .25); \/* --accent3 *\/\r\n  outline-offset: 3px;\r\n}\r\n\r\n.capex-row-flash{\r\n  outline: 2px solid rgba(58,111,165,.45);      \/* --accent3 *\/\r\n  background: rgba(58,111,165,.10);\r\n  transition: background .2s ease;\r\n}\r\n\r\n\/* Highlight suave blueprint en fila destino *\/\r\n.capex-row-flash{\r\n  outline: 2px solid rgba(15,76,129,.35);\r\n  background: linear-gradient(180deg, rgba(231,244,255,.55), rgba(255,255,255,0));\r\n  border-radius: 10px;\r\n  transition: outline .25s ease, background .25s ease;\r\n}\r\n\r\n\/* Bot\u00f3n de salto a tabla <a href=\"#impacto-capex\">CAPEX\/OPEX<\/a> *\/\r\n.impact-jump--btn{\r\n  margin-top: 12px;\r\n  padding: 8px 14px;\r\n  border-radius: 10px;\r\n  border: 1px solid rgba(15,76,129,.35);\r\n  background: linear-gradient(\r\n  180deg,\r\n  rgba(241,243,248,.85),\r\n  rgba(255,255,255,.98)\r\n  );\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  letter-spacing: .25px;\r\n  color: rgba(15,76,129,.95);\r\n  cursor: pointer;\r\n  box-shadow: 0 6px 14px rgba(16,24,40,.06);\r\n  transition:\r\n  transform .15s ease,\r\n  box-shadow .15s ease,\r\n  border-color .15s ease,\r\n  background .15s ease;\r\n}\r\n\r\n.impact-jump--btn:hover{\r\n  transform: translateY(-1px);\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.10);\r\n  border-color: rgba(15,76,129,.6);\r\n}\r\n\r\n.impact-jump--btn:active{\r\n  transform: translateY(0);\r\n  box-shadow: 0 6px 14px rgba(16,24,40,.08);\r\n}\r\n\r\n\/* Bot\u00f3n tipo link (pero visualmente bot\u00f3n) *\/\r\n.impact-jump{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  border: 1px solid rgba(15,76,129,.18);\r\n  background: rgba(15,76,129,.06);\r\n  color: rgba(15,76,129,.95);\r\n  border-radius: 14px;\r\n  padding: 10px 12px;\r\n  cursor: pointer;\r\n  font-weight: 900;\r\n  font-family: var(--mono);\r\n  letter-spacing: .2px;\r\n  box-shadow: 0 10px 22px rgba(16,24,40,.05);\r\n}\r\n\r\n.impact-jump:hover{\r\n  transform: translateY(-1px);\r\n  border-color: rgba(15,76,129,.35);\r\n  background: rgba(15,76,129,.09);\r\n}\r\n\r\n\/* Layout consistente del lado derecho en las layer cards *\/\r\n.layer-right{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap: 10px;\r\n}\r\n\r\n.layer-diagram{\r\n  width: 160px;   \/* ajusta si quieres *\/\r\n  height: 72px;\r\n  display:grid;\r\n  place-items:center;\r\n  border-radius: 14px;\r\n  border: 1px dashed rgba(85,96,112,.22);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\r\n}\r\n\r\n.layer-explore{\r\n  display:flex;\r\n  flex-direction:column;\r\n  align-items:center;\r\n  justify-content:center;\r\n  width: 92px;\r\n  height: 72px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(15,76,129,.18);\r\n  background: rgba(15,76,129,.04);\r\n}\r\n\r\n.layer-explore__icon{\r\n  font-family: var(--mono);\r\n  font-weight: 900;\r\n  font-size: 20px;\r\n  line-height: 1;\r\n}\r\n\r\n.layer-explore__text{\r\n  margin-top: 4px;\r\n  font-size: 11px;\r\n  font-weight: 900;\r\n  letter-spacing: .3px;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n\r\n\r\n\/* ===== Quinta Capa (UX\/UI optimized, scoped) ===== *\/\r\n.q5 .q5-head{\r\n  display:flex;\r\n  align-items:flex-start;\r\n  justify-content:space-between;\r\n  gap:16px;\r\n  margin-bottom:14px;\r\n}\r\n.q5 .q5-claim{\r\n  margin:10px 0 0;\r\n  color:var(--muted);\r\n  max-width:72ch;\r\n}\r\n.q5 .q5-badge{\r\n  flex:0 0 auto;\r\n  align-self:flex-start;\r\n  padding:10px 12px;\r\n  border-radius:999px;\r\n  background:rgba(23,44,81,.06);\r\n  border:1px solid rgba(23,44,81,.14);\r\n  color:rgba(23,44,81,.92);\r\n  font-weight:700;\r\n  font-size:12px;\r\n  line-height:1;\r\n  white-space:nowrap;\r\n}\r\n.q5 .q5-hero{\r\n  display:grid;\r\n  grid-template-columns: 1.2fr .9fr;\r\n  gap:16px;\r\n  align-items:stretch;\r\n  margin-top:12px;\r\n  margin-bottom:14px;\r\n}\r\n.q5 .q5-diagram{\r\n  border-radius:var(--radius);\r\n  border:1px dashed rgba(85,96,112,.35);\r\n  background:rgba(247,248,251,.8);\r\n  padding:14px;\r\n  min-height:250px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n}\r\n.q5 .q5-side{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:12px;\r\n}\r\n.q5 .q5-card{\r\n  background:var(--card);\r\n  border:1px solid var(--line);\r\n  border-radius:var(--radius2);\r\n  padding:14px;\r\n  box-shadow:none;\r\n}\r\n.q5 .q5-card--what{\r\n  background:linear-gradient(180deg, rgba(23,44,81,.03), rgba(255,255,255,0));\r\n}\r\n.q5 .q5-small{\r\n  margin:10px 0 0;\r\n  color:var(--muted);\r\n}\r\n.q5 .q5-callout{\r\n  border-radius:var(--radius2);\r\n  border:1px solid rgba(15,76,129,.25);\r\n  background:rgba(15,76,129,.06);\r\n  padding:12px 14px;\r\n  color:rgba(23,44,81,.92);\r\n}\r\n.q5 .q5-callout strong{ font-weight:800; }\r\n\r\n.q5 .q5-cards{\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap:14px;\r\n  margin-top:12px;\r\n}\r\n.q5 .q5-list{\r\n  margin:10px 0 0 18px;\r\n}\r\n.q5 .q5-list li{ margin:6px 0; }\r\n.q5 .q5-list--tight li{ margin:5px 0; }\r\n\r\n.q5 .q5-note{\r\n  margin-top:10px;\r\n  padding:10px 12px;\r\n  border-radius:12px;\r\n  background:rgba(241,243,248,.9);\r\n  border:1px solid rgba(85,96,112,.18);\r\n  color:var(--muted);\r\n}\r\n\r\n.q5 .q5-impact{\r\n  margin-top:14px;\r\n  padding:14px;\r\n  border-radius:var(--radius);\r\n  background:rgba(23,44,81,.04);\r\n  border:1px solid rgba(23,44,81,.12);\r\n}\r\n.q5 .q5-impact-grid{\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr 1fr;\r\n  gap:12px;\r\n  margin-top:10px;\r\n}\r\n.q5 .q5-impact-col{\r\n  background:var(--card);\r\n  border:1px solid var(--line);\r\n  border-radius:var(--radius2);\r\n  padding:12px;\r\n}\r\n.q5 .q5-kicker{\r\n  font-family:var(--mono);\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  font-size:11px;\r\n  color:rgba(23,44,81,.88);\r\n  margin-bottom:8px;\r\n}\r\n.q5 .q5-footnote{\r\n  margin-top:12px;\r\n  padding:12px 14px;\r\n  border-radius:14px;\r\n  background:rgba(241,243,248,.95);\r\n  border:1px solid rgba(85,96,112,.18);\r\n  color:var(--muted);\r\n}\r\n\r\n.q5 .q5-when{\r\n  margin-top:14px;\r\n}\r\n.q5 .q5-checks{\r\n  list-style:none;\r\n  padding:0;\r\n  margin:10px 0 0;\r\n  display:grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap:10px 14px;\r\n}\r\n.q5 .q5-checks li{\r\n  position:relative;\r\n  padding-left:26px;\r\n  color:var(--ink);\r\n}\r\n.q5 .q5-checks li:before{\r\n  content:\"\u2713\";\r\n  position:absolute;\r\n  left:0;\r\n  top:0;\r\n  width:18px;\r\n  height:18px;\r\n  border-radius:6px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  background:rgba(26,127,55,.10);\r\n  border:1px solid rgba(26,127,55,.22);\r\n  color:rgba(26,127,55,.95);\r\n  font-weight:900;\r\n  font-size:12px;\r\n  line-height:1;\r\n}\r\n.q5 .q5-close{\r\n  margin-top:12px;\r\n  padding:12px 14px;\r\n  border-radius:14px;\r\n  border:1px solid rgba(23,44,81,.18);\r\n  background:rgba(247,248,251,.95);\r\n  color:var(--muted);\r\n}\r\n\r\n\/* Responsive: keep existing site layout safe *\/\r\n@media (max-width: 900px){\r\n  .q5 .q5-head{ flex-direction:column; }\r\n  .q5 .q5-badge{ align-self:flex-start; }\r\n  .q5 .q5-hero{ grid-template-columns: 1fr; }\r\n  .q5 .q5-cards{ grid-template-columns: 1fr; }\r\n  .q5 .q5-impact-grid{ grid-template-columns: 1fr; }\r\n  .q5 .q5-checks{ grid-template-columns: 1fr; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   VMS \u00b7 Acciones y educaci\u00f3n (accent2 vs accent3)\r\n   - accent3: educativo\r\n   - accent2: acci\u00f3n (CTA)\r\n========================================================= *\/\r\n.btn-action{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 8px;\r\n  border-radius: 999px;\r\n  padding: 10px 14px;\r\n  border: 1px solid rgba(15,76,129,.22);\r\n  background: rgba(15,76,129,.10);\r\n  color: rgba(15,76,129,.98);\r\n  font-weight: 900;\r\n  text-decoration:none;\r\n  white-space: nowrap;\r\n}\r\n.btn-action:hover{ background: rgba(15,76,129,.14); }\r\n\r\n.btn-edu{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  gap: 8px;\r\n  border-radius: 999px;\r\n  padding: 10px 14px;\r\n  border: 1px solid rgba(58,111,165,.35);\r\n  background: rgba(58,111,165,.10);\r\n  color: rgba(23,44,81,.92);\r\n  font-weight: 900;\r\n  text-decoration:none;\r\n  white-space: nowrap;\r\n}\r\n.btn-edu:hover{ background: rgba(58,111,165,.14); }\r\n\r\n\/* Autodiagn\u00f3stico: evitar desborde de texto en botones *\/\r\n.score-actions .btn,\r\n.score-actions .btn-primary,\r\n.score-actions .btn-ghost,\r\n.score-actions .btn-action,\r\n.score-actions .btn-edu,\r\n.score-actions button,\r\n.score-actions a{\r\n  white-space: normal;\r\n  text-align: center;\r\n  line-height: 1.25;\r\n  word-break: break-word;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.score-actions .btn-primary,\r\n.score-actions .btn-action,\r\n.score-actions .btn-edu{\r\n  font-family: var(--sans);\r\n  font-size: 13.5px;\r\n  font-weight: 800;\r\n  padding: 10px 14px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(15,76,129,.22);\r\n  background: rgba(15,76,129,.10);\r\n  color: rgba(15,76,129,.98);\r\n}\r\n\r\n.score-actions .btn-primary:hover,\r\n.score-actions .btn-action:hover,\r\n.score-actions .btn-edu:hover{\r\n  background: rgba(15,76,129,.14);\r\n}\r\n\r\n\/* Mobile one-hand: barra fija (acciones r\u00e1pidas) *\/\r\n\/* ==============================\r\n   VMS \u00b7 Social Proof & Score Gauge\r\n   ============================== *\/\r\n\r\n\/* Social proof: sectores *\/\r\n.sectors{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 10px;\r\n  margin-top: 12px;\r\n}\r\n.sector{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap: 8px;\r\n  padding: 8px 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(241,243,248,.85);\r\n  color: rgba(85,96,112,.95);\r\n  font-family: var(--mono);\r\n  font-size: 11.5px;\r\n}\r\n\r\n\/* Exploded view (simple) *\/\r\n.exploded{\r\n  margin-top: 14px;\r\n  border-radius: var(--radius2);\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.95));\r\n  padding: 14px;\r\n  overflow:hidden;\r\n}\r\n.exploded .legend{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 8px;\r\n  margin-top: 10px;\r\n}\r\n.exploded .legend .chip{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n}\r\n\r\n\r\n\/* ===== Autodiagn\u00f3stico \u00b7 Gauge (veloc\u00edmetro) ===== *\/\r\n.score-gauge{ margin-top: 12px; }\r\n.gauge{ width: 100%; max-width: 240px; height: auto; display:block; margin: 0 auto 8px; }\r\n.gauge-track{ stroke: rgba(229,232,239,.95); stroke-width: 14; }\r\n.gauge-fill{\r\n  stroke: rgba(15,76,129,.88);\r\n  stroke-width: 14;\r\n  stroke-dasharray: 314;   \/* approx semicircle *\/\r\n  stroke-dashoffset: 314;\r\n  transition: stroke-dashoffset .35s ease;\r\n}\r\n.gauge-center{ fill: rgba(15,76,129,.92); }\r\n.gauge-needle{\r\n  stroke: rgba(23,44,81,.92);\r\n  stroke-width: 4;\r\n  stroke-linecap: round;\r\n  transform-origin: 120px 120px;\r\n  transform: rotate(-90deg);\r\n  transition: transform .35s ease;\r\n}\r\n.score-status{\r\n  margin-top: 10px;\r\n  padding: 10px 12px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.85);\r\n}\r\n.score-status .badge{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  padding: 4px 10px;\r\n  border-radius: 999px;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  text-transform: uppercase;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(241,243,248,.85);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.score-status .badge[data-tier=\"med\"]{ \r\n  background: rgba(58,111,165,.12); \r\n  border-color: rgba(58,111,165,.28);\r\n  color: rgba(23,44,81,.92);\r\n}\r\n.score-status .badge[data-tier=\"high\"]{\r\n  background: rgba(245,158,11,.12);\r\n  border-color: rgba(245,158,11,.30);\r\n  color: rgba(120,53,15,.95);\r\n}\r\n.score-status .badge[data-tier=\"crit\"]{\r\n  background: rgba(220,38,38,.10);\r\n  border-color: rgba(220,38,38,.30);\r\n  color: rgba(127,29,29,.98);\r\n}\r\n.score-status .status-note{ display:block; margin-top: 6px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }\r\n.score-status.pulse{ animation: scorePulse 650ms ease-out 1; }\r\n@keyframes scorePulse{\r\n  0% { box-shadow: 0 0 0 rgba(58,111,165,0); }\r\n  25%{ box-shadow: 0 0 0 8px rgba(58,111,165,.18); }\r\n  100%{ box-shadow: 0 0 0 rgba(58,111,165,0); }\r\n}\r\n\r\n\/* Hint de peso (micro) *\/\r\n.checkitem .w{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  color: rgba(85,96,112,.85);\r\n  margin-left: 8px;\r\n  white-space: nowrap;\r\n}\r\n\r\n\r\n\/* Fix: evitar que .badge global (absolute) se sobreponga en el panel de resultado *\/\r\n.checklist-score .score-status .badge{\r\n  position: static;\r\n  top: auto; right: auto; left: auto; bottom: auto;\r\n}\r\n\r\n\r\n\/* ===== Gauge zones (man\u00f3metro) ===== *\/\r\n.gauge-zone{\r\n  stroke-width: 14;               \/* igual que el track *\/\r\n  opacity: .32;                   \/* sutil, no compite con el fill *\/\r\n}\r\n.gauge-zone.zone-low{  stroke: #0F4C81; } \/* azul *\/\r\n.gauge-zone.zone-med{  stroke: #FACC15; } \/* amarillo *\/\r\n.gauge-zone.zone-high{ stroke: #FB923C; } \/* naranja *\/\r\n.gauge-zone.zone-crit{ stroke: #DC2626; } \/* rojo *\/\r\n\r\n\/* Si quieres un look m\u00e1s \"industrial\", sube opacidad en desktop *\/\r\n@media (min-width: 900px){\r\n  .gauge-zone{ opacity: .36; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   UX polish v6\r\n========================================================= *\/\r\n\r\n\/* Autodiagn\u00f3stico: hover\/tap affordance *\/\r\n#autodiagnostico .checkitem{\r\n  transition: background .18s ease, transform .12s ease, border-color .18s ease, box-shadow .18s ease;\r\n}\r\n#autodiagnostico .checkitem:hover{\r\n  background: rgba(58,111,165,.08);\r\n  border-color: rgba(58,111,165,.28);\r\n  box-shadow: 0 10px 18px rgba(16,24,40,.06);\r\n  transform: translateY(-1px);\r\n}\r\n#autodiagnostico .checkitem:active{\r\n  transform: translateY(0);\r\n  box-shadow: 0 6px 12px rgba(16,24,40,.05);\r\n}\r\n#autodiagnostico .checkitem input.chk:focus-visible + span{\r\n  outline: 2px solid rgba(15,76,129,.35);\r\n  outline-offset: 4px;\r\n  border-radius: 10px;\r\n}\r\n\r\n\/* Gauge: reactividad por zona (fill + aguja + hub) *\/\r\n#autodiagnostico[data-tier=\"low\"]  .gauge-fill{ stroke:#0F4C81; }\r\n#autodiagnostico[data-tier=\"med\"]  .gauge-fill{ stroke:#FACC15; }\r\n#autodiagnostico[data-tier=\"high\"] .gauge-fill{ stroke:#FB923C; }\r\n#autodiagnostico[data-tier=\"crit\"] .gauge-fill{ stroke:#DC2626; }\r\n\r\n#autodiagnostico[data-tier=\"low\"]  .gauge-needle{ stroke: rgba(23,44,81,.92); }\r\n#autodiagnostico[data-tier=\"med\"]  .gauge-needle{ stroke: rgba(120,53,15,.92); }\r\n#autodiagnostico[data-tier=\"high\"] .gauge-needle{ stroke: rgba(120,53,15,.92); }\r\n#autodiagnostico[data-tier=\"crit\"] .gauge-needle{ stroke: rgba(127,29,29,.98); }\r\n\r\n#autodiagnostico[data-tier=\"crit\"] .gauge-center{\r\n  fill:#DC2626;\r\n  filter: drop-shadow(0 0 10px rgba(220,38,38,.55)) drop-shadow(0 0 22px rgba(220,38,38,.25));\r\n}\r\n\r\n\/* NSIC \/ capas: estilo de diagramas wireframe *\/\r\n.layer-panel__diagram{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n}\r\n.diagram-svg{\r\n  width: 100%;\r\n  max-width: 260px;\r\n  height: auto;\r\n  opacity: .95;\r\n}\r\n.diagram-svg .w{\r\n  fill: none;\r\n  stroke: rgba(58,111,165,.78); \/* accent3 educativo *\/\r\n  stroke-width: 1.6;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n.diagram-svg .w2{\r\n  fill:none;\r\n  stroke: rgba(15,76,129,.55); \/* accent2 suave *\/\r\n  stroke-width: 1.2;\r\n  stroke-dasharray: 6 6;\r\n}\r\n\r\n\/* Footer de autoridad (sellos) *\/\r\n.authority{\r\n  margin-top: 12px;\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 10px;\r\n}\r\n.seal{\r\n  display:flex;\r\n  align-items:center;\r\n  gap: 10px;\r\n  padding: 10px 12px;\r\n  border-radius: 16px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.85);\r\n}\r\n.seal svg{ width: 26px; height: 26px; }\r\n.seal .t{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  text-transform: uppercase;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.seal .d{\r\n  font-size: 12.5px;\r\n  color: rgba(85,96,112,.90);\r\n}\r\n\r\n\/* Hero \u2192 Detonadores: transici\u00f3n suave *\/\r\n.section-break{\r\n  height: 34px;\r\n  margin: -6px 0 10px;\r\n  border-radius: 999px;\r\n  background:\r\n    radial-gradient(60% 120% at 50% 50%, rgba(58,111,165,.14), rgba(255,255,255,0) 70%),\r\n    linear-gradient(90deg, rgba(241,243,248,.0), rgba(241,243,248,.95), rgba(241,243,248,.0));\r\n  border: 1px solid rgba(229,232,239,.75);\r\n}\r\n\r\n\/* Mockup PDF *\/\r\n.pdf-mock{\r\n  margin-top: 14px;\r\n  display:flex;\r\n  gap: 14px;\r\n  align-items:flex-start;\r\n  flex-wrap:wrap;\r\n}\r\n.pdf-thumb{\r\n  width: 190px;\r\n  border-radius: 18px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.92);\r\n  box-shadow: 0 14px 30px rgba(16,24,40,.10);\r\n  padding: 10px;\r\n}\r\n.pdf-page{\r\n  height: 120px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: linear-gradient(180deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\r\n  position: relative;\r\n  overflow:hidden;\r\n}\r\n.pdf-page:before{\r\n  content:\"\";\r\n  position:absolute; inset: 14px 14px auto 14px;\r\n  height: 10px;\r\n  border-radius: 999px;\r\n  background: rgba(15,76,129,.10);\r\n}\r\n.pdf-lines{\r\n  position:absolute; left:14px; right:14px; top: 38px;\r\n  display:grid; gap: 8px;\r\n}\r\n.pdf-lines span{\r\n  height: 7px;\r\n  border-radius: 999px;\r\n  background: rgba(23,44,81,.08);\r\n}\r\n.pdf-lines span:nth-child(2){ width: 86%; }\r\n.pdf-lines span:nth-child(3){ width: 70%; }\r\n.pdf-stamp{\r\n  position:absolute; right: 12px; bottom: 12px;\r\n  width: 38px; height: 38px;\r\n  border-radius: 12px;\r\n  border: 1px solid rgba(58,111,165,.35);\r\n  background: rgba(58,111,165,.10);\r\n  display:grid; place-items:center;\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  color: rgba(58,111,165,.92);\r\n}\r\n.pdf-meta{\r\n  flex: 1;\r\n  min-width: 220px;\r\n}\r\n.pdf-meta .k{\r\n  display:inline-block;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  text-transform: uppercase;\r\n  color: rgba(85,96,112,.95);\r\n  margin-bottom: 8px;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Man\u00f3metro industrial (ticks, contraste y glow reactivo)\r\n========================================================= *\/\r\n.gauge-ticks .tick{\r\n  stroke: rgba(85,96,112,.55);\r\n  stroke-linecap: round;\r\n}\r\n.gauge-ticks .tick.major{ stroke-width: 3; }\r\n.gauge-ticks .tick.minor{ stroke-width: 2; opacity: .75; }\r\n\r\n.gauge-labels text{\r\n  font-family: var(--mono);\r\n  font-size: 10.5px;\r\n  fill: rgba(85,96,112,.70);\r\n}\r\n\r\n\/* Track m\u00e1s contrastado en desktop *\/\r\n@media (min-width: 900px){\r\n  .gauge-track{ stroke: rgba(85,96,112,.20); }\r\n  .gauge-zone{ opacity: .42; }\r\n  .gauge-ticks .tick{ stroke: rgba(85,96,112,.62); }\r\n}\r\n\r\n\/* Glow pulsante SOLO al entrar a cr\u00edtico *\/\r\n#autodiagnostico .gauge-center{ transition: filter .25s ease, fill .25s ease; }\r\n#autodiagnostico.pulse-crit .gauge-center{\r\n  animation: critGlow 1200ms ease-in-out 2;\r\n}\r\n@keyframes critGlow{\r\n  0%{ filter: drop-shadow(0 0 0 rgba(220,38,38,0)); }\r\n  35%{ filter: drop-shadow(0 0 10px rgba(220,38,38,.55)) drop-shadow(0 0 22px rgba(220,38,38,.25)); }\r\n  70%{ filter: drop-shadow(0 0 6px rgba(220,38,38,.35)) drop-shadow(0 0 14px rgba(220,38,38,.18)); }\r\n  100%{ filter: drop-shadow(0 0 0 rgba(220,38,38,0)); }\r\n}\r\n\r\n\/* =========================================================\r\n   Sistema de iconograf\u00eda (mini-gu\u00eda aplicable a SVGs)\r\n========================================================= *\/\r\n:root{\r\n  --icon-stroke: 1.6;\r\n  --icon-stroke2: 1.2;\r\n  --icon-round: 10;\r\n}\r\n.diagram-svg .w{ stroke-width: var(--icon-stroke); }\r\n.diagram-svg .w2{ stroke-width: var(--icon-stroke2); }\r\n\r\n\r\n\/* Fondo grid t\u00e9cnico detr\u00e1s del man\u00f3metro *\/\r\n.score-gauge{\r\n  position: relative;\r\n  padding: 10px 8px 8px;\r\n  border-radius: 18px;\r\n  background:\r\n    linear-gradient(transparent 0, transparent 100%),\r\n    radial-gradient(80% 120% at 50% 10%, rgba(58,111,165,.10), rgba(255,255,255,0) 70%),\r\n    repeating-linear-gradient(0deg, rgba(15,76,129,.06) 0, rgba(15,76,129,.06) 1px, transparent 1px, transparent 10px),\r\n    repeating-linear-gradient(90deg, rgba(15,76,129,.06) 0, rgba(15,76,129,.06) 1px, transparent 1px, transparent 10px);\r\n  border: 1px solid rgba(229,232,239,.95);\r\n}\r\n@media (max-width: 720px){\r\n  .score-gauge{ background:\r\n    radial-gradient(80% 120% at 50% 10%, rgba(58,111,165,.10), rgba(255,255,255,0) 70%),\r\n    repeating-linear-gradient(0deg, rgba(15,76,129,.05) 0, rgba(15,76,129,.05) 1px, transparent 1px, transparent 12px),\r\n    repeating-linear-gradient(90deg, rgba(15,76,129,.05) 0, rgba(15,76,129,.05) 1px, transparent 1px, transparent 12px);\r\n  }\r\n}\r\n.gauge-scale{\r\n  display:flex;\r\n  gap: 8px;\r\n  justify-content: space-between;\r\n  margin: 8px 6px 0;\r\n  font-family: var(--mono);\r\n  font-size: 10.5px;\r\n  letter-spacing: .6px;\r\n  text-transform: uppercase;\r\n}\r\n.gauge-scale .s{\r\n  padding: 3px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.gauge-scale .low{ border-color: rgba(15,76,129,.22); }\r\n.gauge-scale .med{ border-color: rgba(250,204,21,.35); }\r\n.gauge-scale .high{ border-color: rgba(251,146,60,.35); }\r\n.gauge-scale .crit{ border-color: rgba(220,38,38,.35); }\r\n\r\n\/* Labels boundaries in SVG *\/\r\n.gauge-labels text.b{ font-size: 10px; fill: rgba(85,96,112,.62); }\r\n\r\n\r\n\/* FAQ visual: acorde\u00f3n (solo icono + \/ -) *\/\r\n.faq details{ border: 1px solid rgba(229,232,239,.95); border-radius: 16px; background: rgba(255,255,255,.85); padding: 10px 12px; }\r\n.faq details + details{ margin-top: 10px; }\r\n.faq summary{\r\n  cursor: pointer;\r\n  list-style: none;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content: space-between;\r\n  gap: 14px;\r\n  font-weight: 900;\r\n}\r\n.faq summary::-webkit-details-marker{ display:none; }\r\n.faq summary:after{\r\n  content:\"+\";\r\n  width: 26px; height: 26px;\r\n  display:grid; place-items:center;\r\n  border-radius: 10px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(241,243,248,.85);\r\n  font-family: var(--mono);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.faq details[open] summary:after{ content:\"\u2212\"; }\r\n.faq .faq-a{ margin-top: 8px; color: rgba(85,96,112,.92); }\r\n\r\n\r\n\/* Mockup \"Gu\u00eda\" (portada) junto al CTA de descarga *\/\r\n.guide-cover{ margin-top: 12px; display:flex; gap: 10px; align-items:center; flex-wrap:wrap; }\r\n.guide-cover .cover{\r\n  width: 210px;\r\n  border-radius: 18px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: linear-gradient(180deg, rgba(15,76,129,.10), rgba(255,255,255,.96));\r\n  padding: 12px;\r\n  position: relative;\r\n  box-shadow: 0 14px 30px rgba(16,24,40,.10);\r\n  overflow:hidden;\r\n}\r\n.guide-cover .cover:after{\r\n  content:\"\";\r\n  position:absolute; inset:-60px -60px auto auto;\r\n  width: 140px; height: 140px;\r\n  background: radial-gradient(circle at 30% 30%, rgba(58,111,165,.25), rgba(255,255,255,0) 65%);\r\n  transform: rotate(10deg);\r\n}\r\n.guide-cover .cover-top{ display:flex; gap: 8px; }\r\n.guide-cover .tag{\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  letter-spacing: .6px;\r\n  text-transform: uppercase;\r\n  padding: 3px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.guide-cover .cover-title{\r\n  margin-top: 12px;\r\n  font-weight: 950;\r\n  font-size: 15px;\r\n  color: rgba(23,44,81,.95);\r\n  line-height: 1.15;\r\n}\r\n.guide-cover .cover-sub{\r\n  margin-top: 8px;\r\n  font-size: 12.5px;\r\n  color: rgba(85,96,112,.92);\r\n}\r\n.guide-cover .cover-badge{\r\n  position:absolute;\r\n  right: 12px; bottom: 12px;\r\n  width: 42px; height: 42px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(58,111,165,.35);\r\n  background: rgba(58,111,165,.12);\r\n  display:grid; place-items:center;\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  font-weight: 900;\r\n  color: rgba(58,111,165,.92);\r\n}\r\n.guide-cover .cover-note{\r\n  flex: 1;\r\n  min-width: 220px;\r\n  color: rgba(85,96,112,.90);\r\n  font-size: 12.5px;\r\n}\r\n\r\n\r\n\/* CTA principal: color de acento \"seguridad\" (mayor conversi\u00f3n) *\/\r\n.float-cta{\r\n  background: rgba(245,158,11,.96) !important; \/* naranja industrial *\/\r\n  border-color: rgba(245,158,11,.35) !important;\r\n  color: rgba(23,44,81,.95) !important;\r\n}\r\n.float-cta .dot{\r\n  background: rgba(23,44,81,.92) !important;\r\n  box-shadow: 0 0 0 4px rgba(23,44,81,.10) !important;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Mockups (entre Introducci\u00f3n y Necesidad) + diagrama puente\r\n========================================================= *\/\r\n.mockup-strip{\r\n  margin: 18px 0 28px;\r\n}\r\n.mockup-grid{\r\n  display: grid;\r\n  grid-template-columns: repeat(2, minmax(220px, 1fr));\r\n  gap: 18px;\r\n}\r\n@media (max-width: 720px){\r\n  .mockup-grid{ grid-template-columns: 1fr; }\r\n}\r\n.mockup-card{\r\n  padding: 14px;\r\n  border-radius: 18px;\r\n  border: 1px dashed var(--line);\r\n  background: rgba(255,255,255,.85);\r\n  cursor: pointer;\r\n  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;\r\n  text-decoration: none;\r\n  display: block;\r\n}\r\n.mockup-card:hover{\r\n  transform: translateY(-4px);\r\n  box-shadow: 0 16px 36px rgba(15,76,129,.18);\r\n  border-color: rgba(15,76,129,.45);\r\n  background: rgba(255,255,255,1);\r\n}\r\n.mockup-card:hover .mockup-frame{\r\n  border-color: rgba(15,76,129,.35);\r\n}\r\n.mockup-card:hover .mockup-title{\r\n  color: rgba(15,76,129,1);\r\n}\r\n.mockup-frame{\r\n  height: 84px;\r\n  border-radius: 16px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  overflow: hidden;\r\n  display:flex;\r\n  align-items:flex-end;\r\n  padding: 12px;\r\n  position: relative;\r\n  box-shadow: 0 12px 26px rgba(16,24,40,.10);\r\n}\r\n.mockup-card.software .mockup-frame{\r\n  background: linear-gradient(135deg, rgba(15,76,129,.08), rgba(255,255,255,.96));\r\n}\r\n.mockup-card.infrastructure .mockup-frame{\r\n  background:\r\n    radial-gradient(60% 120% at 20% 0%, rgba(58,111,165,.14), rgba(255,255,255,0) 60%),\r\n    linear-gradient(135deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\r\n}\r\n.mockup-frame:after{\r\n  content:\"\";\r\n  position:absolute; inset: 10px 10px auto auto;\r\n  width: 92px; height: 56px;\r\n  border-radius: 14px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.72);\r\n  opacity: .85;\r\n}\r\n.mockup-title{\r\n  font-weight: 950;\r\n  line-height: 1.1;\r\n  color: rgba(23,44,81,.95);\r\n  max-width: 70%;\r\n}\r\n.mockup-tags{\r\n  position:absolute;\r\n  left: 12px; top: 12px;\r\n  display:flex; gap: 8px;\r\n}\r\n.mockup-tag{\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  letter-spacing: .6px;\r\n  text-transform: uppercase;\r\n  padding: 3px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.mockup-caption{\r\n  margin-top: 8px;\r\n  font-family: 'Courier New', Courier, monospace;\r\n  font-size: 11px;\r\n  letter-spacing: .6px;\r\n  color: rgba(85,96,112,.85);\r\n}\r\n\r\n\/* Diagrama puente (activos \u2192 datos \u2192 reporte) *\/\r\n.bridge{\r\n  margin-top: 16px;\r\n  padding: 14px;\r\n  border-radius: 18px;\r\n  border: 1px dashed var(--line);\r\n  background: rgba(255,255,255,.75);\r\n}\r\n.bridge svg{ width: 100%; height: auto; display:block; }\r\n.bridge .w{\r\n  fill:none;\r\n  stroke: rgba(58,111,165,.72);\r\n  stroke-width: 1.6;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n.bridge .w2{\r\n  fill:none;\r\n  stroke: rgba(15,76,129,.45);\r\n  stroke-width: 1.2;\r\n  stroke-dasharray: 6 6;\r\n}\r\n.bridge text{\r\n  font-family: var(--mono);\r\n  font-size: 10.5px;\r\n  fill: rgba(85,96,112,.85);\r\n  letter-spacing: .6px;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Mockups: tarjeta t\u00e9cnica (altura + estructura)\r\n========================================================= *\/\r\n.mockup-card{\r\n  display:flex;\r\n  flex-direction: column;\r\n  gap: 10px;\r\n}\r\n.mockup-frame{\r\n  height: 120px;                 \/* +altura visual *\/\r\n  padding: 14px;\r\n}\r\n.mockup-title{\r\n  font-size: 15.5px;\r\n}\r\n.mockup-card .mockup-caption{\r\n  margin-top: 0;\r\n  padding-top: 2px;\r\n}\r\n.mockup-frame .ui-bar{\r\n  position:absolute;\r\n  left: 12px; right: 12px; top: 12px;\r\n  height: 12px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.72);\r\n  display:flex;\r\n  gap: 6px;\r\n  align-items:center;\r\n  padding: 0 8px;\r\n}\r\n.mockup-frame .dot{\r\n  width: 6px; height: 6px;\r\n  border-radius: 999px;\r\n  background: rgba(85,96,112,.35);\r\n}\r\n.mockup-frame .ui-lines{\r\n  position:absolute;\r\n  left: 14px; right: 14px; bottom: 14px;\r\n  display:grid;\r\n  gap: 8px;\r\n}\r\n.mockup-frame .ui-lines span{\r\n  height: 7px;\r\n  border-radius: 999px;\r\n  background: rgba(23,44,81,.08);\r\n}\r\n.mockup-frame .ui-lines span:nth-child(2){ width: 78%; }\r\n.mockup-frame .ui-lines span:nth-child(3){ width: 62%; }\r\n\r\n\/* Balance visual: que ninguno opaque al otro *\/\r\n.mockup-card.software .mockup-frame:after{ opacity: .65; }\r\n.mockup-card.infrastructure .mockup-frame:after{ opacity: .78; }\r\n\r\n\r\n\/* =========================================================\r\n   Transici\u00f3n: Necesidad \u2192 <a href=\"#capas-editorial\">Capas NSIC<\/a>\r\n========================================================= *\/\r\n.nsic-transition{\r\n  margin: 28px 0 34px;\r\n  padding: 18px 22px;\r\n  border-radius: 20px;\r\n  background:\r\n    radial-gradient(80% 140% at 50% 0%, rgba(58,111,165,.12), rgba(255,255,255,0) 70%),\r\n    linear-gradient(180deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\r\n  border: 1px dashed var(--line);\r\n}\r\n.nsic-transition .kicker{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .7px;\r\n  text-transform: uppercase;\r\n  color: rgba(85,96,112,.9);\r\n}\r\n.nsic-transition h3{\r\n  margin: 6px 0 10px;\r\n}\r\n.nsic-flow{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap: 10px 16px;\r\n  align-items:center;\r\n}\r\n.nsic-step{\r\n  display:flex;\r\n  align-items:center;\r\n  gap: 8px;\r\n  padding: 6px 10px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.8);\r\n  font-size: 12.5px;\r\n  color: rgba(85,96,112,.95);\r\n}\r\n.nsic-step svg{\r\n  width: 18px;\r\n  height: 18px;\r\n}\r\n.nsic-step .w{\r\n  fill:none;\r\n  stroke: rgba(58,111,165,.85);\r\n  stroke-width: 1.6;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n.nsic-arrow{\r\n  font-family: var(--mono);\r\n  color: rgba(85,96,112,.65);\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   NSIC \u2192 Conversi\u00f3n (cierre suave) + jerarqu\u00eda mobile en capas\r\n========================================================= *\/\r\n.nsic-close{\r\n  margin-top: 18px;\r\n  border-radius: 22px;\r\n  border: 1px dashed var(--line);\r\n  background:\r\n    radial-gradient(90% 140% at 20% 0%, rgba(58,111,165,.12), rgba(255,255,255,0) 70%),\r\n    linear-gradient(180deg, rgba(241,243,248,.95), rgba(255,255,255,.98));\r\n  padding: 16px;\r\n}\r\n.nsic-close__inner{\r\n  display:flex;\r\n  gap: 14px;\r\n  align-items:flex-start;\r\n  justify-content: space-between;\r\n  flex-wrap:wrap;\r\n}\r\n.nsic-close__kicker{\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  letter-spacing: .7px;\r\n  text-transform: uppercase;\r\n  color: rgba(85,96,112,.9);\r\n}\r\n.nsic-close__title{ margin: 6px 0 8px; }\r\n.nsic-close__desc{ margin: 0; color: rgba(85,96,112,.92); max-width: 60ch; }\r\n.nsic-close__actions{\r\n  display:flex;\r\n  gap: 10px;\r\n  align-items:center;\r\n  flex-wrap:wrap;\r\n  justify-content:flex-end;\r\n}\r\n\r\n\/* Jerarqu\u00eda en capas: mobile-first *\/\r\n@media (max-width: 720px){\r\n  .layer-block{\r\n    padding: 14px 14px 16px;\r\n  }\r\n  .layer-block-head{\r\n    gap: 10px;\r\n    align-items:flex-start;\r\n  }\r\n  .layer-block-head h4{\r\n    font-size: 17px;\r\n    line-height: 1.15;\r\n  }\r\n  .layer-block-meta{\r\n    margin-top: 6px;\r\n  }\r\n  .impact-jump.impact-jump--btn{\r\n    margin-top: 10px;\r\n    width: 100%;\r\n    text-align: center;\r\n  }\r\n  .layer-block p{\r\n    font-size: 14.5px;\r\n    line-height: 1.55;\r\n  }\r\n  .layer-block .bullets{\r\n    margin-top: 10px;\r\n  }\r\n  .layer-block .bullets li{\r\n    padding-left: 2px;\r\n    margin: 8px 0;\r\n  }\r\n  .layerchip{\r\n    font-size: 11px;\r\n  }\r\n}\r\n\r\n\/* Desktop: mejorar escaneabilidad de textos densos *\/\r\n@media (min-width: 900px){\r\n  .layer-block p{ max-width: 78ch; }\r\n  .layer-block .bullets li{ margin: 10px 0; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Capas (cards): iconos por capa en lugar de \"+\"\r\n========================================================= *\/\r\n.layer-explore__icon{\r\n  display:grid;\r\n  place-items:center;\r\n}\r\n.layer-explore__icon .layer-icon{\r\n  width: 28px;\r\n  height: 28px;\r\n}\r\n.layer-explore__icon .layer-icon .w{\r\n  fill:none;\r\n  stroke: currentColor;\r\n  stroke-width: 2;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n.layer-explore__icon .layer-icon .w2{\r\n  fill:none;\r\n  stroke: currentColor;\r\n  stroke-width: 1.6;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n  opacity: .85;\r\n}\r\n\/* Color sutil por capa (sin romper paleta) *\/\r\n.layer-card[data-layer=\"power\"] .layer-explore__icon{ color: rgba(15,76,129,.95); }\r\n.layer-card[data-layer=\"protection\"] .layer-explore__icon{ color: rgba(23,44,81,.95); }\r\n.layer-card[data-layer=\"control\"] .layer-explore__icon{ color: rgba(58,111,165,.95); }\r\n.layer-card[data-layer=\"comms\"] .layer-explore__icon{ color: rgba(85,96,112,.95); }\r\n\r\n\r\n\/* =========================================================\r\n   SEO t\u00e9cnico \/ Core Web Vitals: rendering & containment\r\n========================================================= *\/\r\n.section{\r\n  content-visibility: auto;\r\n  contain-intrinsic-size: 900px;\r\n}\r\n@media (max-width: 720px){\r\n  .section{ contain-intrinsic-size: 760px; }\r\n}\r\nimg{\r\n  height: auto;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   NSIC framework: s\u00edmbolos en geometr\u00eda pura (N\/S\/I\/C)\r\n========================================================= *\/\r\n.nsic-box{\r\n  display:grid;\r\n  place-items:center;\r\n}\r\n.nsic-icon{\r\n  width: 34px;\r\n  height: 34px;\r\n}\r\n.nsic-icon .w{\r\n  fill:none;\r\n  stroke: rgba(58,111,165,.92);\r\n  stroke-width: 2;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n.nsic-box--s .nsic-icon .w{ stroke: rgba(23,44,81,.92); }\r\n.nsic-box--i .nsic-icon .w{ stroke: rgba(15,76,129,.92); }\r\n.nsic-box--c .nsic-icon .w{ stroke: rgba(85,96,112,.88); }\r\n@media (max-width: 720px){\r\n  .nsic-icon{ width: 30px; height: 30px; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   NSIC icon + inicial (convivencia)\r\n========================================================= *\/\r\n.nsic-symbol{\r\n  position: relative;\r\n  width: 44px;\r\n  height: 44px;\r\n  display:grid;\r\n  place-items:center;\r\n}\r\n.nsic-letter{\r\n  position:absolute;\r\n  bottom: -6px;\r\n  right: -6px;\r\n  width: 22px;\r\n  height: 22px;\r\n  border-radius: 8px;\r\n  display:grid;\r\n  place-items:center;\r\n  font-family: var(--mono);\r\n  font-size: 12px;\r\n  font-weight: 900;\r\n  color: rgba(15,76,129,.95);\r\n  background: rgba(255,255,255,.95);\r\n  border: 1px solid rgba(229,232,239,.95);\r\n}\r\n.nsic-box--s .nsic-letter{ color: rgba(23,44,81,.95); }\r\n.nsic-box--i .nsic-letter{ color: rgba(15,76,129,.95); }\r\n.nsic-box--c .nsic-letter{ color: rgba(85,96,112,.9); }\r\n\r\n@media (max-width:720px){\r\n  .nsic-symbol{ width: 40px; height: 40px; }\r\n  .nsic-letter{\r\n    width: 20px;\r\n    height: 20px;\r\n    font-size: 11px;\r\n  }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Tabla CAPEX\/OPEX: patr\u00f3n NSIC (icono + inicial) en encabezados por capa\r\n========================================================= *\/\r\n.capex-badge{\r\n  display:inline-flex;\r\n  vertical-align: middle;\r\n  margin-right: 10px;\r\n}\r\n.capex-symbol{\r\n  position: relative;\r\n  width: 28px;\r\n  height: 28px;\r\n  display:grid;\r\n  place-items:center;\r\n}\r\n.capex-symbol .nsic-icon{\r\n  width: 22px;\r\n  height: 22px;\r\n}\r\n.capex-symbol .nsic-icon .w{\r\n  fill:none;\r\n  stroke: rgba(58,111,165,.92);\r\n  stroke-width: 2;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n.capex-letter{\r\n  position:absolute;\r\n  bottom: -6px;\r\n  right: -6px;\r\n  width: 16px;\r\n  height: 16px;\r\n  border-radius: 6px;\r\n  display:grid;\r\n  place-items:center;\r\n  font-family: var(--mono);\r\n  font-size: 10px;\r\n  font-weight: 900;\r\n  background: rgba(255,255,255,.96);\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  color: rgba(15,76,129,.95);\r\n}\r\n.capex-badge--s .nsic-icon .w, .capex-badge--s .capex-letter{ color: rgba(23,44,81,.95); stroke: rgba(23,44,81,.92); }\r\n.capex-badge--i .nsic-icon .w, .capex-badge--i .capex-letter{ color: rgba(15,76,129,.95); stroke: rgba(15,76,129,.92); }\r\n.capex-badge--c .nsic-icon .w, .capex-badge--c .capex-letter{ color: rgba(85,96,112,.90); stroke: rgba(85,96,112,.88); }\r\n\r\n\/* Asegurar alineaci\u00f3n en celdas de tabla *\/\r\n#impacto-capex table td:first-child{\r\n  white-space: nowrap;\r\n}\r\n@media (max-width:720px){\r\n  .capex-badge{ margin-right: 6px; }\r\n  .capex-symbol{ width: 22px; height: 22px; }\r\n  .capex-symbol .nsic-icon{ width: 16px; height: 16px; }\r\n  .capex-letter{ \r\n    width: 14px; \r\n    height: 14px; \r\n    font-size: 8px;\r\n    bottom: -4px;\r\n    right: -4px;\r\n  }\r\n}\r\n@media (max-width:480px){\r\n  \/* Ocultar iconos en m\u00f3vil muy peque\u00f1o, solo mostrar letra *\/\r\n  .capex-symbol .nsic-icon{ display: none; }\r\n  .capex-symbol{ width: 18px; height: 18px; }\r\n  .capex-letter{\r\n    position: static;\r\n    width: 18px;\r\n    height: 18px;\r\n    font-size: 9px;\r\n  }\r\n  .capex-badge{ margin-right: 4px; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CWV (CLS\/INP): estabilidad de layout y objetivos t\u00e1ctiles\r\n========================================================= *\/\r\n.btn-primary, .btn-ghost, .float-cta, .impact-jump, .layer-explore{\r\n  min-height: 44px; \/* tap target + evita saltos por font rendering *\/\r\n}\r\n.layer-card{\r\n  contain: layout paint style; \/* reduce impacto de repaint *\/\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Responsive fixes (mobile): capas cards + evitar overflow\r\n========================================================= *\/\r\n@media (max-width: 860px){\r\n  .layers-grid.vms-cards{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .layer-card{\r\n    grid-template-columns: 1fr;\r\n  }\r\n  .layer-explore{\r\n    margin-top: 8px;\r\n    width: 100%;\r\n    min-height: 52px;\r\n    justify-content: center;\r\n  }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Mobile safe-area: evitar que el CTA flotante tape contenido\r\n========================================================= *\/\r\n@media (max-width: 720px){\r\n  body{ padding-bottom: 96px; } \/* espacio para CTA flotante *\/\r\n  .float-cta{\r\n    bottom: calc(14px + env(safe-area-inset-bottom));\r\n    right: 12px;\r\n    left: 12px;\r\n    width: auto;\r\n    justify-content: center;\r\n    border-radius: 999px;\r\n  }\r\n}\r\n\r\n\r\n@media (max-width: 980px){\r\n  .checklist-score{ padding: 12px 12px 10px; }\r\n  .score-gauge{ margin-top: 8px; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Layer panel: evitar redundancias (impacto) + helper t\u00e9cnico\r\n========================================================= *\/\r\n.lp-helper{\r\n  margin: 10px 0 0;\r\n  font-size: 13px;\r\n  color: rgba(85,96,112,.92);\r\n}\r\n.lp-helper a{\r\n  color: rgba(15,76,129,.95);\r\n  text-decoration: underline;\r\n  text-decoration-style: dotted;\r\n  text-underline-offset: 3px;\r\n}\r\n@media (max-width: 720px){\r\n  .lp-helper{ font-size: 12.5px; }\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   Layer panel actions: botones (impacto + CAPEX\/OPEX) responsive\r\n========================================================= *\/\r\n.layer-panel__actions{\r\n  display:flex;\r\n  gap: 10px;\r\n  align-items:center;\r\n  justify-content:flex-end;\r\n  flex-wrap:wrap;\r\n}\r\n.layer-panel__actions .btn-primary,\r\n.layer-panel__actions .btn-ghost{\r\n  min-height: 44px;\r\n  padding: 10px 14px;\r\n  border-radius: 14px;\r\n  font-weight: 700;\r\n}\r\n@media (max-width: 720px){\r\n  .layer-panel__actions{\r\n    justify-content:flex-start;\r\n  }\r\n  .layer-panel__actions .btn-primary{\r\n    width: 100%;\r\n    justify-content:center;\r\n  }\r\n  .layer-panel__actions .btn-ghost{\r\n    width: 100%;\r\n    justify-content:center;\r\n  }\r\n}\r\n\r\n\/* =========================================================\r\n   Responsive hardening: media + grids (no layout changes)\r\n========================================================= *\/\r\nimg, video, canvas{\r\n  max-width: 100%;\r\n  height: auto;\r\n}\r\nsvg{\r\n  max-width: 100%;\r\n  height: auto;\r\n}\r\niframe, embed, object{\r\n  max-width: 100%;\r\n}\r\npre{\r\n  max-width: 100%;\r\n  overflow: auto;\r\n}\r\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) > *{\r\n  min-width: 0;\r\n}\r\n@media (max-width: 900px){\r\n  .logic-tiles{\r\n    grid-template-columns: repeat(2, minmax(120px, 1fr));\r\n  }\r\n  .logic-tile{\r\n    width: 100%;\r\n  }\r\n}\r\n@media (max-width: 520px){\r\n  .logic-tiles{\r\n    grid-template-columns: 1fr;\r\n  }\r\n}\r\n\r\n\/* =========================================================\r\n   Tipograf\u00eda unificada: p\u00e1rrafos y textos\r\n========================================================= *\/\r\np,\r\nli,\r\n.lead,\r\n.sub{\r\n  font-size: var(--text);\r\n}\r\n.lead,\r\n.sub{\r\n  font-size: var(--text-lg);\r\n}\r\n.card p,\r\n.layer .meta,\r\n.bullets,\r\n.note,\r\n.risk span,\r\n.det-sub,\r\n.detonator p,\r\n.faq-a p,\r\n.micro-note,\r\n.layer-panel__bullets ul,\r\n.checkitem p,\r\n.checkitem ul,\r\n.q5 .q5-small,\r\n.q5 .q5-note,\r\n.q5 .q5-list,\r\n.q5 .q5-list li,\r\n.q5 .q5-checks,\r\n.q5 .q5-checks li{\r\n  font-size: var(--text-sm);\r\n}\r\n.risk strong,\r\n.layer h3,\r\n.card h3,\r\n.det-title,\r\n.cta-copy p{\r\n  font-size: var(--text);\r\n}\r\n\r\n\/* =========================================================\r\n   Modal Reporte PDF (UI consistente)\r\n========================================================= *\/\r\n.modal-overlay{\r\n  position: fixed;\r\n  inset: 0;\r\n  background: rgba(11,18,32,.45);\r\n  backdrop-filter: blur(4px);\r\n  display: none;\r\n  align-items: center;\r\n  justify-content: center;\r\n  z-index: 1000;\r\n  padding: 18px;\r\n}\r\n\r\n.modal-overlay.is-open{ display: flex; }\r\n\r\n.modal-card{\r\n  width: min(560px, 94vw);\r\n  background: #fff;\r\n  border: 1px solid var(--line);\r\n  border-radius: var(--radius);\r\n  box-shadow: 0 18px 40px rgba(16,24,40,.18);\r\n  overflow: hidden;\r\n}\r\n\r\n.modal-head{\r\n  display:flex;\r\n  align-items:flex-start;\r\n  justify-content: space-between;\r\n  gap: 10px;\r\n  padding: 16px 18px;\r\n  background: linear-gradient(180deg, rgba(241,243,248,.8), rgba(255,255,255,.98));\r\n  border-bottom: 1px dashed rgba(85,96,112,.22);\r\n}\r\n\r\n.modal-title{\r\n  margin: 0;\r\n  font-size: 16.5px;\r\n  font-weight: 900;\r\n  color: var(--ink);\r\n}\r\n\r\n.modal-sub{\r\n  margin: 4px 0 0;\r\n  color: var(--muted);\r\n  font-size: 12.8px;\r\n}\r\n\r\n.modal-close{\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.8);\r\n  color: var(--ink);\r\n  width: 32px;\r\n  height: 32px;\r\n  border-radius: 10px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  cursor: pointer;\r\n  font-weight: 900;\r\n  font-family: var(--mono);\r\n  font-size: 18px;\r\n  line-height: 1;\r\n  padding: 0;\r\n}\r\n\r\n.modal-body{ padding: 16px 18px 18px; }\r\n\r\n.modal-preview{\r\n  border: 1px solid var(--line);\r\n  border-radius: 14px;\r\n  background: linear-gradient(180deg, rgba(241,243,248,.65), rgba(255,255,255,.98));\r\n  padding: 12px;\r\n  margin-bottom: 12px;\r\n}\r\n\r\n.modal-preview .chip{\r\n  display:inline-flex;\r\n  gap: 6px;\r\n  align-items:center;\r\n  font-family: var(--mono);\r\n  font-size: 11px;\r\n  padding: 4px 8px;\r\n  border-radius: 999px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.75);\r\n  color: rgba(85,96,112,.95);\r\n  margin-right: 6px;\r\n  margin-bottom: 6px;\r\n}\r\n\r\n.modal-form{\r\n  display:grid;\r\n  gap: 10px;\r\n}\r\n\r\n.modal-form label{\r\n  font-size: 12.5px;\r\n  color: var(--muted);\r\n}\r\n\r\n.modal-form input{\r\n  width: 100%;\r\n  padding: 10px 12px;\r\n  border-radius: 12px;\r\n  border: 1px solid rgba(229,232,239,.95);\r\n  background: rgba(255,255,255,.9);\r\n  font-size: 13.5px;\r\n}\r\n\r\n.modal-form input:focus{\r\n  outline: 3px solid rgba(58,111,165,.2);\r\n  border-color: rgba(15,76,129,.35);\r\n}\r\n\r\n.modal-error{\r\n  color: #b54708;\r\n  font-size: 12px;\r\n  display: none;\r\n}\r\n\r\n.modal-actions{\r\n  display:flex;\r\n  gap: 8px;\r\n  flex-wrap: wrap;\r\n  align-items:center;\r\n  margin-top: 4px;\r\n}\r\n\r\n.modal-actions .btn-action{\r\n  border-radius: 12px;\r\n  padding: 10px 14px;\r\n}\r\n\r\n.modal-note{\r\n  margin: 8px 0 0;\r\n  font-size: 12px;\r\n  color: var(--muted);\r\n}\r\n\r\n@media (max-width: 520px){\r\n  .modal-actions{ flex-direction: column; align-items: stretch; }\r\n  .modal-actions .btn-action{ width: 100%; }\r\n}\r\n\r\n\/* =========================================================\r\n   RESPONSIVE M\u00d3VIL - Secciones antes del Autodiagn\u00f3stico\r\n========================================================= *\/\r\n@media (max-width: 768px){\r\n  \/* Force everything to stay within viewport *\/\r\n  * {\r\n    max-width: 100vw !important;\r\n  }\r\n  html, body {\r\n    overflow-x: hidden !important;\r\n    width: 100% !important;\r\n  }\r\n  .container{\r\n    padding: 16px 12px 60px !important;\r\n    overflow-x: hidden !important;\r\n    width: 100% !important;\r\n  }\r\n  .section{\r\n    overflow-x: hidden !important;\r\n    width: 100% !important;\r\n  }\r\n  .section-card{\r\n    overflow-x: hidden !important;\r\n    width: 100% !important;\r\n    padding: 14px !important;\r\n  }\r\n  .layer-block{\r\n    overflow-x: hidden !important;\r\n    width: 100% !important;\r\n    padding: 12px !important;\r\n  }\r\n  .impact, .impact > *{\r\n    overflow-x: hidden !important;\r\n    width: 100% !important;\r\n  }\r\n  \r\n  \/* Hero *\/\r\n  .hero{\r\n    grid-template-columns: 1fr;\r\n    gap: 14px;\r\n  }\r\n  .hero-card{\r\n    padding: 16px;\r\n  }\r\n  h1{\r\n    font-size: 22px;\r\n    line-height: 1.2;\r\n  }\r\n  .sub{\r\n    font-size: 14px;\r\n  }\r\n  .kicker{\r\n    font-size: 11px;\r\n    padding: 5px 8px;\r\n  }\r\n  \r\n  \/* Section cards *\/\r\n  .section-card{\r\n    padding: 14px;\r\n    overflow-x: visible;\r\n  }\r\n  .section{\r\n    overflow-x: visible;\r\n  }\r\n  .h2{\r\n    font-size: 18px;\r\n  }\r\n  .lead{\r\n    font-size: 13px;\r\n  }\r\n  \r\n  \/* Mockups PDF *\/\r\n  .mockup-grid{\r\n    grid-template-columns: 1fr;\r\n    gap: 12px;\r\n  }\r\n  .mockup-card{\r\n    padding: 10px;\r\n  }\r\n  .mockup-frame{\r\n    height: 72px;\r\n    padding: 10px;\r\n  }\r\n  .mockup-title{\r\n    font-size: 13px;\r\n    max-width: 65%;\r\n  }\r\n  .mockup-tag{\r\n    font-size: 9px;\r\n    padding: 2px 6px;\r\n  }\r\n  .mockup-caption{\r\n    font-size: 10px;\r\n  }\r\n  \r\n  \/* Logic tiles (N S I C) *\/\r\n  .logic-tiles{\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 10px;\r\n  }\r\n  .logic-tile{\r\n    width: 100%;\r\n  }\r\n  .logic-letter{\r\n    height: 80px;\r\n    font-size: 42px;\r\n  }\r\n  \r\n  \/* Det cards *\/\r\n  .det-cards{\r\n    grid-template-columns: 1fr;\r\n    gap: 10px;\r\n  }\r\n  .det-card{\r\n    padding: 12px;\r\n  }\r\n  .det-title{\r\n    font-size: 12.5px;\r\n  }\r\n  .det-sub{\r\n    font-size: 11.5px;\r\n  }\r\n  .det-ic{\r\n    width: 32px;\r\n    height: 32px;\r\n  }\r\n  \r\n  \/* Detonators editoriales *\/\r\n  .detonators{\r\n    max-width: 100%;\r\n  }\r\n  .detonator{\r\n    padding: 12px;\r\n  }\r\n  .detonator-head{\r\n    flex-wrap: wrap;\r\n  }\r\n  .detonator-title h4{\r\n    font-size: 14px;\r\n  }\r\n  .detonator-meta{\r\n    gap: 4px;\r\n  }\r\n  .layerchip{\r\n    font-size: 10px;\r\n    padding: 3px 6px;\r\n  }\r\n  \r\n  \/* Layers grid *\/\r\n  .layers-grid.vms-cards{\r\n    grid-template-columns: 1fr;\r\n    gap: 14px;\r\n  }\r\n  .layer-card{\r\n    grid-template-columns: 1fr;\r\n    gap: 12px;\r\n    padding: 14px;\r\n  }\r\n  .layer-card__left,\r\n  .layer-left{\r\n    min-width: 0;\r\n  }\r\n  \r\n  \/* Layer right column - stack vertically on mobile *\/\r\n  .layer-right{\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    gap: 10px;\r\n  }\r\n  \r\n  \/* Layer diagram - smaller on mobile *\/\r\n  .layer-diagram{\r\n    width: 100%;\r\n    height: 70px;\r\n    min-height: 70px;\r\n  }\r\n  .layer-diagram svg{\r\n    max-width: 160px;\r\n    height: auto;\r\n  }\r\n  \r\n  \/* Layer explore button - full width *\/\r\n  .layer-explore{\r\n    flex: none;\r\n    width: 100%;\r\n    height: auto;\r\n    min-height: 50px;\r\n    padding: 10px;\r\n    flex-direction: row;\r\n    gap: 8px;\r\n  }\r\n  .layer-explore__icon{\r\n    font-size: 16px;\r\n  }\r\n  .layer-explore__icon .layer-icon{\r\n    width: 28px;\r\n    height: 28px;\r\n  }\r\n  .layer-explore__text{\r\n    font-size: 11px;\r\n  }\r\n  \r\n  \/* Layer number badge *\/\r\n  .layer-num{\r\n    top: 10px;\r\n    right: 10px;\r\n    font-size: 10px;\r\n    padding: 3px 6px;\r\n  }\r\n  \r\n  \/* Layer title and text *\/\r\n  .layer-title{\r\n    font-size: 14px;\r\n    padding-right: 40px;\r\n  }\r\n  .layer-es{\r\n    display: block;\r\n    font-size: 12px;\r\n    margin-top: 2px;\r\n  }\r\n  .layer-sub{\r\n    font-size: 12px;\r\n    line-height: 1.4;\r\n  }\r\n  \r\n  \/* Layer chips *\/\r\n  .layer-links{\r\n    gap: 5px;\r\n  }\r\n  \r\n  .layer-kicker{\r\n    font-size: 10px;\r\n  }\r\n  .layer-card__title{\r\n    font-size: 14px;\r\n  }\r\n  .layer-bullets{\r\n    font-size: 11.5px;\r\n    padding-left: 14px;\r\n  }\r\n  \r\n  \/* Layer panel *\/\r\n  .layer-panel__inner{\r\n    padding: 12px;\r\n  }\r\n  .layer-panel__title{\r\n    font-size: 15px;\r\n  }\r\n  .layer-panel__grid{\r\n    grid-template-columns: 1fr;\r\n    gap: 10px;\r\n  }\r\n  .layer-panel__diagram{\r\n    min-height: 100px;\r\n  }\r\n  \r\n  \/* Layer explain *\/\r\n  .layer-explain{\r\n    max-width: 100%;\r\n  }\r\n  .layer-block{\r\n    padding: 12px;\r\n  }\r\n  .layer-block-head{\r\n    flex-wrap: wrap;\r\n  }\r\n  .layer-block h4{\r\n    font-size: 14px;\r\n  }\r\n  \r\n  \/* Impact table - REMOVED - Using global table styles instead *\/\r\n  \r\n  \/* Risks *\/\r\n  .risklist{\r\n    gap: 8px;\r\n  }\r\n  .risk{\r\n    padding: 8px;\r\n    gap: 8px;\r\n  }\r\n  .risk .r-ic{\r\n    width: 26px;\r\n    height: 26px;\r\n  }\r\n  .risk strong{\r\n    font-size: 11.5px;\r\n  }\r\n  .risk span{\r\n    font-size: 11.5px;\r\n  }\r\n  \r\n  \/* Q5 \/ Turnkey *\/\r\n  .q5-head{\r\n    flex-direction: column;\r\n    gap: 10px;\r\n  }\r\n  .q5-badge{\r\n    align-self: flex-start;\r\n  }\r\n  .q5-hero{\r\n    grid-template-columns: 1fr;\r\n    gap: 12px;\r\n  }\r\n  .q5-diagram{\r\n    min-height: 160px;\r\n  }\r\n  .q5-cards{\r\n    grid-template-columns: 1fr;\r\n    gap: 10px;\r\n  }\r\n  .q5-card{\r\n    padding: 12px;\r\n  }\r\n  .q5-impact-grid{\r\n    grid-template-columns: 1fr;\r\n    gap: 10px;\r\n  }\r\n  .q5-checks{\r\n    padding-left: 16px;\r\n  }\r\n  \r\n  \/* Related *\/\r\n  .related{\r\n    grid-template-columns: 1fr;\r\n    gap: 10px;\r\n  }\r\n  .rel{\r\n    padding: 12px;\r\n    min-height: auto;\r\n  }\r\n  \r\n  \/* CTA *\/\r\n  .cta{\r\n    flex-direction: column;\r\n    text-align: center;\r\n    gap: 10px;\r\n    padding: 14px;\r\n  }\r\n  .cta-box{\r\n    flex-direction: column;\r\n    gap: 12px;\r\n  }\r\n  \r\n  \/* Authority seals *\/\r\n  .authority{\r\n    flex-direction: column;\r\n    gap: 10px;\r\n  }\r\n  .seal{\r\n    width: 100%;\r\n  }\r\n  \r\n  \/* FAQ *\/\r\n  .faq{\r\n    gap: 8px;\r\n  }\r\n  .faq-q{\r\n    padding: 12px 10px;\r\n    font-size: 13px;\r\n  }\r\n  \r\n  \/* General buttons *\/\r\n  .btn, .btn-primary, .btn-action{\r\n    padding: 10px 14px;\r\n    font-size: 13px;\r\n  }\r\n  \r\n  \/* NSIC Close - Convierte las capas en decisi\u00f3n *\/\r\n  .nsic-close{\r\n    padding: 14px 12px;\r\n    margin-top: 14px;\r\n  }\r\n  .nsic-close__inner{\r\n    flex-direction: column;\r\n    gap: 12px;\r\n  }\r\n  .nsic-close__kicker{\r\n    font-size: 10px;\r\n  }\r\n  .nsic-close__title{\r\n    font-size: 16px;\r\n    margin: 4px 0 6px;\r\n  }\r\n  .nsic-close__desc{\r\n    font-size: 13px;\r\n    max-width: 100%;\r\n  }\r\n  .nsic-close__actions{\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    width: 100%;\r\n    gap: 8px;\r\n  }\r\n  .nsic-close__actions .btn-primary,\r\n  .nsic-close__actions .btn-ghost{\r\n    width: 100%;\r\n    text-align: center;\r\n    padding: 12px 14px;\r\n    font-size: 12.5px;\r\n    white-space: normal;\r\n    line-height: 1.3;\r\n  }\r\n  \r\n  \/* Pull quote *\/\r\n  .pull{\r\n    padding: 12px;\r\n    font-size: 13px;\r\n  }\r\n  \r\n  \/* Note *\/\r\n  .note{\r\n    padding: 10px 12px;\r\n    font-size: 11.5px;\r\n  }\r\n  \r\n  \/* Chip *\/\r\n  .chip{\r\n    font-size: 10px;\r\n    padding: 3px 6px;\r\n  }\r\n  \r\n  \/* ===== IMPACT SECTION - Mobile fixes ===== *\/\r\n  .impact{\r\n    grid-template-columns: 1fr !important;\r\n    gap: 14px;\r\n  }\r\n  \r\n  \/* Impact column boxes *\/\r\n  .impact-col{\r\n    padding: 10px;\r\n  }\r\n  .impact-col .layer-panel__label{\r\n    font-size: 13px;\r\n  }\r\n  .impact-col .bullets{\r\n    font-size: 12px;\r\n    padding-left: 16px;\r\n  }\r\n  .impact-col .bullets li{\r\n    margin: 4px 0;\r\n  }\r\n  \r\n  \/* Layer block (Falla t\u00e9cnica -> P\u00e9rdida financiera table) *\/\r\n  .layer-block{\r\n    padding: 10px;\r\n    margin-bottom: 12px;\r\n  }\r\n  .layer-block-num{\r\n    font-size: 18px;\r\n    min-width: 28px;\r\n  }\r\n  .layer-block h4{\r\n    font-size: 13px;\r\n    line-height: 1.3;\r\n  }\r\n  .layerchip{\r\n    font-size: 10px;\r\n    padding: 2px 6px;\r\n  }\r\n  \r\n  \/* Table scroll wrapper for mobile *\/\r\n  .table-wrap{\r\n    overflow-x: auto !important;\r\n    overflow-y: visible !important;\r\n    -webkit-overflow-scrolling: touch;\r\n    margin: 0 -12px;\r\n    padding: 0 12px;\r\n    max-width: calc(100% + 24px);\r\n    display: block;\r\n  }\r\n  .table-wrap table{\r\n    min-width: 580px;\r\n    font-size: 11px;\r\n    display: table;\r\n    width: max-content;\r\n  }\r\n  th, td{\r\n    padding: 8px 6px;\r\n    font-size: 11px;\r\n  }\r\n  th{\r\n    font-size: 10.5px;\r\n  }\r\n  \r\n  \/* CAPEX badge in table *\/\r\n  .capex-badge{\r\n    transform: scale(0.85);\r\n    margin-right: 4px;\r\n  }\r\n  .capex-letter{\r\n    font-size: 10px;\r\n  }\r\n  \r\n  \/* ===== RISKLIST - Mobile fixes ===== *\/\r\n  .risklist{\r\n    padding: 10px;\r\n    gap: 10px;\r\n  }\r\n  \r\n  \/* Nested risklist fix *\/\r\n  .risklist .risklist{\r\n    padding: 8px;\r\n    margin-top: 8px;\r\n  }\r\n  \r\n  .risk{\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n    padding: 10px;\r\n    gap: 8px;\r\n  }\r\n  .risk--alert{\r\n    flex-direction: row;\r\n    align-items: flex-start;\r\n  }\r\n  .risk .r-ic{\r\n    width: 28px;\r\n    height: 28px;\r\n    min-width: 28px;\r\n    font-size: 14px;\r\n  }\r\n  .risk--alert .r-ic{\r\n    width: 32px;\r\n    height: 32px;\r\n    min-width: 32px;\r\n  }\r\n  .risk strong{\r\n    font-size: 12px;\r\n    margin-bottom: 2px;\r\n  }\r\n  .risk span{\r\n    font-size: 11.5px;\r\n    line-height: 1.4;\r\n  }\r\n  \r\n  \/* Risk text container *\/\r\n  .risk > div:last-child{\r\n    width: 100%;\r\n  }\r\n}\r\n\r\n\/* Extra small screens *\/\r\n@media (max-width: 400px){\r\n  h1{\r\n    font-size: 19px;\r\n  }\r\n  .logic-tiles{\r\n    grid-template-columns: repeat(2, 1fr);\r\n  }\r\n  .logic-letter{\r\n    height: 65px;\r\n    font-size: 36px;\r\n  }\r\n  .mockup-title{\r\n    font-size: 12px;\r\n  }\r\n  .layer-card__title{\r\n    font-size: 13px;\r\n  }\r\n  \r\n  \/* Layer cards - extra small *\/\r\n  .layer-card{\r\n    padding: 12px;\r\n    gap: 10px;\r\n  }\r\n  .layer-title{\r\n    font-size: 13px;\r\n    padding-right: 35px;\r\n  }\r\n  .layer-es{\r\n    font-size: 11px;\r\n  }\r\n  .layer-sub{\r\n    font-size: 11px;\r\n  }\r\n  .layer-diagram{\r\n    height: 60px;\r\n  }\r\n  .layer-explore{\r\n    min-height: 44px;\r\n    padding: 8px;\r\n  }\r\n  .layer-explore__icon .layer-icon{\r\n    width: 24px;\r\n    height: 24px;\r\n  }\r\n  \r\n  \/* Impact section - extra small *\/\r\n  .layer-block-head{\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n    gap: 6px;\r\n  }\r\n  .layer-block-meta{\r\n    flex-wrap: wrap;\r\n    gap: 4px;\r\n  }\r\n  .table-wrap table{\r\n    min-width: 500px;\r\n    width: max-content;\r\n  }\r\n  th, td{\r\n    padding: 6px 5px;\r\n    font-size: 10px;\r\n    white-space: nowrap;\r\n  }\r\n  .capex-badge{\r\n    transform: scale(0.75);\r\n  }\r\n  \r\n  \/* Risks - extra small *\/\r\n  .risk{\r\n    padding: 8px;\r\n  }\r\n  .risk strong{\r\n    font-size: 11px;\r\n  }\r\n  .risk span{\r\n    font-size: 10.5px;\r\n  }\r\n  .risk .r-ic{\r\n    width: 24px;\r\n    height: 24px;\r\n    min-width: 24px;\r\n    font-size: 12px;\r\n  }\r\n  \r\n  \/* NSIC Close - extra small *\/\r\n  .nsic-close{\r\n    padding: 12px 10px;\r\n  }\r\n  .nsic-close__title{\r\n    font-size: 14px;\r\n  }\r\n  .nsic-close__desc{\r\n    font-size: 12px;\r\n  }\r\n  .nsic-close__actions .btn-primary,\r\n  .nsic-close__actions .btn-ghost{\r\n    padding: 10px 12px;\r\n    font-size: 11.5px;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<script type=\"application\/ld+json\" id=\"schema-vms-autodiagnostico\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@graph\": [\r\n    {\r\n      \"@type\": \"SoftwareApplication\",\r\n      \"name\": \"Autodiagn\u00f3stico de Riesgos de Subestaciones Industriales\",\r\n      \"applicationCategory\": \"BusinessApplication\",\r\n      \"operatingSystem\": \"Web\",\r\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).\",\r\n      \"offers\": {\r\n        \"@type\": \"Offer\",\r\n        \"price\": \"0\",\r\n        \"priceCurrency\": \"MXN\"\r\n      },\r\n      \"provider\": {\r\n        \"@type\": \"Organization\",\r\n        \"name\": \"VMS Energy\"\r\n      },\r\n      \"@id\": \"#autodiagnostico-app\",\r\n      \"url\": \"#autodiagnostico\"\r\n    },\r\n    {\r\n      \"@type\": \"Service\",\r\n      \"name\": \"Consultor\u00eda CAPEX\/OPEX y modernizaci\u00f3n de subestaciones industriales\",\r\n      \"serviceType\": \"Consultor\u00eda el\u00e9ctrica industrial \/ proyectos llave en mano\",\r\n      \"provider\": {\r\n        \"@type\": \"Organization\",\r\n        \"name\": \"VMS Energy\"\r\n      },\r\n      \"areaServed\": \"MX\",\r\n      \"audience\": {\r\n        \"@type\": \"BusinessAudience\",\r\n        \"name\": \"Industria (EPC, Manufactura, Miner\u00eda, Data Centers)\"\r\n      },\r\n      \"@id\": \"#servicio-modernizacion-subestaciones\",\r\n      \"url\": \"#turnkey\"\r\n    }\r\n  ]\r\n}\r\n<\/script>\r\n\r\n<\/head>\r\n<body>\r\n<p class=\"sr-only\">presupuesto modernizaci\u00f3n subestaci\u00f3n \u00b7 consultor\u00eda CAPEX el\u00e9ctrica \u00b7 proyectos llave en mano electricidad industrial<\/p>\r\n\r\n  <main class=\"container\">\r\n    <!-- HERO -->\r\n    <section class=\"hero\" aria-label=\"Hero\">\r\n      <article class=\"hero-card\">\r\n        <div class=\"kicker\">\r\n          <span style=\"width:8px;height:8px;border-radius:999px;background:rgba(58,111,165,.8)\"><\/span>\r\n          Subestaciones el\u00e9ctricas industriales\r\n        <\/div>\r\n        <h1>\u00bfCu\u00e1ndo y por qu\u00e9 se necesita una subestaci\u00f3n el\u00e9ctrica?<\/h1>\r\n        <p class=\"sub\">De la necesidad operativa a la toma de decisiones t\u00e9cnicas informadas<\/p>\r\n        <div class=\"rule\"><\/div>\r\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>\r\n      <\/article>\r\n\r\n      <aside class=\"hero-visual\" aria-label=\"Visual de portada\">\r\n        <div class=\"badge\">Diagrama Conceptual:<\/div>\r\n        <!-- Inline SVG placeholder (blueprint-like) -->\r\n        <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 520 320\" role=\"img\" aria-label=\"Ilustraci\u00f3n t\u00e9cnica de subestaci\u00f3n (placeholder)\">\r\n          <defs>\r\n            <linearGradient id=\"g\" x1=\"0\" x2=\"1\">\r\n              <stop offset=\"0\" stop-color=\"rgba(58,111,165,.20)\"\/>\r\n              <stop offset=\"1\" stop-color=\"rgba(15,76,129,.08)\"\/>\r\n            <\/linearGradient>\r\n          <\/defs>\r\n          <rect x=\"0\" y=\"0\" width=\"520\" height=\"320\" fill=\"url(#g)\"\/>\r\n          <g stroke=\"rgba(23,44,81,.55)\" stroke-width=\"2\" fill=\"none\">\r\n            <rect x=\"60\" y=\"170\" width=\"150\" height=\"80\" rx=\"10\"\/>\r\n            <rect x=\"235\" y=\"145\" width=\"110\" height=\"105\" rx=\"10\"\/>\r\n            <rect x=\"365\" y=\"165\" width=\"95\" height=\"85\" rx=\"10\"\/>\r\n            <line x1=\"80\" y1=\"170\" x2=\"80\" y2=\"120\"\/>\r\n            <line x1=\"120\" y1=\"170\" x2=\"120\" y2=\"95\"\/>\r\n            <line x1=\"160\" y1=\"170\" x2=\"160\" y2=\"120\"\/>\r\n            <line x1=\"260\" y1=\"145\" x2=\"260\" y2=\"90\"\/>\r\n            <line x1=\"300\" y1=\"145\" x2=\"300\" y2=\"70\"\/>\r\n            <line x1=\"400\" y1=\"165\" x2=\"400\" y2=\"100\"\/>\r\n            <line x1=\"430\" y1=\"165\" x2=\"430\" y2=\"85\"\/>\r\n            <path d=\"M60 210 C120 200, 200 190, 235 200\" \/>\r\n            <path d=\"M345 200 C360 195, 372 195, 365 210\" \/>\r\n            <path d=\"M235 200 C290 190, 340 190, 365 200\" \/>\r\n          <\/g>\r\n          <g fill=\"rgba(11,18,32,.75)\" font-family=\"ui-monospace, monospace\" font-size=\"12\">\r\n            <text x=\"70\" y=\"270\">Subestaci\u00f3n El\u00e9ctrica Industrial<\/text>\r\n            <text x=\"70\" y=\"288\">\"El valor est\u00e1 en la arquitectura, no en los componentes\"<\/text>\r\n          <\/g>\r\n          <g stroke=\"rgba(255,255,255,.35)\" stroke-width=\"1\">\r\n            <line x1=\"0\" y1=\"40\" x2=\"520\" y2=\"40\"\/>\r\n            <line x1=\"0\" y1=\"80\" x2=\"520\" y2=\"80\"\/>\r\n            <line x1=\"0\" y1=\"120\" x2=\"520\" y2=\"120\"\/>\r\n            <line x1=\"0\" y1=\"160\" x2=\"520\" y2=\"160\"\/>\r\n            <line x1=\"0\" y1=\"200\" x2=\"520\" y2=\"200\"\/>\r\n            <line x1=\"0\" y1=\"240\" x2=\"520\" y2=\"240\"\/>\r\n            <line x1=\"0\" y1=\"280\" x2=\"520\" y2=\"280\"\/>\r\n          <\/g>\r\n        <\/svg>\r\n      <\/aside>\r\n    <\/section>\r\n\r\n    <!-- INTRO + PULL QUOTE -->\r\n    <section class=\"section\">\r\n      <div class=\"section-card\">\r\n        <h2 class=\"h2\">Introducci\u00f3n<\/h2>\r\n        <p class=\"lead\">\r\n          En entornos <Strong>industriales, energ\u00e9ticos y de infraestructura<\/Strong>, el crecimiento de una operaci\u00f3n rara vez es lineal.\r\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>\r\n        <\/p>\r\n        <p class=\"lead\">\r\n            <strong>\u00bfEn qu\u00e9 momento una subestaci\u00f3n se vuelve necesaria?<\/strong>\r\n        <\/p>\r\n        <p class=\"lead\">\r\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>.          \r\n        <\/p>\r\n        <p class=\"lead\">\r\n        Este art\u00edculo aborda el tema desde una l\u00f3gica progresiva:\r\n        <\/p>\r\n<section class=\"section\" id=\"nsic-framework\">\r\n  <div class=\"section-card\">\r\n\r\n    <div class=\"nsic-track\" aria-label=\"Marco l\u00f3gico del an\u00e1lisis\">\r\n\r\n      <div class=\"nsic-step\">\r\n        <div class=\"nsic-box nsic-box--n\" aria-label=\"S\u00edmbolo N\">\r\n      <div class=\"nsic-symbol\">\r\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <circle class=\"w\" cx=\"20\" cy=\"24\" r=\"10\"\/>\r\n  <circle class=\"w\" cx=\"28\" cy=\"24\" r=\"10\"\/>\r\n<\/svg><span class=\"sr-only\">N<\/span>\r\n        <span class=\"nsic-letter\">N<\/span>\r\n      <\/div>\r\n    <\/div>\r\n        <div class=\"nsic-label\">Necesidad<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"nsic-step\">\r\n        <div class=\"nsic-box nsic-box--s\" aria-label=\"S\u00edmbolo S\">\r\n      <div class=\"nsic-symbol\">\r\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <rect class=\"w\" x=\"14\" y=\"14\" width=\"20\" height=\"20\" rx=\"6\"\/>\r\n  <path class=\"w\" d=\"M18 24h12\"\/>\r\n  <path class=\"w\" d=\"M30 24l6-6\"\/>\r\n  <circle class=\"w\" cx=\"18\" cy=\"24\" r=\"2.3\"\/>\r\n  <circle class=\"w\" cx=\"30\" cy=\"24\" r=\"2.3\"\/>\r\n<\/svg><span class=\"sr-only\">S<\/span>\r\n        <span class=\"nsic-letter\">S<\/span>\r\n      <\/div>\r\n    <\/div>\r\n        <div class=\"nsic-label\">Soluci\u00f3n<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"nsic-step\">\r\n        <div class=\"nsic-box nsic-box--i\" aria-label=\"S\u00edmbolo I\">\r\n      <div class=\"nsic-symbol\">\r\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <rect class=\"w\" x=\"14\" y=\"16\" width=\"20\" height=\"16\" rx=\"6\"\/>\r\n  <path class=\"w\" d=\"M10 20h4M10 24h4M10 28h4\"\/>\r\n  <path class=\"w\" d=\"M34 20h4M34 24h4M34 28h4\"\/>\r\n<\/svg><span class=\"sr-only\">I<\/span>\r\n        <span class=\"nsic-letter\">I<\/span>\r\n      <\/div>\r\n    <\/div>\r\n        <div class=\"nsic-label\">Implicaciones<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"nsic-step\">\r\n        <div class=\"nsic-box nsic-box--c\" aria-label=\"S\u00edmbolo C\">\r\n      <div class=\"nsic-symbol\">\r\n        <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <path class=\"w\" d=\"M12 18h24\"\/>\r\n  <circle class=\"w\" cx=\"16\" cy=\"18\" r=\"2.6\"\/>\r\n  <circle class=\"w\" cx=\"24\" cy=\"18\" r=\"2.6\"\/>\r\n  <circle class=\"w\" cx=\"32\" cy=\"18\" r=\"2.6\"\/>\r\n  <path class=\"w\" d=\"M16 18v14M24 18v10M32 18v14\"\/>\r\n<\/svg><span class=\"sr-only\">C<\/span>\r\n        <span class=\"nsic-letter\">C<\/span>\r\n      <\/div>\r\n    <\/div>\r\n        <div class=\"nsic-label\">Caminos<\/div>\r\n      <\/div>\r\n\r\n      <span class=\"nsic-flow\" aria-hidden=\"true\"><\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n        <div class=\"pull\">\r\n       <Strong>Necesidad \u2192 soluci\u00f3n t\u00e9cnica \u2192 impactos operativos \u2192 caminos de ejecuci\u00f3n<\/Strong>.\r\n        <\/div>\r\n      <\/div>\r\n\r\n<div class=\"cta-soft\">\r\n  \r\n<p><strong>\u00bfTu subestaci\u00f3n enfrenta estos retos?<\/strong><\/p>\r\n\r\n<div class=\"mockup-strip\" id=\"mockups\">\r\n  <div class=\"mockup-grid\">\r\n    <a class=\"mockup-card infrastructure\" href=\"https:\/\/vmsenergy.com\/wp-content\/uploads\/2026\/01\/Blog-Subestacion-Electrica-Industrial-ungated.pdf\" target=\"_blank\" download>\r\n      <div class=\"mockup-frame\" role=\"img\" aria-label=\"Vista previa de la Gu\u00eda de Modernizaci\u00f3n de Subestaciones\">\r\n        <div class=\"mockup-tags\">\r\n          <span class=\"mockup-tag\">GU\u00cdA<\/span>\r\n          <span class=\"mockup-tag\">PDF<\/span>\r\n        <\/div>\r\n        <div class=\"mockup-title\">Gu\u00eda de Modernizaci\u00f3n<br\/>de Subestaciones<\/div>\r\n      <\/div>\r\n      <figcaption class=\"mockup-caption\">FIG. 01 \u00b7 Infraestructura \u2192 criterios t\u00e9cnicos y ruta de ejecuci\u00f3n<\/figcaption>\r\n    <\/a>\r\n\r\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>\r\n      <div class=\"mockup-frame\" role=\"img\" aria-label=\"Vista previa del Checklist Ejecutivo de Autodiagn\u00f3stico\">\r\n        <div class=\"mockup-tags\">\r\n          <span class=\"mockup-tag\">CHECKLIST<\/span>\r\n          <span class=\"mockup-tag\">PDF<\/span>\r\n        <\/div>\r\n        <div class=\"mockup-title\">Checklist ejecutivo<br\/>de autodiagn\u00f3stico<\/div>\r\n      <\/div>\r\n      <figcaption class=\"mockup-caption\">FIG. 02 \u00b7 Se\u00f1ales \u2192 puntuaci\u00f3n \u2192 nivel de urgencia<\/figcaption>\r\n    <\/a>\r\n  <\/div>\r\n\r\n<section class=\"section\" id=\"necesidad\">\r\n\r\n  <div class=\"section-card logic-strip\">\r\n    <h2 class=\"h2\">La necesidad de una subestaci\u00f3n el\u00e9ctrica<\/h2>\r\n\r\n    <p class=\"lead\">\r\n      En la pr\u00e1ctica, una subestaci\u00f3n se vuelve necesaria cuando el sistema el\u00e9ctrico existente\r\n      <strong>deja de responder de forma confiable<\/strong> a las condiciones reales de la operaci\u00f3n.\r\n    <\/p>\r\n    <p class=\"micro-note\">\r\n      Estos escenarios suelen presentarse de forma gradual, pero sus efectos se manifiestan de manera abrupta en operaci\u00f3n.\r\n    <\/p>\r\n\r\n    <!-- Detonadores editoriales (mini-secciones) -->\r\n    <div class=\"detonators\">\r\n      <!-- 01 -->\r\n      <article class=\"detonator\" id=\"det-01\">\r\n        <header class=\"detonator-head\">\r\n          <span class=\"detonator-num\" aria-hidden=\"true\">01<\/span>\r\n          <div class=\"detonator-title\">\r\n            <h4>Crecimiento de carga o expansi\u00f3n de planta<\/h4>\r\n            <div class=\"detonator-meta\">\r\n              <span class=\"layerchip layerchip--power\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Power Layer<\/span>\r\n              <span class=\"layerchip layerchip--control\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Control Layer<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\r\n        <p>\r\n          Incrementos en capacidad productiva, nuevas l\u00edneas de proceso o ampliaciones que superan la\r\n          <strong>capacidad el\u00e9ctrica instalada<\/strong>, generando l\u00edmites operativos o riesgos de sobrecarga.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- 02 -->\r\n      <article class=\"detonator\" id=\"det-02\">\r\n        <header class=\"detonator-head\">\r\n          <span class=\"detonator-num\" aria-hidden=\"true\">02<\/span>\r\n          <div class=\"detonator-title\">\r\n            <h4>Problemas de confiabilidad y paros frecuentes<\/h4>\r\n            <div class=\"detonator-meta\">\r\n              <span class=\"layerchip layerchip--protection\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Protection Layer<\/span>\r\n              <span class=\"layerchip layerchip--comms\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Communication Layer<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\r\n        <p>\r\n          Fallas recurrentes, disparos intempestivos o eventos el\u00e9ctricos que afectan la <strong>continuidad operativa<\/strong>\r\n          y la estabilidad del proceso productivo.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- 03 -->\r\n      <article class=\"detonator\" id=\"det-03\">\r\n        <header class=\"detonator-head\">\r\n          <span class=\"detonator-num\" aria-hidden=\"true\">03<\/span>\r\n          <div class=\"detonator-title\">\r\n            <h4>Sustituci\u00f3n de infraestructura el\u00e9ctrica obsoleta<\/h4>\r\n            <div class=\"detonator-meta\">\r\n              <span class=\"layerchip layerchip--power\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Power Layer<\/span>\r\n              <span class=\"layerchip layerchip--protection\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Protection Layer<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\r\n        <p>\r\n          Equipos con vida \u00fatil superada, tecnolog\u00edas desactualizadas o sistemas que ya no cumplen con\r\n          <strong>requerimientos actuales de operaci\u00f3n y seguridad<\/strong>.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <!-- 04 -->\r\n      <article class=\"detonator\" id=\"det-04\">\r\n        <header class=\"detonator-head\">\r\n          <span class=\"detonator-num\" aria-hidden=\"true\">04<\/span>\r\n          <div class=\"detonator-title\">\r\n            <h4>Incorporaci\u00f3n de procesos cr\u00edticos<\/h4>\r\n            <div class=\"detonator-meta\">\r\n              <span class=\"layerchip layerchip--control\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Control Layer<\/span>\r\n              <span class=\"layerchip layerchip--comms\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Communication Layer<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n        <span class=\"detonator-rule\" aria-hidden=\"true\"><\/span>\r\n        <p>\r\n          Operaciones donde la energ\u00eda el\u00e9ctrica se vuelve estrat\u00e9gica y donde un evento el\u00e9ctrico tiene impacto directo en\r\n          <strong>seguridad, producci\u00f3n y cumplimiento<\/strong>.\r\n        <\/p>\r\n      <\/article>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n        <div class=\"divider\">\u00bfQu\u00e9 hacer?<\/div>\r\n        <p class=\"lead\" style=\"margin:0;\">\r\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>.\r\n            <\/p>\r\n      <\/div>\r\n    <\/section>\r\n<!-- ===== Secci\u00f3n: Capas (mejorada tipo Detonadores) ===== -->\r\n<div class=\"concept-hero\">\r\n\r\n  <span class=\"concept-eyebrow\">\r\n    Modelo de an\u00e1lisis t\u00e9cnico\r\n  <\/span>\r\n\r\n  <h2 class=\"concept-title\">\r\n    Pensar la subestaci\u00f3n como un sistema por capas\r\n  <\/h2>\r\n\r\n  <p class=\"concept-intro\">\r\n    M\u00e1s all\u00e1 de un conjunto de equipos, una subestaci\u00f3n el\u00e9ctrica debe analizarse como un\r\n    <strong>sistema integrado<\/strong>, donde cada capa t\u00e9cnica cumple una funci\u00f3n espec\u00edfica\r\n    y condiciona el desempe\u00f1o global.\r\n  <\/p>\r\n\r\n  <ul class=\"concept-benefits\">\r\n    <li>\r\n      Analizar el sistema de forma ordenada, sin perder la visi\u00f3n integral\r\n    <\/li>\r\n    <li>\r\n      Entender c\u00f3mo las decisiones t\u00e9cnicas impactan la operaci\u00f3n y el negocio\r\n    <\/li>\r\n    <li>\r\n      Anticipar riesgos, limitaciones y trade-offs antes de la ejecuci\u00f3n\r\n    <\/li>\r\n  <\/ul>\r\n\r\n  <div class=\"concept-axiom\">\r\n    Capas \u2260 equipos aislados<br>\r\n    <strong>Capas = decisiones t\u00e9cnicas con impacto a largo plazo<\/strong>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n    <div class=\"layers-grid vms-cards\" role=\"list\" aria-label=\"Capas principales\">\r\n\r\n      <!-- 01 Power -->\r\n<button class=\"layer-card\" type=\"button\" data-layer=\"power\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\r\n  <span class=\"layer-num\" aria-hidden=\"true\">01<\/span>\r\n\r\n  <div class=\"layer-left\">\r\n    <h3 class=\"layer-title\">Power Layer <span class=\"layer-es\">(Capa de Potencia del Sistema)<\/span><\/h3>\r\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>\r\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\r\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\r\n      <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"layer-right\" aria-hidden=\"true\">\r\n    <div class=\"layer-diagram\">\r\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Power Layer\">\r\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n          <rect x=\"14\" y=\"36\" width=\"70\" height=\"56\" rx=\"12\"\/>\r\n          <rect x=\"92\" y=\"26\" width=\"74\" height=\"74\" rx=\"14\"\/>\r\n          <rect x=\"170\" y=\"44\" width=\"36\" height=\"38\" rx=\"10\"\/>\r\n          <path d=\"M49 20 v18\" \/>\r\n          <path d=\"M129 14 v14\" \/>\r\n          <path d=\"M188 26 v18\" \/>\r\n          <path d=\"M84 64 H92\" \/>\r\n          <path d=\"M166 64 H170\" \/>\r\n        <\/g>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n  <div class=\"layer-explore\">\r\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <circle class=\"w2\" cx=\"24\" cy=\"24\" r=\"18\"\/>\r\n  <path class=\"w\" d=\"M22 10l-6 16h10l-4 12 14-20H26z\"\/>\r\n<\/svg><\/span>\r\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\r\n  <\/div>\r\n<\/button>\r\n\r\n<!-- 02 Protection -->\r\n<button class=\"layer-card\" type=\"button\" data-layer=\"protection\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\r\n  <span class=\"layer-num\" aria-hidden=\"true\">02<\/span>\r\n\r\n  <div class=\"layer-left\">\r\n    <h3 class=\"layer-title\">Protection Layer <span class=\"layer-es\">(Capa de Protecci\u00f3n)<\/span><\/h3>\r\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>\r\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\r\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\r\n      <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"layer-right\" aria-hidden=\"true\">\r\n    <div class=\"layer-diagram\">\r\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Protection Layer\">\r\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n          <rect x=\"18\" y=\"28\" width=\"70\" height=\"70\" rx=\"14\"\/>\r\n          <path d=\"M53 44 v16\" \/>\r\n          <path d=\"M53 70 h.01\" \/>\r\n          <path d=\"M88 63 H150\" \/>\r\n          <rect x=\"150\" y=\"44\" width=\"52\" height=\"38\" rx=\"10\"\/>\r\n        <\/g>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n  <div class=\"layer-explore\">\r\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <path class=\"w2\" d=\"M24 8l14 6v10c0 10-6 16-14 18C16 40 10 34 10 24V14z\"\/>\r\n  <path class=\"w\" d=\"M14 24h8m4 0h8\"\/>\r\n  <path class=\"w\" d=\"M24 18v12\"\/>\r\n<\/svg><\/span>\r\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\r\n  <\/div>\r\n  <\/div>\r\n<\/button>\r\n\r\n<!-- 03 Control -->\r\n<button class=\"layer-card\" type=\"button\" data-layer=\"control\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\r\n  <span class=\"layer-num\" aria-hidden=\"true\">03<\/span>\r\n\r\n  <div class=\"layer-left\">\r\n    <h3 class=\"layer-title\">Control Layer <span class=\"layer-es\">(Capa de Control)<\/span><\/h3>\r\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>\r\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\r\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\r\n      <span class=\"layerchip layerchip--turnkey\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Integraci\u00f3n<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"layer-right\" aria-hidden=\"true\">\r\n    <div class=\"layer-diagram\">\r\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Control Layer\">\r\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n          <rect x=\"18\" y=\"30\" width=\"82\" height=\"56\" rx=\"10\"\/>\r\n          <rect x=\"112\" y=\"42\" width=\"90\" height=\"40\" rx=\"10\"\/>\r\n          <path d=\"M60 86 V102\" \/>\r\n          <path d=\"M112 62 H100\" \/>\r\n          <path d=\"M100 62 C94 62, 94 54, 88 54\" \/>\r\n        <\/g>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n  <div class=\"layer-explore\">\r\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <circle class=\"w2\" cx=\"24\" cy=\"24\" r=\"16\"\/>\r\n  <path class=\"w\" d=\"M24 14v20M14 24h20\"\/>\r\n  <circle class=\"w\" cx=\"24\" cy=\"24\" r=\"4\"\/>\r\n  <path class=\"w\" d=\"M36 18l4-2M36 30l4 2M12 18l-4-2M12 30l-4 2\"\/>\r\n<\/svg><\/span>\r\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\r\n  <\/div>\r\n  <\/div>\r\n<\/button>\r\n\r\n<!-- 04 Comms -->\r\n<button class=\"layer-card\" type=\"button\" data-layer=\"comms\" role=\"listitem\" aria-controls=\"layer-panel\" aria-expanded=\"false\">\r\n  <span class=\"layer-num\" aria-hidden=\"true\">04<\/span>\r\n\r\n  <div class=\"layer-left\">\r\n    <h3 class=\"layer-title\">Communication Layer <span class=\"layer-es\">(Capa de Comunicaciones)<\/span><\/h3>\r\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>\r\n    <div class=\"layer-links\" aria-label=\"Conecta con\">\r\n      <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX\/OPEX<\/span>\r\n      <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"layer-right\" aria-hidden=\"true\">\r\n    <div class=\"layer-diagram\">\r\n      <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 220 120\" role=\"img\" aria-label=\"Diagrama conceptual Communication Layer\">\r\n        <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n          <circle cx=\"54\" cy=\"60\" r=\"18\"\/>\r\n          <circle cx=\"110\" cy=\"38\" r=\"14\"\/>\r\n          <circle cx=\"166\" cy=\"70\" r=\"16\"\/>\r\n          <path d=\"M70 52 L96 42\" \/>\r\n          <path d=\"M124 46 L152 62\" \/>\r\n          <path d=\"M70 68 L150 68\" \/>\r\n        <\/g>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n  <div class=\"layer-explore\">\r\n    <span class=\"layer-explore__icon\" aria-hidden=\"true\"><svg class=\"layer-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n  <circle class=\"w2\" cx=\"14\" cy=\"28\" r=\"5\"\/>\r\n  <circle class=\"w2\" cx=\"34\" cy=\"20\" r=\"5\"\/>\r\n  <circle class=\"w2\" cx=\"34\" cy=\"34\" r=\"5\"\/>\r\n  <path class=\"w\" d=\"M18 26l12-4M18 30l12 3\"\/>\r\n  <path class=\"w\" d=\"M24 12h0\"\/>\r\n  <path class=\"w\" d=\"M10 10c6-6 22-6 28 0\"\/>\r\n  <path class=\"w2\" d=\"M14 14c4-4 16-4 20 0\"\/>\r\n<\/svg><\/span>\r\n    <span class=\"layer-explore__text\">Explorar capa<\/span>\r\n  <\/div>\r\n  <\/div>\r\n<\/button>\r\n\r\n      \r\n    <!-- Panel inline (una sola vez, fuera del grid) -->\r\n    <div id=\"layer-panel\" class=\"layer-panel\" hidden>\r\n      <div class=\"layer-panel__inner\">\r\n        <div class=\"layer-panel__head\"><\/div>\r\n          <div>\r\n            <div class=\"layer-panel__kicker\" id=\"lp-kicker\">Capa<\/div>\r\n            <h3 class=\"layer-panel__title\" id=\"lp-title\">T\u00edtulo<\/h3>\r\n            <p class=\"layer-panel__desc\" id=\"lp-desc\">Descripci\u00f3n<\/p>\r\n          <\/div>\r\n          <div class=\"layer-panel__actions\">\r\n            <button type=\"button\" class=\"btn-ghost\" id=\"lp-close\" aria-label=\"Cerrar panel\">Volver<\/button>\r\n            <a class=\"btn-primary\" id=\"lp-jump\" href=\"#impacto-operacion\">Ver impacto en la operaci\u00f3n<\/a>\r\n            <a class=\"btn-ghost\" id=\"lp-capex\" href=\"#impacto-capex\">Ir a tabla CAPEX\/OPEX<\/a>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"layer-panel__grid\">\r\n          <div class=\"layer-panel__diagram\" id=\"lp-diagram\" aria-hidden=\"true\"><\/div>\r\n          <div class=\"layer-panel__bullets\">\r\n            <strong class=\"layer-panel__label\">Elementos t\u00e9cnicos<\/strong>\r\n            <strong class=\"layer-panel__label\">(ingenier\u00eda, integraci\u00f3n, decisiones de alcance)<\/strong>\r\n            <ul id=\"lp-list\"><\/ul>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <\/div>\r\n<\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== Capas \u00b7 Explicaci\u00f3n editorial (estilo Detonantes) ===== -->\r\n<section class=\"section\" id=\"capas-editorial\">\r\n  <section id=\"impacto-capex\">\r\n  <div class=\"section-card\">\r\n\r\n    <h3 class=\"h2\">Las capas t\u00e9cnicas y su impacto en la operaci\u00f3n<\/h3>\r\n    <p class=\"lead\">\r\n      Cada capa cumple una funci\u00f3n espec\u00edfica, pero su verdadero valor aparece cuando se integran correctamente dentro del sistema el\u00e9ctrico.\r\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.\r\n    <\/p>\r\n    <ul class=\"bullets\">\r\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>\r\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>\r\n    <\/ul>    \r\n    <p class=\"lead\">\r\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\r\n    <\/p>    \r\n    \r\n    <div class=\"layer-explain\">\r\n\r\n      <!-- 01 Power -->\r\n      <article class=\"layer-block\" id=\"power-layer\">\r\n        <header class=\"layer-block-head\">\r\n          <span class=\"layer-block-num\">01<\/span>\r\n          <div>\r\n            <h4>Power Layer<\/h4>\r\n            <div class=\"layer-block-meta\">\r\n              <span class=\"layerchip layerchip--power\">\r\n                <span class=\"layerdot\"><\/span> Impacto operativo\r\n              <\/span>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"impact-jump impact-jump--btn\"\r\n               role=\"button\"\r\n               tabindex=\"0\"\r\n               data-capex-jump=\"power\">\r\n               Ver impacto a nivel sistema \u2192\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <span class=\"layer-block-rule\"><\/span>\r\n    \r\n    <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\r\n  <\/header>\r\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Protection Layer\" style=\"margin:10px 0 12px;\">\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\r\n  <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\r\n<\/div>\r\n\r\n<p class=\"lead\" style=\"margin:0 0 10px;\">\r\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>.\r\n<\/p>\r\n\r\n<div class=\"impact-capexopex\" role=\"list\">\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en CAPEX<\/strong>\r\n    <ul class=\"bullets\">\r\n          <li>Dimensionamiento de transformadores, celdas y barras<\/li>\r\n          <li>Obra civil \/ espacio \/ expansi\u00f3n futura<\/li>\r\n          <li>Selecci\u00f3n de tecnolog\u00eda (AIS\/GIS), niveles de tensi\u00f3n<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en OPEX<\/strong>\r\n    <ul class=\"bullets\">\r\n          <li>P\u00e9rdidas, calentamientos y eficiencia operativa<\/li>\r\n          <li>Accesibilidad, maniobrabilidad y tiempos de mantenimiento<\/li>\r\n          <li>Repuestos, MTBF y ventanas de paro<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n\r\n        <p>\r\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\r\n        <\/p>\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas t\u00edpicas<\/strong>\r\n    <ul class=\"bullets\">\r\n        <li><strong>Sobredimensionamiento<\/strong> que puede incrementar costos innecesarios<\/li>\r\n        <li><strong>Subdimensionamiento<\/strong> que limita la operaci\u00f3n desde el primer d\u00eda.<\/li>\r\n        <li>En dise\u00f1o e instalaci\u00f3n de aislamiento el\u00e9ctrico<\/li>\r\n        <li>Deficiencias o discrepancias en conexiones<\/li>\r\n        <li>En c\u00e1lculo e instalaci\u00f3n de sistemas de puesta a tierra<\/li>\r\n        <li>Errores en selecci\u00f3n e integraci\u00f3n de equipos de potencia<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n      <\/article>\r\n\r\n      <!-- 02 Protection -->\r\n      <article class=\"layer-block\" id=\"protection-layer\">\r\n        <header class=\"layer-block-head\">\r\n          <span class=\"layer-block-num\">02<\/span>\r\n          <div>\r\n            <h4>Protection Layer<\/h4>\r\n            <div class=\"layer-block-meta\">\r\n              <span class=\"layerchip layerchip--protection\">\r\n                <span class=\"layerdot\"><\/span> Impacto operativo\r\n              <\/span>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"impact-jump impact-jump--btn\"\r\n               role=\"button\"\r\n               tabindex=\"0\"\r\n               data-capex-jump=\"protection\">\r\n               Ver impacto a nivel sistema \u2192\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <span class=\"layer-block-rule\"><\/span>\r\n    \r\n    <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\r\n  <\/header>\r\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Protection Layer\" style=\"margin:10px 0 12px;\">\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\r\n  <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\r\n<\/div>\r\n\r\n<p class=\"lead\" style=\"margin:0 0 10px;\">\r\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>.\r\n<\/p>\r\n\r\n<div class=\"impact-capexopex\" role=\"list\">\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en CAPEX<\/strong>\r\n    <ul class=\"bullets\">\r\n      <li>Transformadores de instrumento (TC\/TP) y su clase de precisi\u00f3n<\/li>\r\n      <li>Arquitectura de protecciones (esquemas, redundancia, respaldo)<\/li>\r\n      <li>Circuitos de disparo, pruebas y cableado asociado<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en OPEX<\/strong>\r\n    <ul class=\"bullets\">\r\n      <li>Tiempo de diagn\u00f3stico y localizaci\u00f3n de fallas<\/li>\r\n      <li>Falsos disparos \/ indisponibilidad por mala coordinaci\u00f3n<\/li>\r\n      <li>Calidad de registros de eventos y ajuste peri\u00f3dico<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n\r\n        <p>\r\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. \r\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.\r\n        <\/p>\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas t\u00edpicas<\/strong>\r\n    <ul class=\"bullets\">\r\n            <li>Falta de selectividad entre protecciones<\/li>\r\n            <li>Ajustes de protecci\u00f3n incorrectos o inconsistentes<\/li>\r\n            <li>Elecci\u00f3n incorrecta en circuitos de disparo<\/li>\r\n            <li>Servicios auxiliares no verificados<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n      <\/article>\r\n\r\n      <!-- 03 Control -->\r\n      <article class=\"layer-block\" id=\"control-layer\">\r\n        <header class=\"layer-block-head\">\r\n          <span class=\"layer-block-num\">03<\/span>\r\n          <div>\r\n            <h4>Control Layer<\/h4>\r\n            <div class=\"layer-block-meta\">\r\n              <span class=\"layerchip layerchip--control\">\r\n                <span class=\"layerdot\"><\/span> Impacto Operativo\r\n              <\/span>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"impact-jump impact-jump--btn\"\r\n               role=\"button\"\r\n               tabindex=\"0\"\r\n               data-capex-jump=\"control\">\r\n               Ver impacto a nivel sistema \u2192\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <span class=\"layer-block-rule\"><\/span>\r\n\r\n      <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\r\n  <\/header>\r\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Control Layer\" style=\"margin:10px 0 12px;\">\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\r\n  <span class=\"layerchip layerchip--turnkey\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Integraci\u00f3n<\/span>\r\n<\/div>\r\n\r\n<p class=\"lead\" style=\"margin:0 0 10px;\">\r\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>.\r\n<\/p>\r\n\r\n<div class=\"impact-capexopex\" role=\"list\">\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en CAPEX<\/strong>\r\n    <ul class=\"bullets\">\r\n      <li>Tableros, l\u00f3gicas, enclavamientos y secuencias<\/li>\r\n      <li>Servicios auxiliares AC\/DC (respaldo y continuidad)<\/li>\r\n      <li>HMI \/ mandos locales \/ se\u00f1alizaci\u00f3n y alarmas<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Impacto t\u00e9cnico t\u00edpico en OPEX<\/strong>\r\n    <ul class=\"bullets\">\r\n      <li>Errores humanos por operaci\u00f3n ambigua o incompleta<\/li>\r\n      <li>Tiempo de reposici\u00f3n ante contingencia (procedimientos y l\u00f3gica)<\/li>\r\n      <li>Disponibilidad por calidad de auxiliares y mantenimiento<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n\r\n        <p>\r\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.\r\n        <\/p>\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas t\u00edpicas<\/strong>\r\n    <ul class=\"bullets\">\r\n            <li>Secuencias incorrectas de operaci\u00f3n<\/li>\r\n            <li>Enclavamiento incompletos o inconsistentes<\/li>\r\n            <li>Informaci\u00f3n incorrecta<\/li>\r\n            <li>Dependencia excesiva de personal humano<\/li>\r\n          <\/ul>\r\n  <\/div>\r\n      <\/article>\r\n\r\n      <!-- 04 Comms -->\r\n      <article class=\"layer-block\" id=\"comms-layer\">\r\n        <header class=\"layer-block-head\">\r\n          <span class=\"layer-block-num\">04<\/span>\r\n          <div>\r\n            <h4>Communication Layer<\/h4>\r\n            <div class=\"layer-block-meta\">\r\n              <span class=\"layerchip layerchip--comms\">\r\n                <span class=\"layerdot\"><\/span>Impacto operativo\r\n              <\/span>\r\n            <\/div>\r\n          <\/div>\r\n<div class=\"impact-jump impact-jump--btn\"\r\n     role=\"button\"\r\n     tabindex=\"0\"\r\n     data-capex-jump=\"comms\">\r\n  Ver impacto a nivel sistema\u2192\r\n<\/div>\r\n<\/header> \r\n\r\n        <span class=\"layer-block-rule\"><\/span>\r\n\r\n    <div class=\"impact-rule\" aria-hidden=\"true\"><\/div>\r\n  <\/header>\r\n<div class=\"layer-links\" aria-label=\"Impacto CAPEX\/OPEX en Communication Layer\" style=\"margin:10px 0 12px;\">\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> CAPEX<\/span>\r\n  <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\r\n  <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgos<\/span>\r\n<\/div>\r\n\r\n<p class=\"lead\" style=\"margin:0 0 10px;\">\r\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>.\r\n<\/p>\r\n\r\n\r\n\r\n<div class=\"impact-capexopex\" role=\"list\">\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">CAPEX t\u00edpicamente impacta<\/strong>\r\n    <ul class=\"bullets\">\r\n      <li>Topolog\u00eda de red, canalizaciones y puntos de comunicaci\u00f3n<\/li>\r\n      <li>Supervisi\u00f3n\/registro (monitoreo, alarmas, tendencias)<\/li>\r\n      <li>Sincronizaci\u00f3n de tiempo y calidad de eventos<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">OPEX t\u00edpicamente impacta<\/strong>\r\n    <ul class=\"bullets\">\r\n      <li>Diagn\u00f3stico remoto vs. visitas a sitio (tiempo y continuidad)<\/li>\r\n      <li>Trazabilidad de incidentes y an\u00e1lisis post-evento<\/li>\r\n      <li>Riesgo de \u201coperar a ciegas\u201d por falta de datos confiables<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n\r\n        <p>\r\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.\r\n        <\/p>\r\n  <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Fallas T\u00edpicas<\/strong>\r\n    <ul class=\"bullets\">\r\n            <li>P\u00e9rdida de comunicaci\u00f3n<\/li>\r\n            <li>Falta de sincronizaci\u00f3n<\/li>\r\n            <li>Integraci\u00f3n incompleta a sistemas de supervisi\u00f3n<\/li>\r\n            <li>Operaci\u00f3n sin informaci\u00f3n<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n      <\/article>\r\n\r\n    \r\n \r\n  <\/section>\r\n\r\n    <div class=\"nsic-close\" aria-label=\"Cierre suave hacia conversi\u00f3n\">\r\n      <div class=\"nsic-close__inner\">\r\n        <div>\r\n          <div class=\"nsic-close__kicker\">Siguiente paso recomendado<\/div>\r\n          <h3 class=\"h3 nsic-close__title\">Convierte las capas en una decisi\u00f3n accionable<\/h3>\r\n          <p class=\"nsic-close__desc\">\r\n            Si ya identificaste la <strong>necesidad<\/strong>, usa el autodiagn\u00f3stico para estimar el <strong>nivel de se\u00f1al<\/strong>\r\n            y ver tu <strong>urgencia<\/strong> en el man\u00f3metro (sin registro, solo dise\u00f1o).\r\n          <\/p>\r\n        <\/div>\r\n        <div class=\"nsic-close__actions\">\r\n          <a class=\"btn-primary\" href=\"#autodiagnostico\">Evaluar mi subestaci\u00f3n (autodiagn\u00f3stico) \u2192<\/a>\r\n          <a class=\"btn-ghost\" href=\"#impacto-capex\">Entender impacto CAPEX \/ OPEX \u2192<\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n<\/section>  \r\n    <!-- IMPACT -->\r\n    <section class=\"section\" id=\"impacto\">\r\n      <div class=\"section-card\">\r\n        <h2 class=\"h2\">Impacto el sistema y riesgos<\/h2>\r\n        <p class=\"lead\">\r\n          Las decisiones que se han tomado hasta este momento no s\u00f3lo tienen un impacto exclusivamente t\u00e9cnico. <\/p>\r\n\r\n<div class=\"layer-block\" id=\"falla-vs-perdida\">\r\n  <div class=\"layer-block-head\">\r\n    <span class=\"layer-block-num\" aria-hidden=\"true\">$$<\/span>\r\n    <div>\r\n      <h4>Falla t\u00e9cnica \u2192 P\u00e9rdida financiera (ejemplos)<\/h4>\r\n      <div class=\"layer-block-meta\">\r\n        <span class=\"layerchip layerchip--impact\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> OPEX<\/span>\r\n        <span class=\"layerchip layerchip--risk\"><span class=\"layerdot\" aria-hidden=\"true\"><\/span> Riesgo<\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <span class=\"layer-block-rule\" aria-hidden=\"true\"><\/span>\r\n\r\n  <div class=\"table-wrap\" role=\"region\" aria-label=\"Tabla de fallas y p\u00e9rdidas\">\r\n    <table>\r\n      <thead>\r\n        <tr>\r\n          <th>Falla t\u00edpica<\/th>\r\n          <th>\u00bfQu\u00e9 detona en operaci\u00f3n?<\/th>\r\n          <th>\u00bfD\u00f3nde pega en dinero?<\/th>\r\n        <\/tr>\r\n      <\/thead>\r\n      <tbody>\r\n        <tr>\r\n          <td>Protecciones mal coordinadas<\/td>\r\n          <td>Disparos innecesarios \/ restablecimientos frecuentes<\/td>\r\n          <td>Horas-hombre, scrap, penalizaciones por paro y da\u00f1os en equipos cr\u00edticos<\/td>\r\n        <\/tr>\r\n        <tr>\r\n          <td>Capacidad \/ redundancia subdimensionada<\/td>\r\n          <td>Operaci\u00f3n al l\u00edmite, sin margen ante crecimiento<\/td>\r\n          <td>CAPEX correctivo no planeado + OPEX por paros, sobrecargas y mantenimiento reactivo<\/td>\r\n        <\/tr>\r\n        <tr>\r\n          <td>Comunicaciones incompletas (SCADA\/registro)<\/td>\r\n          <td>\u201cOperar a ciegas\u201d, diagn\u00f3stico lento y decisiones tard\u00edas<\/td>\r\n          <td>Tiempo de recuperaci\u00f3n mayor (MTTR), visitas a sitio, p\u00e9rdidas por continuidad y calidad<\/td>\r\n        <\/tr>\r\n        <tr>\r\n          <td>L\u00f3gicas de control sin criterios de seguridad<\/td>\r\n          <td>Interlocks ausentes, maniobras inseguras, incidentes<\/td>\r\n          <td>Riesgo HSE, multas, paros de seguridad y costos de siniestros<\/td>\r\n        <\/tr>\r\n      <\/tbody>\r\n    <\/table>\r\n  <\/div>\r\n\r\n  <p class=\"micro-note\" style=\"margin-top:10px;\"}\r\n    Estos son ejemplos t\u00edpicos. La cuantificaci\u00f3n real depende de tu proceso, criticidad, tarifas, penalizaciones y costo de oportunidad.\r\n    <br><em>Nota t\u00e9cnica: valores y efectos son estimativos; deben validarse con datos operativos y financieros del sitio.<\/em>\r\n  <\/p>\r\n<\/div>\r\n\r\n          \r\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>\r\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>\r\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>\r\n        <p class=\"lead\">\r\n          Hay dos conceptos fundamentales en la decisi\u00f3n: <strong>CAPEX <\/strong> que son decisiones que definen la configuraci\u00f3n del sistema (una vez);\r\n          y el <strong>OPEX<\/strong> que se materializa durante la operaci\u00f3n (mantenimiento, eficiencia, disponibilidad).\r\n        <\/p>\r\n            <div class=\"note\">\r\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.\r\n            <\/div>\r\n\r\n        <div class=\"impact\">\r\n          <div>\r\n\r\n            <div class=\"note\">\r\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>\r\n            \r\n            <div class=\"table-wrap\" role=\"region\" aria-label=\"Tabla CAPEX OPEX por capa\">\r\n            <table aria-label=\"Tabla CAPEX OPEX por capa\">\r\n              <thead>\r\n             <tr>\r\n                  <th style=\"width:18%\">Capa<\/th>\r\n                  <th>Impacto en CAPEX<\/th>\r\n                  <th>Impacto en OPEX<\/th>\r\n                <\/tr>\r\n              <\/thead>\r\n              <tbody>\r\n                <tr id=\"capex-row-power\">\r\n                  <td><span class=\"capex-badge capex-badge--n\" aria-label=\"Capa N Potencia\">\r\n   <span class=\"capex-symbol\">\r\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n       <circle class=\"w\" cx=\"20\" cy=\"24\" r=\"10\"\/><circle class=\"w\" cx=\"28\" cy=\"24\" r=\"10\"\/>\r\n     <\/svg>\r\n     <span class=\"capex-letter\">N<\/span>\r\n   <\/span>\r\n <\/span><strong>Power<\/strong><\/td>\r\n                  <td>Capacidad, redundancia, crecimiento, interfaces f\u00edsicas.<\/td>\r\n                  <td>P\u00e9rdidas t\u00e9cnicas, accesibilidad, mantenibilidad, confiabilidad.<\/td>\r\n                <\/tr>\r\n                <tr id=\"capex-row-protection\">\r\n                  <td><span class=\"capex-badge capex-badge--s\" aria-label=\"Capa S Protecci\u00f3n\">\r\n   <span class=\"capex-symbol\">\r\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n       <rect class=\"w\" x=\"14\" y=\"14\" width=\"20\" height=\"20\" rx=\"6\"\/>\r\n       <path class=\"w\" d=\"M18 24h12\"\/><path class=\"w\" d=\"M30 24l6-6\"\/>\r\n       <circle class=\"w\" cx=\"18\" cy=\"24\" r=\"2.3\"\/><circle class=\"w\" cx=\"30\" cy=\"24\" r=\"2.3\"\/>\r\n     <\/svg>\r\n     <span class=\"capex-letter\">S<\/span>\r\n   <\/span>\r\n <\/span><strong>Protection<\/strong><\/td>\r\n                  <td>Arquitectura de protecci\u00f3n y coordinaci\u00f3n de estudios.<\/td>\r\n                  <td>Continuidad operativa, severidad de fallas, tiempos de recuperaci\u00f3n.<\/td>\r\n                <\/tr>\r\n                <tr id=\"capex-row-control\">\r\n                  <td><span class=\"capex-badge capex-badge--i\" aria-label=\"Capa I Control\">\r\n   <span class=\"capex-symbol\">\r\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n       <rect class=\"w\" x=\"14\" y=\"16\" width=\"20\" height=\"16\" rx=\"6\"\/>\r\n       <path class=\"w\" d=\"M10 20h4M10 24h4M10 28h4\"\/>\r\n       <path class=\"w\" d=\"M34 20h4M34 24h4M34 28h4\"\/>\r\n     <\/svg>\r\n     <span class=\"capex-letter\">I<\/span>\r\n   <\/span>\r\n <\/span><strong>Control<\/strong><\/td>\r\n                  <td>Servicios auxiliares, l\u00f3gica de operaci\u00f3n, integraci\u00f3n funcional.<\/td>\r\n                  <td>Errores operativos, disponibilidad, seguridad de maniobras.<\/td>\r\n                <\/tr>\r\n                <tr id=\"capex-row-comms\">\r\n                  <td><span class=\"capex-badge capex-badge--c\" aria-label=\"Capa C Comunicaciones\">\r\n   <span class=\"capex-symbol\">\r\n     <svg class=\"nsic-icon\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n       <path class=\"w\" d=\"M12 18h24\"\/>\r\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\"\/>\r\n       <path class=\"w\" d=\"M16 18v14M24 18v10M32 18v14\"\/>\r\n     <\/svg>\r\n     <span class=\"capex-letter\">C<\/span>\r\n   <\/span>\r\n <\/span><strong>Comms<\/strong><\/td>\r\n                  <td>Topolog\u00eda y redundancia de comunicaciones, infraestructura.<\/td>\r\n                  <td>Monitoreo, mantenimiento predictivo, toma de decisiones basada en datos.<\/td>\r\n                <\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n            <\/div>\r\n            <div class=\"note\">\r\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.\r\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>\r\n              <div class=\"impact-col\" role=\"listitem\">\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">Decisiones Ejecutivas Clave<\/strong>\r\n    <ul class=\"bullets\">\r\n            <li>Definir la arquitectura \u00f3ptima del sistema<\/li>\r\n            <li>Evaluar el proyecto bajo una l\u00f3gica de costo total de propiedad (TCO)<\/li>\r\n            <li>Asegurar la integraci\u00f3n coherente entre capas t\u00e9cnicas<\/li>\r\n    <\/ul>\r\n    <strong class=\"layer-panel__label\" style=\"margin:0 0 8px;\">La responsabilidad de estas decisiones<\/strong>\r\n  <ul class=\"bullets\">\r\n            <li>No recae en un solo equipo, proveedor o disciplina<\/li>\r\n            <li>Es una visi\u00f3n integral del sistema<\/li>\r\n            <li>validada desde Project Management y Direcci\u00f3n<\/li>\r\n    <\/ul>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"risklist\" aria-label=\"Riesgos y amenazas\">\r\n  <div class=\"risk risk--alert\">\r\n    <div class=\"r-ic\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\"\r\n           fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\r\n           stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n        <path d=\"M12 9v4\"><\/path>\r\n        <path d=\"M12 17h.01\"><\/path>\r\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>\r\n      <\/svg>\r\n    <\/div>\r\n    <div>\r\n      <strong>Riesgos<\/strong>\r\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>\r\n    <\/div>\r\n  <\/div>\r\n\r\n          <div class=\"risklist\" aria-label=\"Riesgos y amenazas\">\r\n            <div class=\"risk\">\r\n              <div class=\"r-ic\" aria-hidden=\"true\">!<\/div>\r\n              <div>\r\n                <strong>Paros no programados<\/strong>\r\n                <span>Resultado de arquitecturas e integraciones deficientes entre capas, afectando directamente la continuidad operativa y los compromisos de producci\u00f3n.<\/span>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"risk\">\r\n              <div class=\"r-ic\" aria-hidden=\"true\">\u26d1<\/div>\r\n              <div>\r\n                <strong>Riesgos a personas<\/strong>\r\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>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"risk\">\r\n              <div class=\"r-ic\" aria-hidden=\"true\">\u2699<\/div>\r\n              <div>\r\n                <strong>Impacto en producci\u00f3n<\/strong>\r\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>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"risk\">\r\n              <div class=\"r-ic\" aria-hidden=\"true\">\u21ba<\/div>\r\n              <div>\r\n                <strong>Reprocesos t\u00e9cnicos<\/strong>\r\n                <span>Ajustes tard\u00edos provocados por interfaces no resueltas durante el dise\u00f1o, generando sobrecostos, retrasos y desviaciones del plan original.<\/span>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n    <\/section>\r\n<!-- ===== Autodiagn\u00f3stico \u00b7 Checklist Subestaci\u00f3n Industrial ===== -->\r\n<section class=\"section\" id=\"autodiagnostico\">\r\n  <div class=\"section-card\">\r\n    <h3 class=\"h2\">Autodiagn\u00f3stico: \u00bfRenovar o instalar una subestaci\u00f3n industrial?<\/h3>\r\n    <p class=\"lead\">\r\n      Marca los enunciados que describen tu situaci\u00f3n actual. Este checklist no sustituye una evaluaci\u00f3n de ingenier\u00eda,\r\n      pero ayuda a identificar se\u00f1ales tempranas y prioridades de an\u00e1lisis.\r\n    <\/p>\r\n\r\n    <div class=\"checklist-wrap\">\r\n      <!-- Panel de resultado -->\r\n      <aside class=\"checklist-score\" aria-label=\"Resultado del autodiagn\u00f3stico\">\r\n        <div class=\"score-top\">\r\n          <span class=\"score-tag\">Resultado<\/span>\r\n          <div class=\"score-title\">Nivel de se\u00f1al<\/div>\r\n        <\/div>\r\n\r\n        \r\n        <div class=\"score-gauge\" aria-label=\"Urgencia estimada en tiempo real\">\r\n          <svg class=\"gauge\" viewBox=\"0 0 240 140\" role=\"img\" aria-label=\"Veloc\u00edmetro de urgencia\">\r\n            <path class=\"gauge-track\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\/>\r\n            \r\n            <!-- Zonas del man\u00f3metro (0\u201324 \/ 25\u201349 \/ 50\u201374 \/ 75\u2013100) -->\r\n            <path class=\"gauge-zone zone-low\"  pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\r\n                  stroke-dasharray=\"24 76\" stroke-dashoffset=\"0\"\/>\r\n            <path class=\"gauge-zone zone-med\"  pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\r\n                  stroke-dasharray=\"25 75\" stroke-dashoffset=\"-25\"\/>\r\n            <path class=\"gauge-zone zone-high\" pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\r\n                  stroke-dasharray=\"25 75\" stroke-dashoffset=\"-50\"\/>\r\n            <path class=\"gauge-zone zone-crit\" pathLength=\"100\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\r\n                  stroke-dasharray=\"25 75\" stroke-dashoffset=\"-75\"\/>\r\n            <!-- Ticks \/ marcas del man\u00f3metro -->\r\n            <g class=\"gauge-ticks\" aria-hidden=\"true\">\r\n              <!-- major ticks -->\r\n              <line class=\"tick major\" x1=\"20\"  y1=\"120\" x2=\"34\"  y2=\"120\"\/>\r\n              <line class=\"tick major\" x1=\"58\"  y1=\"62\"  x2=\"68\"  y2=\"70\"\/>\r\n              <line class=\"tick major\" x1=\"120\" y1=\"40\"  x2=\"120\" y2=\"54\"\/>\r\n              <line class=\"tick major\" x1=\"182\" y1=\"62\"  x2=\"172\" y2=\"70\"\/>\r\n              <line class=\"tick major\" x1=\"220\" y1=\"120\" x2=\"206\" y2=\"120\"\/>\r\n              <!-- minor ticks -->\r\n              <line class=\"tick minor\" x1=\"36\"  y1=\"92\"  x2=\"44\"  y2=\"98\"\/>\r\n              <line class=\"tick minor\" x1=\"78\"  y1=\"52\"  x2=\"86\"  y2=\"58\"\/>\r\n              <line class=\"tick minor\" x1=\"162\" y1=\"52\"  x2=\"154\" y2=\"58\"\/>\r\n              <line class=\"tick minor\" x1=\"204\" y1=\"92\"  x2=\"196\" y2=\"98\"\/>\r\n            <\/g>\r\n\r\n            <!-- Labels (sutiles) -->\r\n            <g class=\"gauge-labels\" aria-hidden=\"true\">\r\n              <text x=\"16\" y=\"136\">0<\/text>\r\n              <text x=\"112\" y=\"32\">50<\/text>\r\n              <text x=\"212\" y=\"136\">100<\/text>\r\n            \r\n              <text class=\"b\" x=\"54\" y=\"86\">24<\/text>\r\n              <text class=\"b\" x=\"112\" y=\"64\">49<\/text>\r\n              <text class=\"b\" x=\"170\" y=\"86\">74<\/text>\r\n<\/g>\r\n\r\n<path class=\"gauge-fill\" d=\"M20,120 A100,100 0 0 1 220,120\" fill=\"none\" stroke-linecap=\"round\"\/>\r\n            <circle class=\"gauge-center\" cx=\"120\" cy=\"120\" r=\"6\"\/>\r\n            <line class=\"gauge-needle\" x1=\"120\" y1=\"120\" x2=\"120\" y2=\"44\" \/>\r\n          <\/svg>\r\n\r\n          \r\n          <div class=\"gauge-scale\" aria-label=\"Escala de urgencia\">\r\n            <span class=\"s low\">Baja<\/span>\r\n            <span class=\"s med\">Media<\/span>\r\n            <span class=\"s high\">Alta<\/span>\r\n            <span class=\"s crit\">Cr\u00edtica<\/span>\r\n          <\/div>\r\n<div class=\"score-value\" aria-live=\"polite\">\r\n            <span class=\"score-num\" id=\"scoreNum\">0<\/span>\r\n            <span class=\"score-max\" id=\"scoreMax\">\/ 0<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"score-status\" id=\"scoreStatus\" role=\"status\" aria-live=\"polite\">\r\n            <span class=\"badge\" data-tier=\"low\">Baja urgencia<\/span>\r\n            <span class=\"status-note\">Selecciona items para ver la clasificaci\u00f3n.<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n\r\n        <p class=\"score-text\" id=\"scoreText\">\r\n          Selecciona las condiciones reales de tu subestaci\u00f3n para estimar el nivel de se\u00f1al.\r\n        <\/p>\r\n\r\n        <div class=\"score-legend\">\r\n          <div class=\"legend-item\"><span class=\"dot dot-low\"><\/span> Bajo<\/div>\r\n          <div class=\"legend-item\"><span class=\"dot dot-med\"><\/span> Medio<\/div>\r\n          <div class=\"legend-item\"><span class=\"dot dot-high\"><\/span> Alto<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"score-actions\">\r\n<button class=\"btn-ghost\" type=\"button\" id=\"resetChecklist\">Reiniciar<\/button>\r\n          <a class=\"btn-primary\" href=\"#impacto\">C\u00f3mo interpretar tu resultado t\u00e9cnico<\/a>\r\n\r\n    <button class=\"btn-action\" type=\"button\" id=\"openReportModal\" data-track=\"cta_reporte_personalizado\">Reporte Personalizado de Riesgos<\/button>\r\n    <a class=\"btn-edu\" href=\"#impacto\" data-track=\"cta_ver_impacto\">Ver impacto CAPEX\/OPEX<\/a>\r\n<\/div>\r\n\r\n        <p class=\"micro-note\" style=\"margin-top:10px;\">\r\n          Interpretaci\u00f3n orientativa: el valor real depende de contexto operativo, criticidad y arquitectura del sistema.\r\n        <\/p>\r\n      <\/aside>\r\n\r\n      <!-- Checklist -->\r\n      <div class=\"checklist\" role=\"list\" aria-label=\"Checklist de autodiagn\u00f3stico\">\r\n        <!-- Grupo 1 -->\r\n        <div class=\"checkgroup\" role=\"listitem\">\r\n          <div class=\"checkgroup-head\">\r\n            <span class=\"checkgroup-num\">01<\/span>\r\n            <div>\r\n              <h4>Crecimiento de carga y expansi\u00f3n<\/h4>\r\n              <p>Se\u00f1ales de que la demanda super\u00f3 la capacidad planeada o que el sistema qued\u00f3 \u201cjusto\u201d.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Se agregaron nuevas l\u00edneas\/procesos y el sistema el\u00e9ctrico qued\u00f3 sin reservas claras.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>La expansi\u00f3n requiere maniobras frecuentes o configuraciones \u201ctemporales\u201d para operar.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>La subestaci\u00f3n actual limita ampliaciones futuras (espacio, canales, salidas, patios).<\/span>\r\n          <\/label>\r\n        <\/div>\r\n\r\n        <!-- Grupo 2 -->\r\n        <div class=\"checkgroup\" role=\"listitem\">\r\n          <div class=\"checkgroup-head\">\r\n            <span class=\"checkgroup-num\">02<\/span>\r\n            <div>\r\n              <h4>Confiabilidad y continuidad<\/h4>\r\n              <p>Se\u00f1ales de degradaci\u00f3n: paros, disparos, comportamiento el\u00e9ctrico no consistente.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" data-key=\"unplanned\" \/>\r\n            <span>Ha tenido <strong>paros no programados<\/strong> relacionados con el sistema el\u00e9ctrico en el \u00faltimo a\u00f1o.<\/span>\r\n          <\/label>\r\n\r\n\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Hay disparos intempestivos o eventos el\u00e9ctricos que detienen producci\u00f3n.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Se presenta variabilidad operativa: \u201ca veces funciona, a veces no\u201d sin causa clara.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>El restablecimiento post-evento es lento por falta de trazabilidad o diagn\u00f3stico.<\/span>\r\n          <\/label>\r\n        <\/div>\r\n\r\n        <!-- Grupo 3 -->\r\n        <div class=\"checkgroup\" role=\"listitem\">\r\n          <div class=\"checkgroup-head\">\r\n            <span class=\"checkgroup-num\">03<\/span>\r\n            <div>\r\n              <h4>Obsolescencia y mantenibilidad<\/h4>\r\n              <p>Se\u00f1ales de que el ciclo de vida est\u00e1 cerca del l\u00edmite o el mantenimiento se volvi\u00f3 reactivo.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" data-key=\"age\" \/>\r\n            <span>Antig\u00fcedad de la subestaci\u00f3n: <strong>m\u00e1s de 20 a\u00f1os<\/strong> (o tecnolog\u00eda fuera de soporte).<\/span>\r\n          <\/label>\r\n\r\n\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>El mantenimiento es principalmente correctivo (se atiende despu\u00e9s del evento).<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Es dif\u00edcil conseguir refacciones\/soporte o hay documentaci\u00f3n incompleta.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Hay puntos calientes, conexiones con retrabajos frecuentes o accesos limitados para mantenimiento.<\/span>\r\n          <\/label>\r\n        <\/div>\r\n\r\n        <!-- Grupo 4 -->\r\n        <div class=\"checkgroup\" role=\"listitem\">\r\n          <div class=\"checkgroup-head\">\r\n            <span class=\"checkgroup-num\">04<\/span>\r\n            <div>\r\n              <h4>Operaci\u00f3n, seguridad y visibilidad<\/h4>\r\n              <p>Se\u00f1ales de que falta control, estandarizaci\u00f3n o informaci\u00f3n para operar con certidumbre.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" data-key=\"rtmon\" \/>\r\n            <span>Cuenta con <strong>monitoreo remoto en tiempo real<\/strong> (eventos, alarmas, mediciones, tendencias).<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" data-key=\"prot\" \/>\r\n            <span>Estado de <strong>esquemas de protecci\u00f3n<\/strong>: coordinaci\u00f3n, ajustes y pruebas est\u00e1n documentados y vigentes.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" data-key=\"grid\" \/>\r\n            <span>Cumple con el <strong>C\u00f3digo de Red vigente<\/strong> (evidencia, medici\u00f3n y seguimiento).<\/span>\r\n          <\/label>\r\n\r\n\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>La operaci\u00f3n depende de conocimiento de pocas personas (alta dependencia del factor humano).<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Los eventos no quedan bien registrados; se decide sin datos consistentes.<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Se requiere mejorar protocolos, enclavamientos o est\u00e1ndares de operaci\u00f3n segura.<\/span>\r\n          <\/label>\r\n        <\/div>\r\n\r\n        <!-- Grupo 5 -->\r\n        <div class=\"checkgroup checkgroup--wide\" role=\"listitem\">\r\n          <div class=\"checkgroup-head\">\r\n            <span class=\"checkgroup-num\">05<\/span>\r\n            <div>\r\n              <h4>Fragmentaci\u00f3n de proyecto (interfaces)<\/h4>\r\n              <p>Se\u00f1ales de que la integraci\u00f3n entre ingenier\u00eda, suministro y obra est\u00e1 generando fricci\u00f3n o riesgo.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Hay cambios en sitio que no regresan a ingenier\u00eda (planos \u201cas-built\u201d incompletos o tard\u00edos).<\/span>\r\n          <\/label>\r\n          <label class=\"checkitem\">\r\n            <input type=\"checkbox\" class=\"chk\" \/>\r\n            <span>Las pruebas de puesta en marcha revelan problemas de interfaz (cableado, se\u00f1ales, coordinaci\u00f3n).<\/span>\r\n          <\/label>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== Modal: Reporte PDF ===== -->\r\n<div class=\"modal-overlay\" id=\"reportModal\" aria-hidden=\"true\">\r\n  <div class=\"modal-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"reportModalTitle\">\r\n    <div class=\"modal-head\">\r\n      <div>\r\n        <h3 class=\"modal-title\" id=\"reportModalTitle\">Reporte personalizado de riesgos<\/h3>\r\n        <p class=\"modal-sub\">Se generar\u00e1 un PDF con tus respuestas y nivel de urgencia.<\/p>\r\n      <\/div>\r\n      <button class=\"modal-close\" type=\"button\" id=\"closeReportModal\" aria-label=\"Cerrar\">\u00d7<\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\">\r\n      <div class=\"modal-preview\" id=\"reportPreview\">\r\n        <span class=\"chip\" id=\"previewScore\">Puntaje: 0\/0<\/span>\r\n        <span class=\"chip\" id=\"previewUrgency\">Urgencia: \u2014<\/span>\r\n        <span class=\"chip\" id=\"previewItems\">\u00cdtems: 0<\/span>\r\n      <\/div>\r\n\r\n      <form class=\"modal-form\" id=\"reportForm\" novalidate>\r\n        <label for=\"reportEmail\">Correo para env\u00edo del PDF<\/label>\r\n        <input type=\"email\" id=\"reportEmail\" name=\"email\" placeholder=\"nombre@empresa.com\" required autocomplete=\"email\" \/>\r\n        <div class=\"modal-error\" id=\"reportEmailError\">Ingresa un correo v\u00e1lido.<\/div>\r\n\r\n        <div class=\"modal-actions\">\r\n          <button class=\"btn-action\" type=\"submit\" id=\"sendReportBtn\">Enviar reporte<\/button>\r\n          <button class=\"btn-ghost\" type=\"button\" id=\"downloadReportBtn\">Descargar PDF<\/button>\r\n        <\/div>\r\n        <p class=\"modal-note\" id=\"reportNote\">Tu reporte se prepara con los datos visibles en esta p\u00e1gina.<\/p>\r\n      <\/form>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- ===== JS opcional: puntaje + sem\u00e1foro ===== -->\r\n<script>\r\n(function(){\r\n  const root = document.getElementById('autodiagnostico');\r\n  if(!root) return;\r\n\r\n  const chks = Array.from(root.querySelectorAll('.chk'));\r\n  const scoreNum = document.getElementById('scoreNum');\r\n  const scoreMax = document.getElementById('scoreMax');\r\n  const status = document.getElementById('scoreStatus');\r\n  const badge = status ? status.querySelector('.badge') : null;\r\n  const note  = status ? status.querySelector('.status-note') : null;\r\n  const fill  = root.querySelector('.gauge-fill');\r\n  const needle= root.querySelector('.gauge-needle');\r\n  const resetBtn = document.getElementById('resetChecklist');\r\n\r\n  if(!scoreNum || !scoreMax || !status || !badge || !note || !fill || !needle) return;\r\n\r\n  \/* ==========\r\n     Ponderaci\u00f3n (1\u2013100)\r\n     - Si un item ya trae data-weight en HTML, se respeta.\r\n     - Si no, se asigna por data-key o por orden (fallback), para evitar \u201c+1\u201d plano.\r\n  ========== *\/\r\n  const weightByKey = {\r\n    \/\/ nuevos\r\n    age: 60,\r\n    rtmon: 70,\r\n    unplanned: 90,\r\n    prot: 95,\r\n    grid: 80\r\n  };\r\n\r\n  \/\/ Fallback por orden (los existentes) \u2014 basado en criticidad t\u00edpica en operaci\u00f3n real.\r\n  \/\/ Si editas el checklist, solo ajusta este arreglo.\r\n  const fallbackWeights = [\r\n    70, 55, 65,   \/\/ Grupo 1 (3)\r\n    85, 60, 75,   \/\/ Grupo 2 (3)  (nota: despu\u00e9s insertamos \"unplanned\" con key)\r\n    55, 70, 60,   \/\/ Grupo 3 (3)  (nota: despu\u00e9s insertamos \"age\" con key)\r\n    80, 65, 75, 60, 70 \/\/ Grupo 4 (5) (nota: despu\u00e9s insertamos 3 items con key)\r\n  ];\r\n\r\n  \/\/ Asignaci\u00f3n de weights + \u201cmicro-hint\u201d de peso (solo visual)\r\n  let fbIndex = 0;\r\n  chks.forEach(chk => {\r\n    const key = chk.getAttribute('data-key');\r\n    let w = chk.getAttribute('data-weight');\r\n\r\n    if(!w){\r\n      if(key && weightByKey[key] != null) w = weightByKey[key];\r\n      else w = fallbackWeights[fbIndex] != null ? fallbackWeights[fbIndex] : 50;\r\n    }else{\r\n      w = parseInt(w, 10);\r\n    }\r\n    chk.setAttribute('data-weight', String(w));\r\n\r\n    \/\/ micro etiqueta \"peso\" (evita ruido: solo si hay espacio)\r\n    const label = chk.closest('.checkitem');\r\n    if(label && !label.querySelector('.w')){\r\n      const span = document.createElement('span');\r\n      span.className = 'w';\r\n      span.textContent = '\u00b7 ' + w;\r\n      label.appendChild(span);\r\n    }\r\n\r\n    \/\/ solo incrementamos fallback index si no fue por key (evita desfasar)\r\n    if(!(key && weightByKey[key] != null) && !chk.hasAttribute('data-weight-fixed')){\r\n      fbIndex += 1;\r\n    }\r\n  });\r\n\r\n  const MAX = chks.reduce((acc, chk) => acc + (parseInt(chk.getAttribute('data-weight')||'0',10) || 0), 0);\r\n  scoreMax.textContent = '\/ ' + MAX;\r\n\r\n  \/\/ gauge math\r\n  const TRACK = 314; \/\/ debe coincidir con stroke-dasharray del CSS (semic\u00edrculo)\r\n  function clamp(n, a, b){ return Math.max(a, Math.min(b, n)); }\r\n\r\n  function classify(points){\r\n    const pct = MAX ? (points \/ MAX) : 0;\r\n    const p = Math.round(pct * 100);\r\n\r\n    \/\/ Escala de urgencia (decisi\u00f3n ejecutiva)\r\n    \/\/ 0\u201324: Validar \/ planificar\r\n    \/\/ 25\u201349: Actualizar\r\n    \/\/ 50\u201374: Renovar (modernizaci\u00f3n priorizada)\r\n    \/\/ 75\u2013100: Intervenir cr\u00edtico (renovar\/instalar con enfoque de continuidad)\r\n    let tier = 'low';\r\n    let title = 'Baja urgencia';\r\n    let action = 'Recomendado: validar reservas, documentaci\u00f3n y plan de crecimiento.';\r\n    if(p >= 25 && p < 50){\r\n      tier = 'med';\r\n      title = 'Urgencia media';\r\n      action = 'Recomendado: actualizar (protecciones\/medici\u00f3n\/monitoreo) y cerrar brechas de cumplimiento.';\r\n    } else if(p >= 50 && p < 75){\r\n      tier = 'high';\r\n      title = 'Alta urgencia';\r\n      action = 'Recomendado: renovar\/modernizar por capas y eliminar causas de paro y operaci\u00f3n reactiva.';\r\n    } else if(p >= 75){\r\n      tier = 'crit';\r\n      title = 'Urgencia cr\u00edtica';\r\n      action = 'Recomendado: intervenir de forma prioritaria (continuidad, seguridad y capacidad).';\r\n    }\r\n    return {tier, title, action, pct, p};\r\n  }\r\n\r\n  function render(points){\r\n    scoreNum.textContent = String(points);\r\n\r\n    const c = classify(points);\r\n\r\n    \/\/ fill\r\n    const dash = TRACK * (1 - clamp(c.pct, 0, 1));\r\n    fill.style.strokeDashoffset = String(dash);\r\n\r\n    \/\/ needle: -90 (0%) a +90 (100%)\r\n    const deg = -90 + (180 * clamp(c.pct, 0, 1));\r\n    needle.style.transform = 'rotate(' + deg + 'deg)';\r\n\r\n    \/\/ badge + note\r\n    badge.setAttribute('data-tier', c.tier);\r\n    \r\n    \/\/ exponer tier al CSS para reactividad visual del man\u00f3metro\r\n    root.setAttribute('data-tier', c.tier);\r\n\r\n    \/\/ Glow pulsante solo al entrar a \"cr\u00edtico\"\r\n    const prev = root.getAttribute('data-tier-prev') || 'low';\r\n    if(prev !== 'crit' && c.tier === 'crit'){\r\n      root.classList.remove('pulse-crit');\r\n      void root.offsetWidth;\r\n      root.classList.add('pulse-crit');\r\n      setTimeout(()=>root.classList.remove('pulse-crit'), 2600);\r\n    }\r\n    root.setAttribute('data-tier-prev', c.tier);\r\nbadge.textContent = c.title + ' (' + c.p + '%)';\r\n    note.textContent = c.action;\r\n\r\n    \/\/ pulse notification\r\n    status.classList.remove('pulse');\r\n    \/\/ reflow\r\n    void status.offsetWidth;\r\n    status.classList.add('pulse');\r\n  }\r\n\r\n  function calc(){\r\n    return chks.reduce((acc, chk) => acc + (chk.checked ? (parseInt(chk.getAttribute('data-weight')||'0',10) || 0) : 0), 0);\r\n  }\r\n\r\n  \/\/ live update\r\n  root.addEventListener('change', (e) => {\r\n    const t = e.target;\r\n    if(t && t.classList && t.classList.contains('chk')){\r\n      render(calc());\r\n    }\r\n  });\r\n\r\n  \/\/ reset\r\n  if(resetBtn){\r\n    resetBtn.addEventListener('click', () => {\r\n      chks.forEach(c => c.checked = false);\r\n      render(0);\r\n    });\r\n  }\r\n\r\n  \/\/ initial\r\n  render(calc());\r\n})();\r\n<\/script>\r\n\r\n<div class=\"cta-card\">\r\n  <h3>\u00bfMarcaste varios puntos?<\/h3>\r\n  <p>\r\n    Contin\u00faa la evaluaci\u00f3n con el <strong>Checklist Ejecutivo para Subestaciones Industriales<\/strong>.\r\n  <\/p>\r\n  <a class=\"btn btn-primary btn-action\" href=\"#descargar-checklist\">\r\n    Descargar checklist\r\n  <\/a>\r\n\r\n<\/div>\r\n\r\n    <!-- TURNKEY -->\r\n    <section class=\"section\" id=\"turnkey\">\r\n  <div class=\"section-card q5\">\r\n    <div class=\"q5-head\">\r\n      <div>\r\n        <h2 class=\"h2\">La <strong>Quinta Capa<\/strong><\/h2>\r\n        <p class=\"lead\">La integraci\u00f3n total como enfoque para reducir riesgos t\u00e9cnicos y operativos.<\/p>\r\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>\r\n      <\/div>\r\n      <div class=\"q5-badge\" aria-label=\"Modelo de entrega\">Turnkey \/ Proyecto Llave en Mano<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"q5-hero\" aria-label=\"Resumen visual de integraci\u00f3n\">\r\n      <div class=\"q5-diagram\" role=\"img\" aria-label=\"Diagrama: Power, Protection, Control y Communications integradas por la Quinta Capa\">\r\n        <svg width=\"100%\" height=\"220\" viewBox=\"0 0 640 260\" aria-hidden=\"true\">\r\n          <rect x=\"14\" y=\"14\" width=\"612\" height=\"232\" rx=\"20\" fill=\"rgba(241,243,248,.75)\" stroke=\"rgba(85,96,112,.25)\"\/>\r\n\r\n          <!-- Left nodes -->\r\n          <g>\r\n            <rect x=\"70\" y=\"56\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\r\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>\r\n\r\n            <rect x=\"70\" y=\"146\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\r\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>\r\n          <\/g>\r\n\r\n          <!-- Right nodes -->\r\n          <g>\r\n            <rect x=\"410\" y=\"56\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\r\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>\r\n\r\n            <rect x=\"410\" y=\"146\" width=\"160\" height=\"58\" rx=\"14\" fill=\"#fff\" stroke=\"rgba(23,44,81,.35)\"\/>\r\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>\r\n          <\/g>\r\n\r\n          <!-- Center node -->\r\n          <g>\r\n            <circle cx=\"320\" cy=\"130\" r=\"46\" fill=\"rgba(15,76,129,.12)\" stroke=\"rgba(15,76,129,.65)\" stroke-width=\"2\"\/>\r\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>\r\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>\r\n          <\/g>\r\n\r\n          <!-- Connectors -->\r\n          <path d=\"M230 85 C275 85 275 110 274 118\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\r\n          <path d=\"M230 175 C275 175 275 150 274 142\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\r\n          <path d=\"M410 85 C365 85 365 110 366 118\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\r\n          <path d=\"M410 175 C365 175 365 150 366 142\" fill=\"none\" stroke=\"rgba(23,44,81,.45)\" stroke-width=\"2\"\/>\r\n        <\/svg>\r\n      <\/div>\r\n\r\n      <div class=\"q5-side\">\r\n        <div class=\"q5-card q5-card--what\">\r\n          <h3 class=\"h3\">\u00bfQu\u00e9 es?<\/h3>\r\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>\r\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>\r\n          <div class=\"q5-callout\" role=\"note\" style=\"margin-top:12px;\">\r\n            <strong>Te quita de encima:<\/strong>\r\n            <ul class=\"q5-list\" style=\"margin:10px 0 0;\">\r\n              <li>Interfases \u201csin due\u00f1o\u201d entre proveedores, disciplinas y etapas.<\/li>\r\n              <li>Re-trabajos y cambios tard\u00edos que se vuelven <strong>OPEX<\/strong> durante puesta en marcha y operaci\u00f3n.<\/li>\r\n              <li>Decisiones aisladas que comprometen <strong>continuidad, seguridad<\/strong> y escalabilidad.<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <div class=\"q5-callout\" role=\"note\">\r\n          <strong>Idea clave:<\/strong> cuando nadie es due\u00f1o del sistema completo, el riesgo se fragmenta\u2026 y se materializa en operaci\u00f3n.\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"q5-cards\" aria-label=\"Fundamentos de la Quinta Capa\">\r\n      <div class=\"q5-card\">\r\n        <h3 class=\"h3\">\u00bfPor qu\u00e9 surge la Quinta Capa?<\/h3>\r\n        <ul class=\"q5-list\">\r\n          <li>Muchos riesgos operativos <strong>no se originan en fallas de equipos<\/strong>, sino en interfaces no resueltas.<\/li>\r\n          <li>Gran parte del <strong>OPEX<\/strong> y del riesgo operativo queda definido antes de la compra del primer equipo.<\/li>\r\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>\r\n        <\/ul>\r\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>\r\n      <\/div>\r\n\r\n      <div class=\"q5-card\">\r\n        <h3 class=\"h3\">\u00bfQu\u00e9 integra la Quinta Capa?<\/h3>\r\n        <ul class=\"q5-list\">\r\n          <li><strong>Arquitectura el\u00e9ctrica<\/strong> (capacidad, redundancia, crecimiento).<\/li>\r\n          <li><strong>Esquemas de protecci\u00f3n<\/strong> y coordinaci\u00f3n.<\/li>\r\n          <li><strong>L\u00f3gicas de control<\/strong>, servicios auxiliares y operaci\u00f3n humana.<\/li>\r\n          <li><strong>Comunicaciones<\/strong>, supervisi\u00f3n, sincronizaci\u00f3n y trazabilidad.<\/li>\r\n          <li><strong>Interfaces<\/strong> entre disciplinas, proveedores y etapas del proyecto.<\/li>\r\n        <\/ul>\r\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>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"q5-impact\" aria-label=\"Impacto en CAPEX, OPEX y Riesgos\">\r\n      <h3 class=\"h3\">Impacto de la Quinta Capa en CAPEX, OPEX y Riesgos<\/h3>\r\n\r\n      <div class=\"q5-impact-grid\">\r\n        <div class=\"q5-impact-col\">\r\n          <div class=\"q5-kicker\">CAPEX<\/div>\r\n          <ul class=\"q5-list q5-list--tight\">\r\n            <li>Reduce reprocesos y cambios tard\u00edos.<\/li>\r\n            <li>Evita sobredimensionamientos defensivos.<\/li>\r\n            <li>Clarifica alcances, interfaces y responsabilidades.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n\r\n        <div class=\"q5-impact-col\">\r\n          <div class=\"q5-kicker\">OPEX<\/div>\r\n          <ul class=\"q5-list q5-list--tight\">\r\n            <li>Estabiliza la operaci\u00f3n desde el arranque.<\/li>\r\n            <li>Disminuye tiempos de diagn\u00f3stico y recuperaci\u00f3n.<\/li>\r\n            <li>Reduce errores humanos y ambig\u00fcedades operativas.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n\r\n        <div class=\"q5-impact-col\">\r\n          <div class=\"q5-kicker\">Riesgos<\/div>\r\n          <ul class=\"q5-list q5-list--tight\">\r\n            <li>Reduce probabilidad de paros no programados.<\/li>\r\n            <li>Disminuye riesgos a equipos y personas.<\/li>\r\n            <li>Reduce eventos el\u00e9ctricos de alto impacto.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"q5-footnote\">\r\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>.\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"q5-when\" aria-label=\"Cu\u00e1ndo aplicar la Quinta Capa\">\r\n      <h3 class=\"h3\">\u00bfCu\u00e1ndo tiene sentido aplicar la Quinta Capa?<\/h3>\r\n      <ul class=\"q5-checks\">\r\n        <li>El proyecto involucra <strong>m\u00faltiples proveedores o tecnolog\u00edas<\/strong>.<\/li>\r\n        <li>Los costos por paro o indisponibilidad son <strong>altos<\/strong>.<\/li>\r\n        <li>Se requiere alta <strong>confiabilidad, seguridad o trazabilidad<\/strong>.<\/li>\r\n        <li>El plan estrat\u00e9gico contempla <strong>crecimientos o adaptaciones<\/strong> futuras.<\/li>\r\n        <li>Se busca reducir riesgos <strong>desde el dise\u00f1o<\/strong>, no corregirlos en operaci\u00f3n.<\/li>\r\n      <\/ul>\r\n\r\n      <div class=\"q5-close\">\r\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.\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <a\r\n  id=\"descargar-checklist\"\r\n  class=\"btn btn-secondary\"\r\n  href=\"\/assets\/Checklist_Subestaciones_VMS.pdf\"\r\n  data-cta=\"checklist-q5\"\r\n  onclick=\"trackCTA('checklist_quinta_capa')\"\r\n>\r\n  Descargar checklist ejecutivo\r\n<\/a>\r\n\r\n<\/section>\r\n\r\n    <!-- RELATED -->\r\n    <section class=\"section\">\r\n      <div class=\"section-card\">\r\n        <h2 class=\"h2\">Lecturas relacionadas<\/h2>\r\n        <p class=\"lead\">Bloque de investigaci\u00f3n y actualizaci\u00f3n.<\/p>\r\n        <div class=\"related\">\r\n          <div class=\"rel\">\r\n            <div class=\"tag\">Operaci\u00f3n<\/div>\r\n            <h4>Mantenimiento de subestaciones el\u00e9ctricas<\/h4>\r\n            <p>Claves para confiabilidad, vida \u00fatil y continuidad operativa.<\/p>\r\n            <a href=\"#\" aria-label=\"Ir a Mantenimiento de subestaciones\">Ver entrada \u2192<\/a>\r\n          <\/div>\r\n          <div class=\"rel\">\r\n            <div class=\"tag\">Modernizaci\u00f3n<\/div>\r\n            <h4>Diagn\u00f3stico y modernizaci\u00f3n de sistemas el\u00e9ctricos<\/h4>\r\n            <p>C\u00f3mo priorizar acciones sin sobredimensionar inversiones.<\/p>\r\n            <a href=\"#\" aria-label=\"Ir a Diagn\u00f3stico y modernizaci\u00f3n\">Ver entrada \u2192<\/a>\r\n          <\/div>\r\n          <div class=\"rel\">\r\n            <div class=\"tag\">EPC<\/div>\r\n            <h4>Evaluaci\u00f3n t\u00e9cnica previa a proyectos EPC<\/h4>\r\n            <p>Checklist y criterios para alinear ingenier\u00eda y procurement.<\/p>\r\n            <a href=\"#\" aria-label=\"Ir a Evaluaci\u00f3n t\u00e9cnica EPC\">Ver entrada \u2192<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- CTA -->\r\n<section class=\"section cta-final\" id=\"cta-diagnostico\">\r\n  <div class=\"section-card\">\r\n    <h3 class=\"h2\">Siguiente paso<\/h3>\r\n    <p class=\"lead\">\r\n      Un diagn\u00f3stico t\u00e9cnico temprano permite definir alcance, riesgos y alternativas\r\n      antes de comprometer decisiones dif\u00edciles de revertir.\r\n    <\/p>\r\n\r\n    <div class=\"cta-box\">\r\n      <div class=\"cta-copy\">\r\n        <h4>\u00bfEst\u00e1s evaluando la necesidad o modernizaci\u00f3n de una subestaci\u00f3n?<\/h4>\r\n        <p>Podemos ayudarte a ordenar criterios t\u00e9cnicos desde ingenier\u00eda, operaci\u00f3n y procurement.<\/p>\r\n      <\/div>\r\n\r\n      <a class=\"btn-primary\" href=\"#contacto\">Solicitar diagn\u00f3stico t\u00e9cnico<\/a>\r\n    <\/div>\r\n\r\n    <div class=\"tagline\" aria-label=\"Temas clave del diagn\u00f3stico\">\r\n      <span class=\"chip\">Subestaci\u00f3n el\u00e9ctrica industrial<\/span>\r\n      <span class=\"chip\">Evaluaci\u00f3n t\u00e9cnica previa<\/span>\r\n      <span class=\"chip\">Gesti\u00f3n de riesgos<\/span>\r\n    <\/div>\r\n\r\n    <span class=\"sr-only\">\r\n      diagn\u00f3stico de confiabilidad el\u00e9ctrica, modernizaci\u00f3n de subestaciones, checklist t\u00e9cnico, ingenier\u00eda el\u00e9ctrica aplicada\r\n    <\/span>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n\r\n  \r\n<section class=\"section\" id=\"autoridad\">\r\n  <div class=\"section-card\">\r\n    <h2 class=\"h2\">Autoridad t\u00e9cnica y normativas<\/h2>\r\n    <p class=\"lead\">Criterios de dise\u00f1o y buenas pr\u00e1cticas basadas en normativas y est\u00e1ndares aplicables. (Sellos visuales conceptuales).<\/p>\r\n\r\n    <div class=\"authority\" role=\"list\" aria-label=\"Sellos normativos\">\r\n      <div class=\"seal\" role=\"listitem\">\r\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n          <circle cx=\"24\" cy=\"24\" r=\"18\" fill=\"none\" stroke=\"rgba(58,111,165,.70)\" stroke-width=\"2\"\/>\r\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\"\/>\r\n        <\/svg>\r\n        <div>\r\n          <div class=\"t\">NOM<\/div>\r\n          <div class=\"d\">Cumplimiento y evidencia<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"seal\" role=\"listitem\">\r\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n          <rect x=\"10\" y=\"10\" width=\"28\" height=\"28\" rx=\"10\" fill=\"none\" stroke=\"rgba(58,111,165,.70)\" stroke-width=\"2\"\/>\r\n          <path d=\"M16 30h16M16 24h10\" fill=\"none\" stroke=\"rgba(58,111,165,.85)\" stroke-width=\"2.6\" stroke-linecap=\"round\"\/>\r\n        <\/svg>\r\n        <div>\r\n          <div class=\"t\">IEEE<\/div>\r\n          <div class=\"d\">Protecci\u00f3n y confiabilidad<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"seal\" role=\"listitem\">\r\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\">\r\n          <path d=\"M24 8l14 8v16l-14 8-14-8V16z\" fill=\"none\" stroke=\"rgba(58,111,165,.70)\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>\r\n          <path d=\"M16 24h16\" fill=\"none\" stroke=\"rgba(58,111,165,.85)\" stroke-width=\"2.6\" stroke-linecap=\"round\"\/>\r\n        <\/svg>\r\n        <div>\r\n          <div class=\"t\">IEC<\/div>\r\n          <div class=\"d\">Interoperabilidad y pruebas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<\/main>\r\n\r\n  <script>\r\n    \/\/ Reading progress\r\n    const progress = document.getElementById('progress');\r\n    const navLinks = [...document.querySelectorAll('.nav a')];\r\n\r\n    function onScroll(){\r\n      const doc = document.documentElement;\r\n      const scrollTop = doc.scrollTop || document.body.scrollTop;\r\n      const scrollHeight = doc.scrollHeight - doc.clientHeight;\r\n      const pct = scrollHeight ? (scrollTop \/ scrollHeight) * 100 : 0;\r\n      progress.style.width = pct.toFixed(2) + \"%\";\r\n\r\n      \/\/ Active section highlighting (simple)\r\n      const sections = ['necesidad','capas','impacto','riesgos','turnkey','cta']\r\n        .map(id => document.getElementById(id))\r\n        .filter(Boolean);\r\n\r\n      let current = 'necesidad';\r\n      for(const s of sections){\r\n        const rect = s.getBoundingClientRect();\r\n        if(rect.top <= 90) current = s.id;\r\n      }\r\n      navLinks.forEach(a=>{\r\n        a.classList.toggle('active', a.getAttribute('href') === '#'+current);\r\n      });\r\n    }\r\n    window.addEventListener('scroll', onScroll, {passive:true});\r\n    onScroll();\r\n\r\n    \/\/ CTA button (prototype behavior)\r\n    document.getElementById('btnDiag').addEventListener('click', ()=>{\r\n      alert('Prototipo: aqu\u00ed abrir\u00eda el formulario de \u201cDiagn\u00f3stico t\u00e9cnico\u201d o dirigir\u00eda a la landing.');\r\n    });\r\n  <\/script>\r\n<!-- ===== FAQ SEO (insertar antes del CTA final o despu\u00e9s de Conclusi\u00f3n) ===== -->\r\n<section class=\"section\" id=\"faq\">\r\n  <div class=\"section-card\">\r\n    <h3 class=\"h2\">Preguntas frecuentes sobre subestaciones el\u00e9ctricas industriales<\/h3>\r\n    <p class=\"lead\">Respuestas breves para apoyar una toma de decisiones t\u00e9cnicas informada.<\/p>\r\n\r\n    <div class=\"faq\" role=\"list\">\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\n        <summary class=\"faq-q\">\u00bfPara qu\u00e9 sirve una subestaci\u00f3n el\u00e9ctrica en una instalaci\u00f3n industrial?<\/summary>\r\n        <div class=\"faq-a\">\r\n          <p>\r\n            Una subestaci\u00f3n el\u00e9ctrica permite <strong>recibir, transformar, proteger y distribuir<\/strong> la energ\u00eda el\u00e9ctrica\r\n            de forma segura y confiable hacia los procesos productivos. Su funci\u00f3n es adaptar la energ\u00eda a las condiciones reales\r\n            de la operaci\u00f3n, garantizando continuidad, seguridad y capacidad de crecimiento del sistema el\u00e9ctrico industrial.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\n        <summary class=\"faq-q\">\u00bfCu\u00e1ndo se vuelve necesaria una subestaci\u00f3n el\u00e9ctrica?<\/summary>\r\n        <div class=\"faq-a\">\r\n          <p>\r\n            Una subestaci\u00f3n se vuelve necesaria cuando el sistema el\u00e9ctrico existente <strong>deja de responder de forma confiable<\/strong>\r\n            a la demanda operativa. Esto suele ocurrir ante crecimiento de carga, expansi\u00f3n de planta, incorporaci\u00f3n de procesos cr\u00edticos,\r\n            problemas recurrentes de confiabilidad o cuando la infraestructura instalada alcanza el fin de su vida \u00fatil.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\n        <summary class=\"faq-q\">\u00bfCu\u00e1l es la diferencia entre dise\u00f1ar una subestaci\u00f3n por equipos y dise\u00f1arla por capas?<\/summary>\r\n        <div class=\"faq-a\">\r\n          <p>\r\n            Dise\u00f1ar una subestaci\u00f3n por capas implica analizar el sistema como un conjunto integrado \u2014potencia, protecci\u00f3n, control y comunicaciones\u2014\r\n            en lugar de evaluar equipos de forma aislada. Este enfoque permite <strong>anticipar impactos en CAPEX, OPEX y riesgos operativos<\/strong>,\r\n            facilitando decisiones t\u00e9cnicas m\u00e1s informadas y sostenibles a lo largo del ciclo de vida del proyecto.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\n        <summary class=\"faq-q\">\u00bfC\u00f3mo impacta una subestaci\u00f3n mal dise\u00f1ada en los costos de operaci\u00f3n (OPEX)?<\/summary>\r\n        <div class=\"faq-a\">\r\n          <p>\r\n            Una subestaci\u00f3n mal integrada puede generar <strong>mayores costos de mantenimiento<\/strong>, p\u00e9rdidas t\u00e9cnicas, tiempos de indisponibilidad,\r\n            reprocesos y dificultades para futuras expansiones. Muchas decisiones que parecen reducir la inversi\u00f3n inicial terminan incrementando el OPEX\r\n            durante toda la vida \u00fatil del sistema.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\n        <summary class=\"faq-q\">\u00bfQu\u00e9 riesgos existen si no se eval\u00faan correctamente las capas de protecci\u00f3n y control?<\/summary>\r\n        <div class=\"faq-a\">\r\n          <p>\r\n            La falta de una evaluaci\u00f3n adecuada en estas capas puede derivar en <strong>paros no programados<\/strong>, disparos intempestivos,\r\n            dificultad para diagnosticar fallas, riesgos a personas y una recuperaci\u00f3n lenta del sistema ante eventos el\u00e9ctricos. Estos riesgos suelen\r\n            manifestarse durante la operaci\u00f3n, no en la etapa de construcci\u00f3n.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\n        <summary class=\"faq-q\">\u00bfEn qu\u00e9 casos conviene evaluar un proyecto EPC o llave en mano para una subestaci\u00f3n?<\/summary>\r\n        <div class=\"faq-a\">\r\n          <p>\r\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>,\r\n            existe alta complejidad t\u00e9cnica o m\u00faltiples interfaces entre disciplinas. Este enfoque ayuda a centralizar la responsabilidad t\u00e9cnica,\r\n            coordinar pruebas y puesta en marcha, y reducir riesgos asociados a la fragmentaci\u00f3n del proyecto.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <details class=\"faq-item\" role=\"listitem\">\r\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>\r\n        <div class=\"faq-a\">\r\n          <p>\r\n            Un diagn\u00f3stico t\u00e9cnico previo permite <strong>ordenar criterios de ingenier\u00eda, operaci\u00f3n y procurement<\/strong> antes de comprometer decisiones\r\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\r\n            proyecto desde una visi\u00f3n integral.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n    <\/div>\r\n\r\n    <!-- Nota editorial opcional -->\r\n    <p class=\"micro-note\" style=\"margin-top:14px;\">\r\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,\r\n      desde mantenimiento y modernizaci\u00f3n hasta evaluaci\u00f3n previa de esquemas EPC.\r\n    <\/p>\r\n  <\/div>\r\n<\/section>\r\n<script>\r\n(function(){\r\n  if (window.__vmsLayerPanelInit) return;\r\n  window.__vmsLayerPanelInit = true;\r\n\r\n  const panel = document.getElementById('layer-panel');\r\n  const closeBtn = document.getElementById('lp-close');\r\n  const title = document.getElementById('lp-title');\r\n  const desc = document.getElementById('lp-desc');\r\n  const kicker = document.getElementById('lp-kicker');\r\n  const list = document.getElementById('lp-list');\r\n  const diagram = document.getElementById('lp-diagram');\r\n  const jump = document.getElementById('lp-jump');\r\n\r\n  const BUTTONS = Array.from(document.querySelectorAll('.layers-grid .layer-card[data-layer]'));\r\n\r\n  if (!panel || !title || !desc || !list || !diagram || !jump || BUTTONS.length === 0) return;\r\n\r\n  const DATA = {\r\n    power: {\r\n      kicker: '01 \u00b7 Power Layer',\r\n      title: 'Power Layer \u00b7 Capa de Potencia del Sistema',\r\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\r\n      bullets: [\r\n        'Transformaci\u00f3n de tensi\u00f3n (transformaci\u00f3n y acoplamientos)',\r\n        'Maniobra y seccionamiento (interruptores, seccionadores)',\r\n        'Barras y conducci\u00f3n (buses, conexiones, canalizaciones)',\r\n        'Medici\u00f3n primaria (instrumentaci\u00f3n de potencia)',\r\n        'Puesta a tierra (malla, conexiones equipotenciales)',\r\n        'Estructuras y fundaciones (soportes, obra civil)'\r\n      ],\r\n      target: '#power-layer',\r\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Power<\/span>'\r\n    },\r\n    protection: {\r\n      kicker: '02 \u00b7 Protection Layer',\r\n      title: 'Protection Layer \u00b7 Capa de Protecci\u00f3n',\r\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\r\n      bullets: [\r\n        'Transformadores de instrumento (TC\/TP)',\r\n        'Circuitos de disparo y actuaci\u00f3n (trip)',\r\n        'Interconexi\u00f3n de se\u00f1ales (marshalling \/ bornes)',\r\n        'L\u00f3gicas de selectividad y respaldo (arquitectura)',\r\n        'Alimentaci\u00f3n auxiliar para protecci\u00f3n',\r\n        'Canalizaciones y cableado de protecci\u00f3n'\r\n      ],\r\n      target: '#protection-layer',\r\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Protection<\/span>'\r\n    },\r\n    control: {\r\n      kicker: '03 \u00b7 Control Layer',\r\n      title: 'Control Layer \u00b7 Capa de Control',\r\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\r\n      bullets: [\r\n        'Tableros de control y automatizaci\u00f3n',\r\n        'Servicios auxiliares AC\/DC (cargadores, respaldo)',\r\n        'L\u00f3gicas y enclavamientos (interlocks)',\r\n        'Interfaces de operaci\u00f3n (local\/HMI)',\r\n        'Se\u00f1alizaci\u00f3n y cableado de control',\r\n        'Alarmas y eventos operativos'\r\n      ],\r\n      target: '#control-layer',\r\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Control<\/span>'\r\n    },\r\n    comms: {\r\n      kicker: '04 \u00b7 Communication Layer',\r\n      title: 'Communication Layer \u00b7 Capa de Comunicaciones',\r\n      desc: 'Est\u00e1s explorando el detalle t\u00e9cnico de esta capa.',\r\n      bullets: [\r\n        'Infraestructura de red industrial (switches\/ruteo)',\r\n        'Medios f\u00edsicos (FO\/cobre) y patching',\r\n        'Sincronizaci\u00f3n de tiempo (time sync)',\r\n        'Sistemas de supervisi\u00f3n y registro (SCADA\/Hist\u00f3rico)',\r\n        'Canalizaciones y cableado de comunicaciones',\r\n        'Interfaz con sistemas externos (integraciones)'\r\n      ],\r\n      target: '#comms-layer',\r\n      diagramHTML: '<span style=\"font-family:var(--mono);font-size:12px;opacity:.85;\">Diagrama \u00b7 Comms<\/span>'\r\n    }\r\n  };\r\n\r\n  function flashTarget(selector){\r\n    const el = document.querySelector(selector);\r\n    if(!el) return;\r\n    el.classList.add('flash-blueprint');\r\n    setTimeout(()=> el.classList.remove('flash-blueprint'), 900);\r\n  }\r\n\r\n  function setActive(btn){\r\n    BUTTONS.forEach(b=>{\r\n      b.classList.remove('is-active');\r\n      b.setAttribute('aria-expanded','false');\r\n    });\r\n    if(btn){\r\n      btn.classList.add('is-active');\r\n      btn.setAttribute('aria-expanded','true');\r\n    }\r\n  }\r\n\r\n  function openPanel(key, btn){\r\n    const d = DATA[key];\r\n    if(!d) return;\r\n\r\n    setActive(btn);\r\n\r\n    kicker.textContent = d.kicker;\r\n    title.textContent = d.title;\r\n    desc.textContent = d.desc;\r\n    list.innerHTML = d.bullets.map(x=> `<li>${x}<\/li>`).join('');\r\n    const srcSvg = btn ? btn.querySelector('.layer-diagram svg') : null;\r\n    diagram.innerHTML = '';\r\n    if (srcSvg) {\r\n    diagram.appendChild(srcSvg.cloneNode(true));\r\n    } else {\r\n    diagram.innerHTML = d.diagramHTML || '';\r\n    }\r\n\r\n    jump.setAttribute('href', d.target);\r\n    jump.dataset.flashTarget = d.target;\r\n\r\n    panel.hidden = false;\r\n    panel.scrollIntoView({behavior:'smooth', block:'start'});\r\n  }\r\n\r\n  function closePanel(){\r\n    panel.hidden = true;\r\n    setActive(null);\r\n  }\r\n\r\n  \/\/ Bind buttons\r\n  BUTTONS.forEach(btn=>{\r\n    btn.addEventListener('click', ()=> openPanel(btn.dataset.layer, btn));\r\n  });\r\n\r\n  closeBtn && closeBtn.addEventListener('click', closePanel);\r\n\r\n  \/\/ ESC closes\r\n  document.addEventListener('keydown', (e)=>{\r\n    if(e.key === 'Escape' && !panel.hidden) closePanel();\r\n  });\r\n\r\n  \/\/ Jump with flash\r\n  jump && jump.addEventListener('click', ()=>{\r\n    const target = jump.dataset.flashTarget;\r\n    if(!target) return;\r\n    setTimeout(()=> flashTarget(target), 450);\r\n  });\r\n\r\n})();\r\n<\/script>\r\n<script>\r\n(() => {\r\n  if (window.__vmsLayerPanelInit) return;\r\n  window.__vmsLayerPanelInit = true;\r\n  \/\/ ====== Elementos del DOM ======\r\n  const panel = document.getElementById('layer-panel');\r\n  const kicker = document.getElementById('lp-kicker');\r\n  const title  = document.getElementById('lp-title');\r\n  const desc   = document.getElementById('lp-desc');\r\n  const list   = document.getElementById('lp-list');\r\n  const diagram= document.getElementById('lp-diagram');\r\n  const close  = document.getElementById('lp-close');\r\n  const jump   = document.getElementById('lp-jump');\r\n\r\n  const cards = Array.from(document.querySelectorAll('.layers-grid .layer-card[data-layer]'));\r\n\r\n  if (!panel || !title || !desc || !list || !diagram || !jump || cards.length === 0) {\r\n    console.warn('[LayerPanel] Faltan elementos requeridos (ids lp-* o layer-panel) o no hay cards.');\r\n    return;\r\n  }\r\n\r\n  \/\/ ====== Datos (edita textos si quieres) ======\r\n  const DATA = {\r\n    power: {\r\n      kicker: '01 \u00b7 Power Layer',\r\n      title: 'Power Layer \u00b7 Capa de Potencia del Sistema',\r\n      desc: 'Arquitectura F\u00edsica de una subestaci\u00f3n el\u00e9ctrica industrial.',\r\n      bullets: [\r\n        'Transformaci\u00f3n de niveles de tensi\u00f3n (equipos de potencia asociados)',\r\n        'Maniobra y seccionamiento (operaci\u00f3n y aislamiento)',\r\n        'Barras y conducci\u00f3n (conexiones y distribuci\u00f3n)',\r\n        'Medici\u00f3n primaria (instrumentaci\u00f3n asociada)',\r\n        'Puesta a tierra (malla y equipotencialidad)',\r\n        'Estructuras y fundaciones (obra civil de soporte)'\r\n      ],\r\n      target: '#power-layer'\r\n    },\r\n    protection: {\r\n      kicker: '02 \u00b7 Protection Layer',\r\n      title: 'Protection Layer \u00b7 Capa de Protecci\u00f3n',\r\n      desc: 'Detecta condiciones anormales y a\u00edsla fallas de forma selectiva, limitando su alcance e impacto operativo.',\r\n      bullets: [\r\n        'Transformadores de instrumento (TC\/TP)',\r\n        'Rel\u00e9s \/ l\u00f3gica de protecci\u00f3n (funciones y criterios)',\r\n        'Circuitos de disparo y actuaci\u00f3n (trip)',\r\n        'Selectividad, respaldo y coordinaci\u00f3n',\r\n        'Alimentaci\u00f3n auxiliar (AC\/DC asociada)',\r\n        'Cableado y canalizaciones de protecci\u00f3n'\r\n      ],\r\n      target: '#protection-layer'\r\n    },\r\n    control: {\r\n      kicker: '03 \u00b7 Control Layer',\r\n      title: 'Control Layer \u00b7 Capa de Control',\r\n      desc: 'Habilita operaci\u00f3n ordenada y segura: secuencias, enclavamientos, servicios auxiliares e interfaces de operaci\u00f3n.',\r\n      bullets: [\r\n        'Tableros de control \/ automatizaci\u00f3n',\r\n        'Servicios auxiliares AC\/DC (respaldo y continuidad)',\r\n        'Enclavamientos (interlocks) y secuencias',\r\n        'Mandos locales \/ HMI \/ interfaces',\r\n        'Se\u00f1alizaci\u00f3n, alarmas y eventos',\r\n        'Cableado de control y se\u00f1alizaci\u00f3n'\r\n      ],\r\n      target: '#control-layer'\r\n    },\r\n    comms: {\r\n      kicker: '04 \u00b7 Communication Layer',\r\n      title: 'Communication Layer \u00b7 Capa de Comunicaciones',\r\n      desc: 'Conecta supervisi\u00f3n, registro y an\u00e1lisis: redes industriales, trazabilidad de eventos y datos para decisi\u00f3n.',\r\n      bullets: [\r\n        'Infraestructura de red industrial',\r\n        'Medios f\u00edsicos (FO\/cobre) y patching',\r\n        'Sincronizaci\u00f3n de tiempo (time sync)',\r\n        'Supervisi\u00f3n\/registro (SCADA\/hist\u00f3rico)',\r\n        'Canalizaciones y cableado de comunicaciones',\r\n        'Interfaces con sistemas externos'\r\n      ],\r\n      target: '#comms-layer'\r\n    }\r\n  };\r\n\r\n  \/\/ ====== Helpers ======\r\n  const setExpanded = (activeBtn) => {\r\n    cards.forEach(btn => btn.setAttribute('aria-expanded', btn === activeBtn ? 'true' : 'false'));\r\n  };\r\n\r\n  const flashTarget = (selector) => {\r\n    const el = document.querySelector(selector);\r\n    if (!el) return;\r\n    el.classList.add('flash-blueprint');\r\n    setTimeout(() => el.classList.remove('flash-blueprint'), 900);\r\n  };\r\n\r\n  const openPanel = (key, btn) => {\r\n    const d = DATA[key];\r\n    if (!d) return;\r\n\r\n    \/\/ Textos\r\n    if (kicker) kicker.textContent = d.kicker || '';\r\n    title.textContent = d.title || '';\r\n    desc.textContent  = d.desc || '';\r\n\r\n    \/\/ Bullets\r\n    list.innerHTML = (d.bullets || []).map(x => `<li>${x}<\/li>`).join('');\r\n\r\n    \/\/ Diagrama: clona el SVG del card si existe; si no, deja vac\u00edo\r\n    diagram.innerHTML = '';\r\n    const srcSvg = btn ? btn.querySelector('.layer-diagram svg') : null;\r\n    if (srcSvg) diagram.appendChild(srcSvg.cloneNode(true));\r\n\r\n    \/\/ Link a secci\u00f3n expandida\r\n    jump.setAttribute('href', d.target);\r\n    jump.dataset.flashTarget = d.target;\r\n\r\n    \/\/ Mostrar panel\r\n    panel.hidden = false;\r\n    setExpanded(btn);\r\n\r\n    \/\/ Scroll suave al panel (opcional pero recomendado)\r\n    panel.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n  };\r\n\r\n  const closePanel = () => {\r\n    panel.hidden = true;\r\n    setExpanded(null);\r\n  };\r\n\r\n  \/\/ ====== Eventos ======\r\n  cards.forEach(btn => {\r\n    btn.addEventListener('click', () => openPanel(btn.dataset.layer, btn));\r\n  });\r\n\r\n  if (close) close.addEventListener('click', closePanel);\r\n\r\n  document.addEventListener('keydown', (e) => {\r\n    if (e.key === 'Escape' && !panel.hidden) closePanel();\r\n  });\r\n\r\n  \/\/ Jump + flash suave al llegar\r\n  jump.addEventListener('click', () => {\r\n    const target = jump.dataset.flashTarget;\r\n    if (!target) return;\r\n    setTimeout(() => flashTarget(target), 450);\r\n  });\r\n\r\n  \/\/ Opcional: abrir la primera capa por defecto\r\n  \/\/ openPanel('power', cards.find(b => b.dataset.layer === 'power'));\r\n\r\n})();\r\n<\/script>\r\n<script>\r\n(function(){\r\n  const map = {\r\n    power: 'capex-row-power',\r\n    protection: 'capex-row-protection',\r\n    control: 'capex-row-control',\r\n    comms: 'capex-row-comms'\r\n  };\r\n\r\n  function flashRow(row){\r\n    if(!row) return;\r\n    row.classList.add('capex-row-flash');\r\n    window.setTimeout(() => row.classList.remove('capex-row-flash'), 1200);\r\n  }\r\n\r\n  function goToCapex(key){\r\n    const rowId = map[key];\r\n    const section = document.querySelector('#impacto');\r\n    const row = rowId ? document.getElementById(rowId) : null;\r\n\r\n    if(section){\r\n      section.scrollIntoView({ behavior:'smooth', block:'start' });\r\n    } else {\r\n      location.hash = '#impacto';\r\n    }\r\n\r\n    window.setTimeout(() => {\r\n      if(row){\r\n        row.scrollIntoView({ behavior:'smooth', block:'center' });\r\n        window.setTimeout(() => flashRow(row), 160);\r\n      }\r\n    }, 450);\r\n  }\r\n\r\n  document.addEventListener('click', (e) => {\r\n    const btn = e.target.closest('[data-capex-jump]');\r\n    if(!btn) return;\r\n    e.preventDefault();\r\n    goToCapex(btn.getAttribute('data-capex-jump'));\r\n  });\r\n\r\n  document.addEventListener('keydown', (e) => {\r\n    const btn = e.target.closest('[data-capex-jump]');\r\n    if(!btn) return;\r\n    if(e.key === 'Enter' || e.key === ' '){\r\n      e.preventDefault();\r\n      goToCapex(btn.getAttribute('data-capex-jump'));\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n\r\n\r\n<script>\r\n(function(){\r\n  \/\/ tracking seguro (no rompe si no existe dataLayer)\r\n  function track(name){\r\n    try{\r\n      window.dataLayer = window.dataLayer || [];\r\n      window.dataLayer.push({event: 'vms_cta', cta: name});\r\n    }catch(e){}\r\n  }\r\n  document.addEventListener('click', function(e){\r\n    var t = e.target;\r\n    var el = t && t.closest ? t.closest('[data-track]') : null;\r\n    if(!el) return;\r\n    track(el.getAttribute('data-track'));\r\n  }, {passive:true});\r\n})();\r\n<\/script>\r\n\r\n\r\n<script>\r\n\/* =========================================================\r\n   Core Web Vitals (RUM local) \u2014 LCP \/ CLS \/ INP\r\n   - No env\u00eda datos por defecto: imprime en consola.\r\n   - Activa overlay con ?cwv=1 (solo debug).\r\n========================================================= *\/\r\n(function(){\r\n  const params = new URLSearchParams(location.search);\r\n  const showOverlay = params.get('cwv') === '1';\r\n\r\n  \/\/ --- State ---\r\n  let cls = 0;\r\n  let lcp = 0;\r\n  let inp = 0;\r\n  let lcpEntry = null;\r\n\r\n  \/\/ --- CLS ---\r\n  try{\r\n    const poCLS = new PerformanceObserver((list)=>{\r\n      for(const entry of list.getEntries()){\r\n        \/\/ Ignorar shifts causados por interacci\u00f3n del usuario\r\n        if(!entry.hadRecentInput) cls += entry.value;\r\n      }\r\n    });\r\n    poCLS.observe({type:'layout-shift', buffered:true});\r\n  }catch(e){}\r\n\r\n  \/\/ --- LCP ---\r\n  try{\r\n    const poLCP = new PerformanceObserver((list)=>{\r\n      const entries = list.getEntries();\r\n      if(entries.length){\r\n        lcpEntry = entries[entries.length - 1];\r\n        lcp = lcpEntry.startTime;\r\n      }\r\n    });\r\n    poLCP.observe({type:'largest-contentful-paint', buffered:true});\r\n    \/\/ Detener LCP cuando el usuario interact\u00faa o la p\u00e1gina se oculta\r\n    const stopLCP = () => { try{ poLCP.disconnect(); }catch(e){} };\r\n    addEventListener('pointerdown', stopLCP, {once:true, passive:true});\r\n    addEventListener('keydown', stopLCP, {once:true});\r\n    addEventListener('visibilitychange', ()=>{ if(document.visibilityState==='hidden') stopLCP(); }, {passive:true});\r\n  }catch(e){}\r\n\r\n  \/\/ --- INP (Event Timing) ---\r\n  \/\/ Nota: INP oficial usa l\u00f3gica de \"interactions\" (Chrome). Aqu\u00ed aproximamos con max duration.\r\n  try{\r\n    const poINP = new PerformanceObserver((list)=>{\r\n      for(const entry of list.getEntries()){\r\n        \/\/ Solo eventos relevantes\r\n        if(entry.duration && entry.duration > inp) inp = entry.duration;\r\n      }\r\n    });\r\n    poINP.observe({type:'event', buffered:true, durationThreshold: 40});\r\n  }catch(e){}\r\n\r\n  function round(n){ return Math.round(n); }\r\n  function grade(metric, value){\r\n    \/\/ Umbrales CWV (aprox.) \u2014 ms para LCP\/INP, unitless para CLS\r\n    const t = metric==='CLS'\r\n      ? [0.1, 0.25]\r\n      : metric==='LCP'\r\n        ? [2500, 4000]\r\n        : [200, 500]; \/\/ INP\r\n    return value <= t[0] ? 'GOOD' : (value <= t[1] ? 'NI' : 'POOR');\r\n  }\r\n\r\n  function report(){\r\n    const out = {\r\n      LCP_ms: round(lcp),\r\n      CLS: +cls.toFixed(3),\r\n      INP_ms: round(inp),\r\n      LCP_grade: grade('LCP', lcp),\r\n      CLS_grade: grade('CLS', cls),\r\n      INP_grade: grade('INP', inp)\r\n    };\r\n    \/\/ Consola (RUM local)\r\n    console.table(out);\r\n\r\n    \/\/ Overlay opcional (debug)\r\n    if(showOverlay){\r\n      const box = document.createElement('div');\r\n      box.style.cssText = [\r\n        'position:fixed','right:12px','bottom:12px','z-index:9999',\r\n        'padding:10px 12px','border-radius:14px',\r\n        'background:rgba(255,255,255,.92)','border:1px solid rgba(229,232,239,.95)',\r\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',\r\n        'color:rgba(23,44,81,.95)','min-width:210px'\r\n      ].join(';');\r\n      box.innerHTML = `\r\n        <div style=\"font-weight:900;letter-spacing:.6px;margin-bottom:6px\">CWV (debug)<\/div>\r\n        <div>LCP: <b>${out.LCP_ms}ms<\/b> <span style=\"opacity:.7\">(${out.LCP_grade})<\/span><\/div>\r\n        <div>CLS: <b>${out.CLS}<\/b> <span style=\"opacity:.7\">(${out.CLS_grade})<\/span><\/div>\r\n        <div>INP: <b>${out.INP_ms}ms<\/b> <span style=\"opacity:.7\">(${out.INP_grade})<\/span><\/div>\r\n        <div style=\"opacity:.7;margin-top:6px\">Tip: usa Lighthouse\/CrUX para datos reales.<\/div>\r\n      `;\r\n      document.body.appendChild(box);\r\n    }\r\n  }\r\n\r\n  \/\/ Reportar al final de la sesi\u00f3n (pagehide es el m\u00e1s fiable)\r\n  addEventListener('pagehide', report, {once:true});\r\n})();\r\n<\/script>\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.1\/dist\/jspdf.umd.min.js\"><\/script>\r\n<script>\r\n(function(){\r\n  const modal = document.getElementById('reportModal');\r\n  const openBtn = document.getElementById('openReportModal');\r\n  const closeBtn = document.getElementById('closeReportModal');\r\n  const form = document.getElementById('reportForm');\r\n  const emailInput = document.getElementById('reportEmail');\r\n  const emailError = document.getElementById('reportEmailError');\r\n  const note = document.getElementById('reportNote');\r\n  const previewScore = document.getElementById('previewScore');\r\n  const previewUrgency = document.getElementById('previewUrgency');\r\n  const previewItems = document.getElementById('previewItems');\r\n  const downloadBtn = document.getElementById('downloadReportBtn');\r\n  const root = document.getElementById('autodiagnostico');\r\n\r\n  if(!modal || !openBtn || !closeBtn || !form || !emailInput) return;\r\n\r\n  const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/i;\r\n\r\n  function getReportData(){\r\n    const scoreNumText = document.getElementById('scoreNum')?.textContent.trim() || '0';\r\n    const scoreMaxRaw = document.getElementById('scoreMax')?.textContent.trim() || '\/ 0';\r\n    const scoreMaxText = scoreMaxRaw.replace('\/', '').trim() || '0';\r\n    const scoreNumVal = Number(scoreNumText.replace(\/[^\\d.]\/g,'')) || 0;\r\n    const scoreMaxVal = Number(scoreMaxText.replace(\/[^\\d.]\/g,'')) || 0;\r\n    const scorePct = scoreMaxVal > 0 ? Math.min(100, Math.max(0, (scoreNumVal \/ scoreMaxVal) * 100)) : 0;\r\n\r\n    const statusBadge = document.querySelector('#scoreStatus .badge');\r\n    const urgency = statusBadge?.textContent.trim() || '\u2014';\r\n    const urgencyTier = statusBadge?.dataset.tier || (scorePct >= 75 ? 'crit' : scorePct >= 50 ? 'high' : scorePct >= 25 ? 'med' : 'low');\r\n\r\n    const checked = root ? Array.from(root.querySelectorAll('.chk:checked')) : [];\r\n    const items = checked.map((chk) => {\r\n      const label = chk.closest('label');\r\n      const text = label ? label.textContent.trim().replace(\/\\s+\/g,' ') : '\u00cdtem seleccionado';\r\n      return text;\r\n    });\r\n\r\n    return { scoreNum: scoreNumText, scoreMax: scoreMaxText, urgency, items, scorePct, urgencyTier };\r\n  }\r\n\r\n  function updatePreview(){\r\n    const data = getReportData();\r\n    if(previewScore) previewScore.textContent = `Puntaje: ${data.scoreNum}\/${data.scoreMax}`;\r\n    if(previewUrgency) previewUrgency.textContent = `Urgencia: ${data.urgency}`;\r\n    if(previewItems) previewItems.textContent = `\u00cdtems: ${data.items.length}`;\r\n  }\r\n\r\n  function openModal(){\r\n    updatePreview();\r\n    modal.classList.add('is-open');\r\n    modal.setAttribute('aria-hidden','false');\r\n    setTimeout(() => emailInput.focus(), 0);\r\n  }\r\n\r\n  function closeModal(){\r\n    modal.classList.remove('is-open');\r\n    modal.setAttribute('aria-hidden','true');\r\n    form.reset();\r\n    if(emailError) emailError.style.display = 'none';\r\n    if(note) note.textContent = 'Tu reporte se prepara con los datos visibles en esta p\u00e1gina.';\r\n  }\r\n\r\n  function validateEmail(){\r\n    const value = emailInput.value.trim();\r\n    const ok = value.length <= 254 && emailRegex.test(value);\r\n    if(emailError) emailError.style.display = ok ? 'none' : 'block';\r\n    return ok;\r\n  }\r\n\r\n  function getTierStroke(tier){\r\n    switch(tier){\r\n      case 'low': return '#0F4C81';\r\n      case 'med': return '#FACC15';\r\n      case 'high': return '#FB923C';\r\n      case 'crit': return '#DC2626';\r\n      default: return '#0F4C81';\r\n    }\r\n  }\r\n\r\n  function getNeedleStroke(tier){\r\n    switch(tier){\r\n      case 'med':\r\n      case 'high': return 'rgba(120,53,15,.92)';\r\n      case 'crit': return 'rgba(127,29,29,.98)';\r\n      default: return 'rgba(23,44,81,.92)';\r\n    }\r\n  }\r\n\r\n  function svgToDataUrl(svg){\r\n    const encoded = encodeURIComponent(svg)\r\n      .replace(\/'\/g, '%27')\r\n      .replace(\/\"\/g, '%22');\r\n    return `data:image\/svg+xml;charset=utf-8,${encoded}`;\r\n  }\r\n\r\n  function renderGaugeSvg(data){\r\n    try{\r\n      const pct = Number.isFinite(data.scorePct) ? data.scorePct : 0;\r\n      const dashTotal = 314;\r\n      const dashOffset = dashTotal - (dashTotal * (pct\/100));\r\n      const needleDeg = -90 + (180 * (pct\/100));\r\n      const fillStroke = getTierStroke(data.urgencyTier);\r\n      const needleStroke = getNeedleStroke(data.urgencyTier);\r\n      const centerFill = data.urgencyTier === 'crit' ? '#DC2626' : 'rgba(15,76,129,.92)';\r\n\r\n      return `\r\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"240\" height=\"170\" viewBox=\"0 0 240 170\">\r\n  <rect x=\"0\" y=\"0\" width=\"240\" height=\"170\" rx=\"16\" fill=\"#ffffff\" stroke=\"#e5e8ef\"\/>\r\n  <g transform=\"translate(0,8)\">\r\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\"\/>\r\n\r\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\"\/>\r\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\"\/>\r\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\"\/>\r\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\"\/>\r\n\r\n    <g stroke=\"rgba(85,96,112,.55)\" stroke-linecap=\"round\">\r\n      <line x1=\"20\"  y1=\"120\" x2=\"34\"  y2=\"120\" stroke-width=\"3\"\/>\r\n      <line x1=\"58\"  y1=\"62\"  x2=\"68\"  y2=\"70\"  stroke-width=\"3\"\/>\r\n      <line x1=\"120\" y1=\"40\"  x2=\"120\" y2=\"54\"  stroke-width=\"3\"\/>\r\n      <line x1=\"182\" y1=\"62\"  x2=\"172\" y2=\"70\"  stroke-width=\"3\"\/>\r\n      <line x1=\"220\" y1=\"120\" x2=\"206\" y2=\"120\" stroke-width=\"3\"\/>\r\n      <line x1=\"36\"  y1=\"92\"  x2=\"44\"  y2=\"98\"  stroke-width=\"2\" opacity=\".75\"\/>\r\n      <line x1=\"78\"  y1=\"52\"  x2=\"86\"  y2=\"58\"  stroke-width=\"2\" opacity=\".75\"\/>\r\n      <line x1=\"162\" y1=\"52\"  x2=\"154\" y2=\"58\"  stroke-width=\"2\" opacity=\".75\"\/>\r\n      <line x1=\"204\" y1=\"92\"  x2=\"196\" y2=\"98\"  stroke-width=\"2\" opacity=\".75\"\/>\r\n    <\/g>\r\n\r\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)\">\r\n      <text x=\"16\" y=\"136\">0<\/text>\r\n      <text x=\"112\" y=\"32\">50<\/text>\r\n      <text x=\"212\" y=\"136\">100<\/text>\r\n      <text x=\"54\" y=\"86\" font-size=\"10\" fill=\"rgba(85,96,112,.62)\">24<\/text>\r\n      <text x=\"112\" y=\"64\" font-size=\"10\" fill=\"rgba(85,96,112,.62)\">49<\/text>\r\n      <text x=\"170\" y=\"86\" font-size=\"10\" fill=\"rgba(85,96,112,.62)\">74<\/text>\r\n    <\/g>\r\n\r\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}\"\/>\r\n    <circle cx=\"120\" cy=\"120\" r=\"6\" fill=\"${centerFill}\"\/>\r\n    <line x1=\"120\" y1=\"120\" x2=\"120\" y2=\"44\" stroke=\"${needleStroke}\" stroke-width=\"4\" stroke-linecap=\"round\" transform=\"rotate(${needleDeg} 120 120)\"\/>\r\n  <\/g>\r\n\r\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>\r\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\">Urgencia: ${data.urgency}<\/text>\r\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>\r\n<\/svg>`;\r\n    }catch(err){\r\n      return null;\r\n    }\r\n  }\r\n\r\n  function renderGaugePng(data){\r\n    return new Promise((resolve) => {\r\n      const svg = renderGaugeSvg(data);\r\n      if(!svg) return resolve(null);\r\n      const img = new Image();\r\n      img.onload = () => {\r\n        const c = document.createElement('canvas');\r\n        c.width = img.width;\r\n        c.height = img.height;\r\n        const ctx = c.getContext('2d');\r\n        if(!ctx) return resolve(null);\r\n        ctx.drawImage(img, 0, 0);\r\n        resolve(c.toDataURL('image\/png'));\r\n      };\r\n      img.onerror = () => resolve(null);\r\n      img.src = svgToDataUrl(svg);\r\n    });\r\n  }\r\n\r\n  function buildPdf(data, gaugeImg){\r\n    const jspdf = window.jspdf;\r\n    if(!jspdf || !jspdf.jsPDF){\r\n      return null;\r\n    }\r\n    const doc = new jspdf.jsPDF({ unit: 'pt', format: 'a4' });\r\n    const marginX = 40;\r\n    const pageW = doc.internal.pageSize.getWidth();\r\n    const pageH = doc.internal.pageSize.getHeight();\r\n    const centerX = pageW \/ 2;\r\n    let y = 50;\r\n    const theme = {\r\n      ink: [11, 18, 32],\r\n      muted: [85, 96, 112],\r\n      line: [229, 232, 239],\r\n      accent: [15, 76, 129]\r\n    };\r\n\r\n    \/\/ Header card\r\n    doc.setDrawColor(...theme.line);\r\n    doc.setFillColor(248, 250, 253);\r\n    doc.roundedRect(marginX, y - 26, pageW - marginX * 2, 64, 10, 10, 'F');\r\n    doc.setFont('helvetica', 'bold');\r\n    doc.setFontSize(16);\r\n    doc.setTextColor(...theme.ink);\r\n    doc.text('Reporte personalizado de riesgos', centerX, y, { align: 'center' });\r\n    y += 18;\r\n    doc.setFont('helvetica', 'normal');\r\n    doc.setFontSize(11);\r\n    doc.setTextColor(...theme.muted);\r\n    doc.text(`Fecha: ${new Date().toLocaleString('es-MX')}`, centerX, y, { align: 'center' });\r\n    y += 22;\r\n\r\n    \/\/ Score summary\r\n    doc.setTextColor(...theme.ink);\r\n    doc.setFont('helvetica', 'bold');\r\n    doc.setFontSize(12.5);\r\n    doc.text(`Puntaje: ${data.scoreNum}\/${data.scoreMax}`, centerX, y, { align: 'center' });\r\n    y += 16;\r\n    doc.setFont('helvetica', 'normal');\r\n    doc.setFontSize(11.5);\r\n    doc.setTextColor(...theme.muted);\r\n    doc.text(`Nivel de urgencia: ${data.urgency}`, centerX, y, { align: 'center' });\r\n    y += 16;\r\n\r\n    if(gaugeImg){\r\n      const gaugeW = 240;\r\n      const gaugeH = 170;\r\n      doc.addImage(gaugeImg, 'PNG', centerX - (gaugeW\/2), y, gaugeW, gaugeH);\r\n      y += gaugeH + 12;\r\n    }\r\n\r\n    doc.setFont('helvetica', 'bold');\r\n    doc.setFontSize(12.5);\r\n    doc.setTextColor(...theme.ink);\r\n    doc.text('Respuestas seleccionadas', centerX, y, { align: 'center' });\r\n    y += 14;\r\n    doc.setFont('helvetica', 'normal');\r\n    doc.setFontSize(11);\r\n    doc.setTextColor(...theme.muted);\r\n\r\n    const items = data.items.length ? data.items : ['No se seleccionaron \u00edtems.'];\r\n    const maxWidth = 515;\r\n    items.forEach((item, idx) => {\r\n      const line = `${idx + 1}. ${item}`;\r\n      const lines = doc.splitTextToSize(line, maxWidth);\r\n      lines.forEach((ln) => {\r\n        if(y > pageH - 60){\r\n          doc.addPage();\r\n          y = 50;\r\n        }\r\n        doc.text(ln, centerX, y, { align: 'center', maxWidth: pageW - marginX * 2 });\r\n        y += 14;\r\n      });\r\n    });\r\n\r\n    return doc;\r\n  }\r\n\r\n  async function downloadPdf(){\r\n    const data = getReportData();\r\n    const gaugeImg = await renderGaugePng(data);\r\n    const doc = buildPdf(data, gaugeImg);\r\n    if(!doc){\r\n      if(note) note.textContent = 'No se pudo cargar el generador PDF. Intenta recargar la p\u00e1gina.';\r\n      return;\r\n    }\r\n    doc.save('reporte-riesgos.pdf');\r\n  }\r\n\r\n  function getElementorForm(){\r\n    return document.getElementById('formResults')\r\n      || document.querySelector('.elementor-form[data-id=\"formResults\"], .elementor-form[data-name=\"formResults\"], form[data-id=\"formResults\"], form[name=\"formResults\"], form#formResults');\r\n  }\r\n\r\n  function setElementorField(form, fieldId, value){\r\n    if(!form) return;\r\n    const selectors = [\r\n      `#form-field-${fieldId}`,\r\n      `[name=\"form_fields[${fieldId}]\"]`,\r\n      `[data-field-id=\"${fieldId}\"] input`,\r\n      `[data-field-id=\"${fieldId}\"] textarea`\r\n    ];\r\n    const el = selectors.map(s => form.querySelector(s)).find(Boolean);\r\n    if(!el) return;\r\n    el.value = value;\r\n    el.dispatchEvent(new Event('input', { bubbles: true }));\r\n    el.dispatchEvent(new Event('change', { bubbles: true }));\r\n  }\r\n\r\n  function submitElementorForm(form){\r\n    if(!form) return false;\r\n    if(typeof form.requestSubmit === 'function'){\r\n      form.requestSubmit();\r\n      return true;\r\n    }\r\n    const submitBtn = form.querySelector('button[type=\"submit\"], input[type=\"submit\"]');\r\n    if(submitBtn){\r\n      submitBtn.click();\r\n      return true;\r\n    }\r\n    form.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\r\n    return true;\r\n  }\r\n\r\n  function escapeHtml(value){\r\n    return String(value)\r\n      .replace(\/&\/g, '&amp;')\r\n      .replace(\/<\/g, '&lt;')\r\n      .replace(\/>\/g, '&gt;')\r\n      .replace(\/\"\/g, '&quot;')\r\n      .replace(\/'\/g, '&#39;');\r\n  }\r\n\r\n  function buildReportPayload(data){\r\n    \/\/ Texto plano (fallback) + HTML estilo \u201creporte PDF\u201d\r\n    const introMessage = 'De parte de VMS Energy te compartimos tu reporte personalizado.';\r\n    const itemsPlain = data.items.length\r\n      ? data.items.map((item, i) => `${String(i + 1).padStart(2, '0')}. ${item}`).join('\\n')\r\n      : '\u2014 Sin \u00edtems seleccionados \u2014';\r\n\r\n    const safeItems = data.items.map(escapeHtml);\r\n    const itemsHtml = safeItems.length\r\n      ? `\r\n        <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"border-collapse:collapse;\">\r\n          ${safeItems.map((item, i) => `\r\n            <tr>\r\n              <td style=\"padding:8px 10px; border-bottom:1px solid #e5e8ef; font-size:13px; color:#0b1220;\">\r\n                <span style=\"display:inline-block; min-width:26px; font-weight:700; color:#172C51;\">${String(i + 1).padStart(2, '0')}.<\/span>\r\n                ${item}\r\n              <\/td>\r\n            <\/tr>\r\n          `).join('')}\r\n        <\/table>\r\n      `\r\n      : '<p style=\"margin:6px 0 0; color:#556070;\">\u2014 Sin \u00edtems seleccionados \u2014<\/p>';\r\n\r\n    const reportHtml = `\r\n      <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"background:#f7f8fb; padding:16px;\">\r\n        <tr>\r\n          <td align=\"center\">\r\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;\">\r\n              <tr>\r\n                <td style=\"padding:14px 20px 0; font-family:Arial, Helvetica, sans-serif; color:#0b1220; font-size:13.5px;\">\r\n                  ${escapeHtml(introMessage)}\r\n                <\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td style=\"padding:18px 20px; background:#f8fafc; border-bottom:1px solid #e5e8ef;\">\r\n                  <div style=\"font-family:Arial, Helvetica, sans-serif; color:#0b1220;\">\r\n                    <div style=\"font-size:12px; color:#556070; letter-spacing:.6px; text-transform:uppercase;\">Reporte<\/div>\r\n                    <div style=\"font-size:18px; font-weight:700; margin-top:4px;\">Reporte personalizado de riesgos<\/div>\r\n                  <\/div>\r\n                <\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td style=\"padding:16px 20px;\">\r\n                  <table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"border-collapse:collapse; font-family:Arial, Helvetica, sans-serif;\">\r\n                    <tr>\r\n                      <td style=\"padding:10px 12px; border:1px solid #e5e8ef; border-radius:10px;\">\r\n                        <div style=\"font-size:12px; color:#556070;\">Puntaje<\/div>\r\n                        <div style=\"font-size:16px; font-weight:700; color:#0b1220;\">${escapeHtml(data.scoreNum)}\/${escapeHtml(data.scoreMax)}<\/div>\r\n                      <\/td>\r\n                      <td style=\"width:10px;\"><\/td>\r\n                      <td style=\"padding:10px 12px; border:1px solid #e5e8ef; border-radius:10px;\">\r\n                        <div style=\"font-size:12px; color:#556070;\">Urgencia<\/div>\r\n                        <div style=\"font-size:16px; font-weight:700; color:#0b1220;\">${escapeHtml(data.urgency)}<\/div>\r\n                      <\/td>\r\n                      <td style=\"width:10px;\"><\/td>\r\n                      <td style=\"padding:10px 12px; border:1px solid #e5e8ef; border-radius:10px;\">\r\n                        <div style=\"font-size:12px; color:#556070;\">\u00cdtems<\/div>\r\n                        <div style=\"font-size:16px; font-weight:700; color:#0b1220;\">${data.items.length}<\/div>\r\n                      <\/td>\r\n                    <\/tr>\r\n                  <\/table>\r\n                <\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td style=\"padding:0 20px 6px; font-family:Arial, Helvetica, sans-serif;\">\r\n                  <div style=\"font-size:13px; font-weight:700; color:#0b1220;\">\u00cdtems seleccionados<\/div>\r\n                <\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td style=\"padding:6px 20px 16px;\">\r\n                  ${itemsHtml}\r\n                <\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td style=\"padding:12px 20px 18px; border-top:1px solid #e5e8ef; font-family:Arial, Helvetica, sans-serif; color:#556070; font-size:12.5px;\">\r\n                  Este reporte se gener\u00f3 con la informaci\u00f3n visible en la p\u00e1gina.\r\n                <\/td>\r\n              <\/tr>\r\n            <\/table>\r\n          <\/td>\r\n        <\/tr>\r\n      <\/table>\r\n    `;\r\n\r\n    const reportPlain = [\r\n      introMessage,\r\n      '',\r\n      'Reporte personalizado de riesgos',\r\n      '===============================',\r\n      `Puntaje: ${data.scoreNum}\/${data.scoreMax}`,\r\n      `Urgencia: ${data.urgency}`,\r\n      `\u00cdtems seleccionados (${data.items.length}):`,\r\n      itemsPlain\r\n    ].join('\\n');\r\n\r\n    return { reportHtml, reportPlain, itemsHtml, itemsPlain, introMessage };\r\n  }\r\n\r\n  async function buildPdfAttachment(data){\r\n    const gaugeImg = await renderGaugePng(data);\r\n    const doc = buildPdf(data, gaugeImg);\r\n    if(!doc) return null;\r\n    const dataUri = doc.output('datauristring');\r\n    const base64 = dataUri.split(',')[1] || '';\r\n    const stamp = new Date().toISOString().slice(0, 10);\r\n    return {\r\n      dataUri,\r\n      base64,\r\n      filename: `reporte-riesgos-${stamp}.pdf`,\r\n      mime: 'application\/pdf'\r\n    };\r\n  }\r\n\r\n  openBtn.addEventListener('click', openModal);\r\n  closeBtn.addEventListener('click', closeModal);\r\n  modal.addEventListener('click', (e)=> { if(e.target === modal) closeModal(); });\r\n  document.addEventListener('keydown', (e)=>{\r\n    if(e.key === 'Escape' && modal.classList.contains('is-open')) closeModal();\r\n  });\r\n\r\n  emailInput.addEventListener('input', validateEmail);\r\n  if(root){\r\n    root.addEventListener('change', updatePreview);\r\n  }\r\n  if(downloadBtn){\r\n    downloadBtn.addEventListener('click', downloadPdf);\r\n  }\r\n\r\n  form.addEventListener('submit', async (e)=>{\r\n    e.preventDefault();\r\n    if(!validateEmail()) return;\r\n\r\n    const data = getReportData();\r\n    const email = emailInput.value.trim();\r\n    const reportPayload = buildReportPayload(data);\r\n    const pdfAttachment = await buildPdfAttachment(data);\r\n\r\n    const elementorForm = getElementorForm();\r\n    if(elementorForm){\r\n      setElementorField(elementorForm, 'email', email);\r\n      \/\/ HTML (se renderiza mejor en correos con formato). Si no existe el campo, no pasa nada.\r\n      setElementorField(elementorForm, 'reporte', reportPayload.reportHtml);\r\n      setElementorField(elementorForm, 'reporte_plain', reportPayload.reportPlain);\r\n      setElementorField(elementorForm, 'mensaje', reportPayload.introMessage);\r\n      setElementorField(elementorForm, 'puntaje', `${data.scoreNum}\/${data.scoreMax}`);\r\n      setElementorField(elementorForm, 'urgencia', data.urgency);\r\n      setElementorField(elementorForm, 'items', reportPayload.itemsHtml || '\u2014');\r\n      setElementorField(elementorForm, 'items_plain', reportPayload.itemsPlain || '\u2014');\r\n      if(pdfAttachment){\r\n        setElementorField(elementorForm, 'reporte_pdf_base64', pdfAttachment.base64);\r\n        setElementorField(elementorForm, 'reporte_pdf_datauri', pdfAttachment.dataUri);\r\n        setElementorField(elementorForm, 'reporte_pdf_filename', pdfAttachment.filename);\r\n        setElementorField(elementorForm, 'reporte_pdf_mime', pdfAttachment.mime);\r\n      }\r\n\r\n      submitElementorForm(elementorForm);\r\n\r\n      if(note) note.textContent = 'Reporte enviado. Revisa tu correo en unos minutos.';\r\n      return;\r\n    }\r\n\r\n    if(note) note.textContent = 'No se encontr\u00f3 el formulario oculto de Elementor (formResults).';\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n\r\n<\/html>\r\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>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.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 &#8230; <a title=\"Subestaci\u00f3n El\u00e9ctrica Industrial\" class=\"read-more\" href=\"https:\/\/vmsenergy.com\/en\/subestacion-electrica-industrial\/\" aria-label=\"Read more about Subestaci\u00f3n El\u00e9ctrica Industrial\">Leer m\u00e1s<\/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":4112,"href":"https:\/\/vmsenergy.com\/en\/wp-json\/wp\/v2\/posts\/3954\/revisions\/4112"}],"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}]}}