/* roulang page: index */
:root {
            --color-primary: #0F172A;
            --color-secondary: #0D9488;
            --color-accent: #F97316;
            --color-bg-light: #F8FAFC;
            --color-surface: #FFFFFF;
            --color-text-main: #1E293B;
            --color-text-muted: #64748B;
            --border-radius-card: 18px;
            --shadow-subtle: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
            --shadow-elevated: 0 20px 25px -5px rgba(15, 23, 42, 0.1);
        }

        body {
            background-color: var(--color-bg-light);
            color: var(--color-text-main);
            overflow-x: hidden;
            font-feature-settings: "cv02", "cv03", "cv04", "cv11";
        }

        /* 斜切装饰首屏色块 */
        .hero-slant-bg {
            clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
        }

        @media (max-width: 768px) {
            .hero-slant-bg {
                clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
            }
        }

        /* 呼吸灯圆点动画 */
        @keyframes pulse-signal {
            0%, 100% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.35); opacity: 0.4; }
        }

        .signal-dot {
            animation: pulse-signal 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }

        /* 工业级圆角大卡样式 */
        .industrial-card {
            border-radius: var(--border-radius-card);
            box-shadow: var(--shadow-subtle);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
        }

        .industrial-card:hover {
            box-shadow: var(--shadow-elevated);
            transform: translateY(-4px);
        }

        .industrial-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 24px;
            right: 24px;
            height: 2px;
            background: linear-gradient(90deg, transparent, rgba(13, 148, 136, 0.4), transparent);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .industrial-card:hover::after {
            opacity: 1;
        }

        /* 手风琴平滑旋转箭头 */
        details[open] summary svg.chevron {
            transform: rotate(180deg);
        }

        /* 统一输入框状态 */
        .form-input-focus:focus {
            outline: none;
            border-color: #F97316;
            box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
        }
