/* roulang page: index */
:root {
            --primary: #0B57D0;
            --secondary: #072F6B;
            --accent: #00C29A;
            --bg-base: #F8FAFC;
            --bg-alt: #F1F5F9;
            --text-main: #0f172a;
            --text-muted: #475569;
            --border-light: rgba(226, 232, 240, 0.8);
            --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
            --card-hover-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
            background-color: var(--bg-base);
            color: var(--text-main);
            scroll-behavior: smooth;
        }
        .section-py {
            padding-top: 5rem;
            padding-bottom: 5rem;
        }
        @media (min-width: 1024px) {
            .section-py {
                padding-top: 6.5rem;
                padding-bottom: 6.5rem;
            }
        }
        .card-pro {
            background: #ffffff;
            border: 1px solid var(--border-light);
            border-radius: 1rem;
            box-shadow: var(--card-shadow);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .card-pro:hover {
            transform: translateY(-4px);
            box-shadow: var(--card-hover-shadow);
            border-color: rgba(11, 87, 208, 0.25);
        }
        .pulse-indicator {
            box-shadow: 0 0 0 0 rgba(0, 194, 154, 0.7);
            animation: pulse-ring 2s infinite cubic-bezier(0.66, 0, 0, 1);
        }
        @keyframes pulse-ring {
            to {
                box-shadow: 0 0 0 8px rgba(0, 194, 154, 0);
            }
        }
