/* Site-wide page background (injected on every page by backend/site-nav.js). The WebGL grain gradient is
   drawn by pagebg.js into .tz-page-shader; this layer is fixed behind all content and blurred. */
.tz-page-bg { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
  background: radial-gradient(60% 70% at 30% 35%, rgba(60, 40, 255, 0.5), transparent 70%),
    radial-gradient(50% 60% at 85% 80%, rgba(0, 184, 255, 0.4), transparent 70%), #0b1230; }
.tz-page-shader { position: absolute; left: 50%; top: 50%; width: 112%; height: 112%;
  transform: translate(-50%, -50%); display: block; filter: blur(26px); }
.tz-page-scrim { position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5, 8, 20, 0.36) 0%, rgba(5, 8, 20, 0.28) 50%, rgba(5, 8, 20, 0.38) 100%); }
/* Decorative layers that would paint over the background are hidden. */
html::before, .page-gradient, body::before, body::after, .page-ambient-veil,
.section-video-bg, .section-video-veil, .hero-video-bg { display: none !important; }
body { background: #0b1230 !important; }
/* Sections and footers are transparent so the background shows through the whole page. Hero sections
   (.hero) carry their own !important gradients in styles.css, so match them with a more specific selector. */
body main > section, body main > section.hero, body footer.site-footer, body footer.trizan-footer {
  background: transparent !important; background-image: none !important;
}
body main > section.hero::before, body main > section.hero::after { display: none !important; }
