/* Rules true of /teams/ alone, loaded by that page's `styles:` — the same arrangement as
   /styleguide/'s stylesheet, and for the same reason: what is only true of one document
   does not belong in the sheets that describe the publication.

   The page is on the default template — a titled page that is not a post, with no date
   and so no byline and no place in the feed — and that template lays its content out in
   the page-body register: no title block, and headings that take the essay's rule. Three
   things here, and the middle one is a restatement.

   1. A title with no title block to sit in, as the 404's .error-code is: the serif at
      the display size, on two body lines, with one line under it. */
.page-title {
  font-family: var(--text-family-serif);
  font-weight: 400;
  font-size: var(--text-size-display);
  line-height: calc(var(--text-baseline) * 2);
  letter-spacing: -0.012em;
  margin: 0 0 var(--space-1);
}

/* 2. The note's heading register, restated for .page-body: .note h2's three
      declarations and the ::before it turns off (essay.css § Article). Same specificity
      as the essay's heading rule and later in the document, which is how .note's wins
      too. These belong in essay.css beside .note h2, as one selector list — tasks.md
      § The teams page says so; they are here because that file was being edited in
      another session when this page was built. */
.page-body h2 {
  border-top: 0;
  padding-top: 0;
  margin-top: var(--space-2);
}

.page-body :is(h2, h3):not(.unnumbered)::before { content: none; }

/* 3. The project list, which {{aria-projects}} emits (system/aria-projects.ts). Out of
      the prose list's indent and marker, and every rule at (0,2,x) because that is what
      it takes to beat `.article-body ul` and `.article-body p` — the trap CLAUDE.md
      lists under .post-list, met from the page's side rather than by naming this list
      in essay.css's opt-out. An item is two body lines — the title in the serif, the lead
      under it in the label voice, both on one line each — and one line between items,
      so the pitch is three. */
.article-body .project-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-1);
}

.article-body .project-list > li { margin: 0; }
.article-body .project-list > li + li { margin-top: var(--space-1); }
.article-body .project-list p { margin: 0; }

.article-body .project-lead {
  font-size: var(--text-size-label);
  line-height: var(--text-baseline);
}

/* A status is said only when it is not Active, after the title in the label voice. */
.project-status { margin-left: 0.6rem; }

/* The title is a link and takes the front page's treatment of one: no hairline until
   the pointer is on it. */
.article-body .project-title a { border-bottom: 0; }
.article-body .project-title a:hover { border-bottom: 0.5px solid var(--color-ink); }
