{"id":40,"date":"2026-08-07T20:42:35","date_gmt":"2026-08-07T20:42:35","guid":{"rendered":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/?page_id=40"},"modified":"2026-08-11T21:00:29","modified_gmt":"2026-08-11T21:00:29","slug":"initiate-project-or-phase","status":"publish","type":"page","link":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/initiate-project-or-phase\/","title":{"rendered":"Initiate Project or Phase"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"40\" class=\"elementor elementor-40\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e76082 e-flex e-con-boxed e-con e-parent\" data-id=\"9e76082\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-f249b55 e-con-full e-flex e-con e-child\" data-id=\"f249b55\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-46a969b elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"46a969b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-left\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Back<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f57d798 elementor-widget elementor-widget-heading\" data-id=\"f57d798\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Initiate Project or Phase - Initiating\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0e25b61 e-flex e-con-boxed e-con e-parent\" data-id=\"0e25b61\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-313445d elementor-widget elementor-widget-shortcode\" data-id=\"313445d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <style id=\"pmp-process-manager-css\">\n            @import url('https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,600&family=Inter:wght@400;500&display=swap');\n\n            .pmp-process-table,\n            .pmp-process-table * {\n                box-sizing: border-box;\n            }\n\n            .pmp-process-table {\n                width: 100%;\n                display: grid;\n                grid-template-columns: repeat(3, minmax(0, 1fr));\n                grid-template-areas:\n                    \"title title title\"\n                    \"inputs-head tools-head outputs-head\"\n                    \"inputs tools outputs\";\n                border: 1px solid #9BB5C1;\n                overflow: hidden;\n                background: #fff;\n            }\n\n            .pmp-process-title {\n                grid-area: title;\n                padding: 16px 25px;\n                font-family: \"Fraunces\", serif;\n                font-size: 24px;\n                font-weight: 600;\n                line-height: 1.25;\n                text-align: center;\n                color: #000000;\n                background: #F3F4F4;\n                border-bottom: 1px solid #9BB5C1;\n            }\n\n            .pmp-process-phase {\n                font-family: \"Inter\", sans-serif;\n                font-size: 16px;\n                font-weight: 400;\n                color: #5A7A8A;\n            }\n\n            .pmp-column-head {\n                padding: 12px 20px;\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                font-family: \"Fraunces\", serif;\n                font-size: 20px;\n                font-weight: 600;\n                line-height: 1.25;\n                text-align: center;\n                color: #000000;\n                border-bottom: 1px solid #9BB5C1;\n            }\n\n            .pmp-inputs-head {\n                grid-area: inputs-head;\n                background: #DCECF6;\n                border-right: 1px solid #9BB5C1;\n            }\n\n            .pmp-tools-head {\n                grid-area: tools-head;\n                background: #E8EAF4;\n                border-right: 1px solid #9BB5C1;\n            }\n\n            .pmp-outputs-head {\n                grid-area: outputs-head;\n                background: #E4F1F3;\n            }\n\n            .pmp-column {\n                min-width: 0;\n                min-height: 250px;\n                padding: 30px 30px 40px;\n            }\n\n            .pmp-inputs {\n                grid-area: inputs;\n                background: #F2F8FC;\n                border-right: 1px solid #9BB5C1;\n            }\n\n            .pmp-tools {\n                grid-area: tools;\n                background: #F6F6FA;\n                border-right: 1px solid #9BB5C1;\n            }\n\n            .pmp-outputs {\n                grid-area: outputs;\n                background: #F2F8F8;\n            }\n\n            .pmp-process-table .pmp-list {\n                margin: 0;\n                padding: 0;\n                list-style: none;\n            }\n\n            .pmp-process-table .pmp-item {\n                position: relative;\n                margin: 0 0 17px;\n                padding-left: 27px;\n                font-family: \"Inter\", sans-serif;\n                font-size: 18px;\n                font-weight: 400;\n                line-height: 1.5;\n                color: #5A7A8A;\n            }\n\n            .pmp-process-table .pmp-item:last-child {\n                margin-bottom: 0;\n            }\n\n            .pmp-process-table .pmp-item::before {\n                content: \"::\";\n                position: absolute;\n                left: 2px;\n                top: 1px;\n                width: auto;\n                height: auto;\n                border-radius: 0;\n                background: transparent;\n                color: #2E718B;\n                font-family: \"Inter\", sans-serif;\n                font-size: 19px;\n                font-weight: 700;\n                line-height: 1.5;\n                letter-spacing: -1px;\n            }\n\n            .pmp-process-table .pmp-static {\n                display: block;\n            }\n\n            .pmp-process-table .pmp-toggle {\n                display: inline-flex;\n                align-items: center;\n                justify-content: flex-start;\n                gap: 8px;\n                max-width: 100%;\n                margin: 0;\n                padding: 0;\n                border: 0;\n                outline: none;\n                background: transparent;\n                font-family: \"Inter\", sans-serif;\n                font-size: 18px;\n                font-weight: 400;\n                line-height: 1.5;\n                color: #5A7A8A;\n                text-align: left;\n                cursor: pointer;\n            }\n\n            .pmp-process-table .pmp-toggle:hover {\n                color: #365D70;\n            }\n\n            .pmp-process-table .pmp-toggle:focus-visible {\n                outline: 2px solid #5A7A8A;\n                outline-offset: 5px;\n                border-radius: 3px;\n            }\n\n            .pmp-process-table .pmp-icon {\n                position: relative;\n                flex: 0 0 20px;\n                width: 20px;\n                height: 20px;\n                border: 1.5px solid #5A7A8A;\n                border-radius: 50%;\n            }\n\n            .pmp-process-table .pmp-icon::before,\n            .pmp-process-table .pmp-icon::after {\n                content: \"\";\n                position: absolute;\n                left: 50%;\n                top: 50%;\n                background: #5A7A8A;\n                transform: translate(-50%, -50%);\n            }\n\n            .pmp-process-table .pmp-icon::before {\n                width: 8px;\n                height: 1.5px;\n            }\n\n            .pmp-process-table .pmp-icon::after {\n                width: 1.5px;\n                height: 8px;\n                transition: opacity 0.25s ease, transform 0.25s ease;\n            }\n\n            .pmp-process-table .pmp-toggle[aria-expanded=\"true\"] .pmp-icon::after {\n                opacity: 0;\n                transform: translate(-50%, -50%) rotate(90deg);\n            }\n\n            .pmp-process-table .pmp-sublist {\n                overflow: hidden;\n                max-height: 0;\n                margin: 0;\n                padding: 0 0 0 15px;\n                list-style: none;\n                opacity: 0;\n                transition: max-height 0.35s ease, opacity 0.25s ease, margin-top 0.35s ease;\n            }\n\n            .pmp-process-table .pmp-has-children.pmp-open .pmp-sublist {\n                margin-top: 13px;\n                opacity: 1;\n            }\n\n            .pmp-process-table .pmp-sublist li {\n                position: relative;\n                margin: 0 0 10px;\n                padding-left: 22px;\n                font-family: \"Inter\", sans-serif;\n                font-size: 16px;\n                font-weight: 400;\n                line-height: 1.45;\n                color: #5A7A8A;\n            }\n\n            .pmp-process-table .pmp-sublist li:last-child {\n                margin-bottom: 0;\n            }\n\n            .pmp-process-table .pmp-sublist li::before {\n                content: \":\";\n                position: absolute;\n                left: 5px;\n                top: 0;\n                width: auto;\n                height: auto;\n                border-radius: 0;\n                background: transparent;\n                color: #2E718B;\n                font-family: \"Inter\", sans-serif;\n                font-size: 17px;\n                font-weight: 700;\n                line-height: 1.45;\n            }\n\n\n            \/* ========================================\n               MEMBERSHIP \/ LOGIN \/ SUBSCRIPTION\n            ======================================== *\/\n\n            .pmp-membership-shell,\n            .pmp-membership-shell *,\n            .pmp-practice-paywall,\n            .pmp-practice-paywall *,\n            .pmp-practice-cta,\n            .pmp-practice-cta * {\n                box-sizing: border-box;\n            }\n\n            .pmp-membership-shell {\n                width: 100%;\n                font-family: \"Inter\", sans-serif;\n                color: #5A7A8A;\n            }\n\n            .pmp-membership-grid {\n                display: grid;\n                grid-template-columns: repeat(2, minmax(0, 1fr));\n                gap: 28px;\n                align-items: start;\n            }\n\n            .pmp-membership-single {\n                max-width: 720px;\n                margin: 0 auto;\n            }\n\n            .pmp-auth-card,\n            .pmp-member-status-card,\n            .pmp-practice-paywall {\n                width: 100%;\n                padding: 34px;\n                border: 1px solid #A9C4D1;\n                border-radius: 16px;\n                background: #ffffff;\n            }\n\n            .pmp-auth-heading {\n                margin-bottom: 24px;\n            }\n\n            .pmp-auth-heading h2,\n            .pmp-member-status-card h3,\n            .pmp-practice-paywall h2 {\n                margin: 0 0 8px;\n                font-family: \"Fraunces\", serif;\n                color: #000000;\n                font-weight: 600;\n                line-height: 1.2;\n            }\n\n            .pmp-auth-heading h2,\n            .pmp-practice-paywall h2 {\n                font-size: 32px;\n            }\n\n            .pmp-member-status-card h3 {\n                font-size: 27px;\n            }\n\n            .pmp-auth-heading p,\n            .pmp-member-status-card p,\n            .pmp-practice-paywall p {\n                margin: 0;\n                color: #708FA1;\n                font-family: \"Inter\", sans-serif;\n                font-size: 16px;\n                line-height: 1.55;\n            }\n\n            .pmp-auth-form {\n                display: grid;\n                gap: 17px;\n            }\n\n            .pmp-field-grid {\n                display: grid;\n                grid-template-columns: repeat(2, minmax(0, 1fr));\n                gap: 14px;\n            }\n\n            .pmp-field label {\n                display: block;\n                margin: 0 0 7px;\n                color: #365D70;\n                font-family: \"Inter\", sans-serif;\n                font-size: 14px;\n                font-weight: 500;\n                line-height: 1.35;\n            }\n\n            .pmp-field input[type=\"text\"],\n            .pmp-field input[type=\"email\"],\n            .pmp-field input[type=\"password\"] {\n                width: 100%;\n                min-height: 50px;\n                margin: 0;\n                padding: 11px 14px;\n                border: 1px solid #B7CDD8;\n                border-radius: 8px;\n                outline: none;\n                background: #ffffff;\n                color: #243B47;\n                font-family: \"Inter\", sans-serif;\n                font-size: 16px;\n                line-height: 1.4;\n                box-shadow: none;\n                transition: border-color .18s ease, box-shadow .18s ease;\n            }\n\n            .pmp-field input:focus {\n                border-color: #3A7D99;\n                box-shadow: 0 0 0 3px rgba(58, 125, 153, 0.12);\n            }\n\n            .pmp-auth-row {\n                display: flex;\n                align-items: center;\n                justify-content: space-between;\n                gap: 14px;\n                color: #708FA1;\n                font-size: 14px;\n            }\n\n            .pmp-check {\n                display: inline-flex;\n                align-items: center;\n                gap: 7px;\n                cursor: pointer;\n            }\n\n            .pmp-check input {\n                accent-color: #3A7D99;\n            }\n\n            .pmp-text-link {\n                color: #2E718B;\n                text-decoration: none;\n            }\n\n            .pmp-text-link:hover {\n                text-decoration: underline;\n            }\n\n            .pmp-theme-button {\n                display: inline-flex;\n                align-items: center;\n                justify-content: center;\n                min-height: 48px;\n                padding: 12px 22px;\n                border: 1px solid #3A7D99;\n                border-radius: 8px;\n                background: #3A7D99;\n                color: #ffffff !important;\n                font-family: \"Inter\", sans-serif;\n                font-size: 16px;\n                font-weight: 600;\n                line-height: 1.2;\n                text-align: center;\n                text-decoration: none !important;\n                cursor: pointer;\n                box-shadow: none;\n                transition: transform .15s ease, opacity .15s ease, background-color .15s ease;\n            }\n\n            .pmp-theme-button:hover {\n                background: #326F89;\n                border-color: #326F89;\n                color: #ffffff !important;\n                transform: translateY(-1px);\n            }\n\n            .pmp-theme-button-block {\n                width: 100%;\n            }\n\n            .pmp-theme-button-secondary {\n                background: #ffffff;\n                color: #3A7D99 !important;\n            }\n\n            .pmp-theme-button-secondary:hover {\n                background: #F2F8FC;\n                color: #326F89 !important;\n            }\n\n            .pmp-payment-summary {\n                display: flex;\n                align-items: center;\n                justify-content: space-between;\n                gap: 16px;\n                padding: 16px 18px;\n                border: 1px solid #C6D8E0;\n                border-radius: 9px;\n                background: #F7FAFC;\n            }\n\n            .pmp-payment-summary > div:first-child {\n                display: grid;\n                gap: 3px;\n            }\n\n            .pmp-payment-summary strong {\n                color: #1B3440;\n                font-size: 15px;\n            }\n\n            .pmp-payment-summary span {\n                color: #708FA1;\n                font-size: 13px;\n            }\n\n            .pmp-payment-price {\n                flex: 0 0 auto;\n                color: #071923;\n                font-family: \"Fraunces\", serif;\n                font-size: 28px;\n                font-weight: 600;\n            }\n\n            .pmp-payment-summary-large {\n                margin: 24px 0 18px;\n            }\n\n            .pmp-demo-payment-note {\n                padding: 11px 13px;\n                border: 1px dashed #D6B96C;\n                border-radius: 7px;\n                background: #FFF9E9;\n                color: #745F24;\n                font-size: 13px;\n                line-height: 1.45;\n            }\n\n            .pmp-member-message {\n                margin: 0 0 18px;\n                padding: 11px 13px;\n                border-radius: 7px;\n                font-size: 14px;\n                line-height: 1.45;\n            }\n\n            .pmp-member-error {\n                border: 1px solid #E0A7A7;\n                background: #FFF1F1;\n                color: #963D3D;\n            }\n\n            .pmp-member-status-card {\n                text-align: center;\n            }\n\n            .pmp-member-check,\n            .pmp-paywall-icon {\n                display: inline-flex;\n                align-items: center;\n                justify-content: center;\n                width: 42px;\n                height: 42px;\n                margin: 0 0 15px;\n                border: 1px solid #83A9BA;\n                border-radius: 50%;\n                color: #3A7D99;\n                font-size: 21px;\n                font-weight: 700;\n            }\n\n            .pmp-member-access-status {\n                margin-top: 12px !important;\n                font-weight: 500;\n            }\n\n            .pmp-member-access-status.is-active {\n                color: #236A38;\n            }\n\n            .pmp-member-access-status.is-inactive {\n                color: #A13A3A;\n            }\n\n            .pmp-member-status-card .pmp-theme-button {\n                margin-top: 20px;\n            }\n\n            .pmp-practice-cta {\n                display: flex;\n                justify-content: flex-end;\n                margin-top: 18px;\n            }\n\n            .pmp-practice-button {\n                min-width: 190px;\n            }\n\n            .pmp-practice-admin-notice {\n                margin-top: 12px;\n            }\n\n            .pmp-practice-paywall {\n                max-width: 720px;\n                margin: 20px auto;\n                text-align: center;\n            }\n\n            .pmp-practice-paywall p {\n                max-width: 560px;\n                margin: 0 auto 22px;\n            }\n\n            .pmp-paywall-actions {\n                display: flex;\n                justify-content: center;\n                flex-wrap: wrap;\n                gap: 10px;\n            }\n\n            @media (max-width: 767px) {\n                .pmp-membership-grid,\n                .pmp-field-grid {\n                    grid-template-columns: 1fr;\n                }\n\n                .pmp-auth-card,\n                .pmp-member-status-card,\n                .pmp-practice-paywall {\n                    padding: 24px 19px;\n                    border-radius: 12px;\n                }\n\n                .pmp-auth-heading h2,\n                .pmp-practice-paywall h2 {\n                    font-size: 27px;\n                }\n\n                .pmp-auth-row {\n                    align-items: flex-start;\n                    flex-direction: column;\n                    gap: 8px;\n                }\n\n                .pmp-payment-summary {\n                    align-items: flex-start;\n                    flex-direction: column;\n                }\n\n                .pmp-practice-cta {\n                    justify-content: stretch;\n                }\n\n                .pmp-practice-button {\n                    width: 100%;\n                }\n            }\n\n            \/* ========================================\n               DRAG-AND-DROP TEST MODE\n            ======================================== *\/\n\n            .pmp-test-wrapper,\n            .pmp-test-wrapper * {\n                box-sizing: border-box;\n            }\n\n            .pmp-test-wrapper {\n                width: 100%;\n            }\n\n            .pmp-test-topbar {\n                display: flex;\n                align-items: center;\n                justify-content: space-between;\n                gap: 20px;\n                margin: 0 0 12px;\n                font-family: \"Inter\", sans-serif;\n                color: #5A7A8A;\n            }\n\n            .pmp-test-instructions {\n                font-size: 16px;\n                line-height: 1.45;\n            }\n\n            .pmp-test-actions {\n                display: flex;\n                align-items: center;\n                gap: 12px;\n                flex: 0 0 auto;\n            }\n\n            .pmp-test-score {\n                font-size: 14px;\n                white-space: nowrap;\n            }\n\n            .pmp-test-reset {\n                appearance: none;\n                border: 1px solid #9BB5C1;\n                border-radius: 5px;\n                padding: 7px 11px;\n                background: #ffffff;\n                color: #365D70;\n                font-family: \"Inter\", sans-serif;\n                font-size: 13px;\n                line-height: 1.2;\n                cursor: pointer;\n            }\n\n            .pmp-test-reset:hover {\n                background: #F2F8FC;\n            }\n\n            .pmp-test-bank {\n                display: flex;\n                flex-wrap: wrap;\n                align-items: flex-start;\n                gap: 8px 14px;\n                min-height: 52px;\n                margin: 0 0 18px;\n                padding: 4px 0 10px;\n            }\n\n            .pmp-test-bank-group {\n                display: inline-flex;\n                flex-direction: column;\n                align-items: flex-start;\n                max-width: 100%;\n            }\n\n            .pmp-test-bank-main-row {\n                display: inline-flex;\n                align-items: center;\n                gap: 7px;\n                max-width: 100%;\n            }\n\n            .pmp-test-home-slot {\n                display: inline-flex;\n                max-width: 100%;\n            }\n\n            .pmp-test-home-slot:empty {\n                min-width: 0;\n            }\n\n            .pmp-test-home-slot-child {\n                display: inline-flex;\n            }\n\n            .pmp-test-card {\n                display: inline-block;\n                max-width: 100%;\n                padding: 7px 10px;\n                border: 1px solid transparent;\n                border-radius: 6px;\n                background: transparent;\n                color: #5A7A8A;\n                font-family: \"Inter\", sans-serif;\n                font-size: 18px;\n                font-weight: 400;\n                line-height: 1.4;\n                cursor: grab;\n                user-select: none;\n                transition:\n                    background-color 0.18s ease,\n                    border-color 0.18s ease,\n                    color 0.18s ease,\n                    box-shadow 0.18s ease,\n                    transform 0.18s ease;\n            }\n\n            .pmp-test-card:hover {\n                background: rgba(90, 122, 138, 0.06);\n            }\n\n            .pmp-test-card:active {\n                cursor: grabbing;\n            }\n\n            .pmp-test-card:focus-visible,\n            .pmp-test-card.pmp-selected {\n                outline: 2px solid #5A7A8A;\n                outline-offset: 2px;\n            }\n\n            .pmp-test-card.pmp-selected {\n                background: #F2F8FC;\n            }\n\n            .pmp-test-card-main {\n                display: flex;\n                align-items: center;\n                gap: 7px;\n            }\n\n            \/* Dynamic hierarchy marker based on the saved answer type.\n               Main items always use :: and true sub-items always use :, including\n               while they are still in the shuffled answer bank. *\/\n            .pmp-test-card-main::before {\n                content: \"::\";\n                flex: 0 0 auto;\n                color: #2E718B;\n                font-family: \"Inter\", sans-serif;\n                font-size: 19px;\n                font-weight: 700;\n                line-height: 1;\n                letter-spacing: -1px;\n            }\n\n            .pmp-test-node.pmp-answer-subitem > .pmp-test-card .pmp-test-card-main::before {\n                content: \":\";\n                font-size: 17px;\n                letter-spacing: 0;\n            }\n\n            .pmp-test-card-label {\n                min-width: 0;\n            }\n\n            .pmp-test-details-toggle {\n                position: relative;\n                flex: 0 0 18px;\n                width: 18px;\n                height: 18px;\n                margin: 0;\n                padding: 0;\n                border: 1.5px solid #5A7A8A;\n                border-radius: 50%;\n                background: transparent;\n                cursor: pointer;\n            }\n\n            .pmp-test-details-toggle::before,\n            .pmp-test-details-toggle::after {\n                content: \"\";\n                position: absolute;\n                left: 50%;\n                top: 50%;\n                background: #5A7A8A;\n                transform: translate(-50%, -50%);\n            }\n\n            .pmp-test-details-toggle::before {\n                width: 7px;\n                height: 1.5px;\n            }\n\n            .pmp-test-details-toggle::after {\n                width: 1.5px;\n                height: 7px;\n                transition: opacity 0.18s ease;\n            }\n\n            .pmp-test-details-toggle[aria-expanded=\"true\"]::after {\n                opacity: 0;\n            }\n\n            .pmp-test-card-children {\n                width: min(520px, 92vw);\n                margin-top: 8px;\n                padding: 9px 10px 10px;\n                border: 1px solid rgba(90, 122, 138, 0.18);\n                border-radius: 6px;\n                background: rgba(242, 248, 252, 0.72);\n                cursor: default;\n            }\n\n            .pmp-test-child-heading {\n                margin: 0 0 7px;\n                color: #6A8390;\n                font-family: \"Inter\", sans-serif;\n                font-size: 12px;\n                line-height: 1.3;\n            }\n\n            .pmp-test-child-bank {\n                display: flex;\n                flex-wrap: wrap;\n                align-items: flex-start;\n                gap: 7px 10px;\n            }\n\n            .pmp-test-card-child {\n                font-size: 16px;\n                background: #ffffff;\n                border-color: rgba(90, 122, 138, 0.15);\n            }\n\n            .pmp-test-child-marker {\n                display: inline-block;\n                margin-right: 1px;\n                color: #7E98A5;\n                font-size: 14px;\n                line-height: 1;\n            }\n\n            .pmp-test-dropzone {\n                min-height: 250px;\n                transition:\n                    box-shadow 0.18s ease,\n                    background-color 0.18s ease;\n            }\n\n            .pmp-test-dropzone.pmp-drag-over {\n                box-shadow: inset 0 0 0 3px rgba(46, 113, 139, 0.25);\n            }\n\n            .pmp-test-dropzone.pmp-drop-correct-flash {\n                box-shadow: inset 0 0 0 3px rgba(64, 150, 87, 0.34);\n            }\n\n            .pmp-test-dropzone.pmp-drop-wrong-flash {\n                box-shadow: inset 0 0 0 3px rgba(190, 72, 72, 0.34);\n            }\n\n            .pmp-test-dropzone:focus-visible {\n                outline: 2px solid #5A7A8A;\n                outline-offset: -4px;\n            }\n\n            .pmp-test-dropzone .pmp-test-card {\n                display: block;\n                width: fit-content;\n                max-width: 100%;\n                margin: 0 0 10px;\n                background: rgba(255, 255, 255, 0.62);\n                border-color: rgba(90, 122, 138, 0.16);\n            }\n\n            .pmp-test-dropzone .pmp-test-card:last-child {\n                margin-bottom: 0;\n            }\n\n            \/* WordPress-menu-style test hierarchy. *\/\n            .pmp-test-node {\n                position: relative;\n                width: 100%;\n                margin: 0 0 10px;\n            }\n\n            .pmp-test-node > .pmp-test-card {\n                margin-bottom: 0;\n            }\n\n            .pmp-test-children {\n                min-height: 0;\n                margin: 7px 0 0 30px;\n                padding-left: 12px;\n                border-left: 2px solid rgba(90, 122, 138, 0.18);\n            }\n\n            .pmp-test-children:empty {\n                display: none;\n            }\n\n            .pmp-test-children > .pmp-test-node {\n                margin-bottom: 7px;\n            }\n\n            .pmp-test-children > .pmp-test-node:last-child {\n                margin-bottom: 0;\n            }\n\n            .pmp-test-node.pmp-is-child > .pmp-test-card {\n                font-size: 16px;\n            }\n\n            .pmp-test-card.pmp-nest-over {\n                border-color: #3A7D99 !important;\n                background: #EDF6FA !important;\n                box-shadow: 0 0 0 2px rgba(58, 125, 153, 0.14);\n            }\n\n            .pmp-test-dropzone .pmp-test-root-placeholder {\n                display: none;\n                margin: 2px 0 10px;\n                padding: 7px 10px;\n                border: 1px dashed rgba(58, 125, 153, 0.45);\n                border-radius: 6px;\n                color: #5A7A8A;\n                font-family: \"Inter\", sans-serif;\n                font-size: 13px;\n                text-align: center;\n            }\n\n            .pmp-test-dropzone.pmp-drag-over > .pmp-test-root-placeholder {\n                display: block;\n            }\n\n            \/* jQuery UI Sortable frontend behavior (WordPress-menu style). *\/\n            .pmp-test-bank > .pmp-test-node {\n                display: inline-flex;\n                width: auto;\n                max-width: 100%;\n                margin: 0;\n                vertical-align: top;\n            }\n\n            .pmp-test-bank > .pmp-test-node > .pmp-test-children {\n                display: none !important;\n            }\n\n            .pmp-test-dropzone > .pmp-test-node {\n                width: 100%;\n            }\n\n            .pmp-test-children.pmp-jqui-sortable {\n                position: relative;\n            }\n\n            .pmp-test-wrapper.pmp-sort-active .pmp-test-dropzone > .pmp-test-node:not(.pmp-is-child) > .pmp-test-children {\n                display: block;\n                min-height: 18px;\n                margin-top: 6px;\n                padding: 4px 0 1px 12px;\n            }\n\n            .pmp-test-wrapper.pmp-sort-active .pmp-test-children.pmp-sort-over {\n                min-height: 44px;\n                border-left-color: #3A7D99;\n                background: rgba(58, 125, 153, 0.045);\n            }\n\n            .pmp-test-wrapper.pmp-sort-active .pmp-test-dropzone.pmp-sort-over {\n                box-shadow: inset 0 0 0 2px rgba(58, 125, 153, 0.18);\n            }\n\n            .pmp-sort-placeholder {\n                display: block !important;\n                min-height: 40px;\n                margin: 0 0 9px;\n                border: 1px dashed rgba(58, 125, 153, 0.70);\n                border-radius: 6px;\n                background: rgba(58, 125, 153, 0.07);\n                visibility: visible !important;\n            }\n\n            .pmp-test-bank > .pmp-sort-placeholder {\n                display: inline-block !important;\n                width: 150px;\n                min-height: 38px;\n                margin: 0;\n                vertical-align: top;\n            }\n\n            .pmp-test-children > .pmp-sort-placeholder {\n                width: auto;\n                margin: 0 0 7px;\n            }\n\n            .pmp-sort-helper {\n                width: auto !important;\n                max-width: min(520px, 85vw);\n                margin: 0 !important;\n                z-index: 100000 !important;\n                pointer-events: none;\n            }\n\n            .pmp-sort-helper > .pmp-test-card {\n                display: block;\n                width: auto;\n                margin: 0;\n                border-color: #3A7D99;\n                background: #ffffff;\n                box-shadow: 0 8px 22px rgba(26, 58, 72, 0.15);\n                cursor: grabbing;\n            }\n\n            .pmp-test-node.pmp-sorting {\n                opacity: 0.35;\n            }\n\n            .pmp-test-node.pmp-is-child {\n                width: 100%;\n            }\n\n            .pmp-test-node.pmp-is-child > .pmp-test-children {\n                display: none !important;\n            }\n\n            .pmp-test-card.pmp-correct {\n                border-color: #6DBB82 !important;\n                background: #E8F7EC !important;\n                color: #236A38 !important;\n            }\n\n            .pmp-test-card.pmp-correct .pmp-test-card-main::before {\n                color: #236A38;\n            }\n\n            .pmp-test-card.pmp-correct .pmp-test-details-toggle {\n                border-color: #236A38;\n            }\n\n            .pmp-test-card.pmp-correct .pmp-test-details-toggle::before,\n            .pmp-test-card.pmp-correct .pmp-test-details-toggle::after {\n                background: #236A38;\n            }\n\n            .pmp-test-card.pmp-wrong {\n                border-color: #D87575 !important;\n                background: #FDEAEA !important;\n                color: #A13A3A !important;\n            }\n\n            .pmp-test-card.pmp-wrong .pmp-test-card-main::before {\n                color: #A13A3A;\n            }\n\n            .pmp-test-card.pmp-wrong .pmp-test-details-toggle {\n                border-color: #A13A3A;\n            }\n\n            .pmp-test-card.pmp-wrong .pmp-test-details-toggle::before,\n            .pmp-test-card.pmp-wrong .pmp-test-details-toggle::after {\n                background: #A13A3A;\n            }\n\n            .pmp-test-complete {\n                margin-top: 12px;\n                padding: 10px 13px;\n                border: 1px solid #6DBB82;\n                border-radius: 5px;\n                background: #E8F7EC;\n                color: #236A38;\n                font-family: \"Inter\", sans-serif;\n                font-size: 14px;\n            }\n\n            .pmp-test-complete[hidden] {\n                display: none !important;\n            }\n\n            @media (max-width: 767px) {\n                .pmp-test-topbar {\n                    align-items: flex-start;\n                    flex-direction: column;\n                    gap: 8px;\n                }\n\n                .pmp-test-actions {\n                    width: 100%;\n                    justify-content: space-between;\n                }\n\n                .pmp-test-bank {\n                    gap: 7px 9px;\n                }\n\n                .pmp-test-card {\n                    font-size: 16px;\n                }\n\n                .pmp-test-title-label {\n                    display: block;\n                    margin-top: 4px;\n                    font-size: 15px;\n                }\n\n                .pmp-test-dropzone {\n                    min-height: 120px;\n                }\n            }\n\n            .pmp-process-notice {\n                padding: 12px 15px;\n                border: 1px dashed #9BB5C1;\n                font-family: \"Inter\", sans-serif;\n                color: #5A7A8A;\n            }\n\n            @media (max-width: 1024px) {\n                .pmp-column {\n                    padding: 25px 20px 35px;\n                }\n\n                .pmp-column-head {\n                    font-size: 18px;\n                }\n\n                .pmp-process-table .pmp-item,\n                .pmp-process-table .pmp-toggle {\n                    font-size: 16px;\n                }\n            }\n\n            @media (max-width: 767px) {\n                .pmp-process-table {\n                    grid-template-columns: 1fr;\n                    grid-template-areas:\n                        \"title\"\n                        \"inputs-head\"\n                        \"inputs\"\n                        \"tools-head\"\n                        \"tools\"\n                        \"outputs-head\"\n                        \"outputs\";\n                }\n\n                .pmp-process-title {\n                    padding: 18px;\n                    font-size: 23px;\n                }\n\n                .pmp-process-phase {\n                    display: block;\n                    margin-top: 4px;\n                    font-size: 15px;\n                }\n\n                .pmp-column-head {\n                    padding: 13px 18px;\n                    font-size: 20px;\n                    border-right: 0;\n                }\n\n                .pmp-column {\n                    min-height: 0;\n                    padding: 24px 22px 30px;\n                    border-right: 0;\n                    border-bottom: 1px solid #9BB5C1;\n                }\n\n                .pmp-outputs {\n                    border-bottom: 0;\n                }\n            }\n        <\/style>\n\n        <script id=\"pmp-process-manager-js\">\n        (function(){\n            function setHeight(sublist) {\n                if (!sublist) return;\n                sublist.style.maxHeight = sublist.scrollHeight + 'px';\n            }\n\n            document.addEventListener('click', function(event){\n                var toggle = event.target.closest('.pmp-process-table .pmp-toggle');\n                if (!toggle) return;\n\n                var parent = toggle.closest('.pmp-has-children');\n                if (!parent) return;\n\n                var sublist = parent.querySelector('.pmp-sublist');\n                if (!sublist) return;\n\n                var isOpen = toggle.getAttribute('aria-expanded') === 'true';\n\n                toggle.setAttribute('aria-expanded', isOpen ? 'false' : 'true');\n                parent.classList.toggle('pmp-open', !isOpen);\n\n                if (isOpen) {\n                    sublist.style.maxHeight = '0px';\n                } else {\n                    setHeight(sublist);\n                }\n            });\n\n            window.addEventListener('resize', function(){\n                document.querySelectorAll('.pmp-process-table .pmp-has-children.pmp-open .pmp-sublist').forEach(function(sublist){\n                    setHeight(sublist);\n                });\n            });\n        })();\n\n        <\/script>\n\n        <script id=\"pmp-process-test-js\">\n        (function(){\n            var initAttempts = 0;\n            var draggedRecently = false;\n\n            function whenSortableReady() {\n                if (window.jQuery && window.jQuery.fn && typeof window.jQuery.fn.sortable === 'function') {\n                    initAllTests(window.jQuery);\n                    return;\n                }\n\n                initAttempts++;\n                if (initAttempts < 80) {\n                    window.setTimeout(whenSortableReady, 50);\n                }\n            }\n\n            function initAllTests($) {\n                $('[data-pmp-test]').each(function(){\n                    var $wrapper = $(this);\n                    if ($wrapper.data('pmpJquiReady')) return;\n                    $wrapper.data('pmpJquiReady', true);\n                    initTest($, $wrapper);\n                });\n            }\n\n            function initTest($, $wrapper) {\n                var connectSelector = '.pmp-jqui-sortable';\n                var $bank = $wrapper.find('[data-test-bank]').first();\n                var $rootZones = $wrapper.find('.pmp-test-dropzone');\n\n                function directCard($node) {\n                    return $node.children('.pmp-test-card').first();\n                }\n\n                function childBox($node) {\n                    return $node.children('.pmp-test-children').first();\n                }\n\n                function rootZoneFor($node) {\n                    return $node.closest('.pmp-test-dropzone');\n                }\n\n                function isInBank($node) {\n                    return $node.parent().is($bank);\n                }\n\n                function actualParentId($node) {\n                    if (!$node.hasClass('pmp-is-child')) return '';\n                    var $parentNode = $node.parent('.pmp-test-children').closest('.pmp-test-node');\n                    var $parentCard = directCard($parentNode);\n                    return $parentCard.attr('data-item-id') || '';\n                }\n\n                function normalizeLabel(value) {\n                    return String(value || '')\n                        .replace(\/\\s+\/g, ' ')\n                        .trim()\n                        .toLowerCase();\n                }\n\n                function actualParentLabel($node) {\n                    if (!$node.hasClass('pmp-is-child')) return '';\n                    var $parentNode = $node.parent('.pmp-test-children').closest('.pmp-test-node');\n                    var $parentCard = directCard($parentNode);\n                    return normalizeLabel($parentCard.find('.pmp-test-card-label').first().text());\n                }\n\n                function markCard($card, ok) {\n                    $card.removeClass('pmp-correct pmp-wrong');\n                    $card.addClass(ok ? 'pmp-correct' : 'pmp-wrong');\n                    return ok;\n                }\n\n                function parseParentSlots($card) {\n                    var raw = $card.attr('data-correct-parent-slots') || '[]';\n                    try {\n                        var slots = JSON.parse(raw);\n                        return Array.isArray(slots) ? slots : [];\n                    } catch (error) {\n                        return [];\n                    }\n                }\n\n                function updateScore() {\n                    var total = parseInt($wrapper.attr('data-total') || '0', 10);\n                    var correct = $wrapper.find('.pmp-test-card.pmp-correct').length;\n                    $wrapper.find('.pmp-test-score strong').text(correct);\n                    $wrapper.find('.pmp-test-complete').prop('hidden', !(total > 0 && correct === total));\n                }\n\n                function validateAll() {\n                    var duplicateGroups = {};\n\n                    \/\/ Start clean. Cards still in the answer bank are unanswered.\n                    $wrapper.find('.pmp-test-card').removeClass('pmp-correct pmp-wrong');\n\n                    $rootZones.find('.pmp-test-card').each(function(){\n                        var $card = $(this);\n                        var matchGroup = $card.attr('data-match-group') || '';\n\n                        if (matchGroup) {\n                            if (!duplicateGroups[matchGroup]) {\n                                duplicateGroups[matchGroup] = [];\n                            }\n                            duplicateGroups[matchGroup].push($card);\n                            return;\n                        }\n\n                        \/\/ Main\/root items are identity-specific and must remain at root.\n                        var $node = $card.closest('.pmp-test-node');\n                        var $zone = rootZoneFor($node);\n                        var correctCategory = $card.attr('data-answer') || '';\n                        var chosenCategory = $zone.attr('data-category') || '';\n                        var parentId = actualParentId($node);\n                        markCard($card, correctCategory === chosenCategory && parentId === '');\n                    });\n\n                    \/*\n                     * Identical sub-items are interchangeable across ALL columns.\n                     *\n                     * Example: if \"Any component\" exists under an Inputs parent and\n                     * under an Outputs parent, either visible \"Any component\" card may\n                     * satisfy either slot. Correctness is based on the ACTUAL column +\n                     * ACTUAL parent label, not on the hidden identity\/category the card\n                     * originally came from.\n                     *\/\n                    $.each(duplicateGroups, function(groupName, cards){\n                        if (!cards.length) return;\n\n                        var slots = parseParentSlots(cards[0]);\n                        var capacity = {};\n                        var used = {};\n\n                        $.each(slots, function(_, slot){\n                            if (!slot || typeof slot !== 'object') return;\n\n                            var slotCategory = String(slot.category || '');\n                            var slotParent = normalizeLabel(slot.parent_label || '');\n                            if (!slotCategory || !slotParent) return;\n\n                            var slotKey = slotCategory + '||' + slotParent;\n                            capacity[slotKey] = (capacity[slotKey] || 0) + 1;\n                        });\n\n                        $.each(cards, function(_, $card){\n                            var $node = $card.closest('.pmp-test-node');\n                            var $zone = rootZoneFor($node);\n                            var chosenCategory = $zone.attr('data-category') || '';\n                            var parentLabel = actualParentLabel($node);\n                            var actualKey = chosenCategory + '||' + parentLabel;\n\n                            var hasSlot = !!chosenCategory && !!parentLabel && !!capacity[actualKey] && (used[actualKey] || 0) < capacity[actualKey];\n                            var ok = hasSlot;\n\n                            if (ok) {\n                                used[actualKey] = (used[actualKey] || 0) + 1;\n                            }\n\n                            markCard($card, ok);\n                        });\n                    });\n\n                    updateScore();\n                }\n\n                function flashZone($zone, isCorrect) {\n                    if (!$zone || !$zone.length) return;\n                    $zone.removeClass('pmp-drop-correct-flash pmp-drop-wrong-flash');\n                    void $zone[0].offsetWidth;\n                    $zone.addClass(isCorrect ? 'pmp-drop-correct-flash' : 'pmp-drop-wrong-flash');\n                    window.setTimeout(function(){\n                        $zone.removeClass('pmp-drop-correct-flash pmp-drop-wrong-flash');\n                    }, 450);\n                }\n\n                function refreshSortables() {\n                    $wrapper.find('.pmp-jqui-sortable').each(function(){\n                        var $list = $(this);\n                        if ($list.data('ui-sortable')) {\n                            $list.sortable('refresh');\n                        }\n                    });\n                }\n\n                function setNodeLevel($node, asChild) {\n                    var $children = childBox($node);\n\n                    if (asChild) {\n                        $node.addClass('pmp-is-child');\n                        if ($children.data('ui-sortable')) {\n                            $children.sortable('disable');\n                        }\n                    } else {\n                        $node.removeClass('pmp-is-child');\n                        if ($children.data('ui-sortable') && !isInBank($node)) {\n                            $children.sortable('enable');\n                        }\n                    }\n                }\n\n                function promoteChildren($node, $rootZone, $afterNode) {\n                    var $children = childBox($node).children('.pmp-test-node');\n                    if (!$children.length || !$rootZone.length) return;\n\n                    var $anchor = $afterNode && $afterNode.length ? $afterNode : $node;\n                    $children.each(function(){\n                        var $child = $(this);\n                        setNodeLevel($child, false);\n                        $child.insertAfter($anchor);\n                        $anchor = $child;\n                    });\n                }\n\n                function flattenIntoBank($node) {\n                    var $nested = childBox($node).children('.pmp-test-node').detach();\n                    setNodeLevel($node, false);\n                    directCard($node).removeClass('pmp-correct pmp-wrong pmp-selected').attr('aria-pressed', 'false');\n\n                    $nested.each(function(){\n                        var $child = $(this);\n                        setNodeLevel($child, false);\n                        directCard($child).removeClass('pmp-correct pmp-wrong pmp-selected').attr('aria-pressed', 'false');\n                        $bank.append($child);\n                    });\n                }\n\n                function normalizeDestination($item, $destination) {\n                    if ($destination.is($bank)) {\n                        flattenIntoBank($item);\n                        return;\n                    }\n\n                    if ($destination.hasClass('pmp-test-children')) {\n                        var $parentNode = $destination.closest('.pmp-test-node');\n                        var $zone = rootZoneFor($parentNode);\n\n                        \/\/ Only one nesting level. A parent that already owns children\n                        \/\/ gives them back to the root before it becomes a child itself.\n                        promoteChildren($item, $zone, $parentNode);\n                        setNodeLevel($item, true);\n                        return;\n                    }\n\n                    if ($destination.hasClass('pmp-test-dropzone')) {\n                        setNodeLevel($item, false);\n                    }\n                }\n\n                function enableValidChildLists($dragItem) {\n                    $wrapper.find('.pmp-test-children').each(function(){\n                        var $children = $(this);\n                        var $owner = $children.closest('.pmp-test-node');\n\n                        if (!$children.data('ui-sortable')) return;\n\n                        \/\/ Never allow dropping into the dragged node itself, into\n                        \/\/ descendants of the dragged node, or under an existing child.\n                        var invalid = $owner.is($dragItem) ||\n                            $owner.closest($dragItem).length ||\n                            $owner.hasClass('pmp-is-child') ||\n                            isInBank($owner);\n\n                        $children.sortable(invalid ? 'disable' : 'enable');\n                    });\n                }\n\n                function restoreChildListStates() {\n                    $wrapper.find('.pmp-test-node').each(function(){\n                        var $node = $(this);\n                        var $children = childBox($node);\n                        if (!$children.data('ui-sortable')) return;\n\n                        if ($node.hasClass('pmp-is-child') || isInBank($node)) {\n                            $children.sortable('disable');\n                        } else {\n                            $children.sortable('enable');\n                        }\n                    });\n                }\n\n                function commonOptions() {\n                    return {\n                        items: '> .pmp-test-node',\n                        connectWith: connectSelector,\n                        handle: '> .pmp-test-card',\n                        placeholder: 'pmp-sort-placeholder',\n                        forcePlaceholderSize: true,\n                        tolerance: 'pointer',\n                        distance: 4,\n                        scroll: true,\n                        scrollSensitivity: 70,\n                        scrollSpeed: 12,\n                        zIndex: 100000,\n                        helper: function(event, item){\n                            var $helper = item.clone();\n                            $helper.addClass('pmp-sort-helper');\n                            $helper.find('.pmp-test-children').remove();\n                            $helper.find('.pmp-test-card').removeClass('pmp-correct pmp-wrong pmp-selected');\n                            $helper.width(item.children('.pmp-test-card').outerWidth());\n                            return $helper;\n                        },\n                        start: function(event, ui){\n                            draggedRecently = true;\n                            $wrapper.addClass('pmp-sort-active');\n                            ui.item.addClass('pmp-sorting');\n                            ui.placeholder.height(Math.max(36, ui.item.children('.pmp-test-card').outerHeight()));\n                            enableValidChildLists(ui.item);\n                        },\n                        over: function(){\n                            $(this).addClass('pmp-sort-over');\n                        },\n                        out: function(){\n                            $(this).removeClass('pmp-sort-over');\n                        },\n                        receive: function(event, ui){\n                            normalizeDestination(ui.item, $(this));\n                        },\n                        stop: function(event, ui){\n                            $wrapper.removeClass('pmp-sort-active');\n                            $wrapper.find('.pmp-jqui-sortable').removeClass('pmp-sort-over');\n                            ui.item.removeClass('pmp-sorting');\n\n                            var $destination = ui.item.parent();\n                            normalizeDestination(ui.item, $destination);\n                            restoreChildListStates();\n                            refreshSortables();\n                            validateAll();\n\n                            var $card = directCard(ui.item);\n                            var $zone = rootZoneFor(ui.item);\n                            if ($zone.length) {\n                                flashZone($zone, $card.hasClass('pmp-correct'));\n                            }\n\n                            window.setTimeout(function(){\n                                draggedRecently = false;\n                            }, 80);\n                        }\n                    };\n                }\n\n                \/\/ Every answer starts as the same root node in the shuffled bank.\n                \/\/ jQuery UI then moves the same DOM node among the bank, root columns,\n                \/\/ and indented child lists, so there is no native HTML5 drag ghost.\n                $bank.addClass('pmp-jqui-sortable').sortable(commonOptions());\n                $rootZones.addClass('pmp-jqui-sortable').sortable(commonOptions());\n                $wrapper.find('.pmp-test-children').addClass('pmp-jqui-sortable').sortable(commonOptions());\n                restoreChildListStates();\n\n                function selectedCard() {\n                    return $wrapper.find('.pmp-test-card.pmp-selected').first();\n                }\n\n                function clearSelection() {\n                    $wrapper.find('.pmp-test-card.pmp-selected')\n                        .removeClass('pmp-selected')\n                        .attr('aria-pressed', 'false');\n                }\n\n                function selectCard($card) {\n                    var wasSelected = $card.hasClass('pmp-selected');\n                    clearSelection();\n                    if (!wasSelected) {\n                        $card.addClass('pmp-selected').attr('aria-pressed', 'true');\n                    }\n                }\n\n                function manualRootMove($card, $zone) {\n                    if (!$card.length || !$zone.length) return;\n                    var $node = $card.closest('.pmp-test-node');\n                    setNodeLevel($node, false);\n                    $zone.append($node);\n                    clearSelection();\n                    restoreChildListStates();\n                    refreshSortables();\n                    validateAll();\n                    flashZone($zone, $card.hasClass('pmp-correct'));\n                }\n\n                function manualNest($card, $parentCard) {\n                    if (!$card.length || !$parentCard.length || $card.is($parentCard)) return;\n\n                    var $node = $card.closest('.pmp-test-node');\n                    var $parentNode = $parentCard.closest('.pmp-test-node');\n                    if ($parentNode.hasClass('pmp-is-child') || $parentNode.closest($node).length) return;\n\n                    var $zone = rootZoneFor($parentNode);\n                    if (!$zone.length) return;\n\n                    promoteChildren($node, $zone, $parentNode);\n                    setNodeLevel($node, true);\n                    childBox($parentNode).append($node);\n                    clearSelection();\n                    restoreChildListStates();\n                    refreshSortables();\n                    validateAll();\n                    flashZone($zone, $card.hasClass('pmp-correct'));\n                }\n\n                function shuffleBank() {\n                    var nodes = $bank.children('.pmp-test-node').get();\n                    for (var i = nodes.length - 1; i > 0; i--) {\n                        var j = Math.floor(Math.random() * (i + 1));\n                        var temp = nodes[i];\n                        nodes[i] = nodes[j];\n                        nodes[j] = temp;\n                    }\n                    $.each(nodes, function(_, node){ $bank.append(node); });\n                }\n\n                function resetTest() {\n                    var nodes = $wrapper.find('.pmp-test-node').get();\n\n                    \/\/ Append every node individually so nested answers are flattened.\n                    $.each(nodes, function(_, node){\n                        var $node = $(node);\n                        setNodeLevel($node, false);\n                        directCard($node)\n                            .removeClass('pmp-correct pmp-wrong pmp-selected')\n                            .attr('aria-pressed', 'false');\n                        $bank.append($node);\n                    });\n\n                    $wrapper.removeClass('pmp-sort-active');\n                    $wrapper.find('.pmp-jqui-sortable').removeClass('pmp-sort-over');\n                    shuffleBank();\n                    restoreChildListStates();\n                    refreshSortables();\n                    updateScore();\n                }\n\n                $wrapper.on('click.pmpTest', '.pmp-test-reset', function(event){\n                    event.preventDefault();\n                    resetTest();\n                });\n\n                \/\/ Keyboard\/touch fallback remains available: select an answer, then\n                \/\/ tap\/click a root card to nest it, or tap the blank column to root it.\n                $wrapper.on('click.pmpTest', '.pmp-test-card', function(event){\n                    if (draggedRecently) return;\n\n                    var $card = $(this);\n                    var $selected = selectedCard();\n\n                    if ($selected.length && !$selected.is($card) && rootZoneFor($card.closest('.pmp-test-node')).length) {\n                        var $targetNode = $card.closest('.pmp-test-node');\n                        if (!$targetNode.hasClass('pmp-is-child')) {\n                            event.preventDefault();\n                            manualNest($selected, $card);\n                            return;\n                        }\n                    }\n\n                    selectCard($card);\n                });\n\n                $wrapper.on('click.pmpTest', '.pmp-test-dropzone', function(event){\n                    if ($(event.target).closest('.pmp-test-card').length) return;\n                    var $selected = selectedCard();\n                    if (!$selected.length) return;\n                    event.preventDefault();\n                    manualRootMove($selected, $(this));\n                });\n\n                $wrapper.on('keydown.pmpTest', '.pmp-test-card', function(event){\n                    if (event.key === 'Enter' || event.key === ' ') {\n                        event.preventDefault();\n                        selectCard($(this));\n                    }\n                });\n\n                $wrapper.on('keydown.pmpTest', '.pmp-test-dropzone', function(event){\n                    if (event.key !== 'Enter' && event.key !== ' ') return;\n                    var $selected = selectedCard();\n                    if (!$selected.length) return;\n                    event.preventDefault();\n                    manualRootMove($selected, $(this));\n                });\n\n                validateAll();\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', whenSortableReady);\n            } else {\n                whenSortableReady();\n            }\n\n            \/\/ Elementor can redraw HTML widgets in the editor or after frontend init.\n            if (window.jQuery) {\n                window.jQuery(window).on('elementor\/frontend\/init', function(){\n                    window.setTimeout(whenSortableReady, 0);\n                });\n            }\n        })();\n        <\/script>\n        \n        \n            <div class=\"pmp-process-table\" id=\"pmp-process-164-1\">\n\n                <div class=\"pmp-process-title\">\n                    Initiate Project or Phase &#8211; Initiating                                            <span class=\"pmp-process-phase\"> - test<\/span>\n                                    <\/div>\n\n                <div class=\"pmp-column-head pmp-inputs-head\">Inputs<\/div>\n                <div class=\"pmp-column-head pmp-tools-head\">Tools &amp; Techniques<\/div>\n                <div class=\"pmp-column-head pmp-outputs-head\">Outputs<\/div>\n\n                <section class=\"pmp-column pmp-inputs\">\n                            <ul class=\"pmp-list\">\n                            \n                                    <li class=\"pmp-item pmp-has-children\">\n                        <button class=\"pmp-toggle\" type=\"button\" aria-expanded=\"false\">\n                            <span>Business documents<\/span>\n                            <span class=\"pmp-icon\" aria-hidden=\"true\"><\/span>\n                        <\/button>\n\n                        <ul class=\"pmp-sublist\">\n                                                            <li>Business case<\/li>\n                                                            <li>Benefits management plan<\/li>\n                                                    <\/ul>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Agreements<\/span>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Enterprise environmental factors<\/span>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Organizational process assets<\/span>\n                    <\/li>\n                \n                    <\/ul>\n                        <\/section>\n\n                <section class=\"pmp-column pmp-tools\">\n                            <ul class=\"pmp-list\">\n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Expert judgment<\/span>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item pmp-has-children\">\n                        <button class=\"pmp-toggle\" type=\"button\" aria-expanded=\"false\">\n                            <span>Data gathering<\/span>\n                            <span class=\"pmp-icon\" aria-hidden=\"true\"><\/span>\n                        <\/button>\n\n                        <ul class=\"pmp-sublist\">\n                                                            <li>Brainstorming<\/li>\n                                                            <li>Focus groups<\/li>\n                                                            <li>Interviews<\/li>\n                                                    <\/ul>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item pmp-has-children\">\n                        <button class=\"pmp-toggle\" type=\"button\" aria-expanded=\"false\">\n                            <span>Interpersonal and team skills<\/span>\n                            <span class=\"pmp-icon\" aria-hidden=\"true\"><\/span>\n                        <\/button>\n\n                        <ul class=\"pmp-sublist\">\n                                                            <li>Conflict management<\/li>\n                                                            <li>Facilitation<\/li>\n                                                            <li>Meeting management<\/li>\n                                                    <\/ul>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Meetings<\/span>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Responsibility assignment matrix<\/span>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Project canvas<\/span>\n                    <\/li>\n                \n                    <\/ul>\n                        <\/section>\n\n                <section class=\"pmp-column pmp-outputs\">\n                            <ul class=\"pmp-list\">\n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Project charter<\/span>\n                    <\/li>\n                \n                            \n                                    <li class=\"pmp-item\">\n                        <span class=\"pmp-static\">Assumption log<\/span>\n                    <\/li>\n                \n                    <\/ul>\n                        <\/section>\n\n            <\/div>\n\n            <div class=\"pmp-practice-cta\"><a class=\"pmp-theme-button pmp-practice-button\" href=\"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/account\/?redirect_to=https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/initiate-project-or-phase-practice\/\">Subscribe for Practice<\/a><\/div>\n                <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Back Initiate Project or Phase &#8211; Initiating<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-40","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/pages\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":22,"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/pages\/40\/revisions"}],"predecessor-version":[{"id":170,"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/pages\/40\/revisions\/170"}],"wp:attachment":[{"href":"https:\/\/testlinktwo.live\/projects\/leading-edge-management-training\/wp-json\/wp\/v2\/media?parent=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}