.page-privacy{
  --pp-measure:34em;
  --pp-sticky:6rem;
  display:block;
  color:var(--paper);
  background:
    radial-gradient(120% 70% at 88% -12%, rgba(43,232,200,.10), transparent 62%),
    linear-gradient(180deg, var(--felt) 0%, var(--felt) 55%, #0a1c17 100%);
  overflow-wrap:break-word;
}

.page-privacy .intro{
  padding-block:clamp(1.25rem,4vw,2.5rem) 0;
}

.page-privacy .crumbs{
  font-size:.75rem;
}

.page-privacy .intro__grid{
  display:grid;
  gap:1.75rem;
  margin-top:1.25rem;
}

.page-privacy .intro h1{
  margin:.55rem 0 0;
  font-size:clamp(1.85rem,5.4vw,3.1rem);
  line-height:1.16;
  letter-spacing:.02em;
  font-weight:800;
}

.page-privacy .intro__lead{
  max-width:var(--pp-measure);
  margin:1rem 0 0;
  font-size:1.0625rem;
  line-height:1.8;
  color:var(--muted);
}

.page-privacy .sum{
  position:relative;
  margin-top:1.75rem;
  padding:1.65rem 1.25rem 1.35rem;
  background:linear-gradient(158deg, rgba(23,63,56,.96), rgba(18,48,42,.96));
  border:1px solid var(--line);
  clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}

.page-privacy .sum::before{
  content:"";
  position:absolute;
  top:0;
  left:1.25rem;
  width:58px;
  height:3px;
  background:var(--cyan);
}

.page-privacy .sum__title{
  margin:0 0 1rem;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.18em;
  color:var(--muted);
}

.page-privacy .sum__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.95rem;
}

.page-privacy .sum__item{
  display:grid;
  grid-template-columns:2.1rem minmax(0,1fr);
  gap:.45rem;
  align-items:start;
}

.page-privacy .sum__num{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--amber);
  padding-top:.15rem;
}

.page-privacy .sum__item strong{
  display:block;
  font-size:.9375rem;
  letter-spacing:.02em;
  color:var(--paper);
}

.page-privacy .sum__item p{
  margin:.2rem 0 0;
  font-size:.875rem;
  line-height:1.7;
  color:var(--muted);
}

.page-privacy .intro__fig{
  margin:0;
  padding:.5rem .5rem .35rem;
  border:1px solid var(--line);
  background:
    repeating-linear-gradient(115deg, rgba(42,74,67,.35) 0 6px, transparent 6px 16px),
    linear-gradient(155deg, rgba(43,232,200,.09), rgba(11,31,26,0) 70%),
    var(--felt-2);
}

.page-privacy .intro__fig img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:2 / 1;
  object-fit:cover;
}

.page-privacy .intro__fig figcaption{
  padding:.55rem .25rem .15rem;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.06em;
  color:var(--muted);
}

.page-privacy .body-wrap{
  padding-block:clamp(2rem,5vw,3.5rem);
}

.page-privacy .layout{
  display:grid;
  gap:1.75rem;
}

.page-privacy .toc__title{
  margin:0 0 .7rem;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.18em;
  color:var(--muted);
}

.page-privacy .toc__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.3rem;
}

.page-privacy .toc__link{
  display:flex;
  align-items:baseline;
  gap:.5rem;
  padding:.45rem .75rem;
  border-left:2px solid var(--line);
  color:var(--muted);
  text-decoration:none;
  font-size:.875rem;
  line-height:1.5;
  transition:color .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);
}

.page-privacy .toc__link:hover{
  color:var(--cyan-soft);
  border-left-color:var(--cyan-soft);
}

.page-privacy .toc__link:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
  color:var(--paper);
}

.page-privacy .toc__link[aria-current="true"]{
  color:var(--paper);
  border-left-color:var(--cyan);
  background:linear-gradient(90deg, rgba(43,232,200,.16), transparent 88%);
}

.page-privacy .toc__num{
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.06em;
  color:var(--cyan);
}

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

.page-privacy .clause{
  padding-block:1.5rem 1.75rem;
  scroll-margin-top:5.5rem;
}

.page-privacy .clause + .clause{
  background-image:repeating-linear-gradient(115deg, var(--line) 0 6px, transparent 6px 15px);
  background-repeat:no-repeat;
  background-position:top left;
  background-size:76px 4px;
}

.page-privacy .clause__title{
  display:flex;
  align-items:baseline;
  gap:.6rem;
  margin:0 0 .9rem;
  font-size:clamp(1.15rem,3.2vw,1.5rem);
  line-height:1.35;
  letter-spacing:.02em;
  font-weight:800;
}

.page-privacy .clause__num{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.08em;
  color:var(--amber);
}

.page-privacy .clause p{
  max-width:var(--pp-measure);
  margin:0 0 1em;
  font-size:1rem;
  line-height:1.8;
  color:var(--paper);
}

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

.page-privacy .clause strong{
  color:var(--cyan-soft);
  font-weight:600;
}

.page-privacy .clause ul{
  list-style:none;
  max-width:var(--pp-measure);
  margin:0 0 1em;
  padding:0;
  display:grid;
  gap:.6rem;
}

.page-privacy .clause li{
  position:relative;
  padding-left:1.05rem;
  font-size:1rem;
  line-height:1.8;
  color:var(--paper);
}

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

.page-privacy .clause a{
  color:var(--cyan-soft);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.page-privacy .clause a:hover{
  color:var(--amber);
}

.page-privacy .help{
  position:relative;
  margin-top:2.25rem;
  padding:1.75rem 1.25rem 1.5rem;
  border:1px solid var(--line);
  background:
    linear-gradient(160deg, rgba(23,63,56,.9), rgba(11,31,26,.9));
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}

.page-privacy .help::before{
  content:"";
  position:absolute;
  top:0;
  left:1.25rem;
  width:44px;
  height:3px;
  background:var(--amber);
}

.page-privacy .help h2{
  margin:.4rem 0 .85rem;
  font-size:clamp(1.15rem,3vw,1.4rem);
  letter-spacing:.02em;
  font-weight:800;
}

.page-privacy .help p{
  max-width:var(--pp-measure);
  margin:0 0 1em;
  font-size:.9375rem;
  line-height:1.8;
  color:var(--muted);
}

.page-privacy .help__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:.35rem;
}

.page-privacy .help__actions .btn{
  text-decoration:none;
}

@media (max-width:879px){
  .page-privacy .clause + .clause{
    background-size:56px 4px;
  }
  .page-privacy .help{
    clip-path:none;
  }
}

@media (min-width:880px){
  .page-privacy .intro__grid{
    grid-template-columns:minmax(0,1.28fr) minmax(0,.82fr);
    align-items:start;
    gap:clamp(2rem,4vw,3rem);
  }

  .page-privacy .intro__fig{
    margin-top:2.25rem;
  }

  .page-privacy .layout{
    grid-template-columns:250px minmax(0,1fr);
    gap:clamp(2rem,4.5vw,3.75rem);
    align-items:start;
  }

  .page-privacy .toc-col{
    position:sticky;
    top:var(--pp-sticky);
  }

  .page-privacy .toc__list{
    flex-direction:column;
    flex-wrap:nowrap;
    gap:.15rem;
  }

  .page-privacy .toc__link{
    padding:.5rem .75rem .5rem .85rem;
  }

  .page-privacy .clause{
    padding-block:2rem 2.15rem;
  }
}

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