.ss-legal-body { background: var(--ss-page); }
.ss-legal-shell { min-height: 100vh; padding: 28px; }
.ss-legal-page-container { width: min(980px, 100%); margin-inline: auto; }
.ss-legal-page { width: min(980px, 100%); margin-inline: auto; background: #fff; border: 1px solid var(--ss-border); border-radius: 20px; box-shadow: var(--ss-shadow); }
.ss-legal-header { padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ss-border); }
.ss-legal-back { min-height: 44px; display: inline-flex; align-items: center; }
.ss-legal-hero { padding: 42px 56px 32px; background: linear-gradient(145deg, #f0f5ff, #f8faff); }
.ss-legal-hero h1 { margin: 8px 0 12px; color: var(--ss-text); font-size: clamp(31px, 4vw, 44px); }
.ss-legal-meta { display: flex; gap: 16px; flex-wrap: wrap; color: var(--ss-muted); font-size: 13px; }
.ss-legal-review-note { margin-top: 18px; padding: 12px 14px; border: 1px solid #fde68a; border-radius: 12px; background: #fffbeb; color: #92400e; font-size: 13px; }
.ss-legal-layout { padding: 34px 56px 52px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 44px; align-items: start; }
.ss-legal-toc { position: sticky; top: 24px; padding: 16px; border: 1px solid var(--ss-border); border-radius: 14px; background: #f8fafc; }
.ss-legal-toc h2 { margin: 0 0 10px; color: var(--ss-text); font-size: 16px; }
.ss-legal-toc a { min-height: 36px; display: flex; align-items: center; color: var(--ss-body); font-size: 13px; }
.ss-legal-content { min-width: 0; }
.ss-legal-section { scroll-margin-top: 24px; padding-bottom: 28px; }
.ss-legal-section + .ss-legal-section { padding-top: 28px; border-top: 1px solid var(--ss-border); }
.ss-legal-section h2 { margin: 0 0 12px; color: var(--ss-text); font-size: 24px; }
.ss-legal-section h3 { margin: 20px 0 8px; color: var(--ss-text); font-size: 17px; }
.ss-legal-section p,
.ss-legal-section li { color: var(--ss-body); line-height: 1.75; }
.ss-legal-section ul { padding-left: 22px; }
.ss-legal-contact { padding: 18px; border-radius: 14px; background: #f8fafc; }
@media (max-width: 760px) {
    .ss-legal-page { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
    .ss-legal-header { padding-inline: 18px; }
    .ss-legal-hero { padding: 32px 20px 26px; }
    .ss-legal-layout { padding: 26px 20px 40px; grid-template-columns: 1fr; gap: 28px; }
    .ss-legal-toc { position: static; }
}
