.problem-lede {
  font-size: clamp(22px, 3vw, 32px); font-weight: 800; letter-spacing: -0.8px; line-height: 1.2;
  color: var(--text); margin-bottom: 20px;
}
.problem-lede span { color: var(--blue2); }
.problem-body { font-size: 16.5px; color: var(--text2); line-height: 1.7; max-width: 760px; margin-bottom: 48px; }
.problem-body strong { color: var(--text); font-weight: 500; }

.prob-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--border2); border-radius: var(--r2);
  overflow: hidden; background: var(--border); gap: 1px;
}
.prob {
  padding: 28px 24px 28px; background: var(--bg1);
  display: flex; flex-direction: column; gap: 14px; transition: background .15s;
}
.prob:hover { background: var(--bg2); }
.prob-num { font-family: var(--mono); font-size: 12px; color: var(--text3); letter-spacing: 0.04em; }
.prob h4 { font-size: 15px; font-weight: 700; color: var(--text); letter-spacing: -0.2px; line-height: 1.3; }
.prob p { font-size: 13px; color: var(--text2); line-height: 1.6; }
.prob-tag { display: inline-flex; align-items: center; gap: 5px; font-family: var(--mono); font-size: 10px; padding: 3px 9px; border-radius: 3px; width: fit-content; letter-spacing: 0.04em; }
.prob-tag::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: 0.9; flex-shrink: 0; }
.tag-red   { background: rgba(239,68,68,0.1);  color: #f87171; border: 1px solid rgba(239,68,68,0.22); }
.tag-amber { background: rgba(245,158,11,0.1); color: #fbbf24; border: 1px solid rgba(245,158,11,0.22); }

.breach-bar {
  margin-top: 24px; padding: 18px 22px;
  background: rgba(239,68,68,0.05); border: 1px solid rgba(239,68,68,0.18);
  border-radius: var(--r2); display: flex; align-items: center; gap: 14px;
}
.breach-bar svg { width: 17px; height: 17px; color: #f87171; flex-shrink: 0; }
.breach-bar p { font-size: 14px; line-height: 1.5; color: var(--text2); }
.breach-bar strong { color: var(--text); font-weight: 500; }
