.forecast-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.5rem;align-items:center;border-top:2px solid var(--accent);border-bottom:1px solid var(--line);padding:2rem 0 2.5rem}
.forecast-intro .eyebrow{color:var(--accent);margin-bottom:1rem}
.forecast-intro h3{font-size:clamp(2rem,3.2vw,3rem);line-height:1.12;max-width:15ch}
.forecast-intro>p:not(.eyebrow){font-family:var(--display);font-size:1rem;line-height:1.7;color:var(--muted);margin-top:1.2rem}
.forecast-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1.4rem 0 0;padding:0}
.forecast-stats div{display:flex;flex-direction:column}.forecast-stats dt{font-family:var(--display);font-size:1.75rem;font-weight:700;color:var(--accent)}.forecast-stats dd{margin:0;font: .875rem/1.5 'Courier New',monospace;color:var(--muted)}
.forecast-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.8rem}.forecast-tabs[hidden]{display:none}
.forecast-tabs button{background:transparent;color:var(--muted);font: .875rem/1.4 'Courier New',monospace;min-height:44px;padding:.6rem .8rem;border:1px solid transparent;border-bottom:2px solid var(--line);cursor:pointer}
.forecast-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:bold}
.forecast-tabs button:focus-visible,.forecast-panel:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.forecast-panel[hidden]{display:none}.forecast-panel figure{margin:0}.forecast-media{display:flex;align-items:center;justify-content:center;background:#eaf0f0;aspect-ratio:1.55;overflow:hidden;border:1px solid var(--line)}
.forecast-media img{width:100%;height:100%;object-fit:contain}.forecast-media.sponsor{padding:1rem;background:#e8edf0}.forecast-media.sponsor img{width:auto;max-width:100%;box-shadow:0 4px 18px #0002}.forecast-media.timeline{padding:.65rem;background:#f2f5f8}
.forecast-panel figcaption{font:.875rem/1.65 var(--display);color:var(--muted);margin-top:.8rem;min-height:7rem}.forecast-panel figcaption a{display:inline-block;margin-top:.3rem;color:var(--accent)}.forecast-panel .visual-year{display:block;font: .8125rem/1.5 'Courier New',monospace;margin-bottom:.4rem}
.forecast-gallery{min-width:0}.forecast-gallery>div:not([hidden])+div[data-forecast-panel]{margin-top:1rem}
.sponsor-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.65rem}.sponsor-controls[hidden]{display:none}.sponsor-controls button{min-height:44px;min-width:44px;padding:.5rem .8rem;border:1px solid var(--line);background:var(--paper);color:var(--accent);font:.875rem/1.4 'Courier New',monospace;cursor:pointer}.sponsor-controls button:disabled{opacity:.4;cursor:default}.sponsor-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sponsor-controls output{font:.875rem/1.4 'Courier New',monospace;min-width:4rem;text-align:center;color:var(--ink)}
.forecast-story{max-width:850px;padding-block:3rem 5rem}.forecast-story h1{font-size:clamp(2.6rem,5.8vw,4.9rem);line-height:1.08;letter-spacing:-.05em;margin:1.5rem 0}
.forecast-story .story-deck{font:1.125rem/1.7 var(--display);color:var(--muted);margin-bottom:1.5rem}.forecast-story h2{font-size:clamp(1.65rem,3vw,2.15rem);margin:2.8rem 0 1rem;line-height:1.25}
.forecast-story p,.forecast-story li{font:1rem/1.8 var(--display);color:var(--muted)}.forecast-story p+p{margin-top:1rem}.forecast-story strong{color:var(--ink)}.forecast-story ul{padding-left:1.3rem}.forecast-story li+li{margin-top:.5rem}
.forecast-story .forecast-gallery{margin:2rem 0}.forecast-story .forecast-media{aspect-ratio:1.8}.forecast-story .forecast-panel figcaption{min-height:0}.forecast-story .story-scope{border-left:3px solid var(--accent);padding-left:1rem;margin:1.8rem 0}.forecast-story .source-note{font-size:.875rem;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:3rem}
.forecast-story .table-scroll{overflow-x:auto}.forecast-story table{width:100%;border-collapse:collapse;font:.9375rem/1.6 var(--display);margin:1.5rem 0}.forecast-story th,.forecast-story td{text-align:left;padding:.75rem;border-bottom:1px solid var(--line);vertical-align:top}.forecast-story th{color:var(--accent)}
[data-theme=dark] .forecast-intro .button{background:var(--accent);color:var(--paper)}
html.geocities .forecast-feature,body.geocities .forecast-feature{border:3px ridge #bbb;padding:1.25rem}
@media(max-width:800px){.forecast-feature{grid-template-columns:minmax(0,1fr);gap:1.5rem}.forecast-intro{grid-row:1}.forecast-intro h3{max-width:22ch}.forecast-panel figcaption{min-height:0}.forecast-story{padding-top:2rem}.forecast-story .forecast-media{aspect-ratio:1.4}.forecast-tabs button{padding:.6rem}.forecast-stats{gap:1rem}}
@media(prefers-reduced-motion:reduce){.forecast-feature *{scroll-behavior:auto}}

/* Four project highlights, with room for their labels. */
.forecast-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1.5rem}
@media(max-width:400px){.forecast-stats{grid-template-columns:minmax(0,1fr)}}
