/* One uninterrupted page-sized background. Sections never restart the gradient. */
:root { --nova-page-gradient:linear-gradient(180deg,rgba(2,4,12,0) 0%,rgba(3,5,14,.28) 35%,rgba(2,3,9,.74) 100%),radial-gradient(ellipse 72% 24% at 9% 3%,rgba(21,91,165,.84),transparent 72%),radial-gradient(ellipse 65% 26% at 77% 5%,rgba(55,24,133,.52),transparent 75%),linear-gradient(125deg,#0a2e66 0%,#111747 46%,#170b3b 70%,#05040b 100%); }
html { min-height:100%; background:#05040b !important; }
body { min-height:100%; background-color:#05040b !important; background-image:var(--nova-page-gradient) !important; background-attachment:scroll !important; background-repeat:no-repeat !important; background-size:100% 100% !important; }
#content,.site-footer { position:relative; background:transparent !important; }
#content > section,.hero--televo-style,.site-footer { background-color:transparent !important; background-image:none !important; }

/* Calm scroll reveals: only enabled when the visitor has not requested reduced motion. */
@media (prefers-reduced-motion:no-preference) {
	.nova-reveal { opacity:0; transform:translateY(28px); transition:opacity .72s cubic-bezier(.22,.8,.25,1),transform .72s cubic-bezier(.22,.8,.25,1); }
	.nova-reveal.is-visible { opacity:1; transform:translateY(0); }
	.hero__device-strip { animation:nova-strip-in .8s .18s both cubic-bezier(.22,.8,.25,1); }
}
@keyframes nova-strip-in { from { opacity:0; transform:translateY(9px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
