/* DSF Immersive Space Scene — Canvas & Layer Positioning */

#dsf-space-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* ── Make backgrounds transparent so 3D scene shows through ── */

/* Body: transparent so fixed canvas is visible */
body.home {
  background-color: transparent !important;
  background: transparent !important;
}

/* Article container: transparent */
body.home .dsf-article-inner,
body.home .dsf-separated .dsf-article-inner {
  background-color: transparent !important;
  background: transparent !important;
}

/* Site content area: transparent */
body.home .dsf-layout,
body.home #dsf-root,
body.home #dsf-body,
body.home #dsf-content {
  background-color: transparent !important;
  background: transparent !important;
}

/* Footer: semi-transparent so 3D peeks through */
body.home .dsf-footer {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

/* ── ALL cover block backgrounds transparent so WebGL shows through ── */
body.home .dsf-block-cover .dsf-overlay:not(.dsf-has-gradient)::before,
body.home .dsf-block-cover .dsf-block-cover__background {
  opacity: 0 !important;
}


/* Sections between covers: transparent instead of solid black */
body.home .dsf-block-group,
body.home .dsf-block-columns {
  background-color: transparent !important;
}

/* ── Ensure all content sections sit above the WebGL canvas ── */
/* NOTE: .dsf-header, .dsf-header-wrap, #dsf-mobile-header, #dsf-nav
   are excluded — they have their own position/z-index for sticky nav */
.page,
#dsf-root,
#dsf-body,
#dsf-content,
.dsf-content-body,
.dsf-footer,
#contactSection,
.dsf-chat,
.dsf-back-to-top {
  position: relative;
  z-index: 1;
}

/* GPU-composite content sections for smooth scroll layering */
.dsf-block-cover.dsf-full,
.overdrive-section,
#sw-outer-frame,
.hud-status-line {
  will-change: transform;
}

/* Let 3D scene peek through cover block edges */
.dsf-block-cover.dsf-full {
  position: relative;
  z-index: 1;
}

/* Overdrive (6 cores) section: transparent so 3D shows through */
body.home .overdrive-section {
  background: transparent !important;
  background-image: none !important;
}

/* Journal planet section: transparent so 3D shows through */
body.home .sector-map-wrapper {
  background: transparent !important;
}

/* Contact section: semi-transparent */
body.home #contactSection {
  background-color: rgba(3, 3, 3, 0.75) !important;
}

/* ── Hide scrollbar on homepage ── */
body.home {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
body.home::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Opera */
}

/* First cover (hero): fully transparent so WebGL canvas shows through */
body.home .dsf-block-cover:first-child .dsf-block-cover__background {
  opacity: 0 !important;
}
body.home .dsf-block-cover:first-child {
  background: transparent !important;
}

/* Fallback gradient ONLY when WebGL is unavailable */
body.home.no-webgl .dsf-block-cover:first-child {
  background: radial-gradient(ellipse at center, #0a0a1a 0%, #000000 70%) !important;
}

/* ── Scroll-triggered fade-in animations ── */

/* Reduced motion: prevent GSAP from hiding elements */
@media (prefers-reduced-motion: reduce) {
  body.home .dsf-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

