.needs-check {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
  background: #141b17;
  border: 1px solid var(--line);
  padding: clamp(24px, 5vw, 54px);
}
.needs-copy h3, .need-next h3 {
  font: 600 clamp(2rem, 4vw, 3.5rem)/1 "Oswald";
  text-transform: uppercase;
  margin: 12px 0 18px;
}
.needs-copy > p:not(.eyebrow):not(.muted) { font-size: 1.08rem; }
.needs-stack { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.needs-stack button {
  min-height: 54px;
  border: 1px solid var(--line);
  background: #1b2b22;
  color: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: .2s;
  width: 100%;
}
.needs-stack button:nth-child(1) { width: 52%; background: #5c4527; }
.needs-stack button:nth-child(2) { width: 64%; background: #34443e; }
.needs-stack button:nth-child(3) { width: 76%; background: #5d3c31; }
.needs-stack button:nth-child(4) { width: 88%; background: #2d4737; }
.needs-stack button:nth-child(5) { background: #25322b; }
.needs-stack button:hover, .needs-stack button.active {
  border-color: var(--gold);
  filter: brightness(1.25);
  transform: translateY(-1px);
}
.needs-stack b { font: 600 16px "Oswald"; text-transform: uppercase; letter-spacing: .06em; }
.needs-stack span { font-size: 12px; color: var(--muted); }
.need-next { margin: 12px 0 34px; padding: 24px; border-left: 4px solid var(--gold); background: #101712; }
.need-next h3 { font-size: 1.65rem; margin: 8px 0; }
.need-next p { color: var(--muted); margin: 0; }
.goal-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--gold);
  font: 600 12px "Oswald";
  letter-spacing: .16em;
  margin-bottom: 18px;
}
.goal-divider::after { content: ""; height: 1px; background: var(--line); flex: 1; }
@media (max-width: 850px) { .needs-check { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .needs-check { padding: 22px; }
  .needs-stack button:nth-child(n) { width: 100%; }
}
