.terms-main { max-width: 820px; margin: 40px auto 64px; }
.terms-intro { margin-bottom: 28px; }
.terms-intro .eyebrow { margin-bottom: 12px; }
.terms-intro h1 { font-size: clamp(28px, 5vw, 38px); line-height: 1.25; letter-spacing: -1px; margin: 0 0 14px; }
.terms-updated { color: var(--muted-color); font-size: 13px; margin: 0 0 20px; }
.terms-main p,.terms-main li { font-size: 15px; line-height: 1.85; }
.terms-main p { margin: 0 0 14px; }
.terms-main a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.terms-toc { display: block; padding: 20px; margin-bottom: 32px; border: 1px solid var(--border-color); border-radius: 16px; background: var(--surface-bg); }
.terms-toc h2 { margin: 0 0 12px; font-size: 16px; }
.terms-toc ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; list-style: none; margin: 0; padding: 0; }
.terms-toc a { display: flex; align-items: center; min-height: 44px; font-size: 13px; text-decoration: none; }
.terms-toc a:hover { text-decoration: underline; }
.terms-section { padding: 0 0 22px; margin-bottom: 26px; border-bottom: 1px solid var(--border-color); }
.terms-section h2 { margin: 0 0 14px; font-size: 20px; line-height: 1.5; letter-spacing: -.35px; }
.terms-section ul { padding-left: 22px; margin: 0 0 14px; }
.terms-section li+li { margin-top: 8px; }
.terms-section .terms-source { color: var(--muted-color); font-size: 13px; }
.terms-main .terms-back { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; }
@media(max-width:600px) { .terms-main { margin-top: 28px; margin-bottom: 40px; } .terms-toc ol { grid-template-columns: 1fr; } .terms-main p,.terms-main li { font-size: 14px; } .terms-section h2 { font-size: 18px; } }
