/* An atlas navigated in place: the destination list and the moving Earth share one stage. */
.diaspora-movement.is-enhanced .diaspora-globe-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  height: 750px;
  min-height: 750px;
  border: 1px solid #353538;
  background: #0c0d0f;
  box-shadow: 0 22px 60px #11111319;
}
.diaspora-movement.is-enhanced .diaspora-globe-place {
  z-index: 3;
  right: auto;
  bottom: 5%;
  left: -1%;
  max-width: 65%;
  overflow: hidden;
  color: #ffffff0b;
  font-size: clamp(95px, 12vw, 180px);
  pointer-events: none;
}
.diaspora-movement.is-enhanced .diaspora-globe-viewport {
  grid-column: 1;
  grid-row: 1;
  min-height: 0;
  background: radial-gradient(circle at 52% 49%, #242528 0, #131416 54%, #0c0d0f 76%);
}
.diaspora-movement.is-enhanced .diaspora-globe-viewport::after {
  inset: 7% 8%;
  border: 1px solid #ffffff17;
}
.diaspora-movement.is-enhanced .diaspora-globe-kicker { top: 25px; left: 27px; color: #cac8c3; }
.diaspora-movement.is-enhanced .diaspora-globe-hint { right: 25px; bottom: 22px; color: #d6d2cb; }
.diaspora-movement.is-enhanced .diaspora-globe-label {
  border: 0;
  background: #111214eb;
  color: #e9d6b8;
  font-size: 10px;
  letter-spacing: .13em;
}
.diaspora-movement.is-enhanced .diaspora-globe-label--destination { color: #ff918a; }
.diaspora-stage-interface {
  position: relative;
  z-index: 4;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  border-left: 1px solid #353538;
  background: #101113;
  color: #f5f3ee;
}
.diaspora-movement.is-enhanced .diaspora-map-caption {
  display: block;
  flex: 0 0 auto;
  padding: 35px clamp(27px, 3.2vw, 50px) 14px;
  border: 0;
  background: none;
}
.diaspora-movement.is-enhanced .diaspora-map-caption::before { display: none; }
.diaspora-movement.is-enhanced .diaspora-map-caption > span:first-child {
  display: block;
  margin-bottom: 15px;
  color: #c6a794;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .17em;
}
.diaspora-movement.is-enhanced .diaspora-map-caption strong {
  display: block;
  max-width: none;
  color: #f5f3ee;
  font-size: clamp(45px, 4.2vw, 67px);
  font-weight: 760;
  letter-spacing: -.015em;
  line-height: .96;
  text-wrap: balance;
}
.diaspora-movement.is-enhanced .diaspora-map-caption > span:nth-child(3) {
  display: block;
  margin-top: 17px;
  color: #d9aca0;
  font-size: 14px;
  font-weight: 680;
}
.diaspora-stage-summary {
  max-width: 42ch;
  margin-top: 14px !important;
  color: #d1cfca;
  font-size: 15px;
  line-height: 1.42;
}
.diaspora-movement.is-enhanced .diaspora-map-caption a {
  display: inline-flex;
  min-width: 0;
  gap: 25px;
  margin-top: 16px;
  padding: 6px 0;
  border: 0;
  color: #f38b82;
  font-size: 14px;
}
.diaspora-movement.is-enhanced .diaspora-map-caption a span { margin-left: 4px; }
.diaspora-stage-controls { display: flex; gap: 8px; margin-top: 15px; }
.diaspora-stage-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 36px;
  padding: 5px 12px;
  border: 1px solid #5f5c5c;
  border-radius: 0;
  background: transparent;
  color: #f5f3ee;
  font: inherit;
  font-size: 12px;
  font-weight: 730;
  cursor: pointer;
}
.diaspora-stage-controls button:hover:not(:disabled) { border-color: #e06360; color: #ffaaa2; }
.diaspora-stage-controls button:disabled { opacity: .38; cursor: default; }
.diaspora-stage-controls button:focus-visible { outline: 3px solid #e06360; outline-offset: 3px; }
.diaspora-movement.is-enhanced .diaspora-globe-key { gap: 7px 18px; margin-top: 17px; font-size: 11px; }
.diaspora-movement.is-enhanced .diaspora-map-caption .diaspora-globe-scale { margin-top: 8px; font-size: 11px; }
.diaspora-movement.is-enhanced .diaspora-map-caption small { display: none; }
.diaspora-movement.is-enhanced .diaspora-route-picker {
  display: grid;
  grid-template-columns: 1fr;
  flex: 1 1 auto;
  align-content: end;
  min-height: 0;
  padding: 3px clamp(27px, 3.2vw, 50px) 23px;
}
.diaspora-movement.is-enhanced .diaspora-route-picker button {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 5px 18px 5px 0;
  border: 0;
  border-top: 1px solid #ffffff32;
  background: none;
  color: #f5f3ee;
  text-align: left;
}
.diaspora-movement.is-enhanced .diaspora-route-picker button:last-child { border-bottom: 1px solid #ffffff32; }
.diaspora-movement.is-enhanced .diaspora-route-picker button > span { color: #d0524e; font-size: 10px; letter-spacing: .12em; }
.diaspora-movement.is-enhanced .diaspora-route-picker button strong {
  overflow: hidden;
  color: transparent;
  font-size: clamp(30px, 2.8vw, 44px);
  font-weight: 760;
  letter-spacing: -.02em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-text-stroke: 1px #c4c1bf;
}
.diaspora-movement.is-enhanced .diaspora-route-picker button[aria-pressed="true"] strong,
.diaspora-movement.is-enhanced .diaspora-route-picker button:hover strong { color: #f5f3ee; -webkit-text-stroke: 0; }
.diaspora-movement.is-enhanced .diaspora-route-picker button[aria-pressed="true"]::after {
  right: 2px;
  color: #e45d58;
  font-size: 26px;
  content: '→';
}
.diaspora-movement.is-enhanced .diaspora-route-layout { display: block; max-width: 820px; margin: 64px auto 0; }
.diaspora-movement.is-enhanced .diaspora-route-story { padding-top: 27px; border-top: 1px solid #bdb8b0; }
.diaspora-movement.is-enhanced .diaspora-route-story h3 {
  position: static;
  width: auto;
  height: auto;
  margin: 14px 0 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.diaspora-movement.is-enhanced .diaspora-map-swipe { color: #595651; }

@media (max-width: 1000px) {
  .diaspora-movement.is-enhanced .diaspora-globe-stage { grid-template-columns: minmax(0, 1fr) minmax(315px, .88fr); height: 700px; min-height: 700px; }
  .diaspora-movement.is-enhanced .diaspora-map-caption { padding-top: 28px; }
  .diaspora-movement.is-enhanced .diaspora-map-caption strong { font-size: clamp(40px, 4.8vw, 55px); }
  .diaspora-movement.is-enhanced .diaspora-route-picker button { min-height: 50px; }
  .diaspora-movement.is-enhanced .diaspora-route-picker button strong { font-size: 30px; }
}
@media (max-width: 720px) {
  .diaspora-movement.is-enhanced .diaspora-globe-stage { display: flex; flex-direction: column; height: auto; min-height: 0; }
  .diaspora-movement.is-enhanced .diaspora-globe-place { display: none; }
  .diaspora-movement.is-enhanced .diaspora-globe-viewport { order: 0; flex: 0 0 auto; min-height: min(104vw, 425px); }
  .diaspora-stage-interface { order: 1; border-top: 1px solid #353538; border-left: 0; }
  .diaspora-movement.is-enhanced .diaspora-map-caption { padding: 28px 24px 17px; }
  .diaspora-movement.is-enhanced .diaspora-map-caption strong { font-size: clamp(44px, 11vw, 60px); }
  .diaspora-movement.is-enhanced .diaspora-map-caption > span:nth-child(3) { margin-top: 13px; }
  .diaspora-stage-summary { margin-top: 11px !important; }
  .diaspora-movement.is-enhanced .diaspora-route-picker {
    display: flex;
    gap: 0;
    align-content: initial;
    flex: 0 0 auto;
    overflow-x: auto;
    padding: 0 24px 20px;
    scroll-snap-type: x proximity;
    scrollbar-color: #8f8a85 #171719;
  }
  .diaspora-movement.is-enhanced .diaspora-route-picker button {
    flex: 0 0 auto;
    grid-template-columns: 20px minmax(0, 1fr);
    min-width: 175px;
    min-height: 68px;
    padding-right: 12px;
    border-bottom: 1px solid #ffffff32;
    scroll-snap-align: start;
  }
  .diaspora-movement.is-enhanced .diaspora-route-picker button strong { font-size: 25px; }
  .diaspora-movement.is-enhanced .diaspora-route-picker button[aria-pressed="true"]::after { right: 12px; font-size: 17px; }
  .diaspora-movement.is-enhanced .diaspora-route-layout { margin-top: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .diaspora-movement.is-enhanced .diaspora-route-picker { scroll-behavior: auto; }
}
