.responsive-background,
.responsive-background__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.responsive-background__image {
  object-fit: var(--background-fit, cover);
  object-position: var(--background-focal-point, 50% 50%);
}
body:has(> .site-background) {
  position: relative;
  isolation: isolate;
  background: var(--site-background-color);
}
.site-background {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  background: var(--site-background-gradient, var(--site-background-color));
  --background-focal-point: var(--background-desktop-focal-point, 50% 50%);
}
.site-background--fixed { position: fixed; }
.site-background::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--site-overlay-color, #000);
  opacity: var(--site-overlay-opacity, 0);
}
@media (max-width: 749px) {
  .site-background { --background-focal-point: var(--background-mobile-focal-point, 50% 50%); }
}
