.legal-page { background: #f5f9fd; }
.legal-header .header-inner { justify-content: space-between; }
.legal-back { color: var(--blue-dark); font-size: 14px; font-weight: 750; }
.legal-main { padding: 58px 0 80px; }
.legal-document { max-width: 920px; padding: 58px 66px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.legal-kicker { margin: 0 0 12px; color: var(--blue-dark); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.legal-document h1 { max-width: 780px; font-size: clamp(38px, 5vw, 58px); }
.legal-lead { margin: 24px 0 38px; color: var(--muted); font-size: 19px; line-height: 1.65; }
.legal-document section { padding-top: 22px; scroll-margin-top: 92px; }
.legal-document h2 { margin: 18px 0 14px; font-size: 27px; line-height: 1.25; letter-spacing: -.02em; }
.legal-document h3 { margin: 24px 0 9px; font-size: 18px; }
.legal-document p { margin: 10px 0; color: #344b68; }
.legal-document a { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.legal-document ul { margin: 12px 0 18px; padding-left: 24px; color: #344b68; }
.legal-document li + li { margin-top: 6px; }
.legal-toc { margin: 34px 0 20px; padding: 24px 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-tint); }
.legal-toc strong { display: block; margin-bottom: 8px; }
.legal-toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 42px; }
.legal-toc li { break-inside: avoid; margin: 6px 0; }
.legal-contact-card { display: grid; gap: 6px; margin-top: 42px; padding: 22px 24px; border: 1px solid #cfe5f8; border-radius: 15px; background: #edf7ff; }
.legal-contact-card span { color: #405776; }
.legal-footer .footer-bottom { justify-content: flex-start; }
.legal-footer .footer-bottom a:first-of-type { margin-left: auto; }

@media (max-width: 700px) {
    .legal-header .header-inner { min-height: 68px; }
    .legal-back { font-size: 13px; }
    .legal-main { padding: 24px 0 50px; }
    .legal-document { padding: 32px 22px; border-radius: 18px; }
    .legal-document h1 { font-size: 34px; }
    .legal-lead { margin-block: 18px 28px; font-size: 16px; }
    .legal-document h2 { font-size: 23px; }
    .legal-toc { padding: 19px; }
    .legal-toc ol { columns: 1; }
    .legal-footer .footer-bottom { display: grid; }
    .legal-footer .footer-bottom a:first-of-type { margin-left: 0; }
}

@media (max-width: 420px) {
    .legal-header .brand-copy small { display: none; }
    .legal-header .brand-mark { width: 28px; height: 28px; }
    .legal-back { max-width: 130px; text-align: right; }
    .legal-document { padding: 28px 18px; }
    .legal-document h1 { font-size: 30px; }
}
