@charset "utf-8";
/* =========================================================
   NavStellar 首页统一设计系统
   覆盖：Hero / 系统模式 / 系统优势 / 模板市场 / 热门推荐 / 知识社区
   独立于 style.css，统一色系与卡片语言
   ========================================================= */

body { overflow-x: hidden; }
:root {
	--ns-blue: #0060ed;
	--ns-blue2: #00a0ec;
	--ns-deep: #0a1e3d;
	--ns-ink: #16233d;
	--ns-sub: #51617c;
	--ns-mut: #8a97ad;
	--ns-line: #e6ecf7;
	--ns-bg: #f6f9ff;
	--ns-radius: 16px;
	--ns-shadow: 0 8px 26px rgba(23, 50, 105, .07);
	--ns-shadow-hover: 0 18px 40px rgba(23, 50, 105, .13);
}

/* 覆盖 common.css 全局 article{width:1170px;margin:auto}，避免语义卡片被撑爆 */
.ns-mode-card, .ns-adv-card, .ns-tpl-card, .ns-news-col, .ns-app-card, .ns-rel-app, .ns-post-card, .ns-article-card, .ns-rel-art { width: auto; margin: 0; }

/* 覆盖 common.css p{word-break:break-all}，避免英文单词(如 Stripe/PayPal)被拦腰截断 */
.ns-hero-sub, .ns-head p, .ns-mode-desc, .ns-adv-card p, .ns-tpl-name, .ns-news-list a, .ns-hero-badges li { word-break: normal; overflow-wrap: break-word; }

/* ---------- 通用板块外壳 ---------- */
.ns-section { padding: 76px 0; background: #fff; clear: both; }
.ns-section.ns-alt { background: var(--ns-bg); }
.ns-head { text-align: center; padding: 0 0 44px; }
.ns-head .ns-eyebrow {
	display: inline-block; font-size: .78rem; letter-spacing: 2px; text-transform: uppercase;
	color: var(--ns-blue); background: rgba(0, 96, 237, .08); border-radius: 30px;
	padding: 5px 16px; margin-bottom: 14px; font-weight: 600;
}
.ns-head h2 { font-size: 2rem; color: var(--ns-ink); font-weight: 700; margin-bottom: 10px; line-height: 1.3; }
.ns-head p { font-size: 1rem; color: var(--ns-mut); max-width: 680px; margin: 0 auto; line-height: 1.8; }

/* ---------- 内联 SVG 图标 ---------- */
.ns-svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 按钮 ---------- */
.ns-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 48px; padding: 0 30px; border-radius: 48px;
	font-size: 15px; font-weight: 600; letter-spacing: .5px;
	transition: transform .3s ease, box-shadow .3s ease, filter .3s ease, background .3s ease, color .3s ease;
}
.ns-btn svg { width: 18px; height: 18px; stroke-width: 2.2; }
.ns-btn-primary { background: linear-gradient(90deg, var(--ns-blue), var(--ns-blue2)); color: #fff; box-shadow: 0 10px 24px rgba(0, 96, 237, .3); }
.ns-btn-primary:hover { color: #fff; transform: translateY(-2px); filter: brightness(1.06); }
.ns-btn-ghost { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .4); backdrop-filter: blur(4px); }
.ns-btn-ghost:hover { color: #fff; background: rgba(255, 255, 255, .2); transform: translateY(-2px); }
.ns-btn-more { margin-top: 40px; text-align: center; }

/* ============ 板块一：Hero ============ */
.ns-hero {
	position: relative; overflow: hidden; clear: both; color: #fff; text-align: center;
	padding: 104px 0 96px;
	background: linear-gradient(135deg, #0a1e3d 0%, #0b2f63 48%, #0060ed 100%);
}
.ns-hero::before, .ns-hero::after {
	content: ""; position: absolute; border-radius: 50%; filter: blur(10px); pointer-events: none;
}
.ns-hero::before {
	width: 560px; height: 560px; top: -220px; right: -140px;
	background: radial-gradient(circle, rgba(0, 160, 236, .35) 0%, rgba(0, 160, 236, 0) 70%);
}
.ns-hero::after {
	width: 480px; height: 480px; bottom: -200px; left: -120px;
	background: radial-gradient(circle, rgba(64, 110, 255, .3) 0%, rgba(64, 110, 255, 0) 70%);
}
.ns-hero .container { position: relative; z-index: 2; }
.ns-hero-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: .82rem; letter-spacing: 2px; font-weight: 600; color: #9fd0ff;
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 30px; padding: 7px 18px; margin-bottom: 26px;
}
.ns-hero h2 {
	font-size: 2.6rem; line-height: 1.35; font-weight: 700; color: #fff;
	letter-spacing: 1px; margin-bottom: 18px;
}
.ns-hero h2 b { color: #7fd4ff; font-weight: 700; }
.ns-hero-sub { font-size: 1.08rem; color: rgba(255, 255, 255, .82); letter-spacing: 1px; max-width: 640px; margin: 0 auto; line-height: 1.9; }
.ns-hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 38px; }
.ns-hero-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
.ns-hero-badges li {
	display: inline-flex; align-items: center; gap: 7px;
	color: #eaf2ff; font-size: 13px; letter-spacing: .5px;
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 30px; padding: 8px 16px;
}
.ns-hero-badges li svg { width: 16px; height: 16px; stroke-width: 2; color: #7fd4ff; }

/* ============ 板块二：系统模式 ============ */
.ns-modes-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.ns-mode-card {
	position: relative; overflow: hidden; border-radius: var(--ns-radius);
	padding: 38px 34px; background: #fff; border: 1px solid var(--ns-line);
	box-shadow: var(--ns-shadow);
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.ns-mode-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--ns-blue), var(--ns-blue2)); }
.ns-mode-card.ns-b2c::before { background: linear-gradient(90deg, #ff7a18, #ffb03a); }
.ns-mode-card:hover { transform: translateY(-6px); box-shadow: var(--ns-shadow-hover); border-color: #d6e4ff; }
.ns-mode-top { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.ns-mode-ico {
	flex: 0 0 auto; width: 60px; height: 60px; border-radius: 16px;
	display: flex; align-items: center; justify-content: center; color: #fff;
	background: linear-gradient(135deg, var(--ns-blue), var(--ns-blue2));
	box-shadow: 0 8px 18px rgba(0, 96, 237, .28);
}
.ns-mode-card.ns-b2c .ns-mode-ico { background: linear-gradient(135deg, #ff7a18, #ffb03a); box-shadow: 0 8px 18px rgba(255, 122, 24, .28); }
.ns-mode-ico .ns-svg { width: 28px; height: 28px; }
.ns-mode-titles h3 { font-size: 1.45rem; color: var(--ns-ink); font-weight: 700; line-height: 1.3; margin: 0; }
.ns-mode-tag { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 600; letter-spacing: 1px; color: var(--ns-blue); background: rgba(0, 96, 237, .1); border-radius: 6px; padding: 3px 10px; }
.ns-mode-card.ns-b2c .ns-mode-tag { color: #e2710a; background: rgba(255, 122, 24, .12); }
.ns-mode-desc { color: var(--ns-sub); font-size: .96rem; line-height: 1.95; margin-bottom: 20px; }
.ns-mode-feats { display: flex; flex-wrap: wrap; gap: 10px 12px; margin-bottom: 26px; }
.ns-mode-feats li { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: #37486a; background: var(--ns-bg); border: 1px solid var(--ns-line); border-radius: 30px; padding: 6px 14px; }
.ns-mode-feats li svg { width: 15px; height: 15px; stroke-width: 2.4; color: #17b26a; }
.ns-mode-cta { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: #fff; background: linear-gradient(90deg, var(--ns-blue), var(--ns-blue2)); border-radius: 40px; padding: 11px 26px; transition: filter .3s ease, transform .3s ease; }
.ns-mode-card.ns-b2c .ns-mode-cta { background: linear-gradient(90deg, #ff7a18, #ffb03a); }
.ns-mode-cta:hover { color: #fff; filter: brightness(1.06); transform: translateX(3px); }
.ns-mode-cta svg { width: 18px; height: 18px; stroke-width: 2.2; }

/* ============ 板块三：系统优势（统一两行：标题+单行介绍） ============ */
.ns-adv-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ns-adv-card {
	background: #fff; border: 1px solid var(--ns-line); border-radius: var(--ns-radius);
	padding: 26px 18px; text-align: center; box-shadow: var(--ns-shadow);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
	display: flex; flex-direction: column; align-items: center;
}
.ns-adv-card:hover { transform: translateY(-6px); border-color: #d6e4ff; box-shadow: var(--ns-shadow-hover); }
.ns-adv-ico {
	width: 54px; height: 54px; margin-bottom: 14px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center; color: #fff;
	background: linear-gradient(135deg, var(--ns-blue), var(--ns-blue2));
	box-shadow: 0 8px 18px rgba(0, 96, 237, .22);
}
.ns-adv-ico .ns-svg { width: 25px; height: 25px; }
.ns-adv-card h3 { font-size: 1.08rem; color: var(--ns-ink); font-weight: 700; margin-bottom: 6px; line-height: 1.4; }
.ns-adv-card p {
	font-size: .88rem; color: var(--ns-mut); line-height: 1.6;
	max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ns-adv-card:nth-child(2) .ns-adv-ico { background: linear-gradient(135deg, #12b886, #40c9a2); box-shadow: 0 8px 18px rgba(18,184,134,.22); }
.ns-adv-card:nth-child(3) .ns-adv-ico { background: linear-gradient(135deg, #7048e8, #9775fa); box-shadow: 0 8px 18px rgba(112,72,232,.22); }
.ns-adv-card:nth-child(4) .ns-adv-ico { background: linear-gradient(135deg, #ff7a18, #ffb03a); box-shadow: 0 8px 18px rgba(255,122,24,.22); }
.ns-adv-card:nth-child(5) .ns-adv-ico { background: linear-gradient(135deg, #0ca5e9, #4dabf7); box-shadow: 0 8px 18px rgba(12,165,233,.22); }
.ns-adv-card:nth-child(6) .ns-adv-ico { background: linear-gradient(135deg, #e64980, #f783ac); box-shadow: 0 8px 18px rgba(230,73,128,.22); }
.ns-adv-card:nth-child(7) .ns-adv-ico { background: linear-gradient(135deg, #2aae67, #63c98f); box-shadow: 0 8px 18px rgba(42,174,103,.22); }
.ns-adv-card:nth-child(8) .ns-adv-ico { background: linear-gradient(135deg, #4263eb, #748ffc); box-shadow: 0 8px 18px rgba(66,99,235,.22); }

/* ============ 模板市场（4列2行 · 大框套小框 · 演示按钮居中） ============ */
.ns-tpl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
/* 大框：卡片外框，悬停整体上浮 */
.ns-tpl-card {
	display: block; background: #fff; border: 1px solid var(--ns-line);
	border-radius: var(--ns-radius); padding: 10px; box-shadow: var(--ns-shadow);
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.ns-tpl-card:hover { transform: translateY(-6px); box-shadow: var(--ns-shadow-hover); border-color: #d6e4ff; }
/* 小框一：缩略图框 */
.ns-tpl-thumb {
	position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden;
	background: #eef3fb; border: 1px solid var(--ns-line); border-radius: 10px;
	transition: border-color .35s ease;
}
.ns-tpl-card:hover .ns-tpl-thumb { border-color: #d6e4ff; }
.ns-tpl-thumb > a { display: block; width: 100%; height: 100%; }
.ns-tpl-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; transition: transform .5s ease; }
.ns-tpl-card:hover .ns-tpl-thumb img { transform: scale(1.05); }
/* 演示遮罩：铺满缩略图框，按钮水平+垂直居中 */
.ns-tpl-thumb .ns-tpl-demo {
	position: absolute; left: 0; top: 0; width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center; text-align: center;
	background: rgba(10, 30, 61, .45); opacity: 0; pointer-events: none;
	transition: opacity .35s ease;
}
.ns-tpl-card:hover .ns-tpl-demo, .ns-tpl-demo:focus-visible { opacity: 1; pointer-events: auto; }
.ns-tpl-demo-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 24px;
	background: #fff; color: var(--ns-blue); border-radius: 30px;
	font-size: .92rem; font-weight: 600; letter-spacing: 2px; line-height: 1;
	box-shadow: 0 8px 20px rgba(10, 30, 61, .28);
	transform: translateY(10px); transition: transform .35s ease, background .35s ease, color .35s ease;
}
.ns-tpl-demo:hover .ns-tpl-demo-btn, .ns-tpl-demo:focus-visible .ns-tpl-demo-btn { background: var(--ns-blue); color: #fff; transform: translateY(0); }
.ns-tpl-demo-btn .ns-svg { width: 16px; height: 16px; stroke-width: 2; }
/* 小框二：标题框 */
.ns-tpl-name {
	display: block; margin-top: 10px; padding: 11px 10px; text-align: center;
	background: var(--ns-bg); border: 1px solid var(--ns-line); border-radius: 10px;
	font-size: .95rem; font-weight: 600; color: var(--ns-ink);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	transition: color .35s ease, border-color .35s ease;
}
.ns-tpl-name a { display: block; color: inherit; text-decoration: none; }
.ns-tpl-card:hover .ns-tpl-name { color: var(--ns-blue); border-color: #d6e4ff; }
@media only screen and (max-width: 1200px) and (min-width: 993px) { .ns-tpl-grid { grid-template-columns: repeat(3, 1fr); } }

/* ============ 热门推荐（swiper，统一卡片风格） ============ */
.ns-hot .ecms-hot { max-width: 1200px; margin: 0 auto; position: relative; padding: 0 56px; }
.ns-hot .ecms-hot-list { overflow: hidden; }
.ns-hot .hot-box {
	background: #fff; border: 1px solid var(--ns-line); border-radius: var(--ns-radius);
	overflow: hidden; box-shadow: var(--ns-shadow); height: auto;
	transition: transform .35s ease, box-shadow .35s ease;
}
.ns-hot .hot-box:hover { transform: translateY(-4px); box-shadow: var(--ns-shadow-hover); }
.ns-hot .hot-footer { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #eef3fb; height: auto; }
.ns-hot .hot-footer img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.ns-hot .hot-header { padding: 13px 12px; text-align: center; }
.ns-hot .hot-header a {
	display: block; font-size: .95rem; font-weight: 600; color: var(--ns-ink);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ns-hot .hot-header a:hover { color: var(--ns-blue); }
.ns-hot .index-btn {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
	width: 42px; height: 42px; margin: 0; border-radius: 50%;
	background: #fff; border: 1px solid var(--ns-line); box-shadow: var(--ns-shadow);
	display: flex; align-items: center; justify-content: center; color: var(--ns-sub);
	transition: all .3s ease;
}
.ns-hot .index-btn i { font-size: 16px; line-height: 1; }
.ns-hot .index-btn:hover { background: var(--ns-blue); border-color: var(--ns-blue); color: #fff; }
.ns-hot .index-prev { left: 0; }
.ns-hot .index-next { right: 0; }

/* ============ 知识社区（统一卡片风格） ============ */
.ns-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.ns-news-col {
	background: #fff; border: 1px solid var(--ns-line); border-radius: var(--ns-radius);
	padding: 26px 24px; box-shadow: var(--ns-shadow);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ns-news-col:hover { transform: translateY(-4px); box-shadow: var(--ns-shadow-hover); border-color: #d6e4ff; }
.ns-news-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; margin-bottom: 8px; border-bottom: 1px solid var(--ns-line); }
.ns-news-head h3 { font-size: 1.12rem; font-weight: 700; color: var(--ns-ink); margin: 0; }
.ns-news-head a { font-size: .84rem; color: var(--ns-blue); font-weight: 600; }
.ns-news-head a:hover { text-decoration: underline; }
.ns-news-list li { border-bottom: 1px dashed var(--ns-line); }
.ns-news-list li:last-child { border-bottom: 0; }
.ns-news-list a {
	display: flex; align-items: center; gap: 9px; padding: 11px 0;
	color: var(--ns-sub); font-size: .93rem; line-height: 1.5;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ns-news-list a::before { content: ""; flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%; background: var(--ns-blue2); }
.ns-news-list a:hover { color: var(--ns-blue); }

/* ============ 响应式 ============ */
@media only screen and (max-width: 992px) {
	.ns-section { padding: 56px 0; }
	.ns-hero { padding: 76px 0 68px; }
	.ns-hero h2 { font-size: 2rem; }
	.ns-modes-grid { grid-template-columns: 1fr; }
	.ns-adv-grid { grid-template-columns: repeat(2, 1fr); }
	.ns-tpl-grid { grid-template-columns: repeat(2, 1fr); }
	.ns-news-grid { grid-template-columns: 1fr; }
	.ns-hot .ecms-hot { padding: 0 48px; }
}
@media only screen and (max-width: 600px) {
	.ns-section { padding: 44px 0; }
	.ns-head { padding-bottom: 30px; }
	.ns-head h2 { font-size: 1.55rem; }
	.ns-hero { padding: 60px 0 54px; }
	.ns-hero h2 { font-size: 1.6rem; }
	.ns-hero-sub { font-size: .95rem; }
	.ns-hero-badges li { font-size: 12px; padding: 6px 12px; }
	.ns-mode-card { padding: 26px 20px; }
	.ns-adv-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.ns-adv-card { padding: 20px 10px; }
	.ns-adv-card p { font-size: .78rem; }
	.ns-tpl-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.ns-tpl-name { font-size: .85rem; padding: 10px 8px; }
	.ns-hot .ecms-hot { padding: 0 40px; }
	.ns-hot .index-btn { width: 34px; height: 34px; }
}
/* ============ 栏目页（网站模板列表 · 复用首页卡片） ============ */
.ns-tpl-page { margin: 44px auto 64px; }
.ns-empty { grid-column: 1 / -1; padding: 70px 0; text-align: center; color: var(--ns-mut); font-size: 1rem; }
/* 筛选条网格：标签纵跨封锁首列，"不限"下方永不落选项，换行选项与上行同列对齐 */
.archive-filter .filter {
	display: grid;
	grid-template-columns: 76px repeat(auto-fill, minmax(84px, 1fr));
	column-gap: 6px; row-gap: 0;
	margin: 0; padding: 12px 0;
	border-bottom: 1px dashed var(--ns-line);
}
/* 行标题占据第一列并跨满全部行，把所有选项挤到第二列开始 */
.archive-filter .filter > span {
	grid-row: 1 / span 50;
	align-self: start;
	line-height: 28px; font-weight: 600; color: var(--ns-ink);
}
/* "不限"同样纵跨所有行封锁第二列，后续选项从第三列（机械设备列）起流 */
.archive-filter .filter li:first-of-type { grid-row: 1 / span 50; align-self: start; }
/* 行距由选项自身 margin 提供，空隐式行高度为 0，不产生空白 */
.archive-filter .filter li {
	margin: 0 0 10px; padding: 0; line-height: 28px;
	border-right: none; text-align: center;
}
.archive-filter .filter li a {
	display: block; color: var(--ns-sub); border-radius: 4px;
}
.archive-filter .filter li a:hover { color: var(--ns-blue); background: rgba(0, 96, 237, .06); }
.archive-filter .filter li.hot a { color: var(--ns-blue); font-weight: 700; }
.archive-filter .filter li.hot a { color: var(--ns-blue); font-weight: 600; }
/* ============ 栏目横幅：弃用图片，与首页 hero 同源的深蓝渐变 ============ */
.term-bar {
	clear: both;
	background: linear-gradient(135deg, var(--ns-deep) 0%, #0b2f63 48%, var(--ns-blue) 100%);
	padding: 4rem 0;
}
.term-bar .term-bg { display: none; }
.term-bar::before, .term-bar::after {
	content: ""; position: absolute; border-radius: 50%; pointer-events: none;
}
.term-bar::before {
	width: 560px; height: 560px; right: -160px; top: -300px;
	background: radial-gradient(circle, rgba(0,160,236,.35) 0%, rgba(0,160,236,0) 70%);
}
.term-bar::after {
	width: 420px; height: 420px; left: -140px; bottom: -260px;
	background: radial-gradient(circle, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 70%);
}
.ns-bar-eyebrow {
	position: relative; z-index: 2; display: inline-block; margin-bottom: 14px;
	padding: 5px 16px; border-radius: 30px; font-size: .8rem; letter-spacing: 1px;
	color: #9cc8ff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
}
.term-bar .term-title {
	color: #fff; font-weight: 700; font-size: 2.1rem; margin-bottom: .6rem;
}
.term-bar .term-description { color: rgba(255,255,255,.72); }
/* ============ 底部定制 CTA ============ */
.ns-explain { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ns-explain-tit { font-size: 1.15rem; font-weight: 700; color: var(--ns-ink); margin: 0 0 8px; }
.ns-explain-sub { color: var(--ns-sub); margin: 0; line-height: 1.7; }
.ns-explain-btn {
	flex-shrink: 0; display: inline-block; padding: 12px 30px; border-radius: 10px;
	background: linear-gradient(90deg, var(--ns-blue), var(--ns-blue2)); color: #fff;
	font-weight: 600; box-shadow: 0 10px 24px rgba(0, 96, 237, .3); transition: all .3s;
}
.ns-explain-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 96, 237, .38); }
@media (max-width: 768px) { .ns-explain { flex-direction: column; align-items: flex-start; } }
/* ============ 功能插件：产品卡与详情页 ============ */
.ns-prod-info { margin-top: 12px; }
.ns-prod-desc { margin: 8px 0 14px; color: var(--ns-sub); font-size: .86rem; line-height: 1.7; }
.ns-prod-foot { display: flex; align-items: center; justify-content: space-between; }
.ns-prod-price { color: #e63946; font-weight: 800; font-size: 1.25rem; }
.ns-prod-price em, .ns-detail-price em, .ns-rel-price em { font-style: normal; font-size: .85rem; margin-right: 2px; }
.ns-prod-more { font-size: .85rem; color: var(--ns-blue); border: 1px solid var(--ns-line); border-radius: 8px; padding: 6px 14px; transition: all .3s; }
.ns-prod-more:hover { background: var(--ns-blue); border-color: var(--ns-blue); color: #fff; }
.ns-detail { display: flex; gap: 40px; margin: 40px 0 50px; align-items: flex-start; }
.ns-detail-media { flex: 0 0 460px; border: 1px solid var(--ns-line); border-radius: var(--ns-radius); overflow: hidden; box-shadow: var(--ns-shadow); }
.ns-detail-media img { width: 100%; display: block; }
.ns-detail-info { flex: 1; }
.ns-detail-title { font-size: 1.7rem; color: var(--ns-ink); font-weight: 700; line-height: 1.4; margin: 14px 0 18px; }
.ns-detail-price { display: inline-block; padding: 10px 18px; border-radius: 10px; background: rgba(230, 57, 70, .06); color: #e63946; font-weight: 800; font-size: 1.9rem; }
.ns-detail-price-note { margin-left: 12px; font-size: .8rem; font-weight: 400; color: var(--ns-mut); }
.ns-detail-meta { list-style: none; margin: 20px 0 0; padding: 0; }
.ns-detail-meta li { padding: 8px 0; color: var(--ns-sub); font-size: .92rem; border-bottom: 1px dashed var(--ns-line); }
.ns-detail-meta li span { display: inline-block; width: 80px; color: var(--ns-mut); }
.ns-detail-btns { display: flex; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.ns-btn-outline { display: inline-block; padding: 12px 28px; border-radius: 10px; font-weight: 600; transition: all .3s; border: 1px solid var(--ns-blue); color: var(--ns-blue); }
.ns-btn-outline:hover { background: var(--ns-blue); color: #fff; }
.ns-detail-content { background: #fff; border: 1px solid var(--ns-line); border-radius: var(--ns-radius); padding: 30px 34px; margin-bottom: 50px; line-height: 1.9; color: var(--ns-sub); overflow: hidden; }
.ns-detail-content img { max-width: 100%; }
.ns-rel { margin-bottom: 60px; }
.ns-rel .ns-tpl-grid { margin-top: 26px; }
.ns-rel-price { margin: -2px 14px 0; color: #e63946; font-weight: 800; font-size: 1.05rem; }
@media (max-width: 992px) { .ns-detail { flex-direction: column; } .ns-detail-media { flex: none; width: 100%; } }
/* ============ 功能插件：应用商店式列表 ============ */
.ns-app-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 44px 0 50px; }
.ns-app-card {
	min-width: 0; overflow: hidden;
	display: grid; grid-template-columns: 80px 1fr; grid-template-areas: "icon body" "side side";
	gap: 4px 16px; align-items: center;
	background: #fff; border: 1px solid var(--ns-line); border-radius: 16px;
	padding: 20px; box-shadow: var(--ns-shadow);
	transition: all .3s ease;
}
.ns-app-card:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .45); box-shadow: var(--ns-shadow-hover); }
.ns-app-icon {
	grid-area: icon; width: 80px; height: 80px; border-radius: 18px; overflow: hidden;
	background: var(--ns-bg); display: block;
}
.ns-app-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ns-app-body { grid-area: body; min-width: 0; }
.ns-app-name { margin: 0 0 8px; font-size: 1.08rem; font-weight: 700; }
.ns-app-name a { color: var(--ns-ink); }
.ns-app-name a:hover { color: var(--ns-blue); }
.ns-app-desc { margin: 0; color: var(--ns-sub); font-size: .88rem; line-height: 1.75; overflow-wrap: anywhere; }
.ns-app-side { grid-area: side; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 14px; border-top: 1px dashed var(--ns-line); }
.ns-app-price { color: #e63946; font-weight: 800; font-size: 1.35rem; white-space: nowrap; }
.ns-app-price em { font-style: normal; font-size: .9rem; margin-right: 2px; }
.ns-app-more {
	display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
	padding: 8px 18px; border-radius: 20px; font-size: .85rem;
	color: var(--ns-blue); background: rgba(0, 96, 237, .08); transition: all .3s;
}
.ns-app-more:hover { background: var(--ns-blue); color: #fff; }
/* ============ 功能插件：详情页深蓝头部 ============ */
.ns-appd-hero { clear: both; background: linear-gradient(135deg, var(--ns-deep) 0%, #0b2f63 48%, var(--ns-blue) 100%); padding: 26px 0 56px; position: relative; overflow: hidden; }
.ns-appd-hero::before {
	content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%;
	right: -140px; top: -260px; background: radial-gradient(circle, rgba(0,160,236,.35) 0%, rgba(0,160,236,0) 70%);
}
.ns-appd-top { position: relative; z-index: 2; display: flex; gap: 34px; align-items: center; }
.ns-appd-icon {
	flex: 0 0 150px; width: 150px; height: 150px; border-radius: 28px; overflow: hidden;
	background: #fff; box-shadow: 0 18px 44px rgba(4, 18, 44, .45);
}
.ns-appd-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ns-appd-info { flex: 1; }
.ns-appd-title { color: #fff; font-size: 1.9rem; font-weight: 700; margin: 12px 0 18px; line-height: 1.35; }
.ns-appd-price { display: inline-flex; align-items: baseline; color: #ffd25e; font-weight: 800; font-size: 2rem; }
.ns-appd-price em { font-style: normal; font-size: 1.05rem; margin-right: 3px; }
.ns-appd-price span { margin-left: 14px; font-size: .82rem; font-weight: 400; color: rgba(255,255,255,.65); }
.ns-appd-btns { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.ns-appd-btns .ns-btn-outline { background: transparent; border-color: rgba(255,255,255,.5); color: #fff; }
.ns-appd-btns .ns-btn-outline:hover { background: rgba(255,255,255,.14); border-color: #fff; color: #fff; }
.ns-btn-light {
	display: inline-block; padding: 12px 28px; border-radius: 10px; font-weight: 600; transition: all .3s;
	background: #fff; color: var(--ns-blue); box-shadow: 0 10px 24px rgba(4, 18, 44, .35);
}
.ns-btn-light:hover { color: var(--ns-blue); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(4, 18, 44, .45); }
.ns-btn-ghost2 {
	display: inline-block; padding: 12px 28px; border-radius: 10px; font-weight: 600; transition: all .3s;
	border: 1px solid rgba(255,255,255,.35); color: rgba(255,255,255,.85);
}
.ns-btn-ghost2:hover { border-color: #fff; color: #fff; }
.ns-appd-content { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 32px 36px; margin: 44px 0 50px; line-height: 1.95; color: var(--ns-sub); overflow: hidden; }
.ns-appd-content img { max-width: 100%; }
/* 相关插件：小图标卡 */
.ns-rel-apps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 26px; }
.ns-rel-app {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
	background: #fff; border: 1px solid var(--ns-line); border-radius: 14px; padding: 22px 14px;
	transition: all .3s ease;
}
.ns-rel-app:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .45); box-shadow: var(--ns-shadow-hover); }
.ns-rel-icon { width: 64px; height: 64px; border-radius: 16px; overflow: hidden; background: var(--ns-bg); }
.ns-rel-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ns-rel-name { color: var(--ns-ink); font-weight: 600; font-size: .92rem; }
.ns-rel-cost { color: #e63946; font-weight: 800; font-size: 1rem; }
.ns-rel-cost em { font-style: normal; font-size: .8rem; margin-right: 2px; }
@media (max-width: 992px) {
	.ns-app-list { grid-template-columns: 1fr; }
	.ns-appd-top { flex-direction: column; text-align: center; }
	.ns-appd-btns { justify-content: center; }
	.ns-rel-apps { grid-template-columns: repeat(2, 1fr); }
}
/* ============ 插件详情优化：衔接/比例/空区/正文排版 ============ */
.ns-appd-hero { padding: 26px 0 56px; }
.ns-appd-crumb { position: relative; z-index: 2; padding: 6px 0 30px; font-size: .85rem; }
.ns-appd-crumb a, .ns-appd-crumb span { color: rgba(255,255,255,.55); }
.ns-appd-crumb a:hover { color: #fff; }
.ns-appd-top { gap: 40px; padding-top: 4px; }
.ns-appd-icon { flex: 0 0 190px; width: 190px; height: 190px; border-radius: 32px; }
.ns-appd-title { font-size: 2.2rem; }
.ns-appd-price { font-size: 2.2rem; }
.ns-appd-btns { margin-top: 30px; }
/* 相关插件为空时整块隐藏，避免标题悬空断层 */
.ns-rel:has(.ns-rel-apps:empty) { display: none; }
/* 产品介绍内部排版：表格/列表/标题统一风格 */
.ns-appd-content h2, .ns-appd-content h3, .ns-appd-content h4 { color: var(--ns-ink); margin: 26px 0 12px; line-height: 1.5; }
.ns-appd-content h2:first-child, .ns-appd-content h3:first-child { margin-top: 0; }
.ns-appd-content p { margin: 0 0 14px; }
.ns-appd-content ul, .ns-appd-content ol { margin: 0 0 16px; padding-left: 22px; }
.ns-appd-content li { margin-bottom: 8px; line-height: 1.8; }

.ns-appd-content img { border-radius: 10px; margin: 8px 0; }
/* ============ 知识社区：博客列表 ============ */
.ns-blog-wrap { display: grid; grid-template-columns: 1fr 300px; gap: 34px; margin: 36px auto 60px; align-items: start; }
.ns-blog-main { min-width: 0; }
.ns-blog-list { display: flex; flex-direction: column; gap: 22px; }
.ns-post-card {
	display: grid; grid-template-columns: 220px 1fr; gap: 22px;
	background: #fff; border: 1px solid var(--ns-line); border-radius: 16px;
	overflow: hidden; box-shadow: var(--ns-shadow); transition: all .3s ease;
}
.ns-post-card:hover { transform: translateY(-4px); border-color: rgba(0,96,237,.4); box-shadow: var(--ns-shadow-hover); }
.ns-post-thumb { position: relative; display: block; height: 180px; overflow: hidden; background: var(--ns-bg); }
.ns-post-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.ns-post-card:hover .ns-post-thumb img { transform: scale(1.06); }
.ns-post-cat {
	position: absolute; left: 10px; top: 10px;
	padding: 4px 12px; border-radius: 12px; font-size: .75rem;
	background: rgba(10,30,61,.82); color: #fff;
}
.ns-post-body { padding: 22px 22px 22px 0; display: flex; flex-direction: column; }
.ns-post-title { margin: 0 0 10px; font-size: 1.18rem; font-weight: 700; line-height: 1.45; }
.ns-post-title a { color: var(--ns-ink); }
.ns-post-title a:hover { color: var(--ns-blue); }
.ns-post-desc { margin: 0 0 14px; color: var(--ns-sub); font-size: .9rem; line-height: 1.8; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ns-post-meta { margin-top: auto; display: flex; align-items: center; gap: 18px; font-size: .82rem; color: #8a94a6; flex-wrap: wrap; }
.ns-post-meta i { margin-right: 4px; color: var(--ns-blue); }
.ns-post-more { margin-left: auto; color: var(--ns-blue); font-weight: 600; }
.ns-post-more:hover { color: #0040a8; }
/* 侧栏 */
.ns-blog-side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 20px; }
.ns-side-box { background: #fff; border: 1px solid var(--ns-line); border-radius: 14px; padding: 22px 20px; box-shadow: var(--ns-shadow); overflow: hidden; }
.ns-side-title { margin: 0 0 16px; font-size: 1rem; font-weight: 700; color: var(--ns-ink); position: relative; padding-left: 12px; }
.ns-side-title::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 16px; border-radius: 2px; background: var(--ns-blue); }
.ns-hot-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ns-hot-list li { border-bottom: 1px dashed var(--ns-line); }
.ns-hot-list li:last-child { border-bottom: none; }
.ns-hot-list a { display: flex; gap: 10px; padding: 11px 0; font-size: .88rem; color: var(--ns-sub); line-height: 1.5; transition: color .2s; min-width: 0; }
.ns-hot-list a:hover { color: var(--ns-blue); }
.ns-hot-no { flex: 0 0 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 4px; background: #eef2f7; color: #8a94a6; font-size: .75rem; font-weight: 700; }
.ns-hot-list li:nth-child(1) .ns-hot-no { background: #ff4d4f; color: #fff; }
.ns-hot-list li:nth-child(2) .ns-hot-no { background: #ff7a45; color: #fff; }
.ns-hot-list li:nth-child(3) .ns-hot-no { background: #ffa940; color: #fff; }
.ns-hot-txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; }
.ns-cat-list { list-style: none; margin: 0; padding: 0; }
.ns-cat-list li a { display: flex; align-items: center; justify-content: space-between; padding: 11px 4px; font-size: .9rem; color: var(--ns-sub); border-bottom: 1px solid var(--ns-line); transition: all .2s; }
.ns-cat-list li:last-child a { border-bottom: none; }
.ns-cat-list li a:hover { color: var(--ns-blue); padding-left: 10px; }
.ns-cat-list li a i { font-size: .75rem; color: #c2c8d2; }
.ns-side-cta { background: linear-gradient(135deg, #eaf2ff 0%, #d6e4ff 100%); border-radius: 14px; padding: 24px 20px; text-align: center; color: var(--ns-ink); border: 1px solid #c5d6f5; }
.ns-side-cta-t { margin: 0 0 6px; font-size: 1.05rem; font-weight: 700; color: var(--ns-deep); }
.ns-side-cta-s { margin: 0 0 16px; font-size: .82rem; color: var(--ns-sub); line-height: 1.6; }
.ns-side-cta-btn { display: inline-block; padding: 9px 26px; border-radius: 22px; background: var(--ns-blue); color: #fff; font-weight: 600; font-size: .88rem; transition: transform .2s; }
.ns-side-cta-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* ============ 知识社区：文章详情 ============ */
.ns-article-hero {
	clear: both; background: linear-gradient(135deg, var(--ns-deep) 0%, #0b2f63 48%, var(--ns-blue) 100%);
	padding: 40px 0 46px; position: relative; overflow: hidden;
}
.ns-article-hero::before {
	content: ""; position: absolute; width: 480px; height: 480px; border-radius: 50%;
	right: -120px; top: -240px; background: radial-gradient(circle, rgba(0,160,236,.3), rgba(0,160,236,0) 70%);
}
.ns-article-hero > .container { position: relative; z-index: 2; }
.ns-article-crumb { font-size: .85rem; margin-bottom: 18px; }
.ns-article-crumb a, .ns-article-crumb span { color: rgba(255,255,255,.6); }
.ns-article-crumb a:hover { color: #fff; }
.ns-article-title { color: #fff; font-size: 2rem; font-weight: 700; line-height: 1.4; margin: 0 0 18px; }
.ns-article-meta { display: flex; gap: 22px; font-size: .85rem; color: rgba(255,255,255,.75); }
.ns-article-meta i { margin-right: 5px; opacity: .85; }
.ns-article-wrap { max-width: 880px; margin: -30px auto 60px; padding: 0 16px; }
.ns-article-card { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 38px 44px; box-shadow: var(--ns-shadow); }
.ns-article-content { line-height: 1.95; color: #3a4456; font-size: 1rem; }
.ns-article-content h2, .ns-article-content h3, .ns-article-content h4 { color: var(--ns-ink); margin: 30px 0 14px; line-height: 1.5; }
.ns-article-content h2:first-child, .ns-article-content h3:first-child { margin-top: 0; }
.ns-article-content p { margin: 0 0 16px; }
.ns-article-content ul, .ns-article-content ol { margin: 0 0 18px; padding-left: 22px; }
.ns-article-content li { margin-bottom: 8px; line-height: 1.8; }
.ns-article-content img { max-width: 100%; border-radius: 10px; margin: 10px 0; }
/* 内容区超链接：与正文明显区分，一眼可辨 */
.ns-article-content a, .ns-log-content a, .ns-page-content a, .ns-appd-content a {
	color: var(--ns-blue);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(0, 96, 237, .45);
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
	transition: color .2s ease, text-decoration-color .2s ease;
}
.ns-article-content a:hover, .ns-log-content a:hover, .ns-page-content a:hover, .ns-appd-content a:hover {
	color: #0049b8;
	text-decoration-color: #0049b8;
}

.ns-article-content blockquote { margin: 18px 0; padding: 14px 18px; border-left: 4px solid var(--ns-blue); background: var(--ns-bg); border-radius: 0 8px 8px 0; color: var(--ns-sub); }
/* 上下篇 */
.ns-article-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 26px 0; }
.ns-nav-prev, .ns-nav-next {
	display: block; background: #fff; border: 1px solid var(--ns-line); border-radius: 12px;
	padding: 14px 18px; font-size: .82rem; color: var(--ns-sub); transition: all .3s;
}
.ns-nav-next { text-align: right; }
.ns-nav-prev em, .ns-nav-next em { font-style: normal; font-size: .92rem; color: var(--ns-ink); font-weight: 600; display: block; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ns-nav-prev:hover, .ns-nav-next:hover { border-color: var(--ns-blue); color: var(--ns-blue); }
.ns-nav-none { opacity: .5; cursor: default; }
.ns-nav-none:hover { border-color: var(--ns-line); color: var(--ns-sub); }
/* 相关文章 */
.ns-rel-articles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px; }
.ns-rel-art {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ns-line);
	border-radius: 12px; overflow: hidden; transition: all .3s;
}
.ns-rel-art:hover { transform: translateY(-3px); border-color: rgba(0,96,237,.4); box-shadow: var(--ns-shadow); }
.ns-rel-art-thumb { height: 120px; overflow: hidden; background: var(--ns-bg); }
.ns-rel-art-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ns-rel-art-name { padding: 12px 14px 6px; font-size: .9rem; font-weight: 600; color: var(--ns-ink); line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ns-rel-art-date { padding: 0 14px 14px; font-size: .78rem; color: #8a94a6; }

@media (max-width: 992px) {
	.ns-blog-wrap { grid-template-columns: 1fr; }
	.ns-blog-side { position: static; }
	.ns-post-card { grid-template-columns: 150px 1fr; }
	.ns-article-card { padding: 26px 20px; }
	.ns-article-title { font-size: 1.5rem; }
	.ns-rel-articles { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.ns-post-card { grid-template-columns: 1fr; }
	.ns-post-thumb { height: 180px; }
	.ns-post-body { padding: 16px; }
	.ns-article-nav { grid-template-columns: 1fr; }
	.ns-nav-next { text-align: left; }
}
/* 微信弹窗：遮罩 + 居中 */
.cd-popup { display: none; background: rgba(8, 18, 38, .72); backdrop-filter: blur(4px); }
.cd-popup.is-visible { display: flex; align-items: center; justify-content: center; transition: none; }
/* ============ 正文数据表格：卡片化突出展示 ============ */
.ns-article-content table, .ns-appd-content table {
	width: 100%; border-collapse: separate; border-spacing: 0;
	margin: 22px 0; font-size: .9rem; background: #fff;
	border: 1px solid #dbe4f0; border-radius: 12px;
	overflow: hidden; box-shadow: 0 6px 20px rgba(10, 30, 61, .07);
}
.ns-article-content th, .ns-article-content td,
.ns-appd-content th, .ns-appd-content td {
	padding: 13px 16px; text-align: left; line-height: 1.7;
	border-bottom: 1px solid #eaf0f8; border-right: 1px solid #eaf0f8;
	vertical-align: top;
}
.ns-article-content th:last-child, .ns-article-content td:last-child,
.ns-appd-content th:last-child, .ns-appd-content td:last-child { border-right: none; }
.ns-article-content tr:last-child td, .ns-article-content tr:last-child th,
.ns-appd-content tr:last-child td, .ns-appd-content tr:last-child th { border-bottom: none; }
/* 表头：深蓝渐变白字 */
.ns-article-content thead th, .ns-appd-content thead th,
.ns-article-content tbody th, .ns-appd-content tbody th {
	background: linear-gradient(135deg, var(--ns-deep) 0%, #10407f 100%);
	color: #fff; font-weight: 600; font-size: .88rem;
	letter-spacing: .3px; border-right-color: rgba(255,255,255,.14); border-bottom: none;
}
/* 斑马纹 */
.ns-article-content tbody tr:nth-child(even),
.ns-appd-content tbody tr:nth-child(even) { background: #f7faff; }
/* 悬停高亮 */
.ns-article-content tbody tr:hover, .ns-appd-content tbody tr:hover { background: #eaf3ff; }
/* 首列（维度/平台名）加重 */
.ns-article-content tbody td:first-child, .ns-appd-content tbody td:first-child { font-weight: 600; color: var(--ns-ink); }
/* 表格上方紧邻的小标题自动突出 */
.ns-article-content p:has(+ table), .ns-appd-content p:has(+ table) {
	font-weight: 700; color: var(--ns-ink); margin: 26px 0 4px;
	padding-left: 12px; border-left: 4px solid var(--ns-blue); line-height: 1.6;
}
@media (max-width: 768px) {
	.ns-article-content table, .ns-appd-content table { font-size: .82rem; }
	.ns-article-content th, .ns-article-content td,
	.ns-appd-content th, .ns-appd-content td { padding: 10px 10px; }
}
/* ============ 网站定制页（单页） ============ */
.ns-cz-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 40px auto 60px; }
.ns-cz-plan { background: #fff; border: 1px solid var(--ns-line); border-radius: 18px; padding: 34px 30px; display: flex; flex-direction: column; transition: all .3s ease; }
.ns-cz-plan:hover { transform: translateY(-5px); box-shadow: var(--ns-shadow-hover); border-color: rgba(0, 96, 237, .45); }
.ns-cz-plan-t { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 1.35rem; font-weight: 700; color: var(--ns-ink); }
.ns-cz-plan-s { margin: 0 0 20px; color: var(--ns-sub); font-size: .9rem; line-height: 1.7; }
.ns-cz-plan-list { list-style: none; margin: 0 0 26px; padding: 0; }
.ns-cz-plan-list li { position: relative; padding-left: 26px; margin-bottom: 12px; color: var(--ns-sub); font-size: .92rem; line-height: 1.7; }
.ns-cz-plan-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--ns-blue); font-weight: 700; }
.ns-cz-plan-btn { margin-top: auto; align-self: flex-start; display: inline-block; padding: 11px 34px; border-radius: 10px; font-weight: 600; color: #fff; background: var(--ns-blue); transition: all .3s; }
.ns-cz-plan-btn:hover { color: #fff; filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 96, 237, .3); }
.ns-cz-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 26px; }
.ns-cz-card { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 28px 24px; transition: all .3s ease; text-align: center; }
.ns-cz-card:hover { transform: translateY(-5px); box-shadow: var(--ns-shadow-hover); border-color: rgba(0, 96, 237, .4); }
.ns-cz-ico { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px; background: var(--ns-bg); color: var(--ns-blue); font-size: 22px; margin-bottom: 14px; }
.ns-cz-card-t { margin: 0 0 10px; font-size: 1.05rem; font-weight: 700; color: var(--ns-ink); }
.ns-cz-card-d { margin: 0; color: var(--ns-sub); font-size: .88rem; line-height: 1.75; }
.ns-cz-flow { list-style: none; display: flex; flex-wrap: wrap; gap: 14px; margin: 26px 0 0; padding: 0; }
.ns-cz-flow li { flex: 1 1 128px; background: #fff; border: 1px solid var(--ns-line); border-radius: 14px; padding: 18px 14px; text-align: center; transition: all .3s; }
.ns-cz-flow li:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .45); box-shadow: var(--ns-shadow-hover); }
.ns-cz-step {
	display: inline-flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 50%; margin-bottom: 12px;
	background: var(--ns-bg); color: var(--ns-blue); font-size: 21px;
	border: 1px solid #e3ecfb;
	transition: transform .3s ease;
}
.ns-cz-flow li:hover .ns-cz-step { transform: translateY(-3px) scale(1.06); }
.ns-cz-flow h5 { margin: 0 0 4px; font-size: .95rem; font-weight: 700; color: var(--ns-ink); }
.ns-cz-flow em { font-style: normal; font-size: .78rem; color: #8a94a6; }
.ns-cz-faq { display: flex; flex-direction: column; gap: 12px; margin-top: 26px; }
.ns-faq-item { background: #fff; border: 1px solid var(--ns-line); border-radius: 12px; overflow: hidden; transition: all .3s; }
.ns-faq-item[open] { border-color: rgba(0, 96, 237, .4); }
.ns-faq-q { position: relative; cursor: pointer; list-style: none; padding: 16px 48px 16px 20px; font-weight: 600; color: var(--ns-ink); font-size: .98rem; line-height: 1.6; }
.ns-faq-q::-webkit-details-marker { display: none; }
.ns-faq-q::after { content: "\25BE"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--ns-sub); transition: transform .3s; }
.ns-faq-item[open] .ns-faq-q::after { transform: translateY(-50%) rotate(180deg); color: var(--ns-blue); }
.ns-faq-item[open] .ns-faq-q { color: var(--ns-blue); }
.ns-faq-a { padding: 0 20px 18px; color: var(--ns-sub); font-size: .92rem; line-height: 1.85; }
.ns-cz-cta { margin: 60px auto 20px; background: linear-gradient(135deg, var(--ns-deep) 0%, #0b2f63 48%, var(--ns-blue) 100%); border-radius: 20px; padding: 52px 30px; text-align: center; color: #fff; position: relative; overflow: hidden; }
.ns-cz-cta::before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; right: -120px; top: -200px; background: radial-gradient(circle, rgba(0, 160, 236, .35), rgba(0, 160, 236, 0) 70%); }
.ns-cz-cta h3, .ns-cz-cta p, .ns-cz-cta a { position: relative; z-index: 2; }
.ns-cz-cta-t { margin: 0 0 10px; font-size: 1.5rem; font-weight: 700; color: #fff; }
.ns-cz-cta-s { margin: 0 0 24px; color: rgba(255, 255, 255, .82); font-size: .95rem; }
.ns-cz-cta-btn { display: inline-block; padding: 13px 44px; border-radius: 10px; background: #fff; color: var(--ns-blue); font-weight: 700; transition: all .3s; }
.ns-cz-cta-btn:hover { color: var(--ns-blue); transform: translateY(-2px); box-shadow: 0 16px 36px rgba(4, 18, 44, .45); }
@media (max-width: 992px) {
	.ns-cz-plans { grid-template-columns: 1fr; }
	.ns-cz-grid3 { grid-template-columns: 1fr; }
}
/* 定制页区块之间的纵向间距 */
.ns-cz-sec { margin-top: 92px; }
/* 定制页 CTA 双按钮 */
.ns-cz-cta-btns { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; position: relative; z-index: 2; }
.ns-cz-cta-btn2 { display: inline-block; padding: 13px 44px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .55); color: #fff; font-weight: 600; transition: all .3s; }
.ns-cz-cta-btn2:hover { background: rgba(255, 255, 255, .14); border-color: #fff; color: #fff; }
/* 定制页方案卡标题图标 */
.ns-cz-plan-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; flex: 0 0 46px; border-radius: 12px;
	background: var(--ns-bg); color: var(--ns-blue); font-size: 20px;
}
/* 定制页视觉减负：hover 时才浮起 */
.ns-cz-card:hover, .ns-cz-flow li:hover, .ns-faq-item:hover { box-shadow: var(--ns-shadow-hover); }
/* ============ 定制页：对齐参考页视觉语言 ============ */
/* 1) Hero 浅色化（白 -> 浅灰蓝渐变，深色标题） */
.ns-cz-hero { background: linear-gradient(180deg, #ffffff 0%, #eaf1f7 100%); padding: 68px 0 78px; }
.ns-cz-hero::before, .ns-cz-hero::after { display: none; }
.ns-cz-hero .ns-bar-eyebrow { color: var(--ns-blue); background: rgba(0, 96, 237, .07); border-color: rgba(0, 96, 237, .2); }
.ns-cz-hero .term-title { color: var(--ns-ink); font-size: 2.8rem; }
.ns-cz-hero .term-description { color: var(--ns-sub); }
/* 2) 区块标题加大 */
.ns-cz-sec .ns-head h2, .ns-cz-band .ns-head h2 { font-size: 2.4rem; }
.ns-cz-sec .ns-head, .ns-cz-band .ns-head { padding-bottom: 52px; }
/* 3) 方案卡 / 标准卡：柔和浮起 + 更大内边距 + 大圆角 */
.ns-cz-plan { border-radius: 20px; padding: 46px 44px; box-shadow: 0 18px 50px rgba(10, 30, 61, .07); }
.ns-cz-card { border-radius: 20px; padding: 38px 30px; box-shadow: 0 14px 40px rgba(10, 30, 61, .06); }
/* 4) 按钮胶囊化（对齐参考页 999px 圆角） */
.ns-cz-plan-btn { border-radius: 999px; padding: 13px 38px; }
.ns-cz-cta-btn, .ns-cz-cta-btn2 { border-radius: 999px; padding: 14px 38px; }
/* 5) 流程项放大 */
.ns-cz-flow li { flex: 1 1 150px; padding: 24px 16px; border-radius: 18px; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); }
/* 6) FAQ 浅灰底全宽分区 + 卡片轻阴影 */
.ns-cz-band { background: #f7f9fb; padding: 78px 0; margin-top: 100px; }
.ns-cz-band .ns-cz-faq { margin-top: 30px; }
.ns-faq-item { box-shadow: 0 2px 12px rgba(10, 30, 61, .05); }
/* 7) 区块留白节奏 */
.ns-cz-sec { margin-top: 100px; }
/* ============ 系统更新：版本时间线 ============ */
.ns-log-list { position: relative; margin: 46px auto 20px; padding-left: 36px; }
.ns-log-list::before { content: ""; position: absolute; left: 15px; top: 12px; bottom: 12px; width: 2px; background: linear-gradient(180deg, var(--ns-blue) 0%, #dbe6f5 100%); border-radius: 2px; }
.ns-log-item { position: relative; margin-bottom: 24px; }
.ns-log-item:last-child { margin-bottom: 0; }
.ns-log-node { position: absolute; left: -36px; top: 28px; width: 14px; height: 14px; margin-left: 9px; border-radius: 50%; background: #fff; border: 3px solid var(--ns-blue); box-shadow: 0 0 0 4px rgba(0, 96, 237, .1); }
.ns-log-item:first-child .ns-log-node { background: var(--ns-blue); box-shadow: 0 0 0 5px rgba(0, 96, 237, .18); }
.ns-log-card { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 24px 28px; box-shadow: 0 12px 34px rgba(10, 30, 61, .06); transition: all .3s ease; }
.ns-log-card:hover { transform: translateX(5px); border-color: rgba(0, 96, 237, .4); box-shadow: 0 18px 46px rgba(10, 30, 61, .1); }
.ns-log-head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; flex-wrap: wrap; }
.ns-log-ver { font-family: Consolas, Monaco, 'Courier New', monospace; font-size: 1.6rem; font-weight: 700; color: var(--ns-ink); letter-spacing: .5px; line-height: 1.2; }
.ns-log-new { font-size: .72rem; font-weight: 700; color: #fff; background: var(--ns-blue); border-radius: 20px; padding: 3px 11px; }
.ns-log-date { margin-left: auto; font-size: .85rem; color: #8a94a6; }
.ns-log-date i { margin-right: 4px; }
.ns-log-body { color: var(--ns-sub); font-size: .92rem; line-height: 1.85; margin-bottom: 14px; }
.ns-log-more { color: var(--ns-blue); font-weight: 600; font-size: .88rem; }
.ns-log-more:hover { color: #0040a8; }
.ns-log-more i { margin-left: 2px; transition: transform .2s; }
.ns-log-more:hover i { transform: translateX(3px); }

/* ============ 系统更新：版本详情 ============ */
.ns-log-detail { max-width: 900px; margin: 40px auto 70px; }
.ns-log-meta { position: relative; z-index: 2; display: flex; gap: 24px; margin-top: 14px; font-size: .9rem; color: rgba(255, 255, 255, .78); }
.ns-log-meta i { margin-right: 5px; }
.ns-log-content { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 36px 40px; box-shadow: 0 12px 34px rgba(10, 30, 61, .06); font-size: .98rem; line-height: 1.9; color: #3a4456; }
.ns-log-content p { margin: 0 0 12px; }
.ns-log-content p.ns-log-line { display: flex; align-items: flex-start; gap: 12px; }
.ns-log-tag { flex: 0 0 auto; display: inline-block; min-width: 54px; text-align: center; font-size: .75rem; font-weight: 700; border-radius: 7px; padding: 4px 10px; line-height: 1.4; }
.ns-log-add { color: #0f9d58; background: rgba(15, 157, 88, .1); }
.ns-log-opt { color: var(--ns-blue); background: rgba(0, 96, 237, .1); }
.ns-log-fix { color: #d97706; background: rgba(217, 119, 6, .12); }
.ns-log-del { color: #dc2626; background: rgba(220, 38, 38, .1); }
.ns-log-txt { flex: 1; }
.ns-log-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0 18px; }
.ns-log-prev, .ns-log-next { display: block; background: #fff; border: 1px solid var(--ns-line); border-radius: 12px; padding: 14px 18px; font-size: .82rem; color: var(--ns-sub); transition: all .3s; }
.ns-log-next { text-align: right; }
.ns-log-prev em, .ns-log-next em { font-style: normal; font-size: .92rem; color: var(--ns-ink); font-weight: 600; display: block; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ns-log-prev:hover, .ns-log-next:hover { border-color: var(--ns-blue); color: var(--ns-blue); }
.ns-log-none { opacity: .5; cursor: default; }
.ns-log-none:hover { border-color: var(--ns-line); color: var(--ns-sub); }
.ns-log-backwrap { text-align: center; }
.ns-log-back { display: inline-block; padding: 10px 30px; border-radius: 999px; background: var(--ns-bg); color: var(--ns-blue); font-weight: 600; font-size: .9rem; transition: all .3s; }
.ns-log-back:hover { background: var(--ns-blue); color: #fff; }
@media (max-width: 768px) {
	.ns-log-list { padding-left: 26px; }
	.ns-log-list::before { left: 9px; }
	.ns-log-node { left: -26px; margin-left: 5px; }
	.ns-log-content { padding: 24px 20px; }
	.ns-log-nav { grid-template-columns: 1fr; }
	.ns-log-next { text-align: left; }
	.ns-log-ver { font-size: 1.3rem; }
}
/* ============ 功能预览页 ============ */
.ns-fp-hero { clear: both; background: linear-gradient(180deg, #ffffff 0%, #eaf1f7 100%); padding: 56px 0 60px; text-align: center; }
.ns-fp-crumb { text-align: left; font-size: .85rem; margin-bottom: 22px; }
.ns-fp-crumb a, .ns-fp-crumb span { color: #46536e; }
.ns-fp-crumb a:hover { color: var(--ns-blue); }
.ns-fp-eyebrow { color: var(--ns-blue) !important; background: rgba(0, 96, 237, .07) !important; border-color: rgba(0, 96, 237, .2) !important; }
.ns-fp-title { font-size: 2.6rem; font-weight: 700; color: var(--ns-ink); margin: 14px 0 16px; line-height: 1.3; }
.ns-fp-desc { max-width: 740px; margin: 0 auto; color: var(--ns-sub); font-size: 1rem; line-height: 1.85; }
.ns-fp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 880px; margin: 36px auto 0; }
.ns-fp-stat { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 22px 16px; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); }
.ns-fp-stat b { display: block; font-family: Consolas, Monaco, monospace; font-size: 2.1rem; font-weight: 800; color: var(--ns-blue); line-height: 1.1; }
.ns-fp-stat span { display: block; margin-top: 6px; font-size: .85rem; color: var(--ns-sub); }

.ns-fp-nav { position: sticky; top: 0; z-index: 60; background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--ns-line); padding: 10px 0; }
.ns-fp-nav-list { display: flex; gap: 8px; overflow-x: auto; }
.ns-fp-nav-list a { flex: 0 0 auto; padding: 8px 18px; border-radius: 999px; font-size: .88rem; color: var(--ns-sub); background: var(--ns-bg); transition: all .25s; white-space: nowrap; }
.ns-fp-nav-list a:hover { color: var(--ns-blue); }
.ns-fp-nav-list a.active { background: var(--ns-blue); color: #fff; }

.ns-fp-mod { margin-top: 76px; scroll-margin-top: 84px; }
.ns-fp-mod-head { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.ns-fp-mod-no { font-family: Consolas, Monaco, monospace; font-size: .95rem; font-weight: 700; color: var(--ns-blue); background: var(--ns-bg); border-radius: 10px; padding: 7px 13px; }
.ns-fp-mod-ico { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; flex: 0 0 50px; border-radius: 14px; background: linear-gradient(135deg, var(--ns-deep) 0%, var(--ns-blue) 100%); color: #fff; font-size: 21px; }
.ns-fp-mod-t { margin: 0; font-size: 1.55rem; font-weight: 700; color: var(--ns-ink); }
.ns-fp-mod-sub { margin: 5px 0 0; font-size: .9rem; color: var(--ns-sub); }
.ns-fp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.ns-fp-card { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 24px 26px; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); transition: all .3s ease; }
.ns-fp-card:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .35); box-shadow: 0 18px 44px rgba(10, 30, 61, .1); }
.ns-fp-card-t { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1.05rem; font-weight: 700; color: var(--ns-ink); }
.ns-fp-card-t::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--ns-blue); }
.ns-fp-card ul { list-style: none; margin: 0; padding: 0; }
.ns-fp-card li { position: relative; padding-left: 18px; margin-bottom: 8px; font-size: .9rem; color: var(--ns-sub); line-height: 1.7; }
.ns-fp-card li:last-child { margin-bottom: 0; }
.ns-fp-card li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: #c7d6ee; }
.ns-fp-card-ai { background: linear-gradient(160deg, #f4f8ff 0%, #ffffff 70%); border-color: #d5e4fb; }
.ns-fp-card-ai .ns-fp-card-t::before { background: linear-gradient(135deg, var(--ns-blue2), var(--ns-blue)); }

.ns-fp-aiwrap { margin-top: 46px; }
.ns-fp-aihead { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.ns-fp-aiico { background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%); }
.ns-fp-ai { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ns-fp-ai-card { background: linear-gradient(160deg, #f2f7ff 0%, #ffffff 65%); border: 1px solid #d9e6fb; border-radius: 18px; padding: 26px; transition: all .3s ease; }
.ns-fp-ai-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(10, 30, 61, .1); border-color: rgba(0, 96, 237, .35); }
.ns-fp-ai-badge { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: 1px; color: #fff; background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%); border-radius: 20px; padding: 4px 13px; margin-bottom: 14px; }
.ns-fp-ai-t { margin: 0 0 10px; font-size: 1.15rem; font-weight: 700; color: var(--ns-ink); }
.ns-fp-ai-d { margin: 0; font-size: .9rem; color: var(--ns-sub); line-height: 1.8; }

.ns-fp-cta { margin: 76px auto 20px; background: linear-gradient(135deg, var(--ns-deep) 0%, #0b2f63 48%, var(--ns-blue) 100%); border-radius: 20px; padding: 52px 30px; text-align: center; color: #fff; position: relative; overflow: hidden; }
.ns-fp-cta::before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; right: -120px; top: -200px; background: radial-gradient(circle, rgba(0, 160, 236, .35), rgba(0, 160, 236, 0) 70%); }
.ns-fp-cta h3, .ns-fp-cta p, .ns-fp-cta .ns-fp-cta-btns { position: relative; z-index: 2; }
.ns-fp-cta-t { margin: 0 0 10px; font-size: 1.5rem; font-weight: 700; color: #fff; }
.ns-fp-cta-s { margin: 0 0 24px; font-size: .95rem; color: rgba(255, 255, 255, .82); }
.ns-fp-cta-btns { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

@media (max-width: 992px) {
	.ns-fp-grid, .ns-fp-ai { grid-template-columns: 1fr; }
	.ns-fp-stats { grid-template-columns: repeat(2, 1fr); }
	.ns-fp-title { font-size: 2rem; }
}
@media (max-width: 600px) {
	.ns-fp-mod-head { flex-wrap: wrap; }
	.ns-fp-mod-t { font-size: 1.3rem; }
	.ns-fp-nav-list a { padding: 7px 14px; font-size: .82rem; }
}
/* ============ 顶部栏高亮入口（功能预览 / 系统更新） ============ */
.topbar-wrapper .topnav a.ns-top-hot {
	display: inline-flex; align-items: center; gap: 6px;
	height: 28px; line-height: 1; padding: 0 15px; margin: 0 0 0 10px;
	border-radius: 999px; font-size: 13px; font-weight: 600; vertical-align: middle;
	color: #fff; background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%);
	box-shadow: 0 2px 10px rgba(0, 96, 237, .45);
	transition: all .3s ease;
}
.topbar-wrapper .topnav a.ns-top-hot:hover {
	color: #fff; filter: brightness(1.12); transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(0, 96, 237, .6);
}
.topbar-wrapper .topnav a.ns-top-hot .iconfont { font-size: 14px; }
/* ============ 关于我们 ============ */
.ns-au-hero { clear: both; background: linear-gradient(180deg, #ffffff 0%, #eaf1f7 100%); padding: 56px 0 60px; text-align: center; }
.ns-au-crumb { text-align: left; font-size: .85rem; margin-bottom: 22px; }
.ns-au-crumb a, .ns-au-crumb span { color: #46536e; }
.ns-au-crumb a:hover { color: var(--ns-blue); }
.ns-au-eyebrow { color: var(--ns-blue) !important; background: rgba(0, 96, 237, .07) !important; border-color: rgba(0, 96, 237, .2) !important; }
.ns-au-title { font-size: 2.6rem; font-weight: 700; color: var(--ns-ink); margin: 14px 0 16px; line-height: 1.3; }
.ns-au-desc { max-width: 780px; margin: 0 auto; color: var(--ns-sub); font-size: 1rem; line-height: 1.85; }
.ns-au-who { display: grid; grid-template-columns: 1.35fr 1fr; gap: 40px; align-items: center; margin-top: 56px; }
.ns-au-h2 { font-size: 1.7rem; font-weight: 700; color: var(--ns-ink); margin: 0 0 16px; }
.ns-au-who-txt p { color: var(--ns-sub); font-size: .95rem; line-height: 1.9; margin: 0 0 14px; }
.ns-au-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.ns-au-stat { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 22px 18px; text-align: center; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); }
.ns-au-stat b { display: block; font-family: Consolas, Monaco, monospace; font-size: 1.9rem; font-weight: 800; color: var(--ns-blue); }
.ns-au-stat span { display: block; margin-top: 6px; font-size: .82rem; color: var(--ns-sub); }
.ns-au-sec { margin-top: 92px; }
.ns-au-head { text-align: center; margin-bottom: 38px; }
.ns-au-sub { color: var(--ns-sub); font-size: .95rem; margin: 8px 0 0; }
.ns-au-prod { background: #fff; border: 1px solid var(--ns-line); border-radius: 20px; padding: 42px 44px; box-shadow: 0 18px 50px rgba(10, 30, 61, .07); }
.ns-au-tag { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: 1px; color: #fff; background: linear-gradient(135deg, var(--ns-blue2), var(--ns-blue)); border-radius: 20px; padding: 4px 13px; margin-bottom: 14px; }
.ns-au-prod-info h2 { margin-top: 0; }
.ns-au-prod-info > p { color: var(--ns-sub); font-size: .95rem; line-height: 1.9; margin: 0 0 14px; }
.ns-au-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 22px 0 14px; }
.ns-au-mode { display: flex; gap: 14px; background: linear-gradient(135deg, #f2f7ff 0%, #ffffff 100%); border: 1px solid #d5e4fb; border-radius: 14px; padding: 20px 22px; transition: all .3s ease; }
.ns-au-mode:hover { border-color: rgba(0, 96, 237, .5); box-shadow: 0 12px 30px rgba(0, 96, 237, .12); transform: translateY(-3px); }
.ns-au-mode-ico { flex: 0 0 44px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%); color: #fff; font-size: 18px; }
.ns-au-mode h4 { margin: 0 0 6px; font-size: 1.05rem; font-weight: 700; color: var(--ns-ink); }
.ns-au-mode p { margin: 0; font-size: .88rem; color: var(--ns-sub); line-height: 1.75; }
.ns-au-note { font-size: .88rem; color: #8a94a6; margin: 0; }
.ns-au-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ns-au-card { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 26px 24px; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); transition: all .3s ease; }
.ns-au-card:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .35); box-shadow: 0 18px 44px rgba(10, 30, 61, .1); }
.ns-au-ico { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: var(--ns-bg); color: var(--ns-blue); font-size: 20px; margin-bottom: 14px; }
.ns-au-card h3 { margin: 0 0 10px; font-size: 1.05rem; font-weight: 700; color: var(--ns-ink); }
.ns-au-card p { margin: 0; font-size: .88rem; color: var(--ns-sub); line-height: 1.75; }
.ns-au-biz { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ns-au-biz-card { background: #fff; border: 1px solid var(--ns-line); border-radius: 18px; padding: 32px 30px; box-shadow: 0 14px 40px rgba(10, 30, 61, .06); }
.ns-au-biz-no { font-family: Consolas, Monaco, monospace; font-size: .9rem; font-weight: 700; color: var(--ns-blue); background: var(--ns-bg); border-radius: 10px; padding: 5px 12px; }
.ns-au-biz-card h3 { margin: 14px 0 6px; font-size: 1.3rem; font-weight: 700; color: var(--ns-ink); }
.ns-au-biz-sub { color: var(--ns-sub); font-size: .88rem; margin: 0 0 18px; }
.ns-au-biz-card ul { list-style: none; margin: 0; padding: 0; }
.ns-au-biz-card li { position: relative; padding-left: 18px; margin-bottom: 11px; font-size: .88rem; color: var(--ns-sub); line-height: 1.75; }
.ns-au-biz-card li:last-child { margin-bottom: 0; }
.ns-au-biz-card li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--ns-blue); }
.ns-au-biz-card li b { color: var(--ns-ink); font-weight: 600; margin-right: 6px; }
.ns-au-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ns-au-mini { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 26px 22px; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); transition: all .3s; text-align: center; }
.ns-au-mini:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .35); box-shadow: 0 18px 44px rgba(10, 30, 61, .1); }
.ns-au-mini h3 { margin: 0 0 8px; font-size: 1rem; font-weight: 700; color: var(--ns-ink); }
.ns-au-mini p { margin: 0; font-size: .85rem; color: var(--ns-sub); line-height: 1.7; }
.ns-au-tags { display: flex; flex-wrap: nowrap; gap: 10px; justify-content: center; }
.ns-au-tags span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 15px; border-radius: 999px; background: linear-gradient(135deg, #f2f7ff 0%, #e8f1ff 100%); border: 1px solid #cfe0fb; color: var(--ns-blue); font-size: .84rem; font-weight: 600; white-space: nowrap; transition: all .3s; }
.ns-au-tags span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ns-blue); flex: 0 0 6px; transition: background .3s; }
.ns-au-tags span:hover { background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%); color: #fff; border-color: transparent; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 96, 237, .3); }
.ns-au-tags span:hover::before { background: #fff; }
/* 窄屏兜底：标签放不下时才允许换行 */
@media (max-width: 1240px) { .ns-au-tags { flex-wrap: wrap; } }
.ns-au-link { color: var(--ns-blue); font-weight: 600; border-bottom: 1px dashed rgba(0, 96, 237, .5); }
.ns-au-link:hover { color: #0040a8; border-bottom-style: solid; }
.ns-page-content { background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 36px 40px; margin: 36px auto 60px; max-width: 900px; box-shadow: 0 12px 34px rgba(10, 30, 61, .06); line-height: 1.9; color: #3a4456; }
.ns-page-content h2, .ns-page-content h3 { color: var(--ns-ink); margin: 24px 0 12px; }
.ns-page-content p { margin: 0 0 14px; }
.ns-page-content ul, .ns-page-content ol { padding-left: 22px; margin: 0 0 16px; }
.ns-page-content img { max-width: 100%; border-radius: 10px; }
.ns-page-content table { width: 100%; border-collapse: collapse; margin: 18px 0; }
.ns-page-content th, .ns-page-content td { border: 1px solid var(--ns-line); padding: 10px 14px; text-align: left; }
.ns-page-content th { background: var(--ns-bg); }
@media (max-width: 992px) {
	.ns-au-who { grid-template-columns: 1fr; gap: 28px; }
	.ns-au-grid { grid-template-columns: 1fr 1fr; }
	.ns-au-grid4 { grid-template-columns: 1fr 1fr; }
	.ns-au-biz { grid-template-columns: 1fr; }
	.ns-au-title { font-size: 2rem; }
}
@media (max-width: 600px) {
	.ns-au-grid, .ns-au-grid4, .ns-au-stats, .ns-au-modes { grid-template-columns: 1fr; }
	.ns-au-prod { padding: 26px 22px; }
	.ns-page-content { padding: 24px 20px; }
}
/* ============ 侧边客服已移除：返回顶部按钮独立定位 ============ */
.rollbar { width: 50px; }
.rollbar .rollbar-item { position: static; margin-top: 0; }
/* 常见问题页 */
.ns-faq-wrap { max-width: 920px; margin: 56px auto 0; }
/* ============ 内链：相关页面推荐模块 ============ */
.ns-related { margin: 76px auto 0; }
.ns-related-title { text-align: center; font-size: 1.5rem; font-weight: 700; color: var(--ns-ink); margin: 0 0 30px; }
.ns-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ns-related-card { display: block; background: #fff; border: 1px solid var(--ns-line); border-radius: 16px; padding: 26px 22px; box-shadow: 0 10px 30px rgba(10, 30, 61, .05); transition: all .3s ease; }
.ns-related-card:hover { transform: translateY(-4px); border-color: rgba(0, 96, 237, .35); box-shadow: 0 18px 44px rgba(10, 30, 61, .1); }
.ns-related-ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: var(--ns-bg); color: var(--ns-blue); font-size: 19px; margin-bottom: 14px; }
.ns-related-card h4 { margin: 0 0 8px; font-size: 1.02rem; font-weight: 700; color: var(--ns-ink); }
.ns-related-card p { margin: 0; font-size: .85rem; color: var(--ns-sub); line-height: 1.7; }
@media (max-width: 992px) { .ns-related-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ns-related-grid { grid-template-columns: 1fr; } }
/* ============ 页脚重构（配色 + 布局） ============ */
.foot { background: linear-gradient(180deg, #0a1e3d 0%, #071733 100%); padding: 56px 0 0; }
.foot .footer-con { display: flex; justify-content: space-between; align-items: flex-start; gap: 48px; margin: 0; overflow: visible; }
.foot .widget { flex: 1; max-width: 640px; padding: 0; color: rgba(255, 255, 255, .7); border-radius: 0; text-align: left; }
.foot .flogo { height: auto; margin: 0 0 18px; }
.foot .flogo img { height: 44px; width: auto; }
.foot .text-sm { color: rgba(255, 255, 255, .62); font-size: .9rem; line-height: 1.9; margin: 0 0 22px; }
.foot .footer-menu { display: flex; align-items: center; gap: 10px; position: static; flex-wrap: wrap; }
.foot .footer-menu i { position: static; font-size: 1rem; color: rgba(255, 255, 255, .45); margin-right: 2px; }
.foot .footer-menu a { display: inline-flex; align-items: center; padding: 7px 18px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #fff; font-size: .85rem; margin: 0; transition: all .3s; }
.foot .footer-menu a::after { display: none; }
.foot .footer-menu a:hover { background: var(--ns-blue); border-color: var(--ns-blue); color: #fff; }
.foot .text-md-right { flex: 0 0 auto; text-align: right; }
.foot .btn-all { display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border-radius: 999px; font-size: .88rem; font-weight: 600; margin: 0 0 0 10px; transition: all .3s; }
.foot .btn-all span { display: inline-flex; align-items: center; gap: 6px; }
.foot .btn-all:hover { transform: translateY(-2px); }
.foot .btn-info-grenn { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: #fff; box-shadow: 0 8px 20px rgba(22, 163, 74, .28); }
.foot .btn-info-grenn:hover { color: #fff; filter: brightness(1.08); }
.foot .btn-info-gradiant { background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%); color: #fff; box-shadow: 0 8px 20px rgba(0, 96, 237, .3); }
.foot .btn-info-gradiant:hover { color: #fff; filter: brightness(1.08); }
.foot .text-muted { color: rgba(255, 255, 255, .45); font-size: .78rem; margin: 18px 0 10px; }
.foot .text-em { color: rgba(255, 255, 255, .74); font-size: .85rem; margin: 4px 0; }
.foot .copyright { text-align: center; margin: 46px 0 0; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .82rem; }
.foot .copyright::after { display: none; }
.foot .copyright .bq { display: block; color: rgba(255, 255, 255, .5); font-size: .82rem; text-align: center; }
@media (max-width: 768px) {
	.foot .footer-con { flex-direction: column; gap: 30px; }
	.foot .text-md-right { text-align: left; }
	.foot .btn-all { margin: 0 10px 10px 0; }
}
/* ============ 页脚改版：多栏信息架构 ============ */
.ns-foot-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr); gap: 64px; padding-bottom: 52px; }
.ns-foot-logo img { height: 46px; width: auto; margin-bottom: 20px; }
.ns-foot-desc { color: rgba(255, 255, 255, .6); font-size: .88rem; line-height: 1.9; margin: 0 0 24px; max-width: 400px; }
.ns-foot-contact { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.ns-foot-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 999px; font-size: .86rem; font-weight: 600; color: #fff; transition: all .3s; }
.ns-foot-btn i { font-size: 15px; }
.ns-foot-wx { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); box-shadow: 0 8px 20px rgba(22, 163, 74, .28); }
.ns-foot-qq { background: linear-gradient(135deg, var(--ns-blue2) 0%, var(--ns-blue) 100%); box-shadow: 0 8px 20px rgba(0, 96, 237, .3); }
.ns-foot-btn:hover { color: #fff; transform: translateY(-2px); filter: brightness(1.08); }
.ns-foot-note { color: rgba(255, 255, 255, .42); font-size: .78rem; margin: 0; }
.ns-foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ns-foot-col h4 { color: #fff; font-size: .95rem; font-weight: 700; margin: 0 0 20px; padding-bottom: 10px; position: relative; }
.ns-foot-col h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 22px; height: 2px; background: var(--ns-blue); border-radius: 2px; }
.ns-foot-col ul { list-style: none; margin: 0; padding: 0; }
.ns-foot-col li { margin-bottom: 12px; }
.ns-foot-col a { color: rgba(255, 255, 255, .6); font-size: .88rem; transition: all .25s; display: inline-block; }
.ns-foot-col a:hover { color: #fff; transform: translateX(4px); }
.ns-foot-bottom { border-top: 1px solid rgba(255, 255, 255, .1); padding: 22px 0; text-align: center; }
.ns-foot-copy { color: rgba(255, 255, 255, .45); font-size: .82rem; }
@media (max-width: 992px) {
	.ns-foot-top { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
	.ns-foot-cols { grid-template-columns: 1fr 1fr; gap: 24px; }
}
/* ============ 微信咨询弹窗改版 ============ */
.cd-popup-container.ns-pop {
	position: relative; width: 92%; max-width: 400px; margin: 0; padding: 0;
	border-radius: 20px; overflow: hidden; text-align: center;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
	transform: none; transition: none;
}
.ns-pop-head { background: linear-gradient(135deg, var(--ns-deep) 0%, #0b2f63 55%, var(--ns-blue) 100%); padding: 30px 24px 26px; }
.ns-pop-eyebrow { display: inline-block; font-size: .68rem; letter-spacing: 1.5px; color: #9cc8ff; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); border-radius: 20px; padding: 3px 12px; margin-bottom: 12px; }
.ns-pop-head h3 { margin: 0 0 8px; font-size: 1.3rem; font-weight: 700; color: #fff; }
.ns-pop-head p { margin: 0; padding: 0; font-size: .85rem; font-weight: 400; color: rgba(255, 255, 255, .74); }
.ns-pop-body { background: #fff; padding: 26px 28px 28px; }
.ns-pop-qr { width: 168px; height: 168px; margin: 0 auto 14px; padding: 9px; background: #fff; border: 1px solid var(--ns-line); border-radius: 14px; box-shadow: 0 8px 24px rgba(10, 30, 61, .08); }
.ns-pop-qr img { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: 6px; }
.ns-pop-scan { margin: 0 0 6px; padding: 0; font-size: .85rem; font-weight: 400; color: var(--ns-sub); }
.ns-pop-wx { margin: 0 0 16px; padding: 0; font-size: .9rem; font-weight: 400; color: var(--ns-sub); }
.ns-pop-wx b { color: var(--ns-ink); font-family: Consolas, Monaco, monospace; font-size: 1rem; }
.ns-pop-tags { list-style: none; display: flex; justify-content: center; gap: 8px; margin: 0; padding: 0; flex-wrap: wrap; }
.ns-pop-tags li { font-size: .74rem; color: var(--ns-blue); background: var(--ns-bg); border-radius: 20px; padding: 5px 12px; }
.ns-pop-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; font-size: 13px; z-index: 3; transition: all .3s; }
.ns-pop-close:hover { background: rgba(255, 255, 255, .32); color: #fff; transform: rotate(90deg); }