/* Terms & Conditions page-specific styles (kept lean; leveraging base.css) */
.legal-hero { 
  margin-block: var(--space-9) var(--space-7);
  padding: var(--space-9) var(--space-7);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.legal-hero .lead { color: var(--gray-700); max-width: var(--measure); }
.legal-hero .meta { color: var(--gray-700); font-size: var(--fs-sm); }

.toc { margin-block: var(--space-6); }
.toc ol { margin: 0; padding-left: 1.25rem; display: grid; gap: var(--space-2); }
.toc a { font-weight: 600; }

.legal-content { margin-block: var(--space-6) var(--space-10); }
.legal-section { position: relative; }
.legal-section + .legal-section { margin-top: var(--space-7); }

/* Anchor link helper injected by JS */
.anchor-link { color: var(--gray-700); text-decoration: none; margin-left: 0.5ch; font-size: 0.9em; visibility: hidden; }
.legal-section h2:hover .anchor-link, .legal-section h2:focus-within .anchor-link { visibility: visible; }
.anchor-link:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; border-radius: 2px; }

/* Minor refinement for lists inside legal cards */
.legal-section ul { margin-top: var(--space-3); }
.legal-section li { margin-block: 0.4em; }
