/* ===== 数据与隐私 · 页面专属样式（作用域 .page-privacy） ===== */

.page-privacy {
  --privacy-num-size: var(--space-4);
  --privacy-accent-bar: calc(var(--border-thin) * 4);
}

/* ---------- 首屏：主色整幅铺底 ---------- */
.page-privacy .privacy-hero {
  background-color: var(--color-primary);
  color: var(--color-primary-ink);
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}

@media (min-width: 768px) {
  .page-privacy .privacy-hero {
    padding-top: var(--section-y);
    padding-bottom: var(--section-y-lg);
  }
}

.page-privacy .privacy-hero .breadcrumb,
.page-privacy .privacy-hero .breadcrumb a,
.page-privacy .privacy-hero .breadcrumb__sep {
  color: var(--color-primary-soft);
  font-size: var(--text-sm);
}

.page-privacy .privacy-hero .eyebrow {
  color: var(--color-primary-soft);
}

.page-privacy .privacy-hero__grid {
  display: grid;
  gap: var(--space-6);
  align-items: end;
  margin-top: var(--space-6);
}

@media (min-width: 900px) {
  .page-privacy .privacy-hero__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    gap: var(--space-8);
  }
}

.page-privacy .privacy-hero h1 {
  color: var(--color-primary-ink);
  margin: var(--space-2) 0 var(--space-3);
  letter-spacing: var(--tracking-heading);
}

.page-privacy .privacy-hero .lede {
  color: var(--color-primary-soft);
  font-size: var(--text-lg);
  line-height: var(--leading-body);
  max-width: 46ch;
  margin: 0;
}

/* 关键数字栏 */
.page-privacy .privacy-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
  padding-top: var(--space-3);
  border-top: var(--border-thin) solid color-mix(in srgb, var(--color-primary-ink) 34%, transparent);
}

.page-privacy .privacy-fact {
  display: flex;
  flex-direction: column-reverse;
  margin: 0;
}

.page-privacy .privacy-fact__value {
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--text-xl);
  font-weight: var(--weight-heading);
  line-height: 1;
  color: var(--color-primary-ink);
  font-variant-numeric: tabular-nums;
}

.page-privacy .privacy-fact__label {
  margin: var(--space-1) 0 0;
  font-size: var(--text-sm);
  color: var(--color-primary-soft);
}

/* 章节目录 */
.page-privacy .privacy-toc {
  display: grid;
  gap: 0;
  margin-top: var(--space-8);
  padding-top: var(--space-2);
  border-top: var(--border-thin) solid color-mix(in srgb, var(--color-primary-ink) 34%, transparent);
}

@media (min-width: 640px) {
  .page-privacy .privacy-toc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-6);
  }
}

@media (min-width: 1080px) {
  .page-privacy .privacy-toc {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.page-privacy .privacy-toc a {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  padding: var(--space-2) 0;
  font-size: var(--text-sm);
  line-height: 1.4;
  color: var(--color-primary-ink);
  text-decoration: none;
  border-bottom: var(--border-thin) solid color-mix(in srgb, var(--color-primary-ink) 22%, transparent);
  transition: color 140ms linear, border-color 140ms linear;
}

.page-privacy .privacy-toc a:hover {
  color: var(--color-primary-soft);
  border-bottom-color: var(--color-primary-ink);
}

.page-privacy .privacy-toc a:focus-visible {
  outline: var(--border-thin) solid var(--color-focus);
  outline-offset: 2px;
}

.page-privacy .privacy-toc span {
  flex: none;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-primary-soft);
  font-variant-numeric: tabular-nums;
}

/* ---------- 章节色带：每两节换一次底色 ---------- */
.page-privacy .policy-band {
  background-color: var(--color-surface);
}

.page-privacy .policy-band--alt {
  background-color: var(--color-surface-alt);
}

.page-privacy .policy-band + .policy-band {
  border-top: var(--border-thin) solid var(--color-line);
}

.page-privacy .policy-band--alt + .policy-band--alt {
  border-top-color: var(--color-surface-deep);
}

/* ---------- 条款章节本体 ---------- */
.page-privacy .policy-chapter {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 1080px) {
  .page-privacy .policy-chapter {
    grid-template-columns: minmax(0, 2fr) minmax(0, 7fr);
    gap: var(--space-8);
    align-items: start;
  }

  .page-privacy .policy-chapter--feature {
    grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr);
    gap: var(--space-6);
  }
}

.page-privacy .policy-chapter__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

@media (min-width: 1080px) {
  .page-privacy .policy-chapter__head {
    position: relative;
  }
}

.page-privacy .policy-chapter__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: var(--privacy-num-size);
  height: var(--privacy-num-size);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: var(--weight-heading);
  line-height: 1;
  color: var(--color-accent-ink);
  background-color: var(--color-accent);
  border-radius: var(--radius-sm);
  font-variant-numeric: tabular-nums;
}

.page-privacy .policy-chapter__head h2 {
  margin: 0;
  color: var(--color-ink);
  letter-spacing: var(--tracking-heading);
}

.page-privacy .policy-chapter__body {
  max-width: var(--measure);
}

.page-privacy .policy-chapter__body > p {
  margin: 0;
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

.page-privacy .policy-chapter__body > p + p {
  margin-top: var(--space-3);
}

/* ---------- 双栏对照 ---------- */
.page-privacy .policy-split {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

@media (min-width: 720px) {
  .page-privacy .policy-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }
}

.page-privacy .policy-split__col {
  min-width: 0;
}

.page-privacy .policy-split__title {
  margin: 0 0 var(--space-2);
  font-size: var(--text-lg);
  font-weight: var(--weight-heading);
  color: var(--color-ink);
  letter-spacing: var(--tracking-heading);
}

.page-privacy .policy-split__col > p {
  margin: 0;
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

.page-privacy .policy-split__col .tag {
  margin-bottom: var(--space-3);
}

/* ---------- 要点清单 ---------- */
.page-privacy .policy-points {
  list-style: none;
  margin: var(--space-3) 0 0;
  padding: 0;
}

.page-privacy .policy-points li {
  position: relative;
  padding: var(--space-2) 0 var(--space-2) var(--space-3);
  border-top: var(--border-thin) solid var(--color-line);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink);
}

.page-privacy .policy-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--space-2) + 0.62em);
  width: var(--space-1);
  height: var(--border-thin);
  background-color: var(--color-accent);
}

/* ---------- 编号条目 ---------- */
.page-privacy .policy-ordered {
  list-style: none;
  counter-reset: policy-step;
  margin: var(--space-4) 0 0;
  padding: 0;
}

.page-privacy .policy-ordered li {
  counter-increment: policy-step;
  display: grid;
  grid-template-columns: var(--privacy-num-size) minmax(0, 1fr);
  gap: var(--space-2) var(--space-3);
  padding: var(--space-3) 0;
  border-top: var(--border-thin) solid var(--color-line);
}

.page-privacy .policy-ordered li::before {
  content: counter(policy-step, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: var(--weight-heading);
  line-height: 1.5;
  color: var(--color-accent);
  font-variant-numeric: tabular-nums;
}

.page-privacy .policy-ordered b {
  display: block;
  font-size: var(--text-base);
  font-weight: var(--weight-heading);
  color: var(--color-ink);
  line-height: var(--leading-heading);
}

.page-privacy .policy-ordered span {
  display: block;
  margin-top: var(--space-1);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

/* ---------- 访客动作行 ---------- */
.page-privacy .policy-actions {
  list-style: none;
  margin: var(--space-4) 0 0;
  padding: 0;
}

.page-privacy .policy-actions li {
  padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
  background-color: var(--color-highlight);
  border-left: var(--privacy-accent-bar) solid var(--color-accent);
}

.page-privacy .policy-actions li + li {
  margin-top: var(--space-2);
}

.page-privacy .policy-actions b {
  display: block;
  font-size: var(--text-base);
  font-weight: var(--weight-heading);
  color: var(--color-ink);
  line-height: var(--leading-heading);
}

.page-privacy .policy-actions span {
  display: block;
  margin-top: var(--space-1);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

/* ---------- 要点框 ---------- */
.page-privacy .policy-note {
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
  background-color: var(--color-primary-soft);
  border-left: var(--privacy-accent-bar) solid var(--color-primary);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink);
}

/* ---------- 联系通道 ---------- */
.page-privacy .policy-channels {
  margin: var(--space-4) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 720px) {
  .page-privacy .policy-channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }
}

.page-privacy .policy-channel {
  padding-top: var(--space-2);
  border-top: calc(var(--border-thin) * 2) solid var(--color-accent);
  min-width: 0;
}

.page-privacy .policy-channel dt {
  font-size: var(--text-sm);
  font-weight: var(--weight-heading);
  color: var(--color-ink);
  letter-spacing: 0.02em;
}

.page-privacy .policy-channel__value {
  display: block;
  margin-top: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-lg);
  line-height: 1.3;
  color: var(--color-ink);
  overflow-wrap: anywhere;
}

.page-privacy .policy-channel__note {
  margin: var(--space-2) 0 0;
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

/* ---------- 章节尾巴行：右对齐到同一栅格列 ---------- */
.page-privacy .policy-tail {
  margin-top: var(--space-4);
  padding-top: var(--space-2);
  border-top: var(--border-thin) solid var(--color-line);
  text-align: right;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--color-ink-muted);
}

.page-privacy .policy-tail a {
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: var(--border-thin) solid var(--color-accent);
  transition: color 140ms linear, border-color 140ms linear;
}

.page-privacy .policy-tail a:hover {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

.page-privacy .policy-tail a:focus-visible {
  outline: var(--border-thin) solid var(--color-focus);
  outline-offset: 2px;
}

/* ---------- 术语下划线 ---------- */
.page-privacy .term {
  border-bottom: var(--border-thin) solid var(--color-accent);
  font-style: normal;
  transition: background-color 140ms linear;
}

.page-privacy .term:hover {
  background-color: var(--color-highlight);
}

/* ---------- 图片 ---------- */
.page-privacy .policy-chapter__figure {
  margin: 0;
  width: 100%;
}

@media (min-width: 1080px) {
  .page-privacy .policy-chapter--feature .policy-chapter__figure {
    align-self: start;
  }
}

/* ---------- 收尾深色区 ---------- */
.page-privacy .privacy-close {
  background-color: var(--color-contrast-surface);
  color: var(--color-contrast-ink);
}

.page-privacy .privacy-close__eyebrow {
  color: var(--color-contrast-accent);
}

.page-privacy .privacy-close__title {
  margin: var(--space-2) 0 var(--space-3);
  color: var(--color-contrast-ink);
  max-width: 22ch;
  letter-spacing: var(--tracking-heading);
}

.page-privacy .privacy-close__lede {
  color: var(--color-contrast-ink);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  max-width: var(--measure);
  margin: 0;
}

.page-privacy .privacy-exits {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

@media (min-width: 768px) {
  .page-privacy .privacy-exits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
  }
}

.page-privacy .privacy-exit {
  display: block;
  padding: var(--space-3) 0 0;
  border-top: calc(var(--border-thin) * 2) solid var(--color-contrast-accent);
  color: var(--color-contrast-ink);
  text-decoration: none;
  transition: color 140ms linear, border-color 140ms linear;
}

.page-privacy .privacy-exit b {
  display: block;
  font-size: var(--text-lg);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  color: var(--color-contrast-ink);
  letter-spacing: var(--tracking-heading);
  transition: color 140ms linear;
}

.page-privacy .privacy-exit span {
  display: block;
  margin-top: var(--space-2);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-contrast-ink);
  opacity: 0.78;
}

.page-privacy .privacy-exit:hover {
  border-top-color: var(--color-contrast-ink);
}

.page-privacy .privacy-exit:hover b {
  color: var(--color-contrast-accent);
}

.page-privacy .privacy-exit:focus-visible {
  outline: var(--border-thin) solid var(--color-focus);
  outline-offset: 4px;
}

.page-privacy .privacy-close__legal {
  margin: var(--space-6) 0 0;
  padding-top: var(--space-3);
  border-top: var(--border-thin) solid var(--color-contrast-line);
  font-size: var(--text-sm);
  line-height: 1.7;
  color: var(--color-contrast-ink);
  overflow-wrap: anywhere;
}

/* ---------- 窄屏兜底 ---------- */
@media (max-width: 480px) {
  .page-privacy .privacy-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2);
  }

  .page-privacy .policy-actions li {
    padding-left: var(--space-3);
  }

  .page-privacy .policy-tail {
    text-align: left;
  }
}
</main>
