
        :root {
            --primary-color: #22b18c;
            --secondary-color: #4ccfa8;
            --accent-color: #2ec4a0;
            --text-dark: #16332c;
            --text-light: #5d7b74;
            --bg-light: #f5fbf9;
            --white: #ffffff;
            --gradient-primary: linear-gradient(135deg, #22b18c 0%, #4ccfa8 100%);
            --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
            --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
            --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', 'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            line-height: 1.6;
            color: var(--text-dark);
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Inter', 'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            font-weight: 600;
        }

        /* Navigation */
        .navbar-brand {
            font-family: 'Inter', 'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            font-weight: 700;
            font-size: 1.5rem;
            color: var(--primary-color) !important;
        }

        .navbar-nav .nav-item:not(.nav-parents):not(.nav-evaluation) .nav-link {
            font-weight: 500;
            color: #333333 !important;
            margin: 0 2px;
            padding: 8px 12px !important;
            border-radius: 8px;
            transition: all 0.3s ease;
        }

        /* 强力锁定“家长成长营”和“测评中心”一级菜单样式逻辑 */
        .navbar-nav .nav-item.nav-parents .nav-link,
        .navbar-nav .nav-item.nav-evaluation .nav-link {
            font-weight: 500;
            color: #333333 !important;
            margin: 0 2px;
            padding: 8px 12px !important;
            border-radius: 8px;
            transition: all 0.3s ease;
        }
        .navbar-nav .nav-item.nav-parents .nav-link span,
        .navbar-nav .nav-item.nav-evaluation .nav-link span {
            color: inherit;
            font-weight: inherit;
        }

        /* 家长成长营：紫色交互 */
        .navbar-nav .nav-item.nav-parents .nav-link:hover,
        .navbar-nav .nav-item.nav-parents .nav-link.active,
        .navbar-nav .nav-item.nav-parents .nav-link.show {
            color: #7c3aed !important;
        }
        .navbar-nav .nav-item.nav-parents .nav-link:hover span,
        .navbar-nav .nav-item.nav-parents .nav-link.active span,
        .navbar-nav .nav-item.nav-parents .nav-link.show span {
            color: #7c3aed !important;
        }

        /* 测评中心：橙色交互 */
        .navbar-nav .nav-item.nav-evaluation .nav-link:hover,
        .navbar-nav .nav-item.nav-evaluation .nav-link.active,
        .navbar-nav .nav-item.nav-evaluation .nav-link.show {
            color: #f97316 !important;
        }
        .navbar-nav .nav-item.nav-evaluation .nav-link:hover span,
        .navbar-nav .nav-item.nav-evaluation .nav-link.active span,
        .navbar-nav .nav-item.nav-evaluation .nav-link.show span {
            color: #f97316 !important;
        }

        .navbar-nav .nav-item:not(.nav-parents):not(.nav-evaluation) .nav-link:hover,
        .navbar-nav .nav-item:not(.nav-parents):not(.nav-evaluation) .nav-link.active {
            color: #22b18c !important;
            background-color: transparent !important;
        }


        .navbar-nav .nav-item.ms-3 {
            margin-left: 1rem !important; 
        }

        @media (max-width: 1199.98px) {
        .navbar-nav .nav-link {
            padding: 0.5rem 0.5rem;
            font-size: 14px;
         }

        .navbar-nav .btn {
            font-size: 14px;
            padding: 0.35rem 0.8rem;
         }
        }

        .btn-primary {
            background: var(--gradient-primary);
            border: none;
            padding: 12px 30px;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-lg);
        }

        /* Page Header */
        /* FAQ Section */
        .faq-section {
            padding: 30px 0 100px; /* 减小顶部间距，从 100px 降至 30px */
            background: var(--bg-light);
        }

        .faq-categories {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 15px;
            margin-bottom: 50px;
        }

        .category-btn {
            background: var(--white);
            border: 2px solid #d9ece5;
            color: var(--text-dark);
            padding: 12px 25px;
            border-radius: 50px;
            font-weight: 500;
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .category-btn:hover,
        .category-btn.active {
            background: var(--gradient-primary);
            border-color: transparent;
            color: white;
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }

        .faq-item {
            background: var(--white);
            border-radius: 15px;
            margin-bottom: 20px;
            box-shadow: var(--shadow-sm);
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .faq-item:hover {
            box-shadow: var(--shadow-md);
        }

        .faq-question {
            padding: 25px 30px;
            cursor: pointer;
            display: flex;
            justify-content: between;
            align-items: center;
            background: var(--white);
            border: none;
            width: 100%;
            text-align: left;
            font-weight: 600;
            font-size: 1.1rem;
            color: var(--text-dark);
            transition: all 0.3s ease;
        }

        .faq-question:hover {
            background: var(--bg-light);
            color: var(--primary-color);
        }

        .faq-question.active {
            background: var(--gradient-primary);
            color: white;
        }

        .faq-icon {
            width: 30px;
            height: 30px;
            background: var(--gradient-primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            margin-right: 15px;
            font-size: 1rem;
            transition: all 0.3s ease;
            flex-shrink: 0;
        }

        .faq-question.active .faq-icon {
            background: rgba(255, 255, 255, 0.2);
            transform: rotate(45deg);
        }

        .faq-toggle {
            font-size: 1.5rem;
            transition: transform 0.3s ease;
        }

        .faq-question.active .faq-toggle {
            transform: rotate(45deg);
        }

        .faq-answer {
            padding: 0 30px 25px 75px;
            color: var(--text-light);
            line-height: 1.7;
            display: none;
        }

        .faq-answer.show {
            display: block;
            animation: slideDown 0.3s ease;
        }

        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .search-box {
            background: var(--white);
            border-radius: 15px;
            padding: 30px;
            box-shadow: var(--shadow-md);
            margin-bottom: 50px;
        }

        .search-input {
            border: 2px solid #d9ece5;
            border-radius: 50px;
            padding: 15px 25px;
            font-size: 1rem;
            width: 100%;
            transition: border-color 0.3s ease;
        }

        .search-input:focus {
            border-color: var(--primary-color);
            box-shadow: 0 0 0 0.2rem rgba(34,177,140, 0.25);
            outline: none;
        }

        /* Footer */
        .footer {
            background: var(--gradient-primary);
            color: white;
            padding: 80px 0 80px;
        }

        .footer h5 {
            color: white;
            margin-bottom: 20px;
        }

        .footer a {
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer a:hover {
            color: white;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .faq-section {
                padding: 40px 0 !important;
            }

            /* 移除冗余的 .page-header padding，统一使用 common.css 中的定义以保持高度一致 */
            /* .page-header {
                padding: 90px 0 20px !important;
            } */

            /* 进一步缩小标题区域的上下间距 */
            .row.text-center.mb-5,
            .search-box,
            .faq-categories {
                margin-top: 10px !important;
                margin-bottom: 1.25rem !important;
            }

            .display-5 {
                font-size: 1.75rem !important;
            }

            .lead {
                font-size: 1rem !important;
                margin-bottom: 0.5rem !important;
            }
            
            .page-header h1 {
                font-size: 1.5rem;
            }
            
            .faq-categories {
                justify-content: center;
            }
            
            .faq-question {
                padding: 20px;
                font-size: 1rem;
            }
            
            .faq-answer {
                padding: 0 20px 20px 65px;
            }
        }

        /* Animations */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.6s ease;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
