/* ============================================================
   GETAX — animated geolocation hero (accueil)
   Navy + gold "territoire / données / décision" banner: a
   territorial map with flowing contour lines, data-dot clusters
   and a pulsing geolocation target. Pure SVG + CSS, responsive.
   ============================================================ */
.getax-geo{ pointer-events:none; }
.getax-geo svg{ width:100%; height:100%; display:block; }

/* geolocation target */
.geo-ring{ transform-box:fill-box; transform-origin:center; opacity:0; }
.geo-core, .geo-halo{ transform-box:fill-box; transform-origin:center; }

@media (prefers-reduced-motion: no-preference){
  .geo-ring{ animation:getax-geo-pulse 4.2s cubic-bezier(.16,1,.3,1) infinite; }
  .geo-ring.r2{ animation-delay:1.4s; }
  .geo-ring.r3{ animation-delay:2.8s; }
  .geo-core{ animation:getax-geo-core 3s ease-in-out infinite; }
  .geo-halo{ animation:getax-geo-halo 3s ease-in-out infinite; }
  .geo-drift1{ animation:getax-geo-drift 24s ease-in-out infinite; }
  .geo-drift2{ animation:getax-geo-drift2 30s ease-in-out infinite; }
  .geo-river{ animation:getax-geo-flow 7s linear infinite; }
  .geo-tw{ animation:getax-geo-tw 3.4s ease-in-out infinite; }
  .geo-tw.d1{ animation-delay:.7s; } .geo-tw.d2{ animation-delay:1.5s; } .geo-tw.d3{ animation-delay:2.3s; }
}
@keyframes getax-geo-pulse{ 0%{transform:scale(.30);opacity:0} 16%{opacity:.6} 100%{transform:scale(1);opacity:0} }
@keyframes getax-geo-core{ 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.18);opacity:.86} }
@keyframes getax-geo-halo{ 0%,100%{transform:scale(1);opacity:.35} 50%{transform:scale(1.55);opacity:.10} }
@keyframes getax-geo-drift{ 0%,100%{transform:translateX(0)} 50%{transform:translateX(13px)} }
@keyframes getax-geo-drift2{ 0%,100%{transform:translateX(0)} 50%{transform:translateX(-15px)} }
@keyframes getax-geo-flow{ to{ stroke-dashoffset:-180; } }
@keyframes getax-geo-tw{ 0%,100%{opacity:.22} 50%{opacity:.85} }

/* hero responsive */
@media (max-width:900px){
  .getax-hero-graphic{ width:82% !important; opacity:.7; }
}
@media (max-width:600px){
  .getax-hero-graphic{ width:118% !important; right:-24% !important; opacity:.4; }
}
