.forecast-section{padding:48px 0;border-bottom:1px solid var(--color-border);min-width:0;scroll-margin-top:20px;font-size:1rem}
.forecast-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}
.forecast-heading>div{min-width:0;max-width:770px}
.forecast-heading .eyebrow{margin-bottom:12px}
.forecast-heading h2{font-size:clamp(1.75rem,3vw,2.375rem);line-height:1.2;font-weight:500;letter-spacing:-.8px;margin:0 0 18px}
.forecast-intro{color:var(--color-muted);margin:0;font-size:1rem}
.forecast-heading>.text-button{flex:none}
.forecast-distinction{background:var(--color-brand-soft);padding:16px 20px;border-radius:6px;margin:0 0 28px;font-size:1rem;line-height:1.8}
.forecast-subheading{margin-bottom:18px}
.forecast-subheading h3{font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.5;font-weight:600;margin:0 0 10px;letter-spacing:-.2px}
.forecast-subheading>p{font-size:1rem;color:var(--color-muted);margin:0}
.forecast-periods,.forecast-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:16px;min-width:0}
.forecast-period,.forecast-day{min-width:0;border:1px solid var(--color-border);border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:flex-start}
.forecast-period h4,.forecast-day h4{font-size:1rem;font-weight:600;line-height:1.6;margin:0 0 14px;color:var(--color-muted)}
.forecast-summary{font-size:1rem;line-height:1.7;margin:0 0 16px;color:var(--color-ink)}
.forecast-period .forecast-summary{margin-bottom:0}
.forecast-degrees{font-size:1rem;font-variant-numeric:tabular-nums;line-height:1.6;font-weight:600;color:var(--color-brand);margin:auto 0 0}
.forecast-temperature{font-size:1rem;margin:14px 0 0;color:var(--color-muted)}
.forecast-temperature:empty{display:none}
.forecast-source{margin-top:16px;font-size:1rem;line-height:1.8;color:var(--color-muted)}
.forecast-source p{margin:0 0 5px}
.forecast-source a{display:inline-flex;align-items:center;min-height:44px}
.forecast-national{margin-top:28px;padding-top:28px;border-top:1px solid var(--color-border)}
.forecast-empty{grid-column:1/-1;min-width:0;font-size:1rem;color:var(--color-muted);background:var(--color-brand-soft);border-radius:8px;padding:24px;margin:0;min-height:110px;display:flex;align-items:center}
.forecast-fetch-status{font-size:1rem;line-height:1.8;color:var(--color-muted);margin:22px 0 8px}
.forecast-attribution{font-size:1rem;line-height:1.8;color:var(--color-muted);margin:0}
@media(max-width:700px){.forecast-section{padding:34px 0}.forecast-heading{display:block;margin-bottom:18px}.forecast-heading>.text-button{margin-top:14px;padding-left:0}.forecast-distinction{padding:16px}.forecast-periods,.forecast-days{gap:12px}.forecast-period,.forecast-day{padding:18px}.forecast-subheading h3{line-height:1.6}.forecast-heading h2{letter-spacing:-.6px}}
