/* Carte vivante du hero : conteneur (toujours actif, même en reduced-motion) */
.hero-carte-wrap{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-carte-wrap svg{width:100%;height:100%;display:block}
/* Le contenu principal du hero doit porter z-10 (relative) pour passer au-dessus */

/* Pin proche du téléphone : atténué */
.carte-pin-dim{fill:rgba(238,250,192,.2)}

/* Variante fond clair : traits bordeaux, opacités inversées */
.hero-carte-wrap--light .carte-grid{stroke:#5F0F40}
.hero-carte-wrap--light .carte-bloc{fill:#5F0F40}
.hero-carte-wrap--light .carte-route{stroke:#7a1a56}
.hero-carte-wrap--light .carte-pins{fill:#5F0F40}
.hero-carte-wrap--light .carte-pin-dim{fill:rgba(95,15,64,.2)}

/* Animations : uniquement si l'utilisateur n'a pas demandé de réduire les mouvements.
   Sinon : pins visibles, statiques, pas de halo, grille fixe. */
@media (prefers-reduced-motion:no-preference){
  .carte-pin-pulse{
    transform-box:fill-box;transform-origin:center;
    animation:carte-pulse 2.4s ease-out infinite;
    will-change:transform,opacity;
  }
  /* Désynchronisation élégante des 8 pins */
  .carte-pin-1 .carte-pin-pulse{animation-delay:0s}
  .carte-pin-2 .carte-pin-pulse{animation-delay:.3s}
  .carte-pin-3 .carte-pin-pulse{animation-delay:.6s}
  .carte-pin-4 .carte-pin-pulse{animation-delay:.9s}
  .carte-pin-5 .carte-pin-pulse{animation-delay:1.2s}
  .carte-pin-6 .carte-pin-pulse{animation-delay:1.5s}
  .carte-pin-7 .carte-pin-pulse{animation-delay:1.8s}
  .carte-pin-8 .carte-pin-pulse{animation-delay:2.1s}

  /* Respiration de la grille */
  .carte-grid{animation:carte-breathe 8s ease-in-out infinite}
  .hero-carte-wrap--light .carte-grid{animation-name:carte-breathe-light}

  @keyframes carte-pulse{
    from{transform:scale(1);opacity:.3}
    to{transform:scale(3.5);opacity:0}
  }
  @keyframes carte-breathe{
    0%,100%{opacity:.08}
    50%{opacity:.12}
  }
  @keyframes carte-breathe-light{
    0%,100%{opacity:.1}
    50%{opacity:.16}
  }
}
