/* V3.R15.2 — Home-Wide Scroll Field
 * One fixed material field behind the whole publication.
 */

.sne-v3 {
  position: relative;
  isolation: isolate;
}

.sne-v3 .pub-home-motion-field {
  --sne-home-motion-opacity: .25;
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #080a0b;
}

.sne-v3 .pub-home-motion-field video {
  position: absolute;
  inset: -3%;
  width: 106%;
  height: 106%;
  object-fit: cover;
  object-position: 53% 48%;
  opacity: var(--sne-home-motion-opacity);
  filter: brightness(.68) saturate(.64) contrast(.88) blur(.12px);
  transform: scale(1.025);
  transform-origin: center;
  will-change: opacity;
}

/* A centered aperture keeps the material readable but never above the publication. */
.sne-v3 .pub-home-motion-field::before,
.sne-v3 .pub-home-motion-field::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.sne-v3 .pub-home-motion-field::before {
  background: linear-gradient(90deg,
    rgba(8,10,11,.80) 0%,
    rgba(8,10,11,.62) 24%,
    rgba(8,10,11,.34) 50%,
    rgba(8,10,11,.58) 78%,
    rgba(8,10,11,.78) 100%);
}

.sne-v3 .pub-home-motion-field::after {
  background:
    linear-gradient(180deg,
      rgba(8,10,11,.54) 0%,
      rgba(8,10,11,.12) 27%,
      rgba(8,10,11,.16) 70%,
      rgba(8,10,11,.64) 100%),
    radial-gradient(circle at 55% 48%, transparent 0%, rgba(8,10,11,.10) 58%, rgba(8,10,11,.30) 100%);
}

.sne-v3 > main,
.sne-v3 > .pub-footer {
  position: relative;
  z-index: 1;
}

.sne-v3 .pub-nav {
  z-index: 4;
}

/* Dark chapters filter the same field instead of replacing it with opaque slabs. */
.sne-v3 .pub-statement--artifact:not(.pub-statement--reverse) {
  box-shadow: 0 0 0 100vmax rgba(10,13,15,.84);
}

.sne-v3 .pub-statement--reverse {
  box-shadow: 0 0 0 100vmax rgba(8,10,11,.84);
}

.sne-v3 .pub-reality {
  box-shadow: 0 0 0 100vmax rgba(12,16,18,.87);
}

.sne-v3 .pub-research-callout {
  box-shadow: 0 0 0 100vmax rgba(8,10,11,.85);
}

.sne-v3 .pub-terminal {
  box-shadow: 0 0 0 100vmax rgba(10,13,15,.88);
}

/* The paper chapter is intentionally opaque: state continues behind it, visibility pauses. */
.sne-v3 .pub-band {
  position: relative;
  z-index: 2;
  background: var(--sne-paper);
}

@media (max-width: 900px) {
  .sne-v3 .pub-home-motion-field video {
    object-position: 58% 48%;
    filter: brightness(.62) saturate(.58) contrast(.86) blur(.2px);
  }
}

@media (max-width: 720px) {
  .sne-v3 .pub-home-motion-field video { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sne-v3 .pub-home-motion-field video { display: none; }
}
