.page-privacy {
  --privacy-measure: 66ch;
  position: relative;
  background-color: var(--mq-ink);
  background-image:
    linear-gradient(rgba(143, 167, 154, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 167, 154, 0.06) 1px, transparent 1px);
  background-size: 54px 54px, 54px 54px;
  color: var(--mq-white);
  padding-block: clamp(32px, 5vw, 64px) clamp(48px, 7vw, 96px);
  overflow-x: clip;
}

.page-privacy .privacy-wrap {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 56px);
}

/* 面包屑 */
.page-privacy .privacy-crumbs {
  font-family: var(--mq-font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
}

.page-privacy .privacy-crumbs .mq-crumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-privacy .privacy-crumbs li {
  color: var(--mq-mute);
}

.page-privacy .privacy-crumbs li + li::before {
  content: "/";
  margin: 0 8px;
  opacity: 0.5;
}

.page-privacy .privacy-crumbs a {
  color: var(--mq-mute);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s var(--mq-ease), border-color 0.2s var(--mq-ease);
}

.page-privacy .privacy-crumbs a:hover,
.page-privacy .privacy-crumbs a:focus-visible {
  color: var(--mq-lime);
  border-bottom-color: var(--mq-lime);
}

.page-privacy .privacy-crumbs [aria-current="page"] {
  color: var(--mq-white);
}

/* 首屏 */
.page-privacy .privacy-masthead {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 2.2vw, 22px);
  padding-bottom: clamp(22px, 3vw, 38px);
  border-bottom: 1px solid var(--mq-hair-2);
}

.page-privacy .privacy-eyebrow {
  color: var(--mq-lime);
}

.page-privacy .privacy-title {
  margin: 0;
  font-family: var(--mq-font-sans);
  font-weight: 300;
  font-size: clamp(40px, 8vw, 96px);
  line-height: 0.98;
  letter-spacing: -0.01em;
  color: var(--mq-white);
}

.page-privacy .privacy-lede {
  margin: 0;
  max-width: 60ch;
  font-size: clamp(16px, 1.7vw, 18px);
  line-height: 1.8;
  color: rgba(242, 246, 242, 0.82);
}

.page-privacy .privacy-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 16px;
  margin: 0;
  font-family: var(--mq-font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
}

.page-privacy .privacy-meta__k {
  color: var(--mq-mute);
  text-transform: uppercase;
}

.page-privacy .privacy-meta__v {
  color: var(--mq-white);
  margin-right: 12px;
}

/* 开篇横幅 */
.page-privacy .privacy-banner {
  margin: 0;
  border: 1px solid var(--mq-hair);
  border-radius: var(--mq-radius-md);
  overflow: hidden;
  background: var(--mq-grass);
}

.page-privacy .privacy-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
}

.page-privacy .privacy-banner__cap {
  margin: 0;
  padding: 10px 16px;
  border-top: 1px solid var(--mq-hair);
  font-family: var(--mq-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.06em;
  color: var(--mq-mute);
}

/* 主体栅格 */
.page-privacy .privacy-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 48px);
}

.page-privacy .privacy-flow {
  min-width: 0;
}

/* 条款章节 */
.page-privacy .privacy-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding-block: clamp(26px, 3.5vw, 44px);
  border-top: 1px solid var(--mq-hair);
  scroll-margin-top: 96px;
  transition: border-color 0.3s var(--mq-ease);
}

.page-privacy .privacy-block.is-active {
  border-top-color: var(--mq-hair-2);
}

.page-privacy .privacy-block__no {
  margin: 0;
  font-family: var(--mq-font-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  color: var(--mq-mute);
  transition: color 0.25s var(--mq-ease);
}

.page-privacy .privacy-block.is-active .privacy-block__no {
  color: var(--mq-lime);
}

.page-privacy .privacy-block__body {
  min-width: 0;
  counter-reset: privacy-para;
}

.page-privacy .privacy-block__title {
  margin: 0 0 14px;
  font-family: var(--mq-font-sans);
  font-weight: 300;
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1.26;
  letter-spacing: -0.01em;
  color: var(--mq-white);
}

.page-privacy .privacy-block__body > p {
  counter-increment: privacy-para;
  position: relative;
  margin: 0 0 1.1em;
  max-width: var(--privacy-measure);
  font-size: 16px;
  line-height: 1.85;
  color: rgba(242, 246, 242, 0.86);
}

.page-privacy .privacy-block__body > p:last-child {
  margin-bottom: 0;
}

.page-privacy .privacy-block__body ul {
  margin: 0 0 1.1em;
  padding-left: 1.15em;
  max-width: var(--privacy-measure);
}

.page-privacy .privacy-block__body li {
  margin-bottom: 0.45em;
  font-size: 16px;
  line-height: 1.8;
  color: rgba(242, 246, 242, 0.86);
}

.page-privacy .privacy-block__body li::marker {
  color: var(--mq-lime);
}

.page-privacy .privacy-block__body p.privacy-hl {
  background: var(--mq-lime-soft);
  color: var(--mq-ink);
  border-radius: var(--mq-radius-sm);
  padding: 0.85em 1.05em;
  font-size: 15.5px;
  line-height: 1.72;
}

/* 右侧索引 */
.page-privacy .privacy-aside {
  min-width: 0;
  align-self: start;
}

.page-privacy .privacy-aside__title {
  margin: 0 0 14px;
  font-family: var(--mq-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mq-mute);
}

.page-privacy .privacy-aside__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--mq-hair);
}

.page-privacy .privacy-aside__list li {
  border-bottom: 1px solid var(--mq-hair);
}

.page-privacy .privacy-aside a {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 11px 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--mq-mute);
  text-decoration: none;
  transition: color 0.2s var(--mq-ease);
}

.page-privacy .privacy-aside a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--mq-lime);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.28s var(--mq-ease);
}

.page-privacy .privacy-aside a:hover,
.page-privacy .privacy-aside a:focus-visible {
  color: var(--mq-white);
}

.page-privacy .privacy-aside a:hover::after,
.page-privacy .privacy-aside a:focus-visible::after {
  transform: scaleX(1);
}

.page-privacy .privacy-aside__no {
  flex: none;
  font-family: var(--mq-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: var(--mq-lime);
}

/* 滚动到当前章节时索引同步点亮 */
.page-privacy .privacy-body:has(#collect.is-active) .privacy-aside a[href="#collect"],
.page-privacy .privacy-body:has(#usage.is-active) .privacy-aside a[href="#usage"],
.page-privacy .privacy-body:has(#storage.is-active) .privacy-aside a[href="#storage"],
.page-privacy .privacy-body:has(#share.is-active) .privacy-aside a[href="#share"],
.page-privacy .privacy-body:has(#retention.is-active) .privacy-aside a[href="#retention"],
.page-privacy .privacy-body:has(#rights.is-active) .privacy-aside a[href="#rights"],
.page-privacy .privacy-body:has(#minors.is-active) .privacy-aside a[href="#minors"] {
  color: var(--mq-white);
}

.page-privacy .privacy-body:has(#collect.is-active) .privacy-aside a[href="#collect"]::after,
.page-privacy .privacy-body:has(#usage.is-active) .privacy-aside a[href="#usage"]::after,
.page-privacy .privacy-body:has(#storage.is-active) .privacy-aside a[href="#storage"]::after,
.page-privacy .privacy-body:has(#share.is-active) .privacy-aside a[href="#share"]::after,
.page-privacy .privacy-body:has(#retention.is-active) .privacy-aside a[href="#retention"]::after,
.page-privacy .privacy-body:has(#rights.is-active) .privacy-aside a[href="#rights"]::after,
.page-privacy .privacy-body:has(#minors.is-active) .privacy-aside a[href="#minors"]::after {
  transform: scaleX(1);
}

/* 收束区 */
.page-privacy .privacy-close {
  display: grid;
  gap: 16px;
  padding-top: clamp(24px, 3vw, 40px);
  border-top: 1px solid var(--mq-hair-2);
}

.page-privacy .privacy-close__lead {
  margin: 0;
  max-width: 58ch;
  font-size: 17px;
  line-height: 1.8;
  color: rgba(242, 246, 242, 0.88);
}

.page-privacy .privacy-close__contact {
  margin: 0;
  font-family: var(--mq-font-mono);
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--mq-lime);
}

.page-privacy .privacy-close__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-privacy .privacy-cta {
  text-decoration: none;
}

/* 平板：编号与正文分栏 */
@media (min-width: 720px) {
  .page-privacy .privacy-block {
    grid-template-columns: 84px minmax(0, 1fr);
    column-gap: clamp(16px, 2.5vw, 36px);
  }
}

/* 桌面：左侧条款编号、中部正文、右侧索引 */
@media (min-width: 1040px) {
  .page-privacy .privacy-body {
    grid-template-columns: minmax(0, 1fr) 258px;
    column-gap: clamp(40px, 5vw, 80px);
    align-items: start;
  }

  .page-privacy .privacy-aside {
    position: sticky;
    top: 100px;
  }

  .page-privacy .privacy-block__body > p::before {
    content: "§" counter(privacy-para, decimal-leading-zero);
    position: absolute;
    left: -4.2em;
    top: 0.55em;
    font-family: var(--mq-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.08em;
    color: var(--mq-flag);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s var(--mq-ease);
  }

  .page-privacy .privacy-block__body > p:hover::before {
    opacity: 1;
  }
}

@media (min-width: 1280px) {
  .page-privacy .privacy-body {
    grid-template-columns: minmax(0, 1fr) 286px;
  }
}

/* 动效降级 */
@media (prefers-reduced-motion: reduce) {
  .page-privacy .privacy-aside a,
  .page-privacy .privacy-aside a::after,
  .page-privacy .privacy-block__no,
  .page-privacy .privacy-block__body > p::before {
    transition: none;
  }
}
