/* Code-only lights, registered to the original 1672 × 941 foreground artboard. */
.hero__fireflies,
.hero__firefly-reflection {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 480ms ease, visibility 480ms;
}

[data-theme="night"] .is-composited .hero__fireflies,
[data-theme="night"] .is-composited .hero__firefly-reflection {
  opacity: 1;
  visibility: visible;
}

.hero__fireflies { z-index: 5; }

@media (prefers-reduced-motion: reduce) {
  .hero__fireflies, .hero__firefly-reflection { transition: none; }
}

/* The shop uses the same light marks and shared drifting/breathing motion. */
[data-theme="night"] .shop-night__painting .hero__fireflies{opacity:1;visibility:visible;z-index:2}

/* Cabin-section lights share the foreground bank's coordinates and alpha. */
.stay-fireflies,.stay-firefly-reflection{position:absolute;z-index:4;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 480ms ease,visibility 480ms}
.stay-fireflies{inset:0;width:100%;height:100%;overflow:visible}
.stay-firefly-reflection{max-width:none}
[data-theme="night"] .stay-fireflies,[data-theme="night"] .stay-firefly-reflection{opacity:1;visibility:visible}
/* Reduce reflected light by 30%, preserving the fireflies' readable cores. */
[data-theme="night"] .is-composited .hero__firefly-reflection,[data-theme="night"] .stay-firefly-reflection{opacity:.7}
@media(prefers-reduced-motion:reduce){.stay-fireflies,.stay-firefly-reflection{transition:none}}

/* The canopy extends above the section; follow its image rectangle exactly. */
.transition-fireflies,.transition-firefly-reflection{position:absolute;z-index:4;max-width:none;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 480ms ease,visibility 480ms}
.transition-fireflies{overflow:visible}
[data-theme="night"] .transition-fireflies{opacity:1;visibility:visible}
[data-theme="night"] .transition-firefly-reflection{opacity:.7;visibility:visible}
@media(prefers-reduced-motion:reduce){.transition-fireflies,.transition-firefly-reflection{transition:none}}

/* Homepage fields use the cabin function's original SVG flies and reflections. */
.home-firefly-field,.home-firefly-reflection{position:absolute;z-index:3;max-width:none;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 480ms ease,visibility 480ms}
.home-firefly-field{inset:0;width:100%;height:100%;overflow:hidden}
[data-theme="night"] .home-firefly-field{opacity:1;visibility:visible}
[data-theme="night"] .home-firefly-reflection{opacity:.7;visibility:visible}
.footer-fireflies,.footer-firefly-reflection{z-index:2}
:is(.has-pond-focus,html.is-pond-focused) :is(.pond-fireflies,.pond-firefly-reflection){opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.home-firefly-field,.home-firefly-reflection{transition:none}}
