/* ReignVoIP v2 — hero flat dotted map (replaces the globe). Loaded after v2-light.css. */
.hero-map2 { display: none; }
.map-on .hero-map2 { display: block; position: absolute; inset: 0; z-index: 1; opacity: 0; transition: opacity 1.2s ease; }
.map-ready .hero-map2 { opacity: 1; }
.hero-map2 canvas { width: 100%; height: 100%; display: block; pointer-events: none; }

.map-on .hero2 .photo-frame { display: none; }
.map-on .hero2-grid { pointer-events: none; z-index: 2; }
.map-on .hero2-copy { pointer-events: auto; }
.map-on .hero2-side { min-height: 460px; pointer-events: none; }
.map-on .hero2-shade { background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .78) 30%, rgba(255, 255, 255, 0) 50%); z-index: 1; }
@media (max-width: 1100px) {
  .map-ready .hero-map2 { opacity: 1; }
  .map-on .hero2-shade { background: none; } /* the map sits under the copy, not behind it: no veil needed */
  .map-on .hero2-side { min-height: 260px; } /* JS (v2-map.js) sets the exact height */
}
/* phones: no map band (and no team photo in its place) */
@media (max-width: 640px) {
  .hero-map2, .map-on .hero-map2 { display: none !important; }
  .hero2-side, .map-on .hero2-side { display: none !important; min-height: 0; }
}
