/* roulang page: index */
:root {
            --primary: #1E3A8A;
            --primary-dark: #0F172A;
            --accent: #F97316;
            --canvas: #F8FAFC;
            --text-main: #0F172A;
            --text-muted: #475569;
            --border-color: #E2E8F0;
        }
        
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
            background-color: var(--canvas);
            color: var(--text-main);
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
        }

        .hero-bg-overlay {
            background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(30, 58, 138, 0.88) 100%);
        }

        .section-separator {
            border-bottom: 1px solid var(--border-color);
        }

        .accordion-content {
            transition: max-height 0.35s ease-out, opacity 0.25s ease;
        }

        .accordion-content.hidden-panel {
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }

        .accordion-content.active-panel {
            max-height: 500px;
            opacity: 1;
        }

        .hover-card-rise {
            transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .hover-card-rise:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 28px -6px rgba(15, 23, 42, 0.1), 0 8px 12px -4px rgba(15, 23, 42, 0.06);
        }

        @media (max-width: 767px) {
            .mobile-bottom-bar-padding {
                padding-bottom: 74px;
            }
        }
