/* roulang page: index */
:root {
            --brand-primary: #00DC82;
            --brand-primary-hover: #0ae49b;
            --brand-blue: #2563EB;
            --dark-base: #121316;
            --dark-surface: #1A1C20;
            --dark-border: rgba(255, 255, 255, 0.08);
            --light-base: #F8F9FA;
            --light-surface: #FFFFFF;
            --light-border: rgba(15, 23, 42, 0.08);
            --text-title: #0F172A;
            --text-body: #475569;
            --text-muted: #94A3B8;
            --radius-sm: 4px;
            --radius-md: 8px;
            --radius-lg: 12px;
            --transition-fast: 250ms ease-out;
            --shadow-subtle: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--light-base);
            color: var(--text-body);
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            color: var(--text-title);
            font-weight: 700;
            letter-spacing: -0.02em;
        }

        a {
            text-decoration: none;
            color: inherit;
            transition: all var(--transition-fast);
        }

        .btn-brand-primary {
            background-color: var(--brand-primary);
            color: #052e16;
            font-weight: 600;
            border: 1px solid var(--brand-primary);
            padding: 10px 24px;
            border-radius: var(--radius-sm);
            transition: all var(--transition-fast);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }
        .btn-brand-primary:hover {
            background-color: var(--brand-primary-hover);
            border-color: var(--brand-primary-hover);
            color: #022c22;
            transform: translateY(-2px);
        }

        .btn-brand-outline {
            background-color: transparent;
            color: var(--text-title);
            border: 1px solid var(--light-border);
            font-weight: 600;
            padding: 10px 24px;
            border-radius: var(--radius-sm);
            transition: all var(--transition-fast);
        }
        .btn-brand-outline:hover {
            border-color: var(--text-title);
            color: var(--text-title);
            background-color: rgba(15, 23, 42, 0.02);
            transform: translateY(-2px);
        }

        .badge-brand {
            background-color: rgba(0, 220, 130, 0.12);
            color: #065f46;
            font-size: 12px;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 9999px;
            display: inline-block;
            letter-spacing: 0.05em;
        }

        /* 顶部双行导航 */
        .site-header {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--light-border);
            position: sticky;
            top: 0;
            z-index: 1030;
        }
        .header-top-bar {
            padding: 12px 0;
            border-bottom: 1px solid rgba(15, 23, 42, 0.05);
        }
        .brand-logo-text {
            font-size: 20px;
            font-weight: 800;
            color: var(--text-title);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .brand-logo-dot {
            width: 10px;
            height: 10px;
            background-color: var(--brand-primary);
            border-radius: 50%;
            display: inline-block;
        }
        .nav-channel-bar {
            display: flex;
            align-items: center;
            gap: 24px;
            overflow-x: auto;
            white-space: nowrap;
            padding: 10px 0;
            scrollbar-width: none;
        }
        .nav-channel-bar::-webkit-scrollbar {
            display: none;
        }
        .channel-item {
            font-size: 14px;
            font-weight: 500;
            color: var(--text-body);
            padding: 6px 0;
            position: relative;
        }
        .channel-item:hover, .channel-item.active {
            color: var(--text-title);
            font-weight: 600;
        }
        .channel-item.active::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 0;
            right: 0;
            height: 2px;
            background-color: var(--brand-primary);
        }

        /* 板块规范 */
        .section-padding {
            padding: 88px 0;
        }
        .section-title-wrap {
            margin-bottom: 52px;
        }
        .section-h2 {
            font-size: 34px;
            margin-top: 12px;
            margin-bottom: 16px;
        }
        .section-desc {
            font-size: 16px;
            color: var(--text-body);
            max-width: 680px;
        }

        /* Hero 轮播区域 */
        .hero-carousel-section {
            background-color: #0d0f12;
            color: #ffffff;
            position: relative;
            padding: 96px 0 80px;
            overflow: hidden;
        }
        .hero-carousel-section h1 {
            color: #ffffff;
            font-size: 48px;
            line-height: 1.25;
            margin-bottom: 24px;
        }
        .hero-carousel-section .lead {
            color: #cbd5e1;
            font-size: 17px;
            margin-bottom: 36px;
            max-width: 620px;
        }
        .carousel-stage-box {
            background: var(--dark-surface);
            border: 1px solid var(--dark-border);
            border-radius: var(--radius-lg);
            padding: 12px;
            box-shadow: 0 20px 40px rgba(0,0,0,0.4);
        }
        .carousel-stage-box img {
            border-radius: var(--radius-md);
            width: 100%;
            height: 380px;
            object-fit: cover;
            display: block;
        }

        /* 卡片基础与悬停交互 */
        .interactive-card {
            background: var(--light-surface);
            border: 1px solid var(--light-border);
            border-radius: var(--radius-md);
            padding: 32px 28px;
            transition: all var(--transition-fast);
            height: 100%;
            display: flex;
            flex-direction: column;
            box-shadow: var(--shadow-subtle);
        }
        .interactive-card:hover {
            transform: translateY(-4px);
            border-color: var(--brand-primary);
            box-shadow: 0 12px 28px -4px rgba(15, 23, 42, 0.08);
        }
        .interactive-card .card-icon-slot {
            width: 48px;
            height: 48px;
            border-radius: var(--radius-sm);
            background: rgba(0, 220, 130, 0.1);
            color: #065f46;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 18px;
            margin-bottom: 20px;
        }
        .interactive-card h4 {
            font-size: 20px;
            margin-bottom: 12px;
        }
        .interactive-card p {
            font-size: 14px;
            color: var(--text-body);
            margin-bottom: 0;
            line-height: 1.68;
        }

        /* 深色沉浸板块 */
        .section-dark-immersion {
            background-color: var(--dark-base);
            color: #e2e8f0;
            border-top: 1px solid var(--dark-border);
            border-bottom: 1px solid var(--dark-border);
        }
        .section-dark-immersion h2, .section-dark-immersion h3, .section-dark-immersion h4 {
            color: #ffffff;
        }
        .section-dark-immersion .section-desc {
            color: #94a3b8;
        }
        .dark-tech-spec-box {
            background: var(--dark-surface);
            border: 1px solid var(--dark-border);
            border-radius: var(--radius-md);
            padding: 28px;
        }

        /* 统计数据条 */
        .stats-strip {
            background-color: #0b0c0e;
            color: #ffffff;
            padding: 56px 0;
            border-bottom: 1px solid var(--dark-border);
        }
        .stat-figure {
            font-size: 44px;
            font-weight: 800;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            color: var(--brand-primary);
            line-height: 1.1;
            margin-bottom: 8px;
        }
        .stat-label {
            font-size: 14px;
            color: #94a3b8;
            font-weight: 500;
        }

        /* 价格卡片 */
        .pricing-card {
            background: var(--light-surface);
            border: 1px solid var(--light-border);
            border-radius: var(--radius-lg);
            padding: 36px 30px;
            height: 100%;
            position: relative;
            transition: all var(--transition-fast);
        }
        .pricing-card.featured {
            border-color: var(--brand-primary);
            box-shadow: 0 16px 32px -4px rgba(0, 220, 130, 0.15);
        }
        .pricing-ribbon {
            position: absolute;
            top: -12px;
            right: 24px;
            background: var(--brand-primary);
            color: #064e3b;
            font-size: 12px;
            font-weight: 700;
            padding: 4px 12px;
            border-radius: 9999px;
        }
        .pricing-price {
            font-size: 36px;
            font-weight: 800;
            color: var(--text-title);
            margin: 16px 0 24px;
        }
        .pricing-price span {
            font-size: 14px;
            font-weight: 400;
            color: var(--text-muted);
        }
        .pricing-features-list {
            list-style: none;
            padding: 0;
            margin: 0 0 32px;
        }
        .pricing-features-list li {
            font-size: 14px;
            padding: 8px 0;
            display: flex;
            align-items: center;
            gap: 10px;
            color: var(--text-body);
        }

        /* 手风琴改造 */
        .accordion-item {
            border: 1px solid var(--light-border);
            border-radius: var(--radius-md) !important;
            margin-bottom: 12px;
            overflow: hidden;
            background: var(--light-surface);
        }
        .accordion-button {
            background-color: var(--light-surface);
            color: var(--text-title);
            font-weight: 600;
            font-size: 16px;
            padding: 20px 24px;
            box-shadow: none !important;
        }
        .accordion-button:not(.collapsed) {
            background-color: #f1f5f9;
            color: var(--text-title);
        }
        .accordion-body {
            font-size: 15px;
            color: var(--text-body);
            padding: 20px 24px;
            line-height: 1.7;
        }

        /* 页脚 */
        .site-footer {
            background-color: #0e1013;
            color: #94a3b8;
            padding: 72px 0 36px;
            border-top: 1px solid var(--dark-border);
            font-size: 14px;
        }
        .site-footer h5 {
            color: #ffffff;
            font-size: 15px;
            margin-bottom: 20px;
            font-weight: 600;
        }
        .site-footer ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .site-footer ul li {
            margin-bottom: 10px;
        }
        .site-footer ul li a:hover {
            color: var(--brand-primary);
        }
        .footer-bottom {
            margin-top: 56px;
            padding-top: 28px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            font-size: 13px;
        }

        @media (max-width: 991px) {
            .hero-carousel-section h1 { font-size: 36px; }
            .carousel-stage-box img { height: 280px; }
            .section-padding { padding: 64px 0; }
        }
        @media (max-width: 767px) {
            .hero-carousel-section h1 { font-size: 28px; }
            .hero-carousel-section { padding: 56px 0; }
            .section-h2 { font-size: 26px; }
            .stat-figure { font-size: 32px; }
            .interactive-card { padding: 24px 20px; }
        }
