.altex-particles{
  position:absolute;inset:0;
  overflow:hidden;
  pointer-events:none;
}
.altex-particles span{
  position:absolute;
  width:6px;height:6px;border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,112,0.95), rgba(213,175,55,0.15) 70%, transparent 72%);
  filter:drop-shadow(0 0 12px rgba(213,175,55,0.35));
  opacity:.9;
  animation:floatUp var(--dur) linear infinite;
  transform:translate3d(0,0,0);
}
@keyframes floatUp{
  0%{transform:translate3d(0,20vh,0) scale(var(--scale));opacity:0}
  10%{opacity:.9}
  100%{transform:translate3d(0,-120vh,0) scale(calc(var(--scale) * 1.15));opacity:0}
}

.altex-glow-ring{
  position:absolute;
  inset:auto -10% -30% -10%;
  height:520px;
  background:radial-gradient(closest-side, rgba(213,175,55,0.20), rgba(107,115,189,0.10), rgba(11,27,43,0) 70%);
  filter:blur(6px);
  opacity:.9;
}

.altex-marquee{
  display:flex;
  gap:36px;
  white-space:nowrap;
  animation:marquee 18s linear infinite;
}
@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

.altex-shimmer-border{
  position:relative;
}
.altex-shimmer-border::before{
  content:"";
  position:absolute;inset:-1px;
  border-radius:20px;
  padding:1px;
  background:linear-gradient(135deg, rgba(213,175,55,0.95), rgba(255,255,112,0.35), rgba(107,115,189,0.45), rgba(213,175,55,0.35));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.9;
  filter:drop-shadow(0 0 18px rgba(213,175,55,0.18));
  pointer-events:none;
}

.altex-fade-in-up{
  animation:fadeInUp .65s ease-out both;
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

