@import url('fonts.css');

        body {
            font-family: 'Source Han Sans', 'Noto Sans SC', 'Noto Sans CJK', Geneva, sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .nav-link {
            position: relative;
            transition: color 0.3s ease;
        }

        .nav-link:hover {
            color: #4457ff;
        }

        .btn-pill {
            border-radius: 200px;
            transition: all 0.3s ease;
        }

        .btn-pill:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(68, 87, 255, 0.3);
        }

        .service-card {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .service-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        }

        .icon-circle {
            width: 86px;
            height: 86px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .tab-item {
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .tab-item.active {
            color: #4457ff;
        }

        .tab-content {
            display: none;
            animation: fadeIn 0.4s ease;
        }

        .tab-content.active {
            display: block;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .faq-item {
            border-bottom: 1px solid #e5e7eb;
        }

        .faq-question {
            cursor: pointer;
            transition: color 0.3s ease;
        }

        .faq-question:hover {
            color: #4457ff;
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, padding 0.4s ease;
        }

        .faq-item.open .faq-answer {
            max-height: 300px;
            padding-bottom: 20px;
        }

        .faq-icon {
            transition: transform 0.3s ease;
        }

        .faq-item.open .faq-icon {
            transform: rotate(180deg);
        }

        .article-card {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .article-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
        }

        .testimonial-card {
            transition: transform 0.3s ease;
        }

        .testimonial-card:hover {
            transform: translateY(-4px);
        }

        .mobile-menu {
            display: none;
        }

        @media (max-width: 768px) {
            .desktop-nav {
                display: none;
            }
            .mobile-menu {
                display: block;
            }
        }

        .gradient-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: #4457ff;
            opacity: 0.3;
        }
