/* ── Devvy commercial web — case-specific styles on top of
   shared/theme.css + shared/case.css ── */

/* the pitch-vs-record table */
.pvr { display: flex; flex-direction: column; gap: 8px; }
.pvr-head {
  display: grid; grid-template-columns: 1fr 34px 1fr; gap: 8px;
  color: var(--fg-faint); font-size: 9px; text-transform: uppercase; letter-spacing: 2px;
  padding: 0 2px 4px; border-bottom: 1px solid var(--border);
}
.pvr-h-record { text-align: left; }
.pvr-row { display: grid; grid-template-columns: 1fr 34px 1fr; gap: 8px; align-items: stretch; }
.pvr-claim, .pvr-record {
  border: 1px solid var(--border); background: var(--bg); padding: 9px 12px;
  font-size: 11.5px; line-height: 1.5; color: var(--fg-dim);
}
.pvr-claim { border-left: 2px solid var(--cyan, #5db3d1); }
.pvr-record { border-left: 2px solid var(--amber-dim); }
.pvr-mid {
  display: flex; align-items: center; justify-content: center;
  color: var(--fg-faint); font-size: 9px; letter-spacing: 1px;
}
.pvr-src { display: block; margin-top: 5px; font-size: 10px; color: var(--fg-faint); }
.pvr-src:hover { color: var(--amber); }
@media (max-width: 760px) {
  .pvr-head { display: none; }
  .pvr-row { grid-template-columns: 1fr; }
  .pvr-mid { display: none; }
}

/* the federal award run */
.aw-stats {
  display: flex; flex-wrap: wrap; gap: 6px 22px; padding-bottom: 10px;
  margin-bottom: 10px; border-bottom: 1px dashed var(--border);
  color: var(--fg-faint); font-size: 10.5px;
}
.aw-stats b { color: var(--fg-dim); font-weight: 600; }
.aw-stats b.amber { color: var(--amber); }
.aw-list { display: flex; flex-direction: column; }
.aw-row {
  display: grid; grid-template-columns: 74px 170px 76px 1fr; gap: 10px;
  align-items: center; padding: 3px 2px; cursor: pointer; font-size: 10.5px;
}
.aw-row:hover { background: var(--bg-raised); }
.aw-date { color: var(--fg-faint); }
.aw-bar-wrap { height: 9px; background: var(--bg); border: 1px solid var(--border); }
.aw-bar { display: block; height: 100%; background: var(--amber-dim); }
.aw-row:hover .aw-bar { background: var(--amber); }
.aw-amt { color: var(--amber); text-align: right; }
.aw-desc { color: var(--fg-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 700px) {
  .aw-row { grid-template-columns: 70px 1fr 76px; }
  .aw-desc { grid-column: 1 / -1; padding-left: 80px; margin-top: -2px; }
}

/* the cast */
.cast-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 14px 22px; }
.cast-group-label {
  color: var(--fg-faint); font-size: 9.5px; text-transform: uppercase; letter-spacing: 2px;
  padding-bottom: 5px; border-bottom: 1px solid var(--border); margin-bottom: 6px;
}
.cast-row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 4px 2px; cursor: pointer;
}
.cast-row:hover { background: var(--bg-raised); }
.cast-name a { color: var(--fg); }
.cast-role { color: var(--fg-dim); font-size: 10.5px; text-align: right; max-width: 60%; }

/* the two-Millers exhibit */
.collide { display: grid; grid-template-columns: 1fr 86px 1fr; gap: 10px; align-items: stretch; }
.collide-card {
  border: 1px solid var(--border); background: var(--bg); padding: 12px 14px; cursor: pointer;
}
.collide-card:hover { border-color: var(--amber-dim); }
.collide-card.is-wv { border-style: dashed; }
.collide-card .cc-kicker {
  color: var(--fg-faint); font-size: 9px; text-transform: uppercase; letter-spacing: 2px;
}
.collide-card .cc-name { margin: 4px 0 8px; font-size: 13.5px; font-weight: 700; }
.collide-card .cc-name a { color: var(--fg); }
.collide-card ul { margin: 0; padding-left: 16px; color: var(--fg-dim); font-size: 11px; line-height: 1.65; }
.collide-mid {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.collide-neq { color: var(--red, #d15d5d); font-size: 26px; font-weight: 700; }
.collide-note {
  color: var(--fg-faint); font-size: 9px; text-transform: uppercase;
  letter-spacing: 1.5px; text-align: center; line-height: 1.7;
}
@media (max-width: 700px) {
  .collide { grid-template-columns: 1fr; }
  .collide-mid { flex-direction: row; padding: 2px 0; }
  .collide-note br { display: none; }
}
