.policy-page {
  width: min(860px, calc(100% - 40px));
  margin: 72px auto;
  color: #e9e9ef;
  line-height: 1.7;
}

.policy-page h1,
.policy-page h2 {
  line-height: 1.2;
}

.policy-page h1 {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
}

.policy-page h2 {
  margin-top: 2rem;
}

.policy-notice {
  padding: 18px 20px;
  border: 1px solid #dc8b4c;
  border-radius: 12px;
  background: #382617;
  color: #ffe2c7;
}

.policy-page a {
  color: #c7b8ff;
}

.policy-page li {
  margin: .55rem 0;
}

.policy-owner-check {
  margin-top: 2rem;
  padding: 16px 18px;
  border-left: 3px solid #9c87ff;
  border-radius: 0 10px 10px 0;
  background: #1c1a28;
  color: #e7e1ff;
}

.support-contact {
  margin: 2rem 0;
  padding: 20px 22px;
  border: 1px solid #34313f;
  border-radius: 14px;
  background: #191920;
}

.support-contact h2 {
  margin-top: 0;
}

.support-contact p:last-child {
  margin-bottom: 0;
}

.support-page details {
  margin: .75rem 0;
  padding: 15px 18px;
  border: 1px solid #34313f;
  border-radius: 12px;
  background: #191920;
}

.support-page summary {
  color: #f0edf8;
  cursor: pointer;
  font-weight: 650;
}

.support-page details p {
  margin-bottom: 0;
}

@media (max-width: 620px) {
  .support-contact {
    padding: 17px;
  }
}
