/* Карта — прозрачный художественный слой поверх уже существующего мира. */
.journey>.section-title{font-size:clamp(22px,5.5vw,27px);line-height:1.23;letter-spacing:-.7px;max-width:410px;margin-inline:auto;text-wrap:balance}
.journey-universe{position:relative;width:calc(100% + 44px);margin:28px -22px 0;aspect-ratio:1/2;isolation:auto}
.journey-route-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.journey-new-icon{position:absolute;display:block;transform:translateX(-50%);object-fit:contain;pointer-events:none;user-select:none}
.journey-route-repair{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.journey-stop-title-art{display:block;width:100%;height:22px;object-fit:contain;margin:0 auto 3.5px}
.journey-stop-title-art.is-two-lines{height:38px}
.journey-stop[data-journey-stop="1"]{width:47%}
.journey-stop[data-journey-stop="1"] .journey-strength-caption{font-size:clamp(10px,2.6vw,12px);line-height:1.4;text-wrap:initial;position:relative;left:-7px}
.journey-stop[data-journey-stop="2"] p,.journey-stop[data-journey-stop="5"] p{position:relative;left:-7px}
.journey-stop[data-journey-stop="3"] p{position:relative;left:7px}
.journey-caption-line{display:block;white-space:nowrap}
.journey-stop-final .journey-stop-title-art{height:24px}
.journey-stops{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.journey-stop{position:absolute;left:var(--label-x);top:calc(var(--node-y) + clamp(9px,2.9vw,14px));width:39%;transform:translateX(-50%);margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-align:center}
.journey-stop h3{font-family:Oswald,Manrope,sans-serif;font-size:19px;line-height:1.17;letter-spacing:.1px;color:#f2d79d;margin:0 0 7px;text-wrap:balance;text-shadow:0 2px 9px #021020,0 0 5px #021020}
.journey-stop p{font-size:14px;line-height:1.43;color:#e2edf9;margin:0;text-wrap:balance;text-shadow:0 2px 9px #021020,0 0 5px #021020}
.journey-stop-final{width:80%;max-width:350px}
.journey-marker{position:absolute;width:25px;height:25px;transform:translate(-50%,-50%) scale(.8);border:1px solid #ffe9a9;border-radius:50%;box-shadow:0 0 0 5px #ffd9871c,0 0 24px 6px #ffd98785;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;z-index:2}
.journey-marker.is-current{opacity:1;transform:translate(-50%,-50%) scale(1)}
.journey-stop.is-current h3{color:#fff1c8}
.journey .journey-quote{margin-top:0}
.offer-access-note{font-size:14px;line-height:1.5;text-align:center;color:#33546b;max-width:275px;margin:17px auto 0}
@media(max-width:400px){
 .journey-stop-title-art{height:19px;margin-bottom:3px}
 .journey-stop-title-art.is-two-lines{height:32px}
 .journey-stop-final .journey-stop-title-art{height:20px}
 .journey-universe{width:calc(100% + 34px);margin-inline:-17px;margin-top:25px}
 .journey-stop h3{font-size:17px;margin-bottom:6px;letter-spacing:0}
 .journey-stop p{font-size:13px;line-height:1.43}
 .journey-marker{width:21px;height:21px}
 .offer-access-note{font-size:13px}
}
@media(max-width:350px){
 .journey-stop h3{font-size:16px;line-height:1.15;margin-bottom:5px}
 .journey-stop p{font-size:12px;line-height:1.4}
 .journey-stop-final{width:82%}
 .journey-marker{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){.journey-marker{transition:none}}

/* Две полные строки: размер подбирается по доступной ширине всей карты. */
.journey-stop p.journey-caption{font-size:var(--journey-caption-size,clamp(10px,3vw,14px));line-height:1.4;text-wrap:initial;width:115%;margin-left:-7.5%;position:relative;left:0}
.journey-caption .journey-caption-line{display:block;width:max-content;max-width:none;margin-inline:auto;white-space:nowrap}
.journey-stop[data-journey-stop="1"] p.journey-caption{width:100%;margin-left:0;left:-12px}
.journey-stop[data-journey-stop="2"] p.journey-caption,.journey-stop[data-journey-stop="5"] p.journey-caption{left:-8px}
.journey-stop[data-journey-stop="3"] p.journey-caption{left:8px}
.journey-stop-final p.journey-caption{width:100%;margin-left:0}

/* Три PNG-названия той же высоты, что финальный этап; пропорции сохранены. */
.journey-stop:is([data-journey-stop="0"],[data-journey-stop="4"],[data-journey-stop="5"]) .journey-stop-title-art{height:24px;width:auto;max-width:none;position:relative;left:50%;transform:translateX(-50%);margin-inline:0}
@media(max-width:400px){.journey-stop:is([data-journey-stop="0"],[data-journey-stop="4"],[data-journey-stop="5"]) .journey-stop-title-art{height:20px}}

/* Подтягиваем итоговую плашку к последнему этапу карты. */
.cinematic .journey .journey-quote{margin-top:clamp(-65px,-13vw,-40px)}

.cinematic .offer-access-note{max-width:none;width:100%;font-size:var(--access-note-size,14px)}
.access-note-line{display:block;width:max-content;white-space:nowrap;margin-inline:auto}
