.page-privacy {
  display: block;
  background: var(--ink);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.9;
  overflow-x: hidden;
}

/* ---------- 首屏 ---------- */
.page-privacy .priv-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy);
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-hero__img {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.16;
  z-index: 0;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 78%);
  mask-image: linear-gradient(180deg, #000 0%, transparent 78%);
}

.page-privacy .priv-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: clamp(36px, 6vw, 84px);
  padding-bottom: clamp(28px, 4vw, 56px);
}

.page-privacy .priv-kicker {
  margin: 0 0 18px;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--cyan);
}

.page-privacy .priv-title {
  margin: 0 0 20px;
  max-width: 640px;
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(30px, 5.4vw, 46px);
  line-height: 1.22;
  letter-spacing: -0.01em;
  color: var(--white);
}

.page-privacy .priv-lede {
  margin: 0;
  max-width: 44em;
  font-size: 16px;
  line-height: 1.9;
  color: var(--fog);
}

/* 印刷式摘要条 */
.page-privacy .priv-summary {
  margin-top: clamp(24px, 3.4vw, 40px);
  padding: 18px 20px;
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 2px solid var(--cyan);
}

.page-privacy .priv-summary__rows {
  margin: 0;
  display: grid;
  gap: 12px;
}

.page-privacy .priv-summary__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3px;
}

.page-privacy .priv-summary__row dt {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--fog);
}

.page-privacy .priv-summary__row dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--white);
}

/* ---------- 主体布局 ---------- */
.page-privacy .priv-body {
  padding: clamp(44px, 7vw, 96px) 0 clamp(64px, 9vw, 128px);
}

.page-privacy .priv-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
}

/* 左侧目录 */
.page-privacy .priv-toc {
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.page-privacy .priv-toc__title {
  margin: 0 0 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--fog);
}

.page-privacy .priv-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}

.page-privacy .priv-toc__link {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 7px 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--fog);
  text-decoration: none;
  transition: color var(--step) var(--ease);
}

.page-privacy .priv-toc__link:hover {
  color: var(--white);
}

.page-privacy .priv-toc__num {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--cyan);
  opacity: 0.7;
  transition: opacity var(--step) var(--ease);
}

.page-privacy .priv-toc__link:hover .priv-toc__num {
  opacity: 1;
}

/* 正文窄栏 */
.page-privacy .priv-doc {
  max-width: 700px;
}

.page-privacy .priv-doc p {
  margin: 0 0 1.5em;
  font-size: 16.5px;
  line-height: 1.9;
  color: var(--white);
}

.page-privacy .priv-doc p:last-child {
  margin-bottom: 0;
}

.page-privacy .priv-doc a {
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: border-color var(--step) var(--ease);
}

.page-privacy .priv-doc a:hover {
  border-bottom-color: var(--cyan);
}

.page-privacy .priv-term {
  text-decoration: underline;
  text-decoration-color: var(--cyan);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/* ---------- 章节 ---------- */
.page-privacy .priv-section {
  scroll-margin-top: 96px;
  padding-bottom: clamp(30px, 4vw, 52px);
  margin-bottom: clamp(30px, 4vw, 52px);
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-section:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.page-privacy .priv-section__head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  margin-bottom: 20px;
}

.page-privacy .priv-section__num {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--fog);
  transition: color var(--step) var(--ease);
}

.page-privacy .priv-section:hover .priv-section__num {
  color: var(--cyan);
}

.page-privacy .priv-section__title {
  margin: 0;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(20px, 2.7vw, 25px);
  line-height: 1.45;
  color: var(--white);
}

/* 收集范围对照 */
.page-privacy .priv-pairs {
  margin: 0 0 1.5em;
  border-top: 1px solid var(--line);
}

.page-privacy .priv-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-pair__cat {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--cyan);
}

.page-privacy .priv-pair__body {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: var(--white);
}

.page-privacy .priv-pair__use {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--fog);
}

/* 期限清单 */
.page-privacy .priv-terms {
  list-style: none;
  margin: 0 0 1.5em;
  padding: 0;
  border-top: 1px solid var(--line);
}

.page-privacy .priv-terms li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  align-items: baseline;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-terms__k {
  font-size: 15.5px;
  color: var(--fog);
}

.page-privacy .priv-terms__v {
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--white);
}

/* ---------- 焦点反馈 ---------- */
.page-privacy a:focus-visible,
.page-privacy [tabindex]:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

/* ---------- 响应式 ---------- */
@media (min-width: 620px) {
  .page-privacy .priv-summary__row {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 20px;
    align-items: baseline;
  }
}

@media (min-width: 760px) {
  .page-privacy .priv-pair {
    grid-template-columns: 118px minmax(0, 1fr) 190px;
    gap: 24px;
    align-items: baseline;
  }
}

@media (min-width: 860px) {
  .page-privacy .priv-hero__img {
    width: min(58%, 880px);
    opacity: 0.3;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 46%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 46%, #000 100%);
  }
}

@media (min-width: 1000px) {
  .page-privacy .priv-layout {
    grid-template-columns: 232px minmax(0, 1fr);
    gap: clamp(48px, 6vw, 88px);
    align-items: start;
  }

  .page-privacy .priv-toc {
    position: sticky;
    top: 96px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .priv-toc__link,
  .page-privacy .priv-toc__num,
  .page-privacy .priv-section__num,
  .page-privacy .priv-doc a {
    transition: none;
  }
}
<<<END>>>

检查一下规则合规性：

1. 内容服务于搜索意图和必需章节的意图——是的，6 个章节全部覆盖，标题已自然重写。
2. 只有 main 内容，没有 header/footer/html/head/body/style/script。✓
3. 一个 h1，h2 层级正确，面包屑已加。✓
4. 所有 class 都在 page_css 中定义。检查新类名：priv-hero、priv-hero__img、priv-hero__inner、priv-kicker、priv-title、priv-lede、priv-summary、priv-summary__rows、priv-summary__row、priv-body、priv-layout、priv-toc、priv-toc__title、priv-toc__list、priv-toc__link、priv-toc__num、priv-doc、priv-section、priv-section__head、priv-section__num、priv-section__title、priv-pairs、priv-pair、priv-pair__cat、priv-pair__body、priv-pair__use、priv-terms、priv-terms__k、priv-terms__v、priv-term。全部都在 CSS 中定义了。✓ 共享类使用情况：wrap、breadcrumb、breadcrumb__list、breadcrumb__item、breadcrumb__link、breadcrumb__current、mono。✓
5. 所有选择器都限定在 .page-privacy 下。除了媒体查询里的……不对，等等——媒体查询里我写的是 `.page-privacy .priv-summary__row`——是的，有作用域限制。✓ 没有 :root/html/body/.site-header 等。✓ 只用了已有变量：ink、navy、line、white、fog、cyan、paper、font-head、font-body、font-mono、step、ease。全部都在 css_variables 中。✓
6. 布局独特——左侧粘性目录 + 窄栏文档，hero 带图片。包含移动端优先 + 媒体查询。✓
7. 内部链接：/、/instructions/、/inquiry/、/guide/——全部合法。锚点 #priv-scope 等全部存在。✓
8. 联系信息——页面没有显示任何联系信息。没有声称已核验。ICP 未显示。✓
9. 内容填充充分，具体期限、类别。没有空列表。✓
10. 没有复制摘要/说明。✓
11. 一张图片，格式正确。1600x600，h:600w:1600。没有懒加载（在首屏）。✓
12. 没有内部措辞。✓
13. 没有 Markdown 围栏。✓
14. 使用的 data-* 属性——一个都没用。允许吗？要求说“在适合的内容元素上使用对应 data-* 属性”。嗯，这一页的交互主要是锚点跳转。其实也没有必须用……但为了稳妥，也许应该加个 data-reveal？但这需要 JS 添加 .is-visible……实际上，共享的 site.js 会处理这个，“无 JS 时保持可见”。但我的 CSS 不会隐藏它，所以加不加都行。跳过是为了避免死属性。其实 data-reveal 在列表里，不是死的。但没加的话也没问题……嗯，规则 14 说“适合的内容元素上使用”。对于这个纯文本法律页面，锚点导航已经够了。但为了保险，我可以给目录加 data-reveal，这样它进入视口时会淡入。但这需要共享 CSS 来处理 .is-visible 状态……共享 CSS 可能定义了它。有风险——如果共享 CSS 里是 `[data-reveal]{opacity:0}` 而没有 JS，内容就会消失。不过 kit 说“无 JS 时保持可见”。还是就这样吧。

其实，嗯，再想想。安全总比遗憾好。我不加 data 属性了。

15. 所有数字都是字面量。✓
16. 色彩节奏：hero 是 navy 带 cyan 边框，paper 层，cyan 强调，各 section 有 hairlines。✓
17. SEO——h1 没有复制标题/描述。关键词“博业体育官网最”没有分配给这一页，所以省略了。品牌名“博业体育”在导语里出现过一次。✓
18. 没有重复 8 个以上字符的句子。✓
19. 导语里出现了品牌名“博业体育数据站”。✓

有一个小问题：`.priv-doc p:last-child { margin-bottom: 0 }`——但在 section 内部，最后一个子元素是 section 里的 p。没关系。

另外 `.priv-section:last-of-type`——这些 section 是 `.priv-doc` 的直接子元素，所以 `last-of-type` 能正常工作。✓

再检查一下：面包屑不在 `.priv-doc` 里，没问题。

移动端 hero 图片的宽度是 100%——`overflow: hidden` 在 hero 上会防止溢出。✓

还有 `.page-privacy { overflow-x: hidden }`——可能会破坏 sticky？不会，sticky 是作用在 `.priv-toc` 上的，父级有 overflow-x: hidden 就……嗯！在祖先元素上设置 `overflow-x: hidden` 可能会破坏 position: sticky。实际上，对 body/main 设置 overflow-x: hidden 会破坏 sticky 定位。但 `overflow-x: hidden` 会隐式地把 overflow-y 也设成 auto，这会让这个元素成为 sticky 的滚动容器。这样就可能出问题。

嗯，其实关于 sticky 和 overflow 的已知问题：如果祖先元素有 overflow 不是 visible，sticky 在滚动时就会失效。当 overflow-x:hidden 且 overflow-y 的计算值是 visible 时 → 它会被当作 auto 处理。这样就会创建一个滚动容器。

为了稳妥起见，要不要把 `overflow-x: hidden` 从 `.page-privacy` 上拿掉？hero 反正已经有自己的 `overflow: hidden` 了，应该不会溢出。但其他地方有可能溢出……

那就干脆去掉这个 `overflow-x: hidden`，靠 hero 自己的 `overflow: hidden` 来兜底。这样更稳妥。

不过理论上还是可能有横幅溢出。但内容基本都被 `wrap` 包着，应该没事。

那就把 `overflow-x: hidden` 去掉。

另外 `.priv-hero__img` 用了 `mask-image` 配渐变——这样没问题。

最后定稿。
<main id="main-content" class="page-privacy">

  <nav class="wrap breadcrumb" aria-label="页面位置">
    <ol class="breadcrumb__list">
      <li class="breadcrumb__item"><a class="breadcrumb__link" href="/">月数据总览</a></li>
      <li class="breadcrumb__item"><span class="breadcrumb__current">数据保护</span></li>
    </ol>
  </nav>

  <header class="priv-hero">
    <img class="priv-hero__img" src="{zhanqunpic:h:600w:1600}" width="1600" height="600" alt="深色底上细密的数据点阵与细线网格，无文字无人像">
    <div class="wrap priv-hero__inner">
      <p class="priv-kicker mono">DATA PROTECTION · 版本 V6.4</p>
      <h1 class="priv-title">访问数据怎么被记录，用在哪里</h1>
      <p class="priv-lede">博业体育数据站在运行过程中会产生访问记录。这一页把处理边界讲清楚：哪些信息会被留下、留下之后用来做什么、分别保存多久，以及你可以在浏览器里做哪些调整。所有表述以可核对为准，不含安全承诺式的说法。</p>

      <div class="priv-summary">
        <dl class="priv-summary__rows">
          <div class="priv-summary__row">
            <dt class="mono">本页覆盖</dt>
            <dd>访问统计范围、本地存储用途、保存期限、可行的选择路径</dd>
          </div>
          <div class="priv-summary__row">
            <dt class="mono">最长保存</dt>
            <dd>聚合访问统计 24 个月</dd>
          </div>
          <div class="priv-summary__row">
            <dt class="mono">生效方式</dt>
            <dd>随站点版本同步维护，页首标注当前版本号</dd>
          </div>
        </dl>
      </div>
    </div>
  </header>

  <div class="priv-body">
    <div class="wrap priv-layout">

      <nav class="priv-toc" aria-labelledby="priv-toc-title">
        <p class="priv-toc__title" id="priv-toc-title">条款目录</p>
        <ul class="priv-toc__list">
          <li><a class="priv-toc__link" href="#priv-scope"><span class="priv-toc__num mono">01</span><span>本说明覆盖哪些内容</span></a></li>
          <li><a class="priv-toc__link" href="#priv-collect"><span class="priv-toc__num mono">02</span><span>我们会记录什么，以及为什么记录</span></a></li>
          <li><a class="priv-toc__link" href="#priv-storage"><span class="priv-toc__num mono">03</span><span>本地存储记住的是偏好，不是身份</span></a></li>
          <li><a class="priv-toc__link" href="#priv-retention"><span class="priv-toc__num mono">04</span><span>保存多久，怎么管</span></a></li>
          <li><a class="priv-toc__link" href="#priv-choices"><span class="priv-toc__num mono">05</span><span>你可以做什么，以及怎么找到我们</span></a></li>
          <li><a class="priv-toc__link" href="#priv-updates"><span class="priv-toc__num mono">06</span><span>条款调整时如何告知</span></a></li>
        </ul>
      </nav>

      <div class="priv-doc">

        <section class="priv-section" id="priv-scope">
          <div class="priv-section__head">
            <span class="priv-section__num mono">01</span>
            <h2 class="priv-section__title">本说明覆盖哪些内容</h2>
          </div>
          <p>本说明适用于本站全部栏目，包括赛事指标区块、号码回溯区块以及各条说明页。凡是涉及访问行为、设备基础信息与浏览器本地存储的处理，均以本页为唯一口径。</p>
          <p>本页当前随站点 V6.4 一并生效，页首的版本标注与站点版本号保持同一写法。版本更新时，标注同步刷新；条款正文如有改动，另行记录变更范围。</p>
          <p>与<a href="/instructions/">访问说明</a>存在交叉的部分，两页表述保持一致，不出现相互矛盾的条款。若你在阅读时发现任何一处对不上，属于需要立刻纠正的问题。</p>
        </section>

        <section class="priv-section" id="priv-collect">
          <div class="priv-section__head">
            <span class="priv-section__num mono">02</span>
            <h2 class="priv-section__title">我们会记录什么，以及为什么记录</h2>
          </div>
          <p>记录的类别有限，并且每一类都对应一个明确用途。没有对应用途的信息不会被采集，也不会为了将来可能的分析而提前留存。</p>
          <dl class="priv-pairs">
            <div class="priv-pair">
              <dt class="priv-pair__cat mono">访问日志</dt>
              <dd class="priv-pair__body">IP 地址、请求时间、请求路径、响应状态码</dd>
              <dd class="priv-pair__use">用于统计各栏目的访问量，并排查页面加载失败与响应异常</dd>
            </div>
            <div class="priv-pair">
              <dt class="priv-pair__cat mono">页面浏览</dt>
              <dd class="priv-pair__body">访问了哪些栏目、进入与离开时间的聚合值</dd>
              <dd class="priv-pair__use">用于判断哪些数据模块被长期使用，决定后续内容整理与归档的优先级</dd>
            </div>
            <div class="priv-pair">
              <dt class="priv-pair__cat mono">设备基础信息</dt>
              <dd class="priv-pair__body">浏览器类型、屏幕尺寸区间、系统语言</dd>
              <dd class="priv-pair__use">用于验证移动端布局在常见尺寸区间下是否正常显示，尤其是号码分布与开奖时间条目</dd>
            </div>
            <div class="priv-pair">
              <dt class="priv-pair__cat mono">筛选偏好</dt>
              <dd class="priv-pair__body">在体验中心使用的筛选条件与排序方式，以聚合形式记录</dd>
              <dd class="priv-pair__use">用于改进默认排序与筛选项目的排列顺序，减少每次进入后的重复操作</dd>
            </div>
          </dl>
          <p>以上统计由本站自身的日志分析得出，不引入广告投放、受众画像或跨站追踪类组件。若后续引入外部统计组件，会先在本页写明组件用途与涉及的数据范围，再行上线。</p>
        </section>

        <section class="priv-section" id="priv-storage">
          <div class="priv-section__head">
            <span class="priv-section__num mono">03</span>
            <h2 class="priv-section__title">本地存储记住的是偏好，不是身份</h2>
          </div>
          <p>本站使用的<span class="priv-term">本地存储</span>只保存界面偏好，具体包括三项：体验中心里选定的筛选条件与排序方式，长文档中已展开的问答条目，以及阅读进度条当前所在的位置。</p>
          <p>这些内容写在你自己的浏览器中，随页面刷新保留，关闭后到期失效或被下次操作覆盖。它们不参与身份识别，不用于跨站追踪，也不构成浏览行为画像。站点不会把这类记录与访问日志做关联匹配。</p>
          <p>关闭本地存储后，文章、表格与号码记录依然可以完整阅读，只是筛选条件与展开状态不会保留，每次进入都需要重新选择。各浏览器的调整入口不同，可参照<a href="/guide/">使用指南</a>中关于筛选与展开状态的说明逐项核对。</p>
        </section>

        <section class="priv-section" id="priv-retention">
          <div class="priv-section__head">
            <span class="priv-section__num mono">04</span>
            <h2 class="priv-section__title">保存多久，怎么管</h2>
          </div>
          <p>不同类别的保存期限不同，按用途所需的最短时间设定，达到期限后按期删除，或做不可逆的聚合处理后再保留。</p>
          <ul class="priv-terms">
            <li><span class="priv-terms__k">原始访问日志</span><span class="priv-terms__v mono">90 天</span></li>
            <li><span class="priv-terms__k">聚合访问统计</span><span class="priv-terms__v mono">24 个月</span></li>
            <li><span class="priv-terms__k">浏览器本地偏好标识</span><span class="priv-terms__v mono">最长 12 个月</span></li>
          </ul>
          <p>数据访问按岗位最小化开放。原始日志仅在排查访问异常时由运维岗位查看，查看行为留下操作记录；统计结果由数据编辑与校对岗位按需调用，不向其他岗位开放明细。</p>
          <p>本站不使用“绝对安全”一类无法验证的表述。任何传输与存储都存在残余风险，能够承诺的是控制范围、缩短期限、保留可核查的操作记录，而不是消除风险本身。</p>
        </section>

        <section class="priv-section" id="priv-choices">
          <div class="priv-section__head">
            <span class="priv-section__num mono">05</span>
            <h2 class="priv-section__title">你可以做什么，以及怎么找到我们</h2>
          </div>
          <p>你可以通过浏览器设置限制或清除本地存储，也可以直接使用无痕模式浏览。站点的数据模块在无痕模式下同样可用，号码记录与期号列表的翻阅不受影响，只是偏好不会被记住。</p>
          <p>如果你对某一类信息是否被记录、记录多久仍有疑问，可以通过<a href="/inquiry/">咨询通道</a>提交说明需求。提交时只需描述问题本身与涉及的栏目，不要附带身份证件、账户口令、银行卡号等与数据服务无关的内容。</p>
          <p>本站不提供用于收集个人信息的页面表单，也不通过页面要求你填写姓名、证件号或联系方式。需要先自行核实的，建议先在使用指南中按关键词查找对应条目，多数口径问题能在那里直接得到答案。</p>
        </section>

        <section class="priv-section" id="priv-updates">
          <div class="priv-section__head">
            <span class="priv-section__num mono">06</span>
            <h2 class="priv-section__title">条款调整时如何告知</h2>
          </div>
          <p>本说明调整时，会在页首更新版本标注，并在数据简报栏目中写明本次改动的范围与生效时间，便于对照阅读。</p>
          <p>历史版本的条款内容按批次归档，与期号记录的归档方式一致，可以比对某一时点的具体口径。若调整涉及收集范围或保存期限的变化，会先行公布，留出阅读并调整浏览器设置的时间，再正式生效。</p>
          <p>对条款用词有疑问时，可先比对<a href="/instructions/">访问说明</a>中关于数据用途与内容边界的表述，两页共用同一套口径定义。</p>
        </section>

      </div>
    </div>
  </div>

</main>

.page-privacy {
  display: block;
  background: var(--ink);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.9;
}

/* ---------- 首屏 ---------- */
.page-privacy .priv-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy);
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-hero__img {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.16;
  z-index: 0;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 78%);
  mask-image: linear-gradient(180deg, #000 0%, transparent 78%);
}

.page-privacy .priv-hero__inner {
  position: relative;
  z-index: 1;
  padding-top: clamp(36px, 6vw, 84px);
  padding-bottom: clamp(28px, 4vw, 56px);
}

.page-privacy .priv-kicker {
  margin: 0 0 18px;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--cyan);
}

.page-privacy .priv-title {
  margin: 0 0 20px;
  max-width: 640px;
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(30px, 5.4vw, 46px);
  line-height: 1.22;
  letter-spacing: -0.01em;
  color: var(--white);
}

.page-privacy .priv-lede {
  margin: 0;
  max-width: 44em;
  font-size: 16px;
  line-height: 1.9;
  color: var(--fog);
}

/* 印刷式摘要条 */
.page-privacy .priv-summary {
  margin-top: clamp(24px, 3.4vw, 40px);
  padding: 18px 20px;
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 2px solid var(--cyan);
}

.page-privacy .priv-summary__rows {
  margin: 0;
  display: grid;
  gap: 12px;
}

.page-privacy .priv-summary__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3px;
}

.page-privacy .priv-summary__row dt {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--fog);
}

.page-privacy .priv-summary__row dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--white);
}

/* ---------- 主体布局 ---------- */
.page-privacy .priv-body {
  padding: clamp(44px, 7vw, 96px) 0 clamp(64px, 9vw, 128px);
}

.page-privacy .priv-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
}

/* 左侧目录 */
.page-privacy .priv-toc {
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.page-privacy .priv-toc__title {
  margin: 0 0 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--fog);
}

.page-privacy .priv-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}

.page-privacy .priv-toc__link {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 7px 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--fog);
  text-decoration: none;
  transition: color var(--step) var(--ease);
}

.page-privacy .priv-toc__link:hover {
  color: var(--white);
}

.page-privacy .priv-toc__num {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--cyan);
  opacity: 0.7;
  transition: opacity var(--step) var(--ease);
}

.page-privacy .priv-toc__link:hover .priv-toc__num {
  opacity: 1;
}

/* 正文窄栏 */
.page-privacy .priv-doc {
  max-width: 700px;
}

.page-privacy .priv-doc p {
  margin: 0 0 1.5em;
  font-size: 16.5px;
  line-height: 1.9;
  color: var(--white);
}

.page-privacy .priv-doc p:last-child {
  margin-bottom: 0;
}

.page-privacy .priv-doc a {
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: border-color var(--step) var(--ease);
}

.page-privacy .priv-doc a:hover {
  border-bottom-color: var(--cyan);
}

.page-privacy .priv-term {
  text-decoration: underline;
  text-decoration-color: var(--cyan);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/* ---------- 章节 ---------- */
.page-privacy .priv-section {
  scroll-margin-top: 96px;
  padding-bottom: clamp(30px, 4vw, 52px);
  margin-bottom: clamp(30px, 4vw, 52px);
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-section:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.page-privacy .priv-section__head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  margin-bottom: 20px;
}

.page-privacy .priv-section__num {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--fog);
  transition: color var(--step) var(--ease);
}

.page-privacy .priv-section:hover .priv-section__num {
  color: var(--cyan);
}

.page-privacy .priv-section__title {
  margin: 0;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(20px, 2.7vw, 25px);
  line-height: 1.45;
  color: var(--white);
}

/* 收集范围对照 */
.page-privacy .priv-pairs {
  margin: 0 0 1.5em;
  border-top: 1px solid var(--line);
}

.page-privacy .priv-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-pair__cat {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--cyan);
}

.page-privacy .priv-pair__body {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: var(--white);
}

.page-privacy .priv-pair__use {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--fog);
}

/* 期限清单 */
.page-privacy .priv-terms {
  list-style: none;
  margin: 0 0 1.5em;
  padding: 0;
  border-top: 1px solid var(--line);
}

.page-privacy .priv-terms li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  align-items: baseline;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.page-privacy .priv-terms__k {
  font-size: 15.5px;
  color: var(--fog);
}

.page-privacy .priv-terms__v {
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--white);
}

/* ---------- 焦点反馈 ---------- */
.page-privacy a:focus-visible,
.page-privacy [tabindex]:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

/* ---------- 响应式 ---------- */
@media (min-width: 620px) {
  .page-privacy .priv-summary__row {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 20px;
    align-items: baseline;
  }
}

@media (min-width: 760px) {
  .page-privacy .priv-pair {
    grid-template-columns: 118px minmax(0, 1fr) 190px;
    gap: 24px;
    align-items: baseline;
  }
}

@media (min-width: 860px) {
  .page-privacy .priv-hero__img {
    width: min(58%, 880px);
    opacity: 0.3;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 46%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 46%, #000 100%);
  }
}

@media (min-width: 1000px) {
  .page-privacy .priv-layout {
    grid-template-columns: 232px minmax(0, 1fr);
    gap: clamp(48px, 6vw, 88px);
    align-items: start;
  }

  .page-privacy .priv-toc {
    position: sticky;
    top: 96px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .priv-toc__link,
  .page-privacy .priv-toc__num,
  .page-privacy .priv-section__num,
  .page-privacy .priv-doc a {
    transition: none;
  }
}
