.hero--legal .hero__panel{
  max-width: 800px;
}

.legal-container{
  max-width: 880px;
}

.legal-heading{
  margin-bottom: var(--space-4);
}

.legal-toc{
  margin-top: var(--space-8);
  margin-bottom: var(--space-8);
  padding: var(--space-6);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(242,248,244,0.98));
  box-shadow: var(--shadow-soft);
}

.legal-toc__list{
  counter-reset: toc;
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.legal-toc__list li{
  counter-increment: toc;
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.legal-toc__list li a::before{
  content: counter(toc) ". ";
}

.legal-section{
  padding-top: var(--space-8);
  border-top: 1px solid rgba(209,213,219,0.6);
  margin-top: var(--space-8);
}

.legal-list{
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.legal-list li{
  color: var(--color-text-soft);
  font-size: var(--font-size-md);
}

.legal-intro{
  margin-bottom: var(--space-8);
}

.legal-contact{
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
}

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

@media (max-width: 768px){
  .legal-toc{
    padding: var(--space-4);
  }

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