/* ==========================================================================
   新疆全疆企业服务有限公司 · 全站样式
   语义化 CSS（替代 Tailwind），CSS 变量统一管理主题
   ========================================================================== */

/* ---------- 1. 设计变量 ---------- */
:root {
  /* 主题色 */
  --navy: #0E2A4E;        /* 主深蓝 */
  --navy-2: #143C6E;      /* 次深蓝 */
  --navy-3: #1D4E89;      /* 渐变蓝 */
  --gold: #C9A063;        /* 主金 */
  --gold-dark: #B88F52;   /* 深金 */
  --gold-light: #E8C88A;  /* 浅金 */
  --gold-brown: #A57F45;  /* 金棕 */
  --blue-bg: #EEF3FA;     /* 浅蓝底 */
  --gray-bg: #F7F9FC;     /* 浅灰底 */
/* 绿色（成功） */

  /* 灰阶 */
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;

  /* 圆角与阴影 */
  --radius: 10px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 3px rgba(15, 35, 65, .06);
  --shadow: 0 6px 16px -6px rgba(15, 35, 65, .12);
  --shadow-lg: 0 18px 36px -14px rgba(15, 35, 65, .20);

  /* 布局 */
  --container: 1280px;

  /* 字体 */
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
          "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 2. 基础重置 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  color: #1f2937;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; background: none; border: none; }
input, select, textarea { font-family: inherit; }
svg { vertical-align: middle; }

/* ---------- 3. 通用布局 ---------- */
.container { max-width: var(--container); margin: 0 auto; padding: 0 16px; }
.page { display: flex; flex-direction: column; min-height: 100vh; }
.main { flex: 1; }

/* 区块 */
.section { padding: 64px 0; }
.section-head { text-align: center; margin-bottom: 40px; }
.section-title { font-size: 30px; font-weight: 700; color: var(--navy); }
.section-head .section-title { position: relative; display: inline-block; padding-bottom: 16px; }
.section-head .section-title::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 44px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
.section-desc { margin-top: 8px; font-size: 14px; color: var(--gray-500); }
.section-desc a { color: var(--navy-2); font-weight: 500; }
.section-desc a:hover { text-decoration: underline; }

/* ---------- 4. 按钮 ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 24px; border-radius: var(--radius); border: 1px solid transparent;
  font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s;
}
.btn--sm { padding: 8px 16px; }
.btn--lg { padding: 14px 28px; }
.btn--gold { background: var(--gold); color: #fff; }
.btn--gold:hover { background: var(--gold-dark); }
.btn--blue { background: var(--navy-2); color: #fff; }
.btn--blue:hover { background: var(--navy); }
.btn--light { border-color: rgba(255, 255, 255, .3); color: #fff; }
.btn--light:hover { background: rgba(255, 255, 255, .1); }
.btn--block { width: 100%; }

/* ---------- 5. 顶部信息条 ---------- */
.topbar { background: var(--navy); color: #fff; font-size: 12px; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; }
.topbar-slogan { display: none; }
.topbar-short { display: block; }
.topbar-tel { display: flex; align-items: center; gap: 6px; font-weight: 500; transition: color .2s; }
.topbar-tel:hover { color: var(--gold-light); }
.topbar-tel svg { font-size: 10px; }

/* ---------- 6. 导航栏 ---------- */
.site-header { position: sticky; top: 0; z-index: 40; background: #fff; box-shadow: var(--shadow-sm); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand-logo {
  display: block; width: 44px; height: 44px;
  object-fit: contain;
}
.brand-name { display: block; font-size: 20px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.brand-sub { display: block; font-size: 11px; color: var(--gray-500); line-height: 1.3; }
.nav-menu { display: none; align-items: center; gap: 4px; }
.nav-link {
  padding: 8px 12px; border-radius: var(--radius);
  font-size: 14px; font-weight: 500; color: var(--gray-600); transition: color .2s, background-color .2s;
}
.nav-link:hover { color: var(--navy-2); background: var(--gray-50); }
.nav-link.is-active { color: var(--navy-2); background: var(--blue-bg); }
.nav-cta { display: none; }
.nav-toggle { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 10px; color: var(--navy); font-size: 20px; }
.nav-menu.open {
  display: flex; flex-direction: column; align-items: stretch; gap: 0;
  position: absolute; top: 100%; left: 0; right: 0;
  background: #fff; padding: 8px 16px 16px;
  box-shadow: var(--shadow-lg); border-top: 1px solid var(--gray-100);
}
.nav-menu.open .nav-link { padding: 13px 8px; border-bottom: 1px solid var(--gray-50); border-radius: 0; }
.nav-menu.open .nav-link:last-child { border-bottom: none; }

/* ---------- 7. Hero 主视觉 ---------- */
.hero {
  position: relative; overflow: hidden; color: #fff;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 50%, var(--navy-3) 100%);
}
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .15; }
.hero-inner { position: relative; padding: 80px 0; }
.hero-tag {
  display: inline-block; margin-bottom: 16px; padding: 6px 16px;
  border-radius: 999px; border: 1px solid rgba(201, 160, 99, .5);
  background: rgba(201, 160, 99, .1); color: var(--gold-light);
  font-size: 12px; letter-spacing: .1em;
}
.hero-title { max-width: 60rem; font-size: 25px; font-weight: 700; line-height: 1.25; }
.hero-title .accent { color: var(--gold-light); }
/* 主标题内的主动断行点：窄屏独占一行，避免「一站式服务」被拆到词中 */
.hero-br { display: block; }
.hero-desc { margin-top: 20px; max-width: 42rem; font-size: 14px; line-height: 1.75; color: var(--gray-300); }
.hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 16px; }
.hero-tel { margin-top: 24px; font-size: 14px; color: var(--gray-400); }
.hero-tel a { font-weight: 600; color: #fff; transition: color .2s; }
.hero-tel a:hover { color: var(--gold-light); }

/* ---------- 8. 数据统计条 ---------- */
.stats { border-bottom: 1px solid var(--gray-100); background: linear-gradient(180deg, #fff 0%, var(--gray-bg) 100%); }
.stats-inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; padding: 36px 0; }
.stat { display: flex; flex-direction: column; align-items: center; text-align: center; }
.stat-icon {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 10px; border-radius: 12px;
  background: rgba(201, 160, 99, .12); color: var(--gold-brown); font-size: 19px;
}
.stat-num {
  font-size: 30px; font-weight: 700; line-height: 1.1;
  background: linear-gradient(135deg, var(--navy-2), var(--navy));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.stat-label { margin-top: 6px; font-size: 13px; color: var(--gray-500); }

/* ---------- 9. 服务卡片 ---------- */
.section--gray { background: var(--gray-bg); }
.service-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.service-card {
  display: block; padding: 28px; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: rgba(201, 160, 99, .4); }
.service-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.service-icon {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 14px;
  background: rgba(201, 160, 99, .12); color: var(--gold-brown); font-size: 22px;
  transition: background .2s, color .2s;
}
.service-card:hover .service-icon { background: var(--gold); color: #fff; }
.service-tag {
  flex-shrink: 0; border-radius: 999px; background: rgba(201, 160, 99, .1);
  padding: 4px 12px; font-size: 12px; font-weight: 600; color: var(--gold-brown);
}
.service-title { margin-top: 16px; font-size: 20px; font-weight: 700; color: var(--navy); }
.service-desc { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--gray-500); }
.service-link {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--gray-100);
  font-size: 14px; font-weight: 600; color: var(--navy-2); transition: color .2s;
}
.service-link-arrow { transition: transform .2s; }
.service-card:hover .service-link { color: var(--gold); }
.service-card:hover .service-link-arrow { transform: translateX(4px); }
/* 业务网格第 9 格引导卡（补齐 3×3 排版） */
.service-more-card {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  gap: 10px; padding: 24px; text-decoration: none;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--navy-2) 0%, var(--navy) 100%);
  color: #fff; box-shadow: var(--shadow-sm);
  transition: transform .2s, box-shadow .2s;
}
.service-more-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.service-more-title { font-size: 18px; font-weight: 700; color: var(--gold); }
.service-more-desc { font-size: 14px; line-height: 1.6; color: var(--gray-300); }
.service-more-btn { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--gold); transition: transform .2s; }
.service-more-card:hover .service-more-btn { transform: translateX(4px); }

/* ---------- 10. 优势卡片 ---------- */
.feature-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.feature-card {
  position: relative; overflow: hidden;
  padding: 30px 24px 26px; border-radius: 14px;
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow-sm);
  text-align: center; transition: transform .25s, box-shadow .25s, border-color .25s;
}
/* 顶部金色渐变条：居中短条（宽 56px），比通栏更精致 */
.feature-card::before {
  content: ""; position: absolute; left: 50%; top: 0; transform: translateX(-50%);
  width: 56px; height: 3px; border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  opacity: .6; transition: width .3s, opacity .3s;
}
.feature-card:hover { border-color: rgba(201, 160, 99, .55); box-shadow: var(--shadow); transform: translateY(-3px); }
.feature-card:hover::before { width: 88px; opacity: 1; }
/* 图标：52px 金浅底圆角容器 + 23px 线性图标 */
.feature-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px;
  background: rgba(201, 160, 99, .12); color: var(--gold-brown);
  font-size: 23px; line-height: 1; transition: background .25s, color .25s;
}
.feature-card:hover .feature-icon { background: rgba(201, 160, 99, .2); }
.feature-title { margin-top: 18px; font-size: 17px; font-weight: 700; color: var(--navy); line-height: 1.4; }
.feature-desc { margin-top: 9px; font-size: 14px; line-height: 1.65; color: var(--gray-500); }

/* 灰底（section--gray）上的优势卡翻白，避免卡片与背景同色 */
.feature-grid--on-gray .feature-card { background: #fff; box-shadow: var(--shadow-sm); }

/* 5 卡区块：最后一行居中（桌面 4 列跨 2 列居中，平板跨满整行居中） */
@media (min-width: 1024px) {
  .feature-grid--center .feature-card:last-child { grid-column: 2 / 4; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .feature-grid--center .feature-card:last-child { grid-column: 1 / -1; }
}

/* 首页服务行业分布卡（白底，用于 section--gray 背景） */
.industry-card {
  padding: 22px; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow-sm);
  transition: transform .2s, border-color .2s;
}
.industry-card:hover { transform: translateY(-3px); border-color: rgba(201, 160, 99, .5); }
.industry-icon { font-size: 22px; color: var(--gold); }
.industry-title { margin-top: 12px; font-size: 16px; font-weight: 700; color: var(--navy); }
.industry-desc { margin-top: 6px; font-size: 13px; line-height: 1.6; color: var(--gray-500); }

/* ---------- 10c. 服务案例（首页） ---------- */
.case-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.case-card {
  position: relative;
  display: flex; flex-direction: column; /* 卡片纵向弹性：让 .case-result 吸底对齐（D1） */
  padding: 24px; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: var(--gray-bg);
  transition: border-color .2s, transform .2s;
}
.case-card:hover { border-color: rgba(201, 160, 99, .5); transform: translateY(-3px); }
.case-tag {
  display: inline-block; font-size: 12px; font-weight: 600; color: var(--gold-brown);
  background: #fff; border: 1px solid rgba(201, 160, 99, .5); border-radius: 999px; padding: 3px 12px;
}
.case-title { margin-top: 14px; font-size: 18px; font-weight: 700; color: var(--navy); }
.case-title a { color: inherit; text-decoration: none; }
.case-title a::after { content: ""; position: absolute; inset: 0; }
.case-desc { margin-top: 8px; font-size: 14px; line-height: 1.7; color: var(--gray-500); }
.case-result { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--gray-200); font-size: 13px; font-weight: 600; color: var(--navy-2); }
.case-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
/* 卡片头部左侧：业务标签 + 「深度复盘」金色标记成组（否则 3 个子项会被 space-between 摊开） */
.case-head-left { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.case-region { font-size: 12px; color: var(--gray-500); }
@media (min-width: 640px) { .case-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .case-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- 11. SLA 承诺 ---------- */
.sla {
  margin-top: 40px; padding: 24px; border-radius: var(--radius-lg);
  background: linear-gradient(90deg, var(--navy), var(--navy-3)); color: #fff;
}
.sla-title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-weight: 600; color: var(--gold-light); }
.sla-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.sla-item {
  display: flex; align-items: center; gap: 8px; padding: 12px 16px;
  border-radius: 8px; background: rgba(255, 255, 255, .1); font-size: 14px;
}
.sla-item svg { color: var(--gold-light); flex-shrink: 0; }

/* ---------- 12. 政策 + 咨询表单 ---------- */
.split { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
.split--intro { align-items: stretch; }
.split--intro .intro-media { display: flex; align-items: center; }
.split--intro .intro-media img { width: 100%; height: auto; object-fit: cover; aspect-ratio: 4 / 3; }
.split-title { font-size: 30px; font-weight: 700; color: var(--navy); }
.split-desc { margin-top: 12px; font-size: 14px; line-height: 1.75; color: var(--gray-500); }
.split-desc a { color: var(--navy-2); font-weight: 500; }
.split-desc a:hover { text-decoration: underline; }
.check-list { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; font-size: 14px; color: var(--gray-700); }
.check-list li { display: flex; gap: 8px; }
.check-list svg { color: var(--gold-light); flex-shrink: 0; margin-top: 3px; }
/* 本地服务区块：左栏底部行动出口 */
.split-cta { margin-top: 24px; }

.form-card { padding: 20px; border-radius: var(--radius-lg); border: 1px solid var(--gray-100); border-top: 3px solid var(--gold); background: #fff; box-shadow: var(--shadow-sm); }
.form-title { font-size: 20px; font-weight: 700; color: var(--navy); }
.form-desc { margin-bottom: 20px; font-size: 14px; color: var(--gray-500); }
.form-field { margin-bottom: 16px; }
.form-label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 500; color: var(--gray-700); }
.form-input, .form-select {
  width: 100%; padding: 10px 14px; border-radius: var(--radius);
  border: 1px solid var(--gray-200); background: #fff; font-size: 16px; color: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.form-input:focus, .form-select:focus {
  outline: none; border-color: var(--navy-2); box-shadow: 0 0 0 2px rgba(20, 60, 110, .15);
}
.form-tel { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; font-size: 14px; color: var(--navy-2); font-weight: 500; }
.form-tel:hover { text-decoration: underline; }
.form-code { display: flex; align-items: center; gap: 10px; }
.form-code .form-input { flex: 1 1 auto; min-width: 0; }
.form-code-img { flex: 0 0 auto; width: 120px; height: 48px; border: 1px solid var(--gray-200); border-radius: var(--radius); background: #fff; cursor: pointer; }
/* 表单内按钮字号与输入框对齐（16px）；只作用于表单卡片，不改全站 .btn */
.form-card .btn { font-size: 16px; }
.form-msg { margin-top: 12px; font-size: 13px; line-height: 1.6; }
.form-msg.is-ok { color: #1a7f37; }
.form-msg.is-err { color: #c0392b; }
.form-hp { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* 小屏：右下角悬浮按钮（fixed，right:10px / 宽 46px）会压住贴右边缘的验证码图约 20px。
   处理：输入框独占一行（宽度、左边缘与前三个字段保持一致），图片另起一行靠左，
   从而整体离开按钮所在的那一列。仅 ≤639px 生效，桌面排布（左输入右图）不变。 */
@media (max-width: 639px) {
  .form-code { flex-wrap: wrap; }
  .form-code .form-input { flex: 1 1 100%; }
}

/* ---------- 13. 页脚 ---------- */
.footer { background: var(--navy); color: var(--gray-300); border-top: 2px solid var(--gold); }
.footer-grid { display: grid; grid-template-columns: 1fr; gap: 40px; padding: 48px 0; }
.footer-brand-head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.footer-logo {
  display: block; width: 48px; height: 48px; padding: 7px;
  background: #fff; border-radius: 10px;
  object-fit: contain;
}
.footer-name { font-size: 26px; font-weight: 700; color: #fff; }
.footer-desc { font-size: 14px; line-height: 1.6; color: var(--gray-400); }
.footer-license { margin-top: 16px; font-size: 12px; color: var(--gray-500); }
.footer-title { margin-bottom: 16px; font-size: 16px; font-weight: 600; color: #fff; }
.footer-nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; font-size: 14px; }
.footer-nav a { transition: color .2s; }
.footer-nav a:hover { color: var(--gold-light); }
.footer-contact { display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.footer-contact li { display: flex; align-items: flex-start; gap: 8px; }
.footer-contact svg { color: var(--gold); flex-shrink: 0; margin-top: 3px; }
.footer-contact a:hover { color: #fff; }
.footer-hours { margin-top: 16px; font-size: 12px; color: var(--gray-500); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .1); padding: 16px 0; }
.footer-copy { text-align: center; font-size: 13px; color: var(--gray-500); }

/* ---------- 14. 悬浮按钮 ---------- */
.float-btns { position: fixed; right: 16px; bottom: 96px; z-index: 50; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.float-btn {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 999px; color: #fff;
  box-shadow: var(--shadow); font-size: 18px; transition: transform .2s, background-color .2s;
}
.float-btn--blue { background: var(--navy-2); }
.float-btn--blue:hover { background: var(--navy); }
.float-btn--gold { background: var(--gold); }
.float-btn--gold:hover { background: var(--gold-dark); }
.float-btn--tel {
  width: 56px; height: 56px; background: var(--navy);
  box-shadow: var(--shadow-lg), 0 0 0 4px rgba(14, 42, 78, .2); font-size: 20px;
}
.float-btn--tel:hover { transform: scale(1.05); }
/* 回到顶部：三个里视觉最轻（浅底+描边），不抢主转化。
   is-hidden 由 main.js 按滚动位置切换；必须用 opacity/visibility，
   改成 display:none 会让容器变矮、把上方按钮顶下去。 */
.float-btn--top {
  background: #fff; color: var(--navy-2);
  border: 1px solid var(--gray-200);
  box-shadow: var(--shadow-sm);
  transition: opacity .25s, visibility .25s, transform .2s, background-color .2s, color .2s, border-color .2s;
}
.float-btn--top:hover { background: var(--blue-bg); border-color: var(--gray-300); color: var(--navy); }
.float-btn--top.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 639px) {
  .float-btns { right: 10px; bottom: 88px; gap: 8px; }
  .float-btn { width: 40px; height: 40px; font-size: 15px; }
  .float-btn--tel { width: 46px; height: 46px; font-size: 17px; box-shadow: var(--shadow-lg), 0 0 0 3px rgba(14, 42, 78, .2); }
}

/* ---------- 15. 响应式 ---------- */
@media (min-width: 640px) {
  .topbar-slogan { display: block; }
  .topbar-short { display: none; }
  .stat-num { font-size: 30px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .sla-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-br { display: inline; }
}

@media (min-width: 1024px) {
  .section { padding: 80px 0; }
  .nav-menu { display: flex; flex: 1; justify-content: space-between; gap: 4px; margin: 0 40px; }
  .nav-menu.open { display: flex; flex-direction: row; align-items: center; gap: 4px; position: static; padding: 0; box-shadow: none; border-top: none; }
  .nav-menu.open .nav-link { padding: 8px 12px; border-bottom: none; }
  .nav-link { padding: 10px 16px; }
  .nav-cta { display: block; flex-shrink: 0; }
  .nav-toggle { display: none; }
  .hero-inner { padding: 128px 0; }
  .hero-title { font-size: 54px; }
  .hero-desc { font-size: 18px; }
  .stats-inner { grid-template-columns: repeat(4, 1fr); }
  .service-grid { grid-template-columns: repeat(3, 1fr); }
  .feature-grid { grid-template-columns: repeat(4, 1fr); }
  .sla { padding: 32px; }
  .sla-grid { grid-template-columns: repeat(3, 1fr); }
  .split { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 2fr 1fr 1.2fr; }
  .float-btns { bottom: 32px; }
  .float-btn--tel { width: 48px; height: 48px; }
}

/* ==========================================================================
   内页通用组件 + 各页特有组件
   ========================================================================== */

/* ---------- 16. 内页页头（面包屑 + 标题） ---------- */
.page-hero {
  position: relative; overflow: hidden; color: #fff;
  background: linear-gradient(130deg, #081C36 0%, var(--navy) 42%, var(--navy-2) 75%, var(--navy-3) 100%);
}
.page-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 44% 70% at 82% 20%, rgba(201, 160, 99, .14), transparent 68%);
}
.page-hero::after {
  content: ""; position: absolute; right: -110px; bottom: -170px; width: 380px; height: 380px;
  border: 1px solid rgba(201, 160, 99, .25); border-radius: 50%; pointer-events: none;
  box-shadow: inset 0 0 0 50px rgba(201, 160, 99, .05);
}
.page-hero-inner { position: relative; padding: 60px 0; }
.crumb { display: flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .1em; color: var(--gold-light); }
.crumb a { transition: color .2s; }
.crumb a:hover { color: #fff; }
.crumb .crumb-sep { color: rgba(255, 255, 255, .35); }
.crumb .crumb-cur { color: rgba(255, 255, 255, .7); }
.page-hero-title { margin-top: 12px; font-size: 30px; font-weight: 700; line-height: 1.3; }
.page-hero-desc { margin-top: 14px; max-width: 42rem; font-size: 15px; line-height: 1.75; color: var(--gray-300); }

/* ---------- 17. 胶囊标签 / 筛选 chips ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px;
  border-radius: 999px; border: 1px solid rgba(20, 60, 110, .15);
  background: var(--blue-bg); font-size: 13px; font-weight: 500; color: var(--navy-2);
  transition: background-color .2s, color .2s, border-color .2s;
}
.chip:hover { background: var(--navy-2); border-color: var(--navy-2); color: #fff; }
.chip--tag { cursor: default; }
.chip--tag:hover { background: var(--blue-bg); color: var(--navy-2); }

/* 简介区块：四标签 2×2 等高网格 */
.intro-tags { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.intro-tags .chip { justify-content: center; padding: 11px 14px; white-space: nowrap; }
/* 简介区块：下方居中 CTA */
.intro-cta { text-align: center; margin-top: 32px; }

/* ---------- 19. 五步流程 ---------- */
.section--navy { background: var(--navy); color: #fff; }
.steps { display: grid; grid-template-columns: 1fr; gap: 20px; }
.step { padding: 20px; border-radius: 12px; }
.step-num { font-size: 24px; font-weight: 700; line-height: 1; }
.step-title { margin-top: 10px; font-weight: 600; }
.step-desc { margin-top: 6px; font-size: 13px; line-height: 1.6; }
.step--dark { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); }
.step--dark .step-num { color: var(--gold-light); }
.step--dark .step-title { color: #fff; }
.step--dark .step-desc { color: var(--gray-400); }
.step--light { background: var(--gray-bg); border: 1px solid var(--gray-100); }
.step--light .step-num { color: var(--gold); }
.step--light .step-title { color: var(--navy); }
.step--light .step-desc { color: var(--gray-500); }
/* 灰底 section 内的流程卡片 → 白卡 */
.steps--on-gray .step--light { background: #fff; box-shadow: var(--shadow-sm); }
.steps-action { margin-top: 32px; text-align: center; }

/* ---------- 20. 承诺徽章（收费标准/服务区域） ---------- */
.price-intro { max-width: 880px; margin-bottom: 36px; font-size: 15px; line-height: 1.9; color: var(--gray-700); }
.price-intro b { color: var(--navy); font-weight: 600; }
.promise-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.promise {
  display: flex; align-items: center; gap: 10px; padding: 16px;
  border-radius: 8px; background: var(--blue-bg); font-size: 14px; font-weight: 500; color: var(--navy-2);
}
.promise::before {
  content: "✓"; flex-shrink: 0; color: var(--gold); font-weight: 700;
}
.promise svg { color: var(--gold); flex-shrink: 0; }

/* ---------- 21. 表格 ---------- */
.table-block { overflow: hidden; border-radius: var(--radius-lg); border: 1px solid var(--gray-100); background: #fff; }
.table-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px;
  padding: 16px 24px; background: var(--navy); color: #fff; font-size: 16px; font-weight: 700;
}
.th-title { margin: 0; font-size: inherit; font-weight: inherit; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.table th {
  padding: 12px 24px; text-align: left; font-weight: 500; color: var(--gray-500);
  border-bottom: 1px solid var(--gray-100); white-space: nowrap;
}
.table td { padding: 16px 24px; border-bottom: 1px solid var(--gray-50); vertical-align: middle; }
.table tbody tr:last-child td { border-bottom: none; }
.table tbody tr { transition: background-color .2s; }
.table tbody tr:hover { background: var(--gray-bg); }
.table .t-name { font-weight: 500; color: var(--navy); }
.table .t-price { font-weight: 600; color: var(--gold-brown); white-space: nowrap; }
.table .t-desc { color: var(--gray-500); }
/* 「办事指南」误区表：正确做法之后的「详见解答」内链（指向 /wenti/ 对应问答）。
   与误区表里那 10 条同义问答打通，避免两页在同一问题上互相竞争。 */
.table .t-more { color: var(--navy-2); font-weight: 500; white-space: nowrap; }
.table .t-more:hover { text-decoration: underline; }
/* 「办事指南」合并表的分组标题行（新设 7 步 / 设立之后的常见事项）*/
.table tbody tr.t-group td { padding: 10px 24px; background: var(--gray-bg); font-size: 13px; font-weight: 700; color: var(--navy); }
.table tbody tr.t-group:hover { background: transparent; }
/* 「办事指南」合并表（新设 7 步 + 设立之后的常见事项）：第 1 列「环节」禁用软换行，
   避免「第 1 步 · 名称自主申报」被拆成两行。
   ⚠️ 断点取 1200px（不是 .table--flow 的 1024）：同视口「单行 vs 折行」对比实测
      —— ≥1200 单行使表高 −23px（第 1 列占比 ≤18.3%）；1160 时列宽重分配反而 +68px。
      故只在宽裕桌面启用；<1200 保持自然折行，<640 走 .table--cards 卡片化。*/
@media (min-width: 1200px) {
  .table--proc th:nth-child(1), .table--proc td.t-name { white-space: nowrap; }
}
.table .t-act { text-align: right; white-space: nowrap; }
/* 流程表（办事指南·公司注册7步）：固定列宽，四列按内容自然宽配比对齐
   ⚠️ 仅桌面 ≥1024px 生效；窄屏回退 auto，避免百分比列宽把「第1步」压成竖排 */
@media (min-width: 1024px) {
  .table--flow { table-layout: fixed; }
  .table--flow th:nth-child(1), .table--flow td:nth-child(1) { width: 11%; }
  .table--flow th:nth-child(2), .table--flow td:nth-child(2) { width: 17%; }
  .table--flow th:nth-child(4), .table--flow td:nth-child(4) { width: 16%; }
}
/* 「步骤/时效」两列内容短，禁止折行，保证窄屏也不竖排 */
.table--flow th:nth-child(1), .table--flow td:nth-child(1),
.table--flow th:nth-child(4), .table--flow td:nth-child(4) { white-space: nowrap; }
/* 变更/注销流程卡（办事指南页）：结构化排版，左对齐分段 */
.flow-cards { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
.flow-card {
  padding: 28px 26px; border-radius: 14px;
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow-sm);
  text-align: left;
}
.flow-card-title {
  padding-bottom: 14px; border-bottom: 1px solid var(--gray-100);
  font-size: 18px; font-weight: 700; color: var(--navy);
}
.flow-sec { margin-top: 20px; }
.flow-sec:first-of-type { margin-top: 18px; }
.flow-sec-label {
  display: block; margin-bottom: 10px; padding-left: 10px;
  border-left: 3px solid var(--gold);
  font-size: 14px; font-weight: 700; color: var(--gold-brown); letter-spacing: .02em;
}
.flow-note { margin: 0 0 10px; font-size: 14px; line-height: 1.65; color: var(--gray-600); }
/* 流程步骤：竖排两列编号 */
.flow-steps {
  margin: 0; padding: 0; list-style: none;
  display: grid; grid-template-columns: 1fr; gap: 8px;
}
.flow-steps li {
  position: relative; padding-left: 30px;
  font-size: 14px; line-height: 1.6; color: var(--gray-600);
}
.flow-steps li::before {
  counter-increment: flowstep;
  content: counter(flowstep,decimal-leading-zero);
  position: absolute; left: 0; top: 1px;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 21px; height: 21px; padding: 0 4px;
  border-radius: 6px; background: rgba(201, 160, 99, .14);
  font-size: 11px; font-weight: 700; color: var(--gold-brown); line-height: 1;
}
.flow-steps { counter-reset: flowstep; }
/* 时效/周期：底部徽章条 */
.flow-meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;
}
.flow-meta > span {
  display: inline-flex; align-items: center; padding: 6px 12px;
  border-radius: 999px; background: var(--blue-bg);
  font-size: 13px; color: var(--gray-600);
}
.flow-meta > span b { margin-left: 4px; color: var(--navy-2); font-weight: 700; }
@media (min-width: 640px) {
  .flow-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .flow-cards { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (min-width: 1280px) {
  .flow-steps { grid-template-columns: repeat(2, 1fr); }
}

/* 价格表（收费标准页 4 张）：固定列宽，4 表列边界纵向对齐
   配比依据实测内容自然宽（服务项目最长244 / 收费132 / 说明240 / 操作60）+ padding
   ⚠️ 仅桌面 ≥1024px 生效；窄屏回退 auto，避免文字被压成竖排 */
@media (min-width: 1024px) {
  .table--price { table-layout: fixed; }
  .table--price th:nth-child(1), .table--price td:nth-child(1) { width: 30%; }
  .table--price th:nth-child(2), .table--price td:nth-child(2) { width: 18%; }
  .table--price th:nth-child(4), .table--price td:nth-child(4) { width: 14%; }
}
.t-ask {
  display: inline-block; padding: 6px 14px; border-radius: var(--radius);
  border: 1px solid rgba(20, 60, 110, .2); font-size: 13px; color: var(--navy-2); transition: all .2s;
}
.t-ask:hover { background: var(--navy-2); border-color: var(--navy-2); color: #fff; }
.badge { display: inline-block; padding: 3px 12px; border-radius: 999px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.badge--gold { background: rgba(201, 160, 99, .15); color: var(--gold-brown); }
.badge--blue { background: var(--blue-bg); color: var(--navy-2); }
/* 表格横向滑动提示（移动端显示，表格不滚动的宽度下隐藏） */
.th-hint { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 400; color: rgba(255, 255, 255, .55); letter-spacing: .05em; white-space: nowrap; }
@media (min-width: 640px) {
  .th-hint { display: none; }
}

/* ---------- 23. 提示条 / CTA ---------- */
.notice {
  display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px;
  border-radius: 12px; border: 1px solid rgba(201, 160, 99, .3); background: #FBF6EC;
  font-size: 14px; color: var(--gray-600); line-height: 1.7;
}
.notice svg { color: var(--gold-brown); flex-shrink: 0; margin-top: 3px; }
.notice b { color: var(--navy); font-weight: 600; }
.cta {
  padding: 32px 24px; border-radius: var(--radius-lg); text-align: center; color: #fff;
  background: linear-gradient(90deg, var(--navy), var(--navy-3));
}
.cta-title { font-size: 22px; font-weight: 700; }
.cta-desc { margin-top: 8px; font-size: 14px; color: var(--gray-300); }
.cta-action { margin-top: 20px; }

/* ---------- 24. FAQ 折叠（常见问题页） ---------- */
.faq-list { display: flex; flex-direction: column; gap: 16px; counter-reset: faqitem; }
/* 静态问答块（常见问题页）：问题与答案常驻 HTML、无需 JS 展开，便于检索与抓取 */
.faq-list--static { gap: 16px; max-width: 1040px; margin-left: auto; margin-right: auto; }
.faq-item {
  position: relative;
  border: 1px solid var(--gray-100); border-radius: 14px; background: #fff; overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .25s, border-color .25s;
  scroll-margin-top: 80px;
}
.faq-item::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--gold); opacity: 0; transition: opacity .25s;
}
.faq-item:hover { border-color: rgba(201, 160, 99, .45); box-shadow: var(--shadow); }
.faq-item:hover::before { opacity: 1; }
.faq-item-q {
  display: flex; align-items: flex-start; gap: 14px; margin: 0;
  padding: 18px 22px 0; font-size: 17px; font-weight: 600; color: var(--navy); line-height: 1.55;
}
.faq-item-q::before {
  content: "问";
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; margin-top: 1px; border-radius: 50%;
  background: rgba(201, 160, 99, .12); border: 1px solid rgba(201, 160, 99, .45);
  color: var(--gold-brown); font-size: 13px; font-weight: 700; line-height: 1;
}
.faq-item .faq-a {
  position: relative;
  margin: 12px 22px 18px 64px; padding: 0 0 0 16px;
  border-top: 0; border-left: 2px solid rgba(201, 160, 99, .4); background: none;
  max-width: 860px; font-size: 15px; line-height: 1.85; color: var(--gray-600);
}
/* 「答」徽标：与「问」圆同轴对齐（分类页轴 x=22 / hub 轴 x=0，共用 -44px 偏移） */
.faq-item .faq-a::before {
  content: "答";
  position: absolute; left: -44px; top: 0;
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(201, 160, 99, .12); border: 1px solid rgba(201, 160, 99, .45);
  color: var(--gold-brown); font-size: 13px; font-weight: 700; line-height: 1;
}
.faq {
  border: 1px solid var(--gray-100); border-radius: 14px; background: #fff; overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .25s, border-color .25s, transform .25s;
}
.faq:hover { border-color: rgba(201, 160, 99, .45); box-shadow: var(--shadow); transform: translateY(-2px); }
.faq[open] { border-color: rgba(201, 160, 99, .55); box-shadow: var(--shadow), inset 3px 0 0 var(--gold); }
.faq-q {
  display: flex; align-items: center; gap: 16px;
  padding: 16px 20px; font-size: 14px; font-weight: 600; color: var(--navy);
  cursor: pointer; list-style: none; transition: background-color .2s;
}
.faq-q::before {
  content: "问";
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(201, 160, 99, .12); border: 1px solid rgba(201, 160, 99, .45);
  color: var(--gold-brown);
  font-size: 13px; font-weight: 700; line-height: 1;
}
.faq-q:hover::before { background: rgba(201, 160, 99, .22); }
.faq-q > .faq-arrow { margin-left: auto; }
.faq-q::-webkit-details-marker { display: none; }
.faq-q:hover { background: var(--gray-bg); }
.faq-q .faq-arrow { flex-shrink: 0; font-size: 12px; color: var(--gold); transition: transform .2s; }
.faq[open] .faq-q .faq-arrow { transform: rotate(180deg); }
.faq-a {
  margin: 12px 20px 18px 64px; padding: 0 0 0 16px;
  border-top: 0; border-left: 2px solid rgba(201, 160, 99, .4);
  background: none; max-width: none;
  font-size: 14px; line-height: 1.85; color: var(--gray-600);
}
@media (max-width: 639px) {
  .faq-q { padding: 16px; gap: 12px; }
  .faq-q::before { width: 24px; height: 24px; font-size: 11px; }
  .faq-a { margin: 10px 16px 16px 52px; padding-left: 12px; }
  .faq-list--static { gap: 12px; }
  .faq-item-q { gap: 10px; padding: 16px 16px 0; font-size: 15px; }
  .faq-item-q::before { width: 24px; height: 24px; font-size: 11px; }
  .faq-item .faq-a { margin: 10px 16px 16px 50px; padding-left: 12px; }
  .faq-item .faq-a::before { left: -36px; top: 2px; width: 24px; height: 24px; font-size: 11px; }
}

/* ---------- 25. 联系方式卡（联系我们页） ---------- */
.contact-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 1024px) {
  .contact-layout > div:first-child { display: flex; }
  .contact-layout .form-card { flex: 1; display: flex; flex-direction: column; }
}

/* ---------- 25.1 联系我们页表单放大（只在本页生效，首页共用表单不受影响） ----------
   背景：1024px+ 两栏是「表单 2fr / 联系卡 3fr」并被拉伸等高 667px，
   而表单内容原本只占约 500px，卡片底部空出 124px。
   做法：放大字号、加大内边距、放宽字段间距，让内容自然长到接近满高。
   边界：字号类改动放在基础类（顺带修好首页那张共用表单），此处只管布局与间距。 */
@media (min-width: 640px) {
  .contact-layout .form-card { padding: 28px; }
  .contact-layout .form-desc { margin-bottom: 24px; font-size: 15px; }
  .contact-layout .form-field { margin-bottom: 20px; }
  .contact-layout .form-label { margin-bottom: 8px; }
  .contact-layout .form-input,
  .contact-layout .form-select { padding: 13px 16px; }
  .contact-layout .btn--block { padding-top: 15px; padding-bottom: 15px; }
  .contact-layout .form-tel { margin-top: 20px; font-size: 15px; }
}

/* ---------- 25.2 输入框前置图标（纯 CSS 背景实现） ----------
   用 background-image 而非新增 HTML 节点：共享表单片段的结构一行都不用动，
   首页那张表单的 DOM 与观感完全不变，图标只出现在联系我们页。 */
.contact-layout #cf-name,
.contact-layout #cf-phone {
  background-repeat: no-repeat;
  background-position: 15px center;
  background-size: 18px 18px;
  padding-left: 44px;
}
.contact-layout #cf-name {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.contact-layout #cf-phone {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
}
.contact-layout #cf-name:focus {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23143C6E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.contact-layout #cf-phone:focus {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23143C6E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
}
.contact-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.contact-card {
  padding: 24px; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow-sm);
}
.contact-icon {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: var(--blue-bg); color: var(--navy-2); font-size: 18px;
}
.contact-card-title { margin-top: 12px; font-weight: 700; color: var(--navy); }
.contact-card-value { margin-top: 4px; font-size: 15px; font-weight: 600; color: var(--gray-600); }
.contact-card-value a:hover { color: var(--navy-2); }
.contact-card-note { margin-top: 4px; font-size: 12px; color: var(--gray-400); line-height: 1.6; }
.map-link { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; }
.contact-card--addr { margin-top: 16px; }
.contact-card-head { display: flex; align-items: flex-start; gap: 12px; }
.contact-card--addr .contact-card-title { margin-top: 0; }
.contact-card--addr .contact-card-value { font-weight: 400; line-height: 1.7; }
.urgent {
  margin-top: 20px; display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px;
  border-radius: 12px; border: 1px solid rgba(201, 160, 99, .3); background: #FBF6EC;
  font-size: 14px; color: var(--gray-600); line-height: 1.7;
}
.urgent svg { color: var(--gold-brown); flex-shrink: 0; margin-top: 3px; }
.urgent b { color: var(--navy); font-weight: 600; }

/* ---------- 26. 区域入口卡（服务区域页） ---------- */
.region-cta-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
.region-cta { display: block; padding: 24px; border-radius: 12px; text-align: center; color: #fff; transition: transform .2s, box-shadow .2s; }
.region-cta:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.region-cta--blue { background: var(--navy-2); }
.region-cta--gold { background: var(--gold); }
.region-cta-title { font-weight: 700; }
.region-cta-desc { margin-top: 4px; font-size: 12px; color: rgba(255, 255, 255, .8); }
.region-cta--gold .region-cta-desc { color: rgba(255, 255, 255, .9); }

/* ---------- 27. 内页响应式 ---------- */
@media (min-width: 640px) {
  .page-hero-inner { padding: 72px 0; }
    .steps { grid-template-columns: repeat(2, 1fr); }
    .promise-grid { grid-template-columns: repeat(4, 1fr); }
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
  .region-cta-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
  .page-hero-inner { padding: 80px 0; }
  .page-hero-title { font-size: 36px; }
  .page-hero-desc { font-size: 16px; }
    .steps { grid-template-columns: repeat(5, 1fr); }
  .contact-layout { grid-template-columns: 2fr 3fr; }
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   内容型页面组件：文章列表 / 详情 / FAQ 分类 / 分页 / 首页动态
   ========================================================================== */

/* ---------- 29. 文章列表卡（政策动态·资讯列表） ---------- */
.article-list { display: flex; flex-direction: column; gap: 16px; }
.article-card {
  display: block; padding: 24px; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow-sm);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.article-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: rgba(20, 60, 110, .2); }
.article-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.article-card-title { font-size: 18px; font-weight: 700; color: var(--navy); line-height: 1.5; transition: color .2s; }
.article-card:hover .article-card-title { color: var(--navy-2); }
.article-card-desc { margin-top: 10px; font-size: 14px; line-height: 1.7; color: var(--gray-500); }
.article-card-meta { margin-top: 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--gray-400); }

/* ---------- 30. 文章详情页 ---------- */
.article-wrap { max-width: 820px; margin: 0 auto; }
.article-title { font-size: 26px; font-weight: 700; color: var(--navy); line-height: 1.4; }
.article-meta { margin-top: 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--gray-400); }
.article-body { margin-top: 28px; }
.article-body h2 {
  margin: 32px 0 12px; padding-left: 12px; border-left: 3px solid var(--gold);
  font-size: 18px; font-weight: 700; color: var(--navy);
}
.article-body p { font-size: 15px; line-height: 1.9; color: var(--gray-700); margin-bottom: 14px; }
.article-body ul { margin: 0 0 16px; padding-left: 4px; display: flex; flex-direction: column; gap: 10px; }
.article-body ul li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.8; color: var(--gray-700); }
.article-body ul li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 6px; height: 6px; border-radius: 999px; background: var(--gold); }
.article-body b { color: var(--navy); font-weight: 600; }
.article-hl {
  margin: 20px 0; padding: 14px 18px; border-radius: 8px;
  background: var(--blue-bg); color: var(--navy-2); font-size: 14px; font-weight: 600; line-height: 1.7;
}
.article-foot-nav { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--gray-100); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px; }
.article-foot-nav a { color: var(--navy-2); font-weight: 500; }
.article-foot-nav a:hover { text-decoration: underline; }

/* ===== 服务案例详情 · 关键信息卡（AI 抽取事实的锚点区） ===== */
.case-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.case-fact {
  display: flex; flex-direction: column; gap: 6px; padding: 16px 18px;
  border: 1px solid var(--gray-100); border-radius: var(--radius-lg); background: var(--gray-bg);
}
.case-fact-k { font-size: 12px; color: var(--gray-400); }
.case-fact-v { font-size: 15px; font-weight: 600; color: var(--navy); line-height: 1.6; }
/* 「所属地区」→ 对应城市落地页。★ 必须让链接可辨认：本站 .t-name-link 的教训
   （同色 + text-decoration:none ⇒ 用户看不出可点）。故保留下划线（浅色），hover 才转实色。 */
.case-fact-link { color: var(--navy-2); text-decoration: underline; text-decoration-color: rgba(20, 60, 110, .3); text-underline-offset: 4px; }
.case-fact-link:hover { color: var(--gold-brown); text-decoration-color: currentColor; }

/* ===== 服务案例详情 · 执行过程步骤条 ===== */
.article-body .case-steps { margin: 0 0 16px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.article-body .case-step { display: flex; gap: 14px; align-items: flex-start; }
.case-step-num {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
}
.case-step-body { flex: 1; min-width: 0; }
.case-step-time { display: inline-block; font-size: 13px; font-weight: 600; color: var(--gold-brown); }
.article-body .case-step-text { margin: 3px 0 0; font-size: 15px; line-height: 1.8; color: var(--gray-700); }

/* ===== 服务案例详情 · 正文小标题 ===== */
.article-body h3 { margin: 24px 0 10px; font-size: 16px; font-weight: 700; color: var(--navy); }

@media (max-width: 640px) {
  .case-facts { grid-template-columns: 1fr; }
}
@media (min-width: 1024px) {
  .article-body .case-step-text { font-size: 16px; }
}
.article-related { font-size: 13px; color: var(--gray-400); }

/* ---------- 31. FAQ 分类锚点导航 ---------- */
.faq-nav { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 36px; }
.faq-group { margin-bottom: 36px; }
.faq-group:last-child { margin-bottom: 0; }
.faq-group-title {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px;
  padding: 4px 0 4px 14px; border-left: 4px solid var(--gold);
  font-size: 19px; font-weight: 700; color: var(--navy); line-height: 1.3;
}
.faq-group-title .faq-count {
  padding: 2px 9px; border-radius: 999px;
  background: var(--blue-bg); font-size: 12px; font-weight: 600; color: var(--navy-2);
}
.faq-anchor { scroll-margin-top: 80px; }

/* ---------- 31b. FAQ 分类 Tab 切换（常见问题页） ---------- */
.faq-group[hidden] { display: none; }
.faq-nav .chip { cursor: pointer; white-space: nowrap; }
@media (min-width: 640px) {
  .faq-nav {
    width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto;
    padding: 10px 14px; margin-bottom: 40px;
    border-radius: 999px; background: #fff;
    border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
  }
}
.faq-nav .chip.is-active { box-shadow: var(--shadow-sm); }
/* 移动端 chip 改为换行（原为横向滚动，第 3 个起需滑动才可见） */
@media (max-width: 639px) {
  .faq-nav { margin-bottom: 24px; gap: 6px; }
  .faq-nav .chip { padding: 6px 12px; }
}

/* ---------- 31c. FAQ 导航页（/wenti/）：6 张分类卡 + 每类 3 条精选 ---------- */
.faq-hub { display: flex; flex-direction: column; gap: 20px; max-width: 1040px; margin: 0 auto; }
.faq-hub-card {
  padding: 24px 28px 20px;
  border: 1px solid var(--gray-100); border-radius: 14px; background: #fff;
  box-shadow: var(--shadow-sm);
  transition: border-color .25s, box-shadow .25s;
}
.faq-hub-card:hover { border-color: rgba(201, 160, 99, .45); box-shadow: var(--shadow); }
.faq-hub-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.faq-hub-title { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.3; }
.faq-hub-title a { color: var(--navy); text-decoration: none; transition: color .2s; }
.faq-hub-title a:hover { color: var(--gold-brown); }

/* 卡片内问答压平为列表（避免卡中卡）：去外壳，仅留分隔线；导航页只列问题标题，答案在分类页 */
.faq-list--hub { gap: 0; }
.faq-list--hub .faq-item {
  border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible;
  border-top: 1px solid var(--gray-100);
}
.faq-list--hub .faq-item:first-child { border-top: 0; }
.faq-list--hub .faq-item::before { display: none; }
.faq-list--hub .faq-item:hover { border-color: var(--gray-100); box-shadow: none; }
.faq-list--hub .faq-item-q { padding: 16px 0; font-size: 16px; }
.faq-hub-link { color: inherit; text-decoration: none; transition: color .2s; }
.faq-hub-link:hover { color: var(--gold-brown); }
.faq-hub-more {
  display: inline-flex; align-items: center; margin-top: 2px;
  font-size: 14px; font-weight: 600; color: var(--gold-brown); text-decoration: none;
  transition: color .2s;
}
.faq-hub-more:hover { color: var(--navy); }
@media (max-width: 639px) {
  .faq-hub { gap: 14px; }
  .faq-hub-card { padding: 18px 16px 14px; }
  .faq-hub-title { font-size: 17px; }
  .faq-list--hub .faq-item-q { padding: 14px 0; font-size: 15px; }
}

/* ---------- 32. 分页导航 ---------- */
.pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 44px; }
.page-link {
  position: relative; /* 供内层 <a> 的 ::after 定位，把热区铺满整个方块 */
  display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px;
  padding: 0 12px; border-radius: 8px; border: 1px solid var(--gray-200);
  font-size: 14px; color: var(--gray-600); transition: all .2s;
}
.page-link:hover { border-color: var(--navy-2); color: var(--navy-2); }
.page-link.is-active { background: var(--navy-2); border-color: var(--navy-2); color: #fff; }
.page-link.is-disabled { color: var(--gray-300); pointer-events: none; }
/* 分页器（Fcms/Core/View.php:_new_pagination）输出的结构是
   <span class="page-link"><a href="…">2</a></span> —— 尺寸与内边距全在外层
   span 上，内层 <a> 是裸的、只有文字那么大。实测（1440px）方块 36×36，
   而链接热区仅 8×21，9 点命中测试 7 个位置是死区：点方块边缘完全不跳转。
   2026-09-28 分页功能刚放行时才暴露（此前 p{n} 被 301 封死、分页块从未渲染）。
   用伪元素把 <a> 的热区铺满整个方块，视觉零变化；伪元素属 <a>，
   点击它仍触发链接导航，且 hover 冒泡到 .page-link 不丢样式。 */
.page-link > a::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }

/* ---------- 33. 首页最新动态区块 ---------- */
.home-news-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.home-news-more { margin-top: 28px; text-align: center; }

@media (min-width: 640px) {
  .article-card { padding: 28px; }
  .home-news-grid { grid-template-columns: repeat(3, 1fr); }
  .article-title { font-size: 30px; }
}

/* ==========================================================================
   全疆业务版图组件：地图面板 / 图例 / 版图布局
   ========================================================================== */

/* ---------- 34. 全疆地图面板 ---------- */
.map-panel {
  padding: 28px; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow);
  margin-bottom: 40px;
}
.map-figure { margin: 0; }
.map-figure img { width: 100%; height: auto; }
.map-caption {
  margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--gray-200);
  font-size: 12px; color: var(--gray-400); line-height: 1.7;
}
.map-caption b { color: var(--gray-600); font-weight: 500; }

/* 图例 */
.region-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-bottom: 18px; }
.legend-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gray-600); }
.legend-dot { width: 11px; height: 11px; border-radius: 999px; flex-shrink: 0; border: 1px solid rgba(15, 35, 65, .12); }
.legend-dot--hq { background: var(--gold); }
.legend-dot--special { background: #F6E9CD; border-color: #D3AE6B; }
.legend-dot--normal { background: #E7EEF8; border-color: #B5C9E2; }

/* ---------- 35. 全疆版图区块（首页） ---------- */
.xj-band { position: relative; overflow: hidden; color: #fff; background: linear-gradient(130deg, #081C36 0%, var(--navy) 45%, var(--navy-2) 78%, var(--navy-3) 100%); }
.xj-band::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 42% 62% at 16% 22%, rgba(201, 160, 99, .13), transparent 66%);
}
.xj-band .section-title { color: #fff; }
.xj-band .section-desc { color: var(--gray-300); }
.xj-band .section-desc a { color: var(--gold-light); }
.xj-band .section-head .section-title::after { background: linear-gradient(90deg, var(--gold), var(--gold-light)); }
.xj-layout { position: relative; display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }
.xj-map-side { max-width: 560px; margin: 0 auto; width: 100%; }
.xj-info { display: flex; flex-direction: column; gap: 16px; }
.xj-info-card {
  display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px;
  border-radius: 12px; background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
}
.xj-info-icon {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 42px; height: 42px; border-radius: 11px;
  background: rgba(201, 160, 99, .18); color: var(--gold-light); font-size: 18px;
}
.xj-info-title { font-size: 15px; font-weight: 600; color: #fff; }
.xj-info-desc { margin-top: 4px; font-size: 13px; line-height: 1.7; color: var(--gray-300); }
.xj-info-desc b { color: var(--gold-light); font-weight: 600; }
.xj-band .home-news-more { margin-top: 32px; }

/* 核心城市落地页入口（首页版图区块内，深蓝底白卡） */
.city-grid { margin-top: 28px; display: grid; grid-template-columns: 1fr; gap: 16px; }
.city-card {
  display: flex; flex-direction: column; padding: 22px 20px; border-radius: 12px;
  background: #fff; color: var(--navy); box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  transition: transform .2s, box-shadow .2s;
}
.city-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(0, 0, 0, .28); }
.city-name { font-size: 18px; font-weight: 700; }
.city-desc { margin-top: 8px; font-size: 13px; line-height: 1.6; color: var(--gray-500); flex: 1; }
.city-link { margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--gold); transition: color .2s; }
.city-card:hover .city-link { color: var(--navy-2); }
.city-biz-link { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--gold); transition: color .2s; }
.city-biz-link:hover { color: var(--navy-2); }
@media (min-width: 640px) { .city-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .city-grid { grid-template-columns: repeat(4, 1fr); } }

/* ---------- 36. 地州标签网格（预留） ---------- */

@media (min-width: 1024px) {
  .xj-layout { grid-template-columns: 1.05fr 1fr; }
  .xj-map-side { max-width: none; }
}

/* ---------- 37. 办公实景图墙 ---------- */
.office-gallery { display: grid; grid-template-columns: 1fr; gap: 16px; }
.office-gallery-item {
  margin: 0; overflow: hidden; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: #fff;
}
.office-gallery-item img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; transition: transform .3s; }

.office-gallery-item:hover img { transform: scale(1.03); }
.office-gallery figcaption {
  padding: 10px 14px; font-size: 13px; color: var(--gray-600);
  border-top: 1px solid var(--gray-100);
}
@media (min-width: 640px) {
  .office-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- 37b. 资质证书图组 ---------- */
.cert-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.cert-pair figure { margin: 0; }
.cert-pair img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain;
  background: #fff; border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 6px;
}
.cert-pair figcaption { margin-top: 8px; font-size: 13px; color: var(--gray-600); text-align: center; }
@media (max-width: 640px) {
  .cert-pair { gap: 10px; }
  .cert-pair figcaption { font-size: 12px; }
}

/* ---------- 38. 容器水平内边距保障（修复移动端贴边） ----------
   topbar-inner/hero-inner/stats-inner/footer-grid/page-hero-inner 与 container
   合并在同一元素上，其 padding: X 0 声明在 .container 之后，同优先级下
   覆盖了左右的 16px，导致移动端内容贴屏幕边缘。此规则置于文件末尾，
   按源顺序胜出，仅恢复左右内边距、不影响各区块自身的上下间距。 */
.container { padding-left: 16px; padding-right: 16px; }

/* ---------- 39. 企业百科：分类筛选 tabs ---------- */
/* 6 个小分类固定集合，行宽足够 => 不横滚：桌面居中，<1024px 自动换行排开 */
.baike-tabs {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 8px; margin-bottom: 24px;
}
.baike-tab {
  display: inline-flex; align-items: center; flex-shrink: 0;
  padding: 9px 18px; border-radius: 999px;
  border: 1px solid var(--gray-200); background: #fff;
  font-size: 14px; font-weight: 500; color: var(--gray-600); line-height: 1;
  transition: border-color .2s, color .2s, background-color .2s;
}
.baike-tab:hover { border-color: var(--navy-2); color: var(--navy-2); }
.baike-tab.is-active { background: var(--navy-2); border-color: var(--navy-2); color: #fff; }
@media (max-width: 639px) {
  .baike-tabs { gap: 6px; }
  .baike-tab { padding: 8px 14px; font-size: 13px; }
}

/* ---------- 40. 企业百科：地州筛选 chips 选中态 ---------- */
.chip.is-active { background: var(--navy-2); border-color: var(--navy-2); color: #fff; }
.chip.is-active:hover { background: var(--navy-2); border-color: var(--navy-2); color: #fff; }

/* ---------- 41. 企业百科：左图右文卡片 ---------- */
.baike-list { display: flex; flex-direction: column; gap: 14px; }
.baike-card {
  display: flex; gap: 16px; padding: 16px;
  border: 1px solid var(--gray-100); border-radius: var(--radius-lg);
  background: #fff; box-shadow: var(--shadow-sm);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.baike-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: rgba(20, 60, 110, .2); }
.baike-thumb {
  flex: 0 0 96px; width: 96px; height: 72px; align-self: flex-start;
  border-radius: var(--radius); overflow: hidden; background: var(--blue-bg);
}
.baike-thumb img { width: 100%; height: 100%; object-fit: cover; }
.baike-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.baike-title {
  font-size: 15px; font-weight: 700; color: var(--navy); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.baike-card:hover .baike-title { color: var(--navy-2); }
.baike-desc {
  margin-top: 5px; font-size: 13px; line-height: 1.6; color: var(--gray-500);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.baike-meta {
  margin-top: auto; padding-top: 9px;
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  font-size: 12px; color: var(--gray-400);
}
.baike-meta .badge { padding: 2px 10px; }

@media (min-width: 640px) {
  .baike-thumb { flex: 0 0 140px; width: 140px; height: 105px; }
  .baike-card { padding: 20px; }
  .baike-title { font-size: 17px; }
  .baike-desc { font-size: 14px; }
}

/* ---------- 42. 企业百科：首页入口横幅 ---------- */
.baike-entry {
  position: relative; overflow: hidden; text-align: center;
  padding: 40px 32px; border-radius: var(--radius-lg);
  background: linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 55%, var(--navy-3) 100%);
  color: #fff;
}
.baike-entry-title { font-size: 26px; font-weight: 700; line-height: 1.3; }
.baike-entry-desc { margin-top: 10px; font-size: 14px; color: var(--gray-300); line-height: 1.7; }
.baike-entry .chips { justify-content: center; margin: 20px 0 24px; }
.baike-entry .chip { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .25); color: #fff; }
.baike-entry .chip:hover { background: var(--gold); border-color: var(--gold); color: #fff; }
.baike-entry .btn--gold { background: var(--gold); color: #fff; }

/* ---------- 43. 全站字号优化（阅读舒适度） ----------
   原站点 body 虽为 16px，但阅读型正文几乎都被组件显式压到 14px，
   辅助文字 12-13px，在大屏与手机上均偏小。按现代 Web 排版标准分层提升：
   正文 16px、区块引导语 15px、辅助 14px、元信息 13px，标题层级不动。 */

/* 正文阅读主体：14px → 16px */
.service-desc, .feature-desc, .split-desc, .check-list, .notice, .cta-desc, .faq-a, .faq-q, .footer-desc, .footer-nav, .footer-contact, .article-card-desc, .promise, .sla-item, .urgent {
  font-size: 16px;
}

/* 区块引导语：14px → 15px */
.section-desc { font-size: 15px; }

/* hero 描述：移动端 14px → 15px（桌面 18px 在下方 @media 恢复） */
.hero-desc { font-size: 15px; }

/* 表单：标签 14→15，说明 12→14 */
.form-label { font-size: 15px; }
.form-desc { font-size: 14px; }

/* 表格：14px → 15px（min-width 560px 下保持横向滚动，不溢出） */
.table { font-size: 15px; }

/* 文章详情正文：15px → 16px */
.article-body p, .article-body ul li { font-size: 16px; }

/* 辅助文字：13px → 14px */
.legend-item, .office-gallery figcaption, .chip,
.stat-label, .step-desc, .xj-info-desc, .baike-desc {
  font-size: 14px;
}

/* 元信息：12px → 13px */
.article-card-meta, .baike-meta, .contact-card-note, .map-caption {
  font-size: 13px;
}

/* 高亮/引用块（正文性质）：14px → 15px */
.article-hl { font-size: 15px; }

/* 首页百科入口描述：14px → 16px（与 26px 标题配套） */
.baike-entry-desc { font-size: 16px; }

/* 响应式恢复：hero 描述桌面端保持 18px */
@media (min-width: 1024px) {
  .hero-desc { font-size: 18px; }
}

/* 头部导航：导航链接 14→16px（实测 1280px 下 10 栏目 884px 仍有余量、
   与品牌名/正文 16px 对齐）、顶部信息条 12→13px、品牌副标题 11→12px */
.nav-link { font-size: 16px; }
.topbar { font-size: 13px; }
.brand-sub { font-size: 12px; }

/* ---------- 44. 企业百科：首页精选列表（无缩略图·纯文字卡） ---------- */
.baike-grid { margin-top: 24px; }
.baike-more-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; text-align: center; padding: 28px; text-decoration: none;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--navy-2) 0%, var(--navy) 100%);
  color: #fff; box-shadow: var(--shadow-sm);
  transition: transform .2s, box-shadow .2s;
}
.baike-more-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.baike-more-num { font-size: 30px; font-weight: 700; color: var(--gold); line-height: 1.2; }
.baike-more-label { font-size: 14px; color: var(--gray-300); }
.baike-more-btn {
  margin-top: 10px; display: inline-block; padding: 9px 20px; border-radius: 999px;
  background: var(--gold); color: #fff; font-size: 14px; font-weight: 500;
}

/* ---------- 45. 页脚备案信息（ICP + 公安） ---------- */
.footer-beian {
  margin-top: 10px;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 4px; font-size: 13px; color: var(--gray-500); line-height: 1.8;
}
.footer-beian a { color: var(--gray-500); transition: color .2s; }
.footer-beian a:hover { color: var(--gray-300); }
.footer-beian .gongan-icon {
  width: auto; height: 18px; max-height: 18px;
  vertical-align: middle; margin: 0 2px;
}

/* ---------- 业务单页组件 ---------- */
.biz-overview { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.biz-ov-item {
  padding: 20px; border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100); background: #fff; box-shadow: var(--shadow-sm);
}
.biz-ov-label { font-size: 13px; color: var(--gray-500); }
.biz-ov-value { margin-top: 6px; font-size: 20px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.biz-ov-value--gold { color: var(--gold-brown); }
/* 值较长时（如城市页的国家级开放平台名称）用小一号，避免速览块失衡 */
.biz-ov-value--sm { font-size: 15px; font-weight: 600; line-height: 1.6; }
/* 城市概况速览块：移动端 2 列时格宽仅约 171px，20px 会把「新疆维吾尔自治区」
   拆成「新疆维吾尔自/治区」。降到 17px 即可整词一行。作用域限定 .city-facts，
   不影响业务详情页的「业务概览」。 */
@media (max-width: 639px) {
  .city-facts .biz-ov-value { font-size: 16px; }
}

.material-list { list-style: none; display: grid; grid-template-columns: 1fr; gap: 12px; margin: 0; padding: 0; }
.material-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 16px; border-radius: 10px;
  background: var(--gray-bg); border: 1px solid var(--gray-100);
  font-size: 14px; color: var(--gray-600); line-height: 1.6;
}
.material-item svg { color: var(--gold); flex-shrink: 0; margin-top: 2px; }

.rel-biz-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.rel-biz-card {
  display: block; padding: 20px; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
  text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.rel-biz-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: rgba(201,160,99,.5); }
.rel-biz-icon { font-size: 22px; color: var(--gold); }
.rel-biz-name { margin-top: 12px; font-size: 16px; font-weight: 700; color: var(--navy); }
.rel-biz-desc { margin-top: 6px; font-size: 13px; line-height: 1.6; color: var(--gray-500); }

/* ---------- 相关服务 / 相关百科（业务页 ↔ 百科双向内链） ---------- */
.rel-svc { margin-bottom: 56px; }
.rel-svc-block { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--gray-100); }
.rel-more { margin-top: 24px; text-align: center; }
.rel-more a { font-size: 14px; font-weight: 500; color: var(--navy-2); }
.rel-more a:hover { text-decoration: underline; }
.rel-baike-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.rel-baike-card {
  display: block; padding: 20px; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
  text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.rel-baike-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: rgba(20, 60, 110, .2); }
.rel-baike-name { font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--navy); }
.rel-baike-desc { margin-top: 8px; font-size: 13px; line-height: 1.6; color: var(--gray-500); }
.rel-baike-meta { display: block; margin-top: 12px; font-size: 12px; color: var(--gray-400); }
/* 百科/政策/案例文章 → 城市落地页 反向内链（与城市页「{城市}相关百科」板块成对，
   由同一个 region_id 字段驱动）。单独一行、不参与 .article-foot-nav 的 flex 分布，
   避免改动既有脚注排布。 */
.article-city-link { margin-top: 32px; font-size: 14px; color: var(--gray-500); }
.article-city-link a { color: var(--navy-2); font-weight: 500; }
.article-city-link a:hover { text-decoration: underline; }

/* 「本文涉及」正文级内链行（政策栏目专用，2026-09-28 S40）
   紧接正文之后、foot-nav 之前；承载「政策↔政策 / 政策↔业务」的中文锚文本内链。
   ⚠️ 与 .article-city-link 同族但更贴正文（margin-top 24px），且链接带浅实线下划线 ——
   避免重蹈 .t-name-link「与纯文本肉眼无差、看不出可点」的坑（见本文件 §51/§52 注释）。 */
.article-tags { margin-top: 24px; font-size: 14px; line-height: 1.9; color: var(--gray-500); }
.article-tags a { color: var(--navy-2); font-weight: 500; text-decoration: underline; text-decoration-color: rgba(20, 60, 110, .3); text-underline-offset: 4px; }
.article-tags a:hover { color: var(--gold-brown); text-decoration-color: currentColor; }

@media (min-width: 640px) {
  .biz-overview { grid-template-columns: repeat(4, 1fr); }
  .material-list { grid-template-columns: repeat(2, 1fr); }
  .rel-biz-grid { grid-template-columns: repeat(2, 1fr); }
  .rel-baike-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .rel-biz-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- 类型导航卡 + 细分页组件 ---------- */
.feature-card--link { display: flex; flex-direction: column; text-decoration: none; cursor: pointer; }
.type-link-more {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--gold-brown); transition: color .2s;
}
.feature-card--link:hover .type-link-more { color: var(--navy-2); }
.t-name-link { font-weight: 600; color: var(--navy); text-decoration: none; }
.t-name-link:hover { color: var(--gold-brown); }
@media (min-width: 640px) {
  .feature-grid--2col { grid-template-columns: repeat(2, 1fr); }
  .feature-grid--2col > .feature-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ---------- 业务服务页：分组平铺入口 ---------- */
.biz-group { margin-bottom: 26px; }
.biz-group:last-child { margin-bottom: 0; }
.biz-group-head {
  display: flex; align-items: center; gap: 18px;
  padding: 22px 24px; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
  text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.biz-group-head:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: rgba(201,160,99,.5); }
.biz-group-icon {
  width: 52px; height: 52px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px; background: rgba(201,160,99,.1); color: var(--gold-brown); font-size: 24px;
}
.biz-group-head:hover .biz-group-icon { background: var(--gold); color: #fff; }
.biz-group-main { flex: 1; min-width: 0; }
.biz-group-name { font-size: 19px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.biz-group-desc { margin-top: 5px; font-size: 14px; color: var(--gray-500); line-height: 1.6; }
.biz-group-meta { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.biz-group-price { font-size: 16px; font-weight: 700; color: var(--gold-brown); white-space: nowrap; }
.biz-group-arrow { font-size: 14px; font-weight: 600; color: var(--navy-2); white-space: nowrap; }
.biz-group-head:hover .biz-group-arrow { color: var(--gold-brown); }
.biz-subs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.biz-sub-card { flex: 1 1 100%; }
.biz-sub-card {
  position: relative; overflow: hidden;
  display: flex; align-items: center; gap: 8px;
  padding: 16px 18px; border-radius: 12px;
  background: #fff; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
  text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.biz-sub-card::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 20px; border-radius: 0 3px 3px 0;
  background: rgba(201,160,99,.45); transition: height .25s, background .25s;
}
.biz-sub-card:hover {
  border-color: rgba(201,160,99,.5); transform: translateY(-2px); box-shadow: var(--shadow);
}
.biz-sub-card:hover::before { height: 100%; background: var(--gold); }
.biz-sub-name { font-size: 15px; font-weight: 600; color: var(--navy); }
.biz-sub-price { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--gold-brown); white-space: nowrap; }
.biz-sub-arrow { font-size: 13px; color: var(--gray-400); flex-shrink: 0; transition: color .2s, transform .2s; }
.biz-sub-card:hover .biz-sub-arrow { color: var(--gold-brown); transform: translateX(3px); }
@media (max-width: 639px) {
  .biz-group-arrow { display: none; }
  .biz-group-head { padding: 18px 16px; gap: 14px; }
  .biz-group-icon { width: 44px; height: 44px; font-size: 20px; }
  .biz-group-name { font-size: 17px; }
  .biz-group-desc { font-size: 13px; }
  .biz-sub-name { font-size: 14px; }
}
@media (min-width: 640px) {
  .biz-sub-card { flex: 0 1 calc(50% - 6px); }
}
@media (min-width: 1024px) {
  .biz-group-head { padding: 26px 30px; }
  .biz-subs { gap: 12px; }
  .biz-sub-card { flex: 0 1 calc(33.333% - 8px); }
}

/* ---------- 服务内容区块按卡数自适应列数（3/6 卡 → 3 列排满） ---------- */
@media (min-width: 1024px) {
  .feature-grid--3 { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- 关于我们：企业发展时间线 ---------- */
.timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.timeline::before {
  content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px; width: 2px;
  background: linear-gradient(to bottom, var(--gold), var(--gray-200));
}
.timeline-item { position: relative; padding: 0 0 28px 32px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-item::before {
  content: ""; position: absolute; left: 3px; top: 4px; width: 12px; height: 12px;
  border-radius: 50%; background: #fff; border: 3px solid var(--gold); box-sizing: border-box;
}
.timeline-date { display: inline-block; font-size: 13px; font-weight: 700; color: var(--gold-brown); letter-spacing: .02em; margin-bottom: 6px; }
.timeline-text { margin: 0; font-size: 15px; line-height: 1.7; color: var(--gray-700); }
@media (min-width: 640px) {
  .timeline { max-width: 800px; }
  .timeline::before { left: 126px; }
  .timeline-item { display: flex; gap: 32px; padding-left: 0; padding-bottom: 28px; align-items: flex-start; }
  .timeline-item::before { left: 120px; top: 6px; }
  .timeline-date { flex: 0 0 110px; text-align: right; margin-top: 0; margin-bottom: 0; }
  .timeline-text { flex: 1; }
}

/* ---------- 关于我们：客户真实评价 ---------- */
.review-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.review-card {
  display: flex; flex-direction: column; gap: 12px;
  padding: 22px 24px; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm);
}
.review-stars { display: flex; gap: 2px; color: var(--gold); font-size: 15px; line-height: 1; }
.review-text { margin: 0; font-size: 15px; line-height: 1.75; color: var(--gray-700); }
.review-meta { display: flex; align-items: center; gap: 10px; margin-top: auto; font-size: 13px; color: var(--gray-500); }
.review-source { font-weight: 600; color: var(--navy-2); }
.review-date { color: var(--gray-400); }
@media (min-width: 640px) {
  .review-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- 46. 元素修饰类（替代历史内联样式） ---------- */
.section--navy .section-title { color: #fff; }
.section--navy .section-desc { color: var(--gray-400); }
.section--tight { padding-top: 0; }
.container--narrow { max-width: 880px; }
.container--center { text-align: center; }
.chips--center { justify-content: center; margin-top: 24px; }
.chips--spaced { margin-top: 24px; }
.btn--inline { margin-left: 12px; }
.img-frame { border-radius: 12px; box-shadow: var(--shadow-lg); }
.notice--spaced { margin-top: 24px; }
.stack-lg { display: flex; flex-direction: column; gap: 24px; }
.cta--spaced { margin-top: 40px; }
.cta--tight { margin-top: 32px; }
.promise-grid--spaced { margin-bottom: 40px; }
.promise-grid--tight { margin-top: 24px; }
.feature-grid--spaced { margin-bottom: 24px; }
/* 表格之后的卡片网格：.feature-grid--spaced 只定义了下边距（原本用于「grid 之后还有内容」的
   场景），当它前面是表格时会与表格贴合（2026-09-28 实测 0px，而全页其他相邻块为 20/24/40px）。
   ⚠️ 补的是上边距、另起一个类：不动 .feature-grid--spaced 本身（/quyu/ 的 grid 前面是段落，
   无此问题，改了会多出 24px）。仅 /bangong/ 合并表之后那一处使用。 */
.feature-grid--after-table { margin-top: 24px; }
/* 标签行（.chips）之后的表格：标签自身只有 margin-top，需补上边距，否则与表格贴合 */
.table-block--spaced { margin-top: 24px; }
.table--price th:nth-child(4) { text-align: right; }
.flow-cards--single { grid-template-columns: 1fr; }
/* 联系我们页 · 全疆合作网点招募：深色带上两栏分工卡（卡片复用 .step--dark） */
.coop-grid { display: grid; gap: 20px; }
.step--dark .check-list { color: var(--gray-300); }
@media (min-width: 768px) { .coop-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- 48. 友情链接（首页底部） ---------- */
.friend-links { padding: 30px 0 34px; background: #fff; border-top: 1px solid var(--gray-200); }
.friend-links-title { font-size: 15px; font-weight: 600; color: var(--gray-500); text-align: center; letter-spacing: .5px; }
.friend-links-list { margin-top: 14px; display: flex; flex-wrap: wrap; justify-content: center; column-gap: 20px; row-gap: 10px; }
.friend-links-list a { font-size: 13px; color: var(--gray-500); line-height: 1.6; transition: color .2s; }
.friend-links-list a:hover { color: var(--navy-2); text-decoration: underline; }
@media (max-width: 639px) {
  .friend-links { padding: 24px 0 28px; }
  .friend-links-list { column-gap: 16px; row-gap: 8px; }
}

/* 首页业务网格：≥1024px（3 列）时，末位「需求没列全」CTA 独占整行 —— 9 个业务卡正好排满 3 行 */
@media (min-width: 1024px) { .service-grid .service-more-card { grid-column: 1 / -1; } }

/* 关于我们页：居中容器（.container--center）内的表格需左对齐，否则 td 继承 center 会挤乱长文本 */
.container--center .table-block { text-align: left; }


/* ---------- 47. 行业对照表（/fuwu/ 25 个行业专属财税方案）---------- */
/* 紧凑度：缩小内边距与行高，25 行整体更短（移动端另有覆盖） */
.table--industry th, .table--industry td { padding: 12px 22px; }
.table--industry td { line-height: 1.55; }
/* 桌面：3 列定宽。实测规律 —— 特征列越宽，折行越少、整表越矮，故给它最大占比 */
@media (min-width: 1024px) {
  .table--industry th:nth-child(1), .table--industry td:nth-child(1) { width: 15%; }
  .table--industry th:nth-child(2), .table--industry td:nth-child(2) { width: 47%; }
  .table--industry th:nth-child(3), .table--industry td:nth-child(3) { width: 38%; }
}
/* 分组行 = 表内导航骨架：字号与正文同级（15px），靠 700 字重 + 金色 + 灰底 + 左侧金条四层区分（13px 时比正文还小 → 层级倒挂） */
.table--industry .group-row td {
  padding: 11px 24px 9px 22px;
  background: var(--gray-bg);
  box-shadow: inset 3px 0 0 var(--gold);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--gold-brown);
}
.table--industry tbody tr.group-row:hover { background: transparent; }

/* 窄屏：表格转卡片，每行独立成卡；列名以灰色小字内联在内容前，彻底免横滑 */
@media (max-width: 639px) {
  .table--industry { min-width: 0; display: block; }
  .table--industry thead { display: none; }
  .table--industry tbody, .table--industry tr, .table--industry td { display: block; width: auto; }
  .table--industry tbody tr { padding: 13px 0 15px; border-bottom: 1px solid var(--gray-100); }
  .table--industry tbody tr:last-child { border-bottom: none; }
  .table--industry td { padding: 3px 24px; border-bottom: none; }
  .table--industry td::before {
    display: inline-block;
    margin-right: 6px;
    font-size: 12px;
    letter-spacing: .04em;
    color: var(--gray-400);
  }
  .table--industry td:nth-child(2)::before { content: "常见问题"; }
  .table--industry td:nth-child(3)::before { content: "专属服务"; }
  .table--industry .t-name { font-size: 16px; }
  .table--industry .group-row, .table--industry .group-row td { padding: 0; }
  .table--industry .group-row td { padding: 9px 24px; background: var(--gray-bg); }
  .table--industry .group-row td::before { content: none; }
}

/* ---------- 49. 表格移动端卡片化（通用变体类 .table--cards）---------- */
/* 用法：给 <table class="table ..."> 追加 table--cards；
   普通列写 <td data-label="列名">；序号/步骤列写 <td class="t-serial">（窄屏隐藏，值内联进标题）；
   卡片标题列写 <td class="t-cardtitle" data-serial="第1步">（data-serial 可省）。
   内容都很短的「价格表」用 §49.1 专用排法（.table--cards.table--price），比通用卡片省 44% 版面。
   全部规则只在窄屏生效 → 桌面渲染零影响。详见技能 §二十七。 */
@media (max-width: 639px) {
  .table--cards { min-width: 0; display: block; }
  .table--cards thead { display: none; }
  .table--cards tbody, .table--cards tr, .table--cards td { display: block; width: auto; }
  .table--cards tbody tr { padding: 14px 0 16px; border-bottom: 1px solid var(--gray-100); }
  .table--cards tbody tr:last-child { border-bottom: none; }
  .table--cards tbody tr:hover { background: transparent; }
  /* 必须带 .table--cards.table--flow 这一支：.table--flow 给首/末列加了 nowrap，同权重靠源码顺序压过 */
  .table--cards td, .table--cards.table--flow td { padding: 2px 20px; border-bottom: none; white-space: normal; }
  .table--cards td[data-label]::before {
    content: attr(data-label);
    display: inline-block;
    margin-right: 6px;
    font-size: 12px;
    letter-spacing: .04em;
    color: var(--gray-400);
  }
  /* 序号/步骤：值已内联进标题，原单元格隐藏 */
  .table--cards td.t-serial { display: none; }
  /* 卡片标题：与 /fuwu/ 行业表卡片同口径（标题 16px / 正文 15px / 标签 12px） */
  .table--cards td.t-cardtitle {
    padding: 2px 20px 7px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--navy);
  }
  .table--cards td.t-cardtitle[data-serial]::before {
    content: attr(data-serial);
    display: inline-block;
    margin-right: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--gold-brown);
  }
  /* --- 49.1 收费标准表专用（.table--price）---
     这张表 4 列内容都很短、且「操作」是固定链接，套通用卡片会 +39% 页高；
     改为「标题与价格同行 / 说明与操作行内跟随」后页高反降 5%，且横滑归零。
     ⚠️ display:inline 的 td 无法靠自身 padding 做出左右内边距（只在首尾片段生效、首行会缩进错位）
        → 左右内边距挪到 tbody tr 上，td 之间用 margin-left 拉开。 */
  .table--cards.table--price tbody tr { padding: 13px 20px 14px; }
  .table--cards.table--price td { padding: 0; }
  .table--cards.table--price td.t-cardtitle { display: inline; }
  .table--cards.table--price td.t-price {
    display: inline;
    margin-left: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.55;
    color: var(--gold-brown);
    white-space: nowrap;
  }
  .table--cards.table--price td.t-desc {
    display: inline;
    margin-left: 10px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gray-500);
  }
  .table--cards.table--price td.t-act {
    display: inline;
    margin-left: 10px;
    text-align: left;
    white-space: normal;
  }
  .table--cards.table--price td.t-act .t-ask { padding: 2px 10px; font-size: 13px; vertical-align: 1px; }
  /* 「办事指南」合并表：分组标题行（窄屏，跨列行需覆盖 tr 的 padding 与边框）*/
  .table--cards tbody tr.t-group { padding: 12px 0 6px; border-bottom: none; }
  .table--cards tbody tr.t-group td { display: block; padding: 8px 20px; border-radius: 6px; }
}
/* ---------- 50. 区域页：对比表逐对象卡片（窄屏替代横向对比表） ----------
   ⚠️ 断点 639 → 899（2026-09-27 实测）：这类表是「对象作列」的横向对比表，比竖排
   数据表更吃宽度。640/700/768px 实测 —— 银行表「开户费 0-500 元」被拆成两行、行高
   普遍 78px（不拆行需 ≥860px）；口岸表在 640px 表高 807px、「税收政策」单元格 191px。
   故 640–899px 一并走卡片。只影响 .table-block--cmp（全站仅 /quyu/ 两处使用）。 */
.cmp-cards { display: none; }

@media (max-width: 899px) {
  .table-block--cmp .table-head { display: none; }
  .table-block--cmp .table-scroll { display: none; }
  .cmp-cards { display: grid; gap: 14px; }
  .cmp-card { background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; overflow: hidden; }
  .cmp-card-head { padding: 12px 16px; background: var(--navy); color: #fff; font-size: 16px; font-weight: 600; line-height: 1.5; }
  .cmp-list { margin: 0; padding: 0; }
  .cmp-item { display: flex; gap: 10px; padding: 9px 16px; border-bottom: 1px solid var(--gray-100); }
  .cmp-item:last-child { border-bottom: none; }
  .cmp-item dt { flex: 0 0 86px; font-size: 12px; line-height: 1.7; letter-spacing: .02em; color: var(--gray-400); }
  .cmp-item dd { flex: 1; margin: 0; font-size: 15px; line-height: 1.6; color: var(--gray-700); }
}

/* ---------- 51. 区域页：已建落地页的城市名（可点击）需要有可点击的视觉提示 ----------
   背景：/quyu/ 城市表格里的城市名有两种形态 —— 有独立落地页的输出链接、没有的输出纯文本；
   而 .t-name-link 基线是 color: var(--navy) + text-decoration: none，与纯文本肉眼无差，
   用户不知道哪些名字可以点。
   现状（2026-09-28）：15 个城市页正文全部补齐并放行索引 → /quyu/ 三张分区表
   （北疆 8 / 东疆 2 / 南疆 5）的城市名**全部**是可点链接，由 list-quyu.html 的
   `$QY_LINK` 白名单闸门控制（该表须与 header.html 的 ≥600 字放行判定保持同步）。
   做法：虚线下划线 + 金色 + 尾随箭头，三处提示叠加，色弱用户也能识别。
   ⚠️ 必须用作用域类 .t-name-link--city —— .t-name-link 在 _svc-page.html（业务服务页
   的「服务内容」条目链接）也在用，直接改基类会波及全站业务页。 */
.t-name-link--city {
  color: var(--gold-brown);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  white-space: nowrap;
}
.t-name-link--city::after {
  content: "→";
  margin-left: 4px;
  font-size: .85em;
  font-weight: 400;
  color: var(--gold);
}
.t-name-link--city:hover { color: var(--navy); text-decoration-style: solid; }
.t-name-link--city:hover::after { color: var(--navy-2); }

/* ---------- 52. 收费标准页：价格行「服务项目」可点提示（2026-09-28 S39）----------
   背景：4 张价格表共 39 行，其中 33 行「服务项目」已内链到对应业务页（list-shoufei.html
   的 $PRICE_LINK 白名单），但 .t-name-link 基线是 navy + text-decoration:none，
   与纯文本肉眼无差 —— 用户看不出哪些项目名能点（同 §51 记录的问题）。
   做法：**新增作用域类**，与 --city 变体刻意区分 ——
     · 保持 navy 字色：不抢「收费标准」列已有的金色（--gold-brown）强调，列间主次清楚；
     · 只加灰色虚线下划线，**不加尾随箭头**：本页每行已有「咨询该项」按钮，
       33 个箭头在 4 列密集表里过吵（/quyu/ 是 3 列表且城市名是唯一动作，故用了箭头）。
   ⚠️ 绝不可改基类 .t-name-link —— _svc-page.html（业务服务页「服务内容」条目）也在用。 */
.t-name-link--price {
  color: var(--navy);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(20, 60, 110, .35);
}
.t-name-link--price:hover { color: var(--gold-brown); text-decoration-style: solid; text-decoration-color: currentColor; }

/* ---------- 53. 超窄屏（≤359px）适配：修复首页横向溢出（2026-09-28 S48）----------
   现象：320px 视口下首页横向溢出 31px（documentElement.scrollWidth = 351）。
   根因：.intro-tags 是 grid「1fr 1fr」且 .chip 为 white-space:nowrap，
        两列 min-content 之和是固定值 = 169.4px（「覆盖全疆15个核心城市」）
        + 10px（gap）+ 156px（「实体办公可上门核查」）= 335px > 320px 视口。
        grid 的 1fr 等价 minmax(auto,1fr)，auto 即内容的 min-content ——
        于是它把所在的 .split 单列一并撑到 335px，整页右溢 31px。
   做法：只在 ≤359px 降为单列；≥360px 维持原 2×2 视觉（实测该档起无溢出）。
   ⚠️ 不要改 .chip 的 white-space —— 那是 ≥360px 的既定视觉。 */
@media (max-width: 359px) {
  .intro-tags { grid-template-columns: 1fr; }
}

/* ---------- 54. 内联文字链可点热区补足（2026-09-28 S48）----------
   背景：375px 实测一批**行内文字链**盒高仅 18–21px，低于 WCAG 2.2 SC 2.5.8
        的 24×24 最小目标尺寸（它们是表格/列表里的独立动作，不属「句内链接」豁免）。
        清单：a.topbar-tel 159×20 ｜ 面包屑 26×18~64×21 ｜ .t-name-link--price 192×21
              ｜ .t-name-link--city 96×21 ｜ .t-more 60×20 ｜ .faq-hub-link 165×23。
   做法：只补**垂直 padding**，不改 display、不改 line-height ——
     · display:inline 的那批（crumb a / .t-name-link--* / .t-more / .footer-nav a）：
       垂直 padding **不参与行盒高度计算**，布局零位移；但浏览器命中测试覆盖 padding
       区域，可点高度 21px → 25px，属「隐形放大」，是最安全的手法。
     · flex/block 的两个（.topbar-tel +4px、.faq-hub-link +2px）会真实增高，
       实测无视觉回归。
   ⚠️ 不要把这些 inline 元素改成 inline-block —— 会改变换行与列宽计算，
      /shoufei/ /quyu/ 的表格列可能被撑开。 */
.topbar-tel { padding-block: 2px; }
.crumb a { padding-block: 3px; }
.t-name-link--price, .t-name-link--city { padding-block: 2px; }
.table .t-more { padding-block: 3px; }
.faq-hub-link { padding-block: 1px; }
.footer-nav a { padding-block: 2px; }

/* 文字链热区补遗（S61 全站实测，11 页 × PC/移动 两视口）
   实测仍有 5 组 inline 文字链可点高度仅 19~21px（父容器 → 高度）：
     p.split-desc > a 21 ｜ p.section-desc > a 20 ｜ div.rel-more > a 19
     ｜ p.hero-tel > a 19 ｜ p.contact-card-value > a 20
   手法同上一批：**只加垂直 padding，不改 display、不改 line-height** ——
     display:inline 的垂直 padding 不参与行盒高度计算 ⇒ 布局零位移，
     但命中测试覆盖 padding 区，可点高度 19~21px → 25~27px。
   ⚠️ 仍不可改成 inline-block（会改变换行与列宽计算）。 */
p.split-desc a,
p.section-desc a,
div.rel-more a,
p.hero-tel a,
p.contact-card-value a { padding-block: 3px; }

/* 内联地图 SVG（S61）
   原为 <img src="…/xinjiang-map.svg">，`<img>` 载入的 SVG 页面 CSS 改不到内部文字
   ⇒ 375px 下 11.5 单位文字实际只有 4.8px，不可读。
   现改为模板片段 _xinjiang-map.html 内联 <svg class="xj-map-svg">，桌面渲染与
   原 <img> 一致（width:100%，容器 .xj-map-side / .map-figure 决定尺寸）。 */
.xj-map-svg { display: block; width: 100%; height: auto; }

/* 地图移动端可读性：把文字放大约 1.9×（11.5→22、12→23、14→27、9.5/10→18 用户单位）
   ⇒ 375px 下有效字号由 4.0~5.9px 提到 7.5~11.3px。
   · 副标签（总部直营 / 阿拉山口 / 经济开发区 / 霍尔果斯）原紧贴主标签下方 12 单位，
     主标签放大后会撞上 ⇒ 统一下沉 10 单位；
   · 「塔城」左移 30、「昌吉」右移 14 用户单位，避开「克拉玛依 / 乌鲁木齐」。
   ⚠️ 本段仅在 ≤639px 生效，桌面端渲染完全不变（已逐像素比对）。 */
@media (max-width: 639px) {
  .xj-map-svg .m-city { font-size: 22px; }
  .xj-map-svg .m-city-lg { font-size: 23px; }
  .xj-map-svg .m-city-xl { font-size: 27px; }
  .xj-map-svg .m-sub { font-size: 18px; }
  .xj-map-svg .m-sub-push { transform: translateY(10px); }
  .xj-map-svg .m-tacheng { transform: translateX(-30px); }
  .xj-map-svg .m-changji { transform: translateX(14px); }
}
