.policy-main {
  min-height: calc(100svh - 320px);
  padding: calc(var(--header-height) + 24px) 0 72px;
  color: var(--black);
  background: var(--white);
}

.policy-page {
  max-width: 1040px;
  padding-top: 40px;
}

.policy-header {
  padding: 40px 0 56px;
  border-bottom: 1px solid var(--border);
}

.policy-header h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(3.2rem, 7vw, 6.6rem);
  font-weight: 700;
  letter-spacing: -.065em;
  line-height: .9;
}

.policy-header p {
  margin: 24px 0 0;
  color: var(--text-muted);
  font-size: .95rem;
}

.policy-page section {
  max-width: 820px;
  padding-top: 56px;
}

.policy-page h2 {
  margin: 0 0 20px;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.05;
}

.policy-page p,
.policy-page li {
  font-size: 1rem;
  line-height: 1.75;
}

.policy-page p {
  margin: 0 0 18px;
}

.policy-page ul {
  margin: 0;
  padding-left: 24px;
}

.policy-page li + li {
  margin-top: 12px;
}

.policy-page a {
  color: var(--blue);
  font-weight: 600;
}

html[data-theme="dark"] .policy-page a {
  color: #8eb9df;
}

@media (max-width: 760px) {
  .policy-main {
    padding-top: var(--header-height);
  }

  .policy-page {
    padding-top: 16px;
  }

  .policy-header {
    padding: 32px 0 44px;
  }

  .policy-header h1 {
    font-size: clamp(3rem, 16vw, 4.8rem);
  }

  .policy-page section {
    padding-top: 44px;
  }
}
