.policy-main {
  width: 100%;
  overflow-x: hidden;
  background: var(--color-surface);
  color: var(--color-on-surface);
}
.policy-hero {
  padding: 132px 24px 64px;
  background: var(--color-primary);
  color: var(--color-on-primary);
}
.policy-hero-inner, .policy-content {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}
.policy-hero .section-title { margin-bottom: 16px; }
.policy-hero p { max-width: 760px; opacity: .96; }
.policy-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 64px 24px 88px;
}
.policy-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 28px;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-card);
  background: #FFFFFF;
  box-shadow: var(--shadow-level-1);
}
.policy-section h2 { color: var(--color-primary); }
.policy-section h3 { margin-top: 10px; color: var(--color-on-surface); }
.policy-section p, .policy-section li {
  color: var(--color-on-surface-secondary);
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.72;
}
.policy-section ul {
  margin: 4px 0 0;
  padding-left: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.policy-back { align-self: flex-start; margin-top: 8px; }
@media (max-width: 768px) {
  .policy-hero { padding: 104px 18px 48px; text-align: center; }
  .policy-content { padding: 44px 16px 64px; gap: 20px; }
  .policy-section { padding: 22px 18px; }
  .policy-section h2, .policy-section h3 { text-align: center; }
}
@media (max-width: 480px) {
  .policy-hero { padding-top: 92px; }
  .policy-section { padding: 20px 16px; }
}
