/* Local progressive map on the company contacts page. */
[data-journey-map] { min-inline-size:0; }
.journey-hint { margin:.7rem 0 0; color:inherit; font-size:.85rem; line-height:1.5; }
.journey-widget {
  --journey-ink:#f2faf9;
  --journey-muted:#b9d1d1;
  --journey-aqua:#9cdbd3;
  --journey-orange:#ffb787;
  container-type:inline-size;
  box-sizing:border-box;
  overflow:hidden;
  color:var(--journey-ink);
  background:#142e34;
  border:1px solid #456269;
  border-radius:14px;
  box-shadow:0 5px 18px #15343918;
  text-align:start;
}
.journey-widget *, .journey-widget *::before, .journey-widget *::after { box-sizing:border-box; }
.journey-top { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:.8rem; align-items:baseline; padding:1.2rem 1.2rem .9rem; }
.journey-counter { grid-row:1/3; font:600 .75rem/1.5 ui-monospace,monospace; color:var(--journey-orange); white-space:nowrap; direction:ltr; }
.journey-title { margin:0; font:inherit; font-size:clamp(1.12rem,2.6vw,1.45rem); font-weight:650; line-height:1.22; color:var(--journey-ink); }
.journey-detail { grid-column:2; margin:.3rem 0 0; min-block-size:2.8em; font:inherit; font-size:.88rem; line-height:1.4; color:var(--journey-muted); }
.journey-map-window { position:relative; width:100%; aspect-ratio:1.83; min-height:205px; max-height:420px; isolation:isolate; overflow:hidden; background:#0f282e; border-block:1px solid #456269; }
.journey-art { display:block; width:100%; height:100%; }
.journey-art .journey-world, .journey-art .journey-worldWrap { fill:#2f4e55; stroke:#739095; stroke-width:.55; }
.journey-art[data-step="0"] .journey-worldWrap { display:none; }
.journey-art .journey-water { fill:none; stroke:#80aeba; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; }
.journey-art[data-step="0"] .journey-water,.journey-art[data-step="1"] .journey-water { display:none; }
.journey-art .journey-russia { fill:#478d89; stroke:#a6d7ce; stroke-width:1; }
.journey-art .journey-region { fill:#426a67; stroke:#f0b58a; stroke-width:1.55; }
.journey-art .journey-moscow { fill:#8fafa5; stroke:#c9e2da; stroke-width:1; }
.journey-art[data-step="0"] .journey-region,.journey-art[data-step="0"] .journey-moscow { opacity:0; }
.journey-art[data-step="1"] .journey-moscow { opacity:0; }
.journey-art[data-step="2"] .journey-russia,.journey-art[data-step="3"] .journey-russia { fill:#31565b; stroke:#587b81; }
.journey-art .journey-points { pointer-events:none; }
.journey-art .journey-city-dot { fill:#a4e0d7; stroke:#10282d; stroke-width:2; }
.journey-art .journey-highlight { fill:var(--journey-orange); }
.journey-art .journey-leader { stroke:#afcfca; stroke-width:1; }
.journey-art .journey-pin-back { fill:#122d32; stroke:#7c9d9d; stroke-width:.8; }
.journey-art .journey-pin-text { font:600 12px/1.2 system-ui,sans-serif; fill:#f3faf8; }
.journey-art .journey-country-label { font:650 13px/1.2 system-ui,sans-serif; fill:#f2fcfa; stroke:#26494b; stroke-width:2.8px; paint-order:stroke; }
.journey-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:#3a555b; border-block-end:1px solid #456269; }
.journey-widget .journey-step, .journey-widget .journey-action {
  appearance:none;
  font:inherit;
  cursor:pointer;
  border:0;
  min-inline-size:0;
  text-align:start;
}
.journey-widget .journey-step {
  display:flex; flex-direction:column; align-items:flex-start; gap:.2rem;
  padding:.55rem .65rem .65rem; min-block-size:3.35rem;
  color:#d2e3e3; background:#18343b; line-height:1.24; font-size:.78rem;
  overflow-wrap:break-word;
}
.journey-step-index { font:600 .64rem/1.2 ui-monospace,monospace; color:#a2bfbf; }
.journey-widget .journey-step[aria-current="step"] { color:white; background:#25464b; box-shadow:inset 0 3px 0 var(--journey-orange); }
.journey-step[aria-current="step"] .journey-step-index { color:var(--journey-orange); }
.journey-widget .journey-action:focus-visible,.journey-widget .journey-step:focus-visible { outline:2px solid #d6f5ed; outline-offset:-3px; }
.journey-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.32rem .5rem; padding:.65rem .9rem; }
.journey-widget .journey-action { display:inline-flex; align-items:center; justify-content:center; gap:.48rem; min-height:42px; border-radius:5px; padding:.45rem .7rem; font-size:.84rem; line-height:1.28; font-weight:600; }
.journey-widget .journey-action.primary { color:#122c30; background:#a6dcd3; }
.journey-widget .journey-action.secondary { background:transparent; color:#d4e4e4; }
.journey-widget .journey-action.secondary:disabled { color:#8ba7a8; opacity:.8; cursor:default; }
.journey-action svg { width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.journey-credit { margin-inline-start:auto; padding:.1rem .15rem; font-size:.69rem; line-height:1.4; color:#acc5c5; }
.journey-a11y { position:absolute!important; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(hover:hover) {
  .journey-widget .journey-step:hover { background:#294b50; color:#fff; }
  .journey-widget .journey-action.primary:hover { background:#bfeae4; }
  .journey-widget .journey-action.secondary:hover:not(:disabled) { background:#29474c; }
}
@container(max-width:510px) {
  .journey-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journey-widget .journey-step { flex-direction:row; align-items:baseline; gap:.55rem; min-block-size:2.85rem; padding:.6rem .7rem; }
  .journey-widget .journey-step[aria-current="step"] { box-shadow:inset 0 -2px 0 var(--journey-orange); }
  .journey-top { padding:1rem .85rem .8rem; column-gap:.55rem; }
  .journey-credit { font-size:.64rem; }
}
@container(min-width:800px) {
  .journey-layout {
    display:grid;
    grid-template-columns:minmax(16rem,.88fr) minmax(0,2fr);
    grid-template-rows:auto 1fr auto;
  }
  .journey-top { grid-area:1/1; padding:1.45rem 1.25rem 1rem; }
  .journey-map-window {
    grid-area:1/2/4/3; align-self:stretch; aspect-ratio:auto;
    min-block-size:398px; max-block-size:none; border:0; border-inline-start:1px solid #456269;
  }
  .journey-steps { grid-area:2/1; align-self:start; grid-template-columns:minmax(0,1fr); }
  .journey-widget .journey-step {
    flex-direction:row; align-items:baseline; gap:.85rem;
    min-block-size:2.7rem; padding:.72rem 1.25rem; font-size:.88rem;
  }
  .journey-widget .journey-step[aria-current="step"] {
    box-shadow:none; border-inline-start:3px solid var(--journey-orange); padding-inline-start:calc(1.25rem - 3px);
  }
  .journey-actions { grid-area:3/1; padding:.7rem 1rem 1rem; }
  .journey-credit { flex-basis:100%; margin:0; padding-inline-start:.1rem; }
}
@media(max-width:540px) {
  .journey-map-window { aspect-ratio:1.5; }
  .journey-actions { padding:.45rem .6rem; }
}
