// NUON multi-page · extended copy for deeper pages
// Builds on top of NUON.COPY (from src/content/copy.jsx) with new content per page.

(function (NUON) {
  const { ADDRESS, PHONE } = NUON;

  const EXTRA = {
    es: {
      pageNav: [
        { id: "home", label: "Inicio", href: "index.html" },
        { id: "producto", label: "Producto", href: "producto.html" },
        { id: "mercados", label: "Mercados", href: "mercados.html" },
        { id: "casos", label: "Casos", href: "casos.html" },
        { id: "empresa", label: "Empresa", href: "empresa.html" },
        { id: "insights", label: "Insights", href: "insights.html" },
        { id: "etica", label: "Ética e integridad", href: "etica-integridad.html" },
      ],
      breadcrumb: { home: "Inicio" },
      skipLink: "Saltar al contenido",
      miniCta: {
        title: "Coordine su portafolio.",
        lede: "Treinta minutos con un ingeniero. Sin presentación.",
        btn: "Solicitar propuesta",
      },
      home: {
        // Bloques de argumento de valor. Sin destino: ya no llevan a Producto,
        // Mercados ni Casos, y las secciones que desarrollan cada argumento aún
        // no existen en el sitio.
        tiles: [
          {
            num: "01",
            title: "Qué está haciendo la energía por su negocio",
            body: "Doce objetivos de dirección que dependen de su matriz energética. Ninguno se mide en pesos por kilovatio.",
            color: "#0096FF",
          },
          {
            num: "02",
            title: "Dónde está realmente el valor",
            body: "No está en el electrón: está en cómo esté conectado, a quién le compra y bajo qué régimen opera.",
            color: "#7A81FF",
          },
          {
            num: "03",
            title: "Lo que dejaron de perder",
            body: "Operaciones que dejaron de detenerse, de aplazar su expansión y de perder contratos por no poder certificar.",
            color: "#D883FF",
          },
        ],
        // Cierre de la home: llamado a la acción principal. La bajada lleva el
        // degradado de marca; el botón va al formulario de contacto.
        cierre_title: "Treinta minutos para saber qué parte de su factura era evitable.",
        cierre_lede: "Sin presentación. Traiga una factura reciente.",
        cierre_btn: "Solicitar diagnóstico",
      },
      producto: {
        breadcrumb: "Producto",
        title: "La ingeniería que responde por el resultado.",
        lede: "Telemetría, pronóstico, optimización, despacho y liquidación. Una sola plataforma, ciclos de cinco minutos, sin intervención manual.",
        arch: {
          overline: "[ 01 ] · Arquitectura",
          title: "Cinco capas, un mismo bus de eventos.",
          lede: 'Cada capa tiene una responsabilidad y un contrato con la siguiente. No hay monolitos. No hay sistemas "legacy".',
          sourcesLabel: "Fuentes",
          sources:
            "ERP del cliente, gateway BESS, inversor solar, mercado spot y sensor de demanda entran por el mismo bus de eventos, a 1 Hz.",
          layers: [
            {
              num: "L5",
              name: "Liquidación",
              desc: "Atribución de margen por activo. Reportes contables firmados. Trazabilidad SHA-256 por ciclo.",
              color: "#FDBFE8",
            },
            {
              num: "L4",
              name: "Despacho",
              desc: "Setpoints firmados al gateway de cada activo. Confirmación de aplicación en 1.2 s p99.",
              color: "#D883FF",
            },
            {
              num: "L3",
              name: "Optimización",
              desc: "MILP de portafolio. Restricciones físicas, contractuales y de mercado. Solver dedicado por nodo.",
              color: "#7A81FF",
            },
            {
              num: "L2",
              name: "Pronóstico",
              desc: "Digital twin del portafolio. Predicción de generación, demanda y precio mayorista a 24h.",
              color: "#0096FF",
            },
            {
              num: "L1",
              name: "Telemetría",
              desc: "Ingesta a 1 Hz de cada activo. Validación, deduplicación y normalización en stream.",
              color: "#76D6FF",
            },
          ],
        },
        specs: {
          overline: "[ 02 ] · Especificaciones técnicas",
          title: "Lo que importa medir.",
          items: [
            ["Ciclo de optimización", "5", "min", "Pronóstico continuo + plan firmado"],
            ["Telemetría", "1", "Hz", "Por activo, sin agregaciones previas"],
            ["Latencia despacho", "1.2", "s p99", "De setpoint emitido a confirmado"],
            ["Tiempo medio de solve", "1.2", "s", "MILP con ~12,000 variables"],
          ],
        },
        api: {
          overline: "[ 03 ] · API · Integración",
          title: "Sus datos, conectados. Bajo acuerdo.",
          lede: "Capacidades de integración y acceso a información disponibles bajo acuerdo. Cada implementación se define según las necesidades y condiciones de la operación.",
          code: `# pip install nuon-sdk
import nuon

client = nuon.Client(api_key="…")

# Suscribirse a eventos de ciclo
@client.on("cycle.closed")
def handle(event):
    print(f"Ciclo {event.id} cerrado")
    print(f"Margen atribuido: $\{event.margin} COP")
    print(f"SHA: {event.checksum}")

# Consultar portafolio
portfolio = client.portfolios.get("la-guajira")
for asset in portfolio.assets:
    print(asset.id, asset.state, asset.setpoint)`,
          bullets_head: "Es posible obtener:",
          bullets: [
            "Integraciones mediante API",
            "SDK y herramientas de integración",
            "Webhooks y eventos de operación",
            "Exportación de datos históricos",
          ],
        },
      },
      mercados_extra: {
        breadcrumb: "Mercados",
        title: "Una operación. Una red internacional.",
        lede: "Operamos en Colombia y construimos capacidades internacionales — comerciales, financieras, de investigación y alianzas estratégicas — para responder al negocio.",
        presence: {
          overline: "[ 01 ] · Presencia internacional",
          title: "Una operación en Colombia, una red internacional.",
          lede: "Cada nodo cumple una función distinta para llevar la estrategia energética del negocio más allá del kilovatio.",
          nodesHead: "[ Nodos ]",
          regions: { america: "[ América ]", iberia: "[ Ibérico ]" },
          // Única fuente de los nodos: de aquí salen el mapa y su leyenda. Cada
          // nodo lleva forma y color propios a propósito — marcarlos todos igual
          // diría que todos son operación, y la operación sólo está en Colombia.
          // Las coordenadas viven en el componente: son layout, no copy.
          nodes: [
            {
              id: "co",
              group: "CO",
              country: "Colombia",
              label: "Bogotá",
              role: "Operación",
              shape: "core",
              color: "#0096FF",
            },
            {
              id: "us-fl",
              group: "US",
              country: "Estados Unidos",
              label: "Florida",
              role: "Hub comercial",
              shape: "square",
              color: "#34D8D0",
            },
            {
              id: "us-de",
              group: "US",
              country: "Estados Unidos",
              label: "Delaware",
              role: "Vehículo financiero",
              shape: "diamond",
              color: "#76D6FF",
            },
            {
              id: "es",
              group: "ES",
              country: "España",
              label: "Madrid",
              role: "Investigación y desarrollo",
              shape: "triangle",
              color: "#D883FF",
            },
            {
              id: "cl",
              group: "CL",
              country: "Chile",
              label: "Chile",
              role: "Alianza estratégica",
              shape: "ring",
              color: "#7A81FF",
            },
            {
              id: "mx",
              group: "MX",
              country: "México",
              label: "México",
              role: "Alianza estratégica",
              shape: "hex",
              color: "#FDBFE8",
            },
          ],
          // La tabla de la tarea: nodo · descripción · hub. Chile y México van en
          // una sola tarjeta porque comparten función; Colombia va destacada
          // porque es el único nodo de operación.
          cards: [
            {
              flag: "CO",
              name: "Colombia",
              desc: "Operación · portafolio de distritos energéticos",
              hub: "HUB - Bogotá",
              color: "#0096FF",
              primary: true,
            },
            {
              flag: "US",
              name: "Estados Unidos",
              desc: "Hub comercial y financiero",
              hub: "HUB - Florida, Delaware*",
              color: "#34D8D0",
            },
            {
              flag: "ES",
              name: "España*",
              desc: "Investigación y Desarrollo",
              hub: "HUB - Madrid",
              color: "#D883FF",
            },
            {
              flag: "CL · MX",
              name: "Chile · México",
              desc: "Alianzas estratégicas",
              hub: "",
              color: "#7A81FF",
            },
          ],
          noteMark: "*Nota:",
          note: "La información correspondiente a Delaware y Madrid se encuentra sujeta a confirmación del estado societario de las respectivas entidades.",
        },
        reg: {
          overline: "[ 02 ] · Marcos regulatorios",
          title: "Las reglas locales, manejadas.",
          items: [
            {
              flag: "CO",
              name: "Colombia",
              body: "Cumplimiento CREG 174/2021 (BESS), Resolución 030 (autogeneradores), Estatuto del Mercado Mayorista XM. Agentes registrados como comercializador y generador.",
              regs: ["CREG 030", "CREG 174", "XM · Agente"],
            },
          ],
        },
      },
      casos_extra: {
        breadcrumb: "Casos",
        title: "Cuando la energía responde al negocio.",
        lede: "Casos reales donde la gestión energética dejó de ser un costo operativo y ahora responde a objetivos concretos del negocio.",
        showsLabel: "Qué demuestra",
        cases: [
          {
            client: "AVSA",
            industry: "Alimentos",
            country: "Floridablanca · CO",
            focus: "Portafolio energético por etapas en operación intensiva.",
            shows: "El caso térmico.",
            illust: 0,
            color: "#0096FF",
          },
          {
            client: "Bonnadona",
            industry: "Salud",
            country: "Barranquilla · CO",
            focus: "Continuidad crítica y micromedición en operación.",
            shows: "El caso de la continuidad.",
            illust: 1,
            color: "#D883FF",
          },
          {
            client: "Club El Nogal",
            industry: "Servicios",
            country: "Bogotá · CO",
            focus: "Gestión de una matriz compleja en operación de alta exigencia.",
            shows: "El caso de la matriz compleja.",
            illust: 5,
            color: "#FDBFE8",
          },
        ],
        logos_title: "Algunos operadores que delegan su factura",
        logos: [
          "Cementos Andinos",
          "DataNorte",
          "Logística Iberia",
          "Minera Atacama",
          "Agropecuaria Bajío",
          "SuperMercados +",
          "Refinería del Sur",
          "Aluminios Pacífico",
        ],
        breakdown: {
          overline: "[ 02 ] · Por industria",
          title: "MW coordinados por sector.",
          items: [
            ["Manufactura industrial", 312, "#0096FF"],
            ["Datacenters", 184, "#D883FF"],
            ["Minería", 142, "#76D6FF"],
            ["Logística + EV", 96, "#FDBFE8"],
            ["Agroindustria", 68, "#7A81FF"],
            ["Retail + HVAC", 45, "#34d8d0"],
          ],
        },
      },
      empresa_extra: {
        breadcrumb: "Empresa",
        title: "Energía distribuida, coordinada.",
        lede: "NUON es una comercializadora de energía que integra tecnología y aliados especializados para acompañar la operación energética de su negocio, desde la generación hasta la optimización del consumo.",
        proposito: {
          overline: "[ 01 ] · Propósito y visión",
          cards: [
            {
              label: "Propósito",
              body: "Que cada kilovatio distribuido trabaje. Coordinamos la energía dispersa —solar, baterías, demanda, EV— en una sola inteligencia, para que la transición energética sea rentable, no solo deseable.",
            },
            {
              label: "Visión",
              body: "Un mundo donde cada activo de energía opera coordinado como una sola central, y el software cierra la brecha entre lo que se genera y lo que el mercado necesita.",
            },
          ],
        },
        hacemos: {
          overline: "[ 02 ] · Lo que hacemos",
          title: "Unimos tecnología, operación y una red de aliados especializados.",
          lede: "Comercializamos energía y coordinamos las capacidades necesarias para que su operación energética funcione de punta a punta:",
          // El `icon` lo resuelve el componente; aquí sólo va lo traducible.
          items: [
            { icon: "generacion", label: "Generación" },
            { icon: "suministro", label: "Suministro" },
            { icon: "consumo", label: "Consumo" },
            { icon: "optimizacion", label: "Optimización" },
          ],
          note: "No ejecutamos todos los procesos directamente; coordinamos las capacidades que su operación necesita para tomar mejores decisiones energéticas.",
        },
        mundos: {
          overline: "[ 03 ] · Del mundo físico al valor operativo",
          title: "Del mundo físico al valor operativo.",
          lede: "NUON conecta los recursos energéticos y el consumo de su operación con gemelos digitales y los datos que generan. Coordinamos la información a través de un Virtual Power Plant para tomar mejores decisiones sobre generación, suministro y consumo.",
          // `nav` es lo que se lee en el selector; `title` encabeza la tarjeta.
          steps: [
            {
              num: "01",
              nav: "Mundo físico",
              title: "Mundo físico · recursos y consumo",
              body: "Activos de generación, almacenamiento, red y consumo que hacen parte de la operación energética del negocio.",
            },
            {
              num: "02",
              nav: "Mundo digital",
              title: "Mundo digital · gemelos y datos",
              body: "Cada activo se representa mediante gemelos digitales y flujos de datos que permiten entender su estado, comportamiento y oportunidades de optimización.",
            },
            {
              num: "03",
              nav: "Optimización",
              title: "Virtual Power Plant · centro de optimización",
              body: "El VPP conecta ambos mundos: convierte datos y condiciones operativas en decisiones coordinadas para que la energía trabaje mejor para el negocio.",
            },
          ],
          close:
            "De los activos físicos a la decisión operativa: una sola inteligencia para coordinar la energía de punta a punta.",
        },
        historia: {
          overline: "[ 04 ] · Historia",
          title: "Cuatro años, una decisión que no cambia.",
          events: [
            {
              year: "2022",
              title: "Origen",
              body: "María Restrepo (XM) y Javier Soto (CEN) detectan el mismo problema desde dos países distintos: los activos distribuidos crecen, pero no hay quien los coordine.",
            },
            {
              year: "2023",
              title: "Primer ciclo",
              body: "Primer ciclo de 5 minutos cerrado con margen positivo en una planta de cemento. 14 personas. Operación 24/7.",
            },
            {
              year: "2024",
              title: "Equipo",
              body: "Equipo de optimización liderado por Lucía Pereda (ex-OMIE).",
            },
            {
              year: "2025",
              title: "Apertura",
              body: "Documentación pública de modelos. SDK abierto.",
            },
            {
              year: "2026",
              title: "Hoy",
              body: "Operación en Colombia · ciclos cada 5 min.",
            },
          ],
        },
        investors: {
          overline: "[ 05 ] · Respaldo corporativo",
          title: "Inversionistas y aliados.",
          items: [
            "Andes Capital",
            "Quasar Ventures",
            "Iberian Climate Fund",
            "Atacama Partners",
            "Pacífico Energy",
            "Banco BIDInvest",
          ],
        },
        // Consejo asesor queda oculto por KAN-27: no se renderiza ni se enlaza.
        // El copy se conserva para cuando se apruebe volver a publicarlo.
        board: {
          overline: "[ — ] · Consejo asesor",
          title: "Operadores que también enseñan.",
          people: [
            ["Dra. Elena Carvalho", "Ex-CEO ONS · Brasil", "São Paulo"],
            ["Miguel Etxeberria", "Ex-Director OMIE", "Madrid"],
            ["Tomás Larraín", "Ex-Comisionado CNE Chile", "Santiago"],
            ["Verónica Salinas", "Ex-CFO ISA Interchile", "Medellín"],
          ],
        },
      },
      carreras_extra: {
        breadcrumb: "Carreras",
        title: "Buscamos ingenieros que también diseñen.",
        lede: "Equipos pequeños, decisiones rápidas, foco en operación real. Hablamos de despachos, no de demos.",
        benefits: {
          overline: "[ 02 ] · Beneficios",
          title: "Lo que ofrecemos.",
          items: [
            {
              title: "Remoto verdadero",
              body: "Sin oficina obligatoria. Encuentros trimestrales en uno de los mercados, costos cubiertos.",
            },
            {
              title: "Compensación clara",
              body: "Bandas salariales publicadas internamente. Equity para todo el equipo, sin excepción.",
            },
            {
              title: "Operación, no demos",
              body: "Su código corre en producción la misma semana. No hay sprints sobre roadmaps imaginarios.",
            },
            {
              title: "Educación continua",
              body: "$3,000 USD anuales por persona para libros, cursos y conferencias. Tiempo dedicado en horario laboral.",
            },
            {
              title: "Salud iberoamericana",
              body: "Plan médico privado en su país. 100% cubierto para colaborador y familia inmediata.",
            },
            {
              title: "Treinta días",
              body: "Vacaciones reales. Sin lectura de correo. Sin Slack abierto. El relevo se prepara con dos semanas.",
            },
          ],
        },
        proceso: {
          overline: "[ 03 ] · Proceso",
          title: "Cómo aplicar.",
          steps: [
            {
              num: "01",
              title: "Conversación inicial",
              sub: "30 min con el equipo de personas. Sin filtros automáticos.",
              time: "Semana 1",
            },
            {
              num: "02",
              title: "Reto técnico pagado",
              sub: "Problema real de su disciplina. Sin algoritmos de pizarra.",
              time: "Semana 1–2",
            },
            {
              num: "03",
              title: "Entrevista con el equipo",
              sub: "Dos sesiones con sus futuros colegas. Sin pruebas de cultura.",
              time: "Semana 2–3",
            },
            {
              num: "04",
              title: "Oferta",
              sub: "Compensación publicada de antemano. Tres días para decidir, sin presión.",
              time: "Semana 3",
            },
          ],
        },
        testimonio: {
          quote:
            "Llevo nueve meses y todavía no he escrito un sprint review. Cada cosa que mando a producción importa el mismo día.",
          author: "Andrés P. · Ingeniero de optimización · se sumó en 2025",
        },
      },
      insights_extra: {
        breadcrumb: "Insights",
        title: "Notas operativas del equipo.",
        lede: "Documentación abierta, lecciones de campo y análisis de mercado. Sin marketing.",
        featured: {
          tag: "Operación",
          date: "12 MAY · 2026",
          title: "Por qué 5 minutos: anatomía de un ciclo de optimización.",
          body: "Diseccionamos los 300 segundos que ocurren entre los activos distribuidos del portafolio y nuestro digital twin. Telemetría a 1 Hz, pronóstico continuo, MILP de portafolio y despacho firmado — todo en menos tiempo que un café.",
          readtime: "12 min de lectura",
          author: "Lucía Pereda · Head of Optimization",
        },
        filters: ["Todos", "Operación", "Ingeniería", "Producto"],
        extras: [
          {
            tag: "Producto",
            date: "01 MAY · 2026",
            title: "El nuevo módulo de liquidación: por qué reescribimos la atribución de margen.",
            body: "Después de 18 meses, el módulo viejo no soportaba más activos. Lo reemplazamos sin un solo segundo de downtime.",
          },
          {
            tag: "Ingeniería",
            date: "18 ABR · 2026",
            title: "Stream-first: por qué no usamos un data warehouse para operación.",
            body: "Análisis: dos años después de tomar la decisión, qué cambiaríamos y qué no.",
          },
          {
            tag: "Operación",
            date: "09 ABR · 2026",
            title: "Un día en el despacho: turnos, escalado y la regla de las tres llamadas.",
            body: "Cómo operamos 24/7 sin que nadie pierda el sueño.",
          },
          {
            tag: "Producto",
            date: "12 MAR · 2026",
            title: "Diseñar la Consola: una vista para cada turno operativo.",
            body: "Cómo se construyó la interfaz que opera ocho horas diarias el equipo de despacho.",
          },
        ],
      },
      etica_extra: {
        breadcrumb: "Ética e integridad",
        title: "Ética e integridad",
        lede: "Consulte nuestra política corporativa de ética, anticorrupción, antisoborno y buen gobierno.",
        sheet_overline: "[ 01 ] · Documento oficial",
        sheet_title: "Política de ética y anticorrupción",
        sheet_body:
          "Previsualice el documento en línea o descárguelo en PDF para revisión completa.",
        download: "Descargar PDF",
        meta: "Código PAC-NUON-001 · Versión 2.2 · Vigencia julio 2026",
        pqrs_overline: "[ 02 ] · Canal de quejas",
        pqrs_title: "Formulario PQR(S)",
        pqrs_lede:
          "Si desea reportar una situación ética o presentar una queja, complete el formulario. El envío se dirigirá al correo etica@nuon.energy.",
        pqrs_mail_disclaimer:
          "Al enviar, el formulario remitirá automáticamente su PQR(S) al correo etica@nuon.energy.",
        pqrs_success: "Su PQR(S) fue enviada correctamente al canal de ética.",
        pqrs_sending: "Enviando…",
        pqrs_error:
          "No pudimos enviar su PQR(S). Intente de nuevo o escriba directamente a etica@nuon.energy.",
        pqrs_fields: {
          type: "Tipo",
          name: "Nombre completo",
          email: "Correo de contacto",
          company: "Empresa (opcional)",
          subject: "Asunto",
          detail: "Detalle de la queja",
          submit: "Enviar queja",
        },
        pqrs_types: ["Petición", "Queja", "Reclamo", "Sugerencia"],
      },
      contacto: {
        breadcrumb: "Contacto",
        title: "Hablemos de su portafolio.",
        lede: "Treinta minutos con un ingeniero. Le mostramos su portafolio actual coordinado contra el portafolio bajo NUON. Sin presentación.",
        form_title: "Solicitar propuesta",
        form_meta: "Tiempo de respuesta · 24h hábiles",
        form_sending: "Enviando…",
        form_error:
          "No pudimos enviar su solicitud. Intente de nuevo o escriba a contacto@nuon.energy.",
        fields: {
          name: "Nombre completo",
          email: "Correo corporativo",
          company: "Empresa",
          role: "Cargo",
          country: "País de operación",
          assets: "Tipo de activos (opcional)",
          message: "Cuéntenos brevemente qué portafolio quisiera coordinar",
          submit: "Solicitar propuesta",
        },
        countries: ["Colombia", "Chile", "México", "España", "Otro / Por definir"],
        asset_options: [
          "Solar fotovoltaico",
          "BESS · Baterías",
          "Demanda flexible",
          "Flotas EV",
          "Mix de los anteriores",
        ],
        // One office. The hubs (US, Spain) and alliances (Chile, Mexico) live on
        // the markets page and are not offices: no address is invented for them.
        offices: {
          overline: "[ 02 ] · Oficina",
          title: "Una oficina en Bogotá, una red internacional.",
          lede: "La operación está en Colombia. Los hubs y las alianzas que completan la red se detallan en Mercados.",
          items: [
            {
              city: "Bogotá",
              country: "Colombia",
              address: ADDRESS,
              role: "HQ · Operación · Portafolio de distritos energéticos",
              tz: "UTC-5",
            },
          ],
          link: { label: "Ver la red internacional →", href: "mercados.html" },
        },
        alt: {
          overline: "[ 03 ] · Otras vías",
          items: [
            { label: "Equipo comercial", value: "comercial@nuon.energy" },
            { label: "Soporte clientes", value: "soporte@nuon.energy" },
            { label: "Prensa", value: "prensa@nuon.energy" },
            { label: "Carreras", value: "personas@nuon.energy" },
            {
              label: "Teléfono",
              value: PHONE.display,
              href: PHONE.tel,
              note: "Lunes a viernes, 8:00 a. m. a 2:00 p. m. (hora de Colombia)",
            },
            { label: "WhatsApp", value: PHONE.display, href: PHONE.whatsapp },
          ],
        },
      },
    },
    en: {
      pageNav: [
        { id: "home", label: "Home", href: "index.html" },
        { id: "producto", label: "Product", href: "producto.html" },
        { id: "mercados", label: "Markets", href: "mercados.html" },
        { id: "casos", label: "Customers", href: "casos.html" },
        { id: "empresa", label: "Company", href: "empresa.html" },
        { id: "insights", label: "Insights", href: "insights.html" },
        { id: "etica", label: "Ethics & integrity", href: "etica-integridad.html" },
      ],
      breadcrumb: { home: "Home" },
      skipLink: "Skip to content",
      miniCta: {
        title: "Coordinate your portfolio.",
        lede: "Thirty minutes with an engineer. No slides.",
        btn: "Request a proposal",
      },
      home: {
        tiles: [
          {
            num: "01",
            title: "What energy is doing for your business",
            body: "Twelve board-level objectives that depend on your energy matrix. None of them is measured in pesos per kilowatt.",
            color: "#0096FF",
          },
          {
            num: "02",
            title: "Where the value really is",
            body: "It is not in the electron: it is in how you are connected, who you buy from and under which regime you operate.",
            color: "#7A81FF",
          },
          {
            num: "03",
            title: "What they stopped losing",
            body: "Operations that stopped halting, stopped postponing their expansion and stopped losing contracts for lack of certification.",
            color: "#D883FF",
          },
        ],
        cierre_title: "Thirty minutes to find out which part of your bill was avoidable.",
        cierre_lede: "No slides. Bring a recent bill.",
        cierre_btn: "Request a diagnosis",
      },
      producto: {
        breadcrumb: "Product",
        title: "The engineering that answers for the outcome.",
        lede: "Telemetry, forecasting, optimization, dispatch and settlement. One platform, five-minute cycles, without manual intervention.",
        arch: {
          overline: "[ 01 ] · Architecture",
          title: "Five layers, one event bus.",
          lede: 'Each layer has one responsibility and a contract with the next. No monoliths. No "legacy" systems.',
          sourcesLabel: "Sources",
          sources:
            "Customer ERP, BESS gateway, solar inverter, spot market and demand sensor all enter through the same event bus, at 1 Hz.",
          layers: [
            {
              num: "L5",
              name: "Settlement",
              desc: "Per-asset margin attribution. Signed accounting reports. SHA-256 traceability per cycle.",
              color: "#FDBFE8",
            },
            {
              num: "L4",
              name: "Dispatch",
              desc: "Signed setpoints to each asset's gateway. Application confirmed in 1.2 s p99.",
              color: "#D883FF",
            },
            {
              num: "L3",
              name: "Optimization",
              desc: "Portfolio MILP. Physical, contract and market constraints. Dedicated solver per node.",
              color: "#7A81FF",
            },
            {
              num: "L2",
              name: "Forecast",
              desc: "Portfolio digital twin. Generation, demand and wholesale price prediction at 24h.",
              color: "#0096FF",
            },
            {
              num: "L1",
              name: "Telemetry",
              desc: "1 Hz ingest from every asset. In-stream validation, deduplication and normalization.",
              color: "#76D6FF",
            },
          ],
        },
        specs: {
          overline: "[ 02 ] · Technical specs",
          title: "What matters to measure.",
          items: [
            ["Optimization cycle", "5", "min", "Continuous forecast + signed plan"],
            ["Telemetry", "1", "Hz", "Per asset, no pre-aggregation"],
            ["Dispatch latency", "1.2", "s p99", "From emitted to confirmed setpoint"],
            ["Avg solve time", "1.2", "s", "MILP with ~12,000 variables"],
          ],
        },
        api: {
          overline: "[ 03 ] · API · Integration",
          title: "Your data, connected. Under agreement.",
          lede: "Integration and data-access capabilities available under agreement. Each implementation is defined according to the needs and conditions of the operation.",
          code: `# pip install nuon-sdk
import nuon

client = nuon.Client(api_key="…")

# Subscribe to cycle events
@client.on("cycle.closed")
def handle(event):
    print(f"Cycle {event.id} closed")
    print(f"Attributed margin: $\{event.margin} COP")
    print(f"SHA: {event.checksum}")

# Query portfolio
portfolio = client.portfolios.get("la-guajira")
for asset in portfolio.assets:
    print(asset.id, asset.state, asset.setpoint)`,
          bullets_head: "Available on request:",
          bullets: [
            "API integrations",
            "SDK and integration tooling",
            "Webhooks and operation events",
            "Historical data export",
          ],
        },
      },
      mercados_extra: {
        breadcrumb: "Markets",
        title: "One operation. One international network.",
        lede: "We operate in Colombia and are building international capabilities — commercial, financial, research and strategic partnerships — to answer to the business.",
        presence: {
          overline: "[ 01 ] · International presence",
          title: "One operation in Colombia, one international network.",
          lede: "Each node serves a distinct function, carrying the business's energy strategy beyond the kilowatt.",
          nodesHead: "[ Nodes ]",
          regions: { america: "[ Americas ]", iberia: "[ Iberia ]" },
          nodes: [
            {
              id: "co",
              group: "CO",
              country: "Colombia",
              label: "Bogotá",
              role: "Operation",
              shape: "core",
              color: "#0096FF",
            },
            {
              id: "us-fl",
              group: "US",
              country: "United States",
              label: "Florida",
              role: "Commercial hub",
              shape: "square",
              color: "#34D8D0",
            },
            {
              id: "us-de",
              group: "US",
              country: "United States",
              label: "Delaware",
              role: "Financial vehicle",
              shape: "diamond",
              color: "#76D6FF",
            },
            {
              id: "es",
              group: "ES",
              country: "Spain",
              label: "Madrid",
              role: "Research and development",
              shape: "triangle",
              color: "#D883FF",
            },
            {
              id: "cl",
              group: "CL",
              country: "Chile",
              label: "Chile",
              role: "Strategic partnership",
              shape: "ring",
              color: "#7A81FF",
            },
            {
              id: "mx",
              group: "MX",
              country: "Mexico",
              label: "Mexico",
              role: "Strategic partnership",
              shape: "hex",
              color: "#FDBFE8",
            },
          ],
          cards: [
            {
              flag: "CO",
              name: "Colombia",
              desc: "Operation · energy district portfolio",
              hub: "HUB - Bogotá",
              color: "#0096FF",
              primary: true,
            },
            {
              flag: "US",
              name: "United States",
              desc: "Commercial and financial hub",
              hub: "HUB - Florida, Delaware*",
              color: "#34D8D0",
            },
            {
              flag: "ES",
              name: "Spain*",
              desc: "Research and Development",
              hub: "HUB - Madrid",
              color: "#D883FF",
            },
            {
              flag: "CL · MX",
              name: "Chile · Mexico",
              desc: "Strategic partnerships",
              hub: "",
              color: "#7A81FF",
            },
          ],
          noteMark: "*Note:",
          note: "Information for Delaware and Madrid is subject to confirmation of the corporate status of the respective entities.",
        },
        reg: {
          overline: "[ 02 ] · Regulatory frameworks",
          title: "Local rules, handled.",
          items: [
            {
              flag: "CO",
              name: "Colombia",
              body: "CREG 174/2021 (BESS) compliance, Resolution 030 (self-generation), Wholesale Market Statute XM. Registered as marketer and generator.",
              regs: ["CREG 030", "CREG 174", "XM · Agent"],
            },
          ],
        },
      },
      casos_extra: {
        breadcrumb: "Customers",
        title: "When energy answers to the business.",
        lede: "Real cases where energy management stopped being an operating cost and now answers to concrete business goals.",
        showsLabel: "What it proves",
        cases: [
          {
            client: "AVSA",
            industry: "Food",
            country: "Floridablanca · CO",
            focus: "Staged energy portfolio in an intensive operation.",
            shows: "The thermal case.",
            illust: 0,
            color: "#0096FF",
          },
          {
            client: "Bonnadona",
            industry: "Healthcare",
            country: "Barranquilla · CO",
            focus: "Critical continuity and sub-metering in operation.",
            shows: "The continuity case.",
            illust: 1,
            color: "#D883FF",
          },
          {
            client: "Club El Nogal",
            industry: "Services",
            country: "Bogotá · CO",
            focus: "Managing a complex energy mix in a high-demand operation.",
            shows: "The complex-mix case.",
            illust: 5,
            color: "#FDBFE8",
          },
        ],
        logos_title: "Some operators who delegate their bill",
        logos: [
          "Cementos Andinos",
          "DataNorte",
          "Logística Iberia",
          "Minera Atacama",
          "Agropecuaria Bajío",
          "SuperMercados +",
          "Refinería del Sur",
          "Aluminios Pacífico",
        ],
        breakdown: {
          overline: "[ 02 ] · By industry",
          title: "MW coordinated by sector.",
          items: [
            ["Industrial manufacturing", 312, "#0096FF"],
            ["Datacenters", 184, "#D883FF"],
            ["Mining", 142, "#76D6FF"],
            ["Logistics + EV", 96, "#FDBFE8"],
            ["Agribusiness", 68, "#7A81FF"],
            ["Retail + HVAC", 45, "#34d8d0"],
          ],
        },
      },
      empresa_extra: {
        breadcrumb: "Company",
        title: "Distributed energy, coordinated.",
        lede: "NUON is an energy retailer that brings together technology and specialized partners to support your business's energy operation, from generation through consumption optimization.",
        proposito: {
          overline: "[ 01 ] · Purpose and vision",
          cards: [
            {
              label: "Purpose",
              body: "That every distributed kilowatt works. We coordinate scattered energy —solar, batteries, demand, EV— into a single intelligence, so the energy transition is profitable, not merely desirable.",
            },
            {
              label: "Vision",
              body: "A world where every energy asset operates coordinated as a single plant, and software closes the gap between what is generated and what the market needs.",
            },
          ],
        },
        hacemos: {
          overline: "[ 02 ] · What we do",
          title: "We bring together technology, operation and a network of specialized partners.",
          lede: "We market energy and coordinate the capabilities your energy operation needs to work end to end:",
          items: [
            { icon: "generacion", label: "Generation" },
            { icon: "suministro", label: "Supply" },
            { icon: "consumo", label: "Consumption" },
            { icon: "optimizacion", label: "Optimization" },
          ],
          note: "We don't execute every process directly; we coordinate the capabilities your operation needs to make better energy decisions.",
        },
        mundos: {
          overline: "[ 03 ] · From the physical world to operating value",
          title: "From the physical world to operating value.",
          lede: "NUON connects your operation's energy resources and consumption with digital twins and the data they generate. We coordinate that information through a Virtual Power Plant to make better decisions on generation, supply and consumption.",
          steps: [
            {
              num: "01",
              nav: "Physical world",
              title: "Physical world · resources and consumption",
              body: "Generation, storage, grid and consumption assets that make up the business's energy operation.",
            },
            {
              num: "02",
              nav: "Digital world",
              title: "Digital world · twins and data",
              body: "Each asset is represented through digital twins and data flows that reveal its state, behaviour and optimization opportunities.",
            },
            {
              num: "03",
              nav: "Optimization",
              title: "Virtual Power Plant · optimization hub",
              body: "The VPP connects both worlds: it turns data and operating conditions into coordinated decisions so energy works better for the business.",
            },
          ],
          close:
            "From physical assets to the operating decision: a single intelligence to coordinate energy end to end.",
        },
        historia: {
          overline: "[ 04 ] · History",
          title: "Four years, one decision that doesn't change.",
          events: [
            {
              year: "2022",
              title: "Origin",
              body: "María Restrepo (XM) and Javier Soto (CEN) spot the same problem from two different countries: distributed assets are growing, but no one is coordinating them.",
            },
            {
              year: "2023",
              title: "First cycle",
              body: "First 5-minute cycle closed with positive margin at a cement plant. 14 people. 24/7 operation.",
            },
            {
              year: "2024",
              title: "Team",
              body: "Optimization team led by Lucía Pereda (ex-OMIE).",
            },
            {
              year: "2025",
              title: "Openness",
              body: "Public model documentation. Open SDK.",
            },
            {
              year: "2026",
              title: "Today",
              body: "Operation in Colombia · 5-min cycles.",
            },
          ],
        },
        investors: {
          overline: "[ 05 ] · Corporate backing",
          title: "Investors and partners.",
          items: [
            "Andes Capital",
            "Quasar Ventures",
            "Iberian Climate Fund",
            "Atacama Partners",
            "Pacífico Energy",
            "Banco BIDInvest",
          ],
        },
        board: {
          overline: "[ — ] · Advisory board",
          title: "Operators who also teach.",
          people: [
            ["Dr. Elena Carvalho", "Former CEO ONS · Brazil", "São Paulo"],
            ["Miguel Etxeberria", "Former Director OMIE", "Madrid"],
            ["Tomás Larraín", "Former Commissioner CNE Chile", "Santiago"],
            ["Verónica Salinas", "Former CFO ISA Interchile", "Medellín"],
          ],
        },
      },
      carreras_extra: {
        breadcrumb: "Careers",
        title: "We hire engineers who also design.",
        lede: "Small teams, fast decisions, focus on real operation. We talk dispatch, not demos.",
        benefits: {
          overline: "[ 02 ] · Benefits",
          title: "What we offer.",
          items: [
            {
              title: "Real remote",
              body: "No mandatory office. Quarterly gatherings in one of the markets, expenses covered.",
            },
            {
              title: "Clear comp",
              body: "Salary bands published internally. Equity for the entire team, no exceptions.",
            },
            {
              title: "Ops, not demos",
              body: "Your code ships to prod the same week. No sprints on imaginary roadmaps.",
            },
            {
              title: "Continuous education",
              body: "$3,000 USD per year per person for books, courses and conferences. Time during work hours.",
            },
            {
              title: "Iberoamerican health",
              body: "Private medical plan in your country. 100% covered for employee and immediate family.",
            },
            {
              title: "Thirty days",
              body: "Real vacation. No email checking. No Slack open. Handover prepared two weeks ahead.",
            },
          ],
        },
        proceso: {
          overline: "[ 03 ] · Process",
          title: "How to apply.",
          steps: [
            {
              num: "01",
              title: "Initial conversation",
              sub: "30 min with the people team. No automated filters.",
              time: "Week 1",
            },
            {
              num: "02",
              title: "Paid technical challenge",
              sub: "Real problem in your discipline. No whiteboard algorithms.",
              time: "Week 1–2",
            },
            {
              num: "03",
              title: "Team interview",
              sub: "Two sessions with your future colleagues. No culture quizzes.",
              time: "Week 2–3",
            },
            {
              num: "04",
              title: "Offer",
              sub: "Comp published upfront. Three days to decide, no pressure.",
              time: "Week 3",
            },
          ],
        },
        testimonio: {
          quote:
            "I've been here nine months and still haven't written a sprint review. Everything I ship to prod matters the same day.",
          author: "Andrés P. · Optimization Engineer · joined 2025",
        },
      },
      insights_extra: {
        breadcrumb: "Insights",
        title: "Operating notes from the team.",
        lede: "Open documentation, field lessons and market analysis. No marketing.",
        featured: {
          tag: "Operations",
          date: "MAY 12 · 2026",
          title: "Why 5 minutes: anatomy of an optimization cycle.",
          body: "We dissect the 300 seconds that happen between the portfolio's distributed assets and our digital twin. 1 Hz telemetry, continuous forecasting, portfolio MILP and signed dispatch — all in less time than a coffee.",
          readtime: "12 min read",
          author: "Lucía Pereda · Head of Optimization",
        },
        filters: ["All", "Operations", "Engineering", "Product"],
        extras: [
          {
            tag: "Product",
            date: "MAY 01 · 2026",
            title: "The new settlement module: why we rewrote margin attribution.",
            body: "After 18 months, the old module couldn't take more assets. We replaced it without a second of downtime.",
          },
          {
            tag: "Engineering",
            date: "APR 18 · 2026",
            title: "Stream-first: why we don't use a data warehouse for operations.",
            body: "Analysis: two years after that decision, what we'd change and what we wouldn't.",
          },
          {
            tag: "Operations",
            date: "APR 09 · 2026",
            title: "A day in dispatch: shifts, escalation and the three-call rule.",
            body: "How we operate 24/7 without anyone losing sleep.",
          },
          {
            tag: "Product",
            date: "MAR 12 · 2026",
            title: "Designing the Console: one view per operational shift.",
            body: "How we built the interface the dispatch team uses eight hours a day.",
          },
        ],
      },
      etica_extra: {
        breadcrumb: "Ethics & integrity",
        title: "Ethics & integrity",
        lede: "Review our corporate policy on ethics, anti-corruption, anti-bribery and good governance.",
        sheet_overline: "[ 01 ] · Official document",
        sheet_title: "Ethics and anti-corruption policy",
        sheet_body: "Preview the document online or download the full PDF.",
        download: "Download PDF",
        meta: "Code PAC-NUON-001 · Version 2.2 · Effective July 2026",
        pqrs_overline: "[ 02 ] · Complaint channel",
        pqrs_title: "PQR(S) form",
        pqrs_lede:
          "If you need to report an ethics issue or submit a complaint, complete this form. Delivery is addressed to etica@nuon.energy.",
        pqrs_mail_disclaimer:
          "On submit, this form sends your PQR(S) directly to etica@nuon.energy.",
        pqrs_success: "Your PQR(S) was submitted successfully to the ethics channel.",
        pqrs_sending: "Sending…",
        pqrs_error:
          "We couldn't send your PQR(S). Please try again or email etica@nuon.energy directly.",
        pqrs_fields: {
          type: "Type",
          name: "Full name",
          email: "Contact email",
          company: "Company (optional)",
          subject: "Subject",
          detail: "Complaint details",
          submit: "Send complaint",
        },
        pqrs_types: ["Request", "Complaint", "Claim", "Suggestion"],
      },
      contacto: {
        breadcrumb: "Contact",
        title: "Let's talk about your portfolio.",
        lede: "Thirty minutes with an engineer. We'll show you your current portfolio coordinated against the portfolio under NUON. No slides.",
        form_title: "Request a proposal",
        form_meta: "Response time · 24h business",
        form_sending: "Sending…",
        form_error:
          "We couldn't send your request. Please try again or email contacto@nuon.energy.",
        fields: {
          name: "Full name",
          email: "Corporate email",
          company: "Company",
          role: "Role",
          country: "Operating country",
          assets: "Asset type (optional)",
          message: "Briefly tell us which portfolio you'd like to coordinate",
          submit: "Request a proposal",
        },
        countries: ["Colombia", "Chile", "Mexico", "Spain", "Other / TBD"],
        asset_options: [
          "Solar PV",
          "BESS · Batteries",
          "Flexible demand",
          "EV fleets",
          "Mix of the above",
        ],
        offices: {
          overline: "[ 02 ] · Office",
          title: "One office in Bogotá, one international network.",
          lede: "Operations are in Colombia. The hubs and alliances that complete the network are detailed on Markets.",
          items: [
            {
              city: "Bogotá",
              country: "Colombia",
              address: ADDRESS,
              role: "HQ · Operations · Energy district portfolio",
              tz: "UTC-5",
            },
          ],
          link: { label: "See the international network →", href: "mercados.html" },
        },
        alt: {
          overline: "[ 03 ] · Other channels",
          items: [
            { label: "Sales team", value: "sales@nuon.energy" },
            { label: "Customer support", value: "support@nuon.energy" },
            { label: "Press", value: "press@nuon.energy" },
            { label: "Careers", value: "people@nuon.energy" },
            {
              label: "Phone",
              value: PHONE.display,
              href: PHONE.tel,
              note: "Monday to Friday, 8 a.m. to 2 p.m. (Colombia time)",
            },
            { label: "WhatsApp", value: PHONE.display, href: PHONE.whatsapp },
          ],
        },
      },
    },
  };

  NUON.EXTRA = EXTRA;
})((window.NUON ??= {}));
