/*
 * Homepage unified boot cover — hides all page chrome (including footer)
 * below the splash until chichi-runtime.js confirms ready and reveals.
 */

#chichi-home-boot-cover {
  background-color: var(--color-black, #030303);
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 45;
}

#chichi-home-boot-cover.-fade-out {
  opacity: 0;
  transition: opacity 150ms ease;
}

html.chichi-home-revealed #chichi-home-boot-cover {
  display: none !important;
}

/*
 * Hero + header reveal as soon as the boot cover lifts. Hide footer chrome
 * only while the boot cover is up — do NOT wait for chichi-home-scroll-ready.
 * First entry often never reaches scroll-ready before the user hits the footer;
 * keeping children hidden there leaves a collapsed footer + cream body bleed.
 *
 * Do NOT visibility:hidden the whole footer — that unpaints its black
 * background and exposes body cream in the 100lvh pin slot on first entry.
 */
html:not(.chichi-home-revealed) .the-footer {
  pointer-events: none !important;
  background-color: var(--color-black, #030303) !important;
}

html:not(.chichi-home-revealed) .the-footer > * {
  visibility: hidden !important;
}

/*
 * During boot only: keep the Nuxt 100lvh pin slot painted black while children
 * are hidden. Once home-revealed, footer.css collapses min-height to content.
 */
html:not(.chichi-home-revealed) .the-footer {
  min-height: 100lvh !important;
}

/*
 * Nuxt layout shell (.main-content[data-v-076b7b26]) adds padding-top:
 *   calc(var(--header-height) / 1.3)  — mobile
 *   var(--header-height)              — desktop (64em+)
 * so in-flow content clears the fixed Vue .the-header (also position:fixed,
 * mix-blend-mode:difference in default.w_WESe8R.css).
 *
 * On the homepage the hero is height:100svh and our shared .site-header is
 * the same fixed overlay pattern — padding only reserves ~58px of empty
 * document flow, pushes the hero down by that amount, clips .hero__index
 * below the fold, and exposed body cream in the gap (the “cream band”).
 *
 * Interior static pages do not load this file; they never use #main-content.
 */
#main-content.main-content,
#main-content.main-content[data-v-076b7b26] {
  padding-top: 0 !important;
}

/*
 * Last chapter reserves ~100lvh scroll overflow for the Nuxt footer pin handoff.
 * Once our shared footer outro is live (min-height collapsed on reveal), that
 * phantom main-content scrollHeight leaves a cream void below the black footer.
 */
html.chichi-home-revealed #main-content.main-content {
  overflow: clip;
}
