.programs-section {
            
            
        }


        /* ── Programs tabs: attractive wrapper ── */
        .programs-section .mt-5 {
            background: linear-gradient(135deg, #f0f7ff 0%, #fdf6ee 100%);
            border-radius: 20px;
            padding: 28px !important;
            box-shadow: 0 6px 30px rgba(3, 83, 146, 0.08);
        }

        /* ── Nav buttons: clean pill style ── */
        .programs-section .nav-tabs .nav-link {
            border-radius: 12px !important;
            font-weight: 600;
            letter-spacing: 0.3px;
            transition: all 0.22s ease !important;
            margin-bottom: 10px;
        }

        .programs-section .nav-tabs .nav-link:not(.active):hover {
            background-color: #c8860a !important;
            box-shadow: 0 4px 14px rgba(228, 164, 15, 0.45) !important;
        }

        .programs-section .nav-tabs .nav-link.active {
            background-color: #035392 !important;
            box-shadow: 0 4px 18px rgba(3, 83, 146, 0.38) !important;
        }

        /* ── Content card: white + top-accent stripe ── */
        .programs-section .tab-content.block-padding {
            background: #ffffff !important;
            border-radius: 16px !important;
            box-shadow: 0 4px 24px rgba(3, 83, 146, 0.09) !important;
            border-top: 4px solid #e4a40f !important;
            margin-left: 16px !important;
        }

        /* ── Image: lift on hover ── */
        .programs-section .tab-pane img {
            border-radius: 14px !important;
            box-shadow: 0 6px 22px rgba(0,0,0,0.11);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .programs-section .tab-pane img:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 32px rgba(0,0,0,0.16);
        }

        .steam-section {
            padding-top: 20px !important;
            padding-bottom: 50px !important;
        }

        /* Desktop: tighten inter-section gaps */
        @media (min-width: 1200px) {
            .steam-section {
                padding-top: 30px !important;
                padding-bottom: 90px !important;
            }

            .page.bg-light {
                padding-top: 60px !important;
                padding-bottom: 60px !important;
            }

            .programs-section {
               
            }

            /* Final CTA section */
            .page.program-cta-section {
                padding-top: 40px !important;
                padding-bottom: 40px !important;
            }
        }

        .steam-section img {
            max-height: 450px;
            width: 100%;
            object-fit: cover;
        }

        /* Keep image + copy vertically aligned in program tabs */
        .tabs-with-icon .tab-pane .row {
            align-items: center;
        }

        .tabs-with-icon .tab-pane img {
            display: block;
            width: 100%;
            height: auto;
            margin: 0 auto;
        }

        /* Desktop: align the content card height with the side buttons */
        @media (min-width: 1200px) {
            .programs-section .tabs-with-icon {
                display: flex;
                align-items: stretch;
                clear: both;
            }

            .programs-section .vertical-tabs nav {
                float: none !important;
                width: 25%;
                flex: 0 0 25%;
                max-width: 25%;
                align-self: stretch;
                display: flex;
                align-items: stretch;
            }

            .programs-section .vertical-tabs nav .nav-tabs {
                float: none !important;
                display: flex !important;
                flex-direction: column;
                width: 100% !important;
                margin: 0;
            }

            .programs-section .vertical-tabs nav .nav-tabs .nav-link:last-child {
                margin-bottom: 0 !important;
            }


            .programs-section .vertical-tabs .tab-content {
                float: none !important;
                width: 75% !important;
                flex: 1 1 75%;
                max-width: 75%;
                align-self: stretch;
                margin: 0;
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

            .programs-section .tabs-with-icon .tab-pane .row {
                align-items: center;
                justify-content: center;
            }

            .programs-section .tabs-with-icon .tab-pane .col-lg-6 {
                display: flex;
                flex-direction: column;
                justify-content: center;
            }
        }

        .program-cta {
            position: relative;
            padding: 55px 40px !important;
            margin: 0;
            background: #FFF8F0;
            border-radius: 14px;
            text-align: center;
            border-top: 5px solid #E8373D;
            box-shadow: 0 4px 24px rgba(3, 83, 146, 0.08);
            overflow: hidden;
        }

        .program-cta-content {
            position: relative;
            z-index: 2;
            max-width: 720px;
            margin: 0 auto;
        }

        .program-cta h2 {
            color: #035392 !important;
            margin-bottom: 14px;
        }

        .program-cta p {
            color: #444;
            max-width: 640px;
            margin: 0 auto;
            line-height: 1.75;
        }

        .program-cta .btn {
            margin-top: 28px !important;
        }

        /* Soft decorative dots */
        .program-cta::before,
        .program-cta::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
        }

        .program-cta::before {
            width: 160px;
            height: 160px;
            top: -60px;
            left: -50px;
            background: rgba(232, 55, 61, 0.06);
        }

        .program-cta::after {
            width: 180px;
            height: 180px;
            right: -55px;
            bottom: -70px;
            background: rgba(3, 83, 146, 0.06);
        }

        /* Tablet + mobile: stack tabs evenly (fixes uneven 2-row wrap) */
        @media (max-width: 1199.98px) {

            /* Tablet: two-column layout — content left, image right */
            .steam-section {
                padding-top: 40px !important;
                padding-bottom: 40px !important;
                margin-top: 0 !important;
            }

            .steam-section .container.block-padding {
                padding-top: 20px !important;
                padding-bottom: 20px !important;
            }

            /* Tablet (768px+): side-by-side, content left / image right */
            @media (min-width: 768px) {
                .steam-section .row {
                    display: flex !important;
                    flex-direction: row !important;
                    align-items: center;
                }

                .steam-section .row > .col-lg-6:first-child {
                    order: 2;
                    width: 50%;
                    flex: 0 0 50%;
                    margin-top: 0 !important;
                }

                .steam-section .row > .col-lg-6:last-child {
                    order: 1;
                    width: 50%;
                    flex: 0 0 50%;
                }
            }

            /* Mobile only: stack — content first, image below */
            @media (max-width: 767px) {
                .steam-section .row {
                    display: flex;
                    flex-direction: column;
                }

                .steam-section .row > .col-lg-6:first-child {
                    order: 2;
                    margin-top: 20px !important;
                }

                .steam-section .row > .col-lg-6:last-child {
                    order: 1;
                }
            }

            /* Reduce the space between STEAM and Summer Camp */
            .steam-section + .page.bg-light {
                padding-top: 20px !important;
            }

            .vertical-tabs nav .nav-tabs,
            .vertical-tabs .nav.nav-tabs {
                display: flex !important;
                flex-direction: column;
                flex-wrap: nowrap;
                float: none !important;
                width: 100% !important;
                margin: 0;
            }

            .vertical-tabs .tab-content {
                float: none !important;
                width: 100% !important;
            }

            .vertical-tabs .nav-tabs .nav-link {
                width: 100% !important;
                max-width: 100%;
                margin-right: 0 !important;
                margin-bottom: 10px;
                border-radius: 10px !important;
                display: flex;
                align-items: center;
                justify-content: center;
                text-align: center;
                gap: 10px;
                box-sizing: border-box;
            }

            .vertical-tabs .nav-tabs .nav-link i {
                margin-right: 0;
                vertical-align: middle;
                flex-shrink: 0;
            }

            .vertical-tabs .nav-tabs .nav-link:last-child {
                margin-bottom: 0;
            }
        }

        /* Below lg: stack columns with consistent gaps + tighter tab padding */
        @media (max-width: 991.98px) {

            .tabs-with-icon .tab-content,
            .tabs-with-icon .tab-content.block-padding,
            .tabs-with-icon .tab-content.block-padding:last-child {
                padding: 28px 22px !important;
            }

            .programs-section .row>[class*="col-"]+[class*="col-"],
            .tabs-with-icon .tab-pane .row>[class*="col-"]+[class*="col-"],
            .steam-section .row>[class*="col-"]+[class*="col-"],
            .page.bg-light .row>[class*="col-"]+[class*="col-"] {
                margin-top: 24px;
            }

            .programs-section .h7,
            .steam-section .h7,
            .page.bg-light .h7 {
                display: block;
            }
        }

        @media (max-width: 1199.98px) {

            /* Tablet + mobile: show each program's content directly below its button */
            .programs-section .tabs-with-icon {
                display: flex;
                flex-direction: column;
            }

            .programs-section .tabs-with-icon>nav,
            .programs-section .tabs-with-icon>.tab-content {
                display: contents;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs {
                display: contents !important;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link {
                position: relative;
                z-index: 2;
            }

            .programs-section .tabs-with-icon>.tab-content {
                padding: 0 !important;
                background: transparent !important;
            }

            .programs-section .tabs-with-icon>.tab-content>.tab-pane {
                width: 100%;
                padding: 22px 16px !important;
                margin: 0 0 10px 0;
                background: #f8f9fa;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link {
                margin-bottom: 10px;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link[href="#tab1"] {
                order: 1;
            }

            .programs-section .tabs-with-icon>.tab-content>#tab1 {
                order: 2;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link[href="#tab2"] {
                order: 3;
            }

            .programs-section .tabs-with-icon>.tab-content>#tab2 {
                order: 4;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link[href="#tab3"] {
                order: 5;
            }

            .programs-section .tabs-with-icon>.tab-content>#tab3 {
                order: 6;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link[href="#tab4"] {
                order: 7;
            }

            .programs-section .tabs-with-icon>.tab-content>#tab4 {
                order: 8;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link[href="#tab5"] {
                order: 9;
            }

            .programs-section .tabs-with-icon>.tab-content>#tab5 {
                order: 10;
            }

            .programs-section .tabs-with-icon>nav .nav-tabs .nav-link[href="#tab6"] {
                order: 11;
            }

            .programs-section .tabs-with-icon>.tab-content>#tab6 {
                order: 12;
            }

            .tabs-with-icon .tab-content,
            .tabs-with-icon .tab-content.block-padding,
            .tabs-with-icon .tab-content.block-padding:last-child {
                padding: 22px 16px !important;
            }

            .vertical-tabs .nav-tabs .nav-link {
                padding: 12px 14px !important;
                font-size: 17px;
            }

            .vertical-tabs .nav-tabs .nav-link i {
                font-size: 28px;
            }

            .steam-section img {
                max-height: none !important;
            }

            .program-cta {
                padding: 36px 18px !important;
            }

            .program-cta h2 {
                font-size: 1.75em !important;
            }
        }

        /* Mobile: reduce space above & below "Learning & Growing at Every Stage" */
        @media (max-width: 767px) {
            .programs-section {
                padding-top: 10px !important;
                padding-bottom: 10px !important;
            }

            .programs-section .container.block-padding {
                padding-top: 10px !important;
                padding-bottom: 10px !important;
            }

            /* Reduce gap between the stacked subtitle and paragraph on mobile */
            .programs-section .row > .col-lg-7 {
                margin-top: 10px !important;
            }

            /* Increase top space for STEAM & Enrichment section on mobile */
            .steam-section {
                margin-top: 0 !important;
                padding-top: 0px !important;
            }
        }