.no-top { margin-top: 0; }
/* .longterm-hero's shared rules (ui-v3.css) pack eyebrow/h1/p tightly
   together with almost no gap - fine for longterm.html's short one-liner
   subtitle, but this page's longer description read as one cramped block
   right under the title. Give this page's hero more room without touching
   the shared rule longterm.html also uses. */
.longterm-hero .eyebrow { display: block; margin-bottom: 8px; }
.longterm-hero h1 { margin: 0 0 14px; }
.longterm-hero p { margin-top: 0; }
/* .section-heading h3's shared margin (ui-v3.css) is only 5px from the
   eyebrow above it (SUMMARY / RISING / REBOOM WATCH / DECLINING all use
   this pattern on this page) - too tight, read as squished into the label. */
.section-heading h3 { margin-top: 10px; }
.forecast-market-switch { max-width: 220px; margin-top: 16px; }
.forecast-narrative { padding: 18px 20px; color: var(--ink); font-size: var(--fs-sm); line-height: 1.8; }
.forecast-narrative p { margin: 0; }
.forecast-narrative p + p { margin-top: 14px; }
.forecast-row { grid-template-columns: 110px minmax(140px,1fr) 96px; }
.forecast-row .history-name small { display: block; margin-bottom: 3px; color: var(--muted); font-size: var(--fs-2xs); font-weight: var(--fw-medium); }
.forecast-note { margin: 2px 0 0; padding: 0 0 10px; color: var(--muted); font-size: var(--fs-2xs); line-height: 1.6; }
.forecast-recent { margin: -6px 0 10px; padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.5); color: var(--muted); font-size: var(--fs-2xs); font-weight: var(--fw-bold); }
.forecast-recent b { margin-left: 4px; }
/* The shared .history-row/.trend-item divider color (rgba(255,255,255,.7))
   reads fine against a colored card background, but .axis-history's card
   background here is close to white, so a near-white line on white was
   invisible - not just faint, actually gone. */
.forecast-divider { margin: 10px 0; border: 0; border-top: 1px solid rgba(0,0,0,.09); }
@media (max-width: 620px) {
  .forecast-row { grid-template-columns: 84px minmax(120px,1fr) 74px; gap: 7px; }
}
