.legal-hero{
  min-height:0;
  padding:5rem 0 2.2rem;
  border-bottom:1px solid var(--mr-line-purple);
  background:
    radial-gradient(circle at 82% 28%,rgba(183,255,42,.09),transparent 22rem),
    linear-gradient(145deg,var(--mr-color-surface),var(--mr-color-dark-deep));
}

.legal-hero__content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:var(--mr-container-narrow);
  margin-top:var(--mr-space-4);
}

.legal-hero__content .c-badge{
  width:fit-content;
  align-self:flex-start;
}

.legal-hero__content .c-badge + h1{
  margin-top:var(--mr-space-3);
}

.legal-hero__content .page-hero__title,
.legal-hero__content .page-hero__lead{
  margin-inline:0;
  text-align:start;
}
.legal-hero__content .page-hero__lead{
  max-width:44rem;
  margin-top:var(--mr-space-3);
}

.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--mr-space-2);
  margin-top:var(--mr-space-3);
  color:var(--mr-color-text-muted);
  font-family:var(--mr-font-mono);
  font-size:var(--mr-fs-0);
}

.legal-hero__meta span{
  min-width:0;
  padding:.4rem .65rem;
  overflow-wrap:anywhere;
  border:1px solid var(--mr-line-purple);
  border-radius:var(--mr-radius-sm);
  background:var(--mr-color-surface);
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(14rem,max-content) minmax(0,1fr);
  gap:var(--mr-space-5);
  align-items:start;
}

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

.legal-toc__panel{
  position:sticky;
  top:calc(var(--mr-header-height) + var(--mr-space-3));
  min-width:0;
  padding:var(--mr-space-3);
  border:1px solid var(--mr-line-purple);
  border-radius:var(--mr-radius-md);
  background:var(--mr-color-surface);
  box-shadow:var(--mr-shadow-sm);
}

.legal-toc h2{
  margin-bottom:var(--mr-space-2);
  font-size:var(--mr-fs-3);
  letter-spacing:0;
}

.legal-toc nav{
  display:grid;
  gap:.2rem;
}

.legal-toc nav a{
  min-width:0;
  padding:.45rem .55rem;
  color:var(--mr-color-text-muted);
  border-left:2px solid transparent;
  border-radius:var(--mr-radius-sm);
  font-size:var(--mr-fs-1);
  overflow-wrap:anywhere;
  transition:
    color var(--mr-transition-fast),
    border-color var(--mr-transition-fast),
    background-color var(--mr-transition-fast);
}

.legal-toc nav a:hover,
.legal-toc nav a:focus-visible{
  color:var(--mr-color-primary);
  border-left-color:var(--mr-color-primary);
  background:var(--mr-color-surface-raised);
}

.legal-toc__help{
  margin-top:var(--mr-space-3);
  padding-top:var(--mr-space-3);
  border-top:1px solid var(--mr-line-purple);
}

.legal-toc__help strong{
  display:block;
  margin-bottom:.5rem;
  font-size:var(--mr-fs-1);
}

.legal-toc__help p{
  margin-bottom:var(--mr-space-2);
  color:var(--mr-color-text-muted);
  font-size:var(--mr-fs-0);
}

.legal-toc__help a{
  color:var(--mr-color-primary);
  font-size:var(--mr-fs-1);
  font-weight:var(--mr-weight-bold);
}

.legal-article{
  min-width:0;
  max-width:var(--mr-container-narrow);
}

.legal-section{
  position:relative;
  min-width:0;
  scroll-margin-top:calc(var(--mr-header-height) + var(--mr-space-3));
  padding-bottom:var(--mr-space-5);
  border-bottom:1px solid var(--mr-line-purple);
}

.legal-section + .legal-section{
  padding-top:var(--mr-space-5);
}

.legal-section__index{
  display:block;
  margin-bottom:var(--mr-space-1);
  color:var(--mr-color-primary);
  font-size:var(--mr-fs-0);
  font-weight:var(--mr-weight-bold);
  letter-spacing:.08em;
}

.legal-section h2{
  margin-bottom:var(--mr-space-3);
  font-size:clamp(2rem,4vw,3rem);
}

.legal-section h3{
  margin-top:var(--mr-space-4);
  margin-bottom:var(--mr-space-2);
  font-size:var(--mr-fs-3);
  letter-spacing:-.01em;
}

.legal-section p{
  margin-bottom:var(--mr-space-3);
  color:var(--mr-color-text-muted);
  line-height:1.75;
}

.legal-section p:last-child{
  margin-bottom:0;
}

.legal-section a:not(.c-btn){
  color:var(--mr-color-primary);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
  overflow-wrap:anywhere;
}

.legal-section ul,
.legal-section ol{
  display:grid;
  gap:.7rem;
  margin:0 0 var(--mr-space-3);
  color:var(--mr-color-text-muted);
  line-height:1.7;
}

.legal-section li{
  padding-left:.25rem;
}

.legal-section li::marker{
  color:var(--mr-color-primary);
  font-family:var(--mr-font-mono);
  font-weight:var(--mr-weight-bold);
}

.legal-section .c-alert{
  margin-top:var(--mr-space-4);
}

.legal-section .c-alert strong{
  display:block;
  margin-bottom:.35rem;
  color:var(--mr-color-text);
}

.legal-section .c-alert p{
  margin-bottom:0;
}

.legal-definitions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--mr-space-2);
  margin:0 0 var(--mr-space-3);
}

.legal-definitions div{
  min-width:0;
  padding:var(--mr-space-2);
  border:1px solid var(--mr-line-purple);
  border-radius:var(--mr-radius-sm);
  background:var(--mr-color-surface);
}

.legal-definitions dt{
  margin-bottom:.4rem;
  color:var(--mr-color-accent);
  font-weight:var(--mr-weight-bold);
}

.legal-definitions dd{
  margin:0;
  color:var(--mr-color-text-muted);
  font-size:var(--mr-fs-1);
  line-height:1.65;
}

.legal-contact{
  margin-top:var(--mr-space-5);
  padding:var(--mr-space-4);
  border:1px solid var(--mr-line-strong);
  border-radius:var(--mr-radius-lg);
  background:var(--mr-color-surface-raised);
  box-shadow:var(--mr-shadow-sm);
}

.legal-contact h2{
  margin-bottom:var(--mr-space-2);
  font-size:var(--mr-fs-4);
}

.legal-contact p{
  margin-bottom:var(--mr-space-3);
  color:var(--mr-color-text-muted);
  line-height:1.75;
}

.legal-contact a:not(.c-btn){
  color:var(--mr-color-primary);
  text-decoration:underline;
  text-underline-offset:.2em;
  overflow-wrap:anywhere;
}

.legal-contact .mr-cluster{
  align-items:stretch;
}

.page-cta__content .c-badge{
  width:fit-content;
  align-self:flex-start;
}

.page-cta__content .c-badge + h2{
  margin-top:var(--mr-space-3);
}

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

  .legal-toc__panel{
    position:static;
  }

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

  .legal-article{
    max-width:none;
  }
}

@media(max-width:640px){
  .legal-hero__meta{
    display:grid;
    width:100%;
  }

  .legal-hero__meta span{
    width:100%;
  }

  .legal-toc nav{
    grid-template-columns:1fr;
  }

  .legal-section{
    padding-bottom:var(--mr-space-4);
  }

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

  .legal-definitions{
    grid-template-columns:1fr;
  }

  .legal-contact{
    padding:var(--mr-space-3);
  }

  .legal-contact .c-btn,
  .page-cta__content .c-btn{
    width:100%;
  }
}
