.wrap { max-width: 1100px; }

/* Hero */
#hero { padding:calc(var(--nav-h) + var(--promo-h) + 72px) 0 64px; text-align:center; position:relative; overflow:hidden; }
.hero-meta { display:inline-flex; align-items:center; gap:8px; margin-top:24px; font-size:14px; color:var(--text-3); background:rgba(255,255,255,.04); border:1px solid var(--border-1); border-radius:100px; padding:6px 14px; }

/* Legal layout */
#legal-section { padding:64px 0 calc(var(--section) + 64px); }
.legal-wrap { max-width:1100px; margin:0 auto; padding:0 24px; }
.legal-layout { display:grid; grid-template-columns:240px 1fr; gap:64px; }
@media(max-width:900px) { .legal-layout { grid-template-columns:1fr; } }

/* TOC sidebar */
.legal-toc { position:sticky; top:calc(var(--promo-h) + var(--nav-h) + 24px); align-self:start; display:flex; flex-direction:column; gap:4px; z-index:1; }
@media(max-width:900px) { .legal-toc { display:none; } }
.toc-title { font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); padding:0 12px 12px; display:block; }
.toc-item { display:block; font-size:14px; color:var(--text-3); text-decoration:none; padding:7px 12px; border-radius:var(--r1); transition:color .15s, background .15s; line-height:1.4; }
.toc-item:hover { color:var(--text-2); background:rgba(255,255,255,.04); }
.toc-item.active { color:var(--text-1); background:rgba(255,255,255,.06); }

/* Legal content */
.legal-content { display:flex; flex-direction:column; gap:48px; padding-bottom:160px; }
.legal-intro { background:var(--bg-1); border:1px solid var(--border-1); border-radius:var(--r2); padding:28px; }
.legal-intro p { font-size:15px; line-height:1.75; color:var(--text-2); }
.legal-section { scroll-margin-top:calc(var(--promo-h) + var(--nav-h) + 32px); }
.legal-section-header { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.section-num { width:32px; height:32px; border-radius:8px; background:rgba(255,202,27,.08); border:1px solid rgba(255,202,27,.18); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; color:var(--accent); flex-shrink:0; }
.legal-section h3 { font-size:20px; font-weight:500; color:var(--text-1); letter-spacing:-.018em; }
.legal-section .section-body { display:flex; flex-direction:column; gap:16px; }
.legal-section p { font-size:15px; line-height:1.75; color:var(--text-2); }
.legal-section .clause { display:flex; gap:14px; padding:16px 20px; background:rgba(255,255,255,.025); border:1px solid var(--border-0); border-radius:var(--r1); }
.clause-num { font-size:13px; font-weight:600; color:var(--text-3); min-width:28px; padding-top:2px; flex-shrink:0; }
.clause p { font-size:15px; line-height:1.75; color:var(--text-2); }
