/* Shared reading shell. Imported editorial HTML is deliberately not reset. */
.ff-reader-context{--reader-ink:#132e4b;color:var(--reader-ink);margin:0 0 32px;font-family:Montserrat,Arial,sans-serif}
/* clip prevents horizontal spill without making main a sticky scroll container. */
.local-article-main:has(.ff-reader-context){overflow:clip}
.ff-reader-period-picker>summary{display:none;font-size:12px;font-weight:600;cursor:pointer;padding:14px 16px;background:#fff;border:1px solid #d2dce6;border-radius:6px}
.ff-reader-edition{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;font-size:12px;color:#53667a;padding-bottom:20px}
.ff-reader-badge{background:#eaf0f6;color:#132e4b;padding:6px 10px;border-radius:4px;font-weight:700}.ff-reader-badge--week{background:#f4ecdd;color:#77551d}.ff-reader-badge--article{background:#edf2ec;color:#3d5f42}
.ff-reader-periods{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:16px 18px;border:1px solid #d2dce6;border-radius:8px;background:#fff}.ff-reader-periods>span{font-size:12px;font-weight:600;margin-right:10px}.ff-reader-periods a{display:block;text-decoration:none;color:#132e4b;font-size:12px;font-weight:600;padding:10px 13px;border:1px solid #d2dce6;border-radius:5px;min-height:42px;line-height:20px}.ff-reader-periods a.is-selected{background:#132e4b;color:#fff;border-color:#132e4b}.ff-reader-periods a:hover{border-color:#a7782e}
body.single-post .native-single-content.ff-reader-ready{display:grid;grid-template-columns:minmax(0,1fr) 265px;column-gap:40px;max-width:1240px;padding-top:20px;align-items:start}
.ff-reader-ready>.ff-reader-context{grid-column:1/-1;grid-row:1}.ff-reader-ready>.native-single-fallback-header{grid-column:1;grid-row:2}
body.single-post .ff-reader-ready>.native-single-body{grid-column:1;grid-row:3;width:100%;max-width:100%;min-width:0;margin:0}
.ff-reader-ready>.wp-block-post-navigation-link,.ff-reader-ready>.native-single-featured-image{grid-column:1;min-width:0}
.ff-reader-outline{grid-column:2;grid-row:3 / span 10;position:sticky;top:var(--ff-reader-top,110px);align-self:start;margin:0;padding:22px 20px;background:#f4f6f9;border:1px solid #d2dce6;border-top:3px solid #ad833e;border-radius:8px;color:#132e4b;max-height:calc(100vh - var(--ff-reader-top,110px) - 24px);overflow-y:auto;font-family:Montserrat,Arial,sans-serif}
.ff-reader-outline summary{font-size:13px;font-weight:700;cursor:pointer;line-height:1.5}.ff-reader-current{display:none}.ff-reader-outline p{font-size:12px;line-height:1.75;color:#53667a;margin:14px 0 18px}.ff-reader-outline ol{list-style:none;padding:0;margin:0;counter-reset:reader}.ff-reader-outline li{padding:0;margin:0}.ff-reader-outline a{display:block;padding:12px 10px;margin:3px -6px;text-decoration:none;color:#354e68;font-size:12px;line-height:1.65;border-left:3px solid transparent;border-radius:0 4px 4px 0;overflow-wrap:anywhere}.ff-reader-outline a[aria-current]{border-left-color:#a7782e;background:#e6ecf3;color:#132e4b;font-weight:700}.ff-reader-outline progress{display:block;appearance:none;width:100%;height:4px;border:0;background:#d7e0e9;margin-top:18px;border-radius:4px;overflow:hidden}.ff-reader-outline progress::-webkit-progress-bar{background:#d7e0e9}.ff-reader-outline progress::-webkit-progress-value{background:#a7782e}.ff-reader-outline progress::-moz-progress-bar{background:#a7782e}
.ff-reader-ready :is(h2,section[id],.native-single-body){scroll-margin-top:calc(var(--ff-reader-top,110px) + 25px)}
.ff-reader-context a:focus-visible,.ff-reader-outline :is(a,summary):focus-visible{outline:3px solid #a7782e;outline-offset:3px}
/* Match the approved continuous reader, retaining direct-child review contracts. */
body.single-post .ff-reader-ready :is(.ff-daily-market-review__header,.ff-weekly-market-review__header){background:#fff;border:0;border-radius:0;padding:0 0 30px;border-bottom:1px solid #d2dce6;overflow:visible}
body.single-post .ff-reader-ready :is(.ff-daily-market-review__header,.ff-weekly-market-review__header) h1{font-size:clamp(34px,3.4vw,48px);line-height:1.13;text-wrap:pretty;color:#132e4b;margin:14px 0 22px}
body.single-post .ff-reader-ready :is(.ff-daily-market-review__lead,.ff-weekly-market-review__lead){font-size:18px;line-height:1.85;color:#53667a}
body.single-post .ff-reader-ready :is(.ff-market-story,.ff-weekly-market-story){background:#fff;border:0;border-top:1px solid #d2dce6;border-radius:0;box-shadow:none;padding:32px 0 0;margin:38px 0 0}
body.single-post .ff-reader-ready :is(.ff-market-story,.ff-weekly-market-story)>h2{font-size:30px;line-height:1.25;color:#132e4b;margin:12px 0 24px;text-wrap:pretty}
body.single-post .ff-reader-ready .ff-market-story>h3{font-family:Montserrat,Arial,sans-serif;font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:#825817;font-weight:700;margin:26px 0 10px;line-height:1.5}
body.single-post .ff-reader-ready :is(.ff-market-story,.ff-weekly-market-story)>:is(p,ul,ol){font-size:17px;line-height:1.9;color:#243e58;margin-top:10px;margin-bottom:20px}
body.single-post .ff-reader-ready .ff-weekly-focus{margin-top:28px;padding:24px;background:#f4f6f9;border:1px solid #d2dce6;border-radius:7px;color:#132e4b}
body.single-post .ff-reader-ready .ff-weekly-focus h2{font-size:25px;line-height:1.3;color:#132e4b}.ff-reader-ready .ff-weekly-focus__signals>br{display:none}
body.single-post .ff-reader-ready .ff-weekly-focus__change{font-size:15px;line-height:1.8;color:#354e68}
body.single-post .ff-reader-ready .ff-weekly-focus__signals{grid-template-columns:1fr;gap:0;margin-top:18px}.ff-reader-ready .ff-weekly-focus__signal{padding:14px 0;background:transparent;border:0;border-top:1px solid #d2dce6;border-radius:0;font-size:13px;line-height:1.75;color:#354e68}
body.single-post .ff-reader-ready :is(.ff-weekly-index-chart,.ff-market-chart){margin:28px 0;padding:16px;background:#f4f6f9;border:1px solid #d2dce6;border-radius:8px;max-width:100%;overflow:hidden}
body.single-post .ff-reader-ready :is(.ff-weekly-index-chart,.ff-market-chart) img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;background:#fff}
body.single-post .ff-reader-ready figcaption{font-size:12px;line-height:1.75;color:#53667a;text-align:left;margin:14px 0 0}
.ff-reader-ready .ff-daily-market-review__nav[hidden]{display:none!important}
@media(max-width:1099px){body.single-post .native-single-content.ff-reader-ready{display:flex;flex-direction:column;gap:0;max-width:900px}.ff-reader-ready>.ff-reader-context{order:0;width:100%}.ff-reader-ready>.native-single-fallback-header{order:1}.ff-reader-ready>.ff-reader-outline{order:2;width:100%;z-index:30;margin:0 0 24px;padding:13px 17px;max-height:calc(100vh - var(--ff-reader-top,100px) - 30px);background:#fff;box-shadow:0 4px 12px #132e4b0b}.ff-reader-ready>.native-single-body{order:3}.ff-reader-ready>.wp-block-post-navigation-link{order:4}.ff-reader-ready>.native-single-featured-image{order:2}.ff-reader-outline details:not([open]) .ff-reader-current{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#53667a;font-weight:400;font-size:11px;max-width:calc(100% - 18px);margin-top:3px}.ff-reader-outline details[open] nav{max-height:35vh;overflow-y:auto}.ff-reader-outline progress{margin-top:10px;height:3px}.ff-reader-ready :is(h2,section[id],.native-single-body){scroll-margin-top:calc(var(--ff-reader-top,100px) + 115px)}}
@media(max-width:600px){.ff-reader-context{margin-bottom:22px}.ff-reader-edition{font-size:11px;gap:9px 14px}.ff-reader-periods{padding:12px;gap:6px}.ff-reader-periods>span{width:100%;margin-bottom:3px}.ff-reader-periods a{font-size:11px;padding:9px 12px}.ff-reader-ready>.ff-reader-outline{border-radius:5px}body.single-post .ff-reader-ready :is(.ff-daily-market-review__header,.ff-weekly-market-review__header) h1{font-size:34px}body.single-post .ff-reader-ready :is(.ff-daily-market-review__lead,.ff-weekly-market-review__lead){font-size:16px;line-height:1.85}body.single-post .ff-reader-ready :is(.ff-market-story,.ff-weekly-market-story)>h2{font-size:27px;line-height:1.27}body.single-post .ff-reader-ready :is(.ff-market-story,.ff-weekly-market-story)>:is(p,ul,ol){font-size:16px;line-height:1.85}body.single-post .ff-reader-ready .ff-weekly-focus{padding:20px 17px}body.single-post .ff-reader-ready .ff-weekly-focus h2{font-size:24px}body.single-post .ff-reader-ready :is(.ff-weekly-index-chart,.ff-market-chart){padding:9px}body.single-post .ff-reader-ready :is(.ff-weekly-index-chart,.ff-market-chart) img{max-height:440px}}
@media(prefers-reduced-motion:reduce){.ff-reader-ready{scroll-behavior:auto}}
@media print{.ff-reader-context,.ff-reader-outline{display:none!important}body.single-post .native-single-content.ff-reader-ready{display:block;max-width:100%}}
@media(max-width:1099px){.ff-reader-period-picker>summary{display:list-item;list-style-position:inside}.ff-reader-period-picker .ff-reader-periods{margin-top:8px}.local-article-main:has(.ff-reader-context) .article-context-topics__label{display:none}.local-article-main:has(.ff-reader-context) .article-context-navigation{gap:12px}.local-article-main:has(.ff-reader-context) .article-context-topics{gap:0}.local-article-main:has(.ff-reader-context) .article-context-topics__list{margin:0}.ff-reader-context a:focus-visible,.ff-reader-period-picker>summary:focus-visible{outline:3px solid #a7782e;outline-offset:3px}}
