/* ==============================
   Journey (visual timeline with growing arrow)
============================== */
.journey { position: relative; }
.journey__wrap{
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
  margin-top: 1.2rem;
}
/* Left lane */
.journey__lane{ position: relative; width: 64px; min-height: 100%; }
.journey__lane::before{
  content:""; position:absolute;
  left:31px; top:0; bottom:0; width:2px;
  background: linear-gradient(180deg, var(--border), transparent 80%);
}
/* Growing arrow */
.journey__arrow{
  position:absolute; left:30px; top:0; width:4px; height:0;
  background: linear-gradient(180deg, var(--neon), transparent);
  box-shadow: 0 0 10px var(--neon-weak2);
  transition: height .25s ease-out;
}
.journey__arrow::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  bottom:-8px;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-top:10px solid var(--neon);
  filter: drop-shadow(0 0 6px var(--neon-weak));
}
/* Right column */
.journey__list{ position: relative; }
/* Milestone */
.journey__item{
  position: relative; display: grid; grid-template-columns:1fr;
  margin: 1.4rem 0 2rem; padding-left:0;
  opacity: 0; transform: translateX(12px); filter: blur(2px);
  transition: opacity .5s ease, transform .5s ease, filter .5s ease;
}
.journey__item.in{ opacity:1; transform:none; filter:blur(0); }
/* Dot */
.journey__dot{
  position:absolute; left:-32px; top:.6rem;
  width:18px; height:18px; border-radius:50%;
  background: var(--neon); border:2px solid var(--panel);
  box-shadow: 0 0 10px var(--neon-weak);
}
/* Card */
.journey__card{
  background: linear-gradient(180deg, var(--panel), var(--panel-2));
  border: 1px solid var(--border);
  border-radius: .8rem;
  padding: 1rem 1.1rem;
  box-shadow: 0 0 12px var(--neon-weak2);
}
.journey__card h3{
  margin: 0 0 .35rem; color: var(--neon);
  text-shadow: 0 0 6px var(--neon-weak);
}
.journey__card p{ margin:0; color:var(--text); opacity:.95; line-height:1.6; }

/* Mobile tweaks */
@media (max-width:680px){
  .journey__wrap{ grid-template-columns: 52px 1fr; }
  .journey__lane::before{ left: 25px; }
  .journey__arrow{ left: 24px; }
  .journey__arrow::after{ bottom: -7px; }
  .journey__dot{ left: -26px; }
}
