/* =========================================================
   journey.css
   Page-specific styles for /journey
   Split out of the old monolithic style.css. Rule order is
   unchanged from the original file.
   ========================================================= */

.timeline-wrapper {
  width: 100%;
  max-width: 800px;
  margin: 40px auto;
  position: relative;
}
.timeline-block {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
  position: relative;
}
.timeline-block::before {
  content: "";
  position: absolute;
  left: 80px;
  top: 0;
  width: 3px;
  height: 100%;
  background: #1966b1;
}
.timeline-year-box {
  width: 150px;
  background: #002b4a;
  padding: 20px;
  border-radius: 10px;
  color: #fff;
  box-shadow: 0 3px 15px rgba(0,0,0,0.15);
  text-align: center;
  position: relative;
  font-size: 20px;
}
.timeline-year-box span {
  font-size: 28px;
  font-weight: 800;
  display: block;
}
.timeline-info {
  margin-left: 40px;
  background: #ffffff;
  padding: 20px 25px;
  border-radius: 12px;
  width: 100%;
  border-left: 5px solid #1966b1;
  box-shadow: 0 3px 15px rgba(0,0,0,0.1);
}
.timeline-info h3 {
  margin-bottom: 10px;
  color: #003a60;
  font-size: 22px;
  font-weight: 700;
}
.timeline-info p {
  color: #555;
  margin-bottom: 6px;
}
.timeline-info img {
  margin-top: 12px;
  width: 100%;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .timeline-block {
    flex-direction: column;
  }
  .timeline-year-box {
    width: 100%;
    margin-bottom: 15px;
  }
  .timeline-block::before {
    display: none;
  }
  .timeline-info {
    border-left: none;
    border-top: 4px solid #00aaff;
    margin-left: 0;
  }
}
