/* roulang page: index */
:root {
            --primary: #0F3876;
            --primary-dark: #0B244D;
            --primary-light: #1A56DB;
            --accent: #0099FF;
            --accent-bright: #00C5FF;
            --bg-light: #F8FAFC;
            --bg-alt: #F1F5F9;
            --text-main: #0F172A;
            --text-muted: #475569;
            --text-light: #94A3B8;
            --border-color: #E2E8F0;
            --card-shadow: 0 4px 20px -2px rgba(15, 56, 118, 0.06);
            --card-shadow-hover: 0 16px 32px -4px rgba(15, 56, 118, 0.12);
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--text-main);
            background-color: var(--bg-light);
            line-height: 1.6;
        }

        .base-card {
            background-color: #ffffff;
            border-radius: 14px;
            box-shadow: var(--card-shadow);
            border: 1px solid var(--border-color);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .base-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--card-shadow-hover);
            border-color: #CBD5E1;
        }

        .cta-btn-primary {
            background: linear-gradient(135deg, #1A56DB 0%, #0F3876 100%);
            color: #ffffff;
            font-weight: 600;
            padding: 12px 28px;
            border-radius: 8px;
            box-shadow: 0 4px 14px rgba(15, 56, 118, 0.25);
            transition: all 0.25s ease;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .cta-btn-primary:hover {
            background: linear-gradient(135deg, #0099FF 0%, #0F3876 100%);
            box-shadow: 0 6px 20px rgba(0, 153, 255, 0.35);
            transform: translateY(-1px);
        }

        .cta-btn-secondary {
            background-color: #FFFFFF;
            color: var(--primary);
            border: 1px solid #CBD5E1;
            font-weight: 600;
            padding: 12px 26px;
            border-radius: 8px;
            transition: all 0.25s ease;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .cta-btn-secondary:hover {
            border-color: var(--primary-light);
            background-color: #F8FAFC;
            color: var(--primary-light);
        }

        .metric-badge {
            background: rgba(0, 153, 255, 0.08);
            border: 1px solid rgba(0, 153, 255, 0.2);
            color: #0F3876;
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 0.825rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
        }

        .step-node-active {
            position: relative;
        }
        .step-node-active::after {
            content: '';
            position: absolute;
            bottom: -6px;
            left: 50%;
            transform: translateX(-50%);
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #00C5FF;
            box-shadow: 0 0 10px #00C5FF;
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
        .accordion-toggle.active + .accordion-content {
            max-height: 300px;
        }
        .accordion-toggle.active i {
            transform: rotate(180deg);
        }
