/* ============ 个人信息保护 · 页面专属样式 ============ */

.page-privacy{
  --pv-rail: 236px;
  --pv-gap: clamp(28px, 4vw, 72px);
  --pv-line: rgba(200,164,85,.44);
  --pv-line-soft: rgba(200,164,85,.2);
}

/* ---------- 页头 ---------- */
.page-privacy .pv-head{
  position: relative;
  padding: clamp(26px, 4vw, 52px) 0 clamp(38px, 6vw, 86px);
  overflow: hidden;
}

.page-privacy .pv-head::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 22%, var(--gold) 58%, transparent 100%);
  opacity:.5;
}

.page-privacy .pv-head__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: clamp(26px, 5vw, 52px);
  align-items: end;
}

.page-privacy .pv-head__copy{
  min-width:0;
}

.page-privacy .pv-head h1{
  font-family: var(--font-serif);
  font-weight: 900;
  font-size: clamp(1.9rem, 1.28rem + 2.6vw, 3.3rem);
  line-height: 1.18;
  letter-spacing: -.015em;
  margin: .28em 0 .5em;
  color: var(--paper);
}

.page-privacy .pv-head__lede{
  max-width: 40em;
  font-size: clamp(1rem, .95rem + .25vw, 1.12rem);
  line-height: 1.85;
  color: rgba(242,234,217,.78);
  margin: 0;
}

.page-privacy .pv-head__facts{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  list-style: none;
  margin: 1.9em 0 0;
  padding: 1.15em 0 0;
  border-top: 1px solid rgba(200,164,85,.25);
  font-size: .875rem;
  color: var(--mist);
}

.page-privacy .pv-head__facts li{
  display:flex;
  align-items: baseline;
  gap: .6em;
}

.page-privacy .pv-head__facts .coord{
  color: var(--gold-lt);
}

.page-privacy .pv-head__figure{
  position: relative;
  margin: 0;
  border: 1px solid var(--pv-line-soft);
  background: var(--ink-2);
}

.page-privacy .pv-head__figure::before{
  content:"";
  position:absolute;
  top:-1px;
  left:-1px;
  width: 56px;
  height: 3px;
  background: var(--gold);
  z-index: 2;
}

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

/* ---------- 正文骨架 ---------- */
.page-privacy .pv-body{
  padding: clamp(46px, 7vw, 104px) 0 clamp(56px, 8vw, 120px);
}

.page-privacy .pv-body__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: clamp(32px, 6vw, 80px);
}

/* ---------- 左侧章节索引 ---------- */
.page-privacy .pv-rail{
  min-width:0;
  border-top: 1px solid var(--pv-line);
  padding-top: 14px;
}

.page-privacy .pv-rail__title{
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .2em;
  color: var(--mist-dark);
}

.page-privacy .pv-rail__list{
  list-style: none;
  margin: 0;
  padding: 0 0 8px;
  display:flex;
  gap: 4px 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.page-privacy .pv-rail__list::-webkit-scrollbar{
  display:none;
}

.page-privacy .pv-rail__list li{
  flex: 0 0 auto;
}

.page-privacy .pv-rail__link{
  position: relative;
  display:block;
  padding: 6px 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--mist-dark);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-privacy .pv-rail__link:hover,
.page-privacy .pv-rail__link:focus-visible{
  color: var(--jade-d);
}

.page-privacy .pv-rail__link[aria-current="page"]{
  color: var(--cinnabar);
  border-bottom-color: var(--cinnabar);
}

/* ---------- 正文排版 ---------- */
.page-privacy .pv-article{
  min-width:0;
  max-width: 39em;
}

.page-privacy .pv-article p{
  margin: 0 0 1.15em;
  font-size: 1rem;
  line-height: 1.85;
  color: var(--ink-2);
}

.page-privacy .pv-article a{
  color: var(--jade-d);
  text-decoration: none;
  border-bottom: 1px solid rgba(53,99,91,.4);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-privacy .pv-article a:hover,
.page-privacy .pv-article a:focus-visible{
  color: var(--cinnabar);
  border-bottom-color: var(--cinnabar);
}

.page-privacy .pv-article h3{
  margin: 1.7em 0 .55em;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--ink);
}

.page-privacy .pv-sec{
  scroll-margin-top: 112px;
}

.page-privacy .pv-sec + .pv-sec{
  margin-top: clamp(44px, 6vw, 78px);
}

.page-privacy .pv-sec__title{
  display:flex;
  align-items: baseline;
  gap: .72em;
  margin: 0 0 1.25em;
  padding-bottom: .58em;
  border-bottom: 1px solid var(--pv-line);
  font-family: var(--font-serif);
  font-weight: 900;
  font-size: clamp(1.3rem, 1.05rem + .9vw, 1.72rem);
  line-height: 1.32;
  letter-spacing: -.01em;
  color: var(--ink);
}

.page-privacy .pv-sec__title .coord{
  flex: none;
  font-size: .68em;
  letter-spacing: .06em;
  color: var(--jade-d);
}

/* ---------- 术语浅底标签 ---------- */
.page-privacy .pv-key{
  position: relative;
  display: inline-block;
  padding: 1px 7px;
  background: var(--paper-2);
  border-bottom: 1px solid var(--pv-line);
  font-weight: 500;
  color: var(--ink);
  cursor: help;
}

.page-privacy .pv-key::after{
  content: attr(data-tip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 9px);
  width: max-content;
  max-width: 250px;
  padding: 8px 12px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-sans);
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.6;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
  pointer-events: none;
  z-index: 6;
}

@media (hover: hover){
  .page-privacy .pv-key:hover::after,
  .page-privacy .pv-key:focus-visible::after{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

/* ---------- 用途清单 ---------- */
.page-privacy .pv-uses{
  list-style: none;
  margin: 1.2em 0 1.3em;
  padding: 0;
}

.page-privacy .pv-uses li{
  position: relative;
  padding: 12px 0 12px 26px;
  border-top: 1px solid var(--pv-line-soft);
  font-size: 1rem;
  line-height: 1.8;
  color: var(--ink-2);
}

.page-privacy .pv-uses li:last-child{
  border-bottom: 1px solid var(--pv-line-soft);
}

.page-privacy .pv-uses li::before{
  content:"";
  position: absolute;
  left: 4px;
  top: 1.55em;
  width: 9px;
  height: 9px;
  background: var(--jade);
  transform: rotate(45deg);
}

.page-privacy .pv-uses strong{
  font-weight: 700;
  color: var(--ink);
}

/* ---------- 权利条款 ---------- */
.page-privacy .pv-rights{
  list-style: none;
  margin: 1.4em 0 1.5em;
  padding: 0;
}

.page-privacy .pv-right{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 18px;
  padding: 20px 0;
  border-top: 1px solid var(--pv-line-soft);
}

.page-privacy .pv-right:last-child{
  border-bottom: 1px solid var(--pv-line-soft);
}

.page-privacy .pv-right__no{
  grid-row: span 2;
  align-self: start;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--gold);
  font-family: var(--font-mono);
  font-size: .8rem;
  letter-spacing: .04em;
  color: var(--jade-d);
}

.page-privacy .pv-right__name{
  margin: 0;
  align-self: center;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--ink);
}

.page-privacy .pv-right p{
  margin: 0;
  font-size: .95rem;
  line-height: 1.8;
}

/* ---------- 联系信息块 ---------- */
.page-privacy .pv-contact{
  margin: 1.5em 0 1.2em;
  padding: 24px clamp(18px, 3vw, 28px);
  background: var(--ink);
  border-left: 3px solid var(--gold);
}

.page-privacy .pv-contact dl{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin: 0;
}

.page-privacy .pv-contact__item dt{
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .16em;
  color: var(--gold);
}

.page-privacy .pv-contact__item dd{
  margin: 6px 0 0;
  font-size: .95rem;
  line-height: 1.7;
  color: var(--paper);
  word-break: break-word;
}

.page-privacy .pv-actions{
  margin: 1.4em 0 0;
}

/* ---------- 返回顶部 ---------- */
.page-privacy .pv-backtop{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  margin-top: clamp(40px, 6vw, 64px);
  padding: 10px 18px;
  background: transparent;
  border: 1px solid var(--pv-line);
  color: var(--jade-d);
  font-family: var(--font-mono);
  font-size: .76rem;
  letter-spacing: .12em;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-privacy .pv-backtop:hover,
.page-privacy .pv-backtop:focus-visible{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--gold-lt);
}

/* ---------- 平板与桌面 ---------- */
@media (min-width: 640px){
  .page-privacy .pv-contact dl{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 28px;
  }
}

@media (min-width: 900px){
  .page-privacy .pv-head__grid{
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(40px, 6vw, 84px);
  }
}

@media (min-width: 1000px){
  .page-privacy .pv-body__grid{
    grid-template-columns: var(--pv-rail) minmax(0, 1fr);
    gap: clamp(48px, 5vw, 92px);
    align-items: start;
  }

  .page-privacy .pv-rail{
    position: sticky;
    top: 108px;
    padding-top: 18px;
  }

  .page-privacy .pv-rail__list{
    flex-direction: column;
    gap: 0;
    overflow: visible;
    padding-bottom: 0;
  }

  .page-privacy .pv-rail__list li{
    flex: none;
  }

  .page-privacy .pv-rail__link{
    padding: 9px 0 9px 20px;
    border-bottom: none;
    border-left: 2px solid var(--pv-line-soft);
    font-size: .9rem;
  }

  .page-privacy .pv-rail__link::before{
    content:"";
    position: absolute;
    left: -2px;
    top: 50%;
    width: 2px;
    height: 0;
    background: var(--cinnabar);
    transform: translateY(-50%);
    transition: height var(--dur) var(--ease);
  }

  .page-privacy .pv-rail__link:hover,
  .page-privacy .pv-rail__link:focus-visible{
    color: var(--jade-d);
  }

  .page-privacy .pv-rail__link[aria-current="page"]{
    color: var(--ink);
    font-weight: 700;
    border-bottom-color: transparent;
  }

  .page-privacy .pv-rail__link[aria-current="page"]::before{
    height: 100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-privacy .pv-key::after,
  .page-privacy .pv-rail__link,
  .page-privacy .pv-rail__link::before,
  .page-privacy .pv-backtop{
    transition: none;
  }
}
<<<END>>>
