.legal-hero{
  padding-block:var(--space-4);
  background:#F3F1EC;
  color:#24211E;
  --legal-muted:#6F685F;
  --legal-line:rgba(36,33,30,.12);
}

.legal-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:fit-content;
  min-height:1.75rem;
  margin:0 0 var(--space-2);
  padding:.4em .9em;
  border-radius:var(--radius-pill);
  background:#2E2C33;
  color:#F4F2EE;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  line-height:1;
  letter-spacing:.04em;
}

.legal-hero__kicker::before{
  content:"";
  width:.375rem;
  height:.375rem;
  flex:none;
  border-radius:50%;
  background:#FFD84D;
}

.legal-hero__title{
  max-width:18ch;
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.2;
  color:#24211E;
}

.legal-hero__lead{
  max-width:46rem;
  margin-top:var(--space-2);
  color:#4A453F;
  overflow-wrap:break-word;
}

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

.legal-pill{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:999px;
  background:#FFFFFF;
  color:#24211E;
  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);
  align-items:start;
  gap:var(--space-5);
  padding-block:var(--space-5) var(--space-6);
}

.legal-layout>*{
  min-width:0;
}

.legal-toc{
  position:sticky;
  top:calc(4rem + var(--space-2));
  z-index:1;
  align-self:start;
  padding:var(--space-3);
  border-radius:var(--radius-card);
  background:#F3F1EC;
  color:#24211E;
  --legal-muted:#6F685F;
  --legal-line:rgba(36,33,30,.12);
}

.legal-toc__heading{
  margin-bottom:var(--space-2);
  color:#6F685F;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:.04em;
}

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

.legal-index li{
  min-width:0;
  line-height:1.4;
}

.legal-index a{
  display:block;
  min-width:0;
  padding:.45rem .75rem;
  border-radius:var(--radius-sm);
  color:#4A453F;
  font-size:var(--text-sm);
  line-height:1.4;
  overflow-wrap:break-word;
  transition:background .2s ease,color .2s ease;
}

.legal-index a:hover,
.legal-index a:focus-visible{
  background:#E4EBE8;
  color:#1F2D28;
}

.legal-index a.is-active{
  background:#E4EBE8;
  color:#1F2D28;
  font-weight:700;
}

.legal-toc__cta{
  display:inline-flex;
  width:auto;
  max-width:100%;
  margin-top:var(--space-3);
  background:#FFFFFF;
  color:#24211E;
  border-color:color-mix(in srgb,currentColor 35%,transparent);
}

.legal-doc{
  min-width:0;
  max-width:48rem;
  color:#24211E;
}

.legal-section{
  scroll-margin-top:6rem;
}

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

.legal-section h2{
  margin-bottom:var(--space-3);
  color:#24211E;
  font-size:var(--text-lg);
  line-height:1.35;
}

.legal-section p{
  color:#4A453F;
  line-height:1.7;
  overflow-wrap:break-word;
}

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

.legal-section a:not(.c-btn){
  color:#884800;
  text-decoration:underline;
  text-underline-offset:.18em;
}

.legal-section a[href^="mailto:"]{
  overflow-wrap:anywhere;
}

.legal-close{
  padding-block:var(--space-5) var(--space-5);
}

.legal-close__card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(13rem,auto);
  align-items:center;
  gap:var(--space-4);
  padding:var(--space-4);
  border-radius:var(--radius-cover);
  background:#2E2C33;
  color:#F4F2EE;
  --legal-muted:#ADA8B2;
  --legal-line:rgba(244,242,238,.12);
}

.legal-close__copy{
  min-width:0;
}

.legal-close__eyebrow{
  margin-bottom:var(--space-2);
  color:#FFD84D;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  font-weight:600;
}

.legal-close__copy h2{
  color:#F4F2EE;
  font-size:clamp(1.65rem,2.5vw,2.5rem);
  line-height:1.2;
}

.legal-close__copy>p:last-child{
  max-width:35rem;
  margin-top:var(--space-2);
  color:#D8D3DC;
}

.legal-close__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-2);
  min-width:0;
}

.legal-close__actions .c-btn{
  width:100%;
  white-space:normal;
}

.legal-close__actions .c-btn--light{
  background:transparent;
  color:#F4F2EE;
  border-color:color-mix(in srgb,currentColor 45%,transparent);
}

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

  .legal-toc{
    position:static;
  }

  .legal-index{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

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

  .legal-layout{
    padding-block:var(--space-4);
  }

  .legal-index{
    grid-template-columns:minmax(0,1fr);
  }

  .legal-close__card{
    grid-template-columns:minmax(0,1fr);
    padding:var(--space-3);
  }
}

@media(prefers-reduced-motion:reduce){
  .legal-index a{
    transition:none;
  }
}
