/* Keep the existing Stepicon theme; the source program has no published times. */
[hidden] { display: none !important; }
.event-group { border-bottom: 1px solid var(--line); }
.event-group:last-child { border-bottom: 0; }
.event { display: block; border: 0; padding: 24px; }
.event h2 { margin-top: 0; overflow-wrap: anywhere; }
.event .tag + h2 { margin-top: 12px; }
.event .tag { font-size: 13px; }
.speakers { display: grid; gap: 16px; margin-top: 20px; }
.speaker { display: flex; gap: 14px; align-items: center; }
.speaker > div { min-width: 0; }
.event .speaker img { flex: 0 0 auto; }
.event .speaker-name { margin: 0; font-weight: 700; color: var(--text); font-size: 16px; }
.event .speaker-role { margin: 5px 0 0; font-size: 14px; line-height: 1.45; }
.tabs button:focus-visible { outline: 3px solid var(--violet); outline-offset: -5px; }
@media (min-width: 800px) {
  .event-group-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-group-pair .event + .event { border-left: 1px solid var(--line); }
}
@media (max-width: 799px) {
  .event-group-pair .event + .event { border-top: 1px solid var(--line); }
}
@media (max-width: 620px) {
  .event { padding: 20px 16px; }
  .event h2 { font-size: 18px; line-height: 1.3; }
  .speaker { gap: 12px; align-items: flex-start; }
  .event .speaker-name { font-size: 15px; }
  .event .speaker-role { font-size: 14px; }
}
