/* roulang page: index */
:root {
            --brand-gradient: linear-gradient(135deg, #059669 0%, #0284c7 100%);
            --brand-dark-gradient: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
            --surface-card: #ffffff;
            --surface-bg: #f8fafc;
            --text-heading: #0f172a;
            --text-body: #475569;
            --text-light: #94a3b8;
            --primary-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.05), 0 4px 6px -2px rgba(15, 23, 42, 0.02);
            --hover-shadow: 0 20px 35px -5px rgba(5, 150, 105, 0.15), 0 10px 10px -5px rgba(2, 132, 199, 0.08);
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--surface-bg);
            color: var(--text-body);
            overflow-x: hidden;
        }

        .bg-brand-grad {
            background: var(--brand-gradient);
        }

        .text-brand-grad {
            background: var(--brand-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .card-custom {
            background-color: var(--surface-card);
            box-shadow: var(--primary-shadow);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .card-custom:hover {
            transform: translateY(-4px);
            box-shadow: var(--hover-shadow);
        }

        .badge-pill {
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.25rem 0.75rem;
            font-size: 0.75rem;
            font-weight: 600;
            border-radius: 9999px;
            background-color: rgba(5, 150, 105, 0.08);
            color: #047857;
            border: 1px solid rgba(5, 150, 105, 0.2);
        }

        .pulse-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background-color: #10b981;
            box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3);
            animation: pulse-ring 2s infinite;
        }

        @keyframes pulse-ring {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }

        /* Hero Carousel Slider */
        .hero-slide {
            display: none;
            opacity: 0;
            transition: opacity 0.6s ease-in-out;
        }
        .hero-slide.active {
            display: block;
            opacity: 1;
        }

        /* FAQ Accordion */
        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out;
        }
        .faq-item.active .faq-content {
            max-height: 250px;
        }
        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }
