.legal-page { background: #f7f5ef; }
.legal-header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid var(--line); background: rgba(255, 253, 248, .96); }
.legal-header .shell { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-header .back-link { color: var(--green); font-weight: 750; text-decoration: none; }
.legal-main { width: min(860px, calc(100% - 32px)); margin: 0 auto; padding: 64px 0 80px; }
.legal-main .document-meta { margin: 0 0 12px; color: var(--green); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-main h1 { margin: 0 0 18px; color: #18211f; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.35rem, 6vw, 4.4rem); line-height: 1.05; font-weight: 500; letter-spacing: -.035em; }
.legal-main .intro { margin: 0 0 42px; color: #4f6560; font-size: 1.08rem; }
.legal-main article { padding: 38px 42px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 14px 45px rgba(28, 73, 65, .08); }
.legal-main h2 { margin: 38px 0 12px; color: #18211f; font-family: inherit; font-size: 1.45rem; line-height: 1.25; font-weight: 800; letter-spacing: -.015em; }
.legal-main h2:first-child { margin-top: 0; }
.legal-main h3 { margin: 25px 0 8px; color: #18211f; font-size: 1.05rem; }
.legal-main p, .legal-main li { color: #344944; }
.legal-main p { margin: 0 0 14px; }
.legal-main ul, .legal-main ol { margin: 8px 0 18px; padding-left: 24px; }
.legal-main li + li { margin-top: 7px; }
.legal-main a { color: var(--green); text-underline-offset: 3px; }
.legal-main .status-note { margin: 22px 0; padding: 16px 18px; border-left: 4px solid var(--green); background: #edf6f2; }
.legal-main .legal-table { width: 100%; margin: 18px 0 24px; border-collapse: collapse; font-size: .94rem; }
.legal-main .legal-table th, .legal-main .legal-table td { padding: 12px 13px; border: 1px solid #d9e2dd; text-align: left; vertical-align: top; }
.legal-main .legal-table th { color: #fff; background: var(--green-dark); }
.legal-main .legal-table tr:nth-child(even) td { background: #f5f9f7; }
.legal-links { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.legal-links a { font-weight: 700; }
.legal-page footer { padding-top: 35px; }
.legal-page footer .legal { margin-top: 0; }

@media (max-width: 620px) {
    .legal-header .shell { min-height: 62px; }
    .legal-header .brand span { font-size: 1.2rem; }
    .legal-header .brand img { width: 35px; height: 35px; }
    .legal-main { padding: 38px 0 55px; }
    .legal-main article { padding: 24px 19px; border-radius: 18px; }
    .legal-main h2 { margin-top: 31px; font-size: 1.3rem; }
    .legal-main .legal-table { display: block; overflow-x: auto; }
}
