/* Roster and profiles share the clan identity without the LilHarper shell. */
.nm-nav a.nm-members-link { display: inline-flex; }
.nm-nav [aria-current="page"] { color: var(--nm-red); }
.nm-roster-teaser { border-top: 1px solid var(--nm-line); }
.nm-teaser-content { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.nm-teaser-content h2 { font-size: 52px; letter-spacing: 0; }
.nm-teaser-content p { max-width: 540px; font-size: 14px; line-height: 1.8; color: var(--nm-muted); margin: 24px 0 0; }
.nm-teaser-content .nm-button { flex-shrink: 0; }
.nm-members-main { max-width: 1280px; margin: auto; padding: 44px 5.5% 72px; }
.nm-members-main * { letter-spacing: 0; }
.nm-breadcrumb { display: flex; gap: 12px; flex-wrap: wrap; font: 11px/1.8 var(--nm-mono); color: var(--nm-muted); margin-bottom: 34px; }
.nm-breadcrumb a:hover { color: var(--nm-red); }
.nm-breadcrumb > span[aria-current] { color: var(--nm-text); }
.nm-roster-heading { margin-bottom: 40px; }
.nm-roster-heading h1, .nm-profile-intro h1 { font: 800 92px/.95 var(--nm-display); margin: 0 0 24px; }
.nm-roster-heading > p:last-child { max-width: 600px; color: var(--nm-muted); font-size: 15px; line-height: 1.9; margin: 0; }
.nm-roster-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.nm-member-card { display: block; min-width: 0; border: 1px solid var(--nm-line); background: var(--nm-panel); border-radius: 4px; overflow: hidden; transition: border-color .2s; }
.nm-member-card:hover { border-color: var(--nm-red); }
.nm-member-visual { position: relative; height: 260px; overflow: hidden; border-bottom: 1px solid var(--nm-line); }
.nm-member-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.nm-member-number { position: absolute; top: 18px; left: 18px; background: #090909; color: var(--nm-red); padding: 8px 10px; font: 10px var(--nm-mono); }
.nm-member-card-copy { padding: 28px; }
.nm-member-role { font: 11px/1.7 var(--nm-mono); color: var(--nm-red); margin: 0 0 12px; text-transform: uppercase; }
.nm-member-card h2 { font: 800 44px/1 var(--nm-display); margin: 0 0 18px; }
.nm-member-card-copy > p:not(.nm-member-role) { font-size: 14px; line-height: 1.85; color: var(--nm-muted); margin: 18px 0; }
.nm-member-card-copy .nm-card-trait { border-top: 1px solid var(--nm-line); padding-top: 20px; }
.nm-card-trait span { display: block; font: 10px/1.8 var(--nm-mono); color: var(--nm-muted); margin-bottom: 5px; text-transform: uppercase; }
.nm-card-trait strong { color: var(--nm-text); font-size: 14px; font-weight: 600; }
.nm-card-action { display: flex; justify-content: space-between; gap: 14px; color: var(--nm-red); font: 11px/1.8 var(--nm-mono); padding-top: 12px; }
.nm-pride { display: inline-flex; align-items: center; gap: 10px; font: 11px/1.8 var(--nm-mono); color: var(--nm-text); }
.nm-flag { display: inline-block; flex-shrink: 0; width: 30px; height: 20px; border: 1px solid #ffffff40; }
.nm-flag-trans { background: linear-gradient(to bottom, #5bcefa 0% 20%, #f5a9b8 20% 40%, #fff 40% 60%, #f5a9b8 60% 80%, #5bcefa 80%); }
.nm-flag-enby { background: linear-gradient(to bottom, #fff430 0% 25%, #fff 25% 50%, #9c59d1 50% 75%, #161616 75%); }
.nm-flag-genderfluid { background: linear-gradient(to bottom, #ff76a4 0% 20%, #fff 20% 40%, #c011d7 40% 60%, #161616 60% 80%, #2f3cbe 80%); }
.nm-rennie-emblem { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; background: #141414; color: var(--nm-text); }
.nm-rennie-emblem > img { width: 68px; height: 68px; object-fit: contain; }
.nm-rennie-emblem .nm-emblem-letter { font: 800 112px/.9 var(--nm-display); color: var(--nm-red); }
.nm-rennie-emblem .nm-emblem-label { font: 10px/1.7 var(--nm-mono); color: var(--nm-muted); }
.nm-profile-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: center; gap: 64px; padding-bottom: 52px; }
.nm-profile-intro .nm-kicker { margin-bottom: 18px; }
.nm-profile-lede { font-size: 18px; line-height: 1.8; color: var(--nm-text); max-width: 620px; margin: 24px 0; }
.nm-profile-motto { margin: 28px 0 0; padding-left: 18px; border-left: 2px solid var(--nm-red); color: var(--nm-red); font: 600 13px/1.8 var(--nm-mono); }
.nm-profile-visual { margin: 0; min-width: 0; }
.nm-profile-visual > img, .nm-profile-visual > .nm-rennie-emblem { width: 100%; height: auto; max-height: 460px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 4px; }
.nm-profile-visual figcaption { display: flex; justify-content: space-between; gap: 12px; font: 10px/1.8 var(--nm-mono); color: var(--nm-muted); margin-top: 12px; }
.nm-profile-story { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 64px; border-top: 1px solid var(--nm-line); padding: 44px 0; }
.nm-profile-story h2, .nm-traits h2 { font: 800 36px/1.1 var(--nm-display); margin: 0 0 18px; }
.nm-story-copy > p { font-size: 15px; line-height: 1.9; color: var(--nm-muted); margin: 0 0 22px; }
.nm-story-copy > p:last-child { margin-bottom: 0; }
.nm-story-copy strong { color: var(--nm-text); font-weight: 600; }
.nm-interests { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 24px 0 0; padding: 0; list-style: none; color: var(--nm-text); font: 11px/1.9 var(--nm-mono); }
.nm-interests li::before { content: '+'; color: var(--nm-red); margin-right: 8px; }
.nm-traits { border-top: 1px solid var(--nm-line); padding: 44px 0; }
.nm-trait-list { margin: 24px 0 0; }
.nm-trait { display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1.3fr); gap: 20px; border-bottom: 1px solid var(--nm-line); padding: 24px 0; align-items: start; }
.nm-trait-index { color: var(--nm-red); font: 12px/1.8 var(--nm-mono); }
.nm-trait dt { font: 700 25px/1.15 var(--nm-display); }
.nm-trait dd { margin: 0; color: var(--nm-muted); font-size: 14px; line-height: 1.9; }
.nm-profile-next { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-top: 24px; }
.nm-profile-next .nm-back-link { margin: 0; }
@media (max-width: 900px) {
  .nm-profile-intro, .nm-profile-story { gap: 32px; }
  .nm-profile-intro h1, .nm-roster-heading h1 { font-size: 76px; }
  .nm-member-card-copy { padding: 24px; }
  .nm-home-nav { gap: 22px; }
}
@media (max-width: 700px) {
  .nm-members-main { padding: 28px 6% 48px; }
  .nm-profile-intro, .nm-profile-story, .nm-roster-grid { grid-template-columns: minmax(0, 1fr); }
  .nm-profile-intro { gap: 32px; padding-bottom: 36px; }
  .nm-profile-visual { width: 100%; max-width: 350px; }
  .nm-profile-visual > img, .nm-profile-visual > .nm-rennie-emblem { max-height: none; }
  .nm-profile-story { gap: 6px; padding: 32px 0; }
  .nm-roster-heading h1, .nm-profile-intro h1 { font-size: 68px; }
  .nm-profile-lede { font-size: 16px; }
  .nm-member-visual { height: 270px; }
  .nm-trait { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; }
  .nm-trait dd { grid-column: 2; }
  .nm-teaser-content { flex-direction: column; align-items: flex-start; gap: 26px; }
  .nm-teaser-content h2 { font-size: 44px; }
  .nm-home-nav a[href="#protocol"] { display: none; }
}
@media (max-width: 460px) {
  .nm-nav > a:first-child { display: none; }
  .nm-nav a.nm-members-link { display: inline-flex; }
  .nm-member-card-copy { padding: 22px; }
  .nm-breadcrumb { font-size: 10px; gap: 8px; }
}
