/* A quiet, warm field behind the hero. It stays below the furniture and copy. */
.hero--gradient {
  isolation: isolate;
  background: var(--ivory);
}

.hero--gradient::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: -12% -8%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 70% 24%, rgba(216, 204, 190, .15) 0, rgba(216, 204, 190, 0) 43%),
    radial-gradient(ellipse at 12% 82%, rgba(154, 135, 118, .06) 0, rgba(154, 135, 118, 0) 42%),
    linear-gradient(112deg, rgba(246, 242, 235, 0), rgba(216, 204, 190, .07));
  filter: blur(22px);
  opacity: .72;
  transform: translate3d(0, 0, 0) scale(1.03);
  animation: hero-gradient-breathe 18s ease-in-out infinite alternate;
}

@keyframes hero-gradient-breathe {
  from { opacity: .54; transform: translate3d(-.4%, .2%, 0) scale(1.03); }
  to { opacity: .72; transform: translate3d(.5%, -.3%, 0) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .hero--gradient::after { animation: none; }
}
