.terms-page{
  background:var(--hx-surface)
}

.legal-hero{
  border-bottom:1px solid var(--hx-line);
  background:var(--hx-primary-soft)
}

.legal-hero__content{
  max-width:var(--hx-container-narrow);
  padding-top:var(--hx-space-4)
}

.legal-hero__lead{
  max-width:43rem;
  margin-bottom:var(--hx-space-3);
  color:var(--hx-text);
  font-size:var(--hx-text-lg)
}

.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--hx-space-2);
  color:var(--hx-muted);
  font-size:var(--hx-text-sm)
}

.legal-section{
  padding-top:var(--hx-space-6)
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);
  align-items:start;
  gap:var(--hx-space-4)
}

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

.legal-rail{
  position:sticky;
  top:calc(var(--hx-header-height) + var(--hx-space-3));
  display:grid;
  gap:var(--hx-space-3)
}

.legal-toc{
  padding:var(--hx-space-3);
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-md);
  background:var(--hx-surface)
}

.legal-toc strong{
  display:block;
  margin-bottom:var(--hx-space-2);
  color:var(--hx-ink);
  font-family:var(--hx-font-heading)
}

.legal-toc ol{
  display:grid;
  gap:.7rem;
  margin:0;
  padding-left:1.25rem;
  color:var(--hx-muted);
  font-size:var(--hx-text-sm)
}

.legal-toc a{
  overflow-wrap:anywhere;
  transition:color .2s
}

.legal-toc a:hover{
  color:var(--hx-primary-hover)
}

.legal-contact{
  align-items:flex-start
}

.legal-contact svg{
  flex:0 0 auto;
  width:1.4rem;
  height:1.4rem;
  margin-top:.15rem;
  color:var(--hx-primary-hover)
}

.legal-contact p{
  margin:.45rem 0 .65rem;
  font-size:var(--hx-text-sm);
  overflow-wrap:anywhere
}

.legal-contact a:not(.c-btn){
  overflow-wrap:anywhere
}

.legal-inline-link{
  color:var(--hx-primary-hover);
  font-size:var(--hx-text-sm);
  font-weight:750
}

.legal-content{
  display:grid;
  gap:var(--hx-space-3)
}

.legal-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--hx-space-3);
  padding:var(--hx-space-4);
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-lg);
  background:var(--hx-surface)
}

.legal-card>*{
  min-width:0
}

.legal-card__number{
  display:grid;
  width:2.6rem;
  height:2.6rem;
  place-items:center;
  border:1px solid var(--hx-accent);
  border-radius:var(--hx-radius-pill);
  background:var(--hx-primary-soft);
  color:var(--hx-primary-hover);
  font-size:var(--hx-text-xs);
  font-weight:750
}

.legal-card__body{
  min-width:0
}

.legal-card__body h2{
  margin-bottom:var(--hx-space-3)
}

.legal-card__body h3{
  margin-top:var(--hx-space-4);
  margin-bottom:var(--hx-space-2)
}

.legal-card__body p{
  max-width:50rem;
  margin-bottom:var(--hx-space-2);
  color:var(--hx-text);
  line-height:1.72
}

.legal-card__body a:not(.c-btn){
  color:var(--hx-primary-hover);
  font-weight:700;
  overflow-wrap:anywhere
}

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

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

.legal-definitions dt{
  margin-bottom:var(--hx-space-1);
  color:var(--hx-ink);
  font-weight:750
}

.legal-definitions dd{
  margin:0;
  color:var(--hx-text);
  line-height:1.68
}

.legal-list{
  display:grid;
  gap:.65rem;
  margin:0 0 var(--hx-space-3);
  padding-left:1.25rem;
  color:var(--hx-text)
}

.legal-list li{
  padding-left:.35rem;
  line-height:1.68
}

.legal-list li::marker{
  color:var(--hx-primary)
}

.legal-list--blocked li::marker{
  color:var(--hx-danger)
}

.legal-note{
  margin-top:var(--hx-space-3);
  padding:var(--hx-space-3);
  border-left:3px solid var(--hx-primary);
  border-radius:0 var(--hx-radius-sm) var(--hx-radius-sm) 0;
  background:var(--hx-primary-soft)
}

.legal-note strong{
  display:block;
  margin-bottom:var(--hx-space-1);
  color:var(--hx-ink)
}

.legal-note p{
  margin-bottom:0
}

.legal-plan-table{
  min-width:44rem
}

.legal-plan-table caption{
  padding:var(--hx-space-2);
  color:var(--hx-text);
  font-weight:750;
  text-align:left
}

.legal-sla{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:var(--hx-space-3);
  margin-bottom:var(--hx-space-3);
  padding:var(--hx-space-3);
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-md);
  background:var(--hx-dark)
}

.legal-sla div{
  min-width:0;
  padding-right:var(--hx-space-3);
  border-right:1px solid rgba(255,255,255,.16)
}

.legal-sla span{
  display:block;
  color:var(--hx-accent);
  font-size:var(--hx-text-xs);
  font-weight:750;
  letter-spacing:.08em
}

.legal-sla strong{
  display:block;
  margin-top:var(--hx-space-1);
  color:var(--hx-surface);
  font-size:clamp(2.6rem,6vw,4.5rem);
  line-height:1
}

.legal-sla p{
  margin-bottom:0;
  color:#E9DCE3
}

.legal-actions{
  margin-top:var(--hx-space-3)
}

.terms-page .page-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--hx-space-4);
  padding:var(--hx-space-4);
  border:1px solid #F0C9DF;
  border-radius:var(--hx-radius-lg);
  background:var(--hx-primary-soft)
}

.terms-page .page-cta>*{
  min-width:0
}

.terms-page .page-cta h2{
  margin-bottom:var(--hx-space-2)
}

.terms-page .page-cta p{
  max-width:44rem;
  margin-bottom:0;
  color:var(--hx-text)
}

.terms-page .page-cta .hx-eyebrow{
  margin-bottom:var(--hx-space-2)
}

@media(max-width:900px){
  .legal-layout{
    grid-template-columns:1fr
  }

  .legal-rail{
    position:static
  }

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

  .legal-contact{
    max-width:100%
  }

  .terms-page .page-cta{
    grid-template-columns:1fr
  }
}

@media(max-width:640px){
  .legal-hero__lead{
    font-size:var(--hx-text-md)
  }

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

  .legal-card{
    grid-template-columns:1fr;
    padding:var(--hx-space-3)
  }

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

  .legal-sla{
    grid-template-columns:1fr
  }

  .legal-sla div{
    padding-right:0;
    padding-bottom:var(--hx-space-3);
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16)
  }

  .legal-actions,
  .terms-page .page-cta .hx-cluster{
    align-items:stretch
  }

  .legal-actions .c-btn,
  .terms-page .page-cta .c-btn{
    width:100%;
    white-space:normal
  }

  .terms-page .page-cta{
    padding:var(--hx-space-3)
  }
}
