  :root {
            --primary: #7BBF39;
            --primary-dark: #5a9e20;
            --primary-light: #9fd65e;
            --secondary: #F0C420;
            --white: #ffffff;
            --light-gray: #f5f7fa;
            --gray: #e1e5ee;
            --dark-gray: #6b7280;
            --black: #1f2937;
            --shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            --transition: all 0.3s ease;
        }

        /* FAQ Specific Styles */
        .faq-hero {
            background: linear-gradient(135deg, rgba(123, 191, 57, 0.1) 0%, rgba(255, 255, 255, 1) 100%);
            padding: 120px 0 80px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .faq-hero .container {
            position: relative;
            z-index: 2;
        }

        .faq-hero h1 {
            font-size: 42px;
            margin-bottom: 15px;
            color: var(--black);
        }

        .faq-hero p {
            color: var(--dark-gray);
            max-width: 700px;
            margin: 0 auto;
            font-size: 18px;
        }

        .genie-lamp {
            position: absolute;
            width: 150px;
            opacity: 0.1;
            z-index: 1;
        }

        .genie-lamp-1 {
            top: 20px;
            left: 10%;
            transform: rotate(-15deg);
        }

        .genie-lamp-2 {
            bottom: 20px;
            right: 10%;
            transform: rotate(15deg);
        }

        .faq-section {
            padding: 80px 0;
            background-color: var(--white);
        }

        .faq-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .faq-tabs {
            display: flex;
            justify-content: center;
            margin-bottom: 40px;
            flex-wrap: wrap;
            gap: 10px;
        }

        .faq-tab {
            padding: 10px 20px;
            background-color: var(--light-gray);
            border-radius: 50px;
            cursor: pointer;
            font-weight: 500;
            transition: var(--transition);
            border: 1px solid var(--gray);
        }

        .faq-tab:hover {
            background-color: var(--primary-light);
            color: var(--white);
        }

        .faq-tab.active {
            background-color: var(--primary);
            color: var(--white);
            border-color: var(--primary);
        }

        .faq-category {
            margin-bottom: 50px;
        }

        .faq-category h2 {
            font-size: 28px;
            margin-bottom: 25px;
            color: var(--primary);
            position: relative;
            padding-left: 20px;
        }

        .faq-category h2::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 8px;
            height: 30px;
            background-color: var(--secondary);
            border-radius: 4px;
        }

        .faq-item {
            margin-bottom: 15px;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: var(--shadow);
            transition: var(--transition);
        }

        .faq-item:hover {
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }

        .faq-question {
            padding: 20px 25px;
            background-color: var(--white);
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-weight: 600;
            border-left: 4px solid var(--primary);
        }

        .faq-question:hover {
            background-color: var(--light-gray);
        }

        .faq-question i {
            color: var(--primary);
            transition: var(--transition);
        }

        .faq-answer {
            padding: 0 25px;
            max-height: 0;
            overflow: hidden;
            transition: var(--transition);
            background-color: var(--light-gray);
        }

        .faq-answer-content {
            padding: 20px 0;
        }

        .faq-item.active .faq-question i {
            transform: rotate(180deg);
        }

        .faq-item.active .faq-answer {
            max-height: 500px;
        }

        .faq-cta {
            text-align: center;
            margin-top: 50px;
            padding: 40px;
            background-color: var(--light-gray);
            border-radius: 10px;
            position: relative;
            overflow: hidden;
        }

        .faq-cta h3 {
            font-size: 24px;
            margin-bottom: 15px;
            position: relative;
            z-index: 2;
        }

        .faq-cta p {
            color: var(--dark-gray);
            margin-bottom: 25px;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            position: relative;
            z-index: 2;
        }

        .faq-cta .btn {
            position: relative;
            z-index: 2;
        }

        .faq-cta-pattern {
            position: absolute;
            opacity: 0.05;
            z-index: 1;
        }

        .faq-cta-pattern-1 {
            top: -50px;
            left: -50px;
            width: 200px;
            height: 200px;
        }

        .faq-cta-pattern-2 {
            bottom: -50px;
            right: -50px;
            width: 200px;
            height: 200px;
            transform: rotate(180deg);
        }

        /* Responsive Styles */
        @media (max-width: 768px) {
            .faq-hero {
                padding: 100px 0 60px;
            }

            .faq-hero h1 {
                font-size: 36px;
            }

            .faq-section {
                padding: 60px 0;
            }

            .faq-question {
                padding: 15px 20px;
            }

            .faq-answer-content {
                padding: 15px 0;
            }
        }

        @media (max-width: 576px) {
            .faq-hero h1 {
                font-size: 32px;
            }

            .faq-tabs {
                justify-content: flex-start;
            }

            .faq-category h2 {
                font-size: 24px;
            }
        }