.aurora { position: relative; isolation: isolate; }
.aurora__field { position: absolute; inset: 0; overflow: hidden; z-index: -1; pointer-events: none; }
.aurora__light { position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 25%, #00d9ff26, transparent 45%), radial-gradient(ellipse at 70% 48%, #00ff8829, transparent 40%), radial-gradient(ellipse at 58% 78%, #7928ca38, transparent 47%); background-size: 180% 180%; background-position: 30% 20%; filter: blur(28px); mix-blend-mode: screen; opacity: .85; }
.aurora__particles { position: absolute; inset: 0; background-image: radial-gradient(circle, #aabecb55 1px, transparent 1.5px), radial-gradient(circle, #00c9ff44 1px, transparent 1.5px); background-size: 89px 103px, 151px 137px; background-position: 16px 23px, 64px 46px; opacity: .4; mask-image: linear-gradient(transparent, #000 30%, #000 80%, transparent); }
.editorial-photo { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.editorial-photo__image { width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.editorial-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, #0a0e2708 45%, #0a0e27c9); }
.editorial-photo__caption { position: absolute; z-index: 1; bottom: 1.5rem; left: 1.5rem; right: 1.5rem; width: fit-content; max-width: calc(100% - 3rem); padding: .5rem .75rem; border-left: 2px solid var(--teal); background: var(--space); color: var(--ink); font-size: 1rem; }
.editorial-photo__caption span { display: block; }
.editorial-photo__caption .page__label { margin-bottom: .25rem; }

@media (prefers-reduced-motion: no-preference) {
  .aurora__light { animation: aurora-drift 12s ease-in-out infinite alternate; }
  @keyframes aurora-drift { from { background-position: 30% 20%; } to { background-position: 75% 80%; } }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
