:root {
  --primary: #1249E5;
  --primary-dark: #0D36AC;
  --primary-deep: #0A1F55;
  --accent: #FF6B2C;
  --bg: #F6F8FC;
  --card: #FFFFFF;
  --text: #1A2333;
  --text-2: #5A6577;
  --line: #E6EAF2;
  --radius: 14px;
  --shadow: 0 8px 30px rgba(16, 42, 100, .08);
  --shadow-hover: 0 14px 40px rgba(16, 42, 100, .14);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif; color: var(--text); background: var(--bg); line-height: 1.6; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
/* 跳到主内容：键盘/读屏用户可跳过导航直达正文，平时隐藏在视口外 */
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; transform: translateY(-200%); background: var(--primary); color: #fff; padding: 10px 18px; border-radius: 8px; font-size: 14px; font-weight: 600; box-shadow: var(--shadow); transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); outline: 3px solid #FFD37A; outline-offset: 2px; }
main:focus { outline: none; }

/* ===== Top bar ===== */
.topbar { background: var(--primary-deep); color: #B9C6E8; font-size: 13px; padding: 7px 0; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; }
.topbar strong { color: #fff; font-weight: 600; }

/* ===== Header ===== */
header.site { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.logo { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 20px; color: var(--primary-deep); }
.logo-mark { width: 38px; height: 38px; flex: none; display: block; object-fit: contain; }
.logo small { display: block; font-size: 11px; font-weight: 400; color: var(--text-2); letter-spacing: 1px; }
.logo-word { height: 39px; width: auto; flex: none; display: block; object-fit: contain; }
@media (max-width: 760px) { .logo-word { height: 32px; } }
nav.menu { display: flex; gap: 4px; }
nav.menu a { padding: 8px 14px; border-radius: 8px; font-size: 15px; color: var(--text); font-weight: 500; transition: .2s; }
nav.menu a:hover, nav.menu a.active { color: var(--primary); background: #EEF3FF; }
.nav-cta { display: flex; align-items: center; gap: 14px; }
.nav-phone { font-weight: 700; color: var(--primary-deep); font-size: 16px; }
.nav-phone span { display: block; font-size: 11px; font-weight: 400; color: var(--text-2); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 22px; border-radius: 10px; font-size: 15px; font-weight: 600; cursor: pointer; border: none; transition: .2s; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-1px); }
.btn-accent { background: var(--accent); color: #fff; }
.btn-accent:hover { filter: brightness(1.08); transform: translateY(-1px); }
.btn-ghost { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.5); }
.btn-ghost:hover { background: rgba(255,255,255,.12); }
.menu-toggle { display: none; background: none; border: none; font-size: 24px; cursor: pointer; color: var(--primary-deep); }

/* ===== Hero (home) ===== */
.hero { background: radial-gradient(900px 420px at 85% -10%, rgba(62,123,255,.35), transparent 60%), radial-gradient(700px 380px at -10% 110%, rgba(255,107,44,.18), transparent 55%), linear-gradient(160deg, var(--primary-deep) 0%, var(--primary-dark) 100%); color: #fff; padding: 84px 0 96px; overflow: hidden; }
.hero .wrap { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); padding: 6px 14px; border-radius: 100px; font-size: 13px; color: #CFE0FF; margin-bottom: 22px; }
.hero h1 { font-size: 40px; line-height: 1.25; font-weight: 800; letter-spacing: .5px; }
.hero h1 em { font-style: normal; color: #FFC24B; }
.hero p.lead { margin: 18px 0 30px; font-size: 16.5px; color: #C6D4F2; max-width: 520px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-points { display: flex; gap: 26px; margin-top: 34px; flex-wrap: wrap; }
.hero-points div { font-size: 13.5px; color: #AEC2EC; }
.hero-points b { display: block; font-size: 21px; color: #fff; font-weight: 700; }
.lead-card { background: #fff; color: var(--text); border-radius: 18px; padding: 28px 26px; box-shadow: 0 24px 60px rgba(4,18,52,.35); }
.lead-card h3 { font-size: 19px; font-weight: 700; color: var(--primary-deep); }
.lead-card p.sub { font-size: 13px; color: var(--text-2); margin: 6px 0 18px; }
.field { position: relative; display: block; margin-bottom: 14px; }
.field input, .field select { width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 10px; font-size: 14px; background: #FAFBFE; outline: none; transition: .2s; font-family: inherit; }
.field input:focus, .field select:focus { border-color: var(--primary); background: #fff; }
/* 浮动标签：输入框始终有可见的字段名（照抄无障碍规范 WCAG 3.3.2，避免输入后标签消失） */
.field input { padding: 20px 14px 7px; }
.field select { padding: 20px 14px 7px; }
.field .fl { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); font-size: 14px; color: var(--text-2); pointer-events: none; transition: top .16s ease, font-size .16s ease, color .16s ease; }
.field input:focus + .fl,
.field input:not(:placeholder-shown) + .fl { top: 8px; transform: none; font-size: 11px; color: var(--primary); }
.field .fl.up { top: 8px; transform: none; font-size: 11px; }
.field:focus-within .fl { color: var(--primary); }
.lead-card .btn { width: 100%; margin-top: 4px; }
.lead-card .tip { font-size: 12px; color: var(--text-2); margin-top: 12px; text-align: center; }

/* ===== Inner page hero ===== */
.page-hero { background: radial-gradient(700px 320px at 88% -20%, rgba(62,123,255,.4), transparent 60%), linear-gradient(160deg, var(--primary-deep) 0%, var(--primary-dark) 100%); color: #fff; padding: 52px 0 44px; }
.page-hero h1 { font-size: 30px; font-weight: 800; letter-spacing: .5px; }
/* 详情页的页面标题降为非标题元素（保证全站唯一 h1 = 正文标题），视觉保持不变 */
.page-hero .eyebrow { font-size: 30px; font-weight: 800; letter-spacing: .5px; display: block; }
@media (max-width: 760px) { .page-hero .eyebrow { font-size: 24px; } }
.page-hero p { margin-top: 10px; color: #C6D4F2; font-size: 15px; max-width: 640px; }
.breadcrumb { font-size: 13px; color: #9DB2DD; margin-bottom: 16px; }
.breadcrumb a { color: #C6D4F2; }
.breadcrumb a:hover { color: #fff; }

/* ===== Sections ===== */
section.block { padding: 78px 0; }
section.block.alt { background: #fff; }
section.block.tight { padding: 56px 0; }
.sec-head { text-align: center; max-width: 640px; margin: 0 auto 48px; }
.sec-tag { display: inline-block; font-size: 13px; font-weight: 600; color: var(--primary); background: #EEF3FF; padding: 5px 14px; border-radius: 100px; margin-bottom: 14px; letter-spacing: 1px; }
.sec-head h2 { font-size: 30px; font-weight: 800; color: var(--primary-deep); letter-spacing: .5px; }
.sec-head p { margin-top: 12px; color: var(--text-2); font-size: 15.5px; }

/* ===== Service cards ===== */
.svc-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.svc-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 20px; text-align: center; transition: .25s; cursor: pointer; display: block; }
.svc-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); border-color: #C9D8FF; }
.svc-icon { width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 26px; }
.i-1 { background: #EEF3FF; color: #2563EB; } .i-2 { background: #FFF3E8; color: #EA7A23; } .i-3 { background: #E8F8F2; color: #0C8A56; }
.i-4 { background: #F3EDFF; color: #7C4DD4; } .i-5 { background: #EAF4FF; color: #0E7490; }
.svc-card h3 { font-size: 17px; font-weight: 700; color: var(--primary-deep); margin-bottom: 8px; }
.svc-card p { font-size: 13px; color: var(--text-2); }
.svc-card .more { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--primary); }

/* ===== Group (services page) ===== */
.svc-group { margin-bottom: 46px; }
.svc-group-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.svc-group-head .ico { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 21px; }
.svc-group-head h3 { font-size: 20px; font-weight: 700; color: var(--primary-deep); }
.svc-group-head span.desc { font-size: 13.5px; color: var(--text-2); margin-left: 6px; }
.svc-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.svc-item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; transition: .2s; display: block; }
.svc-item:hover { border-color: var(--primary); box-shadow: var(--shadow); transform: translateY(-4px); }
.svc-item h3, .svc-item .h4 { font-size: 15.5px; font-weight: 700; color: var(--primary-deep); margin-bottom: 6px; }
.svc-item p { font-size: 13px; color: var(--text-2); margin-bottom: 10px; min-height: 40px; }
.svc-item .go { font-size: 13px; font-weight: 600; color: var(--primary); }

/* ===== Hot projects ===== */
.hot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.hot-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: .25s; display: flex; flex-direction: column; }
.hot-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
.hot-top { padding: 22px 22px 0; display: flex; align-items: center; justify-content: space-between; }
.hot-tag { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 6px; }
/* 列表 flex 行内的分类标签固定 2 字/行（共 2 行）：
   标签是可收缩 flex 子项，标题越长被压得越窄，4 字会逐字竖排（不协调）。
   分类名恒为 4 字；content-box 让 2.1em 只算文字（全局是 border-box，会把 20px padding 算进去） */
li a .hot-tag.cat-chip { flex: none; box-sizing: content-box; max-width: 2.1em; text-align: center; line-height: 1.5; }
.t-blue { background: #EEF3FF; color: var(--primary); }
.t-orange { background: #FFF3E8; color: #D45A10; }
.t-green { background: #E8F8F2; color: #0C8A56; }
.t-purple { background: #F3EDFF; color: #6B3FD4; }
.hot-card h3 { padding: 14px 22px 6px; font-size: 18px; font-weight: 700; color: var(--primary-deep); }
.hot-card p { padding: 0 22px 20px; font-size: 13.5px; color: var(--text-2); flex: 1; }
.hot-card .foot { padding: 14px 22px; border-top: 1px dashed var(--line); font-size: 13.5px; font-weight: 600; color: var(--primary); display: flex; justify-content: space-between; align-items: center; }

/* ===== Flow ===== */
.flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.flow-step { text-align: center; padding: 26px 12px; background: #fff; border-radius: var(--radius); border: 1px solid var(--line); transition: .25s; }
.flow-step:hover { border-color: var(--primary); box-shadow: var(--shadow); }
.flow-num { width: 40px; height: 40px; margin: 0 auto 12px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), #3E7BFF); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; }
.flow-step .h4 { font-size: 15.5px; font-weight: 700; color: var(--primary-deep); margin-bottom: 6px; }
.flow-step p { font-size: 12.5px; color: var(--text-2); }

/* ===== Advantages ===== */
.adv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.adv-item { display: flex; gap: 16px; background: var(--bg); border-radius: var(--radius); padding: 24px; border: 1px solid var(--line); }
.adv-ico { font-size: 26px; flex: none; }
.adv-item .h4 { font-size: 16px; font-weight: 700; color: var(--primary-deep); margin-bottom: 6px; }
.adv-item p { font-size: 13.5px; color: var(--text-2); }

/* ===== News ===== */
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.news-col { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; transition: .25s; }
.news-col:hover { box-shadow: var(--shadow); }
.news-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.news-head h3 { font-size: 17px; font-weight: 700; color: var(--primary-deep); }
.news-head a { font-size: 13px; color: var(--primary); font-weight: 500; }
.news-col li { margin-bottom: 13px; }
.news-col li a { font-size: 14px; color: var(--text); display: flex; gap: 8px; }
.news-col li a::before { content: "·"; color: var(--primary); font-weight: 800; }
.news-col li a:hover { color: var(--primary); }

/* News list page */
.tabs { display: flex; gap: 10px; justify-content: center; margin-bottom: 34px; flex-wrap: wrap; }
.tab { padding: 9px 24px; border-radius: 100px; font-size: 14.5px; font-weight: 600; color: var(--text-2); background: #fff; border: 1.5px solid var(--line); cursor: pointer; transition: .2s; }
.tab:hover { color: var(--primary); }
.tab.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.news-list { max-width: 860px; margin: 0 auto; }
.news-item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 26px; margin-bottom: 16px; transition: .2s; display: block; }
.news-item:hover { border-color: #C9D8FF; box-shadow: var(--shadow); }
.news-item .meta { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.news-item .meta .hot-tag { font-size: 12px; }
.news-item .meta time { font-size: 12.5px; color: var(--text-2); }
.news-item h2, .news-item h3 { font-size: 17px; font-weight: 700; color: var(--primary-deep); margin-bottom: 8px; }
.news-item:hover h3 { color: var(--primary); }
.news-item p { font-size: 13.5px; color: var(--text-2); }

/* ===== Detail layout ===== */
.detail-layout { display: grid; grid-template-columns: 1fr 300px; gap: 30px; align-items: start; padding: 48px 0 78px; }
.detail-layout > main, .detail-layout > aside { min-width: 0; }
.detail-main { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 40px 42px; }
.detail-main h1 { font-size: 26px; font-weight: 800; color: var(--primary-deep); line-height: 1.4; margin-bottom: 10px; }
.detail-meta { font-size: 13px; color: var(--text-2); padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 26px; display: flex; gap: 18px; }
.detail-main h2 { font-size: 20px; font-weight: 700; color: var(--primary-deep); margin: 30px 0 14px; padding-left: 12px; border-left: 4px solid var(--primary); }
.detail-main h3 { font-size: 16px; font-weight: 700; color: var(--text); margin: 18px 0 8px; }
.detail-main p { font-size: 14.5px; color: #3D4759; margin-bottom: 12px; }
.list-check, .list-num { list-style: none; padding-left: 0; margin: 10px 0 14px; }
.list-num { counter-reset: n; }
.list-check li { position: relative; padding: 7px 0 7px 30px; font-size: 14.5px; color: #3D4759; }
.list-check li::before { content: "✓"; position: absolute; left: 4px; top: 7px; width: 20px; height: 20px; border-radius: 50%; background: #E8F8F2; color: #0C8A56; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.list-num li { position: relative; padding: 7px 0 7px 34px; font-size: 14.5px; color: #3D4759; counter-increment: n; }
.list-num li::before { content: counter(n); position: absolute; left: 0; top: 8px; width: 22px; height: 22px; border-radius: 50%; background: #EEF3FF; color: var(--primary); font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.simple-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0 6px; }
.simple-table th, .simple-table td { border: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.simple-table th { background: #F3F6FC; color: var(--primary-deep); font-weight: 600; }
.faq { border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; margin-bottom: 12px; }
.faq b.q { display: block; font-size: 14.5px; color: var(--primary-deep); margin-bottom: 6px; }
.faq p { font-size: 13.5px; color: var(--text-2); margin: 0; }
.key-point { border-left: 3px solid var(--primary); background: #F3F6FC; border-radius: 0 10px 10px 0; padding: 12px 16px; margin: 16px 0; font-size: 14px; color: var(--primary-deep); }
.key-point b { color: var(--primary); }
.side-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 22px; margin-bottom: 20px; }
.side-card .h4 { font-size: 16px; font-weight: 700; color: var(--primary-deep); margin-bottom: 10px; }
.side-card p { font-size: 13px; color: var(--text-2); margin-bottom: 12px; }
.side-card .phone-line { font-size: 20px; font-weight: 800; color: var(--accent); margin: 4px 0 14px; }
.side-relate li { margin-bottom: 11px; }
.side-relate li a { font-size: 13.5px; color: var(--text); display: flex; gap: 8px; }
.side-relate li a::before { content: "·"; color: var(--primary); font-weight: 800; }
.side-relate li a:hover { color: var(--primary); }
.sticky { position: sticky; top: 92px; }

/* ===== About page ===== */
.about-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; align-items: stretch; }
.about-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 34px; }
/* 左卡（我们是谁）：条目清单贴底，与右侧表单卡视觉对齐 */
.about-intro { display: flex; flex-direction: column; }
.about-intro .list-check { margin-top: auto; }
.about-intro .list-check li { padding: 9px 0 9px 30px; }
.about-intro .list-check li::before { top: 9px; }
.about-verify { font-size: 12.5px; color: var(--text-2); margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed var(--line); }
.about-verify a { color: var(--primary); font-weight: 600; }
.about-card h2 { font-size: 20px; font-weight: 700; color: var(--primary-deep); margin-bottom: 16px; padding-left: 12px; border-left: 4px solid var(--primary); }
.about-card p { font-size: 14.5px; color: #3D4759; margin-bottom: 12px; }
.contact-list li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--line); font-size: 14.5px; }
.contact-list li:last-child { border-bottom: none; }
.contact-list .ico { flex: none; display: inline-flex; align-items: center; justify-content: center; color: var(--primary-deep); }
.contact-list b { color: var(--primary-deep); }

/* ===== CTA band ===== */
.cta-band { background: radial-gradient(600px 300px at 90% 0%, rgba(255,194,75,.25), transparent 60%), linear-gradient(120deg, var(--primary-deep), var(--primary-dark)); border-radius: 20px; color: #fff; padding: 52px 56px; display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.cta-band h2 { font-size: 26px; font-weight: 800; margin-bottom: 8px; }
.cta-band p { color: #C6D4F2; font-size: 15px; }
.cta-band .phone-big { font-size: 30px; font-weight: 800; color: #FFC24B; }

/* ===== Footer ===== */
footer.site { background: #0A1F55; color: #8FA3CE; padding: 54px 0 0; font-size: 14px; }
.foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; }
.foot-grid .foot-h { color: #fff; font-size: 15.5px; margin: 0 0 16px; font-weight: 600; }
.foot-grid li { margin-bottom: 10px; }
.foot-grid a:hover { color: #fff; }
.foot-brand p { margin-top: 12px; line-height: 1.8; }
.foot-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0; text-align: center; font-size: 12.5px; color: #6B7FAD; }

/* ===== Floating bar / toast ===== */
.float-bar { display: none; }
#toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%) translateY(20px); background: rgba(10,31,85,.92); color: #fff; padding: 12px 22px; border-radius: 10px; font-size: 14px; opacity: 0; pointer-events: none; transition: .3s; z-index: 999; }
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .svc-grid { grid-template-columns: repeat(3, 1fr); }
  .svc-items { grid-template-columns: repeat(3, 1fr); }
  .hot-grid { grid-template-columns: repeat(2, 1fr); }
  .flow { grid-template-columns: repeat(3, 1fr); }
  .adv-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }
  .foot-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-layout { grid-template-columns: 1fr; }
  .side-card .sticky, .sticky { position: static; }
  .about-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  nav.menu, .nav-phone { display: none; }
  .menu-toggle { display: block; }
  nav.menu.open { display: flex; flex-direction: column; position: absolute; top: 68px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--line); padding: 12px 20px; box-shadow: var(--shadow); }
  .hero { padding: 52px 0 64px; }
  .hero .wrap { grid-template-columns: 1fr; gap: 36px; }
  .hero h1 { font-size: 29px; }
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .svc-items { grid-template-columns: repeat(2, 1fr); }
  .flow { grid-template-columns: repeat(2, 1fr); }
  .adv-grid, .news-grid, .hot-grid { grid-template-columns: 1fr; }
  .cta-band { padding: 36px 26px; }
  .detail-main { padding: 28px 22px; }
  .detail-main h1 { font-size: 22px; }
  .page-hero h1 { font-size: 24px; }
  .float-bar { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(0,0,0,.06); }
  .float-bar a { flex: 1; text-align: center; padding: 13px 0; font-weight: 600; font-size: 15px; }
  .float-bar a.fb-call { color: var(--primary-deep); display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
  .float-bar a.fb-ask { background: var(--accent); color: #fff; }
  body { padding-bottom: 48px; }
  .topbar { display: none; }
}

/* ================================================================
   UI 视觉升级 2026-10（全站生效：总览页 / 栏目页 / 详情页 / 资讯页）
   ================================================================ */

/* ---- 全局细节 ---- */
::selection { background: #C9D8FF; color: var(--primary-deep); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 6px; }
body { -webkit-font-smoothing: antialiased; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #C6CFDE; border-radius: 6px; border: 2px solid #F6F8FC; }
::-webkit-scrollbar-thumb:hover { background: #A9B6CC; }
::-webkit-scrollbar-track { background: transparent; }

/* ---- 内页 Hero V2：点阵网格 + 斜向光带 + 品牌插画 + 底部波浪 ---- */
.page-hero { position: relative; overflow: hidden; padding: 58px 0 74px; }
/* 全站 banner 背景视差固定：下滑时内容滑过、banner 背景静止。
   首页 .hero（3 层渐变）与内页 .page-hero（2 层渐变）统一处理；
   部分 移动端浏览器 不支持 fixed 时自动回落为滚动，不影响展示 */
.page-hero { background-attachment: fixed, fixed; }
.hero { background-attachment: fixed, fixed, fixed; }
.page-hero .ph-title { font-size: 30px; font-weight: 800; letter-spacing: .5px; }
.page-hero .ph-sub { margin-top: 10px; color: #C6D4F2; font-size: 15px; max-width: 640px; }
.page-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.14) 1px, transparent 1.6px);
  background-size: 26px 26px;
  -webkit-mask-image: linear-gradient(105deg, transparent 42%, rgba(0,0,0,.85) 78%);
          mask-image: linear-gradient(105deg, transparent 42%, rgba(0,0,0,.85) 78%);
}
.page-hero .beam { position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(115deg, transparent 55%, rgba(122,215,255,.09) 55%, rgba(122,215,255,.09) 63%, transparent 63%),
    linear-gradient(115deg, transparent 70%, rgba(255,255,255,.05) 70%, rgba(255,255,255,.05) 76%, transparent 76%);
}
.page-hero::after { content: ""; position: absolute; right: -60px; bottom: -90px; width: 260px; height: 260px; border-radius: 50%; border: 30px solid rgba(255,255,255,.06); pointer-events: none; }
.page-hero .wrap { position: relative; z-index: 2; }
.page-hero .breadcrumb { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); padding: 5px 14px; border-radius: 100px; margin-bottom: 18px; backdrop-filter: blur(4px); }
.page-hero h1, .page-hero .ph-title { position: relative; display: inline-block; max-width: calc(100% - 330px); }
@media (max-width: 1100px) { .page-hero h1, .page-hero .ph-title { max-width: calc(100% - 240px); } }
@media (max-width: 760px) { .page-hero h1, .page-hero .ph-title { max-width: 100%; } }
/* 正文卡内的文章主标题（从 banner 独立出来的部分） */
.detail-main .art-title { font-size: 25px; font-weight: 800; color: var(--primary-deep); line-height: 1.45; margin: 4px 0 14px; }
.detail-main .art-title + .detail-meta { margin-bottom: 24px; }
.detail-main .detail-meta .hot-tag { background: #EEF3FD; color: var(--primary-deep); border: 1px solid #D8E2F6; }
/* banner 大字下划线（栏目名与标题共用） */
.page-hero h1::after, .page-hero .ph-title::after { content: ""; position: absolute; left: 2px; bottom: -10px; width: 46px; height: 4px; border-radius: 3px; background: linear-gradient(90deg, #FFC24B, rgba(255,194,75,0)); }
.hero-art { position: absolute; right: 3.5%; bottom: 14px; z-index: 1; opacity: .95; pointer-events: none;
  filter: drop-shadow(0 10px 24px rgba(8,18,48,.35)); }
.hero-wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 40px; z-index: 2; display: block; }
@media (max-width: 1100px) { .hero-art { right: 2%; opacity: .75; transform: scale(.72); transform-origin: bottom right; } }
@media (max-width: 760px) { .hero-art { display: none; } .page-hero { padding: 44px 0 66px; } }

/* ---- 详情页吸顶返回条（吸附在主导航下方） ---- */
.back-bar {
  position: sticky; top: 69px; z-index: 90;
  display: flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,.9); backdrop-filter: blur(10px);
  border: 1px solid var(--line); border-radius: 12px;
  padding: 8px 14px; margin-bottom: 14px;
  box-shadow: 0 4px 16px rgba(16,34,80,.06);
}
/* 新闻详情页：上方已有吸顶页签条（.faq-bar），返回条改随文滚动，避免两条吸顶同位互相遮挡 */
.back-bar.bb-flow { position: static; z-index: auto; }
.back-bar .bb-back {
  display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
  font-size: 13.5px; font-weight: 600; color: var(--primary-deep);
  background: #EEF3FD; border: 1px solid #D8E2F6; border-radius: 8px; padding: 6px 12px;
  transition: background .15s, transform .15s;
}
.back-bar .bb-back:hover { background: #E1EAFB; transform: translateX(-2px); }
.back-bar .bb-title { flex: 1; min-width: 0; font-size: 13.5px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.back-bar .bb-tel { font-size: 13px; font-weight: 700; color: var(--primary-deep); white-space: nowrap; }
.return-row { margin-top: 26px; display: flex; gap: 12px; flex-wrap: wrap; }
.return-row a {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 600; color: var(--primary-deep);
  background: #EEF3FD; border: 1px solid #D8E2F6; border-radius: 10px; padding: 10px 18px;
  transition: background .15s, transform .15s;
}
.return-row a:hover { background: #E1EAFB; transform: translateX(-2px); }
@media (max-width: 760px) { .back-bar { top: 65px; padding: 7px 10px; } .back-bar .bb-tel { display: none; } }

/* ---- 服务体系总览：编号 + 图标 + 导读 + 进入栏目 ---- */
.cat-section { padding: 62px 0; }
.cat-section.alt { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cat-section + .cat-section:not(.alt) { border-top: 1px solid var(--line); }
.cat-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 8px; }
.cat-head-l { display: flex; align-items: center; gap: 18px; }
.cat-num { font-size: 52px; font-weight: 800; line-height: 1; color: #E3EBFA; letter-spacing: 2px; font-family: "Segoe UI", sans-serif; }
.cat-ico { width: 54px; height: 54px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex: none; box-shadow: inset 0 0 0 1px rgba(16,42,100,.06); }
.cat-tag { display: inline-block; font-size: 12.5px; font-weight: 600; color: var(--primary); background: #EEF3FF; padding: 3px 12px; border-radius: 100px; margin-bottom: 6px; letter-spacing: 1px; }
.cat-head h2 { font-size: 25px; font-weight: 800; color: var(--primary-deep); line-height: 1.2; }
.cat-head h2 a { color: inherit; transition: .2s; }
.cat-head h2 a:hover { color: var(--primary); }
.cat-arr { font-size: 17px; color: var(--primary); margin-left: 8px; display: inline-block; transition: transform .25s; }
.cat-head h2 a:hover .cat-arr { transform: translateX(6px); }
.cat-more { flex: none; font-size: 13.5px; font-weight: 600; color: var(--primary); background: #EEF3FF; padding: 10px 20px; border-radius: 100px; transition: .2s; }
.cat-more:hover { background: var(--primary); color: #fff; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(18,73,229,.25); }
.cat-intro { max-width: 860px; font-size: 14.5px; color: var(--text-2); margin: 0 0 26px; line-height: 1.8; }

/* ---- 服务卡片升级：顶部渐变条 + 箭头动效 ---- */
.svc-item { position: relative; overflow: hidden; border-radius: var(--radius); }
.svc-item::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--primary), #3E7BFF); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.svc-item:hover::before { transform: scaleX(1); }
.svc-item:hover { border-color: #C9D8FF; box-shadow: var(--shadow-hover); transform: translateY(-5px); }
.svc-item .go { display: inline-flex; align-items: center; gap: 5px; }
.svc-item .go i { font-style: normal; transition: transform .25s; }
.svc-item:hover .go i { transform: translateX(5px); }

/* ---- 详情页内容升级 ---- */
.detail-main { box-shadow: 0 2px 14px rgba(16,42,100,.04); }
.detail-main h2 { border-left: none; padding-left: 0; position: relative; padding-bottom: 10px; margin-bottom: 18px; }
.detail-main h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 42px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--primary), #3E7BFF); }
.simple-table { border-radius: 10px; overflow: hidden; border: 1px solid var(--line); }
.simple-table th, .simple-table td { border: none; border-bottom: 1px solid var(--line); }
.simple-table tr:last-child td { border-bottom: none; }
.simple-table th { background: linear-gradient(180deg, #F3F6FC, #EEF3FB); border-bottom: 2px solid #DCE5F5; }
.simple-table tbody tr { transition: background .15s; }
.simple-table tbody tr:hover { background: #F7FAFF; }
.simple-table td a { font-weight: 600; }
.simple-table td a:hover { text-decoration: underline; }
.faq { background: #FBFCFF; border: 1px solid var(--line); border-left: 3px solid var(--primary); border-radius: 10px; transition: .2s; }
.faq:hover { box-shadow: var(--shadow); transform: translateX(2px); }
.faq b.q { color: var(--primary); }

/* ---- 服务详情页「速览卡」：周期 / 费用 / 适合谁 / 暂不适合 ---- */
.svc-quick { background: #FBFCFF; border: 1px solid var(--line); border-left: 3px solid var(--primary); border-radius: 10px; padding: 6px 18px; margin: 0 0 26px; }
.svc-quick .sq-row { display: grid; grid-template-columns: 78px 1fr; gap: 14px; padding: 9px 0; align-items: baseline; }
.svc-quick .sq-row + .sq-row { border-top: 1px dashed var(--line); }
.svc-quick .sq-k { font-size: 13px; font-weight: 700; color: var(--primary-deep); }
.svc-quick .sq-v { font-size: 13.5px; color: var(--text-2); line-height: 1.7; }
.svc-quick .sq-warn .sq-k { color: #B4432C; }
@media (max-width: 600px) {
  .svc-quick { padding: 4px 14px; }
  .svc-quick .sq-row { grid-template-columns: 1fr; gap: 1px; padding: 8px 0; }
}
.list-check li, .list-num li { transition: .15s; }
.list-check li:hover, .list-num li:hover { color: var(--primary-deep); }

/* ---- 侧栏卡片升级 ---- */
.side-card { position: relative; overflow: hidden; box-shadow: 0 2px 14px rgba(16,42,100,.04); }
.side-card.sticky { position: sticky; }  /* 恢复吸附：上条升级规则会把 .sticky 的 position 盖回 relative */
.side-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--primary), #3E7BFF); }
.side-card .h4 { position: relative; }
.side-relate li a { transition: .15s; padding: 2px 0; }
.side-relate li a:hover { color: var(--primary); padding-left: 4px; }
.side-card .phone-line { letter-spacing: 1px; }

/* ---- 资讯页升级 ---- */
.news-item { position: relative; overflow: hidden; }
.news-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--primary); transform: scaleY(0); transition: transform .25s; transform-origin: top; }
.news-item:hover::before { transform: scaleY(1); }
.news-item:hover { border-color: #C9D8FF; box-shadow: var(--shadow); transform: translateY(-2px); }
.tab { box-shadow: 0 1px 4px rgba(16,42,100,.05); }
.tab.active { box-shadow: 0 6px 16px rgba(18,73,229,.3); }

/* ---- 首页卡片箭头动效 ---- */
.hot-card .foot span:last-child { transition: transform .25s; }
.hot-card:hover .foot span:last-child { transform: translateX(6px); }
.svc-card .more { transition: gap .2s; }

/* ---- 响应式补充 ---- */
@media (max-width: 768px) {
  .cat-section { padding: 44px 0; }
  .cat-num { font-size: 34px; }
  .cat-ico { width: 44px; height: 44px; font-size: 21px; }
  .cat-head h2 { font-size: 20px; }
  .cat-more { width: 100%; text-align: center; }
  .detail-main h2 { font-size: 18px; }
}

/* ---- CTA 收尾区间距协调（全站）----
   上一节自带底部留白（detail-layout 78px / cat-section 62px / block 78px），
   CTA 区顶部不再叠加 padding，避免形成 140px+ 的巨大空隙 */
section.block.cta-tail { padding: 0 0 64px; }
@media (max-width: 768px) {
  section.block.cta-tail { padding: 0 0 44px; }
}

/* ---- 政策资讯详情页阅读增强（三个分类通用）---- */
.read-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--primary), var(--accent)); z-index: 999; transition: width .1s linear; border-radius: 0 3px 3px 0; }
.detail-main h2 { scroll-margin-top: 86px; }

.lead-card { background: linear-gradient(135deg, #F2F7FF, #FDFEFF); border: 1px solid #D8E4FF; border-left: 4px solid var(--primary); border-radius: 14px; padding: 20px 24px; margin-bottom: 30px; }
.lead-meta { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; font-size: 13px; color: var(--text-2); margin-bottom: 12px; }
.lead-sum { font-size: 14.5px; line-height: 1.8; color: var(--text); margin: 0 0 12px; }
.lead-sum b { color: var(--primary-deep); }
.lead-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; color: var(--text-2); }
.lead-chips a { padding: 5px 12px; background: #fff; border: 1px solid #C9D8FF; border-radius: 999px; color: var(--primary-deep); font-weight: 600; transition: all .2s; }
.lead-chips a:hover { background: var(--primary); border-color: var(--primary); color: #fff; }

.toc-card { position: sticky; top: 84px; }
.toc-card ul { list-style: none; padding: 0; margin: 0; position: relative; }
.toc-card ul::before { content: ""; position: absolute; left: 13px; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(180deg, #B9CCF5, #E4EDFF); border-radius: 2px; }
.toc-card li { position: relative; }
.toc-card a { display: block; padding: 9px 10px 9px 38px; font-size: 13.5px; color: var(--text); border-radius: 10px; position: relative; transition: all .2s; line-height: 1.55; }
.toc-card a::before { content: ""; position: absolute; left: 7px; top: 16px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2.5px solid #B9CCF5; transition: all .2s; z-index: 1; box-sizing: border-box; }
.toc-card a::after { content: ""; position: absolute; left: 12px; top: 21px; width: 4px; height: 4px; border-radius: 50%; background: #fff; z-index: 2; transition: all .2s; }
.toc-card a:hover { background: #F2F7FF; color: var(--primary-deep); }
.toc-card a.on { background: linear-gradient(90deg, #EDF3FF, #F7FAFF); color: var(--primary-deep); font-weight: 700; }
.toc-card a.on::before { border-color: var(--primary); background: var(--primary); box-shadow: 0 0 0 4px rgba(18,73,229,.12); }
.toc-card a.on::after { background: #fff; }

/* ---- 顾问二维码卡（详情页侧栏）---- */
.qr-card { text-align: center; }
.qr-card img { display: block; margin: 10px auto 8px; width: 180px; height: auto; border: 1px solid var(--line); border-radius: 12px; padding: 8px; background: #fff; }
.qr-card p { font-size: 13px; color: var(--text-2); line-height: 1.7; margin: 0; }

/* ---- 资质执照展示（关于页）---- */
.cert-wrap { margin-top: 14px; display: flex; gap: 16px; flex-wrap: wrap; }
.cert-wrap img { width: 100%; max-width: 460px; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 14px rgba(16,42,100,.08); transition: transform .2s; }
.cert-wrap a:hover img { transform: translateY(-3px); }

/* ---- 全局焦点环（键盘可达性）---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; border-radius: 4px; }

.fb-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 34px; padding: 16px 22px; background: #fff; border: 1.5px dashed #C9D8FF; border-radius: 14px; }
.fb-q { font-weight: 700; font-size: 14.5px; color: var(--text); }
.fb-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.fb-btns button { padding: 8px 16px; border: 1.5px solid var(--line); background: #fff; border-radius: 999px; font-size: 13.5px; cursor: pointer; transition: all .2s; font-weight: 600; }
.fb-btns button:hover { border-color: var(--primary); color: var(--primary-deep); background: #F2F7FF; transform: translateY(-1px); }
.fb-bar b { font-size: 14.5px; }
.fb-bar a { color: var(--primary-deep); font-weight: 700; margin-left: 6px; }

/* 转发/复制弹层（微信内引导右上角 ···；复制降级时展示可长按全选的链接） */
.copy-mask { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: rgba(10,31,85,.5); z-index: 998; display: flex; align-items: center; justify-content: center; padding: 24px; }
.copy-box { background: #fff; border-radius: 14px; padding: 24px 26px 20px; width: 100%; max-width: 360px; text-align: center; box-shadow: 0 18px 50px rgba(10,31,85,.25); }
.copy-box b { display: block; font-size: 16px; color: var(--primary-deep); margin-bottom: 8px; }
.copy-box p { font-size: 13px; color: var(--text-2); line-height: 1.7; margin: 0 0 14px; }
.copy-box input { width: 100%; box-sizing: border-box; border: 1.5px solid #C9D8F6; border-radius: 8px; padding: 10px 12px; font-size: 13px; color: var(--text); background: #F7FAFF; text-align: center; -webkit-user-select: all; user-select: all; }
.copy-box button { margin-top: 16px; padding: 9px 30px; border: none; border-radius: 999px; background: var(--primary-deep); color: #fff; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.copy-box button:active { transform: scale(.97); }
/* 转发按钮仅移动端显示：桌面分享路径就是复制链接；移动端复制修复后两钮并存 */
@media (min-width: 761px) { .fb-share { display: none; } }

.action-card { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 26px; padding: 26px 28px; background: radial-gradient(500px 260px at 92% 0%, rgba(255,194,75,.22), transparent 60%), linear-gradient(120deg, var(--primary-deep), var(--primary-dark)); border-radius: 16px; color: #fff; }
.ac-ico { width: 52px; height: 52px; flex: none; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.14); border-radius: 14px; color: #fff; }
.ac-txt { flex: 1; min-width: 240px; }
.ac-txt h3 { font-size: 18px; font-weight: 800; margin: 0 0 6px; color: #fff; }
.action-card .ac-txt h3 { color: #fff; }
.ac-txt p { margin: 0; font-size: 13.5px; color: #C6D4F2; line-height: 1.7; }
.ac-btns { text-align: right; }
.ac-btns .btn { white-space: nowrap; }
.ac-tel { margin-top: 10px; font-size: 12.5px; color: #C6D4F2; }
.ac-tel b { color: #FFC24B; font-size: 16px; margin-left: 4px; }
.rec-card .side-relate a { display: block; font-size: 13.5px; line-height: 1.6; }
.rec-card .side-relate .hot-tag { margin-right: 6px; font-size: 11px; }

@media (max-width: 860px) {
  .toc-card { display: none; }
  .lead-card { padding: 16px 18px; }
  .action-card { padding: 20px 18px; }
  .ac-btns { text-align: left; width: 100%; }
}

/* ---- 高企名单总查询页 ---- */
.cs-panel { position: relative; background: linear-gradient(180deg, #FBFDFF, #fff 120px); border: 1px solid #E3EAF7; border-radius: 18px; padding: 20px 22px 18px; margin: 14px 0 26px; box-shadow: 0 10px 30px rgba(16,42,100,.06); overflow: hidden; }
.cs-panel::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--primary), #6E9BFF 45%, #FFC24B); }
.cs-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.cs-badge { display: inline-flex; align-items: baseline; gap: 5px; font-size: 12.5px; color: var(--text-2); background: #F0F5FF; border: 1px solid #DEE8FA; border-radius: 999px; padding: 5px 13px; max-width: 100%; }
.cs-badge b { font-size: 15px; color: var(--primary-deep); font-weight: 800; }
.cs-badge-num { font-variant-numeric: tabular-nums; }
@media (max-width: 760px) { .cs-badge-num { white-space: normal; border-radius: 14px; } }
.cs-search-row { display: flex; gap: 12px; }
.cs-field { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; background: #fff; border: 2px solid #DCE5F5; border-radius: 14px; padding: 0 16px; transition: border-color .18s, box-shadow .18s; }
.cs-field svg { flex: none; color: #9AA9C7; transition: color .18s; }
.cs-field:focus-within { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(27,73,200,.10); }
.cs-field:focus-within svg { color: var(--primary); }
.cs-field input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; padding: 15px 0; font-size: 16px; color: var(--text); }
.cs-field input::placeholder { color: #A6B3CC; }
.cs-field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.cs-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: none; cursor: pointer; color: #fff; font-size: 16px; font-weight: 800; letter-spacing: 2px; background: linear-gradient(120deg, var(--primary-deep), var(--primary)); border-radius: 14px; padding: 0 30px; box-shadow: 0 6px 16px rgba(27,73,200,.28); transition: transform .15s, box-shadow .15s, opacity .15s; }
.cs-btn:hover { transform: translateY(-1px); box-shadow: 0 9px 22px rgba(27,73,200,.34); }
.cs-btn:active { transform: translateY(0); }
.cs-btn.loading { opacity: .65; pointer-events: none; }
.cs-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; font-size: 12.5px; color: var(--text-2); }
.cs-chip { border: 1px solid #DCE5F5; background: #fff; color: var(--text-2); font-size: 12.5px; border-radius: 999px; padding: 5px 14px; cursor: pointer; transition: all .15s; }
.cs-chip:hover { border-color: var(--primary); color: var(--primary-deep); background: #F0F5FF; transform: translateY(-1px); }
.cs-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 16px 0 12px; }
.cs-tools #csCount { font-size: 13px; font-weight: 600; color: var(--primary-deep); background: #F0F5FF; border-radius: 999px; padding: 6px 14px; }
.cs-dl { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; font-size: 13px; color: var(--primary-deep); background: linear-gradient(100deg, #EEF3FD, #F7FAFF); border: 1px solid #D8E2F6; border-radius: 999px; padding: 7px 16px; white-space: nowrap; transition: all .15s; }
.cs-dl:hover { border-color: var(--primary); transform: translateY(-1px); box-shadow: 0 5px 14px rgba(27,73,200,.14); }
.cs-result { overflow-x: auto; border: 1px solid #E9EFFA; border-radius: 14px; }
.cs-result .simple-table { margin: 0; border: none; }
.cs-result th { background: #F5F9FF; white-space: nowrap; }
.cs-result td { padding: 11px 14px; }
.cs-result tbody tr { transition: background .12s; }
.cs-result tbody tr:hover { background: #F6FAFF; }
.cs-idx { color: #9AA9C7; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.cs-name { font-weight: 600; }
.cs-mono { font-family: Consolas, "Courier New", monospace; font-size: 13px; letter-spacing: .3px; color: var(--text-2); white-space: nowrap; }
.cs-date { color: var(--text-2); font-size: 13px; white-space: nowrap; }
.cs-tag { display: inline-block; font-size: 12px; font-weight: 700; color: var(--primary-deep); background: #EDF3FF; border: 1px solid #D8E2F6; border-radius: 999px; padding: 3px 11px; white-space: nowrap; }
.cs-tag:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
.cs-empty { display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; color: var(--text-2); font-size: 13px; line-height: 1.7; padding: 34px 16px; background: #FAFBFE; border: 1px dashed #D8E2F6; border-radius: 12px; }
.cs-empty-ico { line-height: 1; color: #C3CEE4; display: inline-flex; }
.cs-empty b { font-size: 14.5px; color: var(--text); }
.cs-batches { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 14px 0 18px; }
.cs-batch { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; transition: border-color .15s, transform .15s, box-shadow .15s; }
.cs-batch:hover { border-color: var(--primary); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16,34,80,.08); }
.cs-batch-name { font-weight: 700; color: var(--primary-deep); font-size: 14.5px; }
.cs-batch-n { font-size: 20px; font-weight: 800; color: var(--primary); }
.cs-batch-range, .cs-batch-date { font-size: 12px; color: var(--text-2); }
@media (max-width: 760px) {
  .cs-panel { padding: 16px 14px; border-radius: 14px; }
  .cs-search-row { flex-wrap: wrap; }
  .cs-field { width: 100%; }
  .cs-btn { width: 100%; padding: 13px; letter-spacing: 6px; }
}

/* 批次页内的总查询引导条 */
.cs-guide { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: linear-gradient(100deg, #EEF3FD, #F7FAFF); border: 1px solid #D8E2F6; border-radius: 12px; padding: 12px 16px; margin: 4px 0 18px; }
.cs-guide p { margin: 0; font-size: 13.5px; color: var(--text-2); }
.cs-guide b { color: var(--primary-deep); }
.cs-guide a { flex: none; font-size: 13.5px; font-weight: 700; color: #fff; background: var(--primary); border-radius: 9px; padding: 8px 16px; white-space: nowrap; }
.cs-guide a:hover { background: var(--primary-deep); }

/* ===== 批次名单表：滚动区外不渲染 + 服务端分页 ===== */
.list-wrap { content-visibility: auto; contain-intrinsic-size: auto 900px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.list-wrap table.simple-table { margin: 0; }
.list-wrap table.simple-table th:nth-child(2), .list-wrap table.simple-table td:nth-child(2) { min-width: 132px; }
.list-wrap table.simple-table th:nth-child(3), .list-wrap table.simple-table td:nth-child(3) { min-width: 100px; }
#nameSearch:focus { border-color: var(--primary) !important; box-shadow: 0 0 0 3px rgba(27,73,200,.10); }
/* 分页导航：真实链接，爬虫可顺链抓全量 */
.pager { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; padding: 22px 0 8px; }
.pager[hidden] { display: none; }
.pg-info { font-size: 13px; color: var(--text-2); margin-right: 4px; }
.pg-btn { display: inline-flex; align-items: center; padding: 9px 18px; border-radius: 9px; border: 1.5px solid #C9D8F2; background: #fff; color: var(--primary-deep); font-size: 13.5px; font-weight: 600; transition: .18s; }
a.pg-btn:hover { border-color: var(--primary); background: #F5F9FF; }
.pg-btn.is-off { opacity: .45; cursor: default; }
.pg-btn.pg-all { border-color: transparent; background: #EDF3FE; color: var(--primary); }
a.pg-btn.pg-all:hover { background: #DCE7FB; }
/* 口径说明（证书序号 ≠ 官方公示位次） */
.seq-note { font-size: 12.5px; color: var(--text-2); line-height: 1.7; margin-top: 14px; padding: 10px 14px; background: #F7F9FD; border-radius: 8px; }
.seq-note a { color: var(--primary); }
@media (max-width: 760px) {
  .list-wrap { margin: 0 -4px; }
  .list-wrap table.simple-table { font-size: 13px; }
  .pg-btn { padding: 8px 14px; }
}

/* ===== 关于我们：六段式（数字条 / 流程 / 证据墙 / 顾问卡 / 承诺 / 资质条） ===== */
.ab-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-stat { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 24px; box-shadow: 0 2px 14px rgba(16,42,100,.04); transition: border-color .18s, box-shadow .18s, transform .18s; }
.ab-stat:hover { border-color: #C9D8F2; box-shadow: var(--shadow); transform: translateY(-2px); }
/* 数字行用子选择器：曾用后代选择器 .ab-stat b，把段落里加粗的长词组也放大成 38px */
.ab-stat > b { display: block; font-size: 36px; line-height: 1.15; font-weight: 800; color: var(--primary); letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.ab-stat .ab-unit { font-size: 15px; font-weight: 600; color: var(--text-2); margin-left: 4px; letter-spacing: 0; }
.ab-stat h3 { font-size: 16px; font-weight: 700; color: var(--primary-deep); margin: 12px 0 8px; }
.ab-stat p { font-size: 13.5px; color: var(--text-2); line-height: 1.8; }
.ab-stat p b, .ab-stat p a { color: var(--primary); font-weight: 600; font-size: inherit; }
.ab-stat p a:hover { text-decoration: underline; }

.ab-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: none; list-style: none; }
.ab-flow > li { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 22px 20px; transition: border-color .18s, box-shadow .18s, transform .18s; }
.ab-flow > li:hover { border-color: #C9D8F2; box-shadow: var(--shadow); transform: translateY(-2px); }
.ab-step { position: absolute; top: 18px; right: 20px; font-size: 12px; font-weight: 800; color: #C3D2EE; letter-spacing: 1px; font-variant-numeric: tabular-nums; }
.ab-flow h3 { font-size: 16.5px; font-weight: 700; color: var(--primary-deep); margin-bottom: 8px; }
.ab-flow h3::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--primary); margin-right: 8px; vertical-align: 2px; }
.ab-flow p { font-size: 13.5px; color: var(--text-2); line-height: 1.75; margin-bottom: 14px; }
.ab-deliver { font-size: 12.5px; color: #0C447C; background: #EEF3FD; border-radius: 8px; padding: 9px 12px; line-height: 1.6; }
.ab-deliver b { display: block; font-size: 11px; color: #3E7BFF; letter-spacing: 1px; margin-bottom: 2px; font-weight: 700; }
.ab-dur { margin-top: 10px; font-size: 12px; color: var(--text-2); }
.ab-note { margin-top: 22px; font-size: 13px; color: var(--text-2); background: #F3F6FC; border-left: 3px solid #C9D8F2; border-radius: 0 8px 8px 0; padding: 12px 16px; line-height: 1.7; }

/* 经办痕迹清单（表格形态，替代图片墙） */
/* 经办痕迹：服务线分组标签 */
.ev-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.ev-tab { padding: 9px 20px; border-radius: 100px; border: 1.5px solid #C9D8F2; background: #fff; color: var(--primary-deep); font-size: 14px; font-weight: 600; cursor: pointer; transition: .18s; font-family: inherit; }
.ev-tab:hover { border-color: var(--primary); background: #F5F9FF; }
.ev-tab.on { background: var(--primary); border-color: var(--primary); color: #fff; }
.ev-group { font-size: 13px; color: var(--text-2); margin: 0 0 8px; padding-left: 10px; border-left: 3px solid var(--primary); }
.ev-pane[hidden] { display: none; }
.ev-wrap { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }.ev-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ev-table th { background: linear-gradient(180deg, #F3F6FC, #EEF3FB); color: var(--primary-deep); font-weight: 700; font-size: 13px; letter-spacing: .5px; text-align: left; padding: 13px 18px; border-bottom: 2px solid #DCE5F5; }
.ev-table td { padding: 13px 18px; border-bottom: 1px solid var(--line); color: #3D4759; vertical-align: top; }
.ev-table tbody tr:last-child td { border-bottom: none; }
.ev-table tbody tr:hover { background: #F7FAFF; }
.ev-table td b { color: var(--primary-deep); font-weight: 700; }
.ev-table td:nth-child(1) { width: 22%; }
.ev-table td:nth-child(3) { width: 34%; color: var(--text-2); font-size: 13px; }

.ab-consult { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-consult-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 24px; transition: border-color .18s, box-shadow .18s, transform .18s; }
.ab-consult-card:hover { border-color: #C9D8F2; box-shadow: var(--shadow); transform: translateY(-2px); }
.ab-avatar { width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(135deg, #EEF3FF, #DCE7FB); display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; color: var(--primary-deep); }
.ab-consult-card h3 { font-size: 16px; font-weight: 700; color: var(--primary-deep); text-align: center; }
.ab-consult-years { font-size: 12.5px; color: var(--text-2); margin: 2px 0 10px; text-align: center; }
.ab-consult-years:empty { display: none; }
.ab-consult-years a { color: inherit; text-decoration: underline; }
.ab-consult-card > p:not(.ab-consult-years) { font-size: 13.5px; color: var(--text-2); line-height: 1.75; }
.ab-consult-foot { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line); font-size: 12.5px; color: var(--text-2); }
.ab-consult-foot a { color: var(--primary); font-weight: 700; }

.ab-promise { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-promise-item { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 24px 22px 24px; }
.ab-promise-item b { display: block; font-size: 15.5px; color: var(--primary-deep); margin-bottom: 8px; padding-left: 26px; }
.ab-promise-item b::before { content: "✓"; position: absolute; left: 22px; width: 18px; height: 18px; border-radius: 50%; background: #E8F8F2; color: #0C8A56; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; top: 25px; }
.ab-promise-item p { font-size: 13.5px; color: var(--text-2); line-height: 1.75; padding-left: 26px; }

.ab-legal { display: grid; grid-template-columns: 220px 1fr; gap: 34px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
.ab-legal-img { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #F7F9FD; }
.ab-legal-img img { width: 100%; height: auto; transition: transform .3s; }
.ab-legal-img:hover img { transform: scale(1.03); }
.ab-legal-txt h3 { font-size: 17px; font-weight: 700; color: var(--primary-deep); margin-bottom: 12px; }
.ab-legal-txt ul li { display: flex; gap: 10px; font-size: 13.5px; color: var(--text); padding: 6px 0; border-bottom: 1px dashed var(--line); }
.ab-legal-txt ul li:last-child { border-bottom: none; }
.ab-legal-txt ul li span { flex: none; width: 122px; color: var(--text-2); }
.ab-legal-txt ul li a { color: var(--primary); }
.ab-legal-tip { margin-top: 10px; font-size: 12.5px; color: var(--text-2); }

@media (max-width: 1024px) {
  .ab-stats { grid-template-columns: 1fr 1fr; }
  .ab-flow, .ab-consult, .ab-promise { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .ab-stats, .ab-flow, .ab-consult, .ab-promise { grid-template-columns: 1fr; }
  .ev-table { font-size: 13px; }
  .ev-table th, .ev-table td { padding: 10px 12px; }
  .ev-table td:nth-child(1), .ev-table td:nth-child(3) { width: auto; }
  .ev-table thead { display: none; }
  .ev-table tr { display: block; padding: 12px 14px; border-bottom: 1px solid var(--line); }
  .ev-table td { display: block; padding: 2px 0; border: none; }
  .ab-stat b { font-size: 32px; }
  .ab-legal { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .ab-legal-img { max-width: 240px; }
  .ab-legal-txt ul li { flex-direction: column; gap: 2px; }
  .ab-legal-txt ul li span { width: auto; font-size: 12.5px; }
  #form { scroll-margin-top: 90px; }
}

/* ===== 作者页（Person 实体） ===== */
.author-top { display: flex; gap: 18px; align-items: center; padding: 22px 24px; background: linear-gradient(100deg, #EEF3FD, #F7FAFF); border: 1px solid #DCE7F8; border-radius: var(--radius); margin-bottom: 22px; }
.author-avatar { flex: none; width: 62px; height: 62px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), #3E7BFF); color: #fff; font-size: 24px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.author-top-txt h2 { font-size: 21px; font-weight: 800; color: var(--primary-deep); margin: 0 0 4px; }
.author-role { font-size: 13px; color: var(--text-2); margin: 0 0 8px; }
.author-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.author-tags span { font-size: 12px; color: #0C447C; background: #fff; border: 1px solid #D8E4F6; border-radius: 100px; padding: 3px 10px; }
.detail-main .author-top-txt h2 { padding: 0; margin: 0 0 4px; }
.author-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; background: #F3F6FC; border-radius: var(--radius); padding: 22px 24px; margin-top: 28px; }
.author-cta b { font-size: 15.5px; color: var(--primary-deep); }
.author-cta p { font-size: 13.5px; color: var(--text-2); margin-top: 4px; }
.detail-main .news-item h3 { font-size: 16px; }
@media (max-width: 760px) {
  .author-top { flex-direction: column; text-align: center; gap: 12px; }
  .author-tags { justify-content: center; }
  .author-cta { flex-direction: column; align-items: flex-start; }
  .author-cta .btn { width: 100%; }
}

/* 文末作者条 */
.author-strip { display: flex; align-items: center; gap: 14px; background: #F7F9FD; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; margin: 26px 0 4px; flex-wrap: wrap; }
.author-strip .author-avatar { width: 44px; height: 44px; font-size: 18px; }
.as-txt { flex: 1; min-width: 180px; }
.as-txt b { display: block; font-size: 15px; color: var(--primary-deep); }
.as-txt b a { color: inherit; }
.as-txt b a:hover { color: var(--primary); }
.as-txt span { font-size: 12.5px; color: var(--text-2); }
.as-more { flex: none; font-size: 13px; font-weight: 700; color: var(--primary); white-space: nowrap; }
.as-more:hover { text-decoration: underline; }

/* ---- 服务页结构化正文（第二层骨架）---- */
.tbl-scroll { overflow-x: auto; margin: 4px 0 10px; -webkit-overflow-scrolling: touch; }
.tbl-scroll .simple-table { min-width: 560px; margin: 0; }
.svc-steps { list-style: none; counter-reset: st; margin: 8px 0 4px; padding: 0; }
.svc-steps li { position: relative; padding: 0 0 16px 36px; counter-increment: st; }
.svc-steps li::before { content: counter(st, decimal-leading-zero); position: absolute; left: 0; top: 1px; width: 23px; height: 23px; border-radius: 50%; background: #EEF3FD; color: var(--primary); font-size: 11.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.svc-steps li::after { content: ""; position: absolute; left: 11px; top: 27px; bottom: 5px; width: 1px; background: var(--line); }
.svc-steps li:last-child::after { display: none; }
.svc-steps li > b { display: block; font-size: 14px; color: var(--primary-deep); margin-bottom: 3px; }
/* 流程正文（span）内的 b 保持行内加粗：后代选择器曾把正文里的 b 块级化，导致文字被截成单独跳行 */
.svc-steps li span b { display: inline; font-weight: 700; color: inherit; margin: 0; }
.svc-steps li span { font-size: 13.5px; color: var(--text-2); line-height: 1.7; }
.svc-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 8px 0 12px; }
.svc-cards .sc { border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; background: #FBFCFF; }
.svc-cards .sc > b { display: block; font-size: 14px; color: var(--primary-deep); margin-bottom: 5px; }
.svc-cards .sc p { font-size: 13.5px; color: var(--text-2); margin: 0; line-height: 1.7; }
.detail-main .svc-note { font-size: 13px; color: var(--text-2); background: #FFF9F0; border-left: 3px solid #FFB347; border-radius: 0 8px 8px 0; padding: 10px 14px; margin: 10px 0 14px; }
.detail-main .svc-links { font-size: 13.5px; margin: 6px 0 10px; }
.svc-links a { color: var(--primary); font-weight: 600; }
.svc-links a:hover { text-decoration: underline; }
.svc-links .dot { color: var(--line); margin: 0 8px; }
@media (max-width: 600px) { .svc-cards { grid-template-columns: 1fr; } }

/* ---- 后台可视化编辑器产出的通用正文元素 ---- */
.detail-main table:not(.simple-table) { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0 14px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.detail-main table:not(.simple-table) th, .detail-main table:not(.simple-table) td { border-bottom: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.detail-main table:not(.simple-table) th { background: linear-gradient(180deg, #F3F6FC, #EEF3FB); color: var(--primary-deep); font-weight: 600; }
.detail-main table:not(.simple-table) tr:last-child td { border-bottom: none; }
.detail-main table:not(.simple-table) tbody tr:hover { background: #F7FAFF; }
.detail-main blockquote { margin: 14px 0; padding: 12px 18px; border-left: 4px solid var(--primary); background: #F7FAFF; border-radius: 0 10px 10px 0; color: var(--text-2); }
.detail-main img { max-width: 100%; height: auto; border-radius: 10px; }
.detail-main ul, .detail-main ol { padding-left: 24px; margin: 8px 0 12px; }
.detail-main li { margin: 4px 0; }

/* ---- 常见问题聚合页（/faq）：分类锚点 + 长清单排版 ---- */
.faq-lead { font-size: 14px; color: var(--text-2); margin-bottom: 18px; }
.faq-lead b { color: var(--primary); font-size: 16px; font-weight: 800; }
.faq-nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.faq-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 22px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; font-size: 14.5px; font-weight: 600; color: var(--text-2); transition: .18s; }
.faq-nav a:hover { border-color: var(--primary); color: var(--primary); background: #F5F8FF; }
.faq-nav a.active { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 4px 14px rgba(18,73,229,.28); }
.faq-nav a.active:hover { color: #fff; }
.faq-nav .n { font-size: 11.5px; font-weight: 700; color: var(--primary); background: #EEF3FF; border-radius: 999px; padding: 1px 7px; }
.faq-nav a.active .n { color: #fff; background: rgba(255,255,255,.22); }
.detail-main h2[id] { scroll-margin-top: 92px; }
.detail-main h2 .faq-count { float: right; font-size: 12px; font-weight: 600; color: var(--text-2); background: #F3F6FC; border-radius: 999px; padding: 2px 10px; margin-top: 4px; }
.faq-sep { border: none; border-top: 1px dashed var(--line); margin: 36px 0 0; }
.detail-main .faq-svc { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 24px 0 10px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14.5px; font-weight: 700; }
.faq-svc a { color: var(--primary-deep); }
.faq-svc a:hover { color: var(--primary); text-decoration: underline; }
.faq-svc .go-mini { font-size: 12.5px; font-weight: 500; color: var(--text-2); white-space: nowrap; }
.faq-toc { list-style: none; padding: 0; margin: 0; }
.faq-toc li a { display: flex; justify-content: space-between; gap: 8px; font-size: 13.5px; color: var(--text); padding: 8px 0; border-bottom: 1px dashed var(--line); }
.faq-toc li:last-child a { border-bottom: none; }
.faq-toc li a span { color: var(--text-2); font-size: 12px; white-space: nowrap; }
.faq-toc li a:hover { color: var(--primary); }
@media (max-width: 760px) { .detail-main h2 .faq-count { float: none; display: inline-block; margin-left: 8px; } }

/* ---- 通用吸顶子导航：/faq 板块条、/services 板块条、/news 页签条共用 .faq-bar ---- */
.cat-section[id] { scroll-margin-top: 150px; }  /* 锚点落点让过吸顶条 */
.news-bar .tabs { margin-bottom: 0; }
@media (max-width: 760px) {
  .news-bar .tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; justify-content: flex-start; }
  .news-bar .tab { flex: none; }
}
.faq-bar { position: sticky; top: 68px; z-index: 60; background: #fff; border-bottom: 1px solid var(--line); padding: 18px 0 14px; box-shadow: 0 8px 22px rgba(23,43,99,.07); }
.faq-bar .faq-lead { margin-bottom: 14px; text-align: center; }
.faq-scope .detail-main h2[id] { scroll-margin-top: 185px; }  /* 锚点落点让过吸顶条（页眉 68 + 条高约 110） */
.faq-scope aside { position: sticky; top: 182px; max-height: calc(100vh - 196px); overflow-y: auto; scrollbar-width: thin; }  /* 整列吸附：单卡 sticky 会被后续卡片盖住 */
.faq-scope .side-card.sticky { position: relative; top: 0; }
@media (max-width: 760px) {
  .faq-bar { top: 66px; padding: 12px 0 10px; }
  .faq-bar .faq-nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px; justify-content: flex-start; }
  .faq-bar .faq-nav a { flex: none; }
  .faq-scope .detail-main h2[id] { scroll-margin-top: 160px; }
  .faq-scope aside { position: static; max-height: none; overflow: visible; }
}

/* ---- /about 板块条：复用 .faq-bar 页签样式，锚点落点让过吸顶条 ---- */
.page-scope section[id] { scroll-margin-top: 185px; }
#contact .contact-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; max-width: 880px; margin: 0 auto; width: 100%; }
#contact .contact-list li { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
@media (max-width: 760px) {
  .page-scope section[id] { scroll-margin-top: 160px; }
}

/* ---- /news 区县检索：吸顶条右侧入口 + 分组面板 ---- */
.news-bar-in { display: flex; align-items: center; gap: 14px; flex-wrap: nowrap; }
.news-bar-in .tabs { flex: 1 1 auto; margin-bottom: 0; min-width: 0; }
/* 详情页定制吸顶条：链接式页签 + 本区县直达胶囊 */
.news-bar a.tab { text-decoration: none; display: inline-flex; align-items: center; }
.news-bar a.tab:hover { border-color: var(--primary); color: var(--primary); }
.news-bar a.tab.active { color: #fff; }
.dist-quick { flex: none; display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; padding: 8px 13px; border-radius: 999px; background: #E1F5EE; border: 1px solid #5DCAA5; color: #0F6E56; font-size: 13px; font-weight: 600; text-decoration: none; }
.dist-quick em { font-style: normal; background: rgba(15,110,86,.14); border-radius: 999px; padding: 0 7px; font-size: 11.5px; }
.dist-quick:hover { background: #0F6E56; color: #fff; }
.dist-quick:hover em { background: rgba(255,255,255,.24); }
/* 小屏隐藏胶囊：胶囊占宽约 40% 会把页签挤成一条蓝边（看似截断错乱）；
   当前分类页签本身就是高亮入口，目的地不丢失 */
@media (max-width: 760px) { .news-bar-in .dist-quick { display: none; } }
.dist-wrap { position: relative; flex: none; }
.dist-toggle { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px; border: 1.5px solid #C9D8F6; background: #F5F8FF; color: var(--primary-deep); font-size: 14px; font-weight: 700; cursor: pointer; transition: .18s; white-space: nowrap; }
.dist-toggle:hover, .dist-toggle.open { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 4px 14px rgba(18,73,229,.26); }
.dist-toggle em { font-style: normal; font-weight: 600; font-size: 12.5px; padding: 2px 8px; border-radius: 999px; background: rgba(18,73,229,.1); color: var(--primary); }
.dist-toggle:hover em, .dist-toggle.open em { background: rgba(255,255,255,.24); color: #fff; }
.dist-toggle .chev { transition: transform .18s; }
.dist-toggle.open .chev { transform: rotate(180deg); }
.dist-panel { position: absolute; right: 0; top: calc(100% + 12px); width: min(940px, calc(100vw - 56px)); max-height: 72vh; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 20px 54px rgba(23,43,99,.2); z-index: 70; }
.dist-panel-in { padding: 16px 18px 12px; }
.dist-group + .dist-group { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #E6ECF7; }
.dist-group-h { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 9px; }
.dist-group-h b { font-size: 14px; color: var(--primary-deep); }
.dist-group-h b::before { content: "◆"; font-size: 9px; color: #F2B01E; margin-right: 6px; vertical-align: 1px; }
.dist-group-h span { font-size: 12px; color: var(--text-2); }
.dist-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.dist-card { position: relative; display: block; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; text-decoration: none; transition: .16s; }
.dist-card b { display: block; font-size: 13.5px; color: var(--text); line-height: 1.4; }
.dist-card i { display: block; font-style: normal; font-size: 11.5px; color: var(--text-2); line-height: 1.45; margin-top: 2px; }
.dist-card .dist-towns { display: block; font-style: normal; font-size: 11px; color: #8892A6; line-height: 1.6; margin-top: 5px; padding-top: 5px; border-top: 1px dashed var(--line); letter-spacing: .2px; word-break: break-word; }
.dist-card .n { position: absolute; top: 8px; right: 9px; font-size: 11px; font-weight: 700; color: var(--primary); background: #EEF3FF; border-radius: 999px; padding: 1px 7px; }
.dist-card:hover { border-color: var(--primary); background: #F5F8FF; transform: translateY(-1px); }
.dist-card.is-on { border-color: var(--primary); background: var(--primary); }
.dist-card.is-on b, .dist-card.is-on i { color: #fff; }
.dist-card.is-on .dist-towns { color: rgba(255,255,255,.82); border-top-color: rgba(255,255,255,.28); }
.dist-card.is-on .n { background: rgba(255,255,255,.24); color: #fff; }
.dist-card.is-city { border-color: #C9D8F6; background: #F5F8FF; }
.dist-card.is-empty { border-style: dashed; background: #FAFBFE; opacity: .62; cursor: not-allowed; }
.dist-card.is-empty:hover { transform: none; border-color: var(--line); background: #FAFBFE; }
.dist-note { margin: 14px 0 2px; font-size: 12px; color: var(--text-2); line-height: 1.7; }
.dist-chip { display: inline-flex; align-items: center; gap: 7px; margin: 16px 0 0; padding: 7px 14px; border-radius: 999px; background: #EEF3FF; border: 1px solid #D8E3FF; font-size: 13px; color: var(--primary-deep); }
.dist-chip b { color: var(--primary); }
.dist-chip a { margin-left: 4px; color: var(--text-2); font-weight: 600; }
.dist-chip a:hover { color: #D92D20; }

/* 页签篇数徽标（区县态「全部 / 有内容的分类」） */
.tab-n { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: #EEF3FF; color: var(--primary); font-size: 11.5px; font-weight: 700; line-height: 17px; vertical-align: 1px; }
.tab.active .tab-n { background: rgba(255,255,255,.24); color: #fff; }

/* 区县画像卡：区县页的「小专题」头部 */
.dist-intro-sec { padding-top: 22px; }
.dist-intro { max-width: 900px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px 22px 16px; box-shadow: 0 2px 10px rgba(16,42,100,.04); }
.di-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--primary); }
.di-top b { font-size: 15.5px; color: var(--text); }
.di-n { font-size: 12px; color: var(--primary-deep); background: #EEF3FF; border: 1px solid #D8E3FF; border-radius: 999px; padding: 1px 9px; }
.di-back { margin-left: auto; font-size: 12.5px; color: var(--text-2); text-decoration: none; }
.di-back:hover { color: #D92D20; }
.dist-intro p { margin: 9px 0 0; font-size: 13.5px; line-height: 1.9; color: var(--text-2); }
.di-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.di-tags em { font-style: normal; font-size: 11.5px; color: var(--primary-deep); background: #F5F8FF; border: 1px solid #E4ECFB; border-radius: 6px; padding: 2px 8px; }

/* 列表空态（分类暂无收录时的兜底） */
.news-empty { padding: 40px 24px; text-align: center; background: #fff; border: 1px dashed var(--line); border-radius: 14px; }
.news-empty b { display: block; font-size: 15px; color: var(--text); margin-bottom: 8px; }
.news-empty p { font-size: 13px; color: var(--text-2); line-height: 1.8; max-width: 520px; margin: 0 auto; }

@media (max-width: 1080px) {
  .dist-cards { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .dist-intro { padding: 15px 16px 14px; }
  .di-top b { font-size: 15px; }
  .dist-intro p { font-size: 13px; }
  .news-bar-in { gap: 8px; }
  .news-bar-in .tabs { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; padding-bottom: 2px; }
  .dist-toggle { padding: 8px 12px; font-size: 13px; }
  .dist-toggle em { display: none; }
  .dist-panel { position: fixed; left: 12px; right: 12px; top: 132px; width: auto; max-height: 68vh; }
  .dist-cards { grid-template-columns: repeat(2, 1fr); }
}


/* ---- 名单页 / 总查询页的「数据来源」条：官方公告外链，用于名单自证 ---- */
.src-bar { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.75; color: var(--text-2); background: #F5F8FF; border: 1px solid #DDE6F8; border-left: 3px solid var(--primary); border-radius: 0 10px 10px 0; padding: 10px 14px; margin: 12px 0 16px; }
.src-bar svg { flex: none; margin-top: 3px; color: var(--primary); }
.src-bar b { color: var(--primary-deep); }
.src-bar a { color: var(--primary); font-weight: 600; border-bottom: 1px solid rgba(27,73,200,.28); }
.src-bar a:hover { color: var(--primary-deep); border-bottom-color: var(--primary-deep); }
@media (max-width: 600px) { .src-bar { font-size: 12.5px; padding: 9px 12px; } }

/* ===== 梯度导航：专精特新三页互链（读者定位 + 跨级跳转） ===== */
.grade-nav { margin: 18px 0 20px; padding: 16px 18px 15px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 2px 12px rgba(16,42,100,.05); }
.gn-top { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; color: var(--primary-deep); margin-bottom: 12px; }
.gn-top svg { flex: none; color: var(--primary); }
.gn-rail { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; list-style: none; padding: 0; margin: 0; }
.gn-step { position: relative; padding: 11px 13px 12px; border: 1px solid var(--line); border-radius: 11px; background: #FAFBFE; transition: .2s; }
.gn-step::after { content: "›"; position: absolute; right: -10px; top: 50%; transform: translateY(-50%); color: #B9C4DA; font-size: 18px; font-weight: 700; line-height: 1; }
.gn-step:last-child::after { display: none; }
.gn-step:hover { border-color: #C9D8F6; background: #F7FAFF; }
.gn-step.is-cur { border-color: var(--primary); background: linear-gradient(180deg, #EDF3FF, #F8FBFF); box-shadow: 0 6px 18px rgba(18,73,229,.10); }
.gn-tier { font-size: 11.5px; font-weight: 800; color: var(--primary); letter-spacing: .2px; }
.gn-name { font-size: 14.5px; font-weight: 700; color: var(--text); margin-top: 3px; line-height: 1.4; }
.gn-sub { font-size: 12px; color: var(--text-2); margin-top: 3px; line-height: 1.5; }
.gn-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.gn-a { font-size: 12.5px; font-weight: 700; color: var(--primary); padding: 3px 10px; border-radius: 999px; background: #EEF3FE; transition: .18s; }
.gn-a:hover { background: var(--primary); color: #fff; }
.gn-a.on { background: var(--primary); color: #fff; }
.gn-a.on i { font-style: normal; font-size: 10.5px; opacity: .82; margin-left: 4px; }

/* ===== 下一步推荐卡片（文末转化位） ===== */
.next-step { margin: 26px 0 4px; padding: 18px; border-radius: var(--radius); background: linear-gradient(180deg, #F6F9FF, #FDFEFF); border: 1px solid #E1E9F8; }
.ns-tt { font-size: 13px; font-weight: 800; color: var(--primary-deep); letter-spacing: .3px; margin-bottom: 12px; }
.ns-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(226px, 1fr)); gap: 12px; }
.ns-card { display: block; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: 12px; transition: .2s; }
.ns-card:hover { border-color: var(--primary); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.ns-k { font-size: 14px; font-weight: 700; color: var(--text); line-height: 1.45; }
.ns-d { font-size: 12.5px; color: var(--text-2); line-height: 1.65; margin-top: 6px; }
.ns-go { display: inline-block; margin-top: 9px; font-size: 12.5px; font-weight: 700; color: var(--primary); }
.ns-cta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.ns-cta .btn { padding: 10px 20px; font-size: 14px; }
.ns-tel { font-size: 12.5px; color: var(--text-2); }
.ns-tel:hover { color: var(--primary); }
@media (max-width: 760px) {
  .gn-rail { grid-template-columns: 1fr; gap: 22px; }
  .gn-step::after { content: "↓"; right: 50%; top: auto; bottom: -17px; transform: translateX(50%); font-size: 13px; }
  .ns-grid { grid-template-columns: 1fr; }
  .grade-nav { padding: 14px; }
  .gn-name { font-size: 14px; }
}
