.pitching-home{
  width:min(100% - 36px,1180px);margin:0 auto;
  padding:calc(var(--site-header-height) + 24px) 0 56px;
}
.section-kicker{
  margin:0;color:var(--site-accent);font-family:var(--site-cond);font-size:11px;font-weight:700;
  letter-spacing:.19em;text-transform:uppercase;
}
.pitching-status{padding:20px;border:1px solid var(--site-rule);border-radius:12px;background:var(--site-paper-strong);color:var(--site-muted);}

.forecast-board{
  position:relative;padding:24px 28px 20px;border-radius:18px;color:#fdfaf2;background:var(--site-ink);
  box-shadow:0 24px 60px rgba(19,42,33,.18);overflow:hidden;
}
.forecast-board::after{
  content:"";position:absolute;width:220px;height:220px;right:-125px;top:-130px;border-radius:50%;
  border:55px solid rgba(197,46,61,.19);pointer-events:none;
}
.forecast-board__lead{position:relative;z-index:1;max-width:650px;}
.forecast-board .section-kicker{color:#f17d89;}
.forecast-board h2{
  margin:3px 0 0;font-family:var(--site-display);font-size:clamp(34px,4.3vw,48px);font-weight:400;line-height:.92;text-transform:uppercase;
}
.section-head h2{margin:5px 0 0;font-family:var(--site-display);font-size:clamp(38px,5.4vw,64px);font-weight:400;line-height:.92;text-transform:uppercase;}
.forecast-board__lead>p:last-child{max-width:64ch;margin:8px 0 0;color:#c5d0cb;font-size:13px;line-height:1.42;}
.forecast-score{position:relative;z-index:1;display:flex;align-items:end;gap:14px;margin:18px 0 10px;}
.forecast-score__number{display:grid;gap:4px;}
.forecast-score__number span{color:#f1b1b8;font-family:var(--site-cond);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.forecast-score__number strong{font-family:var(--site-display);font-size:clamp(42px,5vw,56px);font-weight:400;line-height:.8;font-variant-numeric:tabular-nums;}
.forecast-score__number--muted span{color:#9eb0a8;}
.forecast-score__number--muted strong{color:#c5d0cb;}
.forecast-score__versus{padding-bottom:5px;color:#82968d;font-family:var(--site-cond);font-size:12px;text-transform:uppercase;}
.forecast-gap{align-self:center;margin-left:auto;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:var(--site-accent);font-family:var(--site-cond);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.forecast-track{position:relative;z-index:1;height:8px;margin-top:10px;border-radius:99px;background:rgba(255,255,255,.13);}
.forecast-track__fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#cf3444,#f07b85);transition:width .9s cubic-bezier(.2,.8,.2,1);}
.forecast-track__mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:#fdfaf2;}
.forecast-track__mark span{display:none;}
.team-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:12px;background:rgba(255,255,255,.15);border-radius:9px;overflow:hidden;}
.team-facts div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:8px 10px;background:rgba(255,255,255,.06);}
.team-facts span{color:#9eb0a8;font-family:var(--site-cond);font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;}
.team-facts strong{font-family:var(--site-display);font-size:20px;font-weight:400;}

.impact-map,.pitcher-reports{margin-top:clamp(48px,7vw,80px);}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;padding-bottom:16px;border-bottom:2px solid var(--site-ink);}
.section-head>p,.impact-map__aside>p{max-width:48ch;margin:0;color:var(--site-muted);font-size:13px;line-height:1.52;text-align:right;}
.impact-map__aside{display:grid;justify-items:end;gap:12px;}
.impact-filter{display:flex;padding:3px;border:1px solid var(--site-rule);border-radius:9px;background:#eee9dd;}
.impact-filter button{min-width:104px;min-height:36px;padding:7px 14px;border:0;border-radius:6px;background:transparent;color:var(--site-muted);font-family:var(--site-cond);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;}
.impact-filter button.active{color:#fff;background:var(--site-ink);box-shadow:0 1px 4px rgba(34,43,38,.16);}
.impact-filter button:focus-visible{outline:2px solid var(--site-gold);outline-offset:2px;}
.impact-map__frame{margin-top:20px;padding:14px 14px 6px;border:1px solid var(--site-rule);border-radius:18px;background:rgba(255,253,248,.87);box-shadow:0 16px 40px rgba(45,54,49,.07);}
#impactCanvas{display:block;width:100%;height:540px;touch-action:manipulation;}
.impact-legend{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:12px;color:var(--site-muted);font-family:var(--site-cond);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.impact-legend span{display:flex;align-items:center;gap:7px;}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;}.legend-dot--above{background:var(--site-accent);}.legend-dot--below{background:#91a098;}

.section-head--reports{align-items:center;}
.report-sort{display:flex;padding:3px;border:1px solid var(--site-rule);border-radius:9px;background:#eee9dd;}
.report-sort button{min-height:34px;padding:7px 12px;border:0;border-radius:6px;background:transparent;color:var(--site-muted);font-family:var(--site-cond);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.report-sort button.active{color:var(--site-ink);background:var(--site-paper-strong);box-shadow:0 1px 4px rgba(34,43,38,.12);}
.report-sort button:focus-visible{outline:2px solid var(--site-gold);outline-offset:2px;}
.pitcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;}
.pitcher-card{position:relative;display:grid;gap:18px;padding:22px;border:1px solid var(--site-rule);border-radius:16px;background:rgba(255,253,248,.9);box-shadow:0 12px 30px rgba(45,54,49,.06);overflow:hidden;scroll-margin-top:calc(var(--site-header-height) + 18px);}
.pitcher-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--site-accent);}
.pitcher-card.below::before{background:#9aa69f;}
.pitcher-card.is-target{animation:targetPulse 1.1s ease;}
.pitcher-card__head{display:flex;justify-content:space-between;gap:16px;align-items:start;}
.pitcher-rank{display:block;margin-bottom:3px;color:var(--site-muted);font-family:var(--site-cond);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;}
.pitcher-card h3{margin:0;font-family:var(--site-display);font-size:clamp(28px,3.4vw,39px);font-weight:400;line-height:.94;text-transform:uppercase;}
.pitcher-role{margin:5px 0 0;color:var(--site-muted);font-family:var(--site-cond);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.pitcher-gap{flex:0 0 auto;padding:7px 9px;border-radius:8px;color:#fff;background:var(--site-accent);font-family:var(--site-cond);font-size:12px;font-weight:700;}
.pitcher-card.below .pitcher-gap{background:#819188;}
.pitcher-story{margin:0;color:#465850;font-size:14px;line-height:1.55;}
.value-track{position:relative;height:8px;border-radius:99px;background:#e3ded2;}
.value-track__actual{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:var(--site-accent);transition:width .7s ease;}
.below .value-track__actual{background:#819188;}
.value-track__forecast{position:absolute;top:-5px;width:2px;height:18px;background:var(--site-ink);}
.value-track__labels{display:flex;justify-content:space-between;margin-top:8px;color:var(--site-muted);font-family:var(--site-cond);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.pitcher-stats{display:grid;grid-template-columns:1.2fr repeat(2,1fr);margin:0;border-top:1px solid var(--site-rule);border-bottom:1px solid var(--site-rule);font-variant-numeric:tabular-nums;}
.pitcher-stats div{display:contents;}.pitcher-stats dt,.pitcher-stats dd{margin:0;padding:8px 5px;border-bottom:1px solid #e3ded2;}.pitcher-stats div:last-child dt,.pitcher-stats div:last-child dd{border-bottom:0;}
.pitcher-stats dt{color:var(--site-muted);font-family:var(--site-cond);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}.pitcher-stats dd{text-align:right;font-size:12px;font-weight:700;}.pitcher-stats__head dt,.pitcher-stats__head dd{color:var(--site-muted);font-family:var(--site-cond);font-size:8px;letter-spacing:.1em;text-transform:uppercase;}
.pitching-note{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin-top:34px;padding-top:18px;border-top:1px solid var(--site-rule);color:var(--site-muted);font-size:11px;line-height:1.6;}.pitching-note p{margin:0;}.pitching-note a{color:var(--site-ink);text-underline-offset:3px;}

@keyframes targetPulse{0%,100%{box-shadow:0 12px 30px rgba(45,54,49,.06)}35%{box-shadow:0 0 0 5px rgba(197,46,61,.17),0 14px 34px rgba(45,54,49,.12)}}
@media (max-width:900px){
  .pitching-home{width:min(100% - 24px,1180px);padding-top:calc(var(--site-header-height) + 16px);}
  .forecast-score{gap:12px;}.forecast-gap{padding:8px 10px;font-size:11px;}
  #impactCanvas{height:500px;}.pitcher-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .forecast-board{padding:18px 15px 14px;border-radius:15px;}.forecast-board h2{font-size:34px;}
  .forecast-board__lead>p:last-child{font-size:12px;line-height:1.38;}
  .forecast-score{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:8px;margin:14px 0 7px;}.forecast-score__number strong{font-size:40px;}.forecast-score__versus{padding-bottom:4px;}.forecast-gap{grid-column:auto;align-self:end;justify-self:end;margin:0 0 1px;padding:6px 7px;font-size:9px;}
  .team-facts div{display:grid;justify-content:stretch;gap:2px;padding:7px 6px;}.team-facts strong{font-size:18px;}.team-facts span{font-size:7px;}
  .section-head{display:grid;gap:9px;}.section-head>p,.impact-map__aside>p{text-align:left;}.impact-map__aside{justify-items:stretch;gap:10px;}.impact-filter{width:100%;}.impact-filter button{flex:1;min-width:0;}.section-head--reports{align-items:start;}.report-sort{width:100%;}.report-sort button{flex:1;padding:7px 5px;}
  .impact-map{margin-top:42px;}.impact-map__frame{padding:8px 4px 2px;}#impactCanvas{height:480px;}.pitcher-card{padding:19px 16px;}.pitcher-card h3{font-size:31px;}.pitching-note{grid-template-columns:1fr;gap:12px;}
}
@media (prefers-reduced-motion:reduce){.forecast-track__fill,.value-track__actual{transition:none;}.pitcher-card.is-target{animation:none;}}
