﻿@import url(message.css);

/* ==========================================================================
   NEXUS Inner Pages — page.css
   内页框架：头图 / 两栏布局 / 侧栏组件 / 列表 / 分页 / 详情页 / 单页
   ========================================================================== */

/* ==========================================================================
   内页头图
   ========================================================================== */

.nx-page__banner {
  position: relative;
  min-height: clamp(170px, 20vw, 250px);
  display: flex;
  align-items: flex-end;
  padding: var(--nx-sp-7) 0 var(--nx-sp-5);
  background: var(--nx-graphite);
  overflow: hidden;
}

.nx-page__banner-img { position: absolute; inset: 0; }

.nx-page__banner-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 28, 83, .9) 0%, rgba(0, 28, 83, .62) 55%, rgba(0, 28, 83, .38) 100%);
}

.nx-page__banner-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nx-page__banner-inner { position: relative; z-index: 2; }

.nx-page__title {
  font-size: var(--nx-fs-h1);
  /* 迭代80 / D3：标准·市场详情页该元素由 h1 降为 p（h1 让给具体实体标题），
     这里补齐 h1 的默认排版属性，保持视觉与其它栏目 banner 一致 */
  font-family: var(--nx-font-display);
  font-weight: 600;
  line-height: var(--nx-lh-snug);
  letter-spacing: var(--nx-ls-tight);
  text-transform: uppercase;
  color: #fff;
  margin-bottom: var(--nx-sp-3);
  padding-left: var(--nx-sp-4);
  border-left: 3px solid var(--nx-amber);
}

.nx-page__banner .nx-crumb { color: rgba(255, 255, 255, .6); }

/* 迭代82：栏目导语（文章列表页 h1 下方那段栏目自述） */
.nx-page__lede {
  max-width: 78ch;
  margin: 0 0 var(--nx-sp-2);
  font-size: var(--nx-fs-base);
  line-height: 1.7;
  color: #55607a;
}
.nx-section--tight > .nx-container > .nx-page__lede { margin-top: 0; }
.nx-page__banner .nx-crumb a:hover { color: var(--nx-amber-bright); }
.nx-page__banner .nx-crumb__current { color: #fff; }
.nx-page__banner .nx-crumb__sep { color: rgba(255, 255, 255, .45); }

/* 面包屑分隔符（{zan:position} 输出的纯文本） */
.nx-crumb { color: var(--nx-ink-45); }
.nx-crumb a { color: var(--nx-ink-45); }
.nx-crumb a:hover { color: var(--nx-amber); }

/* ==========================================================================
   两栏布局
   ========================================================================== */

.nx-layout {
  display: grid;
  grid-template-columns: 316px minmax(0, 1fr);
  gap: clamp(24px, 3vw, 44px);
  align-items: start;
}

.nx-aside {
  position: sticky;
  top: calc(var(--nx-header-h) + 24px);
}

.nx-main { min-width: 0; }

.nx-main__head {
  padding-bottom: var(--nx-sp-4);
  margin-bottom: var(--nx-sp-5);
  border-bottom: 1px solid var(--nx-line);
}

.nx-main__title { font-size: var(--nx-fs-h2); }

.nx-main__intro {
  font-size: 15px;
  line-height: 1.9;
  color: var(--nx-ink-70);
  margin-bottom: var(--nx-sp-5);
}

.nx-main__intro:empty,
.nx-main__intro p:empty { display: none; }

@media (max-width: 1024px) {
  .nx-layout { grid-template-columns: 1fr; }
  .nx-aside {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--nx-sp-4);
    order: 2;
  }
  .nx-main { order: 1; }
}

@media (max-width: 640px) {
  .nx-aside { grid-template-columns: 1fr; }
}

/* ==========================================================================
   侧栏组件
   ========================================================================== */

.nx-widget {
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  padding: var(--nx-sp-4);
  margin-bottom: var(--nx-sp-3);
}

.nx-widget:last-child { margin-bottom: 0; }

.nx-widget__title {
  font-family: var(--nx-font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: var(--nx-ls-wide);
  text-transform: uppercase;
  margin-bottom: var(--nx-sp-3);
  padding-bottom: 10px;
  padding-left: 12px;
  border-bottom: 1px solid var(--nx-line-soft);
  position: relative;
}

.nx-widget__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 14px;
  width: 3px;
  background: var(--nx-amber);
}

/* 搜索盒 */
.nx-searchbox {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--nx-line);
  transition: border-color var(--nx-dur) var(--nx-ease);
}

.nx-searchbox:focus-within { border-bottom-color: var(--nx-amber); }

.nx-searchbox input {
  flex: 1;
  min-width: 0;
  padding: 11px 4px;
  border: 0;
  background: transparent;
  font-size: 14px;
}

.nx-searchbox input:focus { outline: none; }
.nx-searchbox input::placeholder { color: var(--nx-ink-45); }

.nx-searchbox__btn {
  padding: 8px 4px 8px 12px;
  font-size: 16px;
  color: var(--nx-ink);
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-searchbox__btn:hover { color: var(--nx-amber); }

/* 分类导航 */
.nx-cate { font-size: 14px; }

.nx-cate__item { border-bottom: 1px solid var(--nx-line-soft); }
.nx-cate__item:last-child { border-bottom: 0; }

.nx-cate__item > a {
  display: block;
  padding: 10px 14px;
  color: var(--nx-ink-70);
  transition: all var(--nx-dur-fast) var(--nx-ease);
  position: relative;
}

.nx-cate__item > a:hover,
.nx-cate__item.active > a {
  background: var(--nx-sand-deep);
  color: var(--nx-amber-deep);
  padding-left: 20px;
}

.nx-cate__item.active > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--nx-amber);
}

.nx-cate__sub { display: none; padding-bottom: 6px; background: var(--nx-sand); }

.nx-cate__sub li a {
  display: block;
  padding: 9px 14px 9px 28px;
  font-size: 13.5px;
  color: var(--nx-ink-45);
  transition: all var(--nx-dur-fast) var(--nx-ease);
}

.nx-cate__sub li a:hover,
.nx-cate__sub li.active a {
  color: var(--nx-amber-deep);
  padding-left: 34px;
}

@media (min-width: 1025px) {
  .nx-cate__sub { display: block; }
}

/* 最新文章 */
.nx-posts li {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--nx-line-soft);
}

.nx-posts li:first-child { padding-top: 0; }
.nx-posts li:last-child { border-bottom: 0; padding-bottom: 0; }

.nx-posts__img {
  flex-shrink: 0;
  width: 84px;
  height: 64px;
  overflow: hidden;
  border-radius: var(--nx-radius);
  background: var(--nx-sand-deep);
}

.nx-posts__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--nx-dur-slow) var(--nx-ease-out);
}

.nx-posts li:hover .nx-posts__img img { transform: scale(1.08); }

.nx-posts__info { min-width: 0; }

.nx-posts__title {
  display: block;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 500;
  margin-bottom: 6px;
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-posts li:hover .nx-posts__title { color: var(--nx-amber-deep); }

.nx-posts__date {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--nx-ink-45);
}

.nx-posts__date .iconfont { font-size: 12px; color: var(--nx-amber); }

/* 相关产品 */
.nx-sidepro li {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--nx-line-soft);
}

.nx-sidepro li:first-child { padding-top: 0; }
.nx-sidepro li:last-child { border-bottom: 0; padding-bottom: 0; }

.nx-sidepro__img {
  flex-shrink: 0;
  width: 78px;
  height: 78px;
  overflow: hidden;
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  background: var(--nx-sand-deep);
}

.nx-sidepro__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--nx-dur-slow) var(--nx-ease-out);
}

.nx-sidepro li:hover .nx-sidepro__img img { transform: scale(1.08); }

.nx-sidepro__title {
  font-size: 14px;
  line-height: 1.6;
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-sidepro li:hover .nx-sidepro__title { color: var(--nx-amber-deep); }

/* 服务导览链接列表 */
.nx-sidelinks li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--nx-line-soft);
  font-size: 14px;
}

.nx-sidelinks li:first-child { padding-top: 0; }
.nx-sidelinks li:last-child { border-bottom: 0; padding-bottom: 0; }

.nx-sidelinks li::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--nx-accent);
}

.nx-sidelinks a {
  color: var(--nx-ink-70);
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-sidelinks li:hover a { color: var(--nx-amber-deep); }

/* 分组版侧栏导览：组标题 + 组内服务 */
.nx-sidelinks--grouped .nx-sidelinks__group + .nx-sidelinks__group { margin-top: 14px; }

.nx-sidelinks__gtitle {
  display: block;
  padding: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--nx-graphite);
  border-bottom: 1px solid var(--nx-line);
}

.nx-sidelinks__gtitle:hover { color: var(--nx-accent-deep, #1f9b05); }

.nx-sidelinks--grouped ul { margin: 0; padding: 0; list-style: none; }

.nx-sidelinks--grouped ul li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0 7px 10px;
  font-size: 13px;
}

.nx-sidelinks--grouped ul li::before { width: 4px; height: 4px; }

/* ==========================================================================
   产品网格 / 图集网格
   ========================================================================== */

.nx-grid-products,
.nx-grid-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nx-sp-4);
}

.nx-grid-products .nx-pcard__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.nx-grid-products .nx-pcard { display: flex; flex-direction: column; }

.nx-grid-products .nx-pcard__text { min-height: 74px; }

@media (max-width: 1100px) {
  .nx-grid-products,
  .nx-grid-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .nx-grid-products,
  .nx-grid-gallery { grid-template-columns: 1fr; }
}

/* 图集卡片 */
.nx-gcard {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  background: var(--nx-white);
}

.nx-gcard:hover { border-color: var(--nx-amber); }

.nx-gcard__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nx-sp-3);
  padding: var(--nx-sp-4);
  border-top: 1px solid var(--nx-line);
}

.nx-gcard__title {
  font-size: 15px;
  margin: 0;
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-gcard:hover .nx-gcard__title { color: var(--nx-amber-deep); }

.nx-gcard__bar .iconfont {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nx-line);
  border-radius: 50%;
  font-size: 13px;
  color: var(--nx-ink-70);
  transition: all var(--nx-dur) var(--nx-ease);
}

.nx-gcard:hover .nx-gcard__bar .iconfont {
  background: var(--nx-amber);
  border-color: var(--nx-amber);
  color: #fff;
  transform: rotate(90deg);
}

/* ==========================================================================
   新闻行式列表
   ========================================================================== */

.nx-newsrows {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nx-sp-4);
}

.nx-nrow {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  transition: transform var(--nx-dur) var(--nx-ease),
              box-shadow var(--nx-dur) var(--nx-ease),
              border-color var(--nx-dur) var(--nx-ease);
}

.nx-nrow:hover {
  transform: translateY(-3px);
  box-shadow: var(--nx-shadow-md);
  border-color: var(--nx-amber);
}

.nx-nrow__media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0;
  background: var(--nx-sand-deep);
  aspect-ratio: 16 / 9;
}

.nx-nrow__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--nx-dur-slow) var(--nx-ease-out);
}

.nx-nrow:hover .nx-nrow__media img { transform: scale(1.06); }

.nx-nrow__date {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  width: 62px;
  padding: 10px 0;
  background: var(--nx-graphite);
  color: #fff;
  font-family: var(--nx-font-display);
  line-height: 1.15;
}

.nx-nrow__date strong {
  font-size: 26px;
  font-weight: 600;
}

.nx-nrow__date span {
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--nx-amber-bright);
  text-transform: uppercase;
}

.nx-nrow__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  padding: var(--nx-sp-4);
}

.nx-nrow__cat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: var(--nx-ls-caps);
  text-transform: uppercase;
  color: var(--nx-ink-45);
}

.nx-nrow__cat::before {
  content: "";
  width: 14px;
  height: 2px;
  background: var(--nx-accent);
}

.nx-nrow__title {
  font-size: 17px;
  line-height: 1.5;
  margin-bottom: 10px;
}

.nx-nrow__title a { transition: color var(--nx-dur-fast) var(--nx-ease); }
.nx-nrow:hover .nx-nrow__title a { color: var(--nx-amber-deep); }

.nx-nrow__text {
  font-size: 14px;
  line-height: 1.8;
  color: var(--nx-ink-70);
  margin-bottom: var(--nx-sp-4);
  flex: 1;
}

@media (max-width: 760px) {
  .nx-nrow { grid-template-columns: 1fr; gap: var(--nx-sp-4); }
  .nx-nrow__media { aspect-ratio: 16 / 9; }
}

/* ==========================================================================
   证书墙
   ========================================================================== */

.nx-certs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--nx-sp-4);
}

.nx-cert {
  margin: 0;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  padding: var(--nx-sp-4);
  transition: transform var(--nx-dur) var(--nx-ease),
              box-shadow var(--nx-dur) var(--nx-ease),
              border-color var(--nx-dur) var(--nx-ease);
}

.nx-cert:hover {
  transform: translateY(-4px);
  box-shadow: var(--nx-shadow-md);
  border-color: var(--nx-amber);
}

.nx-cert__img {
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nx-sand);
  margin-bottom: var(--nx-sp-3);
  overflow: hidden;
}

.nx-cert__img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform var(--nx-dur-slow) var(--nx-ease-out);
}

.nx-cert:hover .nx-cert__img img { transform: scale(1.05); }

.nx-cert__title {
  font-family: var(--nx-font-display);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: var(--nx-ls-wide);
  text-transform: uppercase;
  text-align: center;
  line-height: 1.5;
  color: var(--nx-ink-70);
}

@media (max-width: 1024px) {
  .nx-certs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .nx-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   产品详情
   ========================================================================== */

.nx-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.nx-detail__gallery { position: relative; }

.nx-detail__gallery .preview-box {
  position: relative;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  padding: var(--nx-sp-3);
}

.nx-detail__gallery #gallery {
  overflow: hidden;
  /* 宽高比放在容器上定义，避免 slide 上 aspect-ratio 与 wrapper height:100% 形成循环尺寸计算
     （移动端会导致宽度被解析成天文数字，内容撑出视口外） */
  aspect-ratio: 4 / 3;
}

.nx-detail__gallery .swiper-slide {
  width: 100%;
  height: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nx-sand);
}

.nx-detail__gallery .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nx-detail__gallery .prodetails-button-next,
.nx-detail__gallery .prodetails-button-prev {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--nx-line);
  border-radius: 50%;
  color: var(--nx-ink);
  font-size: 16px;
  cursor: pointer;
  box-shadow: var(--nx-shadow-sm);
  transition: all var(--nx-dur) var(--nx-ease);
}

.nx-detail__gallery .prodetails-button-next { right: -14px; }
.nx-detail__gallery .prodetails-button-prev { left: -14px; }

.nx-detail__gallery .prodetails-button-next:hover,
.nx-detail__gallery .prodetails-button-prev:hover {
  background: var(--nx-graphite);
  border-color: var(--nx-graphite);
  color: #fff;
}

.nx-detail__gallery .prodetails-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: var(--nx-sp-3);
}

.nx-detail__gallery .prodetails-pagination .swiper-pagination-bullet {
  width: 24px;
  height: 2px;
  margin: 0 !important;
  border-radius: 0;
  background: var(--nx-line);
  opacity: 1;
  transition: background-color var(--nx-dur) var(--nx-ease);
}

.nx-detail__gallery .prodetails-pagination .swiper-pagination-bullet-active {
  background: var(--nx-amber);
}

.nx-detail__title {
  font-size: clamp(26px, 2.4vw, 36px);
  margin-bottom: var(--nx-sp-4);
  padding-bottom: var(--nx-sp-4);
  border-bottom: 1px solid var(--nx-line);
}

.nx-detail__desc {
  font-size: 15.5px;
  line-height: 1.85;
  color: var(--nx-ink-70);
  margin-bottom: var(--nx-sp-5);
}

.nx-detail__desc:empty { display: none; }

.prodetails-btnlist {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nx-sp-3);
  margin-bottom: var(--nx-sp-5);
}

.nx-detail__label {
  display: inline-block;
  margin-bottom: var(--nx-sp-4);
  padding-bottom: 8px;
  border-bottom: 2px solid var(--nx-amber);
}

.nx-detail__label span {
  font-family: var(--nx-font-display);
  font-size: 18px;
  letter-spacing: var(--nx-ls-wide);
  text-transform: uppercase;
}

.nx-detail__content {
  margin-top: var(--nx-sp-6);
  padding-top: var(--nx-sp-5);
  border-top: 1px solid var(--nx-line);
}

@media (max-width: 900px) {
  .nx-detail { grid-template-columns: minmax(0, 1fr); }
  .nx-detail__gallery .prodetails-button-next { right: 8px; }
  .nx-detail__gallery .prodetails-button-prev { left: 8px; }
}

/* ==========================================================================
   上下篇
   ========================================================================== */

.nx-prenext {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--nx-sp-3);
  margin-top: var(--nx-sp-5);
  padding-top: var(--nx-sp-4);
  border-top: 1px solid var(--nx-line);
}

/* 作者信息框（E-E-A-T 信号） */
.nx-authorbox {
  display: flex;
  gap: var(--nx-sp-4);
  margin-top: var(--nx-sp-5);
  padding: var(--nx-sp-4);
  background: var(--nx-sand);
  border: 1px solid var(--nx-line);
  border-left: 3px solid var(--nx-accent);
  border-radius: var(--nx-radius);
}

.nx-authorbox__avatar {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nx-graphite);
  color: var(--nx-accent);
  font-family: var(--nx-font-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .06em;
  border-radius: var(--nx-radius);
}

.nx-authorbox__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: var(--nx-ls-caps);
  text-transform: uppercase;
  color: var(--nx-ink-45);
  margin-bottom: 2px;
}

.nx-authorbox__name {
  font-family: var(--nx-font-display);
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 6px;
}

.nx-authorbox__desc {
  font-size: 14px;
  line-height: 1.75;
  color: var(--nx-ink-70);
  margin-bottom: var(--nx-sp-4);
}

/* 相关服务内链 */
.nx-relsvc { margin-top: var(--nx-sp-5); }

.nx-relsvc__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--nx-font-display);
  font-size: 16px;
  font-weight: 600;
  margin-bottom: var(--nx-sp-4);
}

.nx-relsvc__title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--nx-line);
}

.nx-relsvc__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nx-sp-3);
}

.nx-relsvc__grid li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  font-size: 13px;
  line-height: 1.5;
  transition: all var(--nx-dur-fast) var(--nx-ease);
}

.nx-relsvc__grid li::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--nx-accent);
}

.nx-relsvc__grid a { color: var(--nx-ink-70); }

.nx-relsvc__grid li:hover {
  border-color: var(--nx-amber);
  transform: translateY(-2px);
}

.nx-relsvc__grid li:hover a { color: var(--nx-amber-deep); }

@media (max-width: 640px) {
  .nx-authorbox { flex-direction: column; gap: var(--nx-sp-3); }
  .nx-relsvc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.nx-prenext__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: var(--nx-sp-3) var(--nx-sp-4);
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  font-size: 14px;
  color: var(--nx-ink-70);
  transition: all var(--nx-dur) var(--nx-ease);
}

a.nx-prenext__item:hover {
  border-color: var(--nx-amber);
  color: var(--nx-amber-deep);
  transform: translateY(-2px);
}

.nx-prenext__item--next { justify-content: flex-end; text-align: right; }

.nx-prenext__item--none { opacity: .5; }

.nx-prenext__text {
  flex: 1;
  min-width: 0;
}

.nx-prenext__icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nx-line);
  border-radius: 50%;
  font-size: 13px;
  transition: all var(--nx-dur) var(--nx-ease);
}

a.nx-prenext__item:hover .nx-prenext__icon {
  background: var(--nx-amber);
  border-color: var(--nx-amber);
  color: #fff;
}

@media (max-width: 640px) {
  .nx-prenext { grid-template-columns: 1fr; }
  .nx-prenext__item--next { justify-content: flex-start; text-align: left; }
}

/* ==========================================================================
   文章正文排版
   ========================================================================== */

.nx-article__title {
  font-size: clamp(26px, 2.6vw, 40px);
  line-height: 1.25;
  margin-bottom: var(--nx-sp-4);
}

.nx-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nx-sp-5);
  padding-bottom: var(--nx-sp-4);
  margin-bottom: var(--nx-sp-5);
  border-bottom: 1px solid var(--nx-line);
  font-size: 13px;
  letter-spacing: var(--nx-ls-wide);
  text-transform: uppercase;
  color: var(--nx-ink-45);
}

.nx-article__meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.nx-article__meta .iconfont { color: var(--nx-amber); font-size: 14px; }

.nx-article__author { color: var(--nx-ink, #2a3450); font-weight: 600; text-transform: none; letter-spacing: normal; }

.nx-article__summary {
  margin: 0 0 var(--nx-sp-5);
  padding: 14px 18px;
  font-size: 15.5px;
  line-height: 1.72;
  color: var(--nx-ink-70);
  background: var(--nx-sand);
  border-left: 3px solid var(--nx-accent);
  border-radius: 0 var(--nx-radius) var(--nx-radius) 0;
}

/* 文章分享 */
.nx-share {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: var(--nx-sp-5);
  padding-top: var(--nx-sp-4);
  border-top: 1px solid var(--nx-line);
}

.nx-share__label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: var(--nx-ls-wide);
  text-transform: uppercase;
  color: var(--nx-ink-45);
}

.nx-share__links { display: flex; align-items: center; gap: 10px; }

.nx-share__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  color: var(--nx-ink-70);
  font-size: 16px;
  transition: all var(--nx-dur-fast) var(--nx-ease);
}

.nx-share__link:hover {
  color: #fff;
  transform: translateY(-2px);
}

.nx-share__link--fb:hover { background: #1877F2; border-color: #1877F2; }
.nx-share__link--tw:hover { background: #1DA1F2; border-color: #1DA1F2; }
.nx-share__link--in:hover { background: #0A66C2; border-color: #0A66C2; }
.nx-share__link--wa:hover { background: #25D366; border-color: #25D366; }

.nx-prose {
  font-size: 16px;
  line-height: 1.95;
  color: #3A3F45;
}

.nx-prose > *:first-child { margin-top: 0; }

.nx-prose h2,
.nx-prose h3,
.nx-prose h4 {
  margin: var(--nx-sp-5) 0 var(--nx-sp-3);
  color: var(--nx-ink);
}

.nx-prose h2 { font-size: 24px; }
.nx-prose h3 { font-size: 20px; }
.nx-prose h4 { font-size: 17px; }

.nx-prose p { margin-bottom: var(--nx-sp-4); }

.nx-prose a {
  color: var(--nx-amber-deep);
  border-bottom: 1px solid rgba(57, 255, 20, .4);
}

.nx-prose a:hover { color: var(--nx-amber); border-bottom-color: var(--nx-amber); }

.nx-prose img,
.nx-prose video {
  max-width: 100%;
  height: auto;
  margin: var(--nx-sp-4) 0;
  border-radius: var(--nx-radius);
}

.nx-prose blockquote {
  margin: var(--nx-sp-5) 0;
  padding: var(--nx-sp-3) var(--nx-sp-5);
  background: var(--nx-sand);
  border-left: 3px solid var(--nx-amber);
  color: var(--nx-ink-70);
  font-style: italic;
}

.nx-prose ul,
.nx-prose ol {
  margin: 0 0 var(--nx-sp-4);
  padding-left: 0;
  list-style: none;
}

.nx-prose ul li,
.nx-prose ol li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
}

.nx-prose ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 8px;
  height: 1px;
  background: var(--nx-amber);
}

.nx-prose ol { counter-reset: nxprose; }

.nx-prose ol li::before {
  counter-increment: nxprose;
  content: counter(nxprose) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--nx-font-display);
  color: var(--nx-amber);
}

.nx-prose strong { color: var(--nx-ink); font-weight: 600; }

.nx-prose hr {
  margin: var(--nx-sp-6) 0;
  border: 0;
  border-top: 1px solid var(--nx-line);
}

/* 正文内表格（如 /about/ 的公司信息表）：此前无任何样式，浏览器默认样式在移动端会撑破版心 */
.nx-prose table {
  width: 100%;
  max-width: 100%;
  margin: var(--nx-sp-4) 0 var(--nx-sp-5);
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
}

html[dir="rtl"] .nx-prose table { text-align: right; }

.nx-prose th,
.nx-prose td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--nx-line);
  vertical-align: top;
}

.nx-prose th {
  background: var(--nx-sand);
  color: var(--nx-ink);
  font-weight: 600;
  border-bottom-color: var(--nx-line-soft);
}

.nx-prose tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 640px) {
  .nx-prose table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
  }
  .nx-prose th,
  .nx-prose td { padding: 8px 10px; }
}

/* ==========================================================================
   证书墙（lists_article_img）
   ========================================================================== */

.nx-certs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--nx-sp-4);
}

.nx-cert {
  margin: 0;
  padding: var(--nx-sp-4);
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  text-align: center;
  transition: transform var(--nx-dur) var(--nx-ease),
              box-shadow var(--nx-dur) var(--nx-ease),
              border-color var(--nx-dur) var(--nx-ease);
}

.nx-cert:hover {
  transform: translateY(-4px);
  box-shadow: var(--nx-shadow-sm);
  border-color: var(--nx-amber);
}

.nx-cert__img {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nx-sand);
  border-radius: var(--nx-radius);
  overflow: hidden;
}

.nx-cert__img img {
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
}

.nx-cert__title {
  margin-top: var(--nx-sp-3);
  font-size: 13px;
  line-height: 1.6;
  color: var(--nx-ink-70);
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-cert:hover .nx-cert__title { color: var(--nx-amber-deep); }

@media (max-width: 900px) {
  .nx-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-newsrows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .nx-certs { grid-template-columns: 1fr; }
  .nx-newsrows { grid-template-columns: 1fr; }
}

/* ==========================================================================
   分页
   ========================================================================== */

.nx-pager ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nx-pager li { list-style: none; }

/* zan:pagelist 输出结构兼容 */
.nx-pager li.current span,
.nx-pager li.on span,
.nx-pager li.active span {
  background: var(--nx-graphite);
  border-color: var(--nx-graphite);
  color: #fff;
}

/* ==========================================================================
   通用单页
   ========================================================================== */

.nx-single__title {
  font-size: var(--nx-fs-h2);
  padding-bottom: var(--nx-sp-4);
  margin-bottom: var(--nx-sp-6);
  border-bottom: 1px solid var(--nx-line);
  position: relative;
}

.nx-single__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 64px;
  height: 2px;
  background: var(--nx-amber);
}

/* ==========================================================================
   联系我们
   ========================================================================== */

.nx-contact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nx-sp-4);
  margin-bottom: var(--nx-sp-6);
}

.nx-contact__card {
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  padding: var(--nx-sp-6) var(--nx-sp-5);
  text-align: center;
  transition: transform var(--nx-dur) var(--nx-ease),
              box-shadow var(--nx-dur) var(--nx-ease),
              border-color var(--nx-dur) var(--nx-ease);
}

.nx-contact__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--nx-shadow-md);
  border-color: var(--nx-amber);
}

.nx-contact__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--nx-sp-4);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--nx-sand);
}

.nx-contact__icon img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.nx-contact__label {
  font-size: 12px;
  letter-spacing: var(--nx-ls-caps);
  text-transform: uppercase;
  color: var(--nx-ink-45);
  margin-bottom: 8px;
}

.nx-contact__value {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--nx-ink);
  word-break: break-all;
}

.nx-contact__value a { transition: color var(--nx-dur-fast) var(--nx-ease); }
.nx-contact__card:hover .nx-contact__value a { color: var(--nx-amber-deep); }

.nx-contact__sub {
  margin-top: 6px;
  font-size: 14px;
  color: var(--nx-ink-70);
}

.nx-contact__sub a { color: inherit; }
.nx-contact__sub a:hover { color: var(--nx-amber-deep); }

/* 迭代81：联系页快捷动作条（询价 / WhatsApp / 电话） */
.nx-contact__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: var(--nx-sp-5) 0 var(--nx-sp-6);
}
.nx-contact__quick .nx-btn { min-height: 44px; }

.nx-contact__form {
  padding: var(--nx-sp-7) var(--nx-sp-5);
  border-radius: var(--nx-radius);
  background: var(--nx-graphite);
}

.nx-contact__formtitle {
  font-size: var(--nx-fs-h2);
  color: #fff;
  text-align: center;
  margin-bottom: var(--nx-sp-2);
}

.nx-contact__formdesc {
  text-align: center;
  color: rgba(255, 255, 255, .6);
  margin-bottom: var(--nx-sp-5);
}

.nx-contact__form .inquiry-pc { max-width: 760px; margin: 0 auto; }

@media (max-width: 900px) {
  .nx-contact { grid-template-columns: 1fr; }
}

/* ==========================================================================
   FAQ 手风琴
   ========================================================================== */

.nx-faq {
  display: grid;
  gap: 12px;
}

.nx-faq__item {
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  overflow: hidden;
  transition: border-color var(--nx-dur) var(--nx-ease),
              box-shadow var(--nx-dur) var(--nx-ease);
}

.nx-faq__item.is-open {
  border-color: var(--nx-amber);
  box-shadow: var(--nx-shadow-sm);
}

.nx-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nx-sp-4);
  padding: 18px var(--nx-sp-5);
  text-align: left;
  font-family: var(--nx-font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--nx-ink);
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-faq__q:hover { color: var(--nx-amber-deep); }

.nx-faq__q .iconfont {
  flex-shrink: 0;
  font-size: 13px;
  color: var(--nx-amber);
  transition: transform var(--nx-dur) var(--nx-ease);
}

.nx-faq__item.is-open .nx-faq__q .iconfont { transform: rotate(45deg); }

.nx-faq__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--nx-dur-slow) var(--nx-ease);
}

.nx-faq__item.is-open .nx-faq__a { max-height: 640px; }

.nx-faq__a > div {
  padding: 0 var(--nx-sp-5) var(--nx-sp-4);
  color: var(--nx-ink-70);
}

/* 标准答案库（Phase3 增强）：被 AI 引用的场景问题沉淀为唯一权威标准答案 */
.nx-faq--answers { gap: 14px; }
.nx-ans {
  margin: 6px 0 0 30px;
  border-left: 3px solid var(--nx-amber, #FFB400);
  background: #f7f9fc;
  border-radius: 0 var(--nx-radius, 8px) var(--nx-radius, 8px) 0;
  padding: 14px 18px;
}
.nx-ans__body {
  color: var(--nx-ink, #001C53);
  font-size: 15px;
  line-height: 1.7;
}
.nx-ans__body p { margin: 0 0 8px; }
.nx-ans__body p:last-child { margin-bottom: 0; }

/* ==========================================================================
   产品评论
   ========================================================================== */

.icon-star { font-style: normal; }
.icon-star::before { content: "\2605"; }

.nx-stars {
  display: inline-flex;
  gap: 3px;
}

.nx-stars li { display: inline-flex; }

.nx-stars .icon-star {
  font-size: 15px;
  line-height: 1;
  color: var(--nx-line);
}

.nx-stars .icon-star.active { color: var(--nx-amber); }

.nx-stars.star1 li:nth-child(-n+1) .icon-star,
.nx-stars.star2 li:nth-child(-n+2) .icon-star,
.nx-stars.star3 li:nth-child(-n+3) .icon-star,
.nx-stars.star4 li:nth-child(-n+4) .icon-star,
.nx-stars.star5 li:nth-child(-n+5) .icon-star {
  color: var(--nx-amber);
}

.nx-reviews {
  display: grid;
  gap: var(--nx-sp-5);
}

.nx-reviews__count {
  font-size: var(--nx-fs-h3);
  padding-bottom: var(--nx-sp-3);
  border-bottom: 1px solid var(--nx-line);
}

.nx-review {
  display: flex;
  gap: var(--nx-sp-4);
  padding: var(--nx-sp-4) 0;
  border-bottom: 1px dashed var(--nx-line-soft);
}

.nx-review:first-of-type { padding-top: 0; }
.nx-review:last-of-type { border-bottom: 0; }

.nx-review__avatar {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--nx-sand-deep);
  border: 1px solid var(--nx-line);
}

.nx-review__avatar img { width: 100%; height: 100%; object-fit: cover; }

.nx-review__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 6px 0 8px;
}

.nx-review__meta strong { font-size: 14.5px; color: var(--nx-ink); }

.nx-review__meta span { font-size: 12.5px; color: var(--nx-ink-45); }

.nx-review__text {
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--nx-ink-70);
}

.nx-reviews__page { justify-content: flex-start; margin-top: 0; }

.nx-reviews__post {
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  padding: var(--nx-sp-6) var(--nx-sp-5);
}

.nx-reviews__title { font-size: 18px; margin-bottom: 6px; }

.nx-reviews__desc {
  font-size: 13.5px;
  color: var(--nx-ink-45);
  margin-bottom: var(--nx-sp-4);
}

.nx-reviews__rate {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--nx-sp-5);
}

.nx-reviews__ratelabel {
  font-size: 12px;
  letter-spacing: var(--nx-ls-caps);
  text-transform: uppercase;
  color: var(--nx-ink-45);
}

.nx-reviews__form {
  display: grid;
  gap: var(--nx-sp-4);
}

.nx-reviews__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--nx-sp-4);
}

.nx-reviews__form .nx-btn { justify-self: start; }

@media (max-width: 640px) {
  .nx-reviews__row { grid-template-columns: 1fr; }
}

/* ==========================================================================
   合规自查器 Compliance Checker
   ========================================================================== */
.nx-checker {
  margin-top: 28px;
  padding: 28px 26px 24px;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius-lg, 16px);
  box-shadow: var(--nx-shadow);
}

.nx-checker__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding-bottom: 18px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--nx-line-soft);
}

.nx-checker__steps span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--nx-ink-45, #8a93a3);
}

.nx-checker__steps em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--nx-line-soft);
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
}

.nx-checker__steps span.is-active { color: var(--nx-graphite); font-weight: 600; }
.nx-checker__steps span.is-active em { background: var(--nx-graphite); color: #fff; }

.nx-checker__panel { display: none; }
.nx-checker__panel.is-active { display: block; animation: nxCheckerIn .35s var(--nx-ease); }

@keyframes nxCheckerIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.nx-checker__q {
  margin: 0 0 16px;
  font-size: 19px;
  color: var(--nx-graphite);
}

.nx-checker__opts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.nx-checker__opts--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.nx-checker__opt {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 14px;
  text-align: left;
  background: var(--nx-sand, #f6f7f9);
  border: 1.5px solid var(--nx-line-soft);
  border-radius: var(--nx-radius);
  cursor: pointer;
  transition: all var(--nx-dur-fast) var(--nx-ease);
}

.nx-checker__opt:hover { border-color: var(--nx-graphite); transform: translateY(-2px); }

.nx-checker__opt.is-selected {
  border-color: var(--nx-graphite);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0, 28, 83, .12);
}

.nx-checker__opt strong { font-size: 15px; color: var(--nx-graphite); }
.nx-checker__opt span { font-size: 12.5px; color: var(--nx-ink-60, #5b6472); line-height: 1.5; }
.nx-checker__opt .iconfont { font-size: 22px; color: var(--nx-graphite); }

.nx-checker__table {
  width: 100%;
  margin: 0 0 4px;
  border-collapse: collapse;
  font-size: 14px;
}

.nx-checker__table th,
.nx-checker__table td {
  padding: 12px 14px;
  border: 1px solid var(--nx-line-soft);
  vertical-align: top;
  text-align: left;
}

.nx-checker__table th {
  width: 170px;
  background: var(--nx-sand, #f6f7f9);
  color: var(--nx-graphite);
  font-weight: 600;
  white-space: nowrap;
}

.nx-checker__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.nx-checker__restart {
  padding: 0;
  background: none;
  border: 0;
  font-size: 13px;
  color: var(--nx-ink-60, #5b6472);
  text-decoration: underline;
  cursor: pointer;
}

.nx-checker__restart:hover { color: var(--nx-graphite); }

/* ==========================================================================
   通用提示条 / 场景指南网格
   ========================================================================== */
.nx-note {
  margin-top: 18px;
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--nx-ink-60, #5b6472);
  background: var(--nx-sand, #f6f7f9);
  border-left: 3px solid var(--nx-accent);
  border-radius: 0 var(--nx-radius) var(--nx-radius) 0;
}

.nx-solgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nx-solgrid a {
  display: block;
  height: 100%;
  padding: 18px 18px 16px;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  transition: all var(--nx-dur-fast) var(--nx-ease);
}

.nx-solgrid a:hover {
  border-color: var(--nx-accent);
  transform: translateY(-2px);
  box-shadow: var(--nx-shadow);
}

.nx-solgrid strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15.5px;
  color: var(--nx-graphite);
}

.nx-solgrid span {
  font-size: 13px;
  line-height: 1.65;
  color: var(--nx-ink-60, #5b6472);
}

@media (max-width: 768px) {
  .nx-checker { padding: 20px 16px 18px; }
  .nx-checker__opts { grid-template-columns: 1fr; }
  .nx-checker__opts--two { grid-template-columns: 1fr; }
  .nx-solgrid { grid-template-columns: 1fr; }
  .nx-checker__table th { width: 120px; }
}

.nx-article__reviewed { color: var(--nx-accent-deep, #1f9b05); }

/* ==========================================================================
   相关文章侧栏列表（纯标题版）
   ========================================================================== */
.nx-posts--plain li {
  display: block;
  padding: 10px 0;
}

.nx-posts--plain li.is-current .nx-posts__title {
  color: var(--nx-graphite);
  font-weight: 700;
}

.nx-posts--plain li.is-current .nx-posts__title::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--nx-accent);
  vertical-align: middle;
}

.nx-posts--plain li.is-current .nx-posts__date { color: var(--nx-accent-deep, #1f9b05); }

/* ==========================================================================
   底部相似文章推荐
   ========================================================================== */
.nx-related { margin-top: var(--nx-sp-6); }

.nx-related__title {
  margin: 0 0 var(--nx-sp-3);
  padding-bottom: var(--nx-sp-2);
  font-family: var(--nx-font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--nx-graphite);
  border-bottom: 1px solid var(--nx-line);
}

.nx-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nx-sp-4);
}

.nx-rcard {
  display: block;
  background: var(--nx-white);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  overflow: hidden;
  transition: all var(--nx-dur-fast) var(--nx-ease);
}

.nx-rcard:hover {
  border-color: var(--nx-accent);
  transform: translateY(-2px);
  box-shadow: var(--nx-shadow);
}

.nx-rcard__frame { display: block; }

.nx-rcard__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--nx-dur-slow) var(--nx-ease-out);
}

.nx-rcard:hover .nx-rcard__frame img { transform: scale(1.06); }

.nx-rcard__cat {
  display: inline-block;
  margin: 12px 16px 0;
  padding: 2px 10px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--nx-graphite);
  background: var(--nx-sand-deep);
  border-radius: 999px;
}

.nx-rcard__title {
  display: block;
  margin: 8px 16px 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.55;
  color: var(--nx-ink);
  transition: color var(--nx-dur-fast) var(--nx-ease);
}

.nx-rcard:hover .nx-rcard__title { color: var(--nx-graphite); }

.nx-rcard__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 8px 16px 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--nx-accent-deep, #1f9b05);
}

.nx-rcard__more .iconfont { font-size: 12px; }

/* ==========================================================================
   侧栏 CTA 组件
   ========================================================================== */
.nx-widget--cta {
  background: var(--nx-graphite);
  border-color: var(--nx-graphite);
}

.nx-widget--cta .nx-widget__title {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, .18);
}

.nx-widget--cta .nx-widget__title::before { background: var(--nx-accent); }

.nx-widget__cta-text {
  margin: 0 0 var(--nx-sp-4);
  font-size: 13.5px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .75);
}

/* ==========================================================================
   单页底部「浏览全部服务」条
   ========================================================================== */
.nx-svcall {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--nx-sp-4);
  margin-top: var(--nx-sp-5);
  padding: var(--nx-sp-4);
  background: var(--nx-sand, #f6f7f9);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
}

.nx-svcall__title {
  margin: 0 0 4px;
  font-family: var(--nx-font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--nx-graphite);
}

.nx-svcall__text { margin: 0; font-size: 13.5px; color: var(--nx-ink-60, #5b6472); }

@media (max-width: 980px) {
  .nx-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .nx-related__grid { grid-template-columns: 1fr; }
  .nx-svcall { flex-direction: column; align-items: flex-start; }
}

/* ===== Phase 1 GEO：结构化事实组件 ===== */
.nx-section__title { font-size: clamp(20px,2.4vw,28px); color: var(--nx-graphite,#001C53); margin: 0 0 var(--nx-sp-3,16px); font-weight: 700; }
.nx-tcsec { margin-top: var(--nx-section,56px); padding-top: var(--nx-sp-4,24px); border-top: 1px solid var(--nx-line,#e6e9f0); }

.nx-capmatrix { overflow-x: auto; }
.nx-capmatrix__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.nx-capmatrix__table th, .nx-capmatrix__table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--nx-line,#e6e9f0); vertical-align: top; }
.nx-capmatrix__table th { background: var(--nx-graphite,#001C53); color: #fff; font-weight: 600; }
.nx-capmatrix__table tbody tr:nth-child(even) { background: #f7f9fc; }
.nx-capmatrix__std code, .nx-std__code { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; background: #eef3fb; color: var(--nx-graphite,#001C53); padding: 1px 6px; border-radius: 4px; font-size: 13px; }
.nx-badge { display: inline-block; background: var(--nx-accent,#39FF14); color: #063; font-weight: 700; font-size: 12px; padding: 2px 8px; border-radius: 999px; }
.nx-capmatrix__valid { color: #8a94a6; font-size: 12px; }

.nx-stdindex { display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: var(--nx-sp-4,24px); }
.nx-std { display: block; border: 1px solid var(--nx-line,#e6e9f0); border-radius: 12px; padding: 18px; background: #fff; text-decoration: none; color: inherit; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.nx-std:hover { border-color: var(--nx-accent,#39FF14); box-shadow: 0 6px 18px rgba(0,28,83,.08); transform: translateY(-2px); }
.nx-std__more { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--nx-accent,#0a7d2c); }
.nx-std__head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.nx-std__ver { color: #8a94a6; font-size: 13px; }
.nx-std__title { font-size: 16px; margin: 0 0 10px; color: var(--nx-graphite,#001C53); }
.nx-std__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 8px; font-size: 13px; }
.nx-std__meta dt { color: #8a94a6; margin-right: 4px; }
.nx-std__meta dd { margin: 0; font-weight: 600; }
.nx-std__scopeline { font-size: 13px; margin: 0 0 6px; }
.nx-std__src { font-size: 12px; color: #8a94a6; margin: 0; }
.nx-std__note { display: block; margin-top: 2px; }

.nx-mktpaths { display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: var(--nx-sp-4,24px); }
.nx-mktpath { display: block; text-decoration: none; color: inherit; border: 1px solid var(--nx-line,#e6e9f0); border-radius: 12px; padding: 16px; background: #fff; transition: border-color .15s, box-shadow .15s, transform .15s; }
.nx-mktpath:hover { border-color: var(--nx-accent,#39FF14); box-shadow: 0 6px 18px rgba(0,28,83,.08); transform: translateY(-2px); }
.nx-mktpath__more { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--nx-accent,#1f8a4c); }
.nx-mktpath__head { display: flex; align-items: center; gap: 8px; font-weight: 700; margin-bottom: 10px; color: var(--nx-graphite,#001C53); }
.nx-mktpath__arrow { color: var(--nx-accent,#39FF14); }
.nx-mktpath__row { display: flex; gap: 10px; padding: 4px 0; font-size: 13px; border-bottom: 1px dashed var(--nx-line,#e6e9f0); }
.nx-mktpath__k { flex: 0 0 96px; color: #8a94a6; }
.nx-mktpath__v { flex: 1; }

.nx-faq { margin: 0; }
.nx-faq__item { padding: 12px 0; border-bottom: 1px solid var(--nx-line,#e6e9f0); }
.nx-faq__q { font-weight: 600; color: var(--nx-graphite,#001C53); display: flex; gap: 8px; align-items: baseline; }
.nx-faq__dot { flex: 0 0 auto; display: inline-flex; width: 22px; height: 22px; border-radius: 50%; background: var(--nx-graphite,#001C53); color: #fff; font-size: 12px; align-items: center; justify-content: center; }
.nx-faq__a { margin: 6px 0 0 30px; font-size: 14px; }
.nx-faq__link { color: #0a7d2c; font-weight: 600; }
.nx-faq--grouped { margin-top: 8px; }
.nx-faq__group { margin: 28px 0 4px; font-size: 18px; font-weight: 700; color: var(--nx-graphite,#001C53); padding-left: 12px; border-left: 4px solid var(--nx-amber,#FFB400); line-height: 1.3; }
.nx-faq--grouped .nx-faq { margin: 0; }
.nx-faq__link:hover { text-decoration: underline; }

/* ---------- 问答组件两个变体（显式拆开，避免同名类互相污染） ----------
   背景：本文件前段 ~1362 行定义的是卡片式折叠手风琴（.nx-faq__a 默认 max-height:0），
   本段 ~1966 行又给同名类补了行内列表样式，两者叠加曾导致「合规问答」页出现：
     1) 链接型条目的答案被 max-height:0 裁掉，着陆链接完全不可见；
     2) 问题文字被 justify-content:space-between 推到最右，看起来像居中错位。
   现拆为 .nx-faq--link（问题 + 着陆链接，始终可见）与 .nx-faq--acc（卡片折叠，答案内联）。 */
.nx-faq--link { gap: 0; }
.nx-faq--link .nx-faq__item { padding: 12px 0; background: transparent; border: 0; border-bottom: 1px solid var(--nx-line,#e6e9f0); border-radius: 0; box-shadow: none; }
.nx-faq--link .nx-faq__item.is-open { border-color: transparent; box-shadow: none; }
.nx-faq--link .nx-faq__q { justify-content: flex-start; align-items: baseline; width: auto; padding: 0; cursor: default; font-family: inherit; font-size: 15px; line-height: 1.55; color: var(--nx-graphite,#001C53); }
.nx-faq--link .nx-faq__a { max-height: none; overflow: visible; margin: 6px 0 0 30px; font-size: 14px; }

.nx-faq--acc { gap: 12px; margin: 0; }
.nx-faq--acc .nx-faq__item { padding: 0; background: var(--nx-white); border: 1px solid var(--nx-line); border-radius: var(--nx-radius); }
.nx-faq--acc .nx-faq__item.is-open { border-color: var(--nx-amber); box-shadow: var(--nx-shadow-sm); }
.nx-faq--acc .nx-faq__q { justify-content: space-between; padding: 18px var(--nx-sp-5); font-family: var(--nx-font-display); font-size: 16px; line-height: 1.5; }
.nx-faq--acc .nx-faq__a { margin: 0; }

.nx-evidence { background: #f7f9fc; border: 1px solid var(--nx-line,#e6e9f0); border-radius: 12px; padding: 18px; margin-top: var(--nx-sp-4,24px); }
.nx-evidence__list { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 10px 24px; margin: 10px 0 0; }
.nx-evidence__list dt { color: #8a94a6; font-size: 13px; }
.nx-evidence__list dd { margin: 0 0 6px; font-weight: 600; }
.nx-boundary { margin-top: var(--nx-sp-4,24px); background: #fff8e6; border-left: 4px solid #f0b400; padding: 14px 16px; border-radius: 8px; font-size: 14px; }
.nx-checker-rel { margin-top: var(--nx-section,56px); }
.nx-prose--note { font-size: 13px; color: #8a94a6; }

/* 蓝亚 GEO Phase2：频道 answer-first 导语块 */
.nx-answer { margin-top: var(--nx-section,56px); padding-top: var(--nx-sp-2,8px); }
.nx-answer .nx-prose { font-size: 17px; line-height: 1.7; color: var(--nx-graphite,#001C53); margin: 0; }
.nx-answer .nx-prose + .nx-prose { margin-top: var(--nx-sp-3,16px); }

/* 蓝亚 GEO Phase2b：单标准 deep page 详情 */
.nx-page__banner--flat { background: linear-gradient(135deg,#001C53 0%,#0a2a6b 100%); padding: 34px 0; }
.nx-page__banner--flat .nx-page__title { color: #fff; }
.nx-page__banner--flat .nx-crumb, .nx-page__banner--flat .nx-crumb a { color: rgba(255,255,255,.8); }
.nx-single--std { max-width: 820px; }
/* 蓝亚 GEO Phase2c：单市场 deep page 详情内的 产品类/市场 标签 */
.nx-mkt__pill { display: inline-block; font-family: var(--nx-mono,ui-monospace,SFMono-Regular,Menlo,monospace); font-size: 13px; line-height: 1; padding: 5px 10px; border-radius: 999px; background: #eef2f9; color: var(--nx-graphite,#001C53); margin-right: 6px; }
.nx-mkt__pill--mkt { background: #e7f6ec; color: #1f8a4c; }
.nx-stddetail { border: 1px solid var(--nx-line,#e6e9f0); border-radius: 14px; padding: 28px; background: #fff; }
.nx-stddetail__code { margin: 0 0 6px; }
.nx-stddetail__code code { font-family: var(--nx-mono,ui-monospace,SFMono-Regular,Menlo,monospace); font-size: 15px; background: #eef2f9; color: var(--nx-graphite,#001C53); padding: 3px 8px; border-radius: 6px; }
.nx-stddetail__ver { color: #8a94a6; font-size: 13px; margin-left: 8px; }
.nx-stddetail__title { font-size: 26px; line-height: 1.3; margin: 0 0 14px; color: var(--nx-graphite,#001C53); }
.nx-stddetail__summary { font-size: 16px; line-height: 1.7; color: #2b3a55; margin: 0 0 18px; }
.nx-stddetail__meta { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 18px; font-size: 14px; border-top: 1px solid var(--nx-line,#e6e9f0); border-bottom: 1px solid var(--nx-line,#e6e9f0); padding: 14px 0; }
.nx-stddetail__meta dt { color: #8a94a6; margin-right: 6px; }
.nx-stddetail__meta dd { margin: 0; font-weight: 600; }
.nx-stddetail__sec { margin: 18px 0; }
.nx-stddetail__h2 { font-size: 17px; margin: 0 0 10px; color: var(--nx-graphite,#001C53); }
.nx-stddetail__scope, .nx-stddetail__caps, .nx-stddetail__mkts { margin: 0; padding-left: 20px; font-size: 14px; line-height: 1.8; }
/* 迭代81：详情页正文解读块（段落 + "- " 列表，见 Base::geoRichText） */
.nx-stddetail__body { border-left: 3px solid var(--nx-line,#e6e9f0); padding-left: 16px; }
.nx-stddetail__p { font-size: 15px; line-height: 1.8; color: #2b3a55; margin: 0 0 12px; }
.nx-stddetail__p:last-child { margin-bottom: 0; }
.nx-stddetail__list { margin: 0 0 12px; padding-left: 20px; font-size: 14px; line-height: 1.8; color: #2b3a55; }
.nx-stddetail__list li { margin-bottom: 4px; }
.nx-stddetail__src { font-size: 14px; margin: 14px 0; }
.nx-stddetail__src a { color: #0a7d2c; word-break: break-all; }
.nx-stddetail__note { display: block; font-size: 12px; color: #8a94a6; margin-top: 4px; }
.nx-cap__acc { display: inline-block; background: #eef2f9; color: var(--nx-graphite,#001C53); font-size: 12px; font-weight: 700; padding: 1px 7px; border-radius: 6px; margin-right: 6px; }
.nx-stdback { margin-top: 22px; }
.nx-btn--ghost { background: transparent; border: 1px solid var(--nx-line,#e6e9f0); color: var(--nx-graphite,#001C53); }

/* 迭代87 / T1-1 + T1-2：GEO 结论段 / 关键数据 / 引用来源（见附录 B.4） */
/* B.4.1：结论段不要做成小字/灰字/折叠 —— 部分提取器只取首个非样式化 <p> */
.nx-block__lead { font-size: 1.0625rem; line-height: 1.75; margin: 0 0 1.25rem; color: #1c2a44; }
.nx-facts { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 12px; }
.nx-facts li { background: #eef2f9; border-radius: 8px; padding: 8px 12px; font-size: 14px; line-height: 1.5; color: #2b3a55; }
.nx-facts strong { color: var(--nx-graphite,#001C53); margin-right: 4px; }
.nx-sources { margin: 22px 0 8px; border-top: 1px solid var(--nx-line,#e6e9f0); padding-top: 16px; }
.nx-sources__list { list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 1.9; }
.nx-sources__list a { color: #0a7d2c; word-break: break-all; }
/* 仅管理员可见的内容缺口告警（answer_summary 未填时展示） */
.nx-debug-warn { font-size: 13px; color: #b4242a; background: #fdecec; border: 1px solid #f3c0c2; border-radius: 8px; padding: 8px 12px; margin: 0 0 16px; }

/* 蓝亚 GEO 迭代88 / T1-5：实体页场景问答区（h3 + p 可引用结构，禁用整页平铺 div） */
.nx-faq { margin: 28px 0 16px; }
.nx-faq .nx-stddetail__h2 { margin-bottom: 14px; }
.nx-faq__item { padding: 14px 16px; border: 1px solid var(--nx-line,#e6e9f0); border-radius: 10px; background: var(--nx-surface,#fff); margin-bottom: 12px; }
.nx-faq__item:last-child { margin-bottom: 0; }
.nx-faq__q { font-size: clamp(15px,1.5vw,17px); font-weight: 700; color: var(--nx-graphite,#001C53); margin: 0 0 8px; line-height: 1.45; }
.nx-faq__a { color: var(--nx-ink,#2a3346); font-size: 15px; line-height: 1.75; }
.nx-faq__a p { margin: 0 0 10px; }
.nx-faq__a p:last-child { margin-bottom: 0; }

/* 蓝亚 GEO Phase2e：法规 / 标准更新时间线（竖向时间线，响应式） */
.nx-timeline { margin-top: 8px; }
.nx-timeline__year { font-size: clamp(20px,2.2vw,26px); font-weight: 800; color: var(--nx-graphite,#001C53); margin: 28px 0 12px; padding-left: 14px; border-left: 4px solid var(--nx-amber,#FFB400); line-height: 1.2; }
.nx-timeline__year:first-child { margin-top: 0; }
.nx-timeline__list { list-style: none; margin: 0; padding: 0; }
.nx-tlitem { position: relative; display: flex; gap: 18px; padding: 0 0 22px 26px; border-left: 2px solid var(--nx-line,#e6e9f0); }
.nx-tlitem:last-child { border-left-color: transparent; }
.nx-tlitem::before { content: ""; position: absolute; left: -7px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: var(--nx-accent,#1f8a4c); border: 2px solid #fff; box-shadow: 0 0 0 2px var(--nx-line,#e6e9f0); }
.nx-tlitem__date { flex: 0 0 92px; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 13px; color: #8a94a6; padding-top: 1px; }
.nx-tlitem__body { flex: 1; min-width: 0; }
.nx-tlitem__badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 999px; margin-bottom: 4px; }
.nx-tlitem__badge--std { background: #eaf5ee; color: #1f8a4c; }
.nx-tlitem__badge--news { background: #eef3fb; color: var(--nx-graphite,#001C53); }
.nx-tlitem__link { text-decoration: none; color: inherit; display: inline-flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.nx-tlitem__code { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 16px; font-weight: 700; color: var(--nx-graphite,#001C53); }
.nx-tlitem__newstitle { font-size: 16px; font-weight: 700; color: var(--nx-graphite,#001C53); line-height: 1.4; }
.nx-tlitem__link:hover .nx-tlitem__code { color: var(--nx-accent,#1f8a4c); }
.nx-tlitem__link:hover .nx-tlitem__newstitle { color: var(--nx-accent,#1f8a4c); }
.nx-tlitem__ver { color: #8a94a6; font-size: 13px; }
.nx-tlitem__title { margin: 4px 0 0; font-size: 14px; color: #4a5365; }
.nx-tlitem__meta { margin: 6px 0 0; font-size: 13px; color: #8a94a6; }

/* GEO Phase3c：标准运营状态横幅（已废止/被替代、复核中） */
.nx-stdbanner { display: flex; align-items: flex-start; gap: 12px; border-radius: 10px; padding: 12px 14px; margin: 0 0 18px; font-size: 14px; line-height: 1.6; }
.nx-stdbanner__tag { flex: 0 0 auto; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.nx-stdbanner__txt { margin: 0; }
.nx-stdbanner__link { color: inherit; font-weight: 700; text-decoration: underline; }
.nx-stdbanner--superseded { background: #fdecec; border: 1px solid #f3b6b6; color: #8a1f1f; }
.nx-stdbanner--superseded .nx-stdbanner__tag { background: #c0392b; color: #fff; }
.nx-stdbanner--review { background: #fff6e6; border: 1px solid #f0d39a; color: #8a5a00; }
.nx-stdbanner--review .nx-stdbanner__tag { background: #d98e00; color: #fff; }
.nx-stdbanner__note { display: block; font-size: 13px; opacity: .85; margin-top: 2px; }
/* 标准索引卡片：复核中状态胶囊 */
.nx-std__status { position: absolute; top: 14px; right: 14px; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #fff6e6; color: #8a5a00; border: 1px solid #f0d39a; }
/* 迭代80：已废止标准的徽标（列表页现会展示 superseded 记录，避免详情页成为孤页） */
.nx-std__status--superseded { background: #fdeaea; color: #8a1f1f; border-color: #efc4c4; }
.nx-std { position: relative; }
@media (max-width: 640px) {
  .nx-tlitem { gap: 12px; padding-left: 20px; }
  .nx-tlitem__date { flex-basis: 78px; font-size: 12px; }
}

/* ===== 蓝亚 GEO Phase2f：GEO 监测看板 ===== */
.nx-geoinsight { --nx-geo-accent:#1f8a4c; }
.nx-geoinsight__ns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:8px 0 28px; }
.nx-nscard { background:#f6f9ff; border:1px solid #e6ecf7; border-radius:14px; padding:20px; text-align:center; }
.nx-nscard__value { font-size:38px; font-weight:800; color:#001C53; line-height:1.1; }
.nx-nscard__unit { font-size:18px; font-weight:700; margin-left:2px; color:#7a8398; }
.nx-nscard__label { margin-top:8px; font-size:14px; font-weight:600; color:#2a3450; }
.nx-nscard__sub { margin-top:4px; font-size:12px; color:#8a94a6; }
.nx-geoinsight__cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.nx-geoinsight__sub { font-size:15px; font-weight:700; color:#2a3450; margin:0 0 12px; }
.nx-barlist { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.nx-barlist__item { font-size:13px; }
.nx-barlist__head { display:flex; justify-content:space-between; gap:10px; margin-bottom:5px; }
.nx-barlist__name { font-weight:600; color:#2a3450; text-transform:capitalize; }
.nx-barlist__num { color:#7a8398; font-variant-numeric:tabular-nums; }
.nx-barlist__track { height:9px; border-radius:99px; background:#eef2f8; overflow:hidden; }
.nx-barlist__fill { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#1f8a4c,#36b56e); }
.nx-tblwrap { overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
.nx-geoinsight__tbl { width:100%; border-collapse:collapse; font-size:14px; margin-top:6px; }
.nx-geoinsight__tbl th,.nx-geoinsight__tbl td { text-align:left; padding:10px 12px; border-bottom:1px solid #eef2f8; }
.nx-geoinsight__tbl th { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:#8a94a6; }
.nx-geoinsight__tbl .nx-num { text-align:right; font-variant-numeric:tabular-nums; }
.nx-geoinsight__tbl--detail tbody tr:hover { background:#f6f9ff; }
.nx-pill { display:inline-block; padding:2px 10px; border-radius:99px; font-size:12px; font-weight:600; }
.nx-pill--ok { background:#e6f6ec; color:#1f8a4c; }
.nx-pill--warn { background:#fdeede; color:#c8741a; }
.nx-pill--idle { background:#eef2f8; color:#8a94a6; }
.nx-geoinsight__feed { margin-top:18px; font-size:12px; color:#9aa3b4; line-height:1.6; }
@media (max-width:980px){ .nx-geoinsight__ns{ grid-template-columns:1fr; } .nx-geoinsight__cols{ grid-template-columns:1fr; } }

/* ===== 蓝亚 GEO Phase2g：专家能力页（82 资质认可）徽章墙 ===== */
.nx-accredwall { display:flex; flex-direction:column; gap:24px; margin-top:6px; }
.nx-accredwall__gtitle { font-size:15px; font-weight:700; color:#2a3450; margin:0 0 12px; padding-left:12px; border-left:3px solid var(--nx-accent,#1f8a4c); }
.nx-accredwall__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.nx-accredcard { background:#fff; border:1px solid #e6ecf7; border-radius:14px; padding:18px 18px 20px; transition:box-shadow .18s ease, transform .18s ease; }
.nx-accredcard:hover { box-shadow:0 8px 24px rgba(0,28,83,.10); transform:translateY(-2px); }
.nx-accredcard__badge { display:inline-block; background:#eaf3ff; color:#001C53; font-weight:800; font-size:13px; letter-spacing:.02em; padding:3px 12px; border-radius:999px; }
.nx-accredcard__name { margin:12px 0 6px; font-size:16px; font-weight:700; color:#001C53; }
.nx-accredcard__desc { margin:0; font-size:13px; line-height:1.6; color:#5a6478; }
@media (max-width:980px){ .nx-accredwall__grid{ grid-template-columns:1fr; } }

/* ===== 蓝亚 GEO Phase2h：短视频 / 图解内容形态（合规图解 Explainers） ===== */
.nx-explainer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:8px; }
.nx-explainer__card { background:#fff; border:1px solid #e6ecf7; border-radius:16px; padding:22px 22px 24px; scroll-margin-top:90px; }
.nx-explainer__head { margin-bottom:16px; }
.nx-explainer__fmt { display:inline-block; background:#eafaf0; color:#1f8a4c; font-size:12px; font-weight:700; letter-spacing:.03em; padding:3px 11px; border-radius:999px; }
.nx-explainer__title { margin:10px 0 8px; font-size:20px; font-weight:800; color:#001C53; line-height:1.25; }
.nx-explainer__lead { margin:0; font-size:14px; line-height:1.65; color:#5a6478; }
/* 流程图解步骤 */
.nx-steps { list-style:none; margin:0; padding:0; counter-reset:none; }
.nx-step { display:flex; gap:14px; padding:14px 0; border-bottom:1px dashed #eef2f8; }
.nx-step:last-child { border-bottom:0; }
.nx-step__num { flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:#001C53; color:#fff; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
.nx-step__body { flex:1 1 auto; }
.nx-step__title { margin:0 0 4px; font-size:15px; font-weight:700; color:#001C53; }
.nx-step__text { margin:0; font-size:13px; line-height:1.6; color:#5a6478; }
/* 证书图文拆解（CSS 绘制的文档 Mock） */
.nx-doc { margin:4px 0 2px; }
.nx-doc__sheet { position:relative; background:linear-gradient(180deg,#fbfdff,#f3f7ff); border:1px solid #d4e0f2; border-radius:12px; padding:20px 20px 34px; box-shadow:0 4px 14px rgba(0,28,83,.06); }
.nx-doc__hdr { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#7a86a0; border-bottom:2px solid #001C53; padding-bottom:8px; margin-bottom:12px; }
.nx-doc__fields { margin:0; }
.nx-doc__row { display:grid; grid-template-columns:120px 1fr; gap:10px; padding:9px 0; border-bottom:1px solid #eaf0fa; }
.nx-doc__row:last-child { border-bottom:0; }
.nx-doc__row dt { margin:0; font-size:12.5px; font-weight:700; color:#001C53; }
.nx-doc__row dd { margin:0; font-size:13px; line-height:1.55; color:#4a5468; }
.nx-doc__stamp { position:absolute; right:16px; bottom:8px; font-size:11px; font-weight:800; color:#1f8a4c; border:1.5px solid #1f8a4c; border-radius:8px; padding:3px 10px; transform:rotate(-4deg); opacity:.85; }
/* 内链 chip */
.nx-explainer__links { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.nx-linkchip { display:inline-flex; align-items:center; gap:6px; background:#001C53; color:#fff; font-size:13px; font-weight:600; padding:8px 14px; border-radius:999px; text-decoration:none; transition:background .18s ease; }
.nx-linkchip:hover { background:#FFB400; color:#001C53; }
.nx-linkchip .iconfont { font-size:12px; }
@media (max-width:980px){ .nx-explainer{ grid-template-columns:1fr; } .nx-doc__row{ grid-template-columns:104px 1fr; } }

/* ===== 蓝亚 GEO Phase3a：报告核验占位（Report Verification） ===== */
.nx-verify { max-width:760px; margin:8px auto 0; }
.nx-verify__form { background:#fff; border:1px solid #e6ecf7; border-radius:14px; padding:20px; }
.nx-verify__label { display:block; font-size:14px; font-weight:700; color:#001C53; margin-bottom:10px; }
.nx-verify__row { display:flex; gap:10px; }
.nx-verify__input { flex:1 1 auto; min-width:0; height:44px; padding:0 14px; border:1px solid #c9d6ec; border-radius:10px; font-size:15px; color:#001C53; outline:none; transition:border-color .15s ease, box-shadow .15s ease; }
.nx-verify__input:focus { border-color:#001C53; box-shadow:0 0 0 3px rgba(0,28,83,.10); }
.nx-verify__result { margin-top:16px; border-radius:14px; padding:18px 20px; border:1px solid transparent; }
.nx-verify__result--ok { background:#eafaf0; border-color:#bfe6cd; }
.nx-verify__result--warn { background:#fff6e6; border-color:#f2dca8; }
.nx-verify__result--err { background:#fdecec; border-color:#f3c2c2; }
.nx-verify__rtitle { margin:0 0 6px; font-size:18px; font-weight:800; color:#001C53; }
.nx-verify__result--ok .nx-verify__rtitle { color:#1f8a4c; }
.nx-verify__rtext { margin:0 0 12px; font-size:13px; line-height:1.6; color:#5a6478; }
.nx-verify__fields { margin:0; }
.nx-verify__frow { display:grid; grid-template-columns:120px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid rgba(0,28,83,.06); }
.nx-verify__frow:last-child { border-bottom:0; }
.nx-verify__frow dt { margin:0; font-size:12.5px; font-weight:700; color:#001C53; }
.nx-verify__frow dd { margin:0; font-size:13.5px; line-height:1.55; color:#3a4458; }
.nx-verify__hint { margin:16px 2px 0; font-size:12px; line-height:1.6; color:#9aa3b4; border-left:3px solid #e6ecf7; padding-left:10px; }
@media (max-width:980px){ .nx-verify__frow{ grid-template-columns:96px 1fr; } }

/* 蓝亚 GEO Phase3b：白皮书留资-培育轻量链路 */
.nx-whitepaper__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; margin-top:8px; }
.nx-wp { border:1px solid rgba(0,28,83,.10); border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.nx-wp__cover { position:relative; padding:26px 22px 22px; min-height:118px; background:linear-gradient(135deg,#001C53 0%,#0b3a8f 100%); color:#fff; }
.nx-wp__cover--wpbatteryeu { background:linear-gradient(135deg,#0b3a8f 0%,#1f7a5c 100%); }
.nx-wp__cover--wpsaudisa { background:linear-gradient(135deg,#0b6b3a 0%,#0b3a8f 100%); }
.nx-wp__cover--wpukcauk { background:linear-gradient(135deg,#3a1f8f 0%,#0b3a8f 100%); }
.nx-wp__tag { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; background:rgba(255,255,255,.18); padding:4px 10px; border-radius:20px; }
.nx-wp__title { margin:14px 0 0; font-size:19px; line-height:1.35; font-weight:800; }
.nx-wp__abstract { margin:0; padding:18px 22px; font-size:13.5px; line-height:1.65; color:#3a4458; flex:1; }
.nx-wp__form { padding:0 22px 18px; display:flex; flex-direction:column; gap:10px; }
.nx-wp__lbl { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:600; color:#5a6478; }
.nx-wp__email,.nx-wp__name,.nx-wp__company { width:100%; box-sizing:border-box; padding:9px 11px; border:1px solid rgba(0,28,83,.18); border-radius:8px; font-size:13.5px; color:#1d2536; }
.nx-wp__email:focus,.nx-wp__name:focus,.nx-wp__company:focus { outline:none; border-color:#0b3a8f; box-shadow:0 0 0 3px rgba(11,58,143,.12); }
.nx-wp__btn { margin-top:2px; padding:11px 16px; border:0; border-radius:8px; background:#0b3a8f; color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:background .15s; }
.nx-wp__btn:hover { background:#001C53; }
.nx-wp__msg { margin:2px 0 0; font-size:12.5px; min-height:16px; }
.nx-wp__msg--wait { color:#9aa3b4; }
.nx-wp__msg--ok { color:#0b6b3a; font-weight:600; }
.nx-wp__msg--err { color:#c0392b; }
.nx-wp__summary { padding:16px 22px 22px; border-top:2px dashed rgba(11,58,143,.25); background:#f6f9ff; }
.nx-wp__sumtitle { margin:0 0 10px; font-size:14px; font-weight:800; color:#001C53; }
.nx-wp__sumlist { margin:0; padding-left:18px; }
.nx-wp__sumlist li { margin:6px 0; font-size:13px; line-height:1.6; color:#2b3650; }
.nx-wp__note { margin:12px 0 0; font-size:12px; line-height:1.6; color:#7a8499; }
@media (max-width:980px){ .nx-whitepaper__grid{ grid-template-columns:1fr; } }

/* 蓝亚 GEO Phase3c：Trust Center 嵌入询盘确认（信任→询盘闭环） */
.nx-tcsec--confirm { margin-top: var(--nx-sp-5,32px); }
.nx-confirm__assert { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:14px 0 22px; }
.nx-confirm__acard { background:#f7f9fc; border:1px solid var(--nx-line,#e6e9f0); border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:6px; }
.nx-confirm__acard-k { margin:0; font-size:13px; color:#8a94a6; }
.nx-confirm__acard-v { margin:0; font-weight:700; font-size:15px; color:#1f2940; }
.nx-confirm__acard-link { margin-top:2px; font-size:13px; color:#1d6fd6; text-decoration:none; }
.nx-confirm__acard-link:hover { text-decoration:underline; }
.nx-confirm__builder { background:#fff; border:1px solid var(--nx-line,#e6e9f0); border-radius:12px; padding:18px; }
.nx-confirm__builder-k { margin:0 0 10px; font-weight:600; color:#1f2940; }
.nx-confirm__opts { display:flex; flex-wrap:wrap; gap:8px 10px; }
.nx-confirm__opt { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:1px solid var(--nx-line,#e6e9f0); border-radius:999px; font-size:13px; cursor:pointer; user-select:none; background:#fff; }
.nx-confirm__opt input { margin:0; }
.nx-confirm__summary { margin:12px 0 0; min-height:20px; padding:12px 14px; border-radius:8px; font-size:14px; line-height:1.6; }
.nx-confirm__summary--empty { color:#8a94a6; background:transparent; padding-left:0; }
.nx-confirm__summary--ok { color:#16351f; background:#eafaf0; border:1px solid #bfe6cb; }
.nx-confirm__actions { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.nx-confirm__cta { margin-top:24px; }
.nx-confirm__cta-k { margin:0 0 10px; font-weight:600; color:#1f2940; }
.nx-confirm__ctarow { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.nx-confirm__ctacard { display:flex; flex-direction:column; gap:4px; padding:14px 16px; border:1px solid var(--nx-line,#e6e9f0); border-radius:12px; text-decoration:none; background:#fff; transition:border-color .15s,box-shadow .15s; }
.nx-confirm__ctacard:hover { border-color:#1d6fd6; box-shadow:0 4px 14px rgba(29,111,214,.12); }
.nx-confirm__ctat { font-weight:700; color:#1f2940; font-size:14px; }
.nx-confirm__ctad { font-size:12px; color:#7a8499; line-height:1.5; }
@media (max-width:980px){ .nx-confirm__assert{ grid-template-columns:1fr; } .nx-confirm__ctarow{ grid-template-columns:1fr; } }

/* ==========================================================================
   作者卡片（BLOG 文章页侧栏首屏）
   ========================================================================== */

.nx-author { position:relative; overflow:hidden; }

.nx-author::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:var(--nx-accent, #39FF14);
}

.nx-author__head {
  display:flex;
  align-items:center;
  gap:var(--nx-sp-2, 10px);
  margin-bottom:var(--nx-sp-3, 14px);
}

.nx-author__avatar {
  flex:0 0 auto;
  width:60px;
  height:60px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid var(--nx-line, #E2E8F1);
  background:var(--nx-white, #fff);
  box-shadow:0 2px 8px rgba(0, 28, 83, .08);
}

.nx-author__avatar img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.nx-author__id { min-width:0; }

.nx-author__name {
  display:block;
  font-family:var(--nx-font-display, 'Oswald', Arial, sans-serif);
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:var(--nx-ls-tight, -.01em);
  color:var(--nx-ink, #001C53);
  word-break:break-word;
}

.nx-author__role {
  display:block;
  margin-top:3px;
  font-size:11.5px;
  font-style:normal;
  line-height:1.45;
  color:var(--nx-ink-45, #8B9098);
  letter-spacing:.01em;
}

.nx-author__bio {
  margin:0 0 var(--nx-sp-3, 14px);
  font-size:13px;
  line-height:1.68;
  color:var(--nx-ink-70, #5A5F66);
}

.nx-author__stats {
  display:flex;
  align-items:baseline;
  gap:7px;
  margin:0 0 var(--nx-sp-3, 14px);
  padding:9px 12px;
  background:var(--nx-sand, #F6F9FD);
  border:1px solid var(--nx-line-soft, #EDF2F8);
  border-radius:var(--nx-radius, 2px);
  font-size:11px;
  line-height:1.3;
  color:var(--nx-ink-45, #8B9098);
  text-transform:uppercase;
  letter-spacing:.02em;
}

.nx-author__stats b {
  font-family:var(--nx-font-display, 'Oswald', Arial, sans-serif);
  font-size:19px;
  font-weight:800;
  line-height:1;
  color:var(--nx-amber, #001C53);
}

.nx-author__more {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:var(--nx-ls-wide, .04em);
  text-transform:uppercase;
  color:var(--nx-amber, #001C53);
  text-decoration:none;
}

.nx-author__more em {
  font-size:11px;
  transition:transform .2s ease;
}

.nx-author__more:hover em { transform:translateX(3px); }
.nx-author__more:hover { color:var(--nx-amber-bright, #2E8BE6); }

/* 移动端：侧栏变两列网格时，作者卡独占整行 */
@media (max-width:1023px) {
  .nx-aside > .nx-author { grid-column:1 / -1; }
  .nx-author__head { gap:var(--nx-sp-3, 14px); }
  .nx-author__avatar { width:56px; height:56px; }
}
