
/* Decorative depth is confined to the original image rectangle. No section,
   image, heading, font, padding or size rules belong in this stylesheet. */
#global-map .global-map-depth {
  position: absolute;
  z-index: 1;
  display: block;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: strict;
}
#global-map .map-depth-facet {
  animation: alva-map-facet-lift var(--map-duration, 10s) ease-in-out var(--map-delay, 0s) infinite;
  transform-box: view-box;
  transform-origin: center;
  will-change: auto;
}
#global-map .map-depth-facet-edge {
  fill: none;
  stroke: #f4ebff;
  stroke-width: .8;
  stroke-opacity: .32;
}
#global-map .map-depth-node-halo { fill: url(#alva-depth-halo); opacity: .6; }
#global-map .map-depth-node-sphere {
  fill: url(#alva-depth-pearl);
  stroke: #fff;
  stroke-width: .5;
  stroke-opacity: .7;
}
#global-map .map-depth-node-lift {
  filter: drop-shadow(0 2px 2px rgba(69, 27, 112, .28));
  animation: alva-map-node-lift var(--map-duration, 7s) ease-in-out var(--map-delay, 0s) infinite;
}
#global-map .map-depth-signal {
  fill: none;
  stroke: #fff;
  stroke-width: 3.3;
  stroke-linecap: round;
  stroke-dasharray: .6 99.4;
  filter: drop-shadow(0 0 3px rgba(234, 210, 255, .9));
  opacity: .9;
  animation: alva-map-signal var(--map-duration, 8s) linear var(--map-delay, 0s) infinite;
}
#global-map :is(.map-depth-facet, .map-depth-node-lift, .map-depth-signal) { animation-play-state: paused; }
#global-map.is-depth-active :is(.map-depth-facet, .map-depth-node-lift, .map-depth-signal) { animation-play-state: running; }
@keyframes alva-map-facet-lift {
  0%, 100% { transform: translate(0, 0); filter: drop-shadow(0 0 0 rgba(63, 21, 111, 0)); }
  50% { transform: translate(var(--map-lift-x, 2px), var(--map-lift-y, -6px)); filter: drop-shadow(0 5px 4px rgba(63, 21, 111, .15)); }
}
@keyframes alva-map-node-lift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes alva-map-signal {
  0% { stroke-dashoffset: 100; opacity: 0; }
  8%, 90% { opacity: .95; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #global-map .global-map-depth { display: none; }
  #global-map :is(.map-depth-facet, .map-depth-node-lift, .map-depth-signal) { animation: none !important; }
}
