/* ============================================================
   RevOps Investment Field Study — project-specific additions.
   Loaded AFTER report.css; the base kit is untouched.
   Adds: the denominator cascade (The Line), the source-grade
   cards, and the two-dataset disagreement bars.
   ============================================================ */

:root{
  --in-band:#642585;      /* answer lands inside 5–10% */
  --out-band:#CD9FC6;     /* answer lands outside      */
  --band-fill:#E8FFCF;    /* the 5–10% reference band  */
  --band-edge:#C7F59B;
}

/* ---------- THE LINE: denominator cascade ---------- */
.casc{position:relative;padding:30px 0 26px;margin-top:4px}
.casc__band{position:absolute;top:0;bottom:34px;background:var(--band-fill);
  border-left:2px dashed var(--band-edge);border-right:2px dashed var(--band-edge);
  border-radius:4px;z-index:0}
.casc__bandlab{position:absolute;top:4px;left:50%;transform:translateX(-50%);
  font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#7a9a52;z-index:2;white-space:nowrap}

.cascrow{position:relative;z-index:1;display:grid;
  grid-template-columns:238px 1fr 168px;align-items:center;gap:16px;margin-bottom:13px}
.cascrow__lab{text-align:right;line-height:1.3;min-width:0}
.cascrow__lab b{display:block;font-size:13.5px;font-weight:750;color:var(--ls-ink)}
.cascrow__lab span{display:block;font-size:11.5px;color:var(--ls-dark-gray);font-weight:550;margin-top:1px}
.cascrow__track{position:relative;height:26px;background:transparent;min-width:0}
.cascrow__fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.2,.7,.3,1)}
.cascrow.is-in  .cascrow__fill{background:var(--in-band)}
.cascrow.is-out .cascrow__fill{background:var(--out-band)}
.cascrow__v{position:absolute;top:50%;transform:translateY(-50%);
  font-size:14px;font-weight:850;color:var(--ls-ink);white-space:nowrap}
.cascrow.is-in .cascrow__v{color:var(--ls-strong-purple)}
.cascrow__src{font-size:11px;color:#8d8391;font-weight:600;line-height:1.35;min-width:0}

.casc__axis{position:relative;height:20px;margin-top:6px;border-top:1px solid var(--ls-light-gray)}
.casc__tick{position:absolute;top:5px;transform:translateX(-50%);
  font-size:10.5px;font-weight:700;color:#9b8fa3}

@media(max-width:820px){
  .cascrow{grid-template-columns:1fr;gap:5px;margin-bottom:20px}
  .cascrow__lab{text-align:left}
  .cascrow__src{font-size:11px}
  .casc__bandlab{font-size:9.5px}
}

/* ---------- the two-dataset disagreement ---------- */
.dis{margin-bottom:22px}
.dis__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}
.dis__head b{font-size:14px;font-weight:750;color:var(--ls-ink)}
.dis__n{font-size:11px;font-weight:650;color:#8d8391;white-space:nowrap}
.dis__track{position:relative;height:30px;background:var(--track);border-radius:7px;overflow:hidden}
.dis__fill{height:100%;border-radius:7px;transition:width .6s cubic-bezier(.2,.7,.3,1)}
.dis__fill--a{background:var(--ls-strong-purple)}
.dis__fill--b{background:var(--ls-medium-purple)}
.dis__v{position:absolute;right:11px;top:50%;transform:translateY(-50%);
  font-size:14px;font-weight:850;color:var(--ls-ink)}
.dis__why{font-size:12.5px;color:var(--ls-dark-gray);line-height:1.5;margin:8px 0 0;font-weight:520}

/* ---------- source grading cards ---------- */
.srcgrid{display:flex;flex-direction:column;gap:11px;margin-top:6px}
.src{display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:start;
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;
  padding:16px 18px;box-shadow:var(--shadow);min-width:0}
.src__grade{display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:11px;font-size:16px;font-weight:850;color:#fff;letter-spacing:-.02em}
.src__grade--a{background:#642585}
.src__grade--b{background:#9257AC}
.src__grade--c{background:#CD9FC6}
.src__grade--d{background:#B8868F}
.src__grade--f{background:#8C4A52}
.src__body{min-width:0}
.src__name{font-size:14px;font-weight:780;color:var(--ls-ink);margin:0 0 4px;line-height:1.3}
.src__date{font-size:11px;font-weight:600;color:#9b8fa3;margin-left:8px;white-space:nowrap}
.src__claim{font-size:13px;color:var(--ls-dark-gray);line-height:1.55;margin:0 0 7px;font-weight:530}
.src__claim b{color:var(--ls-ink);font-weight:750}
.src__meta{font-size:11.5px;color:#8d8391;margin:0;line-height:1.45;font-weight:550}
.src__n{display:inline-block;background:var(--ls-purple-soft);color:var(--ls-strong-purple);
  font-weight:750;padding:2px 7px;border-radius:5px;margin-right:8px;white-space:nowrap}

@media(max-width:640px){
  .src{grid-template-columns:40px 1fr;gap:12px;padding:14px}
  .src__grade{width:36px;height:36px;font-size:14px;border-radius:9px}
  .src__date{display:block;margin-left:0;margin-top:2px}
}

/* ---------- bar label category chip ---------- */
.bar__lab .cat{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#9b8fa3;background:var(--ls-purple-soft);padding:2px 6px;border-radius:5px;margin-left:6px;
  white-space:nowrap}
@media(max-width:720px){.bar__lab .cat{display:none}}

/* ---------- mobile: let truncating labels actually truncate ----------
   A `1fr` grid track resolves to minmax(auto,1fr) and will not shrink below its
   content's min-content width, so nowrap labels push the panel wider than the
   viewport and the page scrolls sideways. min-width:0 releases that floor. */
.segrow,.segrow__lab{min-width:0}
.segwrap,.catgrid,.finds,.arch,.recgrid,.split,.srcgrid{min-width:0}
.segpanel,.catcard,.find,.acard,.rec,.figure{min-width:0}
.bar__lab,.grp__lab{min-width:0}
.bar,.grp{min-width:0}
.bar__lab>span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:640px){
  .segrow__lab{flex:0 0 46%}
  .segrow__v{width:42px}
}

/* ---------- footer brand row (matches the reference build) ---------- */
.fbrand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em;
  font-size:15px;margin-bottom:12px}
