/* JSCN membership update. Load after the existing styles.css. */
/* Membership figures: August 31, 2026. */

.membershipSection { scroll-margin-top: 2rem; }
.hero .stats {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.3fr);
  gap: clamp(.75rem, 3vw, 3.875rem);
  max-width: 42rem;
}
.hero .stats div { min-width: 0; }
.hero .stats span {
  font-size: .875rem;
  line-height: 1.45;
  letter-spacing: .01em;
  text-transform: none;
  overflow-wrap: anywhere;
}
.membershipSection > .kicker { margin-bottom: 12px; }
.membershipSection > h2 { margin-bottom: 4px; }
.membershipSection .asOf { margin: 0 0 12px; color: var(--muted); font-size: .875rem; }
.membershipSection .membershipScope { margin: 0 0 36px; color: #3f5665; font-size: 1rem; line-height: 1.6; }
.membershipSection .societyTableBlock { margin: 0 0 54px; }
.membershipSection .societyTableBlock h3 {
  margin: 0 0 16px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: 23px;
  font-weight: 400;
}
.membershipSection .societyTableScroll { overflow-x: auto; }
.membershipSection .societyTableBlock table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.membershipSection .societyTableBlock th,
.membershipSection .societyTableBlock td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: left; overflow-wrap: anywhere; }
.membershipSection .societyTableBlock thead th { background: #eff6f8; color: var(--navy); font-size: .875rem; line-height: 1.5; font-weight: 600; }
.membershipSection .societyTableBlock th:last-child,
.membershipSection .societyTableBlock td:last-child { width: 9.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.membershipSection .societyTableBlock tbody th,
.membershipSection .societyTableBlock tfoot th,
.membershipSection .societyTableBlock td { color: #3f5665; font-size: 1rem; line-height: 1.55; font-weight: 400; }
.membershipSection .societyTableBlock tfoot { background: #f3f7f8; border-top: 2px solid var(--line); }
.membershipSection .distributionGrid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .8fr); gap: 46px; align-items: start; }

@media (max-width: 960px) {
  .membershipSection .distributionGrid { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 760px) {
  .membershipSection > h2 { font-size: 30px; }
  .membershipSection .societyTableBlock th, .membershipSection .societyTableBlock td { padding: 12px 11px; }
  .membershipSection .societyTableBlock th:last-child, .membershipSection .societyTableBlock td:last-child { width: 7rem; }
}

/* Reset older table-header styling on the new semantic row headings. */
.membershipSection .societyTableBlock tbody th,
.membershipSection .societyTableBlock tfoot th {
  background: transparent;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
}
.membershipSection .societyTableBlock thead th {
  text-transform: none;
  letter-spacing: normal;
}
