
/* FIX: Hide mobile close button on desktop */
.nav-close-btn { display: none; }

        /* =======================================================
           1. SMOOTH SCROLLING (LENIS) & VIEW TRANSITIONS
           ======================================================= */
        html.lenis { height: auto; }
        .lenis.lenis-smooth { scroll-behavior: auto !important; }
        .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
        .lenis.lenis-stopped { overflow: hidden; }

        ::view-transition-old(root),
        ::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
        ::view-transition-old(root) { z-index: 1; }
        ::view-transition-new(root) { z-index: 2; }

        /* =======================================================
           2. THEME VARIABLES (DARK MODE DEFAULT)
           ======================================================= */
        :root {
            --bg-main: #050505;
            --bg-card: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.01) 30%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.05) 100%), rgba(20, 20, 20, 0.3);
            --bg-card-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.02) 35%, rgba(255, 255, 255, 0) 60%, rgba(255, 153, 51, 0.1) 100%), rgba(30, 30, 30, 0.4);
            --text-main: #f4f4f5;
            --text-muted: #888888;
            --border-color: rgba(255, 255, 255, 0.04);
            --input-bg: rgba(0, 0, 0, 0.4);
            --header-bg: linear-gradient(to bottom, rgba(255, 255, 255, 0.08) 0%, rgba(10, 10, 10, 0.7) 100%);
            --modal-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(15, 15, 15, 0.95) 100%);
            --footer-bg: #020202;
            --card-shadow: 0 20px 40px rgba(0,0,0,0.9), inset 1px 1px 1px rgba(255, 255, 255, 0.35), inset -1px -1px 1px rgba(0, 0, 0, 0.8), inset 0 30px 40px rgba(255, 255, 255, 0.03);
            --card-shadow-hover: 0 25px 50px rgba(0,0,0,0.95), inset 1px 1px 2px rgba(255, 255, 255, 0.6), inset -1px -1px 2px rgba(255, 153, 51, 0.4), inset 0 30px 40px rgba(255, 255, 255, 0.06);
            --glass-blur: blur(20px) saturate(140%);

            /* Saffron Palette */
            --saffron-primary: #FF9933; 
            --saffron-secondary: #FF6600; 
            --saffron-accent: #FFCC66; 
            --gradient-main: linear-gradient(135deg, var(--saffron-primary) 0%, var(--saffron-secondary) 100%);
        }

        /* --- Theme Variables (Light Mode) --- */
        [data-theme="light"] {
            --bg-main: #f5f5f7;
            --bg-card: linear-gradient(135deg, rgba(255, 255, 255, 0.6) 0%, rgba(240, 240, 245, 0.8) 100%);
            --bg-card-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 1) 100%);
            --text-main: #1a1a1a;
            --text-muted: #555555;
            --border-color: rgba(255, 255, 255, 0.6);
            --input-bg: rgba(255,255,255,0.7);
            --header-bg: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.7) 100%);
            --modal-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(240, 240, 240, 0.95) 100%);
            --footer-bg: #eaeaea;
            --card-shadow: 0 15px 35px rgba(0,0,0,0.08), inset 0 1px 1px rgba(255,255,255,1), inset 0 -1px 2px rgba(0,0,0,0.05);
            --card-shadow-hover: 0 20px 45px rgba(0,0,0,0.12), inset 0 1px 2px rgba(255,153,51,0.5), inset 0 -1px 2px rgba(0,0,0,0.05);
            --glass-blur: blur(24px) saturate(120%);
        }

        /* =======================================================
           3. GLOBAL RESET & BASE TYPOGRAPHY
           ======================================================= */
        html { scroll-behavior: smooth; }
        body {
            background-color: var(--bg-main);
            color: var(--text-main);
            font-family: 'Rajdhani', sans-serif;
            overflow-x: hidden;
            position: relative;
            margin: 0; padding: 0;
            transition: background-color 0.4s ease, color 0.4s ease;
        }
        h1, h2, h3, h4 { font-family: 'Orbitron', sans-serif; margin: 0; padding: 0;}
        p { margin: 0; padding: 0; }
        .text-gradient {
            background: var(--gradient-main);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            display: inline-block;
        }

        @media (pointer: coarse) {
            * { cursor: auto !important; }
            .cursor { display: none !important; }
        }

        /* =======================================================
           4. BACKGROUNDS (CANVAS & CSS NOISE & LIGHTING)
           ======================================================= */
        #cursor-glow {
            position: fixed; top: 0; left: 0; width: 600px; height: 600px;
            background: radial-gradient(circle, rgba(255, 153, 51, 0.12) 0%, transparent 60%);
            border-radius: 50%; transform: translate(-50%, -50%);
            pointer-events: none; z-index: 9999; mix-blend-mode: screen;
            transition: opacity 0.3s; opacity: 0;
        }
        @media (hover: hover) {
            body:hover #cursor-glow { opacity: 1; }
        }

        #bg-canvas {
            position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
            z-index: -3; pointer-events: none;
        }
        .noise-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
            pointer-events: none; z-index: -2; opacity: 0.05;
            background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)"/%3E%3C/svg%3E');
        }
        .fluid-bg {
            position: fixed; top: -20%; left: -10%; width: 80vw; height: 80vw;
            background: radial-gradient(circle, rgba(255, 153, 51, 0.08) 0%, transparent 65%);
            border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
            animation: morph 15s ease-in-out infinite alternate; z-index: -1; pointer-events: none;
        }
        .fluid-bg-2 {
            position: fixed; bottom: -20%; right: -10%; width: 60vw; height: 60vw;
            background: radial-gradient(circle, rgba(255, 102, 0, 0.06) 0%, transparent 65%);
            border-radius: 60% 40% 30% 70% / 50% 60% 40% 50%;
            animation: morph 20s ease-in-out infinite alternate-reverse; z-index: -1; pointer-events: none;
        }
        @keyframes morph {
            0% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; transform: rotate(0deg) scale(1); }
            100% { border-radius: 60% 40% 30% 70% / 50% 60% 40% 50%; transform: rotate(45deg) scale(1.1); }
        }

        /* =======================================================
           5. UTILITIES & PRELOADER
           ======================================================= */
        .fade-in-up { opacity: 0; transform: translateY(40px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
        .fade-in-up.visible { opacity: 1; transform: translateY(0); }
        .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box;}
        
        #loader {
            position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--bg-main); 
            display: flex; justify-content: center; align-items: center; z-index: 10000; transition: opacity 0.3s ease;
        }
        .loader-ring {
            width: 60px; height: 60px; border: 4px solid transparent; border-top: 4px solid var(--saffron-primary); 
            border-bottom: 4px solid var(--saffron-secondary); border-radius: 50%; animation: spin 1s linear infinite;
        }
        @keyframes spin { 100% { transform: rotate(360deg); } }

        /* =======================================================
           6. HEADER & NAVIGATION
           ======================================================= */
        header {
            position: fixed; top: 0; width: 100%; padding: 20px 50px; display: flex; justify-content: space-between; 
            align-items: center; background: var(--header-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
            border-bottom: 1px solid var(--border-color); z-index: 1000; box-sizing: border-box; transition: background 0.3s, border-color 0.3s, padding 0.3s;
        }
        .logo { font-size: 2rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; color: var(--text-main) !important; font-family: 'Orbitron', sans-serif;}
        
        /* Mobile Menu Button - Hidden on Desktop */
        .mobile-menu-toggle { display: none; }
        
        nav { display: flex; align-items: center; }
        .nav-links { list-style: none; display: flex; gap: 40px; margin: 0; padding: 0; margin-left: auto; align-items: center;}
        .nav-links li a {
            color: var(--text-main); text-decoration: none; font-size: 1.1rem;
            font-weight: 600; text-transform: uppercase; letter-spacing: 1px; position: relative;
        }
        .nav-links li a::after {
            content: ''; position: absolute; width: 0; height: 2px; bottom: -5px; left: 0; 
            background: var(--gradient-main); transition: width 0.3s;
        }
        .nav-links li a:hover::after, .nav-links li a.active-link::after { width: 100%; }

        #theme-toggle { 
            margin-left: 40px; border-radius: 20px; padding: 8px 16px; font-size: 0.9rem; cursor: pointer; 
            transition: 0.3s; background: transparent; color: var(--text-main); border: 2px solid var(--saffron-primary); 
            font-family: 'Rajdhani', sans-serif; font-weight: bold; text-transform: uppercase;
        }
        #theme-toggle:hover { background: var(--saffron-primary); color: #fff; }

        /* =======================================================
           7. BUTTONS
           ======================================================= */
        .btn {
            padding: 13px 38px; border: 2px solid transparent; border-radius: 30px; 
            background: var(--gradient-main); color: #000; font-family: 'Orbitron', sans-serif; font-weight: 700; 
            text-transform: uppercase; letter-spacing: 2px; transition: all 0.3s ease; position: relative; 
            overflow: hidden; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; 
            box-sizing: border-box; white-space: nowrap;
        }
        .btn:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(255, 153, 51, 0.4); }
        .btn-outline { background: transparent; border-color: var(--border-color); color: var(--text-main); }
        .btn-outline:hover { border-color: var(--saffron-primary); background: var(--saffron-primary); color: #000; box-shadow: 0 0 15px var(--saffron-primary); }

        .btn-glow { position: relative; z-index: 1; }
        .btn-glow::before {
            content: ''; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px;
            background: linear-gradient(45deg, var(--saffron-primary), transparent, var(--saffron-secondary), transparent);
            background-size: 400%; z-index: -1; border-radius: 32px;
            animation: glowingBorder 6s linear infinite; opacity: 0.4; transition: opacity 0.3s;
        }
        .btn-glow:hover::before { opacity: 0.8; background-size: 200%; }
        @keyframes glowingBorder {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        /* =======================================================
           8. PAGE SECTIONS & SPA LOGIC
           ======================================================= */
        .page-section { display: none; opacity: 0; padding-top: 100px; min-height: 100vh; animation: fadeInPage 0.5s forwards; padding-bottom: 80px; }
        .page-section.active-page { display: block; }
        @keyframes fadeInPage { to { opacity: 1; } }
        
        .section-title { text-align: center; font-size: 3.5rem; margin-bottom: 20px; text-transform: uppercase; transition: font-size 0.3s;}
        .section-subtitle { text-align: center; color: var(--text-muted); font-size: 1.2rem; margin-bottom: 60px; max-width: 700px; margin-left: auto; margin-right: auto; transition: font-size 0.3s;}

        /* =======================================================
           9. HERO SLIDER
           ======================================================= */
        .hero-slider {
            position: relative; width: 100%; height: 45vh; min-height: 400px; max-height: 450px; 
            overflow: hidden; margin-top: -20px; background-color: #000; 
        }
        .slide {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0;
            transition: opacity 1.2s ease-in-out; display: flex; align-items: center; justify-content: center; z-index: 1; background-color: #000; 
        }
        .slide.active { opacity: 1; z-index: 2; }
        .slide-bg {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
            z-index: -1; filter: brightness(0.6) contrast(1.1); transform: scale(1.05); transition: transform 6s linear;
        }
        .slide.active .slide-bg { transform: scale(1); }
        .slide-content {
            position: relative; z-index: 10; display: flex; align-items: center; justify-content: center;
            text-align: center; width: 100%; height: 100%; padding: 0 20px; box-sizing: border-box;
        }
        .slide-text { max-width: 900px; margin-top: 30px; }
        .slide-text h2 { 
            font-size: 4rem; line-height: 1.1; margin-bottom: 15px; text-transform: uppercase; color: #fff; 
            text-shadow: 0 10px 30px rgba(0,0,0,0.9); 
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%); transform: translateY(40px);
            transition: clip-path 0.9s cubic-bezier(0.77, 0, 0.175, 1), transform 0.9s cubic-bezier(0.77, 0, 0.175, 1);
        }
        .slide.active .slide-text h2 { 
            clip-path: polygon(0 -20%, 100% -20%, 100% 120%, 0 120%); transform: translateY(0); transition-delay: 0.2s;
        }
        .slide-text p { 
            font-size: 1.3rem; color: #ffffff; font-weight: 500; text-shadow: 0 5px 15px rgba(0,0,0,0.9); 
            opacity: 0; transform: translateY(20px); transition: opacity 0.8s ease, transform 0.8s ease; 
        }
        .slide.active .slide-text p { opacity: 1; transform: translateY(0); transition-delay: 0.5s; }
        .hero-ctas { display: flex; justify-content: center; gap: 20px; margin-top: 30px; position: relative; z-index: 10; flex-wrap: wrap;}

        /* =======================================================
           10. FILTER WIDGET
           ======================================================= */
        .oil-selector {
            background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 15px;
            padding: 30px; max-width: 1000px; margin: 40px auto 0; display: flex;
            align-items: center; justify-content: space-between; gap: 20px;
            box-shadow: var(--card-shadow); position: relative; z-index: 10; backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
            transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, padding 0.3s;
        }
        .oil-selector h3 { 
            font-size: 1.5rem; color: var(--saffron-primary); margin: 0; white-space: nowrap;
            font-family: 'Orbitron', sans-serif; text-transform: capitalize; padding-right: 10px;
        }
        .selector-group { flex: 1; }
        .selector-group select {
            width: 100%; min-width: 140px; padding: 12px 10px; background: var(--input-bg); border: 1px solid var(--border-color);
            color: var(--text-main); border-radius: 8px; font-family: 'Rajdhani', sans-serif; font-size: 1rem;
            font-weight: 600; outline: none; cursor: pointer; transition: 0.3s;
        }
        .selector-group select:focus { border-color: var(--saffron-primary); background: var(--bg-main); box-shadow: 0 0 0 2px rgba(255, 153, 51, 0.2); }
        .selector-group select:disabled { opacity: 0.5; cursor: not-allowed; background: var(--bg-main); }
        
        .filter-actions { display: flex; gap: 10px; flex: 2; justify-content: stretch; }
        .filter-actions .btn { flex: 1; width: 100%; padding: 12px 15px; border-radius: 8px; font-size: 1.05rem; letter-spacing: 1px; }

        /* =======================================================
           11. MARQUEE & STATS BANNER
           ======================================================= */
        .marquee-wrapper {
            width: 100%; overflow: hidden; background: var(--bg-main); border-top: 1px solid var(--border-color);
            border-bottom: 1px solid var(--border-color); padding: 12px 0; margin-top: 50px; transition: background 0.3s, border-color 0.3s;
        }
        .marquee-content {
            white-space: nowrap; font-family: 'Orbitron'; color: var(--saffron-primary); letter-spacing: 3px;
            display: inline-block; animation: marquee 25s linear infinite; font-size: 1.1rem;
        }
        @keyframes marquee { 0% { transform: translateX(100vw); } 100% { transform: translateX(-100%); } }

        .trust-badges { display: flex; justify-content: center; gap: 60px; margin: 50px 0; flex-wrap: wrap;}
        .badge { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
        .badge-icon {
            width: 60px; height: 60px; background: rgba(255, 153, 51, 0.1); border: 1px solid var(--saffron-primary);
            border-radius: 50%; display: flex; justify-content: center; align-items: center;
            font-size: 1.5rem; color: var(--saffron-primary); box-shadow: 0 0 15px rgba(255, 153, 51, 0.2);
        }
        .badge span { font-family: 'Orbitron'; font-size: 0.9rem; color: var(--text-muted); }

        .stats-banner {
            display: flex; justify-content: center; gap: 80px; padding: 40px; background: var(--bg-card); border-top: 1px solid var(--border-color);
            border-bottom: 1px solid var(--border-color); width: 100%; backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: var(--card-shadow); box-sizing: border-box; transition: background 0.3s, border-color 0.3s; flex-wrap: wrap;
        }
        .stat-item { text-align: center; }
        .stat-value { font-size: 3.5rem; color: var(--saffron-primary); font-family: 'Orbitron'; font-weight: 700; margin-bottom: 5px; display: inline-block; transition: font-size 0.3s;}
        .stat-suffix { font-size: 2.5rem; color: var(--saffron-primary); font-family: 'Orbitron'; transition: font-size 0.3s;}
        .stat-item p { font-size: 1.2rem; text-transform: uppercase; color: var(--text-muted); font-weight: 600; margin-top: 0;}

        /* =======================================================
           12. PRODUCT GRID (FLEXBOX) & CARDS
           ======================================================= */
        .slider-wrapper { position: relative; display: block; width: 100%; }
        .slider-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; padding: 20px 0; width: 100%; }
        
        .product-card {
            width: 100%; max-width: 240px; background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 16px; padding: 20px 15px;
            display: flex; flex-direction: column; align-items: center; cursor: pointer; position: relative; overflow: hidden; box-sizing: border-box; box-shadow: var(--card-shadow); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
            transition: box-shadow 0.4s ease, border-color 0.4s ease, background 0.4s ease, transform 0.1s; transform-style: preserve-3d; will-change: transform;
        }
        .product-card::before {
            content: 'CLICK FOR DETAILS'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) translateZ(30px);
            background: rgba(0,0,0,0.85); color: #fff; padding: 12px 20px; border-radius: 25px; font-family: 'Orbitron';
            font-size: 0.8rem; letter-spacing: 1px; opacity: 0; transition: 0.3s ease; z-index: 20; border: 1px solid var(--saffron-primary); text-align: center; width: 80%;
        }
        .product-card:hover::before { opacity: 1; }
        .product-card:hover { background: var(--bg-card-hover); border-color: var(--saffron-primary); box-shadow: var(--card-shadow-hover); }

        .product-img-container { width: 100%; height: 150px; display: flex; justify-content: center; align-items: center; margin-bottom: 15px; }
        .product-img-container img { max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4)); transition: transform 0.3s ease; }
        .product-card:hover .product-img-container img { transform: scale(1.05); filter: brightness(1.1); }
        
        .product-info { width: 100%; text-align: center; }
        .product-info h3 { font-size: 1.4rem; margin-bottom: 4px; text-transform: uppercase; margin-top: 0; color: var(--text-main);}
        .product-info h4 { margin-bottom: 12px; font-size: 0.85rem; letter-spacing: 1px; margin-top: 0; color: var(--saffron-secondary);}
        
        .specs-list { list-style: none; margin-bottom: 0; text-align: left; padding: 0 8px;}
        .specs-list li { margin-bottom: 6px; font-size: 0.8rem; color: var(--text-main); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border-color); padding-bottom: 5px;}
        .specs-list li span:first-child { opacity: 0.8; font-weight: 500; letter-spacing: 0.5px; }
        .specs-list li span:last-child { color: var(--text-main); font-weight: 700; font-family: 'Orbitron', sans-serif; font-size: 0.75rem; opacity: 1; text-align: right;}

        /* =======================================================
           13. PRODUCT MODAL (POPUP)
           ======================================================= */
        .modal-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0,0,0,0.6);
            backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); z-index: 10000; display: flex; justify-content: center; align-items: center;
            opacity: 0; visibility: hidden; transition: 0.3s ease; padding: 20px; box-sizing: border-box;
        }
        .modal-overlay.open { opacity: 1; visibility: visible; }
        
        .modal-content {
            background: var(--modal-bg); border: 1px solid var(--border-color); border-radius: 20px;
            max-width: 750px; width: 100%; padding: 30px; position: relative;
            transform: translateY(50px); transition: 0.4s ease; box-shadow: var(--card-shadow-hover); box-sizing: border-box; max-height: 90vh; overflow-y: auto; backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
        }
        .modal-overlay.open .modal-content { transform: translateY(0); }
        
        .close-modal {
            position: absolute; top: 15px; right: 25px; font-size: 2.5rem; color: var(--text-muted); cursor: pointer; transition: 0.2s; font-family: sans-serif; line-height: 1; z-index: 10;
        }
        .close-modal:hover { color: var(--saffron-primary); }
        
        .modal-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; align-items: center; }
        .modal-img-wrap { text-align: center; background: radial-gradient(circle, rgba(255,153,51,0.05) 0%, transparent 70%); padding: 15px; border-radius: 20px;}
        .modal-img-wrap img { width: 100%; max-height: 260px; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,0.8)); }
        
        .m-desc-box { background: var(--bg-main); padding: 15px; border-radius: 10px; margin: 15px 0; border-left: 3px solid var(--saffron-primary); }
        .m-desc-box p { font-size: 1rem; color: var(--text-muted); line-height: 1.5; }
        
        #m-specs { margin-top: 10px; padding: 0 5px; }
        #m-specs li { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; margin-bottom: 0; border-bottom: 1px solid var(--border-color); }
        #m-specs li span:first-child { font-size: 0.95rem; font-weight: 500; color: var(--text-main); opacity: 0.85; letter-spacing: 0.5px; }
        #m-specs li span:last-child { font-family: 'Orbitron', sans-serif; font-size: 0.95rem; font-weight: 700; color: var(--saffron-primary); text-align: right; text-transform: uppercase; opacity: 1; }

        .buy-section { margin-top: 25px; border-top: 1px solid var(--border-color); padding-top: 20px;}
        .contact-reveal { display: none; text-align: center; background: rgba(255, 153, 51, 0.1); border: 1px dashed var(--saffron-primary); padding: 15px; border-radius: 10px; animation: fadeInPage 0.4s;}
        .contact-reveal p { color: var(--text-main); margin-bottom: 5px; font-size: 1rem;}
        .contact-reveal .phone-num { font-size: 1.8rem; font-family: 'Orbitron'; color: var(--saffron-secondary); font-weight: bold; letter-spacing: 2px;}

        /* =======================================================
           14. TECHNOLOGY & FAQ SECTION
           ======================================================= */
        .tech-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 80px;}
        .tech-content h3 { font-size: 2.5rem; margin-bottom: 20px; margin-top: 0; color: var(--text-main);}
        .tech-content p { font-size: 1.2rem; color: var(--text-muted); line-height: 1.8; margin-bottom: 30px; }
        
        .progress-wrap { margin-bottom: 25px; }
        .progress-info { display: flex; justify-content: space-between; margin-bottom: 8px; font-family: 'Orbitron'; font-size: 0.9rem; color: var(--text-main);}
        .progress-bar { width: 100%; height: 8px; background: var(--border-color); border-radius: 10px; overflow: hidden; }
        .progress-fill { height: 100%; background: var(--gradient-main); border-radius: 10px; }

        .slider-section { text-align: center; margin-top: 0; }
        .ba-container {
            position: relative; width: 100%; max-width: 800px; height: 350px; margin: 0 auto;
            border-radius: 15px; overflow: hidden; border: 2px solid var(--border-color);
        }
        .ba-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; }
        .ba-dirty { background-image: url('https://i.ibb.co/S7mk08Pc/piston-dirty.png'); }
        .ba-clean { background-image: url('https://i.ibb.co/svPtjx3k/piston-clean.png'); }
        
        .ba-slider {
            position: absolute; top: 0; bottom: 0; left: 50%; width: 40px; transform: translateX(-50%);
            background: rgba(255, 153, 51, 0.2); display: flex; align-items: center; justify-content: center; cursor: ew-resize; z-index: 10;
        }
        .ba-slider-handle { width: 4px; height: 100%; background: var(--saffron-primary); position: relative; }
        .ba-slider-handle::after {
            content: '< >'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 40px; height: 40px; background: #000; border: 2px solid var(--saffron-primary); border-radius: 50%; 
            color: var(--saffron-primary); display: flex; align-items: center; justify-content: center; font-family: 'Orbitron'; font-size: 12px; font-weight: bold;
        }

        .faq-section { margin-top: 80px; }
        .faq-item { background: var(--bg-card); margin-bottom: 15px; border-radius: 10px; border: 1px solid var(--border-color); transition: 0.4s; backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: var(--card-shadow); }
        .faq-question { 
            padding: 25px; font-size: 1.3rem; font-family: 'Orbitron'; cursor: pointer; display: flex; 
            justify-content: space-between; align-items: center; color: var(--text-main); background: none; border: none; width: 100%; text-align: left;
        }
        .faq-question:hover { color: var(--saffron-primary); }
        .faq-answer { 
            padding: 0 25px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; 
            color: var(--text-muted); font-size: 1.1rem; line-height: 1.6;
        }
        .faq-item.active .faq-answer { padding: 0 25px 25px 25px; max-height: 200px; }

        /* =======================================================
           15. CONTACT FORM & MAP
           ======================================================= */
        .contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 50px; }
        .contact-info-card { background: var(--bg-card); padding: 40px; border-radius: 20px; border-top: 4px solid var(--saffron-secondary); border-left: 1px solid var(--border-color); border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); transition: 0.4s; backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: var(--card-shadow); }
        .info-block { margin-bottom: 30px; }
        .info-block h4 { color: var(--saffron-secondary); margin-bottom: 10px; font-size: 1.2rem; margin-top: 0; }
        .info-block p { font-size: 1.1rem; color: var(--text-muted); }
        
        .map-container { margin-top: 20px; border-radius: 12px; overflow: hidden; border: 1px solid var(--border-color); height: 220px; transition: 0.4s; }
        .map-container iframe { width: 100%; height: 100%; border: none; display: block; filter: invert(90%) hue-rotate(180deg) brightness(85%) contrast(85%); transition: filter 0.4s; }
        [data-theme="light"] .map-container iframe { filter: none; }
        
        .contact-form { background: var(--bg-card); padding: 50px; border-radius: 20px; border: 1px solid var(--border-color); transition: 0.4s; backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: var(--card-shadow); }
        .input-row { display: flex; gap: 20px; margin-bottom: 25px; }
        .input-group { flex: 1; box-sizing: border-box; }
        .input-group label { display: block; margin-bottom: 10px; font-family: 'Orbitron'; color: var(--text-muted); font-size: 0.9rem;}
        
        .input-group input, .input-group textarea {
            width: 100%; padding: 18px; background: var(--input-bg); border: 1px solid var(--border-color);
            color: var(--text-main); border-radius: 10px; font-family: 'Rajdhani', sans-serif; font-size: 1.1rem; box-sizing: border-box; transition: 0.3s;
        }
        .input-group input:focus, .input-group textarea:focus { outline: none; border-color: var(--saffron-primary); }

        /* =======================================================
           16. FOOTER
           ======================================================= */
        footer { background: var(--footer-bg); padding: 80px 50px 30px; border-top: 1px solid var(--border-color); margin-top: 50px; transition: background 0.3s, border-color 0.3s;}
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; max-width: 1200px; margin: 0 auto; margin-bottom: 50px;}
        .footer-col h4 { font-size: 1.2rem; margin-bottom: 20px; margin-top: 0; color: var(--text-main); }
        .footer-col p { color: var(--text-muted); line-height: 1.6; margin-bottom: 20px; }
        .footer-links { list-style: none; padding: 0; margin: 0; }
        .footer-links li { margin-bottom: 12px; }
        .footer-links a { color: var(--text-muted); text-decoration: none; transition: 0.3s; }
        .footer-links a:hover { color: var(--saffron-primary); }
        .newsletter-input { width: 100%; padding: 12px; background: var(--input-bg); border: 1px solid var(--border-color); color: var(--text-main); border-radius: 5px; margin-bottom: 10px; box-sizing: border-box;}
        .copyright { text-align: center; color: var(--text-muted); font-size: 0.9rem; padding-top: 20px; border-top: 1px solid var(--border-color); }

        /* =======================================================
           17. RESPONSIVE MOBILE OPTIMIZATION
           ======================================================= */
        @media (max-width: 992px) {
            .hero-grid, .tech-layout, .contact-grid { grid-template-columns: 1fr; text-align: center; }
            .stats-banner, .trust-badges { flex-direction: column; gap: 30px; align-items: center;}
            
            .oil-selector { flex-direction: column; padding: 25px; align-items: stretch; }
            .oil-selector h3 { text-align: center; padding-right: 0; margin-bottom: 10px; }
            .filter-actions { width: 100%; flex-direction: row; }

            .footer-grid { grid-template-columns: 1fr 1fr; }
            .modal-grid { grid-template-columns: 1fr; gap: 20px; }
            .modal-img-wrap img { max-height: 200px; }
        }

        @media (max-width: 768px) {
            /* Compact App-Like Header */
            header { padding: 15px 20px; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; }
            .logo { font-size: 1.5rem; }
            
            /* The Hamburger Menu Button */
            .mobile-menu-toggle { 
                display: block; background: transparent; border: none; color: var(--text-main); 
                font-size: 2rem; cursor: pointer; padding: 0; margin-top: -5px;
            }
            
            /* Drawer Navigation (Solid, Theme-Aware) */
            nav { 
                position: fixed; top: 0; right: 0; width: min(85vw, 360px); height: 100dvh;
                background: var(--bg-main); flex-direction: column; padding: 80px 30px 40px; 
                border-bottom: none; border-left: 1px solid var(--border-color);
                display: flex; 
                transform: translateX(100%);
                transition: transform 0.3s ease-in-out; backdrop-filter: none; z-index: 9999;
                overflow-y: auto; overflow-x: hidden; box-shadow: -10px 0 30px rgba(0,0,0,0.5);
            }
            nav.open { transform: translateX(0); }
            
            .nav-backdrop {
                position: fixed; inset: 0; width: 100dvw; height: 100dvh;
                background: rgba(0, 0, 0, 0.65); z-index: 9998;
                opacity: 0; pointer-events: none; transition: opacity 0.3s ease-in-out;
                display: block;
            }
            .nav-backdrop.open { opacity: 1; pointer-events: auto; }
            
            .nav-close-btn {
                display: block;
                position: absolute; top: 20px; right: 25px;
                background: transparent; border: none; color: var(--text-main);
                font-size: 2.5rem; cursor: pointer; padding: 5px; line-height: 1; z-index: 10000;
            }
            
            .nav-links { width: 100%; flex-direction: column; align-items: flex-start; gap: 25px; margin: 0; padding: 0;}
            .nav-links li a { font-size: 1.3rem; color: var(--text-main); font-weight: 700; width: 100%; display: block; }
            #theme-toggle { margin: 20px auto 0; display: block; padding: 10px 20px; font-size: 0.95rem; }
            
            /* Section Typography & Spacing Reductions */
            .page-section { padding-top: 100px; padding-bottom: 40px; } /* Less dead space */
            .section-title { font-size: clamp(1.5rem, 8vw, 2.2rem); }
            .section-subtitle { font-size: clamp(0.9rem, 4vw, 1rem); margin-bottom: 30px; }
            .slide-text h2 { font-size: clamp(1.8rem, 10vw, 2.5rem); }
            .slide-text p { font-size: clamp(0.9rem, 4vw, 1rem); }
            
            .hero-slider { min-height: 350px; height: 40vh; }
            .hero-ctas { flex-direction: column; width: 100%; padding: 0 20px; box-sizing: border-box; }
            .hero-ctas .btn, .hero-ctas .btn-outline { width: 100%; box-sizing: border-box; }
            
            .input-row { flex-direction: column; gap: 15px; }
            
            /* Giant Touch-Friendly Filter Buttons */
            .filter-actions { flex-direction: column; width: 100%; gap: 10px;}
            .filter-actions .btn { width: 100%; box-sizing: border-box; padding: 15px 10px; font-size: 1rem; }

            /* Compact Stats Banner */
            .stats-banner { padding: 20px; gap: 30px; flex-direction: column; }
            .stat-value { font-size: 2.5rem; }
            .stat-suffix { font-size: 1.8rem; }
            .stat-item p { font-size: 1rem; }
            
            .slider-container { grid-template-columns: 1fr; max-width: 320px; margin: 0 auto; }
            
            /* Modal Typography & Stacking Fix */
            .modal-content { padding: 20px; }
            #m-title { font-size: 1.8rem; }
            #m-grade { font-size: 1rem; }
            
            #m-specs li { flex-direction: column; align-items: flex-start; gap: 4px; border-bottom: 1px dashed var(--border-color); padding: 10px 0;}
            #m-specs li span:first-child { font-size: 0.85rem; }
            #m-specs li span:last-child { font-size: 0.9rem; text-align: left; }
            
            /* Footer Compression */
            footer { padding: 40px 20px 20px; }
            .footer-grid { grid-template-columns: 1fr; text-align: center; gap: 30px;}
        }
