/* roulang page: index */
:root {
            --color-primary: #0F172A;
            --color-green: #10B981;
            --color-yellow: #F59E0B;
            --color-blue: #3B82F6;
            --color-dark: #0B0F17;
            --color-border: #E2E8F0;
            --color-bg-alt: #F8FAFC;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Noto Sans", "Microsoft YaHei", sans-serif;
            color: #1E293B;
            background-color: #FFFFFF;
            scroll-behavior: smooth;
        }

        .pulse-live {
            position: relative;
        }
        .pulse-live::after {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            background-color: #10B981;
            border-radius: 50%;
            top: 50%;
            left: -14px;
            transform: translateY(-50%);
            box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            animation: pulse-ring 1.5s infinite cubic-bezier(0.66, 0, 0, 1);
        }
        @keyframes pulse-ring {
            0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.8); }
            70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
            100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }

        .custom-card {
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
            border: 1px solid #E2E8F0;
        }
        .custom-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.08);
            border-color: #CBD5E1;
        }

        .hero-banner {
            background-image: linear-gradient(to right, rgba(15, 23, 42, 0.94), rgba(15, 23, 42, 0.82)), url('/assets/images/2ef0286255701871.webp');
            background-size: cover;
            background-position: center;
        }

        .dark-tech-banner {
            background-image: linear-gradient(to bottom, rgba(11, 15, 23, 0.96), rgba(15, 23, 42, 0.98)), url('/assets/images/1ba52b0d0db5e24c.webp');
            background-size: cover;
            background-position: center;
        }

        .cta-bottom-banner {
            background-image: linear-gradient(to right, rgba(15, 23, 42, 0.92), rgba(16, 185, 129, 0.88)), url('/assets/images/299236eb2dbef2d0.jpg');
            background-size: cover;
            background-position: center;
        }

        .faq-content {
            transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
            max-height: 0;
            overflow: hidden;
            opacity: 0;
        }
        .faq-content.open {
            max-height: 250px;
            opacity: 1;
        }
