.route-map-card {
  position: relative;
  overflow: hidden;
}

.route-map-card::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -70px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(151, 76, 0, .06);
  pointer-events: none;
}

.route-map {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(130px, .95fr);
  gap: 14px;
  align-items: center;
}

.route-map svg {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  background: linear-gradient(145deg, #d9f0fb, #a8d3e9);
  box-shadow: inset 0 0 0 1px rgba(8, 10, 9, .08);
}

.route-map .island { fill: #e9e5c9; stroke: #cac4a3; stroke-width: 2; }
.route-map .route-line { fill: none; stroke: var(--brand-brown); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 6 5; }
.route-map .route-points circle { fill: var(--brand-brown); stroke: #fff; stroke-width: 1.5; r: 5.5px; }
.route-map .route-numbers text { fill: #fff; font: 700 5.5px Montserrat; text-anchor: middle; dominant-baseline: middle; }
.route-map ol { list-style: none; padding: 0; margin: 0; }
.expedition-sidebar .route-map li { display: flex; align-items: center; gap: 8px; margin: 7px 0; color: var(--ink); line-height: 1.25; }
.expedition-sidebar .route-map li::before { display: none; }
.route-map li b { display: grid; place-items: center; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--brand-brown); color: #fff; font-size: .62rem; }
.route-map li span { font-size: .65rem; font-weight: 600; }

@media (max-width: 720px) {
  .route-map { grid-template-columns: minmax(0, 1fr) minmax(135px, .85fr); }
}
.tsiribihina-hero { background-image: url("madagascar-baobabs.jpg"); }
.northern-overland-hero { background-image: url("north-hero.jpg"); }
.loup-overland-hero { background-image: url("south-hero.jpg"); }
