{"id":410,"date":"2026-08-28T16:22:30","date_gmt":"2026-08-28T16:22:30","guid":{"rendered":"https:\/\/rewired-os.com\/?page_id=410"},"modified":"2026-09-14T17:10:40","modified_gmt":"2026-09-14T17:10:40","slug":"privacy-policy","status":"publish","type":"page","link":"https:\/\/rewired-os.com\/index.php\/privacy-policy\/","title":{"rendered":"Privacy Policy"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"410\" class=\"elementor elementor-410\">\n\t\t\t\t<div class=\"elementor-element elementor-element-688f437 e-con-full e-flex e-con e-parent\" data-id=\"688f437\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cec66f elementor-widget elementor-widget-html\" data-id=\"7cec66f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<header class=\"header\" id=\"siteHeader\">\n    <div class=\"container nav\">\n      <a class=\"brand\" href=\"https:\/\/rewired-os.com\/index.php\/home\/#top\" aria-label=\"RewiredOS home\">\n        <img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/rewired-os.com\/wp-content\/uploads\/2026\/07\/rewired_logo.png\" alt=\"RewiredOS\" width=\"1197\" height=\"99\" \/>\n      <\/a>\n      <button class=\"mobile-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"main-nav\" aria-label=\"Open menu\">\n        <span class=\"bar\" aria-hidden=\"true\"><\/span>\n        <span class=\"bar\" aria-hidden=\"true\"><\/span>\n        <span class=\"bar\" aria-hidden=\"true\"><\/span>\n      <\/button>\n      <nav class=\"nav-links\" id=\"main-nav\" aria-label=\"Primary navigation\">\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#top\" class=\"nav-top-link\">Home<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#challenge\" class=\"nav-top-link\">Why RewiredOS<\/a>\n        <div class=\"nav-item\">\n          <div class=\"nav-item-row\">\n            <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#rewiredos\" class=\"nav-top-link\">Explore RewiredOS<\/a>\n            <button class=\"nav-caret-btn\" type=\"button\" aria-expanded=\"false\" aria-label=\"Show all sections\">\n              <svg class=\"nav-caret\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n            <\/button>\n          <\/div>\n          <div class=\"nav-dropdown\">\n            <div class=\"nav-dropdown-panel nav-dropdown-panel-wide\">\n              <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#rewiredos\">What is RewiredOS<\/a>\n              <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#how-it-works\">How RewiredOS Works<\/a>\n              <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#journey\">Capability Enablement Journey<\/a>\n              <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#capabilities\">Operating Capabilities<\/a>\n              <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#leadership\">Leadership Perspectives<\/a>\n              <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#faq\">FAQ<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <span class=\"nav-indicator\" aria-hidden=\"true\"><\/span>\n        <a class=\"button nav-top-link\" href=\"https:\/\/rewired-os.com\/index.php\/home\/#contact\">Insights | Schedule an Executive Conversation<span class=\"arrow\" aria-hidden=\"true\">\u2192<\/span><\/a>\n      <\/nav>\n    <\/div>\n  <\/header>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc165b9 e-con-full e-flex e-con e-parent\" data-id=\"bc165b9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c902389 elementor-widget elementor-widget-html\" data-id=\"c902389\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"rewiredosPrivacy\">\n  <style>\n    #rewiredosPrivacy {\n      --navy-1000: #050b16;\n      --navy-950: #031b47;\n      --navy-900: #08245a;\n      --blue-600: #126eb6;\n      --cyan-500: #2ac9ce;\n      --ink: #0d1b2f;\n      --muted: #5e6b7a;\n      --line: #dce4ed;\n      --line-strong: #c6d2df;\n      --surface: #f5f8fb;\n      --white: #ffffff;\n      --radius: 18px;\n      --shadow: 0 18px 60px rgba(3, 27, 71, 0.09);\n      --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n      --mono: \"IBM Plex Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n      --ease: cubic-bezier(.16,1,.3,1);\n      font-family: var(--sans);\n      color: var(--ink);\n      background: var(--white);\n    }\n    #rewiredosPrivacy * { box-sizing: border-box; }\n    #rewiredosPrivacy img { max-width: 100%; display: block; }\n    #rewiredosPrivacy a { color: inherit; }\n\n    #rewiredosPrivacy .pp-hero {\n      background: var(--navy-1000);\n      color: var(--white);\n      padding: 56px 24px 64px;\n      position: relative;\n      overflow: hidden;\n    }\n    #rewiredosPrivacy .pp-hero::after {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);\n      background-size: 22px 22px;\n      -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 70%);\n      mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 70%);\n      pointer-events: none;\n    }\n    #rewiredosPrivacy .pp-hero-inner {\n      max-width: 760px;\n      margin: 0 auto;\n      position: relative;\n      z-index: 1;\n    }\n    #rewiredosPrivacy .pp-eyebrow {\n      font-family: var(--mono);\n      font-size: .78rem;\n      font-weight: 600;\n      letter-spacing: .1em;\n      text-transform: uppercase;\n      color: var(--cyan-500);\n      margin: 0 0 14px;\n    }\n    #rewiredosPrivacy .pp-hero h1 {\n      font-size: clamp(2rem, 4vw, 2.6rem);\n      line-height: 1.15;\n      letter-spacing: -0.01em;\n      margin: 0 0 14px;\n    }\n    #rewiredosPrivacy .pp-updated {\n      font-family: var(--mono);\n      font-size: .85rem;\n      color: #9fb0c9;\n      margin: 0;\n    }\n\n    #rewiredosPrivacy .pp-body {\n      padding: 64px 24px 96px;\n    }\n    #rewiredosPrivacy .pp-container {\n      max-width: 720px;\n      margin: 0 auto;\n    }\n    #rewiredosPrivacy .pp-intro {\n      font-size: 1.15rem;\n      line-height: 1.6;\n      color: var(--ink);\n      margin: 0 0 20px;\n    }\n    #rewiredosPrivacy .pp-container > p {\n      font-size: 1rem;\n      line-height: 1.75;\n      color: var(--muted);\n      margin: 0 0 20px;\n    }\n    #rewiredosPrivacy .pp-section {\n      padding-top: 40px;\n      margin-top: 40px;\n      border-top: 1px solid var(--line);\n    }\n    #rewiredosPrivacy .pp-section:first-of-type {\n      padding-top: 0;\n      margin-top: 48px;\n      border-top: none;\n    }\n    #rewiredosPrivacy .pp-section h2 {\n      font-size: 1.35rem;\n      line-height: 1.3;\n      color: var(--navy-950);\n      margin: 0 0 16px;\n      letter-spacing: -0.005em;\n    }\n    #rewiredosPrivacy .pp-section p {\n      font-size: 1rem;\n      line-height: 1.75;\n      color: var(--muted);\n      margin: 0 0 16px;\n    }\n    #rewiredosPrivacy .pp-section p:last-child { margin-bottom: 0; }\n    #rewiredosPrivacy .pp-list {\n      list-style: none;\n      margin: 0 0 20px;\n      padding: 0;\n      display: grid;\n      gap: 10px;\n    }\n    #rewiredosPrivacy .pp-list li {\n      position: relative;\n      padding-left: 22px;\n      font-size: 1rem;\n      line-height: 1.6;\n      color: var(--muted);\n    }\n    #rewiredosPrivacy .pp-list li::before {\n      content: \"\";\n      position: absolute;\n      left: 0;\n      top: .55em;\n      width: 7px;\n      height: 7px;\n      border-radius: 2px;\n      background: var(--cyan-500);\n    }\n\n    #rewiredosPrivacy .pp-contact-card {\n      background: var(--surface);\n      border: 1px solid var(--line);\n      border-radius: var(--radius);\n      padding: 32px clamp(20px, 4vw, 40px);\n      margin-top: 24px;\n    }\n    #rewiredosPrivacy .pp-contact-block {\n      margin-top: 8px;\n    }\n    #rewiredosPrivacy .pp-contact-block p {\n      margin: 0 0 6px;\n      font-size: 1rem;\n      line-height: 1.6;\n      color: var(--ink);\n    }\n    #rewiredosPrivacy .pp-contact-block p.pp-brand {\n      font-weight: 700;\n      color: var(--navy-950);\n      font-size: 1.05rem;\n    }\n    #rewiredosPrivacy .pp-contact-block p.pp-placeholder {\n      color: var(--muted);\n      font-style: italic;\n    }\n\n    @media (max-width: 680px) {\n      #rewiredosPrivacy .pp-hero { padding: 40px 18px 48px; }\n      #rewiredosPrivacy .pp-body { padding: 44px 18px 64px; }\n      #rewiredosPrivacy .pp-section { padding-top: 32px; margin-top: 32px; }\n      #rewiredosPrivacy .pp-intro { font-size: 1.05rem; }\n    }\n  <\/style>\n\n  <header class=\"pp-hero\" id=\"top\">\n    <div class=\"pp-hero-inner\">\n      <p class=\"pp-eyebrow\">Legal<\/p>\n      <h1>Privacy Policy<\/h1>\n      <p class=\"pp-updated\">Last updated: August 2026<\/p>\n    <\/div>\n  <\/header>\n\n  <main class=\"pp-body\">\n    <div class=\"pp-container\">\n      <p class=\"pp-intro\">RewiredOS&trade; respects your privacy and is committed to handling personal information responsibly and transparently.<\/p>\n      <p>This Privacy Policy explains how information may be collected and used when you visit the RewiredOS website, request information, or contact us.<\/p>\n\n      <section class=\"pp-section\">\n        <h2>Information We Collect<\/h2>\n        <p>We may collect information that you choose to provide, including:<\/p>\n        <ul class=\"pp-list\">\n          <li>Name<\/li>\n          <li>Email address<\/li>\n          <li>Organization<\/li>\n          <li>Role or position<\/li>\n          <li>Areas of interest or business priorities<\/li>\n          <li>Information included in messages or enquiries you send us<\/li>\n        <\/ul>\n        <p>We may also collect limited technical and usage information about how visitors interact with the website, such as browser type, device information, pages visited and general website activity, where analytics technologies are enabled.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>How We Use Your Information<\/h2>\n        <p>We use personal information only where reasonably necessary to:<\/p>\n        <ul class=\"pp-list\">\n          <li>Respond to enquiries and requests<\/li>\n          <li>Arrange Executive Conversations or other meetings<\/li>\n          <li>Provide information or materials you have requested<\/li>\n          <li>Understand interest in RewiredOS and improve the website and its content<\/li>\n          <li>Maintain the security and effective operation of the website<\/li>\n          <li>Comply with applicable legal and regulatory requirements<\/li>\n        <\/ul>\n        <p>We do not sell personal information.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>Cookies and Analytics<\/h2>\n        <p>The website may use essential cookies and, where enabled, analytics technologies to understand website usage and improve the digital experience.<\/p>\n        <p>Where required by applicable law, non-essential cookies or similar technologies will only be used with your consent.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>Sharing of Information<\/h2>\n        <p>Personal information may be processed by trusted service providers that support the operation of the website and our business, such as hosting, email, analytics, scheduling or other technology providers.<\/p>\n        <p>We require such providers to handle information appropriately and only for the purposes for which it has been provided.<\/p>\n        <p>We may also disclose information where required by law.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>Data Retention and Security<\/h2>\n        <p>We retain personal information only for as long as reasonably necessary for the purposes described above or as required by applicable law.<\/p>\n        <p>Reasonable organizational and technical measures are used to protect personal information against unauthorized access, loss, misuse or disclosure.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>Your Rights<\/h2>\n        <p>Depending on where you are located, you may have rights regarding your personal information, including the right to request access, correction, information about its use, deletion or withdrawal of consent where applicable.<\/p>\n        <p>These rights will be handled in accordance with applicable data protection legislation, including Brazil's Lei Geral de Prote\u00e7\u00e3o de Dados (LGPD) where applicable.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>International Processing<\/h2>\n        <p>Some technology providers used to operate the website may process information in countries other than the country in which you are located. Where this occurs, appropriate safeguards will be applied as required by applicable law.<\/p>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>Contact<\/h2>\n        <p>For questions about this Privacy Policy, how your information is handled, or to exercise your applicable privacy rights, please contact:<\/p>\n        <div class=\"pp-contact-card\">\n          <div class=\"pp-contact-block\">\n            <p class=\"pp-brand\">RewiredOS&trade;<\/p>\n            <p class=\"pp-placeholder\">RewiredOS Transforma\u00e7\u00e3o Empresarial LTDA<\/p>\n            <p class=\"pp-placeholder\">hello@disruptivematters.org<\/p>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"pp-section\">\n        <h2>Changes to This Policy<\/h2>\n        <p>We may update this Privacy Policy as the RewiredOS digital experience and the services supporting it evolve.<\/p>\n        <p>The date at the top of this page will indicate the most recent revision.<\/p>\n      <\/section>\n    <\/div>\n  <\/main>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d1a01f8 e-con-full e-flex e-con e-parent\" data-id=\"d1a01f8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-653747b elementor-widget elementor-widget-html\" data-id=\"653747b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<footer>\n    <div class=\"container footer-main\">\n      <div class=\"footer-brand-col\">\n        <img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/rewired-os.com\/wp-content\/uploads\/2026\/07\/rewired_logo.png\" alt=\"RewiredOS\" width=\"1197\" height=\"99\" \/>\n        <p class=\"footer-copyright\">RewiredOS is a Management Operating System \u2014 a way of running strategy\u2011driven transformation as a continuous capability, not as a project\u2011driven bureaucracy.<\/p>\n      <\/div>\n      \n      <nav class=\"footer-col\" aria-label=\"Explore\">\n        <p class=\"footer-col-title\">Explore<\/p>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#challenge\">Why RewiredOS<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#journey\">Capability Enablement Journey<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#capabilities\">Operating Capabilities<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#leadership\">Leadership Perspectives<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#aips\">Intelligent Aplications \/ AIPs<\/a>\n        \n      <\/nav>\n      <nav class=\"footer-col\" aria-label=\"Company\">\n        <p class=\"footer-col-title\">Company<\/p>\n        <a href=\"#\">About<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#contact\">Contact<\/a>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/privacy-policy\/\">Privacy Policy<\/a>\n      <\/nav>\n      <nav class=\"footer-col\" aria-label=\"Connect\">\n        <p class=\"footer-col-title\">Connect<\/p>\n        <a href=\"https:\/\/rewired-os.com\/index.php\/home\/#contact\">Executive Conversation<\/a>\n        <a href=\"https:\/\/www.linkedin.com\/in\/mtzalberto\/\" target=\"_blank\" rel=\"noopener\">Linkedin<\/a>\n      <\/nav>\n    <\/div>\n    <div class=\"container footer-bottom\">\n      <p class=\"footer-copyright\">\u00a9 <span id=\"footerYear\">2026<\/span> RewiredOS\u2122<\/p>\n      <div class=\"footer-bottom-links\">\n        <a href=\"https:\/\/rewired-os.com\/index.php\/privacy-policy\/\">Privacy Policy<\/a>\n        <a class=\"footer-top-link\" href=\"#top\">Back to top<span class=\"arrow\" aria-hidden=\"true\">\u2191<\/span><\/a>\n      <\/div>\n    <\/div>\n  <\/footer>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a65e309 e-con-full e-flex e-con e-parent\" data-id=\"a65e309\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53c5ac1 elementor-widget elementor-widget-html\" data-id=\"53c5ac1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\n    (function () {\n      var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n      \/* mobile nav toggle *\/\n      var toggle = document.querySelector('.mobile-toggle');\n      var nav = document.querySelector('.nav-links');\n      if (toggle && nav) {\n        toggle.addEventListener('click', function () {\n          var isOpen = nav.classList.toggle('open');\n          toggle.setAttribute('aria-expanded', String(isOpen));\n          toggle.setAttribute('aria-label', isOpen ? 'Close menu' : 'Open menu');\n        });\n        nav.querySelectorAll('a').forEach(function (link) {\n          link.addEventListener('click', function () {\n            nav.classList.remove('open');\n            toggle.setAttribute('aria-expanded', 'false');\n            toggle.setAttribute('aria-label', 'Open menu');\n          });\n        });\n      }\n      \/* whatsapp topic prefill *\/\n      var topicSelect = document.getElementById('topic-select');\n      var waLink = document.getElementById('whatsapp-cta');\n      if (topicSelect && waLink) {\n        var baseNumber = 'https:\/\/wa.me\/5210000000000';\n        var baseText = \"I'd like to schedule an executive conversation about RewiredOS\";\n        topicSelect.addEventListener('change', function () {\n          var topic = topicSelect.value;\n          var text = topic ? (baseText + ' \u2014 specifically regarding ' + topic + '.') : (baseText + '.');\n          waLink.href = baseNumber + '?text=' + encodeURIComponent(text);\n        });\n      }\n      \/* scroll progress + header shadow *\/\n      var progress = document.getElementById('scrollProgress');\n      var header = document.getElementById('siteHeader');\n      var heroEl = document.getElementById('heroSection');\n      var ticking = false;\n      function onScroll() {\n        var scrollY = window.scrollY || window.pageYOffset;\n        var headerH = header ? header.offsetHeight : 78;\n        var heroH = heroEl ? heroEl.offsetHeight : 0;\n        var threshold = Math.max(10, heroH - headerH - 40);\n        if (header) header.classList.toggle('scrolled', scrollY > threshold);\n        var doc = document.documentElement;\n        var max = doc.scrollHeight - doc.clientHeight;\n        var p = max > 0 ? Math.min(1, scrollY \/ max) : 0;\n        if (progress) progress.style.transform = 'scaleX(' + p + ')';\n        ticking = false;\n      }\n      window.addEventListener('scroll', function () {\n        if (!ticking) { requestAnimationFrame(onScroll); ticking = true; }\n      }, { passive: true });\n      window.addEventListener('resize', onScroll);\n      onScroll();\n      \/* reveal on scroll *\/\n      document.querySelectorAll('.reveal-group').forEach(function (group) {\n        Array.prototype.forEach.call(group.children, function (child, i) {\n          child.setAttribute('data-reveal', '');\n          child.style.transitionDelay = Math.min(i * 70, 420) + 'ms';\n        });\n      });\n      var revealTargets = document.querySelectorAll('[data-reveal]');\n      if ('IntersectionObserver' in window) {\n        var revealObserver = new IntersectionObserver(function (entries) {\n          entries.forEach(function (entry) {\n            if (entry.isIntersecting) {\n              entry.target.classList.add('is-visible');\n              revealObserver.unobserve(entry.target);\n            }\n          });\n        }, { threshold: .15, rootMargin: '0px 0px -60px 0px' });\n        revealTargets.forEach(function (el) { revealObserver.observe(el); });\n      } else {\n        revealTargets.forEach(function (el) { el.classList.add('is-visible'); });\n      }\n      \/* scrollspy *\/\n      var navLinksEl = document.querySelector('.nav-links');\n      var navLinks = Array.prototype.slice.call(document.querySelectorAll('.nav-links .nav-top-link'));\n      var navIndicator = document.querySelector('.nav-indicator');\n      var navDropdownLinks = Array.prototype.slice.call(document.querySelectorAll('.nav-dropdown a'));\n      \/* mobile: caret button toggles that item's dropdown without navigating *\/\n      document.querySelectorAll('.nav-caret-btn').forEach(function (btn) {\n        btn.addEventListener('click', function () {\n          var item = btn.closest('.nav-item');\n          if (!item) return;\n          var isOpen = item.classList.toggle('is-open');\n          btn.setAttribute('aria-expanded', String(isOpen));\n        });\n      });\n      \/* Nav is clustered: every section under \"What it is\" rolls up into that one top-level\n         nav item's active state, with the specific dropdown sub-link also highlighted for\n         extra clarity. \"Home\" = hero, before scrolling into any tracked section.\n         \"The Coordination Gap\" and \"Schedule an Executive Conversation\" stand on their own. *\/\n      var SECTION_NAV_MAP = {\n        'heroSection': '#top',\n        'challenge': '#challenge',\n        'rewiredos': '#rewiredos',\n        'how-it-works': '#rewiredos',\n        'journey': '#rewiredos',\n        'capabilities': '#rewiredos',\n        'leadership': '#rewiredos',\n        'aips': '#rewiredos',\n        'library': '#rewiredos',\n        'distinction': '#rewiredos',\n        'faq': '#rewiredos',\n        'contact': '#contact'\n      };\n      var sections = Array.prototype.slice.call(document.querySelectorAll('main section[id]'))\n        .filter(function (s) { return SECTION_NAV_MAP.hasOwnProperty(s.id); });\n      function setActive(href, sectionId) {\n        var activeLink = null;\n        navLinks.forEach(function (a) {\n          var isActive = a.getAttribute('href') === href;\n          a.classList.toggle('active', isActive);\n          if (isActive) activeLink = a;\n        });\n        navDropdownLinks.forEach(function (a) {\n          a.classList.toggle('active', a.getAttribute('href') === '#' + sectionId);\n        });\n        if (activeLink && navIndicator && navLinksEl) {\n          var navRect = navLinksEl.getBoundingClientRect();\n          var linkRect = activeLink.getBoundingClientRect();\n          navIndicator.style.opacity = 1;\n          navIndicator.style.left = (linkRect.left - navRect.left) + 'px';\n          navIndicator.style.width = linkRect.width + 'px';\n        }\n      }\n      if ('IntersectionObserver' in window && sections.length) {\n        var spyObserver = new IntersectionObserver(function (entries) {\n          entries.forEach(function (entry) {\n            if (entry.isIntersecting) setActive(SECTION_NAV_MAP[entry.target.id], entry.target.id);\n          });\n        }, { rootMargin: '-45% 0px -50% 0px', threshold: 0 });\n        sections.forEach(function (s) { spyObserver.observe(s); });\n      }\n      \/* magnetic buttons *\/\n      if (!reduceMotion) {\n        document.querySelectorAll('.button').forEach(function (btn) {\n          btn.addEventListener('mousemove', function (e) {\n            var r = btn.getBoundingClientRect();\n            var relX = e.clientX - r.left - r.width \/ 2;\n            var relY = e.clientY - r.top - r.height \/ 2;\n            btn.style.transition = 'transform .15s ease-out';\n            btn.style.transform = 'translate(' + (relX * 0.16) + 'px,' + (relY * 0.35) + 'px)';\n          });\n          btn.addEventListener('mouseleave', function () {\n            btn.style.transition = 'transform .5s cubic-bezier(.16,1,.3,1)';\n            btn.style.transform = 'translate(0,0)';\n          });\n        });\n      }\n      \/* hero operating-system layer loop \u2014 a small light travels down the connecting line\n         between two cards, and only once it \"arrives\" does the next card's own status dot\n         switch on (soft fade, not a snap). Timing is class-toggle + setTimeout, no\n         coordinates, so nothing to recompute or break at other screen sizes. *\/\n      var osLoop = document.getElementById('heroOsLoop');\n      if (osLoop) {\n        var osLoopLayers = Array.prototype.slice.call(osLoop.querySelectorAll('.os-loop-layer'));\n        var osLoopConnectors = Array.prototype.slice.call(osLoop.querySelectorAll('.os-loop-connector'));\n        var osLoopTravelMs = 600; \/\/ matches the .os-loop-connector-pulse CSS animation duration\n        function setOsLoopActive(idx) {\n          osLoopLayers.forEach(function (layer, i) {\n            layer.classList.toggle('is-active', i === idx);\n          });\n        }\n        if (osLoopLayers.length) {\n          var osLoopIdx = 0;\n          setOsLoopActive(osLoopIdx);\n          if (!reduceMotion) {\n            setInterval(function () {\n              var nextIdx = (osLoopIdx + 1) % osLoopLayers.length;\n              var connector = osLoopConnectors[osLoopIdx]; \/\/ undefined when wrapping from the last layer back to the first\n              if (connector) {\n                connector.classList.add('is-traveling');\n                setTimeout(function () { connector.classList.remove('is-traveling'); }, osLoopTravelMs + 50);\n                setTimeout(function () { setOsLoopActive(nextIdx); }, osLoopTravelMs - 50);\n              } else {\n                setOsLoopActive(nextIdx);\n              }\n              osLoopIdx = nextIdx;\n            }, 2200);\n          }\n        }\n      }\n      \/* faq accordion *\/\n      document.querySelectorAll('[data-faq]').forEach(function (item) {\n        var trigger = item.querySelector('.faq-trigger');\n        trigger.addEventListener('click', function () {\n          var isOpen = item.classList.toggle('open');\n          trigger.setAttribute('aria-expanded', String(isOpen));\n        });\n      });\n      \/* transformation panel: before -> after connection lines *\/\n      var transformPanel = document.getElementById('transformPanel');\n      if (transformPanel) {\n        var transformGrid = transformPanel.querySelector('.transform-grid');\n        var transformSvg = document.getElementById('transformLines');\n        var beforeItems = Array.prototype.slice.call(transformPanel.querySelectorAll('.transform-before .transform-item'));\n        var afterItems = Array.prototype.slice.call(transformPanel.querySelectorAll('.transform-after .transform-item'));\n        var paths = [];\n        var played = false;\n        function pairIndexOf(el) { return parseInt(el.getAttribute('data-pair'), 10); }\n        function buildLines() {\n          if (!transformSvg || window.innerWidth <= 680) return;\n          var gridRect = transformGrid.getBoundingClientRect();\n          if (!gridRect.width || !gridRect.height) return;\n          transformSvg.setAttribute('viewBox', '0 0 ' + gridRect.width + ' ' + gridRect.height);\n          transformSvg.innerHTML = '';\n          paths = [];\n          beforeItems.forEach(function (item, i) {\n            var after = afterItems[i];\n            if (!after) return;\n            var r1 = item.getBoundingClientRect();\n            var r2 = after.getBoundingClientRect();\n            var x1 = r1.right - gridRect.left;\n            var y1 = r1.top + r1.height \/ 2 - gridRect.top;\n            var x2 = r2.left - gridRect.left;\n            var y2 = r2.top + r2.height \/ 2 - gridRect.top;\n            var mx = x1 + (x2 - x1) \/ 2;\n            var d = 'M ' + x1 + ' ' + y1 + ' C ' + mx + ' ' + y1 + ', ' + mx + ' ' + y2 + ', ' + x2 + ' ' + y2;\n            var path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n            path.setAttribute('d', d);\n            path.setAttribute('class', 'transform-line');\n            path.setAttribute('data-pair', String(i));\n            transformSvg.appendChild(path);\n            var len = path.getTotalLength();\n            path.style.strokeDasharray = String(len);\n            path.style.strokeDashoffset = String(played ? 0 : len);\n            paths.push(path);\n          });\n        }\n        function playAnimation() {\n          afterItems.forEach(function (item, i) { item.style.transitionDelay = (i * 110) + 'ms'; });\n          paths.forEach(function (path, i) { path.style.transitionDelay = (i * 110) + 'ms'; });\n          requestAnimationFrame(function () {\n            transformPanel.classList.add('is-active');\n            paths.forEach(function (path) { path.style.strokeDashoffset = '0'; });\n          });\n          played = true;\n        }\n        buildLines();\n        window.addEventListener('resize', buildLines);\n        window.addEventListener('load', buildLines);\n        if (reduceMotion) {\n          buildLines();\n          transformPanel.classList.add('is-active');\n          paths.forEach(function (path) { path.style.strokeDashoffset = '0'; });\n          played = true;\n        } else if ('IntersectionObserver' in window) {\n          var transformObserver = new IntersectionObserver(function (entries) {\n            entries.forEach(function (entry) {\n              if (entry.isIntersecting && !played) {\n                buildLines();\n                playAnimation();\n                transformObserver.unobserve(transformPanel);\n              }\n            });\n          }, { threshold: .35 });\n          transformObserver.observe(transformPanel);\n        } else {\n          buildLines();\n          playAnimation();\n        }\n        \/* hover pairing *\/\n        function setPairState(pairIndex) {\n          beforeItems.concat(afterItems).forEach(function (item) {\n            var i = pairIndexOf(item);\n            item.classList.toggle('is-highlighted', i === pairIndex);\n            item.classList.toggle('is-faded', pairIndex !== null && i !== pairIndex);\n          });\n          paths.forEach(function (path) {\n            var i = pairIndexOf(path);\n            path.classList.toggle('is-highlighted', i === pairIndex);\n            path.classList.toggle('is-faded', pairIndex !== null && i !== pairIndex);\n          });\n        }\n        beforeItems.concat(afterItems).forEach(function (item) {\n          item.addEventListener('mouseenter', function () { setPairState(pairIndexOf(item)); });\n          item.addEventListener('mouseleave', function () { setPairState(null); });\n          item.addEventListener('focus', function () { setPairState(pairIndexOf(item)); });\n          item.addEventListener('blur', function () { setPairState(null); });\n        });\n      }\n      \/* \"what is rewiredos\" operating model infographic: Strategy -> Transformation ->\n         Execution -> Measurable Business Impact, plus the enabler bar underneath. Purely\n         a static reference diagram (no click interactions) \u2014 the only dynamic bits are the\n         connector lines (computed from real node positions, redrawn on resize\/font-load so\n         nothing depends on a fixed viewport) and the horizontal-scroll affordance on narrow\n         screens, where the fixed-width process scrolls sideways instead of restacking. *\/\n      var opModelSvg = document.getElementById('opModelConnectorSvg');\n      var opModelGrid = document.querySelector('#opModelBoard .opmodel-grid');\n      if (opModelSvg && opModelGrid) {\n        function opModelIconY(el, gridRect) {\n          var r = el.getBoundingClientRect();\n          return r.top + r.height \/ 2 - gridRect.top;\n        }\n        \/* every source connects to every target in the next column \u2014 the reference\n           diagram reads as a dense, woven \"everything is connected\" fan rather than a\n           literal one-to-one mapping, so a full mesh matches it far more closely than\n           pairing sources up with only their nearest neighbours. *\/\n        function opModelFullMesh(sourceEls, targetEls) {\n          var pairs = [];\n          for (var i = 0; i < sourceEls.length; i++) {\n            for (var j = 0; j < targetEls.length; j++) {\n              pairs.push({ from: sourceEls[i], to: targetEls[j] });\n            }\n          }\n          return pairs;\n        }\n        function opModelDraw() {\n          var gridRect = opModelGrid.getBoundingClientRect();\n          if (gridRect.width < 1) return;\n          while (opModelSvg.childNodes.length > 1) opModelSvg.removeChild(opModelSvg.lastChild);\n          opModelSvg.setAttribute('width', gridRect.width);\n          opModelSvg.setAttribute('height', gridRect.height);\n          opModelSvg.setAttribute('viewBox', '0 0 ' + gridRect.width + ' ' + gridRect.height);\n          var strategyCol = opModelGrid.querySelector('.opmodel-col-strategy');\n          var transformCol = opModelGrid.querySelector('.opmodel-col-transformation');\n          var executionCol = opModelGrid.querySelector('.opmodel-col-execution');\n          var strategyIcons = Array.prototype.slice.call(opModelGrid.querySelectorAll('.opmodel-col-strategy .opmodel-node-icon'));\n          var transformIcons = Array.prototype.slice.call(opModelGrid.querySelectorAll('.opmodel-col-transformation .opmodel-node-icon'));\n          var executionIcons = Array.prototype.slice.call(opModelGrid.querySelectorAll('.opmodel-col-execution .opmodel-node-icon'));\n          var executionPill = document.querySelector('#opModelBoard .opmodel-stage-pill.execution');\n          var impactCircle = opModelGrid.querySelector('.opmodel-impact-circle');\n          var strategyColX = strategyCol.getBoundingClientRect().right - gridRect.left;\n          var transformColLeftX = transformCol.getBoundingClientRect().left - gridRect.left;\n          var transformColRightX = transformCol.getBoundingClientRect().right - gridRect.left;\n          var executionColLeftX = executionCol.getBoundingClientRect().left - gridRect.left;\n          var group1 = opModelFullMesh(strategyIcons, transformIcons);\n          var group2 = opModelFullMesh(transformIcons, executionIcons);\n          function opModelPathFor(entry, fromX, toX) {\n            var fromY = opModelIconY(entry.from, gridRect);\n            var toY = opModelIconY(entry.to, gridRect);\n            var midX = fromX + (toX - fromX) * 0.5;\n            return 'M' + fromX + ',' + fromY + ' C' + midX + ',' + fromY + ' ' + midX + ',' + toY + ' ' + toX + ',' + toY;\n          }\n          var ns = 'http:\/\/www.w3.org\/2000\/svg';\n          group1.forEach(function (entry) {\n            var p = document.createElementNS(ns, 'path');\n            p.setAttribute('d', opModelPathFor(entry, strategyColX, transformColLeftX));\n            p.setAttribute('fill', 'none');\n            p.setAttribute('stroke', 'var(--navy-950)');\n            p.setAttribute('stroke-opacity', '0.22');\n            p.setAttribute('stroke-width', '1.2');\n            p.setAttribute('marker-end', 'url(#opmodel-arrow-navy)');\n            opModelSvg.appendChild(p);\n          });\n          group2.forEach(function (entry) {\n            var p = document.createElementNS(ns, 'path');\n            p.setAttribute('d', opModelPathFor(entry, transformColRightX, executionColLeftX));\n            p.setAttribute('fill', 'none');\n            p.setAttribute('stroke', 'var(--cyan-500)');\n            p.setAttribute('stroke-opacity', '0.32');\n            p.setAttribute('stroke-width', '1.2');\n            p.setAttribute('marker-end', 'url(#opmodel-arrow-cyan)');\n            opModelSvg.appendChild(p);\n          });\n          if (executionPill && impactCircle) {\n            var pr = executionPill.getBoundingClientRect();\n            var ir = impactCircle.getBoundingClientRect();\n            var from = { x: pr.right - gridRect.left, y: pr.top + pr.height \/ 2 - gridRect.top };\n            var to = { x: ir.left - gridRect.left, y: ir.top + ir.height * 0.32 - gridRect.top };\n            var midX = from.x + (to.x - from.x) * 0.55;\n            var p = document.createElementNS(ns, 'path');\n            p.setAttribute('d', 'M' + from.x + ',' + from.y + ' C' + midX + ',' + from.y + ' ' + midX + ',' + to.y + ' ' + to.x + ',' + to.y);\n            p.setAttribute('fill', 'none');\n            p.setAttribute('stroke', 'var(--cyan-500)');\n            p.setAttribute('stroke-width', '2');\n            p.setAttribute('marker-end', 'url(#opmodel-arrow-cyan)');\n            opModelSvg.appendChild(p);\n          }\n        }\n        \/* scroll affordance: show the hint pill only while the process actually\n           overflows its viewport, and fade it out once the visitor has scrolled it\n           at least once *\/\n        var opModelScrollEl = document.getElementById('opModelScroll');\n        var opModelHintEl = document.getElementById('opModelScrollHint');\n        var opModelHintDismissed = false;\n        function opModelUpdateScrollHint() {\n          if (!opModelScrollEl || !opModelHintEl) return;\n          var overflows = opModelScrollEl.scrollWidth > opModelScrollEl.clientWidth + 2;\n          opModelHintEl.classList.toggle('is-visible', overflows && !opModelHintDismissed);\n        }\n        if (opModelScrollEl) {\n          opModelScrollEl.addEventListener('scroll', function () {\n            if (!opModelHintDismissed) {\n              opModelHintDismissed = true;\n              opModelHintEl.classList.add('is-dismissed');\n            }\n          }, { passive: true });\n        }\n        var opModelRaf;\n        function opModelScheduleDraw() {\n          cancelAnimationFrame(opModelRaf);\n          opModelRaf = requestAnimationFrame(function () {\n            opModelDraw();\n            opModelUpdateScrollHint();\n          });\n        }\n        window.addEventListener('load', opModelScheduleDraw);\n        window.addEventListener('resize', opModelScheduleDraw);\n        if (document.fonts && document.fonts.ready) {\n          document.fonts.ready.then(opModelScheduleDraw);\n        }\n        opModelScheduleDraw();\n      }\n      \/* how it works: interactive operating model loop *\/\n      var modelGrid = document.getElementById('modelGrid');\n      if (modelGrid) {\n        var MODEL_LAYERS = [\n          {\n            panelTitle: 'Strategic Layer',\n            purpose: 'Translate enterprise ambition into a clear and measurable direction by defining strategic priorities, expected business outcomes and investment focus.',\n            mechanisms: ['Digital Business Priorities (DBPs)', 'Strategic Objectives', 'OKRs', 'Value Pools', 'Executive Decision Forums', 'Investment Prioritization', 'Strategy Reviews'],\n            outputs: ['Strategic Priorities', 'Enterprise OKRs', 'Investment Themes', 'Value Maps', 'Priority Portfolio', 'Strategic Decisions']\n          },\n          {\n            panelTitle: 'Transformation Layer',\n            purpose: 'Translate strategic intent into the organizational capabilities required to achieve it.',\n            mechanisms: ['Capability Mapping', 'Capability Heatmaps', 'Operating Model Design', 'Business Architecture', 'AI Opportunity Identification', 'Transformation Roadmaps', 'Dependency Mapping'],\n            outputs: ['Business Capability Model', 'Target Operating Model', 'Capability Heatmaps', 'Transformation Roadmap', 'AI Opportunity Portfolio', 'Architecture Decisions']\n          },\n          {\n            panelTitle: 'Execution Layer',\n            purpose: 'Coordinate the delivery of initiatives that create measurable business value.',\n            mechanisms: ['Portfolio Management', 'Value Streams', 'Delivery Governance', 'Sprint Planning', 'Resource Allocation', 'Delivery Reviews', 'Cross-functional Coordination'],\n            outputs: ['Initiative Portfolio', 'Delivery Plans', 'Roadmaps', 'Release Plans', 'Portfolio Status', 'Delivery Metrics']\n          },\n          {\n            panelTitle: 'Measurement Layer',\n            purpose: 'Measure whether transformation is producing the intended business outcomes.',\n            mechanisms: ['KPI Management', 'OKR Tracking', 'Benefit Realization', 'Executive Dashboards', 'Value Traceability', 'Performance Reviews'],\n            outputs: ['KPI Dashboards', 'OKR Reports', 'Benefit Reports', 'Executive Scorecards', 'Portfolio Performance', 'Value Realization Metrics']\n          },\n          {\n            panelTitle: 'Adaptive Layer',\n            purpose: 'Continuously refine priorities, investments and execution based on evidence and changing business conditions.',\n            mechanisms: ['Portfolio Reviews', 'Prioritization Cadence', 'Strategic Adaptation', 'Intervention Governance', 'Continuous Learning', 'Investment Reallocation'],\n            outputs: ['Updated Priorities', 'Portfolio Decisions', 'Strategic Adjustments', 'Intervention Actions', 'Improvement Backlog', 'Updated Transformation Roadmap']\n          }\n        ];\n        var modelDiagram = document.getElementById('modelDiagram');\n        var modelLayersList = document.getElementById('modelLayersList');\n        var layerEls = Array.prototype.slice.call(modelLayersList.children);\n        var modelLoopLine = document.getElementById('modelLoopLine');\n        var modelPulseSvg = document.getElementById('modelPulseSvg');\n        var modelPulsePath = document.getElementById('modelPulsePath');\n        var modelPanel = document.getElementById('modelPanel');\n        var modelPanelIdle = document.getElementById('modelPanelIdle');\n        var modelPanelDetail = document.getElementById('modelPanelDetail');\n        var panelIndexEl = document.getElementById('panelIndex');\n        var panelEyebrowEl = document.getElementById('panelEyebrow');\n        var panelPurposeEl = document.getElementById('panelPurpose');\n        var panelMechanismsEl = document.getElementById('panelMechanisms');\n        var panelOutputsEl = document.getElementById('panelOutputs');\n        var panelPrevBtn = document.getElementById('panelPrev');\n        var panelNextBtn = document.getElementById('panelNext');\n        var panelCloseBtn = document.getElementById('modelPanelClose');\n        var modelPanelUpBtn = document.getElementById('modelPanelUp');\n        var selectedLayerIndex = null;\n        var modelMobileQuery = window.matchMedia ? window.matchMedia('(max-width: 980px)') : null;\n        function pad2(n) { return (n < 10 ? '0' : '') + n; }\n        function buildModelLines() {\n          if (!modelLoopLine || !modelDiagram) return;\n          var rect = modelDiagram.getBoundingClientRect();\n          if (!rect.width || !rect.height) return;\n          modelLoopLine.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height);\n          modelLoopLine.innerHTML = '';\n          if (modelPulseSvg) modelPulseSvg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height);\n          var edges = layerEls.map(function (el) { return el.getBoundingClientRect(); });\n          var i;\n          for (i = 0; i < edges.length - 1; i++) {\n            var x = edges[i].left + edges[i].width \/ 2 - rect.left;\n            var y1 = edges[i].bottom - rect.top;\n            var y2 = edges[i + 1].top - rect.top;\n            var seqPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n            seqPath.setAttribute('d', 'M ' + x + ' ' + y1 + ' L ' + x + ' ' + y2);\n            seqPath.setAttribute('class', 'model-line-seq');\n            modelLoopLine.appendChild(seqPath);\n          }\n          var first = edges[0];\n          var last = edges[edges.length - 1];\n          var x1 = last.right - rect.left;\n          var y1b = last.top + last.height \/ 2 - rect.top;\n          var x2 = first.right - rect.left;\n          var y2b = first.top + first.height \/ 2 - rect.top;\n          var bulge = 52;\n          var loopPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          loopPath.setAttribute('d', 'M ' + x1 + ' ' + y1b + ' C ' + (x1 + bulge) + ' ' + y1b + ', ' + (x2 + bulge) + ' ' + y2b + ', ' + x2 + ' ' + y2b);\n          loopPath.setAttribute('class', 'model-line-loop');\n          modelLoopLine.appendChild(loopPath);\n          if (modelPulsePath) {\n            var centers = edges.map(function (r) { return { x: r.left + r.width \/ 2 - rect.left, y: r.top + r.height \/ 2 - rect.top }; });\n            var d = 'M ' + centers[0].x + ' ' + centers[0].y;\n            for (var j = 1; j < centers.length; j++) { d += ' L ' + centers[j].x + ' ' + centers[j].y; }\n            var lc = centers[centers.length - 1], fc = centers[0];\n            d += ' C ' + (lc.x + bulge) + ' ' + lc.y + ', ' + (fc.x + bulge) + ' ' + fc.y + ', ' + fc.x + ' ' + fc.y;\n            modelPulsePath.setAttribute('d', d);\n          }\n        }\n        function fillPanel(i) {\n          var layer = MODEL_LAYERS[i];\n          if (panelIndexEl) panelIndexEl.textContent = pad2(i + 1);\n          if (panelEyebrowEl) panelEyebrowEl.textContent = layer.panelTitle;\n          if (panelPurposeEl) panelPurposeEl.textContent = layer.purpose;\n          if (panelMechanismsEl) panelMechanismsEl.innerHTML = layer.mechanisms.map(function (m) { return '<li>' + m + '<\/li>'; }).join('');\n          if (panelOutputsEl) panelOutputsEl.innerHTML = layer.outputs.map(function (o) { return '<li>' + o + '<\/li>'; }).join('');\n        }\n        function selectLayer(i) {\n          selectedLayerIndex = i;\n          layerEls.forEach(function (el, idx) {\n            var isSel = idx === i;\n            el.classList.toggle('is-selected', isSel);\n            el.setAttribute('aria-expanded', String(isSel));\n            el.setAttribute('aria-pressed', String(isSel));\n          });\n          if (modelDiagram) modelDiagram.classList.add('has-selection');\n          if (modelPulseSvg && modelPulseSvg.pauseAnimations) { try { modelPulseSvg.pauseAnimations(); } catch (e) {} }\n          fillPanel(i);\n          if (modelPanelIdle) modelPanelIdle.hidden = true;\n          if (modelPanelDetail) modelPanelDetail.hidden = false;\n          \/* on mobile the panel sits below the stacked layer list, so scroll it into\n             view \u2014 otherwise tapping a layer looks like nothing happened. *\/\n          if (modelPanel && modelMobileQuery && modelMobileQuery.matches) {\n            modelPanel.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth', block: 'center' });\n          }\n        }\n        function deselectLayer() {\n          selectedLayerIndex = null;\n          layerEls.forEach(function (el) {\n            el.classList.remove('is-selected');\n            el.setAttribute('aria-expanded', 'false');\n            el.setAttribute('aria-pressed', 'false');\n          });\n          if (modelDiagram) modelDiagram.classList.remove('has-selection');\n          if (modelPulseSvg && modelPulseSvg.unpauseAnimations && !reduceMotion) { try { modelPulseSvg.unpauseAnimations(); } catch (e) {} }\n          if (modelPanelIdle) modelPanelIdle.hidden = false;\n          if (modelPanelDetail) modelPanelDetail.hidden = true;\n        }\n        layerEls.forEach(function (el, idx) {\n          el.addEventListener('click', function () {\n            if (selectedLayerIndex === idx) { deselectLayer(); } else { selectLayer(idx); }\n          });\n          el.addEventListener('keydown', function (e) {\n            if (e.key === 'Enter' || e.key === ' ') {\n              e.preventDefault();\n              if (selectedLayerIndex === idx) { deselectLayer(); } else { selectLayer(idx); }\n            }\n          });\n        });\n        if (panelCloseBtn) panelCloseBtn.addEventListener('click', deselectLayer);\n        if (modelPanelUpBtn) modelPanelUpBtn.addEventListener('click', function () {\n          if (modelDiagram) modelDiagram.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth', block: 'start' });\n        });\n        if (panelPrevBtn) panelPrevBtn.addEventListener('click', function () {\n          if (selectedLayerIndex === null) return;\n          var next = (selectedLayerIndex + MODEL_LAYERS.length - 1) % MODEL_LAYERS.length;\n          selectLayer(next);\n          layerEls[next].focus();\n        });\n        if (panelNextBtn) panelNextBtn.addEventListener('click', function () {\n          if (selectedLayerIndex === null) return;\n          var next = (selectedLayerIndex + 1) % MODEL_LAYERS.length;\n          selectLayer(next);\n          layerEls[next].focus();\n        });\n        document.addEventListener('click', function (e) {\n          if (selectedLayerIndex === null) return;\n          if (!modelGrid.contains(e.target)) deselectLayer();\n        });\n        buildModelLines();\n        window.addEventListener('resize', buildModelLines);\n        window.addEventListener('load', buildModelLines);\n        if (reduceMotion && modelPulseSvg) { modelPulseSvg.style.display = 'none'; }\n      }\n      \/* capability enablement journey *\/\n      var journeyWrap = document.getElementById('journeyWrap');\n      if (journeyWrap) {\n        var JOURNEY_STAGES = [\n          { name: 'Understand', tag: 'Discovery', question: 'Where are we today?', outcome: 'Shared understanding of the current operating model, capability maturity and transformation readiness.', capability: 'Enterprise Understanding' },\n          { name: 'Build', tag: 'Foundation', question: 'What operating capabilities do we need to build?', outcome: 'Defined operating capability model, governance foundations and transformation design principles.', capability: 'Transformation Foundation' },\n          { name: 'Architect', tag: 'Blueprint', question: 'How should the enterprise operate?', outcome: 'Target Operating Model and RewiredOS Blueprint.', capability: 'Enterprise Architecture Capability' },\n          { name: 'Activate', tag: 'Operations', question: 'How do we embed the new operating model?', outcome: 'RewiredOS operating model institutionalized through governance, processes and operating rhythm.', capability: 'Operational Excellence' },\n          { name: 'Evolve', tag: 'Continuous Improvement', question: 'How do we continuously improve and adapt?', outcome: 'Continuous optimization through measurement, learning and strategic adaptation.', capability: 'Adaptive Enterprise' }\n        ];\n        var journeyTrack = document.getElementById('journeyTrack');\n        var journeyStagesList = document.getElementById('journeyStages');\n        var journeyStageEls = Array.prototype.slice.call(journeyStagesList.children);\n        var journeyLine = document.getElementById('journeyLine');\n        var journeyLinePathEl = null;\n        var journeyPlayed = false;\n        var journeyPanel = document.getElementById('journeyPanel');\n        var journeyPanelIndexEl = document.getElementById('journeyPanelIndex');\n        var journeyPanelEyebrowEl = document.getElementById('journeyPanelEyebrow');\n        var journeyPanelNameEl = document.getElementById('journeyPanelName');\n        var journeyPanelQuestionEl = document.getElementById('journeyPanelQuestion');\n        var journeyPanelOutcomeEl = document.getElementById('journeyPanelOutcome');\n        var journeyPanelCapabilityEl = document.getElementById('journeyPanelCapability');\n        var journeyPrevBtn = document.getElementById('journeyPrev');\n        var journeyNextBtn = document.getElementById('journeyNext');\n        var journeyCloseBtn = document.getElementById('journeyPanelClose');\n        var journeyPanelUpBtn = document.getElementById('journeyPanelUp');\n        var journeySelectedIndex = null;\n        var journeyMobileQuery = window.matchMedia ? window.matchMedia('(max-width: 680px)') : null;\n        function jPad2(n) { return (n < 10 ? '0' : '') + n; }\n        function buildJourneyLine() {\n          if (!journeyLine || !journeyTrack) return;\n          var rect = journeyTrack.getBoundingClientRect();\n          if (!rect.width || !rect.height) return;\n          journeyLine.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height);\n          journeyLine.innerHTML = '';\n          var centers = journeyStageEls.map(function (el) {\n            var r = el.querySelector('.journey-marker').getBoundingClientRect();\n            return { x: r.left + r.width \/ 2 - rect.left, y: r.top + r.height \/ 2 - rect.top };\n          });\n          var d = 'M ' + centers[0].x + ' ' + centers[0].y;\n          for (var i = 1; i < centers.length; i++) { d += ' L ' + centers[i].x + ' ' + centers[i].y; }\n          var path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          path.setAttribute('d', d);\n          path.setAttribute('class', 'journey-line-path');\n          journeyLine.appendChild(path);\n          journeyLinePathEl = path;\n          var len = path.getTotalLength();\n          path.style.strokeDasharray = String(len);\n          path.style.strokeDashoffset = String(journeyPlayed ? 0 : len);\n        }\n        function primeJourneyMarkers() {\n          journeyStageEls.forEach(function (el) { el.style.opacity = '.35'; });\n        }\n        function playJourney() {\n          if (journeyLinePathEl) {\n            requestAnimationFrame(function () {\n              journeyLinePathEl.style.transition = 'stroke-dashoffset 1.3s var(--ease)';\n              journeyLinePathEl.style.strokeDashoffset = '0';\n            });\n          }\n          journeyStageEls.forEach(function (el, i) {\n            setTimeout(function () {\n              el.style.transition = 'opacity .5s ease';\n              el.style.opacity = '1';\n            }, i * 170);\n          });\n          journeyPlayed = true;\n        }\n        function fillJourneyPanel(i) {\n          var stage = JOURNEY_STAGES[i];\n          if (journeyPanelIndexEl) journeyPanelIndexEl.textContent = jPad2(i + 1);\n          if (journeyPanelEyebrowEl) journeyPanelEyebrowEl.textContent = stage.tag;\n          if (journeyPanelNameEl) journeyPanelNameEl.textContent = stage.name;\n          if (journeyPanelQuestionEl) journeyPanelQuestionEl.textContent = stage.question;\n          if (journeyPanelOutcomeEl) journeyPanelOutcomeEl.textContent = stage.outcome;\n          if (journeyPanelCapabilityEl) journeyPanelCapabilityEl.textContent = stage.capability;\n        }\n        function selectJourneyStage(i) {\n          journeySelectedIndex = i;\n          journeyStageEls.forEach(function (el, idx) {\n            var isSel = idx === i;\n            el.classList.toggle('is-selected', isSel);\n            el.setAttribute('aria-expanded', String(isSel));\n            el.setAttribute('aria-pressed', String(isSel));\n            if (isSel) el.classList.add('is-visited');\n          });\n          if (journeyTrack) journeyTrack.classList.add('has-selection');\n          fillJourneyPanel(i);\n          if (journeyPanel) journeyPanel.hidden = false;\n          \/* on mobile the panel sits below the stacked stage list, so scroll it into\n             view \u2014 otherwise tapping a stage looks like nothing happened. *\/\n          if (journeyPanel && journeyMobileQuery && journeyMobileQuery.matches) {\n            journeyPanel.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth', block: 'center' });\n          }\n        }\n        function deselectJourneyStage() {\n          journeySelectedIndex = null;\n          journeyStageEls.forEach(function (el) {\n            el.classList.remove('is-selected');\n            el.setAttribute('aria-expanded', 'false');\n            el.setAttribute('aria-pressed', 'false');\n          });\n          if (journeyTrack) journeyTrack.classList.remove('has-selection');\n          if (journeyPanel) journeyPanel.hidden = true;\n        }\n        journeyStageEls.forEach(function (el, idx) {\n          el.addEventListener('click', function () {\n            if (journeySelectedIndex === idx) { deselectJourneyStage(); } else { selectJourneyStage(idx); }\n          });\n          el.addEventListener('keydown', function (e) {\n            if (e.key === 'Enter' || e.key === ' ') {\n              e.preventDefault();\n              if (journeySelectedIndex === idx) { deselectJourneyStage(); } else { selectJourneyStage(idx); }\n            }\n          });\n        });\n        if (journeyCloseBtn) journeyCloseBtn.addEventListener('click', deselectJourneyStage);\n        if (journeyPrevBtn) journeyPrevBtn.addEventListener('click', function () {\n          if (journeySelectedIndex === null) return;\n          var next = (journeySelectedIndex + JOURNEY_STAGES.length - 1) % JOURNEY_STAGES.length;\n          selectJourneyStage(next);\n          journeyStageEls[next].focus();\n        });\n        if (journeyNextBtn) journeyNextBtn.addEventListener('click', function () {\n          if (journeySelectedIndex === null) return;\n          var next = (journeySelectedIndex + 1) % JOURNEY_STAGES.length;\n          selectJourneyStage(next);\n          journeyStageEls[next].focus();\n        });\n        if (journeyPanelUpBtn) journeyPanelUpBtn.addEventListener('click', function () {\n          if (journeyTrack) journeyTrack.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth', block: 'start' });\n        });\n        document.addEventListener('click', function (e) {\n          if (journeySelectedIndex === null) return;\n          if (journeyWrap.contains(e.target)) return;\n          deselectJourneyStage();\n        });\n        buildJourneyLine();\n        window.addEventListener('resize', buildJourneyLine);\n        window.addEventListener('load', buildJourneyLine);\n        if (reduceMotion) {\n          journeyPlayed = true;\n          buildJourneyLine();\n        } else if ('IntersectionObserver' in window) {\n          primeJourneyMarkers();\n          var journeyObserver = new IntersectionObserver(function (entries) {\n            entries.forEach(function (entry) {\n              if (entry.isIntersecting && !journeyPlayed) {\n                buildJourneyLine();\n                playJourney();\n                journeyObserver.unobserve(journeyWrap);\n              }\n            });\n          }, { threshold: .3 });\n          journeyObserver.observe(journeyWrap);\n        } else {\n          playJourney();\n        }\n      }\n      \/* operating capabilities: classic accordion, exclusive open \u2014 only one stays\n         expanded at a time so the section can't scroll on forever *\/\n      var capabilityGrid = document.getElementById('capabilityGrid');\n      if (capabilityGrid) {\n        var capabilityItems = Array.prototype.slice.call(capabilityGrid.querySelectorAll('.faq-item'));\n        capabilityItems.forEach(function (item) {\n          var trigger = item.querySelector('.capability-trigger');\n          if (!trigger) return;\n          trigger.addEventListener('click', function () {\n            var wasOpen = item.classList.contains('open');\n            capabilityItems.forEach(function (i) {\n              i.classList.remove('open');\n              var t = i.querySelector('.capability-trigger');\n              if (t) t.setAttribute('aria-expanded', 'false');\n            });\n            if (!wasOpen) {\n              item.classList.add('open');\n              trigger.setAttribute('aria-expanded', 'true');\n            }\n          });\n        });\n      }\n      \/* leadership perspectives: desktop tabs (cross-fade) + mobile independent accordion *\/\n      var leadershipTabs = document.getElementById('leadershipTabs');\n      if (leadershipTabs) {\n        var leadershipTabButtons = Array.prototype.slice.call(leadershipTabs.querySelectorAll('.leadership-tab'));\n        var leadershipPanels = Array.prototype.slice.call(leadershipTabs.querySelectorAll('.leadership-panel'));\n        function showLeadershipPanel(panel) {\n          panel.classList.add('is-active');\n          if (reduceMotion) {\n            panel.classList.add('is-showing');\n          } else {\n            requestAnimationFrame(function () {\n              requestAnimationFrame(function () { panel.classList.add('is-showing'); });\n            });\n          }\n        }\n        function activateLeadershipTab(role) {\n          var nextTab = leadershipTabs.querySelector('.leadership-tab[data-role=\"' + role + '\"]');\n          var nextPanel = leadershipTabs.querySelector('.leadership-panel[data-role-panel=\"' + role + '\"]');\n          var currentPanel = leadershipTabs.querySelector('.leadership-panel.is-active');\n          if (!nextTab || !nextPanel || nextPanel === currentPanel) return;\n          leadershipTabButtons.forEach(function (t) {\n            t.classList.remove('is-active');\n            t.setAttribute('aria-selected', 'false');\n          });\n          nextTab.classList.add('is-active');\n          nextTab.setAttribute('aria-selected', 'true');\n          if (currentPanel) {\n            if (reduceMotion) {\n              currentPanel.classList.remove('is-active', 'is-showing');\n              showLeadershipPanel(nextPanel);\n            } else {\n              currentPanel.classList.remove('is-showing');\n              window.setTimeout(function () {\n                currentPanel.classList.remove('is-active');\n                showLeadershipPanel(nextPanel);\n              }, 220);\n            }\n          } else {\n            showLeadershipPanel(nextPanel);\n          }\n        }\n        leadershipTabButtons.forEach(function (tab) {\n          tab.addEventListener('click', function () {\n            activateLeadershipTab(tab.getAttribute('data-role'));\n          });\n          tab.addEventListener('keydown', function (e) {\n            var idx = leadershipTabButtons.indexOf(tab);\n            var next = null;\n            if (e.key === 'ArrowRight') next = leadershipTabButtons[(idx + 1) % leadershipTabButtons.length];\n            if (e.key === 'ArrowLeft') next = leadershipTabButtons[(idx - 1 + leadershipTabButtons.length) % leadershipTabButtons.length];\n            if (next) {\n              e.preventDefault();\n              next.focus();\n              activateLeadershipTab(next.getAttribute('data-role'));\n            }\n          });\n        });\n        \/* default active state: CEO, matching markup's initial .is-active panel *\/\n        var initialTab = leadershipTabs.querySelector('.leadership-tab[data-role=\"ceo\"]');\n        if (initialTab) initialTab.classList.add('is-active');\n        var initialPanel = leadershipTabs.querySelector('.leadership-panel.is-active');\n        if (initialPanel) showLeadershipPanel(initialPanel);\n        \/* mobile: each panel expands\/collapses independently of the others *\/\n        leadershipPanels.forEach(function (panel) {\n          var mobileToggle = panel.querySelector('.leadership-panel-mobile-toggle');\n          if (!mobileToggle) return;\n          mobileToggle.addEventListener('click', function () {\n            var isOpen = panel.classList.toggle('is-open');\n            mobileToggle.setAttribute('aria-expanded', String(isOpen));\n          });\n        });\n      }\n      \/* AIPs: capability relationship highlighting + mobile accordion *\/\n      var aipCapabilityStrip = document.getElementById('aipCapabilityStrip');\n      var aipGrid = document.getElementById('aipGrid');\n      if (aipCapabilityStrip && aipGrid) {\n        var aipPillsWrap = aipCapabilityStrip.querySelector('.aip-capability-pills');\n        var aipPills = Array.prototype.slice.call(aipPillsWrap.querySelectorAll('.aip-capability-pill'));\n        var aipCards = Array.prototype.slice.call(aipGrid.querySelectorAll('[data-aip]'));\n        function highlightAipCapabilities(card) {\n          var related = (card.getAttribute('data-related-capabilities') || '')\n            .split(',')\n            .map(function (s) { return s.trim(); })\n            .filter(Boolean);\n          if (!related.length) return;\n          aipPillsWrap.classList.add('has-highlight');\n          aipPills.forEach(function (pill) {\n            if (related.indexOf(pill.getAttribute('data-capability')) !== -1) {\n              pill.classList.add('is-related');\n            }\n          });\n        }\n        function clearAipHighlight() {\n          aipPillsWrap.classList.remove('has-highlight');\n          aipPills.forEach(function (pill) { pill.classList.remove('is-related'); });\n        }\n        aipCards.forEach(function (card) {\n          card.addEventListener('mouseenter', function () { highlightAipCapabilities(card); });\n          card.addEventListener('mouseleave', function () {\n            if (!card.classList.contains('is-open')) clearAipHighlight();\n          });\n          card.addEventListener('focusin', function () { highlightAipCapabilities(card); });\n          card.addEventListener('focusout', function (e) {\n            if (!card.contains(e.relatedTarget) && !card.classList.contains('is-open')) clearAipHighlight();\n          });\n          var mobileToggle = card.querySelector('.aip-card-mobile-toggle');\n          if (mobileToggle) {\n            mobileToggle.addEventListener('click', function () {\n              var isOpen = card.classList.toggle('is-open');\n              mobileToggle.setAttribute('aria-expanded', String(isOpen));\n              if (isOpen) {\n                highlightAipCapabilities(card);\n              } else {\n                clearAipHighlight();\n              }\n            });\n          }\n        });\n      }\n      \/* footer: keep copyright year current *\/\n      var footerYear = document.getElementById('footerYear');\n      if (footerYear) footerYear.textContent = new Date().getFullYear();\n    })();\n<\/script>\n\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>Home Why RewiredOS Explore RewiredOS What is RewiredOS How RewiredOS Works Capability Enablement Journey Operating Capabilities Leadership Perspectives FAQ Insights [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-410","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/pages\/410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/comments?post=410"}],"version-history":[{"count":35,"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/pages\/410\/revisions"}],"predecessor-version":[{"id":505,"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/pages\/410\/revisions\/505"}],"wp:attachment":[{"href":"https:\/\/rewired-os.com\/index.php\/wp-json\/wp\/v2\/media?parent=410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}