/* 02 terms body: sticky contents + clauses */
.terms-v3-page .terms-v3-terms-body{width:100%;max-width:min(1280px,92vw);margin:0 auto;padding:0 clamp(20px,2vw,24px) clamp(40px,6vh,80px)}
.terms-v3-page .terms-v3-terms-body .terms-v3-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc::-webkit-scrollbar{width:6px}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc::-webkit-scrollbar-track{background:transparent}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-head{font-size:12.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-nav{display:flex;flex-direction:column}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link{position:relative;display:flex;gap:10px;padding:7px 0 7px 14px;font-size:15px;line-height:1.4;color:var(--text-muted);border-left:2px solid var(--border-subtle);transition:color 240ms var(--ease-standard),border-color 240ms var(--ease-standard)}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link:hover{color:var(--text-strong)}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-num{flex:none;min-width:22px;color:var(--text-faint)}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link[data-active]{color:var(--text-strong);font-weight:600;border-left-color:var(--blue-30)}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link[data-active] .terms-v3-toc-num{color:var(--blue-30)}
.terms-v3-page .terms-v3-terms-body .terms-v3-article{min-width:0;overflow-wrap:anywhere}
.terms-v3-page .terms-v3-terms-body .terms-v3-clause-section{scroll-margin-top:110px;padding:clamp(28px,3vw,40px) 0 4px;border-top:1px solid var(--border-subtle);break-inside:avoid}
.terms-v3-page .terms-v3-terms-body .terms-v3-h2{display:flex;gap:14px;margin:0 0 18px;font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:400;line-height:1.2;letter-spacing:-0.015em;color:var(--text-strong)}
.terms-v3-page .terms-v3-terms-body .terms-v3-h2-num{flex:none;color:var(--blue-30);font-weight:300}
.terms-v3-page .terms-v3-terms-body .terms-v3-p{margin:0 0 16px;font-size:clamp(1rem,1.08vw,1.06rem);line-height:1.75;color:var(--text-body);text-wrap:pretty}
.terms-v3-page .terms-v3-terms-body .terms-v3-clause{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0 0 16px;padding:16px 18px;border-radius:12px;background:var(--glass-fill);border:1px solid var(--border-subtle);break-inside:avoid}
.terms-v3-page .terms-v3-terms-body .terms-v3-clause-label{font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue-30);line-height:1.7}
.terms-v3-page .terms-v3-terms-body .terms-v3-clause-title{font-size:1.02rem;font-weight:600;color:var(--text-strong);line-height:1.5}
.terms-v3-page .terms-v3-terms-body .terms-v3-clause-text{margin:4px 0 0;font-size:clamp(0.98rem,1.04vw,1.02rem);line-height:1.7;color:var(--text-body)}
.terms-v3-page .terms-v3-terms-body .terms-v3-link{color:var(--blue-30);text-decoration:underline;text-underline-offset:3px}
.terms-v3-page .terms-v3-terms-body .terms-v3-also{margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.terms-v3-page .terms-v3-terms-body .terms-v3-also-label{font-size:13px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-faint);margin-right:6px}
.terms-v3-page .terms-v3-terms-body .terms-v3-also-link{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--border-default);font-size:14px;font-weight:500;color:var(--text-body);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
.terms-v3-page .terms-v3-terms-body .terms-v3-also-link:hover{background:var(--glass-fill);color:var(--text-strong)}
/* tablet + phone: slim sticky number rail on the left, content on the right */
@media (max-width:900px){
.terms-v3-page .terms-v3-terms-body .terms-v3-grid{grid-template-columns:34px minmax(0,1fr);gap:14px}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc{top:88px;max-height:calc(100vh - 108px);padding:0}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-head{display:none}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-nav{height:calc(100vh - 120px);justify-content:space-between;border-left:2px solid var(--border-subtle)}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link{padding:6px 0 6px 10px;font-size:13px;gap:0;margin-left:-2px;border-left:2px solid transparent}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link > span:last-child{display:none}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-num{min-width:0}
.terms-v3-page .terms-v3-terms-body .terms-v3-toc-link[data-active]{border-left-color:var(--blue-30)}
}
