    
        /*********************************************
         * Default visibility:
         * - Desktop block: visible (block)
         * - Mobile block: hidden (none)
         *********************************************/
        .desktop-onboarding {
            display: block;
        {#min-height: 70vh;#}
        }

        .mobile-onboarding, .tablet-onboarding {
            display: none;
        }

        /*********************************************
         * DESKTOP BLOCK
         * (Your original desktop styles)
         *********************************************/
        .desktop-onboarding .onboarding-container {
            margin: 0 auto;
            padding: 20px;
            height: 40vw;

            display: flex;
            align-items: center;
            justify-content: flex-start;

            background: url("/static/new/image/onboarding/landing2-high-new.6fd56f39a88e.jpg") no-repeat right center;
            background-size: contain; /* or 'cover' */
            background-position: bottom right;
        }

        .desktop-onboarding .text-section {
            flex: 1;
            margin-left: 4vw;
            margin-right: 40px;
            position: relative;
            z-index: 1;
            max-width: 60%;

        }

        .desktop-onboarding .text-section h1 {
            font-size: 4rem;
            margin-bottom: 1rem;
            max-width: 700px;
            line-height: 4.5rem;
            font-weight: 500;
        }

        .desktop-onboarding .text-section p {
            font-size: 2rem;
            margin-bottom: 2rem;
        }

        .desktop-onboarding .text-section button {
            background-color: darkred;
            color: #fff;
            font-size: 2rem;
            border: none;
            width: 300px;
            padding: 0.75rem 1.5rem;
            cursor: pointer;
            border-radius: 12px;
        }

        /* Below 900px → reduce right margin a bit */
        @media (max-width: 900px) {
            .desktop-onboarding .text-section {
                margin-right: 20px;
                text-align: center;
            }

            .desktop-onboarding h1 {
                font-size: 2.5rem;
            }

            .desktop-onboarding button {
                width: 300px;
            }
        }


        /* Below 600px → fill with cover, stack text vertically */
        /*********************************************
         * MOBILE BLOCK
         * (Shown only below 600px)
         *********************************************/
        .mobile-onboarding .onboarding-container {
            /* Force the container to match the viewport width (100vw)
               and remove horizontal padding to allow the image to stretch edge to edge */
            width: 100vw;
            margin: 0; /* remove default auto margin so we can go full width */
            padding: 0; /* no horizontal padding for full-width image */

            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .mobile-onboarding .text-section {
            /* If you want some padding around the text, you can add it here */
            padding: 20px;
            width: 100%;
            text-align: center;
        }

        .mobile-onboarding .text-section h1 {
            font-size: 3.5rem;
            margin-bottom: 1rem;
            line-height: 3.5rem;
            font-weight: 500;
            margin-top: 20px;
        }

        .tablet-onboarding .text-section h1 {
            font-weight: 500;
        }

        .mobile-onboarding .text-section p {
            font-size: 2rem;
            margin-bottom: 1rem;
        }

        .mobile-onboarding .text-section button {
            background-color: darkred;
            color: #fff;
            font-size: 2rem;
            border: none;
            padding: 0.75rem 1.5rem;
            cursor: pointer;
            border-radius: 12px;
        }

        /* Make the mobile image fill 100% of the viewport’s width */
        .mobile-onboarding img {
            width: 100vw; /* fill the entire viewport width */
            max-width: 100%; /* ensure it never goes beyond 100vw */
            height: auto;
            display: block; /* remove inline gaps */
            object-fit: cover; /* or 'contain' depending on your preference */
        }

    
    
        /* All styles apply ONLY within the .desktop-onboarding-level container */
        .desktop-onboarding-level {
            /* You can set a general font or background here if you wish */
            font-family: Arial, sans-serif;
            /* Example background color if needed
            background-color: #f9f9f9;
            padding: 20px;
            */
        }

        .desktop-onboarding-level .header {
            text-align: left;
            margin-bottom: 30px;
            margin-left: 40px;
        }

        .desktop-onboarding-level .header h1 {
            margin-top: 30px;
            color: black;
            font-size: 2.5rem;
            margin-bottom: 15px;
        }

        .desktop-onboarding-level .header p {

            font-size: 1.5rem;
            color: black;
        }

        .desktop-onboarding-level .cards-container {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 30px;
            padding-left: 20px;
            padding-right: 20px;
        }

        .desktop-onboarding-level .card {
            flex: 1;
            background-color: #fff;
            border-radius: 8px;
            padding: 20px;
            min-width: 350px;
            display: flex;
            flex-direction: column;
            position: relative;
        {#margin: 10px 34px;#} /* Example border to see each card boundary
            border: 1px solid #ccc;
            */
        }

        /* Background colors for each card */
        .desktop-onboarding-level .card-1 {
            background-color: #b5ebc6;
            background-image: url("/static/new/image/onboarding/dog/dog-1.50f8cfdfc8c6.png");
            background-repeat: no-repeat;
            background-position: right 5px bottom 5px;
            background-size: auto 120px;
            margin-right: 5px;
            margin-left: 5px;
            margin-bottom: 10px;
        }

        .desktop-onboarding-level .card-2 {
            background-color: #eacdff;
            background-image: url("/static/new/image/onboarding/dog/dog-2.88ca9186b8ae.png");
            background-repeat: no-repeat;
            background-position: right 5px bottom 5px;
            background-size: auto 120px;
            margin-right: 5px;
            margin-left: 5px;
            margin-bottom: 10px;
        }

        .desktop-onboarding-level .card-3 {
            background-color: #a7e3ff;
            background-image: url("/static/new/image/onboarding/dog/dog-3.2977170618f9.png");
            background-repeat: no-repeat;
            background-position: right 5px bottom 5px;
            background-size: auto 120px;
            margin-right: 5px;
            margin-left: 5px;
            margin-bottom: 10px;
        }

        .desktop-onboarding-level .card-4 {
            background-color: #f8c8b8;
            background-image: url("/static/new/image/onboarding/dog/dog-3.2977170618f9.png");
            background-repeat: no-repeat;
            background-position: right 5px bottom 5px;
            background-size: auto 120px;
            margin-right: 5px;
            margin-left: 5px;
            margin-bottom: 10px;
        }

        .desktop-onboarding-level .card h2 {
            margin-bottom: 15px;
            font-size: 1.4rem;
            color: #333;
            margin-left: 35px;
        }

        .desktop-onboarding-level .card ul {
            list-style: none;
            margin-bottom: 15px;
            padding-left: 0;
            margin-left: 30px;
            font-size: 1.2rem;
            color: black;
        }

        .desktop-onboarding-level .card ul li {
            margin-bottom: 5px;
            list-style-type: disc;
        }

        .desktop-onboarding-level .card a.more-info {
            margin-top: auto;
            color: red;
            text-decoration: none;
            font-weight: bold;
            margin-bottom: 15px;
            font-size: 1.2rem;
            display: inline-block;
        }

        .desktop-onboarding-level .card button.start-btn {
            margin-top: auto;
            align-self: flex-start;
            background-color: white;
            border: 2px solid black;
            color: black;
            border-radius: 9px;
            padding: 10px 15px;
            cursor: pointer;
            font-size: 1.5rem;
            width: 220px;
            margin-left: 20px;
        }

        .desktop-onboarding-level .card button.start-btn:hover {
            background-color: #b8ffa0;
            border: 2px solid #2fbe00;
        }

        .card-number {
            position: absolute;
            top: -1px; /* pull it back up to compensate for the border */
            left: -1px; /* pull it back left to compensate for the border */
            background: #fff;
            color: #333;
            font-weight: bold;
            padding: 8px 12px;
            border-radius: 0 0 8px 0;
        {#box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);#} z-index: 1; /* ensure it sits above the card’s border */
            font-size: 1.3rem;
        }

        /* Placeholder "dog" images */
        .desktop-onboarding-level .dog-image {
            width: 60px;
            height: 60px;
            background-color: #999; /* Placeholder gray box */
            border-radius: 50%;
            margin-top: auto;
            align-self: flex-end;
        }

        /* Buttons row under cards */
        .desktop-onboarding-level .level-buttons {
            text-align: center;
            margin-bottom: 30px;
        }

        .desktop-onboarding-level .level-buttons button {
            background-color: #fff;
            border-radius: 4px;
            padding: 10px 15px;
            margin: 0 10px;
            cursor: pointer;
            color: black;
            font-size: 1.5rem;
        }

        .desktop-onboarding-level .level-buttons button:hover {
            background-color: #eee;
        }

        /* Test section at the bottom */
        .desktop-onboarding-level .test-section {
            text-align: center;
            background-color: #FDD69B;
            padding: 20px;
            background-image: url("/static/new/image/onboarding/dog/dog-4.43cf811baf2b.png");
            background-repeat: no-repeat;
            background-position: right 20px bottom 10px;
            background-size: auto 110px;
            border-top-left-radius: 25px;
            border-top-right-radius: 25px;
            margin-bottom: 20px;
        }

        .desktop-onboarding-level .test-section button {
            margin-top: auto;
            align-self: flex-start;
            background-color: white;
            border: 2px solid black;
            color: black;
            border-radius: 9px;
            padding: 10px 15px;
            cursor: pointer;
            font-size: 1.5rem;
            width: 400px;
            margin-left: 20px;
        }

        .desktop-onboarding-level .test-section button:hover {
            background-color: #55b8ff;
        }

        .desktop-onboarding-level .test-section p {
            color: black;
            font-size: 1.5rem;
            font-weight: 500;
        }
    
    
        @media (min-width: 1200px) {
            .cards-container {
                max-width: 1450px;
            }
        }

        @media (max-width: 1100px) {
            .desktop-onboarding {
                display: none;
            }


            .tablet-onboarding {
                display: block;
            }

            .mobile-onboarding {
                display: none;
            }

            .desktop-onboarding .onboarding-container .text-section {
                max-width: 50vw;
            }


            .text-section h1 {
            {#background-color: white;#} border-radius: 2px;
            }

            .tablet-onboarding .onboarding-container {
                margin: 0 auto;
                padding: 20px;
                height: 68vh;

                display: flex;
                align-items: center;
                justify-content: flex-start;

                background: url("/static/new/image/onboarding/onboarding-ipad-new.de5eba798cf2.jpg") no-repeat right bottom;
                background-size: contain; /* or 'cover' */
                background-position: bottom right;
            }

            .tablet-onboarding .text-section {
                padding-bottom: 20px;
                padding-left: 40px;

            }

            .tablet-onboarding h1 {
            {#background-color: white;#} border-radius: 2px;
                max-width: 500px;
                font-size: 3rem;
                line-height: 3rem;
            }

            .tablet-onboarding p {
                font-size: 1.5rem;
            }

            .tablet-onboarding button {
                font-size: 2.5rem;
                background-color: darkred;
                color: #fff;
                border: 3px solid white;
                padding: 0.75rem 1.5rem;
                cursor: pointer;
                border-radius: 12px;
                margin-top: 20px;
                width: 300px;
            }

        }

        @media (max-width: 767px) {
            .desktop-onboarding {
                display: none;
            }

            .tablet-onboarding {
                display: none;
            }

            .mobile-onboarding {
                display: block;
            }

            .mobile-onboarding .text-section h1 {
                font-size: 2.5rem;
                line-height: 2.5rem;
                font-weight: bold;
            }

            .mobile-onboarding .text-section p {
                font-size: 1.3rem;
            }

            .desktop-onboarding-level .header p {
                font-size: 1.1rem;
            }

            .desktop-onboarding-level .header {
                margin-left: 19px !important;
            }

            .level-buttons {
                display: none;
            }

            .desktop-onboarding-level .test-section button {
                width: 320px;
                margin: 0 0 110px 0;
            }

            #ts-pass-test {
                display: none;
            }

            .desktop-onboarding .onboarding-container {
                background-position: center center;
                background-size: cover;

                flex-direction: column;
                align-items: flex-start;
            }

            .desktop-onboarding .text-section {
                margin-right: 0;
                margin-bottom: 20px;
            }

            .mobile-onboarding .text-section button {
                padding-left: 50px;
                padding-right: 50px;
                margin-left: 10px;
            }

            .tablet-onboarding .text-section button {
                padding-left: 50px;
                padding-right: 50px;
                margin-left: 10px;
            }
        }
    