/* roulang page: index */
:root {
            --primary: #1E40AF;
            --primary-hover: #1D4ED8;
            --accent: #3B82F6;
            --secondary: #0D9488;
            --dark-navy: #0F172A;
            --text-main: #334155;
            --text-muted: #64748B;
            --border-color: #E2E8F0;
            --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.04), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
            --card-hover-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }

        body {
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--text-main);
            background-color: #FFFFFF;
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
        }

        .card-custom {
            background-color: #FFFFFF;
            border: 1px solid var(--border-color);
            box-shadow: var(--card-shadow);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .card-custom:hover {
            transform: translateY(-4px);
            box-shadow: var(--card-hover-shadow);
            border-color: #CBD5E1;
        }

        .btn-primary {
            background-color: var(--primary);
            color: #FFFFFF;
            transition: all 0.25s ease-in-out;
        }
        .btn-primary:hover {
            background-color: var(--primary-hover);
        }
        .btn-primary:active {
            transform: scale(0.97);
        }

        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out;
        }
        .faq-item.active .faq-content {
            max-height: 240px;
        }
        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }

        .carousel-slide {
            display: none;
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
        }
        .carousel-slide.active {
            display: block;
            opacity: 1;
        }

        @media (max-width: 767px) {
            .mobile-bottom-bar {
                display: flex !important;
            }
        }
