:root {
  --cm-legal-bg: rgb(8,10,6);
  --cm-legal-text: rgb(255,255,255);
  --cm-legal-muted: rgb(170,176,165);
  --cm-legal-accent: rgb(184,239,0);
  --cm-legal-ink: rgb(27,35,0);
  --cm-legal-line: rgba(255,255,255,.14);
  --cm-legal-surface: rgb(18,21,15);
}
.cm-footer { background:var(--cm-legal-bg);color:var(--cm-legal-text);font-family:Archivo,sans-serif;letter-spacing:0;border-top:1px solid var(--cm-legal-line); }
.cm-footer * { box-sizing:border-box; }
.cm-footer-inner { max-width:1320px;margin:auto;padding:64px clamp(20px,4vw,56px) 84px; }
.cm-footer-grid { display:grid;grid-template-columns:1.3fr .7fr 1fr 1.2fr;gap:40px; }
.cm-footer-brand { display:flex;align-items:center;gap:16px;margin-bottom:20px; }
.cm-footer-logo { height:76px;flex:0 0 64px; }
.cm-footer-brand strong { font-size:28px;font-weight:800; }
.cm-footer p,.cm-footer address { color:var(--cm-legal-muted);font-size:14px;line-height:1.7;margin:0;font-style:normal; }
.cm-footer h2 { margin:0 0 20px;font-size:14px;font-weight:700;color:var(--cm-legal-text); }
.cm-footer nav { display:flex;flex-direction:column;gap:14px; }
.cm-footer a { color:var(--cm-legal-muted);text-decoration:none;font-size:14px;line-height:1.5; }
.cm-footer a:hover,.cm-footer a:focus-visible { color:var(--cm-legal-accent);text-decoration:underline;text-underline-offset:4px; }
.cm-footer .cm-footer-download { display:inline-flex;align-items:center;gap:14px;margin-top:24px;color:var(--cm-legal-accent);font-weight:700; }
.cm-footer-contacts { display:flex;flex-direction:column;gap:10px;margin-top:18px; }
.cm-footer-bottom { display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--cm-legal-line); }
.cm-footer-bottom p { font-size:12px; }
.cm-legal-page { margin:0;background:var(--cm-legal-bg);color:var(--cm-legal-text);font-family:Archivo,sans-serif;letter-spacing:0; }
.cm-legal-page * { box-sizing:border-box; }
.cm-legal-header { max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 24px;border-bottom:1px solid var(--cm-legal-line); }
.cm-legal-page a { color:var(--cm-legal-accent);text-decoration:none; }
.cm-legal-page a:hover { text-decoration:underline;text-underline-offset:4px; }
.cm-legal-brand { font-weight:800;font-size:26px; }
.cm-legal-layout { max-width:1200px;margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;padding:64px 24px 80px; }
.cm-legal-nav { align-self:start;position:sticky;top:28px;display:flex;flex-direction:column;gap:18px; }
.cm-legal-nav strong { font-size:13px;color:var(--cm-legal-muted);margin-bottom:8px; }
.cm-legal-nav a { font-size:14px;line-height:1.5;color:var(--cm-legal-muted); }
.cm-legal-nav a[aria-current=page] { color:var(--cm-legal-accent); }
.cm-legal-article { min-width:0;overflow-wrap:anywhere; }
.cm-legal-article h1 { margin:0 0 24px;font-size:42px;line-height:1.12;font-weight:800; }
.cm-legal-article h2 { margin:48px 0 18px;padding-top:24px;border-top:1px solid var(--cm-legal-line);font-size:23px;line-height:1.4; }
.cm-legal-article h3 { margin:28px 0 14px;font-size:18px;line-height:1.5; }
.cm-legal-article p,.cm-legal-article li { font-size:15px;line-height:1.8;color:var(--cm-legal-muted); }
.cm-legal-article p { margin:12px 0;white-space:pre-line; }
.cm-legal-table { overflow-x:auto;margin:24px 0; }
.cm-legal-article table { border-collapse:collapse;width:100%;font-size:14px;line-height:1.6; }
.cm-legal-article td,.cm-legal-article th { padding:12px;text-align:left;border:1px solid var(--cm-legal-line);min-width:150px;vertical-align:top;color:var(--cm-legal-muted); }
.cm-legal-article th { color:var(--cm-legal-text);background:var(--cm-legal-surface); }
.cm-legal-end { padding:24px;max-width:1200px;margin:auto;border-top:1px solid var(--cm-legal-line);color:var(--cm-legal-muted);font-size:13px;line-height:1.7; }
@media(max-width:1000px) { .cm-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .cm-footer-inner { padding-top:40px; }
  .cm-footer-grid { gap:36px 24px; }
  .cm-footer-company,.cm-footer-contact { grid-column:1/-1; }
  .cm-footer-bottom { margin-top:36px; }
  .cm-legal-layout { grid-template-columns:minmax(0,1fr);gap:36px;padding-top:32px; }
  .cm-legal-nav { position:static;flex-direction:row;flex-wrap:wrap;gap:14px 24px;padding-bottom:24px;border-bottom:1px solid var(--cm-legal-line); }
  .cm-legal-nav strong { width:100%;margin:0; }
  .cm-legal-article h1 { font-size:32px; }
  .cm-legal-article h2 { font-size:21px; }
}
@media(prefers-reduced-motion:no-preference) { .cm-footer a { transition:color .18s ease; } }