/* ════════════════════════════════════════════════════════════════
   财小云 CaiXiaoYun · site.css （T03 index 正式落地）
   分节：容器 / 通用按钮 / NavBar / Drawer / Hero & Phone /
         Timeline / DuoCards / Steps / Trust / Knowledge /
         CTA band / Footer / QR Modal / 动效降级 / 断点
   规范依据：01-网站设计规范 v1.1 + 02 信息架构 P1
   颜色/圆角/阴影/字体/动效全部走 --cxy-* token；
   唯一例外 = footer 与 CTA band 的暗色作用域（取自 DS 暗色 token 值，注明出处）。
   ════════════════════════════════════════════════════════════════ */


/* ── 容器 ── */
.wrap { max-width: var(--cxy-container-max); margin: 0 auto; padding: 0 var(--cxy-gutter-lg); }

/* 极光细线 — 全站签名元素（T13-A）。撤站内 glow 后，2px 极光渐变升格为贯穿全站的建筑性签名；
   用于 footer 顶分隔、stat 底线、编辑式列表头（T13-B/D 部署）。 */
.aurora-rule {
  height: 2px; border: 0; margin: 0;
  background: var(--cxy-gradient-aurora);
}
.aurora-rule--short { width: 48px; }


/* ── 通用按钮（.btn 基类 + .btn-pri 主 + .btn-soft 副）── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--cxy-space-2);
  font-family: var(--cxy-font-sans); font-weight: var(--cxy-weight-semibold);
  font-size: var(--cxy-size-body); line-height: 1;
  border-radius: var(--cxy-radius-md); padding: var(--cxy-space-3) var(--cxy-space-7);
  border: 0; cursor: pointer; min-height: 44px;
  transition: transform var(--cxy-duration-fast) var(--cxy-ease-standard),
              box-shadow var(--cxy-duration-fast) var(--cxy-ease-standard),
              background var(--cxy-duration-fast) var(--cxy-ease-standard);
}
.btn:active { transform: scale(.98); }
.btn-pri { background: var(--cxy-action); color: var(--cxy-on-color); }
.btn-pri:hover { background: var(--cxy-action-hover); transform: translateY(-1px); }
.btn-pri:focus-visible { box-shadow: var(--cxy-elevation-2), var(--cxy-ring); }
.btn-soft { background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg); }
.btn-soft:hover { background: var(--cxy-tint-cyan-bg); }
.btn-soft:focus-visible { box-shadow: var(--cxy-ring); }
.btn-lg { padding: var(--cxy-space-4) var(--cxy-space-8); font-size: var(--cxy-size-body); }


/* ════════════ NavBar ════════════ */
.nav {
  position: sticky; top: 0; z-index: var(--cxy-z-nav);
  height: 68px; background: var(--cxy-surface-card);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  transition: background var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out),
              backdrop-filter var(--cxy-duration-base) var(--cxy-ease-out);
}
.nav.is-scrolled {
  background: rgba(255,255,255,.78);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  box-shadow: var(--cxy-elevation-1);
}
.nav-in { display: flex; align-items: center; gap: var(--cxy-space-8); height: 68px; }
.nav-logo { display: inline-flex; align-items: center; }
.nav-logo img { height: 44px; display: block; }
.nav-links { display: flex; gap: var(--cxy-space-7); margin-left: auto;
  font-family: var(--cxy-font-sans); font-size: var(--cxy-size-sm);
  font-weight: var(--cxy-weight-medium); color: var(--cxy-ink-2); }
.nav-links a { padding: var(--cxy-space-2) 0; }
.nav-links a:hover { color: var(--cxy-action); }
.nav-cta { margin-left: var(--cxy-space-5); }
.nav-burger {
  display: none; width: 44px; height: 44px; margin-left: auto;
  background: transparent; border: 0; padding: var(--cxy-space-2);
  color: var(--cxy-ink); border-radius: var(--cxy-radius-sm);
}
.nav-burger:hover { background: var(--cxy-subtle); }
.nav-burger:focus-visible { box-shadow: var(--cxy-ring); }
.nav-burger svg { width: 22px; height: 22px; display: block; margin: auto; }

/* ── T31e：主题切换钮 + 双 logo 显隐 ── */
/* logo 双 img（裁决③：禁 filter invert）：亮色显 color 版、暗色切 white 版；
   display:none 同时移出视觉与无障碍树，两图同 alt 只读可见那张。 */
.nav-logo .nav-logo-white { display: none; }
:root[data-theme="dark"] .nav-logo-color { display: none; }
:root[data-theme="dark"] .nav-logo-white { display: block; }
/* 切换钮：原生 <button> 键盘可达 + :focus-visible 焦点环（约定②）；
   图标用 currentColor 随文色，亮色显月（点转暗）、暗色显日（点转亮）。
   Haning 决策：位置从最右端移到「帮助」与「免费体检」之间（header.njk DOM 序），让 CTA 回归最右焦点位；
   姿态降权——color 用 ink-2（与导航链接同色融入，原 ink 过深抢 CTA）+ 图标 22→20px 略收；
   尺寸 44×44 保留（WCAG 2.5.5 触摸目标 ≥44px）。 */
.theme-toggle {
  width: 44px; height: 44px; margin-left: var(--cxy-space-3);
  background: transparent; border: 0; padding: var(--cxy-space-2);
  color: var(--cxy-ink-2); border-radius: var(--cxy-radius-sm);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
  transition: background var(--cxy-duration-fast) var(--cxy-ease-standard);
}
.theme-toggle:hover { background: var(--cxy-subtle); color: var(--cxy-ink); }
.theme-toggle:focus-visible { box-shadow: var(--cxy-ring); outline: 0; }
/* 不写 display:block——base.css 的 `img,svg{display:block}` 已生效(特异性 0,0,1)；
   若在此写 `.theme-toggle svg{display:block}`(0,1,1) 会压过 `.theme-toggle-icon-sun{display:none}`(0,1,0)，
   致月/日两图标同显、被 flex 压到 14px（T31e 遗留，本批次定位修复）。 */
.theme-toggle svg { width: 20px; height: 20px; }
.theme-toggle-icon-sun { display: none; }
:root[data-theme="dark"] .theme-toggle-icon-moon { display: none; }
:root[data-theme="dark"] .theme-toggle-icon-sun { display: block; }
/* 抽屉内切换钮：通栏左对齐 + 文字标签（移动端） */
.drawer-theme-toggle {
  margin-top: var(--cxy-space-5); width: 100%; justify-content: flex-start;
  gap: var(--cxy-space-3); padding: var(--cxy-space-3) var(--cxy-space-2);
}
.drawer-theme-toggle span {
  font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-medium); color: var(--cxy-ink);
}
/* T31e 暗色修复：玻璃导航 is-scrolled 硬编码 rgba(255,255,255,.78) 在暗底成白条，
   改暗底半透明（与 --cxy-surface-page #0B1220 同源）。 */
:root[data-theme="dark"] .nav.is-scrolled {
  background: rgba(11,18,32,.78);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
}
/* T31e 暗色对比度修复（axe color-contrast serious → 0）：--cxy-action/--cxy-blue 暗色提亮至
   #4F8DF5（为「蓝作文字色」在暗底达 ≥4.5:1），但「蓝底白字」元素用该值仅 ~3.3:1 不达 AA。
   蓝与白、蓝与暗底不可用同一色同时达标（对比度范围不重叠），故蓝底白字元素改用
   --cxy-blue-deep #1D4ED8（与白字 ~6.7:1 ✅，未被暗色层重映射保持深蓝）。
   约定：暗色覆盖只加在 :root[data-theme="dark"] 作用域，不动亮色定义（约定㉚ 形态）。 */
:root[data-theme="dark"] .btn-pri { background-color: var(--cxy-blue-deep); }
:root[data-theme="dark"] .btn-pri:hover { background-color: var(--cxy-blue-700); }
:root[data-theme="dark"] .msg-me,
:root[data-theme="dark"] .step .n,
:root[data-theme="dark"] .quiz-n,
:root[data-theme="dark"] .price-toggle-btn.is-active,
:root[data-theme="dark"] .faq-cat-link.is-current,
:root[data-theme="dark"] .steps-v li::before { background-color: var(--cxy-blue-deep); }

/* T32 §A：.wy-dark 是亮色模式下的深色作用域（tax-wuyou 沉轨区），--cxy-action 重定义为 #4F8DF5
   （保蓝作文字色在暗底 ≥4.5:1），但 .btn-pri 白字底用该值仅 3.25:1 不达 AA。蓝底白字改
   --cxy-blue-deep（.wy-dark 未重定义 → 亮色 #1D4ED8，白字 6.7:1 ✅）。
   与上 :root[data-theme="dark"] 同型分域解法（裁决③），待回传 DS 权威源。 */
.wy-dark .btn-pri { background-color: var(--cxy-blue-deep); }
.wy-dark .btn-pri:hover { background-color: var(--cxy-blue-700); }

/* T32 §A 根因修复：绿徽章 .free-tag / .chip-free 自身 color:tint-green-fg (specificity 0,1,0) 被父级
   .free-note span (L470) / .register-card-text span (L1607) 的 color:muted (0,1,1) 静默压过——
   徽章是 <span>，被父级 span 选择器匹配 → 绿字退化为 muted，#64748B on #E7F8F0 = 4.32 不达 AA。
   提 specificity 恢复 tint-green-fg（#047857 on #E7F8F0 = 4.98 ✅）。
   约定㉚ 升级：specificity 压制不可静态 grep，须 computed style 取证（本例 axe message 已足）。 */
.free-note .free-tag,
.register-card-text .chip-free { color: var(--cxy-tint-green-fg); }


/* ════════════ Drawer（移动端抽屉） ════════════ */
.drawer-scrim {
  position: fixed; inset: 0; z-index: var(--cxy-z-drawer);
  background: var(--cxy-scrim); opacity: 0; visibility: hidden;
  transition: opacity var(--cxy-duration-slow) var(--cxy-ease-out),
              visibility var(--cxy-duration-slow) var(--cxy-ease-out);
}
.drawer-scrim.is-open { opacity: 1; visibility: visible; }
.drawer {
  position: fixed; top: 0; right: 0; z-index: calc(var(--cxy-z-drawer) + 1);
  width: min(360px, 88vw); height: 100dvh; background: var(--cxy-surface-card);
  /* visibility 必须跟 transform 一起切换：display:flex 覆盖了 [hidden] 的 display:none，
     若只靠 translateX 移出视口，关闭态的抽屉链接仍在 Tab 焦点序与无障碍树内。 */
  transform: translateX(100%); visibility: hidden;
  transition: transform var(--cxy-duration-slow) var(--cxy-ease-out),
              visibility var(--cxy-duration-slow) var(--cxy-ease-out);
  display: flex; flex-direction: column; padding: var(--cxy-space-6) var(--cxy-space-5);
  box-shadow: var(--cxy-elevation-3);
}
.drawer.is-open { transform: translateX(0); visibility: visible; }
.drawer-close {
  align-self: flex-end; width: 40px; height: 40px; border: 0; background: transparent;
  color: var(--cxy-ink-2); border-radius: var(--cxy-radius-sm); font-size: 24px; line-height: 1;
}
.drawer-close:hover { background: var(--cxy-subtle); }
.drawer-close:focus-visible { box-shadow: var(--cxy-ring); }
.drawer-links { list-style: none; margin: var(--cxy-space-5) 0 0; padding: 0; }
.drawer-links li { border-top: var(--cxy-border-hairline) solid var(--cxy-border); }
.drawer-links li:last-child { border-bottom: var(--cxy-border-hairline) solid var(--cxy-border); }
.drawer-links a { display: block; padding: var(--cxy-space-4) var(--cxy-space-2);
  font-family: var(--cxy-font-sans); font-size: var(--cxy-size-title);
  font-weight: var(--cxy-weight-medium); color: var(--cxy-ink); }
.drawer-links a:hover { color: var(--cxy-action); }
.drawer-ctas { margin-top: auto; display: grid; gap: var(--cxy-space-3); padding-top: var(--cxy-space-5); }


/* ════════════ Hero ════════════ */
.hero { position: relative; padding: var(--cxy-space-10) 0 var(--cxy-space-12);
  overflow: hidden; background: linear-gradient(180deg, var(--cxy-subtle) 0%, var(--cxy-surface-card) 78%); }
.hero-in { display: grid; grid-template-columns: 6fr 6fr; gap: var(--cxy-space-10); align-items: center; }
.hello {
  display: inline-flex; align-items: center; gap: var(--cxy-space-2);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-pill); padding: var(--cxy-space-2) var(--cxy-space-4);
  font-size: var(--cxy-size-caption); color: var(--cxy-ink-2); box-shadow: var(--cxy-elevation-1);
}
.hello .dot-live { width: 8px; height: 8px; border-radius: 50%; background: var(--cxy-positive); }
.hero h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 52px; line-height: var(--cxy-leading-tight); letter-spacing: var(--cxy-tracking-display);
  color: var(--cxy-ink); margin: var(--cxy-space-5) 0 var(--cxy-space-4);
}
.hero h1 .grad {
  background: var(--cxy-gradient-aurora); -webkit-background-clip: text;
  background-clip: text; color: transparent;
}
.hero-sub { font-size: var(--cxy-size-body-article); color: var(--cxy-text); max-width: 26em; margin: 0 0 var(--cxy-space-7); }
.hero-ctas { display: flex; gap: var(--cxy-space-4); flex-wrap: wrap; }
.hero-note { margin-top: var(--cxy-space-4); font-size: var(--cxy-size-caption); color: var(--cxy-muted); }


/* ── 手机对话流 ── */
.phone {
  width: min(400px, 100%); margin-left: auto;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); box-shadow: var(--cxy-elevation-2); overflow: hidden;
}
.phone-top {
  display: flex; align-items: center; gap: var(--cxy-space-3);
  padding: var(--cxy-space-4) var(--cxy-space-5);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  position: relative;
}
.phone-top::after {
  /* 极光签名细线：压住头部底边，给管家卡一点品牌份量 */
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--cxy-gradient-aurora); opacity: .55;
}
.phone-top img {
  width: 46px; height: 46px; border-radius: var(--cxy-radius-md);
  background: var(--cxy-tint-blue-bg); padding: 4px;
}
.phone-top b { font-size: 16.5px; color: var(--cxy-ink); display: block; font-weight: var(--cxy-weight-bold); }
.ph-status {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 3px;
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-positive-ink); background: var(--cxy-tint-green-bg);
  padding: 2px var(--cxy-space-2); border-radius: var(--cxy-radius-pill);
}
.ph-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--cxy-positive); }
/* ── 管家对话气泡规格 — T13-E。角部不对称是对话感的关键细节（约定⑫）：
   AI 侧（msg-ai/msg-card）左上角 xs 收口（贴头像侧），其余圆角 lg；
   用户侧（msg-me）右上角 xs 收口。体系保留，本批只加规格注释 + typing 指示器。 ── */
.chat { padding: var(--cxy-space-5); display: flex; flex-direction: column; gap: var(--cxy-space-3); background: var(--cxy-subtle); }
.msg { max-width: 82%; padding: 11px 15px; border-radius: var(--cxy-radius-lg); font-size: var(--cxy-size-sm); line-height: var(--cxy-leading-body); }
.msg-ai {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  color: var(--cxy-ink-2); border-top-left-radius: var(--cxy-radius-xs); align-self: flex-start;
}
.msg-me {
  background: var(--cxy-blue); color: var(--cxy-on-color);
  border-top-right-radius: var(--cxy-radius-xs); align-self: flex-end;
}
.msg-card {
  align-self: flex-start; width: 88%; background: var(--cxy-surface-card);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); border-top-left-radius: var(--cxy-radius-xs); overflow: hidden;
}
.msg-card .mc-h {
  padding: 11px 15px; font-size: var(--cxy-size-caption); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-ink); border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  display: flex; justify-content: space-between;
}
.msg-card .mc-h span { font-weight: var(--cxy-weight-medium); color: var(--cxy-muted); }
.msg-card ul { list-style: none; margin: 0; padding: var(--cxy-space-2); }
.msg-card li { display: flex; align-items: center; gap: 9px; font-size: var(--cxy-size-caption); color: var(--cxy-ink-2); padding: 7px var(--cxy-space-2); }
.dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.dot-g { background: var(--cxy-positive); }
.dot-y { background: var(--cxy-warning); }
.dot-r { background: var(--cxy-negative); }
.msg-card li em { font-style: normal; margin-left: auto; font-size: var(--cxy-size-label); color: var(--cxy-muted); }
.msg-human {
  display: flex; align-items: center; gap: var(--cxy-space-3); align-self: flex-start;
  background: var(--cxy-tint-green-bg); border-radius: var(--cxy-radius-lg);
  border-top-left-radius: var(--cxy-radius-xs);
  padding: 11px 15px; font-size: var(--cxy-size-caption); color: var(--cxy-tint-green-fg); max-width: 88%;
}
.chat-note { text-align: center; font-size: var(--cxy-size-label); color: var(--cxy-muted); padding: var(--cxy-space-3) 0 var(--cxy-space-4); background: var(--cxy-subtle); }

/* 打字指示器 — T13-E。AI 回应前 600ms 三点动画（对话感生动），复用 reveal observer（约定⑭）。
   只挂非首屏对话卡（hero 首屏保守不加，待批）；reduced-motion 下指示器隐藏、消息直接显示（.rv 机制 :652 兜底）。 */
.msg-typing { display: inline-flex; gap: 4px; padding: 12px 16px; align-self: flex-start; background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border); border-radius: var(--cxy-radius-lg); border-top-left-radius: var(--cxy-radius-xs); }
.msg-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--cxy-muted); animation: typing 1s infinite both; }
.msg-typing i:nth-child(2) { animation-delay: .15s; }
.msg-typing i:nth-child(3) { animation-delay: .3s; }
.msg-typing.is-done { display: none; }
@keyframes typing { 0%,60%,100% { opacity:.3; transform:none; } 30% { opacity:1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .msg-typing { display: none; } }


/* ════════════ Section 通用 ════════════ */
.sec { padding: 96px 0; }
.sec-flush { padding-top: var(--cxy-space-9); }
.sec-alt { background: var(--cxy-subtle); }
/* 节奏变奏 — T13-C。基准 .sec=96px 不变，新增两档：紧凑段 56px / 满版时刻 120px（极光浅底）。
   每主页面 = 1 个满版时刻（band，承载 stats 数字时刻）+ ≥1 个紧凑段（tight）+ 其余基准，
   打破"每区块 96px 等距"的节拍器节奏（设计批判指纹 1）。 */
.sec-tight { padding: 56px 0; }
.sec-band { padding: 120px 0; background: var(--cxy-gradient-soft); }
/* T29 §B：文章文末 CTA + 相关推荐改紧凑段（.sec 96px 基准在文章页叠加致文末累计 512px 空洞）
   兄弟选择器限定文章详情页（art-body 是文章专属），不影响营销首页/工具页的同 class */
.art-body ~ .art-notes ~ .sec.sec-flush { padding-top: var(--cxy-space-7); padding-bottom: var(--cxy-space-8); }
.sec.sec-alt.art-rel { padding-top: var(--cxy-space-8); padding-bottom: var(--cxy-space-8); }

/* stat 数字排印 — T13-B。数字是财税品牌的独有视觉资产。
   配给制：渐变数字每页 ≤1，stats 区每页 ≤1。数字与语境文字相邻（防脱离语境变绝对化承诺）。 */
.stat { display: flex; flex-direction: column; gap: var(--cxy-space-3); }
.stat-num { font-family: var(--cxy-font-display); font-weight: 700; line-height: 1; font-size: clamp(56px, 8vw, 96px); color: var(--cxy-ink); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.stat-num small { font-size: 0.38em; font-weight: 600; color: var(--cxy-ink-2); margin-left: 2px; }
.stat-num.grad { background: var(--cxy-gradient-aurora); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat-label { font-size: var(--cxy-size-body); color: var(--cxy-ink-2); max-width: 18em; }
.stat > .aurora-rule--short { margin-top: var(--cxy-space-2); }
.stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cxy-space-8); }
/* stat--hero：单个大 stat 居中变体（ai-tax ≤2h 满版时刻用） */
.stat--hero { align-items: center; text-align: center; gap: var(--cxy-space-4); }
.stat--hero > h2 { font-family: var(--cxy-font-display); font-size: var(--cxy-size-h2); font-weight: 700; color: var(--cxy-ink); margin: 0; }
.stat--hero .stat-label { max-width: 30em; }
.stat-caveat { font-size: var(--cxy-size-caption); color: var(--cxy-muted); margin: 0; }
/* 深色作用域 .wy-dark 内：ink/ink-2 token 已重定义为亮色（约定④），数字自动亮；
   渐变数字改用亮色版（亮蓝→亮青），保证深色底对比度 ≥4.5:1。 */
.wy-dark .stat-num.grad { background: linear-gradient(135deg, var(--cxy-tint-blue-fg), var(--cxy-tint-cyan-fg)); -webkit-background-clip: text; background-clip: text; }
@media (max-width: 768px) { .stats-row { grid-template-columns: 1fr; gap: var(--cxy-space-7); } }

/* 编辑式编号列表 — T13-D。无卡片底、无 ring、无圆角，规则线分隔。
   与圆角卡片（dcard/plan-card）形成软硬张力（设计批判指纹 2：万物皆圆角卡片）。
   注：任务单规格 var(--cxy-line) 微调为 var(--cxy-border)（--cxy-line token 不存在）。 */
.edit-list { list-style: none; margin: 0; padding: 0; }
.edit-list > li {
  display: grid; grid-template-columns: 88px 1fr; gap: var(--cxy-space-6);
  padding: var(--cxy-space-6) 0;
  border-top: 1px solid var(--cxy-border);
}
.edit-list > li:first-child { border-top: 2px solid transparent; border-image: var(--cxy-gradient-aurora) 1; }
.edit-num { font-family: var(--cxy-font-display); font-weight: 600; font-size: 28px; color: var(--cxy-blue); line-height: 1.2; }
@media (max-width: 768px) { .edit-list > li { grid-template-columns: 56px 1fr; } }

/* 选区反白 — T13-G。选区属可访问性场景（强对比），主色蓝底 + 纯白字；
   #FFFFFF 此处例外允许（不构成硬编码色系违规），on-color 白 token 不适用于 ::selection 伪类。 */
::selection { background: var(--cxy-blue); color: #FFFFFF; }
.sec-h { max-width: 65ch; }
.sec-h h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: var(--cxy-size-h2); letter-spacing: var(--cxy-tracking-tight);
  color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
}
.sec-h p { color: var(--cxy-text); font-size: var(--cxy-size-body); margin: 0; }
/* sec-h → creed-row 兜底间距（T14 审计补）：about §3 三词带原紧贴 sec-h（间距≈12px）；
   兄弟选择器只命中 sec-h 紧邻的 creed-row — knowledge/ai-tax hero 内的 creed-row 不在 sec-h 后，不受影响。 */
.sec-h + .creed-row { margin-top: 40px; }


/* ════════════ 一天时间线 ════════════ */
.tl-grid { display: grid; grid-template-columns: 6fr 6fr; gap: var(--cxy-space-10); align-items: center; }
.timeline { position: relative; margin-top: 52px; padding-left: 26px; }
.timeline::before {
  content: ""; position: absolute; left: 8px; top: 8px; bottom: 8px;
  width: 2px; border-radius: 2px; background: var(--cxy-gradient-aurora);
}
.tl-item { position: relative; padding: 0 0 var(--cxy-space-9) 26px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before {
  content: ""; position: absolute; left: -24px; top: 5px;
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--cxy-surface-card); border: 3px solid var(--cxy-blue);
}
.tl-time {
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-semibold);
  font-size: var(--cxy-size-caption); letter-spacing: var(--cxy-tracking-label);
  color: var(--cxy-action);
}
.tl-item h3 { font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: var(--cxy-space-2) 0 var(--cxy-space-1); }
.tl-item p { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; max-width: 46em; }
.tl-aside {
  background: var(--cxy-gradient-soft); border-radius: var(--cxy-radius-xl);
  padding: var(--cxy-space-8);
}
.tl-aside p {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold);
  font-size: 21px; line-height: 1.55; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-5);
}
.tl-aside span { font-size: var(--cxy-size-sm); color: var(--cxy-text); }


/* ════════════ 双产品线亮/沉双卡 ════════════ */
.duo-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 44px; }
.dcard {
  border-radius: var(--cxy-radius-xl); padding: 38px; position: relative; overflow: hidden;
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.dcard:hover { transform: translateY(-3px); }
/* 亮/沉双卡平衡（Haning 260702-2 反馈：视觉重心偏向税无忧墨卡）：
   AI 卡从纯白升为极光浅底 + 顶部签名渐变条 + 更大光斑，让品牌主线先被看见 */
.dcard-ai { background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border); }
.dcard-ai::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.dcard-ai:hover { box-shadow: var(--cxy-elevation-2); }
.dcard-ai::after {
  content: ""; position: absolute; right: -60px; top: -60px;
  width: 280px; height: 280px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(34,211,238,.26), transparent 70%);
  pointer-events: none;
}
.dcard-wy {
  /* 沉轨墨底 = 全站深色反转区之一（与 footer 同源；CTA band 已改极光浅底）；
     色值取自 DS v1.2 暗色 token（colors.css :root[data-theme="dark"]），
     本地重定义 token 让子元素直接引用 var(--cxy-*)，零硬编码进属性。 */
  --cxy-wy-bg: #0F172A;
  --cxy-ink: #F1F5FB;
  --cxy-text: #C2CCDE;
  --cxy-muted: #93A0BC;
  --cxy-border: #25304A;
  --cxy-tint-green-bg: rgba(52,211,153,.16);
  --cxy-tint-green-fg: #6EE7B7;
  background: var(--cxy-wy-bg); color: var(--cxy-text);
}
.dcard-wy:hover { box-shadow: var(--cxy-elevation-2); }
.line-tag {
  /* 产品线名是双卡的第一层级信息（Haning 260702 反馈：11px 读不出两条产品线），升为 14px 加粗 */
  display: inline-flex; font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-bold);
  padding: 6px var(--cxy-space-4); border-radius: var(--cxy-radius-sm);
}
.tag-blue { background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg); }
.tag-green { background: var(--cxy-tint-green-bg); color: var(--cxy-tint-green-fg); }
.dcard h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 26px; margin: var(--cxy-space-4) 0 var(--cxy-space-3); color: var(--cxy-ink);
}
.dcard p { font-size: var(--cxy-size-body); margin: 0 0 var(--cxy-space-5); color: var(--cxy-text); max-width: 30em; }
.dcard .who {
  font-size: var(--cxy-size-caption); border-top: 1px dashed var(--cxy-border);
  padding-top: var(--cxy-space-4); color: var(--cxy-muted);
}
.dcard .go {
  display: inline-flex; align-items: center; gap: var(--cxy-space-2);
  font-weight: var(--cxy-weight-semibold); font-size: var(--cxy-size-sm);
  margin: var(--cxy-space-2) 0 var(--cxy-space-4); color: var(--cxy-action);
}
.dcard .go:hover { text-decoration: underline; }
.dcard .go:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); }
/* 沉轨墨卡上蓝链接对比不足（约2.5:1），照比稿 C 用薄荷绿（--cxy-tint-green-fg 已在 .dcard-wy 作用域定义） */
.dcard-wy .go { color: var(--cxy-tint-green-fg); }
/* 提权到 .dcard .disclaimer：原单类选择器被 .dcard p（16px 正文）覆盖，免责句一直按正文大小渲染 */
.dcard .disclaimer { font-size: var(--cxy-size-label); margin: var(--cxy-space-2) 0 0; color: var(--cxy-muted); }


/* ════════════ L0 三步 ════════════ */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 44px; list-style: none; padding: 0; margin-left: 0; }
.step {
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: 30px;
  background: var(--cxy-surface-card); position: relative;
}
.step .n {
  position: absolute; top: -16px; left: 26px;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--cxy-blue); color: var(--cxy-on-color);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-title);
}
.step h3 { font-size: 17.5px; font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: var(--cxy-space-2) 0; }
.step p { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; }
.free-note { margin-top: 26px; display: flex; align-items: center; gap: var(--cxy-space-3); flex-wrap: wrap; }
/* 步骤 1 内嵌扫码引导（Haning 260702-3 反馈）：小云图标 chip，悬停/聚焦弹小程序码，点按仍唤起 QR 弹窗 */
.step-scan {
  position: relative; display: inline-flex; align-items: center; gap: var(--cxy-space-2);
  margin-top: var(--cxy-space-4); padding: 6px var(--cxy-space-4) 6px 6px;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-pill); cursor: pointer; font-family: inherit;
  font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold); color: var(--cxy-action);
  box-shadow: var(--cxy-elevation-1);
  transition: box-shadow var(--cxy-duration-fast) var(--cxy-ease-out),
              transform var(--cxy-duration-fast) var(--cxy-ease-out);
}
.step-scan:hover { transform: translateY(-1px); box-shadow: var(--cxy-elevation-2); }
.step-scan:focus-visible { box-shadow: var(--cxy-ring); }
.step-scan > img { width: 30px; height: 30px; border-radius: 50%; background: var(--cxy-tint-blue-bg); padding: 3px; }
.free-tag {
  display: inline-flex; font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-tint-green-fg); background: var(--cxy-tint-green-bg);
  padding: 5px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
}
.free-note span { font-size: var(--cxy-size-caption); color: var(--cxy-muted); }


/* ════════════ 信任区：2×2 tiles + 资质侧栏 ════════════ */
.trust { display: grid; grid-template-columns: 7fr 5fr; gap: 22px; margin-top: 44px; }
.tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.tile {
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: 26px;
  background: var(--cxy-surface-card);
}
.tile h3 {
  font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink);
  margin: 0 0 var(--cxy-space-2); display: flex; align-items: center; gap: 9px;
}
.tile h3 .ic {
  width: 26px; height: 26px; border-radius: var(--cxy-radius-sm);
  background: var(--cxy-tint-blue-bg); display: inline-flex; align-items: center; justify-content: center;
}
.tile h3 svg { width: 15px; height: 15px; stroke: var(--cxy-blue); fill: none; stroke-width: 2; }
.tile p { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; }
.cert-side {
  background: var(--cxy-subtle); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: 30px;
}
.cert-side h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 19px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-5);
}
.cert-side ul { list-style: none; margin: 0; padding: 0; }
.cert-side li {
  padding: var(--cxy-space-3) 0;
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
  font-size: var(--cxy-size-sm); color: var(--cxy-text);
}
.cert-side li b { color: var(--cxy-ink); display: block; font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-bold); }


/* ════════════ 知识精选 3 卡 ════════════ */
.art-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 40px; }
.acard {
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); overflow: hidden; background: var(--cxy-surface-card);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.acard:hover { transform: translateY(-3px); box-shadow: var(--cxy-elevation-1); }
.acard:focus-within { box-shadow: var(--cxy-ring); }
.sec-h-row { max-width: none; display: flex; align-items: baseline; justify-content: space-between; gap: var(--cxy-space-4); flex-wrap: wrap; }
.more-link { font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold); color: var(--cxy-action); }
.more-link:hover { text-decoration: underline; }
.more-link:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); }
/* .acard-cover = 无图文字卡封面位（T15 裁决④：封面素材阻塞，改无图卡绕开「渐变占位图」禁令）
   分类 line-tag + 日期/阅读时长 meta 替代原 .ph 渐变色块；封面素材到位后另立单加回图卡版式 */
.acard-cover {
  padding: var(--cxy-space-4) var(--cxy-space-5);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  background: var(--cxy-subtle);
  display: flex; align-items: center; gap: var(--cxy-space-3); flex-wrap: wrap;
}
.acard-cover .line-tag { font-size: var(--cxy-size-label); }
/* T19 1.6：删 .acard-meta（Date 对象渲染成英文长串致乱码；卡片去 date/reading_time meta，底部改「阅读全文 →」文字链） */
.acard-body { padding: var(--cxy-space-5) 22px; }
.acard h3 { font-size: 16.5px; font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2); }
.acard span { font-size: var(--cxy-size-caption); color: var(--cxy-muted); }
.acard-desc { font-size: var(--cxy-size-sm); color: var(--cxy-muted); margin: 0; line-height: var(--cxy-leading-body); }
.acard-body a { color: inherit; }
.acard-body a:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); }
/* T19 1.6：卡片底部「阅读全文 →」文字链（specificity 高于 .acard-body a inherit，确保用 action 色） */
.acard-body .acard-read { display: inline-block; margin-top: var(--cxy-space-3); font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold); color: var(--cxy-action); }
.acard-body .acard-read:hover { color: var(--cxy-action-hover); text-decoration: underline; }
.acard-body .acard-read:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); }


/* ════════════ CTA band（极光浅底召唤卡；Haning 260702-5a 反馈：弃墨底，与 footer 拉开、回归轻快极光感） ════════════ */
.cta-band { padding: 0 0 var(--cxy-space-12); }
.cta-card {
  background: var(--cxy-gradient-soft);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  color: var(--cxy-text);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-10);
  display: grid; grid-template-columns: 7fr 5fr; gap: var(--cxy-space-10);
  align-items: center; position: relative; overflow: hidden;
}
.cta-card::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.cta-card::after {
  content: ""; position: absolute; left: -100px; bottom: -160px;
  width: 480px; height: 380px;
  background: radial-gradient(closest-side, rgba(34,211,238,.20), transparent 70%);
  pointer-events: none;
}
.cta-card h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 34px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
  position: relative; z-index: 1;
}
.cta-card p { color: var(--cxy-text); font-size: var(--cxy-size-body); margin: 0; position: relative; z-index: 1; }
.cta-qr-pair { display: flex; gap: var(--cxy-space-5); position: relative; z-index: 1; flex-wrap: wrap; }
.cta-qr-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  box-shadow: var(--cxy-elevation-1); border-radius: var(--cxy-radius-lg);
  padding: var(--cxy-space-5) var(--cxy-space-6); text-align: center; flex: 1; min-width: 160px;
}
.cta-qr-card img { width: 116px; height: 116px; border-radius: var(--cxy-radius-sm); margin: 0 auto; }
.cta-qr-card b { display: block; margin-top: var(--cxy-space-3); font-size: var(--cxy-size-sm); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.cta-qr-card span { font-size: var(--cxy-size-caption); color: var(--cxy-muted); }


/* ════════════ Footer（深色反转区） ════════════ */
.footer {
  /* 暗色作用域：色值取自 DS v1.2 暗色 token（colors.css :root[data-theme="dark"]）。
     深色反转区现存两处：footer + 税无忧沉轨墨卡（06 v1.1 上限三类内）；
     本地重定义 token，子元素全部走 var(--cxy-*)，次要文字对比 ≥4.5:1。 */
  --cxy-footer-bg: #0B1220;
  --cxy-footer-card: #152035;      /* 社媒圆形容器底色（介于 bg #0B1220 与 border #25304A；v14 #1e293b 同位值，token 化避免硬编码） */
  --brand-wechat: #07C160;           /* 微信品牌绿（第三方品牌色，非 DS token；指示性合理使用，hover 识别锚点） */
  --brand-rednote: #FF2442;          /* 小红书品牌红（第三方品牌色，非 DS token；指示性合理使用，hover 识别锚点） */
  --cxy-blue: #4F8DF5;           /* T28：footer 暗色作用域提亮主蓝（DS colors.css L96 暗色 token）；修原隐性陷阱——footer 内 var(--cxy-blue) 原落亮色 #2563EB */
  --cxy-ink: #F1F5FB;
  --cxy-text: #C2CCDE;
  --cxy-muted: #A6B4CC;
  --cxy-faint: #93A0BC;
  --cxy-border: #25304A;
  background: var(--cxy-footer-bg); color: var(--cxy-text);
  padding: 72px 0 48px; font-size: var(--cxy-size-caption);
}
/* footer 顶部分隔 = 极光签名细线（T13-A 部署）；负 margin 抵消 padding-top 让线贴 footer 顶边缘。
   深色底上极光蓝→青渐变清晰可辨，与全站细线签名同源。
   T14：顶距 44→72px（Haning 反馈「底部导航栏距离上方特别近」）；负 margin 同步 -72px 保贴顶机制。 */
.footer > .aurora-rule { margin-top: -72px; margin-bottom: 70px; }
  /* 总指挥批次7验收亲修：负margin把后续内容一并上提，72px顶距被整体抵消
     （Haning三报根因）；margin-bottom回填 70+2px=72px */
.footer-in {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: var(--cxy-space-8);
}
.footer img.footer-logo {
  height: var(--cxy-space-9);                        /* T28：42→48px 温和放大（Haning 反馈 logo 偏小）*/
  margin-top: calc(var(--cxy-space-1) * -1.5);       /* T28：-6px 抵消 PNG 顶部视觉留白，logo 视觉顶与 .footer-h 视觉顶共线（T32 §B：h4→p.footer-h） */
  margin-bottom: var(--cxy-space-3);
  display: block;
}
.footer p { margin: 3px 0; }
.footer-contact { color: var(--cxy-muted); }
.footer-col .footer-h {                              /* T32 §B：原 h4 摘出标题树改 p.footer-h（页脚栏目题非文档标题），视觉零变化 */
  position: relative; padding-bottom: 8px;
  font-family: var(--cxy-font-sans); font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  letter-spacing: var(--cxy-tracking-label); text-transform: uppercase;
  color: var(--cxy-muted); margin: 0 0 var(--cxy-space-3);
}
.footer-col .footer-h::after {                       /* T28：24px 极光下划线点缀，强化 Aurora 签名（对症"显得平"真因）*/
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 24px; height: 2px; border-radius: 2px;
  background: var(--cxy-gradient-aurora);
}
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin: 0 0 var(--cxy-space-2); }
.footer-links a { color: var(--cxy-text); }
.footer-links a:hover { color: var(--cxy-ink); text-decoration: underline; }
/* 社媒：4 入口（小程序 / 订阅号 / 视频号 / 小红书），v14 fill 品牌 logo + 圆形容器；
   hover = 白底 + 品牌色描边/图标 + 上浮 + 品牌色光晕阴影（v14 移植，Haning 260707 拍板「v14 那套好看，直接用」）。
   品牌色为第三方色（微信绿 #07C160 / 小红书红 #FF2442），非 DS token——指示性合理使用，hover 识别锚点。 */
.footer-follow { display: flex; gap: var(--cxy-space-2); margin-top: var(--cxy-space-5); }
.follow-item {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0;
  background: var(--cxy-footer-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: 50%; cursor: pointer; color: var(--cxy-text);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-standard),
              background var(--cxy-duration-base) var(--cxy-ease-standard),
              border-color var(--cxy-duration-base) var(--cxy-ease-standard),
              color var(--cxy-duration-base) var(--cxy-ease-standard),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-standard);
}
.follow-item svg { width: 20px; height: 20px; flex: none; }
.follow-item:hover { transform: translateY(-3px); }
.follow-item.is-mp:hover { background: var(--cxy-on-color); border-color: var(--cxy-blue); color: var(--cxy-blue); box-shadow: 0 10px 20px -10px rgba(79, 141, 245, 0.55); }
.follow-item.is-wechat:hover { background: var(--cxy-on-color); border-color: var(--brand-wechat); color: var(--brand-wechat); box-shadow: 0 10px 20px -10px rgba(7, 193, 96, 0.55); }
.follow-item.is-rednote:hover { background: var(--cxy-on-color); border-color: var(--brand-rednote); color: var(--brand-rednote); box-shadow: 0 10px 20px -10px rgba(255, 36, 66, 0.55); }
.follow-item:focus-visible { box-shadow: var(--cxy-ring); }
/* 悬停/聚焦弹码卡（footer 社媒与 L0 扫码 chip 共用）。
   白色弹卡可能嵌套在暗色作用域内：恢复亮色 token（06 v1.1 嵌套亮卡规则） */
.qr-pop {
  --cxy-ink: #0F172A;
  --cxy-muted: #94A3B8;
  position: absolute; bottom: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: 140px; padding: var(--cxy-space-3);
  background: var(--cxy-on-color); border-radius: var(--cxy-radius-md); box-shadow: var(--cxy-elevation-2);
  opacity: 0; visibility: hidden; pointer-events: none; z-index: 2;
  transition: opacity var(--cxy-duration-base) var(--cxy-ease-out),
              transform var(--cxy-duration-base) var(--cxy-ease-out),
              visibility var(--cxy-duration-base) var(--cxy-ease-out);
}
.follow-item:hover .qr-pop,
.follow-item:focus .qr-pop,
.follow-item:focus-visible .qr-pop,
.step-scan:hover .qr-pop,
.step-scan:focus .qr-pop,
.step-scan:focus-visible .qr-pop { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.qr-pop img { width: 116px; height: 116px; display: block; margin: 0 auto; border-radius: var(--cxy-radius-xs); }
.qr-pop b { display: block; margin-top: var(--cxy-space-2); font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold); color: var(--cxy-muted); text-align: center; }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center; gap: var(--cxy-space-4); flex-wrap: wrap;
  margin-top: var(--cxy-space-8); padding-top: var(--cxy-space-5);
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
  color: var(--cxy-faint); font-size: var(--cxy-size-caption);
}
.footer a { color: inherit; }
.footer a:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); }

/* 信任标签带（v14 移植 → v2 精简）：
   Haning 260707 反馈「排版不和谐 / 左边怼出来 / 两条横线占空间」→
   ① 去掉自身 border-top（只留 footer-bottom 那条线，消灭"两条横线夹空"）
   ② 居中排列（justify-content: center，解决左半空右半空的失衡）
   ③ 收紧 gap 32→20、图标 26→20、字号 label→caption，整体退为次要信息不抢戏
   图标用 footer 作用域 --cxy-blue #4F8DF5 + 同色光晕（rgba 79,141,245 = #4F8DF5 展开值） */
.footer-trust {
  padding: var(--cxy-space-3) 0 0;
  display: flex; align-items: center; justify-content: center; gap: var(--cxy-space-5); flex-wrap: wrap;
  margin-top: var(--cxy-space-6);
}
.footer-trust-item {
  display: flex; align-items: center; gap: var(--cxy-space-2);
  color: var(--cxy-muted); font-size: var(--cxy-size-caption); font-weight: var(--cxy-weight-medium);
  transition: color var(--cxy-duration-base) var(--cxy-ease-standard);
}
.footer-trust-item svg {
  width: 20px; height: 20px; color: var(--cxy-blue); flex: none;
  filter: drop-shadow(0 0 6px rgba(79, 141, 245, 0.35));
  transition: transform var(--cxy-duration-base) var(--cxy-ease-standard),
              color var(--cxy-duration-base) var(--cxy-ease-standard),
              filter var(--cxy-duration-base) var(--cxy-ease-standard);
}
.footer-trust-item:hover { color: var(--cxy-text); }
.footer-trust-item:hover svg { transform: translateY(-2px) scale(1.08); filter: drop-shadow(0 6px 10px rgba(79, 141, 245, 0.6)); }

/* footer-bottom 右侧法律/爬虫链接组（ICP / sitemap / llms.txt） */
.footer-bottom-links { display: flex; gap: var(--cxy-space-4); flex-wrap: wrap; }
.footer-bottom-links a { color: var(--cxy-faint); transition: color var(--cxy-duration-fast) var(--cxy-ease-standard); }
.footer-bottom-links a:hover { color: var(--cxy-muted); }


/* ════════════ QR Modal（DS 视觉重制 · T33 卡片化升级） ════════════
   Haning 反馈：原版两码直贴弹窗底、无独立层次→拥挤不高级。
   升级：①弹窗加宽加留白；②每码独立浅底卡（与 .cta-qr-card 视觉语言统一）；
        ③intent 高亮改 aria-current 语义属性 + CSS 柔和高亮（原 JS 内联 3px outline 生硬）。 */
.qr-modal-scrim {
  position: fixed; inset: 0; z-index: var(--cxy-z-modal);
  background: var(--cxy-scrim); display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity var(--cxy-duration-slow) var(--cxy-ease-out),
              visibility var(--cxy-duration-slow) var(--cxy-ease-out);
  padding: var(--cxy-space-4);
}
.qr-modal-scrim.is-open { opacity: 1; visibility: visible; }
.qr-modal {
  width: min(460px, 100%); background: var(--cxy-surface-card);
  border-radius: var(--cxy-radius-2xl); box-shadow: var(--cxy-elevation-3);
  padding: var(--cxy-space-7) var(--cxy-space-7) var(--cxy-space-8);
  transform: translateY(12px) scale(.98);
  transition: transform var(--cxy-duration-slow) var(--cxy-ease-spring);
}
.qr-modal-scrim.is-open .qr-modal { transform: translateY(0) scale(1); }
.qr-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--cxy-space-3); margin-bottom: var(--cxy-space-6); }
.qr-modal-head h3 { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 24px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2); line-height: 1.2; }
.qr-modal-head p { margin: 0; font-size: var(--cxy-size-sm); color: var(--cxy-muted); }
.qr-modal-close {
  width: 40px; height: 40px; flex: none; border: 0; background: transparent;
  color: var(--cxy-muted); font-size: 26px; line-height: 1;
  border-radius: var(--cxy-radius-sm);
}
.qr-modal-close:hover { background: var(--cxy-subtle); color: var(--cxy-ink-2); }
.qr-modal-close:focus-visible { box-shadow: var(--cxy-ring); }
.qr-modal-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-5); }
/* 卡片化：浅底 + 轻边框 + 圆角，每码独立成卡（原版直贴弹窗底零层次） */
.qr-modal-card {
  text-align: center;
  background: var(--cxy-subtle);
  border: 1px solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg);
  padding: var(--cxy-space-6) var(--cxy-space-4);
  transition: border-color var(--cxy-duration-base) var(--cxy-ease-standard),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-standard),
              background var(--cxy-duration-base) var(--cxy-ease-standard);
}
/* intent 选中态：柔和高亮（白底 + 蓝边 + 轻阴影），aria-current=true 由 site.js 设 */
.qr-modal-card[aria-current="true"] {
  background: var(--cxy-surface-card);
  border-color: var(--cxy-blue);
  box-shadow: var(--cxy-elevation-1);
}
.qr-modal-card img { width: 140px; height: 140px; object-fit: contain; border-radius: var(--cxy-radius-md); margin: 0 auto; }
.qr-modal-card b { display: block; margin-top: var(--cxy-space-4); font-size: var(--cxy-size-base); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.qr-modal-card span { display: block; margin-top: var(--cxy-space-1); font-size: var(--cxy-size-caption); color: var(--cxy-muted); }


/* ════════════ Hero 对话流渐入动效（叙事动机） ════════════ */
.phone [data-reveal] { opacity: 0; transform: translateY(8px); }
.phone.is-revealing [data-reveal] {
  animation: chat-in var(--cxy-duration-slow) var(--cxy-ease-out) forwards;
}
.phone.is-revealing [data-reveal]:nth-child(1) { animation-delay: 0ms; }
.phone.is-revealing [data-reveal]:nth-child(2) { animation-delay: 200ms; }
.phone.is-revealing [data-reveal]:nth-child(3) { animation-delay: 400ms; }
.phone.is-revealing [data-reveal]:nth-child(4) { animation-delay: 600ms; }
.phone.is-revealing [data-reveal]:nth-child(5) { animation-delay: 800ms; }
.phone.is-revealing [data-reveal]:nth-child(6) { animation-delay: 1000ms; }
@keyframes chat-in { to { opacity: 1; transform: translateY(0); } }


/* ════════════ 滚动渐入基线（T04 修订1 · 动机：区块随浏览节奏落座） ════════════
   .rv 由 JS 添加（无 JS / reduced-motion 时不加，内容始终可见）；
   进入视口加 .rv-in，同父级兄弟经 --rv-delay 错峰 ≤270ms。只动 transform/opacity。 */
.rv { opacity: 0; transform: translateY(12px); }
.rv-in {
  opacity: 1; transform: translateY(0);
  transition: opacity var(--cxy-duration-slow) var(--cxy-ease-out),
              transform var(--cxy-duration-slow) var(--cxy-ease-out);
  transition-delay: var(--rv-delay, 0ms);
}

/* Hero 极光签名一次性入场（动机：首屏落座；单次不循环，只动 opacity） */
.hero h1 .grad {
  animation: grad-in var(--cxy-duration-slow) var(--cxy-ease-out) 1 both;
}
@keyframes grad-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* 决策树推荐卡弹出（动机：推荐结果反馈；spring 微回弹） */
.quiz-result-card {
  animation: pop-in var(--cxy-duration-slow) var(--cxy-ease-spring) 1 both;
}
@keyframes pop-in {
  from { opacity: 0; transform: scale(.96) translateY(6px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}


/* ════════════ 动效降级 ════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .phone [data-reveal] { opacity: 1; transform: none; }
  .rv { opacity: 1; transform: none; }
}


/* ════════════ 断点 ════════════ */
@media (max-width: 900px) {
  .hero-in, .tl-grid, .duo-cards, .trust, .cta-card { grid-template-columns: 1fr; }
  .steps, .art-grid, .tiles { grid-template-columns: 1fr; }
  .phone { margin: 0 auto; }
  .footer-in { grid-template-columns: 1fr; }
  .footer-trust { gap: var(--cxy-space-3); }
}
@media (max-width: 768px) {
  .nav-links, .nav-cta { display: none; }
  .nav-in > .theme-toggle { display: none; }
  .nav-burger { display: inline-flex; }
  .hero h1 { font-size: 40px; }
  .sec { padding: 64px 0; }
  .cta-card { padding: var(--cxy-space-7); grid-template-columns: 1fr; }
  .cta-card h2 { font-size: 26px; }
  /* T14：footer 移动端收敛 56/40，负 margin 同步 -56（桌面 72/48 的紧凑版）。 */
  .footer { padding: 56px 0 40px; }
  .footer > .aurora-rule { margin-top: -56px; margin-bottom: 54px; }
  /* P07：手机端 footer 精简——隐藏「产品服务」「知识与帮助」两列 + trust 三段，
     保留 Logo/Slogan/社媒/联系我们/版权备案（服务协议/隐私已移到版权行不丢）。 */
  .footer-col:nth-child(2), .footer-col:nth-child(3) { display: none; }
  .footer-trust { display: none; }
}
@media (max-width: 375px) {
  .wrap { padding: 0 var(--cxy-margin-min); }
  .hero h1 { font-size: 34px; }
}


/* ════════════════════════════════════════════════════════════════
   /ai-tax/ 页面样式（T04）
   分节：Hero / 三句口诀 / zigzag 演示 / 真人 ≤2h / 选档决策树 /
         定价表 / 价值锚 / FAQ / 断点
   Token 零硬编码；颜色/圆角/阴影/字体/动效全部 var(--cxy-*)
   ════════════════════════════════════════════════════════════════ */


/* ── Hero 工作台演示卡 ── */
.hero-aitx .aitx-stage { width: min(440px, 100%); margin-left: auto; }
.aitx-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); box-shadow: var(--cxy-elevation-2); overflow: hidden;
}
.aitx-card-h {
  display: flex; align-items: center; justify-content: space-between; gap: var(--cxy-space-3);
  padding: var(--cxy-space-4) var(--cxy-space-5);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  position: relative;
}
.aitx-card-h::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--cxy-gradient-aurora); opacity: .55;
}
.aitx-card-h b { font-size: 15px; color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.aitx-card-body { padding: var(--cxy-space-4); display: grid; gap: var(--cxy-space-3); background: var(--cxy-subtle); }
.aitx-tile {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-4);
}
.aitx-label {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-muted); letter-spacing: var(--cxy-tracking-label);
  text-transform: uppercase;
}
.aitx-deadline-row { display: flex; align-items: baseline; gap: 6px; margin-top: var(--cxy-space-2); }
.aitx-big { font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy); font-size: 36px; color: var(--cxy-action); line-height: 1; }
.aitx-unit { font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); font-weight: var(--cxy-weight-bold); }
.aitx-tile-sub { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin-left: auto; }
.aitx-invoice-num { display: flex; align-items: baseline; gap: 4px; margin-top: 6px; }
.aitx-invoice-num b { font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy); font-size: 28px; color: var(--cxy-ink); line-height: 1; }
.aitx-invoice-num span { font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); }
.aitx-mini { list-style: none; margin: var(--cxy-space-3) 0 0; padding: var(--cxy-space-2) 0 0; border-top: var(--cxy-border-hairline) solid var(--cxy-border); display: grid; gap: 4px; }
.aitx-mini li { display: flex; align-items: center; gap: 8px; font-size: var(--cxy-size-label); color: var(--cxy-ink-2); }
.aitx-mini li em { font-style: normal; margin-left: auto; color: var(--cxy-muted); }
.aitx-risk-row { display: flex; align-items: center; gap: 9px; margin-top: 6px; font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); }
/* 注记在演示卡外裸放，去灰底（T04 修订1：灰色无圆角方块） */
.aitx-stage .chat-note { padding-top: var(--cxy-space-3); background: transparent; }


/* ── 三句口诀导览 ── */
.sec-creed { padding: 56px 0; }
.creed-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cxy-space-4); }
.creed-band {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
  padding: var(--cxy-space-6) var(--cxy-space-6);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); cursor: pointer; text-align: left;
  font-family: inherit; transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
  position: relative; overflow: hidden;
}
.creed-band::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--cxy-gradient-aurora); opacity: .8;
}
.creed-band:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-1); }
.creed-band:focus-visible { box-shadow: var(--cxy-ring); }
.creed-tag {
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-action); letter-spacing: var(--cxy-tracking-label);
}
.creed-band p { margin: 0; font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 21px; color: var(--cxy-ink); line-height: 1.35; }
.creed-sub { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; }


/* ── zigzag 演示分栏 ── */
.zig {
  display: grid; grid-template-columns: 5fr 6fr; gap: var(--cxy-space-10);
  align-items: center; margin-top: 72px;
}
.zig + .zig { margin-top: 96px; }
.zig-l .zig-stage { order: -1; }
.zig-text .line-tag { margin-bottom: var(--cxy-space-3); }
.zig-text h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 26px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3); line-height: 1.35;
}
.zig-text p { font-size: var(--cxy-size-body); color: var(--cxy-text); margin: 0; max-width: 30em; }
/* T04 修订2：演示卡统一 440px（与 Hero 卡/报告卡同宽）；
   图右行贴齐容器右缘（原 380/420px 靠左，右侧悬空 ~200px，模块显得比上下区块窄） */
.zig .phone { width: 100%; max-width: 440px; margin: 0; }
.zig .chat { background: var(--cxy-subtle); }
.zig-r .zig-stage > * { margin-left: auto; }

/* 拍票入账 4 步流程（2×2 网格，T04 修订1：单列卡过长留白大） */
.flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-3); }
.flow li {
  display: grid; grid-template-columns: 32px 1fr; gap: var(--cxy-space-3); align-items: start;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-4) var(--cxy-space-4);
}
.flow .n {
  grid-row: 1 / span 2; /* 序号占满两行，h4/p 依次落第二列（T04 修订2：原 p 被自动布局挤进 32px 列，两字一折行） */
  width: 32px; height: 32px; border-radius: 50%; background: var(--cxy-tint-blue-bg);
  color: var(--cxy-action); display: flex; align-items: center; justify-content: center;
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-sm);
}
.flow h4 { grid-column: 2; margin: 0 0 2px; font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); }
.flow p { grid-column: 2; margin: 0; font-size: var(--cxy-size-caption); color: var(--cxy-text); }

/* 开票归集列表卡（复用 .msg-card，扩宽度） */
.aitx-listcard { width: 100%; max-width: 440px; border-top-left-radius: var(--cxy-radius-lg); }
.aitx-listcard ul { padding: var(--cxy-space-2); }
.aitx-listcard li { padding: 9px var(--cxy-space-2); font-size: var(--cxy-size-sm); }

/* 体检报告卡 */
.report {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); overflow: hidden; box-shadow: var(--cxy-elevation-1);
  max-width: 440px;
}
.report-h {
  display: flex; justify-content: space-between; align-items: baseline; gap: var(--cxy-space-3);
  padding: var(--cxy-space-4) var(--cxy-space-5);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
}
.report-h b { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 17px; color: var(--cxy-ink); }
.report-h span { font-size: var(--cxy-size-label); color: var(--cxy-muted); }
.report-list { list-style: none; margin: 0; padding: var(--cxy-space-2); }
.report-list li {
  display: flex; align-items: center; gap: 9px; padding: 9px var(--cxy-space-3);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  font-size: var(--cxy-size-sm); color: var(--cxy-ink-2);
}
.report-list li:last-child { border-bottom: 0; }
.report-list li em { font-style: normal; margin-left: auto; font-size: var(--cxy-size-label); color: var(--cxy-muted); }
.report-foot { padding: var(--cxy-space-3) var(--cxy-space-5); font-size: var(--cxy-size-label); color: var(--cxy-muted); background: var(--cxy-subtle); }


/* ── 真人 ≤2h 横幅 ── */
.sec-human { padding: 56px 0 64px; }
.human-band {
  background: var(--cxy-tint-blue-bg); border: 1px solid color-mix(in srgb, var(--cxy-blue) 20%, transparent);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-10) var(--cxy-space-10);
  display: grid; grid-template-columns: 7fr 5fr; gap: var(--cxy-space-10); align-items: center;
  position: relative; overflow: hidden;
}
.human-band::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.human-text .line-tag { margin-bottom: var(--cxy-space-4); }
.human-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 30px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
}
.human-text p { font-size: var(--cxy-size-body); color: var(--cxy-ink-2); margin: 0 0 var(--cxy-space-3); max-width: 32em; }
.human-caveat { font-size: var(--cxy-size-caption) !important; color: var(--cxy-muted) !important; }
.human-side { display: flex; justify-content: center; }
.human-clock {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: var(--cxy-space-6); border-radius: var(--cxy-radius-xl);
  background: var(--cxy-surface-card); box-shadow: var(--cxy-elevation-1);
}
.human-clock-num { font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy); font-size: 56px; line-height: 1; color: var(--cxy-action); }
.human-clock-unit { font-size: var(--cxy-size-body); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.human-clock-sub { font-size: var(--cxy-size-label); color: var(--cxy-muted); margin-top: var(--cxy-space-2); }


/* ── 选档决策树 ── */
.quiz { display: grid; gap: var(--cxy-space-4); margin-top: 40px; }
.quiz-q {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-5) var(--cxy-space-6);
  margin: 0; min-width: 0;
}
.quiz-q legend {
  display: flex; align-items: center; gap: var(--cxy-space-3);
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold); font-size: 17px;
  color: var(--cxy-ink); padding: 0; margin-bottom: var(--cxy-space-3);
}
.quiz-n {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%; background: var(--cxy-blue); color: var(--cxy-on-color);
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-sm);
}
.quiz-opt {
  display: inline-flex; align-items: center; gap: 8px; margin-right: var(--cxy-space-4);
  padding: 8px var(--cxy-space-3); border-radius: var(--cxy-radius-sm);
  font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); cursor: pointer;
  border: var(--cxy-border-hairline) solid transparent;
}
.quiz-opt:hover { background: var(--cxy-subtle); }
.quiz-opt:focus-within { box-shadow: var(--cxy-ring); }
.quiz-opt input { accent-color: var(--cxy-blue); }
.quiz-result { margin-top: var(--cxy-space-3); }
.quiz-result-card {
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-6) var(--cxy-space-8);
  display: grid; gap: var(--cxy-space-3); position: relative; overflow: hidden;
}
.quiz-result-card::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.quiz-result-card .line-tag { justify-self: start; }
.quiz-result-card h3 {
  margin: 0; font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 24px; color: var(--cxy-ink);
}
.quiz-result-card p { margin: 0; color: var(--cxy-text); font-size: var(--cxy-size-body); }
.quiz-result-ctas { display: flex; gap: var(--cxy-space-3); margin-top: var(--cxy-space-2); flex-wrap: wrap; }

.quiz-fallback { background: var(--cxy-subtle); border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-6) var(--cxy-space-8); }
.quiz-fallback h3 { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold); font-size: 19px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-4); }
.quiz-table { width: 100%; border-collapse: collapse; font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); }
.quiz-table th, .quiz-table td { text-align: left; padding: 10px var(--cxy-space-3); border-bottom: var(--cxy-border-hairline) solid var(--cxy-border); }
.quiz-table th { font-weight: var(--cxy-weight-semibold); color: var(--cxy-muted); font-size: var(--cxy-size-label); }


/* ── 定价表 ── */
.sec-h-row .price-toggle { display: inline-flex; padding: 3px; background: var(--cxy-surface-card);
  border: var(--cxy-border-hairline) solid var(--cxy-border); border-radius: var(--cxy-radius-pill); }
.price-toggle-btn {
  padding: 7px var(--cxy-space-5); border: 0; background: transparent;
  font-family: inherit; font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-ink-2); border-radius: var(--cxy-radius-pill); cursor: pointer;
  transition: background var(--cxy-duration-fast) var(--cxy-ease-out), color var(--cxy-duration-fast) var(--cxy-ease-out);
}
.price-toggle-btn.is-active { background: var(--cxy-blue); color: var(--cxy-on-color); }
.price-toggle-btn:focus-visible { box-shadow: var(--cxy-ring); }

.price-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cxy-space-4);
  margin-top: 44px;
}
.price-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-6) var(--cxy-space-5);
  display: flex; flex-direction: column; gap: var(--cxy-space-4); position: relative;
}
.price-card-l0 { background: var(--cxy-gradient-soft); }
.price-card-l5 { background: var(--cxy-subtle); }
.price-card-h { display: flex; flex-direction: column; gap: 6px; }
.price-id {
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-action); letter-spacing: var(--cxy-tracking-label);
}
.price-card-h h3 {
  margin: 0; font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 17px; color: var(--cxy-ink); line-height: 1.35;
}
.price-flag {
  align-self: flex-start; font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  padding: 4px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
}
.price-flag-free { background: var(--cxy-tint-green-bg); color: var(--cxy-tint-green-fg); }
.price-flag-roll { background: var(--cxy-tint-cyan-bg); color: var(--cxy-tint-cyan-fg); }

.price-card-price { display: flex; align-items: baseline; gap: 3px; padding: var(--cxy-space-2) 0; }
.price-cur { font-size: 17px; color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.price-num { font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy); font-size: 32px; color: var(--cxy-ink); line-height: 1; }
.price-unit { font-size: var(--cxy-size-sm); color: var(--cxy-muted); }
.price-feats { list-style: none; margin: var(--cxy-space-2) 0 0; padding: var(--cxy-space-3) 0 0; border-top: var(--cxy-border-hairline) solid var(--cxy-border); display: grid; gap: 8px; }
.price-feats li { font-size: var(--cxy-size-sm); color: var(--cxy-text); padding-left: 20px; position: relative; }
.price-feats li::before {
  content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px;
  border-radius: 50%; background: var(--cxy-action); opacity: .8;
}
.price-card-cta { margin-top: auto; padding-top: var(--cxy-space-3); }
.price-card-cta .btn { width: 100%; }

.price-notes {
  list-style: none; margin: var(--cxy-space-5) 0 0; padding: var(--cxy-space-4) 0 0;
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
  display: grid; gap: 4px;
}
.price-notes li { font-size: var(--cxy-size-label); color: var(--cxy-muted); }


/* ── 价值锚（T04 修订1：并入 #pricing 尾部） ── */
.value-anchor {
  display: flex; align-items: center; justify-content: center; gap: var(--cxy-space-8);
  margin-top: var(--cxy-space-8);
  padding: var(--cxy-space-6) var(--cxy-space-8);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl);
  flex-wrap: wrap;
}
.value-note {
  flex-basis: 100%; text-align: center; margin: var(--cxy-space-2) 0 0;
  font-size: var(--cxy-size-sm); color: var(--cxy-text);
}
.value-col { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.value-label { font-size: var(--cxy-size-label); color: var(--cxy-muted); }
.value-num { font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy); font-size: 28px; color: var(--cxy-ink); }
.value-col:first-child .value-num { color: var(--cxy-action); }
.value-vs {
  font-size: var(--cxy-size-label); color: var(--cxy-muted); letter-spacing: var(--cxy-tracking-label);
  text-transform: uppercase; padding: 4px var(--cxy-space-3); background: var(--cxy-subtle);
  border-radius: var(--cxy-radius-pill);
}


/* ── FAQ 手风琴 ── */
.wrap-narrow { max-width: var(--cxy-container-md); }
/* T19 1.1：文章族容器（article/glossary-term 专用，680px ≈40em 行长纪律）；法务页 terms/privacy 等仍用 wrap-narrow 不动 */
.wrap-article { max-width: var(--cxy-container-article); }
.faq { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 12px; }
.faq-item {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); overflow: hidden;
}
.faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--cxy-space-4);
  padding: var(--cxy-space-5) var(--cxy-space-6); background: transparent; border: 0;
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-body);
  color: var(--cxy-ink); cursor: pointer; text-align: left;
}
.faq-q:focus-visible { box-shadow: var(--cxy-ring); }
.faq-ic {
  width: 18px; height: 18px; flex: none; position: relative;
}
.faq-ic::before, .faq-ic::after {
  content: ""; position: absolute; background: var(--cxy-action); border-radius: 2px;
}
.faq-ic::before { left: 0; right: 0; top: 8px; height: 2px; }
.faq-ic::after { top: 0; bottom: 0; left: 8px; width: 2px; transition: transform var(--cxy-duration-fast) var(--cxy-ease-out); }
.faq-q[aria-expanded="true"] .faq-ic::after { transform: scaleY(0); }
.faq-a { padding: 0 var(--cxy-space-6) var(--cxy-space-5); }
.faq-a p { margin: 0; font-size: var(--cxy-size-sm); color: var(--cxy-text); line-height: var(--cxy-leading-body); }


/* ── /ai-tax/ 断点 ── */
@media (max-width: 1280px) {
  .price-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1100px) {
  .zig { grid-template-columns: 1fr; gap: var(--cxy-space-7); }
  .zig-l .zig-stage { order: 0; }
  .zig-stage { order: -1; }
  .zig-r .zig-stage > * { margin-left: 0; }
  .human-band { grid-template-columns: 1fr; gap: var(--cxy-space-6); padding: var(--cxy-space-7); }
  .creed-row { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .price-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-aitx .hero-in { grid-template-columns: 1fr; }
  .hero-aitx .aitx-stage { margin: 0 auto; }
  .value-anchor { flex-wrap: wrap; gap: var(--cxy-space-4); }
}
@media (max-width: 560px) {
  .price-grid { grid-template-columns: 1fr; }
  .quiz-opt { display: block; margin: 0 0 8px; }
  .quiz-q legend { font-size: var(--cxy-size-body); }
  .human-clock-num { font-size: 44px; }
  .flow { grid-template-columns: 1fr; }
}


/* ════════════════════════════════════════════════════════════════
   /tax-wuyou/ 页面样式（T05）
   分节：Hero（沉轨墨底）/ 什么是 / 4 大时刻 / 服务清单（沉轨+亮子卡）/
         定价（沉轨绿识别）/ 价值锚 / 专家团队 / FAQ / 断点
   Token 零硬编码；新增 hex 仅出现在 .wy-dark 作用域 token 重定义内（约定④）
   ════════════════════════════════════════════════════════════════ */

/* ── 沉轨墨色作用域 token（参照 .dcard-wy，扩到整页沉轨区） ── */
.wy-dark {
  --cxy-wy-bg: #0F172A;
  --cxy-wy-bg-2: #111A2E;
  --cxy-ink: #F1F5FB;
  --cxy-ink-2: #E2E8F4;
  --cxy-text: #C2CCDE;
  --cxy-muted: #93A0BC;
  --cxy-border: #25304A;
  --cxy-border-strong: #34415F;
  --cxy-tint-green-bg: rgba(52,211,153,.16);
  --cxy-tint-green-fg: #6EE7B7;
  --cxy-tint-cyan-bg: rgba(34,211,238,.16);
  --cxy-tint-cyan-fg: #5EE9FB;
  --cxy-tint-blue-bg: rgba(79,141,245,.16);
  --cxy-tint-blue-fg: #8FB6F8;
  --cxy-positive: #34D399;
  --cxy-positive-ink: #6EE7B7;
  --cxy-action: #4F8DF5;
  --cxy-on-green: #052E22; /* 绿底上的墨色（急救按钮） */
  color: var(--cxy-text);
}


/* ── §1 Hero 沉轨 ── */
.hero-wy {
  background: linear-gradient(180deg, var(--cxy-wy-bg) 0%, var(--cxy-wy-bg-2) 100%);
  color: var(--cxy-text);
  border-bottom: 1px solid var(--cxy-border);
}
.hero-wy .hello {
  background: rgba(255,255,255,.04); border-color: var(--cxy-border); color: var(--cxy-ink-2);
}
.hero-wy h1 { color: var(--cxy-ink); }
.hero-wy .hero-sub { color: var(--cxy-text); }
.hero-wy .hero-sub-disc {
  font-size: var(--cxy-size-caption); color: var(--cxy-tint-green-fg);
  margin: -8px 0 var(--cxy-space-5); line-height: var(--cxy-leading-body);
}
.hero-wy .btn-soft { background: rgba(255,255,255,.06); color: var(--cxy-ink); }
.hero-wy .btn-soft:hover { background: rgba(255,255,255,.1); }
.hero-wy .btn-soft:focus-visible { box-shadow: var(--cxy-ring); }

/* 急救卡演示 */
.wy-stage { width: min(440px, 100%); margin-left: auto; display: flex; flex-direction: column; }
.emergency-card {
  background: var(--cxy-wy-bg-2); border: 1.5px solid var(--cxy-tint-green-fg);
  border-radius: var(--cxy-radius-2xl);
  box-shadow: 0 0 0 4px rgba(52,211,153,.08), var(--cxy-elevation-2);
  overflow: hidden;
}
.ec-h {
  display: flex; align-items: center; justify-content: space-between; gap: var(--cxy-space-3);
  padding: var(--cxy-space-4) var(--cxy-space-5);
  border-bottom: 1px solid var(--cxy-border);
}
.ec-h b { font-size: 15px; color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.ec-status {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-tint-green-fg); background: var(--cxy-tint-green-bg);
  padding: 2px var(--cxy-space-2); border-radius: var(--cxy-radius-pill);
}
.ec-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--cxy-tint-green-fg); }
.ec-body { padding: var(--cxy-space-5); display: grid; gap: var(--cxy-space-4); }
.ec-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--cxy-space-2);
  padding: 14px var(--cxy-space-6); border-radius: var(--cxy-radius-pill);
  background: var(--cxy-green); color: var(--cxy-on-green); border: 0; cursor: not-allowed;
  font-family: inherit; font-size: var(--cxy-size-body); font-weight: var(--cxy-weight-bold);
  position: relative; box-shadow: 0 0 0 4px rgba(52,211,153,.12);
}
.ec-btn-ic {
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--cxy-on-green); position: relative;
}
.ec-btn-ic::before {
  content: ""; position: absolute; inset: 3px; border-radius: 50%;
  background: var(--cxy-green);
}
.ec-flow { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ec-flow li {
  display: grid; grid-template-columns: 64px 1fr; gap: var(--cxy-space-3); align-items: center;
  padding: 8px 0; border-bottom: 1px dashed var(--cxy-border); font-size: var(--cxy-size-sm);
  color: var(--cxy-text);
}
.ec-flow li:last-child { border-bottom: 0; }
.ec-time {
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-label);
  color: var(--cxy-tint-green-fg); background: var(--cxy-tint-green-bg);
  padding: 3px 6px; border-radius: var(--cxy-radius-sm); text-align: center;
}
.ec-caveat { font-size: var(--cxy-size-label); color: var(--cxy-muted); margin: 0; }
.wy-stage .chat-note { padding-top: var(--cxy-space-3); background: transparent; color: var(--cxy-muted); }
.wy-stage-disc {
  font-size: var(--cxy-size-label); color: var(--cxy-tint-green-fg);
  margin: var(--cxy-space-2) 0 0; line-height: var(--cxy-leading-body);
}


/* ── §2 什么是税无忧（亮轨 prose） ── */
.wy-what { max-width: 760px; }
.wy-what h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: var(--cxy-size-h2); color: var(--cxy-ink); margin: var(--cxy-space-3) 0 var(--cxy-space-4);
}
.wy-what p {
  font-size: var(--cxy-size-body); color: var(--cxy-text);
  margin: 0 0 var(--cxy-space-4); line-height: var(--cxy-leading-body);
}
.wy-what p em { font-style: normal; color: var(--cxy-ink); font-weight: var(--cxy-weight-semibold); }
.wy-what .wy-disc {
  margin-top: var(--cxy-space-5); padding-top: var(--cxy-space-4);
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
  color: var(--cxy-muted); font-size: var(--cxy-size-sm);
}
.wy-region-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--cxy-tint-cyan-bg); color: var(--cxy-tint-cyan-fg);
  padding: 4px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
}


/* ── §3 4 大时刻（2×2 网格） ── */
.wy-scenes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-4); margin-top: 44px; }
.wy-scene {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-6);
  display: grid; gap: var(--cxy-space-3); align-content: start; position: relative; overflow: hidden;
}
.wy-scene::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--cxy-gradient-aurora); opacity: .6;
}
.wy-scene-num {
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-bold); color: var(--cxy-action);
  letter-spacing: var(--cxy-tracking-label);
}
.wy-scene h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 19px; color: var(--cxy-ink); margin: 0;
}
.wy-scene p {
  font-size: var(--cxy-size-sm); color: var(--cxy-text);
  margin: 0; line-height: var(--cxy-leading-body);
}
.wy-scene-pkg {
  display: inline-flex; align-self: start; padding: 3px var(--cxy-space-3);
  border-radius: var(--cxy-radius-sm); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-bold);
  background: var(--cxy-tint-green-bg); color: var(--cxy-tint-green-fg);
}
.wy-scene-pkg.s1 { background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg); }


/* ── §4+§5+§6 沉轨合并区 ── */
.wy-plans { background: var(--cxy-wy-bg); color: var(--cxy-text); padding: 80px 0; border-top: 1px solid var(--cxy-border); }
.wy-plans .sec-h h2 { color: var(--cxy-ink); }
.wy-plans .sec-h p { color: var(--cxy-text); }
.wy-plans .sec-h .wy-disc { color: var(--cxy-tint-green-fg); font-size: var(--cxy-size-sm); margin: var(--cxy-space-3) 0 0; }

/* 服务清单：双列对照（沉轨墨底 + 亮色子卡，约定④） */
.wy-svcs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-5); margin-top: 48px; }
.wy-svc-col { display: grid; gap: var(--cxy-space-3); align-content: start; }
.wy-svc-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--cxy-space-3);
  padding-bottom: var(--cxy-space-3); border-bottom: 1px solid var(--cxy-border);
}
.wy-svc-head b {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 22px; color: var(--cxy-ink);
}
.wy-svc-price {
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy);
  font-size: 24px; color: var(--cxy-tint-green-fg);
}
.wy-svc-col.s1 .wy-svc-price { color: var(--cxy-tint-cyan-fg); }
.wy-svc-unit { font-size: var(--cxy-size-sm); color: var(--cxy-muted); font-weight: var(--cxy-weight-semibold); }
.wy-svc-head-note {
  font-size: var(--cxy-size-label); color: var(--cxy-muted);
  margin-top: -6px; margin-bottom: var(--cxy-space-2);
}

.wy-svc-item {
  /* 亮色子卡：恢复亮色 token（约定④ — 否则继承近白 ink 白底不可见） */
  --cxy-ink: #0F172A; --cxy-ink-2: #334155; --cxy-text: #475569; --cxy-muted: #94A3B8;
  --cxy-border: #E8EDF3; --cxy-surface-card: #FFFFFF;
  --cxy-tint-green-bg: #E7F8F0; --cxy-tint-green-fg: #0E9F6E;
  --cxy-tint-blue-bg: #EFF4FF;  --cxy-tint-blue-fg: #1D4ED8;
  --cxy-positive-ink: #0E9F6E;
  background: var(--cxy-surface-card); color: var(--cxy-text);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-md); padding: 12px var(--cxy-space-4);
  display: grid; grid-template-columns: 26px 1fr auto; gap: var(--cxy-space-3); align-items: center;
}
.wy-svc-num {
  width: 26px; height: 26px; border-radius: 50%; background: var(--cxy-tint-green-bg);
  color: var(--cxy-tint-green-fg); display: flex; align-items: center; justify-content: center;
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-label);
}
.wy-svc-col.s1 .wy-svc-num { background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg); }
.wy-svc-item b { font-size: var(--cxy-size-sm); color: var(--cxy-ink); font-weight: var(--cxy-weight-semibold); display: block; }
.wy-svc-note { font-size: var(--cxy-size-label); color: var(--cxy-muted); margin-top: 2px; }
.wy-svc-freq {
  font-size: var(--cxy-size-label); color: var(--cxy-tint-green-fg);
  background: var(--cxy-tint-green-bg); padding: 3px 8px; border-radius: var(--cxy-radius-pill);
  font-weight: var(--cxy-weight-semibold); white-space: nowrap;
}
.wy-svc-col.s1 .wy-svc-freq { color: var(--cxy-tint-blue-fg); background: var(--cxy-tint-blue-bg); }
.wy-svc-region {
  margin-top: var(--cxy-space-3); font-size: var(--cxy-size-label);
  color: var(--cxy-tint-cyan-fg); background: var(--cxy-tint-cyan-bg);
  display: inline-flex; padding: 3px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
  align-self: start; font-weight: var(--cxy-weight-semibold);
}

/* 定价卡（沉轨绿识别 · 数据循环 pricing.wuyou） */
.wy-pricing { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-5); margin-top: 56px; }
.wy-plan-card {
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-7) var(--cxy-space-6);
  display: flex; flex-direction: column; gap: var(--cxy-space-3);
  position: relative; overflow: hidden;
  border: 1.5px solid var(--cxy-border);
  background: var(--cxy-wy-bg-2);
}
.wy-plan-card.s2 {
  background: linear-gradient(180deg, var(--cxy-wy-bg-2) 0%, rgba(16,185,129,.10) 100%);
  border-color: rgba(52,211,153,.35);
}
.wy-plan-card.s2::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--cxy-green) 0%, var(--cxy-cyan) 100%);
}
.wy-plan-tag {
  display: inline-flex; align-self: start; padding: 4px var(--cxy-space-3);
  border-radius: var(--cxy-radius-pill); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-bold);
  background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg);
}
.wy-plan-card.s2 .wy-plan-tag { background: var(--cxy-tint-green-bg); color: var(--cxy-tint-green-fg); }
.wy-plan-card h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 24px; color: var(--cxy-ink); margin: 0;
}
.wy-plan-price { display: flex; align-items: baseline; gap: 4px; }
.wy-plan-price .cur { font-size: 18px; color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.wy-plan-price .num {
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy);
  font-size: 40px; color: var(--cxy-ink); line-height: 1;
}
.wy-plan-price .unit { font-size: var(--cxy-size-sm); color: var(--cxy-muted); }
.wy-plan-region {
  font-size: var(--cxy-size-label); color: var(--cxy-tint-cyan-fg);
  background: var(--cxy-tint-cyan-bg); align-self: start;
  padding: 3px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
  font-weight: var(--cxy-weight-semibold);
}
.wy-plan-feats {
  list-style: none; margin: var(--cxy-space-2) 0 0; padding: var(--cxy-space-3) 0 0;
  border-top: 1px solid var(--cxy-border); display: grid; gap: 6px;
}
.wy-plan-feats li {
  font-size: var(--cxy-size-sm); color: var(--cxy-text);
  padding-left: 18px; position: relative;
}
.wy-plan-feats li::before {
  content: ""; position: absolute; left: 0; top: 8px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--cxy-tint-green-fg);
}
.wy-plan-card.s1 .wy-plan-feats li::before { background: var(--cxy-tint-cyan-fg); }
.wy-plan-cta { margin-top: var(--cxy-space-3); }
.wy-plan-cta .btn { width: 100%; justify-content: center; }
.wy-plan-disc {
  font-size: var(--cxy-size-label); color: var(--cxy-tint-green-fg);
  margin: var(--cxy-space-2) 0 0; line-height: var(--cxy-leading-body);
}
/* stats-row 数字时刻（48h/24h/12h）紧跟定价卡 — 原漏配 margin-top 臂 96px 高数字贴定价卡底缘
   （T14 修复 Haning 反馈 #3）；作用域限定 .wy-plans，不影响 index/ai-tax 的 sec-band 内 stats。 */
.wy-plans .stats-row { margin-top: 80px; }
.wy-sla {
  list-style: none; margin: var(--cxy-space-7) 0 0; padding: 0;
  display: grid; gap: 4px; font-size: var(--cxy-size-label); color: var(--cxy-muted);
}

/* 价值锚（沉轨 band 内嵌） */
.wy-value {
  margin-top: 56px; padding: var(--cxy-space-6) var(--cxy-space-7);
  border-radius: var(--cxy-radius-2xl); background: var(--cxy-wy-bg-2);
  border: 1px solid var(--cxy-border);
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--cxy-space-4); align-items: center;
}
.wy-value-col { display: flex; flex-direction: column; gap: 4px; }
.wy-value-label { font-size: var(--cxy-size-label); color: var(--cxy-muted); }
.wy-value-num {
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-heavy);
  font-size: 22px; color: var(--cxy-ink);
}
.wy-value-num.hi { color: var(--cxy-tint-green-fg); font-size: 28px; }
.wy-value-unit { font-size: var(--cxy-size-sm); color: var(--cxy-muted); font-weight: var(--cxy-weight-semibold); }
.wy-value-note {
  grid-column: 1 / -1; font-size: var(--cxy-size-sm); color: var(--cxy-text);
  margin: var(--cxy-space-2) 0 0;
}
.wy-value .wy-disc {
  grid-column: 1 / -1; font-size: var(--cxy-size-label);
  color: var(--cxy-tint-green-fg); margin: 0;
}


/* ── §7 专家团队（亮轨横幅） ── */
.wy-team {
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-8);
  display: grid; grid-template-columns: 7fr 5fr; gap: var(--cxy-space-6); align-items: center;
  position: relative; overflow: hidden;
}
.wy-team::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.wy-team-text .line-tag { margin-bottom: var(--cxy-space-3); }
.wy-team-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 26px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
}
.wy-team-text p {
  font-size: var(--cxy-size-body); color: var(--cxy-ink-2);
  margin: 0 0 var(--cxy-space-3); max-width: 30em;
}
.wy-team-text .wy-disc {
  font-size: var(--cxy-size-caption); color: var(--cxy-muted);
  margin-top: var(--cxy-space-3); padding-top: var(--cxy-space-3);
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
}
.wy-team-side {
  display: flex; flex-direction: column; gap: var(--cxy-space-3);
  padding: var(--cxy-space-5); background: var(--cxy-surface-card);
  border-radius: var(--cxy-radius-xl); border: var(--cxy-border-hairline) solid var(--cxy-border);
}
.wy-team-cred { display: flex; align-items: baseline; gap: var(--cxy-space-3); }
.wy-team-cred b {
  font-family: var(--cxy-font-num); font-size: 18px; color: var(--cxy-action);
  font-weight: var(--cxy-weight-heavy); white-space: nowrap;
}
.wy-team-cred span { font-size: var(--cxy-size-sm); color: var(--cxy-text); }


/* ── /tax-wuyou/ 断点 ── */
@media (max-width: 1100px) {
  .wy-scenes, .wy-svcs, .wy-pricing { grid-template-columns: 1fr; }
  .wy-team { grid-template-columns: 1fr; gap: var(--cxy-space-5); padding: var(--cxy-space-7); }
}
@media (max-width: 900px) {
  .hero-wy .hero-in { grid-template-columns: 1fr; }
  .wy-stage { margin: 0 auto; }
  .wy-value { grid-template-columns: 1fr; gap: var(--cxy-space-3); padding: var(--cxy-space-5); }
  .wy-plans { padding: 64px 0; }
}
@media (max-width: 768px) {
  .hero-wy h1 { font-size: 38px; }
  .wy-plans .stats-row { margin-top: 56px; }
}
@media (max-width: 560px) {
  .wy-svc-item { grid-template-columns: 26px 1fr; }
  .wy-svc-freq { grid-column: 2; justify-self: start; margin-top: 4px; }
  .ec-flow li { grid-template-columns: 56px 1fr; }
}


/* ════════════════════════════════════════════════════════════════
   /register/ + /about/ + /login/ 页面样式（T06）
   分节：register（极简 Hero 双码 + 3 步 + 疑虑 3 条） /
         about（居中 Hero + 故事 + 三词带 + 双层主体 + 四证 + 联系） /
         login（重定向存根）
   Token 零硬编码
   ════════════════════════════════════════════════════════════════ */

/* ── /register/ ── */
.hero-register { padding: var(--cxy-space-10) 0 var(--cxy-space-10); }
.register-in { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--cxy-space-8); }
.register-head { display: flex; flex-direction: column; align-items: center; gap: var(--cxy-space-3); }
.register-head h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 48px; line-height: var(--cxy-leading-tight); letter-spacing: var(--cxy-tracking-display);
  color: var(--cxy-ink); margin: var(--cxy-space-3) 0 0;
}
.register-head .hero-sub { margin: 0; }

.register-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-5); width: 100%; max-width: 760px; }
.register-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-6);
  display: flex; flex-direction: column; align-items: center; gap: var(--cxy-space-3);
  box-shadow: var(--cxy-elevation-1); position: relative;
}
.register-card-consult { border-color: color-mix(in srgb, var(--cxy-green) 30%, transparent); }
.register-card-consult::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--cxy-green) 0%, var(--cxy-cyan) 100%);
  border-top-left-radius: var(--cxy-radius-2xl); border-top-right-radius: var(--cxy-radius-2xl);
}
.register-qr {
  width: 200px; height: 200px; background: var(--cxy-subtle);
  border-radius: var(--cxy-radius-lg); padding: 10px;
  display: flex; align-items: center; justify-content: center;
}
.register-qr img { width: 100%; height: 100%; object-fit: contain; border-radius: var(--cxy-radius-md); }
.register-card-text { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.register-card-text b { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 18px; color: var(--cxy-ink); }
.register-card-text span { font-size: var(--cxy-size-sm); color: var(--cxy-muted); }
.chip-free {
  display: inline-flex; padding: 3px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  background: var(--cxy-tint-green-bg); color: var(--cxy-tint-green-fg);
}
.chip-wuyou {
  display: inline-flex; padding: 3px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  background: var(--cxy-tint-cyan-bg); color: var(--cxy-tint-cyan-fg);
}
.register-disc {
  font-size: var(--cxy-size-label); color: var(--cxy-muted);
  margin: var(--cxy-space-2) 0 0; line-height: var(--cxy-leading-body);
}

.register-faqs { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: var(--cxy-space-4); }
.register-faqs li {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-5) var(--cxy-space-6);
}
.register-faqs h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold); font-size: 17px;
  color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
}
.register-faqs p { margin: 0; font-size: var(--cxy-size-sm); color: var(--cxy-text); line-height: var(--cxy-leading-body); }


/* ── /about/ ── */
.hero-about { padding: var(--cxy-space-10) 0 var(--cxy-space-10); }
.hero-center { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero-center h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 48px; line-height: var(--cxy-leading-tight); letter-spacing: var(--cxy-tracking-display);
  color: var(--cxy-ink); margin: var(--cxy-space-4) 0 var(--cxy-space-3);
}
.hero-center .hero-sub { margin: 0 0 var(--cxy-space-5); }
.hero-center .hero-ctas { justify-content: center; }

.about-story p {
  font-size: var(--cxy-size-body); color: var(--cxy-text);
  margin: 0 0 var(--cxy-space-4); line-height: var(--cxy-leading-body); max-width: 38em;
}
.about-story em { font-style: normal; color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.about-story b { color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.about-story .line-tag { margin-bottom: var(--cxy-space-4); }
.about-affil {
  margin-top: var(--cxy-space-5); padding-top: var(--cxy-space-4);
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
}

/* 三词带：用既有 .creed-row 但禁用 hover/按钮态 */
.creed-band-static {
  cursor: default; background: var(--cxy-surface-card); padding: var(--cxy-space-6);
}
.creed-band-static:hover { transform: none; box-shadow: none; }
.creed-band-static:focus-visible { box-shadow: var(--cxy-ring); }

.about-entity-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-5); margin-top: 40px;
}
.about-entity-card {
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-6) var(--cxy-space-7);
  display: flex; flex-direction: column; gap: var(--cxy-space-2);
  position: relative; overflow: hidden;
}
.about-entity-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--cxy-gradient-aurora); opacity: .6;
}
.about-entity-tag {
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-bold); color: var(--cxy-action);
  letter-spacing: var(--cxy-tracking-label);
}
.about-entity-card h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 22px; color: var(--cxy-ink); margin: 0;
}
.about-entity-card p { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; }

.about-certs {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--cxy-space-4); margin-top: 40px;
}
.about-cert {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-6);
  display: flex; flex-direction: column; gap: var(--cxy-space-2); align-items: flex-start;
}
.about-cert-ic {
  width: 44px; height: 44px; border-radius: var(--cxy-radius-md);
  background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg);
  display: flex; align-items: center; justify-content: center;
}
.about-cert-ic svg { width: 24px; height: 24px; }
.about-cert h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold); font-size: 16px;
  color: var(--cxy-ink); margin: 0;
}
.about-cert p { font-size: var(--cxy-size-label); color: var(--cxy-text); margin: 0; }

.about-contact-list {
  list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 12px;
}
.about-contact-list li {
  display: grid; grid-template-columns: 140px 1fr; gap: var(--cxy-space-4); align-items: baseline;
  padding: var(--cxy-space-3) 0; border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
}
.about-contact-list li:last-child { border-bottom: 0; }
.about-contact-label { font-size: var(--cxy-size-label); color: var(--cxy-muted); font-weight: var(--cxy-weight-semibold); }
.about-contact-list b { font-size: var(--cxy-size-body); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }


/* ── /login/ 重定向存根 ── */
.login-stub {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-8) var(--cxy-space-7);
  text-align: center; display: flex; flex-direction: column; gap: var(--cxy-space-3); align-items: center;
}
.login-stub h1 { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 26px; color: var(--cxy-ink); margin: 0; }
.login-stub p { font-size: var(--cxy-size-body); color: var(--cxy-text); margin: 0; }
.login-stub a { color: var(--cxy-action); font-weight: var(--cxy-weight-semibold); }
.login-stub-note { font-size: var(--cxy-size-caption) !important; color: var(--cxy-muted) !important; }


/* ── /404 极简页（T11，VARIANCE 2 / MOTION 1 / DENSITY 1）── */
.not-found { text-align: center; padding: var(--cxy-space-8) 0; min-height: 50vh; display: flex; flex-direction: column; justify-content: center; }
.not-found h1 { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 40px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-4); }
.not-found-lead { font-size: var(--cxy-size-body); color: var(--cxy-text); margin: 0 0 var(--cxy-space-7); }
.not-found-cxy { font-size: var(--cxy-size-body); color: var(--cxy-ink-2); margin: 0 0 var(--cxy-space-7); }
.not-found-links { display: flex; gap: var(--cxy-space-5); justify-content: center; flex-wrap: wrap; }
.not-found-links a { color: var(--cxy-action); font-weight: var(--cxy-weight-semibold); }


/* ── /register/ + /about/ 断点 ── */
@media (max-width: 900px) {
  .register-pair { grid-template-columns: 1fr; max-width: 420px; }
  .about-entity-grid { grid-template-columns: 1fr; }
  .about-certs { grid-template-columns: 1fr 1fr; }
  .hero-about .hero-center h1 { font-size: 38px; }
}
@media (max-width: 560px) {
  .register-head h1 { font-size: 36px; }
  .about-contact-list li { grid-template-columns: 1fr; gap: 2px; }
  .about-certs { grid-template-columns: 1fr; }
}


/* ════════════════════════════════════════════════════════════════
   /knowledge/ + /help/ 页面样式（T07）
   分节：knowledge（轻 Hero + 三类导览 + 9 卡占位 + 征期日历 + 术语库入口） /
         help（轻 Hero + 3 步 + 操作手册 6 条 + FAQ + 联系双码）
   Token 零硬编码
   ════════════════════════════════════════════════════════════════ */

/* ── 共用轻 Hero ── */
.hero-light {
  padding: var(--cxy-space-9) 0 var(--cxy-space-8);
  background: linear-gradient(180deg, var(--cxy-subtle) 0%, var(--cxy-surface-card) 80%);
}
.hero-light h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 40px; line-height: var(--cxy-leading-tight); letter-spacing: var(--cxy-tracking-display);
  color: var(--cxy-ink); margin: var(--cxy-space-3) 0 var(--cxy-space-2);
}
.hero-light .hero-sub { margin: 0; color: var(--cxy-text); }


/* ── /knowledge/ 征期日历位 ── */
.kw-cal {
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-8);
  display: grid; grid-template-columns: 7fr 5fr; gap: var(--cxy-space-6); align-items: center;
  position: relative; overflow: hidden;
}
.kw-cal::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.kw-cal-text .line-tag { margin-bottom: var(--cxy-space-3); }
.kw-cal-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 26px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
}
.kw-cal-text p {
  font-size: var(--cxy-size-body); color: var(--cxy-ink-2);
  margin: 0 0 var(--cxy-space-4); max-width: 32em;
}
.kw-cal-cta { display: flex; gap: var(--cxy-space-3); flex-wrap: wrap; }

.kw-cal-side { display: flex; justify-content: center; }
.kw-cal-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-5) var(--cxy-space-6);
  box-shadow: var(--cxy-elevation-1); min-width: 280px;
}
.kw-cal-label {
  display: block; font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-muted); letter-spacing: var(--cxy-tracking-label); margin-bottom: var(--cxy-space-3);
}
.kw-cal-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.kw-cal-list li {
  display: grid; grid-template-columns: 12px 1fr auto; gap: var(--cxy-space-3); align-items: center;
  font-size: var(--cxy-size-sm); color: var(--cxy-ink-2);
  padding: 6px 0; border-bottom: var(--cxy-border-hairline) dashed var(--cxy-border);
}
.kw-cal-list li:last-child { border-bottom: 0; }
.kw-cal-dot { width: 8px; height: 8px; border-radius: 50%; }
.kw-cal-dot.g { background: var(--cxy-positive); }
.kw-cal-dot.y { background: var(--cxy-warning); }
.kw-cal-dot.b { background: var(--cxy-action); }
.kw-cal-time {
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-label); color: var(--cxy-muted);
  font-weight: var(--cxy-weight-semibold);
}
.kw-cal-note {
  margin: var(--cxy-space-3) 0 0; padding-top: var(--cxy-space-3);
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
  font-size: var(--cxy-size-label); color: var(--cxy-muted);
}


/* ── /knowledge/ 术语库入口横幅 ── */
.kw-glossary {
  display: grid; grid-template-columns: 7fr auto; gap: var(--cxy-space-4); align-items: center;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-7) var(--cxy-space-8);
  text-decoration: none; color: inherit; position: relative; overflow: hidden;
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.kw-glossary::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--cxy-gradient-aurora);
}
.kw-glossary:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-1); }
.kw-glossary:focus-visible { box-shadow: var(--cxy-ring); }
.kw-glossary-text .line-tag { margin-bottom: var(--cxy-space-3); }
.kw-glossary-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 24px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
}
.kw-glossary-text p { margin: 0; font-size: var(--cxy-size-sm); color: var(--cxy-text); }
.kw-glossary-go {
  font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-action); white-space: nowrap;
  background: var(--cxy-tint-blue-bg); padding: 8px var(--cxy-space-4);
  border-radius: var(--cxy-radius-pill);
}


/* ── /help/ 操作手册 ── */
.help-manuals { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 12px; }
.help-manuals li {
  display: grid; grid-template-columns: 44px 1fr auto; gap: var(--cxy-space-4); align-items: center;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-4) var(--cxy-space-5);
}
.help-manual-ic {
  width: 44px; height: 44px; border-radius: var(--cxy-radius-md);
  background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg);
  display: flex; align-items: center; justify-content: center;
}
.help-manual-ic svg { width: 22px; height: 22px; }
.help-manual-text { display: flex; flex-direction: column; gap: 2px; }
.help-manual-text b { font-size: var(--cxy-size-body); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.help-manual-text p { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; }
.help-manual-tag {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-muted); background: var(--cxy-subtle);
  padding: 3px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
  white-space: nowrap;
}


/* ── /help/ 联系区 ── */
.help-contact {
  display: grid; grid-template-columns: 6fr 6fr; gap: var(--cxy-space-8); align-items: center;
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-8);
  position: relative; overflow: hidden;
}
.help-contact::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.help-contact-info .line-tag { margin-bottom: var(--cxy-space-3); }
.help-contact-info h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 26px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-4);
}
.help-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.help-contact-list li {
  display: grid; grid-template-columns: 80px 1fr; gap: var(--cxy-space-3); align-items: baseline;
  padding: var(--cxy-space-3) 0; border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
}
.help-contact-list li:last-child { border-bottom: 0; }
.help-contact-label {
  font-size: var(--cxy-size-label); color: var(--cxy-muted); font-weight: var(--cxy-weight-semibold);
}
.help-contact-list b { font-size: var(--cxy-size-body); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.help-contact-time {
  grid-column: 2; font-size: var(--cxy-size-caption); color: var(--cxy-muted);
}
.help-contact-qr {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-4);
}
.help-qr-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-4);
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.help-qr-card img { width: 140px; height: 140px; object-fit: contain; border-radius: var(--cxy-radius-md); }
.help-qr-card b { font-size: var(--cxy-size-sm); color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.help-qr-card span { font-size: var(--cxy-size-label); color: var(--cxy-muted); }


/* ── /knowledge/ + /help/ 断点 ── */
@media (max-width: 900px) {
  .kw-cal, .help-contact { grid-template-columns: 1fr; gap: var(--cxy-space-5); padding: var(--cxy-space-6); }
  .kw-glossary { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hero-light h1 { font-size: 32px; }
  .help-manuals li { grid-template-columns: 36px 1fr; }
  .help-manual-tag { grid-column: 1 / -1; justify-self: start; margin-top: 4px; }
  .help-contact-qr { grid-template-columns: 1fr; }
  .help-contact-list li { grid-template-columns: 1fr; gap: 2px; }
}


/* ════════════════════════════════════════════════════════════════
   /knowledge/articles/* 详情 + /knowledge/glossary/ 术语库（T08）+
   /welcome/ 新手引导纵向步骤（T09）+ /terms//privacy/ 法律页（T10）
   分节：阅读进度条 / article 头与正文 / 文末 CTA / 相关推荐 /
         glossary 工具条 + 卡列表 + 底部 CTA / welcome 纵向步骤 /
         法律页文头 + 粘性目录 + prose
   Token 零硬编码
   ════════════════════════════════════════════════════════════════ */

/* ── 阅读进度条（article 详情页专用） ── */
.reading-bar {
  position: fixed; top: 0; left: 0; right: 0; height: 3px;
  background: transparent; z-index: var(--cxy-z-nav);
  pointer-events: none;
}
.reading-bar-fill {
  position: absolute; left: 0; top: 0; bottom: 0; right: 0;
  background: var(--cxy-gradient-aurora);
  transform: scaleX(0); transform-origin: left center;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) { .reading-bar { display: none !important; } }


/* ── article 文头（T24b §B-3：art-back 弱化 caption 级 + art-head 底部极光渐变收边）── */
.art-head {
  padding: var(--cxy-space-9) 0 var(--cxy-space-6);
  background: linear-gradient(180deg, var(--cxy-subtle) 0%, var(--cxy-surface-card) 80%);
  position: relative;
}
.art-head::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--cxy-gradient-aurora);
}
.art-back {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--cxy-size-caption); color: var(--cxy-muted); font-weight: var(--cxy-weight-regular);
  margin-bottom: var(--cxy-space-5);
}
.art-back:hover { color: var(--cxy-action); }
.art-back:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); }
/* T26：文末返回区（顶部 art-back 挪至文末相关推荐之后收尾） */
.art-end-back { padding: 0 0 var(--cxy-space-9); }
.art-end-back .art-back { margin-bottom: 0; }
/* T29：返回知识中心继承前置 art-rel 灰底，消除"继续看(灰) → 返回(白)"跳变。
   相邻兄弟选择器精准命中：仅 art-rel 紧邻时生效；无 art-rel（手写延伸阅读 7 篇）
   时选择器不匹配，art-end-back 保持白底与前置 sec-flush 白底连续。
   底部分界由 footer 顶 .aurora-rule 极光细线承担，不引入新跳变点。 */
.art-rel + .art-end-back { background: var(--cxy-subtle); }
.art-cat { margin: 0 0 var(--cxy-space-2); }
.art-head h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: var(--cxy-size-h1-article); line-height: var(--cxy-leading-tight); letter-spacing: var(--cxy-tracking-display);
  color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
}
/* T23a P3-9：art-head h1 移动端降档（原 @900/@560 迁至 768/375，与 hero h1 断点一致；覆盖 article + glossary-term 同族） */
@media (max-width: 768px) { .art-head h1 { font-size: 30px; } }
@media (max-width: 375px) { .art-head h1 { font-size: 26px; } }
.art-meta {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: var(--cxy-size-sm); color: var(--cxy-muted); margin: 0 0 var(--cxy-space-2);
}
.art-meta time { font-family: var(--cxy-font-num); }
.art-meta-sep { color: var(--cxy-faint, var(--cxy-muted)); }
/* T15: art-sample-note 已删（真实内容不需要「示例文章」提示条） */

/* ── article prose 正文（T19 1.1：删 .art-body.prose max-width:38em——钉死左缘致 wrap-narrow 居中失效；行长纪律移至 .wrap-article 680px 容器）── */
.art-body { padding: var(--cxy-space-6) 0 var(--cxy-space-7); } /* T29：40/48→24/32 收敛（art-head/art-notes 已有 padding，wrapper 叠加致空洞）*/
.prose p, .prose ul, .prose ol, .prose blockquote, .prose h2, .prose h3 {
  font-size: var(--cxy-size-body-article); color: var(--cxy-text);
  line-height: var(--cxy-leading-body); margin: 0 0 var(--cxy-space-4);
}
.prose h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: var(--cxy-size-h2-article); color: var(--cxy-ink); margin: var(--cxy-space-7) 0 var(--cxy-space-3); /* T29：48→32 顶距收敛（720 窄栏章节切换 64px 空白过大）*/
  line-height: 1.35;
}
/* T23a P2-4：h2 顶部 48px 极光短线（复用 .aurora-rule--short 宽度 + 全站签名渐变；纯 CSS 不动模板） */
.prose h2::before {
  content: ""; display: block; width: 48px; height: 2px;
  background: var(--cxy-gradient-aurora); border-radius: var(--cxy-radius-pill);
  margin-bottom: var(--cxy-space-3);
}
.prose h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: var(--cxy-size-h3-article); color: var(--cxy-ink); margin: var(--cxy-space-5) 0 var(--cxy-space-2);
}
.prose ul, .prose ol { padding-left: 1.5em; }
.prose li { margin-bottom: var(--cxy-space-2); }
.prose blockquote {
  border-left: 3px solid color-mix(in srgb, var(--cxy-blue) 35%, transparent);
  background: var(--cxy-subtle); padding: var(--cxy-space-3) var(--cxy-space-4);
  border-radius: var(--cxy-radius-sm); color: var(--cxy-ink-2);
}
.prose strong, .prose b { color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
/* T19 1.2：正文链接样式（原 .prose 族未定义 a，链接继承正文色视觉无别） */
.prose a { color: var(--cxy-action); text-decoration: underline; text-underline-offset: 2px; }
.prose a:hover { color: var(--cxy-action-hover); }
.prose a:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); outline: none; }
.prose code {
  font-family: var(--cxy-font-num); font-size: .92em;
  background: var(--cxy-subtle); padding: 2px 6px; border-radius: var(--cxy-radius-xs);
}
/* T29 §C：正文 details 折叠框（原文引用块）—— Aurora 浅底 + hairline 边 + summary 箭头旋转
   14 篇文章约 20 处 <details> 原用浏览器默认三角 marker + 系统字体，与 Aurora 不搭 */
.prose details {
  margin: 0 0 var(--cxy-space-4);
  background: var(--cxy-subtle);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-sm);
  padding: 0 var(--cxy-space-4);
}
.prose details > summary {
  cursor: pointer; padding: var(--cxy-space-3) 0;
  font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-ink-2); list-style: none;
}
.prose details > summary::-webkit-details-marker { display: none; }
.prose details > summary::after {
  content: "▾"; float: right; color: var(--cxy-muted);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out);
}
.prose details[open] > summary::after { transform: rotate(180deg); }
.prose details > summary ~ * { padding-bottom: var(--cxy-space-3); }
/* T29 §D：正文 hr 改 Aurora 渐变细线（替代浏览器默认 3D groove；15 篇约 30 处） */
.prose hr {
  border: none; height: 2px; width: 100%;
  background: var(--cxy-gradient-aurora);
  border-radius: var(--cxy-radius-pill);
  margin: var(--cxy-space-6) 0; opacity: .4;
}

/* ── article 声明与披露（T15 layout 级组件：免责 + AI 辅助，include 组件统一渲染）── */
/* T24b §B-2：art-notes 合一为单卡——容器加 surface-card 背景 + hairline 边框 + radius；内部两块 art-note 用 hairline 分隔（非各自独立卡） */
.art-notes { padding: var(--cxy-space-6) 0 var(--cxy-space-8); }
/* T26 §4b：去卡片背景，声明回归低调文末注脚（不与 CTA 卡抢视觉焦点）；
   grid 容器由 T26 改动1 .art-notes .wrap-article 提供（同元素，布局与装饰分离） */
.art-notes > div {
  background: none;
  border: none;
  border-radius: 0;
  padding-block: 0;
}

/* ── T19 1.3：来源与时效节视觉降级（构建期 transform 包 <section class="art-sources">；内容一字不删，仅小字化，与免责声明形成统一「文末小字披露区」）── */
.art-sources { margin-top: var(--cxy-space-7); padding-top: var(--cxy-space-5); border-top: var(--cxy-border-hairline) solid var(--cxy-border); }
.art-sources > h2 {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold); color: var(--cxy-muted);
  letter-spacing: var(--cxy-tracking-label); text-transform: uppercase;
  margin: 0 0 var(--cxy-space-3);
}
.art-sources p,
.art-sources li { font-size: var(--cxy-size-caption); color: var(--cxy-muted); line-height: 1.55; margin: 0 0 var(--cxy-space-2); }
.art-sources ul, .art-sources ol { padding-left: 1.5em; margin: 0 0 var(--cxy-space-2); }
.art-sources table { font-size: var(--cxy-size-caption); color: var(--cxy-muted); line-height: 1.5; width: 100%; border-collapse: collapse; margin: 0 0 var(--cxy-space-3); }
.art-sources th, .art-sources td { padding: 4px 8px; border: var(--cxy-border-hairline) solid var(--cxy-border); text-align: left; }
.art-sources a { font-size: inherit; color: var(--cxy-action); }
.art-note {
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
  padding: var(--cxy-space-4) 0;
}
.art-note:first-child { border-top: none; }
.art-note-label {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-ink-2); margin: 0 0 var(--cxy-space-2);
}
.art-note-body {
  font-size: var(--cxy-size-sm); color: var(--cxy-muted);
  line-height: var(--cxy-leading-body);
}

/* ── article 文末 CTA（T24b §B-2：去 line-tag eyebrow 模板已删；grid 1fr auto；h2 降 22px；padding space-9）── */
.art-end-cta {
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-9);
  display: grid; grid-template-columns: 1fr auto; gap: var(--cxy-space-6); align-items: center;
  position: relative; overflow: hidden;
}
.art-end-cta::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.art-end-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 22px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2); line-height: 1.35;
}
.art-end-text p { margin: 0; font-size: var(--cxy-size-body); color: var(--cxy-text); }
.art-rel .acard .acard-cover { padding: var(--cxy-space-3) var(--cxy-space-4); }
/* T27：art-rel 收窄 720 跟随 T26 对齐线（原 .wrap 1200 是 T26 几何对齐唯一破坏者）；
   .art-grid 1 列横向大卡（左 line-tag | 中标题+描述 | 右阅读链接），3 篇 3 行，720 内视觉最强且不挤 */
.art-rel .art-grid { grid-template-columns: 1fr; gap: var(--cxy-space-4); margin-top: var(--cxy-space-7); }
.art-rel .acard {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center;
  gap: var(--cxy-space-5); padding: var(--cxy-space-5) var(--cxy-space-6);
}
.art-rel .acard .acard-cover { border-bottom: 0; background: none; padding: 0; }
.art-rel .acard .acard-body { padding: 0; }
.art-rel .acard .acard-read { margin-top: 0; white-space: nowrap; }

/* ── T24b §B-1：延伸阅读节（构建期 transform 包 <section class="art-further">；链接行卡 + 左 2px 极光短竖线 + 尾注 caption）
   h2 复用 .prose h2（含 48px 极光短线 + space-9 顶距）；ul 重置 prose padding；li 行卡 + ::before 极光竖线；a ink semibold；尾注 span caption muted ── */
.art-further {
  margin-top: var(--cxy-space-9); padding-top: var(--cxy-space-6);
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
}
.art-further ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--cxy-space-2); }
.art-further li {
  position: relative; margin: 0;
  padding: var(--cxy-space-3) var(--cxy-space-4) var(--cxy-space-3) var(--cxy-space-5);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-sm);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.art-further li:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-1); }
.art-further li::before {
  content: ""; position: absolute; left: 0; top: var(--cxy-space-2); bottom: var(--cxy-space-2);
  width: 2px; background: var(--cxy-gradient-aurora); border-radius: var(--cxy-radius-pill);
}
.art-further a {
  font-size: var(--cxy-size-body-article); color: var(--cxy-ink); font-weight: var(--cxy-weight-semibold);
  text-decoration: none;
}
.art-further a:hover { color: var(--cxy-action); }
.art-further a:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); outline: none; }
.art-further-note {
  display: block; margin-top: var(--cxy-space-1);
  font-size: var(--cxy-size-caption); color: var(--cxy-muted); font-weight: var(--cxy-weight-regular);
  line-height: 1.5;
}

/* ── T27：术语详情页 term-related / term-back-link 补样式（原零样式靠 prose 默认渲染，视觉语言不统一）── */
.term-related { margin-top: var(--cxy-space-7); padding-top: var(--cxy-space-5); border-top: var(--cxy-border-hairline) solid var(--cxy-border); }
.term-related h2 {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold); color: var(--cxy-muted);
  letter-spacing: var(--cxy-tracking-label); text-transform: uppercase;
  margin: 0 0 var(--cxy-space-3);
}
.term-related h2::before { display: none; }  /* 覆盖 .prose h2 极光短线，术语页相关问答用 label 级 */
.term-qa-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--cxy-space-2); }
.term-qa-list a { font-size: var(--cxy-size-body-article); color: var(--cxy-ink); font-weight: var(--cxy-weight-semibold); text-decoration: none; }
.term-qa-list a:hover { color: var(--cxy-action); }
.term-qa-list a:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); outline: none; }
.term-back-link { margin: var(--cxy-space-6) 0 0; }
.term-back-link a {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--cxy-size-caption); color: var(--cxy-muted); font-weight: var(--cxy-weight-regular);
  text-decoration: none;
}
.term-back-link a:hover { color: var(--cxy-action); }
.term-back-link a:focus-visible { box-shadow: var(--cxy-ring); border-radius: var(--cxy-radius-xs); outline: none; }


/* ── /knowledge/tax-calendar/ 征期日历（T16，纯静态月份网格） ── */
.cal-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--cxy-space-4);
}
@media (max-width: 900px) { .cal-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .cal-grid { grid-template-columns: repeat(2, 1fr); } }
.cal-month {
  background: var(--cxy-surface-card); border-radius: var(--cxy-radius-md);
  padding: var(--cxy-space-4) var(--cxy-space-4) var(--cxy-space-5);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  position: relative; overflow: hidden;
}
.cal-month-big {
  background: linear-gradient(180deg, rgba(37,99,235,0.06), var(--cxy-surface-card) 65%);
  border-color: rgba(37,99,235,0.28);
}
.cal-month-big::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--cxy-action), var(--cxy-cyan));
}
.cal-m-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: var(--cxy-space-2);
}
.cal-m-num {
  font-family: var(--cxy-font-display); font-weight: var(--cxy-weight-heavy);
  font-size: 13px; color: var(--cxy-muted); letter-spacing: 0.04em;
}
.cal-month-big .cal-m-num { color: var(--cxy-action); }
.cal-m-tag {
  font-size: var(--cxy-size-xs); color: var(--cxy-action);
  border: 1px solid rgba(37,99,235,0.3); border-radius: var(--cxy-radius-pill);
  padding: 2px var(--cxy-space-2); line-height: 1.4;
}
.cal-m-date {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 20px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
  line-height: 1.2;
}
.cal-m-reason { margin: 0 0 var(--cxy-space-2); font-size: var(--cxy-size-sm); color: var(--cxy-text); }
.cal-m-tip { margin: 0; font-size: var(--cxy-size-xs); color: var(--cxy-muted); line-height: var(--cxy-leading-body); }

.cal-types { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--cxy-space-4); }
@media (max-width: 600px) { .cal-types { grid-template-columns: 1fr; } }
.cal-type {
  background: var(--cxy-surface-card); border-radius: var(--cxy-radius-md);
  padding: var(--cxy-space-4) var(--cxy-space-5);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
}
.cal-type .line-tag { margin-bottom: var(--cxy-space-2); }
.cal-type p { margin: 0; font-size: var(--cxy-size-body); color: var(--cxy-text); line-height: var(--cxy-leading-body); }

.cal-tips {
  margin: 0; padding-left: var(--cxy-space-5); display: grid; gap: var(--cxy-space-3);
}
.cal-tips li { font-size: var(--cxy-size-body); color: var(--cxy-text); line-height: var(--cxy-leading-body); }

.cal-src { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: var(--cxy-space-2) var(--cxy-space-5); }
.cal-src dt { font-size: var(--cxy-size-sm); color: var(--cxy-muted); font-weight: var(--cxy-weight-medium); }
.cal-src dd { margin: 0; font-size: var(--cxy-size-sm); color: var(--cxy-text); }


/* ── /knowledge/faq/ 高频问答（T16，复用 .faq 手风琴 + 分类锚点条） ── */
.faq-cats {
  display: flex; flex-wrap: wrap; gap: var(--cxy-space-2);
  margin-bottom: var(--cxy-space-6);
}
.faq-cat-link {
  display: inline-block; font-size: var(--cxy-size-sm); color: var(--cxy-text);
  padding: var(--cxy-space-2) var(--cxy-space-4);
  border-radius: var(--cxy-radius-pill);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  background: var(--cxy-surface-card);
  text-decoration: none;
  transition: border-color var(--cxy-duration-fast) var(--cxy-ease-out),
              color var(--cxy-duration-fast) var(--cxy-ease-out);
}
.faq-cat-link:hover { border-color: var(--cxy-action); color: var(--cxy-action); }
.faq-cat-link:focus-visible { box-shadow: var(--cxy-ring); outline: none; }

/* T16 财税 FAQ 答案含多段 markdown（粗体/列表/引用块），限定 .k-faq 容器避免污染 ai-tax/help 单段 .faq-a */
.k-faq .faq-a p { margin: 0 0 var(--cxy-space-2); font-size: var(--cxy-size-body); color: var(--cxy-text); line-height: var(--cxy-leading-body); }
.k-faq .faq-a p:last-child { margin-bottom: 0; }
.k-faq .faq-a ul, .k-faq .faq-a ol { margin: var(--cxy-space-2) 0; padding-left: var(--cxy-space-5); }
.k-faq .faq-a li { margin-bottom: var(--cxy-space-1); font-size: var(--cxy-size-body); color: var(--cxy-text); line-height: var(--cxy-leading-body); }
.k-faq .faq-a strong { font-weight: var(--cxy-weight-heavy); color: var(--cxy-ink); }
.k-faq .faq-a blockquote {
  margin: var(--cxy-space-3) 0 0; padding: var(--cxy-space-3) var(--cxy-space-4);
  border-left: 3px solid var(--cxy-border); background: var(--cxy-subtle);
  border-radius: 0 var(--cxy-radius-sm) var(--cxy-radius-sm) 0;
  font-size: var(--cxy-size-caption); color: var(--cxy-muted);
}
.k-faq .faq-a blockquote p { margin: 0; font-size: var(--cxy-size-caption); color: var(--cxy-muted); }
.k-faq .faq-cat-sep { margin: var(--cxy-space-7) 0 var(--cxy-space-4); }
.k-faq .faq-cat-sep h2 { font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy); font-size: 22px; color: var(--cxy-ink); margin: 0; }

/* 跨页入口段落（help FAQ 区尾「财税政策类问题 → 财税高频问答」等，T16） */
.sec-cross { margin: var(--cxy-space-5) 0 0; font-size: var(--cxy-size-sm); color: var(--cxy-muted); }
.sec-cross a { color: var(--cxy-action); }
.sec-cross a:hover { text-decoration: underline; }


/* ── T20 FAQ 中心页：六类导览卡 + 精选问答直出 ── */
.faq-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cxy-space-4); }
@media (max-width: 900px) { .faq-cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .faq-cat-grid { grid-template-columns: 1fr; } }
.faq-cat-card {
  display: flex; flex-direction: column; gap: var(--cxy-space-2);
  padding: var(--cxy-space-5); background: var(--cxy-surface-card);
  border: var(--cxy-border-hairline) solid var(--cxy-border); border-radius: var(--cxy-radius-lg);
  text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s;
}
.faq-cat-card:hover { border-color: var(--cxy-action); box-shadow: 0 2px 8px rgba(37,99,235,.08); }
.faq-cat-card:focus-visible { box-shadow: var(--cxy-ring); outline: none; }
.faq-cat-card h2, .faq-cat-card h3 { font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: 0; }
.faq-cat-card p { font-size: var(--cxy-size-sm); color: var(--cxy-muted); margin: 0; line-height: var(--cxy-leading-body); }
.faq-cat-card .acard-read { margin-top: auto; }
.faq-cat-link.is-current { background: var(--cxy-action); color: #fff; border-color: var(--cxy-action); }

.faq-pick-group { margin-bottom: var(--cxy-space-7); }
.faq-pick-head { font-size: var(--cxy-size-h3); font-weight: var(--cxy-weight-heavy); color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3); }
.faq-pick-head a { color: inherit; text-decoration: none; }
.faq-pick-head a:hover { color: var(--cxy-action); }
.faq-pick { padding: var(--cxy-space-4) 0; border-bottom: var(--cxy-border-hairline) solid var(--cxy-border); }
.faq-pick:last-child { border-bottom: 0; }
.faq-pick h4 { font-size: var(--cxy-size-body); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2); }
.faq-pick .prose p,
.faq-pick .prose ul,
.faq-pick .prose ol,
.faq-pick .prose blockquote { font-size: var(--cxy-size-sm); }


/* ── T20 工具页：速查表（静态表格 + 段间说明 + 段后注） ── */
.tool-tables { font-size: var(--cxy-size-sm); }
/* T27：tool 整页改宽 1200 后，h2/intro/note 内嵌限宽 720 保护行长（表格走全宽 content 1136）；
   标题/说明 vs 宽表格是刻意分层（阅读型 vs 数据型），消除原 696/896 锯齿 */
.tool-sec > h2,
.tool-sec > .tool-intro,
.tool-sec > .tool-note { max-width: var(--cxy-container-article); }
.tool-sec { margin-bottom: var(--cxy-space-7); }
.tool-sec:last-child { margin-bottom: 0; }
.tool-sec > h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: var(--cxy-size-h3); color: var(--cxy-ink); margin: 0 0 var(--cxy-space-3);
  line-height: 1.35;
}
/* T24b §C：tool-sec h2 加 48px 极光短线（与 .prose h2::before 一致；tool-sec 不在 .prose 内，单独加） */
.tool-sec > h2::before {
  content: ""; display: block; width: 48px; height: 2px;
  background: var(--cxy-gradient-aurora); border-radius: var(--cxy-radius-pill);
  margin-bottom: var(--cxy-space-3);
}
.tool-intro { color: var(--cxy-muted); margin: 0 0 var(--cxy-space-3); font-size: var(--cxy-size-sm); line-height: var(--cxy-leading-body); }
.tool-table-wrap { overflow-x: auto; margin: 0 0 var(--cxy-space-3); -webkit-overflow-scrolling: touch; }
/* T27：删 T23b P2-7 负 margin 突破逻辑（整页已改宽 .wrap 1200，表格自然在 content 1136 内，原 -100px/侧突破到 896 反致锯齿） */
/* T23a P3-8：表格数字等宽对齐（金额/税率/日期列；营销 KPI 不受影响） */
.prose table, .tool-table { font-variant-numeric: tabular-nums; }
/* T29 §A：正文 md 表格补横线表样式（复用 tool-table 视觉语言；约 50 张正文表原裸渲染无样式） */
.prose table {
  width: 100%; border-collapse: collapse;
  font-size: var(--cxy-size-sm); margin: 0 0 var(--cxy-space-4);
}
.prose table th, .prose table td {
  padding: var(--cxy-space-2) var(--cxy-space-3);
  border: none; border-bottom: var(--cxy-border-hairline) solid var(--cxy-border-strong);
  text-align: left; vertical-align: top; line-height: 1.5;
}
.prose table th {
  background: var(--cxy-subtle); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink);
  border-bottom: 2px solid var(--cxy-border-strong);
}
.prose table tbody tr:last-child td { border-bottom: none; }
.prose table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--cxy-subtle) 30%, transparent); }
.tool-table { width: 100%; border-collapse: collapse; font-size: var(--cxy-size-sm); }
/* T24b §C：横线表——去纵向边框，行间 1px hairline；th 底 2px；末行无线；th 去 nowrap 改 min-width:72px；zebra 30% */
/* T25 §B：行线色 --cxy-border → --cxy-border-strong（#D7DEE8 提对比度）；th 2px 同步换 strong 保持粗于 td；zebra 30% 不动 */
.tool-table th, .tool-table td {
  padding: var(--cxy-space-2) var(--cxy-space-3);
  border: none; border-bottom: var(--cxy-border-hairline) solid var(--cxy-border-strong);
  text-align: left; vertical-align: top; line-height: 1.5;
}
.tool-table th {
  background: var(--cxy-subtle); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink);
  border-bottom: 2px solid var(--cxy-border-strong); white-space: normal; min-width: 72px;
}
.tool-table tbody tr:last-child td { border-bottom: none; }
.tool-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--cxy-subtle) 30%, transparent); }
.tool-table strong { color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.tool-note {
  font-size: var(--cxy-size-caption); color: var(--cxy-muted);
  padding: var(--cxy-space-3) var(--cxy-space-4); background: var(--cxy-subtle);
  border-radius: var(--cxy-radius-sm); border-left: 3px solid var(--cxy-border);
  margin: var(--cxy-space-3) 0 0;
}
.tool-note p { font-size: var(--cxy-size-caption); color: var(--cxy-muted); margin: 0 0 var(--cxy-space-2); line-height: 1.55; }
.tool-note p:last-child { margin-bottom: 0; }
.tool-note ul, .tool-note ol { padding-left: 1.5em; margin: 0 0 var(--cxy-space-2); }
.tool-note li { font-size: var(--cxy-size-caption); color: var(--cxy-muted); margin-bottom: var(--cxy-space-1); }



/* ── /knowledge/glossary/ 工具条 ── */
.gloss-noscript {
  background: var(--cxy-subtle); border-radius: var(--cxy-radius-sm);
  padding: var(--cxy-space-3) var(--cxy-space-4); color: var(--cxy-muted);
  font-size: var(--cxy-size-sm); margin: 0 0 var(--cxy-space-4);
}
.gloss-toolbar {
  display: grid; grid-template-columns: 1fr auto; gap: var(--cxy-space-5); align-items: center;
  margin-bottom: var(--cxy-space-6);
}
.gloss-search input {
  width: 100%; min-height: 44px; padding: 0 var(--cxy-space-4);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-pill); background: var(--cxy-surface-card);
  font-family: inherit; font-size: var(--cxy-size-body); color: var(--cxy-ink);
  box-shadow: var(--cxy-elevation-1);
}
.gloss-search input:focus { outline: none; border-color: var(--cxy-action); box-shadow: var(--cxy-ring); }
.gloss-index {
  list-style: none; margin: 0; padding: 4px;
  display: flex; flex-wrap: wrap; gap: 2px;
  background: var(--cxy-subtle); border-radius: var(--cxy-radius-pill);
}
.gloss-index li { display: inline-flex; }
.gloss-index button {
  min-width: 28px; height: 28px; padding: 0 4px;
  background: transparent; border: 0; border-radius: var(--cxy-radius-xs);
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-sm); color: var(--cxy-ink-2);
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.gloss-index button:hover { background: var(--cxy-tint-blue-bg); color: var(--cxy-action); }
.gloss-index button:focus-visible { box-shadow: var(--cxy-ring); outline: none; }
.gloss-index-empty {
  min-width: 28px; height: 28px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-sm);
  color: var(--cxy-faint, var(--cxy-muted)); opacity: .55;
}

/* ── 术语卡列表（按拼音分组） ── */
.gloss-list { padding-top: 0; }
.gloss-group { margin-bottom: var(--cxy-space-8); scroll-margin-top: 84px; }
.gloss-group[hidden] { display: none; }
.gloss-group-h {
  display: flex; align-items: baseline; gap: var(--cxy-space-3);
  border-bottom: var(--cxy-border-hairline) solid var(--cxy-border);
  padding-bottom: var(--cxy-space-3); margin-bottom: var(--cxy-space-4);
}
.gloss-group-letter {
  font-family: var(--cxy-font-num); font-size: 22px; font-weight: var(--cxy-weight-heavy);
  color: var(--cxy-action); flex: none;
}
.gloss-group-h h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 22px; color: var(--cxy-ink); margin: 0; flex: 1;
}
.gloss-group-count { font-size: var(--cxy-size-label); color: var(--cxy-muted); }
.gloss-terms { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--cxy-space-3); }
.gloss-term {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-5) var(--cxy-space-6);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.gloss-term:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-1); }
.gloss-term[hidden] { display: none; }
.gloss-term-h { display: flex; align-items: center; gap: var(--cxy-space-3); flex-wrap: wrap; margin-bottom: 6px; }
.gloss-term-h h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 18px; color: var(--cxy-ink); margin: 0;
}
.gloss-term-tag {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-tint-blue-fg); background: var(--cxy-tint-blue-bg);
  padding: 3px var(--cxy-space-3); border-radius: var(--cxy-radius-pill);
}
.gloss-term-desc { margin: 0 0 var(--cxy-space-3); font-size: var(--cxy-size-sm); color: var(--cxy-text); line-height: var(--cxy-leading-body); }
.gloss-term-plain {
  margin: 0; padding: var(--cxy-space-3) var(--cxy-space-4);
  background: var(--cxy-tint-cyan-bg); color: var(--cxy-ink-2);
  border-radius: var(--cxy-radius-sm); font-size: var(--cxy-size-sm);
  line-height: var(--cxy-leading-body);
}
.gloss-term-plain::before {
  content: "AI 大白话"; display: inline-block;
  font-family: var(--cxy-font-num); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-bold); color: var(--cxy-tint-cyan-fg);
  margin-right: var(--cxy-space-2); letter-spacing: var(--cxy-tracking-label);
}
.gloss-empty { text-align: center; padding: var(--cxy-space-6) 0; color: var(--cxy-muted); font-size: var(--cxy-size-body); }
.gloss-empty em { color: var(--cxy-ink); font-style: normal; font-weight: var(--cxy-weight-bold); }

/* ── T17：术语库扩容（md 渲染 desc + 详解链接 + 6 主题锚点条换行） ── */
.gloss-term-desc p { margin: 0 0 var(--cxy-space-2); }
.gloss-term-desc p:last-child { margin-bottom: 0; }
.gloss-term-desc strong { font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); }
.gloss-term-link { margin: var(--cxy-space-3) 0 0; text-align: right; }
.gloss-term-link a {
  font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-bold);
  color: var(--cxy-action); text-decoration: none;
  border-bottom: 1px solid transparent; transition: border-color 0.15s;
}
.gloss-term-link a:hover { border-bottom-color: var(--cxy-action); }
.gloss-term-link a:focus-visible { box-shadow: var(--cxy-ring); outline: none; border-radius: 3px; }
/* 6 主题锚点条：复用 .faq-cats 视觉，主题名较长允许换行 */
.gloss-cats { flex-wrap: wrap; }

/* ── 术语库底部 CTA ── */
.gloss-foot-cta {
  background: var(--cxy-gradient-soft); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-2xl); padding: var(--cxy-space-8);
  display: grid; grid-template-columns: 7fr auto; gap: var(--cxy-space-6); align-items: center;
  position: relative; overflow: hidden;
}
.gloss-foot-cta::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: var(--cxy-gradient-aurora);
}
.gloss-foot-text .line-tag { margin-bottom: var(--cxy-space-3); }
.gloss-foot-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 24px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
}
.gloss-foot-text p { margin: 0; font-size: var(--cxy-size-body); color: var(--cxy-text); }


/* ── /welcome/ 纵向步骤流（T09） ──
   与 register/help 的横向 .steps 区分：竖向时间轴风格，序号 + 动作 + 说明 + 演示小卡 */
.steps-v {
  list-style: none; margin: var(--cxy-space-7) 0 0; padding: 0;
  display: grid; gap: var(--cxy-space-5);
  counter-reset: stepv;
  position: relative;
}
.steps-v li {
  position: relative; padding: var(--cxy-space-6) var(--cxy-space-6) var(--cxy-space-6) calc(var(--cxy-space-6) + 50px);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl);
}
.steps-v li::before {
  content: counter(stepv); counter-increment: stepv;
  position: absolute; left: var(--cxy-space-5); top: var(--cxy-space-5);
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--cxy-blue); color: var(--cxy-on-color);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-bold); font-size: var(--cxy-size-title);
}
.steps-v h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 19px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
}
.steps-v .step-desc { font-size: var(--cxy-size-body); color: var(--cxy-text); margin: 0 0 var(--cxy-space-4); max-width: 36em; }
.steps-v .step-demo {
  background: var(--cxy-subtle); border-radius: var(--cxy-radius-md);
  padding: var(--cxy-space-4); font-size: var(--cxy-size-sm); color: var(--cxy-ink-2);
}
.steps-v .step-demo-tag {
  display: inline-block; font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  color: var(--cxy-muted); margin-bottom: var(--cxy-space-2);
  letter-spacing: var(--cxy-tracking-label);
}

/* welcome 常见卡点小提示 */
.welcome-tip {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-5) var(--cxy-space-6);
}
.welcome-tip h3 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-bold);
  font-size: var(--cxy-size-body); color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
}
.welcome-tip p { font-size: var(--cxy-size-sm); color: var(--cxy-text); margin: 0; }
.welcome-tip .wecom-inline {
  display: inline-flex; align-items: center; gap: var(--cxy-space-2); margin-top: var(--cxy-space-3);
}
.welcome-tip .wecom-inline img { width: 92px; height: 92px; border-radius: var(--cxy-radius-sm); background: var(--cxy-on-color); padding: 4px; }
.welcome-tip .wecom-inline b { font-size: var(--cxy-size-sm); color: var(--cxy-ink); }
.welcome-tips { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cxy-space-4); margin-top: var(--cxy-space-5); }
.welcome-tip .wecom-inline small { display: block; font-size: var(--cxy-size-label); color: var(--cxy-muted); max-width: 18em; }
@media (max-width: 720px) { .welcome-tips { grid-template-columns: 1fr; } }


/* ── /terms/ + /privacy/ 法律页 ── */
.law-hero {
  padding: var(--cxy-space-9) 0 var(--cxy-space-6);
  background: linear-gradient(180deg, var(--cxy-subtle) 0%, var(--cxy-surface-card) 80%);
}
.law-hero h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 36px; color: var(--cxy-ink); margin: 0 0 var(--cxy-space-2);
}
.law-meta { font-size: var(--cxy-size-sm); color: var(--cxy-muted); margin: 0 0 var(--cxy-space-3); font-family: var(--cxy-font-num); }
.law-review-note {
  display: flex; align-items: flex-start; gap: var(--cxy-space-3);
  background: var(--cxy-tint-blue-bg); color: var(--cxy-tint-blue-fg);
  border-radius: var(--cxy-radius-md); padding: var(--cxy-space-3) var(--cxy-space-4);
  font-size: var(--cxy-size-sm);
}
.law-review-note b { color: var(--cxy-action); font-weight: var(--cxy-weight-bold); }

.law-layout {
  display: grid; grid-template-columns: 220px 1fr; gap: var(--cxy-space-8);
  align-items: start; padding-top: var(--cxy-space-8);
}
.law-toc {
  position: sticky; top: 92px;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-4);
  max-height: calc(100vh - 120px); overflow: auto;
}
.law-toc h2 {
  font-family: var(--cxy-font-sans); font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  letter-spacing: var(--cxy-tracking-label); text-transform: uppercase;
  color: var(--cxy-muted); margin: 0 0 var(--cxy-space-3);
}
.law-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.law-toc a {
  display: block; padding: 6px var(--cxy-space-3); border-radius: var(--cxy-radius-xs);
  font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); line-height: 1.4;
}
.law-toc a:hover { background: var(--cxy-tint-blue-bg); color: var(--cxy-action); }
.law-toc a:focus-visible { box-shadow: var(--cxy-ring); outline: none; }
.law-prose { max-width: var(--cxy-container-article); }
.law-prose h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: 20px; color: var(--cxy-ink); margin: var(--cxy-space-7) 0 var(--cxy-space-3);
  scroll-margin-top: 92px;
}
.law-prose h2:first-child { margin-top: 0; }
.law-prose p, .law-prose li {
  font-size: var(--cxy-size-body); color: var(--cxy-text);
  line-height: var(--cxy-leading-body); margin: 0 0 var(--cxy-space-3);
}
.law-prose ul, .law-prose ol { padding-left: 1.5em; margin-bottom: var(--cxy-space-3); }
.law-prose li { margin-bottom: var(--cxy-space-2); }
.law-prose strong, .law-prose b { color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.law-prose .law-colophon { margin-top: var(--cxy-space-7); color: var(--cxy-muted); font-size: var(--cxy-size-sm); }


/* ── T23b P1-1：文章/术语页粘性 TOC（迁移 law-toc 机制；右侧 sticky；≥1200px 显示，<1200px 隐藏） ──
   transform 构建期生成 aside.article-toc + 改 art-body 为 grid 双列；h2<3 不渲染由 .eleventy.js 保证 */
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, var(--cxy-container-article)) 200px;
  gap: var(--cxy-space-8);
  justify-content: center;
  align-items: start;
}

/* ── T26：标题区/声明区/CTA/文末返回 跟随正文 article-layout 几何对齐
   修复：articleToc transform 把正文 .wrap-article 改写为 .article-layout（双列 grid 居中），
   致标题区（.wrap-article 720px 居中）与正文区宽屏左缘错位 152px。
   方案：让标题/声明/CTA/文末返回的 .wrap-article 也用相同双列 grid（左 720 列 + 右 200 列 + 40 gap 居中），
   内容占左列，右列留白对齐 toc——标题/正文/声明/CTA 四块左缘宽屏对齐成一条竖线 ── */
.art-head .wrap-article,
.art-body .wrap-article,
.art-notes .wrap-article,
.sec .wrap-article,
.sec-flush .wrap-article,
.art-rel .wrap-article,
.art-end-back .wrap-article {
  max-width: var(--cxy-container-max);
  display: grid;
  grid-template-columns: minmax(0, var(--cxy-container-article)) 200px;
  gap: var(--cxy-space-8);
  justify-content: center;
  align-items: start;
}
.art-head .wrap-article > *,
.art-body .wrap-article > *,
.art-notes .wrap-article > *,
.sec .wrap-article > *,
.sec-flush .wrap-article > *,
.art-rel .wrap-article > *,
.art-end-back .wrap-article > * {
  grid-column: 1;
}
.article-prose h2, .article-prose h3 { scroll-margin-top: 92px; }  /* 锚点跳转留 sticky nav 空间 */
.article-toc {
  position: sticky; top: 92px;
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); padding: var(--cxy-space-4);
  max-height: calc(100vh - 120px); overflow: auto;
}
.article-toc h2 {
  font-family: var(--cxy-font-sans); font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  letter-spacing: var(--cxy-tracking-label); text-transform: uppercase;
  color: var(--cxy-muted); margin: 0 0 var(--cxy-space-3);
}
.article-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.article-toc a {
  display: block; padding: 6px var(--cxy-space-3); border-radius: var(--cxy-radius-xs);
  font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); line-height: 1.4;
  text-decoration: none;
}
.article-toc a:hover { background: var(--cxy-tint-blue-bg); color: var(--cxy-action); }
.article-toc a:focus-visible { box-shadow: var(--cxy-ring); outline: none; }
.article-toc a.is-active { background: var(--cxy-tint-blue-bg); color: var(--cxy-action); font-weight: var(--cxy-weight-semibold); }
@media (max-width: 1199px) {
  .article-layout { display: block; }
  .article-toc { display: none; }  /* <1200px 隐藏侧边 TOC */
  .article-prose { max-width: var(--cxy-container-article); margin-inline: auto; }  /* T26：block 退化兜底窄幅居中，防 prose 撑满 1136px 行长失控 */
  /* T27：<1200px T26 grid 容器退化 block + 窄幅居中，防双列 grid 把 prose 挤到 449px（右列 200 留白浪费） */
  .art-head .wrap-article,
  .art-body .wrap-article,
  .art-notes .wrap-article,
  .sec .wrap-article,
  .sec-flush .wrap-article,
  .art-rel .wrap-article,
  .art-end-back .wrap-article { display: block; max-width: var(--cxy-container-article); margin-inline: auto; }
}
/* T24b §B-4：<1200px 内联折叠目录 details（纯 HTML 无 JS；与 aside 侧边 TOC 互斥——≥1200 隐藏 inline，<1200 隐藏 aside）
   transform 生成在 article-prose 开标签后首元素位置；summary「本文目录」+ ▾ 指示（CSS rotate，reduced-motion 退化无动画） */
.article-toc-inline {
  margin: 0 0 var(--cxy-space-6);
  background: var(--cxy-subtle);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-md);
  padding: 0 var(--cxy-space-4);
}
.article-toc-inline summary {
  cursor: pointer; font-size: var(--cxy-size-label); font-weight: var(--cxy-weight-semibold);
  letter-spacing: var(--cxy-tracking-label); text-transform: uppercase;
  color: var(--cxy-muted); padding: var(--cxy-space-3) 0;
  list-style: none;
}
.article-toc-inline summary::-webkit-details-marker { display: none; }
.article-toc-inline summary::after {
  content: "▾"; float: right; color: var(--cxy-faint, var(--cxy-muted));
  transition: transform 0.2s ease;
}
.article-toc-inline[open] summary::after { transform: rotate(180deg); }
.article-toc-inline ol { list-style: none; margin: 0; padding: 0 0 var(--cxy-space-3); display: grid; gap: 2px; }
.article-toc-inline a {
  display: block; padding: 4px var(--cxy-space-3); border-radius: var(--cxy-radius-xs);
  font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); line-height: 1.4;
  text-decoration: none;
}
.article-toc-inline a:hover { color: var(--cxy-action); background: var(--cxy-tint-blue-bg); }
.article-toc-inline a:focus-visible { box-shadow: var(--cxy-ring); outline: none; }
@media (min-width: 1200px) {
  .article-toc-inline { display: none; }  /* ≥1200px aside 侧边 TOC 接管，隐藏内联折叠目录 */
}
@media (prefers-reduced-motion: reduce) {
  .article-toc-inline summary::after { transition: none; }
}


/* ── T08–T10 共用断点 ── */
@media (max-width: 900px) {
  .law-layout { grid-template-columns: 1fr; gap: var(--cxy-space-5); }
  .law-toc { position: static; max-height: none; }
}
/* T24b §B-2：art-end-cta/gloss-foot-cta 单列断点迁至 768（与 hero h1 一致；原 900 太早，768-900 双列更紧凑） */
@media (max-width: 768px) {
  .art-end-cta, .gloss-foot-cta { grid-template-columns: 1fr; gap: var(--cxy-space-4); padding: var(--cxy-space-6); }
}
@media (max-width: 560px) {
  .gloss-toolbar { grid-template-columns: 1fr; }
  .steps-v li { padding-left: var(--cxy-space-6); padding-top: calc(var(--cxy-space-6) + 28px); }
  .steps-v li::before { top: var(--cxy-space-4); left: var(--cxy-space-5); }
}


/* ── 工具类：视觉隐藏但屏幕阅读器可见 ── */
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}


/* ── T21 区域优惠专区：hub 卡网格复用 T20 .faq-cat-grid；子页问答直出 + 政策详解卡 ── */
.region-meta {
  font-size: var(--cxy-size-sm); color: var(--cxy-muted);
  display: flex; flex-wrap: wrap; gap: var(--cxy-space-2);
  padding-bottom: var(--cxy-space-4); border-bottom: 1px solid var(--cxy-border);
  margin-bottom: var(--cxy-space-5);
}
.region-intro {
  font-size: var(--cxy-size-body); color: var(--cxy-text); line-height: var(--cxy-leading-body);
  margin-bottom: var(--cxy-space-6);
}
.region-faq { margin-bottom: var(--cxy-space-6); }
.region-faq h2 {
  font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink);
  margin: 0 0 var(--cxy-space-3);
}
.faq-a-body { font-size: var(--cxy-size-body); color: var(--cxy-text); line-height: var(--cxy-leading-body); }
.faq-a-body p { margin: 0 0 var(--cxy-space-3); }
.faq-a-body ul, .faq-a-body ol { padding-left: 1.5em; margin: 0 0 var(--cxy-space-3); }
.faq-a-body li { margin-bottom: var(--cxy-space-2); }
.faq-a-body strong { color: var(--cxy-ink); font-weight: var(--cxy-weight-bold); }
.faq-a-body blockquote {
  font-size: var(--cxy-size-caption); color: var(--cxy-muted);
  border-left: 2px solid var(--cxy-border); padding-left: var(--cxy-space-3);
  margin: var(--cxy-space-3) 0;
}
.region-article-link { margin: var(--cxy-space-6) 0; }
.region-article-link h2 {
  font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink);
  margin: 0 0 var(--cxy-space-3);
}
.region-article-card {
  display: flex; flex-direction: column; gap: var(--cxy-space-2);
  padding: var(--cxy-space-5); background: var(--cxy-surface-card);
  border: 1px solid var(--cxy-border); border-radius: var(--cxy-radius-lg);
  text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.region-article-card:hover { border-color: var(--cxy-action); box-shadow: 0 2px 8px rgba(37,99,235,.08); }
.region-article-card:focus-visible { box-shadow: var(--cxy-ring); outline: none; }
.region-article-card h3 {
  font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-action);
  margin: 0;
}

