/* Only the policy reading layout; wording and other page templates stay intact. */
html:has(.page-privacy .pr-reader) { scroll-padding-top:0; }
.page-privacy { --pr-header-offset:150px; --pr-anchor-offset:166px; }
.page-privacy .pr-reader { padding:42px 0 64px; background:#fff; }
.page-privacy .pr-reader > .container { max-width:1280px; }
.pr-reader h1 { max-width:34ch; margin:0 0 38px; font-size:clamp(30px,3.2vw,44px); line-height:1.16; letter-spacing:-.025em; text-align:left; }
.pr-reader-layout { display:grid; grid-template-columns:270px minmax(0,1fr); align-items:start; gap:56px; }
.pr-toc { position:sticky; top:var(--pr-header-offset); min-width:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.pr-reader .pr-toc-heading { margin:0 0 16px; color:#353a40; font-size:15px; font-weight:650; line-height:1.4; }
.pr-toc nav { max-height:calc(100dvh - var(--pr-header-offset) - 80px); overflow-y:auto; overscroll-behavior:contain; border-left:1px solid #e3e7ec; scrollbar-width:thin; scrollbar-color:#bbc9d7 transparent; }
.pr-toc-list { display:grid; gap:3px; margin:0; padding:0; list-style:none; }
.pr-toc-list li { min-width:0; margin:0; padding:0; list-style:none; }
.pr-toc-list a { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:9px; min-height:44px; padding:10px 12px 10px 15px; border-left:2px solid transparent; border-radius:0; background:transparent; color:#58616d; font-size:14px; line-height:1.4; font-weight:450; text-decoration:none; }
.pr-toc-number { color:#7a8795; font-size:12px; line-height:1.65; font-variant-numeric:tabular-nums; }
.pr-toc-list a[aria-current="location"] { border-left-color:#245c9d; background:transparent; color:#245c9d; font-weight:650; box-shadow:none; }
.pr-toc-list a[aria-current="location"] .pr-toc-number { color:inherit; }
.pr-toc a:focus-visible,.pr-toc-toggle:focus-visible { outline:2px solid #638bae; outline-offset:2px; }
.pr-toc-toggle { display:none; }
.pr-document { min-width:0; max-width:760px; }
.pr-reader .pr-policy-section { margin:0; padding:30px 0; border-top:1px solid #e3e7ec; }
.pr-reader .pr-policy-section:first-child { padding-top:0; border:0; }
.pr-reader .pr-policy-section:last-child { padding-bottom:0; }
.pr-reader .pr-policy-section h2:not(:where(.production-h3)) { scroll-margin-top:var(--pr-anchor-offset); margin:0 0 18px; font-size:clamp(22px,2.1vw,27px); line-height:1.35; letter-spacing:-.015em; text-align:left; }
.pr-reader .pr-policy-section h2:not(:where(.production-h3)):focus { outline:none; }
.pr-reader .pr-policy-section p { max-width:none; margin:0 0 18px; padding:0!important; color:#555d66; font-size:16px; line-height:1.8; text-align:left; }
.pr-reader .pr-policy-section p:last-child { margin-bottom:0; }
.pr-document a { color:#375b7a; text-underline-offset:3px; overflow-wrap:anywhere; }
.pr-document .dp-table-scroll { margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.page-privacy .pr-document table { width:100%; min-width:0; margin:0; border:0; border-collapse:collapse; font-size:15px; line-height:1.65; }
.page-privacy .pr-document tr { background:transparent; }
.page-privacy .pr-document td,.page-privacy .pr-document th { padding:18px 0; border:0; border-bottom:1px solid #e3e7ec; background:transparent; vertical-align:top; overflow-wrap:anywhere; }
.page-privacy .pr-document td:first-child { width:29%; padding-right:20px; font-weight:600; }
.page-privacy .pr-document tr:last-child > * { border-bottom:0; }
@media(hover:hover) {
 .pr-toc-list a:hover { color:#245c9d; background:transparent; }
}
@media(max-width:1199px) {
 .pr-reader-layout { grid-template-columns:240px minmax(0,1fr); gap:32px; }
}
@media(max-width:991px) {
 .page-privacy { --pr-header-offset:82px; --pr-anchor-offset:172px; }
 .page-privacy .pr-reader { padding:30px 0 42px; }
 .pr-reader h1 { max-width:30ch; margin-bottom:24px; }
 .pr-reader-layout { display:block; }
 .pr-document { max-width:none; }
 .pr-toc { position:static; margin-bottom:24px; }
 .pr-toc[data-enhanced] { position:sticky; z-index:20; padding:0; top:var(--pr-header-offset); border-bottom:1px solid #dce2e9; background:#fff; box-shadow:none; }
 .pr-toc[data-enhanced] .pr-toc-heading { display:none; }
 .pr-toc[data-enhanced] .pr-toc-toggle { display:grid; grid-template-columns:minmax(0,1fr) 20px; gap:3px 12px; align-items:center; width:100%; min-height:70px; padding:12px 0; border:0; border-radius:0; background:transparent; color:#245c9d; font-family:inherit; text-align:left; cursor:pointer; }
 .pr-toc-caption { grid-column:1; color:#626f7d; font-size:11px; line-height:1.4; font-weight:500; }
 .pr-toc-current { grid-column:1; font-size:14px; line-height:1.4; font-weight:600; }
 .pr-toc-toggle::after { content:''; grid-column:2; grid-row:1 / 3; justify-self:center; width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .15s; }
 .pr-toc-toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
 .pr-toc[data-enhanced] nav { max-height:calc(100dvh - var(--pr-header-offset) - 125px); margin-bottom:14px; padding:0; }
 .pr-toc[data-enhanced][data-expanded="false"] nav { display:none; }
 .pr-reader .pr-policy-section { padding-block:26px; }
}
@media(max-width:575px) {
 .pr-reader h1 { font-size:29px; }
 .pr-reader .pr-policy-section h2:not(:where(.production-h3)) { font-size:22px; }
 .pr-reader .pr-policy-section p { font-size:15px; line-height:1.75; }
 .page-privacy .pr-document table { font-size:13px; }
 .page-privacy .pr-document td,.page-privacy .pr-document th { padding:14px 0; }
 .page-privacy .pr-document td:first-child { width:35%; padding-right:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .pr-toc-toggle::after { transition:none; }
}
