 /* =========================================
           ORIGINAL DESKTOP CSS (UNCHANGED)
           ========================================= */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
            background: #ffffff; 
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
         /* SCROLL PROGRESS BAR */
        .scroll-progress {
            position: fixed;
            top: 0;
            left: 0;
            height: 4px;
            width: 0%;
            background: linear-gradient(90deg, #0047aa, #8cb500);
            z-index: 10000;
            transition: width 0.1s linear;
        }

        :root {
            --g2: linear-gradient(45deg, #8cb500, #0047aa);
        }

        /* ── NAV PILLS (Main Links) ── */
        .nav-links {
            list-style: none;
            display: flex;
            gap: 1rem;
        }

        .nav-item {
            position: relative;
        }

        .nav-links .nav-item > a {
            padding: 0.5rem 1.0rem;
            border-radius: 100px;
            text-decoration: none;
            color: #000000;
            font-weight: 500;
            background: rgba(255,255,255,0.18);
            border: 2.5px solid rgb(0, 0, 0);
            backdrop-filter: blur(10px);
            display: block;
            transition: .4s ease;
        }

        .nav-links .nav-item > a:hover {
            background: rgba(255,255,255,0.35);
        }

        /* ── DROPDOWN MENU ── */
        .dropdown {
            position: absolute;
            top: 110%;
            left: 50%;
            transform: translateX(-50%) translateY(10px);
            background: rgba(10, 35, 5, 0.92);
            backdrop-filter: blur(15px);
            border-radius: 15px;
            padding: 1rem;
            min-width: 220px;
            opacity: 0;
            visibility: hidden;
            transition: 0.3s ease;
            z-index: 1000;
            border: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column; 
            gap: 8px; 
        }

        .nav-item:hover .dropdown {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }

        .dropdown a {
            background: transparent !important;
            border: none !important;
            backdrop-filter: none !important;
            padding: 0.6rem 1rem !important;
            border-radius: 8px !important;
            display: block !important;
            width: 100%;
            color: #fff;
            text-decoration: none;
            text-align: left;
            font-size: 0.9rem;
            white-space: nowrap;
        }

        .dropdown a:hover {
            background: rgba(255, 255, 255, 0.1) !important;
            color: #a8e08a !important;
        }

        /* NAV */
        nav {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            padding: 2rem 4rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            z-index: 100;
        }

        .logo img {
            width: 360px;
        }

        .nav-links a {
            padding: .7rem 2rem;
            border-radius: 50px;
            text-decoration: none;
            color: #fff;
            font-weight: 500;
            background: rgba(255,255,255,0.18);
            border: 1px solid rgba(255,255,255,0.25);
            backdrop-filter: blur(10px);
            transition: .4s ease;
        }

        .nav-links a:hover {
            background: rgba(255,255,255,0.35);
        }
              
        /* ==============================================
           INTERACTIVE WHEEL SECTION 
           ============================================== */
        .new-wheel-section {
            position: relative;
            padding-top: 6rem;
            background: #ffffff; 
            color: #0f172a;
            overflow: hidden;
            transition: color 0.6s ease;
            min-height: 1000px;
        }

        .wheel-header {
            text-align: center;
            max-width: 900px;
            margin: 0 auto;
            opacity: 0;
            transform: translateY(40px);
            animation: fadeUp 1s ease forwards;
        }

        .interactive-title {
            font-size: 5.2rem;
            font-weight: 800;
            margin-bottom: 1rem;
            letter-spacing: -1.5px;
            cursor: pointer;
            background: linear-gradient(90deg, #31aa2f, #1c52c4);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            transition: all 0.4s ease;
        }

        .interactive-title:hover {
            transform: scale(1.05);
        }

        .wheel-subtitle {
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 1.2rem;
            color: #1c52c4;
        }

        .wheel-desc {
            font-size: 1.25rem;
            line-height: 1.8;
            color: #475569;
            transition: all 0.3s ease;
        }

        .wheel-desc:hover {
            color: #1c52c4;
        }

        @keyframes fadeUp {
            to { opacity: 1; transform: translateY(0); }
        }

        .wheel-stage {
            position: relative;
            width: 100%;
            max-width: 1200px;
            margin: 4rem auto 0;
            height: 700px;
            z-index: 1; 
        }

        .blue-popup-bg {
            position: absolute;
            top: -270px; 
            left: 50%;
            transform: translateX(-50%) translateY(40px);
            width: 100vw;
            max-width: 1990px;
            height: 1200px; 
            background: rgba(28, 82, 196, 0.75); 
            border-radius: 80px 80px 0 0; 
            backdrop-filter: blur(1px);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
            z-index: 15; 
        }

        .new-wheel-section.is-active .blue-popup-bg {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }

        .new-wheel-section.is-active .bike-wheel-svg {
            color: rgba(0, 0, 0, 0.35);
        }        

        .wheel-graphic-container {
            position: absolute;
            bottom: -530px;
            left: 50%;
            width: 1050px;
            height: 1050px;
            transform: translateX(-50%);
            z-index: 20; 
        }

        .bike-wheel-svg {
            width: 100%;
            height: 100%;
            color: #111827; 
            animation: spinWheel 40s linear infinite; 
            transition: color 0.6s ease;
        }

        @keyframes spinWheel {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        .cards-container {
            position: relative;
            width: 1000px;
            height: 500px;
            margin: 0 auto;
        }

        .ns-card {
            position: absolute;
            width: 290px;
            height: 370px;
            background: #fff;
            border: 6px solid #0a4db3;
            border-radius: 10px;
            padding: 10px;
            text-align: center;
            box-shadow: 0 15px 30px rgba(0,0,0,0.15);
            transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
            cursor: pointer;
            z-index: 10; 
        }

        .ns-card img {
            width: 100%;
            height: 160px;
            object-fit: cover;
            border-radius: 6px;
            margin: 10px 0;
        }

        .ns-card h4 {
            font-size: 1rem;
            font-weight: 900;
            margin-bottom: 6px;
        }

        .ns-card .card-sub {
            font-size: 1rem;
            color: #555;
            font-weight: 900;
        }

        .card-pos-0 { top: 300px; left: -370px; transform: rotate(-65deg); }
        .card-pos-1 { top: -80px; left: -100px; transform: rotate(-35deg); }
        .card-pos-2 { top: -230px; left: 340px; transform: rotate(0deg); }
        .card-pos-3 { top: -100px; left: 790px; transform: rotate(30deg); }
        .card-pos-4 { top: 300px; left: 1080px; transform: rotate(65deg); }

        .ns-card.state-active {
            top: 50%;
            left: 50%;
            transform: translate(-50%, -480px) scale(1.15);
            border-color: #0a4db3 ; 
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            z-index: 25; 
        }

        .ns-card.state-inactive { z-index: 10; }

        .detail-overlay {
            position: absolute;
            top: 260px; 
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            max-width: 650px;
            text-align: center;
            color: #ffffff;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.6s ease;
            z-index: 20; 
        }

        .new-wheel-section.is-active .detail-overlay {
            opacity: 1;
            visibility: visible;
            transition-delay: 0.15s;
        }

        .detail-overlay h3 {
            font-size: 3.5rem;
            font-weight: 800;
            margin-bottom: 10px;
            text-shadow: 0 4px 10px rgba(0,0,0,0.2);
            color: #ffffff;
        }

        .detail-line {
            width: 80px;
            height: 4px;
            background: #ffffff;
            margin: 0 auto 20px;
            border-radius: 2px;
        }

        .detail-overlay p {
            font-size: 1.40rem;
            line-height: 1.7;
            opacity: 0.95;
            text-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }

        .read-more-btn {
            margin-top: 30px;
            padding: 12px 28px;
            border-radius: 50px;
            border: 5px solid #ffffff;
            background: transparent;
            color: #ffffff;
            font-size: 22px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .read-more-btn a { color: inherit; text-decoration: none;}

        .read-more-btn:hover {
            background: #ffffff;
            color: #1c52c4;
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        }

        /* ==========================================================================
           FOOTER CSS
           ========================================================================== */
        .footer {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            padding: 80px 140px 60px 80px; 
            background: linear-gradient(145deg, #0047a5, #003579);
            color: #fff;
            font-family: "Poppins", -apple-system, sans-serif;
            position: relative;
            overflow: hidden;
            gap: 50px;
        }

        .footer-left { flex: 1.2; min-width: 300px; }
        .footer-left h2 { font-size: 32px; font-weight: 600; line-height: 1.3; margin-bottom: 25px; color: #ffffff; }
        .footer-badges { display: flex; gap: 25px; margin-bottom: 35px; }
        .footer-badges span { display: flex; align-items: center; font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.9); }
        .dot { width: 10px; height: 10px; background: #00d063; border-radius: 50%; margin-right: 10px; box-shadow: 0 0 12px rgba(0, 208, 99, 0.6); }

        .footer-links {
            list-style: none; padding: 0; margin: 0 0 40px 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 30px; max-width: 450px;
        }
        .footer-links li a { color: #ffffff; text-decoration: none; font-size: 15px; opacity: 0.8; transition: all 0.3s ease; }
        .footer-links li a:hover { opacity: 1; padding-left: 5px; color: #00d063; }
        .footer-copy { font-size: 13px; opacity: 0.5; margin-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 20px; }

        .footer-right { flex: 1; display: flex; flex-direction: column; align-items: flex-end; text-align: right; min-width: 350px; }
        .footer-desc { font-size: 16px; opacity: 0.9; line-height: 1.7; margin-bottom: 35px; max-width: 440px; }

        .footer-btn {
            padding: 14px 32px; border-radius: 50px; background: #ffffff; color: #003579; border: none; font-weight: 700; font-size: 15px;
            cursor: pointer; margin-bottom: 40px; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: inline-flex; align-items: center; gap: 10px;
        }
        .footer-btn:hover { transform: scale(1.05) translateX(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.3); }

        .footer-logo { margin-bottom: 25px; }
        .footer-logo img { width: 250px; height: auto; filter: drop-shadow(0 8px 20px rgba(0,0,0,0.25)); border-radius: 8px; }

        .footer-legal { display: flex; gap: 25px; }
        .footer-legal a { color: #ffffff; font-size: 13px; text-decoration: none; opacity: 0.6; transition: opacity 0.3s; }
        .footer-legal a:hover { opacity: 1; }

        .footer-floating-icons {
            position: absolute; right: 40px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; gap: 18px; z-index: 10;
        }
        .circle-btn {
            width: 48px; height: 48px; background: #004fbb; border-radius: 50%; border: 1px solid rgba(255,255,255,0.2);
            color: #fff; font-size: 22px; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center;
        }
        .circle-btn:hover { background: #00d063; transform: translateY(-5px); }

        .side-icons {
            display: flex; flex-direction: column; gap: 12px; background: rgba(255, 255, 255, 0.1); padding: 15px; border-radius: 40px;
            backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border: 1px solid rgba(255,255,255,0.15);
        }
        .icon-btn {
            width: 42px; height: 42px; background: #0051c5; border-radius: 12px; border: none; cursor: pointer;
            display: flex; align-items: center; justify-content: center; transition: all 0.3s ease;
        }
        .icon-btn img { width: 20px; height: 20px; filter: brightness(0) invert(1); }
        .icon-btn:hover { transform: scale(1.15) rotate(5deg); background: #0047a5; }

        /* ORIGINAL DESKTOP MEDIA QUERIES (Safe structural sizing) */
        @media (max-width: 1200px) {
            nav { padding: 1.5rem 3rem; }
            .logo img { width: 280px; }
            .footer { padding: 60px 100px 60px 50px; }
        }


        /* =======================================================
           NEW RESPONSIVE CSS ADDITIONS (Tablet & Mobile)
           ======================================================= */

        /* --- Hamburger Menu Icon Styling --- */
        .menu-toggle {
            display: none;
            flex-direction: column;
            justify-content: center;
            cursor: pointer;
            gap: 6px;
            z-index: 1001;
            padding: 10px;
        }

        .menu-toggle .bar {
            width: 30px;
            height: 3px;
            background-color: #000; /* Black to show up cleanly */
            border-radius: 3px;
            transition: all 0.3s ease-in-out;
            transform-origin: left center;
        }

        /* Hamburger Animation */
        .menu-toggle.is-active .bar:nth-child(1) { transform: rotate(45deg); }
        .menu-toggle.is-active .bar:nth-child(2) { opacity: 0; width: 0; }
        .menu-toggle.is-active .bar:nth-child(3) { transform: rotate(-45deg); }

        /* --- TABLET & MOBILE (max-width: 1024px) --- */
        @media (max-width: 1024px) {
            /* Navbar Adjustments */
            nav { padding: 1.5rem 2rem; justify-content: space-between; }
            .logo img { width: 220px; }
            
            /* Show Hamburger */
            .menu-toggle { display: flex; }
            
            /* Hidden Slide-In Menu */
            .nav-links {
                position: fixed;
                top: 0;
                right: -100%;
                width: 100%;
                max-width: 350px;
                height: 100vh;
                background: rgba(10, 35, 5, 0.98); /* Matching green-dark theme from ref */
                backdrop-filter: blur(15px);
                flex-direction: column;
                align-items: flex-start;
                justify-content: flex-start;
                padding-top: 100px;
                padding-left: 30px;
                padding-right: 30px;
                margin: 0;
                transition: right 0.4s ease;
                box-shadow: -5px 0 15px rgba(0,0,0,0.5);
                overflow-y: auto;
                z-index: 1000;
            }
            
            .nav-links.nav-active { right: 0; }
            .nav-item { width: 100%; text-align: left; margin: 5px 0; }

            /* Resetting Pill styling for mobile menu */
            .nav-links a, .nav-links .nav-item > a {
                border: none;
                background: transparent;
                font-size: 1.15rem;
                display: block;
                padding: 12px 10px;
                border-radius: 0;
                text-align: left;
                color: #fff; /* White text for dark mobile menu */
            }
            .nav-links a:hover, .nav-links .nav-item > a:hover {
                background: rgba(255, 255, 255, 0.1);
            }

            /* Disable desktop hover interactions on mobile */
            .nav-item:hover .dropdown { transform: none; opacity: 0; visibility: hidden; }

            /* Responsive Dropdowns (Accordion Style) */
            .dropdown {
                position: static; transform: none; opacity: 0; visibility: hidden; display: none;
                background: rgba(0,0,0,0.2); border-radius: 8px; width: 100%; padding: 5px 0 5px 15px; margin-top: 5px; border: none;
            }

            /* Open state triggered by JS */
            .nav-item.mobile-dropdown-open .dropdown {
                display: flex; flex-direction: column; opacity: 1; visibility: visible; transform: none; animation: slideDown 0.3s ease;
            }

            .nav-item.mobile-dropdown-open > a {
                color: #4CAF50; background: rgba(255, 255, 255, 0.05);
            }

            @keyframes slideDown {
                from { opacity: 0; transform: translateY(-10px); }
                to { opacity: 1; transform: translateY(0); }
            }

            .dropdown a { font-size: 0.95rem; padding: 10px 15px !important; text-align: left; }

            /* Tablet Wheel Resizing */
            .wheel-stage { height: 700px; }
            .wheel-graphic-container { width: 600px; height: 600px; bottom: -300px; }
            .ns-card { width: 180px; height: 230px; }
            .card-pos-0 { left: calc(50% - 350px); transform: rotate(-40deg); }
            .card-pos-1 { left: calc(50% - 220px); transform: rotate(-20deg); }
            .card-pos-2 { left: calc(50% - 90px); }
            .card-pos-3 { left: calc(50% + 40px); transform: rotate(20deg); }
            .card-pos-4 { left: calc(50% + 170px); transform: rotate(40deg); }

            /* Footer Adjustments */
            .footer { flex-direction: column; padding: 60px 40px; align-items: center; text-align: center; }
            .footer-left, .footer-right { width: 100%; align-items: center; text-align: center; min-width: unset; margin-right: 0; }
            .footer-badges { justify-content: center; }
            .footer-links { margin: 0 auto 40px; }
            .footer-logo { display: flex; justify-content: center; }
            .footer-legal { justify-content: center; }
            .footer-floating-icons { position: static; transform: none; flex-direction: row; margin-top: 40px; width: 100%; justify-content: center; }
            .side-icons { flex-direction: row; }
        }

        /* --- MOBILE SPECIFIC (max-width: 767px) --- */
        @media (max-width: 767px) {
            body { font-size: 14px; }
            .logo img { width: 180px; }
            .nav-links { max-width: 100%; } /* Full screen menu on mobile */
            
            /* Optimize Text Sizes for wheel section */
            .new-wheel-section { padding-top: 5rem; min-height: 850px;}
            .wheel-header h2 { font-size: 2.5rem; }
            .interactive-title { font-size: 2.4rem; line-height: 1.1; margin-bottom: 0.5rem; }
            .wheel-subtitle { font-size: 1.1rem; padding: 0 1rem; }
            .wheel-desc { font-size: 0.95rem; padding: 0 1rem; line-height: 1.6; }

            /* Wheel & Card Tight Resizing to prevent horizontal scrolling */
            .wheel-stage { height: 500px; margin-top: 2rem; }
            .blue-popup-bg { top: 30px; border-radius: 40px 40px 0 0; }
            .wheel-graphic-container { width: 450px; height: 450px; bottom: -220px; }
            
            .ns-card { width: 120px; height: 160px; padding: 6px; border-width: 4px; }
            .ns-card img { height: 80px; margin: 5px 0; }
            .ns-card h4 { font-size: 0.75rem; margin-bottom: 2px;}
            .ns-card .card-sub { display: none; } /* Hide sub text to save space */
            
            /* Arc adjustment calculating exactly to fit 320px screens */
            .card-pos-0 { left: calc(50% - 155px); transform: rotate(-50deg); top: 180px; }
            .card-pos-1 { left: calc(50% - 100px); transform: rotate(-25deg); top: 40px; }
            .card-pos-2 { left: calc(50% - 60px); transform: rotate(0deg); top: -20px;}
            .card-pos-3 { left: calc(50% + -20px); transform: rotate(25deg); top: 40px;}
            .card-pos-4 { left: calc(50% + 35px); transform: rotate(50deg); top: 180px; }

            .ns-card.state-active {
                top: 5% !important;
                left: 50% !important;
                transform: translate(-50%, 0) scale(1.1) !important;
            }

            .detail-overlay { top: 200px; width: 95%; }
            .detail-overlay h3 { font-size: 1.6rem; }
            .detail-overlay p { font-size: 0.9rem; line-height: 1.5; }
            .read-more-btn { font-size: 16px; padding: 8px 20px; margin-top: 15px; border-width: 3px; }

            /* Footer Mobile Sizing */
            .footer { padding: 40px 20px; }
            .footer-left h2 { font-size: 22px; }
            .footer-links { grid-template-columns: 1fr; gap: 15px; font-size: 14px; }
            .footer-badges { flex-direction: column; gap: 15px; align-items: center;}
            .footer-logo img { width: 220px; }
            .circle-btn { display: none; } /* Simplify UI */
        }