/* Legal copy stays intact in a calm, readable document layout. */
body.pl-policy-page { background:#f7f9fc; color-scheme:light; }
body.pl-policy-page main#site-content { width:100%; max-width:none; padding:0; margin:0; }
#site-content .pl-policy-content { width:100%; max-width:960px; margin:0 auto; padding:136px 32px 80px; color:#45566e; font-family:'Source Sans 3',sans-serif; font-size:19px; line-height:1.7; }
#site-content .pl-policy-content :is(h1,h2,h3) { color:#081a30; font-family:'Source Sans 3',sans-serif; font-weight:600; line-height:1.2; letter-spacing:-.025em; text-shadow:none; }
#site-content .pl-policy-content h1 { margin:0 0 32px; font-size:clamp(40px,4.5vw,64px); line-height:1.08; }
#site-content .pl-policy-content h2 { margin:40px 0 16px; font-size:clamp(28px,3vw,40px); }
#site-content .pl-policy-content h3 { margin:28px 0 12px; font-size:24px; }
#site-content .pl-policy-content p { margin:0 0 18px; color:inherit; }
#site-content .pl-policy-content :is(ul,ol) { margin:0 0 24px; padding-left:24px; }
#site-content .pl-policy-content :is(strong,b) { font-weight:600; color:#081a30; }
#site-content .pl-policy-content a { color:#5530bf; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
#site-content .pl-policy-content a:focus-visible { outline:3px solid #6d47ff; outline-offset:3px; }
#site-content .pl-policy-content :is(h2,h3) { scroll-margin-top:112px; }
@media(max-width:900px) { #site-content .pl-policy-content { padding:128px 24px 64px; } }
@media(max-width:600px) { #site-content .pl-policy-content { padding-top:112px; padding-bottom:56px; } }

/* Native markers and tables need contrast on the light legal-document shell. */
#site-content .pl-policy-content li::marker { color:#5530bf; }
#site-content .pl-policy-content li { color:inherit; margin-bottom:8px; }
#site-content .pl-policy-content .wp-block-table { max-width:100%; margin:24px 0; overflow-x:auto; border:1px solid #dde4ee; border-radius:8px; background:#fff; }
#site-content .pl-policy-content .wp-block-table:focus-visible { outline:3px solid #6d47ff; outline-offset:3px; }
#site-content .pl-policy-content table { width:100%; min-width:620px; border-collapse:collapse; table-layout:fixed; background:#fff; color:#45566e; border:0; border-radius:0; font-size:18px; line-height:1.5; }
#site-content .pl-policy-content :is(th,td) { padding:16px 20px; vertical-align:top; border:1px solid #dde4ee; color:inherit; overflow-wrap:anywhere; }
#site-content .pl-policy-content thead th { background:#eef2f8; color:#081a30; font-weight:600; text-align:left; }
#site-content .pl-policy-content tbody tr:nth-child(even) { background:#f7f9fc; }

/* Long compound words in translated legal headings must fit small screens. */
.pl-policy-content :is(h1, h2, h3) { overflow-wrap: anywhere; hyphens: auto; }
