/* roulang page: index */
:root {
            --brand-primary: #1e293b;
            --brand-accent: #0ea5e9;
            --brand-silver: #f1f5f9;
            --brand-dark: #0b0f17;
            --brand-alert: #f97316;
        }
        body {
            font-family: system-ui, -apple-system, "PingFang SC", "Segoe UI", sans-serif;
            color: #334155;
            background-color: #f8fafc;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }
        .text-gradient {
            background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 50%, #818cf8 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .card-blur {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(226, 232, 240, 0.8);
        }
        .dark-card-blur {
            background: rgba(15, 23, 42, 0.75);
            backdrop-filter: blur(16px);
            border: 1px solid rgba(51, 65, 85, 0.6);
        }
        .hero-mesh {
            background-image: radial-gradient(rgba(14, 165, 233, 0.12) 1px, transparent 1px), radial-gradient(rgba(30, 41, 59, 0.08) 1px, #f8fafc 1px);
            background-size: 32px 32px;
            background-position: 0 0, 16px 16px;
        }
        .trans-lift {
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .trans-lift:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 28px -6px rgba(14, 165, 233, 0.15);
        }
        .timeline-line::before {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 2px;
            background: #cbd5e1;
            transform: translateX(-50%);
        }
        @media (max-width: 768px) {
            .timeline-line::before {
                left: 20px;
            }
        }
