.privacy-hero{
  padding-block:var(--space-5);
  color:var(--c-ink);
  background:var(--c-surface)
}

.privacy-hero-inner{
  display:grid;
  gap:var(--space-4)
}

.privacy-heading{
  display:grid;
  gap:var(--space-1)
}

.privacy-heading .c-badge{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  color:var(--c-primary-hover);
  background:var(--c-white)
}

.privacy-heading h1{
  max-width:13ch;
  margin-inline:0;
  color:var(--c-ink)
}

.privacy-heading p{
  max-width:68ch;
  margin-inline:0;
  color:var(--c-ink-soft);
  font-size:var(--fs-3)
}

.privacy-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-3);
  padding-top:var(--space-3);
  border-top:1px solid var(--c-line)
}

.privacy-meta div{
  display:grid;
  gap:var(--space-1);
  min-width:0
}

.privacy-meta dt{
  color:var(--c-muted);
  font-size:var(--fs-0);
  font-weight:650;
  letter-spacing:.04em
}

.privacy-meta dd{
  min-width:0;
  color:var(--c-ink);
  font-weight:550;
  overflow-wrap:anywhere
}

.privacy-meta a{
  color:var(--c-primary);
  text-decoration:underline;
  text-decoration-color:var(--c-accent);
  text-underline-offset:.2em
}

.privacy-document{
  color:var(--c-ink);
  background:var(--c-white)
}

.privacy-layout{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  align-items:start;
  gap:var(--space-5)
}

.privacy-layout>*{
  min-width:0
}

.privacy-index{
  position:sticky;
  top:calc(var(--header-height) + var(--space-2))
}

.privacy-index-panel{
  display:grid;
  gap:var(--space-3);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-light)
}

.privacy-index-panel h2{
  color:var(--c-ink);
  font-size:var(--fs-4)
}

.privacy-index-panel nav ol{
  display:grid;
  gap:var(--space-1);
  margin:0;
  padding:0;
  list-style:none
}

.privacy-index-panel nav a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:baseline;
  gap:var(--space-1);
  padding:.4rem .25rem;
  border-radius:var(--radius-sm);
  color:var(--c-ink-soft);
  font-size:var(--fs-1);
  line-height:1.35
}

.privacy-index-panel nav a:hover{
  color:var(--c-primary);
  background:var(--c-surface)
}

.privacy-index-panel nav span{
  color:var(--c-primary);
  font-family:var(--font-mono);
  font-size:var(--fs-0)
}

.privacy-index-panel p{
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.privacy-index-panel .c-btn{
  width:100%;
  overflow-wrap:anywhere
}

.privacy-content{
  min-width:0;
  max-width:820px
}

.privacy-section{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-3);
  padding-bottom:var(--space-5);
  scroll-margin-top:calc(var(--header-height) + var(--space-3))
}

.privacy-section+.privacy-section{
  padding-top:var(--space-5);
  border-top:1px solid var(--c-line)
}

.privacy-section-number{
  min-width:2.4rem;
  padding-top:.35rem;
  color:var(--c-primary);
  font:600 var(--fs-1)/1 var(--font-mono)
}

.privacy-section-body{
  display:grid;
  gap:var(--space-3);
  min-width:0
}

.privacy-section-body h2{
  max-width:18ch;
  margin-inline:0;
  color:var(--c-ink)
}

.privacy-section-body h3{
  color:var(--c-ink);
  font-size:var(--fs-4)
}

.privacy-section-body p{
  color:var(--c-ink-soft);
  line-height:1.75
}

.privacy-section-body a:not(.c-btn){
  color:var(--c-primary);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:var(--c-accent);
  text-underline-offset:.2em;
  overflow-wrap:anywhere
}

.privacy-list{
  display:grid;
  gap:var(--space-2);
  margin:0;
  padding-left:1.25rem;
  color:var(--c-ink-soft)
}

.privacy-list strong{
  color:var(--c-ink)
}

.privacy-note{
  display:grid;
  gap:var(--space-1);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink-soft);
  background:var(--c-surface)
}

.privacy-note strong{
  color:var(--c-ink)
}

.privacy-note p{
  color:var(--c-ink-soft)
}

.privacy-data-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:var(--space-3)
}

.privacy-data-item{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-light)
}

.privacy-data-item h3{
  color:var(--c-ink);
  font-size:var(--fs-3)
}

.privacy-data-item p{
  color:var(--c-ink-soft);
  font-size:var(--fs-1)
}

.privacy-purpose-list{
  display:grid;
  gap:var(--space-2)
}

.privacy-purpose-list div{
  display:grid;
  grid-template-columns:minmax(110px,max-content) minmax(0,1fr);
  align-items:start;
  gap:var(--space-3);
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  color:var(--c-ink);
  background:var(--c-surface)
}

.privacy-purpose-list dt{
  color:var(--c-ink);
  font-weight:650
}

.privacy-purpose-list dd{
  color:var(--c-ink-soft)
}

.privacy-payment{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:var(--space-3)
}

.privacy-payment>div{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-mint)
}

.privacy-payment>div:nth-child(2){
  color:var(--c-ink);
  background:var(--c-cyan)
}

.privacy-payment .c-badge{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  color:var(--c-primary-hover);
  background:var(--c-white)
}

.privacy-payment h3{
  color:var(--c-ink)
}

.privacy-payment p,
.privacy-payment>div:nth-child(2) p{
  color:var(--c-ink-soft)
}

.privacy-table{
  min-width:720px;
  color:var(--c-ink);
  background:var(--c-white)
}

.privacy-table caption{
  padding:var(--space-2);
  color:var(--c-ink-soft);
  background:var(--c-light);
  font-weight:600;
  text-align:left
}

.privacy-table th{
  color:var(--c-ink);
  background:var(--c-surface)
}

.privacy-table td{
  color:var(--c-ink-soft);
  background:var(--c-white)
}

.privacy-retention-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:var(--space-3)
}

.privacy-retention-grid>div{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-light)
}

.privacy-retention-grid h3{
  color:var(--c-ink);
  font-size:var(--fs-3)
}

.privacy-retention-grid p{
  color:var(--c-ink-soft);
  font-size:var(--fs-1)
}

.privacy-process{
  display:grid;
  gap:var(--space-2);
  margin:0;
  padding:0;
  list-style:none
}

.privacy-process li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  color:var(--c-ink);
  background:var(--c-surface)
}

.privacy-process li>span{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  color:var(--c-white);
  background:var(--c-primary);
  font:600 var(--fs-1)/1 var(--font-mono)
}

.privacy-process li>div{
  display:grid;
  gap:var(--space-1);
  min-width:0
}

.privacy-process strong{
  color:var(--c-ink)
}

.privacy-process p{
  color:var(--c-ink-soft);
  font-size:var(--fs-1)
}

.privacy-rights{
  display:grid;
  gap:var(--space-2);
  margin:0;
  padding:0;
  list-style:none
}

.privacy-rights li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  color:var(--c-ink);
  background:var(--c-light)
}

.privacy-rights svg{
  margin-top:.15rem;
  color:var(--c-primary)
}

.privacy-rights div{
  display:grid;
  gap:var(--space-1);
  min-width:0
}

.privacy-rights strong{
  color:var(--c-ink)
}

.privacy-rights span{
  color:var(--c-ink-soft)
}

.privacy-actions{
  justify-content:flex-start
}

.privacy-actions .c-btn{
  overflow-wrap:anywhere
}

.privacy-closing{
  color:var(--c-ink);
  background:var(--c-white)
}

.privacy-closing .closing-band{
  color:#eef7ee;
  background:var(--c-dark)
}

.privacy-closing .closing-band h2{
  color:var(--c-white)
}

.privacy-closing .closing-band p{
  color:#aac0b0
}

.privacy-closing-actions{
  display:grid;
  gap:var(--space-1);
  min-width:min(100%,260px)
}

.privacy-closing-actions .c-btn{
  width:100%;
  overflow-wrap:anywhere
}

.privacy-closing-ghost{
  color:var(--c-white);
  background:transparent;
  border-color:rgba(255,255,255,.42)
}

.privacy-closing-ghost:hover{
  color:var(--c-white);
  background:rgba(255,255,255,.08);
  border-color:var(--c-white)
}

@media (max-width:980px){
  .privacy-layout{
    grid-template-columns:1fr;
    gap:var(--space-4)
  }

  .privacy-index{
    position:static
  }

  .privacy-index-panel nav ol{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .privacy-content{
    max-width:none
  }
}

@media (max-width:680px){
  .privacy-hero{
    padding-block:var(--space-4)
  }

  .privacy-meta{
    grid-template-columns:1fr
  }

  .privacy-index-panel nav ol{
    grid-template-columns:1fr
  }

  .privacy-section{
    grid-template-columns:1fr;
    gap:var(--space-2)
  }

  .privacy-section-number{
    padding-top:0
  }

  .privacy-data-grid,
  .privacy-payment,
  .privacy-retention-grid{
    grid-template-columns:1fr
  }

  .privacy-purpose-list div{
    grid-template-columns:1fr;
    gap:var(--space-1)
  }

  .privacy-actions{
    display:grid;
    grid-template-columns:1fr
  }

  .privacy-actions .c-btn{
    width:100%
  }
}

@media (max-width:390px){
  .privacy-index-panel,
  .privacy-data-item,
  .privacy-payment>div,
  .privacy-retention-grid>div{
    padding:var(--space-2)
  }

  .privacy-process li,
  .privacy-rights li{
    grid-template-columns:1fr
  }
}
