and, once we remove its element, never takes the lock off again — which silently froze scrolling site-wide. Analytics, forms, chat and pixels are untouched. */ var blockedScripts = /js\.hubspot\.com\/web-interactives-(embed|container)\.js/i; function isBlockedScript(node) { return !!node && node.nodeType === 1 && node.tagName === "SCRIPT" && blockedScripts.test(node.src || node.getAttribute("src") || ""); } ["appendChild", "insertBefore", "replaceChild", "prepend", "append"].forEach(function (method) { var original = Node.prototype[method] || Element.prototype[method]; if (typeof original !== "function") return; var target = Node.prototype[method] ? Node.prototype : Element.prototype; target[method] = function () { for (var i = 0; i < arguments.length; i++) { if (isBlockedScript(arguments[i])) return arguments[i]; } return original.apply(this, arguments); }; }); /* 2. Remove any interactive markup that still slips through. */ function removeBlockedInteractive(node) { if (!(node instanceof Element)) return; if (isBlockedScript(node)) { node.remove(); return; } if (node.matches(blockedSelector)) node.remove(); else node.querySelectorAll(blockedSelector).forEach(function (element) { element.remove(); }); } new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { mutation.addedNodes.forEach(removeBlockedInteractive); }); releaseForeignScrollLock(); }).observe(document.documentElement, { childList: true, subtree: true }); /* 3. Safety net: if anything locks page scrolling while none of our own dialogs/drawers are open, release it. Our components mark their intentional locks with data-app-scroll-lock on . */ function appLockActive() { if (document.body.hasAttribute("data-app-scroll-lock")) return true; return !!document.querySelector( '[role="dialog"][data-state="open"], [role="alertdialog"][data-state="open"], [data-radix-popper-content-wrapper]' ); } function clearOverrides() { [document.documentElement, document.body].forEach(function (el) { if (!el) return; if (el.style.getPropertyPriority("overflow") === "important") { el.style.removeProperty("overflow"); el.style.removeProperty("overflow-y"); } if (el.style.getPropertyPriority("position") === "important") { el.style.removeProperty("position"); } }); } function releaseForeignScrollLock() { var body = document.body; if (!body) return; if (appLockActive()) { clearOverrides(); return; } [document.documentElement, body].forEach(function (el) { var cs = getComputedStyle(el); if (cs.overflow === "hidden" || cs.overflowY === "hidden") { el.style.setProperty("overflow", "visible", "important"); el.style.setProperty("overflow-y", "auto", "important"); } if (el === body && cs.position === "fixed") { el.style.setProperty("position", "static", "important"); } }); } function watchBody() { if (!document.body) return false; new MutationObserver(function () { releaseForeignScrollLock(); }).observe(document.body, { attributes: true, attributeFilter: ["class", "style"] }); new MutationObserver(function () { releaseForeignScrollLock(); }).observe(document.documentElement, { attributes: true, attributeFilter: ["class", "style"] }); releaseForeignScrollLock(); return true; } if (!watchBody()) { document.addEventListener("DOMContentLoaded", watchBody, { once: true }); } })();
    Skip to main content

    Best Practice Institute

    Best Practice Institute is the research organization behind Most Loved Workplace™ certification, the SPARK Model, the Love of Workplace Index™ (LOWI™), and The Workplace Report.

    The Workplace Report

    The Workplace Report is BPI's original workplace culture research and editorial briefing series for CEOs, CHROs, people leaders, talent leaders, and employer-brand teams. It turns BPI's 25 years of research, Most Loved Workplace™ certification data, SPARK findings, and current workforce signals into practical analysis leaders can use.

    The report format includes executive summaries, research-backed articles, company examples, methodology notes, and practical implications for retention, hiring, culture, leadership, and employee experience. New research and analysis is published on an ongoing editorial cadence at /workplace-report.