/* Terms page - sticky TOC + numbered article sections. */
.terms-layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 1024px) { .terms-layout { grid-template-columns: 4fr 8fr; gap: 3rem; } }

.terms-toc { position: relative; }
/* Sticky lives on the INNER card, not the outer grid item itself.
   The outer .terms-toc stretches to match the content column's full
   height (grid default align-items:stretch), which gives sticky room
   to operate; applying sticky directly to that stretched outer element
   caused inconsistent behaviour (empty space, premature unstick), so
   it goes on the naturally content-sized inner card instead - the
   standard, reliable pattern for sticky sidebars in CSS Grid. */
.terms-toc__card { border: 1px solid var(--hcw-line); background: var(--hcw-panel); padding: 1.5rem; }
@media (min-width: 1024px) { .terms-toc__card { position: sticky; top: calc(var(--nav-h) + 1.5rem); } }
.terms-toc__card ol { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.terms-toc__card a { color: rgba(255,255,255,0.65); font-size: 14px; text-decoration: none; transition: color .2s ease; }
.terms-toc__card a:hover { color: var(--hcw-green); }

.terms-content { color: rgba(255,255,255,0.75); font-size: 16px; line-height: 1.75; }
.terms-article { border-top: 1px solid var(--hcw-line); padding-top: 3rem; margin-top: 3rem; scroll-margin-top: calc(var(--nav-h) + 1.5rem); }
.terms-article--first { border-top: none; padding-top: 0; margin-top: 0; }
.terms-article__num { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: 0.28em; color: var(--hcw-green); }
.terms-article h2 {
	font-family: "Cabinet Grotesk", sans-serif; font-weight: 800; color: #fff;
	font-size: clamp(1.4rem, 3vw, 1.8rem); line-height: 1.2; margin: 0.75rem 0 1rem;
}
.terms-article p { margin: 0 0 1rem; }
.terms-article p strong { color: #fff; }
.terms-article__list { list-style: disc; padding-left: 1.5rem; margin: 0.5rem 0 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
