#step4 .encouragement-avatar { width:min(340px,100%);height:auto;aspect-ratio:340/244;margin-bottom:1.5rem; }
#step4 .level-journey { display:block;width:100%;height:auto;overflow:visible; }
.journey-grid { fill:none;stroke:#cde0d8;stroke-width:1;stroke-dasharray:3 6;opacity:.65; }
.journey-track { fill:none;stroke:#cee5dc;stroke-width:5;stroke-linecap:round; }
.journey-progress { fill:none;stroke:#0fa47a;stroke-width:5;stroke-linecap:round; }
.journey-dot { fill:#d3e7df;stroke:#fff;stroke-width:2; }
.journey-levels text { font:20px 'Apple Color Emoji','Segoe UI Emoji',sans-serif;opacity:.38;transition:opacity .3s; }
.journey-selection { fill:none;stroke:#0fa47a;stroke-width:1.5;opacity:0; }
.journey-levels .is-selected .journey-selection { opacity:.5; }
.journey-levels .is-reached .journey-dot { fill:#0fa47a; }
.journey-levels .is-reached text { opacity:1; }
/* Keep emoji glyphs at fixed SVG coordinates; scaling text can shift its baseline on mobile. */
.journey-axes { fill:none;stroke:#9bb8ad;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.journey-track,.journey-progress { stroke-linejoin:round; }
@media(prefers-reduced-motion:reduce) { .journey-levels text { transition:none;transform:none!important; } }
.journey-person { filter:drop-shadow(0 4px 3px #204f4020); }
