/* ===== shared brief-page components (used by researched ventures) ===== */
/* depends on tokens + fonts from brand.css */

.brief section{padding:clamp(38px,7vw,60px) 0; border-top:1px solid var(--stroke-soft)}
.brief .kicker{font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.13em;
  color:var(--violet); display:flex; align-items:center; gap:10px; margin:0 0 20px}
.brief .kicker::before{content:""; width:20px; height:1px; background:var(--violet)}
.brief h2{font-size:clamp(1.5rem,3.4vw,2rem); margin:0 0 14px}
.brief p.lead{font-size:1.08rem; color:var(--muted); max-width:var(--readw)}

/* masthead status + meta */
.brief .masthead{display:grid; grid-template-columns:1fr auto; gap:var(--s-lg); align-items:end;
  padding:var(--s-lg) 0 var(--s-sm)}
.brief .masthead h1{font-size:clamp(2rem,5.2vw,3.1rem)}
.brief .dek{font-size:1.1rem; color:var(--muted); margin:18px 0 0; max-width:58ch; line-height:1.5}
.status{justify-self:end; border:1px solid var(--stroke); border-radius:var(--r-md);
  background:var(--surface); padding:14px 18px; min-width:190px}
.status .k{font-size:10px; letter-spacing:.14em; color:var(--subtle); font-weight:600; text-transform:uppercase}
.status .v{font-family:var(--display); font-weight:700; font-size:1.2rem; margin:8px 0 2px; letter-spacing:-.01em}
.status .n{font-size:.82rem; color:var(--muted)}
.status.risk .v{color:var(--risk)} .status.warn .v{color:var(--warn)} .status.good .v{color:var(--violet)}

.meta{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--stroke);
  border:1px solid var(--stroke); border-radius:var(--r-md); overflow:hidden; margin:var(--s-md) 0 0}
.meta div{background:var(--surface); padding:13px 16px}
.meta dt{font-size:10px; color:var(--subtle); margin:0 0 6px; text-transform:uppercase; letter-spacing:.12em; font-weight:600}
.meta dd{margin:0; font-size:.92rem; font-weight:600; font-variant-numeric:tabular-nums}

/* verdict */
.verdict{background:var(--surface); border:1px solid var(--stroke); border-radius:var(--r-md); padding:26px 28px}
.verdict.risk{border-left:3px solid var(--risk)} .verdict.warn{border-left:3px solid var(--warn)}
.verdict .kicker.risk{color:var(--risk)} .verdict .kicker.risk::before{background:var(--risk)}
.verdict .kicker.warn{color:var(--warn)} .verdict .kicker.warn::before{background:var(--warn)}
.verdict p{margin-bottom:0; font-size:1.05rem; color:var(--text); max-width:none}
.verdict p+p{margin-top:14px; color:var(--muted)}

/* stat grid */
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(158px,1fr)); gap:1px;
  background:var(--stroke); border:1px solid var(--stroke); border-radius:var(--r-md); overflow:hidden}
.stat{background:var(--surface); padding:20px 18px; display:flex; flex-direction:column; gap:7px}
.stat .fig{font-family:var(--display); font-weight:700; font-size:clamp(1.55rem,3.2vw,2rem);
  line-height:.98; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--text)}
.stat .fig.v{color:var(--violet)} .stat .fig.r{color:var(--risk)} .stat .fig.w{color:var(--warn)}
.stat .lbl{font-size:10.5px; color:var(--muted); line-height:1.35; letter-spacing:.1em; text-transform:uppercase; font-weight:600}
.stat .sub{font-size:.82rem; color:var(--subtle); line-height:1.4}

/* scorecard */
.score{display:flex; flex-direction:column; gap:10px}
.h-row{background:var(--surface); border:1px solid var(--stroke); border-radius:var(--r-md);
  padding:18px 20px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center}
.h-id{font-family:var(--display); font-weight:700; font-size:.95rem; color:var(--violet);
  border:1px solid var(--stroke); background:var(--violet-wash);
  width:40px; height:40px; display:grid; place-items:center; border-radius:var(--r-sm)}
.h-body h3{margin:0 0 4px; font-size:1rem; font-weight:600}
.h-body p{margin:0; font-size:.9rem; color:var(--muted); max-width:none}

/* flag + table */
.flag{background:var(--risk-wash); border:1px solid color-mix(in srgb,var(--risk) 26%,var(--stroke));
  border-radius:var(--r-md); padding:20px 22px; margin:0 0 22px}
.flag .kicker{color:var(--risk); margin-bottom:10px} .flag .kicker::before{background:var(--risk)}
.flag p{margin:0; max-width:none; font-size:1rem; color:var(--text)}
.tablewrap{overflow-x:auto; border:1px solid var(--stroke); border-radius:var(--r-md); background:var(--surface)}
table.brief-t{border-collapse:collapse; width:100%; min-width:620px; font-size:.9rem}
table.brief-t th,table.brief-t td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--stroke-soft); vertical-align:top}
table.brief-t thead th{font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--subtle); font-weight:600; background:var(--surface-2)}
table.brief-t tbody tr:last-child td{border-bottom:0}
table.brief-t tr.key td{background:var(--risk-wash)}
table.brief-t td p{margin:0; color:var(--muted); max-width:none}
.co{font-weight:600; color:var(--text)} .note{color:var(--subtle); font-size:.84rem}
.mini{font-size:9.5px; letter-spacing:.08em; padding:3px 8px; border-radius:6px; font-weight:600; display:inline-block; white-space:nowrap; text-transform:uppercase}
.mini.yes{background:var(--risk-wash); color:var(--risk)}
.mini.part{background:var(--warn-wash); color:var(--warn)}
.mini.no{background:var(--good-wash); color:var(--violet)}

/* two-col cards + lists */
.cols{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.bcard{background:var(--surface); border:1px solid var(--stroke); border-radius:var(--r-md); padding:20px 22px}
.bcard h3{margin:0 0 16px; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:var(--subtle); font-weight:600}
ul.clean{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; max-width:var(--readw)}
ul.clean li{padding-left:20px; position:relative; font-size:.93rem; color:var(--muted); line-height:1.45}
ul.clean li strong{color:var(--text)}
ul.clean.edge li::before{content:""; position:absolute; left:2px; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--violet)}
ul.clean.risk li::before{content:""; position:absolute; left:1px; top:.5em; width:8px; height:8px; border-radius:2px; background:var(--risk)}

/* steps */
.steps{counter-reset:s; display:flex; flex-direction:column; gap:10px}
.step{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:baseline;
  background:var(--surface); border:1px solid var(--stroke); border-radius:var(--r-md); padding:18px 22px}
.step.gate{border-color:color-mix(in srgb,var(--warn) 40%,var(--stroke)); background:var(--warn-wash)}
.step::before{counter-increment:s; content:counter(s,decimal-leading-zero);
  font-family:var(--display); font-size:1.4rem; font-weight:700; color:var(--violet); font-variant-numeric:tabular-nums}
.step.gate::before{color:var(--warn)}
.step h3{margin:0 0 3px; font-size:1rem; font-weight:600}
.step p{margin:0; font-size:.9rem; color:var(--muted); max-width:none}
.step .who{font-size:10px; letter-spacing:.1em; color:var(--subtle); margin-top:7px; display:block; text-transform:uppercase; font-weight:600}

@media (max-width:680px){
  .brief .masthead{grid-template-columns:1fr}
  .status{justify-self:start; margin-top:20px}
  .meta{grid-template-columns:1fr 1fr}
  .cols{grid-template-columns:1fr}
  .h-row{grid-template-columns:auto 1fr}
  .h-row .chip{grid-column:2; justify-self:start; margin-top:2px}
}
