{"id":2226,"date":"2026-02-10T10:10:08","date_gmt":"2026-02-10T02:10:08","guid":{"rendered":"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/programme-overview\/"},"modified":"2026-02-10T10:10:08","modified_gmt":"2026-02-10T02:10:08","slug":"programme-overview","status":"publish","type":"page","link":"https:\/\/sgps.visibleone.dev\/tc\/bssc-in-data-science-and-policy-studies-dsps\/programme-overview\/","title":{"rendered":"Programme Overview"},"content":{"rendered":"\n<section block-name=\"banner\" class=\"relative\">\n    <div class=\"bg-banner-gradient w-full h-full absolute left-0 top-0 z-[1]\"><\/div>\n\n    <img decoding=\"async\" src=\"https:\/\/sgps.visibleone.dev\/wp-content\/themes\/cuhk-sgps\/public\/images\/our-mission\/mission-banner.png\" alt=\"BSSc in Data Science and Policy Studies (DSPS)\"\n        class=\"w-full aspect-[1920\/480] object-cover min-h-[400px]\" \/>\n\n    <div class=\"container py-5 md:py-10 lg:py-[60px] w-full h-full flex items-end absolute left-0 bottom-0 z-[2]\">\n        <div class=\"container-lg\">\n            <h1 class=\"heading1 text-white pb-4 lg:pb-6\">\n                BSSc in Data Science and Policy Studies (DSPS)            <\/h1>\n\n            <div class=\"flex items-center flex-wrap breadcrumbs-row gap-3\">\n                <a href=\"https:\/\/sgps.visibleone.dev\/tc\/\" class=\"opacity-60 [&#038;.active]:opacity-100\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n                        <path\n                            d=\"M9.99863 19V14H13.9986V19C13.9986 19.55 14.4486 20 14.9986 20H17.9986C18.5486 20 18.9986 19.55 18.9986 19V12H20.6986C21.1586 12 21.3786 11.43 21.0286 11.13L12.6686 3.59997C12.2886 3.25997 11.7086 3.25997 11.3286 3.59997L2.96863 11.13C2.62863 11.43 2.83863 12 3.29863 12H4.99863V19C4.99863 19.55 5.44863 20 5.99863 20H8.99863C9.54863 20 9.99863 19.55 9.99863 19Z\"\n                            fill=\"white\" \/>\n                    <\/svg>\n                <\/a>\n\n                \n                <svg class=\"opacity-60 [&#038;.active]:opacity-100 active\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\"\n                    height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                        d=\"M5.83594 15L10.8359 9.99996L5.83594 4.99996L7.5026 3.33329L14.1693 9.99996L7.5026 16.6666L5.83594 15Z\"\n                        fill=\"white\" \/>\n                <\/svg>\n\n                <p class=\"text-body-1 text-white opacity-100 active\">\n                    Programme Overview                <\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n<style>\n    .sidebar-wrapper ul,\n    .sidebar-wrapper li {\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n    }\n\n    .sidebar-wrapper li::before,\n    .sidebar-wrapper li::after {\n        display: none !important;\n        content: none !important;\n    }\n\n    .sidebar-link.active {\n        background-color: #D1F0E9;\n        color: var(--wp--preset--color--primary, #005A54);\n    }\n\n    .sidebar-toggle.active-parent,\n    .sidebar-sub-toggle.active-parent {\n        background-color: var(--wp--preset--color--primary, #005A54);\n        color: white;\n    }\n\n    .sidebar-toggle img,\n    .sidebar-sub-toggle img {\n        transition: transform 0.3s ease, filter 0.3s ease, opacity 0.3s ease;\n    }\n\n    .sidebar-toggle.active-parent>img,\n    .sidebar-sub-toggle.active-parent>img {\n        filter: brightness(0) invert(1);\n        transform: rotate(180deg);\n        opacity: 1;\n    }\n<\/style>\n\n<section  class=\"programme-container container py-[60px] md:py-[100px]\">\n    <div class=\"container-lg\">\n        <div class=\"flex flex-col md:flex-row gap-10 xl:gap-20\">\n\n            <div class=\"md:flex-[0_1_25%] md:max-w-[25%]\">\n                <div\n                    class=\"bg-[#F9F9F7] sidebar-wrapper sticky top-24 transition-all duration-300 rounded-sm overflow-hidden shadow-sm\">\n\n                    <div class=\"p-5 bg-grey border-b border-primary\">\n                        <h6 class=\"heading6 text-secondary font-bold leading-tight\">\n                            BSSc in Data Science and Policy Studies (DSPS)                        <\/h6>\n                    <\/div>\n\n                                            <ul class=\"flex flex-col w-full\">\n                            \n                                                                    <li class=\"hasAccordion group border-b border-gray-200 last:border-0 w-full block\">\n                                        <button type=\"button\" data-href=\"#\" aria-expanded=\"false\" aria-controls=\"sidebar-menu-0\" class=\"sidebar-toggle w-full px-5 py-4 flex items-center justify-between transition-all duration-200 cursor-pointer text-dark hover:bg-light-green hover:text-primary\">\n                                            <span class=\"heading6 font-bold text-left pointer-events-none\">Why DSPS<\/span>\n                                            <img decoding=\"async\" src=\"https:\/\/sgps.visibleone.dev\/wp-content\/themes\/cuhk-sgps\/public\/icons\/arrow-down.svg\" alt=\"\" class=\"w-4 h-4 object-contain opacity-60 pointer-events-none\">\n                                        <\/button>\n\n                                        <ul id=\"sidebar-menu-0\" class=\"sidebar-sub-menu bg-light-grey hidden w-full pb-2\">\n                                            \n                                                                                                    <li class=\"w-full block\">\n                                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/programme-overview\/\" class=\"sidebar-link block w-full pl-8 pr-5 py-3 heading6 font-medium flex items-center gap-3 transition-all text-dark sidebar-main-link\">\n                                                            <span class=\"dot-indicator w-1.5 h-1.5 rounded-full flex-shrink-0 bg-dark transition-colors\"><\/span>\n                                                            Programme Overview                                                        <\/a>\n                                                    <\/li>\n                                                \n                                                \n                                                                                                    <li class=\"w-full block\">\n                                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/partners\/\" class=\"sidebar-link block w-full pl-8 pr-5 py-3 heading6 font-medium flex items-center gap-3 transition-all text-dark sidebar-main-link\">\n                                                            <span class=\"dot-indicator w-1.5 h-1.5 rounded-full flex-shrink-0 bg-dark transition-colors\"><\/span>\n                                                            Partner                                                        <\/a>\n                                                    <\/li>\n                                                \n                                                                                        <\/ul>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"border-b border-gray-200 last:border-0 w-full block\">\n                                        <a href=\"https:\/\/sgps.visibleone.dev\/news-and-events\/?event_view=list&#038;event_cat%5B%5D=news&#038;prog%5B%5D=bssc_in_data_science_and_policy_studies\" class=\"sidebar-link w-full px-5 py-4 flex items-center justify-between transition-colors sidebar-main-link text-dark\">\n                                            <span class=\"heading6 font-bold text-left\">News &amp; Events<\/span>\n                                        <\/a>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"hasAccordion group border-b border-gray-200 last:border-0 w-full block\">\n                                        <button type=\"button\" data-href=\"#\" aria-expanded=\"false\" aria-controls=\"sidebar-menu-2\" class=\"sidebar-toggle w-full px-5 py-4 flex items-center justify-between transition-all duration-200 cursor-pointer text-dark hover:bg-light-green hover:text-primary\">\n                                            <span class=\"heading6 font-bold text-left pointer-events-none\">Programme<\/span>\n                                            <img decoding=\"async\" src=\"https:\/\/sgps.visibleone.dev\/wp-content\/themes\/cuhk-sgps\/public\/icons\/arrow-down.svg\" alt=\"\" class=\"w-4 h-4 object-contain opacity-60 pointer-events-none\">\n                                        <\/button>\n\n                                        <ul id=\"sidebar-menu-2\" class=\"sidebar-sub-menu bg-light-grey hidden w-full pb-2\">\n                                            \n                                                                                                    <li class=\"w-full block\">\n                                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/academic-staff\/\" class=\"sidebar-link block w-full pl-8 pr-5 py-3 heading6 font-medium flex items-center gap-3 transition-all text-dark sidebar-main-link\">\n                                                            <span class=\"dot-indicator w-1.5 h-1.5 rounded-full flex-shrink-0 bg-dark transition-colors\"><\/span>\n                                                            Management and Academic Staff                                                        <\/a>\n                                                    <\/li>\n                                                \n                                                \n                                                                                                    <li class=\"w-full block\">\n                                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/curriculum-for-major-students\/\" class=\"sidebar-link block w-full pl-8 pr-5 py-3 heading6 font-medium flex items-center gap-3 transition-all text-dark sidebar-main-link\">\n                                                            <span class=\"dot-indicator w-1.5 h-1.5 rounded-full flex-shrink-0 bg-dark transition-colors\"><\/span>\n                                                            Curriculum for Major Students                                                        <\/a>\n                                                    <\/li>\n                                                \n                                                \n                                                                                                    <li class=\"w-full block\">\n                                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/dsps-courses\/\" class=\"sidebar-link block w-full pl-8 pr-5 py-3 heading6 font-medium flex items-center gap-3 transition-all text-dark sidebar-main-link\">\n                                                            <span class=\"dot-indicator w-1.5 h-1.5 rounded-full flex-shrink-0 bg-dark transition-colors\"><\/span>\n                                                            DSPS Courses                                                        <\/a>\n                                                    <\/li>\n                                                \n                                                \n                                                                                                    <li class=\"w-full block\">\n                                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/experiential-learning\/\" class=\"sidebar-link block w-full pl-8 pr-5 py-3 heading6 font-medium flex items-center gap-3 transition-all text-dark sidebar-main-link\">\n                                                            <span class=\"dot-indicator w-1.5 h-1.5 rounded-full flex-shrink-0 bg-dark transition-colors\"><\/span>\n                                                            Experiential Learning                                                        <\/a>\n                                                    <\/li>\n                                                \n                                                                                        <\/ul>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"border-b border-gray-200 last:border-0 w-full block\">\n                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/admission\/\" class=\"sidebar-link w-full px-5 py-4 flex items-center justify-between transition-colors sidebar-main-link text-dark\">\n                                            <span class=\"heading6 font-bold text-left\">Admission<\/span>\n                                        <\/a>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"border-b border-gray-200 last:border-0 w-full block\">\n                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/research\/\" class=\"sidebar-link w-full px-5 py-4 flex items-center justify-between transition-colors sidebar-main-link text-dark\">\n                                            <span class=\"heading6 font-bold text-left\">Research<\/span>\n                                        <\/a>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"border-b border-gray-200 last:border-0 w-full block\">\n                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/e-learning-space\/\" class=\"sidebar-link w-full px-5 py-4 flex items-center justify-between transition-colors sidebar-main-link text-dark\">\n                                            <span class=\"heading6 font-bold text-left\">E-Learning Space<\/span>\n                                        <\/a>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"border-b border-gray-200 last:border-0 w-full block\">\n                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/faq\/\" class=\"sidebar-link w-full px-5 py-4 flex items-center justify-between transition-colors sidebar-main-link text-dark\">\n                                            <span class=\"heading6 font-bold text-left\">FAQ<\/span>\n                                        <\/a>\n                                    <\/li>\n                                                                \n                                                                    <li class=\"border-b border-gray-200 last:border-0 w-full block\">\n                                        <a href=\"https:\/\/sgps.visibleone.dev\/bssc-in-data-science-and-policy-studies-dsps\/contact\/\" class=\"sidebar-link w-full px-5 py-4 flex items-center justify-between transition-colors sidebar-main-link text-dark\">\n                                            <span class=\"heading6 font-bold text-left\">Contact<\/span>\n                                        <\/a>\n                                    <\/li>\n                                                                                        <\/ul>\n                                    <\/div>\n            <\/div>\n\n            <div class=\"md:flex-[0_1_75%] md:max-w-[75%]\">\n                <div class=\"acf-innerblocks-container\">\n\n<div  class=\"program-tab-content section-block mb-16 scroll-mt-32\">\n\n    <h3 class=\"heading3 border-l-[6px] border-primary pl-5 mb-5 lg:mb-8\">\n        Programme Overview    <\/h3>\n\n    \n    \n    <div class=\"pt-5 lg:pt-8 custom-content prose max-w-none text-dark\">\n        <h1>The BSSc in Data Science and Policy Studies (DSPS) programme focuses on linking the fields of data science and policy science to equip students with the essential knowledge, skills and capacity to design innovative, big data-driven, and evidence-based policy solutions for complex problems in society. The programme offers a comprehensive, balanced curriculum on fundamental aspects of data, statistical and machine learning knowledge, policy design and analytical techniques, as well as hands-on experience with data science software and visualisation tools.<br \/>\n&nbsp;<br \/>\n<strong>Your Journey to Transformative Learning Experiences<\/strong><br \/>\n&nbsp;<br \/>\nPrepare You for the Future, Enable You to Drive the Future<br \/>\n&nbsp;<br \/>\nDSPS (BSSc in Data Science and Policy Studies) focuses on linking up the two interdisciplinary and transdisciplinary fields of data science and policy science to equip students with essential knowledge, skills and capacities to design innovative, big data-driven, and evidence-based policy solutions to complex problems in society. It is an outstanding and transformative programme for students who have a strong interest in\u00a0<u>BOTH data science and public policy<\/u>.<br \/>\n&nbsp;<br \/>\nInnovative Curriculum<br \/>\n&nbsp;<br \/>\nThe first undergraduate programme in Hong Kong and one of the few in the world to integrate data science with policy studies. DSPS Programme offers a comprehensive and balanced curriculum on fundamental aspects of data, statistical and machine learning knowledge, policy design and analytics techniques, as well as hands-on experience with data science software and visualization tools. The final-year capstone project offers students the opportunity to integrate and apply what they have learned in the Programme to address real-world policy issues.<br \/>\n&nbsp;<br \/>\nTo further enhance interdisciplinarity of the Programme, a new DSPS curriculum is to be launched in 2023-24.<\/h1>\n<p>&nbsp;<\/p>\n<table width=\"587\">\n<thead>\n<tr>\n<th width=\"737\"><strong>2023-24\u00a0Entry (New Curriculum)<\/strong><\/th>\n<th width=\"113\"><strong>Units<\/strong><\/th>\n<\/thead>\n<\/tr>\n<tbody>\n<tr>\n<td width=\"737\"><strong>Foundation Courses<\/strong><\/td>\n<td width=\"113\"><strong>9<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Resident Study Overseas<\/strong><\/td>\n<td width=\"113\"><strong>9<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Internship<\/strong><\/td>\n<td width=\"113\"><strong>3<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Capstone Courses<\/strong><\/td>\n<td width=\"113\"><strong>6<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Category I Elective Courses: Methods and Tools<\/strong><\/td>\n<td width=\"113\"><strong>21<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Category II Elective Courses: Policy Applications &#8211; 5\u00a0Specialization Areas<\/strong><\/p>\n<ul>\n<li><strong>Policy Science and Public Governance<\/strong><\/li>\n<li><strong>Global Relationship<\/strong><\/li>\n<li><strong>Human Resources<\/strong><\/li>\n<li><strong>Social Problems, Deviance, Law and Order<\/strong><\/li>\n<li><strong>Sustainable Smart Cities<\/strong><\/li>\n<\/ul>\n<\/td>\n<td width=\"113\"><strong>18<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Faculty Package<\/strong><\/td>\n<td width=\"113\"><strong>9<\/strong><\/td>\n<\/tr>\n<tr style=\"background-color: #d0e9e8\">\n<td width=\"737\"><strong>Total<\/strong><\/td>\n<td width=\"113\"><strong>72<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><em>*Students can design their own specialization based on their selection of Category I courses, Category II courses, Capstone Project and Internship Experiences.<\/em><\/strong><\/p>\n<p>&nbsp;<\/p>\n<table width=\"587\">\n<thead>\n<tr>\n<th width=\"737\"><strong>2022-23 Entry &amp; Before<\/strong><\/th>\n<th width=\"113\"><strong>Units<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"737\"><strong>Major Required Courses\u00a0(e.g. Foundation of Data Science, Data Science and Public Policy)<\/strong><\/td>\n<td width=\"113\"><strong>27<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Resident Study Overseas<\/strong><\/td>\n<td width=\"113\"><strong>9<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Internship<\/strong><\/td>\n<td width=\"113\"><strong>3<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Capstone Courses<\/strong><\/td>\n<td width=\"113\"><strong>6<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Major Elective Courses<\/strong><br \/>\n<strong>(e.g. Social Science Disciplinary Courses OR Selected Technology Courses offered by Faculty of Science and Faculty of Engineering)<\/strong><\/td>\n<td width=\"113\"><strong>18<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"737\"><strong>Faculty Package<\/strong><\/td>\n<td width=\"113\"><strong>9<\/strong><\/td>\n<\/tr>\n<tr style=\"background-color: #d0e9e8\">\n<td width=\"737\"><strong>Total<\/strong><\/td>\n<td width=\"113\"><strong>72<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Overseas Exchange Experience<br \/>\n&nbsp;<br \/>\nIn this increasingly interconnected world, the DSPS Programme is both the destination and take-off runway of students. We have lined up with some top institutions in Europe and Australasia for students to explore and broaden their horizons. Our partners are Technical University of Munich (TUM), a top Germany university in the heart of the European continent and University of Auckland, the best university in New Zealand.<br \/>\n&nbsp;<br \/>\nInternships<br \/>\n&nbsp;<br \/>\nBesides textbook knowledge, we equally value hands-on experience, if not more. The DSPS Programme offers internship opportunities in the public, private, or non-profit sectors.<br \/>\n&nbsp;<br \/>\nKnowledge and Capacities Acquired<br \/>\n&nbsp;<br \/>\nUpon graduation, DSPS students will have solid knowledge of policy theories, state-of-art data science techniques, and leadership skills to formulate data-driven policy and evaluate policy outcomes. In particular, students will be able to:<br \/>\n&nbsp;<\/p>\n<ul>\n<li>Understand policy issues with insights and intelligence by integrating theory and practice<\/li>\n<li>Design data-driven and evidence-based solutions to address policy problems<\/li>\n<li>Apply statistical and computational methods to analyze data to provide actionable insights<\/li>\n<li>Present and visualize results in a clear and professional manner to enhance policy decisions<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\nCareer Prospects<br \/>\n&nbsp;<br \/>\nDSPS students graduate with the expertise to be data-driven decision-makers, policy leaders, project managers, and research analysts in both public and private organizations, including but not limited to:<br \/>\n&nbsp;<\/p>\n<ul>\n<li>Government<\/li>\n<li>Think tanks<\/li>\n<li>Consulting firms<\/li>\n<li>Non-government organizations<\/li>\n<li>Startups<\/li>\n<li>Multinational corporations<\/li>\n<li>Science and technology companies<\/li>\n<li>Nonprofit advocacy organizations<\/li>\n<\/ul>\n    <\/div>\n\n<\/div>\n<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n<script>\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        const allToggles = document.querySelectorAll(\".sidebar-toggle, .sidebar-sub-toggle\");\n        const allLinks = document.querySelectorAll(\".sidebar-link\");\n        const tabContents = document.querySelectorAll(\".program-tab-content\");\n\n        function resetLinks() {\n            allLinks.forEach(l => {\n                l.classList.remove(\"active\", \"text-primary\");\n                l.classList.add(\"text-dark\");\n\n                const dot = l.querySelector(\".dot-indicator, span.rounded-full\");\n                if (dot) {\n                    dot.classList.remove(\"bg-primary\");\n                    if (l.closest('.sidebar-grand-menu')) {\n                        dot.classList.add(\"bg-transparent\", \"border\", \"border-dark\");\n                    } else {\n                        dot.classList.add(\"bg-dark\");\n                    }\n                }\n\n                if (l.parentElement.classList.contains('border-b')) {\n                    l.classList.remove(\"bg-primary\", \"text-white\");\n                }\n            });\n        }\n\n        function activateLink(linkElement) {\n            resetLinks();\n            linkElement.classList.add(\"active\");\n            linkElement.classList.remove(\"text-dark\");\n\n            const dot = linkElement.querySelector(\".dot-indicator, span.rounded-full\");\n            if (dot) {\n                dot.classList.remove(\"bg-dark\", \"bg-transparent\", \"border\", \"border-dark\");\n                dot.classList.add(\"bg-primary\");\n            }\n\n            if (linkElement.parentElement.classList.contains('border-b')) {\n                linkElement.classList.add(\"bg-primary\", \"text-white\");\n            }\n        }\n\n        function openAccordion(btn) {\n            const menu = btn.nextElementSibling;\n            if (!menu) return;\n\n            const parentUl = btn.closest('ul');\n            if (parentUl) {\n                const siblingButtons = Array.from(parentUl.children).map(li => li.querySelector('button')).filter(b => b && b !== btn);\n                siblingButtons.forEach(otherBtn => {\n                    closeAccordion(otherBtn);\n                });\n            }\n\n            btn.classList.add(\"active-parent\", \"text-white\");\n            btn.classList.remove(\"text-dark\");\n\n            const dot = btn.querySelector('.dot-indicator');\n            if (dot) { dot.classList.replace('bg-dark', 'bg-white'); }\n\n            btn.setAttribute(\"aria-expanded\", \"true\");\n            menu.classList.remove(\"hidden\");\n        }\n\n        function closeAccordion(btn) {\n            if (!btn) return;\n            const menu = btn.nextElementSibling;\n            if (!menu) return;\n\n            btn.classList.remove(\"active-parent\", \"text-white\");\n            btn.classList.add(\"text-dark\");\n\n            const dot = btn.querySelector('.dot-indicator');\n            if (dot) { dot.classList.replace('bg-white', 'bg-dark'); }\n\n            btn.setAttribute(\"aria-expanded\", \"false\");\n            menu.classList.add(\"hidden\");\n        }\n\n        function switchTab(targetId) {\n            if (!targetId || targetId === '#' || !targetId.startsWith('#')) return;\n\n            tabContents.forEach(content => content.classList.add('hidden'));\n\n            try {\n                const targetContent = document.querySelector(targetId);\n                if (targetContent) {\n                    targetContent.classList.remove('hidden');\n\n                    allLinks.forEach(l => {\n                        if (l.getAttribute('href') === targetId) {\n                            activateLink(l);\n\n                            let parent = l.parentElement;\n                            while (parent) {\n                                if (parent.classList.contains('sidebar-sub-menu') || parent.classList.contains('sidebar-grand-menu')) {\n                                    const toggleBtn = parent.previousElementSibling;\n                                    if (toggleBtn && (toggleBtn.classList.contains('sidebar-toggle') || toggleBtn.classList.contains('sidebar-sub-toggle'))) {\n                                        toggleBtn.classList.add(\"active-parent\", \"text-white\");\n                                        toggleBtn.classList.remove(\"text-dark\");\n                                        const dot = toggleBtn.querySelector('.dot-indicator');\n                                        if (dot) dot.classList.replace('bg-dark', 'bg-white');\n                                        toggleBtn.setAttribute(\"aria-expanded\", \"true\");\n                                        parent.classList.remove(\"hidden\");\n                                    }\n                                }\n                                parent = parent.parentElement;\n                                if (parent.classList.contains('sidebar-wrapper')) break;\n                            }\n                        }\n                    });\n                }\n            } catch (e) { console.error(\"Tab switch error:\", e); }\n        }\n\n        allToggles.forEach((btn) => {\n            btn.addEventListener(\"click\", function (e) {\n                const href = this.getAttribute(\"data-href\");\n                const isAnchor = href && href.startsWith(\"#\");\n                const menu = this.nextElementSibling;\n\n                if (menu) {\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    const isOpen = this.getAttribute(\"aria-expanded\") === \"true\";\n\n                    if (isOpen) {\n                        closeAccordion(this);\n                    } else {\n                        openAccordion(this);\n                        if (isAnchor) switchTab(href);\n                    }\n                }\n                else if (isAnchor) {\n                    e.preventDefault();\n                    switchTab(href);\n                    allToggles.forEach(b => {\n                        b.classList.remove(\"active-parent\", \"text-white\");\n                        const d = b.querySelector('.dot-indicator');\n                        if (d) d.classList.replace('bg-white', 'bg-dark');\n                    });\n                    this.classList.add(\"active-parent\", \"text-white\");\n                }\n            });\n        });\n\n        allLinks.forEach((link) => {\n            link.addEventListener(\"click\", function (e) {\n                const href = this.getAttribute(\"href\");\n                if (href && href.startsWith(\"#\")) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    switchTab(href);\n                    history.pushState(null, null, href);\n                }\n            });\n        });\n\n        const hash = window.location.hash;\n        if (hash && hash !== '#') {\n            switchTab(hash);\n        } else {\n            const hasActivePHP = document.querySelector('.sidebar-link.active') || document.querySelector('.sidebar-toggle.active-parent');\n            if (!hasActivePHP && tabContents.length > 0) {\n                const firstAnchorLink = Array.from(allLinks).find(l => l.getAttribute('href') && l.getAttribute('href').startsWith('#'));\n                if (firstAnchorLink) {\n                    firstAnchorLink.click();\n                }\n            }\n        }\n    });\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":2200,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"footnotes":"","_tec_slr_enabled":"","_tec_slr_layout":""},"class_list":["post-2226","page","type-page","status-publish","hentry"],"acf":[],"ticketed":false,"_links":{"self":[{"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/pages\/2226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/comments?post=2226"}],"version-history":[{"count":0,"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/pages\/2226\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/pages\/2200"}],"wp:attachment":[{"href":"https:\/\/sgps.visibleone.dev\/tc\/wp-json\/wp\/v2\/media?parent=2226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}