/* roulang page: index */
:root {
            --color-bg-primary: #F8FAFC;
            --color-bg-secondary: #F1F5F9;
            --color-text-main: #0F172A;
            --color-text-muted: #475569;
            --color-accent-cyan: #0EA5E9;
            --color-accent-green: #10B981;
            --color-accent-amber: #F59E0B;
            --color-dark-panel: #0F172A;
            --color-border-subtle: #E2E8F0;
        }

        html {
            font-family: 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
            background-color: var(--color-bg-primary);
            color: var(--color-text-main);
            text-rendering: optimizeLegibility;
            -webkit-font-smoothing: antialiased;
        }

        /* 焦点轮廓无障碍增强 */
        a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
            outline: 2px solid var(--color-accent-cyan);
            outline-offset: 2px;
        }

        /* 轮播帧过渡 */
        .carousel-slide {
            transition: opacity 0.8s ease-in-out, transform 0.8s ease-out;
            position: absolute;
            inset: 0;
            opacity: 0;
            pointer-events: none;
            z-index: 1;
        }
        .carousel-slide.active {
            opacity: 1;
            pointer-events: auto;
            position: relative;
            z-index: 2;
        }

        /* 手风琴折叠面板过渡 */
        .faq-accordion-body {
            transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
            max-height: 0;
            overflow: hidden;
        }
        .faq-item.expanded .faq-accordion-body {
            max-height: 480px;
        }
        .faq-item.expanded .faq-chevron {
            transform: rotate(180deg);
        }

        /* 细微网格工业背景底纹 */
        .bg-tech-grid {
            background-image: radial-gradient(rgba(14, 165, 233, 0.08) 1px, transparent 1px);
            background-size: 28px 28px;
        }

        .bg-dark-grid {
            background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
            background-size: 32px 32px;
        }

        /* 按钮与卡片过渡强化 */
        .hover-card-elevation {
            transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
        }
        .hover-card-elevation:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 32px -8px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(14, 165, 233, 0.2);
        }

        /* 自定义滚动条 */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #F1F5F9;
        }
        ::-webkit-scrollbar-thumb {
            background: #CBD5E1;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #94A3B8;
        }
