/* roulang page: index */
:root {
            --primary-dark: #0B0F19;
            --primary-deep: #0F172A;
            --tech-indigo: #4F46E5;
            --tech-violet: #7C3AED;
            --accent-cyan: #06B6D4;
            --accent-orange: #FF5A36;
            --bg-light: #F8FAFC;
            --border-light: #E2E8F0;
        }
        body {
            font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
            background-color: var(--bg-light);
            color: #334155;
            overflow-x: hidden;
        }
        .text-gradient {
            background: linear-gradient(135deg, #06B6D4 0%, #4F46E5 50%, #FF5A36 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .hero-bg-overlay {
            background: linear-gradient(180deg, rgba(11, 15, 25, 0.88) 0%, rgba(15, 23, 42, 0.95) 100%);
        }
        .card-custom-shadow {
            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .card-custom-shadow:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 30px -10px rgba(79, 70, 229, 0.15), 0 10px 15px -5px rgba(15, 23, 42, 0.08);
        }
        .badge-pulse {
            animation: pulse-border 2s infinite;
        }
        @keyframes pulse-border {
            0% { transform: scale(1); opacity: 0.8; }
            50% { transform: scale(1.05); opacity: 1; }
            100% { transform: scale(1); opacity: 0.8; }
        }
        .accordion-content {
            transition: max-height 0.3s ease-out, padding 0.3s ease;
            max-height: 0;
            overflow: hidden;
        }
        .accordion-item.active .accordion-content {
            max-height: 200px;
        }
        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }
