/* ══════════════════════════════════════════════════════════════
   nx-ambient · capa de fondo mediterránea común a todo el ecosistema
   · 4 blobs con duraciones coprimas (47/53/61/41 s) → bucle imperceptible
   · keyframes con 3-4 puntos asimétricos → no se nota el retorno
   · 20 motas de polvo dorado con delays/duraciones aleatorias
   · respeta prefers-reduced-motion
   ══════════════════════════════════════════════════════════════ */

.nx-ambient,.nx-dust{
  position:fixed;inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.nx-ambient-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(110px);
  will-change:transform;
}
.nx-ambient-blob.b1{
  width:760px;height:760px;
  background:radial-gradient(circle,#e9b66f 0%,transparent 65%);
  top:-220px;left:-200px;
  opacity:.32;
  animation:nxBlob1 47s ease-in-out infinite;
}
.nx-ambient-blob.b2{
  width:680px;height:680px;
  background:radial-gradient(circle,#d97757 0%,transparent 65%);
  top:30%;right:-220px;
  opacity:.24;
  animation:nxBlob2 53s ease-in-out infinite;
}
.nx-ambient-blob.b3{
  width:620px;height:620px;
  background:radial-gradient(circle,#2a8a9e 0%,transparent 65%);
  bottom:-220px;left:25%;
  opacity:.18;
  animation:nxBlob3 61s ease-in-out infinite;
}
.nx-ambient-blob.b4{
  width:520px;height:520px;
  background:radial-gradient(circle,#c89254 0%,transparent 70%);
  top:55%;left:-160px;
  opacity:.22;
  animation:nxBlob4 41s ease-in-out infinite;
}

/* Keyframes con 4 paradas asimétricas — no son simétricos, así no parece "ida y vuelta" */
@keyframes nxBlob1{
  0%   {transform:translate(0,0) scale(1)}
  27%  {transform:translate(160px,90px) scale(1.12)}
  58%  {transform:translate(80px,200px) scale(.92)}
  82%  {transform:translate(-40px,120px) scale(1.05)}
  100% {transform:translate(0,0) scale(1)}
}
@keyframes nxBlob2{
  0%   {transform:translate(0,0) scale(1)}
  34%  {transform:translate(-180px,140px) scale(1.08)}
  68%  {transform:translate(-60px,-50px) scale(.96)}
  100% {transform:translate(0,0) scale(1)}
}
@keyframes nxBlob3{
  0%   {transform:translate(0,0) scale(1)}
  29%  {transform:translate(-140px,-90px) scale(1.16)}
  56%  {transform:translate(110px,-30px) scale(.94)}
  79%  {transform:translate(30px,-100px) scale(1.04)}
  100% {transform:translate(0,0) scale(1)}
}
@keyframes nxBlob4{
  0%   {transform:translate(0,0) scale(1)}
  33%  {transform:translate(200px,-110px) scale(1.06)}
  64%  {transform:translate(120px,80px) scale(.95)}
  100% {transform:translate(0,0) scale(1)}
}

/* Motas de polvo dorado */
.nx-dust span{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle,#c89254 0%,transparent 70%);
  opacity:0;
  will-change:transform,opacity;
}
@keyframes nxDrift{
  0%   {transform:translate(0,0);opacity:0}
  8%   {opacity:.6}
  92%  {opacity:.45}
  100% {transform:translate(var(--dx,40px),var(--dy,-180px));opacity:0}
}

@media (prefers-reduced-motion: reduce){
  .nx-ambient-blob,.nx-dust span{animation:none!important}
}

/* En contextos con fondo oscuro, las capas se ven igual de bien
   (los gradientes con tonos cálidos sobre dark dan un aire de calor sutil) */
