/* Section 3 — source health / refresh */
.s3-block{margin-top:56px}
.s3-h{font-family:var(--font-mono);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5em}
.s3-sub{max-width:44em;color:var(--text-secondary)}

/* ---- featured decision-log cards ---- */
.s3-featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-top:20px}
.s3-card{
  background:var(--surface-1);border:1px solid var(--border);border-top:3px solid var(--accent);
  border-radius:var(--radius-m);padding:22px 22px 18px;box-shadow:var(--shadow-1);
  display:flex;flex-direction:column;
}
.s3-card-eyebrow{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink)}
.s3-card h4{font-family:var(--font-display);font-size:1.35rem;margin:.35em 0 .5em;line-height:1.15;color:var(--text-primary)}
.s3-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.s3-chip{font-family:var(--font-mono);font-size:.66rem;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}

.s3-timeline{list-style:none;margin:0 0 16px;padding:0 0 0 18px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:12px}
.s3-timeline li{position:relative;display:flex;flex-direction:column;gap:2px}
.s3-timeline li::before{content:'';position:absolute;left:-25px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--bg);border:2px solid var(--border-strong)}
.s3-timeline li.cited::before{border-color:var(--accent);background:var(--accent)}
.s3-timeline li.newer::before{border-color:var(--status-warning);background:var(--status-warning)}
.s3-timeline .when{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}
.s3-timeline .what{font-size:.86rem;color:var(--text-primary);line-height:1.4}
.s3-timeline li.newer .what{color:var(--text-primary)}

.s3-card-body{font-size:.9rem;color:var(--text-secondary);margin-bottom:12px}
.s3-ask{
  font-family:var(--font-serif);font-style:italic;font-size:.95rem;color:var(--text-primary);
  background:var(--surface-2);border-left:3px solid var(--accent);border-radius:0 var(--radius-s) var(--radius-s) 0;
  padding:11px 14px;margin:0 0 16px;
}
.s3-card-foot{margin-top:auto;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.s3-btn{
  font-family:var(--font-mono);font-size:.72rem;padding:7px 13px;border-radius:999px;
  border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);cursor:pointer;
}
.s3-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}
.s3-srclink{font-family:var(--font-mono);font-size:.7rem;text-decoration:none;color:var(--link)}
.s3-srclink:hover{text-decoration:underline}

/* ---- grid callout ---- */
.s3-callout{
  max-width:var(--wide-w);margin:22px auto 0;padding:18px 24px;
  display:flex;gap:20px;align-items:center;
  background:color-mix(in srgb,var(--status-serious) 12%,var(--surface-1));
  border:1px solid color-mix(in srgb,var(--status-serious) 40%,transparent);border-radius:var(--radius-m);
}
.s3-callout b{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--status-serious-ink);flex:0 0 auto}
.s3-callout span{font-size:.92rem;color:var(--text-secondary);max-width:60em}
.s3-callout strong{color:var(--text-primary)}

/* ---- tables ---- */
/* base.css makes thead th sticky; because .table-scroll sets overflow-x:auto the
   block axis computes to overflow-y:auto, so the header sticks inside the table
   box and paints under the rows. Pin it flat for this section's tables. */
.s3-table-scroll{margin-top:16px}
.s3-table-scroll table.rich thead th{position:static;background:transparent}
#s3-lineage-table td{font-size:.85rem}
#s3-lineage-table .s3-cite{font-family:var(--font-mono);font-size:.76rem;color:var(--text-primary);max-width:22ch;min-width:16ch}
#s3-lineage-table .s3-note{color:var(--text-secondary);max-width:46ch;min-width:26ch}
#s3-lineage-table .s3-repl{max-width:26ch;min-width:16ch}
#s3-lineage-table .s3-repl a{font-size:.78rem;text-decoration:none}
#s3-lineage-table .s3-repl a:hover{text-decoration:underline}
.s3-none{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}
table.rich th.num,table.rich td.num{text-align:right}
table.rich td.num b{font-family:var(--font-mono);font-size:.95rem;color:var(--accent-ink)}

.s3-log-table td{font-size:.82rem;color:var(--text-secondary)}
.s3-log-table{min-width:1080px}
.s3-log-table .s3-log-old{color:var(--text-primary);max-width:22ch;min-width:19ch}
.s3-log-table .s3-log-where,.s3-log-table .s3-log-what,.s3-log-table .s3-log-when{max-width:32ch;min-width:22ch}
.s3-yn{
  font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;
  padding:4px 10px;border-radius:999px;white-space:nowrap;display:inline-block;
}
/* "YES" = newer evidence was already available before McKinsey published — the
   actionable case, so it reads as an amber flag, not a green pass. */
.s3-yn.yes{color:var(--status-warning-ink);background:var(--status-warning-bg);border:1px solid color-mix(in srgb,var(--status-warning) 55%,transparent)}
.s3-yn.no{color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-strong)}
.s3-yn.na{color:var(--text-secondary);background:transparent;border:1px dashed var(--border-strong)}

/* ---- Appendix C columns ---- */
.s3-appc{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:40px}
.s3-appc-h{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.s3-appc-item{
  display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;cursor:pointer;
  background:var(--surface-1);border:1px solid var(--border);border-left:3px solid var(--border-strong);
  border-radius:var(--radius-s);padding:14px 16px;margin-bottom:10px;font-family:var(--font-body);
  transition:background .12s,border-color .12s;
}
.s3-appc-item:hover{background:var(--surface-2)}
.s3-appc-item.warning{border-left-color:var(--status-warning)}
.s3-appc-item.neutral{border-left-color:var(--status-neutral)}
.s3-appc-item.lead{background:var(--surface-2);box-shadow:var(--shadow-1)}
.s3-appc-flag{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink)}
.s3-appc-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.2}
.s3-appc-when{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}
.s3-appc-text{font-size:.86rem;color:var(--text-secondary);line-height:1.5;margin-top:5px}

/* ---- popup extras ---- */
#popup .s3-popup-h{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--border)}
#popup .s3-srccard{background:var(--surface-2);border-radius:var(--radius-s);padding:12px 14px;margin-bottom:10px}
#popup .s3-srccard-head{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:3px}
#popup .s3-srccard a{text-decoration:none;font-size:.92rem}
#popup .s3-srccard a:hover{text-decoration:underline}
#popup .s3-srccard ul{margin:8px 0 0;padding-left:18px;font-size:.84rem;color:var(--text-secondary)}
#popup .s3-srccard li{margin-bottom:3px}
#popup .s3-claimids{display:flex;flex-wrap:wrap;gap:5px;max-height:220px;overflow-y:auto}
#popup .s3-claimid{
  font-family:var(--font-mono);font-size:.68rem;padding:4px 8px;border-radius:var(--radius-s);
  border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;
}
#popup .s3-claimid:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}

@media (max-width:720px){
  .s3-callout{flex-direction:column;align-items:flex-start;gap:10px}
  .s3-callout b{font-size:2.1rem}
}
