.policy-page {
  background: #f7f7f5;
  color: #161616;
  padding: 96px 0 110px;
}

.policy-wrap {
  width: min(900px, calc(100% - 48px));
  margin: 0 auto;
}

.policy-kicker {
  margin: 0 0 18px;
  font-family: 'Montserrat', sans-serif;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .22em;
  color: rgba(0,0,0,.45);
}

.policy-page h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1.15;
  letter-spacing: .04em;
  font-weight: 500;
}

.policy-lead {
  margin: 30px 0 56px;
  max-width: 760px;
  color: rgba(0,0,0,.62);
  font-size: .98rem;
  line-height: 2.1;
  letter-spacing: .05em;
}

.policy-content {
  background: #fff;
  padding: 56px;
  border: 1px solid rgba(0,0,0,.06);
}

.policy-content h2 {
  margin: 0 0 16px;
  padding-top: 34px;
  font-size: 1.05rem;
  line-height: 1.7;
  letter-spacing: .08em;
}

.policy-content h2:first-child {
  padding-top: 0;
}

.policy-content p {
  margin: 0;
  color: rgba(0,0,0,.64);
  font-size: .9rem;
  line-height: 2.1;
  letter-spacing: .04em;
}

.policy-content ul {
  margin: 12px 0 0;
  padding-left: 1.2em;
  color: rgba(0,0,0,.64);
  font-size: .9rem;
  line-height: 2;
  letter-spacing: .04em;
}

.policy-content li {
  margin-bottom: 4px;
}

@media (max-width: 768px) {
  .policy-page {
    padding: 64px 0 80px;
  }

  .policy-wrap {
    width: min(100% - 32px, 900px);
  }

  .policy-lead {
    margin: 24px 0 36px;
    font-size: .9rem;
  }

  .policy-content {
    padding: 32px 22px;
  }

  .policy-content h2 {
    padding-top: 28px;
    font-size: .98rem;
  }

  .policy-content p,
  .policy-content ul {
    font-size: .86rem;
  }
}