.page-privacy{
  --privacy-rule:rgba(36,28,22,.16);
  --privacy-paper-shadow:rgba(31,74,58,.075);
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  overflow-x:hidden;
}

.page-privacy .privacy-head{
  position:relative;
  padding:clamp(1.1rem,3vw,2rem) 0 clamp(1.8rem,4.5vw,3.2rem);
  border-bottom:1px solid var(--privacy-rule);
  background:
    repeating-radial-gradient(circle at 84% 18%, transparent 0 26px, rgba(31,74,58,.06) 26px 27px),
    repeating-radial-gradient(circle at 12% 88%, transparent 0 34px, rgba(232,100,42,.05) 34px 35px),
    var(--cream);
}

.page-privacy .privacy-head__grid{
  display:grid;
  gap:clamp(1.4rem,3vw,2.6rem);
  margin-top:clamp(1rem,2.4vw,1.8rem);
  min-width:0;
}

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

.page-privacy .privacy-head h1{
  margin:.5rem 0 0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2.1rem,6.4vw,4.4rem);
  line-height:1.04;
  letter-spacing:-.02em;
  color:var(--ink);
  text-wrap:balance;
}

.page-privacy .privacy-head .lede{
  margin:1rem 0 0;
  max-width:44ch;
  font-size:clamp(.98rem,1.6vw,1.1rem);
  line-height:1.8;
  color:var(--ink-70);
}

.page-privacy .privacy-head__tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.2rem;
}

.page-privacy .privacy-head__figure{
  margin:0;
  padding:.55rem .55rem .1rem;
  background:var(--paper);
  border:1px solid var(--line-strong);
  box-shadow:8px 8px 0 var(--privacy-paper-shadow);
  transform:rotate(-.6deg);
}

.page-privacy .privacy-head__figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border:1px solid var(--privacy-rule);
}

.page-privacy .privacy-head__caption{
  padding:.6rem .2rem .55rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.04em;
  line-height:1.6;
  color:var(--ink-45);
}

.page-privacy .privacy-shell{
  padding:clamp(1.8rem,4.5vw,3.4rem) 0 clamp(2.4rem,5.5vw,4.4rem);
  min-width:0;
}

.page-privacy .privacy-toc{
  background:var(--pine);
  color:var(--cream);
  padding:clamp(1rem,2.4vw,1.5rem);
  border:1px solid var(--pine-deep);
  border-top:3px solid var(--orange);
  margin-bottom:clamp(1.4rem,3vw,2rem);
}

.page-privacy .privacy-toc__title{
  margin:0 0 .8rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cream-45);
}

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

.page-privacy .privacy-toc__link{
  display:flex;
  align-items:baseline;
  gap:.65rem;
  padding:.45rem .3rem;
  font-size:.88rem;
  line-height:1.45;
  color:rgba(247,238,221,.84);
  text-decoration:none;
  border-bottom:1px solid rgba(247,238,221,.12);
  transition:color var(--dur) var(--ease),padding-left var(--dur) var(--ease),background var(--dur) var(--ease);
}

.page-privacy .privacy-toc__link .num{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.06em;
  color:var(--orange);
  flex:none;
}

.page-privacy .privacy-toc__link:hover,
.page-privacy .privacy-toc__link:focus-visible{
  color:var(--cream);
  padding-left:.7rem;
  background:rgba(53,224,208,.09);
  outline:none;
}

.page-privacy .privacy-toc__link:focus-visible{
  box-shadow:inset 2px 0 0 var(--cyan);
}

.page-privacy .privacy-body{
  display:grid;
  gap:clamp(1rem,2.6vw,1.5rem);
  min-width:0;
}

.page-privacy .privacy-clause{
  position:relative;
  min-width:0;
  padding:clamp(1.15rem,3vw,2.1rem);
  background:var(--paper);
  border:1px solid var(--privacy-rule);
  border-left:3px solid var(--orange);
  box-shadow:6px 6px 0 var(--privacy-paper-shadow);
  scroll-margin-top:5rem;
}

.page-privacy .privacy-clause__no{
  margin:0 0 .35rem;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.18em;
  color:var(--vermilion);
}

.page-privacy .privacy-clause h2{
  margin:0 0 .85rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.3rem,2.6vw,1.85rem);
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--ink);
}

.page-privacy .privacy-clause p{
  margin:0 0 .85rem;
  max-width:62ch;
  font-size:.97rem;
  line-height:1.85;
  color:var(--ink-70);
}

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

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

.page-privacy .privacy-clause a:hover,
.page-privacy .privacy-clause a:focus-visible{
  color:var(--orange);
}

.page-privacy .privacy-list{
  list-style:none;
  margin:.2rem 0 1rem;
  padding:0;
  display:grid;
  gap:.65rem;
  max-width:64ch;
}

.page-privacy .privacy-list li{
  position:relative;
  padding-left:1.1rem;
  font-size:.95rem;
  line-height:1.8;
  color:var(--ink-70);
}

.page-privacy .privacy-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:.42rem;
  height:.42rem;
  background:var(--orange);
  transform:rotate(45deg);
}

.page-privacy .privacy-list strong{
  color:var(--ink);
  font-weight:700;
}

.page-privacy .privacy-note{
  margin-top:1rem !important;
  padding:.8rem 1rem;
  background:var(--pine);
  color:var(--cream-70) !important;
  border-left:3px solid var(--cyan);
  font-size:.9rem !important;
  line-height:1.75 !important;
}

.page-privacy .privacy-mail{
  font-family:var(--font-mono);
  font-size:.95em;
  color:var(--ink);
  background:rgba(232,100,42,.12);
  padding:.1em .35em;
  word-break:break-all;
}

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

.page-privacy .data-table{
  width:100%;
  min-width:34rem;
  border-collapse:collapse;
  font-size:.9rem;
}

.page-privacy .data-table th,
.page-privacy .data-table td{
  padding:.62rem .75rem;
  text-align:left;
  border-bottom:1px solid var(--privacy-rule);
  vertical-align:top;
  line-height:1.6;
}

.page-privacy .data-table thead th{
  background:var(--pine-deep);
  color:var(--cream);
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}

.page-privacy .data-table tbody th{
  font-weight:700;
  color:var(--ink);
  white-space:nowrap;
}

.page-privacy .data-table tbody td{color:var(--ink-70);}

.page-privacy .data-table tbody tr:nth-child(even){background:rgba(169,184,164,.14);}

.page-privacy .data-table .num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  color:var(--vermilion);
  font-weight:700;
}

.page-privacy .privacy-back{
  background:var(--pine-deep);
  color:var(--cream);
  padding:clamp(1.5rem,4vw,2.6rem) 0;
  border-top:3px solid var(--orange);
}

.page-privacy .privacy-back__inner{
  display:flex;
  flex-wrap:wrap;
  gap:1.1rem;
  align-items:center;
  justify-content:space-between;
}

.page-privacy .privacy-back__line{
  margin:0;
  max-width:48ch;
  font-size:.95rem;
  line-height:1.75;
  color:var(--cream-70);
}

.page-privacy .privacy-back__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
}

.page-privacy .privacy-back .to-top{
  border:1px solid rgba(247,238,221,.4);
  background:transparent;
  color:var(--cream);
  font-family:var(--font-body);
  font-size:.85rem;
  letter-spacing:.04em;
  padding:.55rem 1rem;
  cursor:pointer;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}

.page-privacy .privacy-back .to-top:hover,
.page-privacy .privacy-back .to-top:focus-visible{
  border-color:var(--cyan);
  color:var(--cyan);
  outline:none;
}

@media (min-width:720px){
  .page-privacy .privacy-head__grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    align-items:end;
  }
  .page-privacy .privacy-toc__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:1rem;
  }
}

@media (min-width:960px){
  .page-privacy .privacy-shell{
    display:grid;
    grid-template-columns:minmax(190px,248px) minmax(0,1fr);
    gap:clamp(1.5rem,4vw,3.6rem);
    align-items:start;
  }
  .page-privacy .privacy-toc{
    position:sticky;
    top:clamp(1rem,3vw,2rem);
    margin-bottom:0;
  }
  .page-privacy .privacy-toc__list{
    grid-template-columns:minmax(0,1fr);
    column-gap:0;
  }
  .page-privacy .privacy-head__figure{transform:rotate(-1deg);}
}

@media (min-width:1200px){
  .page-privacy .privacy-clause{padding-right:clamp(2.1rem,4vw,3.2rem);}
}

@media (prefers-reduced-motion:reduce){
  .page-privacy .privacy-toc__link,
  .page-privacy .privacy-back .to-top{transition:none;}
  .page-privacy .privacy-head__figure{transform:none;}
}

@media print{
  .page-privacy{background:#fff;color:#000;}
  .page-privacy .privacy-toc,
  .page-privacy .privacy-back,
  .page-privacy .privacy-actions{display:none;}
  .page-privacy .privacy-head{background:none;border-bottom:1px solid #000;}
  .page-privacy .privacy-head__figure{box-shadow:none;transform:none;border-color:#000;}
  .page-privacy .privacy-clause{
    box-shadow:none;
    border:1px solid #000;
    border-left:3px solid #000;
    break-inside:avoid;
  }
  .page-privacy .privacy-clause a{
    color:#000;
    text-decoration:underline;
  }
  .page-privacy .data-table{min-width:0;font-size:.8rem;}
}
<<<END>>>
