/* Shared grain geometry: animate texture coordinates, never the overlay box. */
@keyframes bai-grain-texture {
  0%,100% {background-position:0 0}
  25% {background-position:-37px 19px}
  50% {background-position:23px -41px}
  75% {background-position:-13px -27px}
}
.bai-grain {position:relative;isolation:isolate}
.bai-grain::before {
  content:"";position:absolute;inset:0;z-index:var(--bai-grain-z,6);
  pointer-events:none;background-image:url("/wp-content/uploads/bai-leistungen/hero-grain.svg");
  background-repeat:repeat;background-size:240px 240px;opacity:var(--bai-grain-opacity,.18);
  animation:bai-grain-texture .4s steps(1,end) infinite;
}
.bai-grain-host {isolation:isolate}
[data-bai-grain-positioned] {position:relative}
html body .bai-grain-overlay {
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  overflow:hidden;pointer-events:none;z-index:var(--bai-grain-z,6);
  transform:none!important;translate:none!important;scale:none!important;
  mask-image:none!important;-webkit-mask-image:none!important;visibility:visible!important;
}
html body :is([data-bai-grain-before],.bai-grain,.bai-opening-grain,.bai-lp-hero-grain,.bai-lp-panel-grain)::before,
html body [data-bai-grain-after]::after,
html body :is(.bai-lead-grain,[data-bai-grain-texture]) {
  inset:0!important;transform:none!important;translate:none!important;scale:none!important;
  background-attachment:scroll!important;animation-name:bai-grain-texture!important;
}
@media(prefers-reduced-motion:reduce),print {
  html body :is([data-bai-grain-before],.bai-grain,.bai-opening-grain,.bai-lp-hero-grain,.bai-lp-panel-grain)::before,
  html body [data-bai-grain-after]::after,
  html body :is(.bai-lead-grain,[data-bai-grain-texture]) {animation:none!important}
}
