/* roulang page: index */
:root {
            --color-primary-start: #044E42;
            --color-primary-end: #0B2F3A;
            --color-primary-accent: #059669;
            --color-accent-gold: #D97706;
            --color-surface-light: #F8FAFC;
            --color-surface-subtle: #F1F5F9;
            --color-text-main: #0F172A;
            --color-text-muted: #475569;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--color-text-main);
            background-color: #ffffff;
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }

        .bg-gradient-brand {
            background: linear-gradient(135deg, var(--color-primary-start) 0%, var(--color-primary-end) 100%);
        }

        .bg-gradient-soft {
            background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 50%, #F8FAFC 100%);
        }

        .text-gradient {
            background: linear-gradient(135deg, #059669 0%, #044e42 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .badge-chip {
            display: inline-flex;
            align-items: center;
            padding: 4px 12px;
            font-size: 0.75rem;
            font-weight: 600;
            border-radius: 9999px;
            letter-spacing: 0.025em;
            backdrop-filter: blur(8px);
        }

        .card-hover-effect {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .card-hover-effect:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 35px -10px rgba(4, 78, 66, 0.12), 0 8px 16px -4px rgba(0, 0, 0, 0.06);
        }

        .accordion-content {
            transition: max-height 0.3s ease-out, opacity 0.2s ease-out;
            max-height: 0;
            overflow: hidden;
            opacity: 0;
        }
        .accordion-item.active .accordion-content {
            max-height: 260px;
            opacity: 1;
        }
        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }
