/* roulang page: index */
:root {
            --primary: #2A5C8A;
            --primary-dark: #1e4466;
            --accent: #F39C12;
            --coral: #FF7A59;
            --bg-light: #F8FAFC;
            --text-main: #0F172A;
            --text-muted: #475569;
        }
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            scroll-behavior: smooth;
        }
        body {
            font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: #FFFFFF;
            color: #334155;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
        }
        .container-custom {
            max-width: 1200px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }
        .hero-banner {
            background: linear-gradient(135deg, rgba(15, 23, 42, 0.82) 0%, rgba(42, 92, 138, 0.85) 100%), url('/assets/images/491a859a93555787.webp') center/cover no-repeat;
        }
        .tech-dark-bg {
            background: radial-gradient(circle at 50% 50%, #1E293B 0%, #0F172A 100%), url('/assets/images/264b905b718a2a42.webp') center/cover no-repeat;
        }
        .bento-card {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .bento-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
        }
        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out;
        }
        .faq-item.active .faq-content {
            max-height: 300px;
        }
        .faq-item.active .faq-arrow {
            transform: rotate(180deg);
        }
