.legal-doc-title{font-size:var(--type-page)}.legal-doc-shell{padding:32px clamp(16px,4vw,48px)}.legal-mobile-toc{display:none}.legal-layout{grid-template-columns:minmax(0,820px) 280px;align-items:start;gap:clamp(32px,5vw,80px);display:grid}.legal-main{min-width:0}.legal-aside-toc{top:calc(var(--hh) + 24px);max-height:calc(100dvh - var(--hh) - 48px);border-left:1px solid var(--border);flex-direction:column;padding-left:16px;display:flex;position:sticky;overflow-y:auto}.legal-aside-title{color:var(--t3);font-size:var(--type-caption);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-weight:700}.legal-aside-toc a{color:var(--t2);font-size:var(--type-caption);transition:var(--ease);padding:7px 0;line-height:1.4}.legal-aside-toc a:hover{color:var(--t1)}@media (max-width:1099px){.legal-layout{grid-template-columns:minmax(0,1fr)}.legal-aside-toc{display:none}}.legal-section{scroll-margin-top:calc(var(--hh) + 16px)}@media (max-width:640px){.legal-doc-shell{padding:24px 16px}.legal-mobile-toc{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);margin:-8px 0 28px;display:block;overflow:hidden}.legal-mobile-toc summary{cursor:pointer;min-height:44px;color:var(--t1);justify-content:space-between;align-items:center;padding:0 14px;font-weight:800;display:flex}.legal-mobile-toc summary:after{content:"⌄";color:var(--purple-text);font-size:18px}.legal-mobile-toc[open] summary:after{transform:rotate(180deg)}.legal-mobile-toc>nav{border-top:1px solid var(--border);flex-direction:column;padding:4px 8px 10px;display:none}.legal-mobile-toc[open]>nav{display:flex}.legal-mobile-toc a{min-height:44px;color:var(--t2);font-size:var(--type-caption);align-items:center;padding:8px;line-height:1.35;display:flex}.legal-table-wrap{overflow-x:visible}.legal-table{display:block;border:0!important}.legal-table thead{display:none}.legal-table tbody,.legal-table tr,.legal-table td{box-sizing:border-box;width:100%;display:block}.legal-table tr{border-radius:var(--r-md);background:var(--bg-card);margin-bottom:10px;overflow:hidden;border:1px solid var(--border)!important}.legal-table td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:10px 12px!important}.legal-table td:last-child{border-bottom:0}.legal-table td:before{content:attr(data-label);color:var(--t3);font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-weight:800;line-height:1.3;display:block}}
