/* ==========================================================================
   SEZIONI · STAFF
   Impaginato come una distinta di gara: numero, ruolo, competenza, nome.
   ========================================================================== */

.roster { border-top: 2px solid var(--oro); }

.roster__head { display: none; }        /* intestazioni solo da 768px */

.roster__row {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: var(--space-1) var(--space-4);
  padding: var(--space-5) 0;
  border-bottom: 1px solid rgba(160, 160, 159, 0.28);
  transition: background-color var(--t) var(--ease);
}

.roster__num {
  grid-row: span 3;
  font-family: var(--font-num);
  font-weight: 900;
  font-size: 2rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--oro);
}

.roster__role {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--step-1);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--ink-invert);
}

.roster__skill { font-size: var(--step--1); color: var(--ink-invert-muted); }

/* ambito di intervento del ruolo: nessun nome proprio in questa sezione */
.roster__scope {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step--1);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--oro);
}

@media (hover: hover) {
  .roster__row:hover { background: rgba(218, 164, 20, 0.06); }
}

.roster__note {
  margin-top: var(--space-5);
  font-size: var(--step--1);
  color: var(--ink-invert-muted);
}

@media (min-width: 768px) {

  .roster__head {
    display: grid;
    grid-template-columns: 60px 1.1fr 2fr 1fr;
    gap: var(--space-5);
    padding-bottom: var(--space-3);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--grigio);
  }

  .roster__row {
    grid-template-columns: 60px 1.1fr 2fr 1fr;
    gap: var(--space-5);
    align-items: baseline;
  }

  .roster__num { grid-row: auto; font-size: 2.4rem; }
  .roster__scope { text-align: right; }
}
