/* EVOLVE ambient ES — crema + grain (paridad con ambient.css EN) */
.ambient{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:var(--cream,#fbf7ef);
}
.ambient__blobs{
  position:absolute;inset:-25%;
  filter:blur(90px) saturate(1.1);
  will-change:transform;
}
.blob{
  position:absolute;border-radius:50%;
  opacity:.45;mix-blend-mode:multiply;
  animation:blob-drift var(--dur,22s) ease-in-out infinite alternate;
}
.blob--1{
  --dur:26s;
  width:min(58vw,760px);height:min(58vw,760px);
  top:-8%;left:-12%;
  background:radial-gradient(circle,rgba(163,224,64,.55) 0%,rgba(163,224,64,0) 68%);
}
.blob--2{
  --dur:31s;
  width:min(52vw,680px);height:min(52vw,680px);
  top:8%;left:38%;
  background:radial-gradient(circle,rgba(255,180,80,.4) 0%,rgba(255,180,80,0) 70%);
  animation-delay:-6s;
}
.blob--3{
  --dur:24s;
  width:min(48vw,620px);height:min(48vw,620px);
  top:-6%;right:-8%;
  background:radial-gradient(circle,rgba(255,224,120,.35) 0%,rgba(255,224,120,0) 72%);
  animation-delay:-12s;
}
.blob--4{
  --dur:29s;
  width:min(44vw,560px);height:min(44vw,560px);
  bottom:18%;left:8%;
  background:radial-gradient(circle,rgba(126,184,42,.35) 0%,rgba(126,184,42,0) 70%);
  animation-delay:-4s;
}
.blob--5{
  --dur:33s;
  width:min(50vw,640px);height:min(50vw,640px);
  bottom:6%;right:6%;
  background:radial-gradient(circle,rgba(200,160,255,.25) 0%,rgba(120,200,248,.2) 42%,rgba(200,160,255,0) 72%);
  animation-delay:-18s;
}
@keyframes blob-drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(6vw,5vh,0) scale(1.1)}
}
.ambient-grain{
  position:fixed;inset:0;z-index:9998;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.06;mix-blend-mode:multiply;
}
.ambient-noise{
  position:fixed;inset:0;z-index:9997;pointer-events:none;
  background-size:128px 128px;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.04;
}
@media(prefers-reduced-motion:reduce){
  .blob{animation:none}
}
