/* 全局样式重置 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 根变量定义 - 更新配色方案 */
:root {
    --primary-color: #3A2EA5;         /* 主色：紫蓝 */
    --secondary-color: #2D225A;       /* 深紫蓝 */
    --accent-color: #7B5CFF;          /* 强调色：亮紫蓝 */
    --accent-warm: #6FC3FF;           /* 次强调：蓝紫渐变 */
    --light-gray: #F8FAFC;
    --silver-blue: #B0C4DE;
    --white: #FFFFFF;
    --text-light: #E0E6EF;
    --text-gray: #6B7280;
    --dark-bg: #181A2A;               /* 深背景紫蓝 */
    --container-width: 1200px;
    --grid-gap: 24px;
    --border-radius: 12px;
    --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =========================
   Theme Override: Purple + Gold (Logo-inspired)
   ========================= */
:root {
  --brand-navy: #0F1330;
  --brand-purple: #8E3AC7;
  --brand-purple-deep: #6D2C91;
  --brand-gold: #F5B301;
  --brand-gold-deep: #D99A00;
  /* map legacy tokens */
  --primary-color: var(--brand-purple);
  --secondary-color: var(--brand-purple-deep);
  --accent-color: var(--brand-purple);
  --accent-warm: var(--brand-gold);
  --dark-bg: var(--brand-navy);
  --text-gray: #9CA3AF;
}

/* 基础样式 */
body {
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Montserrat", "PingFang SC", sans-serif;
    line-height: 1.4;
    margin-bottom: 1rem;
}

h1 { font-size: 52px; font-weight: 700; letter-spacing: -0.02em; }
h2 { font-size: 42px; font-weight: 600; letter-spacing: -0.01em; }

/* ===== 知识产权模块（荣誉后新增） ===== */
.ip-section { padding: 60px 0; background: linear-gradient(160deg, #181A2A 0%, #2D225A 100%); }
.ip-wrap { max-width: var(--container-width); margin: 0 auto; padding: 0 24px; color: var(--white); }
.ip-block { background: rgba(255,255,255,0.06); border: 1.5px solid rgba(255,255,255,0.12); border-radius: 20px; box-shadow: 0 8px 28px rgba(0,0,0,0.18); padding: 22px; }
.ip-block + .ip-block { margin-top: 22px; }
.ip-header { margin-bottom: 14px; text-align: left; }
.ip-title { font-size: 26px; font-weight: 900; color: #fff; letter-spacing: .5px; margin: 0 0 8px 0; }
.ip-sub { color: #E9D5FF; font-size: 15px; line-height: 1.9; margin: 0; opacity: .95; }
.ip-band { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.ip-badge { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: rgba(123,92,255,0.18); border: 1px solid rgba(123,92,255,0.35); color: #EDE9FE; font-weight: 800; font-size: 13px; }
.ip-sep { color: #cfe1ff; opacity: .7; }

.ip-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 20px; align-items: start; }
.ip-table-wrap { overflow: hidden; background: rgba(0,0,0,0.12); border-radius: 16px; border: 1px solid rgba(255,255,255,0.08); }
/* 兼容隐藏滚动条（双保险） */
.ip-table-wrap::-webkit-scrollbar { display: none; }
.ip-table-wrap { -ms-overflow-style: none; scrollbar-width: none; }
.ip-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ip-table th, .ip-table td { word-break: break-word; white-space: normal; hyphens: auto; }
.ip-table thead th { background: rgba(255,255,255,0.06); color: #EDE9FE; font-weight: 800; text-align: left; padding: 10px 12px; font-size: 14px; border-bottom: 1px solid rgba(255,255,255,0.12); }
.ip-table tbody td { padding: 10px 12px; font-size: 14px; color: var(--text-light); border-bottom: 1px dashed rgba(255,255,255,0.10); }
.ip-table tbody tr:last-child td { border-bottom: none; }
.ip-state { padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; color: #fff; white-space: nowrap; }
.ip-state.pass { background: linear-gradient(90deg, #06C270, #00B894); }
.ip-state.open { background: linear-gradient(90deg, #2D9CDB, #56CCF2); }
.ip-state.apply { background: linear-gradient(90deg, #F59E0B, #F97316); }
.ip-state.pph { background: linear-gradient(90deg, #8B5CF6, #7C3AED); }
.ip-note { margin-top: 8px; color: #BBD0E9; font-size: 12px; opacity: .9; }

.ip-certs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ip-certs img { width: 100%; height: 225px; object-fit: contain; background: #fff; border-radius: 12px; box-shadow: 0 6px 22px rgba(0,0,0,0.18); }

.ip-cert { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ip-cert img { width: 400px; height: 480px; object-fit: contain; background: #fff; border-radius: 12px; box-shadow: 0 6px 22px rgba(0,0,0,0.18); }

.ip-block--global .ip-title { font-size: 24px; }
.ip-table--global thead th { background: rgba(123,92,255,0.16); }

@media (max-width: 1100px) {
    .ip-grid { grid-template-columns: 1fr; }
    .ip-certs { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 700px) {
    .ip-title { font-size: 20px; }
    .ip-certs { grid-template-columns: repeat(2, 1fr); }
    .ip-table thead th, .ip-table tbody td { font-size: 13px; padding: 8px 10px; }
}
h3 { font-size: 28px; font-weight: 600; }
h4 { font-size: 24px; font-weight: 600; }

p {
    margin-bottom: 1rem;
    line-height: 1.7;
    font-size: 16px;
}

/* 容器与网格系统 */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}

.grid {
    display: grid;
    gap: var(--grid-gap);
}

.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

.col-span-6 { grid-column: span 6; }

.gap-4 { gap: 16px; }
.gap-6 { gap: 24px; }
.gap-8 { gap: 32px; }

/* 按钮样式升级 */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    height: 52px;
    border-radius: var(--border-radius);
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    transition: all var(--transition);
    border: 2px solid transparent;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.btn-primary {
    background: linear-gradient(135deg, var(--accent-color), #4B3AFF);
    color: var(--white);
    box-shadow: 0 8px 24px rgba(123, 92, 255, 0.18);
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(123, 92, 255, 0.28);
}

.btn-outline {
    background: rgba(255, 255, 255, 0.08);
    color: var(--white);
    border-color: var(--accent-color);
    backdrop-filter: blur(10px);
}

.btn-outline:hover {
    background: var(--accent-color);
    color: var(--white);
    transform: translateY(-2px);
}

/* Header 样式 - 增强 */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(58, 46, 165, 0.88);
    backdrop-filter: blur(12px);
    padding: 16px 0;
    color: var(--white);
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.1);
    transition: background var(--transition), box-shadow var(--transition);
}

.site-header.scrolled {
    background: rgba(61, 44, 180, 0.92);
    box-shadow: 0 4px 24px rgba(0,0,0,0.2);
}

.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo img {
    transition: transform var(--transition);
}


.logo:hover img {
    transform: scale(1.05);
}

.main-nav ul {
    display: flex;
    list-style: none;
    gap: 32px;
}

.main-nav a {
    color: var(--white);
    text-decoration: none;
    font-size: 16px;
    transition: color var(--transition);
    position: relative;
    padding: 8px 4px;
}

.main-nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--accent-color);
    transition: all var(--transition);
    transform: translateX(-50%);
}

.main-nav a:hover,
.main-nav a.active {
    color: var(--accent-color);
}

.main-nav a:hover::after,
.main-nav a.active::after {
    width: 100%;
}

.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    background: none;
    border: none;
    cursor: pointer;
    gap: 4px;
}

.mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background: var(--white);
    transition: var(--transition);
}

/* Hero 区域升级 */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: var(--white);
    position: relative;
    overflow: hidden;
    perspective: 1px;
    perspective-origin: top;
    background: linear-gradient(135deg, #3A2EA5 0%, #181A2A 100%);
}

.hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(.4,0,.2,1);
    will-change: opacity;
}

.hero-video-bg.visible {
    opacity: 1;
}

.hero-video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.08);
    transition: transform 1.2s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(58,46,165,0.45), rgba(31, 24, 80, 0.38));
    z-index: -1;
    pointer-events: none;
}

.hero .container {
    position: relative;
    z-index: 10;
}

.hero-content {
    position: relative;
    z-index: 2;
    will-change: transform, opacity;
    transition: transform 0.8s cubic-bezier(.4,0,.2,1), opacity 0.8s;
}

.hero-content.parallax {
    transform: translateY(var(--hero-parallax, 0px));
    opacity: var(--hero-opacity, 1);
}

.hero-content h1 {
    font-size: 56px;
    font-weight: 700;
    margin-bottom: 24px;
    color: var(--white);
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    line-height: 1.2;
}

.hero-content p {
    font-size: 20px;
    color: var(--text-light);
    margin-bottom: 40px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    max-width: 600px;
}

.hero-ctas {
    display: flex;
    gap: 20px;
    margin-top: 32px;
}

.hero-media {
    /* 视差滚动区域 */
    will-change: transform;
    transition: transform 0.8s cubic-bezier(.4,0,.2,1);
}

/* 数据统计浮层 */
.stats-floating {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 24px 48px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

.stats-row {
    display: flex;
    gap: 48px;
    align-items: center;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary-color);
    display: block;
    line-height: 1;
}

.stat-label {
    font-size: 14px;
    color: var(--text-gray);
    margin-top: 4px;
}

/* 产品展示区升级 - 重构 */
.products {
    padding: 120px 0;
    background: linear-gradient(160deg, #3A2EA5 0%, #181A2A 100%);
    position: relative;
    overflow: hidden;
}

.products .section-title {
    color: var(--white);
    text-shadow: 0 2px 12px rgba(0,192,255,0.18);
}

.product-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    border: 1.5px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    transition: all var(--transition);
    text-align: center;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transform-style: preserve-3d;
    will-change: transform;
}

.product-card:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--accent-color);
    box-shadow: 0 16px 48px rgba(0,192,255,0.15);
    /* transform由JS控制 */
}

.product-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, #0044ff22 0%, #FF8C0022 100%);
    opacity: 0;
    transition: opacity 0.5s;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
}

.product-card:hover::before {
    opacity: 1;
}

.media-wrapper {
    margin-bottom: 24px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.media-wrapper img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    transition: transform var(--transition);
}

.product-card:hover .media-wrapper img {
    transform: scale(1.05);
}

.product-card h3 {
    color: var(--white);
    margin-bottom: 16px;
    font-size: 24px;
}

.product-card p {
    color: var(--text-light);
    font-size: 15px;
    margin-bottom: 24px;
    line-height: 1.6;
}

.product-tagline {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, var(--accent-color), #0099CC);
    color: white;
    padding: 12px;
    font-size: 14px;
    font-weight: 500;
    transform: translateY(100%);
    transition: transform var(--transition);
    margin-bottom: 0;
}

.product-card:hover .product-tagline {
    transform: translateY(0);
}

.product-card a.btn-sm {
    margin-top: auto;
    margin-bottom: 48px; /* 保证与底部标签有间距，可根据实际视觉调整 */
}

/* 技术优势区域 - 重构 */
.technology {
    padding: 120px 0;
    background: linear-gradient(160deg, #3A2EA5 0%, #181A2A 100%);
    color: var(--white);
}

.technology .section-title {
    color: var(--white);
    text-shadow: 0 2px 12px rgba(0,192,255,0.18);
}

.tech-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 48px;
    margin-top: 64px;
    align-items: stretch;
}

.tech-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 64px;
    border-radius: 20px;
    padding: 48px 32px;
    position: relative;
    width: 100%;
    max-width: 1100px;
}

.tech-item:nth-child(even) {
    flex-direction: row-reverse;
}

.tech-content {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 0;
    text-align: center;
}

.tech-icon-large {
    width: 72px;
    height: 72px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-warm));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 32px rgba(0,192,255,0.18);
}

.tech-content h3 {
    font-size: 26px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 20px;
    letter-spacing: 1px;
    text-shadow: 0 2px 12px rgba(0,192,255,0.10);
}

.tech-item ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tech-item li {
    color: var(--text-light);
    margin-bottom: 14px;
    padding-left: 28px;
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    text-align: left;
}

.tech-content ul {
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
}

.tech-item li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--accent-color);
    font-weight: bold;
    font-size: 18px;
    top: 0;
}

.tech-visual {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tech-visual img {
    width: 420px;
    max-width: 100%;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.2);
    object-fit: cover;
    transition: transform var(--transition);
}

/* hover 效果由子元素与JS控制，避免空规则集 */

.tech-item:hover .tech-visual img {
    transform: scale(1.04);
}

@media (max-width: 1200px) {
    .tech-features {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .tech-item {
        flex-direction: column !important;
        padding: 32px 12px;
        gap: 32px;
        max-width: 100vw;
    }
    .tech-content {
        align-items: center;
        padding: 0;
        text-align: center;
    }
    .tech-visual img {
        width: 100%;
        max-width: 320px;
    }
}

@media (max-width: 768px) {
    .technology {
        padding: 48px 0;
    }
    .tech-features {
        gap: 18px;
        margin-top: 32px;
    }
    .tech-item {
        padding: 18px 2px;
        gap: 18px;
    }
    .tech-icon-large {
        width: 56px;
        height: 56px;
        margin-bottom: 10px;
    }
    .tech-content h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .tech-item li {
        font-size: 14px;
        margin-bottom: 8px;
        padding-left: 20px;
    }
    .tech-visual img {
        max-width: 200px;
    }
}

/* VR培训深度区 - 重构 */
.vr-training {
    padding: 120px 0;
    background: linear-gradient(160deg, #3A2EA5 0%, #181A2A 100%);
    color: var(--white);
}

.vr-training .section-title {
    color: var(--white);
    text-shadow: 0 2px 12px rgba(0,192,255,0.18);
}

.vr-video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 64px;
}

.vr-video-item {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    transition: all var(--transition);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    border: 1.5px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    transform-style: preserve-3d;
    will-change: transform;
}

.vr-video-item:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--accent-color);
    box-shadow: 0 16px 48px rgba(0,192,255,0.15);
    /* transform由JS控制 */
}

.video-wrapper {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}
.video-enlarge-btn {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 4;
    background: rgba(0,0,0,0.32);
    border: none;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 8px rgba(0,192,255,0.10);
    opacity: 0.85;
}
.video-enlarge-btn:hover {
    background: rgba(0,192,255,0.7);
    opacity: 1;
}
.video-enlarge-btn svg {
    display: block;
    width: 24px;
    height: 24px;
}
.video-wrapper video {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    transition: filter 0.3s;
    background: #000;
}

.video-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(26, 42, 73, 0.4), rgba(0, 192, 255, 0.3));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    opacity: 1;
    transition: opacity 0.5s;
    cursor: pointer;
}

.video-cover.hide {
    opacity: 0;
    pointer-events: none;
}

.video-play-btn {
    width: 64px;
    height: 64px;
    background: rgba(0,192,255,0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,192,255,0.18);
    cursor: pointer;
    transition: background 0.3s;
}

.video-play-btn:hover {
    background: var(--accent-warm);
}

.video-play-btn svg {
    width: 32px;
    height: 32px;
    fill: #fff;
}

.video-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
    color: var(--white);
    padding: 24px;
    z-index: 3;
    pointer-events: none;
}

/* 成功案例（新样式：卡片网格 + 分类筛选） */
.cases { padding: 120px 0; background: linear-gradient(160deg, #3A2EA5 0%, #181A2A 100%); color: var(--white); }
.cases .section-title { color: var(--white); text-shadow: 0 2px 12px rgba(0,192,255,0.18); }
.cases .cases-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.case-filter { display: flex; gap: 10px; flex-wrap: wrap; }
.case-chip { height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.06); color: #EDE9FE; font-size: 14px; font-weight: 700; cursor: pointer; transition: all .25s; }
.case-chip:hover { background: rgba(255,255,255,0.12); border-color: var(--accent-color); }
.case-chip.active { background: linear-gradient(90deg, var(--accent-color), var(--accent-warm)); color: #fff; border-color: transparent; box-shadow: 0 6px 20px rgba(123,92,255,0.28); }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 28px; align-items: stretch; }
.case-card { display: flex; flex-direction: column; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 18px; overflow: hidden; box-shadow: 0 8px 28px rgba(0,0,0,0.18); transform-style: preserve-3d; transition: transform .25s, box-shadow .25s, background .25s; }
.case-card:hover { transform: translateY(-6px); box-shadow: 0 16px 48px rgba(0,0,0,0.28); background: rgba(255,255,255,0.10); }
.case-media { position: relative; aspect-ratio: 16/9; background: linear-gradient(180deg, #0b1024, #121735); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.case-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: drop-shadow(0 8px 24px rgba(0,0,0,0.28)); transition: transform .35s; }
.case-card:hover .case-media img { transform: scale(1.05); }
.case-metric { position: absolute; right: 12px; top: 12px; width: 96px; height: 96px; border-radius: 50%; background: radial-gradient(circle at 40% 30%, #C4B5FD 0%, #7B5CFF 60%, #4B3AFF 100%); color: #fff; display: grid; place-items: center; text-align: center; box-shadow: 0 10px 28px rgba(123,92,255,0.35); }
.case-metric strong { display: block; font-size: 18px; line-height: 1; letter-spacing: .5px; }
.case-metric em { display: block; font-size: 12px; opacity: .95; margin-top: 4px; font-style: normal; }
.case-metric.metric-warm { background: radial-gradient(circle at 40% 30%, #FFE8A3 0%, #F5B301 60%, #D99A00 100%); box-shadow: 0 10px 28px rgba(245,179,1,0.35); }
.case-body { padding: 16px 16px 10px 16px; display: flex; flex-direction: column; gap: 8px; }
.case-title { font-size: 18px; font-weight: 800; color: #fff; margin: 0; }
.case-desc { font-size: 14px; color: var(--text-light); margin: 0; }
.case-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.case-tags span { padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); color: #E0E6EF; font-size: 12px; font-weight: 700; }
.case-foot { padding: 10px 16px 16px 16px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.case-cat { color: var(--accent-warm); font-size: 12px; font-weight: 900; letter-spacing: .5px; }
.case-link { color: var(--accent-color); text-decoration: none; font-weight: 800; font-size: 14px; }
.case-link:hover { text-decoration: underline; color: var(--accent-warm); }
.case-card[hidden] { display: none !important; }

@media (max-width: 1100px) { .case-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .case-grid { grid-template-columns: 1fr; } .cases .cases-head { gap: 8px; } }

/* 联系我们新版布局 */
.contact-flex {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.contact-form-panel {
    flex: 1 1 340px;
    min-width: 320px;
    max-width: 480px;
}
.contact-info-panel {
    flex: 1 1 320px;
    min-width: 280px;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.contact-info-card, .contact-map-card {
    background: rgba(255,255,255,0.08);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,192,255,0.08);
    padding: 28px 24px 20px 24px;
    margin-bottom: 0;
    border: 1.5px solid rgba(255,255,255,0.10);
    color: var(--text-light);
}
.contact-info-card h3,
.contact-map-card h3 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 18px;
    font-weight: 600;
}
.contact-info-list {
    font-size: 16px;
    color: var(--text-light);
    line-height: 2;
}
.contact-info-list a {
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.2s;
}
.contact-info-list a:hover {
    color: var(--accent-warm);
    text-decoration: underline;
}
.contact-map-placeholder {
    width: 100%;
    height: 160px;
    border-radius: 10px;
    background: linear-gradient(135deg, #1A2A49 60%, #00C0FF22 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-size: 15px;
    position: relative;
    overflow: hidden;
}
.map-fake {
    color: #b0c4de;
    font-size: 15px;
    letter-spacing: 2px;
    opacity: 0.7;
}
@media (max-width: 900px) {
    .contact-flex {
        flex-direction: column;
        gap: 32px;
        max-width: 98vw;
        padding: 0 8px;
    }
    .contact-form-panel, .contact-info-panel {
        max-width: 100%;
        min-width: 0;
    }
}
@media (max-width: 600px) {
    .contact-flex {
        gap: 16px;
        padding: 0 2px;
    }
    .contact-info-card, .contact-map-card {
        padding: 14px 8px 10px 8px;
    }
}

/* Hero 粒子动画层 */
.hero-particles {
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}
.hero-particle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.18;
    background: radial-gradient(circle, #00C0FF 0%, #fff0 80%);
    animation: particleMove 8s linear infinite;
}
@keyframes particleMove {
    0% { transform: translateY(0) scale(1);}
    100% { transform: translateY(-120px) scale(1.2);}
}

/* section标题流光动画 */
.section-title {
    position: relative;
    overflow: visible;
    text-align: center;
}
.section-title::before {
    content: '';
    position: absolute;
    left: 50%; top: -18px;
    width: 120px; height: 8px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #7B5CFF 0%, #6FC3FF 100%);
    border-radius: 4px;
    filter: blur(8px);
    opacity: 0.5;
    animation: titleGlow 2.8s infinite linear;
}
@keyframes titleGlow {
    0% { opacity: 0.5; }
    50% { opacity: 1; }
    100% { opacity: 0.5; }
}

/* 按钮流光动画 */
.btn-primary, .btn-outline {
    position: relative;
    overflow: hidden;
}
.btn-primary::after, .btn-outline::after {
    content: '';
    position: absolute;
    left: -60px; top: 0;
    width: 60px; height: 100%;
    background: linear-gradient(120deg, #fff 0%, #7B5CFF 80%);
    opacity: 0.18;
    transform: skewX(-24deg);
    animation: btnShine 2.2s infinite linear;
}
@keyframes btnShine {
    0% { left: -60px; }
    100% { left: 100%; }
}

/* 全屏视频弹窗样式 */
.video-modal {
    display: none;
    position: fixed;
    z-index: 2000;
    left: 0; top: 0; width: 100vw; height: 100vh;
    background: rgba(10,20,40,0.92);
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}
.video-modal.active {
    display: flex;
}
.video-modal-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    width: 900px;
    background: transparent;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
#video-modal-player {
    width: 100%;
    height: 70vh;
    background: #000;
    border-radius: 12px;
    outline: none;
    object-fit: contain;
}
.video-modal-close {
    position: absolute;
    top: 12px;
    right: 18px;
    font-size: 36px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
    opacity: 0.8;
    transition: opacity 0.2s;
}
.video-modal-close:hover {
    opacity: 1;
}
@media (max-width: 900px) {
    .video-modal-content {
        width: 98vw;
        max-width: 98vw;
    }
    #video-modal-player {
        height: 40vw;
        min-height: 180px;
    }
}
@media (max-width: 600px) {
    .video-modal-content {
        width: 100vw;
        max-width: 100vw;
        border-radius: 0;
    }
    #video-modal-player {
        height: 38vw;
        min-height: 120px;
    }
}

/* 新增：关于我们与联系我们上下分栏样式 */
.about-section {
    background: linear-gradient(160deg, #3A2EA5 0%, #181A2A 100%);
    color: var(--white);
    padding: 120px 0 60px 0;
}
.about-section .about-company {
    max-width: 600px;
    margin: 0 auto;
}
.contact-section {
    background: linear-gradient(160deg, #181A2A 0%, #3A2EA5 100%);
    color: var(--white);
    padding: 60px 0 120px 0;
}
.contact-section .contact-side {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
@media (max-width: 900px) {
    .about-section, .contact-section {
        padding: 48px 0 32px 0;
    }
    .about-section .about-company,
    .contact-section .contact-side {
        max-width: 98vw;
        padding: 0 8px;
    }
}
@media (max-width: 600px) {
    .about-section, .contact-section {
        padding: 32px 0 18px 0;
    }
}

/* 企业介绍/荣誉/来访资讯模块复用样式 */
.company-intro, .company-honor, .visit-info {
    max-width: 600px;
    margin: 0 auto;
}
.company-honor .cert-list {
    margin-top: 24px;
}
.visit-info .contact-info-list {
    font-size: 16px;
    color: var(--text-light);
    line-height: 2;
    margin-top: 18px;
}
@media (max-width: 900px) {
    .company-intro, .company-honor, .visit-info {
        max-width: 98vw;
        padding: 0 8px;
    }
}
@media (max-width: 600px) {
    .company-intro, .company-honor, .visit-info {
        padding: 0 2px;
    }
}

.resources-list-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    border: 1.5px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    transition: all var(--transition);
}

.resources-list-card:hover {
    border-color: var(--accent-color);
    box-shadow: 0 16px 48px rgba(0,192,255,0.15);
}

.resource-block h4 {
    font-size: 20px;
    color: var(--white);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

.resource-list {
    list-style: none;
    padding: 0;
}

.resource-list li {
    margin-bottom: 14px;
}

.resource-list a {
    color: var(--text-light);
    text-decoration: none;
    transition: color var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.resource-list a:hover {
    color: var(--accent-warm);
}

.resource-list .date {
    font-size: 13px;
    color: var(--text-gray);
    margin-left: 12px;
    flex-shrink: 0;
}

.resource-list .item-icon {
    font-size: 20px;
    color: var(--accent-color);
    transition: transform var(--transition);
}

.resource-list a:hover .item-icon {
    transform: translateX(4px);
}

@media (max-width: 1200px) {
    .news-resources-layout {
        grid-template-columns: 1fr;
    }
    .main-news-card {
        height: 400px;
    }
}

@media (max-width: 768px) {
    .main-news-overlay .news-title {
        font-size: 22px;
    }
}

/* 关于我们模块 - 新增样式 */
.company-overview {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}
.company-overview .co-header {
    max-width: 980px;
    margin: 0 auto 32px auto;
    text-align: center;
}
.company-overview .co-title {
    color: var(--white);
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 12px;
}
.company-overview .co-subtitle {
    color: var(--text-light);
    font-size: 16px;
    line-height: 1.9;
    opacity: 0.95;
}
.company-overview .co-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 32px;
    align-items: stretch;
    margin-top: 28px;
}
.co-left {
    display: grid;
    gap: 24px;
}
.co-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    padding: 24px 22px 22px 22px;
    position: relative;
    overflow: hidden;
}
.co-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #fff;
    background: linear-gradient(90deg, #7B5CFF 0%, #6FC3FF 100%);
    border-radius: 999px;
    box-shadow: 0 2px 12px rgba(123,92,255,.28);
    margin-bottom: 14px;
}
.co-card h3 {
    font-size: 20px;
    color: #1A2A49;
    margin: 2px 0 8px 0;
    font-weight: 700;
}
.co-desc {
    color: #2D3E50;
    font-size: 15px;
    line-height: 1.8;
    margin: 0 0 6px 0;
}
.co-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
    display: grid;
    gap: 10px;
}
.co-list li {
    position: relative;
    padding-left: 28px;
    color: #2D3E50;
    font-size: 15px;
    line-height: 1.7;
}
.co-list li::before {
    content: '✔';
    position: absolute;
    left: 0;
    top: 0;
    color: #00C0FF;
    font-weight: 800;
}
.co-list li em {
    font-style: normal;
    color: #111827;
    font-weight: 700;
}
.co-photo-card {
    background: rgba(255,255,255,0.06);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    padding: 12px;
    border: 1px solid rgba(255,255,255,0.12);
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    justify-content: center;
}
.co-photo-card img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.18);
    background: #fff;
}
.co-photo-caption {
    color: var(--text-light);
    font-size: 14px;
    text-align: center;
    opacity: .9;
}

/* 响应式 */
@media (max-width: 1000px) {
    .company-overview .co-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .co-photo-card img {
        height: 220px;
    }
}
@media (max-width: 600px) {
    .company-overview { padding: 0 8px; }
    .company-overview .co-title { font-size: 24px; }
    .co-card { padding: 14px 10px; }
    .co-chip { font-size: 12px; padding: 4px 10px; }
    .co-list li { font-size: 14px; }
}

/* 动画效果 */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 响应式设计增强 */
@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }
    .grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tech-item {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .tech-item:nth-child(even) {
        direction: ltr;
    }
    .footer-content {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

@media (max-width: 768px) {
    .container {
        padding: 0 16px;
    }
    .hero-content h1 {
        font-size: 36px;
    }
    .stats-floating {
        position: static;
        transform: none;
        margin-top: 40px;
        padding: 20px;
    }
    .stats-row {
        flex-direction: column;
        gap: 24px;
    }
    .vr-video-grid,
    .news-grid {
        grid-template-columns: 1fr;
    }
    .ai-flow-container {
        grid-template-columns: 1fr;
    }
    .data-track {
        gap: 40px;
    }
    .data-number {
        font-size: 32px;
    }
    .footer-content {
        grid-template-columns: 1fr;
        gap: 32px;
        text-align: center;
    }
    .footer-logo {
        padding-right: 0;
    }
    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
    }
}

/* 新闻时间轴样式 */
.news-timeline-scroll {
    overflow-x: auto;
    padding-bottom: 8px;
    margin-bottom: 48px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.news-timeline {
    display: flex;
    gap: 32px;
    min-width: 900px;
    margin: 0 auto;
    /* 新增：允许内容横向排列且不隐藏内容 */
    flex-wrap: nowrap;
}

.news-timeline-item {
    background: var(--white);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    min-width: 320px;
    max-width: 360px;
    flex: 0 0 360px;
    display: flex;
    flex-direction: column;
    position: relative;
    padding: 0;
    /* 保证内容显示全 */
    overflow: visible;
}

.news-thumb {
    width: 100%;
    height: 160px;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-meta {
    padding: 20px 24px 24px 24px;
    width: 100%;
    box-sizing: border-box;
}

.news-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 12px;
    line-height: 1.4;
    position: relative;
    cursor: pointer;
    white-space: normal;
    word-break: break-all;
}

.news-meta p {
    color: var(--text-gray);
    font-size: 15px;
    margin-bottom: 0;
    white-space: normal;
    word-break: break-all;
}

@media (max-width: 1200px) {
    .news-timeline {
        min-width: 0;
        gap: 16px;
    }
    .news-timeline-item {
        min-width: 260px;
        max-width: 320px;
        flex: 0 0 320px;
    }
    .news-thumb {
        height: 120px;
    }
}

@media (max-width: 768px) {
    .news-timeline {
        gap: 12px;
    }
    .news-timeline-item {
        min-width: 220px;
        max-width: 260px;
        flex: 0 0 260px;
    }
    .news-thumb {
        height: 80px;
    }
}

/* 数据 KPI 区域样式 */
.data-kpi-bar {
    position: relative;
    background: linear-gradient(120deg, #181A2A 70%, #3A2EA5 100%);
    padding: 80px 0 56px 0;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 8px 48px 0 rgba(0,192,255,0.10);
}
.data-kpi-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 60% 40%, #7B5CFF33 0%, #181A2A00 80%);
    opacity: 0.7;
    z-index: 0;
    pointer-events: none;
}
.data-kpi-bg {
    position: absolute;
    inset: 0;
    background: url('assets/kpi-bg.png'), linear-gradient(120deg, #3A2EA5 80%, #2D225A 100%);
    background-size: cover;
    background-position: center;
    opacity: 0.22;
    z-index: 0;
    pointer-events: none;
    mix-blend-mode: lighten;
}
.data-kpi-container {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 32px;
    box-shadow: 0 8px 48px 0 rgba(0,192,255,0.10);
    background: rgba(255,255,255,0.03);
    overflow: hidden;
}
.data-kpi-item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 18px;
    color: #fff;
    text-align: center;
    min-width: 220px;
    position: relative;
    transition: background 0.3s, box-shadow 0.3s, transform 0.3s;
    background: rgba(255,255,255,0.02);
    cursor: pointer;
}
.data-kpi-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0; top: 18%;
    width: 2px; height: 64%;
    background: linear-gradient(180deg, #00C0FF33 0%, #FF8C0033 100%);
    border-radius: 2px;
    opacity: 0.18;
    z-index: 1;
}
.data-kpi-item:hover {
    background: rgba(0,192,255,0.10);
    box-shadow: 0 8px 32px 0 #00C0FF33;
    transform: translateY(-6px) scale(1.04);
}
.data-kpi-icon {
    margin-bottom: 18px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 0 12px #00C0FF44);
    transition: filter 0.3s;
}
.data-kpi-item:hover .data-kpi-icon {
    filter: drop-shadow(0 0 24px #00C0FF88);
}
.data-kpi-num {
    font-size: 80px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 8px;
    color: #00C0FF;
    line-height: 1.1;
    text-shadow: 0 4px 24px #00C0FF44, 0 1px 0 #fff8;
    background: linear-gradient(90deg, #00C0FF 40%, #FF8C00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: color 0.3s, text-shadow 0.3s;
    position: relative;
}
.data-kpi-item:hover .data-kpi-num {
    text-shadow: 0 8px 32px #00C0FF88, 0 2px 0 #fff8;
}
.data-kpi-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #fff;
    opacity: 0.98;
    letter-spacing: 1px;
    text-shadow: 0 2px 8px #00C0FF22;
}
.data-kpi-desc {
    font-size: 16px;
    color: #fff;
    opacity: 0.85;
    font-weight: 400;
    margin-bottom: 0;
    text-shadow: 0 1px 4px #00C0FF11;
}
@media (max-width: 1200px) {
    .data-kpi-container {
        flex-direction: column;
        gap: 32px;
        max-width: 96vw;
        border-radius: 18px;
    }
    .data-kpi-item {
        min-width: 0;
        padding: 24px 0;
    }
    .data-kpi-item:not(:last-child)::after {
        display: none;
    }
}
@media (max-width: 768px) {
    .data-kpi-bar {
        padding: 32px 0 24px 0;
    }
    .data-kpi-container {
        flex-direction: column;
        gap: 24px;
        border-radius: 10px;
    }
    .data-kpi-item {
        min-width: 0;
        padding: 18px 0;
    }
    .data-kpi-num {
        font-size: 40px;
    }
    .data-kpi-title {
        font-size: 16px;
    }
    .data-kpi-desc {
        font-size: 13px;
    }
}

/* 荣誉展示轮播样式 */
.honor-swiper {
    margin-top: 48px;
    margin-bottom: 24px;
    width: 100%;
    max-width: 700px;
}
.honor-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    background: rgba(255,255,255,0.06);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,192,255,0.08);
    padding: 32px 18px 24px 18px;
    min-height: 420px;
    text-align: center;
    transition: box-shadow 0.3s;
}
.honor-slide img {
    margin-bottom: 24px;
    max-height: 180px;
    object-fit: contain;
    background: #fff;
}
.honor-desc h4 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 12px;
    font-weight: 600;
}
.honor-desc p {
    color: var(--text-light);
    font-size: 15px;
    margin-bottom: 0;
}
.honor-swiper .swiper-pagination {
    margin-top: 24px;
    position: relative;
}
.honor-swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255,255,255,0.4);
    opacity: 0.6;
    margin: 0 6px !important;
    transition: all 0.3s;
}
.honor-swiper .swiper-pagination-bullet-active {
    width: 32px;
    border-radius: 5px;
    background: var(--accent-color);
    opacity: 1;
}
@media (max-width: 900px) {
    .honor-swiper {
        max-width: 98vw;
    }
    .honor-slide {
        min-height: 320px;
        padding: 18px 4px 12px 4px;
    }
    .honor-slide img {
        max-height: 120px;
    }
}

/* 来访资讯左右布局和视觉冲击样式 */
.visit-info-flex {
    display: flex;
    gap: 48px;
    align-items: stretch;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
    margin-top: 48px;
}
.visit-info-left, .visit-info-right {
    flex: 1 1 0;
    min-width: 320px;
    max-width: 540px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.visit-video-card {
    background: linear-gradient(120deg, #00C0FF22 0%, #FF8C0022 100%);
    border-radius: 24px;
    box-shadow: 0 8px 48px #00C0FF22;
    padding: 32px 24px 24px 24px;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: visitFadeInLeft 1s cubic-bezier(.4,0,.2,1);
}
@keyframes visitFadeInLeft {
    from { opacity: 0; transform: translateX(-60px) scale(0.96);}
    to { opacity: 1; transform: none;}
}
.visit-video-desc {
    margin-top: 28px;
    text-align: left;
    color: var(--white);
}
.visit-video-desc h3 {
    font-size: 22px;
    color: var(--brand-gold);
    margin-bottom: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}
.visit-video-desc p {
    color: var(--text-light);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 0;
}

.visit-info-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.visit-history-card {
    background: linear-gradient(120deg, #1A2149 80%, rgba(245,179,1,0.15) 100%);
    border-radius: 24px;
    box-shadow: 0 8px 48px rgba(245,179,1,0.18);
    padding: 32px 24px 24px 24px;
    margin-bottom: 0;
    animation: visitFadeInRight 1s cubic-bezier(.4,0,.2,1);
}
@keyframes visitFadeInRight {
    from { opacity: 0; transform: translateX(60px) scale(0.96);}
    to { opacity: 1; transform: none;}
}
.visit-history-card h3 {
    font-size: 22px;
    color: var(--brand-gold);
    margin-bottom: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: left;
}
.visit-history-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.visit-history-list li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 22px;
    background: rgba(255,255,255,0.06);
    border-radius: 12px;
    padding: 16px 14px;
    box-shadow: 0 2px 12px #00C0FF11;
    transition: box-shadow 0.3s, background 0.3s;
    border-left: 4px solid var(--accent-color);
    position: relative;
}
.visit-history-list li:hover {
    background: rgba(0,192,255,0.12);
    box-shadow: 0 4px 24px #00C0FF33;
    border-left: 4px solid var(--accent-warm);
}
.visit-history-date {
    min-width: 90px;
    color: var(--accent-color);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-right: 8px;
    margin-top: 2px;
}
.visit-history-desc {
    color: var(--white);
    font-size: 16px;
    line-height: 1.7;
}
.visit-history-desc strong {
    color: var(--accent-warm);
    font-weight: 700;
}
@media (max-width: 1000px) {
    .visit-info-flex {
        flex-direction: column;
        gap: 32px;
        max-width: 98vw;
        padding: 0 8px;
    }
    .visit-info-left, .visit-info-right {
        max-width: 100%;
        min-width: 0;
    }
}
@media (max-width: 600px) {
    .visit-info-flex {
        gap: 16px;
        padding: 0 2px;
    }
    .visit-video-card, .visit-history-card {
        padding: 14px 8px 10px 8px;
    }
    .visit-history-list li {
        flex-direction: column;
        gap: 6px;
        padding: 10px 6px;
    }
    .visit-history-date {
        min-width: 0;
        margin-right: 0;
    }
}

/* 企业介绍新布局 */
.company-intro-intense {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.company-intro-flex {
    display: flex;
    gap: 64px;
    align-items: center;
    margin-top: 48px;
    margin-bottom: 56px;
}
.company-intro-img {
    flex: 1 1 420px;
    max-width: 520px;
    min-width: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.company-intro-img img {
    width: 100%;
    border-radius: 32px;
    box-shadow: 0 12px 48px #00C0FF33, 0 2px 24px #FF8C0022;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(.4,0,.2,1);
}
.company-intro-img img:hover {
    transform: scale(1.04) rotate(-2deg);
}
.company-intro-desc {
    flex: 1 1 0;
    min-width: 320px;
    color: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.company-intro-desc h3 {
    font-size: 32px;
    font-weight: 800;
    color: var(--accent-color);
    margin-bottom: 18px;
    letter-spacing: 1px;
}
.company-intro-desc p {
    font-size: 18px;
    color: var(--text-light);
    margin-bottom: 24px;
    line-height: 1.9;
}
.company-intro-highlights {
    display: flex;
    gap: 32px;
    margin-top: 12px;
    list-style: none;
    padding: 0;
}
.company-intro-highlights li {
    background: linear-gradient(120deg, #7B5CFF33 0%, #6FC3FF33 100%);
    border-radius: 12px;
    padding: 18px 28px;
    font-size: 18px;
    color: var(--white);
    font-weight: 600;
    box-shadow: 0 2px 12px #00C0FF22;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: box-shadow 0.3s;
}
.company-intro-highlights li span {
    color: var(--accent-color);
    font-size: 28px;
    font-weight: 900;
    margin-right: 6px;
}
.company-intro-highlights li:hover {
    box-shadow: 0 8px 32px #00C0FF44;
}

.company-intro-cards {
    display: flex;
    gap: 36px;
    margin-top: 48px;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
}
.intro-card {
    flex: 1 1 0;
    min-width: 260px;
    max-width: 370px;
    background: linear-gradient(120deg, #2D225A 80%, #7B5CFF22 100%);
    border-radius: 24px;
    box-shadow: 0 8px 48px #00C0FF22;
    padding: 36px 24px 28px 24px;
    color: var(--white);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    transition: box-shadow 0.3s, transform 0.3s;
    overflow: hidden;
    margin-bottom: 18px;
    animation: fadeInUpCard 0.8s cubic-bezier(.4,0,.2,1);
}
@keyframes fadeInUpCard {
    from { opacity: 0; transform: translateY(40px) scale(0.98);}
    to { opacity: 1; transform: none;}
}
.intro-card:hover {
    box-shadow: 0 16px 64px #00C0FF44;
    transform: translateY(-6px) scale(1.03);
}
.intro-card-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7B5CFF 60%, #6FC3FF 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    box-shadow: 0 2px 12px #00C0FF33;
}
.intro-card-icon img {
    width: 32px;
    height: 32px;
    display: block;
}
.intro-card h4 {
    font-size: 22px;
    color: var(--accent-color);
    margin-bottom: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}
.intro-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    color: var(--text-light);
    font-size: 16px;
    line-height: 2;
}
.intro-card ul li {
    margin-bottom: 6px;
}
.intro-card p {
    color: var(--text-light);
    font-size: 16px;
    margin-bottom: 12px;
    line-height: 1.7;
}
.intro-card-img {
    width: 100%;
    border-radius: 12px;
    margin-top: 12px;
    box-shadow: 0 2px 12px #00C0FF22;
    object-fit: cover;
}
@media (max-width: 1100px) {
    .company-intro-flex {
        flex-direction: column;
        gap: 32px;
        margin-top: 24px;
        margin-bottom: 32px;
    }
    .company-intro-img, .company-intro-desc {
        max-width: 100%;
        min-width: 0;
    }
    .company-intro-highlights {
        gap: 12px;
        flex-wrap: wrap;
    }
    .company-intro-cards {
        gap: 18px;
        margin-top: 24px;
    }
}
@media (max-width: 700px) {
    .company-intro-intense {
        padding: 0 4px;
    }
    .company-intro-flex {
        gap: 12px;
    }
    .company-intro-cards {
        flex-direction: column;
        gap: 12px;
    }
    .intro-card {
        max-width: 100%;
        min-width: 0;
        padding: 18px 8px 12px 8px;
    }
}

/* 公司荣誉（图片版） */
.honor-overview {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}
.honor-headline {
    text-align: center;
    margin-bottom: 12px;
}
.honor-headline .honor-title {
    color: var(--white);
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 1px;
}
.honor-subline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    justify-content: center;
    margin: 14px auto 32px auto;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.06);
    border-radius: 999px;
    color: var(--white);
    max-width: 1100px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}
.honor-subline .badge {
    color: #EDE9FE;
    white-space: nowrap;
    font-weight: 700;
}
.honor-subline .sep {
    opacity: 0.6;
    color: #E0E6EF;
}

.honor-showcase {
    display: grid;
    gap: 28px;
}
.honor-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: center;
}
.honor-item.reverse {
    direction: rtl;              /* 简洁翻转两列顺序 */
}
.honor-item.reverse > * {
    direction: ltr;              /* 内部内容保持正常方向 */
}

.honor-frame {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #E9EAF5;
    box-shadow: 0 8px 28px rgba(0,0,0,0.12);
    padding: 10px;
}
.honor-frame img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    display: block;
    background: #fff;
    border-radius: 8px;
}

.honor-textcard {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #E9EAF5;
    box-shadow: 0 8px 28px rgba(0,0,0,0.12);
    padding: 20px 22px;
    color: #2D3E50;
    position: relative;
    overflow: hidden;
}
.honor-textcard::after {
    content: '';
    position: absolute;
    right: -2px; top: 0;
    width: 26px; height: 100%;
    background: linear-gradient(180deg, #7B5CFF 0%, #6FC3FF 100%);
    clip-path: polygon(0 0, 100% 8%, 100% 92%, 0 100%);
    opacity: 0.9;
}
.honor-textcard p {
    margin: 0 0 8px 0;
    font-size: 15px;
    line-height: 1.9;
}
.honor-textcard em {
    font-style: normal;
    color: #111827;
    font-weight: 700;
}

/* 动效与响应式 */
.honor-item .honor-frame,
.honor-item .honor-textcard {
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s;
    will-change: transform;
}
.honor-item:hover .honor-frame,
.honor-item:hover .honor-textcard {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.16);
}
@media (max-width: 1000px) {
    .honor-item {
        grid-template-columns: 1fr;
    }
    .honor-frame img { height: 200px; }
    .honor-headline .honor-title { font-size: 26px; }
    .honor-subline { border-radius: 12px; padding: 8px 10px; }
}

/* 品牌愿景模块（如图所示） */
.brand-vision {
    background: linear-gradient(160deg, #3A2EA5 0%, #181A2A 100%);
    color: var(--white);
    padding: 100px 0 120px 0;
}
.brand-vision .vision-wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}
.vision-header {
    margin-bottom: 18px;
}
.vision-title {
    font-size: 34px;
    font-weight: 900;
    letter-spacing: 1px;
    color: var(--white);
    margin-bottom: 8px;
}
.vision-subtitle {
    font-size: 18px;
    font-weight: 700;
    color: #E9D5FF;
    text-shadow: 0 2px 12px rgba(123,92,255,.25);
}

/* 内部浅色渐变面板（圆角，依据图示） */
.vision-panel {
    margin-top: 24px;
    background: linear-gradient(180deg, #EEE7FF 0%, #EAF2FF 100%);
    border: 2px solid rgba(123,92,255,0.35);
    border-radius: 22px;
    box-shadow: 0 12px 36px rgba(0,0,0,0.18);
    padding: 28px 28px 32px 28px;
    position: relative;
    overflow: hidden;
}
.vision-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.vision-item h3 {
    font-size: 22px;
    font-weight: 800;
    color: #8B5CF6;
    margin-bottom: 10px;
    letter-spacing: .5px;
}
.vision-item p {
    color: #374151;
    font-size: 15px;
    line-height: 1.9;
    margin: 0;
}

/* 下部配图画廊 + 圆形徽章 */
.vision-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 28px;
}
.vision-thumb {
    position: relative;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #E9EAF5;
    box-shadow: 0 8px 28px rgba(0,0,0,0.12);
    overflow: hidden;
}
.vision-thumb img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}
.vision-badge {
    position: absolute;
    left: 50%;
    bottom: -28px;
    transform: translateX(-50%);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 30%, #C4B5FD 0%, #7B5CFF 60%, #4B3AFF 100%);
    box-shadow: 0 10px 28px rgba(123,92,255,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
}
.vision-badge svg {
    width: 34px;
    height: 34px;
    fill: #fff;
}

/* 交互与响应式 */
.vision-thumb,
.vision-item {
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s;
    will-change: transform;
}
.vision-thumb:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(0,0,0,0.18); }
.vision-item:hover { transform: translateY(-3px); }

@media (max-width: 1000px) {
    .vision-columns, .vision-gallery { grid-template-columns: 1fr; }
    .vision-title { font-size: 26px; }
    .vision-panel { padding: 18px 14px 28px 14px; }
    .vision-badge { width: 58px; height: 58px; bottom: -22px; }
    .vision-badge svg { width: 26px; height: 26px; }
}

/* 技术展示（三大核心产品风格） */
.techx-wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}
.techx-banner {
    background: rgba(0,0,0,0.35);
    border: 1px solid rgba(255,255,255,0.12);
    border-left: 8px solid var(--accent-color);
    border-radius: 12px;
    padding: 18px 22px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    margin-bottom: 28px;
}
.techx-title {
    color: #fff;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: .5px;
    margin-bottom: 8px;
}
.techx-subtitle {
    color: #E9D5FF;
    font-size: 16px;
    line-height: 1.8;
    opacity: .95;
}

/* 三列产品展示 */
.techx-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    align-items: end;
}
.techx-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    transform-style: preserve-3d;
}
.techx-name {
    font-size: 20px;
    font-weight: 900;
    color: #E9D5FF;
    letter-spacing: .5px;
}
.techx-desc {
    font-size: 16px;
    color: var(--white);
    opacity: .9;
}
.techx-photo {
    width: 100%;
    height: 320px;
    border-radius: 18px;
    background: linear-gradient(180deg, #0b1024 0%, #121735 100%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 12px 36px rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.techx-photo::after {
    /* 地面虚化反射感 */
    content: '';
    position: absolute;
    left: 10%; right: 10%; bottom: 10px;
    height: 10px;
    background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 100%);
    filter: blur(4px);
}
.techx-photo img {
    width: 86%;
    height: 86%;
    object-fit: contain;
    filter: drop-shadow(0 12px 28px rgba(0,0,0,0.45));
    transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.techx-item:hover .techx-photo img {
    transform: scale(1.04);
}

/* 技术解决方案模块（基于图示） */
.techx-solution {
    margin-top: 36px;
    display: grid;
    gap: 28px;
}
.txs-card {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 22px;
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    padding: 22px;
    transform-style: preserve-3d;
    will-change: transform;
}
.txs-card--reverse { direction: rtl; }
.txs-card--reverse > * { direction: ltr; }

.txs-figure {
    background: linear-gradient(180deg, #0b1024 0%, #121735 100%);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 10px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
    overflow: hidden;
}
.txs-figure img {
    width: 100%;
    max-height: 300px;
    object-fit: contain;
    filter: drop-shadow(0 12px 28px rgba(0,0,0,0.45));
    transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.txs-card:hover .txs-figure img { transform: scale(1.03); }

/* 圆形 KPI 徽章（左上角） */
.txs-kpi {
    position: absolute;
    left: 12px;
    top: 12px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 30%, #C4B5FD 0%, #7B5CFF 60%, #4B3AFF 100%);
    box-shadow: 0 10px 28px rgba(123,92,255,0.35);
    color: #fff;
    display: grid;
    place-items: center;
    text-align: center;
}
.txs-kpi .num { font-size: 22px; font-weight: 900; line-height: 1; }
.txs-kpi .meta { font-size: 12px; opacity: .9; margin-top: 4px; }

/* 文本与徽章条 */
.txs-content { color: var(--white); }
.txs-title { font-size: 22px; font-weight: 900; margin-bottom: 6px; color: #fff; }
.txs-subtitle { font-size: 14px; color: #E9D5FF; opacity: .95; margin-bottom: 14px; }

.txs-badges {
    display: flex; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 12px;
}
.txs-badge {
    display: inline-flex; align-items: center;
    padding: 6px 12px; border-radius: 999px;
    background: rgba(123,92,255,0.18);
    border: 1px solid rgba(123,92,255,0.35);
    color: #E9D5FF; font-size: 13px; font-weight: 700;
}

/* 要点清单（两列） */
.txs-list {
    list-style: none; padding: 0; margin: 10px 0 0 0;
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px;
}
.txs-list li {
    position: relative; padding-left: 18px;
    color: var(--white); opacity: .92; font-size: 14px; line-height: 1.8;
}
.txs-list li::before {
    content: '✔'; position: absolute; left: 0; top: 0; color: var(--accent-warm);
    font-weight: 900; font-size: 14px;
}

/* 紫色信息面板（精准医疗） */
.txs-panel {
    background: linear-gradient(180deg, #6A53E6 0%, #7B5CFF 100%);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    padding: 16px 16px 14px 16px;
    margin-top: 8px;
}
.txs-panel h4 {
    font-size: 16px; font-weight: 900; color: #fff; letter-spacing: .5px; margin-bottom: 8px;
}
.txs-panel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.txs-panel li { font-size: 14px; color: #F8FAFF; opacity: .98; padding-left: 14px; position: relative; }
.txs-panel li::before { content: '•'; position: absolute; left: 0; color: #C4B5FD; font-size: 18px; line-height: 1; }

/* 纵向胶囊要点（第三张卡左列） */
.txs-pills { display: grid; gap: 10px; margin-top: 6px; }
.txs-pill {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    color: #E9D5FF;
    font-weight: 700; font-size: 14px;
    border-radius: 999px; padding: 10px 14px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

/* 场景化 vs 工业改装 对比面板 */
.tech-compare {
    margin-top: 36px;
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    overflow: hidden;
}
.tc-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: linear-gradient(135deg, #7B5CFF22, #6FC3FF22);
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.tc-head div {
    padding: 14px 16px;
    color: #EDE9FE;
    font-weight: 800;
    text-align: center;
}
.tc-board {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.tc-row {
    display: contents;
}
.tc-col {
    padding: 14px 16px;
    border-bottom: 1px dashed rgba(255,255,255,0.12);
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.9;
}
.tc-col strong {
    color: #fff;
    font-weight: 800;
}
.tc-label {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(123,92,255,0.18);
    border: 1px solid rgba(123,92,255,0.35);
    color: #E9D5FF;
    font-size: 12px;
    font-weight: 800;
}
@media (max-width: 900px) {
    .tc-head, .tc-board { grid-template-columns: 1fr; }
    .tc-col { border-bottom-style: solid; }
}

/* 系统构成条（三段式） */
.txs-parts {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.txs-part-card {
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    box-shadow: 0 6px 22px rgba(0,0,0,0.16);
    padding: 16px 16px 14px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform-style: preserve-3d;
    will-change: transform;
}
.txs-part-card h4 {
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 8px;
}
.txs-part-fig {
    width: 100%;
    height: 360px;
    border-radius: 12px;
    background: linear-gradient(180deg, #0b1024 0%, #121735 100%);
    border: 1px solid rgba(255,255,255,0.08);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 10px;
}
.txs-part-fig img {
    max-width: 95%; max-height: 95%; object-fit: contain;
    filter: drop-shadow(0 10px 24px rgba(0,0,0,0.4));
}
.txs-part-tags {
    display: flex; flex-wrap: wrap; gap: 6px;
    justify-content: center;
}
.txs-part-tag {
    padding: 6px 10px; border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    color: #E0E6EF; font-size: 12px; font-weight: 700;
}
@media (max-width: 900px) {
    .txs-parts { grid-template-columns: 1fr; }
    .txs-part-fig { height: 120px; }
}

/* 轻量化导航优势栅格（六项） */
.nav-adv-grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.ai-advantage-card {
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    box-shadow: 0 6px 22px rgba(0,0,0,0.16);
    padding: 16px 16px 14px 16px;
    transform-style: preserve-3d;
    will-change: transform;
}
.ai-advantage-card h4 {
    color: var(--accent-warm);
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 8px;
}
.ai-advantage-card p {
    color: var(--text-light);
    font-size: 14px;
    margin: 0;
    line-height: 1.8;
}
@media (max-width: 1000px) {
    .nav-adv-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .nav-adv-grid { grid-template-columns: 1fr; }
}

/* 双闭环控制：视觉伺服 + 随动追踪 */
.dual-tech {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 22px;
}
.dual-card {
    background: linear-gradient(180deg, #0b1024 0%, #121735 100%);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.22);
    padding: 12px;
    position: relative;
    overflow: hidden;
    transform-style: preserve-3d;
    will-change: transform;
}
.dual-card img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 12px;
    filter: drop-shadow(0 10px 24px rgba(0,0,0,0.35));
}
.dual-tag {
    position: absolute;
    left: 12px; top: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(123,92,255,0.9);
    color: #fff; font-weight: 900; font-size: 12px;
    letter-spacing: .5px;
    box-shadow: 0 6px 18px rgba(123,92,255,0.35);
}
.dual-aside {
    display: grid;
    gap: 12px;
}
.dual-pill {
    background: linear-gradient(180deg, #6A53E6 0%, #7B5CFF 100%);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(0,0,0,0.18);
    padding: 14px 16px;
    color: #fff;
}
.dual-pill h4 {
    margin: 0 0 6px 0;
    font-size: 16px; font-weight: 900; letter-spacing: .5px;
}
.dual-pill p {
    margin: 0; font-size: 14px; line-height: 1.8; color: #F8FAFF;
}

/* Data-Driven 算法区 */
.ddr-tech {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 22px;
    align-items: stretch;
}
.ddr-left {
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}
.ddr-title {
    font-size: 20px; font-weight: 900; color: #fff; margin-bottom: 10px;
}
.ddr-sub {
    font-size: 14px; color: #E9D5FF; margin-bottom: 12px; opacity: .95;
}
.ddr-points {
    display: grid; gap: 12px;
}
.ddr-point {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    align-items: start;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 12px;
    padding: 10px;
}
.ddr-ico {
    width: 42px; height: 42px; border-radius: 50%;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-warm));
    box-shadow: 0 6px 16px rgba(123,92,255,0.28);
}
.ddr-point h4 {
    margin: 0 0 4px 0; font-size: 15px; color: #EDE9FE; font-weight: 900;
}
.ddr-point p {
    margin: 0; font-size: 13px; color: var(--text-light); line-height: 1.8;
}

/* 右侧三步建模示意 */
.ddr-right {
    display: grid;
    gap: 12px;
}
.ddr-illus {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.ddr-illus-box {
    background: linear-gradient(180deg, #EEE7FF 0%, #EAF2FF 100%);
    border: 2px solid rgba(123,92,255,0.28);
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.14);
    padding: 10px;
    display: flex; align-items: center; justify-content: center;
    min-height: 150px;
    transform-style: preserve-3d;
    will-change: transform;
}
.ddr-illus-box img, .ddr-illus-box svg {
    max-width: 100%;
    max-height: 100%;
    display: block;
}
.ddr-cap {
    text-align: center;
    font-size: 13px;
    color: #374151;
    margin-top: 6px;
    font-weight: 700;
}
.ddr-note {
    font-size: 12px; color: #D1D5DB; text-align: right; margin-top: 4px; opacity: .9;
}

/* 新闻中心（历史新闻 + 最新新闻） */
.news-center-section {
    background: linear-gradient(160deg, #181A2A 0%, #3A2EA5 100%);
    color: var(--white);
    padding: 100px 0;
}
.news-center-flex {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 32px;
    align-items: stretch;
}
.news-center-latest .news-latest-card {
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    overflow: hidden;
}
.news-latest-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}
.news-latest-content {
    padding: 18px 18px 22px 18px;
}
.news-latest-title {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 8px;
    color: #fff;
}
.news-latest-summary {
    color: var(--text-light);
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 12px;
}
.btn-news-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* 历史新闻侧栏 */
.news-center-history {
    background: rgba(255,255,255,0.06);
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    padding: 18px 16px;
}
.news-history-title {
    font-size: 18px;
    font-weight: 800;
    color: #EDE9FE;
    margin-bottom: 12px;
}
.news-history-list {
    list-style: none;
    padding: 0; margin: 0;
    display: grid;
    gap: 10px;
}
.news-history-list li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 8px;
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.10);
}
.news-history-date {
    color: var(--accent-warm);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.news-center-history a {
    color: #E0E6EF;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.7;
}
.news-center-history a:hover {
    color: var(--accent-warm);
    text-decoration: underline;
}

@media (max-width: 1000px) {
    .news-center-flex { grid-template-columns: 1fr; }
    .news-latest-img { height: 200px; }
}

/* 联系我们：表单卡片与表单元素 */
.contact-form-card {
    background: rgba(255,255,255,0.08);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,192,255,0.08);
    padding: 22px 18px;
    border: 1.5px solid rgba(255,255,255,0.10);
}
.contact-form-card form {
    display: grid;
    gap: 12px;
}
.contact-form-card .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.06);
    color: #fff;
    padding: 12px 14px;
    font-size: 14px;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder {
    color: #c9d4e4;
    opacity: .9;
}
.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(123,92,255,0.2);
    background: rgba(255,255,255,0.10);
}
.btn-full { width: 100%; }

/* Contact form: enhanced select (咨询类型) */
.contact-form-card select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 48px;
  border-radius: 12px;
  border: 1.5px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: var(--white);
  padding: 0 44px 0 14px;
  outline: none;
  transition: box-shadow var(--transition), border-color var(--transition), background var(--transition);
  backdrop-filter: blur(10px);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F5B301' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px 18px;
  cursor: pointer;
}
.contact-form-card select:hover {
  border-color: rgba(245,179,1,0.8);
  background: rgba(255,255,255,0.12);
}
.contact-form-card select:focus {
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 3px rgba(245,179,1,0.16);
  background: rgba(255,255,255,0.12);
}
.contact-form-card select:disabled {
  opacity: .6;
  cursor: not-allowed;
}
/* Try to influence dropdown list colors (browser support varies) */
.contact-form-card select option {
  color: #111827;
  background: #FFFFFF;
}
/* Hide default arrow in legacy IE/Edge */
.contact-form-card select::-ms-expand { display: none; }

@media (max-width: 600px) {
    .contact-form-card .form-row { grid-template-columns: 1fr; gap: 8px; }
}

/* 站点 Footer 样式（布局修复） */
.site-footer {
    background: #0f142c;
    color: #cfd7e6;
    padding: 48px 0 0 0;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.site-footer .container { max-width: var(--container-width); }
.site-footer .footer-main {
    display: grid;
    grid-template-columns: 1.2fr .6fr .8fr;
    gap: 32px;
    align-items: start;
}
.footer-logo-block img { display: block; margin-bottom: 12px; }
.footer-logo-block p {
    margin: 0;
    color: #a8b3c7;
    line-height: 1.8;
    font-size: 14px;
}
.footer-links-block h4 {
    color: #fff;
    font-size: 16px;
    margin: 0 0 10px 0;
}
.footer-links-block ul {
    list-style: none; padding: 0; margin: 0 0 10px 0;
    display: grid; gap: 8px;
}
.footer-links-block a {
    color: #cfd7e6; text-decoration: none; font-size: 14px;
}
.footer-links-block a:hover { color: var(--accent-warm); text-decoration: underline; }
.footer-social { display: flex; gap: 10px; align-items: center; }

.footer-bottom {
    margin-top: 28px;
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
}
.footer-bottom-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.footer-bottom-content p { margin: 0; color: #a8b3c7; font-size: 14px; }
.footer-bottom-links {
    display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.footer-bottom-links a, .footer-bottom-links span {
    color: #cfd7e6; font-size: 13px; text-decoration: none;
}
.footer-bottom-links a:hover { color: var(--accent-warm); text-decoration: underline; }

@media (max-width: 1000px) {
    .site-footer .footer-main { grid-template-columns: 1fr; }
    .footer-bottom-content { flex-direction: column; text-align: center; }
}