/* Terms page styles — matches brand dark theme */

.page-hero { padding: 3.5rem 0 1.25rem; background:#000; text-align:center; }
.page-hero h1 { font-size: 2.25rem; font-weight: 800; margin-bottom: .5rem; color:#fff; }
.page-hero .lead { color:#b8b8b8; max-width: 860px; margin:0 auto; }
.page-hero .meta { color:#7f7f7f; margin-top:.5rem; }

.tos { background:#000; padding: 1rem 0 4rem; }
.tos .container { display:grid; grid-template-columns: 280px minmax(0,1fr); gap: 2rem; max-width:1200px; margin:0 auto; padding:0 2rem; }

/* Table of contents */
.toc { position: sticky; top: 88px; align-self: start; background:#0e0e0e; border:1px solid #1f1f1f; border-radius: 16px; padding: 1rem; }
.toc .h2 { font-size: 1rem; font-weight:800; margin-bottom:.5rem; color:#fff; }
.toc ol { list-style: decimal; padding-left: 1rem; color:#cfcfcf; }
.toc a { color:#00ff88; text-decoration:none; }
.toc a:hover { color:#00cc44; }

/* Sections */
.section { background:#0e0e0e; border:1px solid #1f1f1f; border-radius: 16px; padding: 1.75rem 2rem; margin-bottom: 1.5rem; }
.section h2 { font-size: 1.25rem; font-weight:800; margin-bottom:.5rem; color:#fff; }
.section h3 { font-size: 1rem; font-weight:700; margin:.5rem 0 .25rem; color:#fff; }
.section p { color:#cfcfcf; line-height:1.6; }
.list { margin:.5rem 0 .75rem 1.25rem; color:#cfcfcf; }
.list li { margin:.25rem 0; }

/* Responsive */
@media (max-width: 1200px){ .tos .container{ padding:0 1.5rem; } }
@media (max-width: 1024px){ .tos .container{ grid-template-columns: 1fr; } .toc{ position: static; margin-bottom:1.5rem; } }
@media (max-width: 640px){ .page-hero h1{ font-size: 1.75rem; } .tos .container{ padding:0 1rem; } }
