/* Dedicated policy reading layout. Policy text is kept in the page templates. */
body.site-public #main-content .lp-read-link { display: inline-flex; gap: 12px; margin-top: 26px; min-height: 46px; padding: 12px 20px; font-size: .8rem; }
body.site-public #main-content .lp-reading-section { background: #f4f7fb; padding-block: clamp(36px,5vw,64px) 80px; }
body.site-public #main-content .lp-container.lp-layout-container { max-width: 1240px; }
body.site-public #main-content .lp-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,2.1fr); gap: clamp(24px,3vw,40px); align-items: start; }
body.site-public #main-content .lp-layout > * { min-width: 0; }
body.site-public #main-content .lp-sidebar { position: sticky; top: 110px; max-height: calc(100dvh - 130px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c4d3e5 transparent; border: 1px solid #d9e3ef; background: #fff; border-radius: 14px; box-shadow: 0 8px 28px #1b345305; }
body.site-public #main-content .lp-contents-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; list-style: none; cursor: pointer; padding: 24px; color: #355574; font-size: .8rem; font-weight: 600; }
body.site-public #main-content .lp-contents-panel > summary::-webkit-details-marker { display: none; }
body.site-public #main-content .lp-contents-panel > summary > span { display: flex; align-items: center; gap: 12px; }
body.site-public #main-content .lp-contents-panel > summary > i { color: #7b98b8; font-size: .65rem; transition: transform .2s; }
body.site-public #main-content .lp-contents-panel[open] > summary { border-bottom: 1px solid #e2e9f2; }
body.site-public #main-content .lp-contents-panel[open] > summary > i { transform: rotate(180deg); }
body.site-public #main-content .lp-sidebar .lp-toc { margin: 0; padding: 16px 12px; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
body.site-public #main-content .lp-sidebar .lp-toc h3 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.site-public #main-content .lp-sidebar .lp-toc ol { display: block; columns: 1; padding: 0; margin: 0; list-style: none; counter-reset: policy-section; }
body.site-public #main-content .lp-sidebar .lp-toc li { padding: 0; margin: 0; }
body.site-public #main-content .lp-sidebar .lp-toc a { display: flex; gap: 12px; align-items: baseline; padding: 11px 12px; border-radius: 7px; color: #637e9b; font-size: .74rem; line-height: 1.75; text-decoration: none; overflow-wrap: anywhere; }
body.site-public #main-content .lp-sidebar .lp-toc a::before { counter-increment: policy-section; content: counter(policy-section,decimal-leading-zero); flex: 0 0 20px; font-size: .6rem; color: #8da5bf; }
body.site-public #main-content .lp-sidebar .lp-toc a:hover { background: #f3f7fc; color: #355e8e; }
body.site-public #main-content .lp-sidebar .lp-toc a[aria-current=location] { background: #edf3fc; color: #2865c5; font-weight: 600; }
body.site-public #main-content .lp-document { min-width: 0; padding: clamp(26px,3.6vw,44px); background: #fff; border: 1px solid #dbe4ef; border-radius: 17px; box-shadow: 0 12px 36px #1b345307; scroll-margin-top: 110px; }
body.site-public #main-content .lp-document .lp-updated { margin-bottom: 24px; padding: 8px 12px; font: 500 .68rem/1.8 var(--font-body); color: #6d89a8; border: 1px solid #dce6f2; background: #f6f9fd; border-radius: 6px; }
body.site-public #main-content .lp-document .lp-intro { margin-bottom: 12px; padding: 24px; border: 1px solid #dce7f4; border-radius: 11px; background: #f2f7fd; }
body.site-public #main-content .lp-document .lp-intro p { margin: 0; font-size: .9rem; line-height: 1.95; color: #4e6b8a; overflow-wrap: anywhere; }
body.site-public #main-content .lp-document .lp-section { padding-block: 32px; margin: 0; border-bottom: 1px solid #e0e7f0; scroll-margin-top: 110px; }
body.site-public #main-content .lp-document .lp-section:last-of-type { border-bottom: 0; }
body.site-public #main-content .lp-document .lp-section h2 { display: flex; align-items: baseline; gap: 12px; color: #294663; font-size: clamp(1.25rem,1.9vw,1.65rem); line-height: 1.6; margin-bottom: 22px; }
body.site-public #main-content .lp-document .lp-num { flex-shrink: 0; min-width: 32px; padding: 5px 7px; border: 1px solid #dce7f4; border-radius: 7px; background: #eff4fb; color: #6688af; font: 600 .72rem/1.8 var(--font-body); text-align: center; }
body.site-public #main-content .lp-document .lp-section h3 { font: 600 .95rem/1.8 var(--font-body); color: #486687; margin-block: 26px 12px; }
body.site-public #main-content .lp-document .lp-section :is(p,li) { font-size: .9rem; color: #60758c; line-height: 1.95; overflow-wrap: anywhere; }
body.site-public #main-content .lp-document .lp-section p { margin-bottom: 18px; }
body.site-public #main-content .lp-document .lp-section p:last-child { margin-bottom: 0; }
body.site-public #main-content .lp-document .lp-section :is(ul,ol) { padding-left: 22px; margin-block: 14px 20px; }
body.site-public #main-content .lp-document .lp-section ul { list-style: disc; }
body.site-public #main-content .lp-document .lp-section ol { list-style: decimal; }
body.site-public #main-content .lp-document .lp-section li { padding-left: 5px; margin-bottom: 10px; }
body.site-public #main-content .lp-document .lp-section li::marker { color: #7a99bb; }
body.site-public #main-content .lp-document .lp-section strong { color: #3b5777; font-weight: 600; }
body.site-public #main-content .lp-document .lp-section a { color: #2865c5; text-decoration: underline; text-decoration-color: #c0d3ef; text-underline-offset: 3px; }
body.site-public #main-content .lp-document .lp-contact-card { margin-top: 22px; padding: 25px; border: 1px solid #d7e4f3; border-radius: 12px; background: #f2f7fd; }
body.site-public #main-content .lp-document .lp-contact-card p { margin-bottom: 14px; font-size: .83rem; line-height: 1.9; }
body.site-public #main-content .lp-document .lp-contact-card i { color: #7393b8; width: 18px; margin-right: 8px; }
body.site-public #main-content .lp-related { margin-top: 22px; padding-top: 26px; border-top: 1px solid #dce6f1; }
body.site-public #main-content .lp-related-label { display: block; margin-bottom: 18px; font: 600 .64rem/1.8 var(--font-body); text-transform: uppercase; letter-spacing: .12em; color: #849ab3; }
body.site-public #main-content .lp-related > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
body.site-public #main-content .lp-related a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #dce6f2; border-radius: 8px; background: #fbfcfe; color: #6983a0; font-size: .74rem; line-height: 1.8; }
body.site-public #main-content .lp-related a[aria-current=page] { color: #2865c5; border-color: #bccfee; background: #edf3fc; }
body.site-public #main-content .lp-related i { font-size: .6rem; flex-shrink: 0; }
body.site-public #main-content .lp-layout :is(a,summary):focus-visible { outline: 3px solid #8eadd4; outline-offset: 3px; }
body.site-public #main-content .lp-section h2:focus { outline: none; }
@media(max-width:1000px) {
 body.site-public #main-content .lp-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
 body.site-public #main-content .lp-sidebar { position: static; max-height: none; overflow: visible; }
 body.site-public #main-content .lp-sidebar .lp-toc ol { columns: 2; }
 body.site-public #main-content .lp-sidebar .lp-toc li { break-inside: avoid; }
 body.site-public #main-content .lp-contents-panel > summary { padding: 21px 24px; }
}
@media(max-width:600px) {
 body.site-public #main-content .lp-document { padding: 26px 22px; border-radius: 13px; }
 body.site-public #main-content .lp-document .lp-intro { padding: 20px; }
 body.site-public #main-content .lp-document .lp-section { padding-block: 28px; }
 body.site-public #main-content .lp-document .lp-section h2 { gap: 10px; font-size: 1.3rem; }
 body.site-public #main-content .lp-document .lp-contact-card { padding: 22px 18px; }
 body.site-public #main-content .lp-sidebar .lp-toc ol { columns: 1; }
 body.site-public #main-content .lp-related > div { grid-template-columns: minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { body.site-public #main-content .lp-contents-panel > summary > i { transition: none; } }
