/* Public FinLexicon detail only. Shared navbar, footer and portal views are unchanged. */
.sofl-public-term-page .sofl-public-term { background: #fafbfd; }
.sofl-public-term-page .sofl-public-term {
    --term-navy: #061b33;
    --term-ink: #10264a;
    --term-gold: #d99a20;
    color: var(--term-ink);
    padding-bottom: var(--public-section-space, 48px);
}
.sofl-public-term-page .sofl-public-term .sofl-public-term-hero { background: var(--term-navy); color: #fff; padding: 24px 0 48px; }
.sofl-public-term-page .sofl-public-term .sofl-term-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 28px; font-size: 13px; line-height: 1.6; }
.sofl-public-term-page .sofl-public-term .sofl-term-breadcrumb a, .sofl-public-term-page .sofl-public-term .sofl-term-breadcrumb span { color: #e5edf6; text-decoration: none; }
.sofl-public-term-page .sofl-public-term .sofl-term-breadcrumb a:hover { color: #ffd277; }
.sofl-public-term-page .sofl-public-term .sofl-term-hero-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: 40px; }
.sofl-public-term-page .sofl-public-term .sofl-term-hero-layout.without-image { grid-template-columns: minmax(0, 850px); }
.sofl-public-term-page .sofl-public-term .sofl-term-category-badge { display: inline-block; padding: 5px 14px; border-radius: 5px; background: #89631f; color: #fff; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-hero h1 { font-family: var(--public-font-heading); font-size: clamp(38px, 5vw, 68px); color: #fff; line-height: 1.1; margin: 12px 0 10px; letter-spacing: -.025em; overflow-wrap: anywhere; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-hero p { color: #e7edf3; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.6; max-width: 760px; margin: 0; }
.sofl-public-term-page .sofl-public-term .sofl-term-hero-image { width: 100%; max-height: 230px; object-fit: contain; border-radius: 10px; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-layout { display: grid; grid-template-columns: minmax(160px, 17fr) minmax(0, 60fr) minmax(240px, 23fr); align-items: start; gap: 20px; margin-top: 0; padding-top: clamp(28px, 3vw, 44px); }
.sofl-public-term-page .sofl-public-term .sofl-term-section-sidebar { position: sticky; top: var(--term-scroll-offset, 100px); min-width: 0; }
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav { border: 1px solid #e9eef5; padding: 4px; border-radius: 12px; background: #fff; box-shadow: 0 4px 18px #10264a05; }
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav a { display: block; padding: 17px 20px; border-left: 3px solid transparent; border-radius: 5px; color: var(--term-ink); font-size: 15px; text-decoration: none; line-height: 1.45; }
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav a.is-active { background: #fff3df; border-left-color: #e9a321; font-weight: 650; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-main, .sofl-public-term-page .sofl-public-term .sofl-public-term-sidebar { display: grid; gap: 18px; min-width: 0; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-card { min-width: 0; padding: 24px; border: 1px solid #e8eef5; border-radius: 12px; background: #fff; box-shadow: 0 3px 15px #10264a05; scroll-margin-top: var(--term-scroll-offset, 100px); }
.sofl-public-term-page .sofl-public-term .sofl-public-term-card h2 { color: #081e43; font-family: var(--public-font-heading); font-size: clamp(22px, 2.4vw, 22px); font-weight: 700; line-height: 1.2; margin: 0 0 20px; letter-spacing: -.025em; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-card p, .sofl-public-term-page .sofl-public-term .sofl-article-content { font-size: 16px; line-height: 1.75; color: #263d61; overflow-wrap: anywhere; }
.sofl-public-term-page .sofl-public-term .sofl-article-content > :last-child { margin-bottom: 0; }
.sofl-public-term-page .sofl-public-term .sofl-article-content :is(blockquote, aside, .callout, .info-box) { margin: 18px 0; padding: 18px 20px; background: #f0f6fd; border: 0; border-radius: 7px; }
.sofl-public-term-page .sofl-public-term .sofl-article-content :is(img, video, iframe) { max-width: 100%; }
.sofl-public-term-page .sofl-public-term .sofl-article-content img { height: auto; }
.sofl-public-term-page .sofl-public-term .sofl-article-content table { display: block; max-width: 100%; overflow-x: auto; }
.sofl-public-term-page .sofl-public-term .sofl-term-image { display: block; width: 100%; padding: 8px; border: 1px solid #edf1f7; border-radius: 8px; background: #fff; cursor: zoom-in; }
.sofl-public-term-page .sofl-public-term .sofl-term-image img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-sidebar .sofl-public-term-card { padding: 20px; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-sidebar h2 { font-size: 22px; margin-bottom: 16px; }
.sofl-public-term-page .sofl-public-term .sofl-term-info-list { margin: 0; font-size: 15px; }
.sofl-public-term-page .sofl-public-term .sofl-term-info-list > div { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12px; padding: 17px 0; border-top: 1px solid #f0f3f7; }
.sofl-public-term-page .sofl-public-term .sofl-term-info-list dt { font-weight: 650; }
.sofl-public-term-page .sofl-public-term .sofl-term-info-list dd { margin: 0; overflow-wrap: anywhere; }
.sofl-public-term-page .sofl-public-term .sofl-term-difficulty { display: inline-flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.sofl-public-term-page .sofl-public-term .sofl-term-difficulty-dot { width: 8px; height: 8px; border-radius: 50%; background: #91a4c4; }
.sofl-public-term-page .sofl-public-term .level-1 .sofl-term-difficulty-dot { background: #1caa8c; }
.sofl-public-term-page .sofl-public-term .level-2 .sofl-term-difficulty-dot { background: #d99a20; }
.sofl-public-term-page .sofl-public-term .level-3 .sofl-term-difficulty-dot { background: #c45a52; }
.sofl-public-term-page .sofl-public-term .sofl-term-tags { display: flex; gap: 10px; flex-wrap: wrap; }
.sofl-public-term-page .sofl-public-term .sofl-term-tag { padding: 8px 12px; border-radius: 6px; background: #edf5ff; color: #0755b3; font-size: 15px; overflow-wrap: anywhere;font-weight: 500; }
.sofl-public-term-page .sofl-public-term .sofl-term-tag:nth-child(even) { color: #07785f; background: #e5f7f1; }
.sofl-public-term-page .sofl-public-term .sofl-term-subscription { padding: 24px 20px; background: #061b33; border-radius: 12px; color: #fff; }
.sofl-public-term-page .sofl-public-term .sofl-term-subscription h2 { color: #fff; font-family: var(--public-font-heading); font-size: 28px; line-height: 1.15; margin-bottom: 20px; }
.sofl-public-term-page .sofl-public-term .sofl-term-subscription h2 > span { color: #ffc443; }
.sofl-public-term-page .sofl-public-term .sofl-term-subscription p { color: #f1f4f8; font-size: 16px; line-height: 1.5; }
.sofl-public-term-page .sofl-public-term .sofl-term-subscription a { display:flex; justify-content:space-between; width:100%; margin-top:20px; }
.sofl-public-term-page .sofl-public-term .sofl-public-locked-cta { border: 1px solid #e7d9b3; border-radius: 12px; padding: 24px; background: #fffbf2; }
.sofl-public-term-page .sofl-public-term .sofl-public-locked-cta h2 { font-family: var(--public-font-heading); font-size: 28px; margin: 12px 0; }
.sofl-public-term-page .sofl-public-term .sofl-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.sofl-public-term-page .sofl-public-term :is(a, button):focus-visible { outline: 3px solid #d99a20; outline-offset: 4px; }
@media (min-width: 768px) and (max-width: 1199.98px) {
    .sofl-public-term-page .sofl-public-term .sofl-public-term-layout { grid-template-columns: minmax(0, 1fr) minmax(230px, 30%); }
    .sofl-public-term-page .sofl-public-term .sofl-term-section-sidebar { grid-column: 1 / -1; position: static; }
    .sofl-public-term-page .sofl-public-term .sofl-term-section-nav { display: flex; overflow-x: auto; }
    .sofl-public-term-page .sofl-public-term .sofl-term-section-nav a { white-space: nowrap; }
}
@media (max-width: 767.98px) {
    .sofl-public-term-page .sofl-public-term .sofl-public-term-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 20px; }
    .sofl-public-term-page .sofl-public-term .sofl-term-section-sidebar { position: static; }
    .sofl-public-term-page .sofl-public-term .sofl-term-section-nav { display: flex; overflow-x: auto; }
    .sofl-public-term-page .sofl-public-term .sofl-term-section-nav a { white-space: nowrap; padding: 12px 14px; }
    .sofl-public-term-page .sofl-public-term .sofl-term-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .sofl-public-term-page .sofl-public-term .sofl-term-hero-image { max-height: 180px; }
    .sofl-public-term-page .sofl-public-term .sofl-public-term-hero { padding: 18px 0 30px; }
    .sofl-public-term-page .sofl-public-term .sofl-term-breadcrumb { margin-bottom: 20px; font-size: 12px; }
    .sofl-public-term-page .sofl-public-term .sofl-public-term-card { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) { .sofl-public-term-page .sofl-public-term * { scroll-behavior: auto; transition: none; } }

.sofl-public-term [hidden] { display: none !important; }
.sofl-public-term-page .sofl-public-term #definition .sofl-article-content > :is(ul, ol) { margin-block: 18px; padding: 18px 20px 18px 40px; background: #f0f6fd; border-radius: 7px; }

/* Editorial detail refinements. All rules stay inside this page. */
.sofl-public-term-page .sofl-public-term .sofl-term-hero-layout.without-image { grid-template-columns: minmax(0, 900px); }
.sofl-public-term-page .sofl-public-term .sofl-public-term-hero { padding-block: 28px clamp(40px,4vw,64px); }
.sofl-public-term-page .sofl-public-term .sofl-term-hero-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; font-size:13px; color:#e2eaf5; }
.sofl-public-term-page .sofl-public-term .sofl-term-hero-meta > span { border:1px solid #526173; border-radius:20px; padding:7px 12px; }
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav h2 { font-size:16px; font-weight:700; margin:14px 16px 18px; }
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav a { padding:13px 14px; }
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav a:hover { background:#fff8ea; color:#10264a; }
.sofl-public-term-page .sofl-public-term .sofl-article-content p { margin-block:0 1.15em; }
.sofl-public-term-page .sofl-public-term .sofl-article-content :is(ul,ol) { padding-left:1.5em; margin-block:1.1em; }
.sofl-public-term-page .sofl-public-term .sofl-article-content li + li { margin-top:.55em; }
.sofl-public-term-page .sofl-public-term .sofl-article-content :is(h2,h3,h4,h5,h6) { margin:.85em 0 .65em; line-height:1.35; color:var(--term-ink); }
.sofl-public-term-page .sofl-public-term .sofl-article-content :is(strong,b) { color:#10264a; }
.sofl-public-term-page .sofl-public-term .sofl-article-content a { color:#0755a5; text-decoration:underline; text-underline-offset:3px; }
.sofl-public-term-page .sofl-public-term .sofl-article-content pre { max-width:100%; overflow-x:auto; white-space:pre-wrap; }
.sofl-public-term-page .sofl-public-term .sofl-term-related { margin-top:var(--public-section-space,48px); }
.sofl-public-term-page .sofl-public-term .sofl-term-related > h2 { font-family:var(--public-font-heading); font-size:clamp(26px,3vw,36px); margin:0 0 24px; }
.sofl-public-term-page .sofl-term-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sofl-public-term-page .sofl-term-related-grid > article { min-width:0; }
.sofl-public-term-page .sofl-term-related-grid .public-article { display:flex; flex-direction:column; background:#fff; border:1px solid #e8eef5; border-radius:12px; overflow:hidden; }
.sofl-public-term-page .sofl-term-related-grid .public-article-image img { display:block; width:100%; aspect-ratio:2; object-fit:cover; }
.sofl-public-term-page .sofl-term-related-grid .public-article-body { padding:20px; }
.sofl-public-term-page .sofl-term-related-grid .public-article-badges { font-size:12px; color:#805716; margin-bottom:10px; }
.sofl-public-term-page .sofl-term-related-grid h3 { font-family:var(--public-font-heading); font-size:20px; line-height:1.4; }
.sofl-public-term-page .sofl-term-related-grid h3 a { color:var(--term-ink); text-decoration:none; }
.sofl-public-term-page .sofl-term-related-grid p { font-size:15px; line-height:1.65; }
.sofl-public-term-page .sofl-term-related-grid .public-article-meta { display:flex; flex-wrap:wrap; gap:12px; font-size:12px; }
.sofl-public-term-page .sofl-term-related-grid .hlv-video { border:1px solid #e8eef5; border-radius:12px; background:white; overflow:hidden; }
.sofl-public-term-page .sofl-term-related-grid .hlv-thumb { position:relative; display:block; }
.sofl-public-term-page .sofl-term-related-grid .hlv-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.sofl-public-term-page .sofl-term-related-grid .hlv-play { position:absolute; inset:0; display:grid; place-items:center; color:white; font-size:28px; text-shadow:0 1px 8px #000; }
.sofl-public-term-page .sofl-term-related-grid .hlv-duration { position:absolute; right:10px; bottom:10px; background:#10264a; color:white; padding:3px 7px; font-size:12px; border-radius:4px; }
.sofl-public-term-page .sofl-term-related-grid .hlv-video-body { padding:20px; }
.sofl-public-term-page .sofl-term-related-grid .hlv-badges { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; margin-bottom:12px; }
.sofl-public-term-page .sofl-term-related-grid .hlv-free { color:#08734d; }
.sofl-public-term-page .sofl-term-related-grid .hlv-video-meta { font-size:13px; }
@media(max-width:1199.98px) { .sofl-public-term-page .sofl-term-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:991.98px) { .sofl-public-term-page .sofl-public-term .sofl-public-term-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:767.98px) {
.sofl-public-term-page .sofl-public-term .sofl-term-section-nav h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.sofl-public-term-page .sofl-term-related-grid { grid-template-columns:minmax(0,1fr); }
}

.sofl-public-term-page .sofl-public-term .sofl-public-term-card { margin-bottom:0; }
.sofl-public-term-page .sofl-public-term .sofl-public-term-card .sofl-article-content { font-size:16px; line-height:1.75; }
.sofl-public-term-page .sofl-term-related-grid .public-article-image { display:block; position:relative; }
.sofl-public-term-page .sofl-term-related-grid .wealth-image-premium { position:absolute; left:12px; bottom:12px; padding:5px 10px; border-radius:20px; background:#fff0ca; color:#805716; font-size:12px; }
.sofl-public-term-page .sofl-term-related-grid .wealth-access-state { color:#805716; }
.sofl-public-term-page .sofl-term-related-grid .public-article-image img { height:auto; }

/* Explore terms reuses the listing card stylesheet; only section layout is local. */
.sofl-public-term-page .sofl-term-explore { background:var(--public-section-background, #faf8f4); box-shadow:0 0 0 100vmax #faf8f4; clip-path:inset(0 -100vmax); margin-top:var(--public-section-space); padding-block:var(--public-section-space); }
.sofl-public-term-page .sofl-term-explore-header { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-bottom:32px; }
.sofl-public-term-page .sofl-term-explore-header > div { min-width:0; }
.sofl-public-term-page .sofl-term-explore .fin-text-button { flex-shrink:0; }
.sofl-public-term-page .sofl-term-explore .fin-directory-grid { --bs-gutter-x:16px; --bs-gutter-y:16px; }
.sofl-public-term-page .sofl-term-explore .fin-directory-grid > div > article { width:100%; }
@media(max-width:767.98px) { .sofl-public-term-page .sofl-term-explore-header { align-items:flex-start; flex-direction:column; gap:18px; } }

.sofl-public-term-page .sofl-public-term .sofl-term-subscription .sofl-term-subscription-note { border-top:1px solid #ffffff66; margin:20px 0 0; padding-top:18px; }

.sofl-term-hero-navigation { display:flex; justify-content:space-between; align-items:flex-start; gap:16px 28px; flex-wrap:wrap; margin-bottom:24px; }
.sofl-term-hero-navigation .sofl-term-breadcrumb { margin-bottom:0; }
.sofl-public-term-hero { --public-heading-color:#fff; }
.sofl-public-term-hero .sofl-term-back { margin-left:auto; white-space:nowrap; }

.sofl-public-term-hero .sofl-term-back:focus-visible { outline:3px solid #f0c664; outline-offset:4px; }
@media(max-width:575px) { .sofl-public-term-hero .sofl-term-back { margin-left:0; } }
/* History timeline: preserve the term's authored content without fabricated dates. */
.sofl-history-timeline { position:relative; display:grid; gap:24px; padding-left:30px; margin-top:24px; }
.sofl-history-timeline::before { content:''; position:absolute; top:28px; bottom:28px; left:6px; width:1px; background:#dfe6ef; }
.sofl-history-entry { position:relative; min-width:0; padding:22px 26px; border:1px solid #dfe7f2; border-radius:14px; background:linear-gradient(110deg,#fff,#fffdf9); }
.sofl-history-entry::before { content:''; position:absolute; left:-32px; top:26px; width:10px; height:10px; border-radius:50%; background:#bb8c2b; box-shadow:0 0 0 5px #faf6eb; }
.sofl-public-term-page .sofl-history-entry :is(h2,h3,h4) { color:#08264c; font-size:18px; line-height:1.4; margin:0 0 12px; }
.sofl-public-term-page .sofl-history-entry > p:first-child:has(> strong:only-child) { color:#a47520; font-size:14px; font-weight:600; margin-bottom:8px; }
.sofl-history-entry > :last-child { margin-bottom:0; }
@media(max-width:575px) { .sofl-history-timeline { padding-left:24px; gap:18px; } .sofl-history-entry { padding:18px; } .sofl-history-entry::before { left:-26px; } }

.sofl-history-period { display:block; color:#a47520; font-size:17px; font-weight:600; margin-bottom:8px; }

.sofl-term-hero-badges { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:16px; }
.sofl-term-hero-badges .sofl-term-category-badge { margin:0; }
.sofl-term-free-badge,.sofl-term-paid-badge { display:inline-flex; align-items:center; padding:7px 14px; border-radius:7px; font-size:14px; line-height:1.4; font-weight:600; }
.sofl-term-free-badge { background:#183f2c; color:#bbefc7; }
.sofl-term-paid-badge { background:#493a1d; color:#f0d18d; }

/* Dark term surfaces supply the shared secondary-copy color. */
.sofl-public-term-page :is(.sofl-public-term-hero,.sofl-term-subscription) { --public-description-color:#fff; }

.sofl-public-term-page .sofl-public-term .sofl-term-section-nav .sofl-term-quiz-login { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.sofl-term-quiz-login small { display:block; margin-top:3px; font-size:13px; color:#4d4d4d; font-weight:400; }
.sofl-term-quiz-login > i { font-size:19px; flex-shrink:0; }

