.legal-hero{
  padding-block:var(--space-8) var(--space-7);
  background:#f4f1e8;
  color:#29231d
}

.legal-hero__kicker{
  width:fit-content;
  margin:0 0 var(--space-3);
  padding:.45rem .8rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  background:#59155f;
  color:#fff;
  font-size:var(--text-xs);
  line-height:1;
  font-weight:700;
  letter-spacing:.06em
}

.legal-hero__kicker::before{
  width:.4rem;
  height:.4rem;
  border-radius:50%;
  background:#fff;
  content:""
}

.legal-hero__title{
  max-width:18ch;
  color:#29231d;
  font-size:var(--text-h2);
  line-height:var(--leading-tight)
}

.legal-hero__lead{
  max-width:46rem;
  margin-top:var(--space-3);
  color:#554c43;
  font-size:var(--text-lg);
  line-height:var(--leading-body)
}

.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
  margin-top:var(--space-4)
}

.legal-hero .pill{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:999px;
  background:#fff;
  color:#29231d;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  line-height:1;
  font-variant-numeric:tabular-nums
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);
  gap:var(--space-8);
  align-items:start;
  padding-block:var(--space-8) var(--section-pad)
}

.legal-toc{
  position:sticky;
  top:calc(4.625rem + var(--space-3));
  z-index:1;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  background:#f7f7f5;
  color:#19151b
}

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

.legal-index a{
  display:block;
  padding:.55em .7em;
  border-radius:var(--radius-sm);
  color:#5f565f;
  font-size:var(--text-sm);
  line-height:1.35;
  overflow-wrap:anywhere
}

.legal-index a:hover{
  background:#fff;
  color:#59155f
}

.legal-index a.is-active{
  background:#59155f;
  color:#fff
}

.legal-toc__cta{
  display:inline-flex;
  width:auto;
  margin-top:var(--space-5);
  justify-self:start;
  background:#fff;
  color:#19151b
}

.legal-doc{
  min-width:0;
  width:100%;
  max-width:72ch
}

.legal-section{
  scroll-margin-top:7rem
}

.legal-section + .legal-section{
  margin-top:var(--space-8)
}

.legal-section h2{
  margin-bottom:var(--space-4);
  color:#19151b;
  font-size:var(--text-lg);
  line-height:var(--leading-heading)
}

.legal-section p{
  color:#494249;
  font-size:var(--text-base);
  line-height:1.75
}

.legal-section p + p{
  margin-top:var(--space-4)
}

.legal-section a:not(.c-btn){
  color:#59155f;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
  overflow-wrap:anywhere
}

.legal-final{
  background:#fff;
  color:#19151b
}

.legal-closing{
  padding-inline:var(--space-8);
  background:#19151b;
  color:#fff
}

.legal-closing h2{
  max-width:25ch;
  color:#fff;
  font-size:clamp(1.75rem,3.5vw,2.5rem);
  line-height:var(--leading-tight)
}

.legal-closing p{
  max-width:42rem;
  color:#b8b1b9
}

.legal-closing__label{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:var(--space-3);
  padding:.4em .9em;
  border-radius:999px;
  background:#fff;
  color:#19151b;
  font-size:var(--text-xs);
  line-height:1;
  font-weight:700
}

.legal-closing__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:var(--space-5);
  margin-top:0
}

.legal-closing__actions .c-btn{
  width:100%
}

.legal-closing__actions .c-btn-ghost{
  border-color:rgba(255,255,255,.4);
  color:#fff
}

@media(max-width:64rem){
  .legal-layout{
    grid-template-columns:1fr;
    gap:var(--space-7)
  }

  .legal-toc{
    position:static
  }

  .legal-doc{
    max-width:none
  }
}

@media(max-width:42rem){
  .legal-hero{
    padding-block:var(--space-7) var(--space-6)
  }

  .legal-layout{
    padding-block:var(--space-7) var(--space-9)
  }

  .legal-toc{
    padding:var(--space-5)
  }

  .legal-section + .legal-section{
    margin-top:var(--space-7)
  }

  .legal-closing{
    padding:var(--space-6)
  }

  .legal-closing__actions{
    align-items:stretch
  }
}
