/* ================================================
   新紫光官网 v2 — 高保真视觉样式
   品牌色: #5B2C87 / #1A236E / #7C4DFF / #FFB300
   全部资源本地化，零外部依赖
   ================================================ */

/* 系统字体栈 — 不依赖Google Fonts */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue",
               Helvetica, Arial, sans-serif;
}

/* ——— CSS 变量 ——— */
:root {
  --brand-purple: #5B2C87;
  --brand-deep:   #1A1F5E;
  --brand-light:  #7C4DFF;
  --brand-mid:    #8B5CF6;
  --brand-gold:   #F59E0B;
  --brand-gold2:  #FCD34D;
  --bg-white:     #FFFFFF;
  --bg-soft:      #F8F7FC;
  --bg-dark:      #0E0B1A;
  --text-dark:    #1A1A2E;
  --text-gray:    #64748B;
  --text-light:   #94A3B8;
  --divider:      #E2E0EA;
  --green:        #10B981;
  --red:          #EF4444;
  --nav-height:   76px;
  --radius-sm:    6px;
  --radius-md:    12px;
  --radius-lg:    20px;
  --shadow-sm:    0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:    0 4px 16px rgba(91,44,135,0.12), 0 2px 4px rgba(0,0,0,0.06);
  --shadow-lg:    0 20px 40px rgba(91,44,135,0.18);
  --max-w:        1280px;
}

/* ——— Reset ——— */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text-dark); background: var(--bg-white);
  line-height: 1.75; -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration:none; transition:all 0.25s ease; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }

.container { max-width:var(--max-w); margin:0 auto; padding:0 32px; }
@media(max-width:640px){ .container{ padding:0 16px; } }

/* ===================================================
   导航栏
   =================================================== */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:10000;
  height: var(--nav-height);
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(226,224,234,0.6);
  transition: box-shadow 0.3s, background 0.3s;
}
.navbar.scrolled {
  background: rgba(255,255,255,0.97);
  box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 4px 24px rgba(91,44,135,0.08);
}
.navbar .container {
  display:flex; align-items:center; justify-content:space-between; height:100%;
}

/* 首页第二屏（新闻动态）紧跟Hero，减少顶部间距 */
#news {
  padding-top: 12px;
}
#news .section-title { margin-bottom: 8px; }
@media(max-width:768px){
  #news { padding-top: 8px; }
  #news .section-title { margin-bottom: 6px; }
}
.nav-logo {
  display:flex; align-items:center; gap:10px;
  font-size:20px; font-weight:800; color:var(--brand-purple);
  letter-spacing:-0.5px; text-decoration:none;
}
.nav-logo img { display:block; }
.nav-logo-mark {
  width:38px; height:38px; border-radius:10px;
  background: linear-gradient(135deg, #5B2C87 0%, #7C4DFF 100%);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 4px 12px rgba(91,44,135,0.35);
  flex-shrink:0;
}
.nav-logo-mark span {
  color:#fff; font-size:18px; font-weight:900; font-family:'Noto Sans SC',sans-serif;
  line-height:1;
}

/* Nav Links */
.nav-links {
  display:flex; align-items:center; gap:4px;
  margin-left:auto;
}
.nav-links a {
  font-size:14px; font-weight:500; color:var(--text-dark);
  padding:7px 14px; border-radius:6px;
  position:relative; white-space:nowrap;
}
.nav-links a:hover { background:rgba(91,44,135,0.07); color:var(--brand-purple); }
.nav-links a.active { color:var(--brand-purple); background:rgba(91,44,135,0.08); }

/* CTA in nav */
.nav-cta {
  display:inline-flex; align-items:center; height:38px; padding:0 20px;
  background:var(--brand-purple); color:#fff!important; border-radius:8px;
  font-size:14px; font-weight:600;
  box-shadow: 0 2px 8px rgba(91,44,135,0.3);
}
.nav-cta:hover { background:#4a1e73!important; transform:translateY(-1px); box-shadow:0 4px 12px rgba(91,44,135,0.4); }

/* 语言切换按钮 */
.lang-toggle {
  background:rgba(91,44,135,0.08);
  border:1.5px solid rgba(91,44,135,0.2);
  color:var(--brand-purple);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.05em;
  padding:6px 14px;
  border-radius:100px;
  cursor:pointer;
  transition:all 0.25s ease;
  white-space:nowrap;
  margin-left:12px;
  margin-right:12px;
}
.lang-toggle:hover {
  background:rgba(91,44,135,0.15);
  border-color:var(--brand-purple);
}

/* 移动端导航遮罩 */
.nav-overlay {
  position:fixed; inset:0; z-index:9998;
  background:rgba(0,0,0,0.35);
  opacity:0; pointer-events:none;
  transition:opacity 0.35s ease;
  visibility:hidden;
}
.nav-overlay.active { opacity:1; pointer-events:all; visibility:visible; }

/* Mobile toggle */
.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--text-dark); margin:5px 0; border-radius:2px; transition:0.3s; }

@media(max-width:1100px){
  .navbar {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(255,255,255,0.97);
  }
  .nav-links {
    position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:9999;
    display:flex;
    background:#ffffff !important;
    flex-direction:column; align-items:stretch; gap:0;
    padding:76px 0 48px; transform:translateX(110%); transition:transform 0.35s ease;
    box-shadow: -8px 0 40px rgba(0,0,0,0.15);
    overflow-y:auto;
    visibility:hidden;
  }
  .nav-links.open { transform:translateX(0); visibility:visible; }
  .nav-links a {
    display:block; width:100%;
    padding:24px 28px;
    border-radius:0;
    font-size:18px; font-weight:600;
    border-bottom:1px solid rgba(226,224,234,0.5);
    transition: background 0.2s ease;
    text-decoration:none;
  }
  .nav-links a:hover {
    background:rgba(91,44,135,0.05);
  }
  .nav-links a.active {
    background:rgba(91,44,135,0.08);
    color:var(--brand-purple);
  }
  .nav-cta { margin:16px 28px 0; justify-content:center; height:48px; font-size:15px; border-radius:10px; }
  .nav-toggle { display:block; position:relative; z-index:10000; }
  .lang-toggle {
    position:relative; z-index:10001;
    margin:0 8px;
    align-self:center;
  }
  .navbar .container {
    justify-content:space-between;
  }
  .navbar .container .lang-toggle {
    order:3;
  }
  .navbar .container .nav-toggle {
    order:4;
  }
}

/* ===================================================
   页脚
   =================================================== */
.footer {
  background: #0D0C1D;
  color:rgba(255,255,255,0.55);
  padding:80px 0 36px;
  font-size:14px; line-height:2;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px;
  margin-bottom:56px;
}
.footer-brand p { font-size:13px; color:rgba(255,255,255,0.45); max-width:280px; line-height:1.8; margin-top:16px; }
.footer-brand .footer-logo {
  display:flex; align-items:center; gap:10px; font-size:18px; font-weight:800; color:#fff;
  margin-bottom:4px;
}
.footer-brand .footer-logo img { display:block; }

.footer-col h5 { color:#fff; font-size:13px; font-weight:700; margin-bottom:16px; letter-spacing:0.5px; text-transform:uppercase; }
.footer-col a { display:block; color:rgba(255,255,255,0.5); font-size:13px; padding:2px 0; }
.footer-col a:hover { color:#fff; }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.07);
  padding-top:28px; display:flex; justify-content:space-between; align-items:center;
  font-size:12px; color:rgba(255,255,255,0.3);
}

@media(max-width:1023px){ .footer-grid { grid-template-columns:1fr 1fr; gap:32px; } }
@media(max-width:640px){ .footer-grid { grid-template-columns:1fr; } .footer-bottom { flex-direction:column; gap:8px; } }

/* ===================================================
   通用版块
   =================================================== */
.section { padding:112px 0; }
.section-sm { padding:72px 0; }
.section-light { background:var(--bg-soft); }
.section-dark { background:var(--brand-deep); }

.section-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--brand-purple);
  letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px;
}
/* 横线装饰已移除 */

.section-title {
  font-size:clamp(28px,4vw,44px); font-weight:800;
  color:var(--text-dark); line-height:1.2; letter-spacing:-0.02em;
  margin-bottom:16px;
}
.section-title.center { text-align:center; }
.section-subtitle {
  font-size:17px; color:var(--text-gray);
  max-width:580px; line-height:1.7; margin-bottom:56px;
}
.section-subtitle.center { text-align:center; margin-left:auto; margin-right:auto; }
.section-dark .section-title, .section-dark .section-eyebrow { color:#fff; }
.section-dark .section-subtitle { color:rgba(255,255,255,0.65); }
/* .section-dark .section-eyebrow::before removed */

/* ===================================================
   按钮
   =================================================== */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:48px; padding:0 28px; border-radius:8px;
  font-size:15px; font-weight:600; cursor:pointer;
  text-decoration:none; transition:all 0.22s ease; border:none;
  white-space:nowrap;
}
.btn-primary {
  background:linear-gradient(135deg, var(--brand-purple) 0%, #7C4DFF 100%);
  color:#fff; box-shadow:0 4px 14px rgba(91,44,135,0.35);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(91,44,135,0.45); color:#fff; }

.btn-outline {
  background:transparent; color:var(--brand-purple);
  border:1.5px solid var(--brand-purple);
}
.btn-outline:hover { background:var(--brand-purple); color:#fff; }

.btn-white {
  background:#fff; color:var(--brand-purple);
  box-shadow:0 2px 8px rgba(0,0,0,0.12);
}
.btn-white:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,0.16); }

.btn-outline-white {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,0.45);
}
.btn-outline-white:hover { background:rgba(255,255,255,0.12); color:#fff; }

.btn-ghost { background:transparent; color:var(--brand-light); padding:0 8px; height:36px; }
.btn-ghost:hover { color:var(--brand-purple); }

.btn-lg { height:56px; padding:0 40px; font-size:16px; border-radius:10px; }
.btn-sm { height:36px; padding:0 18px; font-size:13px; border-radius:6px; }

/* ===================================================
   卡片
   =================================================== */
.card {
  background:var(--bg-white);
  border:1px solid rgba(226,224,234,0.7);
  border-radius:var(--radius-md);
  padding:32px;
  box-shadow:var(--shadow-sm);
  transition:box-shadow 0.3s ease, transform 0.25s ease, border-color 0.25s;
}
.card:hover {
  box-shadow:var(--shadow-md);
  transform:translateY(-4px);
  border-color:rgba(91,44,135,0.2);
}

/* ===================================================
   标签 / Chip
   =================================================== */
.tag {
  display:inline-flex; align-items:center; height:26px; padding:0 10px;
  border-radius:100px; font-size:12px; font-weight:600;
  background:rgba(91,44,135,0.1); color:var(--brand-purple);
}
.tag-gold { background:rgba(245,158,11,0.12); color:#B45309; }
.tag-green { background:rgba(16,185,129,0.12); color:#059669; }
.tag-blue { background:rgba(59,130,246,0.12); color:#2563EB; }

/* ===================================================
   图片容器
   =================================================== */
.img-cover {
  width:100%; height:100%; object-fit:cover; display:block;
}
.img-frame {
  overflow:hidden; border-radius:var(--radius-md);
  background:var(--bg-soft); position:relative;
}
.img-frame img { width:100%; height:100%; object-fit:cover; display:block; }

/* placeholder */
.placeholder-img {
  width:100%; background:linear-gradient(135deg,#f3f0f8 0%,#e8e4f0 100%);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-light); font-size:13px; min-height:200px;
  position:relative; border-radius:inherit; overflow:hidden;
}
.placeholder-img::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(91,44,135,0.04) 8px,rgba(91,44,135,0.04) 9px);
}

/* ===================================================
   Hero Carousel — 华为/西门子风格多图文轮播
   =================================================== */
.hero-carousel {
  position:relative;
  height:80vh;
  min-height:540px;
  max-height:900px;
  overflow:hidden;
  background:var(--brand-deep);
  margin-top:var(--nav-height);
}

.hero-slides { position:relative; width:100%; height:100%; }

.hero-slide {
  position:absolute; inset:0;
  opacity:0;
  transition: opacity 0.8s ease;
  pointer-events:none;
}
.hero-slide.active {
  opacity:1;
  pointer-events:all;
}

.hero-slide-bg {
  position:absolute; inset:0;
}
.hero-slide-bg img {
  width:100%; height:100%; object-fit:cover;
}

.hero-slide-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    135deg,
    rgba(26,31,94,0.75) 0%,
    rgba(26,31,94,0.55) 40%,
    rgba(91,44,135,0.35) 100%
  );
}

.hero-slide-content {
  position:relative; z-index:2;
  height:100%; display:flex; align-items:center;
  padding-bottom:60px;
}

.hero-slide-title {
  font-size:clamp(36px,5.5vw,64px);
  font-weight:900; color:#fff;
  line-height:1.1; letter-spacing:-0.03em;
  margin-bottom:20px;
}
.hero-slide-title em {
  font-style:normal;
  background:linear-gradient(135deg,#B98EFF,#7C4DFF);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero-slide-desc {
  font-size:clamp(16px,2vw,22px);
  color:rgba(255,255,255,0.85);
  max-width:720px; line-height:1.75;
  margin-bottom:36px;
}

.hero-slide-actions {
  display:flex; gap:14px; flex-wrap:wrap;
}

/* Hero轮播按钮 */
.btn-hero-primary {
  background:#fff;
  color:var(--brand-purple);
  height:52px; padding:0 32px;
  border-radius:8px; font-size:15px; font-weight:700;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
  transition:all 0.25s ease;
  text-decoration:none;
}
.btn-hero-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,0.3);
  color:var(--brand-purple);
}

.btn-hero-outline {
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,0.5);
  height:52px; padding:0 32px;
  border-radius:8px; font-size:15px; font-weight:600;
  display:inline-flex; align-items:center; gap:8px;
  transition:all 0.25s ease;
  text-decoration:none;
}
.btn-hero-outline:hover {
  background:rgba(255,255,255,0.12);
  border-color:#fff;
  color:#fff;
}

/* Hero轮播箭头 */
.hero-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:10; width:52px; height:52px;
  border-radius:50%;
  background:rgba(255,255,255,0.1);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.2);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s;
}
.hero-arrow:hover {
  background:rgba(255,255,255,0.25);
  transform:translateY(-50%) scale(1.05);
}
.hero-prev { left:32px; }
.hero-next { right:32px; }

/* Hero轮播指示器 */
.hero-indicators {
  position:absolute; bottom:36px; left:50%;
  transform:translateX(-50%);
  display:flex; gap:12px; z-index:10;
}
.hero-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.4);
  border:none; cursor:pointer;
  transition:all 0.3s; padding:0;
}
.hero-dot.active {
  width:32px; border-radius:4px;
  background:#fff;
}

/* 滚动引导箭头 — 保持在指示器上方 */
.hero-scroll-hint {
  position:absolute; bottom:55px; left:50%;
  transform:translateX(-50%); z-index:10;
  animation:heroScrollBounce 2s ease-in-out infinite;
  opacity:0.6;
}
@keyframes heroScrollBounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50% { transform:translateX(-50%) translateY(6px); }
}

@media(max-width:768px){
  .hero-carousel { height:65vh; min-height:400px; }
  .hero-arrow { display:none; }
  .hero-slide-content { padding-bottom:40px; }
  .hero-indicators { bottom:24px; }
}

/* ===================================================
   三大支柱 — 卡片式：左侧色条+渐变背景
   =================================================== */
.biz-category-card {
  background:linear-gradient(135deg, #ffffff 0%, #faf8fc 100%);
  border:1px solid rgba(226,224,234,0.7);
  border-radius:16px;
  padding:36px 28px 36px 40px;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 2px 8px rgba(91,44,135,0.06);
  text-align:left;
  position:relative; overflow:hidden;
}
.biz-category-card:hover {
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(91,44,135,0.16);
  border-color:rgba(91,44,135,0.2);
}
/* 左侧色条（渐变色） */
.biz-category-card::before {
  content:''; position:absolute;
  left:0; top:0; bottom:0; width:12px;
  border-radius:16px 0 0 16px;
  z-index:1;
  transition:width 0.3s ease;
}
.biz-category-card:hover::before { width:14px; }

.biz-category-card[style*="border-left:4px solid #5B2C87"]::before { background:linear-gradient(180deg,#5B2C87,#7C4DFF); }
.biz-category-card[style*="border-left:4px solid #4F46E5"]::before { background:linear-gradient(180deg,#4F46E5,#818CF8); }
.biz-category-card[style*="border-left:4px solid #10B981"]::before { background:linear-gradient(180deg,#10B981,#34D399); }

/* 底部渐变条（已禁用 hover 效果） */
.biz-category-card .biz-card-foot {
  display:none;
}

.biz-cat-icon {
  width:56px; height:56px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px;
  transition:transform 0.35s ease;
  position:relative; z-index:3;
}
.biz-category-card:hover .biz-cat-icon { transform:scale(1.08); }
.biz-cat-name {
  font-size:20px; font-weight:800;
  color:var(--text-dark);
  margin-bottom:8px;
  text-align:center;
  position:relative; z-index:3;
}
.biz-cat-count {
  font-size:13px; color:var(--brand-purple);
  font-weight:600; margin-bottom:10px;
  text-align:center;
  position:relative; z-index:3;
}
.biz-cat-keywords {
  font-size:13px; color:var(--text-gray);
  line-height:1.6; margin-bottom:12px;
  text-align:center;
  position:relative; z-index:3;
}
.biz-cat-rep {
  font-size:12px; color:var(--text-light);
  padding-top:12px; border-top:1px solid var(--divider);
  text-align:center;
  position:relative; z-index:3;
}

/* ===================================================
   八大业务板块 — hover色彩填充（无弧形）
   =================================================== */
.biz-sector-card {
  position:relative; overflow:hidden;
  padding:24px 20px; border-radius:12px;
  border:1px solid var(--divider);
  text-align:center; display:block;
  text-decoration:none; color:inherit;
  background:#fff;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
}
/* hover 时填充渐变背景 */
.biz-sector-card::before {
  content:''; position:absolute; inset:0;
  opacity:0; transition:opacity 0.35s ease;
  z-index:-1;
}
.biz-sector-card:hover {
  transform:translateY(-4px);
  border-color:transparent;
  box-shadow:0 12px 32px rgba(91,44,135,0.3);
}
.biz-sector-card:hover::before { opacity:1; }

.biz-sector-card.sector-theme-purple::before { background:linear-gradient(135deg, rgba(91,44,135,0.92) 0%, rgba(124,77,255,0.88) 100%); }
.biz-sector-card.sector-theme-indigo::before { background:linear-gradient(135deg, rgba(26,31,94,0.92) 0%, rgba(79,70,229,0.88) 100%); }
.biz-sector-card.sector-theme-cyan::before { background:linear-gradient(135deg, rgba(8,145,178,0.92) 0%, rgba(34,211,238,0.88) 100%); }
.biz-sector-card.sector-theme-emerald::before { background:linear-gradient(135deg, rgba(4,120,87,0.92) 0%, rgba(16,185,129,0.88) 100%); }
.biz-sector-card.sector-theme-amber::before { background:linear-gradient(135deg, rgba(180,83,9,0.92) 0%, rgba(245,158,11,0.88) 100%); }
.biz-sector-card.sector-theme-rose::before { background:linear-gradient(135deg, rgba(159,18,57,0.92) 0%, rgba(244,63,94,0.88) 100%); }
.biz-sector-card.sector-theme-violet::before { background:linear-gradient(135deg, rgba(109,40,217,0.92) 0%, rgba(167,139,250,0.88) 100%); }
.biz-sector-card.sector-theme-slate::before { background:linear-gradient(135deg, rgba(15,23,42,0.92) 0%, rgba(71,85,105,0.88) 100%); }

.biz-sector-card > * { position:relative; z-index:1; transition:color 0.3s ease; }
.biz-sector-card .sector-icon { color:var(--brand-purple); transition:all 0.35s ease; }
.biz-sector-card:hover .sector-icon { color:#fff; transform:scale(1.12); }
.biz-sector-card .sector-name { font-weight:700; color:var(--brand-purple); margin-bottom:4px; transition:color 0.3s ease; }
.biz-sector-card:hover .sector-name { color:#fff; }
.biz-sector-card .sector-sub { font-size:13px; color:var(--text-gray); transition:color 0.3s ease; }
.biz-sector-card:hover .sector-sub { color:rgba(255,255,255,0.8); }

/* ===================================================
   解决方案卡片 — V4 动画增强
   =================================================== */
.sol-card {
  position:relative; overflow:hidden;
  background:#fff; border-radius:16px; padding:32px 24px;
  text-align:center; box-shadow:var(--shadow-sm);
  border:1px solid var(--divider);
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  display:block; text-decoration:none; color:inherit;
}
.sol-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--brand-purple), var(--brand-light));
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s ease;
}
.sol-card:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 48px rgba(91,44,135,0.16);
  border-color:rgba(91,44,135,0.15);
}
.sol-card:hover::after { transform:scaleX(1); }
.sol-icon-wrap {
  width:56px; height:56px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  transition:all 0.35s ease;
}
.sol-card:hover .sol-icon-wrap { transform:scale(1.1); }
.sol-card:hover .sol-icon-wrap svg { stroke:#fff; }

/* 解决方案图标背景 hover 反色：背景填满主题色 */
.sol-card.sol-theme-purple:hover .sol-icon-wrap { background:rgba(91,44,135,1) !important; }
.sol-card.sol-theme-indigo:hover .sol-icon-wrap { background:rgba(79,70,229,1) !important; }
.sol-card.sol-theme-green:hover .sol-icon-wrap { background:rgba(16,185,129,1) !important; }
.sol-card.sol-theme-amber:hover .sol-icon-wrap { background:rgba(245,158,11,1) !important; }
.sol-card.sol-theme-red:hover .sol-icon-wrap { background:rgba(239,68,68,1) !important; }
.sol-card.sol-theme-blue:hover .sol-icon-wrap { background:rgba(59,130,246,1) !important; }
.sol-card.sol-theme-violet:hover .sol-icon-wrap { background:rgba(139,92,246,1) !important; }
.sol-card.sol-theme-cyan:hover .sol-icon-wrap { background:rgba(6,182,212,1) !important; }
.sol-card h4 { font-size:18px; font-weight:700; margin-bottom:8px; color:var(--brand-deep); transition:color 0.3s ease; }
.sol-card:hover h4 { color:var(--brand-purple); }
.sol-card p { font-size:13px; color:var(--text-gray); line-height:1.6; }
.sol-source { margin-top:12px; font-size:11px; color:var(--brand-purple); font-weight:600; transition:all 0.3s ease; }
.sol-card:hover .sol-source { opacity:0.8; }

/* ===================================================
   旧版 Hero（兼容保留）
   =================================================== */
.hero {
  min-height:100vh;
  background: var(--brand-deep);
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  padding-top:var(--nav-height);
}

/* 背景图层 */
.hero-bg {
  position:absolute; inset:0; z-index:0;
}
.hero-bg img {
  width:100%; height:100%; object-fit:cover; opacity:0.15;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,
    rgba(14,11,26,0.95) 0%,
    rgba(26,31,94,0.85) 40%,
    rgba(91,44,135,0.4) 100%);
}
/* 装饰圆 */
.hero-orb {
  position:absolute; border-radius:50%; pointer-events:none; z-index:1;
}
.hero-orb-1 {
  width:700px; height:700px; right:-150px; top:-200px;
  background:radial-gradient(circle, rgba(124,77,255,0.18) 0%, transparent 70%);
}
.hero-orb-2 {
  width:400px; height:400px; left:5%; bottom:10%;
  background:radial-gradient(circle, rgba(91,44,135,0.2) 0%, transparent 70%);
}

.hero-body {
  position:relative; z-index:2;
  flex:1; display:flex; align-items:center;
}
.hero-inner {
  width:100%; display:grid; grid-template-columns:1fr 1fr;
  gap:64px; align-items:center; padding:80px 0 60px;
}
@media(max-width:1023px){ .hero-inner { grid-template-columns:1fr; gap:40px; } }

/* 左侧文字 */
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; font-weight:700; letter-spacing:0.12em;
  color:rgba(255,255,255,0.6); text-transform:uppercase; margin-bottom:20px;
}
.hero-eyebrow span {
  display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--brand-gold); box-shadow:0 0 8px var(--brand-gold);
}
.hero-h1 {
  font-size:clamp(36px,5.5vw,68px); font-weight:900; color:#fff;
  line-height:1.1; letter-spacing:-0.03em; margin-bottom:20px;
}
.hero-h1 em {
  font-style:normal;
  background:linear-gradient(135deg,#B98EFF,#7C4DFF);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub {
  font-size:clamp(15px,1.8vw,18px); color:rgba(255,255,255,0.65);
  max-width:480px; line-height:1.75; margin-bottom:40px;
}
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:56px; }

/* 数据行 */
.hero-stats {
  display:flex; gap:40px; flex-wrap:wrap;
  padding-top:28px; border-top:1px solid rgba(255,255,255,0.1);
}
.hero-stat-num {
  font-family:'Roboto Mono',monospace;
  font-size:32px; font-weight:700;   color:#fff; line-height:1;
}
.hero-stat-label { font-size:12px; color:rgba(255,255,255,0.5); margin-top:4px; }

/* 右侧视觉卡 */
.hero-visual {
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:16px;
}
.hero-vis-main {
  grid-column:1/3; border-radius:16px; overflow:hidden;
  height:280px; position:relative;
}
.hero-vis-main img { width:100%; height:100%; object-fit:cover; }
.hero-vis-main::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(26,31,94,0.5) 0%, transparent 60%);
}
.hero-vis-label {
  position:absolute; bottom:16px; left:16px; z-index:2;
  background:rgba(255,255,255,0.12); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.2); border-radius:8px;
  padding:8px 14px; color:#fff; font-size:13px; font-weight:600;
}
.hero-vis-sm {
  border-radius:12px; overflow:hidden; height:140px; position:relative;
}
.hero-vis-sm img { width:100%; height:100%; object-fit:cover; }
.hero-vis-sm::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(26,31,94,0.45) 0%, transparent 60%);
}
.hero-vis-sm-label {
  position:absolute; bottom:10px; left:12px; z-index:2;
  color:rgba(255,255,255,0.9); font-size:12px; font-weight:600;
}
@media(max-width:1023px){ .hero-visual { display:none; } }

/* Hero scroll hint */
.hero-scroll {
  position:relative; z-index:2; text-align:center; padding:24px 0 48px;
  animation:bounce 2s infinite;
}
.hero-scroll svg { opacity:0.4; }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }

/* ===================================================
   数字展示
   =================================================== */
.stat-big {
  font-family:'Roboto Mono',monospace;
  font-size:48px; font-weight:700; color:var(--brand-purple); line-height:1;
}

/* ===================================================
   能力卡片（三全）— 干净简洁 + 右上角实线弧形
   =================================================== */
.cap-card {
  background:#fff; border:1px solid rgba(226,224,234,0.7); border-radius:16px;
  padding:40px 32px; position:relative; overflow:hidden;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 2px 8px rgba(91,44,135,0.06);
}
.cap-card:hover {
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(91,44,135,0.16);
}
/* 右上角实线弧形（非虚线） */
.cap-card::after {
  content:''; position:absolute;
  right:-50px; top:-50px;
  width:180px; height:180px;
  border-radius:50%;
  border:2px solid rgba(91,44,135,0.07);
  transition:all 0.35s ease;
  pointer-events:none;
}
.cap-card:hover::after {
  right:-35px; top:-35px;
  border-color:rgba(91,44,135,0.14);
  border-width:3px;
}
.cap-card-indigo::after { border-color:rgba(79,70,229,0.07); }
.cap-card-indigo:hover::after { border-color:rgba(79,70,229,0.14); }
.cap-card-gold::after   { border-color:rgba(245,158,11,0.07); }
.cap-card-gold:hover::after   { border-color:rgba(245,158,11,0.14); }

/* 顶部渐变条 */
.cap-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  z-index:1; transition:height 0.3s ease;
}
.cap-card:hover::before { height:5px; }
.cap-card-purple::before { background:linear-gradient(90deg,#5B2C87,#7C4DFF); }
.cap-card-indigo::before { background:linear-gradient(90deg,#4F46E5,#818CF8); }
.cap-card-gold::before  { background:linear-gradient(90deg,#F59E0B,#FCD34D); }

.cap-icon {
  width:56px; height:56px; border-radius:14px; margin-bottom:24px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,rgba(91,44,135,0.12),rgba(124,77,255,0.08));
  transition:transform 0.3s ease;
}
.cap-card:hover .cap-icon { transform:scale(1.06); }

.cap-num {
  font-size:42px; font-weight:900; letter-spacing:-0.02em;
  background:linear-gradient(135deg,var(--brand-purple),var(--brand-light));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:4px;
}
.cap-title { font-size:20px; font-weight:700; color:var(--text-dark); margin-bottom:12px; }
.cap-desc { font-size:14px; color:var(--text-gray); line-height:1.75; }
.cap-list { margin-top:20px; }
.cap-list li {
  font-size:14px; color:var(--text-gray); padding:7px 0;
  border-bottom:1px solid rgba(226,224,234,0.5);
  display:flex; align-items:center; gap:8px;
}
.cap-list li:last-child { border-bottom:none; }
.cap-list li::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--brand-light); flex-shrink:0;
}

/* ===================================================
   企业矩阵卡片
   =================================================== */
.company-card {
  background:#fff; border:1px solid rgba(226,224,234,0.7); border-radius:16px;
  overflow:hidden; transition:all 0.3s; box-shadow:var(--shadow-sm);
}
.company-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.company-card-img {
  height:180px; overflow:hidden; position:relative;
}
.company-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.company-card:hover .company-card-img img { transform:scale(1.05); }
.company-card-body { padding:24px; }
.company-name { font-size:18px; font-weight:700; color:var(--text-dark); margin-bottom:6px; }
.company-sub  { font-size:13px; color:var(--brand-purple); font-weight:600; margin-bottom:10px; }
.company-desc { font-size:13px; color:var(--text-gray); line-height:1.7; }

/* ===================================================
   轮播
   =================================================== */
.carousel { position:relative; overflow:hidden; border-radius:var(--radius-lg); }
.carousel-track { display:flex; transition:transform 0.55s cubic-bezier(0.4,0,0.2,1); }
.carousel-dots {
  display:flex; justify-content:center; gap:8px; margin-top:28px;
}
.carousel-dot {
  width:8px; height:8px; border-radius:50%; background:rgba(91,44,135,0.2);
  border:none; cursor:pointer; transition:all 0.3s; padding:0;
}
.carousel-dot.active { width:28px; border-radius:4px; background:var(--brand-purple); }
.carousel-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.9); backdrop-filter:blur(8px);
  border:1px solid rgba(226,224,234,0.6);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,0.1);
  transition:all 0.2s;
}
.carousel-arrow:hover { background:#fff; box-shadow:0 6px 20px rgba(91,44,135,0.2); transform:translateY(-50%) scale(1.05); }
.carousel-prev { left:16px; }
.carousel-next { right:16px; }

/* ===================================================
   页面 Banner（内页顶部）
   =================================================== */
.page-banner {
  min-height:380px; position:relative; overflow:hidden;
  display:flex; align-items:flex-end;
  padding-top:var(--nav-height);
}
.page-banner-bg {
  position:absolute; inset:0;
}
.page-banner-bg img { width:100%; height:100%; object-fit:cover; }
.page-banner-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(14,11,26,0.88) 0%, rgba(26,31,94,0.75) 60%, rgba(91,44,135,0.5) 100%);
}
.page-banner-content {
  position:relative; z-index:2; width:100%;
  padding-top:48px; padding-bottom:56px;
}
.page-banner h1 { font-size:40px; font-weight:800; color:#fff; margin-bottom:10px; }
.page-banner p  { font-size:17px; color:rgba(255,255,255,0.65); max-width:520px; }

/* ===================================================
   网格布局
   =================================================== */
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.grid-5 { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.grid-1-2 { display:grid; grid-template-columns:1fr 2fr; gap:24px; }
.grid-2-1 { display:grid; grid-template-columns:2fr 1fr; gap:24px; }

@media(max-width:1100px){ .grid-4,.grid-5 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:1023px){ .grid-3 { grid-template-columns:repeat(2,1fr); } .grid-1-2,.grid-2-1 { grid-template-columns:1fr; } }
@media(max-width:640px){ .grid-2,.grid-3,.grid-4,.grid-5 { grid-template-columns:1fr; } }

/* ===================================================
   动画
   =================================================== */
.fade-in { opacity:0; transform:translateY(24px); transition:opacity 0.7s ease, transform 0.7s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }
.fade-in-delay-1 { transition-delay:0.1s; }
.fade-in-delay-2 { transition-delay:0.2s; }
.fade-in-delay-3 { transition-delay:0.3s; }
.fade-in-delay-4 { transition-delay:0.4s; }

/* ===================================================
   表格
   =================================================== */
.table-wrap { overflow-x:auto; border-radius:var(--radius-md); border:1px solid var(--divider); }
.data-table { width:100%; border-collapse:collapse; min-width:600px; }
.data-table thead th {
  background:linear-gradient(135deg,#1A1F5E,#5B2C87);
  color:#fff; padding:14px 20px; text-align:left;
  font-size:13px; font-weight:600; letter-spacing:0.03em; white-space:nowrap;
}
.data-table td {
  padding:14px 20px; border-bottom:1px solid var(--divider); font-size:14px; line-height:1.6;
}
.data-table tr:last-child td { border-bottom:none; }
.data-table tr:nth-child(even) td { background:rgba(245,243,249,0.6); }
.data-table tr:hover td { background:rgba(91,44,135,0.04); }

/* ===================================================
   时间线
   =================================================== */
.timeline { position:relative; }
.timeline::before {
  content:''; position:absolute; left:23px; top:0; bottom:0; width:2px;
  background:linear-gradient(to bottom, var(--brand-purple), rgba(91,44,135,0.1));
}
.timeline-item { display:flex; gap:32px; margin-bottom:40px; position:relative; }
.timeline-dot {
  width:48px; height:48px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--brand-purple),var(--brand-light));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 12px rgba(91,44,135,0.35);
  color:#fff; font-size:13px; font-weight:700;
}
.timeline-body { padding-top:10px; }
.timeline-year { font-size:22px; font-weight:800; color:var(--brand-purple); line-height:1; margin-bottom:8px; }
.timeline-title { font-size:16px; font-weight:700; color:var(--text-dark); margin-bottom:6px; }
.timeline-text { font-size:14px; color:var(--text-gray); line-height:1.75; }

/* ===================================================
   人物卡片
   =================================================== */
.person-card { text-align:center; }
.person-avatar {
  width:96px; height:96px; border-radius:50%; margin:0 auto 16px; overflow:hidden;
  background:linear-gradient(135deg,rgba(91,44,135,0.15),rgba(124,77,255,0.08));
  display:flex; align-items:center; justify-content:center;
  font-size:32px; font-weight:800; color:var(--brand-purple);
  border:3px solid rgba(91,44,135,0.15);
}
.person-avatar img { width:100%; height:100%; object-fit:cover; }
.person-name { font-size:17px; font-weight:700; color:var(--text-dark); margin-bottom:4px; }
.person-title { font-size:13px; color:var(--text-gray); line-height:1.6; }

/* ===================================================
   特色条幅（全宽渐变背景）
   =================================================== */
.band {
  background:linear-gradient(135deg,#1A1F5E 0%,#5B2C87 60%,#7C4DFF 100%);
  padding:80px 0; text-align:center; overflow:hidden; position:relative;
}
.band::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.band h2 { font-size:36px; font-weight:800; color:#fff; margin-bottom:16px; position:relative; }
.band p  { font-size:17px; color:rgba(255,255,255,0.7); margin-bottom:32px; position:relative; }

/* ===================================================
   新闻卡片
   =================================================== */
.news-card { overflow:hidden; border-radius:16px; background:#fff; border:1px solid var(--divider); transition:all 0.3s; box-shadow:var(--shadow-sm); }
.news-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.news-card-img { height:200px; overflow:hidden; }
.news-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.news-card:hover .news-card-img img { transform:scale(1.04); }
.news-featured:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg)!important; }
.news-featured:hover img { transform:scale(1.03); }
.news-card-body { padding:24px; }
.news-meta { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.news-date { font-size:12px; color:var(--text-light); }
.news-title { font-size:16px; font-weight:700; color:var(--text-dark); margin-bottom:10px; line-height:1.5; }
.news-desc { font-size:13px; color:var(--text-gray); line-height:1.7; }

/* ===================================================
   价值卡片（企业文化）
   =================================================== */
.value-card {
  background:#fff; border:1px solid var(--divider); border-radius:16px;
  padding:40px 28px; text-align:center; transition:all 0.3s; box-shadow:var(--shadow-sm);
}
.value-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:rgba(91,44,135,0.2); }
.value-icon {
  width:72px; height:72px; border-radius:20px; margin:0 auto 24px;
  display:flex; align-items:center; justify-content:center; font-size:28px;
}
.value-card h3 { font-size:20px; font-weight:800; color:var(--text-dark); margin-bottom:12px; }
.value-card p { font-size:14px; color:var(--text-gray); line-height:1.75; }

/* ===================================================
   亮点列表
   =================================================== */
.feature-list { list-style:none; }
.feature-list li {
  display:flex; gap:14px; align-items:flex-start; padding:16px 0;
  border-bottom:1px solid rgba(226,224,234,0.5);
}
.feature-list li:last-child { border-bottom:none; }
.feature-list .icon {
  width:40px; height:40px; border-radius:10px; flex-shrink:0;
  background:rgba(91,44,135,0.1); display:flex; align-items:center; justify-content:center;
}
.feature-list h4 { font-size:15px; font-weight:700; margin-bottom:4px; }
.feature-list p  { font-size:13px; color:var(--text-gray); }

/* ===================================================
   分节标题带数字
   =================================================== */
.num-title { display:flex; align-items:center; gap:16px; margin-bottom:32px; }
.num-title .num {
  font-size:48px; font-weight:900; line-height:1;
  background:linear-gradient(135deg,var(--brand-purple),var(--brand-light));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; flex-shrink:0;
}
.num-title h3 { font-size:24px; font-weight:800; color:var(--text-dark); }

/* ===================================================
   滚动指示 / 面包屑
   =================================================== */
.breadcrumb {
  font-size:13px; color:var(--text-gray); margin-bottom:16px;
  display:flex; align-items:center; gap:6px;
}
.breadcrumb a { color:rgba(255,255,255,0.55); }
.breadcrumb a:hover { color:#fff; }
.breadcrumb .sep { color:rgba(255,255,255,0.25); }
.breadcrumb .cur { color:rgba(255,255,255,0.9); }

/* ===================================================
   投资者页专属
   =================================================== */
.kpi-card {
  border-radius:16px; padding:32px;
  position:relative; overflow:hidden;
}
.kpi-card-purple { background:linear-gradient(135deg,#5B2C87,#7C4DFF); color:#fff; }
.kpi-card-indigo { background:linear-gradient(135deg,#1A1F5E,#3B4FD5); color:#fff; }
.kpi-card-gold   { background:linear-gradient(135deg,#B45309,#F59E0B); color:#fff; }
.kpi-card-teal   { background:linear-gradient(135deg,#047857,#10B981); color:#fff; }
.kpi-card::before {
  content:''; position:absolute; right:-30px; top:-30px; width:160px; height:160px;
  border-radius:50%; background:rgba(255,255,255,0.07);
}
.kpi-label { font-size:13px; opacity:0.75; margin-bottom:8px; }
.kpi-value {
  font-family:'Roboto Mono',monospace; font-size:40px; font-weight:700; line-height:1; margin-bottom:6px;
}
.kpi-change { font-size:13px; opacity:0.8; }

/* ===================================================
   全宽 Map 条（全球布局装饰）
   =================================================== */
.global-band {
  background: linear-gradient(135deg,#0E0B1A 0%,#1A1F5E 100%);
  padding:80px 0; position:relative; overflow:hidden;
}
.global-band .map-bg {
  position:absolute; inset:0; opacity:0.08;
  background-image:none;
  background-size:cover; background-position:center;
}

/* ===================================================
   Misc
   =================================================== */
.divider { border:none; border-top:1px solid var(--divider); margin:48px 0; }
.text-purple { color:var(--brand-purple)!important; }
.text-gold { color:#5B2C87!important; }
.text-gray { color:var(--text-gray)!important; }
.text-center { text-align:center; }
.mb-8  { margin-bottom:8px; }
.mb-16 { margin-bottom:16px; }
.mb-24 { margin-bottom:24px; }
.mb-32 { margin-bottom:32px; }
.mb-48 { margin-bottom:48px; }
.mb-64 { margin-bottom:64px; }
.mt-24 { margin-top:24px; }
.mt-48 { margin-top:48px; }

/* 对齐辅助 */
.flex-center { display:flex; align-items:center; justify-content:center; }
.flex-between { display:flex; align-items:center; justify-content:space-between; }
.flex-gap-16 { display:flex; gap:16px; }
.flex-gap-24 { display:flex; gap:24px; }

/* ===================================================
   Hero 视频帧遮罩（2026-07-29；.hero-video 容器已退役，2026-07-30 删）
   =================================================== */
.hero-video-media {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.hero-video-overlay {
  position:absolute; inset:0;
  background:linear-gradient(90deg,
    rgba(4,6,14,0.82) 0%,
    rgba(4,6,14,0.45) 45%,
    rgba(4,6,14,0.15) 100%);
}
.hero-video-content { z-index:2; }
@media(max-width:768px){
  .hero-video-overlay {
    background:linear-gradient(90deg,
      rgba(4,6,14,0.85) 0%,
      rgba(4,6,14,0.55) 100%);
  }
}

/* ===================================================
   导航二级下拉菜单（2026-07-29）
   =================================================== */
.nav-links li.has-dropdown { position:relative; }
.nav-links li.has-dropdown > a {
  display:inline-flex; align-items:center; gap:4px;
}
.nav-caret { flex-shrink:0; transition:transform 0.2s ease; }
.nav-links li.has-dropdown:hover .nav-caret,
.nav-links li.has-dropdown:focus-within .nav-caret { transform:rotate(180deg); }
.nav-links .dropdown-menu {
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:148px;
  background:#fff;
  border:1px solid rgba(226,224,234,0.8);
  border-radius:12px;
  box-shadow:0 12px 40px rgba(14,11,26,0.12);
  padding:8px;
  opacity:0; visibility:hidden;
  transition:opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index:10001;
}
.nav-links li.has-dropdown:hover .dropdown-menu,
.nav-links li.has-dropdown:focus-within .dropdown-menu {
  opacity:1; visibility:visible;
  transform:translateX(-50%) translateY(4px);
}
.nav-links .dropdown-menu li { display:block; }
.nav-links .dropdown-menu a {
  display:block; padding:10px 16px;
  font-size:14px; font-weight:500;
  border-radius:8px; white-space:nowrap;
}
.nav-links .dropdown-menu a:hover {
  background:rgba(91,44,135,0.07);
  color:var(--brand-purple);
}

/* 移动端：下拉项静态展开 */
@media(max-width:1100px){
  .nav-links li.has-dropdown > a .nav-caret { display:none; }
  .nav-links .dropdown-menu {
    position:static;
    opacity:1; visibility:visible; transform:none;
    background:transparent; border:none; box-shadow:none;
    padding:0 0 0 20px; min-width:0;
  }
  .nav-links .dropdown-menu a {
    font-size:15px; font-weight:500;
    color:var(--text-gray);
    padding:18px 28px;
  }
}

/* 锚点定位避开固定导航 */
section[id] { scroll-margin-top:calc(var(--nav-height) + 16px); }


/* Hero 视频帧适配（2026-07-30 保留；基础高度规则 80vh/540/900） */
.hero-slide-bg video {
  width:100%; height:100%;
  object-fit:cover;
}


/* ===================================================
   首页三大支柱科技感 hover（2026-07-30）
   =================================================== */
@property --pillar-angle {
  syntax:'<angle>'; initial-value:0deg; inherits:false;
}
.pillar-card {
  border:1.5px solid transparent !important;
  background:
    linear-gradient(135deg,#ffffff 0%,#faf8fc 100%) padding-box,
    linear-gradient(135deg,var(--pillar-c1),var(--pillar-c2)) border-box;
}
/* 支持 conic-gradient 的浏览器升级为旋转流光边框 */
@supports (background: conic-gradient(from 0deg, red, blue)) {
  .pillar-card {
    background:
      linear-gradient(135deg,#ffffff 0%,#faf8fc 100%) padding-box,
      conic-gradient(from var(--pillar-angle,0deg),
        var(--pillar-c1) 0deg, var(--pillar-c2) 130deg,
        var(--pillar-hi) 220deg, var(--pillar-c1) 360deg) border-box;
    animation:pillarBorderSpin 8s linear infinite;
  }
  .pillar-card:hover { animation-duration:2.5s; }
}
@keyframes pillarBorderSpin { to { --pillar-angle:360deg; } }

/* 点阵底纹：hover 浮现 */
.pillar-grid {
  position:absolute; inset:0; border-radius:inherit;
  background-image:radial-gradient(rgba(124,77,255,0.12) 1px, transparent 1px);
  background-size:14px 14px;
  opacity:0; transition:opacity 0.35s ease;
  pointer-events:none; z-index:1;
}
.pillar-card:hover .pillar-grid { opacity:1; }

/* 斜向高光扫过 */
.pillar-card::after {
  content:''; position:absolute; top:-40%; bottom:-40%; left:-120%;
  width:55%; transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.5),transparent);
  transition:left 0.7s ease;
  pointer-events:none; z-index:2;
}
.pillar-card:hover::after { left:130%; }

/* CTA 行：hover 浮现 */
.pillar-cta {
  display:inline-flex; align-items:center; gap:6px; margin-top:18px;
  color:#5B2C87; font-size:14px; font-weight:700; text-decoration:none;
  opacity:0; transform:translateY(6px);
  transition:opacity 0.3s ease, transform 0.3s ease;
  position:relative; z-index:3;
}
.pillar-cta:hover { text-decoration:underline; }
.pillar-card:hover .pillar-cta { opacity:1; transform:translateY(0); }

/* hover 图标辉光 */
.pillar-card:hover .biz-cat-icon {
  box-shadow:0 0 24px var(--pillar-glow, rgba(124,77,255,0.4));
}

/* ===================================================
   全球布局地图（global.html · 2026-07-30）
   =================================================== */
#globalMap {
  height:560px; border-radius:20px;
  background:linear-gradient(135deg,#0E0B1A,#1A1F5E,#5B2C87);
  position:relative; overflow:hidden;
}
#globalMap svg { width:100%; height:100%; display:block; }
.map-legend {
  position:absolute; top:20px; left:20px; z-index:3;
  background:rgba(14,11,26,0.55); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.12); border-radius:12px;
  padding:12px 16px; display:flex; flex-direction:column; gap:8px;
}
.map-legend .lg { display:flex; align-items:center; gap:8px; font-size:12px; color:rgba(255,255,255,0.75); }
.map-legend .dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }

@keyframes mapPulse {
  0%   { r:4;  opacity:0.8; }
  100% { r:22; opacity:0; }
}
.map-pulse {
  fill:none; stroke-width:1.5;
  animation:mapPulse 1.8s ease-out infinite;
}
@keyframes dashFlow { to { stroke-dashoffset:-48; } }
.map-arc {
  fill:none; stroke:#FCD34D; stroke-width:1.5;
  stroke-dasharray:6 6; opacity:0.85;
  animation:dashFlow 2.4s linear infinite;
}
.map-node {
  cursor:pointer;
  transform-box:fill-box; transform-origin:center;
  transition:transform 0.25s ease;
  animation:mapNodeIn 0.5s ease both;
}
.map-node:hover { transform:scale(1.4); }
.map-node:hover .map-core { filter:drop-shadow(0 0 6px currentColor); }
.map-node .map-tip { opacity:0; transition:opacity 0.25s ease; pointer-events:none; }
.map-node:hover .map-tip { opacity:1; }
@keyframes mapNodeIn { from { opacity:0; } to { opacity:1; } }
@media(max-width:768px){
  #globalMap { height:420px; }
}

/* ===================================================
   业务子页板块卡 hover + 产业链路图（2026-07-30）
   =================================================== */
.biz-board-card {
  background:#fff; border:1px solid var(--divider);
  box-shadow:var(--shadow-sm);
  transition:all 0.3s ease;
}
.biz-board-card:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(91,44,135,0.14);
  border-color:rgba(124,77,255,0.3);
}
@keyframes chainPulse {
  0%   { r:4;  opacity:0.9; }
  100% { r:16; opacity:0; }
}
.chain-dot {
  fill:none; stroke-width:1.5;
  animation:chainPulse 1.6s ease-out infinite;
}

/* ===================================================
   新闻分类入口 chips（2026-07-30）
   =================================================== */
.news-cat-chips { display:flex; gap:12px; flex-wrap:wrap; }
.news-cat-chip {
  display:inline-flex; align-items:center; height:38px; padding:0 20px;
  border-radius:100px; background:#fff; border:1px solid var(--divider);
  font-size:14px; font-weight:600; color:var(--text-dark); text-decoration:none;
  transition:all 0.25s ease;
}
.news-cat-chip:hover {
  background:var(--brand-purple); color:#fff; border-color:var(--brand-purple);
}

/* 支柱卡：hover 灰色线性罩 + 图标放大（2026-07-30） */
.pillar-wash { position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(135deg,rgba(100,116,139,0.07),rgba(100,116,139,0.18));
  opacity:0; transition:opacity 0.35s ease; pointer-events:none; z-index:1; }
.pillar-card:hover .pillar-wash { opacity:1; }
.pillar-card .biz-cat-icon { transition:transform 0.3s ease, box-shadow 0.3s ease; }
.pillar-card:hover .biz-cat-icon { transform:scale(1.18); }

/* 新闻列表 + 分页（2026-07-30） */
.news-list { display:flex; flex-direction:column; }
.news-list-item { display:flex; align-items:center; gap:24px; padding:24px 8px;
  border-bottom:1px solid var(--divider); transition:background 0.25s ease; }
.news-list-item:hover { background:#faf8fc; }
.nli-date { flex-shrink:0; width:72px; text-align:center; border-right:1px solid var(--divider); padding-right:20px; }
.nli-day { display:block; font-size:28px; font-weight:800; color:var(--brand-purple); font-family:'Roboto Mono',monospace; line-height:1.1; }
.nli-ym { display:block; font-size:12px; color:var(--text-light); margin-top:2px; }
.nli-main { flex:1; min-width:0; }
.nli-title { font-size:17px; font-weight:700; margin-bottom:6px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.nli-title a { color:inherit; text-decoration:none; transition:color 0.25s; }
.nli-title a:hover { color:var(--brand-purple); }
.nli-desc { font-size:13px; color:var(--text-gray); line-height:1.7; }
.nli-more { flex-shrink:0; font-size:13px; font-weight:700; color:var(--brand-purple); text-decoration:none; }
.nli-more:hover { text-decoration:underline; }
.pagination { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:40px; }
.page-btn { min-width:38px; height:38px; padding:0 12px; border-radius:10px; border:1px solid var(--divider);
  background:#fff; font-size:14px; font-weight:600; color:var(--text-dark); cursor:pointer; transition:all 0.25s; }
.page-btn:hover { border-color:var(--brand-purple); color:var(--brand-purple); }
.page-btn.active { background:var(--brand-purple); color:#fff; border-color:var(--brand-purple); }
.page-btn:disabled { opacity:0.4; cursor:not-allowed; }
@media(max-width:768px){ .nli-date{display:none;} .nli-more{display:none;} }

/* ===================================================
   导航三级菜单（业务布局飞出式，2026-07-30）
   =================================================== */
.nav-links .dropdown-menu li.has-sub { position:relative; }
.nav-links .dropdown-menu li.has-sub > a {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.nav-links .dropdown-menu li.has-sub > a .sub-caret { flex-shrink:0; opacity:0.55; transition:opacity 0.2s; }
.nav-links .dropdown-menu li.has-sub:hover > a .sub-caret { opacity:1; }
.nav-links .sub-menu {
  position:absolute; left:calc(100% - 2px); top:-9px;
  min-width:186px;
  background:#fff;
  border:1px solid rgba(226,224,234,0.8);
  border-radius:12px;
  box-shadow:0 12px 40px rgba(14,11,26,0.12);
  padding:8px;
  opacity:0; visibility:hidden;
  transform:translateX(10px);
  transition:opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index:10002;
}
.nav-links .dropdown-menu li.has-sub:hover > .sub-menu,
.nav-links .dropdown-menu li.has-sub:focus-within > .sub-menu {
  opacity:1; visibility:visible; transform:translateX(0);
}
.nav-links .sub-menu a {
  font-size:13px; font-weight:500; color:var(--text-gray);
  padding:9px 14px; border-radius:8px;
}
.nav-links .sub-menu a:hover {
  background:rgba(91,44,135,0.07); color:var(--brand-purple);
}

/* 移动端：三级菜单静态缩进展开 */
@media(max-width:1100px){
  .nav-links .dropdown-menu li.has-sub > a .sub-caret { display:none; }
  .nav-links .sub-menu {
    position:static; opacity:1; visibility:visible; transform:none;
    background:transparent; border:none; box-shadow:none;
    padding:0 0 0 20px; min-width:0;
  }
  .nav-links .sub-menu a { font-size:14px; padding:12px 28px; }
}

/* ===== T12（2026-07-31）：发展历程 era 分组标题（对照静态页 history.html 7/31 版） ===== */
.timeline-era {
  display:flex; align-items:center; gap:16px;
  margin:64px 0 36px; font-size:15px; font-weight:800; letter-spacing:0.2em;
  color:var(--brand-purple);
}
.timeline-era:first-child { margin-top:8px; }
.timeline-era::after {
  content:''; flex:1; height:1px;
  background:linear-gradient(90deg, rgba(91,44,135,0.35), transparent);
}
.timeline-era .era-years {
  font-family:'Roboto Mono',monospace; font-size:12px; font-weight:600;
  letter-spacing:0.1em; color:var(--text-light); white-space:nowrap;
}
@media(max-width:768px){ .timeline-era { letter-spacing:0.08em; } }


/* ===================================================
   新闻列表 v2（2026-07-31 T18）：左 16:9 图 + 右标题/摘要/日期/来源标签
   =================================================== */
.news-list-item { align-items:center; }
.nli-thumb { flex-shrink:0; width:216px; aspect-ratio:16/9; border-radius:12px; overflow:hidden;
  border:1px solid var(--divider); box-shadow:var(--shadow-sm); background:#F4F1F8; display:block; }
.nli-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.news-list-item:hover .nli-thumb img { transform:scale(1.05); }
.nli-meta { display:flex; align-items:center; gap:10px; margin-top:8px; flex-wrap:wrap; }
.nli-meta-date { font-size:12px; color:var(--text-light); font-family:'Roboto Mono',monospace; }
.nli-src { display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:100px;
  font-size:11px; font-weight:600; background:rgba(91,44,135,0.08); color:var(--brand-purple);
  border:1px solid rgba(91,44,135,0.16); }
@media(max-width:768px){
  .news-list-item { flex-direction:column; align-items:stretch; gap:14px; padding:20px 0; }
  .nli-thumb { width:100%; }
}

/* ===================================================
   全球布局 · 覆盖国家 chips（2026-07-31 T21，V9 曲面长屏口径）
   =================================================== */
.country-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.country-group { background:#fff; border:1px solid var(--divider); border-radius:14px; padding:18px 20px; box-shadow:var(--shadow-sm); }
.country-group h4 { font-size:14px; font-weight:700; margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.cg-dot { display:inline-block; width:10px; height:10px; border-radius:50%; }
.country-chips { display:flex; flex-wrap:wrap; gap:8px; }
.country-chips span { display:inline-flex; align-items:center; height:26px; padding:0 12px; border-radius:100px;
  font-size:12px; font-weight:600; background:rgba(91,44,135,0.06); color:var(--text-dark);
  border:1px solid rgba(91,44,135,0.12); transition:all 0.25s; }
.country-chips span:hover { background:rgba(91,44,135,0.12); color:var(--brand-purple); }
@media(max-width:768px){ .country-groups { grid-template-columns:1fr; } }

/* ===== 核心竞争力墙（T23） ===== */
.comp-group { margin-top:44px; }
.comp-group-head { display:flex; align-items:center; gap:14px; margin-bottom:18px;
  border-bottom:2px solid rgba(91,44,135,0.12); padding-bottom:12px; }
.comp-group-tag { font-family:'Roboto Mono',monospace; font-weight:700; font-size:13px; color:#fff;
  background:var(--brand-purple); border-radius:6px; padding:4px 10px; letter-spacing:0.08em; flex-shrink:0; }
.comp-group-head h3 { font-size:22px; font-weight:800; color:var(--text-dark); }
.comp-group-count { font-size:13px; color:var(--text-gray); margin-left:auto; flex-shrink:0; }
.comp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.comp-badge { background:#fff; border:1px solid rgba(91,44,135,0.14); border-radius:12px;
  padding:16px 18px; transition:border-color 0.25s, transform 0.25s; }
.comp-badge:hover { border-color:var(--brand-purple); transform:translateY(-2px); }
.comp-rank { font-size:15px; font-weight:800; color:var(--brand-purple); margin-bottom:6px; line-height:1.4; }
.comp-field { font-size:13px; color:var(--text-gray); line-height:1.5; }
.comp-source { margin-top:28px; font-size:12px; color:var(--text-light); }
@media(max-width:768px){ .comp-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); } }


/* ===== 发展历程 时代 Tab（T26） ===== */
.era-tabs { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 auto 40px; max-width:960px; }
.era-tab { border:1px solid rgba(91,44,135,0.25); background:#fff; color:var(--text-dark); border-radius:100px; padding:10px 20px; font-size:14px; font-weight:700; cursor:pointer; transition:all .25s; font-family:inherit; }
.era-tab span { display:block; font-size:11px; font-weight:500; color:var(--text-light); margin-top:2px; font-family:'Roboto Mono',monospace; }
.era-tab:hover { border-color:var(--brand-purple); color:var(--brand-purple); }
.era-tab.active { background:var(--brand-purple); border-color:var(--brand-purple); color:#fff; }
.era-tab.active span { color:rgba(255,255,255,0.7); }
.era-panel .timeline-era { margin-top:8px; }
.timeline-compact { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.timeline-compact::before { display:none; }
.timeline-compact .timeline-item { margin-bottom:0; gap:0; background:#fff; border:1px solid rgba(91,44,135,0.12); border-radius:14px; padding:18px 20px; transition:border-color .25s, transform .25s; }
.timeline-compact .timeline-item:hover { border-color:var(--brand-purple); transform:translateY(-2px); }
.timeline-compact .timeline-item:hover .timeline-body { transform:none; }
.timeline-compact .timeline-dot { display:none; }
.timeline-compact .timeline-body { padding-top:0; }
.timeline-compact .timeline-year { font-size:15px; margin-bottom:6px; font-family:'Roboto Mono',monospace; font-weight:700; }
.timeline-compact .timeline-title { font-size:15px; }
.timeline-compact .timeline-text { font-size:13px; }
@media(max-width:768px){ .timeline-compact { grid-template-columns:1fr; } .era-tab { padding:8px 14px; font-size:13px; } }
