/* World → route → cargo: one light editorial surface, existing VEDLINK tokens. */
.sr-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.map-node{clip-path:circle(50%)}
.map-node:focus-visible:before{border:3px solid var(--ink)}
.region-shortcuts{display:flex;align-items:center;gap:28px;padding-block:8px;flex-wrap:wrap}.region-shortcuts>span{font-size:9px;letter-spacing:.1em;color:var(--muted);margin-right:auto}.region-shortcuts button{font-size:12px;min-height:44px;color:var(--muted);border:0;background:none;padding:8px 0}.region-shortcuts button[aria-pressed=true]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
@media(max-width:760px){.region-shortcuts{gap:4px 16px;justify-content:space-between;padding-block:0}.region-shortcuts>span{display:none}.region-shortcuts button{font-size:11px;min-height:38px;padding:4px 0}.region-shortcuts button:first-of-type{display:none}}
.map-path.route-drawing{animation:route-draw .85s ease-out both;stroke-dasharray:100;stroke-dashoffset:0}
@keyframes route-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.world-intro{padding:48px 0 24px}.world-kicker{display:flex;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.13em;color:var(--muted)}.world-heading{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:70px;margin-top:28px}.world-heading h1{font-size:clamp(40px,4.6vw,68px);line-height:1.1}.world-heading h1 span{font-family:var(--sans);font-weight:300;letter-spacing:-.045em}.world-heading p{max-width:380px;color:var(--muted);font-size:17px}.world-heading a{display:inline-flex;align-items:center;gap:15px;min-height:44px;margin-top:14px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
.atlas{margin-top:26px}.atlas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;border-block:1px solid var(--line)}.origin-control{display:flex;align-items:center;gap:18px}.origin-control label{font-size:12px;color:var(--muted)}select{font:500 18px var(--sans);color:var(--ink);border:0;background:transparent;padding:10px 30px 10px 8px;max-width:100%;min-height:44px}.route-destination{font-size:18px;display:flex;gap:24px;align-items:center}.route-destination span{color:var(--accent)}.atlas-hint{font-size:12px;color:var(--muted)}.map-canvas{position:relative;height:480px;overflow:hidden;background:radial-gradient(ellipse at 62% 42%,#eef3f6 0,transparent 65%)}.map-sheet{position:absolute;width:100%;height:100%;inset:0}.map-svg{width:100%;height:100%;overflow:visible}.map-grid{stroke:#dbe3e9;stroke-width:.55;fill:none}.map-path{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.map-progress{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:stroke-dashoffset .5s ease-out}.map-label{font-family:var(--sans);fill:var(--ink);font-size:16px;font-weight:500;paint-order:stroke;stroke:var(--bg);stroke-width:5px;stroke-linejoin:round}.map-ocean{font-size:10px;letter-spacing:.22em;fill:#758797;font-family:var(--sans)}.map-node{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;color:var(--accent);font:11px var(--mono);display:grid;place-items:center;isolation:isolate}.map-node:before{content:'';position:absolute;width:27px;height:27px;background:var(--bg);border:1px solid var(--accent);border-radius:50%;z-index:-1;transition:width .18s,height .18s,background .18s}.map-node:hover:before,.map-node[aria-pressed=true]:before{width:35px;height:35px;background:var(--accent)}.map-node:hover,.map-node[aria-pressed=true]{color:white}.map-node[aria-pressed=true]:after{content:'';position:absolute;inset:0;border:1px solid #c8412b40;border-radius:50%}.map-caption{position:absolute;left:0;bottom:20px;max-width:290px;font-size:12px;color:var(--muted);background:#fcfdfedb;padding:12px 15px;border-left:2px solid var(--accent)}.map-meta{position:absolute;right:0;bottom:25px;font-size:10px;letter-spacing:.1em;color:var(--muted)}
.route-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);gap:12px;padding-top:4px}.route-steps button{position:relative;border:0;background:none;color:var(--muted);text-align:left;padding:17px 0;min-height:75px;font-size:15px}.route-steps button>span{display:block;font:11px var(--mono);margin-bottom:6px}.route-steps button[aria-pressed=true]{color:var(--ink)}.route-steps button[aria-pressed=true]:before{content:'';position:absolute;left:0;right:0;top:-5px;height:3px;background:var(--accent)}
.cargo-detail{padding:34px 0 60px;scroll-margin-top:20px}.detail-topline{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.11em;color:var(--muted);margin-bottom:20px}.detail-topline b{font-weight:400;color:var(--accent)}.cargo-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:54px;align-items:start}.cargo-visual{position:relative;aspect-ratio:16/11;background:var(--deep);overflow:hidden}.cargo-visual>img,.cargo-visual>video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.cargo-visual>video{object-fit:contain;background:var(--deep)}.visual-label{position:absolute;left:22px;top:20px;color:white;background:#0a1a2fb3;padding:5px 9px;font-size:10px;letter-spacing:.1em;z-index:2}.xray-launch{position:absolute;bottom:22px;left:22px;right:22px;border:1px solid #ffffff80;background:#0a1a2fd9;color:white;min-height:58px;text-align:left;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.xray-launch span{color:var(--scan);font-size:24px}.media-caption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:11px;color:var(--muted)}.cargo-copy{padding-top:8px}.cargo-copy .stage-count{font:300 66px/1 var(--sans);color:#b1bdc9;margin-bottom:20px;letter-spacing:-.06em}.cargo-copy h2{font-size:clamp(28px,2.8vw,40px);font-weight:400;max-width:440px}.cargo-copy>p{color:var(--muted);margin-top:21px;font-size:16px}.checklist{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.checklist li{display:flex;gap:15px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.checklist li:before{content:'↗';color:var(--accent)}.next-step{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}.next-step p{font-size:12px;color:var(--muted)}.next-step button{background:none;border:0;border-bottom:1px solid var(--ink);min-height:44px;font-size:14px;color:var(--ink);white-space:nowrap}.scan-controls{padding:15px 18px;background:var(--deep);color:#dceaf3}.scan-controls label{font-size:13px;display:flex;justify-content:space-between;gap:16px}.scan-controls input{display:block;width:100%;accent-color:var(--scan);min-height:44px;margin:2px 0}.scan-controls p{font-size:11px;color:#bacbd8}.scan-controls button{border:0;background:none;color:var(--scan);font-size:13px;min-height:44px;text-decoration:underline}.media-error{color:var(--muted);font-size:13px;padding:10px 0}
.film-break{border-block:1px solid var(--line);padding:35px 0;margin-bottom:60px}.film-break summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:28px;min-height:100px}.film-break summary::-webkit-details-marker{display:none}.film-break summary img{width:170px;aspect-ratio:16/9;object-fit:cover}.film-break summary h2{font-size:clamp(21px,2.4vw,33px);font-weight:400}.film-break summary p{font-size:14px;color:var(--muted);margin-top:8px}.film-break summary .film-symbol{margin-left:auto;border:1px solid var(--line);border-radius:50%;width:64px;height:64px;display:grid;place-items:center;flex-shrink:0}.film-break[open] .film-symbol{background:var(--ink);color:white}.full-film{margin-top:26px;background:var(--deep)}.full-film video{width:100%;max-height:80svh}.film-description{font-size:12px;color:var(--muted);margin-top:12px}
.route-quote{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:0 0 65px}.route-quote h2{font-size:clamp(30px,3.3vw,46px);font-weight:400}.route-quote .quote-route{font-size:22px;margin:25px 0 18px;color:var(--accent)}.route-quote p{color:var(--muted);max-width:460px}.quote-toggle{margin-top:24px}.quote-form{border-top:1px solid var(--line);padding-top:25px}.quote-form form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:block;font-size:13px;margin-bottom:5px}.quote-form input:not([type=checkbox]),.quote-form textarea{width:100%;font:16px var(--sans);padding:12px;border:1px solid #adb9c6;background:transparent;color:var(--ink);border-radius:0;min-height:46px}.quote-form textarea{resize:vertical}.quote-form .wide,.quote-form .agree{grid-column:1/-1}.quote-form .agree{display:flex;gap:10px;align-items:start;font-size:12px}.agree input{margin-top:5px;min-width:18px;height:18px;accent-color:var(--accent)}.agree a{text-decoration:underline}.quote-form button{border:0;white-space:normal}.quote-form .preview-warning{font-size:12px;margin-bottom:16px}.quote-form [role=status]{margin-top:15px}.hp{position:absolute;left:-10000px}.quote-aside{border-top:1px solid var(--line);padding-top:23px}.quote-aside h3{font-size:16px;margin-bottom:12px}.quote-aside p{font-size:14px}.quote-aside a{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid var(--line);margin-top:14px}.no-js{padding:20px;border:1px solid var(--line)}
@media(min-width:1450px){.map-canvas{height:520px}}
@media(max-width:1000px){.world-heading{gap:30px;grid-template-columns:1.4fr 1fr}.world-heading h1{font-size:48px}.cargo-grid{gap:30px;grid-template-columns:1.2fr 1fr}.cargo-copy h2{font-size:29px}.cargo-copy .stage-count{font-size:48px}.atlas-hint{display:none}.route-quote{gap:40px}.map-canvas{height:420px}}
@media(max-width:760px){.world-intro{padding-top:14px;padding-bottom:0}.world-kicker{font-size:9px}.world-kicker span:last-child{display:none}.world-heading{display:block;margin-top:12px}.world-heading h1{font-size:clamp(30px,7.6vw,44px);line-height:1.06}.world-heading p{font-size:14px;line-height:1.42;margin-top:12px}.world-heading a{margin-top:2px;font-size:13px}.atlas{margin-top:6px}.atlas-toolbar{gap:8px;align-items:center;padding:8px 0}.origin-control{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1}.origin-control label{font-size:9px;letter-spacing:.1em;flex:0 0 auto}.origin-control select{font-size:16px;padding:6px 24px 6px 0;min-height:38px;width:auto;max-width:150px}.route-destination{font-size:15px;gap:8px}.map-canvas{height:320px;overflow:clip}.map-sheet{width:740px;left:50%;transform:translateX(-50%);height:300px;top:0}.map-caption{bottom:0;font-size:10px;padding:7px 10px;max-width:230px}.map-meta{display:none}.map-node{width:44px;height:44px}.map-node:before{width:23px;height:23px}.map-node[aria-pressed=true]:before{width:31px;height:31px}.map-label{font-size:21px}.map-ocean{display:none}.route-steps{gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}.route-steps button{font-size:11px;min-height:72px;padding:12px 0;overflow-wrap:anywhere}.cargo-detail{padding-top:20px;padding-bottom:36px}.detail-topline{font-size:9px;gap:12px;margin-bottom:15px}.cargo-grid{display:block}.cargo-visual{aspect-ratio:4/3}.cargo-copy{padding-top:26px}.cargo-copy .stage-count{float:left;font-size:36px;margin:0 15px 0 0;line-height:1.2}.cargo-copy h2{font-size:28px;min-height:45px}.cargo-copy>p{margin-top:18px;clear:both}.visual-label{top:12px;left:12px;font-size:9px}.xray-launch{bottom:12px;left:12px;right:12px;font-size:14px;padding:12px;min-height:52px}.media-caption{font-size:10px}.next-step{gap:12px}.film-break{padding:23px 0;margin-bottom:36px}.film-break summary{gap:14px;flex-wrap:wrap}.film-break summary img{width:96px}.film-break summary h2{font-size:22px}.film-break summary p{font-size:12px;max-width:220px}.film-break summary .film-symbol{width:44px;height:44px}.film-break summary>div{flex:1;min-width:180px}.route-quote{display:block;padding-bottom:40px}.route-quote h2{font-size:31px}.route-quote .quote-route{font-size:20px}.quote-aside{margin-top:28px}.quote-form form{grid-template-columns:1fr}.quote-form .wide,.quote-form .agree{grid-column:1}.quote-form .button{width:100%}}
@media(prefers-reduced-motion:reduce){.map-progress{transition:none}.map-node:before{transition:none}}

.route-transcript{margin-bottom:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route-transcript>summary{cursor:pointer;padding:18px 0;font-size:14px;min-height:54px}.transcript-body{max-width:900px;padding:10px 0 28px}.transcript-body h2{font-size:25px;margin-bottom:24px}.transcript-body h3{font-size:18px;margin:22px 0 10px}.transcript-body p,.transcript-body li{font-size:15px;color:var(--muted);margin-bottom:8px}.transcript-body a{text-decoration:underline}.world-kicker nav a:focus-visible{outline-offset:3px}

/* Scroll-built route */
.track{position:relative;height:600svh}.route-stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:clip}.map-canvas{height:auto;overflow:visible;background:none}.map-wrap{position:relative;width:100%;aspect-ratio:1200/560;max-height:62svh;overflow:hidden;background:radial-gradient(ellipse at 62% 42%,#eef3f6 0,transparent 65%)}.map-svg{position:absolute;inset:0}.map-grid,.map-land,.map-ocean{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1)}.is-grid .map-grid{opacity:1}.is-land .map-land,.is-land .map-ocean{opacity:1}.map-path{opacity:.2;stroke-dasharray:6 7}.map-progress{stroke-dasharray:var(--route-length);stroke-dashoffset:var(--route-length);transition:none}
#route-nodes{position:absolute;inset:0}.route-node{position:absolute;z-index:3;transform:translate(-50%,-50%) scale(.65);opacity:0;transition:opacity .4s,transform .4s}.route-node.on{opacity:1;transform:translate(-50%,-50%) scale(1)}.route-node button{width:46px;height:46px;border:1px solid var(--accent);border-radius:50%;background:var(--bg);color:var(--accent);font:12px var(--mono);padding:0}.route-node[data-live] button,.route-node button[aria-pressed=true]{background:var(--accent);color:white;box-shadow:0 0 0 6px #c8412b24}.route-node .pin{position:absolute;left:calc(50% + var(--pin-x));top:calc(50% + var(--pin-y));transform:translate(-50%,-50%);white-space:nowrap;background:var(--bg);padding:2px 7px;color:var(--ink);font:11px var(--mono);letter-spacing:.05em}
#route-pops{position:absolute;inset:0;z-index:5;pointer-events:none}.route-pop{position:absolute;left:0;bottom:16px;display:none;width:264px;text-align:left;background:var(--bg);border:1px solid var(--line);box-shadow:0 18px 40px #0a1a2f21;padding:0;color:var(--ink);overflow:hidden}.route-pop.on{display:block;pointer-events:auto}.route-pop>img{width:100%;aspect-ratio:16/10;object-fit:cover}.route-pop-body{display:block;padding:13px 15px 15px}.route-pop .route-pop-no{display:block;font:11px var(--mono);color:var(--accent);letter-spacing:.1em}.route-pop h3{font:500 17px/1.25 var(--sans);letter-spacing:-.01em;margin-top:5px}.route-pop .route-pop-location{display:block;font:11px var(--mono);color:var(--muted);margin-top:8px}.route-pop .route-pop-open{margin-top:12px;width:100%;min-height:42px;border:0;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font:14px var(--sans)}.route-pop .route-pop-open span{color:var(--scan)}.route-steps{margin-top:12px}.route-steps button.on{color:var(--ink)}.stage-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-top:20px}.stage-actions button{min-height:44px;border:0;border-bottom:1px solid var(--ink);background:none;color:var(--ink);flex:0 0 auto}.copy-status{font:11px var(--mono);color:var(--muted);min-width:72px}#copy-stage-link{margin-left:auto}.cargo-detail[hidden]{display:none!important}
@media(min-width:900px){.route-pop.on{display:block}.atlas-toolbar,.region-shortcuts{position:relative;z-index:8;background:var(--bg)}}
@media(max-width:899px), (prefers-reduced-motion:reduce){.track{height:auto}.route-stage{position:static;height:auto;overflow:visible}.map-wrap{height:auto;min-height:300px;max-height:none;overflow:visible;padding-top:300px}.map-svg,#route-nodes{width:740px;height:345px;left:50%;transform:translateX(-560px)}#route-pops{position:static;display:grid;gap:12px;margin-top:12px;pointer-events:auto}.route-pop{position:static;display:block!important;width:100%;box-shadow:none}.route-node{opacity:1;transform:translate(-50%,-50%)}.map-grid,.map-land,.map-ocean{opacity:1}.map-progress{stroke-dashoffset:0!important}.route-steps{grid-row:3}}
@media(max-width:899px){.route-node .pin{display:none}.map-label{transform:translate(-8px,8px)}}
@media(max-width:699px){.stage-actions{flex-wrap:wrap}.stage-actions #back-to-route{flex-basis:100%}#copy-stage-link{margin-left:0}}
@media(max-width:760px){.world-intro{padding-bottom:0}.atlas{margin-top:6px}.map-wrap{min-height:300px}.route-stage{padding-top:0}.route-pop>img{aspect-ratio:16/9}.route-pop-body{padding:11px 13px 13px}.map-ocean{display:none}}

/* 07.09, точечная правка после приёмки итерации 6 (Claude). Базовые правила .route-pop
   (absolute, bottom:16px) оказались ниже мобильного блока и перебивали position:static —
   карточки ложились поверх страницы до футера. Здесь — последний блок файла, с усиленной
   специфичностью, только для узких экранов. Плюс clip на .map-wrap: кроп 740px со сдвигом
   -560px на 320px даёт правый край 340 → 20px горизонтальной прокрутки. */
@media(max-width:899px){
  .map-wrap{overflow:clip}
  #route-pops{position:static;inset:auto;display:grid;gap:12px;margin-top:12px;pointer-events:auto;z-index:auto}
  #route-pops .route-pop,#route-pops .route-pop.on{position:static;left:auto;bottom:auto;width:100%;display:block;box-shadow:none;pointer-events:auto}
  /* JS выставляет подписям стран inline font-size под масштаб svg (на телефоне выходит 40–50px
     в кропе) — на узком экране перебиваем !important: это единственное место, где он оправдан. */
  .map-label{font-size:20px!important;transform:none;stroke-width:4px} /* 20 svg-единиц ≈ 12px на экране при кропе 740/1200 */
  /* Контейнер карты на телефоне: карточки этапов лежат в потоке ВНУТРИ .map-wrap, а
     aspect-ratio держал высоту 300px и всё ниже (строка этапов, фильм) ложилось поверх них. */
  .map-wrap{height:auto;aspect-ratio:auto;max-height:none;min-height:0;padding-top:300px}
  /* Подпись-оговорка про схему: контейнер вырос под карточки, а она была прижата к его низу
     и легла на кнопку последней карточки. Держим её у нижней кромки самой карты (300px). */
  .map-caption{top:300px;bottom:auto;transform:translateY(-100%);max-width:calc(100% - 24px)}
}
