/* Contractor Standings — edition page */

.masthead { padding: 56px 24px 14px; }
.mast-link { border: 0; display: inline-block; }
.mast-link img { display: block; width: 284px; max-width: 100%; height: auto; }
.edition {
  margin: 10px 0 0;
  font-size: var(--size-fine);
  font-style: italic;
  color: var(--ink-secondary);
}

main section { padding: var(--section-y) 0 0; }
main section > p { margin: 0 0 14px; max-width: 62ch; }
.standfirst { padding-top: 40px; }
.standfirst p { font-size: 17px; color: var(--ink); }
h2 { margin-bottom: 16px; }
.sub { font-size: var(--size-body); font-weight: var(--weight-medium); color: var(--ink); margin: 32px 0 8px; }

/* --- facts list --- */
.facts { margin: 0 0 14px; }
.facts dt { color: var(--ink); font-weight: var(--weight-medium); margin-top: 12px; }
.facts dd { margin: 2px 0 0; max-width: 62ch; }

/* --- standings list --- */
.standings { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: var(--row-y) 0;
  border-bottom: 1px solid var(--rule-light);
}
.rank {
  flex: 0 0 34px;
  color: var(--accent);
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums;
}
.row .body { flex: 1 1 auto; min-width: 0; }
.name { display: block; color: var(--ink); }

/* Top-10 names link to their claim page, but must read as part of the record,
   not as a decorated link: same ink as an unlinked name, no underline. The
   affordance appears only on hover/focus, in the brand's hairline idiom. */
.name a { color: inherit; border-bottom: 0; }
.name a:hover { color: var(--accent); border-bottom: 1px solid var(--rule); }
.alt, .meta {
  display: block;
  font-size: var(--size-fine);
  color: var(--ink-secondary);
  line-height: 1.5;
  margin-top: 3px;
}
.alt { font-style: italic; }
.score {
  flex: 0 0 auto;
  font-size: var(--size-score);
  color: var(--ink-secondary);
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 4ch;
}
.row.plain { padding: 13px 0; }
.row.plain .meta { margin-top: 2px; }

/* --- queries --- */
.queries {
  /* CSS columns clip outside-positioned list markers at the column edge,
     which truncated the second column's numbers. Grid keeps them inside. */
  margin: 0; padding: 0; list-style: none; counter-reset: q;
  display: grid; grid-template-columns: 1fr 1fr;
  column-gap: 40px; row-gap: 6px;
}
.queries li { counter-increment: q; font-size: var(--size-fine); display: flex; }
.queries li::before {
  content: counter(q) ".";
  color: var(--ink-muted);
  flex: 0 0 2.2ch;
  margin-right: 8px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.pending {
  border-left: 2px solid var(--accent);
  padding: 10px 0 10px 14px;
  margin: 0 0 14px;
  color: var(--ink);
}

footer { margin-top: var(--section-y); padding-bottom: 72px; }
footer p { margin: 20px 0 0; max-width: 62ch; }

@media (max-width: 620px) {
  .masthead { padding-top: 40px; }
  .row { gap: 12px; }
  .rank { flex-basis: 26px; }
  .queries { columns: 1; }
}

.unresolved { color: var(--accent); font-style: italic; }
.standfirst .fine { margin-top: 10px; }
