/* ================================================
   新紫光官网 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:70vh;
  min-height:480px;
  max-height:820px;
  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:680px; 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:#fff;
  border:1px solid rgba(226,224,234,0.7);
  border-radius:16px;
  padding:32px 28px;
  transition:all 0.3s ease;
  box-shadow:0 2px 8px rgba(91,44,135,0.06);
  text-align:center;
}
.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-cat-icon {
  width:56px; height:56px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px;
}
.biz-cat-name {
  font-size:20px; font-weight:800;
  color:var(--text-dark);
  margin-bottom:8px;
}
.biz-cat-count {
  font-size:13px; color:var(--brand-purple);
  font-weight:600; margin-bottom:10px;
}
.biz-cat-keywords {
  font-size:13px; color:var(--text-gray);
  line-height:1.6; margin-bottom:12px;
}
.biz-cat-rep {
  font-size:12px; color:var(--text-light);
  padding-top:12px; border-top:1px solid var(--divider);
}

/* ===================================================
   旧版 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 ease;
  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::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  border-radius:16px 16px 0 0;
}
.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));
}
.cap-num {
  font-size:40px; 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:var(--brand-gold)!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; }
