:root{
  --neon-cyan:#00f5ff; --neon-purple:#b300ff; --neon-pink:#ff0080;
  --dark-bg:#0a0a0a;
  --rsnt-center-x: 50vw;           /* JS päivittää X-keskipisteen */
  --adminbar-h: var(--wp-admin--admin-bar--height, 0px);
  --rsnt-hero-h: 0px;              /* jos sivulla on hero, JS voi päivittää */
}

/* Kiinnitetty koko-ruudun tausta */
.rsnt-neon-bg{
  position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
  background:radial-gradient(1200px 800px at 10% 20%, rgba(0,245,255,.06), transparent 60%),
             radial-gradient(1200px 800px at 90% 80%, rgba(179,0,255,.05), transparent 60%),
             linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.25) 60%, rgba(0,0,0,.5) 100%);
}

/* “hohde”-verkko */
.pulse-grid{
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(0,245,255,.16) 0%, transparent 52%),
    radial-gradient(circle at 75% 75%, rgba(179,0,255,.14) 0%, transparent 52%);
  animation:pulseGrid 8s ease-in-out infinite alternate;
  will-change: opacity, transform;
}

/* alapään “taajuus”-häive */
.frequency-bars{
  position:absolute; left:0; bottom:0; width:100%; height:220px;
  background:linear-gradient(180deg, transparent 0%, rgba(0,245,255,.07) 50%, rgba(179,0,255,.07) 100%);
}

/* ohut liikkuva neon-viiva */
.neon-lines{
  position:absolute; top:22%; left:-10%; width:120%; height:2px; filter:blur(1px);
  background:linear-gradient(90deg, transparent 0%, var(--neon-cyan) 25%, var(--neon-purple) 50%, var(--neon-pink) 75%, transparent 100%);
  animation:slideNeon 15s linear infinite;
}

/* keskitetty “pulse” joka ankkuroituu sisältöcontainerin keskilinjalle */
.bass-circles{
  position:absolute; top:50%; left:var(--rsnt-center-x);
  width:360px; height:360px; border-radius:50%;
  border:1px solid rgba(0,245,255,.18);
  transform:translate(-50%,-50%); opacity:.55; mix-blend-mode:screen;
  animation:bassRipple 4s ease-out infinite; will-change: transform, opacity;
}
.bass-circles::before{
  content:''; position:absolute; inset:0; transform:translate(-50%,-50%);
  top:50%; left:50%; width:720px; height:720px; border-radius:50%;
  border:1px solid rgba(179,0,255,.12);
  animation:bassRipple 4s ease-out infinite 1s;
}

/* animaatiot */
@keyframes pulseGrid{ 0%{opacity:.55;} 100%{opacity:1;} }
@keyframes slideNeon{ 0%{transform:translateX(-100%);} 100%{transform:translateX(100%);} }
@keyframes bassRipple{
  0%{ transform:translate(-50%,-50%) scale(.75); opacity:.85; }
  60%{ opacity:.35; }
  100%{ transform:translate(-50%,-50%) scale(1.35); opacity:0; }
}

/* mobiili skaalaus */
@media (max-width: 980px){
  .bass-circles{ width:260px; height:260px; }
  .bass-circles::before{ width:520px; height:520px; }
}
