/* Six confirmed Adelaide speakers: two centered rows of three. */
/* Seven speakers: three, three, then a centred remainder. Flow beats a grid
   here because the trailing row has to centre itself as the lineup grows. */
body[data-city="adelaide"] #speakers .adelaide-speaker-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  gap: 36px 26px;
  align-items: flex-start;
}
body[data-city="adelaide"] #speakers .adelaide-speaker-grid > .speaker-card {
  flex: 0 0 calc((100% - 52px) / 3);
  max-width: calc((100% - 52px) / 3);
}
body[data-city="adelaide"] #speakers .speaker-card > .speaker-portrait-pending { aspect-ratio: 2 / 3; }
body[data-city="adelaide"] #speakers .speaker-card > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: 50% 30%;
}
body[data-city="adelaide"] #speakers .speaker-front {
  text-align: center;
}
body[data-city="adelaide"] #speakers .speaker-toggle {
  justify-content: center;
  text-align: center;
  transform-origin: center;
}
body[data-city="adelaide"] #speakers .speaker-toggle-label {
  text-align: center;
}
body[data-city="adelaide"] #speakers .speaker-back {
  text-align: left;
}
body[data-city="adelaide"] #speakers .adelaide-speaker-note {
  margin: 36px auto 0;
  text-align: center;
  /* This line carries real information about the lineup, so it reads a step up
     from the 14px used for incidental notes. */
  font-size: 18px;
  line-height: 1.45;
  color: #6f5252;
}
@media (max-width: 700px) {
  body[data-city="adelaide"] #speakers .adelaide-speaker-note { font-size: 16px; }
}
@media (max-width: 850px) {
  body[data-city="adelaide"] #speakers .adelaide-speaker-grid > .speaker-card {
    flex-basis: calc((100% - 26px) / 2);
    max-width: calc((100% - 26px) / 2);
  }
}
@media (max-width: 580px) {
  body[data-city="adelaide"] #speakers .adelaide-speaker-grid { max-width: 360px; }
  body[data-city="adelaide"] #speakers .adelaide-speaker-grid > .speaker-card {
    flex-basis: 100%;
    max-width: 100%;
  }
}
