/* roulang page: index */
:root {
            --brand-primary: #0A58CA;
            --brand-secondary: #0040A8;
            --brand-accent-green: #10B981;
            --brand-accent-orange: #FF6B00;
            --text-main: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --bg-light: #F8FAFC;
            --border-color: #E2E8F0;
        }

        body {
            font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
            color: var(--text-body);
            background-color: #FFFFFF;
            line-height: 1.75;
            box-sizing: border-box;
            overflow-x: hidden;
        }

        .hero-banner-bg {
            background-image: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(10, 88, 202, 0.88) 100%), url('/assets/images/f847a209a43c5f16.jpg');
            background-size: cover;
            background-position: center;
        }

        .tech-milestone-line::before {
            content: '';
            position: absolute;
            top: 24px;
            bottom: 24px;
            left: 50%;
            width: 2px;
            background-color: #E2E8F0;
            transform: translateX(-50%);
        }

        @media (max-width: 768px) {
            .tech-milestone-line::before {
                left: 20px;
            }
        }

        .cta-gradient-bg {
            background: linear-gradient(135deg, #0A58CA 0%, #0040A8 50%, #0F172A 100%);
        }

        .accordion-content {
            transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
        }

        .accordion-content.hidden-panel {
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }

        .accordion-content.active-panel {
            max-height: 400px;
            opacity: 1;
        }
