.policy-page { width:min(calc(100% - 80px),800px); max-width:800px; margin:0 auto; padding:56px 0 112px; }
.policy-page h1 { margin:0; color:#f7f7f8; font-size:48px; font-weight:700; line-height:1.25; letter-spacing:-.035em; word-break:keep-all; }
.policy-page .policy-updated { display:flex; flex-wrap:wrap; gap:6px 22px; margin:20px 0 56px; color:#92929b; font-size:13px; font-weight:400; line-height:1.6; }
.policy-page section { padding:36px 0; border-top:1px solid #29292e; }
.policy-page section:last-child { padding-bottom:0; }
.policy-page h2 { margin:0 0 20px; color:#eeeef2; font-size:22px; font-weight:600; line-height:1.4; letter-spacing:-.02em; word-break:keep-all; }
.policy-page p { margin:0; color:#b5b5bf; font-size:16px; font-weight:400; line-height:1.9; word-break:keep-all; overflow-wrap:anywhere; }
.policy-page p + p { margin-top:16px; }
.policy-page a { color:#d8c6ff; text-decoration:underline; text-decoration-color:rgba(216,198,255,.4); text-underline-offset:4px; }
.policy-page a:hover { color:#eee5ff; text-decoration-color:currentColor; }
.policy-page a:focus-visible { outline:2px solid #d8c6ff; outline-offset:4px; border-radius:2px; }
.policy-page .policy-back { display:inline-flex; align-items:center; gap:9px; min-height:40px; margin:0 0 24px -10px; padding:0 10px; border-radius:6px; color:#a4a4ae; font-size:13px; font-weight:500; line-height:1.4; text-decoration:none; }
.policy-page .policy-back:hover { background:rgba(255,255,255,.045); color:#eeeef2; }
.policy-page .policy-back:focus-visible { border-radius:6px; }
@media(max-width:680px) {
  .policy-page { width:calc(100% - 40px); padding:32px 0 72px; }
  .policy-page .policy-back { margin-bottom:20px; }
  .policy-page h1 { font-size:34px; }
  .policy-page .policy-updated { flex-direction:column; gap:4px; margin:18px 0 36px; font-size:12px; }
  .policy-page section { padding:28px 0; }
  .policy-page h2 { margin-bottom:16px; font-size:21px; }
  .policy-page p { font-size:15px; line-height:1.85; }
  .policy-view .site-footer { margin-top:0; }
}
