/* ==========================================================================
   Our Journey — snake timeline: two rows + connecting curve
   ========================================================================== */
.journey { overflow-x: hidden; }

.journey__row-wrap {
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: none;
  padding: 76px 4px;
}
.journey__row-wrap::-webkit-scrollbar { display: none; }

.journey__row {
  display: flex;
  justify-content: center;
  gap: 6px;
  min-width: max-content;
  position: relative;
}
.journey__row::before {
  content: "";
  position: absolute;
  left: 60px; right: 60px; top: 50%;
  height: 2px;
  background: repeating-linear-gradient(to right, var(--clr-primary-300) 0 8px, transparent 8px 16px);
  z-index: 0;
}

.journey__row--top,
.journey__row--reverse { flex-direction: row-reverse; }

.journey__node {
  position: relative;
  width: 150px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.journey__circle {
  position: relative;
  z-index: 1;
  width: 92px; height: 92px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--grad-primary);
  box-shadow: var(--el-glow-primary), 0 0 0 6px var(--clr-surface-dim);
}
.journey__circle span {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
}

.journey__label {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 162px;
  text-align: center;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--clr-ink-800);
}
.journey__label--top { bottom: calc(100% + 14px); }
.journey__label--bottom { top: calc(100% + 14px); }

/* Connector between the two rows */
.journey__connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: fit-content;
  margin: -38px auto -18px;
  position: relative;
  z-index: 1;
}
.journey__connector-line {
  width: 2px;
  height: 60px;
  background: repeating-linear-gradient(to bottom, var(--clr-primary-300) 0 8px, transparent 8px 16px);
}
.journey__connector-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--clr-accent-500);
  box-shadow: 0 0 0 4px var(--clr-accent-100);
}