/* FAQ, privacy, terms and 404: a label column on the left, one 68ch column of text. */

.prose-grid {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, var(--measure));
  column-gap: var(--s8);
  padding-block: var(--s7) var(--s9);
}
.prose-head {
  position: sticky;
  top: calc(var(--header-h) + var(--s6));
  align-self: start;
}
.prose-title {
  margin-top: var(--s3);
  font-size: var(--fs-xl);
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.prose-lead { margin-top: var(--s4); font-size: var(--fs-m); color: var(--ink-2); max-width: 40ch; }
.prose-updated { margin-top: var(--s5); }
.prose-body { min-width: 0; border-top: 1px solid var(--ink); }

/* Numbered sections, rules between them. */
.sec {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  padding: var(--s5) 0 var(--s6);
  border-bottom: 1px solid var(--rule);
}
.sec-n { padding-top: 5px; }
.sec-h { font-size: var(--fs-m); font-weight: 700; line-height: 1.35; }
.sec-main .prose { margin-top: var(--s3); }

.prose { color: var(--ink-2); }
.prose p + p,
.prose p + ul,
.prose ul + p { margin-top: var(--s3); }
.prose ul { list-style: none; display: grid; gap: var(--s3); }
.prose li { position: relative; padding-left: var(--s5); }
.prose li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .7em;
  width: 8px;
  height: 1px;
  background: var(--ink-3);
}
.prose b { color: var(--ink); }
.prose code { font-size: .8125em; padding: 0 2px; background: var(--paper); border: 1px solid var(--rule-2); overflow-wrap: break-word; }

/* FAQ */
.qa { border-bottom: 1px solid var(--rule); }
.qa-q {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 20px;
  align-items: baseline;
  padding: var(--s4) 0;
  min-height: 56px;
  cursor: pointer;
  list-style: none;
}
.qa-q::-webkit-details-marker { display: none; }
.qa-q:focus-visible { box-shadow: var(--focus); }
.qa-n { padding-top: 4px; }
.qa-text { font-size: var(--fs-m); font-weight: 650; line-height: 1.35; }
.qa-q:hover .qa-text { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
/* A plus that becomes a minus: two hairlines, no icon font. */
.qa-sign { position: relative; align-self: center; width: 12px; height: 12px; justify-self: end; }
.qa-sign::before,
.qa-sign::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1.5px;
  margin-top: -.75px;
  background: var(--ink);
}
.qa-sign::after { transform: rotate(90deg); }
.qa[open] .qa-sign::after { transform: none; }
.qa-a { padding: 0 var(--s6) var(--s5) 3rem; }

/* 404 */
.notfound .prose-body { border-top: 1px solid var(--ink); padding-top: var(--s5); }
.notfound-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s5); margin-top: var(--s5); }

@media (max-width: 899.98px) {
  .prose-grid { grid-template-columns: minmax(0, 1fr); padding-block: var(--s5) var(--s8); }
  .prose-head { position: static; margin-bottom: var(--s6); }
  .sec { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .qa-q { grid-template-columns: 2.5rem minmax(0, 1fr) 20px; }
  .qa-a { padding: 0 0 var(--s5) 2.5rem; }
}
@media (max-width: 559.98px) {
  .sec { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  .qa-a { padding-left: 0; }
}
