/* Terms & Conditions page-specific styles (lean; relies on base.css variables) */
.legal-hero {
  padding-block: var(--space-16) var(--space-10);
  background: radial-gradient(120% 100% at 30% -20%, rgba(121,197,150,0.06), transparent 60%),
              radial-gradient(100% 80% at 90% 120%, rgba(0,0,0,0.5), transparent 60%);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.legal-hero__lead { color: var(--color-text-muted); max-width: 70ch; }
.legal-hero__meta { color: var(--gray-300); font-size: var(--fs-200); margin-top: var(--space-2); }

/* Layout */
.terms-layout { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-block: var(--space-10) var(--space-16); }
@media (min-width: 992px) {
  .terms-layout { grid-template-columns: minmax(240px, 300px) 1fr; align-items: start; }
}

/* TOC */
.terms-toc { position: sticky; top: var(--space-8); }
.terms-toc__title { font-size: var(--fs-500); margin-bottom: var(--space-3); }
.terms-toc__list { display: grid; gap: var(--space-2); }
.terms-toc a { display: block; padding: var(--space-2) var(--space-3); border-radius: var(--radius-s); color: var(--color-text); text-decoration: none; border: 1px solid rgba(255,255,255,0.04); background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)); }
.terms-toc a:hover { color: var(--color-primary); border-color: color-mix(in oklab, var(--color-primary) 35%, rgba(255,255,255,0.06)); }
.terms-toc a[aria-current="true"] { border-color: color-mix(in oklab, var(--color-primary) 55%, rgba(255,255,255,0.08)); box-shadow: inset 0 0 0 1px rgba(121,197,150,0.25); }

/* Content */
.terms-content { display: grid; gap: var(--space-6); }
.terms-content .card { scroll-margin-top: 96px; }

/* Improve anchor target visibility */
:target { outline: 2px solid var(--color-primary); outline-offset: 4px; }
