.roster-page { padding: 8rem 2rem 4rem; max-width: var(--maxw-page); margin: 0 auto; }
.roster-page__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3rem; flex-wrap: wrap; gap: 1rem; }
.roster-page__heading { font-family: var(--font-display); font-size: var(--fs-section); letter-spacing: var(--tracking-display); }

/* View toggle */
.view-toggle { display: flex; gap: 0; border: 1px solid var(--smoke); }
.view-toggle__btn {
  font-family: var(--font-mono); font-size: var(--fs-meta); letter-spacing: var(--tracking-mono);
  text-transform: uppercase; padding: 0.4rem 0.9rem;
  background: transparent; border: none; color: var(--cream-dim);
  cursor: none; transition: color 200ms, background 200ms;
}
.view-toggle__btn.is-active { background: var(--smoke); color: var(--cream); }
.view-toggle__btn:hover:not(.is-active) { color: var(--cream); }

@media (max-width: 768px) {
  .roster-page { padding: 5.5rem 1.25rem 3rem; }
  .roster-page__head { margin-bottom: 2rem; }
}

/* Dossier list */
.roster-list { display: none; }
.roster-page.is-list .roster-list { display: block; }
.roster-page.is-list .roster-grid { display: none; }
