.legal-page {
    --legal-bg: #eaf1f8;
    --legal-card: #ffffff;
    --legal-border: #e0e8ee;
    --legal-text: #16202c;
    --legal-muted: #677180;
    --legal-green: #005ffc;
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--legal-bg);
    color: var(--legal-text);
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
.legal-page *, .legal-page *::before, .legal-page *::after { box-sizing: border-box; }
.legal-page a { color: inherit; }
.legal-container { width: 100%; max-width: 860px; margin: 0 auto; padding: 0 24px; }
.legal-topbar { background: var(--legal-card); border-bottom: 1px solid var(--legal-border); }
.legal-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; padding-bottom: 16px; }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.legal-brand img { display: block; width: 140px; height: auto; object-fit: contain; }
.legal-brand span { font-size: 18px; font-weight: 800; letter-spacing: -.5px; }
.legal-nav { display: flex; align-items: center; gap: 22px; font-size: 13px; font-weight: 600; }
.legal-nav a { color: var(--legal-muted); text-decoration: none; }
.legal-nav a:hover { color: var(--legal-text); }
.legal-main { flex: 1; padding-top: 40px; padding-bottom: 48px; }
.legal-card { background: var(--legal-card); border: 1px solid var(--legal-border); border-radius: 22px; box-shadow: 0 20px 45px #1018280a; padding: 40px 44px; }
.legal-heading { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--legal-border); }
.legal-heading h1 { margin: 0; font-size: 26px; font-weight: 700; letter-spacing: -.5px; }
.legal-content { font-size: 14px; color: #33404e; }
.legal-content p { margin: 0 0 12px; }
.legal-content p strong { display: inline-block; color: var(--legal-text); font-size: 15px; }
.legal-content a { color: var(--legal-text); text-decoration: underline; text-underline-offset: 2px; }
.legal-content ul, .legal-content ol { margin: 0 0 14px; padding-left: 22px; }
.legal-content li { margin-bottom: 6px; }
.legal-content img, .legal-content table { max-width: 100%; }
.legal-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; width: 100%; max-width: 860px; margin: 0 auto; padding: 18px 24px 26px; font-size: 12px; color: var(--legal-muted); }
.legal-footer nav { display: flex; gap: 18px; }
.legal-footer a { text-decoration: none; }
.legal-footer a:hover { color: var(--legal-text); }
.legal-footer a[aria-current="page"] { color: var(--legal-text); font-weight: 600; }
@media (max-width: 640px) {
    .legal-card { padding: 26px 22px; }
    .legal-heading h1 { font-size: 22px; }
    .legal-topbar-inner { padding-top: 12px; padding-bottom: 12px; }
    .legal-nav { gap: 16px; }
    .legal-footer { justify-content: center; text-align: center; }
}

/* ---------- dark theme ---------- */
html[data-theme="dark"] .legal-page {
    --legal-bg: #101721;
    --legal-card: #161f2d;
    --legal-border: #2c333c;
    --legal-text: #e6ecf4;
    --legal-muted: #97a1ae;
}
html[data-theme="dark"] .legal-content { color: #c3ccd6; }
html[data-theme="dark"] .legal-card { box-shadow: none; }

/* Quiet, readable legal document layout. */
.legal-page { --legal-bg:#f5f6f2; --legal-border:#dce1d7; --legal-text:#151b15; --legal-muted:#626d61; }
.legal-container, .legal-footer { max-width:960px; }
.legal-main { padding-top:48px; padding-bottom:56px; }
.legal-card { padding:48px 56px; border-radius:20px; box-shadow:none; }
.legal-heading { padding-bottom:28px; margin-bottom:28px; }
.legal-eyebrow { display:block; margin-bottom:12px; color:var(--legal-muted); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.legal-heading h1 { font-size:clamp(28px,4vw,38px); line-height:1.2; letter-spacing:-1px; }
.legal-content { font-size:15px; line-height:1.85; color:#475044; overflow-wrap:anywhere; }
.legal-content p { margin-bottom:16px; text-align:left !important; }
.legal-content h2 { margin:40px 0 18px; padding-top:28px; border-top:1px solid var(--legal-border); color:var(--legal-text); font-size:22px; line-height:1.4; letter-spacing:-.4px; }
.legal-content h3 { margin:28px 0 12px; color:var(--legal-text); font-size:17px; line-height:1.5; }
.legal-content a { color:#496a1f; text-underline-offset:4px; }
.legal-nav a:focus-visible, .legal-content a:focus-visible { outline:2px solid #759b3b; outline-offset:4px; border-radius:3px; }
html[data-theme="dark"] .legal-page { --legal-bg:#080a0b; --legal-card:#111516; --legal-border:#262d2a; --legal-text:#f4f5ef; --legal-muted:#9fa99f; }
html[data-theme="dark"] .legal-content { color:#c7cfc8; }
html[data-theme="dark"] .legal-content a { color:#d0ff82; }
@media(max-width:640px) {
    .legal-container { padding-left:16px; padding-right:16px; }
    .legal-main { padding-top:24px; padding-bottom:32px; }
    .legal-card { padding:28px 22px; border-radius:16px; }
    .legal-content { font-size:14px; }
    .legal-content h2 { font-size:20px; }
    .legal-nav { gap:14px; font-size:12px; }
    .legal-brand img { width:120px; }
}
