/* Forecasting follows the site's cream, navy, blue and copper design canon. */
.forecast-intro{padding:42px 0;border-block:1px solid var(--line);background:var(--tint)}
.forecast-intro .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.forecast-intro .eyebrow{margin-bottom:12px;color:var(--copper)}
.forecast-intro h2{font-size:30px;max-width:420px}
.forecast-intro p{margin:0;color:var(--muted)}
.forecast-intro .forecast-link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font-weight:600;text-underline-offset:4px}
.forecast-hero{padding:64px 0 72px;border-bottom:1px solid var(--line)}
.forecast-hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center}
.forecast-hero h1{font-size:clamp(38px,4.2vw,56px);max-width:630px;text-wrap:balance}
.forecast-hero .lead{margin-top:24px;max-width:580px;text-wrap:pretty}
.forecast-hero .btn{margin-top:28px}
.forecast-map{margin:0 10px 10px 0;padding:28px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--copper);border-radius:var(--r);box-shadow:10px 10px 0 var(--lime);text-align:center}
.forecast-map .eyebrow{margin-bottom:22px}
.forecast-map-node{padding:18px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.forecast-map-node b{display:block;font-size:19px;line-height:1.3}
.forecast-map-node small{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.forecast-map-core{background:var(--tint);border-color:#c5caee}
.forecast-arrow{display:block;margin:8px 0;color:var(--copper);font-size:24px;line-height:1}
.forecast-map-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.forecast-map-actions span{padding:8px 12px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-weight:600}
.forecast-map .forecast-feedback{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--accent)}
.forecast-benefits .lead{max-width:700px}
.forecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px}
.forecast-card{padding:28px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.forecast-icon{width:28px;height:28px;margin-bottom:18px;fill:none;stroke:var(--copper);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.forecast-card h3{font-size:23px}
.forecast-card p{margin:12px 0 0;color:var(--muted);font-size:16px;text-wrap:pretty}
.forecast-learning{background:var(--tint);border-block:1px solid var(--line)}
.forecast-learning .split{align-items:start}
.forecast-learning .lead{margin-top:0}
.forecast-learning p+p{margin-top:18px}
.forecast-learning .forecast-approval{font-size:15px;color:var(--ink)}
.forecast-connections{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.forecast-connections a{display:block;height:100%;padding:24px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);background:#fff}
.forecast-connections a:hover{border-color:var(--accent)}
.forecast-connections a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.forecast-connections h3{font-size:20px}
.forecast-connections p{margin:10px 0 16px;font-size:15px;color:var(--muted)}
.forecast-connections span{font-size:14px;font-weight:600;color:var(--accent)}
.forecast-close{background:var(--tint);border-top:1px solid var(--line);text-align:center}
.forecast-close h2{max-width:760px;margin:auto}
.forecast-close .lead{margin:18px auto 28px}
@media(max-width:980px){.forecast-hero .wrap{grid-template-columns:1fr;gap:36px}.forecast-map{max-width:540px;width:calc(100% - 10px)}.forecast-intro .wrap{grid-template-columns:1fr;gap:18px}.forecast-intro h2{max-width:600px}.forecast-learning .split{gap:24px}}
@media(max-width:650px){.forecast-hero{padding:42px 0 48px}.forecast-intro{padding:32px 0}.forecast-intro h2{font-size:27px}.forecast-map{padding:22px;box-shadow:6px 6px 0 var(--lime);margin-right:6px;width:calc(100% - 6px)}.forecast-grid,.forecast-connections{grid-template-columns:1fr}.forecast-card{padding:24px}.forecast-card h3{font-size:21px}}
