.legal-hero{
  padding-bottom:var(--sp-5);
  background:var(--c-light);
  color:#071e1a;
}

.legal-hero__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-1);
}

.legal-hero__copy h1{
  max-width:44rem;
  font-size:var(--fs-5);
}

.legal-hero__copy p{
  max-width:43rem;
  color:#3f625a;
}

.legal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-1);
  margin-top:var(--sp-2);
}

.legal-meta .c-badge{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
}

.legal-document{
  background:#ffffff;
  color:#071e1a;
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);
  align-items:start;
  gap:var(--sp-4);
}

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

.legal-index{
  position:sticky;
  top:7.5rem;
}

.legal-index__inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-1);
  border-radius:var(--r-md);
  padding:var(--sp-3);
  background:#062d27;
  color:#ffffff;
}

.legal-index__inner .c-kicker{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  background:#174d44;
  color:#c9f9e6;
}

.legal-index__inner h2{
  color:#ffffff;
  font-size:var(--fs-4);
}

.legal-index__inner nav{
  width:100%;
  margin-top:var(--sp-2);
}

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

.legal-index__inner li{
  min-width:0;
}

.legal-index__inner li a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:var(--sp-1);
  border-radius:var(--r-sm);
  padding:.65rem .75rem;
  color:#d9eee8;
  font-size:var(--fs-1);
  line-height:1.35;
}

.legal-index__inner li a:hover{
  background:#174d44;
  color:#ffffff;
}

.legal-index__inner li span{
  color:#6de9c2;
  font-family:var(--font-mono);
  font-size:var(--fs-0);
  font-variant-numeric:tabular-nums;
}

.legal-index__inner p{
  margin-top:var(--sp-2);
  color:#b0ccc5;
  font-size:var(--fs-1);
}

.legal-index__inner .c-btn{
  margin-top:var(--sp-2);
}

.legal-content{
  display:grid;
  gap:var(--sp-4);
  min-width:0;
}

.legal-sheet{
  display:grid;
  gap:var(--sp-4);
  min-width:0;
  border-radius:var(--r-lg);
  padding:clamp(1.5rem,4vw,2.5rem);
  background:#ffffff;
  color:#071e1a;
  box-shadow:var(--shadow-soft);
}

.legal-sheet--mint{
  background:#f0fff8;
  color:#071e1a;
  box-shadow:none;
}

.legal-clause{
  display:grid;
  gap:var(--sp-1);
  min-width:0;
  scroll-margin-top:8rem;
}

.legal-clause+.legal-clause{
  border-top:1px solid rgba(7,30,26,.12);
  padding-top:var(--sp-4);
}

.legal-clause__head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--sp-1);
  margin-bottom:var(--sp-1);
}

.legal-clause__head h2{
  font-size:clamp(1.8rem,4vw,3rem);
}

.legal-clause__number{
  display:inline-flex;
  width:2.5rem;
  height:2.5rem;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  border-radius:var(--r-sm);
  background:#062d27;
  color:#ffffff;
  font-family:var(--font-mono);
  font-size:var(--fs-1);
  font-weight:700;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.legal-clause p{
  color:#385951;
}

.legal-clause a:not(.c-btn){
  color:#007c43;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}

.legal-list{
  display:grid;
  gap:var(--sp-1);
  margin:var(--sp-1) 0 0;
  padding-left:1.3rem;
  color:#385951;
}

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

.legal-table{
  min-width:43rem;
}

.legal-table caption{
  padding:var(--sp-2) var(--sp-3);
  background:#062d27;
  color:#ffffff;
  font-family:var(--font-heading);
  font-size:var(--fs-3);
  font-weight:700;
  line-height:1.35;
  text-align:left;
}

.legal-table td,
.legal-table th{
  overflow-wrap:anywhere;
}

.legal-table td small{
  display:block;
  margin-top:var(--sp-1);
  color:#56716b;
  font-family:var(--font-mono);
}

.legal-callout{
  display:grid;
  gap:var(--sp-1);
  margin-top:var(--sp-2);
  border-radius:var(--r-md);
  padding:var(--sp-3);
  background:#ddf9ec;
  color:#071e1a;
}

.legal-callout strong{
  font-family:var(--font-heading);
  font-size:var(--fs-3);
}

.legal-callout p{
  color:#385951;
}

.legal-metric{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:var(--sp-2);
  margin-block:var(--sp-2);
}

.legal-metric>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-1);
  border-radius:var(--r-md);
  padding:var(--sp-3);
  background:#062d27;
  color:#ffffff;
}

.legal-metric>div+div{
  background:#ddf9ec;
  color:#071e1a;
}

.legal-metric strong{
  overflow-wrap:anywhere;
  font-family:var(--font-heading);
  font-size:clamp(1.45rem,5cqi,2.5rem);
  line-height:1.05;
}

.legal-metric span{
  color:#b0ccc5;
  font-size:var(--fs-1);
}

.legal-metric>div+div span{
  color:#45665e;
}

.legal-check-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));
  align-items:start;
  gap:var(--sp-2);
  margin-top:var(--sp-2);
}

.legal-check-grid>div{
  display:grid;
  gap:var(--sp-1);
  min-width:0;
  border-radius:var(--r-md);
  padding:var(--sp-3);
  background:#ddf9ec;
  color:#071e1a;
}

.legal-check-grid strong{
  font-family:var(--font-heading);
  font-size:var(--fs-3);
}

.legal-check-grid p{
  color:#385951;
}

.legal-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--sp-3);
  border-radius:var(--r-lg);
  padding:clamp(1.5rem,4vw,2.5rem);
  background:#dffbf8;
  color:#071e1a;
}

.legal-contact>div{
  min-width:0;
}

.legal-contact>div:first-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-1);
}

.legal-contact .c-kicker{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
}

.legal-contact h2{
  font-size:var(--fs-4);
}

.legal-contact p{
  max-width:44rem;
  color:#385951;
}

.legal-contact__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--sp-1);
}

.legal-contact__actions .c-btn{
  width:100%;
}

.legal-closing{
  background:#ffffff;
  color:#071e1a;
}

.legal-closing .c-cta{
  padding:clamp(1.5rem,4vw,2.5rem);
  background:#062d27;
  color:#ffffff;
}

.legal-closing__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--sp-1);
}

.legal-closing__copy .c-kicker{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  background:#174d44;
  color:#c9f9e6;
}

.legal-closing__copy h2{
  color:#ffffff;
}

.legal-closing__copy p{
  max-width:42rem;
  color:#b6d1ca;
}

.legal-closing .c-cta__actions{
  min-width:min(100%,13rem);
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
}

.legal-closing .c-cta__actions .c-btn{
  width:100%;
}

.legal-closing .c-btn--ghost{
  color:#ffffff;
  border-color:rgba(255,255,255,.42);
}

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

  .legal-index{
    position:static;
  }

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

  .legal-index__inner .c-btn{
    width:auto;
  }

  .legal-contact{
    grid-template-columns:1fr;
    align-items:start;
  }

  .legal-contact__actions{
    width:min(100%,25rem);
  }
}

@media(max-width:42rem){
  .legal-hero{
    padding-bottom:var(--sp-4);
  }

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

  .legal-sheet{
    border-radius:var(--r-md);
  }

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

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

  .legal-contact__actions{
    width:100%;
  }

  .legal-contact__actions .c-btn,
  .legal-closing .c-cta__actions .c-btn{
    white-space:normal;
  }
}

@media(max-width:24.375rem){
  .legal-meta{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
  }

  .legal-index__inner,
  .legal-sheet,
  .legal-contact{
    padding:var(--sp-2);
  }

  .legal-clause__number{
    width:2.25rem;
    height:2.25rem;
  }
}
