/*!
 * 美邦智联SaaS官网 - 全站统一样式表
 * 
 * 文件说明：
 * - 本文件包含全站所有页面的样式定义，取代各HTML文件中的内联<style>块
 * - 采用CSS变量设计系统，统一管理颜色、间距、阴影等设计令牌
 * - 支持响应式布局（1200px/1024px/768px/480px四个断点）
 * - 包含动画效果（fadeIn、slideUp、countUp、scrollReveal等）
 * 
 * 目录：
 *   1. CSS重置（Reset）
 *   2. 设计系统变量（CSS Variables）
 *   3. 基础排版（Base Typography）
 *   4. 布局工具（Layout & Utilities）
 *   5. 导航栏组件（Navbar）
 *   6. 按钮组件（Buttons）
 *   7. 英雄横幅（Hero Section）
 *   8. 通用区块（Section）
 *   9. 卡片组件（Cards）
 *  10. 页脚组件（Footer）
 *  11. 返回顶部按钮（Back to Top）
 *  12. 统计数据区（Stats）
 *  13. 技术展示区（Tech Section）
 *  14. 时间线（Timeline - 关于页）
 *  15. 联系信息与表单（Contact & Form）
 *  16. 新闻列表（News List）
 *  17. 新闻详情（News Article）
 *  18. 价格方案（Pricing）
 *  19. 产品特性详情（Feature Detail）
 *  20. 解决方案卡片（Solution Card）
 *  21. 案例与评价（Case & Testimonial）
 *  22. 开发者文档（Developer/API）
 *  23. 视频卡片（Video Card）
 *  24. 帮助/FAQ（Help/FAQ）
 *  25. 合作伙伴（Partners）
 *  26. 法律文档页（Privacy/Terms）
 *  27. 下载区（Downloads）
 *  28. 面包屑与目录（Breadcrumb & TOC）
 *  29. 语言切换器（Language Switcher）
 *  30. 动画定义（Animations）
 *  31. 响应式断点（Responsive Breakpoints）
 */

/* ==========================================
   1. CSS重置（Reset）
   消除浏览器默认样式差异，统一基准
   ========================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 启用平滑滚动，提升用户体验 */
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

/* 移除列表默认样式（按需在各组件中重新定义） */
ul, ol {
    list-style: none;
}

/* 移除链接默认下划线（按需在组件中重新添加） */
a {
    text-decoration: none;
}

/* 移除图片底部间隙 */
img {
    max-width: 100%;
    display: block;
}

/* 表单元素继承字体 */
button, input, textarea, select {
    font: inherit;
}

/* ==========================================
   2. 设计系统变量（CSS Variables）
   全站统一的设计令牌，便于主题管理和维护
   ========================================== */
:root {
    /* ===== 商业靛紫渐变设计系统（B方案） ===== */
    /* 主色：靛蓝紫 → 紫罗兰 渐变 */
    --primary-start: #4F46E5;
    --primary-end: #7C3AED;
    --primary-color: #4F46E5;
    --primary-dark: #4338CA;
    --primary-darker: #3730A3;
    --primary-light: #818CF8;
    --primary-lighter: #C7D2FE;
    --primary-bg: #EEF2FF;
    --primary-bg-dark: #E0E7FF;

    /* 副色：粉红 → 橙 渐变（活力点缀） */
    --secondary-start: #EC4899;
    --secondary-end: #F97316;
    --secondary-color: #EC4899;
    --secondary-dark: #DB2777;
    --secondary-light: #F472B6;

    /* 强调色：翡翠绿（成功/活跃） */
    --accent-color: #10B981;
    --accent-dark: #059669;
    --accent-light: #34D399;

    /* 功能色 */
    --success: #10B981;
    --warning: #F59E0B;
    --danger: #EF4444;
    --info: #3B82F6;

    /* 文字色 - 商业靛紫：深紫黑主文字 */
    --text-dark: #1E1B4B;
    --text-primary: #1E1B4B;
    --text-secondary: #4C1D95;
    --text-gray: #6B7280;
    --text-light: #9CA3AF;
    --text-white: #ffffff;

    /* 背景色 - 深紫黑 Hero + 浅灰白内容区 */
    --bg-dark: #1E1B4B;
    --bg-dark-2: #312E81;
    --bg-dark-3: #1E1B4B;
    --bg-dark-light: #312E81;
    --bg-light: #F9FAFB;
    --bg-white: #ffffff;
    --bg-gradient: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #1E1B4B 100%);

    /* 商业靛紫渐变 - 用于Hero区域（替代旧Figma多彩渐变） */
    --bg-gradient-figma: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #1E1B4B 100%);
    --bg-gradient-figma-alt: linear-gradient(135deg, #4F46E5 0%, #7C3AED 50%, #1E1B4B 100%);
    --bg-gradient-figma-warm: linear-gradient(135deg, #4F46E5 0%, #7C3AED 50%, #1E1B4B 100%);

    /* 靛紫深色渐变背景（用于技术展示/页脚等） */
    --bg-gradient-dark: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
    --bg-gradient-primary: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    --bg-gradient-secondary: linear-gradient(135deg, #EC4899 0%, #F97316 100%);
    --gradient-primary: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);

    /* 边框颜色 */
    --border-color: #E5E7EB;
    --border-light: #F3F4F6;
    --border-dark: rgba(255, 255, 255, 0.15);

    /* 间距系统 - 8px基准 */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 48px;
    --space-3xl: 80px;
    --space-4xl: 100px;

    /* 圆角 - 商业靛紫风格（稍大更现代） */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-2xl: 24px;
    --radius-pill: 30px;
    --radius-full: 50%;
    --radius-round: 9999px;

    /* 阴影系统 - 靛紫色调阴影 */
    --shadow-sm: 0 2px 8px rgba(79, 70, 229, 0.06);
    --shadow-md: 0 8px 24px rgba(79, 70, 229, 0.10);
    --shadow-lg: 0 16px 48px rgba(79, 70, 229, 0.15);
    --shadow-xl: 0 24px 64px rgba(79, 70, 229, 0.20);
    --shadow-glow: 0 0 40px rgba(124, 58, 237, 0.3);
    --shadow-primary: 0 8px 24px rgba(79, 70, 229, 0.35);
    --shadow-primary-lg: 0 16px 48px rgba(79, 70, 229, 0.45);

    /* 过渡动画 */
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);

    /* 字体系统 - Inter + 中文回退 */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

    /* 容器最大宽度 */
    --container-max: 1400px;
    --container-narrow: 1200px;

    /* 导航栏高度 - 缩小为60px更现代 */
    --navbar-height: 60px;

    /* 卡片彩色变体 */
    --card-color-1: #4F46E5;
    --card-color-2: #7C3AED;
}

/* ==========================================
   3. 基础排版（Base Typography）
   Figma风格：轻量字重 + 负字距 + 可变字体精度
   ========================================== */
body {
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-primary);
    background-color: var(--bg-white);
    overflow-x: hidden;
    font-feature-settings: "kern" 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-primary);
    letter-spacing: -0.02em;
}

h1 {
    font-weight: 700;
    letter-spacing: -0.03em;
}

h2 {
    letter-spacing: -0.025em;
}

h3 {
    letter-spacing: -0.015em;
}

h4, h5, h6 {
    letter-spacing: -0.01em;
}

p {
    line-height: 1.7;
    color: var(--text-secondary);
    letter-spacing: -0.005em;
}

/* 文字高亮（内联强调） - Figma风格使用黑色粗体 */
.highlight {
    color: var(--primary-color);
    font-weight: 700;
}

/* ==========================================
   4. 布局工具（Layout & Utilities）
   ========================================== */

/* 主容器 - 居中内容，最大宽度1400px */
.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 24px;
}

/* 窄容器 - 用于文章、表单等 */
.container-narrow {
    width: 100%;
    max-width: var(--container-narrow);
    margin: 0 auto;
    padding: 0 24px;
}

/* 通用网格布局 - 自适应列数 */
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
}

/* 两列网格 */
.grid-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 48px;
}

/* 四列网格 */
.grid-4 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}

/* 文本对齐工具类 */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Flex工具类 */
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.flex-col { display: flex; flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }

/* 间距工具类 */
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }

/* ==========================================
   5. 导航栏组件（Navbar）
   商业靛紫风格：深色毛玻璃 + 白色文字 + 渐变下划线
   ========================================== */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(30, 27, 75, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 1000;
    transition: var(--transition);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
}

/* 滚动后导航栏 - 加深背景 */
.navbar.scrolled {
    background-color: rgba(30, 27, 75, 0.95);
    border-bottom-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 4px 24px rgba(30, 27, 75, 0.3);
}

/* 导航栏内容容器 */
.navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
}

/* 品牌Logo区域 */
.navbar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Logo图片尺寸 */
.navbar-brand .logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

/* 品牌名称文字 - 白色 + 渐变光晕 */
.navbar-brand .brand-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #ffffff 0%, #C7D2FE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 导航菜单列表 */
.navbar-nav ul {
    display: flex;
    list-style: none;
    gap: 32px;
}

/* 导航菜单链接 - 白色半透明 */
.navbar-nav a {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
    transition: var(--transition);
    font-size: 0.95rem;
    letter-spacing: -0.01em;
    position: relative;
    padding-bottom: 4px;
}

/* 导航链接悬停和当前页高亮 - 白色 + 靛紫光晕 */
.navbar-nav a:hover,
.navbar-nav a.active {
    color: #ffffff;
    text-shadow: 0 0 12px rgba(124, 58, 237, 0.6);
}

/* 导航链接下划线指示器 - 靛紫渐变 */
.navbar-nav a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    transform: scaleX(0);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: right center;
    box-shadow: 0 0 8px rgba(124, 58, 237, 0.5);
}

.navbar-nav a:hover::after,
.navbar-nav a.active::after {
    transform: scaleX(1);
    transform-origin: left center;
}

/* 导航栏右侧操作区（按钮+汉堡菜单） */
.navbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* 移动端汉堡菜单按钮 */
.menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: var(--radius-pill);
    transition: var(--transition);
}

.menu-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* 汉堡菜单线条 - 白色 */
.menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #ffffff;
    transition: var(--transition);
    border-radius: 1px;
}

/* 汉堡菜单激活状态（变X） */
.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}
.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* 导航栏内语言切换器 - 深色毛玻璃适配 */
.navbar .lang-switcher .lang-btn {
    color: rgba(255, 255, 255, 0.9);
    border-color: rgba(255, 255, 255, 0.25);
    background-color: rgba(255, 255, 255, 0.08);
}

.navbar .lang-switcher .lang-btn:hover {
    color: #ffffff;
    border-color: rgba(199, 210, 254, 0.6);
    background-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 0 16px rgba(124, 58, 237, 0.3);
}

.navbar .lang-switcher .lang-arrow {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.7rem;
}

.navbar .lang-switcher .lang-btn:hover .lang-arrow {
    color: #ffffff;
}

/* ==========================================
   6. 按钮组件（Buttons）
   商业靛紫风格：胶囊圆角，靛紫渐变 + 紫色阴影
   ========================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border-radius: var(--radius-pill);
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    cursor: pointer;
    border: none;
    font-size: 0.95rem;
    white-space: nowrap;
    letter-spacing: -0.01em;
    outline: none;
    position: relative;
    overflow: hidden;
}

/* 主按钮 - 靛紫渐变 + 紫色光晕阴影 */
.btn-primary {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(79, 70, 229, 0.4);
}

/* 主按钮悬停效果 - 上移 + 阴影增强 + 光晕 */
.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.5), 0 0 20px rgba(124, 58, 237, 0.3);
    background: linear-gradient(135deg, #4338CA 0%, #6D28D9 100%);
}

/* 主按钮聚焦虚线框 */
.btn-primary:focus-visible {
    outline: 2px dashed #C7D2FE;
    outline-offset: 4px;
}

/* 描边按钮 - 半透明白边框（适合深色Hero背景） */
.btn-outline {
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.4);
}

/* 描边按钮悬停效果 - 白色填充 */
.btn-outline:hover {
    background-color: #ffffff;
    color: var(--primary-color);
    border-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 255, 255, 0.2);
}

.btn-outline:focus-visible {
    outline: 2px dashed #C7D2FE;
    outline-offset: 4px;
}

/* 白色按钮 - 用于深色/渐变色背景（改为靛紫色文字按钮） */
.btn-white {
    background-color: #ffffff;
    color: var(--primary-color);
    box-shadow: var(--shadow-md);
}
.btn-white:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    background-color: #F3F4F6;
}

.btn-white:focus-visible {
    outline: 2px dashed #4F46E5;
    outline-offset: 4px;
}

/* 大号按钮 */
.btn-lg {
    padding: 16px 36px;
    font-size: 1.05rem;
}

/* 小号按钮 */
.btn-sm {
    padding: 8px 20px;
    font-size: 0.875rem;
}

/* ==========================================
   7. 英雄横幅（Hero Section）
   商业靛紫风格：满屏深色渐变 + 星空粒子 + 光晕呼吸 + 渐变文字
   ========================================== */
.hero {
    padding: 140px 0 100px;
    min-height: 60vh;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #1E1B4B 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
    position: relative;
    overflow: hidden;
}

/* 首页Hero - 满屏深色靛紫渐变 + 星空粒子 */
.hero.hero-large {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 140px 0 100px;
    margin-top: 60px;
    min-height: calc(100vh - 60px);
    min-height: calc(100dvh - 60px);
    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #1E1B4B 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
    position: relative;
    overflow: hidden;
}

/* Hero 装饰圆形 - 模糊光斑（保留） */
.hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    pointer-events: none;
    z-index: 1;
}

.hero-blob.blob-top-right {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.5) 0%, transparent 70%);
    top: -150px;
    right: -100px;
}

.hero-blob.blob-bottom-left {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(79, 70, 229, 0.5) 0%, transparent 70%);
    bottom: -100px;
    left: -80px;
}

/* ★ 新增：Hero 星空粒子层 - 独立 class，避免与 ::before 冲突 */
.hero-stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(2px 2px at 20% 30%, rgba(255, 255, 255, 0.8), transparent),
        radial-gradient(2px 2px at 60% 70%, rgba(255, 255, 255, 0.6), transparent),
        radial-gradient(1px 1px at 50% 50%, rgba(255, 255, 255, 0.9), transparent),
        radial-gradient(1px 1px at 80% 10%, rgba(255, 255, 255, 0.7), transparent),
        radial-gradient(2px 2px at 90% 60%, rgba(255, 255, 255, 0.5), transparent),
        radial-gradient(1px 1px at 33% 80%, rgba(255, 255, 255, 0.8), transparent),
        radial-gradient(1px 1px at 15% 65%, rgba(255, 255, 255, 0.6), transparent),
        radial-gradient(1px 1px at 70% 25%, rgba(199, 210, 254, 0.7), transparent),
        radial-gradient(2px 2px at 25% 90%, rgba(199, 210, 254, 0.5), transparent);
    background-size: 200% 200%;
    animation: starsMove 30s linear infinite;
    pointer-events: none;
    z-index: 1;
}

/* ★ 新增：Hero 光晕呼吸层 */
.hero-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.3) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    animation: glow 4s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}

/* Hero内容容器 */
.hero-content {
    max-width: 700px;
    position: relative;
    z-index: 2;
}

/* 首页Hero内容居中 */
.hero.hero-large .hero-content {
    max-width: 680px;
    text-align: center;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    animation: fadeInUp 1s ease-out;
}

/* Hero徽章 - 毛玻璃风格 */
.hero-badge {
    display: inline-block;
    padding: 8px 18px;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-round);
    font-size: 0.85rem;
    font-weight: 500;
    color: #C7D2FE;
    letter-spacing: 0.02em;
    margin-bottom: 24px;
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.2);
}

/* Hero主标题 - 渐变文字（白 → 浅紫 → 紫罗兰） */
.hero-title {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 800;
    margin-bottom: 24px;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.03em;
    background: linear-gradient(135deg, #ffffff 0%, #C7D2FE 50%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
}

/* Hero渐变标题文字 - 用于嵌套span */
.hero-title-gradient {
    background: linear-gradient(135deg, #C7D2FE 0%, #7C3AED 50%, #EC4899 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hero描述文字 - 半透明白 */
.hero-description {
    font-size: 1.15rem;
    margin-bottom: 36px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    letter-spacing: -0.005em;
    font-weight: 300;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Hero按钮操作区 */
.hero-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Hero统计区 */
.hero-stats {
    display: flex;
    justify-content: center;
    gap: 48px;
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hero-stat {
    text-align: center;
}

.hero-stat-value {
    font-size: 2.2rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 6px;
    text-shadow: 0 0 20px rgba(124, 58, 237, 0.5);
}

.hero-stat-label {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: -0.01em;
}

/* ★ 新增：向下滚动指示器（仅首页） */
.scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.7);
    font-size: 24px;
    z-index: 2;
    animation: bounce 2s infinite;
    text-decoration: none;
    transition: color 0.3s ease;
}
.scroll-indicator:hover {
    color: #ffffff;
}

/* ==========================================
   7A. 页面Hero变体（Page Hero Variants）
   全部统一为深色靛紫渐变（保留 class 名兼容性）
   ========================================== */

/* 基础内页Hero（缩小版，不含统计区） */
.hero.page-hero {
    padding: 120px 0 80px;
    margin-top: 60px;
    min-height: 40vh;
    text-align: center;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #1E1B4B 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
}

.hero.page-hero .hero-content {
    max-width: 680px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.hero.page-hero .hero-title {
    font-size: clamp(2rem, 4vw, 2.8rem);
    margin-bottom: 16px;
}

.hero.page-hero .hero-description {
    font-size: 1.1rem;
    max-width: 560px;
    margin: 0 auto 32px;
}

/* ---------- 变体1: 多彩渐变（产品/方案/演示）→ 靛紫深色 ---------- */
.hero-vibrant {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 50%, #1E1B4B 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
}
.hero-vibrant .hero-title { color: #fff; }
.hero-vibrant .hero-description { color: rgba(255,255,255,0.85); }
.hero-vibrant .btn-outline { border-color: rgba(255,255,255,0.5); color: #fff; }
.hero-vibrant .btn-outline:hover { background: #fff; color: var(--primary-color); border-color: #fff; }
.hero-vibrant .hero-badge { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.2); color: rgba(255,255,255,0.95); }

/* ---------- 变体2: 暖色渐变（关于/联系）→ 靛紫深色 ---------- */
.hero-warm {
    background: linear-gradient(135deg, #1E1B4B 0%, #4F46E5 50%, #7C3AED 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
}
.hero-warm .hero-title { color: #ffffff; }
.hero-warm .hero-description { color: rgba(255,255,255,0.85); }
.hero-warm .btn-primary { background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%); }
.hero-warm .btn-outline { border-color: rgba(255,255,255,0.5); color: #fff; background: rgba(255,255,255,0.1); }
.hero-warm .btn-outline:hover { background: #fff; color: var(--primary-color); }
.hero-warm .hero-badge { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.2); color: #fff; }

/* ---------- 变体3: 冷色渐变（帮助/支持/开发者）→ 靛紫深色 ---------- */
.hero-cool {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 50%, #1E1B4B 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
}
.hero-cool .hero-title { color: #fff; }
.hero-cool .hero-description { color: rgba(255,255,255,0.85); }
.hero-cool .btn-outline { border-color: rgba(255,255,255,0.5); color: #fff; background: rgba(255,255,255,0.1); }
.hero-cool .btn-outline:hover { background: #fff; color: var(--primary-color); border-color: #fff; }
.hero-cool .hero-badge { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.2); color: rgba(255,255,255,0.95); }

/* ---------- 变体4: 科技暗色（案例/视频/技术）→ 靛紫深色 ---------- */
.hero-dark-tech {
    background: linear-gradient(135deg, #0f0c29 0%, #1E1B4B 30%, #312E81 70%, #4F46E5 100%);
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
}
.hero-dark-tech .hero-title { color: #fff; text-shadow: 0 2px 20px rgba(124, 58, 237, 0.4); }
.hero-dark-tech .hero-description { color: rgba(255,255,255,0.75); }
.hero-dark-tech .btn-primary { background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%); color: #fff; }
.hero-dark-tech .btn-outline { border-color: rgba(255,255,255,0.4); color: #fff; background: rgba(255,255,255,0.1); }
.hero-dark-tech .btn-outline:hover { background: #fff; color: var(--primary-color); }
.hero-dark-tech .hero-badge { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); }

/* ---------- 变体5: 极简浅色（法律/新闻/地图）→ 浅靛紫背景 ---------- */
.hero-minimal {
    background: linear-gradient(135deg, #F9FAFB 0%, #EEF2FF 100%);
    border-bottom: 1px solid var(--border-color);
}
.hero-minimal .hero-title {
    color: var(--text-primary);
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hero-minimal .hero-description { color: var(--text-secondary); }
.hero-minimal .btn-primary { background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%); }
.hero-minimal .btn-outline { border-color: var(--primary-color); color: var(--primary-color); background: transparent; }
.hero-minimal .btn-outline:hover { background: var(--primary-color); color: #fff; }
.hero-minimal .hero-badge { background: var(--primary-bg); border-color: var(--primary-bg-dark); color: var(--primary-color); }

/* ==========================================
   8. 通用区块（Section）
   商业靛紫风格：渐变标题 + 靛紫副标题
   ========================================== */
.section {
    padding: 100px 0;
}

/* 区块标题 - 靛紫渐变文字 */
.section-title {
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--text-primary);
    text-align: center;
    letter-spacing: -0.025em;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 区块副标题 */
.section-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
    max-width: 650px;
    margin: 0 auto 60px;
    text-align: center;
    line-height: 1.7;
    letter-spacing: -0.005em;
}

/* 技术标签 - 靛紫色调 */
.tech-badge {
    display: inline-block;
    padding: 6px 16px;
    background-color: var(--primary-bg);
    color: var(--primary-color);
    border-radius: var(--radius-round);
    font-weight: 500;
    font-size: 0.85rem;
    margin: 4px;
    border: 1px solid var(--primary-bg-dark);
    transition: var(--transition);
}

.tech-badge:hover {
    border-color: var(--primary-color);
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

/* ==========================================
   9. 卡片组件（Cards）
   商业靛紫风格：顶部彩色条带 + 悬浮渐变边框 + 紫色光晕
   ========================================== */
.card {
    background-color: var(--bg-white);
    padding: 36px 32px;
    border-radius: var(--radius-lg);
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    position: relative;
    overflow: hidden;
}

/* ★ 新增：卡片顶部彩色条带 - 靛紫渐变 */
.card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(135deg, var(--card-color-1, #4F46E5) 0%, var(--card-color-2, #7C3AED) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 卡片悬停效果 - 上移 + 靛紫渐变边框 + 光晕 */
.card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(79, 70, 229, 0.15), 0 0 0 1px rgba(124, 58, 237, 0.2);
    border-color: rgba(124, 58, 237, 0.3);
}

/* 卡片悬停时显示顶部条带 */
.card:hover::before {
    transform: scaleX(1);
}

/* 特性图标容器 - 圆形靛紫渐变背景 */
.feature-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, var(--primary-bg) 0%, var(--primary-bg-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    transition: var(--transition);
    border: 1px solid var(--primary-bg-dark);
}

/* 卡片悬停时图标变为靛紫渐变 */
.card:hover .feature-icon {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.4);
    transform: scale(1.05);
}

.card:hover .feature-icon svg {
    stroke: #ffffff;
}

/* 特性图标 - 彩色主题保留（这是"产品内容"层），改为更鲜明的渐变 */
.feature-icon.cyan {
    background: linear-gradient(135deg, #06B6D4 0%, #0891B2 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(6, 182, 212, 0.3);
}
.feature-icon.cyan svg { stroke: #ffffff; }

.feature-icon.emerald {
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.feature-icon.emerald svg { stroke: #ffffff; }

.feature-icon.amber {
    background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.feature-icon.amber svg { stroke: #ffffff; }

.feature-icon.violet {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}
.feature-icon.violet svg { stroke: #ffffff; }

.feature-icon.rose {
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(236, 72, 153, 0.3);
}
.feature-icon.rose svg { stroke: #ffffff; }

.feature-icon.gradient {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}
.feature-icon.gradient svg { stroke: #ffffff; }

/* 卡片悬停时图标颜色保持（已是渐变）+ 增强阴影 */
.card:hover .feature-icon.cyan { background: linear-gradient(135deg, #06B6D4 0%, #0891B2 100%); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(6, 182, 212, 0.5); }
.card:hover .feature-icon.cyan svg { stroke: #fff; }
.card:hover .feature-icon.emerald { background: linear-gradient(135deg, #10B981 0%, #059669 100%); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(16, 185, 129, 0.5); }
.card:hover .feature-icon.emerald svg { stroke: #fff; }
.card:hover .feature-icon.amber { background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(245, 158, 11, 0.5); }
.card:hover .feature-icon.amber svg { stroke: #fff; }
.card:hover .feature-icon.violet { background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(139, 92, 246, 0.5); }
.card:hover .feature-icon.violet svg { stroke: #fff; }
.card:hover .feature-icon.rose { background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(236, 72, 153, 0.5); }
.card:hover .feature-icon.rose svg { stroke: #fff; }
.card:hover .feature-icon.gradient { background: linear-gradient(135deg, #4338CA 0%, #6D28D9 100%); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(79, 70, 229, 0.5); }
.card:hover .feature-icon.gradient svg { stroke: #fff; }

/* 特性标题 - 靛紫色 */
.feature-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--text-primary);
    text-align: center;
    letter-spacing: -0.015em;
}

/* 特性描述 */
.feature-description {
    color: var(--text-secondary);
    text-align: center;
    line-height: 1.7;
    font-size: 0.95rem;
    letter-spacing: -0.005em;
}

/* ==========================================
   10. 页脚组件（Footer）
   商业靛紫风格：深紫黑背景 + 靛紫光晕 + 渐变社交按钮
   ========================================== */
.footer {
    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
    color: rgba(255, 255, 255, 0.7);
    padding: 80px 0 40px;
    border-top: 1px solid rgba(124, 58, 237, 0.3);
    position: relative;
    overflow: hidden;
}

/* 页脚装饰光晕 */
.footer::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

/* 页脚内容网格 */
.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 48px;
    margin-bottom: 48px;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

/* 页脚品牌区 */
.footer-brand .footer-logo {
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    object-fit: contain;
    border-radius: var(--radius-sm);
}

/* 页脚品牌描述 */
.footer-description {
    margin-bottom: 24px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.95rem;
}

/* 社交媒体链接 */
.social-links {
    display: flex;
    gap: 12px;
}

/* 社交链接圆形按钮 - 半透明白 + 靛紫悬浮渐变 */
.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.8);
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* 社交链接悬停效果 - 靛紫渐变 */
.social-links a:hover {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(124, 58, 237, 0.4);
    border-color: transparent;
}

/* 页脚链接标题 - 靛紫色调 */
.footer-links h4 {
    color: #C7D2FE;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 20px;
    letter-spacing: -0.01em;
}

/* 页脚链接列表 */
.footer-links ul {
    list-style: none;
}

/* 页脚链接项 */
.footer-links li {
    margin-bottom: 12px;
}

/* 页脚链接 */
.footer-links a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: var(--transition);
    font-size: 0.9rem;
}

/* 页脚链接悬停效果 - 靛紫色调 */
.footer-links a:hover {
    color: #C7D2FE;
    padding-left: 4px;
    text-shadow: 0 0 8px rgba(124, 58, 237, 0.4);
}

/* 页脚底部版权区 */
.footer-bottom {
    padding-top: 28px;
    border-top: 1px solid rgba(124, 58, 237, 0.2);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    position: relative;
    z-index: 1;
}

/* 页脚联系信息 */
.footer-contact {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
    line-height: 1.8;
}

.footer-contact p {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, 0.6);
}

.footer-contact a {
    color: rgba(255, 255, 255, 0.6);
    transition: var(--transition);
}

.footer-contact a:hover {
    color: #C7D2FE;
}

/* ==========================================
   11. 返回顶部按钮（Back to Top）
   商业靛紫风格：靛紫渐变圆形 + 紫色光晕
   ========================================== */
.back-to-top {
    position: fixed;
    bottom: 100px;
    right: 32px;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.4);
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    z-index: 998;
    border: none;
    font-size: 1.3rem;
}

/* 滚动后显示返回顶部按钮 */
.back-to-top.active {
    opacity: 1;
    visibility: visible;
}

/* 返回顶部按钮悬停效果 */
.back-to-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.5), 0 0 20px rgba(124, 58, 237, 0.3);
}

.back-to-top:focus-visible {
    outline: 2px dashed #C7D2FE;
    outline-offset: 4px;
}

/* ==========================================
   12. 统计数据区（Stats）
   商业靛紫风格：靛紫渐变背景 + 半透明白色卡片
   ========================================== */
.stats-section {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: var(--text-white);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

/* 统计区装饰光晕 */
.stats-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

/* 统计数据网格 */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* 统计数字 - 渐变白色 */
.stat-number {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: -0.03em;
    color: #ffffff;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}

/* 统计标签 */
.stat-label {
    font-size: 1rem;
    opacity: 0.85;
    letter-spacing: -0.01em;
}

/* 关于页统计卡片样式（白色背景） */
.stat-card {
    text-align: center;
    padding: 32px;
    position: relative;
}

/* 关于页统计数字 - 靛紫渐变 */
.stat-card .stat-number {
    font-size: 3.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.03em;
    margin-bottom: 12px;
}

/* 关于页统计标签 */
.stat-card .stat-label {
    color: var(--text-secondary);
    font-size: 1rem;
}

/* ==========================================
   13. 技术展示区（Tech Section）
   商业靛紫风格：深紫黑背景 + 渐变光晕 + 毛玻璃卡片
   ========================================== */
.tech-section {
    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
    color: var(--text-white);
    position: relative;
    overflow: hidden;
}

/* 技术区装饰光晕 */
.tech-section::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.3) 0%, transparent 70%);
    pointer-events: none;
}

.tech-section::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(79, 70, 229, 0.3) 0%, transparent 70%);
    pointer-events: none;
}

/* 技术区标题颜色 - 白色渐变 */
.tech-section .section-title {
    color: #ffffff;
    background: linear-gradient(135deg, #ffffff 0%, #C7D2FE 50%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 技术区副标题颜色 */
.tech-section .section-subtitle {
    color: rgba(255, 255, 255, 0.6);
}

/* 技术卡片 - 毛玻璃风格 */
.tech-card {
    background-color: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    padding: 32px;
    transition: var(--transition);
    position: relative;
    z-index: 1;
    overflow: hidden;
}

/* 技术卡片顶部彩色条带 */
.tech-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 技术卡片悬停效果 - 边框靛紫色 + 显示条带 */
.tech-card:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(124, 58, 237, 0.4);
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(124, 58, 237, 0.2);
}

.tech-card:hover::before {
    transform: scaleX(1);
}

/* 技术卡片标题 */
.tech-card h3 {
    color: var(--primary-lighter);
    font-size: 1.3rem;
    margin-bottom: 16px;
}

/* 技术卡片描述 */
.tech-card p {
    color: var(--text-light);
    line-height: 1.7;
}

/* 技术卡片列表 */
.tech-card ul {
    list-style: none;
    margin-top: 16px;
}

/* 技术卡片列表项 */
.tech-card li {
    padding: 8px 0;
    color: #cbd5e1;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* 最后一项移除底边框 */
/* ==========================================
14. 时间线（Timeline - 关于页）
商业靛紫风格：靛紫渐变节点 + 紫色光晕
========================================== */
.timeline {
    position: relative;
    padding-left: 40px;
}

/* 时间线竖线 - 靛紫渐变 */
.timeline::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
}

/* 时间线节点 */
.timeline-item {
    position: relative;
    margin-bottom: 40px;
}

/* 时间线圆点 - 靛紫渐变 + 光晕 */
.timeline-item::before {
    content: '';
    position: absolute;
    left: -40px;
    top: 8px;
    width: 16px;
    height: 16px;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    border-radius: 50%;
    border: 3px solid var(--text-white);
    box-shadow: 0 0 16px rgba(124, 58, 237, 0.5);
}

/* 时间线年份 - 靛紫渐变文字 */
.timeline-year {
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
}

/* 时间线内容 */
.timeline-content {
    color: var(--text-secondary);
    line-height: 1.7;
}

/* ==========================================
   15. 联系信息与表单（Contact & Form）
   商业靛紫风格：靛紫渐变图标 + 紫色聚焦光晕
   ========================================== */

/* 联系信息条目 */
.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px;
    background-color: var(--bg-light);
    border-radius: var(--radius-md);
    margin-bottom: 16px;
    transition: var(--transition);
    border: 1px solid var(--border-light);
}

/* 联系信息条目悬停 - 边框靛紫色 */
.contact-info-item:hover {
    border-color: rgba(124, 58, 237, 0.3);
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.08);
}

/* 联系信息图标 - 靛紫渐变 */
.contact-info-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(124, 58, 237, 0.3);
}

/* 联系信息图标 SVG 改为白色 */
.contact-info-icon svg {
    stroke: #ffffff;
}

/* 联系信息内容 */
.contact-info-content h4 {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.contact-info-content p {
    color: var(--text-secondary);
    line-height: 1.7;
}

/* 表单组 */
.form-group {
    margin-bottom: 24px;
}

/* 表单标签 */
.form-label {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

/* 表单输入框 */
.form-input {
    width: 100%;
    padding: 14px 18px;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-sm);
    font-size: 1rem;
    transition: var(--transition);
    background-color: var(--bg-light);
}

/* 输入框聚焦效果 - 靛紫色边框 + 紫色光晕 */
.form-input:focus {
    outline: none;
    border-color: var(--primary-color);
    background-color: var(--text-white);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}

/* 文本域 */
.form-textarea {
    min-height: 150px;
    resize: vertical;
}

/* 复选框组 */
.form-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 表单提示消息 */
.form-message {
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    margin-bottom: 16px;
    display: none;
}

/* 表单成功消息 */
.form-message.success {
    display: block;
    background-color: #dcfce7;
    color: #16a34a;
    border: 1px solid #86efac;
}

/* 表单错误消息 */
.form-message.error {
    display: block;
    background-color: #fee2e2;
    color: #dc2626;
    border: 1px solid #fca5a5;
}

/* ==========================================
   16. 新闻列表（News List）
   商业商业靛紫风格：靛紫渐变标签 + 悬浮光晕
   ========================================== */

/* 新闻卡片 */
.news-card {
    background-color: var(--bg-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    position: relative;
}

/* 新闻卡片顶部彩色条带 */
.news-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

/* 新闻卡片悬停效果 - 上移 + 靛紫边框 + 显示条带 */
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 48px rgba(79, 70, 229, 0.15);
    border-color: rgba(124, 58, 237, 0.3);
}

.news-card:hover::before {
    transform: scaleX(1);
}

/* 新闻封面图区域 */
.news-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-white);
    font-size: 3rem;
}

/* 新闻内容区 */
.news-content {
    padding: 24px;
}

/* 新闻分类标签 */
.news-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 12px;
}

/* 公司动态标签 - 靛紫渐变 */
.news-tag.company {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.3);
}

/* 行业资讯标签 - 暖橙 */
.news-tag.industry {
    background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

/* 技术文章标签 - 翡翠绿 */
.news-tag.tech {
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}

/* 产品更新标签 - 粉红 */
.news-tag.product {
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(236, 72, 153, 0.3);
}

/* 新闻标题 */
.news-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
    line-height: 1.4;
    transition: var(--transition);
}

/* 新闻卡片悬停时标题变靛紫色 */
.news-card:hover .news-title {
    color: var(--primary-color);
}

/* 新闻描述 */
.news-description {
    color: var(--text-secondary);
    font-size: 0.95rem;
    margin-bottom: 16px;
    line-height: 1.6;
}

/* 新闻元信息（日期、浏览量等） */
.news-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-light);
    font-size: 0.85rem;
}

/* 新闻日期 */
.news-date {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* 新闻链接 - 靛紫色 */
.news-link {
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}

.news-link:hover {
    color: var(--primary-dark);
    text-shadow: 0 0 8px rgba(124, 58, 237, 0.4);
}

/* 特色新闻区域 */
.featured-news {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 60px;
}

/* 特色新闻主卡片 - 靛紫渐变背景 */
.featured-news-main {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    border-radius: var(--radius-lg);
    padding: 48px;
    color: var(--text-white);
    position: relative;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(124, 58, 237, 0.3);
}

/* 特色新闻主卡片装饰 */
.featured-news-main::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
}

/* 特色新闻主卡片标题 */
.featured-news-main h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--text-white);
    position: relative;
    z-index: 1;
}

/* 特色新闻主卡片描述 */
.featured-news-main p {
    font-size: 1.1rem;
    margin-bottom: 24px;
    opacity: 0.9;
    color: var(--text-white);
    position: relative;
    z-index: 1;
}

/* 特色新闻列表 */
.featured-news-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* 特色新闻列表项 */
.featured-news-item {
    background-color: var(--bg-white);
    padding: 20px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

/* 特色新闻列表项悬停 - 靛紫边框 */
.featured-news-item:hover {
    border-color: rgba(124, 58, 237, 0.3);
    transform: translateX(5px);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.1);
}

/* 特色新闻列表项标题 */
.featured-news-item h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

/* 特色新闻列表项描述 */
.featured-news-item p {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* ==========================================
   17. 新闻详情（News Article）
   ========================================== */

/* 新闻文章容器 */
.news-article {
    max-width: 800px;
    margin: 0 auto;
}

/* 文章头部 */
.article-header {
    margin-bottom: 40px;
    text-align: center;
}

/* 文章分类标签 */
.article-category {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 16px;
}

/* 文章标题 */
.article-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 20px;
    line-height: 1.3;
}

/* 文章元信息 */
.article-meta {
    display: flex;
    justify-content: center;
    gap: 24px;
    color: var(--text-light);
    font-size: 0.95rem;
}

/* 文章元信息项 */
.article-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* 文章正文 */
.article-content {
    font-size: 1.05rem;
    line-height: 1.9;
    color: var(--text-primary);
}

/* 文章正文段落 */
.article-content p {
    margin-bottom: 24px;
    color: var(--text-primary);
}

/* 文章正文标题 */
.article-content h2,
.article-content h3 {
    margin-top: 40px;
    margin-bottom: 20px;
    color: var(--text-primary);
}

/* 文章正文代码块 - 深紫黑背景 + 左侧靛紫边框 + 阴影 */
.article-content pre {
    background-color: var(--bg-dark);
    color: #e2e8f0;
    padding: 20px;
    border-radius: var(--radius-md);
    overflow-x: auto;
    margin: 24px 0;
    border-left: 4px solid var(--primary-color);
    box-shadow: 0 4px 16px rgba(30, 27, 75, 0.2);
}

/* 文章正文引用 - 左侧靛紫光晕 + 浅靛紫背景渐变 */
.article-content blockquote {
    border-left: 4px solid var(--primary-color);
    padding: 16px 20px;
    margin: 24px 0;
    color: var(--text-secondary);
    font-style: italic;
    background: linear-gradient(90deg, rgba(79, 70, 229, 0.05) 0%, transparent 100%);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

/* 文章标签区 */
.article-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 40px 0;
}

/* 文章标签 - 添加边框 */
.article-tag {
    display: inline-block;
    padding: 6px 14px;
    background-color: var(--bg-light);
    color: var(--text-secondary);
    border-radius: 20px;
    font-size: 0.85rem;
    transition: var(--transition);
    border: 1px solid var(--border-color);
}

/* 文章标签悬停 - 靛紫渐变背景 + 上移 */
.article-tag:hover {
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
    transform: translateY(-2px);
}

/* 文章底部 */
.article-footer {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--border-color);
}

/* 文章导航（上一篇/下一篇） */
.article-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 32px;
}

/* 文章导航项 */
.article-nav-item {
    padding: 20px;
    background-color: var(--bg-light);
    border-radius: var(--radius-md);
    transition: var(--transition);
}

/* 文章导航项悬停 */
.article-nav-item:hover {
    background-color: var(--primary-bg);
}

/* 文章导航标签 */
.article-nav-label {
    font-size: 0.85rem;
    color: var(--text-light);
    margin-bottom: 8px;
}

/* 文章导航标题 */
.article-nav-title {
    font-weight: 600;
    color: var(--text-primary);
}

/* ==========================================
   18. 价格方案（Pricing）
   ========================================== */

/* 价格网格 */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
    align-items: start;
}

/* 价格卡片 - Figma风格 */
.pricing-card {
    background-color: var(--bg-white);
    border-radius: var(--radius-lg);
    padding: 36px 28px;
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    position: relative;
}

/* 价格卡片悬停 */
.pricing-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
    border-color: var(--text-primary);
}

/* 推荐套餐卡片 - 靛紫渐变背景 + 白色文字 + 紫色光晕 */
.pricing-card.popular {
    background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    color: #ffffff;
    border: none;
    box-shadow: 0 16px 48px rgba(124, 58, 237, 0.4);
    transform: scale(1.03);
}

/* 推荐套餐内文字反白 */
.pricing-card.popular .pricing-name,
.pricing-card.popular .pricing-price,
.pricing-card.popular .pricing-description,
.pricing-card.popular .pricing-period,
.pricing-card.popular .pricing-feature {
    color: #ffffff;
}

.pricing-card.popular .pricing-feature {
    border-bottom-color: rgba(255, 255, 255, 0.2);
}

/* 推荐标签 - 白色胶囊配靛紫文字 */
.pricing-card.popular::before {
    content: '推荐';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff;
    color: var(--primary-color);
    padding: 5px 20px;
    border-radius: var(--radius-pill);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* 套餐名称 */
.pricing-name {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
    letter-spacing: -0.02em;
}

/* 套餐描述 */
.pricing-description {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 24px;
}

/* 套餐价格 - 靛紫渐变文字 */
.pricing-price {
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
    letter-spacing: -0.03em;
}

/* 推荐套餐内价格数字保持白色（覆盖渐变） */
.pricing-card.popular .pricing-price {
    -webkit-text-fill-color: #ffffff;
    color: #ffffff;
}

/* 套餐价格单位 */
.pricing-price span {
    font-size: 1rem;
    color: var(--text-secondary);
    font-weight: 400;
    letter-spacing: -0.01em;
}

/* 套餐周期 */
.pricing-period {
    color: var(--text-light);
    font-size: 0.9rem;
    margin-bottom: 24px;
}

/* 套餐特性列表 */
.pricing-features {
    list-style: none;
    margin-bottom: 32px;
}

/* 套餐特性项 */
.pricing-feature {
    padding: 10px 0;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--border-light);
    font-size: 0.9rem;
}

/* 套餐特性项最后一条移除边框 */
.pricing-feature:last-child {
    border-bottom: none;
}

/* 套餐特性图标 - Figma：纯黑 */
.pricing-feature::before {
    content: '✓';
    color: var(--text-primary);
    font-weight: 700;
}

/* 不包含的特性 */
.pricing-feature.excluded {
    color: var(--text-light);
    text-decoration: line-through;
}

.pricing-feature.excluded::before {
    content: '✗';
    color: var(--text-light);
}

/* ==========================================
   19. 产品特性详情（Feature Detail）
   ========================================== */

/* 特性详情列表 */
.feature-list {
    margin-top: 24px;
}

/* 特性详情项 */
.feature-detail-item {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
    align-items: flex-start;
}

/* 特性详情图标 - 靛紫渐变背景 + 白色图标 + 紫色阴影 */
.feature-detail-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #ffffff;
    font-size: 1.25rem;
    border: none;
    box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
    transition: var(--transition);
}

/* 特性详情图标悬停 - 放大 + 旋转 */
.feature-detail-item:hover .feature-detail-icon {
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.4);
}

/* 特性详情内容 */
.feature-detail-content h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.feature-detail-content p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ==========================================
   20. 解决方案卡片（Solution Card）
   ========================================== */
.solution-card {
    background-color: var(--bg-white);
    padding: 36px;
    border-radius: var(--radius-lg);
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
}

/* 解决方案卡片顶部彩色条带 - 悬浮时浮现 */
.solution-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.solution-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(79, 70, 229, 0.2), 0 0 0 1px rgba(124, 58, 237, 0.2);
    border-color: transparent;
}

.solution-card:hover::before {
    transform: scaleX(1);
}

.solution-icon {
    width: 64px;
    height: 64px;
    background: var(--bg-gradient-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    color: var(--text-white);
    font-size: 1.5rem;
}

.solution-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.solution-description {
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 20px;
}

.solution-features {
    list-style: none;
}

.solution-features li {
    padding: 8px 0;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.solution-features li::before {
    content: '→';
    color: var(--primary-color);
    font-weight: 700;
}

/* ==========================================
   21. 案例与评价（Case & Testimonial）
   ========================================== */

/* 案例卡片 */
.case-card {
    background-color: var(--bg-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    position: relative;
}

/* 案例卡片顶部彩色条带 - 靛紫到粉红渐变 */
.case-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--secondary-start) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
}

.case-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 48px rgba(79, 70, 229, 0.2), 0 0 0 1px rgba(124, 58, 237, 0.2);
    border-color: transparent;
}

.case-card:hover::before {
    transform: scaleX(1);
}

/* 案例封面图 */
.case-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    background: var(--bg-gradient-primary);
}

/* 案例内容 */
.case-content {
    padding: 28px;
}

/* 案例标签 */
.case-tag {
    display: inline-block;
    padding: 4px 12px;
    background-color: var(--primary-bg-dark);
    color: var(--primary-color);
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 12px;
}

/* 案例标题 */
.case-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
}

/* 案例描述 */
.case-description {
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 20px;
}

/* 案例统计数据 */
.case-stats {
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
}

/* 案例统计项 */
.case-stat {
    text-align: center;
}

/* 案例统计数值 - 靛紫渐变文字 */
.case-stat-value {
    font-size: 1.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 案例统计标签 */
.case-stat-label {
    color: var(--text-secondary);
    font-size: 0.85rem;
}

/* 案例链接 */
.case-link {
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.case-link:hover {
    color: var(--primary-dark);
    gap: 10px;
}

/* 客户评价卡片 */
.testimonial-card {
    background-color: var(--bg-white);
    padding: 36px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    transition: var(--transition-slow);
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

/* 评价文字 */
.testimonial-text {
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 24px;
    font-style: italic;
}

/* 评价作者区 */
.testimonial-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* 评价作者头像 */
.testimonial-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--bg-gradient-primary);
}

/* 评价作者名 */
.testimonial-author {
    font-weight: 700;
    color: var(--text-primary);
}

.testimonial-author + p {
    color: var(--text-light);
    font-size: 0.9rem;
}

/* ==========================================
   22. 开发者文档（Developer/API）
   ========================================== */

/* API卡片 */
.api-card {
    background-color: var(--bg-white);
    border-radius: var(--radius-lg);
    padding: 28px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    transition: var(--transition-slow);
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
}

/* API卡片顶部条带 - 靛紫渐变 */
.api-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.api-card:hover {
    box-shadow: 0 12px 32px rgba(79, 70, 229, 0.15);
    transform: translateY(-2px);
}

.api-card:hover::before {
    transform: scaleX(1);
}

/* API路径 */
.api-path {
    font-family: var(--font-mono);
    font-size: 1rem;
    color: var(--text-primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* HTTP方法标签 */
.api-method {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-white);
}

/* GET方法 - 翡翠绿 */
.api-method.get {
    background-color: var(--accent-color);
}

/* POST方法 - 靛紫渐变 */
.api-method.post {
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
}

/* PUT方法 - 琥珀色 */
.api-method.put {
    background-color: var(--warning);
}

/* DELETE方法 - 红色 */
.api-method.delete {
    background-color: var(--danger);
}

/* API描述 */
.api-description {
    color: var(--text-secondary);
    line-height: 1.7;
}

/* 代码块 */
.code-block {
    background-color: var(--bg-dark);
    color: #e2e8f0;
    padding: 20px;
    border-radius: var(--radius-sm);
    overflow-x: auto;
    font-family: var(--font-mono);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 16px 0;
}

/* 代码语法高亮 */
.code-block .keyword { color: #c084fc; }
.code-block .string { color: #86efac; }
.code-block .comment { color: #64748b; }
.code-block .function { color: #60a5fa; }

/* 资源卡片 */
.resource-card {
    background-color: var(--bg-white);
    padding: 28px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    transition: var(--transition-slow);
    text-align: center;
}

.resource-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary-color);
}

/* 资源图标 */
.resource-icon {
    width: 64px;
    height: 64px;
    background: var(--bg-gradient-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--text-white);
    font-size: 1.5rem;
}

/* ==========================================
   23. 视频卡片（Video Card）
   ========================================== */
.video-card {
    background-color: var(--bg-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
    border-color: var(--primary-color);
}

/* 视频缩略图 */
.video-thumbnail {
    width: 100%;
    height: 220px;
    background: var(--bg-gradient-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

/* 视频播放按钮 - 靛紫渐变 + 白色图标 + 紫色阴影 */
.video-play-btn {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-start) 0%, var(--primary-end) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.5rem;
    transition: var(--transition);
    box-shadow: 0 8px 24px rgba(79, 70, 229, 0.4);
}

.video-thumbnail:hover .video-play-btn {
    transform: scale(1.15);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.6);
}

/* 视频内容区 */
.video-content {
    padding: 24px;
}

/* 视频标签 */
.video-tag {
    display: inline-block;
    padding: 4px 12px;
    background-color: var(--primary-bg-dark);
    color: var(--primary-color);
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 12px;
}

/* 视频标题 */
.video-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 10px;
}

/* 视频描述 */
.video-description {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 12px;
}

/* 视频元信息 */
.video-meta {
    display: flex;
    gap: 16px;
    color: var(--text-light);
    font-size: 0.85rem;
}

/* ==========================================
   24. 帮助/FAQ（Help/FAQ）
   ========================================== */

/* 搜索框 */
.search-box {
    max-width: 600px;
    margin: 0 auto 60px;
    position: relative;
}

.search-box input {
    width: 100%;
    padding: 16px 24px 16px 56px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--radius-lg);
    font-size: 1rem;
    transition: var(--transition);
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    color: var(--text-primary);
}

.search-box input::placeholder {
    color: var(--text-secondary);
}

.search-box input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.2);
    background-color: #ffffff;
}

.search-box svg {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary);
    pointer-events: none;
    transition: var(--transition-fast);
}

.search-box input:focus + svg {
    color: var(--primary-color);
}

/* 帮助分类 */
.help-category {
    margin-bottom: 48px;
}

/* 帮助分类标题 */
.help-category h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* 帮助图标 */
.help-icon {
    width: 48px;
    height: 48px;
    background: var(--bg-gradient-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-white);
    font-size: 1.25rem;
}

/* FAQ条目 */
.faq-item {
    background-color: var(--bg-white);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    margin-bottom: 16px;
    overflow: hidden;
    transition: var(--transition);
}

.faq-item:hover {
    border-color: var(--primary-color);
}

/* FAQ问题 */
.faq-question {
    padding: 20px 24px;
    font-weight: 600;
    color: var(--text-primary);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition);
}

.faq-question:hover {
    background-color: var(--bg-light);
}

/* FAQ图标（展开/折叠指示器） */
.faq-icon {
    font-size: 1.5rem;
    color: var(--primary-color);
    transition: var(--transition);
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

/* FAQ答案 */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer-inner {
    padding: 0 24px 20px;
    color: var(--text-secondary);
    line-height: 1.7;
}

/* 联系支持区 */
.contact-support {
    background: var(--bg-gradient);
    border-radius: var(--radius-lg);
    padding: 48px;
    text-align: center;
    margin-top: 60px;
}

.contact-support h3 {
    font-size: 1.75rem;
    margin-bottom: 16px;
}

.contact-support p {
    color: var(--text-secondary);
    margin-bottom: 24px;
}

/* ==========================================
   25. 合作伙伴（Partners）
   ========================================== */

/* 合作伙伴卡片 */
.partner-logo {
    background-color: var(--bg-white);
    border-radius: var(--radius-lg);
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-slow);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    height: 120px;
}

.partner-logo:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
    border-color: var(--primary-color);
}

.partner-logo img {
    max-width: 100%;
    max-height: 60px;
    object-fit: contain;
    filter: grayscale(100%);
    transition: var(--transition);
}

.partner-logo:hover img {
    filter: grayscale(0);
}

/* 合作伙伴名称 */
.partner-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}

/* 合作伙伴描述 */
.partner-description {
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* 合作权益卡片 */
.benefit-card {
    background-color: var(--bg-white);
    padding: 32px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    transition: var(--transition-slow);
    text-align: center;
}

.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

/* 合作权益图标 */
.benefit-icon {
    width: 64px;
    height: 64px;
    background: var(--bg-gradient-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--text-white);
    font-size: 1.5rem;
}

/* 申请表单 */
.apply-form {
    background-color: var(--bg-white);
    padding: 48px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    max-width: 700px;
    margin: 0 auto;
}

/* ==========================================
   26. 法律文档页（Privacy/Terms）
   ========================================== */

/* 内容容器 */
.content-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 0;
}

/* 更新日期 */
.update-date {
    color: var(--text-light);
    font-size: 0.95rem;
    margin-bottom: 32px;
    text-align: center;
}

/* 文档卡片 */
.content-container .card {
    margin-bottom: 24px;
}

/* 卡片标题 */
.card-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 16px;
}

/* 卡片内容 */
.card-content {
    color: var(--text-secondary);
    line-height: 1.8;
}

.card-content p {
    margin-bottom: 16px;
}

.card-content ul {
    list-style: none;
    margin: 16px 0;
}

.card-content li {
    padding: 6px 0;
    color: var(--text-secondary);
    padding-left: 20px;
    position: relative;
}

.card-content li::before {
    content: '•';
    color: var(--primary-color);
    position: absolute;
    left: 0;
    font-weight: 700;
}

/* ==========================================
   27. 下载区（Downloads）
   ========================================== */

/* 下载区 */
.download-section {
    background: var(--bg-gradient);
    border-radius: var(--radius-lg);
    padding: 48px;
    margin-bottom: 40px;
}

/* 下载项 */
.download-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px;
    background-color: var(--bg-white);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    margin-bottom: 16px;
}

.download-item:hover {
    border-color: var(--primary-color);
    box-shadow: var(--shadow-md);
}

/* 下载图标 */
.download-icon {
    width: 56px;
    height: 56px;
    background: var(--bg-gradient-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-white);
    font-size: 1.5rem;
    flex-shrink: 0;
}

/* 下载信息 */
.download-info {
    flex: 1;
}

/* 下载标题 */
.download-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 4px;
}

/* 下载元信息 */
.download-meta {
    color: var(--text-light);
    font-size: 0.85rem;
}

/* 下载按钮 */
.download-btn {
    padding: 10px 20px;
    background: var(--bg-gradient-primary);
    color: var(--text-white);
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: var(--transition);
    white-space: nowrap;
}

.download-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-primary);
}

/* ==========================================
   28. 面包屑与目录（Breadcrumb & TOC）
   ========================================== */

/* 面包屑导航 */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 32px;
    color: var(--text-light);
    font-size: 0.95rem;
}

.breadcrumb a {
    color: var(--text-secondary);
    transition: var(--transition);
}

.breadcrumb a:hover {
    color: var(--primary-color);
}

/* 面包屑分隔符 */
.breadcrumb span {
    color: var(--text-light);
}

/* 目录（Table of Contents） */
.toc {
    background-color: var(--bg-light);
    border-radius: var(--radius-md);
    padding: 24px;
    margin-bottom: 32px;
}

.toc h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 16px;
}

.toc ul {
    list-style: none;
}

.toc li {
    padding: 6px 0;
}

.toc a {
    color: var(--text-secondary);
    transition: var(--transition);
    font-size: 0.95rem;
}

.toc a:hover {
    color: var(--primary-color);
}

/* 相关文章 */
.related-articles {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--border-color);
}

.related-articles h3 {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 24px;
}

/* ==========================================
   29. 语言切换器（Language Switcher）
   ========================================== */

/* 语言切换器容器 */
.lang-switcher {
    position: relative;
    display: inline-block;
}

/* 语言切换按钮 */
.lang-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background-color: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 0.9rem;
    transition: var(--transition);
}

.lang-btn:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

/* 当前语言代码 */
.lang-current {
    font-weight: 600;
}

/* 语言下拉列表 */
.lang-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background-color: var(--bg-white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--border-color);
    min-width: 160px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: var(--transition);
    z-index: 1001;
}

/* 语言下拉列表展开 */
.lang-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 语言选项 */
.lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: var(--transition);
    font-size: 0.9rem;
}

.lang-option:first-child {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.lang-option:last-child {
    border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.lang-option:hover {
    background-color: var(--bg-light);
    color: var(--primary-color);
}

/* 当前选中语言高亮 */
.lang-option.active {
    background-color: var(--primary-bg);
    color: var(--primary-color);
    font-weight: 600;
}

/* 语言国旗emoji */
.lang-flag {
    font-size: 1.2rem;
}

/* ==========================================
   30. 动画定义（Animations）
   滚动渐入、数字计数等动画效果
   ========================================== */

/* 渐入动画 */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* 上滑渐入动画 */
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 左滑渐入动画 */
@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 右滑渐入动画 */
@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 缩放渐入动画 */
@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* 滚动渐入元素 - 初始隐藏 */
.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 滚动到视口后显示 */
.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* 不同延迟级别 */
.scroll-reveal.delay-1 { transition-delay: 0.1s; }
.scroll-reveal.delay-2 { transition-delay: 0.2s; }
.scroll-reveal.delay-3 { transition-delay: 0.3s; }
.scroll-reveal.delay-4 { transition-delay: 0.4s; }

/* 动画应用类 */
.animate-fadeIn { animation: fadeIn 0.8s ease forwards; }
.animate-slideUp { animation: slideUp 0.8s ease forwards; }
.animate-slideInLeft { animation: slideInLeft 0.8s ease forwards; }
.animate-slideInRight { animation: slideInRight 0.8s ease forwards; }
.animate-zoomIn { animation: zoomIn 0.6s ease forwards; }

/* 加载动画 */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--border-color);
    border-top-color: var(--primary-color);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

/* ==========================================
   31. 响应式断点（Responsive Breakpoints）
   ========================================== */

/* 大屏 - 1200px及以下 */
@media (max-width: 1200px) {
    .container {
        padding: 0 20px;
    }
}

/* 平板横屏 - 1024px及以下 */
@media (max-width: 1024px) {
    .hero-title {
        font-size: 2.5rem;
    }

    .grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 24px;
    }

    .grid-2 {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 24px;
    }

    .featured-news {
        grid-template-columns: 1fr;
    }

    .article-title {
        font-size: 2rem;
    }

    .section-title {
        font-size: 2.25rem;
    }
}

/* 移动端抽屉内的CTA按钮 - 桌面端默认隐藏 */
.mobile-cta {
    display: none;
}

/* 平板竖屏 - 768px及以下 */
@media (max-width: 768px) {
    /* ===== 移动端导航 - Figma风格抽屉菜单 ===== */
    .navbar .container {
        padding: 12px 20px;
    }

    .navbar-brand .brand-name {
        font-size: 1.1rem;
    }

    .navbar-brand .logo {
        width: 34px;
        height: 34px;
    }

    /* 导航菜单变为全屏抽屉 */
    .navbar-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        transform: translateX(-100%);
        background-color: var(--bg-white);
        padding: 80px 24px 24px;
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 998;
        overflow-y: auto;
    }

    /* 导航菜单展开 */
    .navbar-nav.active {
        transform: translateX(0);
    }

    /* 导航菜单覆盖层（点击关闭） */
    .navbar-nav.active::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.3);
        z-index: -1;
    }

    /* 导航链接纵向排列 - 大触摸目标 */
    .navbar-nav ul {
        flex-direction: column;
        gap: 4px;
    }

    .navbar-nav a {
        display: block;
        padding: 14px 16px;
        font-size: 1.05rem;
        border-radius: var(--radius-md);
        transition: var(--transition);
    }

    .navbar-nav a:hover,
    .navbar-nav a.active {
        background-color: var(--primary-bg);
        color: var(--text-primary);
    }

    .navbar-nav a::after {
        display: none;
    }

    /* 移动端抽屉内的CTA按钮 */
    .navbar-nav .mobile-cta {
        display: block;
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid var(--border-color);
    }

    .navbar-nav .mobile-cta .btn {
        width: 100%;
        padding: 16px 24px;
        font-size: 1rem;
    }

    /* 隐藏桌面端导航栏CTA（移入抽屉内） */
    .navbar-actions .btn {
        display: none;
    }

    /* 显示汉堡菜单 */
    .menu-toggle {
        display: flex;
        z-index: 999;
    }

    /* 汉堡菜单激活时白色背景 */
    .menu-toggle.active {
        position: relative;
        z-index: 999;
    }

    /* Hero区调整 */
    .hero {
        padding: 120px 0 80px;
        text-align: center;
    }

    .hero.page-hero {
        padding: 100px 0 60px;
        min-height: 30vh;
    }

    .hero-content {
        margin: 0 auto;
    }

    .hero-title,
    .hero.page-hero .hero-title {
        font-size: 2rem;
    }

    .hero-actions {
        flex-direction: column;
        align-items: center;
    }

    /* 区块间距缩小 */
    .section {
        padding: 70px 0;
    }

    .section-title {
        font-size: 2rem;
    }

    /* 网格单列 */
    .grid,
    .grid-2,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    /* 页脚单列 */
    .footer-content {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    /* 页脚底部纵向排列 */
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    /* 返回顶部按钮缩小 */
    .back-to-top {
        width: 48px;
        height: 48px;
        bottom: 24px;
        right: 24px;
    }

    /* 统计数据缩小 */
    .stat-number {
        font-size: 2.5rem;
    }

    /* 文章标题缩小 */
    .article-title {
        font-size: 1.75rem;
    }

    /* 文章导航单列 */
    .article-navigation {
        grid-template-columns: 1fr;
    }

    /* 案例统计单列 */
    .case-stats {
        flex-direction: column;
        gap: 16px;
    }

    /* 联系信息纵向排列 */
    .contact-info-item {
        flex-direction: column;
        gap: 12px;
    }

    /* 价格卡片全宽 */
    .pricing-grid {
        grid-template-columns: 1fr;
    }

    /* 下载项纵向排列 */
    .download-item {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    /* 特色新闻主卡片缩小 */
    .featured-news-main {
        padding: 32px;
    }

    .featured-news-main h3 {
        font-size: 1.5rem;
    }
}

/* 手机 - 480px及以下 */
@media (max-width: 480px) {
    .hero-title,
    .hero.page-hero .hero-title {
        font-size: 1.75rem;
    }

    .hero.page-hero {
        padding: 80px 0 50px;
    }

    .hero-description {
        font-size: 1rem;
    }

    .section-title {
        font-size: 1.75rem;
    }

    .section-subtitle {
        font-size: 1rem;
    }

    .card {
        padding: 28px;
    }

    .feature-icon {
        width: 60px;
        height: 60px;
    }

    .stat-number {
        font-size: 2rem;
    }

    .stat-card .stat-number {
        font-size: 2.5rem;
    }

    /* 新闻标题缩小 */
    .news-title {
        font-size: 1.1rem;
    }

    /* 联系信息图标缩小 */
    .contact-info-icon {
        width: 48px;
        height: 48px;
    }

    /* 表单内边距缩小 */
    .apply-form {
        padding: 28px;
    }

    /* 价格缩小 */
    .pricing-price {
        font-size: 2.5rem;
    }

    /* 文章标题缩小 */
    .article-title {
        font-size: 1.5rem;
    }

    /* 下载区缩小 */
    .download-section {
        padding: 28px;
    }
}

/* 打印样式 */
@media print {
    .navbar,
    .back-to-top,
    .menu-toggle,
    .lang-switcher {
        display: none !important;
    }

    .hero {
        padding: 40px 0;
        min-height: auto;
    }

    .section {
        padding: 30px 0;
    }

    body {
        background-color: white;
        color: black;
    }
}

/* ==========================================
   32. 设计系统增强（Extended Design Tokens）
   扩展品牌色系、辅助色、渐变与纹理，
   打破单一蓝色调，建立丰富视觉层次
   ========================================== */
:root {
    /* 辅助色系 - 活力青/翠绿/暖橙/紫罗兰，用于区分不同内容类型 */
    --accent-cyan: #06b6d4;
    --accent-cyan-dark: #0891b2;
    --accent-cyan-light: #67e8f9;
    --accent-cyan-bg: #ecfeff;

    --accent-emerald: #10b981;
    --accent-emerald-dark: #059669;
    --accent-emerald-bg: #ecfdf5;

    --accent-amber: #f59e0b;
    --accent-amber-dark: #d97706;
    --accent-amber-bg: #fffbeb;

    --accent-violet: #8b5cf6;
    --accent-violet-dark: #7c3aed;
    --accent-violet-bg: #f5f3ff;

    --accent-rose: #f43f5e;
    --accent-rose-dark: #e11d48;
    --accent-rose-bg: #fff1f2;

    /* 功能色 - 成功/警告/危险/信息 */
    --color-success: #10b981;
    --color-success-bg: #ecfdf5;
    --color-warning: #f59e0b;
    --color-warning-bg: #fffbeb;
    --color-danger: #ef4444;
    --color-danger-bg: #fef2f2;
    --color-info: #3b82f6;
    --color-info-bg: #eff6ff;

    /* 品牌渐变 - 商业靛紫多色渐变用于不同场景 */
    --gradient-primary: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
    --gradient-cyan: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
    --gradient-emerald: linear-gradient(135deg, #10b981 0%, #059669 100%);
    --gradient-amber: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    --gradient-violet: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    --gradient-rose: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    --gradient-sunset: linear-gradient(135deg, #f59e0b 0%, #f43f5e 100%);
    --gradient-ocean: linear-gradient(135deg, #06b6d4 0%, #4F46E5 100%);
    --gradient-aurora: linear-gradient(135deg, #7C3AED 0%, #4F46E5 50%, #06b6d4 100%);
    --gradient-mesh: radial-gradient(at 0% 0%, #dbeafe 0%, transparent 50%),
                     radial-gradient(at 100% 0%, #e0e7ff 0%, transparent 50%),
                     radial-gradient(at 50% 100%, #ecfdf5 0%, transparent 50%);

    /* 深色区域渐变 - 靛紫深色调 */
    --gradient-dark-primary: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
    --gradient-dark-tech: linear-gradient(135deg, #1E1B4B 0%, #3730A3 50%, #312E81 100%);

    /* 玻璃拟态 */
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(255, 255, 255, 0.18);
    --glass-blur: blur(12px);

    /* 文本渐变 - 靛紫色调 */
    --text-gradient-primary: linear-gradient(135deg, #4F46E5 0%, #818CF8 100%);
    --text-gradient-warm: linear-gradient(135deg, #f59e0b 0%, #f43f5e 100%);
}

/* ==========================================
   33. 页面加载器（Page Loader）
   页面加载时显示优雅的加载动画，加载完成后淡出
   ========================================== */

/* 加载器固定全屏覆盖层 */
.page-loader {
    position: fixed;
    inset: 0;
    background: var(--bg-light);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 24px;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* 加载器隐藏状态 */
.page-loader.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* 加载器旋转图标 */
.page-loader-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid var(--primary-bg-dark);
    border-top-color: var(--primary-color);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

/* 加载器文本 */
.page-loader-text {
    color: var(--text-secondary);
    font-size: 0.9rem;
    letter-spacing: 0.05em;
}

/* ==========================================
   34. Hero 区增强（Hero Enhancements）
   添加渐变网格背景、装饰图形、徽章、高亮文本等
   ========================================== */

/* Hero 渐变网格背景 - Figma覆盖为多彩渐变 */
.hero-gradient-mesh {
    background: var(--bg-gradient-figma);
    position: relative;
    overflow: hidden;
}

/* Hero 深色主题 */
.hero-dark {
    background: var(--bg-gradient-dark);
    color: var(--text-white);
}

/* 深色Hero下的标题颜色 */
.hero-dark .hero-title,
.hero-dark .hero-description {
    color: var(--text-white);
}

/* Hero 装饰圆形 - Figma使用多彩半透明 */
.hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
}

/* 装饰圆形位置 - 右上 */
.hero-blob.blob-top-right {
    top: -150px;
    right: -100px;
    width: 500px;
    height: 500px;
    background: rgba(200, 80, 192, 0.4);
}

/* 装饰圆形位置 - 左下 */
.hero-blob.blob-bottom-left {
    bottom: -100px;
    left: -80px;
    width: 400px;
    height: 400px;
    background: rgba(255, 204, 112, 0.4);
}

/* 确保Hero内容在装饰图形之上 */
.hero-gradient-mesh .hero-content,
.hero-dark .hero-content {
    position: relative;
    z-index: 1;
}

/* Hero 徽章（位于标题上方的标签） */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-full);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 24px;
}

/* Hero标题文本渐变 - Figma：白色渐变 */
.hero-title-gradient {
    background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.7) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Hero统计区（在Fig背景中以白色呈现） */
.hero-stats {
    display: flex;
    justify-content: center;
    gap: 48px;
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* Hero统计项 */
.hero-stat {
    text-align: center;
}

/* 统计数值 */
.hero-stat-value {
    font-size: 2.2rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 6px;
}

/* 统计标签 */
.hero-stat-label {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: -0.01em;
}

/* ==========================================
   34. 内页Hero区（Page Hero）
   用于非首页的页头区域，如关于我们、产品等
   ========================================== */

/* Hero统计标签 */
.hero-stat-label {
    font-size: 0.875rem;
    color: var(--text-secondary);
}

/* ==========================================
   35. 卡片变体（Card Variants）
   不同视觉风格的卡片，避免千篇一律
   ========================================== */

/* 突出卡片 - 带顶部彩色条 */
.card-featured {
    position: relative;
    overflow: hidden;
}

/* 卡片顶部彩色条 */
.card-featured::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--text-primary);
}

/* 不同色调的突出卡片 */
.card-featured.cyan::before { background: linear-gradient(90deg, #00acc1, #26c6da); }
.card-featured.emerald::before { background: linear-gradient(90deg, #43a047, #66bb6a); }
.card-featured.amber::before { background: linear-gradient(90deg, #ff8f00, #ffb300); }
.card-featured.violet::before { background: linear-gradient(90deg, #8e24aa, #ab47bc); }
.card-featured.rose::before { background: linear-gradient(90deg, #d81b60, #ec407a); }

/* 渐变背景卡片（深色） */
.card-dark {
    background: var(--bg-gradient-dark);
    color: var(--text-white);
    border-color: transparent;
}

/* 深色卡片标题与描述 */
.card-dark .feature-title,
.card-dark h3 {
    color: var(--text-white);
}

.card-dark .feature-description,
.card-dark p {
    color: rgba(255, 255, 255, 0.8);
}

/* 玻璃拟态卡片 */
.card-glass {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-lg);
}

/* 大数字编号卡片（用于流程、优势）- Figma：纯黑 */
.card-numbered .card-number {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    color: var(--text-primary);
    letter-spacing: -0.03em;
    margin-bottom: 16px;
}

/* 编号卡片的色调变体 */
.card-numbered.cyan .card-number { color: #00acc1; }
.card-numbered.emerald .card-number { color: #43a047; }
.card-numbered.amber .card-number { color: #ff8f00; }
.card-numbered.violet .card-number { color: #8e24aa; }

/* 卡片悬停时图标颜色翻转 */
.card:hover .feature-icon.gradient { background: #1565c0; color: #fff; border-color: #1565c0; }
.card:hover .feature-icon.gradient svg { stroke: #fff; }

/* 水平卡片（图文左右布局） */
.card-horizontal {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 0;
    overflow: hidden;
}

/* 水平卡片内容区 */
.card-horizontal-body {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 水平卡片媒体区 */
.card-horizontal-media {
    min-height: 280px;
    background: var(--bg-light);
    background-size: cover;
    background-position: center;
}

/* ==========================================
   36. Tab 选项卡组件（Tabs）
   用于功能分类、产品对比、多内容切换
   ========================================== */

/* Tab容器 */
.tabs {
    width: 100%;
}

/* Tab导航栏 - Figma风格：胶囊标签 */
.tabs-nav {
    display: flex;
    gap: 8px;
    margin-bottom: 40px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    justify-content: center;
    flex-wrap: wrap;
}

/* 隐藏Tab导航滚动条 */
.tabs-nav::-webkit-scrollbar {
    display: none;
}

/* Tab按钮 - Figma胶囊风格 */
.tab-btn {
    padding: 10px 24px;
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-pill);
    color: var(--text-secondary);
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
    letter-spacing: -0.01em;
}

/* Tab按钮悬停 */
.tab-btn:hover {
    border-color: var(--text-primary);
    color: var(--text-primary);
}

/* Tab按钮激活状态 - Figma：黑色填充 */
.tab-btn.active {
    background-color: var(--text-primary);
    color: var(--text-white);
    border-color: var(--text-primary);
}

/* Tab面板（默认隐藏） */
.tab-panel {
    display: none;
    animation: fadeIn 0.4s ease;
}

/* Tab面板激活状态 */
.tab-panel.active {
    display: block;
}

/* ==========================================
   37. 轮播/滑动组件（Carousel/Slider）
   用于客户评价、合作伙伴Logo、案例展示
   ========================================== */

/* 轮播容器 */
.carousel {
    position: relative;
    overflow: hidden;
    padding: 0 60px;
}

/* 轮播视口 */
.carousel-viewport {
    overflow: hidden;
}

/* 轮播轨道（容纳所有slide） */
.carousel-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 单个slide */
.carousel-slide {
    flex: 0 0 100%;
    padding: 0 12px;
    box-sizing: border-box;
}

/* 轮播按钮 */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: var(--transition);
    z-index: 2;
    box-shadow: var(--shadow-md);
}

/* 轮播按钮悬停 - Figma：纯黑 */
.carousel-btn:hover {
    background: var(--text-primary);
    color: var(--text-white);
    border-color: var(--text-primary);
}

/* 上一张按钮 */
.carousel-btn.prev { left: 0; }

/* 下一张按钮 */
.carousel-btn.next { right: 0; }

/* 轮播指示器 */
.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 32px;
}

/* 单个指示器 */
.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--border-color);
    border: none;
    cursor: pointer;
    transition: var(--transition);
    padding: 0;
}

/* 指示器激活状态 - Figma：纯黑胶囊 */
.carousel-dot.active {
    background: var(--text-primary);
    width: 28px;
    border-radius: var(--radius-pill);
}

/* ==========================================
   38. 对比表格（Comparison Table）
   用于价格对比、功能对比、套餐对比
   ========================================== */

/* 对比表格容器 */
.comparison-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

/* 表头 - Figma：纯黑 */
.comparison-table thead {
    background: var(--text-primary);
    color: var(--text-white);
}

/* 表头单元格 */
.comparison-table th {
    padding: 20px 24px;
    text-align: center;
    font-weight: 600;
    font-size: 1.05rem;
}

/* 表头第一列左对齐 */
.comparison-table th:first-child {
    text-align: left;
}

/* 表格单元格 */
.comparison-table td {
    padding: 16px 24px;
    text-align: center;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-secondary);
}

/* 表格第一列左对齐（功能名） */
.comparison-table td:first-child {
    text-align: left;
    font-weight: 600;
    color: var(--text-primary);
}

/* 表格行交替背景 */
.comparison-table tbody tr:nth-child(even) {
    background: var(--bg-light);
}

/* 表格行悬停 */
.comparison-table tbody tr:hover {
    background: var(--primary-bg);
}

/* 支持标记 */
.comparison-table .check {
    color: var(--accent-emerald);
    font-weight: 700;
    font-size: 1.2rem;
}

/* 不支持标记 */
.comparison-table .cross {
    color: var(--text-light);
    font-size: 1.2rem;
}

/* ==========================================
   39. 区块分隔符（Section Dividers）
   添加波浪/斜面/曲线分隔，打破平直布局
   ========================================== */

/* 分隔符容器 */
.section-divider {
    position: relative;
    height: 80px;
    overflow: hidden;
    line-height: 0;
}

/* 波浪分隔符 */
.section-divider.wave svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: var(--bg-white);
}

/* 斜面分隔符 */
.section-divider.slant::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg-white);
    transform: skewY(-3deg);
    transform-origin: top left;
}

/* ==========================================
   40. 时间线增强（Timeline Enhancements）
   ========================================== */

/* 时间线项交替布局 */
.timeline-item:nth-child(even) {
    flex-direction: row-reverse;
}

/* 偶数项内容右对齐 */
.timeline-item:nth-child(even) .timeline-content {
    text-align: right;
}

/* 时间线图标（替代纯年份） */
.timeline-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--text-primary);
    color: var(--text-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
    box-shadow: var(--shadow-primary);
}

/* ==========================================
   41. 徽章与标签（Badges & Pills）
   用于状态、分类、技术栈展示
   ========================================== */

/* 徽章基础样式 */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
}

/* 主色徽章 */
.badge-primary {
    background: var(--primary-bg);
    color: var(--primary-color);
}

/* 成功徽章 */
.badge-success {
    background: var(--color-success-bg);
    color: var(--color-success);
}

/* 警告徽章 */
.badge-warning {
    background: var(--color-warning-bg);
    color: var(--color-warning);
}

/* 危险徽章 */
.badge-danger {
    background: var(--color-danger-bg);
    color: var(--color-danger);
}

/* 信息徽章 */
.badge-info {
    background: var(--color-info-bg);
    color: var(--color-info);
}

/* 紫色徽章 */
.badge-violet {
    background: var(--accent-violet-bg);
    color: var(--accent-violet-dark);
}

/* ==========================================
   42. CTA 行动召唤增强（CTA Enhancements）
   ========================================== */

/* CTA 区 */
.cta-section {
    background: var(--bg-gradient-dark);
    color: var(--text-white);
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

/* CTA装饰背景 - 靛紫色光晕 */
.cta-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.3) 0%, transparent 70%);
    pointer-events: none;
}

/* CTA内容容器 */
.cta-content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

/* CTA标题 */
.cta-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 20px;
    color: var(--text-white);
}

/* CTA描述 */
.cta-description {
    font-size: 1.15rem;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 36px;
    line-height: 1.7;
}

/* CTA按钮组 */
.cta-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* CTA白色按钮 */
.btn-white {
    background: var(--text-white);
    color: var(--primary-color);
    border: none;
}

/* CTA白色按钮悬停 */
.btn-white:hover {
    background: var(--primary-bg);
    transform: translateY(-2px);
    box-shadow: var(--shadow-xl);
}

/* CTA描边按钮（深色背景用） */
.btn-outline-white {
    background: transparent;
    color: var(--text-white);
    border: 2px solid rgba(255, 255, 255, 0.3);
}

/* 描边按钮悬停 */
.btn-outline-white:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--text-white);
}

/* ==========================================
   43. 滚动触发动画类（Scroll Reveal Classes）
   由JS IntersectionObserver添加这些类触发动画
   ========================================== */

/* 默认隐藏，等待触发 */
.reveal {
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}

/* 向上滑入 */
.reveal.slide-up {
    transform: translateY(40px);
}

/* 从左滑入 */
.reveal.slide-left {
    transform: translateX(-40px);
}

/* 从右滑入 */
.reveal.slide-right {
    transform: translateX(40px);
}

/* 缩放进入 */
.reveal.zoom-in {
    transform: scale(0.9);
}

/* 触发动画的可见状态 */
.reveal.visible {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

/* 延迟类（用于同组元素错落入场） */
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }

/* ==========================================
   44. 装饰动画（Decorative Animations）
   ========================================== */

/* 浮动动画 */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

/* 脉冲动画 */
@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(1.1); }
}

/* 旋转加载 */
@keyframes spin {
    to { transform: rotate(360deg); }
}

/* 渐变流动 */
@keyframes gradient-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* 应用渐变流动 */
.animate-gradient {
    background-size: 200% 200%;
    animation: gradient-shift 8s ease infinite;
}

/* ==========================================
   45. 信任标识区（Trust Badges）
   用于展示客户Logo、合作伙伴、认证
   ========================================== */

/* Logo墙容器 */
.logo-wall {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    align-items: center;
}

/* Logo项 */
.logo-wall-item {
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    transition: var(--transition);
    filter: grayscale(100%);
    opacity: 0.7;
}

/* Logo悬停效果 */
.logo-wall-item:hover {
    filter: grayscale(0);
    opacity: 1;
    border-color: var(--primary-color);
    transform: translateY(-4px);
}

/* Logo图片 */
.logo-wall-item img {
    max-height: 48px;
    max-width: 100%;
    object-fit: contain;
}

/* ==========================================
   46. 提示框（Alert/Callout）
   用于重要提示、信息说明
   ========================================== */

/* 提示框基础 */
.alert {
    padding: 16px 20px;
    border-radius: var(--radius-md);
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border-left: 4px solid;
    margin: 20px 0;
}

/* 信息提示 */
.alert-info {
    background: var(--color-info-bg);
    border-left-color: var(--color-info);
    color: var(--primary-dark);
}

/* 成功提示 */
.alert-success {
    background: var(--color-success-bg);
    border-left-color: var(--color-success);
    color: var(--accent-emerald-dark);
}

/* 警告提示 */
.alert-warning {
    background: var(--color-warning-bg);
    border-left-color: var(--color-warning);
    color: var(--accent-amber-dark);
}

/* 危险提示 */
.alert-danger {
    background: var(--color-danger-bg);
    border-left-color: var(--color-danger);
    color: var(--accent-rose-dark);
}

/* 提示框图标 */
.alert-icon {
    flex-shrink: 0;
    font-size: 1.25rem;
    line-height: 1.5;
}

/* 提示框内容 */
.alert-content {
    flex: 1;
}

/* 提示框标题 */
.alert-title {
    font-weight: 700;
    margin-bottom: 4px;
}

/* ==========================================
   48. 工具类（Utility Classes）
   常用布局与文本对齐工具
   ========================================== */

/* 文本对齐 */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* 宽度限制 */
.max-width-sm { max-width: 640px; margin-left: auto; margin-right: auto; }
.max-width-md { max-width: 768px; margin-left: auto; margin-right: auto; }
.max-width-lg { max-width: 1024px; margin-left: auto; margin-right: auto; }

/* 内外边距 */
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }

/* Flex 工具 */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }

/* 隐藏 */
.hidden { display: none !important; }

/* ==========================================
   49. 响应式增强（Responsive Enhancements）
   针对新增组件的响应式适配
   ========================================== */

/* 平板及以下 - 1024px */
@media (max-width: 1024px) {
    /* Logo墙变4列 */
    .logo-wall {
        grid-template-columns: repeat(4, 1fr);
    }

    /* 水平卡片变垂直 */
    .card-horizontal {
        grid-template-columns: 1fr;
    }

    /* CTA标题缩小 */
    .cta-title {
        font-size: 2rem;
    }

    /* Hero统计区间距缩小 */
    .hero-stats {
        gap: 32px;
    }
}

/* 平板 - 768px */
@media (max-width: 768px) {
    /* Logo墙变3列 */
    .logo-wall {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Hero统计区垂直布局 */
    .hero-stats {
        flex-direction: column;
        gap: 20px;
    }

    /* 时间线偶数项不再反向 */
    .timeline-item:nth-child(even) {
        flex-direction: row;
    }

    .timeline-item:nth-child(even) .timeline-content {
        text-align: left;
    }

    /* 推荐价格卡片取消缩放 */
    .pricing-card.popular {
        transform: none;
    }

    /* 对比表格水平滚动 */
    .comparison-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .comparison-table {
        min-width: 600px;
    }
}

/* 手机 - 480px */
@media (max-width: 480px) {
    /* Logo墙变2列 */
    .logo-wall {
        grid-template-columns: repeat(2, 1fr);
    }

    /* CTA标题进一步缩小 */
    .cta-title {
        font-size: 1.75rem;
    }

    /* CTA按钮组垂直 */
    .cta-actions {
        flex-direction: column;
    }

    /* CTA按钮全宽 */
    .cta-actions .btn {
        width: 100%;
    }

    /* 轮播按钮缩小 */
    .carousel-btn {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }

    /* 轮播内边距缩小 */
    .carousel {
        padding: 0 44px;
    }
}

/* ==========================================
   50. 装饰元素（Decoration Elements）
   浮动电话按钮 / 移动端适配
   Hero 星空粒子层 / 光晕层 / 滚动指示器已在前文定义
   ========================================== */

/* 浮动电话按钮 - 右下角固定，全站通用 */
.float-phone {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.5), 0 0 0 0 rgba(16, 185, 129, 0.5);
    z-index: 999;
    animation: floatPulse 2s infinite;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
}

/* 浮动电话按钮悬停 - 放大旋转 */
.float-phone:hover {
    transform: scale(1.1) rotate(10deg);
}

/* 浮动电话按钮 SVG 图标 */
.float-phone svg {
    width: 28px;
    height: 28px;
}

/* 移动端浮动电话按钮缩小 */
@media (max-width: 768px) {
    .float-phone {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
    }
    .float-phone svg {
        width: 22px;
        height: 22px;
    }
    .scroll-indicator {
        bottom: 20px;
        font-size: 20px;
    }
}

/* ==========================================
   51. 新增动画定义（New Animations）
   星空移动 / 光晕呼吸 / 浮动脉冲 / 弹跳 / 渐变流动 / 淡入上滑
   ========================================== */

/* 星空缓慢移动 - 用于 .hero-stars */
@keyframes starsMove {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 200% 200%;
    }
}

/* 光晕呼吸 - 用于 .hero-glow */
@keyframes glow {
    0%, 100% {
        opacity: 0.5;
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        opacity: 0.8;
        transform: translate(-50%, -50%) scale(1.2);
    }
}

/* 浮动脉冲 - 用于 .float-phone */
@keyframes floatPulse {
    0%, 100% {
        box-shadow: 0 8px 24px rgba(16, 185, 129, 0.5), 0 0 0 0 rgba(16, 185, 129, 0.5);
    }
    50% {
        box-shadow: 0 8px 24px rgba(16, 185, 129, 0.5), 0 0 0 16px rgba(16, 185, 129, 0);
    }
}

/* 弹跳 - 用于 .scroll-indicator */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* 渐变流动 - 用于 Hero 背景动态渐变 */
@keyframes gradientFlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* 淡入上滑 - 用于 .hero-content 初次加载动画 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 应用渐变流动到所有 Hero 变体 - 实现动态渐变效果 */
.hero-gradient-mesh,
.hero-dark,
.hero-vibrant,
.hero-warm,
.hero-cool,
.hero-dark-tech,
.hero-minimal,
.hero.page-hero {
    background-size: 200% 200%;
    animation: gradientFlow 15s ease infinite;
}

/* ==========================================
   52. SleepPod 产品页面样式
   ========================================== */

/* 产品徽章 */
.product-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-full);
    font-size: 0.95rem;
    font-weight: 500;
    color: white;
    margin-bottom: 24px;
}

/* Hero 特性徽章 */
.hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0;
}

.hero-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.95);
    transition: var(--transition);
}

.hero-badge-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

/* 数据统计区 */
.section-stats {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    padding: 60px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: center;
}

.stat-card-item {
    padding: 24px;
}

.stat-number-big {
    font-size: 3.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, #93c5fd 0%, #ffffff 50%, #bfdbfe 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    margin-bottom: 8px;
}

.stat-label-big {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

/* 十二大应用场景网格 */
.scenarios-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 48px;
}

.scenario-card-item {
    background: white;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-xl);
    padding: 28px 24px;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.scenario-card-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--primary-light));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.scenario-card-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(59, 130, 246, 0.15);
    border-color: var(--primary-light);
}

.scenario-card-item:hover::before {
    transform: scaleX(1);
}

.scenario-emoji {
    font-size: 3rem;
    margin-bottom: 16px;
    display: block;
}

.scenario-cat {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--primary-color);
    background: rgba(59, 130, 246, 0.1);
    padding: 4px 12px;
    border-radius: var(--radius-full);
    margin-bottom: 12px;
}

.scenario-name {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 10px;
}

.scenario-text {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 16px;
}

.scenario-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.scenario-tags span {
    font-size: 0.75rem;
    padding: 4px 10px;
    background: var(--bg-gray);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
}

/* 场景分类颜色 */
.scenario-pets::before {
    background: linear-gradient(90deg, #ec4899, #f97316);
}
.scenario-pets .scenario-cat {
    color: #ec4899;
    background: rgba(236, 72, 153, 0.1);
}
.scenario-kids::before {
    background: linear-gradient(90deg, #8b5cf6, #6366f1);
}
.scenario-kids .scenario-cat {
    color: #8b5cf6;
    background: rgba(139, 92, 246, 0.1);
}
.scenario-elderly::before {
    background: linear-gradient(90deg, #10b981, #14b8a6);
}
.scenario-elderly .scenario-cat {
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}
.scenario-car::before {
    background: linear-gradient(90deg, #3b82f6, #06b6d4);
}
.scenario-car .scenario-cat {
    color: #3b82f6;
    background: rgba(59, 130, 246, 0.1);
}
.scenario-logistics::before {
    background: linear-gradient(90deg, #f59e0b, #ef4444);
}
.scenario-logistics .scenario-cat {
    color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
}

/* 核心功能矩阵 */
.features-matrix-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 48px;
}

.feature-matrix-card {
    background: white;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: 24px;
    text-align: center;
    transition: var(--transition);
    position: relative;
}

.feature-matrix-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.feat-code {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 0.7rem;
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-light);
    font-weight: 600;
}

.feat-icon-box {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin: 0 auto 16px;
}

.feat-location {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(99, 102, 241, 0.12));
}
.feat-alarm {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(249, 115, 22, 0.12));
}
.feat-health {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(20, 184, 166, 0.12));
}
.feat-voice {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.12), rgba(236, 72, 153, 0.12));
}
.feat-comm {
    background: linear-gradient(135deg, rgba(6, 182, 212, 0.12), rgba(59, 130, 246, 0.12));
}
.feat-system {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(239, 68, 68, 0.12));
}

.feature-matrix-card h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.feature-matrix-card p {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 0;
}

/* 架构标签 */
.feat-arch-icon {
    font-size: 3rem;
    margin-bottom: 16px;
}

.arch-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.arch-tags span {
    font-size: 0.8rem;
    padding: 6px 14px;
    background: rgba(96, 165, 250, 0.15);
    border: 1px solid rgba(96, 165, 250, 0.25);
    border-radius: var(--radius-md);
    color: #93c5fd;
    font-family: 'JetBrains Mono', monospace;
}

/* AI 特性卡片 */
.ai-feature-card {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: var(--radius-xl) !important;
    padding: 28px !important;
    transition: var(--transition);
}

.ai-feature-card:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(96, 165, 250, 0.3) !important;
    transform: translateY(-4px);
}

.ai-feature-icon {
    font-size: 2.5rem;
    margin-bottom: 16px;
    display: block;
}

/* 功能列表 */
.feature-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0 0;
}

.feature-list li {
    position: relative;
    padding-left: 24px;
    padding-bottom: 10px;
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

.feature-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--primary-color);
    font-weight: 700;
}

.extend-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
}

/* 响应式适配 - 产品页面 */
@media (max-width: 1024px) {
    .scenarios-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .features-matrix-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .scenarios-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .features-matrix-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .stat-number-big {
        font-size: 2.5rem;
    }
    .scenario-card-item {
        padding: 20px 16px;
    }
    .scenario-emoji {
        font-size: 2.5rem;
    }
}

@media (max-width: 480px) {
    .scenarios-grid {
        grid-template-columns: 1fr;
    }
    .features-matrix-grid {
        grid-template-columns: 1fr;
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .hero-badges {
        gap: 8px;
    }
    .hero-badge-item {
        font-size: 0.8rem;
        padding: 5px 10px;
    }
}
