/* Air-bubble texture with independent slow paths, not a repeated row of rings. */
.water-bubbles{position:absolute;inset:0;opacity:0;pointer-events:none;overflow:hidden;contain:strict}
.water-bubbles .bubble-particle{position:absolute;left:var(--bx);top:106%;width:var(--bs);height:var(--bs);opacity:0;animation:bubble-rise var(--bt) linear var(--bp) infinite both paused}
.water-bubbles .bubble-particle>img{display:block;width:100%;height:100%;max-width:none;filter:blur(var(--bb));transform:rotate(var(--br));animation:bubble-flex var(--bf) ease-in-out var(--bp) infinite alternate both paused}
.water-bubbles.is-flowing .bubble-particle,.water-bubbles.is-flowing .bubble-particle>img{animation-play-state:running}
@keyframes bubble-rise{
  0%{opacity:0;transform:translate3d(0,0,0)}
  8%{opacity:var(--ba);transform:translate3d(calc(var(--bw)*.4),calc(var(--bubble-travel)*.08),0)}
  28%{opacity:var(--ba);transform:translate3d(calc(var(--bd)*.28 - var(--bw)),calc(var(--bubble-travel)*.28),0)}
  52%{opacity:var(--ba);transform:translate3d(calc(var(--bd)*.52 + var(--bw)*.8),calc(var(--bubble-travel)*.52),0)}
  78%{opacity:var(--ba);transform:translate3d(calc(var(--bd)*.78 - var(--bw)*.5),calc(var(--bubble-travel)*.78),0)}
  94%{opacity:calc(var(--ba)*.7);transform:translate3d(calc(var(--bd)*.94),calc(var(--bubble-travel)*.94),0)}
  100%{opacity:0;transform:translate3d(var(--bd),var(--bubble-travel),0)}
}
@keyframes bubble-flex{from{transform:rotate(var(--br)) scale(.97,1.01)}to{transform:rotate(calc(var(--br) + 3deg)) scale(1.025,.97)}}
@media(max-width:760px){.water-bubbles .bubble-particle:nth-child(n+9){display:none}}
html.reduced-film .water-bubbles,html:not(.cinematic-ready) .water-bubbles{display:none}
@media(prefers-reduced-motion:reduce){.water-bubbles{display:none!important}}
