/* Journey-only layout and progressive motion. All content is visible unless
   the supported script has armed its one-time entrance animation. */
.homepage .journey .journey-steps {
  position: relative;
  gap: 28px;
  align-items: stretch;
}
.homepage .journey .journey-item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.homepage .journey .journey-item .jlabel {
  min-height: 108px;
  flex: 1;
}
.homepage .journey .journey-media {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 5;
  overflow: hidden;
  border-radius: 15px;
}
.homepage .journey .journey-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
.homepage .journey .journey-item:not(:last-child)::after {
  content: '→';
  position: absolute;
  top: 7px;
  left: calc(100% + 6px);
  width: 16px;
  color: var(--orange);
  font-size: 18px;
  line-height: 20px;
  opacity: .6;
  pointer-events: none;
}
.homepage .journey.journey-armed .section-header,
.homepage .journey.journey-armed .journey-item {
  opacity: 0;
  transform: translateY(16px);
}
@media (min-width: 681px) and (max-width: 1050px) {
  .homepage .journey .journey-steps { gap: 32px 28px; }
  .homepage .journey .journey-item .jlabel { min-height: 96px; }
  .homepage .journey .journey-item:nth-child(2)::after { content: none; }
}
@media (max-width: 680px) {
  .homepage .journey .section-header {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(90px, 3fr);
    gap: 16px 14px;
    align-items: center;
  }
  .homepage .journey .section-header > div:first-child { grid-column: 1 / -1; }
  .homepage .journey .section-header > p { max-width: none; min-width: 0; }
  .homepage .journey .section-header > .pill {
    justify-self: end;
    padding: 10px 11px;
    min-height: 42px;
    font-size: 11px;
  }
  .homepage .journey .journey-steps { grid-template-columns: 1fr; gap: 32px; }
  .homepage .journey .journey-item .jlabel { min-height: 0; flex: initial; }
  .homepage .journey .journey-item { gap: 18px; }
  .homepage .journey .journey-media { aspect-ratio: 8 / 5; }
  .homepage .journey .journey-item:not(:last-child)::after {
    content: '↓';
    top: auto;
    bottom: -26px;
    left: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .homepage .journey.journey-armed .section-header,
  .homepage .journey.journey-armed .journey-item {
    opacity: 1;
    transform: none;
  }
}
