:root{
  --legal-header-size:calc(var(--header-height) + var(--space-6));
}
.legal-hero{
  padding-block:var(--space-7) var(--space-6);
  background:#FBF8F6;
  color:#33252F;
}
.legal-hero__kicker{
  margin-bottom:var(--space-4);
  font-size:var(--text-sm);
  font-weight:600;
  color:#655761;
}
.legal-hero__title{
  font-size:clamp(2rem,4vw,3rem);
  line-height:var(--lh-display);
  color:#1A0E17;
}
.legal-hero__lead{
  max-width:72ch;
  margin-top:var(--space-4);
  color:#655761;
}
.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-2);
  margin-top:var(--space-4);
}
.legal-meta-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height:0;
  padding:.4em .9em;
  border-radius:var(--pill);
  background:#F4EFEB;
  color:#655761;
  font-size:var(--text-xs);
  line-height:1.4;
}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);
  gap:var(--space-6);
  align-items:start;
  padding-block:var(--space-7) var(--space-close);
}
.legal-layout>*{
  min-width:0;
}
.legal-toc{
  position:sticky;
  top:calc(var(--legal-header-size) + var(--space-3));
  z-index:1;
  padding:var(--space-4);
  border-radius:var(--r-m);
  background:#FFFFFF;
  color:#33252F;
}
.legal-toc__title{
  margin-bottom:var(--space-3);
  font-size:var(--text-sm);
  font-weight:600;
  color:#1A0E17;
}
.legal-index{
  display:grid;
  gap:var(--space-1);
  margin:0;
  padding:0;
  list-style:none;
}
.legal-index li{
  min-width:0;
}
.legal-index a{
  display:block;
  padding:.5em .6em;
  border-radius:var(--r-s);
  color:#655761;
  font-size:var(--text-sm);
  line-height:1.5;
  overflow-wrap:break-word;
}
.legal-index a:hover{
  background:#F4EFEB;
  color:#1A0E17;
}
.legal-index a.is-active{
  background:#F4EFEB;
  color:#1A0E17;
  box-shadow:inset 3px 0 0 var(--primary);
  font-weight:600;
}
.legal-toc__cta{
  display:inline-flex;
  justify-content:center;
  justify-self:start;
  width:auto;
  margin-top:var(--space-4);
}
.legal-toc__note{
  margin-top:var(--space-3);
  font-size:var(--text-xs);
  color:#655761;
}
.legal-doc{
  min-width:0;
  padding:var(--card-padding);
  border-radius:var(--r-m);
  background:#FFFFFF;
  color:#33252F;
}
.legal-section{
  scroll-margin-top:calc(var(--legal-header-size) + var(--space-4));
}
.legal-section+.legal-section{
  margin-top:var(--space-7);
}
.legal-section h2{
  margin-bottom:var(--space-3);
  font-size:var(--text-reading);
  line-height:var(--lh-card);
  color:#1A0E17;
}
.legal-section p{
  font-size:var(--text-base);
  line-height:var(--lh-body);
  color:#33252F;
  overflow-wrap:break-word;
}
.legal-section p+p{
  margin-top:var(--space-3);
}
.legal-text-link{
  color:#8E1592;
  text-decoration:underline;
  overflow-wrap:anywhere;
}
.legal-text-link:hover{
  text-decoration-thickness:2px;
}
.legal-doc__actions{
  justify-content:flex-start;
  margin-top:var(--space-4);
}
@media(max-width:64rem){
  .legal-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .legal-toc{
    position:static;
  }
}
@media(max-width:42rem){
  .legal-hero{
    padding-block:var(--space-6);
  }
  .legal-layout{
    gap:var(--space-4);
    padding-top:var(--space-7);
  }
  .legal-doc__actions>.c-btn{
    width:100%;
  }
}
@media print{
  .legal-toc,
  .legal-doc__actions{
    display:none;
  }
  .legal-layout{
    display:block;
  }
  .legal-doc{
    padding:0;
  }
}
