.athlete-timeline {
  margin-block: 0 28px;
  color: var(--ink);
  overflow-wrap: anywhere;
}

.athlete-timeline h2 { margin: 0; font-size: clamp(20px, 2.4vw, 26px); }
.athlete-timeline > p { margin: 4px 0 16px; color: var(--muted); font-size: 13px; }
.athlete-timeline ol { margin: 0; padding: 0; list-style: none; }
.athlete-timeline li { padding: 12px 0; border-top: 1px solid var(--line); }
.athlete-timeline-year { display: flex; align-items: baseline; gap: 6px 12px; flex-wrap: wrap; }
.athlete-timeline-year time { font-weight: 750; color: var(--gold); }
.athlete-timeline-year span, .athlete-timeline-record small { color: var(--muted); font-size: 13px; }

.athlete-timeline .athlete-timeline-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 12px;
  min-height: 44px;
  padding-block: 5px;
  color: var(--ink);
}

.athlete-timeline-record small { grid-column: 1; }
.athlete-timeline-record > span { grid-column: 2; grid-row: 1 / span 2; }
.athlete-timeline .athlete-timeline-video,
.athlete-timeline summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  color: var(--gold);
}

.athlete-timeline summary { display: list-item; align-content: center; cursor: pointer; }
.athlete-timeline details { border-top: 1px solid var(--line); }
.athlete-timeline :is(a, summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
