/* Atlas Connect · Atlas Club — NOUVEAU FOND DU HÉRO (24/09/2026).
   Remplace l'empilement d'origine (grille de points, orbes, anneaux tournants, étincelles, horizon, aurore, spot,
   lueur du titre, scène partagée) par une composition unique et calme :
   1 · faisceau de lumière descendant du haut, qui respire ; 2 · trois nappes d'aurore floues qui dérivent lentement ;
   3 · sol en perspective dont la grille avance vers le lecteur ; 4 · une orbite fine, fixe, qui porte les pictos ;
   5 · grain très léger pour casser les aplats.
   Performance : les flous sont posés sur des éléments dont on n'anime QUE transform/opacity (couches composées,
   jamais repeintes) ; tout s'arrête hors écran (.acx-off, posé par le script de la page). */
body.atlas-club-page .ac-hero{background:radial-gradient(120% 80% at 50% 0,#17307a 0%,#0c1a4a 42%,#070f2e 78%,#050a22 100%)}
body.atlas-club-page .ac-hero>:is(.ac-hero-grid,.ac-orb,.ac-hero-rings,.ac-hero-sparks,.ac-hero-horizon,.ah26-aurora,.ah26-spot,.ac-hero-titleglow,.hsx-stage){display:none!important}

.acb{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.acb>i,.acb>span{position:absolute;display:block}

/* 1 · faisceau */
@keyframes acbBeam{0%,100%{opacity:.75}50%{opacity:1}}
.acb-beam{left:50%;top:-10%;width:min(1100px,120vw);height:95%;translate:-50% 0;
  background:radial-gradient(50% 60% at 50% 0,rgba(147,197,253,.30),rgba(59,130,246,.12) 45%,transparent 75%);
  -webkit-mask:linear-gradient(to bottom,#000 20%,transparent);mask:linear-gradient(to bottom,#000 20%,transparent);
  animation:acbBeam 9s ease-in-out infinite}

/* 2 · aurores */
@keyframes acbDrift1{from{transform:translate(-4%,0) scale(1)}to{transform:translate(6%,4%) scale(1.12)}}
@keyframes acbDrift2{from{transform:translate(5%,2%) scale(1.08)}to{transform:translate(-6%,-3%) scale(.96)}}
@keyframes acbDrift3{from{transform:translate(0,0)}to{transform:translate(-8%,-6%)}}
.acb-au{border-radius:50%;filter:blur(60px);will-change:transform}
.acb-au.a1{left:4%;top:18%;width:46%;height:52%;background:radial-gradient(circle,rgba(37,99,235,.55),transparent 70%);animation:acbDrift1 22s ease-in-out infinite alternate}
.acb-au.a2{right:2%;top:10%;width:42%;height:48%;background:radial-gradient(circle,rgba(34,211,238,.32),transparent 70%);animation:acbDrift2 26s ease-in-out infinite alternate}
.acb-au.a3{left:38%;bottom:6%;width:34%;height:30%;background:radial-gradient(circle,rgba(249,115,22,.22),transparent 70%);animation:acbDrift3 30s ease-in-out infinite alternate}

/* 3 · sol en perspective */
@keyframes acbFloor{to{transform:translateY(72px)}}
.acb-floor{left:-30%;right:-30%;bottom:0;height:40%;perspective:520px;perspective-origin:50% 0;
  -webkit-mask:linear-gradient(to top,#000 0,rgba(0,0,0,.6) 40%,transparent 95%);mask:linear-gradient(to top,#000 0,rgba(0,0,0,.6) 40%,transparent 95%)}
.acb-floor>i{position:absolute;left:0;right:0;top:0;height:180%;transform-origin:50% 0;transform:rotateX(64deg);overflow:hidden}
.acb-floor>i>b{position:absolute;left:0;right:0;top:-72px;bottom:0;will-change:transform;animation:acbFloor 5s linear infinite;
  background:linear-gradient(rgba(96,165,250,.32) 1px,transparent 1px) 0 0/72px 72px,linear-gradient(90deg,rgba(96,165,250,.26) 1px,transparent 1px) 0 0/72px 72px}
.acb-floor::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(147,197,253,.7) 30%,rgba(103,232,249,.9) 50%,rgba(147,197,253,.7) 70%,transparent);box-shadow:0 0 24px 4px rgba(59,130,246,.45)}

/* 4 · orbite des pictos (fixe) */
@keyframes acbOrbit{0%,100%{opacity:.55}50%{opacity:.9}}
.acb-orbit{left:50%;top:var(--acx-cy,52%);width:calc(var(--R0,385px)*2);aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  border:1px solid rgba(147,197,253,.28);box-shadow:0 0 40px -12px rgba(59,130,246,.6),inset 0 0 40px -12px rgba(59,130,246,.45);
  -webkit-mask:linear-gradient(to bottom,#000 35%,transparent 92%);mask:linear-gradient(to bottom,#000 35%,transparent 92%);animation:acbOrbit 8s ease-in-out infinite}
.acb-orbit.o2{width:calc(var(--R0,385px)*1.5);border-style:dashed;border-color:rgba(147,197,253,.14);box-shadow:none;animation:none}

/* 5 · grain */
.acb-grain{inset:0;opacity:.07;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.ac-hero .acx-set{z-index:1}
@media(max-width:1179px){.acb{--R0:min(300px,40vw)}.acb-au{filter:blur(44px)}.acb-floor{height:30%}}
@media(max-width:599px){.acb-orbit.o2,.acb-au.a3{display:none}.acb-floor>i>b{background-size:48px 48px,48px 48px}}
.ac-hero.acx-off .acb *{animation-play-state:paused!important}
/* 2/10 : faisceau conique qui balayait tout le héro en tournant (.ac-hero::before, acSpin 46 s) retiré à la demande, clair et sombre */
section.ac-hero::before,body.atlas-dark section.ac-hero::before{display:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.acb *{animation:none!important}}
