.legal-section { padding: 40px 0 88px; }
.legal-document { max-width: 960px; }
.legal-back { display: inline-block; margin-bottom: 36px; color: var(--blue); font-size: 14px; }
.legal-heading .eyebrow { margin-bottom: 18px; }
.legal-heading h1 { max-width: 920px; font-size: 44px; line-height: 1.1; overflow-wrap: anywhere; }
.legal-intro { max-width: 780px; margin: 24px 0 16px; font-size: 19px; line-height: 1.55; color: var(--muted); }
.legal-date { color: var(--muted); font-size: 14px; }
.legal-contents { margin: 36px 0 48px; padding: 28px 32px; background: var(--pale); border-radius: 12px; }
.legal-contents h2, .legal-related h2 { margin-bottom: 16px; font-size: 22px; }
.legal-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 40px; padding-left: 22px; }
.legal-contents li { padding-left: 2px; line-height: 1.5; }
.legal-contents a, .legal-related a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.legal-body { font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.legal-body section { margin-top: 40px; scroll-margin-top: 28px; }
.legal-body h2 { margin-bottom: 20px; font-size: 28px; line-height: 1.25; }
.legal-body p { margin-bottom: 18px; }
.legal-body ul { list-style: disc; padding-left: 24px; margin: 16px 0 24px; }
.legal-body li { padding-left: 4px; margin-bottom: 12px; }
.legal-data-list { margin: 28px 0; }
.legal-data-list > div { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-top: 1px solid var(--line); }
.legal-data-list dt { font-weight: 600; }
.legal-data-list dd { margin: 0; }
.legal-related { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-related ul { display: grid; gap: 12px; list-style: none; padding: 0; line-height: 1.5; }
@media (max-width: 760px) {
    .legal-section { padding: 24px 0 56px; }
    .legal-back { margin-bottom: 28px; }
    .legal-heading h1 { font-size: 32px; line-height: 1.12; }
    .legal-intro { margin-top: 20px; font-size: 17px; }
    .legal-contents { margin: 28px 0 36px; padding: 24px; }
    .legal-contents ol { grid-template-columns: 1fr; gap: 10px; }
    .legal-body { font-size: 16px; line-height: 1.65; }
    .legal-body h2 { font-size: 24px; }
    .legal-data-list > div { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
}
