

html::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    
    radial-gradient(16% 60% at -3% 32%,rgba(242,164,23,.11),rgba(242,164,23,.04) 48%,transparent 100%),
    
    radial-gradient(34% 32% at 104% 104%,rgba(232,132,108,.07),rgba(240,182,193,.03) 52%,transparent 100%),
    
    radial-gradient(20% 38% at 100% 10%,rgba(246,183,51,.08),transparent 100%),
    
    radial-gradient(130% 105% at 50% 46%,transparent 55%,rgba(70,38,12,.042) 100%),
    
    rgba(70,38,12,.03);
  opacity:0.46;
  animation:filmLamp 6s steps(1) infinite}

@keyframes filmLamp{
  0.00%{opacity:0.46}
  5.00%{opacity:0.64}
  10.00%{opacity:0.36}
  15.00%{opacity:0.74}
  20.00%{opacity:0.52}
  25.00%{opacity:1}
  30.00%{opacity:0.32}
  35.00%{opacity:0.6}
  40.00%{opacity:0.86}
  45.00%{opacity:0.42}
  50.00%{opacity:0.68}
  55.00%{opacity:0.3}
  60.00%{opacity:0.92}
  65.00%{opacity:0.5}
  70.00%{opacity:0.62}
  75.00%{opacity:0.38}
  80.00%{opacity:0.8}
  85.00%{opacity:0.55}
  90.00%{opacity:0.4}
  95.00%{opacity:0.72}
}

body{position:relative}
body::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    url(assets/img/film/grain-chips.svg?v=de87325d) 0 0/1093px 1201px,
    url(assets/img/film/grain-specks.svg?v=be5f1abf) 0 0/587px 641px,
    url(assets/img/film/grain-fine.svg?v=eb5949f9) 0 0/331px 367px}

.film-spacer{background:transparent}
.block-reel{background:transparent}
.block-reel .wall{z-index:-3}
.block-reel::before,.block-reel::after{z-index:-2}

html:has(.hero-room:not(.is-gone))::before{animation-play-state:paused}

@media (prefers-reduced-motion:reduce){
  html::before{animation:none;opacity:.65}
}

@media print,(forced-colors:active){
  html::before,body::before{display:none}
}
