body { background: #fffefe; }
.policy-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1280px; margin: auto; padding: 32px 48px; }
.back-link { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; }
.back-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.policy { width: min(100% - 48px, 760px); margin: 52px auto 88px; }
.policy h1 { font-size: clamp(42px, 6vw, 64px); line-height: 1.1; }
.policy-date { margin-top: 18px; color: var(--muted-foreground); font-size: 14px; line-height: 1.5; }
.policy-copy { margin-top: 36px; font-size: 17px; line-height: 1.8; }
.policy-copy p + p { margin-top: 22px; }
.policy-copy a { color: #087d96; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.footer { border-top: 1px solid var(--border); }
@media (max-width: 600px) {
  .policy-header { padding: 16px 24px; gap: 12px; }
  .policy-header .brand { font-size: 11px; letter-spacing: .23em; }
  .back-link { font-size: 12px; gap: 7px; }
  .policy { margin-top: 32px; margin-bottom: 56px; }
  .policy-copy { font-size: 16px; margin-top: 28px; }
}

.policy-copy h2 { font-size: 30px; line-height: 1.2; margin: 36px 0 14px; }
.policy-copy h2:first-child { margin-top: 0; }
