/* Foreground opacity is never changed. The homepage's main player is excluded. */
.ambient-section { position: relative; isolation: isolate; }
.ambient-media { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
.ambient-intro > .ambient-media { bottom: auto; height: min(100%,1000px); min-height: 580px; }
.ambient-video,.ambient-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .38; pointer-events: none; }
.ambient-video { visibility: hidden; }
.ambient-video.is-playing { visibility: visible; }
.ambient-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#061a35ba,#08244430 65%,#071c3e44),linear-gradient(0deg,#071c3e 0,transparent 36%,#071c3e18 75%,#071c3e88); }
/* Home keeps component positioning: decorative lights/halos must not reserve height. */
:where(body:not([data-page="home"])) .ambient-section > .ambient-media ~ * { position: relative; }
/* Keep existing absolute ornaments and the approved promotion layout untouched. */
.ambient-section > .wireframe-orbit,.ambient-section > .wireframe-coordinate { position: absolute; }
.g-background-video,.g-hero-poster { pointer-events: none; }
.g-background-video.is-playing,.g-hero-poster { opacity: .4; }
@media (max-width:760px) { .ambient-video,.ambient-poster { opacity: .32; }.ambient-intro > .ambient-media { min-height: 500px; } }
@media (prefers-reduced-motion:reduce) { .ambient-video { visibility: hidden !important; }.ambient-poster { display: block; }.g-background-video { opacity: 0 !important; } }
