/* ============================================================
   具身智能产教融合服务平台 jszn.net.cn
   共享样式 · 与 evtol.bj.cn 同源视觉语言（浅色蓝白系）
   主色 #002890 皇家蓝 · 辅色 #3fb3d9 天蓝 · Hero 蓝天渐变
   ============================================================ */
:root {
  --c-primary: #002890;
  --c-primary-light: #1a4fc9;
  --c-primary-dark: #001e5a;
  --c-primary-deep: #001235;
  --c-accent: #3fb3d9;
  --c-accent-light: #7dd1ef;
  --c-bg: #f3f7ff;
  --c-bg-alt: #e9f1ff;
  --c-hero-grad: linear-gradient(155deg, #3B82C4 0%, #5DADE2 35%, #85C1E9 70%, #B8DDF0 100%);
  --grad: linear-gradient(135deg, #002890 0%, #3fb3d9 100%);
  --text: #0a1a40;
  --muted: #52608a;
  --dim: #5f6c96;
  --gold: #a07c2c;
  --panel: #ffffff;
  --line: rgba(0, 40, 144, 0.10);
  --line2: rgba(0, 40, 144, 0.22);
  --shadow: 0 8px 32px rgba(0, 40, 144, 0.10);
  --shadow-hover: 0 20px 56px rgba(0, 40, 144, 0.18);
  --radius: 16px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--c-bg);
  color: var(--text);
  font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul { list-style: none; }

.container { width: min(1180px, 92%); margin: 0 auto; }
.section { padding: 88px 0; position: relative; }
.section-alt { background: linear-gradient(180deg, #e9f1ff, #f3f7ff); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

/* ---------- 文字工具 ---------- */
.grad {
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.gold { color: var(--gold); }
.muted { color: var(--muted); }
.dim { color: var(--dim); }
.center { text-align: center; }

.kicker {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 5px;
  color: var(--c-primary-light);
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 600;
}
.h1 {
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: 1px;
}
.h2 {
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 14px;
}
.h3 { font-size: 20px; font-weight: 700; }
.lead { color: var(--muted); font-size: 17px; max-width: 820px; }
.center .lead { margin: 0 auto; }

/* ---------- 顶部导航 ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.85);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 2px 18px rgba(0, 40, 144, 0.06);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 68px;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 46px; height: 54px; flex: none;
  display: flex; align-items: center; justify-content: center;
  filter: drop-shadow(0 3px 8px rgba(0,40,144,.22));
}
.brand-mark img, .brand-mark svg { width: 100%; height: 100%; display: block; }
.footer-logo { width: 24px; height: auto; vertical-align: -6px; margin-right: 8px; }
.brand-name { font-size: 17px; font-weight: 700; line-height: 1.2; color: var(--c-primary); }
.brand-sub { font-size: 11px; color: var(--dim); letter-spacing: 1px; }

.nav { display: flex; align-items: center; gap: 2px; }
.nav a {
  padding: 8px 13px;
  font-size: 15px;
  color: var(--muted);
  border-radius: 8px;
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.nav a:hover { color: var(--c-primary); background: rgba(0, 40, 144, 0.06); }
.nav a.active { color: var(--c-primary); font-weight: 700; }
.nav a.active span { border-bottom: 2px solid transparent; border-image: var(--grad) 1; padding-bottom: 2px; }

.nav-cta {
  margin-left: 10px !important;
  color: #fff !important;
  background: var(--grad);
  border-radius: 999px !important;
  padding: 9px 20px !important;
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(0, 40, 144, 0.28);
}
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0, 40, 144, 0.36); }

.menu-btn { display: none; background: none; border: 1px solid var(--line2); color: var(--c-primary); font-size: 20px; padding: 4px 12px; border-radius: 8px; cursor: pointer; }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  padding: 170px 0 110px;
  overflow: hidden;
  background: var(--c-hero-grad);
  color: #fff;
}
.hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 54px 54px;
  -webkit-mask-image: radial-gradient(ellipse 90% 75% at 50% 30%, #000 30%, transparent 80%);
  mask-image: radial-gradient(ellipse 90% 75% at 50% 30%, #000 30%, transparent 80%);
}
.hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 90px;
  background: var(--c-bg);
  clip-path: ellipse(60% 100% at 50% 100%);
}
.hero-inner { position: relative; z-index: 1; text-align: center; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 13.5px; letter-spacing: 2px;
  padding: 7px 18px; border-radius: 999px;
  margin-bottom: 26px;
  backdrop-filter: blur(6px);
}
.hero-badge .dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px #fff; }
.hero .h1 { text-shadow: 0 4px 26px rgba(0, 30, 90, 0.35); }
.hero .h1 .grad {
  background: linear-gradient(90deg, #ffffff, #d6f1ff);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-desc { margin: 24px auto 0; max-width: 900px; color: rgba(255, 255, 255, 0.94); font-size: 17px; text-shadow: 0 2px 12px rgba(0,30,90,.25); }
.hero-actions { margin-top: 40px; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ---------- 按钮 ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 30px; border-radius: 999px;
  font-size: 16px; font-weight: 600;
  transition: transform .2s, box-shadow .2s, background .2s;
  cursor: pointer; border: none;
}
.btn-primary { background: var(--grad); color: #fff; box-shadow: 0 8px 26px rgba(0, 40, 144, 0.32); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(0, 40, 100, 0.4); }
.btn-ghost { border: 1px solid currentColor; color: inherit; background: transparent; }
.hero .btn-ghost:hover { background: rgba(255,255,255,.14); }
.section .btn-ghost, .page-hero .btn-ghost { color: var(--c-primary); border-color: var(--line2); }
.section .btn-ghost:hover, .page-hero .btn-ghost:hover { border-color: var(--c-primary); background: rgba(0,40,144,.05); }

/* ---------- 数据带 ---------- */
.stats-band {
  position: relative; z-index: 2;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 12px 40px rgba(0, 40, 144, 0.08);
  border-radius: 0 0 var(--radius) var(--radius);
}
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 34px 12px; text-align: center; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat .num {
  font-size: clamp(30px, 3.6vw, 44px);
  font-weight: 800;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat .lab { color: var(--muted); font-size: 14.5px; margin-top: 6px; letter-spacing: 1px; }
.cta-band .stat .num { background: linear-gradient(90deg,#7dd1ef,#ffffff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cta-band .stat .lab { color: rgba(255,255,255,.75); }
.cta-band .stat + .stat { border-left: 1px solid rgba(255,255,255,.14); }

/* ---------- 卡片通用 ---------- */
.cards { display: grid; gap: 22px; }
.cards-2 { grid-template-columns: repeat(2, 1fr); }
.cards-3 { grid-template-columns: repeat(3, 1fr); }
.cards-4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 30px 26px;
  box-shadow: var(--shadow);
  transition: transform .3s, box-shadow .3s, border-color .3s;
  position: relative;
  overflow: hidden;
  display: block;
}
.card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 40, 144, 0.25);
  box-shadow: var(--shadow-hover);
}
.card .icon {
  width: 52px; height: 52px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; margin-bottom: 18px;
  background: linear-gradient(135deg, rgba(0,40,144,.08), rgba(63,179,217,.14));
  border: 1px solid rgba(0, 40, 144, 0.14);
}
.card h3 { font-size: 19px; font-weight: 700; margin-bottom: 10px; color: var(--text); }
.card p { color: var(--muted); font-size: 15px; }
.card .tag {
  display: inline-block; font-size: 12px; color: var(--c-primary-light);
  border: 1px solid rgba(0, 40, 144, 0.25); border-radius: 999px;
  padding: 2px 12px; margin-bottom: 12px; letter-spacing: 1px;
  background: rgba(0, 40, 144, 0.05);
}
.card .more { display: inline-block; margin-top: 16px; color: var(--c-primary-light); font-size: 14.5px; font-weight: 600; }
.card .more:hover { text-decoration: underline; }

/* 大圆形数字 */
.big-num {
  font-size: 92px; font-weight: 800; line-height: 1;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- 列表通用 ---------- */
.check-list li {
  position: relative; padding-left: 26px;
  color: var(--muted); font-size: 15px; margin-bottom: 9px;
}
.check-list li::before {
  content: "▸"; position: absolute; left: 0; color: var(--c-accent);
}
.check-list li strong { color: var(--c-primary); }

/* ---------- 快讯 ---------- */
.news-list { display: grid; gap: 14px; }
.news-item {
  display: flex; gap: 20px; align-items: flex-start;
  padding: 20px 24px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  transition: transform .2s, box-shadow .2s;
}
.news-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}
.news-date {
  flex: none; text-align: center; min-width: 74px;
  border-right: 1px solid var(--line); padding-right: 18px;
}
.news-date .d { font-size: 24px; font-weight: 800; color: var(--c-primary); line-height: 1.1; }
.news-date .m { font-size: 12px; color: var(--dim); letter-spacing: 1px; }
.news-body h4 { font-size: 16.5px; font-weight: 700; margin-bottom: 5px; line-height: 1.5; }
.news-body h4 a { color: var(--text); }
.news-body h4 a:hover { color: var(--c-primary-light); }
.news-body p { color: var(--muted); font-size: 14px; }
.news-tag {
  display: inline-block; font-size: 12px; padding: 1px 10px; border-radius: 999px;
  margin-right: 10px; vertical-align: 2px; font-weight: 600;
}
.tag-policy { color: #0057b8; background: rgba(0, 87, 184, .08); border: 1px solid rgba(0,87,184,.28); }
.tag-edu    { color: #6d28c9; background: rgba(109, 40, 201, .07); border: 1px solid rgba(109,40,201,.25); }
.tag-ind    { color: #0a7a52; background: rgba(10, 122, 82, .07); border: 1px solid rgba(10,122,82,.28); }
.tag-sal    { color: #9a6a00; background: rgba(214, 158, 0, .1); border: 1px solid rgba(214,158,0,.35); }

/* ---------- 快讯 Feed（首页） ---------- */
.feed-tabs { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: 34px; }
.feed-tabs button {
  background: #fff; border: 1px solid var(--line2); color: var(--muted);
  padding: 7px 22px; border-radius: 999px; font-size: 14.5px; cursor: pointer;
  font-family: inherit; transition: all .2s;
}
.feed-tabs button:hover { border-color: var(--c-primary); color: var(--c-primary); }
.feed-tabs button.on {
  background: var(--grad); color: #fff; border-color: transparent;
  box-shadow: 0 4px 18px rgba(0, 40, 144, .32);
}
.feed-featured {
  display: block;
  background: linear-gradient(135deg, #ffffff 0%, #eaf4ff 100%);
  border: 1px solid rgba(0, 40, 144, 0.22);
  border-left: 5px solid var(--c-primary);
  border-radius: var(--radius);
  padding: 30px 32px; margin-bottom: 22px;
  box-shadow: var(--shadow);
  transition: box-shadow .25s, transform .25s;
}
.feed-featured:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.feed-featured .ff-meta { color: var(--c-primary-light); font-size: 13px; letter-spacing: 1px; margin-bottom: 10px; font-weight: 600; }
.feed-featured h3 { font-size: clamp(18px, 2.2vw, 24px); font-weight: 800; line-height: 1.5; margin-bottom: 10px; color: var(--text); }
.feed-featured h3 a:hover { color: var(--c-primary-light); }
.feed-featured p { color: var(--muted); font-size: 15px; }
.feed-featured .ff-src { color: var(--dim); font-size: 13px; margin-top: 12px; }

/* ---------- 要闻速览 ---------- */
.brief-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px 30px; }
.brief-item {
  display: flex; align-items: baseline; gap: 12px;
  padding: 13px 4px; border-bottom: 1px dashed var(--line);
  font-size: 15px; transition: background .15s;
  border-radius: 6px;
}
.brief-item:hover { background: rgba(0, 40, 144, 0.04); }
.brief-item:hover a { color: var(--c-primary-light); }
.brief-item .new {
  flex: none; font-size: 11px; color: #fff; background: var(--grad);
  border-radius: 4px; padding: 1px 7px; letter-spacing: 1px; font-weight: 700;
}
.brief-item .date { flex: none; color: var(--dim); font-size: 13px; min-width: 52px; }
.brief-item a { color: var(--muted); line-height: 1.6; }

/* ---------- 时间线 ---------- */
.timeline { position: relative; padding-left: 34px; }
.timeline::before {
  content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px;
  width: 2px; background: linear-gradient(180deg, #002890, #3fb3d9, transparent);
}
.tl-item { position: relative; padding-bottom: 34px; }
.tl-item::before {
  content: ""; position: absolute; left: -33px; top: 7px;
  width: 14px; height: 14px; border-radius: 50%;
  background: #fff;
  border: 3px solid var(--c-primary);
  box-shadow: 0 0 0 4px rgba(0, 40, 144, 0.12);
}
.tl-item .tl-date { color: var(--c-primary-light); font-size: 14px; letter-spacing: 1px; font-weight: 700; }
.tl-item h4 { font-size: 17.5px; font-weight: 700; margin: 6px 0; color: var(--text); }
.tl-item p { color: var(--muted); font-size: 14.5px; }

/* ---------- CTA 区 ---------- */
.cta-band {
  position: relative; overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(560px 300px at 12% 12%, rgba(63, 179, 217, 0.25), transparent 60%),
    linear-gradient(135deg, #002890 0%, #001e5a 60%, #001235 100%);
  padding: 60px 50px;
  text-align: center;
  color: #fff;
  box-shadow: 0 24px 64px rgba(0, 40, 100, 0.35);
}
.cta-band .h2 { margin-bottom: 10px; }
.cta-band p { color: rgba(255,255,255,.94); max-width: 720px; margin: 0 auto 30px; font-size: 16.5px; }
.cta-band .kicker { color: var(--c-accent-light); }
.cta-band .btn-primary { background: #fff; color: var(--c-primary); }
.cta-band .btn-primary:hover { background: #eaf4ff; }
.cta-band .btn-ghost { color: #fff; border-color: rgba(255,255,255,.55); }
.cta-band .btn-ghost:hover { background: rgba(255,255,255,.12); }

/* ---------- 短视频栏目 ---------- */
.video-card {
  position: relative; border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--line); background: #fff;
  box-shadow: var(--shadow);
  transition: transform .25s, box-shadow .25s;
  display: block;
}
.video-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.video-thumb {
  height: 168px; position: relative;
  display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(300px 170px at 25% 20%, rgba(63,179,217,.5), transparent 60%),
    linear-gradient(160deg, #0a2a6e, #001e5a 55%, #001235);
}
.video-thumb .play {
  width: 54px; height: 54px; border-radius: 50%;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.5);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: #fff;
}
.video-card .ep {
  position: absolute; top: 12px; left: 12px;
  font-size: 12px; color: #fff; background: rgba(0, 40, 144, 0.65);
  border: 1px solid rgba(255,255,255,.35); border-radius: 6px; padding: 2px 10px; letter-spacing: 1px;
}
.video-card .v-body { padding: 18px 20px 20px; }
.video-card .v-body h4 { font-size: 16px; font-weight: 700; margin-bottom: 6px; color: var(--text); }
.video-card .v-body p { color: var(--dim); font-size: 13.5px; }

/* ---------- 就业岗位卡 ---------- */
.job-card {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 20px 24px;
  background: #fff; border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  transition: transform .2s, box-shadow .2s;
}
.job-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.job-card .j-name { font-size: 17px; font-weight: 700; color: var(--text); }
.job-card .j-desc { color: var(--dim); font-size: 13.5px; margin-top: 4px; }
.job-card .j-salary { flex: none; font-size: 16px; font-weight: 800; color: #0a7a52; letter-spacing: .5px; }
.job-card .j-hot { flex: none; font-size: 12px; color: #9a6a00; border: 1px solid rgba(214,158,0,.4); border-radius: 999px; padding: 2px 10px; margin-top: 6px; display: inline-block; }

/* ---------- 浮动咨询 ---------- */
.float-consult {
  position: fixed; right: 26px; bottom: 26px; z-index: 90;
  display: flex; align-items: center; gap: 8px;
  background: var(--grad); color: #fff;
  padding: 12px 22px; border-radius: 999px;
  font-size: 15px; font-weight: 600;
  box-shadow: 0 10px 32px rgba(0, 40, 144, 0.4);
  transition: transform .2s;
}
.float-consult:hover { transform: translateY(-3px); }

/* ---------- 页脚 ---------- */
.site-footer {
  background: linear-gradient(180deg, #001e5a, #001235);
  color: #fff;
  padding: 64px 0 30px;
  margin-top: 60px;
}
.footer-grid h5 { font-size: 15px; font-weight: 700; margin-bottom: 16px; letter-spacing: 1px; color: #fff; }
.footer-grid p, .footer-grid li { color: rgba(255, 255, 255, 0.62); font-size: 14px; margin-bottom: 9px; }
.footer-grid a:hover { color: var(--c-accent-light); }
.footer-bottom {
  margin-top: 44px; padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  color: rgba(255, 255, 255, 0.45); font-size: 13px;
}

/* ---------- 文章页 ---------- */
.article { max-width: 860px; margin: 0 auto; }
.article .meta { color: var(--dim); font-size: 14px; margin-bottom: 30px; display: flex; gap: 18px; flex-wrap: wrap; }
.article h2 { font-size: 22px; font-weight: 700; margin: 36px 0 14px; color: var(--c-primary); }
.article p { color: var(--muted); font-size: 16px; margin-bottom: 16px; }
.article strong { color: var(--c-primary); }
.article blockquote {
  border-left: 4px solid var(--c-accent);
  background: rgba(63, 179, 217, 0.08);
  padding: 16px 20px; border-radius: 0 10px 10px 0;
  color: var(--muted); font-size: 15px; margin: 20px 0;
}
.article .src { color: var(--dim); font-size: 13.5px; }

/* ---------- 表单 ---------- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.field label { display: block; font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.field input, .field select, .field textarea {
  width: 100%;
  background: #f7faff;
  border: 1px solid var(--line2);
  border-radius: 10px;
  color: var(--text);
  padding: 12px 16px;
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.field input::placeholder, .field textarea::placeholder { color: #a6b0c9; }
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(0, 40, 144, 0.12);
  background: #fff;
}
.field select option { background: #fff; color: var(--text); }
.form-tip { background: rgba(10, 122, 82, 0.08); border: 1px solid rgba(10,122,82,.3); color: #0a7a52; padding: 12px 18px; border-radius: 10px; font-size: 14.5px; margin-top: 18px; display: none; }

/* ---------- 入场动画 ---------- */
.js .fade-up { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.js .fade-up.on { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ---------- 页头 banner（内页） ---------- */
.page-hero {
  position: relative;
  padding: 150px 0 60px;
  background: var(--c-hero-grad);
  color: #fff;
  overflow: hidden;
}
.page-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 54px 54px;
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 40% 20%, #000 30%, transparent 80%);
  mask-image: radial-gradient(ellipse 85% 80% at 40% 20%, #000 30%, transparent 80%);
}
.page-hero .container { position: relative; z-index: 1; }
.page-hero .kicker { color: rgba(255,255,255,.9); }
.page-hero .h1 { font-size: clamp(30px, 4vw, 46px); text-shadow: 0 4px 24px rgba(0,30,90,.3); }
.page-hero .lead { color: rgba(255,255,255,.92); text-shadow: 0 2px 10px rgba(0,30,90,.2); }
.page-hero .btn-ghost { color: #fff; border-color: rgba(255,255,255,.6); }
.page-hero .btn-ghost:hover { background: rgba(255,255,255,.14); border-color: #fff; }

/* ---------- 响应式 ---------- */
@media (max-width: 960px) {
  .brief-wrap { grid-template-columns: 1fr; }
  .cards-3, .cards-4 { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3) { border-left: none; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .nav {
    display: none;
    position: absolute; top: 68px; left: 0; right: 0;
    flex-direction: column; align-items: stretch;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 16px 40px rgba(0,40,144,.12);
    padding: 14px 5%;
  }
  .nav.open { display: flex; }
  .menu-btn { display: block; }
  .nav a { padding: 12px 6px; border-bottom: 1px solid var(--line); color: var(--text); }
  .nav-cta { margin: 12px 0 0 !important; text-align: center; justify-content: center; }
}
@media (max-width: 620px) {
  .cards-2, .cards-3, .cards-4 { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero { padding: 130px 0 80px; }
  .section { padding: 64px 0; }
  .news-item { flex-direction: column; gap: 10px; }
  .news-date { border-right: none; border-bottom: 1px solid var(--line); padding: 0 0 10px; display: flex; gap: 8px; align-items: baseline; }
  .cta-band { padding: 44px 24px; }
}

/* ================= 国际化高端科技感增强 ================= */
/* Hero 英文标语与关键词胶囊 */
.hero-en { display:flex; align-items:center; justify-content:center; gap:16px; letter-spacing:7px; font-size:13px; font-weight:600; color:rgba(255,255,255,.88); text-transform:uppercase; margin-bottom:20px; }
.hero-en::before, .hero-en::after { content:""; width:56px; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.75)); }
.hero-en::after { background:linear-gradient(90deg,rgba(255,255,255,.75),transparent); }
.hero-chips { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
.hero-chip { padding:7px 18px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff; font-size:13px; letter-spacing:1px; background:rgba(255,255,255,.12); backdrop-filter:blur(6px); transition:.25s; }
.hero-chip:hover { background:rgba(255,255,255,.26); transform:translateY(-2px); }
@media (max-width:760px){ .hero-en{ letter-spacing:4px; } }

/* 滚动快讯条 */
.ticker-bar { background:linear-gradient(90deg,#001235,#002890 55%,#0A3DB8); color:#fff; overflow:hidden; white-space:nowrap; position:relative; }
.ticker-bar::before, .ticker-bar::after { content:""; position:absolute; top:0; bottom:0; width:70px; z-index:2; pointer-events:none; }
.ticker-bar::before { left:0; background:linear-gradient(90deg,#001235,transparent); }
.ticker-bar::after { right:0; background:linear-gradient(270deg,#0A3DB8,transparent); }
.ticker-label { display:inline-flex; align-items:center; position:absolute; left:0; top:0; bottom:0; z-index:3; background:#C9A961; color:#001235; font-weight:800; font-size:12.5px; letter-spacing:2px; padding:0 18px; }
.ticker-track { display:inline-flex; gap:56px; padding:11px 0 11px 150px; animation:tick 46s linear infinite; will-change:transform; }
.ticker-bar:hover .ticker-track { animation-play-state:paused; }
.ticker-track span { font-size:13.5px; letter-spacing:.5px; opacity:.94; }
.ticker-track b { color:#C9A961; font-weight:700; margin-right:8px; }
@keyframes tick { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* 卡片科技感：顶部渐变线 + 悬浮辉光 */
.card { position:relative; overflow:hidden; }
.card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--c-primary),#3fb3d9,#C9A961); opacity:0; transition:.35s; }
.card:hover::before { opacity:1; }
.card:hover { box-shadow:0 18px 44px rgba(0,40,144,.16), 0 0 0 1px rgba(0,40,144,.08); }

/* 全球版图 */
.globe-group { margin-top:34px; }
.g-label { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.g-label b { font-size:16.5px; color:var(--c-primary); white-space:nowrap; }
.g-label small { font-size:11.5px; letter-spacing:2.5px; color:#8A97AB; text-transform:uppercase; white-space:nowrap; }
.g-label::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,#d5e2f5,transparent); }
.globe-strip { display:flex; flex-wrap:wrap; gap:12px; }
.g-chip { padding:10px 20px; background:#fff; border:1px solid #dbe6f7; border-radius:12px; font-weight:700; color:var(--c-primary); box-shadow:0 4px 14px rgba(0,40,144,.06); transition:.25s; font-size:14.5px; }
.g-chip:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,40,144,.15); border-color:var(--c-primary); }
.g-chip small { display:block; font-size:11px; color:#8A97AB; font-weight:500; letter-spacing:.6px; margin-top:2px; }

/* CTA 辉光装饰 */
.cta-band { position:relative; overflow:hidden; }
.cta-band > * { position:relative; z-index:1; }
.cta-band::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 12% 18%, rgba(63,179,217,.28), transparent 42%), radial-gradient(circle at 88% 82%, rgba(196,180,245,.25), transparent 42%); }

/* 顶部阅读进度条 */
#scrollProgress { position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg,#002890,#3fb3d9,#C9A961); z-index:1000; transition:width .1s linear; }

/* 章节英文小标装饰 */
.kicker { position:relative; display:inline-flex; align-items:center; gap:12px; }
.kicker::before, .kicker::after { content:""; width:26px; height:1px; background:linear-gradient(90deg,transparent,#C9A961); }
.kicker::after { background:linear-gradient(90deg,#C9A961,transparent); }

/* CTA 深蓝横幅文字保清晰：置于样式表末尾，确保在 .article 等容器内也不被覆盖 */
.cta-band h2, .cta-band .h2 { color: #ffffff; }
.cta-band p { color: rgba(255,255,255,.94); }
.cta-band p strong, .cta-band strong { color: #ffffff; }
.cta-band .kicker { color: var(--c-accent-light); }

/* ================= 解决方案中心：导航下拉 + 专业组件 ================= */
/* 导航下拉 */
.nav-item { position: relative; }
.nav-item > a .caret { font-size: 9px; margin-left: 3px; opacity: .55; }
.nav-drop {
  position: absolute; top: calc(100% + 8px); left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 22px 52px rgba(0, 40, 144, .18);
  padding: 10px; min-width: 268px; display: grid; gap: 2px;
  opacity: 0; visibility: hidden; transition: .24s ease; z-index: 80;
}
.nav-item:hover .nav-drop { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-drop a { padding: 11px 14px; border-radius: 11px; font-size: 14.5px; color: var(--text); }
.nav-drop a small { display: block; font-size: 12px; color: var(--dim); margin-top: 3px; letter-spacing: .3px; }

/* 四级实训平台阶梯 */
.tier-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tier {
  position: relative; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: 26px 22px; box-shadow: var(--shadow);
  transition: transform .28s, box-shadow .28s; overflow: hidden;
}
.tier::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--c-primary), #3fb3d9); }
.tier.t2::before { background: linear-gradient(90deg, #0a3db8, #4ba7e0); }
.tier.t3::before { background: linear-gradient(90deg, #1f4fc4, #6fc3e8); }
.tier.t4::before { background: linear-gradient(90deg, #C9A961, #e3cf9a); }
.tier:hover { transform: translateY(-6px); box-shadow: 0 20px 46px rgba(0, 40, 144, .16); }
.tier .lv {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 800;
  letter-spacing: 2px; color: var(--c-primary); background: rgba(0, 40, 144, .07);
  border: 1px solid rgba(0, 40, 144, .16); padding: 5px 12px; border-radius: 999px;
}
.tier h3 { font-size: 19px; margin: 14px 0 6px; color: var(--text); }
.tier .who { font-size: 13px; color: var(--dim); margin-bottom: 14px; line-height: 1.6; }
.tier ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.tier ul li { font-size: 14px; color: var(--muted); padding-left: 16px; position: relative; line-height: 1.6; }
.tier ul li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 2px; background: var(--grad); }

/* 流程链 */
.flow { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.flow .step {
  flex: 1 1 148px; background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 18px 16px; text-align: center; box-shadow: var(--shadow); position: relative;
}
.flow .step b { display: block; font-size: 15px; color: var(--c-primary); margin-bottom: 6px; }
.flow .step span { font-size: 13px; color: var(--muted); line-height: 1.6; }
.flow .step::after { content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: #b9c9e6; font-weight: 700; }
.flow .step:last-child::after { display: none; }

/* 规格/配置表 */
.spec-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.spec-table th, .spec-table td { padding: 15px 20px; font-size: 14.5px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.7; }
.spec-table th { background: linear-gradient(180deg, #eef4ff, #e4edff); color: var(--c-primary); font-weight: 700; white-space: nowrap; }
.spec-table tr:last-child td { border-bottom: none; }
.spec-table td:first-child { font-weight: 700; color: var(--text); white-space: nowrap; }
.spec-table tbody tr:hover { background: #f7faff; }

/* 场景卡（左要点 + 右配置） */
.scene-card { display: grid; grid-template-columns: 1.05fr 1fr; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; margin-bottom: 26px; }
.scene-card .s-main { padding: 32px 30px; }
.scene-card .s-side { background: linear-gradient(160deg, #f2f7ff, #e6efff); padding: 32px 30px; border-left: 1px solid var(--line); }
.scene-card h3 { font-size: 22px; color: var(--c-primary); margin-bottom: 10px; }
.scene-card .s-tag { display: inline-block; font-size: 12.5px; letter-spacing: 1.5px; color: #9a6a00; background: rgba(214, 158, 0, .1); border: 1px solid rgba(214, 158, 0, .34); padding: 4px 12px; border-radius: 999px; margin-bottom: 14px; font-weight: 700; }
.scene-card .s-side h4 { font-size: 15px; color: var(--text); margin: 0 0 12px; padding-left: 11px; border-left: 3px solid #C9A961; }
.scene-card .s-side h4:not(:first-child) { margin-top: 22px; }
.scene-card .s-side ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.scene-card .s-side li { font-size: 14px; color: var(--muted); padding-left: 20px; position: relative; line-height: 1.65; }
.scene-card .s-side li::before { content: "✓"; position: absolute; left: 0; color: #C9A961; font-weight: 800; }
.pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.pill { font-size: 13px; padding: 6px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line2); color: var(--c-primary); font-weight: 600; }

/* 结论/成果条 */
.kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.kpi { padding: 26px 16px; text-align: center; }
.kpi + .kpi { border-left: 1px solid var(--line); }
.kpi b { display: block; font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kpi span { display: block; margin-top: 6px; font-size: 13.5px; color: var(--muted); line-height: 1.6; }

/* 合作案例双栏 */
.case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.case-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 26px; box-shadow: var(--shadow); transition: .28s; }
.case-card:hover { transform: translateY(-5px); box-shadow: 0 20px 46px rgba(0, 40, 144, .15); }
.case-card .c-org { font-size: 13px; letter-spacing: 1.5px; color: var(--c-primary-light); font-weight: 700; margin-bottom: 8px; }
.case-card h3 { font-size: 19px; margin-bottom: 10px; color: var(--text); }
.case-card p { font-size: 14.5px; color: var(--muted); line-height: 1.8; }
.src-note { margin-top: 26px; font-size: 13px; color: var(--dim); line-height: 1.8; }

@media (max-width: 1024px) {
  .tier-grid { grid-template-columns: repeat(2, 1fr); }
  .kpi-row { grid-template-columns: repeat(2, 1fr); }
  .kpi:nth-child(3) { border-left: none; }
  .kpi:nth-child(n+3) { border-top: 1px solid var(--line); }
  .case-grid { grid-template-columns: 1fr; }
  .nav-drop { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; background: transparent; padding: 0 0 0 16px; min-width: 0; }
  .nav-drop a { border-bottom: 1px solid var(--line); font-size: 14px; }
  .nav-item > a .caret { display: none; }
}
@media (max-width: 960px) {
  .scene-card { grid-template-columns: 1fr; }
  .scene-card .s-side { border-left: none; border-top: 1px solid var(--line); }
  .flow .step { flex: 1 1 100%; }
  .flow .step::after { display: none; }
}
@media (max-width: 620px) {
  .tier-grid { grid-template-columns: 1fr; }
  .spec-table th, .spec-table td { padding: 12px 13px; font-size: 13.5px; white-space: normal; }
  .spec-table td:first-child { white-space: normal; }
  .kpi-row { grid-template-columns: 1fr; }
  .kpi + .kpi { border-left: none; border-top: 1px solid var(--line); }
}

/* ================= 新闻中心（新华网/人民网式整合版式） ================= */
.news-center { display:grid; grid-template-columns: 1fr 350px; gap:24px; margin-top:34px; align-items:start; }
.nc-main { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.nc-headline { display:block; padding:26px 28px 24px; border-bottom:1px solid var(--line); background:linear-gradient(180deg, rgba(0,40,144,.05), rgba(0,40,144,0)); transition:.25s; }
.nc-headline:hover { background:linear-gradient(180deg, rgba(0,40,144,.09), rgba(0,40,144,.02)); }
.nc-headline .hl-meta { font-size:13px; color:var(--c-primary-light); font-weight:700; letter-spacing:1px; margin-bottom:10px; }
.nc-headline h3 { font-size:21px; line-height:1.5; color:var(--text); transition:.2s; }
.nc-headline:hover h3 { color:var(--c-primary); }
.nc-headline p { margin-top:10px; font-size:14.5px; color:var(--muted); line-height:1.8; }
.nc-headline .hl-src { margin-top:12px; font-size:13px; color:var(--c-primary-light); }
.nc-list { padding:4px 0; }
.nc-item { display:flex; gap:16px; align-items:flex-start; padding:16px 28px; border-bottom:1px dashed var(--line); transition:.2s; }
.nc-item:hover { background:rgba(0,40,144,.035); }
.nc-item .d { flex:none; text-align:center; min-width:56px; padding-right:16px; border-right:2px solid rgba(0,40,144,.12); }
.nc-item .d b { display:block; font-size:22px; font-weight:800; color:var(--c-primary); line-height:1.1; }
.nc-item .d span { font-size:12px; color:var(--dim); letter-spacing:.5px; }
.nc-item h4 { font-size:16px; font-weight:700; line-height:1.55; }
.nc-item h4 a { color:var(--text); }
.nc-item h4 a:hover { color:var(--c-primary); }
.nc-item p { margin-top:6px; font-size:13.5px; color:var(--muted); line-height:1.7; }
.nc-more { display:block; text-align:center; padding:16px 0 18px; font-weight:700; color:var(--c-primary); font-size:14.5px; letter-spacing:1px; background:rgba(0,40,144,.02); }
.nc-more:hover { background:rgba(0,40,144,.06); }

.nc-side { display:flex; flex-direction:column; gap:24px; }
.nc-panel { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px 22px 10px; }
.nc-panel .panel-title { display:flex; align-items:center; gap:10px; border-left:4px solid var(--c-primary); padding-left:12px; margin-bottom:2px; flex-wrap:wrap; }
.nc-panel .panel-title b { font-size:17.5px; color:var(--text); }
.nc-panel .panel-title small { font-size:12px; color:#8A97AB; letter-spacing:.5px; }
.nc-panel .panel-title .head-link { margin-left:auto; font-size:13px; font-weight:700; color:var(--c-primary); white-space:nowrap; }
.nc-panel .panel-title .head-link:hover { color:var(--c-primary-light); }
.ex-item { flex:1; display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px dashed var(--line); min-height:0; }
.ex-item:last-of-type { border-bottom:none; }
.ex-item .date { flex:none; color:var(--c-primary-light); font-weight:600; font-size:12.5px; min-width:46px; }
.ex-item a { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-weight:600; font-size:14px; }
.ex-item a:hover { color:var(--c-primary); }
.rank-item { display:flex; gap:12px; padding:13px 0; border-bottom:1px dashed var(--line); align-items:flex-start; }
.rank-item:last-child { border-bottom:none; }
.rank-item .no { flex:none; width:30px; font-size:20px; font-weight:800; line-height:1.3; color:#C6D3E8; font-style:italic; }
.rank-item.top .no { color:var(--c-primary); }
.rank-item h5 { font-size:14.5px; font-weight:700; line-height:1.55; }
.rank-item h5 a { color:var(--text); }
.rank-item h5 a:hover { color:var(--c-primary); }
.rank-item p { margin-top:4px; font-size:12.5px; color:var(--dim); line-height:1.6; }
.mini-list { }
.mini-item { padding:10px 0; border-bottom:1px dashed var(--line); font-size:13.5px; line-height:1.65; display:flex; align-items:center; gap:9px; }
.mini-item::before { content:""; flex:none; width:5px; height:5px; border-radius:50%; background:#B9C6DC; }
.mini-item:last-child { border-bottom:none; }
.mini-item .date { flex:none; margin-left:auto; color:var(--dim); font-weight:500; font-size:12px; letter-spacing:.5px; }
.mini-item a { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); }
.mini-item a:hover { color:var(--c-primary); }
@media (max-width: 1024px) {
  .news-center { grid-template-columns: 1fr; }
}

/* ================= 页脚（evtol 式四栏专业版式） ================= */
.footer-grid { display:grid; grid-template-columns: 2.1fr 1fr 1fr 1.5fr; gap:44px; align-items:start; }
.f-logo-row { display:flex; gap:14px; align-items:center; margin-bottom:18px; }
.f-logo { width:54px; height:auto; filter:drop-shadow(0 4px 12px rgba(0,0,0,.35)); }
.f-name { font-size:18px; font-weight:800; color:#fff; letter-spacing:1.5px; }
.f-en { font-size:10.5px; color:rgba(255,255,255,.5); letter-spacing:2px; margin-top:4px; }
.f-desc { font-size:13.5px; line-height:1.95; color:rgba(255,255,255,.6); margin-bottom:20px; }
.f-cta { display:inline-block; padding:11px 30px; border-radius:999px; background:var(--grad); color:#fff; font-weight:700; letter-spacing:3px; font-size:14px; box-shadow:0 8px 24px rgba(0,40,144,.45); transition:.25s; }
.f-cta:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,40,144,.55); color:#fff; }
.f-note { font-size:12px; color:rgba(255,255,255,.42); margin-top:12px; }
.footer-grid h5 { position:relative; padding-left:12px; border-left:3px solid #C9A961; font-size:15px; }
.f-contact li span { display:inline-block; min-width:62px; color:rgba(255,255,255,.42); font-size:13px; letter-spacing:1px; }
.f-h5-gap { margin-top:24px; }
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap:36px; }
}
@media (max-width: 620px) {
  .footer-grid { grid-template-columns: 1fr; gap:30px; }
}

/* ============ 短视频观影区（Apple TV / 小米风暗色影院） ============ */
.vh-hero { background:linear-gradient(180deg,#05070f 0%,#0a1433 60%,#0e2454 100%); padding:74px 0 58px; text-align:center; }
.vh-hero .kicker { letter-spacing:4px; font-weight:700; }
.vh-hero .h1 { color:#fff; }
.vh-grad { background:linear-gradient(92deg,#7dd1ef 5%,#c8ecff 60%,#e8d9a8 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.vh-lead { color:rgba(255,255,255,.72); font-size:17px; margin-top:16px; letter-spacing:.5px; }
.vh-stats { display:inline-flex; align-items:center; gap:18px; margin-top:28px; flex-wrap:wrap; justify-content:center; color:rgba(255,255,255,.55); font-size:13.5px; }
.vh-stats b { color:#7dd1ef; font-size:17px; font-weight:800; }
.vh-stats i { width:1px; height:14px; background:rgba(255,255,255,.18); }

.vh-hall { background:linear-gradient(180deg,#0e2454 0%,#070b18 22%,#070b18 100%); padding:0 0 80px; }

/* 精选首播大卡 */
.vh-featured { display:grid; grid-template-columns:1.25fr 1fr; gap:36px; align-items:center; padding-top:10px; }
.vh-fmedia { position:relative; border-radius:22px; overflow:hidden; box-shadow:0 30px 80px rgba(0,10,40,.6); cursor:pointer; aspect-ratio:16/9; background:#000; }
.vh-fmedia .vh-bigplay { z-index:2; }
.vh-fmedia video { width:100%; height:100%; object-fit:contain; display:block; opacity:.92; transition:.4s; position:relative; z-index:1; }
.vh-fmedia:hover video { opacity:1; transform:scale(1.015); }
.vh-bigplay { position:absolute; inset:0; margin:auto; width:84px; height:84px; border-radius:50%; border:none; cursor:pointer; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(8px); color:#fff; font-size:26px; padding-left:6px; transition:.3s; }
.vh-fmedia:hover .vh-bigplay { transform:scale(1.1); background:rgba(125,209,239,.85); border-color:transparent; color:#04122e; }
.vh-fmeta { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.vh-ep { font-size:12px; font-weight:800; letter-spacing:1.5px; color:#7dd1ef; border:1px solid rgba(125,209,239,.5); padding:3px 10px; border-radius:8px; }
.vh-weektag { font-size:12.5px; color:rgba(255,255,255,.55); letter-spacing:1px; }
.vh-finfo h2 { color:#fff; font-size:26px; line-height:1.5; margin-bottom:14px; }
.vh-finfo p { color:rgba(255,255,255,.6); font-size:14px; line-height:1.9; margin-bottom:24px; }
.vh-playbtn { background:linear-gradient(92deg,#1d56c8,#2a63c9); color:#fff; border:none; border-radius:999px; padding:13px 34px; font-size:15px; font-weight:700; cursor:pointer; letter-spacing:2px; transition:.3s; box-shadow:0 12px 30px rgba(29,86,200,.4); }
.vh-playbtn:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(29,86,200,.55); }

/* 篇章筛选 */
.vh-tabs { display:flex; gap:10px; flex-wrap:wrap; margin:46px 0 26px; }
.vh-tabs button { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.65); border-radius:999px; padding:9px 20px; font-size:13.5px; cursor:pointer; transition:.25s; letter-spacing:.5px; }
.vh-tabs button:hover { color:#fff; border-color:rgba(125,209,239,.5); }
.vh-tabs button.on { background:linear-gradient(92deg,#1d56c8,#2a63c9); color:#fff; border-color:transparent; font-weight:700; }

/* 片单网格 */
.vh-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.vh-card { background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09); border-radius:18px; overflow:hidden; cursor:pointer; transition:.3s; display:flex; flex-direction:column; }
.vh-card:hover { transform:translateY(-6px); background:rgba(255,255,255,.08); border-color:rgba(125,209,239,.35); box-shadow:0 22px 50px rgba(0,5,25,.55); }
.vh-thumb { position:relative; aspect-ratio:16/9; background:#000; overflow:hidden; }
.vh-thumb video { width:100%; height:100%; object-fit:cover; display:block; opacity:.85; transition:.35s; }
.vh-card:hover .vh-thumb video { opacity:1; transform:scale(1.04); }
.vh-cep { position:absolute; top:12px; left:12px; font-size:11px; font-weight:800; letter-spacing:1.5px; color:#04122e; background:linear-gradient(92deg,#7dd1ef,#c8ecff); padding:3px 9px; border-radius:7px; }
.vh-new { position:absolute; top:12px; right:12px; font-size:10px; font-weight:800; letter-spacing:1.5px; color:#3a2500; background:linear-gradient(92deg,#ffd98a,#f7c66b); padding:3px 8px; border-radius:7px; box-shadow:0 4px 14px rgba(247,198,107,.35); }
.vh-cplay { position:absolute; inset:0; margin:auto; width:52px; height:52px; border-radius:50%; background:rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(6px); color:#fff; font-size:17px; display:flex; align-items:center; justify-content:center; padding-left:3px; transition:.3s; }
.vh-card:hover .vh-cplay { background:rgba(125,209,239,.9); color:#04122e; border-color:transparent; transform:scale(1.08); }
.vh-cinfo { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.vh-cweek { font-size:11.5px; color:#7dd1ef; letter-spacing:2px; margin-bottom:7px; font-weight:700; }
.vh-cinfo h4 { color:#fff; font-size:15px; line-height:1.65; font-weight:700; }
.vh-cinfo p { color:rgba(255,255,255,.5); font-size:12.5px; line-height:1.75; margin-top:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* 播放弹层 */
.vh-modal { position:fixed; inset:0; z-index:1000; display:none; }
.vh-modal.open { display:block; }
.vh-modal-mask { position:absolute; inset:0; background:rgba(4,7,16,.9); backdrop-filter:blur(14px); }
.vh-modal-box { position:relative; z-index:1; max-width:960px; margin:4vh auto 0; padding:0 20px; animation:vhIn .3s ease; }
@keyframes vhIn { from { opacity:0; transform:translateY(24px) scale(.98); } to { opacity:1; transform:none; } }
.vh-close { position:absolute; top:-16px; right:8px; z-index:2; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:16px; cursor:pointer; transition:.25s; }
.vh-close:hover { background:rgba(255,255,255,.28); transform:rotate(90deg); }
.vh-screen { position:relative; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 40px 100px rgba(0,0,0,.7); aspect-ratio:16/9; }
.vh-screen video { width:100%; height:100%; display:block; }
.vh-bg { position:absolute; inset:-6%; z-index:0; width:112%; height:112%; object-fit:cover; filter:blur(52px) brightness(.48) saturate(1.3); transform:scale(1.12); pointer-events:none; }
#vhVideo { position:relative; z-index:1; object-fit:contain; background:transparent; }
.vh-modal-info { padding:20px 6px 0; }
.vh-mmeta { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.vh-modal-info h3 { color:#fff; font-size:19px; line-height:1.55; }
.vh-modal-info p { color:rgba(255,255,255,.55); font-size:13px; line-height:1.85; margin-top:8px; }
.vh-nav { display:flex; align-items:center; justify-content:space-between; padding:18px 6px 0; }
.vh-nav button { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.75); border-radius:999px; padding:9px 22px; font-size:13.5px; cursor:pointer; transition:.25s; }
.vh-nav button:hover { color:#fff; border-color:rgba(125,209,239,.55); }
.vh-nav span { color:rgba(255,255,255,.4); font-size:12.5px; letter-spacing:1px; }

@media (max-width: 1024px) {
  .vh-featured { grid-template-columns:1fr; gap:24px; }
  .vh-grid { grid-template-columns:1fr 1fr; }
  .vh-finfo h2 { font-size:21px; }
}
@media (max-width: 620px) {
  .vh-hero { padding:52px 0 44px; }
  .vh-lead { font-size:14.5px; padding:0 6px; }
  .vh-grid { grid-template-columns:1fr; }
  .vh-modal-box { margin-top:2vh; }
}

/* ================= 新闻中心 v2（参考 evtol 首页快讯版式） ================= */
.nc-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:34px; }
.nc-head .t { display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.nc-head .h2 { margin:0; }
.nc-live { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 16px; font-size:13px; color:var(--dim); box-shadow:var(--shadow); margin-bottom:6px; white-space:nowrap; }
.nc-live i { width:8px; height:8px; border-radius:50%; background:#e0245e; box-shadow:0 0 0 3px rgba(224,36,94,.15); animation:ncpulse 1.6s infinite; }
@keyframes ncpulse { 50% { opacity:.35; } }
.nc-head .r { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.nc-head .feed-tabs { margin-bottom:0; }
.nc-count { font-size:13.5px; font-weight:700; color:var(--c-primary); white-space:nowrap; }
.nc-count:hover { color:var(--c-primary-light); }

.nc-grid { display:grid; gap:22px; margin-top:26px; }
.nc-row1, .nc-row2 { display:grid; grid-template-columns: 0.86fr 1.4fr; gap:22px; align-items:stretch; }

/* 头条大卡（深蓝渐变） */
.nc-hero { position:relative; overflow:hidden; display:flex; flex-direction:column; border-radius:var(--radius); padding:30px 32px 24px; color:#fff; background:linear-gradient(135deg,#0a1f5c 0%,#123a9e 55%,#1d56c8 100%); box-shadow:0 16px 40px rgba(0,25,90,.35); transition:.28s; }
.nc-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 86% 10%, rgba(125,209,239,.22), transparent 46%); }
.nc-hero > * { position:relative; z-index:1; }
.nc-hero:hover { transform:translateY(-4px); box-shadow:0 22px 52px rgba(0,25,90,.42); }
.nc-hero .chips { display:flex; align-items:center; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.nc-hero .chip-dark { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); color:#fff; font-size:12.5px; padding:5px 13px; border-radius:999px; letter-spacing:1px; }
.nc-hero .chip-date { font-size:12.5px; color:rgba(255,255,255,.72); letter-spacing:1px; }
.nc-hero h3 { color:#fff; font-size:21.5px; line-height:1.6; }
.nc-hero .metric { display:flex; align-items:center; gap:16px; margin:18px 0 16px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:14px 20px; }
.nc-hero .metric b { font-size:42px; font-weight:800; color:#7dd1ef; line-height:1; }
.nc-hero .metric span { font-size:13px; color:rgba(255,255,255,.88); line-height:1.7; }
.nc-hero .desc { font-size:14px; color:rgba(255,255,255,.88); line-height:1.9; }
.nc-hero .src { margin-top:auto; padding-top:16px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12.5px; color:rgba(255,255,255,.62); }
.nc-hero .src b { color:#9fd9f2; font-weight:600; }

/* 独家解读面板 */
.nc-panel .panel-more { display:block; text-align:center; padding:13px 0 14px; margin:auto -22px 0; border-top:1px dashed var(--line); font-weight:700; color:var(--c-primary); font-size:13.5px; letter-spacing:1px; background:rgba(0,40,144,.02); border-radius:0 0 var(--radius) var(--radius); }
.nc-panel .panel-more:hover { background:rgba(0,40,144,.06); }
.badge-new { display:inline-block; background:#e0245e; color:#fff; font-size:10.5px; font-weight:700; padding:1.5px 7px; border-radius:4px; margin-left:8px; vertical-align:2px; letter-spacing:1px; }

/* 短视频卡（深蓝） */
.nc-video { position:relative; overflow:hidden; display:flex; flex-direction:column; border-radius:var(--radius); padding:26px 26px 22px; color:#fff; background:linear-gradient(160deg,#0a1f5c 0%,#16409f 58%,#2a63c9 100%); box-shadow:0 14px 36px rgba(0,25,90,.32); }
.nc-video .top { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.nc-video .chip-up { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.24); padding:5px 13px; border-radius:999px; font-size:12.5px; letter-spacing:1px; }
.nc-video .play-btn { width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.32); display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; padding-left:3px; }
.nc-video h3 { color:#fff; font-size:20px; margin-bottom:8px; position:relative; padding-bottom:12px; }
.nc-video h3::after { content:""; position:absolute; left:1px; bottom:0; width:64px; height:3px; border-radius:2px; background:linear-gradient(90deg,#7dd1ef 0%,rgba(125,209,239,.15) 100%); }
.nc-video h3 .v-hl { background:linear-gradient(92deg,#7dd1ef 10%,#c8ecff 90%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#7dd1ef; }
.nc-video .vdesc { font-size:12.8px; color:rgba(255,255,255,.8); line-height:1.8; margin-bottom:16px; }
.ep-list { display:flex; flex-direction:column; gap:10px; }
.ep-item { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); border-radius:10px; padding:11px 14px; color:#fff; font-size:13.5px; font-weight:600; transition:.2s; }
.ep-item:hover { background:rgba(255,255,255,.2); transform:translateX(4px); color:#fff; }
.ep-item .ep-no { flex:none; font-size:11px; font-weight:800; letter-spacing:1px; color:#7dd1ef; border:1px solid rgba(125,209,239,.55); padding:2px 8px; border-radius:6px; }
.ep-item .arrow { margin-left:auto; color:rgba(255,255,255,.6); font-size:16px; }
.nc-video .vfoot { margin-top:auto; padding-top:16px; display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:rgba(255,255,255,.68); }
.nc-video .vfoot b { color:#fff; font-size:14px; }
.nc-video .vfoot a { color:#9fd9f2; font-weight:600; }
.nc-video .vfoot a:hover { color:#fff; }

/* 四大分类卡（2×2，等高对齐） */
.nc-cats { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:22px; }
.nc-cat { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px 24px 16px; display:flex; flex-direction:column; transition:.25s; min-height:0; }
.nc-cat:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(0,40,144,.14); }
.nc-cat .cat-top { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.nc-cat .cat-date { font-size:12px; color:var(--dim); letter-spacing:.5px; }
.nc-cat h4 { font-size:15.5px; font-weight:700; line-height:1.6; }
.nc-cat h4 a { color:var(--text); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nc-cat h4 a:hover { color:var(--c-primary); }
.nc-cat p { margin:9px 0 14px; font-size:13px; color:var(--muted); line-height:1.78; flex:1; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.nc-cat .cat-src { margin-top:auto; font-size:12px; color:var(--c-primary-light); border-top:1px dashed var(--line); padding-top:10px; }

/* 要闻速递（三栏） */
.nc-brief { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px 26px 12px; }
.nc-brief .brief-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; border-left:4px solid var(--c-primary); padding-left:12px; margin-bottom:8px; flex-wrap:wrap; }
.nc-brief .brief-head b { font-size:17.5px; color:var(--text); }
.nc-brief .brief-head small { font-size:11px; letter-spacing:1.5px; color:#8A97AB; text-transform:uppercase; margin-left:10px; }
.nc-brief .brief-more { font-size:13px; font-weight:700; color:var(--c-primary); white-space:nowrap; }
.nc-brief .brief-more:hover { color:var(--c-primary-light); }
.brief-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.brief-col { padding:0 18px; min-width:0; }
.brief-col:first-child { padding-left:0; }
.brief-col:last-child { padding-right:0; }
.brief-col + .brief-col { border-left:1px dashed var(--line); }
.brief-col .mini-item { border-bottom:1px dashed var(--line); }

@media (max-width: 1024px) {
  .nc-row1, .nc-row2 { grid-template-columns: 1fr; }
  .brief-grid { grid-template-columns:1fr 1fr; column-gap:26px; }
  .brief-col .mini-item:nth-last-child(1) { border-bottom:none; }
}
@media (max-width: 620px) {
  .nc-head { align-items:flex-start; flex-direction:column; }
  .brief-grid { grid-template-columns:1fr; }
  .nc-cats { grid-template-columns:1fr; }
  .nc-hero { padding:24px 22px 20px; }
  .nc-hero .metric b { font-size:34px; }
}

/* ============================================================
   2026-09-28 高端化精修层 · Apple / 小米质感
   原则：更轻的边框、更柔和的层叠阴影、更克制的动效、更强的留白节奏
   ============================================================ */

/* --- 1. 全局字体与标题 --- */
body {
  font-family: "SF Pro Display", "SF Pro SC", -apple-system, BlinkMacSystemFont,
    "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.2px;
}
.h1, .h2 { letter-spacing: 0.5px; }
.h2 em, .h2 i { font-style: normal; }

/* --- 2. Hero：极光辉光 + 精细网格（补齐 .hero-glow / .hero-grid） --- */
.hero { isolation: isolate; }
.hero::before { display: none; }  /* 由 .hero-grid 接管，避免双重网格 */
.hero-glow {
  position: absolute; inset: -20%; z-index: 0; pointer-events: none;
  background:
    radial-gradient(620px 340px at 16% 6%, rgba(125, 209, 239, 0.38), transparent 62%),
    radial-gradient(760px 460px at 86% 12%, rgba(255, 255, 255, 0.20), transparent 62%),
    radial-gradient(980px 520px at 50% 112%, rgba(0, 30, 90, 0.50), transparent 66%),
    radial-gradient(420px 300px at 68% 40%, rgba(201, 169, 97, 0.14), transparent 60%);
}
.hero-grid {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px);
  background-size: 58px 58px;
  -webkit-mask-image: radial-gradient(ellipse 82% 74% at 50% 30%, #000 22%, transparent 78%);
  mask-image: radial-gradient(ellipse 82% 74% at 50% 30%, #000 22%, transparent 78%);
}
.hero-inner { z-index: 2; }
.hero-badge {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  font-weight: 500;
}
.hero-badge .dot { background: #7dd1ef; box-shadow: 0 0 12px #7dd1ef; animation: badgePulse 2.2s ease-in-out infinite; }
@keyframes badgePulse { 0%,100% { opacity: 1; } 50% { opacity: 0.45; } }
.hero-desc strong { font-weight: 700; }

/* --- 3. 导航：更轻、更透、更利落 --- */
.site-header {
  background: rgba(255, 255, 255, 0.78);
  border-bottom: 1px solid rgba(0, 40, 144, 0.08);
  box-shadow: 0 8px 30px rgba(0, 40, 144, 0.06);
}
.nav a { font-size: 14.5px; letter-spacing: 0.5px; padding: 8px 14px; }
.nav a:hover { background: rgba(0, 40, 144, 0.05); }
.nav-cta { box-shadow: 0 4px 14px rgba(0, 40, 144, 0.26); }
.nav-cta:hover { box-shadow: 0 8px 22px rgba(0, 40, 144, 0.34); }

/* --- 4. 按钮：收敛阴影，内高光 --- */
.btn { letter-spacing: 1px; }
.btn-primary {
  box-shadow: 0 6px 18px rgba(0, 40, 144, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
.btn-primary:hover { box-shadow: 0 12px 32px rgba(0, 40, 144, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.28); }
.btn-ghost { transition: all .25s; }

/* --- 5. 卡片：大圆角 + 层叠柔影 + 悬浮呼吸 --- */
.card {
  border-radius: 20px;
  border-color: rgba(0, 40, 144, 0.08);
  box-shadow: 0 1px 2px rgba(16, 42, 100, 0.05), 0 12px 32px rgba(0, 40, 144, 0.08);
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 2px 4px rgba(16, 42, 100, 0.05), 0 28px 64px rgba(0, 40, 144, 0.16);
}
.card .icon {
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(0, 40, 144, 0.10), rgba(63, 179, 217, 0.18));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.card h3 { letter-spacing: 0.3px; }

/* --- 6. 数据带：数字辉光 + 更大呼吸 --- */
.stats-band { border-radius: 0 0 22px 22px; }
.stat { padding: 38px 12px; }
.stat .num { filter: drop-shadow(0 5px 14px rgba(0, 40, 144, 0.22)); }
.cta-band .stat .num { filter: drop-shadow(0 5px 16px rgba(125, 209, 239, 0.38)); }

/* --- 7. 区块留白节奏（大气感核心） --- */
.section { padding: 96px 0; }
@media (max-width: 620px) { .section { padding: 68px 0; } }

/* --- 8. 快讯条与筛选胶囊微调 --- */
.ticker-track span { opacity: 0.92; }
.feed-tabs button { box-shadow: 0 1px 2px rgba(16, 42, 100, 0.06); }
.feed-tabs button.on { box-shadow: 0 6px 18px rgba(0, 40, 144, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.25); }

/* --- 9. 新闻列表卡片化精修 --- */
.news-item, .job-card { border-radius: 16px; border-color: rgba(0, 40, 144, 0.08); }
.nc-main, .nc-panel { border-radius: 20px; border-color: rgba(0, 40, 144, 0.08); }

/* --- 10. 页脚呼吸感 --- */
.site-footer { padding: 76px 0 34px; }

/* --- 11. 滚动条与选中色（细节质感） --- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #eef3fb; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #b9cce9, #92abcf);
  border-radius: 8px; border: 2px solid #eef3fb;
}
::-webkit-scrollbar-thumb:hover { background: #7d9cc9; }
::selection { background: rgba(0, 40, 144, 0.88); color: #fff; }

/* --- 12. 焦点可达性 --- */
a:focus-visible, button:focus-visible {
  outline: 2px solid rgba(0, 40, 144, 0.55);
  outline-offset: 2px;
  border-radius: 6px;
}

/* --- 13. 图片/表格圆角统一 --- */
.spec-table { border-radius: 20px; }
.scene-card, .case-card, .tier { border-radius: 20px; border-color: rgba(0, 40, 144, 0.08); }
/* ============================================================
   2026-09-28 增补：独家解读丰富版 + 独家解读专栏页 + 国际视野标签
   ============================================================ */

/* --- 国际视野标签 --- */
.tag-world { color: #6d3fd4; background: rgba(109, 63, 212, .08); border: 1px solid rgba(109, 63, 212, .30); }

/* --- 独家解读面板：标题 + 一句话摘要 双行条目 --- */
.nc-panel .ex-item { align-items: flex-start; padding: 9px 0; gap: 10px; }
.nc-panel .ex-item .ex-main { flex: 1; min-width: 0; }
.nc-panel .ex-item .ex-main a { display: block; flex: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; font-weight: 700; color: var(--text); }
.nc-panel .ex-item .ex-main a:hover { color: var(--c-primary); }
.nc-panel .ex-item .ex-sub { margin: 3px 0 0; font-size: 12px; line-height: 1.55; color: #8A97AB; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.nc-panel .ex-item .badge-new { margin-left: 0; flex: none; }

/* --- 独家解读专栏页 --- */
.ins-hero { background: linear-gradient(135deg, #001235 0%, #002890 58%, #0a3aa8 100%); color: #fff; padding: 84px 0 66px; position: relative; overflow: hidden; }
.ins-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(640px 300px at 14% 0%, rgba(125,209,239,.30), transparent 62%), radial-gradient(720px 380px at 88% 10%, rgba(201,169,97,.14), transparent 60%); }
.ins-hero .container { position: relative; z-index: 1; }
.ins-hero h1 { font-size: 40px; font-weight: 800; letter-spacing: 1px; margin: 10px 0 0; }
.ins-hero .lead { color: rgba(255,255,255,.82); max-width: 720px; }
.ins-stats { display: flex; gap: 34px; margin-top: 26px; flex-wrap: wrap; }
.ins-stats span { font-size: 14px; color: rgba(255,255,255,.85); }
.ins-stats b { font-size: 24px; font-weight: 800; color: #7dd1ef; margin-right: 6px; filter: drop-shadow(0 3px 10px rgba(125,209,239,.4)); }
.ins-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
@media (max-width: 900px) { .ins-grid { grid-template-columns: 1fr; } }
.ins-card { background: #fff; border: 1px solid rgba(0,40,144,.08); border-radius: 20px; padding: 26px 28px 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 1px 2px rgba(16,42,100,.05), 0 12px 32px rgba(0,40,144,.08); transition: transform .28s ease, box-shadow .28s ease; }
.ins-card:hover { transform: translateY(-5px); box-shadow: 0 2px 4px rgba(16,42,100,.05), 0 26px 58px rgba(0,40,144,.16); }
.ins-card .top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ins-card .no { flex: none; font-size: 12px; font-weight: 800; letter-spacing: 1.5px; color: #04122e; background: linear-gradient(92deg, #7dd1ef, #c8ecff); padding: 3px 10px; border-radius: 7px; }
.ins-card .date { font-size: 12.5px; color: #8A97AB; font-weight: 500; letter-spacing: .5px; }
.ins-card .src-chip { margin-left: auto; font-size: 11.5px; color: #9aa7bb; }
.ins-card h3 { font-size: 17px; line-height: 1.5; color: var(--text); font-weight: 700; letter-spacing: .2px; }
.ins-card h3 a { color: inherit; }
.ins-card h3 a:hover { color: var(--c-primary); }
.ins-card .sum { font-size: 13.5px; line-height: 1.8; color: #5d6b82; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ins-card .foot { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--line); display: flex; align-items: center; justify-content: space-between; }
.ins-card .foot .cat-tags { display: flex; gap: 8px; }
.ins-card .foot .more { font-size: 13px; font-weight: 700; color: var(--c-primary); white-space: nowrap; }
.ins-card .foot .more:hover { color: var(--c-primary-light); }
.ins-note { text-align: center; color: var(--dim); font-size: 13.5px; margin-top: 44px; }
/* ============================================================
   2026-09-28f 独家解读面板 · 权威媒体式「头条导读 + 紧凑列表」
   ============================================================ */
.nc-panel.ex-dense { padding: 18px 20px 8px; }
.ex-lead { display: block; margin: 10px 0 4px; padding: 13px 15px 12px; border-radius: 14px; background: linear-gradient(135deg, rgba(0,40,144,.05), rgba(63,179,217,.08)); border: 1px solid rgba(0,40,144,.10); }
.ex-lead .lead-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.ex-lead .lead-tag { flex: none; font-size: 11px; font-weight: 800; letter-spacing: 1px; color: #fff; background: linear-gradient(92deg, var(--c-primary), #0a3aa8); padding: 2.5px 9px; border-radius: 6px; }
.ex-lead .lead-date { font-size: 12px; color: #8A97AB; font-weight: 600; }
.ex-lead h4 { margin: 0 0 5px; font-size: 15.5px; line-height: 1.5; font-weight: 800; color: var(--text); letter-spacing: .2px; }
.ex-lead h4 a { color: inherit; }
.ex-lead h4 a:hover { color: var(--c-primary); }
.ex-lead p { margin: 0; font-size: 12.5px; line-height: 1.65; color: #5d6b82; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ex-dense .ex-item { align-items: center; padding: 5px 0; gap: 9px; }
.ex-dense .ex-item .date { min-width: 40px; font-size: 12px; }
.ex-dense .ex-item .ex-main a { font-size: 13.5px; font-weight: 600; }
.ex-dense .ex-item .ex-sub { display: none; }
.ex-dense .ex-item .badge-new { font-size: 10px; padding: 1px 6px; }
.ex-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; padding: 9px 2px 6px; border-top: 1px solid var(--line); }
.ex-foot .cnt { font-size: 12.5px; color: #8A97AB; }
.ex-foot .cnt b { color: var(--c-primary); font-weight: 800; }
.ex-foot a { font-size: 13px; font-weight: 700; color: var(--c-primary); white-space: nowrap; }
.ex-foot a:hover { color: var(--c-primary-light); }
/* ============================================================
   2026-09-28g 观影体验精修 · Apple / 小米质感
   ============================================================ */

/* --- 弹层：平滑淡入 + 轻微上浮缩放（替代生硬的 display 切换） --- */
.vh-modal { display:block; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s cubic-bezier(.22,.61,.36,1), visibility 0s linear .3s; }
.vh-modal.open { display:block; opacity:1; visibility:visible; pointer-events:auto; transition:opacity .3s cubic-bezier(.22,.61,.36,1); }
.vh-modal-box { transform:translateY(22px) scale(.982); transition:transform .36s cubic-bezier(.22,.61,.36,1); }
.vh-modal.open .vh-modal-box { transform:translateY(0) scale(1); }

/* --- 播放键：呼吸光环（Apple TV 风格） --- */
.vh-bigplay::after { content:""; position:absolute; inset:-9px; border-radius:50%; border:1.5px solid rgba(255,255,255,.4); animation:vhPulse 2.6s ease-out infinite; pointer-events:none; }
.vh-fmedia:hover .vh-bigplay::after { border-color:rgba(125,209,239,.55); }
@keyframes vhPulse { 0% { transform:scale(.86); opacity:.85; } 70% { transform:scale(1.28); opacity:0; } 100% { transform:scale(1.28); opacity:0; } }

/* --- 精选大卡：悬浮更从容 --- */
.vh-featured { transition:transform .35s cubic-bezier(.22,.61,.36,1); }
.vh-fmedia:hover { box-shadow:0 34px 90px rgba(0,10,40,.68), 0 0 0 1px rgba(125,209,239,.25); }
.vh-fmedia::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, transparent 55%, rgba(0,8,26,.5)); opacity:.6; transition:.35s; }
.vh-fmedia:hover::after { opacity:.25; }