.page-privacy{
  --doc-line:rgba(14,36,48,.16);
  box-sizing:border-box;
  background:var(--lily);
  color:var(--ink-800);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.75;
  -webkit-text-size-adjust:100%;
}
.page-privacy *,
.page-privacy *::before,
.page-privacy *::after{box-sizing:border-box;}

.page-privacy a{color:var(--deep);}
.page-privacy a:hover{color:var(--ink-900);}
.page-privacy a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}

/* 首屏 */
.page-privacy .privacy-hero{
  padding:clamp(1.5rem,4vw,2.75rem) var(--rail) 0;
  background:linear-gradient(180deg,rgba(199,182,204,.40) 0%,rgba(240,232,240,0) 64%);
}
.page-privacy .privacy-hero__inner{
  max-width:var(--shell);
  margin:0 auto;
}

.page-privacy .crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--steel);
}
.page-privacy .crumbs a{
  color:var(--steel);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.page-privacy .crumbs a:hover,
.page-privacy .crumbs a:focus-visible{
  color:var(--ink-900);
  border-bottom-color:var(--cyan);
}
.page-privacy .crumbs [aria-current="page"]{color:var(--ink-800);}
.page-privacy .crumbs__sep{color:var(--haze);}

.page-privacy .privacy-head{
  margin-top:clamp(1.75rem,4vw,2.75rem);
  max-width:46rem;
}
.page-privacy .privacy-head .eyebrow{
  margin:0;
  font-family:var(--font-data);
  font-size:.7rem;
  letter-spacing:.16em;
  color:var(--steel);
}
.page-privacy .privacy-head h1{
  margin:.7rem 0 0;
  font-family:var(--font-head);
  font-weight:300;
  font-size:clamp(2rem,5.4vw,3.5rem);
  line-height:1.16;
  letter-spacing:-.02em;
  color:var(--ink-900);
}
.page-privacy .privacy-head__lede{
  margin:1.1rem 0 0;
  max-width:36rem;
  font-size:clamp(.95rem,2.4vw,1.02rem);
  color:var(--ink-800);
}

.page-privacy .privacy-meta{
  margin-top:1.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem 1.5rem;
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--steel);
}
.page-privacy .privacy-meta span{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.page-privacy .privacy-meta span::before{
  content:"";
  width:.75rem;
  height:1px;
  background:var(--steel);
  flex:none;
}

.page-privacy .privacy-plate{
  margin:clamp(1.75rem,4vw,2.75rem) 0 0;
}
.page-privacy .privacy-plate img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:16 / 5;
  object-fit:cover;
  filter:saturate(.82);
}

/* 正文与索引 */
.page-privacy .doc-shell{
  max-width:var(--shell);
  margin:0 auto;
  padding:clamp(2rem,5vw,3.25rem) var(--rail) clamp(3rem,7vw,5rem);
  display:grid;
  gap:clamp(1.5rem,4vw,2.5rem);
}

.page-privacy .privacy-index__label{
  margin:0 0 .7rem;
  font-family:var(--font-data);
  font-size:.66rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--steel);
}
.page-privacy .privacy-index__list{
  list-style:none;
  margin:0;
  padding:0 0 .4rem;
  display:flex;
  gap:.4rem;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.page-privacy .privacy-index__list li{flex:none;}
.page-privacy .privacy-index__link{
  display:inline-flex;
  align-items:baseline;
  gap:.45rem;
  white-space:nowrap;
  padding:.4rem .7rem;
  border:1px solid var(--doc-line);
  border-radius:2px;
  font-size:.78rem;
  color:var(--ink-800);
  text-decoration:none;
  transition:border-color .25s var(--ease),color .25s var(--ease);
}
.page-privacy .privacy-index__link:hover,
.page-privacy .privacy-index__link:focus-visible{
  border-color:var(--cyan);
  color:var(--ink-900);
}
.page-privacy .privacy-index__no{
  font-family:var(--font-data);
  font-size:.68rem;
  letter-spacing:.06em;
  color:var(--steel);
}

/* 条款 */
.page-privacy .privacy-doc{min-width:0;}

.page-privacy .clause{
  margin-top:clamp(1.75rem,4vw,2.5rem);
  padding-top:clamp(1.15rem,3vw,1.6rem);
  border-top:1px solid var(--doc-line);
}
.page-privacy .clause:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.page-privacy .clause__summary{
  display:flex;
  align-items:baseline;
  gap:.85rem;
  list-style:none;
  cursor:pointer;
}
.page-privacy .clause__summary::-webkit-details-marker{display:none;}
.page-privacy .clause__summary::after{
  content:"−";
  margin-left:auto;
  padding-left:.5rem;
  font-family:var(--font-data);
  font-size:.95rem;
  line-height:1;
  color:var(--steel);
}
.page-privacy .clause:not([open]) .clause__summary::after{content:"+";}
.page-privacy .clause__no{
  flex:none;
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.14em;
  color:var(--steel);
}
.page-privacy .clause__title{
  margin:0;
  font-family:var(--font-head);
  font-weight:400;
  font-size:clamp(1.18rem,2.6vw,1.5rem);
  line-height:1.35;
  letter-spacing:-.01em;
  color:var(--ink-900);
}

.page-privacy .clause__body{
  display:grid;
  gap:1.25rem;
  margin-top:1rem;
}
.page-privacy .clause__text{
  min-width:0;
  font-size:.95rem;
}
.page-privacy .clause__text p{margin:0 0 .85rem;}
.page-privacy .clause__text p:last-child{margin-bottom:0;}

.page-privacy .clause__note{
  margin:0;
  padding-left:1rem;
  border-left:1px dashed var(--haze);
  font-size:.75rem;
  line-height:1.7;
  color:var(--steel);
}

.page-privacy .sub-h{
  margin:1.3rem 0 .55rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-body);
  font-weight:500;
  font-size:.86rem;
  letter-spacing:.02em;
  color:var(--ink-900);
}
.page-privacy .sub-h::before{
  content:"";
  width:.55rem;
  height:.55rem;
  background:var(--cyan);
  transform:skewX(-8deg);
  flex:none;
}

.page-privacy .clause-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.65rem;
}
.page-privacy .clause-list > li{
  display:grid;
  grid-template-columns:2.6rem minmax(0,1fr);
  gap:.4rem;
}
.page-privacy .clause-list__no{
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--steel);
  padding-top:.32rem;
}
.page-privacy .clause-list strong{
  font-weight:500;
  color:var(--ink-900);
}

/* 结尾延伸 */
.page-privacy .privacy-links{
  margin-top:clamp(2rem,5vw,3rem);
  padding-top:1.25rem;
  border-top:1px solid var(--doc-line);
  max-width:38rem;
}
.page-privacy .privacy-links__title{
  margin:0 0 .45rem;
  font-family:var(--font-data);
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--steel);
}
.page-privacy .privacy-links p:last-child{
  margin:0;
  font-size:.9rem;
}
.page-privacy .privacy-links a{
  color:var(--ink-900);
  text-decoration:none;
  border-bottom:1px solid var(--haze);
  transition:border-color .25s var(--ease),color .25s var(--ease);
}
.page-privacy .privacy-links a:hover,
.page-privacy .privacy-links a:focus-visible{
  border-bottom-color:var(--cyan);
  color:var(--deep);
}

@media (min-width:860px){
  .page-privacy .clause__body{
    grid-template-columns:minmax(0,1fr) 13.5rem;
    gap:clamp(1.5rem,3vw,2.5rem);
    align-items:start;
  }
  .page-privacy .clause__note{
    position:sticky;
    top:calc(var(--header-h) + 2rem);
  }
}

@media (min-width:960px){
  .page-privacy .doc-shell{
    grid-template-columns:12.5rem minmax(0,1fr);
    gap:clamp(2rem,4vw,3.5rem);
    align-items:start;
  }
  .page-privacy .privacy-index{
    position:sticky;
    top:calc(var(--header-h) + 1.5rem);
  }
  .page-privacy .privacy-index__list{
    flex-direction:column;
    gap:0;
    padding-bottom:0;
    overflow:visible;
    border-left:1px solid var(--doc-line);
  }
  .page-privacy .privacy-index__link{
    position:relative;
    border:0;
    padding:.45rem 0 .45rem .95rem;
    font-size:.82rem;
    line-height:1.5;
  }
  .page-privacy .privacy-index__link::before{
    content:"";
    position:absolute;
    left:-1px;
    top:.4rem;
    bottom:.4rem;
    width:2px;
    background:transparent;
    transition:background .25s var(--ease);
  }
  .page-privacy .privacy-index__link:hover::before,
  .page-privacy .privacy-index__link:focus-visible::before{
    background:var(--cyan);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-privacy *{
    transition:none !important;
    animation:none !important;
  }
}
