/* Policy pages (privacy, cookie, etc.) */
.policy {
  max-width: 960px;
  margin: 96px auto 120px;
  padding: 56px 72px;
  background: #ffffff;
  border-radius: 28px;
  box-shadow: 0 24px 80px -40px rgba(17, 18, 22, 0.35);
  color: #1f1f24;
  font-size: 17px;
  line-height: 1.7;
}

.policy a {
  color: #2b6aff;
  text-decoration: underline;
  text-decoration-thickness: 0.1em;
  text-decoration-color: rgba(43, 106, 255, 0.45);
}

.policy a:hover,
.policy a:focus-visible {
  text-decoration-color: rgba(43, 106, 255, 0.9);
}

.policy__head {
  margin-bottom: 40px;
}

.policy__head h1 {
  margin: 0 0 18px;
  font-size: 36px;
  line-height: 1.25;
  font-weight: 700;
  color: #11121a;
}

.policy__lead {
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  color: #3a3a43;
}

.policy__toc {
  margin: 36px 0 52px;
  padding: 28px 32px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(43, 106, 255, 0.1), rgba(43, 106, 255, 0.04));
  border: 1px solid rgba(43, 106, 255, 0.15);
}

.policy__toc h2 {
  margin: 0 0 20px;
  font-size: 20px;
  font-weight: 600;
  color: #1a1a23;
}

.policy__toc ol,
.policy__toc ul {
  margin: 0;
  padding-left: 20px;
  color: #2b2b33;
}

.policy__toc li + li {
  margin-top: 8px;
}

.policy__section + .policy__section {
  margin-top: 48px;
}

.policy__section h2 {
  margin: 0 0 18px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  color: #14141f;
}

.policy__section h3 {
  margin: 32px 0 16px;
  font-size: 20px;
  font-weight: 600;
  color: #1f1f29;
}

.policy__section p {
  margin: 0 0 18px;
  color: #3a3a43;
}

.policy__section ul,
.policy__section ol {
  margin: 0 0 20px;
  padding-left: 26px;
  color: #33333d;
}

.policy__section li + li {
  margin-top: 10px;
}

.policy__section strong {
  color: #11121a;
}

.policy__tagline {
  margin-top: 60px;
  padding-top: 28px;
  border-top: 1px dashed rgba(43, 106, 255, 0.25);
  color: #515159;
  font-size: 16px;
}

@media (max-width: 1024px) {
  .policy {
    margin: 72px auto 96px;
    padding: 48px 48px;
    border-radius: 24px;
  }

  .policy__head h1 {
    font-size: 32px;
  }

  .policy__section h2 {
    font-size: 24px;
  }
}

@media (max-width: 680px) {
  .policy {
    margin: 56px auto 80px;
    padding: 36px 24px;
    border-radius: 20px;
    font-size: 16px;
  }

  .policy__head h1 {
    font-size: 28px;
  }

  .policy__lead {
    font-size: 17px;
  }

  .policy__section h2 {
    font-size: 22px;
  }

  .policy__toc {
    padding: 22px 20px;
  }
}
