/* Shared public reading component; hero and portal styles are independent. */
.sofl-public-detail .article-reading-section { --article-reading-offset:calc(var(--public-header-height,84px) + 24px); background:var(--public-section-background,#faf8f4); padding-block:clamp(28px,3vw,48px); margin-top:0; color:#425a7d; }
.sofl-public-detail .article-reading-layout { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:clamp(24px,3vw,42px); }
.sofl-public-detail .article-reading-layout.has-toc { grid-template-columns:clamp(240px,20vw,280px) minmax(0,1fr); }
.sofl-public-detail .article-reading-sidebar { position:sticky; top:var(--article-reading-offset); min-width:0; max-height:calc(100dvh - var(--article-reading-offset) - 24px); overflow-y:auto; border:1px solid #edf1f6; border-radius:12px; background:white; box-shadow:0 3px 14px #10264a05; }
.sofl-public-detail .article-reading-toc > summary { padding:20px; color:#10264a; font-size:16px; font-weight:700; list-style:none; cursor:pointer; }
.sofl-public-detail .article-reading-toc > summary::-webkit-details-marker { display:none; }
.sofl-public-detail .article-reading-toc > summary::after { content:'−'; float:right; }
.sofl-public-detail .article-reading-toc:not([open]) > summary::after { content:'+'; }
.sofl-public-detail [data-article-toc] { display:grid; gap:3px; padding:0 8px 14px; }
.sofl-public-detail [data-article-toc] a { display:flex; align-items:baseline; gap:14px; min-width:0; padding:12px 14px; border-left:4px solid transparent; border-radius:5px; color:#526b91; text-decoration:none; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.sofl-public-detail [data-article-toc] a:hover { background:#f3f7fd; }
    .sofl-public-detail [data-article-toc] a.is-active {
        border-left-color: #e9a321;
        background: #fff3df;
        color: #15365e;
    }
.sofl-public-detail [data-article-toc] .toc-number { flex:0 0 24px; font-variant-numeric:tabular-nums; }
.sofl-public-detail [data-article-toc] .is-subheading { padding-left:28px; font-size:15px; font-weight:650; }
.sofl-public-detail .article-reading-body { display:flow-root; min-width:0; font-family:var(--public-font-body); font-size:17px; line-height:1.7; color:#425a7d; overflow-wrap:anywhere; }
.sofl-public-detail .article-reading-body :is(h2,h3,h4,h5,h6) { color:#10264a; line-height:1.25; font-weight:700; margin:32px 0 12px; scroll-margin-top:var(--article-reading-offset); }
.sofl-public-detail .article-reading-body h2 { font-size:clamp(26px,2.2vw,24px); }
.sofl-public-detail .article-reading-body h3 { font-size:clamp(22px,1.7vw,22px); }
.sofl-public-detail .article-reading-body :is(h4,h5,h6) { font-size:21px; }
.sofl-public-detail .article-reading-body > :first-child { margin-top:0; }
.sofl-public-detail .article-reading-body p { font-size:inherit; line-height:inherit; color:inherit; margin:0 0 18px; }
.sofl-public-detail .article-reading-body :is(ul,ol) { padding-left:1.5em; margin:16px 0 24px; }
.sofl-public-detail .article-reading-body li { margin-block:7px; line-height:1.65; }
.sofl-public-detail .article-reading-body li :is(ul,ol) { margin-block:8px; }
.sofl-public-detail .article-reading-body :is(strong,b) { color:#162d4d; font-weight:700; }
.sofl-public-detail .article-reading-body a { color:#075bb5; text-decoration:underline; text-underline-offset:3px; }
.sofl-public-detail .article-reading-body a:hover { color:#08376a; }
.sofl-public-detail .article-reading-body blockquote { margin:24px 0; padding:22px 26px; border-left:3px solid #bb8c2b; border-radius:10px; background:#fff7e8; color:#263d59; }
.sofl-public-detail .article-reading-body blockquote > :last-child { margin-bottom:0; }
.sofl-public-detail .article-reading-body img { max-width:100%; height:auto !important; border-radius:10px; margin-block:16px; }
.sofl-public-detail .article-reading-body figure { max-width:100%; margin:24px 0; }
.sofl-public-detail .article-reading-body figcaption { color:#607699; font-size:14px; line-height:1.5; text-align:inherit; }
.sofl-public-detail .article-reading-table { max-width:100%; overflow-x:auto; margin:24px 0; border:1px solid #dce4ef; border-radius:8px; }
.sofl-public-detail .article-reading-body table { border-collapse:collapse; width:100%; min-width:32rem; font-size:15px; }
.sofl-public-detail .article-reading-body :is(th,td) { padding:12px 14px; border:1px solid #dce4ef; vertical-align:top; }
.sofl-public-detail .article-reading-body th { background:#eef4fb; color:#10264a; font-weight:700; }
.sofl-public-detail .article-reading-body caption { padding:12px; color:#526b91; }
.sofl-public-detail .article-reading-body pre { max-width:100%; overflow-x:auto; padding:18px; border-radius:8px; background:#eef3f9; }
.sofl-public-detail .article-reading-body hr { border-color:#dce4ef; margin-block:28px; }
.sofl-public-detail .article-reading-section :is(a,summary,[tabindex]):focus-visible { outline:3px solid #bb8c2b; outline-offset:3px; }
.sofl-public-detail .article-reading-section [hidden] { display:none !important; }
@media(max-width:991.98px) {
 .sofl-public-detail .article-reading-layout.has-toc { grid-template-columns:minmax(0,1fr); }
 .sofl-public-detail .article-reading-sidebar { position:static; max-height:none; }
 .sofl-public-detail .article-reading-toc[open] nav { max-height:45dvh; overflow-y:auto; }
 .sofl-public-detail .article-reading-body { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .sofl-public-detail .article-reading-section * { scroll-behavior:auto; } }

@media(min-width:992px) { .sofl-public-detail .article-reading-toc > summary::after { display:none; } }

/* One shared content card and two optional sidebar blocks for both article products. */
.sofl-public-detail .article-reading-layout { gap:20px; }
.sofl-public-detail .article-reading-body { padding:clamp(22px,2.2vw,40px); border:1px solid #e8edf3; border-radius:14px; background:#fff; box-shadow:0 4px 18px #08264c06; }
.sofl-public-detail .article-reading-body h2 { font-size:clamp(23px,1.8vw,30px); }
.sofl-public-detail .article-reading-body > h2:not(:first-child) { border-top:1px solid #edf0f4; padding-top:22px; margin-top:24px; }
.sofl-public-detail .article-reading-body li::marker { color:#bb8c2b; }
.sofl-public-detail .article-reading-related { min-width:0; display:grid; gap:18px; align-content:start; }
.sofl-public-detail .article-reading-related-card { min-width:0; border:1px solid #e8edf3; border-radius:12px; background:#fff; padding:20px 16px; box-shadow:0 3px 14px #08264c05; }
.sofl-public-detail .article-reading-related-card h2 { display:flex; align-items:center; gap:10px; margin:0 0 16px; font-size:16px; line-height:1.4; color:#08264c; }
.sofl-public-detail .article-reading-related-card h2 > i { color:#bb8c2b; font-size:20px; }
.sofl-public-detail :is(.article-topic-links,.article-category-links) { list-style:none; margin:0; padding:0; }
.sofl-public-detail .article-topic-links { display:grid; gap:8px; }
.sofl-public-detail .article-topic-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; background:#faf6ec; border-radius:7px; color:#08264c; text-decoration:none; font-size:14px; line-height:1.4; }
.sofl-public-detail .article-topic-links a:hover { background:#f5ebd6; }
.sofl-public-detail .article-topic-links i { color:#bb8c2b; flex-shrink:0; }
.sofl-public-detail .article-category-links li + li { margin-top:12px; padding-top:12px; border-top:1px solid #edf0f4; }
.sofl-public-detail .article-category-links a { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:12px; text-decoration:none; }
.sofl-public-detail .article-category-links img { width:76px; height:60px; object-fit:cover; border-radius:7px; }
.sofl-public-detail .article-category-links strong { display:block; color:#08264c; font-size:14px; line-height:1.4; }
.sofl-public-detail .article-category-links a:hover strong { color:#996f20; }
.sofl-public-detail .article-category-links small { display:block; margin-top:5px; font-size:12px; color:#4d4d4d; }
@media(min-width:1200px) {
 .sofl-public-detail .article-reading-layout.has-related { grid-template-columns:minmax(0,3fr) minmax(240px,1fr); }
 .sofl-public-detail .article-reading-layout.has-toc { grid-template-columns:minmax(200px,18fr) minmax(0,82fr); }
 .sofl-public-detail .article-reading-layout.has-toc.has-related { grid-template-columns:minmax(190px,18fr) minmax(0,56fr) minmax(240px,26fr); }
}
@media(min-width:992px) and (max-width:1199.98px) {
 .sofl-public-detail .article-reading-layout.has-toc { grid-template-columns:210px minmax(0,1fr); }
 .sofl-public-detail .article-reading-layout.has-toc .article-reading-related { grid-column:2; }
}
@media(max-width:991.98px) { .sofl-public-detail .article-reading-layout,.sofl-public-detail .article-reading-layout.has-toc { grid-template-columns:minmax(0,1fr); } }
@media(max-width:575px) { .sofl-public-detail .article-reading-body { padding:22px 18px; } }
