{"id":1475,"date":"2026-09-28T12:45:54","date_gmt":"2026-09-28T10:45:54","guid":{"rendered":"https:\/\/onode.es\/?page_id=1475"},"modified":"2026-10-23T10:27:16","modified_gmt":"2026-10-23T08:27:16","slug":"govern-digital","status":"publish","type":"page","link":"https:\/\/onode.es\/ca\/serveis\/govern-digital\/","title":{"rendered":"Govern Digital"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section et_animated hero-manchas onode-fluid-section\">\n<div class=\"et_pb_row_0 et_pb_row et_block_row\">\n<div class=\"et_pb_column_0 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- ============================================================\n  EFECTO MANCHAS ANIMADAS \u2014 onode.thelab.es\n  Pegar en un m\u00f3dulo \"C\u00f3digo\" de Divi dentro de la secci\u00f3n hero.\n  La secci\u00f3n debe tener la clase CSS personalizada: hero-manchas\n  ============================================================ -->\n \n<style id=\"blob-style\">\n  .hero-manchas {\n    position: fixed !important;\n    overflow: hidden !important;\n    top: 0px!important;\n  }\n  #blob-canvas-wrapper {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n    z-index: 0;\n  }\n  \/* Degradado inferior hacia blanco *\/\n  #blob-canvas-wrapper::after {\n    content: '';\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    height: 45%;\n    \/*background: linear-gradient(to bottom, transparent, #91C0DB);*\/\n    pointer-events: none;\n    z-index: 2;\n  }\n  #blob-canvas {\n    width: 100%;\n    height: 100%;\n    display: block;\n    filter: blur(72px) saturate(1.4);\n  }\n  .hero-manchas > *:not(#blob-canvas-wrapper) {\n    position: relative;\n    z-index: 1;\n  }\n<\/style>\n \n<script>\n(function () {\n  function initBlobs() {\n    var hero = document.querySelector('.hero-manchas');\n    if (!hero || document.getElementById('blob-canvas-wrapper')) return;\n \n    \/* --- Canvas --- *\/\n    var wrapper = document.createElement('div');\n    wrapper.id = 'blob-canvas-wrapper';\n    var canvas = document.createElement('canvas');\n    canvas.id = 'blob-canvas';\n    wrapper.appendChild(canvas);\n    hero.insertBefore(wrapper, hero.firstChild);\n \n    var ctx = canvas.getContext('2d');\n    var W, H;\n    function resize() { W = canvas.width = hero.offsetWidth; H = canvas.height = hero.offsetHeight; }\n    resize();\n    window.addEventListener('resize', resize);\n \n    \/* --- Rat\u00f3n: solo activo mientras se mueve --- *\/\n    var mouse = { x: 0, y: 0, active: false };\n    var mouseTimer = null;\n    document.addEventListener('mousemove', function (e) {\n      var rect = hero.getBoundingClientRect();\n      mouse.x = e.clientX - rect.left;\n      mouse.y = e.clientY - rect.top;\n      mouse.active = true;\n      clearTimeout(mouseTimer);\n      mouseTimer = setTimeout(function () { mouse.active = false; }, 300);\n    });\n \n    \/* --- Manchas --- *\/\n    var blobs = [\n      {\n        x: W * 0.28, y: H * 0.45,\n        vx: 1.1, vy: 0.75,\n        r: 680,\n        color: [123, 138, 196], alpha: 0.82,\n        ox: [{ a: 1.4, f: 0.009 }, { a: 0.7, f: 0.017 }],\n        oy: [{ a: 1.0, f: 0.007 }, { a: 0.8, f: 0.013 }],\n        phase: 0,\n        attract: 0.008\n      },\n      {\n        x: W * 0.68, y: H * 0.52,\n        vx: -0.9, vy: 0.85,\n        r: 600,\n        color: [123, 138, 196], alpha: 0.48,\n        ox: [{ a: 1.2, f: 0.008 }, { a: 0.7, f: 0.015 }],\n        oy: [{ a: 1.1, f: 0.011 }, { a: 0.6, f: 0.006 }],\n        phase: 2.5,\n        attract: 0.007\n      }\n    ];\n \n    function drawBlob(b) {\n      var r = b.color[0], g = b.color[1], bl = b.color[2];\n      var grad = ctx.createRadialGradient(b.x, b.y, 0, b.x, b.y, b.r);\n      grad.addColorStop(0,   'rgba('+r+','+g+','+bl+','+b.alpha+')');\n      grad.addColorStop(0.5, 'rgba('+r+','+g+','+bl+','+(b.alpha*0.45)+')');\n      grad.addColorStop(1,   'rgba('+r+','+g+','+bl+',0)');\n      ctx.beginPath();\n      ctx.arc(b.x, b.y, b.r, 0, Math.PI * 2);\n      ctx.fillStyle = grad;\n      ctx.fill();\n    }\n \n    var t = 0;\n    function animate() {\n      t++;\n      ctx.clearRect(0, 0, W, H);\n \n      blobs.forEach(function (b) {\n        \/* Movimiento aut\u00f3nomo: velocidad base + oscilaciones en capas *\/\n        var driftX = b.ox.reduce(function (s, o) { return s + Math.sin(t * o.f + b.phase) * o.a; }, 0);\n        var driftY = b.oy.reduce(function (s, o) { return s + Math.cos(t * o.f + b.phase) * o.a; }, 0);\n        b.x += b.vx + driftX;\n        b.y += b.vy + driftY;\n \n        \/* Atracci\u00f3n solo cuando el rat\u00f3n se est\u00e1 moviendo *\/\n        if (mouse.active) {\n          b.x += (mouse.x - b.x) * b.attract;\n          b.y += (mouse.y - b.y) * b.attract;\n        }\n \n        \/* Rebote suave en bordes *\/\n        var m = b.r * 0.2;\n        if (b.x < m)     { b.x = m;     b.vx =  Math.abs(b.vx); }\n        if (b.x > W - m) { b.x = W - m; b.vx = -Math.abs(b.vx); }\n        if (b.y < m)     { b.y = m;     b.vy =  Math.abs(b.vy); }\n        if (b.y > H - m) { b.y = H - m; b.vy = -Math.abs(b.vy); }\n \n        drawBlob(b);\n      });\n \n      requestAnimationFrame(animate);\n    }\n    animate();\n  }\n \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initBlobs);\n  } else {\n    initBlobs();\n  }\n})();\n<\/script><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_1 et_pb_section et_section_regular et_flex_section et_animated\">\n<div class=\"et_pb_row_1 et_pb_row et_block_row\">\n<div class=\"et_pb_column_1 et_pb_column et_pb_column_4_4 et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>Servei<\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h1>Govern Digital\u00a0&amp; OGov<\/h1>\n<\/div><\/div>\n\n<div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2><span>Innovaci\u00f3 p\u00fablica, compliment normatiu i proximitat amb la ciutadania en un mateix ecosistema digital<\/span><\/h2>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_2 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_2 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_2 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2><span>Les nostres plataformes<\/span><\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_text_4 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: justify;\">Plataformes digitals per a innovar, reduir c\u00e0rregues i garantir l\u2019acc\u00e9s a la informaci\u00f3 p\u00fablica.<\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<div class=\"onode-plataformas\">\n\n  <!-- FOTO (solo en ordenador) -->\n  <div class=\"onode-plataformas__media\">\n    <div class=\"onode-plataformas__photo\">\n              <img class=\"onode-plat-photo is-active\" data-index=\"0\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/Lucida-scaled.jpeg\" alt=\"L\u00facida\" style=\"object-position: center top;\">\n              <img class=\"onode-plat-photo\" data-index=\"1\" loading=\"eager\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/ADA-scaled.jpeg\" alt=\"Ada\" style=\"object-position: center top;\">\n              <img class=\"onode-plat-photo\" data-index=\"2\" loading=\"eager\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/Clara-scaled.jpeg\" alt=\"Clara\" style=\"object-position: center top;\">\n          <\/div>\n  <\/div>\n\n  <!-- ACORDE\u00d3N -->\n  <div class=\"onode-plataformas__list\">\n          <div class=\"onode-plataformas__item is-active\" data-index=\"0\" tabindex=\"0\" role=\"button\" aria-expanded=\"true\">\n        <div class=\"onode-plataformas__head\">\n          <div class=\"onode-plataformas__titles\">\n            <h3>L\u00facida<\/h3>\n            <p>Portal de Transpar\u00e8ncia<\/p>\n          <\/div>\n          <span class=\"onode-plataformas__icon\" aria-hidden=\"true\"><\/span>\n        <\/div>\n        <div class=\"onode-plataformas__desc\">\n          <div class=\"onode-plataformas__desc-inner\">\n            <div class=\"onode-plataformas__desc-body\">\n              <div class=\"onode-plataformas__desc-text\">Tota la informaci\u00f3 de l\u2019entitat en un espai \u00fanic, actualitzat i amb cercador intel\u00b7ligent, complint la llei de transpar\u00e8ncia.<\/div>\n              <a class=\"onode-plataformas__btn\" href=\"https:\/\/onode.es\/lucida\/\">\n                <span>Saber-ne m\u00e9s<\/span>\n                <span class=\"onode-plataformas__btn-arrow\" aria-hidden=\"true\"><\/span>\n              <\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n          <div class=\"onode-plataformas__item\" data-index=\"1\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\">\n        <div class=\"onode-plataformas__head\">\n          <div class=\"onode-plataformas__titles\">\n            <h3>Ada<\/h3>\n            <p>Portal de Participaci\u00f3 Ciutadana<\/p>\n          <\/div>\n          <span class=\"onode-plataformas__icon\" aria-hidden=\"true\"><\/span>\n        <\/div>\n        <div class=\"onode-plataformas__desc\">\n          <div class=\"onode-plataformas__desc-inner\">\n            <div class=\"onode-plataformas__desc-body\">\n              <div class=\"onode-plataformas__desc-text\">Processos participatius, consultes i pressupostos participatius en espais oberts, accessibles i amb tra\u00e7abilitat completa.<\/div>\n              <a class=\"onode-plataformas__btn\" href=\"https:\/\/onode.es\/ada\/\" tabindex=\"-1\">\n                <span>Saber-ne m\u00e9s<\/span>\n                <span class=\"onode-plataformas__btn-arrow\" aria-hidden=\"true\"><\/span>\n              <\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n          <div class=\"onode-plataformas__item\" data-index=\"2\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\">\n        <div class=\"onode-plataformas__head\">\n          <div class=\"onode-plataformas__titles\">\n            <h3>Clara<\/h3>\n            <p>Visors econ\u00f2mics i pressupostaris<\/p>\n          <\/div>\n          <span class=\"onode-plataformas__icon\" aria-hidden=\"true\"><\/span>\n        <\/div>\n        <div class=\"onode-plataformas__desc\">\n          <div class=\"onode-plataformas__desc-inner\">\n            <div class=\"onode-plataformas__desc-body\">\n              <div class=\"onode-plataformas__desc-text\">Visors clars del pressupost, les obres, els contractes i les subvencions per a fer comprensibles els comptes p\u00fablics.<\/div>\n              <a class=\"onode-plataformas__btn\" href=\"#\" tabindex=\"-1\">\n                <span>Saber-ne m\u00e9s<\/span>\n                <span class=\"onode-plataformas__btn-arrow\" aria-hidden=\"true\"><\/span>\n              <\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <\/div>\n<\/div>\n\n<style>\n.onode-plataformas, .onode-plataformas *, .onode-plataformas *::before, .onode-plataformas *::after {\n  box-sizing: border-box;\n}\n.onode-plataformas {\n  --photo-min-height: 460px;\n  position: relative;\n  display: grid;\n  grid-template-columns: 0.9fr 1fr;\n  gap: 90px;\n  align-items: start;\n  width: 100%;\n  max-width: none;\n  margin: 0;\n  padding: 0;\n  font-family: 'Outfit', sans-serif;\n}\n\n\/* ---------- FOTO (ordenador) ---------- *\/\n\/* La altura la calcula el script: la del acorde\u00f3n con la descripci\u00f3n m\u00e1s larga abierta *\/\n.onode-plataformas__photo {\n  position: relative;\n  height: var(--photo-min-height);\n  min-height: var(--photo-min-height);\n  border-radius: 19px;\n  overflow: hidden;\n  background: #dfe6ea;\n}\n.onode-plataformas__photo img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: top;\n  display: block;\n  margin: 0;\n  opacity: 0;\n}\n.onode-plataformas__photo img.is-active {\n  opacity: 1;\n}\n.onode-plataformas__photo::after {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background-color: #335673;\n  opacity: 0.4;\n  mix-blend-mode: multiply;\n  pointer-events: none;\n  z-index: 1;\n}\n\n\/* ---------- ACORDE\u00d3N ---------- *\/\n\/* Centrado en vertical respecto a la foto *\/\n.onode-plataformas__list {\n  position: relative;\n  z-index: 5;\n  align-self: center;\n  display: flex;\n  flex-direction: column;\n  margin-top: 0;\n  pointer-events: auto;\n}\n.onode-plataformas__item {\n  position: relative;\n  padding: 28px 0;\n  border-bottom: 1px solid #c3d0d9;\n  cursor: pointer;\n  outline: none;\n  pointer-events: auto;\n  transition: border-color .25s ease;\n}\n.onode-plataformas__item:first-child {\n  padding-top: 0;\n}\n.onode-plataformas__item:focus-visible {\n  outline: 2px solid #335673;\n  outline-offset: 4px;\n}\n.onode-plataformas__item.is-active {\n  border-bottom-color: #335673;\n}\n\n\/* Cabecera: t\u00edtulos a la izquierda, flecha a la derecha *\/\n.onode-plataformas__head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n}\n\/* T\u00edtulo de cada pesta\u00f1a (L\u00facida, Ada, Clara) *\/\n.onode-plataformas__item h3 {\n  margin: 0 0 2px;\n  font-size: 32px;\n  font-weight: 700;\n  line-height: 1.15;\n  color: #a3b7c4;\n  transition: color .25s ease;\n}\n.onode-plataformas__item p {\n  margin: 0;\n  font-size: 22px;\n  font-weight: 400;\n  color: #93a9b8;\n  transition: color .25s ease;\n}\n.onode-plataformas__item.is-active h3,\n.onode-plataformas__item.is-active p {\n  color: #335673;\n}\n\n\/* Flecha *\/\n.onode-plataformas__icon {\n  display: block;\n  flex: 0 0 auto;\n  width: 14px;\n  height: 14px;\n  margin-right: 6px;\n  border-right: 2px solid #93a9b8;\n  border-bottom: 2px solid #93a9b8;\n  transform: rotate(45deg);\n  transition: transform .3s ease, border-color .3s ease;\n}\n.onode-plataformas__item.is-active .onode-plataformas__icon {\n  transform: rotate(-135deg);\n  border-color: #335673;\n}\n\n\/* Descripci\u00f3n desplegable *\/\n.onode-plataformas__desc {\n  display: grid;\n  grid-template-rows: 0fr;\n  transition: grid-template-rows .35s ease;\n}\n.onode-plataformas__item.is-active .onode-plataformas__desc {\n  grid-template-rows: 1fr;\n}\n.onode-plataformas__desc-inner {\n  overflow: hidden;\n  min-height: 0;\n}\n\/* Bloque interior: texto + bot\u00f3n *\/\n.onode-plataformas__desc-body {\n  padding-top: 16px;\n}\n.onode-plataformas__desc-text {\n  color: #335673;\n  font-size: 20px;\n  line-height: 1.5;\n  font-weight: 300;\n}\n\n\/* ---------- BOT\u00d3N \"SABER-NE M\u00c9S\" ---------- *\/\n.onode-plataformas__btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n  margin-top: 22px;\n  padding: 11px 24px;\n  border: 1.5px solid #335673;\n  border-radius: 999px;\n  background: transparent;\n  color: #335673 !important;\n  font-family: 'Outfit', sans-serif;\n  font-size: 17px;\n  font-weight: 500;\n  line-height: 1.2;\n  text-decoration: none !important;\n  cursor: pointer;\n  transition: background-color .25s ease, color .25s ease;\n}\n.onode-plataformas__btn:hover,\n.onode-plataformas__btn:focus-visible {\n  background: #335673;\n  color: #fff !important;\n}\n.onode-plataformas__btn:focus-visible {\n  outline: 2px solid #335673;\n  outline-offset: 3px;\n}\n\/* Flechita del bot\u00f3n *\/\n.onode-plataformas__btn-arrow {\n  display: block;\n  width: 8px;\n  height: 8px;\n  border-top: 2px solid currentColor;\n  border-right: 2px solid currentColor;\n  transform: rotate(45deg);\n  transition: transform .25s ease;\n}\n.onode-plataformas__btn:hover .onode-plataformas__btn-arrow {\n  transform: translateX(4px) rotate(45deg);\n}\n\n\/* ---------- M\u00d3VIL ---------- *\/\n@media (max-width: 900px) {\n  .onode-plataformas {\n    grid-template-columns: 1fr;\n    gap: 0;\n    padding: 0;\n  }\n\n  \/* Se oculta la foto *\/\n  .onode-plataformas__media {\n    display: none;\n  }\n\n  .onode-plataformas__list {\n    margin-top: 0 !important;\n  }\n  .onode-plataformas__item {\n    padding: 22px 0;\n  }\n  .onode-plataformas__item:first-child {\n    padding-top: 22px;\n  }\n  .onode-plataformas__head {\n    gap: 16px;\n  }\n  .onode-plataformas__item h3 {\n    font-size: 24px;\n  }\n  .onode-plataformas__item p {\n    font-size: 18px;\n  }\n  .onode-plataformas__icon {\n    width: 12px;\n    height: 12px;\n    margin-right: 4px;\n  }\n  .onode-plataformas__desc-body {\n    padding-top: 14px;\n  }\n  .onode-plataformas__desc-text {\n    font-size: 17px;\n    line-height: 1.55;\n  }\n  .onode-plataformas__btn {\n    margin-top: 18px;\n    padding: 10px 20px;\n    font-size: 16px;\n  }\n}\n<\/style>\n\n<script>\n(function () {\n\n  \/\/ Retardo antes de abrir al pasar el rat\u00f3n (0 = al instante)\n  var HOVER_DELAY = 0;\n  \/\/ Pausa breve mientras se abre una pesta\u00f1a (evita el efecto rebote)\n  var ANIMATION_LOCK = 250;\n\n  \/\/ \u00bfDispositivo con rat\u00f3n? (en m\u00f3vil\/tablet se sigue abriendo al tocar)\n  function canHover() {\n    return window.matchMedia &&\n      window.matchMedia('(hover: hover) and (pointer: fine)').matches &&\n      window.innerWidth > 900;\n  }\n\n  function initPlataformas(wrap) {\n    \/\/ Evita activar dos veces el mismo acorde\u00f3n\n    if (wrap.getAttribute(\"data-onode-init\") === \"1\") return;\n    wrap.setAttribute(\"data-onode-init\", \"1\");\n\n    var photos = wrap.querySelectorAll(\".onode-plat-photo\");\n    var items = wrap.querySelectorAll(\".onode-plataformas__item\");\n    var list = wrap.querySelector(\".onode-plataformas__list\");\n    var photoBox = wrap.querySelector(\".onode-plataformas__photo\");\n    var inners = wrap.querySelectorAll(\".onode-plataformas__desc-inner\");\n    \/\/ Se mide el bloque completo (texto + bot\u00f3n)\n    var texts = wrap.querySelectorAll(\".onode-plataformas__desc-body\");\n\n    var activeIndex = 0;\n    var hoveredIndex = -1;\n    var hoverTimer = null;\n    var lockUntil = 0;\n\n    photos.forEach(function (p) {\n      if (p.decode) {\n        p.decode().catch(function () {});\n      }\n    });\n\n    \/\/ Calcula la altura m\u00e1xima del acorde\u00f3n (con la descripci\u00f3n m\u00e1s larga abierta)\n    \/\/ y se la aplica a la foto para que no cambie de tama\u00f1o\n    function fixPhotoHeight() {\n      if (!photoBox || window.innerWidth <= 900) return;\n\n      \/\/ Altura del acorde\u00f3n sin ninguna descripci\u00f3n abierta\n      var openNow = 0;\n      inners.forEach(function (el) {\n        openNow += el.offsetHeight;\n      });\n      var closedHeight = list.offsetHeight - openNow;\n\n      \/\/ Descripci\u00f3n m\u00e1s alta (con su bot\u00f3n)\n      var maxDesc = 0;\n      texts.forEach(function (el) {\n        maxDesc = Math.max(maxDesc, el.offsetHeight);\n      });\n\n      photoBox.style.height = Math.ceil(closedHeight + maxDesc) + \"px\";\n    }\n\n    function setActive(index) {\n      if (index === activeIndex) return;\n      activeIndex = index;\n      lockUntil = Date.now() + ANIMATION_LOCK;\n\n      [items, photos].forEach(function (group) {\n        group.forEach(function (el) {\n          el.classList.toggle(\"is-active\", el.getAttribute(\"data-index\") === String(index));\n        });\n      });\n      items.forEach(function (el) {\n        var isOpen = el.getAttribute(\"data-index\") === String(index);\n        el.setAttribute(\"aria-expanded\", isOpen ? \"true\" : \"false\");\n\n        \/\/ El bot\u00f3n solo se puede seleccionar con el teclado si la pesta\u00f1a est\u00e1 abierta\n        var btn = el.querySelector(\".onode-plataformas__btn\");\n        if (btn) {\n          if (isOpen) {\n            btn.removeAttribute(\"tabindex\");\n          } else {\n            btn.setAttribute(\"tabindex\", \"-1\");\n          }\n        }\n      });\n    }\n\n    \/\/ Abrir por hover: al instante, o en cuanto termine la pausa\n    \/\/ si el rat\u00f3n sigue encima de esa pesta\u00f1a\n    function requestHover(index) {\n      clearTimeout(hoverTimer);\n      var wait = Math.max(HOVER_DELAY, lockUntil - Date.now(), 0);\n\n      if (wait === 0) {\n        setActive(index);\n        return;\n      }\n      hoverTimer = setTimeout(function () {\n        if (hoveredIndex === index) setActive(index);\n      }, wait);\n    }\n\n    items.forEach(function (item) {\n      var index = parseInt(item.getAttribute(\"data-index\"), 10);\n\n      \/\/ Clic (y toque en m\u00f3vil)\n      item.addEventListener(\"click\", function () {\n        clearTimeout(hoverTimer);\n        setActive(index);\n      });\n\n      \/\/ Teclado (solo cuando el foco est\u00e1 en la pesta\u00f1a, no en el bot\u00f3n)\n      item.addEventListener(\"keydown\", function (e) {\n        if (e.target !== item) return;\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          setActive(index);\n        }\n      });\n\n      \/\/ Pasar el rat\u00f3n por encima (solo ordenador con rat\u00f3n)\n      \/\/ \"mousemove\": solo reacciona cuando el rat\u00f3n se mueve de verdad,\n      \/\/ no cuando la pesta\u00f1a se desplaza sola por debajo al abrirse otra.\n      item.addEventListener(\"mousemove\", function () {\n        if (!canHover()) return;\n        hoveredIndex = index;\n        if (index !== activeIndex) requestHover(index);\n      });\n\n      item.addEventListener(\"mouseleave\", function () {\n        if (hoveredIndex === index) hoveredIndex = -1;\n        clearTimeout(hoverTimer);\n      });\n    });\n\n    \/\/ Recalcular al cargar, al cargar la fuente y al cambiar el tama\u00f1o de la ventana\n    fixPhotoHeight();\n    if (document.fonts && document.fonts.ready) {\n      document.fonts.ready.then(fixPhotoHeight);\n    }\n    window.addEventListener(\"load\", fixPhotoHeight);\n    var resizeTimer;\n    window.addEventListener(\"resize\", function () {\n      clearTimeout(resizeTimer);\n      resizeTimer = setTimeout(fixPhotoHeight, 150);\n    });\n  }\n\n  function initAll() {\n    document.querySelectorAll(\".onode-plataformas\").forEach(initPlataformas);\n  }\n\n  \/\/ Espera a que la p\u00e1gina est\u00e9 cargada (por si un plugin mueve el script)\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initAll);\n  } else {\n    initAll();\n  }\n})();\n<\/script>\n\t<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_3 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_3 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_3 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_5 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2><span>Tecnologia al servei del bon govern<\/span><\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_text_6 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Totes les nostres plataformes comparteixen un mateix enfocament tecnol\u00f2gic transversal:<\/span><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_4 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_group_carousel_0 et_pb_group_carousel et_pb_group et_pb_module et_pb_group_carousel_dots_disabled et_pb_group_carousel_slides_3 carrusel-misma-altura\"><div class=\"et_pb_group_carousel_container\"><div class=\"et_pb_group_carousel_track\"><div class=\"et_pb_group_carousel_slide\"><div class=\"et_pb_group_0 et_pb_group et_pb_module et_flex_group et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_image_0 et_pb_image et_pb_module et_flex_module icono-slider\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/automatizacion-de-procesos.png\" title=\"automatizaci\u00f3n de procesos\" width=\"108\" height=\"113\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/automatizacion-de-procesos.png 108w\" sizes=\"(max-width: 108px) 100vw, 108px\" class=\"wp-image-1768\" \/><\/span><\/div>\n\n<div class=\"et_pb_text_7 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Automatitzaci\u00f3 de processos (<\/span><span>RPA)<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_8 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Per a agilitzar tasques repetitives i alliberar temps del personal t\u00e8cnic per a tasques de m\u00e9s valor.<\/span><\/p>\n<\/div><\/div>\n<\/div><\/div><div class=\"et_pb_group_carousel_slide\"><div class=\"et_pb_group_1 et_pb_group et_pb_module et_flex_group et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_image_1 et_pb_image et_pb_module et_flex_module icono-slider\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/interconexion-de-sistemas.png\" title=\"interconexi\u00f3n de sistemas\" width=\"104\" height=\"104\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/interconexion-de-sistemas.png 104w\" sizes=\"(max-width: 104px) 100vw, 104px\" class=\"wp-image-1769\" \/><\/span><\/div>\n\n<div class=\"et_pb_text_9 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Interconnexi\u00f3 de sistemes mitjan\u00e7ant <\/span><span>APIs<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_10 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Permetent que les plataformes dialoguen entre si i amb altres sistemes d'informaci\u00f3 de l'administraci\u00f3.<\/span><\/p>\n<\/div><\/div>\n<\/div><\/div><div class=\"et_pb_group_carousel_slide\"><div class=\"et_pb_group_2 et_pb_group et-last-child et_pb_module et_flex_group et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_image_2 et_pb_image et_pb_module et_flex_module icono-slider\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/agentes-de-inteligencia-artificial.png\" title=\"agentes de inteligencia artificial\" width=\"105\" height=\"105\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/agentes-de-inteligencia-artificial.png 105w\" sizes=\"(max-width: 105px) 100vw, 105px\" class=\"wp-image-1770\" \/><\/span><\/div>\n\n<div class=\"et_pb_text_11 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Agents d'Intel\u00b7lig\u00e8ncia Artificial<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_12 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Integrats per a: millorar i agilitzar els processos interns, augmentar l'accessibilitat de la informaci\u00f3 publicada, interconnectar sistemes de manera intel\u00b7ligent i afavorir la reutilitzaci\u00f3 de la informaci\u00f3 p\u00fablica.<\/span><\/p>\n<\/div><\/div>\n<\/div><\/div><\/div><\/div><div class=\"et_pb_group_carousel_dots\" style=\"display: none;\"><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_4 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_5 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_5 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_3_5 et_flex_column_3_5_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_13 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>Un equipo multidisciplinar<\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_14 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2><span>Un equip multidisciplinari<\/span><\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_text_15 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: justify;\"><span>Darrere de cada plataforma hi ha un equip altament professionalitzat i multidisciplinari: <strong>desenvolupadors de programari, juristes, polit\u00f2legs i periodistes<\/strong>, al costat d'altres perfils d'especialitzaci\u00f3 clau en innovaci\u00f3 p\u00fablica i govern obert.<\/span><\/p>\n<p><span>Aquesta combinaci\u00f3 de perfils t\u00e8cnics, jur\u00eddics i comunicatius garanteix que les nostres solucions no sols funcionen b\u00e9, sin\u00f3 que a m\u00e9s siguen legalment s\u00f2lides, \u00e8ticament responsables i comprensibles per a la ciutadania.<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_module et_pb_button_module_wrapper et_pb_button_0_wrapper\"><a class=\"et_pb_button_0 et_pb_button et_pb_bg_layout_dark et_pb_module et_flex_module onode-btn-conoce\" href=\"https:\/\/onode.es\/sobre-onode\/\">Coneix-nos<\/a><\/div>\n<\/div>\n\n<div class=\"et_pb_column_6 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_2_5 et_flex_column_2_5_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_3 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/07\/MARIA.jpg\" title=\"MARI\u0301A\" width=\"800\" height=\"960\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/07\/MARIA.jpg 800w, https:\/\/onode.es\/wp-content\/uploads\/2026\/07\/MARIA-480x576.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" class=\"wp-image-485\" \/><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_5 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_6 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_7 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_16 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2><span>Model de prestaci\u00f3 del servei<\/span><\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_text_17 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Una arquitectura comuna pensada per a connectar, automatitzar i simplificar la gesti\u00f3 p\u00fablica<\/span><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_7 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_8 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_8_24 et_flex_column_8_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_4 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/09\/gif-nube.gif\" title=\"gif nube\" width=\"1122\" height=\"793\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/09\/gif-nube.gif 1122w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1122px, 100vw\" class=\"wp-image-1454\" \/><\/span><\/div>\n\n<div class=\"et_pb_text_18 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Plataforma com a Servei (<\/span><span>SaaS)<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_19 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: center;\"><span>Les nostres plataformes s'ofereixen sota el model <\/span><strong>SaaS (Software as a Service)<\/strong><span>: implantaci\u00f3 r\u00e0pida, manteniment i actualitzacions incloses, escalabilitat i sense necessitat d'infraestructura pr\u00f2pia per part de l'administraci\u00f3 contractant.<\/span><\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_9 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_8_24 et_flex_column_8_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_5 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/09\/mazo-gif.gif\" title=\"mazo gif\" width=\"1122\" height=\"793\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/09\/mazo-gif.gif 1122w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1122px, 100vw\" class=\"wp-image-1455\" \/><\/span><\/div>\n\n<div class=\"et_pb_text_20 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: center;\"><span>Assessorament jur\u00eddic especialitzat<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_21 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: center;\"><span>M\u00e9s enll\u00e0 de la tecnologia, oferim <strong>suport hum\u00e0 i assessorament jur\u00eddic especialitzat<\/strong> per a acompanyar a les administracions en totes les necessitats legals i de compliment relacionades amb transpar\u00e8ncia, participaci\u00f3 ciutadana, protecci\u00f3 de dades, acc\u00e9s a la informaci\u00f3 i bon govern.<\/span><\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_10 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_8_24 et_flex_column_8_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_6 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/09\/bocafillos-gif.gif\" title=\"bocafillos gif\" width=\"640\" height=\"640\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/09\/bocafillos-gif.gif 640w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 640px, 100vw\" class=\"wp-image-1456\" \/><\/span><\/div>\n\n<div class=\"et_pb_text_22 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: center;\"><span>Comunicaci\u00f3 accessible i comprensible<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_23 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p style=\"text-align: center;\"><span>Dissenyem les nostres eines amb motors de <strong>lectura f\u00e0cil i cerca conversacional<\/strong> perqu\u00e8 la ciutadania reba respostes immediates en un <strong>llenguatge natural<\/strong>, reduint barreres cognitives i acostant la instituci\u00f3 a la ciutadania.<\/span><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_6 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_8 et_pb_row et_flex_row et_animated\">\n<div class=\"et_pb_column_11 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_24 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2><span>Casos d'\u00c8xit<\/span><\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_text_25 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>Descobreix com diferents entitats van aconseguir els seus objectius en confiar en l'equip d'<\/span><span>ONode<\/span><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_9 et_pb_row et-vb-row--no-module et_flex_row et_animated\">\n<div class=\"et_pb_column_12 et_pb_column et_flex_column et_pb_column_empty et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\"><\/div>\n\n<div class=\"et_pb_column_13 et_pb_column et-last-child et_flex_column et_pb_column_empty et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\"><\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":813,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1475","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/pages\/1475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/comments?post=1475"}],"version-history":[{"count":16,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/pages\/1475\/revisions"}],"predecessor-version":[{"id":2151,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/pages\/1475\/revisions\/2151"}],"up":[{"embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/pages\/813"}],"wp:attachment":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/media?parent=1475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}