.project-journey { overflow: hidden; }
.journey-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 45px; }
.journey-heading > div:first-child > p:last-child { max-width: 670px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.journey-controls { display: flex; gap: 9px; flex: 0 0 auto; }
.journey-controls button { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: rgba(15, 23, 42, .7); color: #fff; cursor: pointer; transition: .2s; }
.journey-controls button:hover { border-color: rgba(101, 169, 255, .45); transform: translateY(-2px); }
.journey-track { width: auto; overflow-x: auto; padding: 4px max(20px, calc((100vw - 1180px)/2)) 22px; scroll-padding-inline: max(20px, calc((100vw - 1180px)/2)); scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; animation: none; cursor: grab; touch-action: pan-x pan-y; overscroll-behavior-inline: contain; }
.journey-track::-webkit-scrollbar { display: none; }
.journey-track.is-dragging { cursor: grabbing; scroll-behavior: auto; user-select: none; }
.journey-track article { flex: 0 0 min(420px, calc(100vw - 40px)); width: auto; scroll-snap-align: start; scroll-snap-stop: always; }
.journey-track article:first-child { margin-left: 0; }
.journey-hint { margin-top: 5px; color: #6f7a92; font-size: 12px; }
@media (max-width: 700px) { .journey-heading { align-items: flex-start; flex-direction: column; } .journey-track article { flex-basis: calc(100vw - 48px); } .journey-hint { font-size: 11px; } }
