/* Scroll-linked depth on homepage content only. Backgrounds and layout stay fixed. */
.scene-section { position: relative; perspective: 1400px; perspective-origin: 50% 40%; }
.scene-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 80% 12%, rgba(150, 100, 255, .22), transparent 62%);
  opacity: var(--scene-light, 0);
  transition: opacity .16s linear;
}
.scene-section > .scene-depth {
  position: relative;
  z-index: 1;
  transform-origin: 50% 0;
  transform: translate3d(0, var(--scene-y, 0px), var(--scene-z, 0px)) rotateX(var(--scene-rx, 0deg)) rotateY(var(--scene-ry, 0deg)) scale(var(--scene-scale, 1));
  opacity: var(--scene-opacity, 1);
  transition: transform .16s linear, opacity .16s linear;
}
.scene-section.scene-travelling > .scene-depth { will-change: transform; }
.scene-section:focus-within > .scene-depth { transform: none; opacity: 1; }
@media (max-width: 720px) { .scene-section { perspective: 1800px; } }
@media (prefers-reduced-motion: reduce) {
  .scene-section > .scene-depth { transform: none; opacity: 1; transition: none; will-change: auto; }
  .scene-section::before { display: none; }
}
@media print {
  .scene-section > .scene-depth { transform: none; opacity: 1; }
  .scene-section::before { display: none; }
}
