body {
  background: #f5f8f4;
  font-family: "Sora", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}

.policy-wrap {
  max-width: 960px;
  margin: 0 auto;
  padding: 120px 20px 64px;
}

.policy-card {
  padding: 28px 24px;
  border: 1px solid rgb(13 42 26 / 8%);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgb(13 42 26 / 8%);
}

.policy-card h1 {
  margin: 0 0 20px;
  color: var(--text);
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
}

.policy-card h2 {
  margin: 24px 0 12px;
  color: var(--primary-dark);
  font-size: 1.06rem;
}

.policy-card p {
  margin: 0 0 12px;
  color: #203126;
  font-size: .98rem;
  line-height: 1.78;
}

.policy-card ul { padding-left: 22px; margin: 12px 0 20px; }
.policy-card li { margin-bottom: 10px; }
.policy-card a { color: #146635; text-decoration: underline; }
.policy-card h2 { scroll-margin-top: 110px; font-size: 1.1rem; }
.policy-table-wrap { overflow-x: auto; margin: 18px 0; }
.policy-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.policy-table th, .policy-table td { padding: 12px; border: 1px solid #d6e3d8; text-align: left; vertical-align: top; }
.policy-table th { background: #eef5ef; }
.policy-table td:first-child { width: 30%; font-weight: 600; }
