.page-privacy{
  --pp-read:720px;
  --pp-toc-top:96px;
  --pp-hair:rgba(245,165,36,.26);
  position:relative;
}

.page-privacy .pp-hero{
  position:relative;
  padding-top:clamp(20px,3vw,34px);
  background:
    radial-gradient(120% 100% at 10% 0%, rgba(59,42,107,.42), transparent 58%),
    radial-gradient(90% 80% at 92% 6%, rgba(255,107,44,.12), transparent 62%);
}

.page-privacy .pp-hero .breadcrumb{
  margin-bottom:clamp(14px,2.4vw,22px);
}

.page-privacy .pp-hero .eyebrow{
  margin:0 0 12px;
}

.page-privacy .pp-hero h1{
  margin:0;
  max-width:15em;
  font-size:clamp(32px,6.2vw,60px);
  line-height:1.07;
  letter-spacing:-.02em;
  font-weight:900;
  color:var(--text);
}

.page-privacy .pp-hero__lead{
  margin:clamp(16px,2.4vw,22px) 0 0;
  max-width:60ch;
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.8;
  color:var(--text-dim);
}

.page-privacy .pp-banner{
  margin:clamp(24px,4vw,40px) 0 0;
}

.page-privacy .pp-banner img{
  display:block;
  width:100%;
  height:auto;
  max-height:340px;
  object-fit:cover;
  border-radius:var(--radius-organic);
  border:1px solid var(--line-soft);
}

.page-privacy .pp-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(26px,4vw,44px);
  max-width:var(--shell);
  margin:0 auto;
  padding:clamp(32px,5vw,64px) var(--gutter) clamp(48px,7vw,84px);
  align-items:start;
}

/* 竖向目录 */
.page-privacy .pp-toc{
  padding-bottom:6px;
}

.page-privacy .pp-toc__label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ember);
}

.page-privacy .pp-toc__label::before{
  content:"";
  width:2px;
  height:12px;
  background:var(--gold);
  border-radius:1px;
}

.page-privacy .pp-toc__list{
  list-style:none;
  margin:0;
  padding:0;
  border-left:1px solid var(--line);
}

.page-privacy .pp-toc__list li{
  margin:0;
}

.page-privacy .pp-toc__list a{
  display:block;
  margin-left:-1px;
  padding:9px 0 9px 14px;
  border-left:2px solid transparent;
  color:var(--text-dim);
  font-size:14.5px;
  line-height:1.5;
  text-decoration:none;
  transition:color 160ms var(--ease),border-color 160ms var(--ease),background 160ms var(--ease);
}

.page-privacy .pp-toc__list a:hover,
.page-privacy .pp-toc__list a:focus-visible{
  color:var(--text);
  border-left-color:var(--gold);
  background:rgba(245,165,36,.07);
}

.page-privacy .pp-toc__extra{
  margin-top:26px;
}

.page-privacy .pp-toc__extra ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.page-privacy .pp-toc__extra a{
  color:var(--text-dim);
  font-size:13.5px;
  line-height:1.5;
  text-decoration:none;
  border-bottom:1px dashed var(--line);
  padding-bottom:2px;
  transition:color 150ms var(--ease),border-color 150ms var(--ease);
}

.page-privacy .pp-toc__extra a:hover,
.page-privacy .pp-toc__extra a:focus-visible{
  color:var(--gold);
  border-color:var(--gold);
}

/* 正文阅读流 */
.page-privacy .pp-body{
  max-width:var(--pp-read);
  min-width:0;
}

.page-privacy .pp-section{
  scroll-margin-top:112px;
  margin-top:clamp(32px,4.4vw,56px);
  padding-top:clamp(26px,3.4vw,38px);
  border-top:1px solid var(--pp-hair);
}

.page-privacy .pp-section:first-child{
  margin-top:0;
  border-top:2px solid var(--gold);
}

.page-privacy .pp-section__head{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:clamp(10px,1.8vw,18px);
  margin-bottom:clamp(14px,2.2vw,20px);
}

.page-privacy .pp-num{
  flex:none;
  font-family:var(--mono);
  font-variant-numeric:tabular-nums;
  font-size:clamp(24px,3.2vw,36px);
  line-height:1;
  letter-spacing:-.03em;
  color:var(--gold);
}

.page-privacy .pp-section h2{
  margin:0;
  font-size:clamp(21px,2.9vw,29px);
  line-height:1.28;
  letter-spacing:-.01em;
  font-weight:800;
  color:var(--text);
}

.page-privacy .pp-body p{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.8;
  color:var(--text-dim);
}

.page-privacy .pp-body p:last-child{
  margin-bottom:0;
}

.page-privacy .pp-body strong{
  color:var(--text);
  font-weight:700;
}

.page-privacy .pp-body a{
  color:var(--gold);
  text-decoration:none;
  border-bottom:1px solid rgba(245,165,36,.4);
  transition:color 150ms var(--ease),border-color 150ms var(--ease);
}

.page-privacy .pp-body a:hover,
.page-privacy .pp-body a:focus-visible{
  color:var(--ember);
  border-color:var(--ember);
}

.page-privacy .pp-list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:10px;
}

.page-privacy .pp-list li{
  position:relative;
  padding-left:22px;
  font-size:16px;
  line-height:1.78;
  color:var(--text-dim);
}

.page-privacy .pp-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:12px;
  height:2px;
  border-radius:2px;
  background:var(--gold);
}

.page-privacy .pp-block{
  margin:18px 0 0;
  padding:clamp(16px,2.4vw,22px) clamp(16px,2.6vw,26px);
  border-radius:var(--radius-organic);
  background:rgba(22,36,63,.66);
}

.page-privacy .pp-block--flat{
  background:rgba(11,18,32,.55);
  border:1px solid var(--line-soft);
}

.page-privacy .pp-block p{
  margin:0;
}

/* 用途条目 */
.page-privacy .pp-use{
  padding:16px 0 6px;
  border-top:1px solid var(--line-soft);
}

.page-privacy .pp-use:first-of-type{
  border-top:0;
  padding-top:4px;
}

.page-privacy .pp-use h3{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 6px;
  font-size:16.5px;
  line-height:1.5;
  font-weight:700;
  color:var(--text);
}

.page-privacy .pp-use__tag{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--ember);
}

/* 保存期限 */
.page-privacy .pp-terms{
  margin:0 0 18px;
  padding:0;
}

.page-privacy .pp-terms > div{
  display:grid;
  gap:4px;
  padding:14px 0;
  border-bottom:1px solid var(--line-soft);
}

.page-privacy .pp-terms > div:first-child{
  padding-top:4px;
}

.page-privacy .pp-terms dt{
  font-size:15.5px;
  font-weight:700;
  color:var(--text);
}

.page-privacy .pp-terms dd{
  margin:0;
  font-size:15.5px;
  line-height:1.75;
  color:var(--text-dim);
}

/* 联系面板 */
.page-privacy .pp-contact{
  margin-top:20px;
  padding:clamp(20px,3.2vw,30px);
  border-radius:var(--radius-organic);
  border:1px solid var(--line);
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(79,209,197,.14), transparent 56%),
    linear-gradient(160deg, rgba(59,42,107,.62), rgba(16,28,51,.94));
}

.page-privacy .pp-contact__key{
  margin:0 0 6px;
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--teal);
}

.page-privacy .pp-contact__mail{
  margin:0 0 18px;
  font-family:var(--mono);
  font-size:clamp(16px,2.4vw,20px);
  line-height:1.4;
  color:var(--gold);
  word-break:break-all;
}

.page-privacy .pp-contact__val{
  margin:0 0 10px;
  font-size:15.5px;
  line-height:1.78;
  color:var(--text-dim);
}

.page-privacy .pp-contact__val:last-child{
  margin-bottom:0;
}

@media (min-width:640px){
  .page-privacy .pp-terms > div{
    grid-template-columns:160px minmax(0,1fr);
    gap:20px;
    align-items:baseline;
  }
}

@media (min-width:920px){
  .page-privacy .pp-layout{
    grid-template-columns:206px minmax(0,1fr);
    gap:clamp(40px,5vw,76px);
  }

  .page-privacy .pp-toc{
    position:sticky;
    top:var(--pp-toc-top);
    max-height:calc(100vh - 128px);
    overflow:auto;
    padding-bottom:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-privacy .pp-toc__list a,
  .page-privacy .pp-toc__extra a,
  .page-privacy .pp-body a{
    transition:none;
  }
}
