/* Quiet backgrounds that move behind the page content. */
[data-motion-region] { position: relative; isolation: isolate; overflow: hidden; }
.motion-atmosphere { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.motion-atmosphere::before,
.motion-atmosphere::after { content: none !important; }
.motion-parallax { position: absolute; inset: -3%; transform: translate3d(var(--motion-x, 0px), calc(var(--motion-y, 0px) + var(--motion-scroll, 0px)), 0); pointer-events: none; }
.motion-horizon { position: absolute; inset: -2%; background: url('./assets/exodus-atmosphere.jpg') center 60% / cover no-repeat; opacity: .82; transition: opacity .8s ease; }
.hero-film { position: absolute; z-index: 1; inset: -2%; width: 104%; height: 104%; object-fit: cover; object-position: center; opacity: .94; filter: saturate(.68) contrast(1.12) brightness(.82); transform: scale(1.04) translate3d(9%, 0, 0); }
.page-film { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; opacity:.24; filter:saturate(.55) contrast(1.08) brightness(.62); }
.motion-atmosphere .motion-parallax { z-index:1; }
.research-film-credit { display:inline-flex; align-items:center; gap:.55rem; margin-top:1rem; padding:.4rem .55rem; border:1px solid #d9c8ed2b; background:#08080c70; color:#c6bdd1; font:400 .57rem/1.5 var(--mono); letter-spacing:.02em; text-transform:uppercase; }
.research-film-credit:hover { color:#f0e8f8; border-color:#b692d282; }
.motion-shade { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, #08080cf2 0%, #08080cce 34%, #08080c68 69%, #08080c38 100%), linear-gradient(0deg, #08080c 0%, #08080c42 24%, transparent 70%); pointer-events: none; }
.motion-light { position: absolute; inset: -18%; background: radial-gradient(ellipse at 78% 48%, #9a6acb33 0%, #76509314 38%, transparent 70%); opacity: .44; transform: translate3d(-3%, 0, 0); animation: quiet-light 26s ease-in-out infinite alternate; animation-play-state: paused; }
.motion-quiet .motion-shade { background: linear-gradient(90deg, #08080c9c 0%, #08080c3d 54%, #08080c1c 100%), linear-gradient(0deg, #08080c 0%, transparent 68%); }
.motion-enabled .motion-running .motion-light { animation-play-state: running; }
.motion-enabled .motion-running .hero-film { opacity: .98; }
.motion-enabled .motion-running .page-film { opacity:.34; }
.motion-enabled .motion-running .motion-horizon { opacity: 0; }
.motion-enabled .motion-running .motion-parallax { will-change: transform; }
.background-motion-paused .motion-light { animation-play-state: paused !important; }
html:not(.motion-enabled) .motion-light { animation: none !important; }
.home-page .hero-rail { gap: 1rem; min-height: 5.6rem; z-index: 2; }
.hero-film-credit { position: absolute; z-index: 3; right: var(--gutter); bottom: 6.05rem; max-width: min(38rem, 50vw); padding: .55rem .75rem; border: 1px solid #d9c8ed2b; background: #08080c9c; backdrop-filter: blur(6px); color: #c6bdd1; font: 400 .62rem/1.5 var(--mono); letter-spacing: .035em; text-align: right; text-transform: uppercase; }
.hero-film-credit span { padding-left: .35rem; color: #d8c4f1; }
.hero-film-credit:hover { border-color: #b692d282; color: #f0e8f8; }
.hero-film-credit:focus-visible { outline: 2px solid var(--violet-light); outline-offset: 4px; }
@keyframes quiet-light { from { opacity: .3; transform: translate3d(-3%, 0, 0) scale(.98); } to { opacity: .6; transform: translate3d(3%, -2%, 0) scale(1.03); } }
@media (max-width: 1000px) { .home-page .hero-rail .eyebrow:nth-child(2) { display: none; } }
@media (max-width: 760px) {
  .home-page .hero-layout { padding-bottom: 7.4rem; }
  .home-page .hero-rail { display: flex; gap: .6rem; min-height: 4.8rem; }
  .home-page .hero-rail .eyebrow:first-child { max-width: 58%; font-size: .49rem; letter-spacing: .02em; }
  .home-page .hero-rail .scroll-cue { font-size: .56rem; gap: .7rem; min-height: 44px; white-space: nowrap; }
  .hero-film { inset: 0; width: 100%; height: 100%; opacity: .76; transform: scale(1.08) translate3d(3%, 0, 0); }
  .page-film { opacity:.18; }
  .research-film-credit { max-width:100%; font-size:.52rem; }
  .motion-shade { background: linear-gradient(90deg, #08080cd9 0%, #08080c8e 55%, #08080c55 100%), linear-gradient(0deg, #08080c 0%, #08080c58 33%, transparent 78%); }
  .hero-film-credit { right: var(--gutter); bottom: 5.05rem; left: var(--gutter); max-width: none; padding: .45rem .55rem; font-size: .54rem; line-height: 1.45; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-parallax { transform: none !important; }
  .motion-light { animation: none !important; }
  .hero-film,.page-film,.research-film { display: none; }
}
