/* roulang page: index */
:root {
            --bg-main: #F8FAFC;
            --text-title: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --border-color: #E2E8F0;
        }
        body {
            background-color: var(--bg-main);
            color: var(--text-body);
            font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
        }
        .text-title-color { color: var(--text-title); }
        .text-muted-color { color: var(--text-muted); }
        .border-base { border-color: var(--border-color); }
        .glass-nav {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .hero-bg-overlay {
            background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(11, 15, 25, 0.96) 100%);
        }
        .card-hover-effect {
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card-hover-effect:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 32px -8px rgba(15, 23, 42, 0.08);
        }
        .timeline-step::after {
            content: '';
            position: absolute;
            top: 2rem;
            right: -50%;
            width: 100%;
            height: 2px;
            background: #E2E8F0;
            z-index: 1;
        }
        @media (max-width: 768px) {
            .timeline-step::after { display: none; }
        }
