/* ---------- Volunteer sign-up page ---------- */
.vol-main { padding-block: 0 4rem; }
.vol-layout { display: grid; gap: 2rem; }
@media (min-width: 960px) {
  .vol-layout { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
}
.vol-main-col { min-width: 0; }
.vol-aside { display: grid; gap: 1.5rem; }
.roles-grid { display: grid; gap: 0.5rem 1.25rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); margin-top: 0.35rem; }
.role { padding: 0.35rem 0; }
