/* ==========================================================================
   内蒙古指路人标识系统有限公司官网 2027 版
   基准：设计稿 478.8 x 738pt，按 1440px 视口绘制，1pt = 3px
   容器 1382px / 顶栏 72px / 导航 36px / 侧栏 273px / 正文 15px 行高 25px
   ========================================================================== */

/* 思源黑体（Noto Sans SC）本地子集：只含本站用字，243KB，可变字重 100-900
   缺字时依次回退到系统 Noto Sans SC / 微软雅黑 */
@font-face {
  font-family: "Source Han Sans CN";
  src: url("../fonts/shsc-subset.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy: #00376E;
  --navy-dark: #0F3157;
  --sky: #00A2E8;
  --sky-line: #7FCBEF;
  --text: #717071;
  --gray: #595757;
  --footer-bg: #F5F5F5;
  --wrap: 1382px;
  --topbar-h: 72px;
  --mainnav-h: 36px;
  --side-w: 274.3px;
  --fs: 15px;          /* 正文 15px，与页脚同级 */
  --lh: 25px;          /* 设计稿行距比例 1.65 */
  --fs-head: 18px;     /* 顶部导航、左侧栏目录：保持设计稿 18px */
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  font-family: "Source Han Sans CN", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;
  font-size: var(--fs);
  line-height: var(--lh);
  color: var(--text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; border: 0; }

a { color: inherit; text-decoration: none; }

ul { margin: 0; padding: 0; list-style: none; }

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
}

/* ---------- 顶栏 ---------- */

.topbar {
  height: var(--topbar-h);
  background: var(--navy);
}

.topbar .wrap {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topbar .logo { margin-left: 22px; }

.logo img {
  height: 39px;
  width: auto;
}

.langs {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15px;
  line-height: 1;
  letter-spacing: .02em;
}

.langs a { color: #fff; }

.langs a.on { color: #8FA9C0; }

/* ---------- 主导航 ---------- */

.mainnav {
  height: var(--mainnav-h);
  background: var(--sky);
  border-top: 1px solid var(--sky-line);
}

.mainnav .wrap { height: 100%; }

.mainnav ul {
  height: 100%;
  display: flex;
}

.mainnav li {
  flex: 1 1 0;
  height: 100%;
  border-right: 2px solid #fff;
  display: flex;
}

.mainnav li:last-child { border-right: 0; }

.mainnav a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: var(--fs-head);
  line-height: 1;
}

.mainnav li.on { background: var(--navy); }

.mainnav li:hover { background: #0090D1; }

.mainnav li.on:hover { background: var(--navy); }

/* ---------- 主体两栏 ---------- */

.layout {
  display: flex;
  align-items: stretch;
  min-height: 520px;
}

.sidebar {
  position: relative;
  z-index: 3;
  flex: 0 0 var(--side-w);
  width: var(--side-w);
  padding-top: 60px;
}

/* 侧栏引线：五个栏目各一条，路径取自设计稿矢量原图（1pt=3px） */
.layout.nav-about .sidebar::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 1246px;
  height: 58px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1246' height='58' viewBox='0 0 1246 58'%3E%3Cpath d='M166.56 3C170.82 44.13 237.06 40.26 274.29 39' fill='none' stroke='%2300376E' stroke-width='6'/%3E%3C/svg%3E") no-repeat 0 0 / 1246px 58px;
  pointer-events: none;
}

.layout.nav-design .sidebar::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 1246px;
  height: 58px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1246' height='58' viewBox='0 0 1246 58'%3E%3Cpath d='M413.61 3C403.71 51.57 320.4 37.44 274.29 39' fill='none' stroke='%2300376E' stroke-width='6'/%3E%3C/svg%3E") no-repeat 0 0 / 1246px 58px;
  pointer-events: none;
}

.layout.nav-produce .sidebar::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 1246px;
  height: 58px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1246' height='58' viewBox='0 0 1246 58'%3E%3Cpath d='M694.35 3C664.47 51.57 413.25 37.44 274.29 39' fill='none' stroke='%2300376E' stroke-width='6'/%3E%3C/svg%3E") no-repeat 0 0 / 1246px 58px;
  pointer-events: none;
}

.layout.nav-install .sidebar::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 1246px;
  height: 58px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1246' height='58' viewBox='0 0 1246 58'%3E%3Cpath d='M963.42 3C914.43 51.57 502.29 37.44 274.29 39' fill='none' stroke='%2300376E' stroke-width='6'/%3E%3C/svg%3E") no-repeat 0 0 / 1246px 58px;
  pointer-events: none;
}

.layout.nav-contact .sidebar::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 1246px;
  height: 58px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1246' height='58' viewBox='0 0 1246 58'%3E%3Cpath d='M1234.83 3C1166.55 51.57 592.08 37.44 274.29 39' fill='none' stroke='%2300376E' stroke-width='6'/%3E%3C/svg%3E") no-repeat 0 0 / 1246px 58px;
  pointer-events: none;
}

/* 侧栏竖线：设计稿 x=100.2pt。
   挂在 .content 上（而不是侧栏），高度随正文高度走，底线与末段文字底对齐 */


/* 「关于我们」栏目：从导航条引出、弯到竖线的引线
   取设计稿矢量原路径 M64.29,45 C65.71,58.71 87.79,57.42 100.2,57（1pt=3px） */

.sidebar ul {
  position: relative;
  z-index: 1;
  padding-right: 29px;
}

.sidebar li {
  text-align: right;
  line-height: 26.4px;
  margin-bottom: 11px;
  position: relative;
}

.sidebar li:last-child { margin-bottom: 0; }

.sidebar a {
  color: var(--navy);
  font-size: var(--fs-head);
}

.sidebar li:hover a { color: var(--sky); }

.sidebar li.on a { font-weight: 700; }

/* 当前项到竖线的指示：设计稿为一段小弯钩，非直线
   M90.48,69.48 C94.92,69.24 98.36,70.2 100.2,73.5 */
.sidebar li.on::after {
  content: "";
  position: absolute;
  right: -31.4px;
  top: 50%;
  width: 36px;
  height: 19px;
  margin-top: -3.4px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='19' viewBox='0 0 36 19'%3E%3Cpath d='M3 3C16.3 2.3 26.6 5.2 32.2 15.1' fill='none' stroke='%2300376E' stroke-width='6'/%3E%3C/svg%3E") no-repeat 0 0 / 36px 19px;
  pointer-events: none;
}

.content {
  position: relative;
  flex: 1 1 auto;
  align-self: flex-start;
  min-width: 0;
  padding: 36px 0 0 31px;
}

/* 竖长蓝线：左缘与侧栏右边齐，顶端接引线，底端与最后一段文字底齐平 */
.content::before {
  content: "";
  position: absolute;
  top: 33px;
  bottom: 4px;
  left: -3px;
  width: 6px;
  background: var(--navy);
  pointer-events: none;
}

/* 除「关于我们」外，其余四栏的引线横穿内容区上方，
   设计稿把内容起点压在引线下方 29px 处（172.7 - 142.4 - 6/2），故单独下移 */
.layout.nav-design .content,
.layout.nav-produce .content,
.layout.nav-install .content,
.layout.nav-contact .content {
  padding-top: 65px;
}

/* ---------- 内容排版 ---------- */

/* 内容区里所有段落都不带浏览器默认上下边距（含 .addr / .contact-list 里的嵌套 p） */
.content p { margin: 0; }

.content > p {
  margin: 0;
  max-width: var(--tw, 847px);
  font-size: var(--fs);
  line-height: var(--lh);
  color: var(--text);
}

/* 手工添加的整组说明行：与图注同样式，居中排在图片方阵下方 */
.content > p.note {
  line-height: 22px;
  text-align: center;
}

.figure-row {
  display: flex;
  gap: 0;
  margin-bottom: 15px;
}

.figure-row img {
  height: 247px;
  width: auto;
}

/* ---- 图片行（按设计稿坐标还原） ---- */

.figrow {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
}

.figrow figure {
  margin: 0;
  flex: 0 0 auto;
}

.figrow figure img {
  display: block;
  width: 100%;
  height: auto;
}

.figrow figcaption {
  font-size: var(--fs);
  line-height: 22px;
  color: var(--text);
  text-align: center;
  margin-top: 9px;
}

/* ---- 图片组（设计稿里的拼图块，按原始坐标绝对定位） ---- */

.figband {
  position: relative;
  margin: 0;
}

.figband figure {
  position: absolute;
  margin: 0;
}

.figband img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.figband figcaption {
  font-size: var(--fs);
  line-height: 22px;
  color: var(--text);
  text-align: center;
  margin-top: 9px;
}

.cell-text { max-width: var(--tw, 847px); font-size: var(--fs); line-height: var(--lh); color: var(--text); }

.gap { width: 100%; }

/* ---- 网格 ---- */

.grid {
  display: grid;
  gap: 24px 18px;
}

.grid figure { margin: 0; }

.grid figure img { display: block; width: 100%; height: auto; }

.grid figcaption {
  font-size: var(--fs);
  line-height: 22px;
  color: var(--text);
  text-align: center;
  margin-top: 8px;
}

/* ---- 视频 ---- */

.video-box { margin: 0; }

.video-box video { display: block; width: 100%; height: auto; background: #000; }

/* ---- 电子画册 iframe ---- */

.iframe-box { width: 100%; background: #f2f2f2; }

/* ---- 站内翻页画册（PDF 逐页图，纯 CSS 翻页） ---- */

.album { max-width: 100%; }

.album-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  background: #14192e;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.35) transparent;
}
.album-track::-webkit-scrollbar { height: 8px; }
.album-track::-webkit-scrollbar-thumb { background: rgba(255,255,255,.35); border-radius: 4px; }

.album-page {
  flex: 0 0 100%;
  scroll-snap-align: center;
  position: relative;
  margin: 0;
}
.album-page img { display: block; width: 100%; height: auto; }

/* 竖版画册：按高度撑满、页面水平居中 */
.album--fit-h .album-page { display: flex; align-items: center; justify-content: center; }
.album--fit-h .album-page img { width: auto; height: 100%; }

.ab-no {
  position: absolute;
  right: 10px;
  bottom: 8px;
  font-size: 12px;
  color: #fff;
  background: rgba(0,0,0,.45);
  padding: 2px 10px;
  border-radius: 12px;
  letter-spacing: 1px;
}

.ab-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  line-height: 44px;
  text-align: center;
  font-size: 28px;
  color: #fff;
  background: rgba(20,25,46,.55);
  border-radius: 50%;
  text-decoration: none;
  user-select: none;
}
.ab-nav:hover { background: rgba(20,25,46,.85); }
.ab-prev { left: 12px; }
.ab-next { right: 12px; }

.album-hint { font-size: 13px; color: #888; margin-top: 8px; text-align: center; }

/* ---- 清单 ---- */

.list-1 li { line-height: 30px; }

.list-3 {
  columns: 3;
  column-gap: 40px;
}

.list-3 li { line-height: 25px; break-inside: avoid; }

.list-2 { columns: 2; column-gap: 40px; }

.list-2 li { line-height: 25px; break-inside: avoid; }

/* ---- 时间轴 ---- */

.timeline { margin-top: 8px; }

.tl-row {
  display: flex;
  align-items: baseline;
  padding: 9px 0;
  border-bottom: 1px dashed #dbe6ee;
}

.tl-year {
  flex: 0 0 120px;
  color: var(--navy);
  font-weight: 700;
}

.tl-text { flex: 1; }

/* ---- 产品 / 设备分类板（图片与文字各自独立，便于搜索） ---- */

.board {
  max-width: var(--tw, 847px);
}

.board .brow {
  display: grid;
  grid-template-columns: repeat(var(--cols, 6), 1fr);
  gap: 8px 14px;
  margin-bottom: 22px;
}

.board .brow:last-of-type { margin-bottom: 0; }

.board .bhead {
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 2px;
  color: #9A9A9A;
  margin-bottom: -2px;
}

.board figure { margin: 0; }

.board figure img {
  display: block;
  width: 100%;
  height: auto;
}

.board figcaption {
  font-size: 14px;
  line-height: 22px;
  color: var(--text);
  text-align: center;
  margin-top: 6px;
}

.board .bbanner { margin-top: 4px; }

.board .bbanner img {
  display: block;
  width: 100%;
  height: auto;
}

.board .bcap {
  font-size: 14px;
  line-height: 22px;
  color: var(--text);
  text-align: center;
  margin-top: 6px;
}

/* ---- 人员卡片 ---- */

.people {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 34px 26px;
  max-width: var(--tw, 847px);
}

.people .person { text-align: left; }

.people .person img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px;
}

.p-name { color: var(--navy); font-weight: 700; }

/* 名字下的个人简介：深灰小字，超一行自动折行 */
.p-bio {
  font-size: 13px;
  line-height: 20px;
  color: #666;
  margin-top: 2px;
}

.p-info { font-size: var(--fs); line-height: 22px; color: var(--text); }

.pending { color: #999; }

/* ---------- 页脚 ---------- */

.footer {
  background: var(--footer-bg);
  margin-top: 20px;
  padding: 11px 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--gray);
}

.footer .wrap {
  display: flex;
  justify-content: center;
  gap: 90px;
  flex-wrap: wrap;
}

.footer a {
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 55, 110, .35);
  transition: color .2s, border-color .2s;
}

.footer a:hover {
  color: var(--sky);
  border-bottom-color: var(--sky);
}

/* ---------- 响应式 ---------- */

@media (max-width: 1000px) {
  :root { --fs: 15px; --lh: 25px; }
  .mainnav { height: auto; }
  .mainnav ul { flex-wrap: wrap; }
  .mainnav li { flex: 1 0 33.33%; height: 40px; border-bottom: 1px solid #fff; }
  .layout { display: block; }
  .sidebar {
    width: auto;
    border-right: 0;
    border-bottom: 1px solid #dbe6ee;
    padding: 16px 0;
    margin-bottom: 24px;
  }
  .layout .sidebar::before { display: none !important; }
  .layout .content::before { display: none !important; }
  .sidebar ul { display: flex; flex-wrap: wrap; gap: 10px 18px; padding-right: 0; }
  .sidebar li { text-align: left; margin: 0; }
  .sidebar li.on::after { display: none; }
  .content { padding: 0 0 40px; }
  .figure-row img { height: auto; width: 100%; }
  /* 窄屏：拼图块退回竖排，坐标定位会让图叠在一起 */
  .figband { position: static !important; width: 100% !important; height: auto !important; }
  .figband figure { position: static !important; width: 100% !important; margin-bottom: 12px; }
  .figband img { height: auto !important; width: 100% !important; }
  .footer .wrap { gap: 10px 40px; }
}

/* ---- 公司历史 ---- */

.history-panel {
  position: relative;
  width: 832px;
  max-width: 100%;
  background: #F5F5F5;
  padding: 10px 54px;
}

/* 年表整体下移：文字块顶部离面板顶约 100px，上方留白，引语独占右上 */
.history-list { margin-top: 88px; }

/* 引语定位在面板右上角，不占文档流，让左侧年表能从顶部起排 */
.history-quote {
  position: absolute;
  top: 12px;
  right: 54px;
  text-align: right;
  font-size: 23px;
  line-height: 38px;
  color: #231606;
  letter-spacing: .06em;
  font-family: "SmileySans-Oblique", "Source Han Sans CN", "Microsoft YaHei", sans-serif;
  margin: 0;
}

.history-list { text-align: left; }

.h-row {
  font-size: var(--fs);
  line-height: 42px;
  color: var(--text);
  white-space: nowrap;
}

.h-y { font-weight: 700; color: var(--gray); margin-right: 14px; }

.h-t { color: var(--text); }

/* 工程案例页的分类小标题：深蓝加粗 */
.content p.sec-title {
  font-weight: 700;
  color: var(--navy);
}

/* 放大一号的分类标题（如超级发光字页的"超级字案例"） */
.content p.sec-title-lg {
  font-weight: 700;
  color: var(--navy);
  font-size: 17px;
}

/* ---- 设计范围 ---- */

.scope {
  display: flex;
  gap: 0;
  margin-top: 34px;
}

.scope-col { flex: 1 1 0; }

.scope ul li {
  font-size: var(--fs);
  line-height: 28px;
  color: var(--text);
  padding-left: 12px;
  text-indent: -12px;
}

.scope ul li::before { content: "- "; }

/* ---- 知识产权 ---- */

.ip-note { margin-top: 9px !important; }

.ip-title {
  color: var(--text);
  margin: 6px 0 11px;
}

.ip-cert { margin: 0 0 16px; }

/* 与上方两张商标证书的总宽对齐（419×2 = 838），等高比对边 */
.ip-cert img { display: block; width: 838px; max-width: 100%; }

.ip-lead { margin: 26px 0 12px !important; }

/* 宽度收进上方证书的右边界内，字距略收，放不下就换行（宁可变长也不出界） */
.ip-list {
  display: flex;
  gap: 16px;
  width: 838px;
  max-width: 100%;
}

.ip-list ul { flex: 1 1 0; min-width: 0; }

/* 每条固定两行：第一行 = 序号 + 登记号，第二行 = 作品名称（缩进对齐登记号） */
.ip-list li {
  font-size: var(--fs);
  line-height: 21px;
  color: var(--text);
  white-space: normal;
  word-break: keep-all;
  margin-bottom: 9px;
}

.ip-list .ip-i {
  display: inline-block;
  min-width: 20px;
  margin-right: 6px;
  color: #9C9C9C;
  font-size: 13px;
}

.ip-list .ip-c { display: inline; }

.ip-list .ip-n {
  display: block;
  padding-left: 26px;
}

@media (max-width: 1000px) {
  .history-panel { width: 100%; padding: 24px 18px; }
  .h-row { white-space: normal; line-height: 34px; }
  .scope { flex-direction: column; }
  .ip-list { flex-direction: column; }
  .ip-list li { white-space: normal; }
  /* 窄屏：并排证书改为竖排，避免 838px 固定宽度撑破容器 */
  .figrow { flex-direction: column; width: 100% !important; }
  .figrow figure { width: 100% !important; }
  .ip-cert img, .ip-list { width: 100%; }
}

/* ---- 地址与联系方式 ---- */

.addr { margin-top: 22px; }

.addr p { line-height: 34px; }

.contact-list p { line-height: 32px; }

/* 联系方式页：左侧联系信息 + 右侧抖音码并排，用满 846px 内容宽 */
.contact-flex {
  display: flex;
  gap: 48px;
  align-items: flex-start;
  max-width: var(--tw, 847px);
}
.contact-flex .contact-list { flex: 1 1 auto; min-width: 0; }
.contact-qr {
  display: flex;
  gap: 14px;
  flex: 0 0 auto;
}
.contact-qr figure { margin: 0; width: 204px; text-align: center; }
.contact-qr figure img { display: block; width: 100%; height: auto; }
.contact-qr figcaption {
  font-size: 14px;
  line-height: 22px;
  color: var(--text);
  margin-top: 6px;
}

/* 行首标签（公司全称：/官方电话：…）：深蓝加粗，字号与同行值一致 */
.contact-list .cl-tag {
  font-size: var(--fs);
  font-weight: 700;
  color: var(--navy);
}

/* ---- 常见问题（联系方式页底部） ----
   问答必须真实可见，才能对应 FAQPage 结构化数据；不折叠、不隐藏、字号与正文同级 */

.faq {
  margin-top: 42px;
  padding-top: 26px;
  /* 联系方式页的 --tw 是设计稿给联系信息列的 360px，问答要跟其他页面正文同宽，写死 846 */
  max-width: 846px;
  border-top: 1px solid #E4E4E4;
}

.faq h2 {
  margin: 0 0 18px;
  font-size: var(--fs-head);
  line-height: 1.5;
  font-weight: 700;
  color: var(--navy);
}

/* 常见问题独立成页时（faq-lead）：去掉上边距和顶部分隔线，从内容区左上角开始 */
.faq-lead {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.faq dl { margin: 0; }

.faq-item { margin-bottom: 15px; }

.faq-item:last-child { margin-bottom: 0; }

.faq dt {
  margin-bottom: 3px;
  font-size: var(--fs);
  line-height: var(--lh);
  font-weight: 700;
  color: var(--navy-dark);
}

.faq dd {
  margin: 0;
  font-size: var(--fs);
  line-height: var(--lh);
  color: var(--text);
}

/* ---------- 一级标题（供搜索引擎与读屏软件，视觉上不占位） ---------- */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ---------- 资讯列表 ---------- */

.news-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  max-width: var(--tw, 846px);
  border-top: 1px solid #DFE3EA;
  /* 条目少时撑住高度，让左侧蓝竖线跟侧栏目录一样长，当前项的小弯钩才不会悬空 */
  min-height: 440px;
}

.news-item {
  display: grid;
  grid-template-columns: 44px 84px 1fr;
  gap: 0 10px;
  align-items: baseline;
  padding: 12px 12px 12px 4px;
  border-bottom: 1px solid #EDEFF3;
  font-size: var(--fs);
  line-height: var(--lh);
  color: var(--text);
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}

.news-item:hover { background: #F7F9FC; }

.news-item:hover .n-title { color: var(--navy); }

.n-no {
  font-size: 12px;
  color: #9AA1B1;
  font-variant-numeric: tabular-nums;
}

.n-date {
  font-size: 12px;
  color: #9AA1B1;
  font-variant-numeric: tabular-nums;
}

.n-title { min-width: 0; }

.n-cat {
  margin-left: 8px;
  font-size: 12px;
  color: #7A8296;
}

/* ---------- 资讯详情 ---------- */

.news-article { max-width: var(--tw, 846px); min-height: 440px; }

.news-article .na-title {
  margin: 0 0 10px;
  font-size: var(--fs-head);
  line-height: 28px;
  font-weight: 500;
  color: var(--navy);
}

.news-article .na-meta {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EBF2;
  font-size: 13px;
  line-height: 20px;
  color: #8E8E8E;
}

.news-article .na-cat { color: var(--navy); }

.news-article .na-body p { margin: 0 0 12px; }

.news-article .na-body .na-sub {
  margin: 18px 0 6px;
  color: var(--navy);
}

.news-article .na-fig { width: fit-content; max-width: 100%; margin: 16px 0 14px; }

.news-article .na-fig-c { margin: 20px auto 16px; }

.news-article .na-fig-c img { border: 1px solid #EDEDED; }

.news-article .na-fig img { display: block; max-width: 100%; height: auto; }

.news-article .na-zoom { display: block; cursor: zoom-in; }

.news-article .na-fig figcaption {
  margin-top: 9px;
  font-size: var(--fs);
  line-height: 22px;
  color: var(--text);
  text-align: center;
}

.news-article .na-quote {
  margin: 10px 0 14px;
  padding-left: 14px;
  border-left: 3px solid var(--navy);
  color: var(--text);
}

/* 公告类详情：称呼、对接人、落款、附注 */
.news-article .na-body .na-salute { margin: 4px 0 10px; color: var(--navy); }

.news-article .na-body .na-contact {
  margin: 0 0 6px;
  padding-left: 2em;
  letter-spacing: .3px;
  white-space: nowrap;
}

.news-article .na-body .na-sign {
  margin: 0;
  text-align: right;
  line-height: 26px;
}

.news-article .na-body .na-sign + .na-sign { margin-bottom: 4px; }

.news-article .na-body .na-note {
  margin: 0 0 14px;
  text-align: right;
  font-size: 13px;
  color: #8E8E8E;
}

.news-article .na-back {
  display: inline-block;
  margin-top: 26px;
  font-size: 14px;
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.news-article .na-back:hover { border-bottom-color: var(--navy); }

@media (max-width: 1000px) {
  /* 窄屏：方形小点绝对定位到第一行，日期与标题各占一行 */
  .news-item { display: block; position: relative; padding-left: 22px; }
  .n-date, .n-title { display: block; margin-right: 0; }
  .n-dot {
    position: absolute;
    left: 3px;
    top: 12px;
    margin: 0;
    transform: none;
  }
}

/* ---- 广告圈的百家访谈：节目列表 ---- */

.interviews {
  display: flex;
  gap: 36px;
  align-items: flex-start;
  max-width: var(--tw, 847px);
}

.iv-side {
  flex: 0 0 228px;
  width: 228px;
  position: sticky;
  top: 24px;
  background: #F5F6F8;
  padding: 18px 18px 16px;
}

.iv-kicker { font-size: 15px; font-weight: 700; color: var(--navy); letter-spacing: .5px; }
.iv-lead { margin-top: 10px; font-size: 13px; line-height: 21px; color: #5A6172; }
.iv-count { margin-top: 14px; display: flex; align-items: baseline; gap: 6px; }
.iv-latest { margin-top: 8px; font-size: 12px; color: #7A8296; }
.iv-count b { font-size: 30px; line-height: 1; font-weight: 700; color: var(--navy); }
.iv-count span { font-size: 12px; color: #7A8296; }
.iv-tip {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #E3E6EC;
  font-size: 12px;
  line-height: 20px;
  color: #7A8296;
}

.iv-list { flex: 1; min-width: 0; border-top: 1px solid #DFE3EA; }

.iv-list .iv-head,
.iv-row {
  display: grid;
  grid-template-columns: 44px 84px 1fr;
  gap: 0 10px;
  align-items: baseline;
}

.iv-list .iv-head {
  padding: 8px 52px 6px 4px;
  font-size: 11px;
  color: #9AA1B1;
  letter-spacing: .5px;
}

.iv-item { position: relative; border-bottom: 1px solid #EDEFF3; padding-right: 52px; }
.iv-item:hover { background: #F7F9FC; }

.iv-row { padding: 10px 0 10px 4px; text-decoration: none; }
.iv-no { font-size: 12px; color: #9AA1B1; font-variant-numeric: tabular-nums; }
.iv-date { font-size: 12px; color: #9AA1B1; font-variant-numeric: tabular-nums; }
.iv-name { font-size: var(--fs); color: var(--text); }
.iv-item:hover .iv-name { color: var(--navy); }
.iv-sub { margin-left: 8px; font-size: 12px; color: #7A8296; }

.iv-qr {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: zoom-in;
  outline: none;
}
.iv-q { width: 22px; height: 22px; opacity: .38; transition: opacity .15s; }
.iv-qr:hover .iv-q, .iv-qr:focus .iv-q { opacity: 1; }

.iv-pop {
  display: none;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  width: 140px;
  background: #fff;
  border: 1px solid #E1E5EC;
  box-shadow: 0 8px 24px rgba(20, 25, 46, .16);
  padding: 10px 10px 8px;
}
.iv-pop img { display: block; width: 118px; height: 118px; }
.iv-pop b {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 400;
  color: #7A8296;
  text-align: center;
}
.iv-qr:hover .iv-pop, .iv-qr:focus .iv-pop { display: block; }

.iv-item:nth-child(-n+3) .iv-pop { top: 10px; transform: none; }

@media (max-width: 900px) {
  .interviews { flex-direction: column; gap: 20px; }
  .iv-side { position: static; flex: none; width: 100%; }
  .iv-pop { right: 0; }
}
