.page-privacy{
  --pp-ink:#2A3037;
  --pp-tint:#EAE5DA;
  --pp-card:#FBF9F4;
  --pp-shadow:5px 5px 0 rgba(18,20,23,.16);
  background:var(--mist);
  color:var(--pp-ink);
  font-family:var(--font-body);
  padding:clamp(18px,3.5vw,34px) 0 clamp(60px,9vw,110px);
}
.page-privacy .breadcrumb{ margin-bottom:clamp(14px,2vw,22px); }

/* 页头 */
.page-privacy .pp-head{
  padding:clamp(16px,3vw,28px) 0 clamp(20px,3vw,30px);
  border-bottom:1.5px solid rgba(44,51,59,.35);
}
.page-privacy .pp-kicker{
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:.7em;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--signal);
}
.page-privacy .pp-kicker::before{
  content:"";
  width:34px;
  height:2px;
  background:var(--signal);
}
.page-privacy h1{
  margin:.5em 0 .55em;
  max-width:18em;
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(1.85rem,5vw,3.05rem);
  line-height:1.15;
  letter-spacing:-.015em;
  color:var(--charcoal);
}
.page-privacy .pp-lede{
  margin:0;
  max-width:36em;
  font-size:clamp(.98rem,1.6vw,1.06rem);
  line-height:1.9;
}

/* 摘要 + 主图 */
.page-privacy .pp-top{
  display:grid;
  gap:clamp(16px,2.5vw,26px);
  margin-top:clamp(22px,3.4vw,34px);
}
.page-privacy .pp-summary{
  background:var(--pp-card);
  border:var(--bw) solid var(--line);
  box-shadow:var(--pp-shadow);
  padding:clamp(16px,2.6vw,24px);
  min-width:0;
}
.page-privacy .pp-sum-title{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.page-privacy .pp-sum-row{
  display:grid;
  gap:2px 18px;
  padding:14px 0;
  border-top:1.5px dashed rgba(44,51,59,.28);
}
.page-privacy .pp-sum-row:first-of-type{ border-top:0; padding-top:6px; }
.page-privacy .pp-sum-key{
  position:relative;
  margin:0;
  padding-left:14px;
  font-family:var(--font-mono);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--charcoal);
}
.page-privacy .pp-sum-key::before{
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:7px;
  height:7px;
  background:var(--signal);
}
.page-privacy .pp-sum-text{
  margin:0;
  font-size:.9rem;
  line-height:1.8;
}
.page-privacy .pp-visual{
  margin:0;
  display:flex;
  flex-direction:column;
  background:var(--charcoal);
  border:var(--bw) solid var(--line);
  box-shadow:var(--pp-shadow);
  min-width:0;
  overflow:hidden;
}
.page-privacy .pp-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
}
.page-privacy .pp-visual figcaption{
  padding:9px 13px;
  border-top:1.5px solid var(--line);
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.1em;
  color:var(--steel);
}

/* 目录 + 条文 */
.page-privacy .pp-body{
  display:grid;
  gap:clamp(20px,3vw,34px);
  margin-top:clamp(28px,4.5vw,52px);
}
.page-privacy .pp-toc{
  background:var(--pp-card);
  border:var(--bw) solid var(--line);
  box-shadow:var(--pp-shadow);
  padding:clamp(14px,2.2vw,20px);
  min-width:0;
}
.page-privacy .pp-toc-title{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.page-privacy .pp-toc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
}
.page-privacy .pp-toc-link{
  display:flex;
  gap:10px;
  align-items:baseline;
  padding:8px 10px;
  border-left:3px solid transparent;
  color:var(--pp-ink);
  font-size:.9rem;
  line-height:1.55;
  text-decoration:none;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
.page-privacy .pp-toc-num{
  font-family:var(--font-mono);
  font-size:.74rem;
  color:var(--signal);
}
.page-privacy .pp-toc-link:hover,
.page-privacy .pp-toc-link:focus-visible{
  border-left-color:var(--signal);
  background:var(--signal-soft);
  color:var(--charcoal);
}
.page-privacy .pp-toc-foot{
  margin-top:16px;
  padding-top:14px;
  border-top:1.5px dashed rgba(44,51,59,.28);
  display:grid;
  gap:6px;
}
.page-privacy .pp-toc-foot p{
  margin:0;
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.12em;
  color:var(--muted);
}
.page-privacy .pp-toc-mail{
  font-family:var(--font-mono);
  font-size:.82rem;
  color:var(--charcoal);
  word-break:break-all;
}
.page-privacy .pp-toc-link--alt{
  margin-top:4px;
  padding-left:0;
  border-left:0;
  color:var(--signal);
  font-family:var(--font-mono);
  font-size:.78rem;
}
.page-privacy .pp-toc-link--alt:hover{ background:transparent; text-decoration:underline; }

.page-privacy .pp-doc{
  display:grid;
  gap:clamp(16px,2.4vw,24px);
  min-width:0;
}
.page-privacy .pp-sec{
  padding:clamp(18px,3vw,30px);
  background:var(--pp-card);
  border:var(--bw) solid var(--line);
  border-left:5px solid var(--charcoal);
  box-shadow:var(--pp-shadow);
  scroll-margin-top:104px;
}
.page-privacy .pp-sec:target{ border-left-color:var(--signal); }
.page-privacy .pp-sec-head{
  display:flex;
  gap:12px;
  align-items:baseline;
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1.5px solid rgba(44,51,59,.22);
}
.page-privacy .pp-sec-num{
  font-family:var(--font-mono);
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--signal);
}
.page-privacy .pp-sec h2{
  margin:0;
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(1.12rem,2.2vw,1.4rem);
  line-height:1.35;
  color:var(--charcoal);
}
.page-privacy .pp-sec p{
  margin:0 0 .9em;
  font-size:.95rem;
  line-height:1.9;
}
.page-privacy .pp-sec p:last-child{ margin-bottom:0; }
.page-privacy .pp-list{
  list-style:none;
  margin:0 0 .95em;
  padding:0;
  display:grid;
  gap:10px;
}
.page-privacy .pp-list:last-child{ margin-bottom:0; }
.page-privacy .pp-list li{
  position:relative;
  padding-left:20px;
  font-size:.94rem;
  line-height:1.85;
}
.page-privacy .pp-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.66em;
  width:8px;
  height:8px;
  background:var(--signal);
}
.page-privacy .pp-list strong{ color:var(--charcoal); }
.page-privacy .pp-inline-link{
  color:var(--charcoal);
  text-decoration:none;
  border-bottom:2px solid var(--signal);
  padding-bottom:1px;
}
.page-privacy .pp-inline-link:hover{ color:var(--signal); }
.page-privacy .pp-note{
  margin:16px 0 0;
  padding:13px 16px;
  background:var(--pp-tint);
  border-left:4px solid var(--signal);
  font-size:.9rem;
  line-height:1.8;
}
.page-privacy .pp-note b{ color:var(--charcoal); }

/* 联络卡 */
.page-privacy .pp-contact{
  padding:clamp(20px,3.4vw,34px);
  background:var(--charcoal);
  color:var(--mist);
  border:var(--bw) solid var(--line);
  box-shadow:var(--shadow-hard);
}
.page-privacy .pp-contact h2{
  margin:0 0 10px;
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(1.2rem,2.4vw,1.55rem);
  color:var(--mist);
}
.page-privacy .pp-contact-lede{
  margin:0 0 16px;
  max-width:34em;
  font-size:.94rem;
  line-height:1.85;
  color:var(--steel);
}
.page-privacy .pp-mail{
  margin:0 0 18px;
  display:inline-block;
  padding-bottom:3px;
  border-bottom:2px solid var(--signal);
  font-family:var(--font-mono);
  font-size:clamp(.95rem,2.4vw,1.35rem);
  letter-spacing:.01em;
  color:var(--pulse);
  word-break:break-all;
}
.page-privacy .pp-contact-list{
  margin:0 0 18px;
  display:grid;
  gap:10px;
}
.page-privacy .pp-contact-row{
  display:grid;
  gap:2px 16px;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.page-privacy .pp-contact-row dt{
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  color:var(--steel);
}
.page-privacy .pp-contact-row dd{
  margin:0;
  font-size:.92rem;
  line-height:1.7;
  color:var(--mist);
}
.page-privacy .pp-contact-links{
  margin:0;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
}
.page-privacy .pp-link{
  font-family:var(--font-mono);
  font-size:.8rem;
  letter-spacing:.04em;
  color:var(--mist);
  text-decoration:none;
  border-bottom:1.5px solid transparent;
  padding-bottom:2px;
  transition:color .18s ease,border-color .18s ease;
}
.page-privacy .pp-link::before{ content:"▍"; color:var(--signal); margin-right:4px; }
.page-privacy .pp-link:hover,
.page-privacy .pp-link:focus-visible{
  color:var(--signal);
  border-bottom-color:var(--signal);
}
.page-privacy .pp-meta{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.06em;
  color:var(--muted);
}
.page-privacy .pp-meta span::before{ content:"/"; margin-right:8px; color:var(--signal); }
.page-privacy .pp-meta span:first-child::before{ content:""; margin:0; }

/* 平板与桌面 */
@media (min-width:560px){
  .page-privacy .pp-sum-row{
    grid-template-columns:96px minmax(0,1fr);
    align-items:start;
  }
  .page-privacy .pp-contact-row{
    grid-template-columns:110px minmax(0,1fr);
    align-items:baseline;
  }
}
@media (min-width:880px){
  .page-privacy .pp-top{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    align-items:stretch;
  }
}
@media (min-width:960px){
  .page-privacy .pp-body{
    grid-template-columns:minmax(0,250px) minmax(0,1fr);
    align-items:start;
  }
  .page-privacy .pp-toc{
    position:sticky;
    top:104px;
  }
}

/* 打印：保留条文正文 */
@media print{
  .page-privacy{
    background:#fff;
    color:#000;
    padding:0;
  }
  .page-privacy .breadcrumb,
  .page-privacy .pp-toc,
  .page-privacy .pp-visual,
  .page-privacy .pp-contact-links{
    display:none;
  }
  .page-privacy .pp-head{ border-bottom:1px solid #000; }
  .page-privacy .pp-body{ display:block; margin-top:16px; }
  .page-privacy .pp-sec,
  .page-privacy .pp-summary,
  .page-privacy .pp-contact{
    box-shadow:none;
    break-inside:avoid;
    page-break-inside:avoid;
    border:1px solid #000;
    background:#fff;
    color:#000;
    margin-bottom:12px;
  }
  .page-privacy .pp-contact h2,
  .page-privacy .pp-contact-lede,
  .page-privacy .pp-contact-row dd,
  .page-privacy .pp-link,
  .page-privacy .pp-mail{ color:#000; }
}

@media (prefers-reduced-motion: reduce){
  .page-privacy .pp-toc-link,
  .page-privacy .pp-link{
    transition:none;
  }
}
