.page-privacy{
  --pv-measure:70ch;
  --pv-hair:1px solid var(--blueprint);
  --pv-tint:rgba(199,213,222,.18);
  --pv-gap:clamp(24px,5vw,56px);
  background:var(--paper);
  color:var(--ink);
}

.page-privacy .pv-top{
  background:var(--ink);
  color:var(--paper);
  padding:clamp(24px,4vw,44px) 0 0;
}

.page-privacy .pv-crumbs{
  padding-bottom:clamp(16px,3vw,28px);
}
.page-privacy .pv-crumbs .crumbs{
  color:var(--blueprint);
}
.page-privacy .pv-crumbs .crumbs a{
  color:var(--blueprint);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color 140ms ease, color 140ms ease;
}
.page-privacy .pv-crumbs .crumbs a:hover,
.page-privacy .pv-crumbs .crumbs a:focus-visible{
  color:var(--orange);
  border-bottom-color:var(--orange);
}

.page-privacy .pv-masthead{
  max-width:920px;
  padding-bottom:clamp(8px,2vw,16px);
}
.page-privacy .pv-masthead .kicker{
  color:var(--celadon);
}
.page-privacy .pv-masthead h1{
  margin:12px 0 0;
  color:var(--paper);
  font-family:var(--font-title);
  max-width:22ch;
}
.page-privacy .pv-masthead .lede{
  margin-top:18px;
  max-width:56ch;
  color:var(--blueprint);
}

.page-privacy .pv-hero{
  margin:clamp(24px,4vw,44px) 0 0;
}
.page-privacy .pv-hero img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2/1;
  object-fit:cover;
  border-top:1px solid var(--rail-line);
}

.page-privacy .pv-body{
  background:var(--paper);
}
.page-privacy .pv-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--pv-gap);
  padding-top:clamp(32px,6vw,72px);
  padding-bottom:clamp(48px,9vw,110px);
}

.page-privacy .pv-toc .kicker{
  display:block;
  margin-bottom:12px;
  color:var(--sea);
}
.page-privacy .pv-toc__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.page-privacy .pv-toc__list a{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:8px 12px;
  border:var(--pv-hair);
  color:var(--sea);
  text-decoration:none;
  font-size:15px;
  line-height:1.3;
  transition:border-color 140ms ease, color 140ms ease;
}
.page-privacy .pv-toc__list .mono{
  color:var(--index-gray);
  font-size:13px;
  letter-spacing:.06em;
}
.page-privacy .pv-toc__list a:hover,
.page-privacy .pv-toc__list a:focus-visible{
  border-color:var(--orange);
  color:var(--ink);
}

.page-privacy .pv-totop{
  display:inline-block;
  margin-top:18px;
  min-height:44px;
  padding:12px 0;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--sea);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color 140ms ease, color 140ms ease;
}
.page-privacy .pv-totop:hover,
.page-privacy .pv-totop:focus-visible{
  color:var(--orange);
  border-bottom-color:var(--orange);
}

.page-privacy .pv-article{
  max-width:var(--pv-measure);
}

.page-privacy .pv-part{
  padding:clamp(28px,5vw,44px) clamp(0px,2vw,16px) 0;
  scroll-margin-top:calc(var(--bar-h) + 24px);
}
.page-privacy .pv-part + .pv-part{
  margin-top:clamp(28px,5vw,48px);
  border-top:var(--pv-hair);
}
.page-privacy .pv-part:target{
  box-shadow:inset 3px 0 0 var(--orange);
}

.page-privacy .pv-part__head{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.page-privacy .pv-part__head h2{
  margin:0;
}
.page-privacy .pv-part__num{
  display:inline-block;
  padding:4px 8px;
  line-height:1;
  background:var(--blueprint);
  color:var(--sea);
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
}

.page-privacy .pv-list{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:16px;
}
.page-privacy .pv-list li{
  position:relative;
  padding-left:22px;
}
.page-privacy .pv-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:12px;
  height:1px;
  background:var(--celadon);
}
.page-privacy .pv-list strong{
  color:var(--sea);
  font-weight:600;
}
.page-privacy .pv-list p{
  margin:4px 0 0;
}
.page-privacy .pv-key{
  font-family:var(--font-mono);
  border-bottom:2px solid var(--celadon);
}

.page-privacy .pv-fold{
  margin-top:22px;
  border:var(--pv-hair);
  background:var(--pv-tint);
}
.page-privacy .pv-fold summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:14px 16px;
  font-weight:600;
  color:var(--sea);
}
.page-privacy .pv-fold summary::-webkit-details-marker{
  display:none;
}
.page-privacy .pv-fold summary::after{
  content:"展开";
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:400;
  color:var(--index-gray);
}
.page-privacy .pv-fold[open] summary::after{
  content:"收起";
  color:var(--orange);
}
.page-privacy .pv-fold__body{
  padding:0 16px 16px;
}
.page-privacy .pv-fold__body p{
  margin:0;
}

.page-privacy .pv-contact{
  margin-top:22px;
  padding:clamp(20px,4vw,30px);
  background:var(--ink);
  color:var(--paper);
  border-left:3px solid var(--orange);
}
.page-privacy .pv-contact .kicker{
  display:block;
  margin-bottom:14px;
  color:var(--celadon);
}
.page-privacy .pv-contact__row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--rail-line);
}
.page-privacy .pv-contact__label{
  min-width:64px;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--blueprint);
}
.page-privacy .pv-contact__value{
  color:var(--orange);
  font-size:15px;
  text-decoration:none;
  word-break:break-all;
}
.page-privacy .pv-contact__value:hover,
.page-privacy .pv-contact__value:focus-visible{
  text-decoration:underline;
}
.page-privacy .pv-contact .copy-btn{
  background:transparent;
  color:var(--paper);
  border-color:rgba(199,213,222,.45);
}
.page-privacy .pv-contact .copy-btn:hover,
.page-privacy .pv-contact .copy-btn:focus-visible{
  color:var(--orange);
  border-color:var(--orange);
}
.page-privacy .pv-contact__hours{
  margin:14px 0 0;
  font-size:15px;
  color:var(--blueprint);
}

@media (max-width:640px){
  .page-privacy .pv-hero img{
    aspect-ratio:3/2;
  }
  .page-privacy .pv-contact__row{
    align-items:flex-start;
  }
}

@media (min-width:900px){
  .page-privacy .pv-grid{
    grid-template-columns:minmax(180px,220px) minmax(0,1fr);
    gap:clamp(32px,6vw,72px);
  }
  .page-privacy .pv-toc{
    position:sticky;
    top:calc(var(--bar-h) + 28px);
    align-self:start;
  }
  .page-privacy .pv-toc__list{
    display:block;
  }
  .page-privacy .pv-toc__list li + li{
    margin-top:8px;
  }
  .page-privacy .pv-toc__list a{
    display:flex;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-privacy .pv-crumbs .crumbs a,
  .page-privacy .pv-toc__list a,
  .page-privacy .pv-totop{
    transition:none;
  }
}
