/* A quiet, shared backdrop for customer-facing pages only. */
body.site-renewal,
body.site-ambient-home,
body.site-ambient-construction {
  background-color: #fcfdff;
  background-image:
    radial-gradient(ellipse 44vw 38vw at 8% 24%, rgba(204, 233, 250, .37), transparent 72%),
    radial-gradient(ellipse 35vw 34vw at 92% 18%, rgba(246, 214, 237, .32), transparent 72%),
    radial-gradient(ellipse 42vw 36vw at 77% 86%, rgba(225, 220, 251, .26), transparent 74%),
    linear-gradient(120deg, #fff 12%, #fbfdff 51%, #fffafd 100%);
  background-size: 118% 118%, 122% 122%, 118% 118%, 100% 100%;
  background-position: 0% 8%, 100% 0%, 86% 100%, 0 0;
  background-attachment: fixed;
  isolation: isolate;
  animation: limi-ambient-pan 26s ease-in-out infinite alternate;
}

body.site-renewal::before,
body.site-ambient-home::before,
body.site-ambient-construction::before {
  content: "";
  position: fixed;
  inset: -15vmax;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 23vw 19vw at 14% 31%, rgba(156, 211, 244, .27), transparent 73%),
    radial-gradient(ellipse 20vw 18vw at 85% 25%, rgba(239, 177, 219, .27), transparent 74%),
    radial-gradient(ellipse 25vw 20vw at 73% 86%, rgba(188, 183, 239, .23), transparent 74%);
  filter: blur(10px);
  animation: limi-ambient-drift 22s ease-in-out infinite alternate;
  will-change: transform, filter;
}

@keyframes limi-ambient-drift {
  0% { transform: translate3d(-2%, 1%, 0) scale(1); filter: blur(10px) hue-rotate(0deg); }
  50% { transform: translate3d(2%, -2%, 0) scale(1.05); filter: blur(13px) hue-rotate(18deg); }
  100% { transform: translate3d(-1%, 2%, 0) scale(1.02); filter: blur(10px) hue-rotate(-12deg); }
}

@keyframes limi-ambient-pan {
  to { background-position: 15% 29%, 83% 20%, 63% 81%, 0 0; }
}

@media (max-width: 640px) {
  body.site-renewal,
  body.site-ambient-home,
  body.site-ambient-construction {
    background-image:
      radial-gradient(ellipse 68vw 68vw at 0% 18%, rgba(204, 233, 250, .39), transparent 74%),
      radial-gradient(ellipse 67vw 62vw at 100% 48%, rgba(246, 214, 237, .3), transparent 74%),
      radial-gradient(ellipse 72vw 68vw at 72% 91%, rgba(225, 220, 251, .24), transparent 74%),
      linear-gradient(125deg, #fff, #fcfdff 56%, #fffafd);
  }
  body.site-renewal::before,
  body.site-ambient-home::before,
  body.site-ambient-construction::before {
    inset: -25vmax;
    opacity: .7;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.site-renewal,
  body.site-ambient-home,
  body.site-ambient-construction { animation: none; }
  body.site-renewal::before,
  body.site-ambient-home::before,
  body.site-ambient-construction::before {
    animation: none;
    will-change: auto;
  }
}
