.page-privacy{
  --pv-line: #D8E8C4;
  --pv-ink: #1B3527;
  --pv-paper: #FBFFF2;
  background: var(--frost);
  color: var(--seed);
  padding: 18px 0 76px;
}

/* 面包屑 */
.page-privacy .pv-crumbs{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--deep);
  background: var(--leaf);
  padding: 9px 26px 9px 14px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
  max-width: 100%;
  margin-bottom: 20px;
}
.page-privacy .pv-crumbs a{
  color: var(--deep);
  text-decoration: none;
  border-bottom: 1px solid var(--bright);
}
.page-privacy .pv-crumbs a:hover{ border-bottom-color: var(--orange); }
.page-privacy .pv-crumbs a:focus-visible{
  outline: 2px solid var(--lime);
  outline-offset: 2px;
}
.page-privacy .pv-crumbs .crumbs__sep{ color: var(--mist); }
.page-privacy .pv-crumbs .crumbs__here{ font-weight: 700; }

/* 首屏 */
.page-privacy .pv-hero{ margin-bottom: 34px; }
.page-privacy .pv-notice{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--deep);
  background: rgba(168, 245, 59, .18);
  border-left: 4px solid var(--orange);
  padding: 10px 14px;
  margin: 0 0 22px;
}
.page-privacy .pv-notice .num{
  font-family: var(--font-mono);
  font-size: 1rem;
  color: var(--flesh);
  font-variant-numeric: tabular-nums;
}
.page-privacy .pv-hero__title{
  font-size: clamp(2.5rem, 10vw, 4.8rem);
  line-height: .94;
  letter-spacing: -.02em;
  font-weight: 900;
  color: var(--deep);
  margin: 0 0 16px;
}
.page-privacy .pv-hero__lead{
  max-width: 60ch;
  font-size: 1rem;
  line-height: 1.9;
  color: var(--pv-ink);
  margin: 0 0 26px;
}
.page-privacy .pv-hero__media{
  margin: 0;
  aspect-ratio: 2 / 1;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
  background: var(--deep);
  overflow: hidden;
}

/* 布局 */
.page-privacy .pv-layout{
  display: grid;
  gap: 26px;
  grid-template-areas:
    "toc"
    "body";
}
.page-privacy .pv-toc{ grid-area: toc; }
.page-privacy .pv-body{ grid-area: body; min-width: 0; }

/* 目录 */
.page-privacy .pv-toc{
  background: var(--deep);
  color: var(--frost);
  padding: 16px 16px 18px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}
.page-privacy .pv-toc__title{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--lime);
  margin: 0 0 10px;
}
.page-privacy .pv-toc__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
}
.page-privacy .pv-toc__link{
  display: flex;
  align-items: baseline;
  gap: 9px;
  padding: 9px 4px;
  font-size: .84rem;
  line-height: 1.5;
  color: rgba(244, 255, 232, .82);
  text-decoration: none;
  border-bottom: 1px solid rgba(244, 255, 232, .13);
  transition: color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.page-privacy .pv-toc__link:hover{
  color: var(--lime);
  background: rgba(168, 245, 59, .08);
}
.page-privacy .pv-toc__link:focus-visible{
  outline: 2px solid var(--lime);
  outline-offset: 2px;
}
.page-privacy .pv-toc__no{
  font-family: var(--font-mono);
  font-size: .76rem;
  font-variant-numeric: tabular-nums;
  color: var(--bright);
}
.page-privacy .pv-toc__note{
  margin: 14px 0 0;
  font-size: 11.5px;
  line-height: 1.75;
  color: rgba(244, 255, 232, .6);
}

/* 条款 */
.page-privacy .pv-clause{
  background: var(--white);
  border-left: 3px solid var(--bright);
  padding: 20px 18px 24px;
  margin-bottom: 16px;
  scroll-margin-top: 84px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.page-privacy .pv-clause:target{
  border-left-color: var(--orange);
  background: var(--pv-paper);
}
.page-privacy .pv-clause__head{
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 11px;
  margin-bottom: 14px;
  border-bottom: 1px dashed var(--pv-line);
}
.page-privacy .pv-clause__no{
  font-family: var(--font-mono);
  font-size: 1.7rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: transparent;
  -webkit-text-stroke: 1.4px var(--flesh);
  flex: none;
}
.page-privacy .pv-clause__title{
  font-size: clamp(1.12rem, 3.6vw, 1.42rem);
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--deep);
  margin: 0;
}
.page-privacy .pv-clause__body p{
  font-size: .95rem;
  line-height: 1.95;
  color: var(--pv-ink);
  margin: 0 0 12px;
  max-width: 68ch;
}
.page-privacy .pv-clause__body p:last-child{ margin-bottom: 0; }
.page-privacy .pv-clause__body a{
  color: var(--flesh);
  text-decoration: none;
  border-bottom: 1px solid var(--bright);
}
.page-privacy .pv-clause__body a:hover{
  color: var(--deep);
  border-bottom-color: var(--orange);
}
.page-privacy .pv-clause__body a:focus-visible{
  outline: 2px solid var(--lime);
  outline-offset: 2px;
}
.page-privacy .pv-clause__body strong{
  font-weight: 700;
  color: var(--deep);
}

.page-privacy .pv-list{
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  gap: 11px;
}
.page-privacy .pv-list li{
  position: relative;
  padding-left: 20px;
  font-size: .93rem;
  line-height: 1.9;
  color: var(--pv-ink);
  max-width: 66ch;
}
.page-privacy .pv-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .78em;
  width: 11px;
  height: 2px;
  background: var(--lime);
}

/* 保存期限 */
.page-privacy .pv-retention{
  margin: 6px 0 14px;
  border-top: 1px solid var(--pv-line);
}
.page-privacy .pv-retention__row{
  display: grid;
  gap: 2px;
  padding: 11px 0;
  border-bottom: 1px solid var(--pv-line);
}
.page-privacy .pv-retention dt{
  font-size: .86rem;
  font-weight: 700;
  color: var(--deep);
  letter-spacing: .02em;
}
.page-privacy .pv-retention dd{
  margin: 0;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--pv-ink);
}
.page-privacy .pv-retention .num{
  font-family: var(--font-mono);
  font-size: 1.02rem;
  font-variant-numeric: tabular-nums;
  color: var(--flesh);
}

/* 邮箱与收尾 */
.page-privacy .pv-mail{
  font-family: var(--font-mono);
  font-size: .9em;
  color: var(--deep);
  background: var(--leaf);
  padding: 1px 6px;
  word-break: break-all;
}
.page-privacy .pv-cta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 12px !important;
}
.page-privacy .pv-fine{
  font-size: 12.5px !important;
  line-height: 1.8 !important;
  color: var(--mist) !important;
  border-top: 1px solid var(--pv-line);
  padding-top: 12px;
}

@media (min-width: 720px){
  .page-privacy .pv-toc__list{
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
  }
  .page-privacy .pv-retention__row{
    grid-template-columns: 128px minmax(0, 1fr);
    align-items: baseline;
    gap: 14px;
  }
  .page-privacy .pv-clause{
    padding: 24px 26px 28px;
  }
}

@media (min-width: 900px){
  .page-privacy{ padding-top: 26px; }
  .page-privacy .pv-layout{
    grid-template-columns: minmax(0, 1fr) 216px;
    grid-template-areas: "body toc";
    gap: 52px;
    align-items: start;
  }
  .page-privacy .pv-toc{
    position: sticky;
    top: calc(var(--top-h) + 22px);
  }
  .page-privacy .pv-toc__list{ grid-template-columns: 1fr; }
  .page-privacy .pv-hero__lead{ font-size: 1.05rem; }
}

@media (prefers-reduced-motion: reduce){
  .page-privacy .pv-toc__link,
  .page-privacy .pv-clause{ transition: none; }
}

@media print{
  .page-privacy{ background: #fff; padding: 0; }
  .page-privacy .pv-toc,
  .page-privacy .pv-cta,
  .page-privacy .pv-crumbs{ display: none; }
  .page-privacy .pv-clause{
    clip-path: none;
    border-left: 2px solid #333;
    page-break-inside: avoid;
  }
  .page-privacy .pv-layout{ display: block; }
}
</main>
