/* Paid report reading experience. Scoped away from the builder and app shell. */
.report-editorial {
  --report-muted: #606060;
  --report-rule: #dededb;
  --report-nav-top: 96px;
  --report-anchor-offset: 180px;
  background: var(--if-bg-page);
  color: var(--if-text-primary);
  padding-bottom: 1px;
}
[data-theme="dark"] .report-editorial {
  --report-muted: #b6b6b6;
  --report-rule: #484848;
}
.report-editorial .report-cover { background: var(--if-bg-surface); }
.report-editorial .report-cover-clear-nav { padding-top: var(--report-navbar-height, 96px); }
.report-editorial .report-cover > .container > .d-flex { padding: 40px 0 28px !important; }
.report-editorial .report-cover h1 {
  max-width: 920px;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.15;
  letter-spacing: -.035em;
  margin-top: 16px !important;
  margin-bottom: 20px !important;
  text-wrap: balance;
}
.report-editorial .report-kicker {
  font-family: var(--if-font-sans-serif);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--report-muted);
  margin: 0 0 12px;
}
.report-cover-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; margin: 12px 0 10px; }
.report-editorial .report-cover-meta,
.report-editorial .report-cover .summary-disclaimer { color: var(--report-muted); font-size: 13px !important; }
.report-cover-meta span + span { border-left: 1px solid var(--report-rule); padding-left: 20px; }
.report-editorial .report-cover-actions .if-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 16px;
  font-size: 13px;
  line-height: 1.4;
}
.report-editorial .report-cover-actions .report-cover-export {
  background: transparent;
  color: var(--report-muted);
  border-color: transparent;
  box-shadow: none;
  font-weight: 400;
}
.report-editorial .report-cover-actions .report-cover-export:hover {
  color: var(--if-text-primary);
  background: var(--if-bg-surface-alt);
}
.report-cover-next { width: 100%; margin-top: 28px; }
.report-editorial .pb-cta {
  background: var(--if-bg-surface);
  color: var(--if-text-primary);
  border: 1px solid var(--report-rule);
  border-radius: 12px;
  box-shadow: none;
  padding: 16px 20px;
}
.report-editorial .pb-cta:hover { border-color: var(--if-link-blue-hover); box-shadow: none; transform: none; }
.report-editorial .pb-cta-title { font-size: 14px; color: var(--if-text-primary); }
.report-editorial .pb-cta-sub { font-size: 12px; color: var(--report-muted); }
.report-editorial .pb-cta-go { color: var(--if-link-blue-hover); font-size: 13px; }
.report-editorial .pb-cta-spark { width: 34px; height: 34px; background: var(--if-bg-surface-alt); color: var(--if-text-primary); border-radius: 50%; }
.report-editorial .report-briefing { padding-top: 48px; padding-bottom: 32px; }
.report-briefing-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 28px; }
.report-editorial .report-briefing h2 { font-size: clamp(26px, 3vw, 36px); letter-spacing: -.025em; margin: 0; }
.report-text-link { font-size: 13px; font-weight: 700; text-decoration: none; color: var(--if-text-primary); }
.report-briefing-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 28px; list-style: none; padding: 0; margin: 0; }
.report-briefing-list li { border-top: 1px solid var(--report-rule); padding-top: 18px; min-width: 0; }
.report-finding-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  background: var(--if-bg-surface);
}
.report-finding-icon::before { position: static; width: 24px; height: 24px; }
.report-editorial .report-briefing-list p { font-size: 15px; line-height: 1.75; margin: 12px 0 0; overflow-wrap: anywhere; }
.report-editorial .report-briefing-note { font-size: 12px; color: var(--report-muted); margin: 24px 0 0; }
.report-contents { position: sticky; top: var(--report-nav-top); z-index: 99; background: var(--if-bg-page); border-top: 1px solid var(--report-rule); border-bottom: 1px solid var(--report-rule); margin-bottom: 40px; }
.report-contents-inner { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: thin; }
.report-contents a { flex: 0 0 auto; padding: 18px 0; font-size: 13px; font-weight: 700; color: var(--report-muted); text-decoration: none; border-bottom: 2px solid transparent; }
.report-contents a:hover, .report-contents a:focus-visible { color: var(--if-text-primary); border-bottom-color: var(--if-link-blue-hover); }
.report-editorial a:focus-visible, .report-editorial button:focus-visible { outline: 2px solid var(--if-link-blue-hover); outline-offset: 4px; }
.report-editorial [id^="report-"] { scroll-margin-top: var(--report-anchor-offset); }
.report-editorial #report-pdf-content > .container.if-bg-light,
.report-editorial #report-risk-diversification .if-bg-light { background: var(--if-bg-surface); }
.report-editorial #report-pdf-content > .container { margin-bottom: 40px !important; }
.report-editorial #report-pdf-content h3 { font-size: 25px; line-height: 1.3; letter-spacing: -.025em; }
.report-editorial #report-risk-diversification h3 { font-size: 20px; }
.report-editorial #report-risk-diversification > .row > div > .if-bg-light { height: 100%; }
.report-editorial #report-risk-diversification .fs-2 { font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.report-editorial #report-risk-diversification .report-bar-container-segments { margin-top: 8px !important; }
.report-editorial #report-risk-diversification .report-bar-container-segments span[style*="var(--if-white)"] { background: var(--if-bg-surface-alt) !important; }
.report-editorial #report-pdf-content .report-if-response {
  background: var(--if-bg-surface);
  border-left: 1px solid var(--report-rule);
}
.report-editorial #report-pdf-content .report-if-response-bottom { border-left: 0; border-top: 1px solid var(--report-rule); }
.report-editorial #report-pdf-content .report-if-response-paragraph {
  font-family: var(--if-font-sans-serif);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.85;
  color: var(--if-text-primary);
  padding: 32px 0 0;
}
.report-editorial #report-pdf-content .report-if-response-paragraph::before {
  content: "";
  width: 40px;
  height: 3px;
  background: var(--if-gradient);
  border-radius: 2px;
}
.report-editorial #report-positions ul { margin-bottom: 0; }
.report-editorial #report-positions li { padding-bottom: 16px; border-bottom: 1px solid var(--report-rule); }
.report-editorial #report-positions li:last-child { margin-bottom: 0 !important; border-bottom: 0; padding-bottom: 0; }
.report-editorial #report-positions .report-bar-container { background: var(--if-bg-surface-alt); }
.report-editorial #report-positions .report-holding-label-copy { white-space: normal; }
.report-editorial .report-line-value { font-variant-numeric: tabular-nums; }
.report-editorial #report-nux-action-list > div { background: var(--if-bg-surface); }
/* Keep reports readable without motion/JS; chart animations retain their hooks. */
.report-editorial .fade-in-box { opacity: 1; transform: none; }
@media (max-width: 1199.98px) {
  .report-editorial #report-pdf-content .report-if-response { border-left: 0; border-top: 1px solid var(--report-rule); }
}
@media (max-width: 575.98px) {
  .report-editorial .report-cover-actions .if-button { min-height: 44px; }
  .report-editorial .report-cover > .container > .d-flex { padding: 28px 8px 24px !important; }
  .report-editorial .report-briefing { padding: 32px 24px 24px; }
  .report-briefing-heading { align-items: start; flex-direction: column; gap: 14px; margin-bottom: 24px; }
  .report-briefing-list { grid-template-columns: 1fr; gap: 20px; }
  .report-briefing-list li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; }
  .report-editorial .report-briefing-list p { margin: 0; }
  .report-contents-inner { gap: 24px; padding-left: 24px; padding-right: 24px; }
  .report-contents { margin-bottom: 24px; }
  .report-cover-meta span + span { padding-left: 12px; }
  .report-cover-meta { gap: 6px 12px; }
  .report-editorial #report-pdf-content > .container { margin-bottom: 24px !important; }
  .report-editorial #report-pdf-content h3 { font-size: 23px; }
  .report-editorial .pb-cta { gap: 10px; padding: 14px; }
  .report-editorial .pb-cta-go { white-space: normal; }
}
@media print {
  .report-contents, .report-cover-next { display: none; }
}
