/* OZMOV / Deep Space Energy Reveal — 2026-10-27
   No video, per-frame canvas drawing or GPU blur filters.
   Event-driven CSS opacity reveals, compositor-only parallax. */
.ozf-hero{touch-action:pan-y;}
.ozf-hero .ozf-cosmos{background:#020811!important;isolation:isolate;contain:paint;overflow:hidden;}
.ozf-hero .ozf-cosmos>.ozf-deep-field{display:block!important;position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.ozf-deep-base{position:absolute;display:block;inset:-8% -7%;overflow:hidden;transform:translate3d(var(--od-x,0px),var(--od-y,0px),0) scale(1.035);transition:transform .42s cubic-bezier(.23,.78,.26,1);backface-visibility:hidden;}
.ozf-deep-base picture{position:absolute;inset:0;display:block;}
.ozf-deep-base img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:brightness(1.05) saturate(1.15);}
/* One nebula photograph only: the 'reveal' is an overlay that dims the same pixels,
   never a second differently shifted copy. At rest the scene is deliberately dark. */
.ozf-deep-reveal{position:absolute;inset:0;display:block;transform:none;opacity:.70;background:#020711;pointer-events:none;}
.ozf-energy-glow{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse 26% 33% at var(--od-flash-x,77%) var(--od-flash-y,34%),rgba(255,231,166,.28),rgba(53,164,205,.12) 36%,transparent 83%);mix-blend-mode:screen;pointer-events:none;}
.ozf-deep-pulse .ozf-deep-reveal{animation:od-lightning-reveal 1.85s linear both;}
.ozf-deep-pulse .ozf-energy-glow{animation:od-lightning-glow 1.85s linear both;}
@keyframes od-lightning-reveal{0%{opacity:.70}4%{opacity:.08}11%{opacity:.18}22%{opacity:.34}39%{opacity:.49}64%{opacity:.61}100%{opacity:.70}}
@keyframes od-lightning-glow{0%{opacity:0}3%{opacity:.82}14%{opacity:.65}34%{opacity:.26}67%{opacity:.08}100%{opacity:0}}
.ozf-deep-stars{position:absolute;inset:0;pointer-events:none;opacity:.48;background-image:radial-gradient(1px 1px at 19% 18%,rgba(223,242,255,.9) 98%,transparent),radial-gradient(1px 1px at 81% 9%,rgba(186,225,246,.8) 98%,transparent),radial-gradient(1px 1px at 90% 61%,rgba(231,212,181,.72) 98%,transparent),radial-gradient(1px 1px at 37% 74%,rgba(215,240,244,.72) 98%,transparent);background-size:390px 360px,470px 320px,520px 480px,340px 460px;animation:od-star-breathe 15s ease-in-out infinite alternate;}
@keyframes od-star-breathe{from{opacity:.29}to{opacity:.54}}
.ozf-hero .ozf-cosmos>.ozf-cosmos-shade{display:block!important;position:absolute!important;inset:0;z-index:3;pointer-events:none;animation:none!important;background:linear-gradient(90deg,rgba(2,7,14,.97) 0%,rgba(2,7,14,.92) 17%,rgba(2,7,14,.78) 33%,rgba(2,7,14,.23) 64%,rgba(2,7,14,.06) 100%),linear-gradient(180deg,rgba(2,7,14,.20) 0%,transparent 30%,rgba(2,7,14,.12) 67%,rgba(2,7,14,.86) 90%,#020910 100%);}
@media(max-width:820px){
 .ozf-deep-base{inset:-5% -6%;}
 .ozf-deep-base img{object-position:50% center;}
 .ozf-hero .ozf-cosmos>.ozf-cosmos-shade{background:linear-gradient(180deg,rgba(2,7,14,.91) 0%,rgba(2,7,14,.88) 15%,rgba(2,7,14,.64) 34%,rgba(2,7,14,.32) 53%,rgba(2,7,14,.25) 67%,rgba(2,7,14,.81) 88%,#020910 100%)}
 .ozf-energy-glow{background:radial-gradient(ellipse 44% 23% at var(--od-flash-x,74%) var(--od-flash-y,61%),rgba(255,228,161,.30),rgba(53,164,205,.08) 42%,transparent 88%)}
}
@media(prefers-reduced-motion:reduce){
 .ozf-deep-base{transition:none!important;transform:none!important;will-change:auto;}
 .ozf-deep-pulse .ozf-deep-reveal,.ozf-deep-pulse .ozf-energy-glow,.ozf-deep-stars{animation:none!important}
 .ozf-deep-reveal{opacity:.70!important}.ozf-energy-glow{opacity:0!important}
 .ozf-deep-stars{opacity:.35}
}
