/* Progressive enhancement: the original map remains the no-script / print view. */
.world-stage.globe-enhanced,
html.js .world-stage:where(:not([data-globe-phase]),[data-globe-phase=loading]) {
  aspect-ratio: 1.85 / 1;
  min-height: 460px;
  max-height: 690px;
  background: #06192a;
  background-image: radial-gradient(ellipse at 50% 43%, #16364a 0%, #091e30 42%, #06192a 73%);
}
body:not(.earth-wallpaper) .world-stage { container-type:size; }
html.js .world-stage:where(:not([data-globe-phase]),[data-globe-phase=loading])>img,
html.js .world-stage:where(:not([data-globe-phase]),[data-globe-phase=loading])>.world-overlay { visibility:hidden; }
html.js .world-stage:where(:not([data-globe-phase]),[data-globe-phase=loading],[data-globe-phase=ready])::before {
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:50%;
  width:min(72cqw,calc(100cqh - 118px));
  height:min(72cqw,calc(100cqh - 118px));
  transform:translate(-50%,-50%);
  background:url('earth-poster.webp') center / contain no-repeat;
  opacity:1;
  transition:opacity .2s ease;
  pointer-events:none;
}
html.js .world-stage[data-globe-phase=ready]::before { opacity:0; }
.world-stage.globe-enhanced > img,
.world-stage.globe-enhanced > .world-overlay { display: none; }
.corpasa-globe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  image-rendering: auto;
  opacity:0;
  transition:opacity .2s ease;
}
.world-stage[data-globe-phase=ready]>.corpasa-globe { opacity:1; }
.corpasa-globe:not(.globe-routes) { z-index: 0; }
.globe-routes { z-index: 1; }
.globe-heading {
  position: absolute;
  top: 1.8rem;
  left: 2rem;
  z-index: 1;
  max-width: 21rem;
  color: #fff;
  pointer-events: none;
}
.globe-heading strong {
  display: block;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #e1c68d;
}
.globe-heading span {
  display: block;
  margin-top: .5rem;
  color: #c1ccd5;
  font-size: .875rem;
  line-height: 1.4;
}
.globe-key {
  position: absolute;
  bottom: 1.85rem;
  left: 2rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  font-size: .875rem;
  color: #c1ccd5;
  pointer-events: none;
}
.globe-key span { display: flex; align-items: center; gap: .5rem; }
.globe-key span::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #dfbe7b;
}
.globe-key span:last-child::before {
  width: 6px;
  height: 6px;
  background: #fff;
  box-shadow: 0 0 0 3px #ffffff1c;
}

.globe-enhanced + .world-legend { border-top: 1px solid #ffffff17; }
.home-overview .world-stage.globe-enhanced {
  aspect-ratio: 1.4;
  min-height: 0;
  max-height: none;
}
.home-overview .globe-heading { display: none; }
.home-overview .globe-key { display: none; }

.home-overview.hero-earth .world-stage.globe-enhanced {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  min-height: 0;
  max-height: none;
  background: #020610;
  background-image: none;
}

@media (max-width: 1100px) {
  .home-overview .world-stage.globe-enhanced { aspect-ratio: 1.15; }
}
@media (max-width: 860px) {
  .home-overview .world-stage.globe-enhanced { aspect-ratio: 1.55; }
}
@media (max-width: 820px) {
  .world-stage.globe-enhanced,
  html.js .world-stage:where(:not([data-globe-phase]),[data-globe-phase=loading]) { aspect-ratio: 1.3 / 1; min-height: 450px; max-height: 570px; }
  .globe-heading { top: 1.5rem; left: 1.5rem; }
  .globe-key { left: 1.5rem; bottom: 1.8rem; }
  
}
@media (max-width: 520px) {
  .world-stage.globe-enhanced,
  html.js .world-stage:where(:not([data-globe-phase]),[data-globe-phase=loading]) { aspect-ratio: .87 / 1; min-height: 410px; max-height: 490px; }
  body:not(.earth-wallpaper) .world-stage::before { top:46%; }
  .globe-heading { top: 1.2rem; left: 1.15rem; max-width: 19rem; }
  .globe-heading strong { font-size: .875rem; }
  .globe-heading span { font-size: .875rem; }
  .globe-key { left: 1.15rem; bottom: 4.1rem; gap: 1rem; font-size: .875rem; }
  
}
@media (max-width: 560px) {
  .home-overview .world-stage.globe-enhanced { aspect-ratio: 1.02; min-height: 330px; max-height: 370px; }
  
}
@media (prefers-reduced-motion: reduce) {
  
  .corpasa-globe,.world-stage::before { transition:none; }
}
@media print {
  .world-stage::before { display:none!important; }
  .world-stage>img,.world-stage>.world-overlay { visibility:visible!important; }
  html.js .world-stage { aspect-ratio:2 / 1; min-height:0; max-height:none; }
  .world-stage.globe-enhanced { aspect-ratio: 2 / 1; min-height: 0; max-height: none; }
  .world-stage.globe-enhanced > img,
  .world-stage.globe-enhanced > .world-overlay { display: block; }
  .corpasa-globe, .globe-heading, .globe-key, 
  .home-overview.hero-earth .world-stage.globe-enhanced {
    position: relative;
    inset: auto;
    height: auto;
    aspect-ratio: 2 / 1;
    min-height: 0;
    max-height: none;
  }
}
