/* Eight illustrated stages. Preview moves the runner; activation opens the details. */
.ou-home .ou-journey {
  --journey-paper:var(--ou-paper,#f7f2df);
  --journey-sheet:#fffdf7;
  --journey-ink:var(--ou-ink,#241713);
  --journey-muted:#665e50;
  --journey-blue:var(--ou-blue,#17639b);
  --journey-sky:#3085c8;
  --journey-yellow:#ffe48b;
  --journey-line:#d9d2be;
  --journey-pale:#e9f1f6;
  margin:0 auto;
  padding:0;
  color:var(--journey-ink);
  scroll-margin-top:110px;
}
.ou-journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.ou-home .ou-journey-heading h2{font-size:clamp(29px,3.5vw,46px);line-height:1.4;font-weight:700;color:var(--journey-ink);letter-spacing:-.025em}
.ou-home .ou-journey-heading>div{max-width:820px}
.ou-home .ou-journey-heading p{font-size:16px;line-height:1.85;margin-top:20px;color:var(--journey-muted)}
.ou-home .ou-journey-heading .ou-journey-help{flex:0 0 232px;margin:0;font-size:13px;line-height:1.85;color:var(--journey-blue)}
.ou-journey-help>span{display:block;margin-top:8px;font-size:11px;line-height:1.8;color:var(--journey-muted)}
.ou-journey-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--journey-blue) transparent;margin-top:38px;padding:8px 0 0}
.ou-journey-map{position:relative;isolation:isolate;min-width:0}
.ou-journey-track{position:absolute;inset:0;z-index:0;width:100%;height:700px;overflow:visible;pointer-events:none}
.ou-journey-track path{fill:none;stroke:var(--journey-blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 10;opacity:.33;vector-effect:non-scaling-stroke}
.ou-journey-stations{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:96px 20px;list-style:none;padding:0 0 100px;margin:0}
.ou-journey-stations>li{min-width:0;height:252px}
.ou-journey-stations>li:nth-child(5){grid-column:4;grid-row:2}
.ou-journey-stations>li:nth-child(6){grid-column:3;grid-row:2}
.ou-journey-stations>li:nth-child(7){grid-column:2;grid-row:2}
.ou-journey-stations>li:nth-child(8){grid-column:1;grid-row:2}
.ou-journey-station{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:252px;padding:12px 12px 14px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--journey-ink);font:inherit;text-align:center;cursor:pointer;transition:background 170ms ease,border-color 170ms ease}
.ou-journey-station:hover,.ou-journey-station.is-positioned{background:#fffdf78c;border-color:#b9cedc}
.ou-journey-station.is-active{background:var(--journey-sheet);border-color:var(--journey-blue)}
.ou-journey-station:focus-visible{outline:3px solid var(--journey-blue);outline-offset:3px}
.ou-journey-number{position:absolute;top:12px;left:14px;color:var(--journey-blue);font:600 13px/20px Manrope,sans-serif;z-index:1}
.ou-journey-scene{display:block;flex:0 0 auto;width:100%;height:142px;object-fit:contain;margin-bottom:6px}
.ou-journey-station strong{display:block;font-size:15px;line-height:22px;font-weight:700;min-height:44px;max-width:13em;white-space:normal;text-wrap:balance;color:var(--journey-ink)}
.ou-journey-station-subtitle{font-size:11px;line-height:19px;white-space:normal;color:var(--journey-muted)}
.ou-journey-open-label{position:absolute;right:12px;top:12px;font-size:10px;line-height:20px;color:var(--journey-muted);opacity:0}
.ou-journey-station:is(:hover,:focus-visible) .ou-journey-open-label,.ou-journey-station.is-active .ou-journey-open-label{opacity:1}
.ou-journey-station.is-active .ou-journey-open-label{color:var(--journey-blue)}
.ou-journey-runner{position:absolute;left:0;top:0;z-index:3;width:96px;height:96px;pointer-events:none;transform:translate(var(--journey-x,0px),var(--journey-y,244px));transition:transform var(--journey-duration,0ms) cubic-bezier(.22,.05,.25,1)}
.ou-journey-runner.is-running{will-change:transform}
.ou-journey-runner-facing{width:100%;height:100%;transform:scaleX(var(--journey-facing,1));transform-origin:50% 50%}
.ou-journey-runner-facing>svg{display:block;width:100%;height:100%;overflow:visible}
.ou-journey-dust{position:absolute;left:30px;bottom:8px;width:6px;height:3px;border-radius:50%;background:var(--journey-blue);opacity:0}
.ou-journey-runner.is-running .ou-journey-dust{animation:ou-journey-dust 300ms ease-out infinite}
.ou-journey-selection{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0;margin-top:12px;border-top:1px solid var(--journey-line);font-size:13px;line-height:1.8}
.ou-journey-selection>span:first-child{font-weight:700;color:var(--journey-blue)}
.ou-journey-selection>span:last-child{font-size:11px;color:var(--journey-muted)}
.ou-journey-panel{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:48px;padding:36px 40px 40px;background:var(--journey-sheet);border-radius:16px;scroll-margin-top:110px;min-width:0}
.ou-journey-panel:focus-visible{outline:3px solid var(--journey-blue);outline-offset:4px}
.ou-journey-detail-scene{min-width:0}
.ou-journey-detail-scene>img{display:block;width:min(100%,360px);height:auto;aspect-ratio:360/260;object-fit:contain;margin:0 auto 12px}
.ou-home .ou-journey-detail-scene>p:first-of-type{font:600 12px/1.7 Manrope,'Microsoft YaHei',sans-serif;color:var(--journey-blue);margin-bottom:10px}
.ou-home .ou-journey-panel h3{font-size:27px;line-height:1.45;font-weight:700;color:var(--journey-ink);margin:0 0 14px;letter-spacing:-.025em}
.ou-home .ou-journey-detail-note{font-size:14px;line-height:1.9;color:var(--journey-muted)}
.ou-journey-panel .ou-text-link{font-size:14px;color:var(--journey-blue);margin-top:16px;gap:10px}
.ou-journey-panel .ou-text-link>svg{width:20px;height:20px}
.ou-journey-detail-content{min-width:0;padding-top:12px}
.ou-home .ou-journey-detail-content h4{margin:0 0 18px;font:700 19px/1.5 Manrope,'Microsoft YaHei',sans-serif;color:var(--journey-ink)}
.ou-journey-checklist{list-style:none;counter-reset:journey-task;display:grid;gap:16px;padding:0;margin:0}
.ou-journey-checklist li{position:relative;counter-increment:journey-task;font-size:14px;line-height:1.85;padding-left:32px}
.ou-journey-checklist li::before{content:counter(journey-task,decimal-leading-zero);position:absolute;left:0;top:1px;font:600 12px/24px Manrope,sans-serif;color:var(--journey-blue)}
.ou-journey-materials{padding-top:26px;margin-top:28px;border-top:1px solid var(--journey-line)}
.ou-journey-materials>ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.ou-journey-materials li{position:relative;padding-left:20px;font-size:13px;line-height:1.85;color:var(--journey-muted)}
.ou-journey-materials li::before{content:'';position:absolute;top:9px;left:1px;width:5px;height:5px;border-radius:50%;background:var(--journey-blue)}
.ou-home .ou-journey-materials>p{font-size:11px;line-height:1.85;color:var(--journey-muted);margin-top:18px}
.ou-home .ou-journey-caption{font-size:12px;line-height:1.8;color:var(--journey-muted);margin-top:20px}
.ou-journey-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes ou-journey-dust{0%{opacity:.5;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(-20px,4px) scale(.2)}}
@media(max-width:1100px){
  .ou-journey-heading{gap:28px;align-items:flex-start}
  .ou-home .ou-journey-heading .ou-journey-help{flex-basis:195px}
  .ou-journey-stations{column-gap:12px}
  .ou-journey-station{padding-inline:8px}
  .ou-journey-station strong{font-size:14px;max-width:10em}
  .ou-journey-scene{height:140px}
  .ou-journey-panel{gap:32px;padding:30px}
  .ou-home .ou-journey-panel h3{font-size:24px}
}
@media(max-width:800px){
  .ou-journey-heading{display:block}
  .ou-home .ou-journey-heading h2{font-size:30px}
  .ou-home .ou-journey-heading p{font-size:14px;margin-top:16px}
  .ou-home .ou-journey-heading .ou-journey-help{margin-top:18px;font-size:13px}
  .ou-journey-help br{display:none}
  .ou-journey-help>span{margin-top:3px;font-size:11px}
  .ou-journey-viewport{margin-top:26px;margin-right:-18px;padding-right:18px;padding-bottom:12px;scroll-padding-inline:18px}
  .ou-journey-map{width:1520px;min-width:1520px}
  .ou-journey-stations{display:grid;grid-template-columns:repeat(8,176px);column-gap:16px;row-gap:0;padding-bottom:100px}
  .ou-journey-stations>li:nth-child(n){grid-column:auto;grid-row:auto}
  .ou-journey-station{padding-inline:8px}
  .ou-journey-station strong{font-size:14px;line-height:22px;min-height:44px;max-width:150px}
  .ou-journey-scene{height:142px}
  .ou-journey-track{display:none}
  .ou-journey-map::before{content:'';position:absolute;top:334px;left:88px;right:88px;border-top:3px dotted var(--journey-blue);opacity:.33}
  .ou-journey-selection{align-items:flex-start;flex-direction:column;gap:3px;margin-top:4px;padding:16px 0}
  .ou-journey-panel{grid-template-columns:1fr;gap:26px;padding:26px}
  .ou-journey-detail-scene>img{width:280px;max-width:100%;margin-bottom:8px}
  .ou-home .ou-journey-panel h3{font-size:25px}
  .ou-journey-detail-content{padding-top:0}
  .ou-home .ou-journey-detail-content h4{font-size:19px}
}
@media(max-width:480px){
  .ou-home .ou-journey-heading h2{font-size:29px}
  .ou-journey-panel{padding:24px 20px}
  .ou-journey-selection>span:first-child{font-size:12px}
  .ou-journey-checklist li{padding-left:29px;font-size:14px}
  .ou-home .ou-journey-detail-note{font-size:13px}
  .ou-journey-materials li{font-size:13px}
  .ou-journey-panel .ou-text-link{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .ou-journey-runner,.ou-journey-station,.ou-journey-runner-facing{transition:none!important}
  .ou-journey-runner *{animation:none!important}
  .ou-journey-viewport{scroll-behavior:auto!important}
}
