{"id":436,"date":"2026-09-18T12:29:03","date_gmt":"2026-09-18T10:29:03","guid":{"rendered":"https:\/\/nexpertia.dk\/?page_id=436"},"modified":"2026-09-20T10:13:42","modified_gmt":"2026-09-20T08:13:42","slug":"intelligence","status":"publish","type":"page","link":"https:\/\/nexpertia.dk\/index.php\/intelligence\/","title":{"rendered":"Intelligence"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n\/* ==========================================================\n   NEXPERTIA INTELLIGENCE 2.0\n   ========================================================== *\/\n\n.nxi-page {\n    --bg: #f5f0e8;\n    --soft: #ebe4d8;\n    --paper: #fffdf8;\n\n    --ink: #273129;\n    --ink-soft: #48534b;\n    --muted: #737b75;\n\n    --green: #72806e;\n    --green-dark: #384b40;\n    --green-deep: #304138;\n\n    --sage: #dfe6dd;\n    --sand: #e7d8c4;\n    --clay: #a95f45;\n    --clay-soft: #efe1d7;\n\n    --line: rgba(39,49,41,.12);\n    --line-dark: rgba(255,255,255,.15);\n\n    --display:\n        \"Iowan Old Style\",\n        \"Palatino Linotype\",\n        \"Book Antiqua\",\n        Georgia,\n        serif;\n\n    --shadow:\n        0 22px 65px rgba(45,50,42,.065);\n\n    width: 100vw;\n    max-width: none;\n\n    margin-left: calc(50% - 50vw);\n\n    overflow: hidden;\n\n    background: var(--bg);\n    color: var(--ink);\n\n    font-family:\n        Inter,\n        -apple-system,\n        BlinkMacSystemFont,\n        \"Segoe UI\",\n        sans-serif;\n\n    line-height: 1.6;\n\n    -webkit-font-smoothing: antialiased;\n}\n\n\n\/* RESET *\/\n\n.nxi-page *,\n.nxi-page *::before,\n.nxi-page *::after {\n    box-sizing: border-box;\n}\n\n.nxi-page h1,\n.nxi-page h2,\n.nxi-page h3,\n.nxi-page p {\n    margin-top: 0;\n}\n\n.nxi-page p:last-child {\n    margin-bottom: 0;\n}\n\n.nxi-page a {\n    color: inherit;\n    text-decoration: none;\n}\n\n.nxi-page h1,\n.nxi-page h2 {\n    font-family: var(--display);\n    font-weight: 500;\n    line-height: .98;\n    letter-spacing: -.045em;\n}\n\n\n.nxi-wrap {\n    width: min(1180px, calc(100% - 48px));\n    margin: 0 auto;\n}\n\n\n.nxi-section {\n    padding: 104px 0;\n}\n\n\n\/* ==========================================================\n   HELPERS\n   ========================================================== *\/\n\n.nxi-kicker {\n    margin-bottom: 14px !important;\n\n    color: var(--clay);\n\n    font-size: 9px;\n    font-weight: 850;\n\n    letter-spacing: .13em;\n    text-transform: uppercase;\n}\n\n\n.nxi-kicker-light {\n    color: #decbb0;\n}\n\n\n.nxi-overline {\n    display: block;\n\n    margin-bottom: 7px;\n\n    color: var(--muted);\n\n    font-size: 8px;\n    font-weight: 850;\n\n    letter-spacing: .1em;\n    text-transform: uppercase;\n}\n\n\n\/* ==========================================================\n   BUTTONS\n   ========================================================== *\/\n\n.nxi-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n}\n\n\n.nxi-actions-center {\n    justify-content: center;\n}\n\n\n.nxi-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n\n    gap: 8px;\n\n    min-height: 45px;\n\n    padding: 0 19px;\n\n    border-radius: 999px;\n\n    font-size: 11px;\n    font-weight: 780;\n\n    transition:\n        transform .18s ease,\n        background .18s ease,\n        border-color .18s ease;\n}\n\n\n.nxi-btn:hover {\n    transform: translateY(-2px);\n}\n\n\n.nxi-btn-primary {\n    background: var(--green-dark);\n    border: 1px solid var(--green-dark);\n\n    color: #fff !important;\n}\n\n\n.nxi-btn-secondary {\n    background: rgba(255,255,255,.55);\n    border: 1px solid var(--line);\n\n    color: var(--ink) !important;\n}\n\n\n\/* ==========================================================\n   HERO\n   ========================================================== *\/\n\n.nxi-hero {\n    padding: 36px 0 0;\n\n    background:\n        radial-gradient(\n            circle at 80% 18%,\n            rgba(204,190,164,.22),\n            transparent 32%\n        ),\n        var(--bg);\n}\n\n\n.nxi-brand-row {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n\n    margin-bottom: 70px;\n}\n\n\n.nxi-brand {\n    font-size: 11px;\n    font-weight: 900;\n\n    letter-spacing: .18em;\n}\n\n\n.nxi-mini-link {\n    font-size: 11px;\n    font-weight: 750;\n}\n\n\n.nxi-eyebrow {\n    display: inline-flex;\n    align-items: center;\n\n    gap: 7px;\n\n    margin-bottom: 25px;\n\n    padding: 6px 9px;\n\n    border: 1px solid var(--line);\n    border-radius: 999px;\n\n    background: rgba(255,255,255,.4);\n\n    font-size: 8px;\n    font-weight: 850;\n\n    letter-spacing: .11em;\n}\n\n\n.nxi-eyebrow::before {\n    content: \"\";\n\n    width: 6px;\n    height: 6px;\n\n    border-radius: 50%;\n\n    background: var(--clay);\n}\n\n\n.nxi-hero-grid {\n    display: grid;\n\n    grid-template-columns:\n        minmax(0,1.35fr)\n        minmax(300px,.65fr);\n\n    gap: 80px;\n\n    align-items: end;\n}\n\n\n.nxi-hero h1 {\n    margin: 0;\n\n    font-size:\n        clamp(62px, 7.8vw, 108px);\n}\n\n\n.nxi-hero h1 span {\n    color: var(--green);\n}\n\n\n.nxi-hero-copy {\n    padding-bottom: 6px;\n}\n\n\n.nxi-hero-copy > p {\n    margin-bottom: 16px;\n\n    color: var(--ink-soft);\n\n    font-size: 15px;\n    line-height: 1.72;\n}\n\n\n.nxi-hero-copy-small {\n    color: var(--muted) !important;\n    font-size: 11px !important;\n}\n\n\n.nxi-hero-copy .nxi-actions {\n    margin-top: 26px;\n}\n\n\n.nxi-hero-principle {\n    display: grid;\n\n    grid-template-columns:\n        40px\n        minmax(180px,.45fr)\n        1fr;\n\n    gap: 20px;\n\n    align-items: start;\n\n    margin-top: 65px;\n\n    padding: 24px 0;\n\n    border-top: 1px solid var(--line);\n    border-bottom: 1px solid var(--line);\n}\n\n\n.nxi-hero-principle > span {\n    color: var(--clay);\n\n    font-size: 8px;\n    font-weight: 850;\n}\n\n\n.nxi-hero-principle > strong {\n    font-size: 12px;\n}\n\n\n.nxi-hero-principle p {\n    color: var(--muted);\n\n    font-size: 11px;\n}\n\n\n\/* ==========================================================\n   SECTION HEAD\n   ========================================================== *\/\n\n.nxi-section-head,\n.nxi-product-heading {\n    display: grid;\n\n    grid-template-columns:\n        minmax(0,1fr)\n        minmax(300px,.58fr);\n\n    gap: 75px;\n\n    align-items: end;\n\n    margin-bottom: 48px;\n}\n\n\n.nxi-section-head h2,\n.nxi-product-heading h2 {\n    margin: 0;\n\n    font-size:\n        clamp(47px,5vw,72px);\n}\n\n\n.nxi-section-copy,\n.nxi-product-description {\n    color: var(--ink-soft);\n\n    font-size: 13px;\n    line-height: 1.75;\n}\n\n\n.nxi-product-purpose {\n    margin-top: 22px;\n\n    padding-top: 17px;\n\n    border-top: 1px solid var(--line);\n}\n\n\n.nxi-product-purpose span {\n    display: block;\n\n    margin-bottom: 5px;\n\n    color: var(--clay);\n\n    font-size: 8px;\n    font-weight: 850;\n\n    letter-spacing: .08em;\n}\n\n\n.nxi-product-purpose strong {\n    display: block;\n\n    color: var(--ink);\n\n    font-size: 12px;\n    line-height: 1.5;\n}\n\n\n\/* ==========================================================\n   INTRO PROCESS\n   ========================================================== *\/\n\n.nxi-intro-section {\n    background: var(--paper);\n}\n\n\n.nxi-process-grid {\n    display: grid;\n    grid-template-columns: repeat(3,1fr);\n\n    gap: 15px;\n}\n\n\n.nxi-process-card {\n    min-height: 300px;\n\n    padding: 25px;\n\n    display: flex;\n    flex-direction: column;\n\n    border: 1px solid var(--line);\n    border-radius: 23px;\n\n    background: var(--bg);\n}\n\n\n.nxi-process-card-accent {\n    background: var(--sage);\n}\n\n\n.nxi-process-number {\n    margin-bottom: 53px;\n\n    color: var(--clay);\n\n    font-size: 8px;\n    font-weight: 850;\n}\n\n\n.nxi-process-card h3 {\n    margin: 0 0 13px;\n\n    font-size: 22px;\n    line-height: 1.15;\n\n    letter-spacing: -.025em;\n}\n\n\n.nxi-process-card p {\n    margin-top: auto;\n\n    color: var(--muted);\n\n    font-size: 10px;\n    line-height: 1.7;\n}\n\n\n.nxi-flow-line {\n    display: flex;\n    flex-wrap: wrap;\n\n    align-items: center;\n\n    gap: 12px;\n\n    margin-top: 32px;\n\n    padding: 20px;\n\n    border-top: 1px solid var(--line);\n    border-bottom: 1px solid var(--line);\n\n    color: var(--muted);\n\n    font-size: 8px;\n    font-weight: 800;\n\n    letter-spacing: .08em;\n}\n\n\n.nxi-flow-line i {\n    color: var(--clay);\n\n    font-style: normal;\n}\n\n\n.nxi-flow-line strong {\n    color: var(--green-dark);\n}\n\n\n\/* ==========================================================\n   EXAMPLES\n   ========================================================== *\/\n\n.nxi-section-soft {\n    background: var(--soft);\n}\n\n\n.nxi-example-intro {\n    padding-bottom: 45px;\n}\n\n\n.nxi-example-intro-grid {\n    display: grid;\n\n    grid-template-columns:\n        1fr\n        .55fr;\n\n    gap: 70px;\n\n    align-items: end;\n}\n\n\n.nxi-example-intro h2 {\n    margin: 0;\n\n    font-size:\n        clamp(45px,4.7vw,68px);\n}\n\n\n.nxi-example-intro p {\n    color: var(--ink-soft);\n\n    font-size: 13px;\n    line-height: 1.75;\n}\n\n\n\/* ==========================================================\n   DASHBOARD\n   ========================================================== *\/\n\n.nxi-dashboard {\n    display: grid;\n    gap: 14px;\n}\n\n\n.nxi-toolbar {\n    display: flex;\n\n    justify-content: space-between;\n    align-items: center;\n\n    gap: 20px;\n\n    padding: 10px 13px;\n\n    border: 1px solid var(--line);\n    border-radius: 15px;\n\n    background: #f8f4ed;\n}\n\n\n.nxi-control-group {\n    display: flex;\n    align-items: center;\n\n    gap: 11px;\n}\n\n\n.nxi-control-label {\n    color: var(--muted);\n\n    font-size: 8px;\n    font-weight: 850;\n\n    letter-spacing: .08em;\n\n    text-transform: uppercase;\n}\n\n\n.nxi-segmented {\n    display: flex;\n\n    padding: 3px;\n\n    border-radius: 999px;\n\n    background: #e2dcd2;\n}\n\n\n.nxi-segmented button {\n    appearance: none;\n\n    border: 0;\n    border-radius: 999px;\n\n    padding: 7px 12px;\n\n    background: transparent;\n\n    color: var(--muted);\n\n    font: inherit;\n\n    font-size: 9px;\n    font-weight: 760;\n\n    cursor: pointer;\n}\n\n\n.nxi-segmented button.is-active {\n    background: var(--paper);\n\n    color: var(--ink);\n\n    box-shadow:\n        0 2px 8px rgba(39,49,41,.1);\n}\n\n\n.nxi-kpi-grid {\n    display: grid;\n    grid-template-columns: repeat(3,1fr);\n\n    gap: 12px;\n}\n\n\n.nxi-kpi {\n    min-height: 140px;\n\n    padding: 20px;\n\n    display: flex;\n    flex-direction: column;\n\n    justify-content: space-between;\n\n    border: 1px solid var(--line);\n    border-radius: 18px;\n\n    background: var(--paper);\n}\n\n\n.nxi-kpi-accent {\n    background: var(--sage);\n}\n\n\n.nxi-kpi-label {\n    color: var(--muted);\n\n    font-size: 8px;\n    font-weight: 800;\n\n    text-transform: uppercase;\n}\n\n\n.nxi-kpi strong {\n    font-size: 33px;\n    letter-spacing: -.04em;\n}\n\n\n.nxi-kpi small {\n    color: var(--muted);\n\n    font-size: 9px;\n}\n\n\n\/* ==========================================================\n   SIGNAL\n   ========================================================== *\/\n\n.nxi-signal-card,\n.nxi-reg-context {\n    padding: 24px 26px;\n\n    border-left: 3px solid var(--clay);\n    border-radius: 5px 18px 18px 5px;\n\n    background: #f7f1e8;\n}\n\n\n.nxi-signal-card p,\n.nxi-reg-context p {\n    max-width: 850px;\n\n    margin-bottom: 8px;\n\n    color: var(--ink);\n\n    font-family: var(--display);\n\n    font-size: 23px;\n    line-height: 1.25;\n\n    letter-spacing: -.02em;\n}\n\n\n.nxi-signal-card small {\n    color: var(--muted);\n\n    font-size: 9px;\n}\n\n\n\/* ==========================================================\n   CHART\n   ========================================================== *\/\n\n.nxi-chart-card {\n    padding: 24px;\n\n    border: 1px solid var(--line);\n    border-radius: 24px;\n\n    background: var(--paper);\n\n    box-shadow: var(--shadow);\n}\n\n\n.nxi-chart-head {\n    display: flex;\n\n    justify-content: space-between;\n\n    gap: 20px;\n\n    padding-bottom: 17px;\n\n    border-bottom: 1px solid var(--line);\n}\n\n\n.nxi-chart-head strong {\n    font-size: 12px;\n}\n\n\n.nxi-chart-period {\n    color: var(--muted);\n\n    font-size: 8px;\n}\n\n\n.nxi-chart-wrap {\n    width: 100%;\n\n    padding-top: 20px;\n\n    overflow: visible;\n}\n\n\n#nxi-social-chart {\n    display: block !important;\n\n    width: 100% !important;\n    height: auto !important;\n\n    aspect-ratio: 760 \/ 300;\n\n    overflow: visible !important;\n}\n\n\n.nxi-chart-years {\n    display: grid;\n\n    grid-template-columns: repeat(6,1fr);\n\n    padding: 0 4px;\n}\n\n\n.nxi-chart-years span {\n    color: var(--muted);\n\n    font-size: 8px;\n\n    text-align: center;\n}\n\n\n\/* ==========================================================\n   DETAILS \/ TABLE\n   ========================================================== *\/\n\n.nxi-details {\n    border: 1px solid var(--line);\n    border-radius: 18px;\n\n    background: var(--paper);\n\n    overflow: hidden;\n}\n\n\n.nxi-details summary {\n    display: flex;\n\n    justify-content: space-between;\n\n    align-items: center;\n\n    padding: 18px 20px;\n\n    cursor: pointer;\n\n    font-size: 11px;\n    font-weight: 760;\n\n    list-style: none;\n}\n\n\n.nxi-details summary::-webkit-details-marker {\n    display: none;\n}\n\n\n.nxi-details[open] summary span {\n    transform: rotate(45deg);\n}\n\n\n.nxi-table-scroll {\n    overflow-x: auto;\n\n    border-top: 1px solid var(--line);\n}\n\n\n.nxi-table {\n    width: 100%;\n\n    border-collapse: collapse;\n\n    font-size: 9px;\n}\n\n\n.nxi-table th,\n.nxi-table td {\n    padding: 12px 14px;\n\n    border-bottom: 1px solid var(--line);\n\n    text-align: right;\n}\n\n\n.nxi-table th:first-child,\n.nxi-table td:first-child {\n    text-align: left;\n}\n\n\n.nxi-table th {\n    color: var(--muted);\n\n    font-size: 7px;\n    font-weight: 850;\n\n    letter-spacing: .06em;\n\n    text-transform: uppercase;\n}\n\n\n.nxi-limit-note {\n    display: grid;\n\n    grid-template-columns: 150px 1fr;\n\n    gap: 25px;\n\n    padding: 18px 20px;\n\n    border: 1px solid var(--line);\n    border-radius: 16px;\n\n    background: #f4ede4;\n}\n\n\n.nxi-limit-note strong {\n    font-size: 10px;\n}\n\n\n.nxi-limit-note p {\n    color: var(--muted);\n\n    font-size: 9px;\n}\n\n\n\/* ==========================================================\n   AI REGULATION\n   ========================================================== *\/\n\n.nxi-regulation-section {\n    background: var(--bg);\n}\n\n\n.nxi-reg-summary {\n    display: grid;\n\n    grid-template-columns: repeat(4,1fr);\n\n    gap: 10px;\n\n    margin-bottom: 14px;\n}\n\n\n.nxi-reg-summary > div {\n    padding: 20px;\n\n    border: 1px solid var(--line);\n    border-radius: 17px;\n\n    background: var(--paper);\n}\n\n\n.nxi-reg-summary > div:nth-child(3) {\n    opacity: .72;\n}\n\n\n.nxi-reg-summary > div:nth-child(4) {\n    background: var(--sage);\n}\n\n\n.nxi-reg-summary strong {\n    display: block;\n\n    margin-bottom: 5px;\n\n    font-size: 29px;\n    letter-spacing: -.04em;\n}\n\n\n.nxi-reg-summary span {\n    color: var(--muted);\n\n    font-size: 8px;\n    font-weight: 750;\n}\n\n\n\/* ==========================================================\n   EUTAXY WORKBENCH\n   ========================================================== *\/\n\n.nxi-ai-workbench {\n    margin-top: 14px;\n\n    overflow: hidden;\n\n    border: 1px solid var(--line);\n    border-radius: 23px;\n\n    background: var(--paper);\n\n    box-shadow: var(--shadow);\n}\n\n\n.nxi-ai-tabs {\n    display: flex;\n\n    gap: 3px;\n\n    padding: 10px;\n\n    border-bottom: 1px solid var(--line);\n\n    background: #eee8df;\n}\n\n\n.nxi-ai-tab {\n    appearance: none;\n\n    border: 0;\n    border-radius: 999px;\n\n    padding: 9px 15px;\n\n    background: transparent;\n\n    color: var(--muted);\n\n    font: inherit;\n\n    font-size: 9px;\n    font-weight: 780;\n\n    cursor: pointer;\n}\n\n\n.nxi-ai-tab.is-active {\n    background: var(--green-dark);\n\n    color: #fff;\n}\n\n\n.nxi-ai-pane {\n    padding: 25px;\n\n    min-height: 300px;\n}\n\n\n.nxi-ai-pane[hidden] {\n    display: none !important;\n}\n\n\n.nxi-ai-pane-head {\n    display: flex;\n\n    justify-content: space-between;\n\n    align-items: flex-start;\n\n    gap: 25px;\n\n    padding-bottom: 20px;\n\n    border-bottom: 1px solid var(--line);\n}\n\n\n.nxi-ai-pane-head strong {\n    font-size: 14px;\n}\n\n\n.nxi-result-count {\n    color: var(--muted);\n\n    font-size: 9px;\n}\n\n\n.nxi-ai-filter-wrap {\n    display: flex;\n    align-items: center;\n\n    gap: 8px;\n}\n\n\n.nxi-ai-filter-wrap label {\n    color: var(--muted);\n\n    font-size: 7px;\n    font-weight: 850;\n\n    text-transform: uppercase;\n}\n\n\n.nxi-ai-filter-wrap select,\n.nxi-search,\n.nxi-select {\n    min-height: 38px;\n\n    border: 1px solid var(--line);\n    border-radius: 999px;\n\n    background: #f7f3ec;\n\n    color: var(--ink);\n\n    font: inherit;\n\n    font-size: 9px;\n}\n\n\n.nxi-ai-filter-wrap select,\n.nxi-select {\n    padding: 0 32px 0 13px;\n}\n\n\n.nxi-search {\n    width: min(430px,100%);\n\n    padding: 0 15px;\n}\n\n\n.nxi-explorer-controls {\n    display: flex;\n    flex-wrap: wrap;\n\n    gap: 9px;\n\n    margin: 20px 0;\n}\n\n\n\/* ==========================================================\n   TIMELINE\n   ========================================================== *\/\n\n.nxi-ai-timeline {\n    margin-top: 2px;\n}\n\n\n.nxi-timeline-event {\n    display: grid;\n\n    grid-template-columns: 115px 1fr;\n\n    gap: 22px;\n\n    padding: 20px 0;\n\n    border-bottom: 1px solid var(--line);\n}\n\n\n.nxi-timeline-event-date {\n    color: var(--clay);\n\n    font-size: 9px;\n    font-weight: 850;\n}\n\n\n.nxi-timeline-meta {\n    display: flex;\n    flex-wrap: wrap;\n\n    gap: 5px;\n\n    margin-bottom: 6px;\n}\n\n\n.nxi-tag {\n    display: inline-flex;\n\n    padding: 4px 7px;\n\n    border-radius: 999px;\n\n    background: var(--sage);\n\n    color: var(--green-dark);\n\n    font-size: 7px;\n    font-weight: 800;\n\n    text-transform: uppercase;\n}\n\n\n.nxi-timeline-event-content h3 {\n    margin: 0 0 6px;\n\n    font-size: 14px;\n}\n\n\n.nxi-timeline-event-content p {\n    color: var(--muted);\n\n    font-size: 10px;\n    line-height: 1.6;\n}\n\n\n\/* ==========================================================\n   RECORDS\n   ========================================================== *\/\n\n.nxi-record-list {\n    display: grid;\n\n    gap: 9px;\n}\n\n\n.nxi-reg-record {\n    padding: 18px;\n\n    border: 1px solid var(--line);\n    border-radius: 15px;\n\n    background: #fdfaf5;\n}\n\n\n.nxi-reg-record h3 {\n    margin: 7px 0 8px;\n\n    font-size: 14px;\n}\n\n\n.nxi-reg-record p {\n    color: var(--ink-soft);\n\n    font-size: 10px;\n    line-height: 1.65;\n}\n\n\n.nxi-record-type,\n.nxi-derived-badge {\n    color: var(--clay);\n\n    font-size: 7px;\n    font-weight: 850;\n\n    letter-spacing: .07em;\n\n    text-transform: uppercase;\n}\n\n\n.nxi-record-meta {\n    display: flex;\n    flex-wrap: wrap;\n\n    gap: 5px;\n\n    margin-top: 11px;\n}\n\n\n.nxi-record-meta span {\n    padding: 4px 7px;\n\n    border-radius: 999px;\n\n    background: var(--soft);\n\n    color: var(--muted);\n\n    font-size: 7px;\n}\n\n\n.nxi-control-record {\n    border-left: 3px solid var(--clay);\n\n    background: #faf2e9;\n}\n\n\n.nxi-source-link {\n    display: inline-flex;\n\n    margin-top: 10px;\n\n    color: var(--green-dark) !important;\n\n    font-size: 9px;\n    font-weight: 800;\n}\n\n\n\/* ==========================================================\n   FACT \/ DERIVED\n   ========================================================== *\/\n\n.nxi-fact-derived {\n    display: grid;\n\n    grid-template-columns:\n        1fr\n        40px\n        1fr;\n\n    gap: 12px;\n\n    align-items: center;\n\n    max-width: 760px;\n\n    margin: 24px auto;\n}\n\n\n.nxi-fact-box,\n.nxi-derived-box {\n    padding: 20px;\n\n    border-radius: 16px;\n}\n\n\n.nxi-fact-box {\n    background: var(--sage);\n}\n\n\n.nxi-derived-box {\n    background: var(--clay-soft);\n}\n\n\n.nxi-fact-box > span,\n.nxi-derived-box > span {\n    display: block;\n\n    margin-bottom: 7px;\n\n    font-size: 7px;\n    font-weight: 850;\n}\n\n\n.nxi-fact-box strong,\n.nxi-derived-box strong {\n    display: block;\n\n    margin-bottom: 5px;\n\n    font-size: 12px;\n}\n\n\n.nxi-fact-box p,\n.nxi-derived-box p {\n    color: var(--muted);\n\n    font-size: 9px;\n}\n\n\n.nxi-fact-arrow {\n    text-align: center;\n\n    color: var(--clay);\n\n    font-size: 22px;\n}\n\n\n\/* ==========================================================\n   EMPTY STATE\n   ========================================================== *\/\n\n.nxi-empty-state {\n    min-height: 210px;\n\n    display: flex;\n\n    flex-direction: column;\n\n    align-items: center;\n    justify-content: center;\n\n    text-align: center;\n\n    padding: 35px;\n}\n\n\n.nxi-empty-state span {\n    display: block;\n\n    margin-bottom: 6px;\n\n    font-size: 12px;\n    font-weight: 780;\n}\n\n\n.nxi-empty-state p {\n    max-width: 420px;\n\n    color: var(--muted);\n\n    font-size: 9px;\n    line-height: 1.65;\n}\n\n\n\/* ==========================================================\n   SOURCE PANEL\n   ========================================================== *\/\n\n.nxi-source-panel {\n    margin-top: 15px;\n\n    padding: 25px;\n\n    border: 1px solid var(--line);\n    border-radius: 19px;\n\n    background: #f8f3eb;\n}\n\n\n.nxi-source-panel > div:first-child > strong {\n    font-size: 14px;\n}\n\n\n.nxi-source-grid {\n    display: grid;\n\n    grid-template-columns: repeat(4,1fr);\n\n    gap: 20px;\n\n    margin-top: 20px;\n}\n\n\n.nxi-source-grid > div {\n    padding-top: 15px;\n\n    border-top: 1px solid var(--line);\n}\n\n\n.nxi-source-grid span {\n    color: var(--clay);\n\n    font-size: 7px;\n    font-weight: 850;\n}\n\n\n.nxi-source-grid strong {\n    display: block;\n\n    margin: 17px 0 5px;\n\n    font-size: 10px;\n}\n\n\n.nxi-source-grid p {\n    color: var(--muted);\n\n    font-size: 8px;\n    line-height: 1.6;\n}\n\n\n.nxi-source-footer {\n    display: flex;\n\n    justify-content: space-between;\n\n    flex-wrap: wrap;\n\n    gap: 10px;\n\n    margin-top: 20px;\n\n    padding-top: 16px;\n\n    border-top: 1px solid var(--line);\n\n    color: var(--muted);\n\n    font-size: 8px;\n}\n\n\n\/* ==========================================================\n   METHOD\n   ========================================================== *\/\n\n.nxi-method-section {\n    padding: 100px 0;\n\n    background: var(--green-dark);\n\n    color: #fffaf2;\n}\n\n\n.nxi-method-grid {\n    display: grid;\n\n    grid-template-columns:\n        .85fr\n        1.15fr;\n\n    gap: 85px;\n}\n\n\n.nxi-method-grid h2 {\n    margin: 0;\n\n    color: #fffaf2;\n\n    font-size:\n        clamp(50px,5.3vw,76px);\n}\n\n\n.nxi-method-items {\n    display: grid;\n}\n\n\n.nxi-method-items > div {\n    display: grid;\n\n    grid-template-columns:\n        28px\n        150px\n        1fr;\n\n    gap: 16px;\n\n    padding: 17px 0;\n\n    border-bottom: 1px solid var(--line-dark);\n}\n\n\n.nxi-method-items span {\n    color: #decbb0;\n\n    font-size: 7px;\n}\n\n\n.nxi-method-items strong {\n    font-size: 9px;\n}\n\n\n.nxi-method-items p {\n    color: rgba(255,250,242,.66);\n\n    font-size: 8px;\n}\n\n\n\/* ==========================================================\n   FINAL\n   ========================================================== *\/\n\n.nxi-final {\n    padding: 95px 0;\n\n    background: var(--bg);\n}\n\n\n.nxi-final-box {\n    padding:\n        clamp(55px,7vw,85px)\n        28px;\n\n    border: 1px solid var(--line);\n    border-radius: 31px;\n\n    background: var(--paper);\n\n    box-shadow: var(--shadow);\n\n    text-align: center;\n}\n\n\n.nxi-final-box h2 {\n    max-width: 790px;\n\n    margin: 0 auto 20px;\n\n    font-size:\n        clamp(49px,5.6vw,76px);\n}\n\n\n.nxi-final-box > p:not(.nxi-kicker) {\n    max-width: 620px;\n\n    margin: 0 auto 27px;\n\n    color: var(--muted);\n\n    font-size: 11px;\n    line-height: 1.7;\n}\n\n\n\/* ==========================================================\n   MOBILE\n   ========================================================== *\/\n\n@media (max-width: 900px) {\n\n    .nxi-hero-grid,\n    .nxi-section-head,\n    .nxi-product-heading,\n    .nxi-example-intro-grid,\n    .nxi-method-grid {\n        grid-template-columns: 1fr;\n        gap: 35px;\n    }\n\n    .nxi-process-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .nxi-reg-summary {\n        grid-template-columns: repeat(2,1fr);\n    }\n\n    .nxi-source-grid {\n        grid-template-columns: repeat(2,1fr);\n    }\n\n}\n\n\n@media (max-width: 680px) {\n\n    .nxi-wrap {\n        width: calc(100% - 28px);\n    }\n\n    .nxi-section {\n        padding: 75px 0;\n    }\n\n    .nxi-brand-row {\n        margin-bottom: 45px;\n    }\n\n    .nxi-hero h1 {\n        font-size:\n            clamp(50px,14vw,70px);\n    }\n\n    .nxi-hero-principle {\n        grid-template-columns: 28px 1fr;\n    }\n\n    .nxi-hero-principle p {\n        grid-column: 2;\n    }\n\n    .nxi-toolbar {\n        align-items: flex-start;\n        flex-direction: column;\n    }\n\n    .nxi-kpi-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .nxi-reg-summary {\n        grid-template-columns: repeat(2,1fr);\n    }\n\n    .nxi-ai-pane {\n        padding: 18px;\n    }\n\n    .nxi-ai-pane-head {\n        display: grid;\n    }\n\n    .nxi-fact-derived {\n        grid-template-columns: 1fr;\n    }\n\n    .nxi-fact-arrow {\n        transform: rotate(90deg);\n    }\n\n    .nxi-source-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .nxi-method-items > div {\n        grid-template-columns: 25px 1fr;\n    }\n\n    .nxi-method-items p {\n        grid-column: 2;\n    }\n\n    .nxi-chart-wrap {\n        overflow-x: auto;\n    }\n\n    #nxi-social-chart,\n    .nxi-chart-years {\n        min-width: 620px;\n    }\n\n    .nxi-limit-note {\n        grid-template-columns: 1fr;\n        gap: 6px;\n    }\n\n}\n\/* ==========================================================\n   NEXPERTIA CONTRAST FIX\n   ========================================================== *\/\n\n.nxi-hero h1,\n.nxi-section-head h2,\n.nxi-product-heading h2,\n.nxi-example-intro h2,\n.nxi-process-card h3 {\n    color: var(--ink) !important;\n}\n\n.nxi-hero h1 span {\n    color: var(--green) !important;\n}\n\n.nxi-intro-section,\n.nxi-intro-section p,\n.nxi-intro-section strong,\n.nxi-intro-section h2,\n.nxi-intro-section h3 {\n    color: var(--ink);\n}\n\n.nxi-process-card p,\n.nxi-section-copy,\n.nxi-product-description,\n.nxi-example-intro p {\n    color: var(--ink-soft) !important;\n}\n\n\/* kun m\u00f8rke flader bruger lys tekst *\/\n.nxi-method-section h2,\n.nxi-method-section strong {\n    color: #fffaf2 !important;\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\nconsole.log(\"NEXPERTIA INTELLIGENCE 3.0\");\n\n(function () {\n  \"use strict\";\n\n\n  \/* ==========================================================\n     START\n     ========================================================== *\/\n\n  function startNexpertia() {\n\n    const page =\n      document.querySelector(\".nxi-page\");\n\n\n    if (!page) {\n      return;\n    }\n\n\n    if (\n      page.dataset.nxiReady === \"true\"\n    ) {\n      return;\n    }\n\n\n    page.dataset.nxiReady =\n      \"true\";\n\n\n    \/* ========================================================\n       HELPERS\n       ======================================================== *\/\n\n    function byId(id) {\n      return document.getElementById(id);\n    }\n\n\n    function setText(id, value) {\n\n      const node =\n        byId(id);\n\n\n      if (node) {\n        node.textContent = value;\n      }\n\n    }\n\n\n    function formatNumber(value) {\n\n      const number =\n        Number(value);\n\n\n      if (!Number.isFinite(number)) {\n        return \"\u2014\";\n      }\n\n\n      return new Intl.NumberFormat(\n        \"da-DK\",\n        {\n          maximumFractionDigits: 0\n        }\n      ).format(number);\n\n    }\n\n\n    function formatPct(value) {\n\n      const number =\n        Number(value);\n\n\n      if (!Number.isFinite(number)) {\n        return \"\u2014\";\n      }\n\n\n      return new Intl.NumberFormat(\n        \"da-DK\",\n        {\n          minimumFractionDigits: 1,\n          maximumFractionDigits: 1\n        }\n      ).format(number) + \" %\";\n\n    }\n\n\n    function escapeHTML(value) {\n\n      return String(\n        value == null\n          ? \"\"\n          : value\n      )\n        .replace(\/&\/g, \"&amp;\")\n        .replace(\/<\/g, \"&lt;\")\n        .replace(\/>\/g, \"&gt;\")\n        .replace(\/\"\/g, \"&quot;\")\n        .replace(\/'\/g, \"&#039;\");\n\n    }\n\n\n    function humanize(value) {\n\n      return String(\n        value || \"\"\n      )\n        .replace(\/_\/g, \" \")\n        .replace(\/-\/g, \" \")\n        .replace(\/\\s+\/g, \" \")\n        .trim()\n        .replace(\n          \/\\b\\w\/g,\n          function (letter) {\n            return letter.toUpperCase();\n          }\n        );\n\n    }\n\n\n    function firstValue(\n      object,\n      keys\n    ) {\n\n      if (!object) {\n        return null;\n      }\n\n\n      for (\n        let i = 0;\n        i < keys.length;\n        i++\n      ) {\n\n        const value =\n          object[keys[i]];\n\n\n        if (\n          value !== undefined &#038;&#038;\n          value !== null &#038;&#038;\n          value !== \"\"\n        ) {\n\n          return value;\n\n        }\n\n      }\n\n\n      return null;\n\n    }\n\n\n    async function fetchJSON(url) {\n\n      try {\n\n        const response =\n          await fetch(\n            url,\n            {\n              cache: \"no-store\",\n              credentials: \"same-origin\"\n            }\n          );\n\n\n        if (!response.ok) {\n\n          console.warn(\n            \"NEXPERTIA HTTP\",\n            response.status,\n            url\n          );\n\n          return null;\n\n        }\n\n\n        return await response.json();\n\n      } catch (error) {\n\n        console.warn(\n          \"NEXPERTIA fetch failed\",\n          url,\n          error\n        );\n\n\n        return null;\n\n      }\n\n    }\n\n\n    function safeURL(value) {\n\n      if (!value) {\n        return \"\";\n      }\n\n\n      try {\n\n        const url =\n          new URL(\n            value,\n            window.location.origin\n          );\n\n\n        if (\n          url.protocol === \"https:\" ||\n          url.protocol === \"http:\"\n        ) {\n\n          return url.href;\n\n        }\n\n      } catch (error) {}\n\n\n      return \"\";\n\n    }\n\n\n    function sourceLink(value) {\n\n      const url =\n        safeURL(value);\n\n\n      if (!url) {\n        return \"\";\n      }\n\n\n      return (\n        '<a class=\"nxi-source-link\" ' +\n        'href=\"' +\n        escapeHTML(url) +\n        '\" ' +\n        'target=\"_blank\" ' +\n        'rel=\"noopener noreferrer\">' +\n        'Se officiel kilde \u2192' +\n        '<\/a>'\n      );\n\n    }\n\n\n\n    \/* ========================================================\n       ROBUST JSON ARRAY DISCOVERY\n       ======================================================== *\/\n\n    function collectArrays(\n      value,\n      arrays,\n      depth\n    ) {\n\n      if (\n        depth > 6 ||\n        value === null ||\n        value === undefined\n      ) {\n        return;\n      }\n\n\n      if (Array.isArray(value)) {\n\n        if (value.length) {\n          arrays.push(value);\n        }\n\n\n        value\n          .slice(0, 10)\n          .forEach(\n            function (child) {\n\n              collectArrays(\n                child,\n                arrays,\n                depth + 1\n              );\n\n            }\n          );\n\n\n        return;\n      }\n\n\n      if (\n        typeof value !== \"object\"\n      ) {\n        return;\n      }\n\n\n      Object.keys(value)\n        .forEach(\n          function (key) {\n\n            collectArrays(\n              value[key],\n              arrays,\n              depth + 1\n            );\n\n          }\n        );\n\n    }\n\n\n    function arrayScore(\n      array,\n      expectedKeys\n    ) {\n\n      if (\n        !Array.isArray(array) ||\n        !array.length\n      ) {\n        return 0;\n      }\n\n\n      const sample =\n        array.slice(0, 8);\n\n\n      let score = 0;\n\n\n      sample.forEach(\n        function (record) {\n\n          if (\n            !record ||\n            typeof record !== \"object\" ||\n            Array.isArray(record)\n          ) {\n            return;\n          }\n\n\n          expectedKeys.forEach(\n            function (key) {\n\n              if (\n                record[key] !== undefined &&\n                record[key] !== null\n              ) {\n\n                score += 1;\n\n              }\n\n            }\n          );\n\n        }\n      );\n\n\n      return score;\n\n    }\n\n\n    function findBestArray(\n      payload,\n      expectedKeys\n    ) {\n\n      if (Array.isArray(payload)) {\n        return payload;\n      }\n\n\n      const arrays = [];\n\n\n      collectArrays(\n        payload,\n        arrays,\n        0\n      );\n\n\n      if (!arrays.length) {\n        return [];\n      }\n\n\n      let best =\n        arrays[0];\n\n\n      let bestScore =\n        arrayScore(\n          best,\n          expectedKeys\n        );\n\n\n      arrays.forEach(\n        function (array) {\n\n          const score =\n            arrayScore(\n              array,\n              expectedKeys\n            );\n\n\n          if (score > bestScore) {\n\n            best =\n              array;\n\n            bestScore =\n              score;\n\n          }\n\n        }\n      );\n\n\n      return bestScore > 0\n        ? best\n        : [];\n\n    }\n\n\n\n    \/* ========================================================\n       ========================================================\n       SOCIAL CARE\n       ========================================================\n       ======================================================== *\/\n\n\n    const socialData = [\n\n      {\n        date: \"2021\",\n        s107e: 1350,\n        s107c: 8291,\n        s108e: 683,\n        s108c: 5461\n      },\n\n      {\n        date: \"2022\",\n        s107e: 1392,\n        s107c: 8425,\n        s108e: 729,\n        s108c: 5619\n      },\n\n      {\n        date: \"2023\",\n        s107e: 1440,\n        s107c: 8605,\n        s108e: 790,\n        s108c: 5822\n      },\n\n      {\n        date: \"2024\",\n        s107e: 1506,\n        s107c: 8923,\n        s108e: 846,\n        s108c: 5925\n      },\n\n      {\n        date: \"2025\",\n        s107e: 1541,\n        s107c: 8928,\n        s108e: 858,\n        s108c: 6047\n      },\n\n      {\n        date: \"2026\",\n        s107e: 1530,\n        s107c: 8792,\n        s108e: 857,\n        s108c: 6075\n      }\n\n    ];\n\n\n    let socialService =\n      \"108\";\n\n\n    let socialMetric =\n      \"capacity\";\n\n\n    function socialKey() {\n\n      if (\n        socialService === \"107\"\n      ) {\n\n        return (\n          socialMetric === \"capacity\"\n            ? \"s107c\"\n            : \"s107e\"\n        );\n\n      }\n\n\n      return (\n        socialMetric === \"capacity\"\n          ? \"s108c\"\n          : \"s108e\"\n      );\n\n    }\n\n\n    function renderSocial() {\n\n      const key =\n        socialKey();\n\n\n      const start =\n        Number(\n          socialData[0][key]\n        );\n\n\n      const latest =\n        Number(\n          socialData[\n            socialData.length - 1\n          ][key]\n        );\n\n\n      const change =\n        latest - start;\n\n\n      const percentage =\n        start !== 0\n          ? (change \/ start) * 100\n          : 0;\n\n\n      const metricLabel =\n        socialMetric === \"capacity\"\n          ? \"Registreret kapacitet\"\n          : \"Registrerede enheder\";\n\n\n      setText(\n        \"nxi-start-value\",\n        formatNumber(start)\n      );\n\n\n      setText(\n        \"nxi-latest-value\",\n        formatNumber(latest)\n      );\n\n\n      setText(\n        \"nxi-change-value\",\n        (\n          change >= 0\n            ? \"+\"\n            : \"\"\n        ) +\n        formatNumber(change)\n      );\n\n\n      setText(\n        \"nxi-change-pct\",\n        (\n          percentage >= 0\n            ? \"+\"\n            : \"\"\n        ) +\n        formatPct(percentage)\n      );\n\n\n      setText(\n        \"nxi-start-caption\",\n        metricLabel\n      );\n\n\n      setText(\n        \"nxi-latest-caption\",\n        metricLabel\n      );\n\n\n      setText(\n        \"nxi-chart-title\",\n        \"\u00a7\" +\n        socialService +\n        \" \u00b7 \" +\n        metricLabel.toLowerCase()\n      );\n\n\n      const insight =\n        byId(\n          \"nxi-social-insight\"\n        );\n\n\n      if (insight) {\n\n        const subject =\n          socialMetric === \"capacity\"\n            ? \"kapacitet\"\n            : \"antal registrerede enheder\";\n\n\n        const direction =\n          change >= 0\n            ? \"steget\"\n            : \"faldet\";\n\n\n        insight.textContent =\n          \"Den registrerede \u00a7\" +\n          socialService +\n          \" \" +\n          subject +\n          \" er \" +\n          direction +\n          \" fra \" +\n          formatNumber(start) +\n          \" i 2021 til \" +\n          formatNumber(latest) +\n          \" i marts 2026. Det svarer til \" +\n          (\n            change >= 0\n              ? \"en stigning p\u00e5 \"\n              : \"et fald p\u00e5 \"\n          ) +\n          formatNumber(\n            Math.abs(change)\n          ) +\n          \".\";\n\n      }\n\n\n      drawSocialTable();\n\n\n      \/*\n       * Render grafen flere steder i browserens\n       * layout-livscyklus. Det g\u00f8r den langt mere\n       * robust i WordPress\/Astra.\n       *\/\n\n      drawSocialChart(key);\n\n\n      requestAnimationFrame(\n        function () {\n\n          drawSocialChart(key);\n\n        }\n      );\n\n\n      setTimeout(\n        function () {\n\n          drawSocialChart(key);\n\n        },\n        120\n      );\n\n    }\n\n\n    function drawSocialChart(key) {\n\n      const svg =\n        byId(\n          \"nxi-social-chart\"\n        );\n\n\n      const years =\n        byId(\n          \"nxi-chart-years\"\n        );\n\n\n      if (!svg) {\n        return;\n      }\n\n\n      const W = 760;\n      const H = 300;\n\n      const left = 46;\n      const right = 46;\n      const top = 52;\n      const bottom = 40;\n\n\n      const values =\n        socialData.map(\n          function (row) {\n\n            return Number(\n              row[key]\n            );\n\n          }\n        );\n\n\n      let min =\n        Math.min.apply(\n          null,\n          values\n        );\n\n\n      let max =\n        Math.max.apply(\n          null,\n          values\n        );\n\n\n      const spread =\n        max - min || 1;\n\n\n      min -=\n        spread * 0.22;\n\n\n      max +=\n        spread * 0.22;\n\n\n      function x(index) {\n\n        return (\n          left +\n          (\n            index *\n            (\n              W -\n              left -\n              right\n            )\n          ) \/\n          (\n            socialData.length - 1\n          )\n        );\n\n      }\n\n\n      function y(value) {\n\n        return (\n          top +\n          (\n            (max - value) *\n            (\n              H -\n              top -\n              bottom\n            )\n          ) \/\n          (max - min)\n        );\n\n      }\n\n\n      const points =\n        values.map(\n          function (\n            value,\n            index\n          ) {\n\n            return {\n              x: x(index),\n              y: y(value),\n              value: value\n            };\n\n          }\n        );\n\n\n      const line =\n        points\n          .map(\n            function (\n              point,\n              index\n            ) {\n\n              return (\n                (\n                  index === 0\n                    ? \"M\"\n                    : \"L\"\n                ) +\n                \" \" +\n                point.x.toFixed(2) +\n                \" \" +\n                point.y.toFixed(2)\n              );\n\n            }\n          )\n          .join(\" \");\n\n\n      const baseline =\n        H - bottom;\n\n\n      const area =\n        line +\n        \" L \" +\n        points[\n          points.length - 1\n        ].x +\n        \" \" +\n        baseline +\n        \" L \" +\n        points[0].x +\n        \" \" +\n        baseline +\n        \" Z\";\n\n\n      let grid =\n        \"\";\n\n\n      for (\n        let i = 0;\n        i < 4;\n        i++\n      ) {\n\n        const yy =\n          top +\n          (\n            i *\n            (\n              H -\n              top -\n              bottom\n            )\n          ) \/ 3;\n\n\n        grid +=\n          '<line ' +\n          'x1=\"' +\n          left +\n          '\" ' +\n          'x2=\"' +\n          (W - right) +\n          '\" ' +\n          'y1=\"' +\n          yy +\n          '\" ' +\n          'y2=\"' +\n          yy +\n          '\" ' +\n          'style=\"' +\n          'stroke:rgba(39,49,41,.10);' +\n          'stroke-width:1;' +\n          '\"' +\n          '\/>';\n\n      }\n\n\n      const dots =\n        points\n          .map(\n            function (point) {\n\n              return (\n\n                '<circle ' +\n                'cx=\"' +\n                point.x +\n                '\" ' +\n                'cy=\"' +\n                point.y +\n                '\" ' +\n                'r=\"6\" ' +\n                'style=\"' +\n                'fill:#fffdf8;' +\n                'stroke:#384b40;' +\n                'stroke-width:3;' +\n                '\"' +\n                '\/>' +\n\n                '<text ' +\n                'x=\"' +\n                point.x +\n                '\" ' +\n                'y=\"' +\n                (point.y - 17) +\n                '\" ' +\n                'text-anchor=\"middle\" ' +\n                'style=\"' +\n                'fill:#273129;' +\n                'font-size:13px;' +\n                'font-weight:700;' +\n                '\">' +\n                formatNumber(\n                  point.value\n                ) +\n                '<\/text>'\n\n              );\n\n            }\n          )\n          .join(\"\");\n\n\n      \/*\n       * Force SVG layout.\n       *\/\n\n      svg.setAttribute(\n        \"viewBox\",\n        \"0 0 \" +\n        W +\n        \" \" +\n        H\n      );\n\n\n      svg.setAttribute(\n        \"preserveAspectRatio\",\n        \"xMidYMid meet\"\n      );\n\n\n      svg.style.display =\n        \"block\";\n\n      svg.style.width =\n        \"100%\";\n\n      svg.style.height =\n        \"auto\";\n\n      svg.style.minHeight =\n        \"0\";\n\n      svg.style.overflow =\n        \"visible\";\n\n\n      svg.innerHTML =\n\n        grid +\n\n        '<path ' +\n        'd=\"' +\n        area +\n        '\" ' +\n        'style=\"' +\n        'fill:rgba(114,128,110,.12);' +\n        'stroke:none;' +\n        '\"' +\n        '\/>' +\n\n        '<path ' +\n        'd=\"' +\n        line +\n        '\" ' +\n        'style=\"' +\n        'fill:none;' +\n        'stroke:#384b40;' +\n        'stroke-width:4;' +\n        'stroke-linecap:round;' +\n        'stroke-linejoin:round;' +\n        '\"' +\n        '\/>' +\n\n        dots;\n\n\n      if (years) {\n\n        years.innerHTML =\n          socialData\n            .map(\n              function (row) {\n\n                return (\n                  \"<span>\" +\n                  escapeHTML(\n                    row.date\n                  ) +\n                  \"<\/span>\"\n                );\n\n              }\n            )\n            .join(\"\");\n\n      }\n\n    }\n\n\n    function drawSocialTable() {\n\n      const body =\n        byId(\n          \"nxi-social-table\"\n        );\n\n\n      if (!body) {\n        return;\n      }\n\n\n      body.innerHTML =\n        socialData\n          .map(\n            function (row) {\n\n              return (\n\n                \"<tr>\" +\n\n                \"<td>\" +\n                escapeHTML(\n                  row.date\n                ) +\n                \"<\/td>\" +\n\n                \"<td>\" +\n                formatNumber(\n                  row.s107e\n                ) +\n                \"<\/td>\" +\n\n                \"<td>\" +\n                formatNumber(\n                  row.s107c\n                ) +\n                \"<\/td>\" +\n\n                \"<td>\" +\n                formatNumber(\n                  row.s108e\n                ) +\n                \"<\/td>\" +\n\n                \"<td>\" +\n                formatNumber(\n                  row.s108c\n                ) +\n                \"<\/td>\" +\n\n                \"<\/tr>\"\n\n              );\n\n            }\n          )\n          .join(\"\");\n\n    }\n\n\n    document\n      .querySelectorAll(\n        '[data-control=\"service\"] button'\n      )\n      .forEach(\n        function (button) {\n\n          button.addEventListener(\n            \"click\",\n            function () {\n\n              document\n                .querySelectorAll(\n                  '[data-control=\"service\"] button'\n                )\n                .forEach(\n                  function (item) {\n\n                    item.classList.remove(\n                      \"is-active\"\n                    );\n\n                  }\n                );\n\n\n              this.classList.add(\n                \"is-active\"\n              );\n\n\n              socialService =\n                this.dataset.value;\n\n\n              renderSocial();\n\n            }\n          );\n\n        }\n      );\n\n\n    document\n      .querySelectorAll(\n        '[data-control=\"metric\"] button'\n      )\n      .forEach(\n        function (button) {\n\n          button.addEventListener(\n            \"click\",\n            function () {\n\n              document\n                .querySelectorAll(\n                  '[data-control=\"metric\"] button'\n                )\n                .forEach(\n                  function (item) {\n\n                    item.classList.remove(\n                      \"is-active\"\n                    );\n\n                  }\n                );\n\n\n              this.classList.add(\n                \"is-active\"\n              );\n\n\n              socialMetric =\n                this.dataset.value ===\n                \"capacity_total\"\n\n                  ? \"capacity\"\n\n                  : \"entities\";\n\n\n              renderSocial();\n\n            }\n          );\n\n        }\n      );\n\n\n    renderSocial();\n\n\n\n    \/* ========================================================\n       ========================================================\n       EUTAXY\n       ========================================================\n       ======================================================== *\/\n\n\n    const EUTAXY_BASE =\n      page.getAttribute(\n        \"data-eutaxy-base\"\n      ) ||\n      \"\/wp-content\/uploads\/nexpertia\/eutaxy-1\";\n\n\n    let timeline = [];\n    let requirements = [];\n    let controls = [];\n    let guidance = [];\n\n\n    let timelineVisible =\n      6;\n\n\n    \/* ========================================================\n       TABS\n       ======================================================== *\/\n\n    const tabs =\n      page.querySelectorAll(\n        \"[data-nxi-ai-tab]\"\n      );\n\n\n    const panes =\n      page.querySelectorAll(\n        \"[data-nxi-ai-pane]\"\n      );\n\n\n    tabs.forEach(\n      function (button) {\n\n        button.addEventListener(\n          \"click\",\n          function () {\n\n            const selected =\n              this.getAttribute(\n                \"data-nxi-ai-tab\"\n              );\n\n\n            tabs.forEach(\n              function (item) {\n\n                item.classList.remove(\n                  \"is-active\"\n                );\n\n              }\n            );\n\n\n            panes.forEach(\n              function (pane) {\n\n                const active =\n                  pane.getAttribute(\n                    \"data-nxi-ai-pane\"\n                  ) === selected;\n\n\n                pane.hidden =\n                  !active;\n\n\n                pane.classList.toggle(\n                  \"is-active\",\n                  active\n                );\n\n              }\n            );\n\n\n            this.classList.add(\n              \"is-active\"\n            );\n\n          }\n        );\n\n      }\n    );\n\n\n\n    \/* ========================================================\n       EUTAXY FIELD NORMALIZATION\n       ======================================================== *\/\n\n    function timelineDate(record) {\n\n      return firstValue(\n        record,\n        [\n          \"date\",\n          \"event_date\",\n          \"projection_date\",\n          \"applicability_date\",\n          \"effective_from\",\n          \"effective_date\",\n          \"transition_deadline\",\n          \"deadline\"\n        ]\n      ) || \"\";\n\n    }\n\n\n    function timelineType(record) {\n\n      return firstValue(\n        record,\n        [\n          \"event_type\",\n          \"date_type\",\n          \"projection_type\",\n          \"type\"\n        ]\n      ) ||\n      \"regulatory_date\";\n\n    }\n\n\n    function timelineTitle(record) {\n\n      return firstValue(\n        record,\n        [\n          \"title\",\n          \"event_title\",\n          \"article_or_topic\",\n          \"article_or_section\",\n          \"requirement_summary\",\n          \"label\"\n        ]\n      ) ||\n      humanize(\n        timelineType(record)\n      );\n\n    }\n\n\n    function timelineDescription(\n      record\n    ) {\n\n      return firstValue(\n        record,\n        [\n          \"description\",\n          \"event_description\",\n          \"summary\",\n          \"requirement_summary\"\n        ]\n      ) || \"\";\n\n    }\n\n\n    function recordSourceURL(record) {\n\n      if (!record) {\n        return \"\";\n      }\n\n\n      return (\n        record.source_url ||\n        record.public_url ||\n        (\n          record.source &&\n          (\n            record.source.url ||\n            record.source.public_url\n          )\n        ) ||\n        \"\"\n      );\n\n    }\n\n\n\n    \/* ========================================================\n       TIMELINE\n       ======================================================== *\/\n\n    function renderTimeline() {\n\n      const target =\n        byId(\n          \"nxi-ai-timeline\"\n        );\n\n\n      const filter =\n        byId(\n          \"nxi-ai-event-filter\"\n        );\n\n\n      const more =\n        byId(\n          \"nxi-timeline-more\"\n        );\n\n\n      if (!target) {\n        return;\n      }\n\n\n      const selected =\n        filter\n          ? filter.value\n          : \"all\";\n\n\n      const filtered =\n        timeline\n          .filter(\n            function (record) {\n\n              return (\n                selected === \"all\" ||\n                timelineType(record) ===\n                selected\n              );\n\n            }\n          )\n          .sort(\n            function (a, b) {\n\n              return String(\n                timelineDate(a)\n              ).localeCompare(\n                String(\n                  timelineDate(b)\n                )\n              );\n\n            }\n          );\n\n\n      if (!filtered.length) {\n\n        target.innerHTML =\n          '<div class=\"nxi-empty-state\">' +\n          '<span>Ingen datoer matcher filteret<\/span>' +\n          '<p>Pr\u00f8v en anden eventtype.<\/p>' +\n          '<\/div>';\n\n\n        if (more) {\n          more.hidden = true;\n        }\n\n\n        return;\n\n      }\n\n\n      const visible =\n        filtered.slice(\n          0,\n          timelineVisible\n        );\n\n\n      target.innerHTML =\n        visible\n          .map(\n            function (record) {\n\n              const date =\n                timelineDate(\n                  record\n                );\n\n\n              const type =\n                timelineType(\n                  record\n                );\n\n\n              const title =\n                timelineTitle(\n                  record\n                );\n\n\n              const description =\n                timelineDescription(\n                  record\n                );\n\n\n              const framework =\n                record.framework ||\n                \"EU AI Act\";\n\n\n              const publisher =\n                record.publisher;\n\n\n              const source =\n                recordSourceURL(\n                  record\n                );\n\n\n              return (\n\n                '<article class=\"nxi-timeline-event\">' +\n\n                  '<div class=\"nxi-timeline-event-date\">' +\n                    escapeHTML(\n                      date ||\n                      \"Dato ikke angivet\"\n                    ) +\n                  '<\/div>' +\n\n                  '<div class=\"nxi-timeline-event-content\">' +\n\n                    '<div class=\"nxi-timeline-meta\">' +\n\n                      '<span class=\"nxi-tag\">' +\n                        escapeHTML(\n                          humanize(type)\n                        ) +\n                      '<\/span>' +\n\n                      '<span class=\"nxi-tag\">' +\n                        escapeHTML(\n                          framework\n                        ) +\n                      '<\/span>' +\n\n                      (\n                        publisher\n                          ?\n                          '<span class=\"nxi-tag\">' +\n                            escapeHTML(\n                              publisher\n                            ) +\n                          '<\/span>'\n                          :\n                          \"\"\n                      ) +\n\n                    '<\/div>' +\n\n                    '<h3>' +\n                      escapeHTML(\n                        title\n                      ) +\n                    '<\/h3>' +\n\n                    (\n                      description\n                        ?\n                        '<p>' +\n                          escapeHTML(\n                            description\n                          ) +\n                        '<\/p>'\n                        :\n                        \"\"\n                    ) +\n\n                    sourceLink(\n                      source\n                    ) +\n\n                  '<\/div>' +\n\n                '<\/article>'\n\n              );\n\n            }\n          )\n          .join(\"\");\n\n\n      if (more) {\n\n        more.hidden =\n          filtered.length <=\n          timelineVisible;\n\n\n        more.innerHTML =\n          (\n            filtered.length >\n            timelineVisible\n          )\n            ?\n            \"Vis flere <span>\u2193<\/span>\"\n            :\n            \"\";\n\n      }\n\n    }\n\n\n    function setupTimelineFilter() {\n\n      const select =\n        byId(\n          \"nxi-ai-event-filter\"\n        );\n\n\n      if (!select) {\n        return;\n      }\n\n\n      const types =\n        Array.from(\n          new Set(\n            timeline\n              .map(\n                timelineType\n              )\n              .filter(Boolean)\n          )\n        )\n        .sort();\n\n\n      select.innerHTML =\n        '<option value=\"all\">' +\n        'Alle typer' +\n        '<\/option>';\n\n\n      types.forEach(\n        function (type) {\n\n          const option =\n            document.createElement(\n              \"option\"\n            );\n\n\n          option.value =\n            type;\n\n\n          option.textContent =\n            humanize(type);\n\n\n          select.appendChild(\n            option\n          );\n\n        }\n      );\n\n\n      select.addEventListener(\n        \"change\",\n        function () {\n\n          timelineVisible =\n            6;\n\n\n          renderTimeline();\n\n        }\n      );\n\n    }\n\n\n    const timelineMore =\n      byId(\n        \"nxi-timeline-more\"\n      );\n\n\n    if (timelineMore) {\n\n      timelineMore.addEventListener(\n        \"click\",\n        function () {\n\n          timelineVisible +=\n            6;\n\n\n          renderTimeline();\n\n        }\n      );\n\n    }\n\n\n\n    \/* ========================================================\n       REQUIREMENTS\n       ======================================================== *\/\n\n    function renderRequirements() {\n\n      const target =\n        byId(\n          \"nxi-requirement-list\"\n        );\n\n\n      if (!target) {\n        return;\n      }\n\n\n      const query =\n        (\n          byId(\n            \"nxi-requirement-search\"\n          )?.value ||\n          \"\"\n        )\n          .trim()\n          .toLowerCase();\n\n\n      const category =\n        byId(\n          \"nxi-requirement-category\"\n        )?.value ||\n        \"all\";\n\n\n      const filtered =\n        requirements.filter(\n          function (record) {\n\n            const recordCategory =\n              firstValue(\n                record,\n                [\n                  \"requirement_category\",\n                  \"category\"\n                ]\n              );\n\n\n            if (\n              category !== \"all\" &&\n              recordCategory !== category\n            ) {\n\n              return false;\n\n            }\n\n\n            if (!query) {\n              return true;\n            }\n\n\n            const haystack =\n              [\n\n                record.requirement_id,\n                record.framework,\n                record.article_or_section,\n                record.requirement_category,\n                record.applies_to_role,\n                record.trigger_condition,\n                record.requirement_summary,\n                record.publisher\n\n              ]\n                .filter(Boolean)\n                .join(\" \")\n                .toLowerCase();\n\n\n            return haystack.includes(\n              query\n            );\n\n          }\n        );\n\n\n      setText(\n        \"nxi-requirement-result-count\",\n        filtered.length +\n        \" krav\"\n      );\n\n\n      if (!filtered.length) {\n\n        target.innerHTML =\n          '<div class=\"nxi-empty-state\">' +\n          '<span>Ingen krav matcher s\u00f8gningen<\/span>' +\n          '<\/div>';\n\n\n        return;\n\n      }\n\n\n      target.innerHTML =\n        filtered\n          .map(\n            function (record) {\n\n              const title =\n                firstValue(\n                  record,\n                  [\n                    \"article_or_section\",\n                    \"article\",\n                    \"title\",\n                    \"requirement_id\"\n                  ]\n                ) ||\n                \"EU AI Act\";\n\n\n              const summary =\n                firstValue(\n                  record,\n                  [\n                    \"requirement_summary\",\n                    \"summary\",\n                    \"description\"\n                  ]\n                ) ||\n                \"\";\n\n\n              const category =\n                firstValue(\n                  record,\n                  [\n                    \"requirement_category\",\n                    \"category\"\n                  ]\n                );\n\n\n              const role =\n                record.applies_to_role;\n\n\n              const effective =\n                firstValue(\n                  record,\n                  [\n                    \"effective_from\",\n                    \"applicability_date\"\n                  ]\n                );\n\n\n              const deadline =\n                firstValue(\n                  record,\n                  [\n                    \"transition_deadline\",\n                    \"deadline\"\n                  ]\n                );\n\n\n              const source =\n                recordSourceURL(\n                  record\n                );\n\n\n              const meta =\n                [];\n\n\n              if (category) {\n\n                meta.push(\n                  humanize(\n                    category\n                  )\n                );\n\n              }\n\n\n              if (role) {\n\n                meta.push(\n                  \"Rolle: \" +\n                  humanize(\n                    role\n                  )\n                );\n\n              }\n\n\n              if (effective) {\n\n                meta.push(\n                  \"Fra: \" +\n                  effective\n                );\n\n              }\n\n\n              if (deadline) {\n\n                meta.push(\n                  \"Deadline: \" +\n                  deadline\n                );\n\n              }\n\n\n              return (\n\n                '<article class=\"nxi-reg-record\">' +\n\n                  '<span class=\"nxi-record-type\">' +\n                    'OFFICIELT REGULATORISK FAKTUM' +\n                  '<\/span>' +\n\n                  '<h3>' +\n                    escapeHTML(\n                      title\n                    ) +\n                  '<\/h3>' +\n\n                  (\n                    summary\n                      ?\n                      '<p>' +\n                        escapeHTML(\n                          summary\n                        ) +\n                      '<\/p>'\n                      :\n                      \"\"\n                  ) +\n\n                  '<div class=\"nxi-record-meta\">' +\n\n                    meta\n                      .map(\n                        function (item) {\n\n                          return (\n                            '<span>' +\n                            escapeHTML(\n                              item\n                            ) +\n                            '<\/span>'\n                          );\n\n                        }\n                      )\n                      .join(\"\") +\n\n                  '<\/div>' +\n\n                  sourceLink(\n                    source\n                  ) +\n\n                '<\/article>'\n\n              );\n\n            }\n          )\n          .join(\"\");\n\n    }\n\n\n    function setupRequirementFilters() {\n\n      const category =\n        byId(\n          \"nxi-requirement-category\"\n        );\n\n\n      const search =\n        byId(\n          \"nxi-requirement-search\"\n        );\n\n\n      if (category) {\n\n        const categories =\n          Array.from(\n            new Set(\n              requirements\n                .map(\n                  function (record) {\n\n                    return firstValue(\n                      record,\n                      [\n                        \"requirement_category\",\n                        \"category\"\n                      ]\n                    );\n\n                  }\n                )\n                .filter(Boolean)\n            )\n          )\n          .sort();\n\n\n        category.innerHTML =\n          '<option value=\"all\">' +\n          'Alle kategorier' +\n          '<\/option>';\n\n\n        categories.forEach(\n          function (value) {\n\n            const option =\n              document.createElement(\n                \"option\"\n              );\n\n\n            option.value =\n              value;\n\n\n            option.textContent =\n              humanize(value);\n\n\n            category.appendChild(\n              option\n            );\n\n          }\n        );\n\n\n        category.addEventListener(\n          \"change\",\n          renderRequirements\n        );\n\n      }\n\n\n      if (search) {\n\n        search.addEventListener(\n          \"input\",\n          renderRequirements\n        );\n\n      }\n\n    }\n\n\n\n    \/* ========================================================\n       CONTROLS\n       ======================================================== *\/\n\n    function renderControls() {\n\n      const target =\n        byId(\n          \"nxi-control-list\"\n        );\n\n\n      if (!target) {\n        return;\n      }\n\n\n      const query =\n        (\n          byId(\n            \"nxi-control-search\"\n          )?.value ||\n          \"\"\n        )\n          .trim()\n          .toLowerCase();\n\n\n      const filtered =\n        controls.filter(\n          function (record) {\n\n            if (!query) {\n              return true;\n            }\n\n\n            const haystack =\n              [\n\n                record.control_id,\n                record.control_family,\n                record.control_title,\n                record.control_description,\n                record.derived_from_requirement_ids\n\n              ]\n                .filter(Boolean)\n                .join(\" \")\n                .toLowerCase();\n\n\n            return haystack.includes(\n              query\n            );\n\n          }\n        );\n\n\n      setText(\n        \"nxi-control-result-count\",\n        filtered.length +\n        \" controls\"\n      );\n\n\n      if (!filtered.length) {\n\n        target.innerHTML =\n          '<div class=\"nxi-empty-state\">' +\n          '<span>Ingen controls matcher s\u00f8gningen<\/span>' +\n          '<\/div>';\n\n\n        return;\n\n      }\n\n\n      target.innerHTML =\n        filtered\n          .map(\n            function (record) {\n\n              let requirementIDs =\n                record\n                  .derived_from_requirement_ids;\n\n\n              if (\n                Array.isArray(\n                  requirementIDs\n                )\n              ) {\n\n                requirementIDs =\n                  requirementIDs.join(\n                    \", \"\n                  );\n\n              }\n\n\n              const family =\n                record.control_family;\n\n\n              const title =\n                record.control_title ||\n                \"Operationelt control\";\n\n\n              const description =\n                record.control_description ||\n                \"\";\n\n\n              return (\n\n                '<article class=\"nxi-reg-record nxi-control-record\">' +\n\n                  '<span class=\"nxi-derived-badge\">' +\n                    'NEXPERTIA \u00b7 AFLEDT CONTROL' +\n                  '<\/span>' +\n\n                  '<h3>' +\n                    escapeHTML(\n                      title\n                    ) +\n                  '<\/h3>' +\n\n                  (\n                    description\n                      ?\n                      '<p>' +\n                        escapeHTML(\n                          description\n                        ) +\n                      '<\/p>'\n                      :\n                      \"\"\n                  ) +\n\n                  '<div class=\"nxi-record-meta\">' +\n\n                    (\n                      family\n                        ?\n                        '<span>' +\n                          escapeHTML(\n                            humanize(\n                              family\n                            )\n                          ) +\n                        '<\/span>'\n                        :\n                        \"\"\n                    ) +\n\n                    '<span>' +\n                      'Human review required' +\n                    '<\/span>' +\n\n                    (\n                      requirementIDs\n                        ?\n                        '<span>' +\n                          'Afledt fra: ' +\n                          escapeHTML(\n                            requirementIDs\n                          ) +\n                        '<\/span>'\n                        :\n                        \"\"\n                    ) +\n\n                  '<\/div>' +\n\n                '<\/article>'\n\n              );\n\n            }\n          )\n          .join(\"\");\n\n    }\n\n\n    const controlSearch =\n      byId(\n        \"nxi-control-search\"\n      );\n\n\n    if (controlSearch) {\n\n      controlSearch.addEventListener(\n        \"input\",\n        renderControls\n      );\n\n    }\n\n\n\n    \/* ========================================================\n       LOAD ACTUAL EUTAXY CONTRACT\n       ======================================================== *\/\n\n    async function loadEutaxy() {\n\n      const [\n        summaryJSON,\n        timelineJSON,\n        requirementsJSON,\n        controlsJSON,\n        guidanceJSON\n      ] =\n        await Promise.all([\n\n          fetchJSON(\n            EUTAXY_BASE +\n            \"\/summary.json\"\n          ),\n\n          fetchJSON(\n            EUTAXY_BASE +\n            \"\/regulatory_timeline.json\"\n          ),\n\n          fetchJSON(\n            EUTAXY_BASE +\n            \"\/requirements.json\"\n          ),\n\n          fetchJSON(\n            EUTAXY_BASE +\n            \"\/control_mapping.json\"\n          ),\n\n          fetchJSON(\n            EUTAXY_BASE +\n            \"\/guidance.json\"\n          )\n\n        ]);\n\n\n      \/*\n       * Instead of trusting wrapper names,\n       * identify arrays by the fields they contain.\n       *\/\n\n\n      timeline =\n        findBestArray(\n          timelineJSON,\n          [\n            \"date\",\n            \"event_date\",\n            \"date_precision\",\n            \"event_type\",\n            \"framework\",\n            \"publisher\",\n            \"source_url\",\n            \"requirement_id\"\n          ]\n        );\n\n\n      requirements =\n        findBestArray(\n          requirementsJSON,\n          [\n            \"requirement_id\",\n            \"framework\",\n            \"article_or_section\",\n            \"requirement_category\",\n            \"applies_to_role\",\n            \"trigger_condition\",\n            \"requirement_summary\",\n            \"source_url\"\n          ]\n        );\n\n\n      controls =\n        findBestArray(\n          controlsJSON,\n          [\n            \"control_id\",\n            \"control_family\",\n            \"control_title\",\n            \"control_description\",\n            \"derived_from_requirement_ids\",\n            \"fact_type\",\n            \"human_review_required\"\n          ]\n        );\n\n\n      guidance =\n        findBestArray(\n          guidanceJSON,\n          [\n            \"guidance_id\",\n            \"title\",\n            \"publisher\",\n            \"source_url\"\n          ]\n        );\n\n\n      console.log(\n        \"NEXPERTIA EUTAXY mapped\",\n        {\n          timeline:\n            timeline.length,\n\n          requirements:\n            requirements.length,\n\n          controls:\n            controls.length,\n\n          guidance:\n            guidance.length\n        }\n      );\n\n\n      \/*\n       * Counts\n       *\/\n\n      if (requirements.length) {\n\n        setText(\n          \"nxi-ai-requirements\",\n          formatNumber(\n            requirements.length\n          )\n        );\n\n      }\n\n\n      if (timeline.length) {\n\n        setText(\n          \"nxi-ai-events\",\n          formatNumber(\n            timeline.length\n          )\n        );\n\n      }\n\n\n      if (controls.length) {\n\n        setText(\n          \"nxi-ai-controls\",\n          formatNumber(\n            controls.length\n          )\n        );\n\n      }\n\n\n      setText(\n        \"nxi-ai-guidance\",\n        formatNumber(\n          guidance.length\n        )\n      );\n\n\n      \/*\n       * Timeline\n       *\/\n\n      if (timeline.length) {\n\n        setupTimelineFilter();\n\n        renderTimeline();\n\n      }\n\n\n      \/*\n       * Requirements\n       *\/\n\n      if (requirements.length) {\n\n        setupRequirementFilters();\n\n        renderRequirements();\n\n      }\n\n\n      \/*\n       * Controls\n       *\/\n\n      if (controls.length) {\n\n        renderControls();\n\n      }\n\n\n      \/*\n       * Public status\n       *\/\n\n      const status =\n        byId(\n          \"nxi-eutaxy-live-status\"\n        );\n\n\n      if (status) {\n\n        if (\n          timeline.length &&\n          requirements.length &&\n          controls.length\n        ) {\n\n          status.textContent =\n            \"EUTAXY-1 \u00b7 public-safe kontrakt indl\u00e6st\";\n\n        } else {\n\n          status.textContent =\n            \"EUTAXY-1 \u00b7 publiceret datas\u00e6t\";\n\n        }\n\n      }\n\n\n      \/*\n       * Optional useful debug\n       *\/\n\n      console.log(\n        \"NEXPERTIA EUTAXY summary\",\n        summaryJSON\n      );\n\n    }\n\n\n    loadEutaxy()\n      .catch(\n        function (error) {\n\n          console.error(\n            \"NEXPERTIA EUTAXY error\",\n            error\n          );\n\n        }\n      );\n\n\n\n    \/* ========================================================\n       FINAL GRAPH SAFETY\n       ======================================================== *\/\n\n    window.addEventListener(\n      \"load\",\n      function () {\n\n        drawSocialChart(\n          socialKey()\n        );\n\n      },\n      {\n        once: true\n      }\n    );\n\n  }\n\n\n  if (\n    document.readyState ===\n    \"loading\"\n  ) {\n\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      startNexpertia,\n      {\n        once: true\n      }\n    );\n\n  } else {\n\n    startNexpertia();\n\n  }\n\n})();\n<\/script>\n\n<div\n  class=\"nxi-page\"\n  data-social-base=\"\/wp-content\/uploads\/nexpertia\/social-1\"\n  data-eutaxy-base=\"\/wp-content\/uploads\/nexpertia\/eutaxy-1\"\n>\n\n  <!-- =====================================================\n       HERO\n       ===================================================== -->\n\n  <section class=\"nxi-hero\">\n    <div class=\"nxi-wrap\">\n\n      <div class=\"nxi-brand-row\">\n        <a class=\"nxi-brand\" href=\"\/\">NEXPERTIA<\/a>\n\n        <a class=\"nxi-mini-link\" href=\"\/laeringsunivers\/\">\n          L\u00e6r <span>\u2192<\/span>\n        <\/a>\n      <\/div>\n\n      <div class=\"nxi-eyebrow\">\n        NEXPERTIA \u00b7 INTELLIGENCE\n      <\/div>\n\n      <div class=\"nxi-hero-grid\">\n\n        <div>\n          <h1>\n            Fra kilder<br>\n            <span>til overblik.<\/span>\n          <\/h1>\n        <\/div>\n\n        <div class=\"nxi-hero-copy\">\n\n          <p>\n            NEXPERTIA samler dokumenterbare kilder,\n            bevarer historik og g\u00f8r \u00e6ndringer i data\n            og regulering lettere at forst\u00e5.\n          <\/p>\n\n          <p class=\"nxi-hero-copy-small\">\n            M\u00e5let er ikke bare at vise det seneste tal\n            eller dokument \u2014 men at kunne se hvad der\n            \u00e6ndrer sig, hvorn\u00e5r det \u00e6ndrer sig,\n            og hvad kilden faktisk underst\u00f8tter.\n          <\/p>\n\n          <div class=\"nxi-actions\">\n\n            <a\n              class=\"nxi-btn nxi-btn-primary\"\n              href=\"#examples\"\n            >\n              Se eksempler\n              <span>\u2193<\/span>\n            <\/a>\n\n            <a\n              class=\"nxi-btn nxi-btn-secondary\"\n              href=\"#method\"\n            >\n              S\u00e5dan arbejder vi\n            <\/a>\n\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n      <div class=\"nxi-hero-principle\">\n\n        <span>01<\/span>\n\n        <strong>\n          NEXPERTIA er ikke bare et dashboard.\n        <\/strong>\n\n        <p>\n          Intelligence-laget bygger p\u00e5 sporbare kilder,\n          historiske observationer og en tydelig gr\u00e6nse\n          mellem dokumenterede fakta og fortolkning.\n        <\/p>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- =====================================================\n       WHAT WE DO\n       ===================================================== -->\n\n  <section class=\"nxi-section nxi-intro-section\">\n    <div class=\"nxi-wrap\">\n\n      <div class=\"nxi-section-head\">\n\n        <div>\n          <p class=\"nxi-kicker\">\n            Hvad NEXPERTIA g\u00f8r\n          <\/p>\n\n          <h2>\n            Vi g\u00f8r \u00e6ndringer<br>\n            synlige.\n          <\/h2>\n        <\/div>\n\n        <div class=\"nxi-section-copy\">\n          <p>\n            Offentlige data, regler og vejledninger \u00e6ndrer\n            sig over tid. NEXPERTIA strukturerer kilderne,\n            s\u00e5 historik og \u00e6ndringer kan unders\u00f8ges i stedet\n            for at forsvinde i nye versioner og \u00f8jebliksbilleder.\n          <\/p>\n        <\/div>\n\n      <\/div>\n\n\n      <div class=\"nxi-process-grid\">\n\n        <article class=\"nxi-process-card\">\n\n          <span class=\"nxi-process-number\">\n            01\n          <\/span>\n\n          <span class=\"nxi-overline\">\n            KILDE\n          <\/span>\n\n          <h3>\n            Vi starter med dokumentationen.\n          <\/h3>\n\n          <p>\n            Data og regulatoriske fakta knyttes\n            til kilde, dato og provenance.\n          <\/p>\n\n        <\/article>\n\n\n        <article class=\"nxi-process-card\">\n\n          <span class=\"nxi-process-number\">\n            02\n          <\/span>\n\n          <span class=\"nxi-overline\">\n            HISTORIK\n          <\/span>\n\n          <h3>\n            Vi bevarer det, der \u00e6ndrer sig.\n          <\/h3>\n\n          <p>\n            Tidligere observationer bevares,\n            s\u00e5 man kan rekonstruere udviklingen\n            i stedet for kun at se det seneste.\n          <\/p>\n\n        <\/article>\n\n\n        <article class=\"nxi-process-card nxi-process-card-accent\">\n\n          <span class=\"nxi-process-number\">\n            03\n          <\/span>\n\n          <span class=\"nxi-overline\">\n            INTELLIGENCE\n          <\/span>\n\n          <h3>\n            Vi g\u00f8r forskellen forst\u00e5elig.\n          <\/h3>\n\n          <p>\n            Historikken bliver til tidsserier,\n            \u00e6ndringer, deadlines og tydeligt\n            afgr\u00e6nsede operationelle fortolkninger.\n          <\/p>\n\n        <\/article>\n\n      <\/div>\n\n\n      <div class=\"nxi-flow-line\">\n\n        <span>KILDE<\/span>\n        <i>\u2192<\/i>\n\n        <span>OBSERVATION<\/span>\n        <i>\u2192<\/i>\n\n        <span>HISTORIK<\/span>\n        <i>\u2192<\/i>\n\n        <span>\u00c6NDRING<\/span>\n        <i>\u2192<\/i>\n\n        <strong>INTELLIGENCE<\/strong>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- =====================================================\n       EXAMPLES INTRO\n       ===================================================== -->\n\n  <section\n    id=\"examples\"\n    class=\"nxi-section nxi-section-soft nxi-example-intro\"\n  >\n    <div class=\"nxi-wrap\">\n\n      <p class=\"nxi-kicker\">\n        To levende eksempler\n      <\/p>\n\n      <div class=\"nxi-example-intro-grid\">\n\n        <h2>\n          Samme metode.<br>\n          To forskellige dom\u00e6ner.\n        <\/h2>\n\n        <p>\n          Social Care Intelligence viser historiske\n          \u00e6ndringer i registreret kapacitet.\n          AI Regulation Intelligence viser regulatoriske\n          krav, datoer og s\u00e6rskilt markerede controls.\n        <\/p>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- =====================================================\n       SOCIAL CARE\n       ===================================================== -->\n\n  <section\n    id=\"social-care\"\n    class=\"nxi-section nxi-section-soft\"\n  >\n    <div class=\"nxi-wrap\">\n\n      <div class=\"nxi-product-heading\">\n\n        <div>\n\n          <p class=\"nxi-kicker\">\n            01 \u00b7 Social Care Intelligence\n          <\/p>\n\n          <h2>\n            Hvad har \u00e6ndret sig<br>\n            i botilbudskapaciteten?\n          <\/h2>\n\n        <\/div>\n\n\n        <div class=\"nxi-product-description\">\n\n          <p>\n            Seks officielle snapshots g\u00f8r det muligt\n            at f\u00f8lge registreret \u00a7107- og \u00a7108-kapacitet\n            fra 2021 til marts 2026.\n          <\/p>\n\n          <div class=\"nxi-product-purpose\">\n\n            <span>\n              DET VISER\n            <\/span>\n\n            <strong>\n              Hvordan det registrerede udbud\n              har udviklet sig over tid.\n            <\/strong>\n\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n\n      <div class=\"nxi-dashboard\">\n\n        <!-- CONTROLS -->\n\n        <div class=\"nxi-toolbar\">\n\n          <div class=\"nxi-control-group\">\n\n            <span class=\"nxi-control-label\">\n              Service\n            <\/span>\n\n            <div\n              class=\"nxi-segmented\"\n              data-control=\"service\"\n            >\n\n              <button\n                class=\"is-active\"\n                type=\"button\"\n                data-value=\"108\"\n              >\n                \u00a7108\n              <\/button>\n\n              <button\n                type=\"button\"\n                data-value=\"107\"\n              >\n                \u00a7107\n              <\/button>\n\n            <\/div>\n\n          <\/div>\n\n\n          <div class=\"nxi-control-group\">\n\n            <span class=\"nxi-control-label\">\n              M\u00e5ling\n            <\/span>\n\n            <div\n              class=\"nxi-segmented\"\n              data-control=\"metric\"\n            >\n\n              <button\n                class=\"is-active\"\n                type=\"button\"\n                data-value=\"capacity_total\"\n              >\n                Kapacitet\n              <\/button>\n\n              <button\n                type=\"button\"\n                data-value=\"entity_count\"\n              >\n                Enheder\n              <\/button>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n\n        <!-- KPI -->\n\n        <div class=\"nxi-kpi-grid\">\n\n          <div class=\"nxi-kpi\">\n\n            <span class=\"nxi-kpi-label\">\n              2021\n            <\/span>\n\n            <strong id=\"nxi-start-value\">\n              5.461\n            <\/strong>\n\n            <small id=\"nxi-start-caption\">\n              Registreret kapacitet\n            <\/small>\n\n          <\/div>\n\n\n          <div class=\"nxi-kpi\">\n\n            <span class=\"nxi-kpi-label\">\n              Marts 2026\n            <\/span>\n\n            <strong id=\"nxi-latest-value\">\n              6.075\n            <\/strong>\n\n            <small id=\"nxi-latest-caption\">\n              Registreret kapacitet\n            <\/small>\n\n          <\/div>\n\n\n          <div class=\"nxi-kpi nxi-kpi-accent\">\n\n            <span class=\"nxi-kpi-label\">\n              \u00c6ndring\n            <\/span>\n\n            <strong id=\"nxi-change-value\">\n              +614\n            <\/strong>\n\n            <small id=\"nxi-change-pct\">\n              +11,2 %\n            <\/small>\n\n          <\/div>\n\n        <\/div>\n\n\n        <!-- EXPLANATION -->\n\n        <div class=\"nxi-signal-card\">\n\n          <span class=\"nxi-overline\">\n            HVAD KAN VI SE?\n          <\/span>\n\n          <p id=\"nxi-social-insight\">\n            Den registrerede \u00a7108-kapacitet er steget\n            fra 5.461 i 2021 til 6.075 i marts 2026.\n            Det svarer til en stigning p\u00e5 614 pladser.\n          <\/p>\n\n          <small>\n            Beskrivende observation \u00b7 ikke et m\u00e5l\n            for eftersp\u00f8rgsel eller kvalitet\n          <\/small>\n\n        <\/div>\n\n\n        <!-- CHART -->\n\n        <div class=\"nxi-chart-card\">\n\n          <div class=\"nxi-chart-head\">\n\n            <div>\n\n              <span class=\"nxi-overline\">\n                NATIONAL TIDSSERIE\n              <\/span>\n\n              <strong id=\"nxi-chart-title\">\n                \u00a7108 \u00b7 registreret kapacitet\n              <\/strong>\n\n            <\/div>\n\n            <span class=\"nxi-chart-period\">\n              2021 \u2192 2026\n            <\/span>\n\n          <\/div>\n\n\n          <div class=\"nxi-chart-wrap\">\n\n            <svg\n              id=\"nxi-social-chart\"\n              class=\"nxi-chart\"\n              viewBox=\"0 0 760 300\"\n              preserveAspectRatio=\"xMidYMid meet\"\n              role=\"img\"\n              aria-label=\"Historisk udvikling i registreret kapacitet\"\n            ><\/svg>\n\n          <\/div>\n\n\n          <div\n            id=\"nxi-chart-years\"\n            class=\"nxi-chart-years\"\n          >\n\n            <span>2021<\/span>\n            <span>2022<\/span>\n            <span>2023<\/span>\n            <span>2024<\/span>\n            <span>2025<\/span>\n            <span>2026<\/span>\n\n          <\/div>\n\n        <\/div>\n\n\n        <!-- DETAILS -->\n\n        <details class=\"nxi-details\">\n\n          <summary>\n            Se alle seks observationer\n            <span>+<\/span>\n          <\/summary>\n\n          <div class=\"nxi-table-scroll\">\n\n            <table class=\"nxi-table\">\n\n              <thead>\n\n                <tr>\n                  <th>Dato<\/th>\n                  <th>\u00a7107 enheder<\/th>\n                  <th>\u00a7107 kapacitet<\/th>\n                  <th>\u00a7108 enheder<\/th>\n                  <th>\u00a7108 kapacitet<\/th>\n                <\/tr>\n\n              <\/thead>\n\n              <tbody id=\"nxi-social-table\">\n\n                <tr>\n                  <td>2021<\/td>\n                  <td>1.350<\/td>\n                  <td>8.291<\/td>\n                  <td>683<\/td>\n                  <td>5.461<\/td>\n                <\/tr>\n\n                <tr>\n                  <td>2022<\/td>\n                  <td>1.392<\/td>\n                  <td>8.425<\/td>\n                  <td>729<\/td>\n                  <td>5.619<\/td>\n                <\/tr>\n\n                <tr>\n                  <td>2023<\/td>\n                  <td>1.440<\/td>\n                  <td>8.605<\/td>\n                  <td>790<\/td>\n                  <td>5.822<\/td>\n                <\/tr>\n\n                <tr>\n                  <td>2024<\/td>\n                  <td>1.506<\/td>\n                  <td>8.923<\/td>\n                  <td>846<\/td>\n                  <td>5.925<\/td>\n                <\/tr>\n\n                <tr>\n                  <td>2025<\/td>\n                  <td>1.541<\/td>\n                  <td>8.928<\/td>\n                  <td>858<\/td>\n                  <td>6.047<\/td>\n                <\/tr>\n\n                <tr>\n                  <td>2026<\/td>\n                  <td>1.530<\/td>\n                  <td>8.792<\/td>\n                  <td>857<\/td>\n                  <td>6.075<\/td>\n                <\/tr>\n\n              <\/tbody>\n\n            <\/table>\n\n          <\/div>\n\n        <\/details>\n\n\n        <div class=\"nxi-limit-note\">\n\n          <strong>\n            Begr\u00e6nsning\n          <\/strong>\n\n          <p>\n            Tallene beskriver registreret udbudskapacitet.\n            De siger ikke direkte noget om eftersp\u00f8rgsel,\n            bel\u00e6gning, kvalitet eller effekt.\n          <\/p>\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- =====================================================\n       AI REGULATION\n       ===================================================== -->\n\n  <section\n    id=\"ai-regulation\"\n    class=\"nxi-section nxi-regulation-section\"\n  >\n    <div class=\"nxi-wrap\">\n\n      <div class=\"nxi-product-heading\">\n\n        <div>\n\n          <p class=\"nxi-kicker\">\n            02 \u00b7 AI Regulation Intelligence\n          <\/p>\n\n          <h2>\n            Hvad kr\u00e6ver reglerne<br>\n            \u2014 og hvorn\u00e5r?\n          <\/h2>\n\n        <\/div>\n\n\n        <div class=\"nxi-product-description\">\n\n          <p>\n            EUTAXY strukturerer officielle AI Act-fakta\n            og holder dem adskilt fra NEXPERTIAs\n            operationelle fortolkninger.\n          <\/p>\n\n          <div class=\"nxi-product-purpose\">\n\n            <span>\n              DET VISER\n            <\/span>\n\n            <strong>\n              Hvilke krav og regulatoriske datoer\n              der findes i det publicerede datas\u00e6t.\n            <\/strong>\n\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n\n      <!-- SUMMARY -->\n\n      <div class=\"nxi-reg-summary\">\n\n        <div>\n          <strong id=\"nxi-ai-requirements\">\n            20\n          <\/strong>\n          <span>officielle krav<\/span>\n        <\/div>\n\n        <div>\n          <strong id=\"nxi-ai-events\">\n            40\n          <\/strong>\n          <span>regulatoriske datoer<\/span>\n        <\/div>\n\n        <div>\n          <strong id=\"nxi-ai-controls\">\n            12\n          <\/strong>\n          <span>afledte controls<\/span>\n        <\/div>\n\n        <div>\n          <strong id=\"nxi-ai-guidance\">\n            0\n          <\/strong>\n          <span>guidance-records<\/span>\n        <\/div>\n\n      <\/div>\n\n\n      <!-- WHY -->\n\n      <div class=\"nxi-reg-context\">\n\n        <span class=\"nxi-overline\">\n          HVORFOR DET BETYDER NOGET\n        <\/span>\n\n        <p>\n          Et lovkrav og en intern arbejdsopgave er ikke det samme.\n          Derfor holder NEXPERTIA det officielle regulatoriske\n          faktum adskilt fra det operationelle control,\n          der kan bruges til at oms\u00e6tte kravet til praksis.\n        <\/p>\n\n      <\/div>\n\n\n      <!-- WORKBENCH -->\n\n      <div class=\"nxi-ai-workbench\">\n\n        <div\n          class=\"nxi-ai-tabs\"\n          role=\"tablist\"\n          aria-label=\"AI Regulation Intelligence\"\n        >\n\n          <button\n            class=\"nxi-ai-tab is-active\"\n            type=\"button\"\n            data-nxi-ai-tab=\"timeline\"\n          >\n            Tidslinje\n          <\/button>\n\n          <button\n            class=\"nxi-ai-tab\"\n            type=\"button\"\n            data-nxi-ai-tab=\"requirements\"\n          >\n            Krav\n          <\/button>\n\n          <button\n            class=\"nxi-ai-tab\"\n            type=\"button\"\n            data-nxi-ai-tab=\"controls\"\n          >\n            Controls\n          <\/button>\n\n        <\/div>\n\n\n        <!-- TIMELINE -->\n\n        <div\n          class=\"nxi-ai-pane is-active\"\n          data-nxi-ai-pane=\"timeline\"\n        >\n\n          <div class=\"nxi-ai-pane-head\">\n\n            <div>\n\n              <span class=\"nxi-overline\">\n                REGULATORISK TIDSLINJE\n              <\/span>\n\n              <strong>\n                Datoer fra det publicerede datas\u00e6t\n              <\/strong>\n\n            <\/div>\n\n\n            <div class=\"nxi-ai-filter-wrap\">\n\n              <label for=\"nxi-ai-event-filter\">\n                Type\n              <\/label>\n\n              <select id=\"nxi-ai-event-filter\">\n\n                <option value=\"all\">\n                  Alle typer\n                <\/option>\n\n              <\/select>\n\n            <\/div>\n\n          <\/div>\n\n\n          <div\n            id=\"nxi-ai-timeline\"\n            class=\"nxi-ai-timeline\"\n            aria-live=\"polite\"\n          >\n\n            <div class=\"nxi-empty-state\">\n\n              <span>\n                40 regulatoriske datoer\n              <\/span>\n\n              <p>\n                Udforsk datoer og milep\u00e6le fra\n                de publicerede AI Act-fakta.\n              <\/p>\n\n            <\/div>\n\n          <\/div>\n\n\n          <div class=\"nxi-timeline-more-wrap\">\n\n            <button\n              id=\"nxi-timeline-more\"\n              class=\"nxi-timeline-more\"\n              type=\"button\"\n              hidden\n            >\n              Vis flere\n              <span>\u2193<\/span>\n            <\/button>\n\n          <\/div>\n\n        <\/div>\n\n\n        <!-- REQUIREMENTS -->\n\n        <div\n          class=\"nxi-ai-pane\"\n          data-nxi-ai-pane=\"requirements\"\n          hidden\n        >\n\n          <div class=\"nxi-ai-pane-head\">\n\n            <div>\n\n              <span class=\"nxi-overline\">\n                OFFICIELLE FAKTA\n              <\/span>\n\n              <strong>\n                Udforsk kravene\n              <\/strong>\n\n            <\/div>\n\n            <span\n              id=\"nxi-requirement-result-count\"\n              class=\"nxi-result-count\"\n            >\n              20 krav\n            <\/span>\n\n          <\/div>\n\n\n          <div class=\"nxi-explorer-controls\">\n\n            <input\n              id=\"nxi-requirement-search\"\n              class=\"nxi-search\"\n              type=\"search\"\n              placeholder=\"S\u00f8g i krav, artikel eller rolle...\"\n            >\n\n            <select\n              id=\"nxi-requirement-category\"\n              class=\"nxi-select\"\n            >\n\n              <option value=\"all\">\n                Alle kategorier\n              <\/option>\n\n            <\/select>\n\n          <\/div>\n\n\n          <div\n            id=\"nxi-requirement-list\"\n            class=\"nxi-record-list\"\n          >\n\n            <div class=\"nxi-empty-state\">\n\n              <span>\n                20 publicerede AI Act-krav\n              <\/span>\n\n              <p>\n                Kravene er struktureret efter kategori,\n                rolle, dato og officiel kilde.\n              <\/p>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n\n        <!-- CONTROLS -->\n\n        <div\n          class=\"nxi-ai-pane\"\n          data-nxi-ai-pane=\"controls\"\n          hidden\n        >\n\n          <div class=\"nxi-ai-pane-head\">\n\n            <div>\n\n              <span class=\"nxi-overline\">\n                NEXPERTIA \u00b7 AFLEDT\n              <\/span>\n\n              <strong>\n                Fra krav til operationel handling\n              <\/strong>\n\n            <\/div>\n\n            <span\n              id=\"nxi-control-result-count\"\n              class=\"nxi-result-count\"\n            >\n              12 controls\n            <\/span>\n\n          <\/div>\n\n\n          <div class=\"nxi-fact-derived\">\n\n            <div class=\"nxi-fact-box\">\n\n              <span>\n                OFFICIELT KRAV\n              <\/span>\n\n              <strong>\n                Regulatorisk faktum\n              <\/strong>\n\n              <p>\n                Kilde, artikel, rolle,\n                dato og regulatorisk beskrivelse.\n              <\/p>\n\n            <\/div>\n\n\n            <div class=\"nxi-fact-arrow\">\n              \u2192\n            <\/div>\n\n\n            <div class=\"nxi-derived-box\">\n\n              <span>\n                NEXPERTIA \u00b7 AFLEDT\n              <\/span>\n\n              <strong>\n                Operationelt control\n              <\/strong>\n\n              <p>\n                Praktisk fortolkning,\n                tydeligt markeret som afledt\n                og med human review required.\n              <\/p>\n\n            <\/div>\n\n          <\/div>\n\n\n          <div class=\"nxi-explorer-controls\">\n\n            <input\n              id=\"nxi-control-search\"\n              class=\"nxi-search\"\n              type=\"search\"\n              placeholder=\"S\u00f8g i controls...\"\n            >\n\n          <\/div>\n\n\n          <div\n            id=\"nxi-control-list\"\n            class=\"nxi-record-list\"\n          >\n\n            <div class=\"nxi-empty-state\">\n\n              <span>\n                12 operationelle controls\n              <\/span>\n\n              <p>\n                Controls er NEXPERTIAs fortolkninger\n                og vises aldrig som lovtekst.\n              <\/p>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n\n      <!-- SOURCES -->\n\n      <div class=\"nxi-source-panel\">\n\n        <div>\n\n          <span class=\"nxi-overline\">\n            KILDER &#038; METODE\n          <\/span>\n\n          <strong>\n            Sporbarhed er en del af produktet.\n          <\/strong>\n\n        <\/div>\n\n\n        <div class=\"nxi-source-grid\">\n\n          <div>\n\n            <span>01<\/span>\n\n            <strong>\n              Officiel kilde\n            <\/strong>\n\n            <p>\n              Publicerede fakta skal kunne\n              f\u00f8res tilbage til dokumentationen.\n            <\/p>\n\n          <\/div>\n\n\n          <div>\n\n            <span>02<\/span>\n\n            <strong>\n              Historik\n            <\/strong>\n\n            <p>\n              \u00c6ndringer bevares som\n              historiske observationer.\n            <\/p>\n\n          <\/div>\n\n\n          <div>\n\n            <span>03<\/span>\n\n            <strong>\n              Fact \u2260 derived\n            <\/strong>\n\n            <p>\n              Regulatoriske facts og afledte\n              controls holdes adskilt.\n            <\/p>\n\n          <\/div>\n\n\n          <div>\n\n            <span>04<\/span>\n\n            <strong>\n              Begr\u00e6nsning\n            <\/strong>\n\n            <p>\n              Indholdet er ikke juridisk r\u00e5dgivning\n              eller en compliance-garanti.\n            <\/p>\n\n          <\/div>\n\n        <\/div>\n\n\n        <div class=\"nxi-source-footer\">\n\n          <span>\n            Prim\u00e6r regulatorisk kilde:\n            <strong>EUR-Lex<\/strong>\n          <\/span>\n\n          <span id=\"nxi-eutaxy-live-status\">\n            Publiceret EUTAXY-1\n          <\/span>\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- =====================================================\n       METHOD\n       ===================================================== -->\n\n  <section\n    id=\"method\"\n    class=\"nxi-method-section\"\n  >\n    <div class=\"nxi-wrap\">\n\n      <div class=\"nxi-method-grid\">\n\n        <div>\n\n          <p class=\"nxi-kicker nxi-kicker-light\">\n            NEXPERTIA PRINCIP\n          <\/p>\n\n          <h2>\n            Fakta f\u00f8rst.<br>\n            Fortolkning bagefter.\n          <\/h2>\n\n        <\/div>\n\n\n        <div class=\"nxi-method-items\">\n\n          <div>\n\n            <span>01<\/span>\n\n            <strong>\n              Sporbare kilder\n            <\/strong>\n\n            <p>\n              Et resultat skal kunne f\u00f8res\n              tilbage til dokumentationen.\n            <\/p>\n\n          <\/div>\n\n\n          <div>\n\n            <span>02<\/span>\n\n            <strong>\n              Historik bevares\n            <\/strong>\n\n            <p>\n              Vi vil kunne se hvad der stod tidligere,\n              ikke kun hvad der st\u00e5r nu.\n            <\/p>\n\n          <\/div>\n\n\n          <div>\n\n            <span>03<\/span>\n\n            <strong>\n              Begr\u00e6nsninger er synlige\n            <\/strong>\n\n            <p>\n              Intelligence m\u00e5 ikke fort\u00e6lle mere,\n              end kilden faktisk underst\u00f8tter.\n            <\/p>\n\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- =====================================================\n       FINAL CTA\n       ===================================================== -->\n\n  <section class=\"nxi-final\">\n    <div class=\"nxi-wrap\">\n\n      <div class=\"nxi-final-box\">\n\n        <p class=\"nxi-kicker\">\n          NEXPERTIA\n        <\/p>\n\n        <h2 class=\"nxi-final-heading\">\n          Forst\u00e5 systemet.<br>\n          Se hvad der \u00e6ndrer sig.\n        <\/h2>\n\n        <p class=\"nxi-final-copy\">\n          Brug Intelligence til at udforske dokumenterede\n          \u00e6ndringer \u2014 eller g\u00e5 til L\u00e6ringsuniverset\n          for at forst\u00e5 metoderne og bruge dem selv.\n        <\/p>\n\n\n        <div class=\"nxi-actions nxi-actions-center\">\n\n          <a\n            class=\"nxi-btn nxi-btn-primary\"\n            href=\"\/laeringsunivers\/\"\n          >\n            L\u00e6r\n            <span>\u2192<\/span>\n          <\/a>\n\n          <a\n            class=\"nxi-btn nxi-btn-secondary\"\n            href=\"#examples\"\n          >\n            Udforsk igen\n            <span>\u2191<\/span>\n          <\/a>\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>NEXPERTIA L\u00e6r \u2192 NEXPERTIA \u00b7 INTELLIGENCE Fra kilder til overblik. NEXPERTIA samler dokumenterbare kilder, bevarer historik og g\u00f8r \u00e6ndringer i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","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":"","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-436","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/pages\/436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/comments?post=436"}],"version-history":[{"count":15,"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/pages\/436\/revisions"}],"predecessor-version":[{"id":460,"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/pages\/436\/revisions\/460"}],"wp:attachment":[{"href":"https:\/\/nexpertia.dk\/index.php\/wp-json\/wp\/v2\/media?parent=436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}