.fire-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--black);
}

.site-footer {
  isolation: isolate;
  background:
    linear-gradient(rgba(142, 244, 239, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(142, 244, 239, 0.032) 1px, transparent 1px),
    #090611;
  background-size: 32px 32px, 32px 32px, auto;
}

.fire-section > :not(.field-light-motion),
.site-footer > :not(.field-light-motion) {
  position: relative;
  z-index: 1;
}

.field-light-motion {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  contain: paint;
}

.field-light-motion__grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(235, 218, 200, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(235, 218, 200, 0.025) 1px, transparent 1px);
  background-size: calc(100% / 12) calc(100% / 8);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 88%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 88%, transparent);
  opacity: 0.7;
}

.field-light-motion__light {
  position: absolute;
  top: var(--field-y);
  left: var(--field-x);
  display: block;
  transform: translate3d(-50%, -50%, 0) scale(var(--field-scale));
  opacity: var(--field-alpha);
  backface-visibility: hidden;
  will-change: transform, opacity;
}

.field-light-motion--violet .field-light-motion__light {
  width: clamp(360px, 58vw, 920px);
  aspect-ratio: 1;
  border-radius: 46% 54% 58% 42% / 51% 42% 58% 49%;
  background: radial-gradient(circle, rgba(125, 19, 255, 0.88), rgba(104, 0, 232, 0.48) 28%, rgba(68, 0, 146, 0.18) 52%, transparent 72%);
  filter: blur(clamp(22px, 3vw, 52px));
  mix-blend-mode: screen;
}

.field-light-motion--violet .field-light-motion__light:nth-of-type(3) {
  width: clamp(280px, 46vw, 720px);
  background: radial-gradient(circle, rgba(230, 48, 142, 0.65), rgba(121, 0, 255, 0.28) 38%, transparent 70%);
}

.field-light-motion--violet .field-light-motion__light:nth-of-type(4) {
  width: clamp(240px, 38vw, 590px);
  background: radial-gradient(circle, rgba(116, 232, 238, 0.22), rgba(121, 0, 255, 0.22) 42%, transparent 72%);
}

.field-light-motion--fire .field-light-motion__grid {
  background-size: calc(100% / 14) calc(100% / 10);
  opacity: 0.34;
}

.field-light-motion--fire .field-light-motion__light {
  width: clamp(260px, 39vw, 650px);
  height: clamp(390px, 64vw, 970px);
  border-radius: 48% 52% 38% 62% / 62% 58% 42% 38%;
  background: radial-gradient(ellipse at 50% 66%, rgba(255, 126, 71, 0.72), rgba(255, 92, 53, 0.42) 21%, rgba(178, 49, 24, 0.16) 48%, transparent 72%);
  filter: blur(clamp(22px, 2.8vw, 48px));
  mix-blend-mode: screen;
}

.field-light-motion--fire .field-light-motion__light:nth-of-type(3) {
  width: clamp(190px, 29vw, 470px);
  background: radial-gradient(ellipse at 50% 64%, rgba(255, 174, 101, 0.58), rgba(255, 75, 37, 0.28) 34%, transparent 70%);
}

.field-light-motion--fire .field-light-motion__light:nth-of-type(4) {
  width: clamp(220px, 33vw, 540px);
  background: radial-gradient(ellipse at 50% 67%, rgba(255, 90, 39, 0.64), rgba(142, 36, 18, 0.22) 40%, transparent 72%);
}

@media (max-width: 760px) {
  html {
    scroll-behavior: auto;
  }

  main {
    overflow-x: clip;
    overflow-y: visible;
  }

  .site-index summary,
  .site-index nav a {
    touch-action: manipulation;
  }

  .site-index nav {
    max-height: calc(100svh - 62px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .field-light-motion--violet .field-light-motion__light {
    width: min(96vw, 460px);
  }

  .field-light-motion--fire .field-light-motion__light {
    width: min(78vw, 390px);
    height: min(116vw, 580px);
  }

  .field-light-motion__light:nth-of-type(n + 3) {
    display: none;
  }

  .field-light-motion--violet .field-light-motion__light,
  .field-light-motion--fire .field-light-motion__light {
    filter: blur(18px);
    mix-blend-mode: normal;
  }

  .venue-cell-map__grid,
  .venue-cell-map__scan {
    mix-blend-mode: normal;
  }

  .venue-cell-map__scan,
  .venue-cell-map__target::before {
    animation: none;
  }

  .venue-cell-map__coordinates {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .field-light-motion__light {
    will-change: auto;
  }
}
html {
  overflow-x: clip;
  overflow-y: auto;
  scroll-behavior: auto !important;
}

body,
main {
  overflow-x: clip;
  overflow-y: visible;
}

.site-index {
  pointer-events: none;
}

.site-index summary,
.site-index nav {
  pointer-events: auto;
}

.site-index nav {
  display: none !important;
}

.site-index[open] nav {
  display: grid !important;
}

.field-light-motion__light {
  will-change: transform, opacity;
}

@media (min-width: 761px) {
  .field-light-motion__light:nth-of-type(n + 4) {
    display: none;
  }
}
