.page-privacy{
  --privacy-toc-w:264px;
  background:
    radial-gradient(circle at 88% 2%, rgba(36,27,75,.5), transparent 46%),
    var(--ink-0);
  color:var(--paper);
}

.page-privacy .privacy-hero{
  position:relative;
  padding:clamp(20px,3.2vw,38px) 0 clamp(34px,5vw,72px);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}

.page-privacy .privacy-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(36,50,68,.6) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(36,50,68,.6) 1px, transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(ellipse at 72% 18%, #000 0%, transparent 74%);
  mask-image:radial-gradient(ellipse at 72% 18%, #000 0%, transparent 74%);
  pointer-events:none;
}

.page-privacy .privacy-hero__grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(24px,4vw,44px);
  margin-top:clamp(20px,3vw,38px);
  align-items:end;
}

.page-privacy .privacy-hero__copy .h-display{
  font-family:var(--serif);
  font-weight:300;
  line-height:1.08;
  letter-spacing:-.012em;
  margin:10px 0 0;
}

.page-privacy .privacy-hero__copy .lede{
  margin-top:18px;
  max-width:58ch;
  color:var(--metal);
  line-height:1.85;
}

.page-privacy .privacy-hero__facts{
  list-style:none;
  margin:clamp(20px,3vw,32px) 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.page-privacy .privacy-hero__facts li{
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.05em;
  color:var(--metal);
  border:1px solid var(--line);
  background:rgba(14,23,38,.72);
  padding:7px 11px;
  line-height:1.4;
}

.page-privacy .privacy-hero__visual{
  margin:0;
  position:relative;
  border:1px solid var(--line);
  background:var(--ink-1);
  overflow:hidden;
}

.page-privacy .privacy-hero__visual img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  filter:saturate(.92) contrast(1.06);
}

.page-privacy .privacy-hero__visual::after{
  content:"DATA FLOW · 信息流向示意";
  position:absolute;
  left:0;
  bottom:0;
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.14em;
  color:var(--ink-0);
  background:var(--cyan);
  padding:5px 10px;
}

.page-privacy .privacy-body{
  padding-top:clamp(30px,4.6vw,62px);
  padding-bottom:clamp(40px,6vw,88px);
}

.page-privacy .privacy-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(26px,4vw,52px);
  align-items:start;
}

.page-privacy .privacy-toc{
  border:1px solid var(--line);
  background:rgba(14,23,38,.74);
  padding:16px 16px 18px;
}

.page-privacy .privacy-toc__title{
  margin:0 0 12px;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.18em;
  color:var(--orange);
  text-transform:uppercase;
}

.page-privacy .privacy-toc__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
}

.page-privacy .privacy-toc__link{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:9px;
  align-items:baseline;
  padding:9px 7px;
  font-size:.88rem;
  line-height:1.45;
  color:var(--metal);
  text-decoration:none;
  border-left:2px solid transparent;
  transition:color .18s ease, border-color .18s ease, background-color .18s ease;
}

.page-privacy .privacy-toc__link:hover,
.page-privacy .privacy-toc__link:focus-visible{
  color:var(--paper);
  border-left-color:var(--cyan);
  background:rgba(53,242,194,.07);
}

.page-privacy .privacy-toc__num{
  font-family:var(--mono);
  font-size:.7rem;
  color:var(--mist);
}

.page-privacy .privacy-doc{
  min-width:0;
}

.page-privacy .privacy-doc__intro{
  margin:0 0 clamp(18px,2.6vw,28px);
  padding:2px 0 2px 16px;
  border-left:3px solid var(--orange);
  font-size:.94rem;
  line-height:1.85;
  color:var(--metal);
}

.page-privacy .clause{
  padding:clamp(24px,3.4vw,38px) 0;
  border-top:1px solid var(--line-soft);
  scroll-margin-top:96px;
}

.page-privacy .clause__head{
  display:flex;
  align-items:baseline;
  gap:13px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.page-privacy .clause__num{
  flex:none;
  font-family:var(--mono);
  font-size:.78rem;
  letter-spacing:.1em;
  color:var(--cyan);
  border:1px solid rgba(53,242,194,.38);
  padding:2px 7px;
  line-height:1.5;
}

.page-privacy .clause__title{
  margin:0;
  font-family:var(--sans);
  font-weight:900;
  font-size:clamp(1.12rem,2vw,1.46rem);
  line-height:1.4;
  letter-spacing:.01em;
  color:var(--paper);
}

.page-privacy .clause p{
  margin:0 0 14px;
  line-height:1.85;
  color:var(--paper);
}

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

.page-privacy .clause__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:13px;
}

.page-privacy .clause__list > li{
  position:relative;
  padding-left:20px;
  line-height:1.82;
  color:var(--metal);
}

.page-privacy .clause__list > li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.74em;
  width:6px;
  height:6px;
  background:var(--cyan);
  transform:rotate(45deg);
}

.page-privacy .clause__term{
  display:block;
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--cyan);
  margin-bottom:3px;
}

.page-privacy .clause__callout{
  margin-top:16px;
  padding:13px 16px;
  border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  background:rgba(11,43,51,.6);
  font-size:.92rem;
  line-height:1.82;
  color:var(--metal);
}

.page-privacy .clause__callout a,
.page-privacy .privacy-contact a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(53,242,194,.4);
}

.page-privacy .clause__callout a:hover,
.page-privacy .privacy-contact a:hover{
  border-bottom-color:var(--cyan);
}

.page-privacy .privacy-contact{
  margin-top:clamp(30px,4vw,54px);
  padding:clamp(22px,3.4vw,38px);
  border:1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(36,27,75,.72), rgba(11,43,51,.6) 58%, rgba(7,11,20,.92)),
    var(--ink-1);
  scroll-margin-top:96px;
}

.page-privacy .privacy-contact__title{
  margin:10px 0 0;
  font-family:var(--sans);
  font-weight:900;
  font-size:clamp(1.25rem,2.4vw,1.7rem);
  line-height:1.35;
  color:var(--paper);
}

.page-privacy .privacy-contact__lede{
  margin:14px 0 0;
  max-width:62ch;
  line-height:1.85;
  color:var(--metal);
}

.page-privacy .privacy-contact__list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  margin:24px 0 20px;
}

.page-privacy .privacy-contact__list dt{
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.14em;
  color:var(--orange);
  margin-bottom:5px;
}

.page-privacy .privacy-contact__list dd{
  margin:0;
  line-height:1.75;
  color:var(--paper);
  overflow-wrap:anywhere;
}

.page-privacy .privacy-mail{
  font-family:var(--mono);
  font-size:.92rem;
}

.page-privacy .copy-btn{
  margin-left:9px;
  padding:4px 9px;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.08em;
  color:var(--cyan);
  background:transparent;
  border:1px solid rgba(53,242,194,.42);
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease;
}

.page-privacy .copy-btn:hover,
.page-privacy .copy-btn:focus-visible{
  background:rgba(53,242,194,.12);
}

.page-privacy .copy-btn[data-copied]{
  color:var(--ink-0);
  background:var(--cyan);
  border-color:var(--cyan);
}

.page-privacy .privacy-contact .note{
  margin:0;
  color:var(--mist);
  line-height:1.8;
  font-size:.86rem;
}

@media (min-width:640px){
  .page-privacy .privacy-contact__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:920px){
  .page-privacy .privacy-layout{
    grid-template-columns:var(--privacy-toc-w) minmax(0,1fr);
    gap:clamp(30px,4vw,68px);
  }
  .page-privacy .privacy-toc{
    position:sticky;
    top:96px;
  }
  .page-privacy .privacy-doc{
    max-width:78ch;
  }
}

@media (min-width:1020px){
  .page-privacy .privacy-hero__grid{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:clamp(30px,4vw,56px);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-privacy .privacy-toc__link,
  .page-privacy .copy-btn{
    transition:none;
  }
}

@media print{
  .page-privacy .privacy-hero__visual,
  .page-privacy .privacy-toc{
    display:none;
  }
  .page-privacy .privacy-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .page-privacy{
    background:#ffffff;
    color:var(--ink-0);
  }
  .page-privacy .clause__title,
  .page-privacy .clause p{
    color:var(--ink-0);
  }
}
<<<END>>>
