:root{--journey-ease:cubic-bezier(.2,.7,.2,1)}
@keyframes journey-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes journey-drive{0%,100%{transform:translateX(-22px)}50%{transform:translateX(22px)}}
@keyframes journey-road{to{background-position:-48px 0}}
.journey-road{position:relative;width:180px;height:74px;margin:0 auto 18px;color:#079fe1;overflow:hidden}
.journey-road svg{position:absolute;width:90px;left:45px;bottom:10px;animation:journey-drive 1.8s ease-in-out infinite}
.journey-road:after{content:"";position:absolute;bottom:5px;height:3px;left:0;right:0;background:repeating-linear-gradient(90deg,#43b4cc 0 25px,transparent 25px 48px);animation:journey-road .7s linear infinite}
.page-header,.welcome-banner,.hero,.auth-card,.welcome-journey,.support-window,.modal{animation:journey-enter .32s var(--journey-ease) both}
.btn,.vehicle-card,.nav-link,.support-options button{transition:background-color .18s,box-shadow .18s,transform .18s var(--journey-ease)}
.btn:active,.support-options button:active{transform:scale(.98)}
@media(hover:hover){.vehicle-card:hover{transform:translateY(-3px)}}
.support-options{display:grid;gap:8px;margin:12px 0}.support-options button{text-align:left;border:1px solid #94cadc;background:#eaf7ff;color:#12465f;border-radius:14px;padding:12px;cursor:pointer;font:inherit;min-height:44px}.support-options button:disabled{opacity:.5;cursor:wait}
.support-options.categories{grid-template-columns:repeat(2,minmax(0,1fr))}.support-options.categories button{font-size:13px}
.welcome-journey{border:1px solid #8bcbdc;background:linear-gradient(130deg,#e7f8ff,#f3fcf8)}
.welcome-journey summary{cursor:pointer;font-weight:750;font-size:1.15rem;min-height:44px}.welcome-journey summary span{font-size:.8rem;margin-left:12px;color:#286174}
.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.journey-steps a{display:flex;gap:12px;padding:16px;border-radius:16px;background:#fff;color:#163c50;text-decoration:none;align-items:center}.journey-steps b{font-size:1.4rem;color:#007fac}.journey-steps small{display:block;margin-top:6px;font-weight:400;line-height:1.4}
@media(max-width:700px){.journey-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:root *,:root *::before,:root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
