.timeline {
  position: relative;
  max-width: 760px;
  margin: 8px 0 24px;
  padding: 0 0 0 36px;
  list-style: none;
}

.elementor-widget .timeline { margin-block: 0; }

.timeline::before {
  content: '';
  position: absolute;
  left: 9px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-100) 100%);
}

.timeline-item {
  position: relative;
  padding-bottom: 32px;
}

.timeline-item:last-child { padding-bottom: 0; }

.timeline-item::before {
  content: '';
  position: absolute;
  left: -36px;
  top: 4px;
  width: 20px;
  height: 20px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-100);
}

.timeline-item__year {
  font-family: var(--font-heading);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--color-primary);
}

.timeline-item__title {
  margin: 2px 0 6px;
  font-size: 1.2rem;
}

.timeline-item__body { color: var(--color-muted); }
.timeline-item__body p:last-child { margin-bottom: 0; }
