.legal-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:24px 0 16px}
.legal-links a{color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:650;padding:8px 0}
.legal-dialog-open{overflow:hidden}
.legal-dialog{width:min(820px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #d6dccb;border-radius:20px;color:#20332c;background:#fff;box-shadow:0 24px 90px #07140f55;overflow:hidden}
.legal-dialog:not([open]){display:none}
.legal-dialog[open]{display:flex;flex-direction:column}
.legal-dialog::backdrop{background:#14243c99;backdrop-filter:blur(3px)}
.legal-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 26px;background:#eff0e5;border-bottom:1px solid #dde2d4;flex-shrink:0}
.legal-dialog-header h2{font-size:23px;margin:0;line-height:1.4;letter-spacing:-.035em}
.legal-close{display:flex;align-items:center;gap:8px;border:1px solid #ccd4bd;background:#fff;border-radius:10px;min-height:44px;padding:8px 14px;font:inherit;font-size:14px;color:#20332c;cursor:pointer;flex-shrink:0}
.legal-close span{font-size:24px;line-height:1}
.legal-dialog-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:26px;scrollbar-gutter:stable}
.legal-dialog-footer{padding:14px 26px;border-top:1px solid #e4e7dd;flex-shrink:0;background:#fafbf7;text-align:right}
.legal-full-page{font-size:13px;color:#345b4c;text-decoration:underline;text-underline-offset:3px}
.legal-document{font-size:15px;line-height:1.9;overflow-wrap:anywhere;word-break:normal;color:#34433c}
.legal-document h2{font-size:19px;line-height:1.5;margin:28px 0 12px;color:#192c25;letter-spacing:-.025em}
.legal-document h2:first-child{margin-top:0}
.legal-document p{margin:0 0 18px}
.legal-page{padding-bottom:48px}
.legal-page>.legal-document{background:#fff;border:1px solid #dfe4d6;border-radius:18px;padding:32px;max-width:900px;margin:auto}
.legal-close:focus-visible,.legal-links a:focus-visible,.legal-full-page:focus-visible,.legal-dialog-body:focus-visible{outline:3px solid #477d68;outline-offset:3px}
@media(max-width:650px){.legal-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:16px}.legal-dialog-header{padding:16px}.legal-dialog-header h2{font-size:20px}.legal-dialog-body{padding:20px 16px}.legal-document{font-size:14px;line-height:1.85}.legal-document h2{font-size:17px}.legal-dialog-footer{padding:14px 16px}.legal-page>.legal-document{padding:24px 18px}}
