.policy-document { overflow-wrap: anywhere; }
.policy-document h1 { font-size: 38px; line-height: 1.15; margin: 26px 0 18px; }
.policy-subtitle { color: var(--ink); font-size: 16px; }
.policy-date { font-size: 13px; color: var(--muted); margin: 16px 0 24px; }
.policy-contents { border-top: 1px solid var(--line); margin-bottom: 30px; }
.policy-contents summary { display: flex; align-items: center; min-height: 44px; font-size: 15px; }
.policy-contents summary::before { content: "+"; color: var(--gold); margin-right: 12px; }
.policy-contents[open] summary::before { content: "−"; }
.policy-contents ol { list-style: none; padding: 6px 0 0; margin: 0; }
.policy-contents a { display: flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.5; padding: 7px 0; }
.policy-copy p, .policy-copy li { font-size: 16px; line-height: 1.8; color: var(--muted); }
.policy-copy p { margin: 0 0 20px; }
.policy-copy h2 { font-size: 27px; line-height: 1.3; margin: 38px 0 20px; scroll-margin-top: 24px; }
.policy-copy h3 { font-size: 22px; line-height: 1.4; margin: 28px 0 16px; scroll-margin-top: 24px; }
.policy-copy ul { padding-left: 24px; margin: 0 0 24px; }
.policy-copy li { padding-left: 3px; margin: 8px 0; }
.policy-copy strong { color: var(--ink); font-weight: 600; }
.policy-copy a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.policy-document .terms-links { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 36px; justify-content: flex-start; }
