.ei-legal-page {
  --legal-primary: #2e2f94;
  --legal-accent: #f6a623;
  --legal-text: #2d2e36;
  --legal-muted: #70727d;
  --legal-line: #e4e5ea;
  --legal-soft: #f7f7fa;
  max-width: 1560px;
  margin: 0 auto;
  padding: 48px 15px 80px;
  color: var(--legal-text);
  font-size: 16px;
  line-height: 1.75;
}

.ei-legal-page * {
  box-sizing: border-box;
}

.ei-legal-page__header {
  max-width: 980px;
  margin: 0 0 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--legal-line);
}

.ei-legal-page__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--legal-accent);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.ei-legal-page__header h1 {
  max-width: 900px;
  margin: 0 0 14px;
  color: var(--legal-primary);
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.08;
}

.ei-legal-page__header p {
  margin: 0;
  color: var(--legal-muted);
}

.ei-legal-page__layout {
  display: flex;
  align-items: flex-start;
  gap: clamp(36px, 5vw, 84px);
}

.ei-legal-page__sidebar {
  flex: 0 0 300px;
  min-width: 0;
}

.ei-legal-page__toc {
  position: sticky;
  top: 110px;
  padding: 24px;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: #fff;
}

.ei-legal-page__toc-title {
  margin: 0 0 16px;
  color: var(--legal-primary);
  font-size: 18px;
  font-weight: 700;
}

.ei-legal-page__toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: legal-toc;
}

.ei-legal-page__toc li {
  position: relative;
  margin: 0;
  padding: 0 0 0 28px;
  counter-increment: legal-toc;
}

.ei-legal-page__toc li::before {
  position: absolute;
  top: 9px;
  left: 0;
  color: var(--legal-accent);
  font-size: 11px;
  font-weight: 700;
  content: counter(legal-toc, decimal-leading-zero);
}

.ei-legal-page__toc a {
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid var(--legal-line);
  color: var(--legal-text);
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
}

.ei-legal-page__toc li:last-child a {
  border-bottom: 0;
}

.ei-legal-page__toc a:hover,
.ei-legal-page__toc a:focus {
  color: var(--legal-primary);
}

.ei-legal-page__content {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 1000px;
}

.ei-legal-page__content > div {
  scroll-margin-top: 120px;
  margin: 0 0 54px;
  padding: 0 0 46px;
  border-bottom: 1px solid var(--legal-line);
}

.ei-legal-page__content > div:last-child {
  margin-bottom: 0;
}

.ei-legal-page__content h2 {
  margin: 0 0 24px;
  color: var(--legal-primary);
  font-size: 26px;
  line-height: 1.25;
}

.ei-legal-page__content ol,
.ei-legal-page__content ul {
  padding-left: 24px;
}

.ei-legal-page__content li {
  margin-bottom: 12px;
  padding-left: 6px;
}

.ei-legal-page__content a {
  color: var(--legal-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ei-legal-page__content strong {
  color: #191a20;
}

.ei-legal-page .table-responsive {
  overflow-x: auto;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
}

.ei-legal-page table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.ei-legal-page th,
.ei-legal-page td {
  padding: 16px;
  border: 0;
  border-bottom: 1px solid var(--legal-line);
  text-align: left;
  vertical-align: top;
}

.ei-legal-page th {
  background: var(--legal-primary);
  color: #fff;
  font-size: 13px;
}

.ei-legal-page tr:last-child td {
  border-bottom: 0;
}

.ei-legal-page__form {
  padding: 32px !important;
  border: 1px solid var(--legal-line) !important;
  border-left: 4px solid var(--legal-accent) !important;
  border-radius: 8px;
  background: var(--legal-soft);
}

@media (max-width: 991px) {
  .ei-legal-page {
    padding-top: 32px;
  }

  .ei-legal-page__layout {
    display: block;
  }

  .ei-legal-page__sidebar {
    margin-bottom: 38px;
  }

  .ei-legal-page__toc {
    position: static;
  }

  .ei-legal-page__toc ol {
    display: flex;
    flex-wrap: wrap;
    column-gap: 24px;
  }

  .ei-legal-page__toc li {
    flex: 1 1 280px;
  }
}

@media (max-width: 575px) {
  .ei-legal-page {
    padding: 24px 20px 60px;
    font-size: 15px;
  }

  .ei-legal-page__header {
    margin-bottom: 28px;
    padding-bottom: 22px;
  }

  .ei-legal-page__header h1 {
    font-size: 34px;
  }

  .ei-legal-page__toc {
    padding: 20px;
  }

  .ei-legal-page__toc ol {
    display: block;
  }

  .ei-legal-page__content > div {
    margin-bottom: 38px;
    padding-bottom: 32px;
  }

  .ei-legal-page__content h2 {
    font-size: 22px;
  }

  .ei-legal-page__content ol,
  .ei-legal-page__content ul {
    padding-left: 20px;
  }

  .ei-legal-page__form {
    padding: 22px !important;
  }
}
