.policy-page{margin:0;background:#f7f8fc;color:#23273b;line-height:1.8;padding:0 max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom)}
.policy-nav{max-width:760px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0}
.policy-brand{display:flex;align-items:center;gap:9px;font-weight:850;text-decoration:none;color:inherit;font-size:20px;min-height:44px}.policy-brand img{width:30px;height:30px}
.policy-nav>a:last-child{display:flex;align-items:center;min-height:44px;color:#5144cd;font-size:14px}
.policy-document{max-width:760px;margin:0 auto 40px;padding:clamp(20px,5vw,48px);border:1px solid #e5e7ef;border-radius:24px;background:#fff}
.policy-document header{padding-bottom:24px;border-bottom:1px solid #e5e7ef}.policy-document h1{font-size:clamp(26px,5vw,36px);line-height:1.4;letter-spacing:-1px;margin:0 0 12px}
.policy-document h2{font-size:20px;line-height:1.5;margin:36px 0 14px}.policy-document p{margin:12px 0}.policy-document ul,.policy-document ol{padding-left:23px;margin:12px 0}.policy-document li{margin:10px 0}
.policy-document a{color:#5144cd;overflow-wrap:anywhere;text-underline-offset:3px}.policy-meta{font-size:14px;color:#626a80}
.policy-summary{background:#f4f3ff;border-radius:14px;padding:16px 20px;margin-top:24px}.policy-summary p{margin:0}
.policy-document .policy-action{display:block;background:#635bff;color:white;text-align:center;text-decoration:none;font-weight:750;border-radius:14px;padding:14px 16px;margin:24px 0;min-height:48px}
.policy-contact{border-top:1px solid #e5e7ef;margin-top:32px;padding-top:12px}.policy-document section{scroll-margin-top:24px}.policy-document :focus-visible{outline:3px solid #5144cd;outline-offset:3px}
@media(max-width:359px){.policy-document{padding:20px 16px;border-radius:18px}.policy-nav{padding:12px 0}.policy-document h2{font-size:18px}}
