/* Adapted from the user-owned portfolio atlas; Navigo overrides below. */
.balkans-case-route {
  --intro-opacity: 1;
  --road-opacity: 0;
  --summary-opacity: 0;
  --closing-opacity: 0;
  --fold-progress: 0;
  --fold-angle: 0deg;
  --fold-angle-negative: 0deg;
  --sheet-scale: .76;
  --sheet-rotate: -4.2deg;
  --sheet-y: 4vh;
  height: 720svh;
  background: #11110e;
}
.balkans-case-route__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% -18%, rgba(118,108,91,.24), transparent 47%),
    radial-gradient(circle at 82% 77%, rgba(104,49,36,.11), transparent 28%),
    linear-gradient(118deg, #1f1e19, #10100d 57%, #171611);
  isolation: isolate;
}
.balkans-case-route__sticky::before,
.balkans-case-route__sticky::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.balkans-case-route__sticky::before {
  z-index: 1;
  inset: 0;
  opacity: .36;
  background:
    repeating-linear-gradient(103deg, transparent 0 46px, rgba(255,255,255,.012) 47px, transparent 49px),
    radial-gradient(circle at 23% 18%, rgba(255,255,255,.055) 0 1px, transparent 1.5px);
  background-size: auto, 9px 11px;
  mix-blend-mode: screen;
}
.balkans-case-route__sticky::after {
  z-index: 30;
  inset: 0;
  box-shadow: inset 0 0 12vw rgba(0,0,0,.58);
}

.balkans-atlas {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: visible;
  perspective: 1600px;
}
.balkans-atlas::after { content: none; }
.balkans-atlas__a11y-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.balkans-atlas__sheet {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90vw;
  height: 86svh;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 21%, rgba(133,94,51,.13), transparent 22%),
    radial-gradient(circle at 78% 73%, rgba(112,75,37,.09), transparent 24%),
    #d8ceb7;
  box-shadow:
    -25px 45px 85px rgba(0,0,0,.43),
    18px 16px 26px rgba(0,0,0,.18),
    inset 0 0 0 1px rgba(70,58,41,.24);
  clip-path: polygon(.4% 1.1%, 24% .25%, 49.7% .8%, 75% .15%, 99.4% 1%, 99.8% 25%, 99.2% 50%, 99.7% 74%, 99.2% 99.2%, 74% 99.8%, 50% 99.1%, 25% 99.7%, .3% 98.9%, .7% 74%, .2% 49%, .8% 24%);
  transform: translate(-50%, -50%) translateY(var(--sheet-y)) rotate(var(--sheet-rotate)) scale(var(--sheet-scale));
  transform-origin: 50% 50%;
  will-change: transform;
  isolation: isolate;
}
.balkans-atlas__sheet::before,
.balkans-atlas__sheet::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.balkans-atlas__sheet::before {
  z-index: 12;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(49,39,27,.16), transparent .55%, transparent 99.2%, rgba(49,39,27,.19)),
    linear-gradient(0deg, rgba(49,39,27,.18), transparent .75%, transparent 99%, rgba(255,255,255,.15));
  mix-blend-mode: multiply;
}
.balkans-atlas__sheet::after {
  z-index: 13;
  inset: 8px;
  border: 1px solid rgba(70,58,40,.12);
  box-shadow: inset 0 0 90px rgba(73,52,29,.11);
}
.balkans-atlas__canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
}
.balkans-atlas__paper {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: .7;
  background:
    radial-gradient(ellipse at 11% 82%, rgba(89,59,31,.12), transparent 14%),
    radial-gradient(ellipse at 91% 12%, rgba(89,59,31,.1), transparent 18%),
    radial-gradient(circle at 18% 24%, rgba(68,52,35,.16) 0 .7px, transparent 1.2px),
    radial-gradient(circle at 67% 71%, rgba(68,52,35,.1) 0 .75px, transparent 1.3px);
  background-size: auto, auto, 13px 17px, 19px 23px;
  mix-blend-mode: multiply;
}
.balkans-atlas__creases {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.balkans-atlas__creases i {
  position: absolute;
  display: block;
}
.balkans-atlas__creases i:nth-child(1),
.balkans-atlas__creases i:nth-child(2) {
  top: 0;
  bottom: 0;
  width: 13px;
  background: linear-gradient(90deg, transparent, rgba(67,51,34,.13) 44%, rgba(255,255,255,.24) 52%, transparent);
}
.balkans-atlas__creases i:nth-child(1) { left: 33.333%; }
.balkans-atlas__creases i:nth-child(2) { left: 66.666%; transform: scaleX(-1); }
.balkans-atlas__creases i:nth-child(3) {
  right: 0;
  left: 0;
  top: 50%;
  height: 14px;
  background: linear-gradient(0deg, transparent, rgba(67,51,34,.11) 45%, rgba(255,255,255,.2) 54%, transparent);
}
.balkans-atlas__map-label {
  position: absolute;
  z-index: 4;
  top: 4.6%;
  left: 3.4%;
  display: grid;
  gap: 5px;
  color: rgba(58,49,36,.52);
  transform: rotate(-.5deg);
}
.balkans-atlas__map-label span,
.balkans-atlas__map-label small {
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.balkans-atlas__map-label strong {
  font: 700 clamp(28px, 3.5vw, 58px)/.78 Arial, sans-serif;
  letter-spacing: -.075em;
}
.balkans-atlas__map-label small { font-size: 8px; }
.balkans-atlas__coordinates {
  position: absolute;
  z-index: 4;
  right: 3.5%;
  bottom: 3.4%;
  display: grid;
  grid-template-columns: auto 82px auto;
  gap: 11px;
  align-items: center;
  color: rgba(58,49,36,.48);
  font-size: 9px;
  letter-spacing: .12em;
}
.balkans-atlas__coordinates i {
  height: 1px;
  background: currentColor;
}

.balkans-atlas__intro {
  position: absolute;
  z-index: 24;
  top: 11vh;
  left: 5vw;
  width: min(560px, 44vw);
  padding: 27px 30px 30px;
  background: #151510;
  color: #e5dccb;
  box-shadow: 0 28px 75px rgba(0,0,0,.46);
  opacity: var(--intro-opacity);
  transform: translateY(var(--intro-shift, 0px)) rotate(-1.2deg);
  pointer-events: none;
}
.balkans-atlas__intro::after {
  content: attr(data-chapter-number);
  position: absolute;
  right: 18px;
  top: 11px;
  color: rgba(229,220,203,.06);
  font-size: 126px;
  font-weight: 800;
  letter-spacing: -.1em;
  line-height: .8;
}
.balkans-atlas__intro .case-label {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #9c968b;
  font-size: 10px;
  letter-spacing: .15em;
}
.balkans-atlas__intro h2 {
  position: relative;
  z-index: 2;
  margin: 7vh 0 0;
  font-size: clamp(58px, 7.3vw, 112px);
  letter-spacing: -.09em;
  line-height: .72;
}
.balkans-atlas__intro h2 em {
  color: #ea573c;
}
.balkans-atlas__intro-note {
  position: relative;
  z-index: 3;
  width: 88%;
  margin: 8vh 0 0 8%;
  padding: 17px 18px 19px;
  background: #d8ceb7;
  color: #312b22;
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
  transform: rotate(2deg);
}
.balkans-atlas__intro-note span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
}
.balkans-atlas__intro-note p {
  margin: 13px 0 0;
  font: italic 12px/1.55 Georgia, serif;
}
.balkans-atlas__scroll-cue {
  display: flex;
  gap: 11px;
  align-items: center;
  margin-top: 25px;
  color: #8d887f;
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.balkans-atlas__scroll-cue i {
  position: relative;
  width: 42px;
  height: 1px;
  background: currentColor;
}
.balkans-atlas__scroll-cue i::after {
  content: "";
  position: absolute;
  top: -3px;
  right: 0;
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(-45deg);
}

.balkans-atlas__itinerary {
  position: absolute;
  z-index: 22;
  top: 50%;
  left: 24px;
  display: grid;
  gap: 13px;
  width: 180px;
  margin: 0;
  padding: 18px 16px;
  list-style: none;
  background: rgba(15,15,12,.84);
  color: #d7cdbb;
  box-shadow: 0 18px 45px rgba(0,0,0,.26);
  opacity: var(--road-opacity);
  transform: translateY(-50%);
  pointer-events: none;
}
.balkans-atlas__itinerary li {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  align-items: baseline;
  color: #6f6b63;
  transition: color .22s ease, transform .22s ease;
}
.balkans-atlas__itinerary li.is-active {
  color: #f0e5d1;
  transform: translateX(5px);
}
.balkans-atlas__itinerary li.is-active span { color: #ea573c; }
.balkans-atlas__itinerary span {
  font-size: 9px;
  letter-spacing: .1em;
}
.balkans-atlas__itinerary strong {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: -.01em;
}
.balkans-atlas__chapter-mark {
  position: absolute;
  z-index: 22;
  top: 23px;
  right: 25px;
  display: grid;
  grid-template-columns: auto 58px auto;
  gap: 10px;
  align-items: center;
  color: rgba(229,220,203,.66);
  font-size: 9px;
  letter-spacing: .14em;
  opacity: var(--road-opacity);
}
.balkans-atlas__chapter-mark i { height: 1px; background: currentColor; }

.balkans-atlas-stop {
  --pin-x: 50%;
  --pin-y: 50%;
  --card-scale: .18;
  --card-opacity: 0;
  --drop: -105px;
  --swing: 0deg;
  --tilt: 0deg;
  position: absolute;
  z-index: 7;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  opacity: var(--card-opacity);
  transform: translate3d(var(--pin-x), var(--pin-y), 0);
  transition: opacity .18s ease;
  will-change: transform, opacity;
}
.balkans-atlas-stop.is-visible,
.balkans-atlas-stop.is-active,
.balkans-atlas-stop.is-past,
.balkans-atlas-stop.is-summary {
  opacity: var(--card-opacity);
  transform: translate3d(var(--pin-x), var(--pin-y), 0);
}
.balkans-atlas-stop.is-active { z-index: 18; }
.balkans-atlas-stop.is-past { z-index: 8; }
.balkans-atlas-stop.is-summary { z-index: 10; }
.balkans-atlas-stop figure {
  position: absolute;
  top: 8px;
  left: 0;
  width: clamp(160px, 14vw, 210px);
  margin: 0;
  padding: 9px 9px 58px;
  background: #efe4d2;
  box-shadow:
    0 28px 50px rgba(53,39,25,.28),
    0 3px 7px rgba(53,39,25,.2),
    inset 0 0 0 1px rgba(80,61,42,.11);
  transform: translate(-50%, var(--drop)) rotate(calc(var(--tilt) + var(--swing))) scale(var(--card-scale));
  transform-origin: 50% 0;
  will-change: transform;
}
.balkans-atlas-stop:nth-of-type(even) figure,
.balkans-atlas-stop.is-active figure,
.balkans-atlas-stop:nth-of-type(even).is-active figure {
  transform: translate(-50%, var(--drop)) rotate(calc(var(--tilt) + var(--swing))) scale(var(--card-scale));
}
.balkans-atlas-stop--landscape figure {
  width: clamp(210px, 18vw, 280px);
  padding-bottom: 59px;
}
.balkans-atlas-stop figure::before,
.balkans-atlas-stop figure::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.balkans-atlas-stop figure::before {
  z-index: 2;
  inset: 6px 6px 54px;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 0 26px rgba(35,21,10,.12);
}
.balkans-atlas-stop figure::after {
  z-index: -1;
  inset: auto 8% -7px 10%;
  height: 20px;
  background: rgba(45,32,21,.25);
  filter: blur(11px);
  mix-blend-mode: normal;
}
.balkans-atlas-stop figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--country-image-ratio, 1 / 1.08);
  object-fit: cover;
  filter: none;
}
.balkans-atlas-stop figure figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  display: grid;
  gap: 5px;
  color: #3d352b;
  font-family: Arial, sans-serif;
  font-style: normal;
  text-align: left;
}
.balkans-atlas-stop figure figcaption strong {
  font-size: 13px;
  letter-spacing: -.025em;
}
.balkans-atlas-stop figure figcaption small {
  color: #73695b;
  font: italic 11px/1.35 Georgia, serif;
}
.balkans-atlas-stop__stamp {
  position: absolute;
  z-index: 4;
  top: 16px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 2px solid rgba(136,48,35,.69);
  border-radius: 50%;
  color: rgba(136,48,35,.78);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  mix-blend-mode: multiply;
  transform: rotate(9deg);
}
.balkans-atlas-stop__stamp::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px dashed currentColor;
  border-radius: inherit;
}
.balkans-atlas-stop__pin {
  position: absolute;
  z-index: 25;
  top: 5px;
  left: 0;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 26%, #f5c4a7 0 9%, transparent 11%),
    radial-gradient(circle at 37% 31%, #d2775f 0 13%, #9b3d31 43%, #64251f 78%);
  box-shadow:
    0 5px 9px rgba(43,28,18,.43),
    inset -3px -4px 6px rgba(55,16,12,.35);
  transform: translate(-50%, -50%);
}
.balkans-atlas-stop__pin::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 22px;
  left: 13px;
  width: 1px;
  height: 31px;
  background: linear-gradient(#534c42 0 57%, rgba(83,76,66,0));
  box-shadow: 1px 0 rgba(255,255,255,.35);
}
.balkans-atlas-stop__pin i {
  position: absolute;
  top: 5px;
  left: 7px;
  width: 7px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,230,212,.46);
  transform: rotate(-28deg);
}
.balkans-atlas-stop__pin b {
  position: absolute;
  z-index: -2;
  right: -3px;
  bottom: -4px;
  width: 23px;
  height: 8px;
  border-radius: 50%;
  background: rgba(51,35,23,.29);
  filter: blur(3px);
  transform: rotate(18deg);
}
.balkans-atlas-stop.is-summary .balkans-atlas-stop__pin {
  transform: translate(-50%, -50%) scale(.78);
}

.balkans-atlas__summary {
  position: absolute;
  z-index: 20;
  right: 5.2%;
  bottom: 8%;
  display: grid;
  gap: 16px;
  width: min(420px, 38%);
  padding: 22px 24px;
  border: 3px double rgba(115,43,31,.74);
  color: rgba(112,42,31,.82);
  opacity: var(--summary-opacity);
  transform: translateY(var(--summary-shift, 25px)) rotate(-2deg);
  mix-blend-mode: multiply;
}
.balkans-atlas__summary > span,
.balkans-atlas__summary > small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;
}
.balkans-atlas__summary > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 19px;
}
.balkans-atlas__summary strong {
  font-size: clamp(22px, 2.5vw, 39px);
  letter-spacing: -.07em;
  line-height: .9;
}
.balkans-atlas__summary small { font-size: 8px; }
.balkans-atlas__closing {
  position: absolute;
  z-index: 23;
  bottom: 9vh;
  left: 4.5vw;
  display: grid;
  gap: 13px;
  width: min(390px, 31vw);
  padding: 20px 22px 21px;
  border-left: 2px solid #ea573c;
  background: rgba(17,17,14,.88);
  color: #e5dccb;
  opacity: var(--closing-opacity);
  transform: translateY(var(--closing-shift, 28px));
  pointer-events: none;
}
.balkans-atlas__closing p,
.balkans-atlas__closing span {
  margin: 0;
  color: #918b80;
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.balkans-atlas__closing strong {
  font: 500 clamp(23px, 2.5vw, 39px)/.95 Arial, sans-serif;
  letter-spacing: -.055em;
}
.balkans-atlas__closing strong em {
  color: #ea573c;
  font-family: Georgia, serif;
  font-weight: 400;
}
.balkans-atlas__fold {
  position: absolute;
  z-index: 28;
  top: 0;
  bottom: 0;
  width: 33.4%;
  pointer-events: none;
  opacity: var(--fold-progress);
  backface-visibility: hidden;
}
.balkans-atlas__fold--left {
  left: 0;
  background: linear-gradient(90deg, rgba(75,54,32,.22), rgba(255,255,255,.08));
  box-shadow: 22px 0 45px rgba(54,39,24,.32);
  transform: perspective(1100px) rotateY(var(--fold-angle));
  transform-origin: right center;
}
.balkans-atlas__fold--right {
  right: 0;
  background: linear-gradient(-90deg, rgba(75,54,32,.22), rgba(255,255,255,.08));
  box-shadow: -22px 0 45px rgba(54,39,24,.32);
  transform: perspective(1100px) rotateY(var(--fold-angle-negative));
  transform-origin: left center;
}

@media (max-width: 900px) {
  .balkans-case-route { height: 700svh; }
  .balkans-atlas__sheet { width: 94vw; height: 84svh; }
  .balkans-atlas__intro { left: 4vw; width: 53vw; }
  .balkans-atlas__intro h2 { font-size: 9vw; }
  .balkans-atlas__itinerary { left: 14px; width: 155px; }
  .balkans-atlas-stop figure { width: clamp(160px, 20vw, 195px); }
  .balkans-atlas-stop--landscape figure { width: clamp(210px, 28vw, 260px); }
}

@media (max-width: 600px) {
  .balkans-case-route {
    height: 680svh;
    padding: 0;
  }
  .balkans-case-route__sticky { height: 100svh; }
  .balkans-atlas__sheet {
    width: 94vw;
    height: 80svh;
  }
  .balkans-atlas__intro {
    top: 8vh;
    left: 6vw;
    width: 88vw;
    padding: 21px 20px 23px;
  }
  .balkans-atlas__intro::after {
    right: 12px;
    font-size: 92px;
  }
  .balkans-atlas__intro .case-label { font-size: 9px; }
  .balkans-atlas__intro h2 {
    margin-top: 5vh;
    font-size: 15.5vw;
  }
  .balkans-atlas__intro-note {
    width: 92%;
    margin-top: 6vh;
    margin-left: 4%;
    padding: 14px 15px 16px;
  }
  .balkans-atlas__intro-note p {
    margin-top: 10px;
    font-size: 11px;
  }
  .balkans-atlas__scroll-cue { margin-top: 19px; }
  .balkans-atlas__map-label {
    top: 3.7%;
    left: 4%;
  }
  .balkans-atlas__map-label span,
  .balkans-atlas__map-label small { font-size: 7px; }
  .balkans-atlas__map-label strong { font-size: 25px; }
  .balkans-atlas__coordinates {
    right: 4%;
    bottom: 3%;
    grid-template-columns: auto 42px auto;
    gap: 7px;
    font-size: 7px;
  }
  .balkans-atlas__itinerary {
    top: auto;
    right: 10px;
    bottom: 11px;
    left: 10px;
    display: flex;
    justify-content: center;
    gap: 4px;
    width: auto;
    padding: 9px 10px;
    transform: none;
  }
  .balkans-atlas__itinerary li {
    display: flex;
    gap: 5px;
    align-items: center;
    padding: 5px 4px;
  }
  .balkans-atlas__itinerary span { font-size: 7px; letter-spacing: .03em; }
  .balkans-atlas__itinerary li strong { display: none; }
  .balkans-atlas__itinerary li.is-active {
    background: #ea573c;
    color: #171510;
    transform: none;
  }
  .balkans-atlas__itinerary li.is-active span { color: inherit; }
  .balkans-atlas__chapter-mark {
    top: 12px;
    right: 13px;
    grid-template-columns: auto 28px auto;
    gap: 7px;
    font-size: 7px;
  }
  .balkans-atlas-stop figure {
    width: min(48vw, 180px);
    padding: 7px 7px 54px;
  }
  .balkans-atlas-stop--landscape figure {
    width: min(62vw, 235px);
    padding-bottom: 55px;
  }
  .balkans-atlas-stop--2 figure { left: 8px; }
  .balkans-atlas-stop figure::before { inset: 5px 5px 50px; }
  .balkans-atlas-stop figure figcaption { bottom: 10px; }
  .balkans-atlas-stop figure figcaption strong { font-size: 12px; }
  .balkans-atlas-stop figure figcaption small { font-size: 10px; }
  .balkans-atlas-stop__stamp {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    font-size: 7px;
  }
  .balkans-atlas-stop__pin {
    width: 23px;
    height: 23px;
  }
  .balkans-atlas-stop__pin::after {
    top: 19px;
    left: 11px;
    height: 26px;
  }
  .balkans-atlas__summary {
    top: 7%;
    right: 6%;
    bottom: auto;
    width: 62%;
    padding: 15px 16px;
    gap: 10px;
  }
  .balkans-case-route.is-summary .balkans-atlas__map-label { opacity: 0; }
  .balkans-atlas__summary > div {
    display: grid;
    gap: 5px;
  }
  .balkans-atlas__summary strong { font-size: 22px; }
  .balkans-atlas__closing {
    bottom: 13vh;
    left: 5vw;
    gap: 9px;
    width: min(76vw, 310px);
    padding: 15px 16px 16px;
  }
  .balkans-atlas__closing strong { font-size: clamp(22px, 7vw, 30px); }
  .balkans-atlas__closing p,
  .balkans-atlas__closing span { font-size: 7px; }
}

@media (max-width: 600px) and (max-height: 700px) {
  .balkans-atlas__sheet { height: 84svh; }
  .balkans-atlas-stop figure {
    width: min(43vw, 160px);
    padding-bottom: 51px;
  }
  .balkans-atlas-stop--landscape figure {
    width: min(55vw, 210px);
    padding-bottom: 52px;
  }
  .balkans-atlas-stop figure::before { inset: 5px 5px 47px; }
  .balkans-atlas-stop figure figcaption small { font-size: 9px; }
}

@media (max-height: 650px) and (min-width: 601px) {
  .balkans-atlas__sheet { height: 91svh; }
  .balkans-atlas__intro {
    top: 5vh;
    width: 45vw;
    padding: 19px 21px;
  }
  .balkans-atlas__intro h2 {
    margin-top: 4vh;
    font-size: 8vh;
  }
  .balkans-atlas__intro-note {
    margin-top: 4vh;
    padding: 11px 13px;
  }
  .balkans-atlas__intro-note p { font-size: 10px; }
  .balkans-atlas-stop figure { width: min(24vh, 180px); padding-bottom: 51px; }
  .balkans-atlas-stop--landscape figure { width: min(34vh, 240px); padding-bottom: 52px; }
  .balkans-atlas__itinerary { top: auto; bottom: 12px; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .balkans-case-route {
    height: auto;
    min-height: 100svh;
    padding: 8vh 0;
  }
  .balkans-case-route__sticky {
    position: relative;
    height: auto;
    min-height: 0;
    padding: 60px 0 0;
  }
  .balkans-atlas__chapter-mark,
  .balkans-atlas__fold,
  .balkans-atlas__closing { display: none; }
  .balkans-atlas__intro {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    width: min(720px, calc(100% - 40px));
    margin: 0 20px 50px;
    opacity: 1;
    transform: none;
  }
  .balkans-atlas__scroll-cue { display: none; }
  .balkans-atlas {
    position: relative;
    inset: auto;
    height: 88svh;
    min-height: 650px;
  }
  .balkans-atlas__sheet {
    transform: translate(-50%, -50%) rotate(-1deg) scale(.76) !important;
  }
  .balkans-atlas__itinerary { opacity: 1; }
  .balkans-atlas-stop,
  .balkans-atlas-stop figure,
  .balkans-atlas__summary { transition: none !important; }
}

/* Navigo identity, chapter bar clearance and accessible static fallback. */
.balkans-case-route{background:var(--deep);height:650svh;position:relative}
.balkans-case-route__sticky{top:62px;height:calc(100svh - 62px);background:radial-gradient(ellipse at 70% 15%,#637d8a55,transparent 60%),#30434e}
.balkans-atlas__sheet{background:radial-gradient(circle at 18% 21%,#637d8a19,transparent 32%),#e0e5df;height:80svh}
.balkans-atlas__intro{background:#30434e;color:#f7f7f3;top:5vh;padding:25px 30px;box-shadow:0 20px 60px #10232f55}
.balkans-atlas__intro h2{font-size:clamp(48px,5.9vw,94px);line-height:1.04;letter-spacing:-.055em;margin-top:32px}
.balkans-atlas__intro h2>*{display:block}.balkans-atlas__intro h2 em{color:#b9cdd5}
.balkans-atlas__intro-note{background:#e3e9e9;color:var(--deep);margin-top:32px;padding:17px}
.balkans-atlas__intro-note p{font:400 12px/1.8 Poppins,sans-serif}.balkans-atlas__scroll-cue{color:#c3d4db}
.balkans-atlas__map-label{color:#30434e88}.balkans-atlas__map-label strong{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(26px,3vw,47px);line-height:1.05;max-width:250px}
.balkans-atlas-stop figure{background:#f7f7f3}.balkans-atlas-stop figure figcaption{font-family:Poppins,sans-serif;color:#30434e}.balkans-atlas-stop figure figcaption small{font:400 9px/1.4 Poppins,sans-serif;color:#637d8a}
.balkans-atlas-stop__stamp{border-color:#2b597499;color:#2b5974}.balkans-atlas-stop__pin{background:radial-gradient(circle at 34% 26%,#d2e3e9 0 9%,transparent 11%),radial-gradient(circle at 37% 31%,#9ab1bc 0 13%,#637d8a 43%,#30434e 78%)}
.balkans-atlas__summary{border-color:#2b5974aa;color:#30434e}.balkans-atlas__summary strong{line-height:1.15;font-size:clamp(22px,2.5vw,38px)}
.balkans-atlas__itinerary{background:#233843ed;color:#f7f7f3}.balkans-atlas__itinerary li{color:#a0b5be}.balkans-atlas__itinerary li.is-active{color:white}.balkans-atlas__itinerary li.is-active span{color:#c8e5ee}
.atlas-exit{position:absolute;right:30px;bottom:22px;z-index:35;color:#fff}.atlas-exit .text-link{border-color:#b9cdd5;font-size:10px;padding:12px;background:#30434ef0}.atlas-exit .text-link:focus-visible{outline-offset:2px}
.atlas-description{color:#b9cdd5;position:absolute;bottom:8px;left:var(--gutter);width:min(50%,700px);font-size:8px;line-height:1.6;z-index:1}
.atlas-static-map{display:none;width:100%;height:auto}.balkans-atlas__sheet::after{pointer-events:none}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion){height:auto;min-height:0;padding-block:40px}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-case-route__sticky{position:relative;top:0;height:auto;min-height:0;overflow:visible;padding:0 var(--gutter);background:none}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas__intro{position:relative;top:auto;left:auto;width:min(700px,100%);opacity:1;transform:none;margin:0 0 35px;pointer-events:auto}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas{position:relative;inset:auto;height:auto;min-height:0}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas__sheet{position:relative;top:auto;left:auto;width:100%;height:auto;transform:none!important;clip-path:none;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:25px}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .atlas-static-map{display:block;grid-column:1/-1;max-height:550px}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) :is(.balkans-atlas__canvas,.balkans-atlas__paper,.balkans-atlas__creases,.balkans-atlas__map-label,.balkans-atlas__itinerary,.balkans-atlas-stop__pin,.balkans-atlas__summary,.balkans-atlas__fold,.balkans-atlas__scroll-cue){display:none}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas-stop{position:relative;top:auto;left:auto;width:auto;height:auto;opacity:1;transform:none!important}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas-stop figure{position:relative;top:auto;left:auto;width:100%;transform:none!important;padding:8px 8px 64px}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .atlas-exit{position:relative;right:auto;bottom:auto;margin-top:25px}
.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .atlas-description{position:relative;bottom:auto;left:auto;width:auto;margin:25px var(--gutter) 0;font-size:10px}
@media(max-width:600px){.balkans-case-route{height:590svh}.balkans-case-route__sticky{top:57px;height:calc(100svh - 57px)}.balkans-atlas__intro{top:3vh;left:6vw;width:88vw;padding:22px}.balkans-atlas__intro h2{font-size:14vw;margin-top:25px}.balkans-atlas__intro .eyebrow{font-size:8px}.balkans-atlas__intro-note{margin-top:25px}.balkans-atlas__intro-note p{font-size:11px}.balkans-atlas__sheet{height:76svh}.balkans-atlas__itinerary{bottom:62px}.balkans-atlas__itinerary li.is-active{background:#637d8a}.atlas-exit{bottom:12px;right:15px}.atlas-exit .text-link{font-size:9px}.atlas-description{display:none}.balkans-atlas__summary{width:75%;right:10%;top:6%}.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas__sheet{grid-template-columns:1fr 1fr;padding:15px;gap:20px 12px}.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas-stop figure{padding-bottom:66px}.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .atlas-description{display:block}.balkans-case-route:is(:not(.atlas-ready),.is-reduced-motion) .balkans-atlas-stop figure figcaption strong{font-size:10px}}
