/* roulang page: index */
:root {
            --brand-dark: #0A131C;
            --brand-deep: #0F1E2E;
            --brand-accent: #10B981;
            --brand-neon: #00D591;
            --brand-blue: #0284C7;
            --bg-light: #F8FAFC;
            --text-title: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --border-light: rgba(226, 232, 240, 0.9);
            --shadow-soft: 0 12px 32px -8px rgba(10, 19, 28, 0.08);
            --shadow-hover: 0 20px 40px -12px rgba(16, 185, 129, 0.16);
        }

        body {
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--text-body);
            background-color: #FFFFFF;
            overflow-x: hidden;
            letter-spacing: -0.01em;
        }

        .heading-tight {
            letter-spacing: -0.025em;
            line-height: 1.25;
        }

        .glass-header {
            background-color: rgba(255, 255, 255, 0.96);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .card-custom {
            border: 1px solid var(--border-light);
            border-radius: 16px;
            background: #FFFFFF;
            box-shadow: var(--shadow-soft);
            transition: transform 0.25s ease-out, box-shadow 0.25s ease-out, border-color 0.25s ease-out;
        }

        .card-custom:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-hover);
            border-color: rgba(16, 185, 129, 0.35);
        }

        .dark-card-custom {
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            background: rgba(15, 30, 46, 0.7);
            box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.4);
            transition: transform 0.25s ease-out, border-color 0.25s ease-out;
        }

        .dark-card-custom:hover {
            transform: translateY(-4px);
            border-color: rgba(0, 213, 145, 0.4);
        }

        .badge-pulse {
            position: relative;
        }

        .badge-pulse::before {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: var(--brand-neon);
            left: -14px;
            top: 50%;
            transform: translateY(-50%);
            box-shadow: 0 0 10px var(--brand-neon);
        }

        .hero-mesh {
            background-image: radial-gradient(circle at 15% 20%, rgba(16, 185, 129, 0.18) 0%, transparent 40%),
                              radial-gradient(circle at 85% 75%, rgba(2, 132, 199, 0.15) 0%, transparent 45%);
        }

        .tech-grid-pattern {
            background-size: 32px 32px;
            background-image: linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
        }
