/* ==========================================================================
   SCROLL FIX, kills the -100vh sticky-pin trap sitewide.
   Phase 0 shared foundation, DESIGN-BIBLE.md Note 1: "Fix the trap first.
   Replace the -100vh sticky hero trick sitewide with a normal
   document-flow hero (min-height 100vh, no negative margin). This is a
   precondition for every other Split Banner, not an optional cleanup."

   ROOT CAUSE (index.html only; no other shipped page uses this pattern).
   [data-scrollzone] wrapped #explore (the wall) in a 200vh box and set the
   wall to position:sticky, top:0, height:100vh, the classic "pin one
   viewport of extra scroll" trick. #envision then carried an inline
   margin-top:-100vh to pull back up under that pin. The two numbers only
   stay correct if the wall's rendered height is EXACTLY one viewport in
   every browser, every zoom level, every content state, forever. A live,
   by-hand drive of the real build (see gauntlet-run/DESIGN-BIBLE.md,
   "What this panel actually did before writing a word") reproduced
   programmatic scroll reading as stuck under the wall on this exact
   geometry, and independently, a fresh automated Playwright pass across
   desktop, tablet, and mobile, plain scrollTo, real mouse-wheel scroll, a
   tile drag, and an anchor jump, could NOT reproduce a frozen scrollY
   (numbers in the Phase 0 report). Reproducible or not on a given engine,
   the coupling itself is exactly the fragility Note 1 names: it multiplies
   a full viewport of scroll distance where the visible page appears not to
   move even though scrollY is legitimately advancing, and it is the
   pattern every new Split Banner is told never to copy. This file removes
   it at the source instead of leaving it live for six more pages to
   inherit.

   THE FIX. #explore drops position:sticky and becomes a normal, min-height
   hero in document flow. Its wrapper stops forcing an extra 200vh box.
   #envision drops its -100vh pull. Net effect: the wall renders once, at
   its natural height, index.html scrolls exactly the way every other page
   on the site already does. window.scrollTo is native from here down,
   nothing in index.html's own script overrides it.

   NOTE for whoever owns index.html next (Lane A, per the bible's File
   Plan): the wall's onScroll handler (search "const onScroll" in
   index.html) computes its title-card-docks-into-the-navbar morph purely
   from window.scrollY / innerHeight, not from position:sticky, so the
   morph keeps firing correctly. What changes is the STAGE it plays on: the
   wall now scrolls away with the page during that morph instead of holding
   still while the morph plays. If the pinned-hold feel is wanted back,
   that is a retune of the onScroll timing constants (a JS change, index.
   html's own file), not a reason to restore this trap.

   SPECIFICITY NOTE. Every value being overridden here is an inline style
   on the element itself in index.html, which normally beats any external
   stylesheet regardless of selector weight. Every rule below needs
   !important to actually win, same pattern already proven sitewide for
   the mobile #envision override this file supersedes.
   ========================================================================== */

[data-scrollzone] {
  height: auto !important;
}

#explore[data-hero] {
  position: relative !important;
  top: auto !important;
  /* keeps the original 640px floor for short viewports (e.g. landscape
     phones) that the inline style also protected against */
  min-height: max(100vh, 640px) !important;
  height: auto !important;
}

#envision[data-info-section] {
  margin-top: 0 !important;
}
