/* --- SCROLL END CLAMP (Less Aggressive) --- */
html {
  overflow-y: auto !important;   /* single scrollbar */
  overflow-x: hidden !important;
  scroll-snap-type: none !important;
  overscroll-behavior: none !important;
}

body {
  overflow: visible !important;   /* no inner scrollbars */
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  overscroll-behavior: none !important;
}

/* Main content expands */
main { 
  flex: 1 0 auto !important;
  overflow: visible !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Footer is absolutely last */
footer, .footer {
  flex-shrink: 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  /* Keep original footer padding */
}

/* Kill ALL elements after footer */
.footer ~ *,
footer ~ *,
body > :last-child ~ * {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure footer is truly last visible element */
body > :last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Only kill body/html/footer pseudo elements */
body::after, body::before,
html::after, html::before,
.footer::after, .footer::before,
footer::after, footer::before {
  display: none !important;
  content: none !important;
}

/* Remove any invisible spacers */
br:last-child,
div:empty:last-child,
p:empty:last-child,
span:empty:last-child {
  display: none !important;
}

/* Only limit hero height */
.hero {
  overflow: visible !important;
}

/* Absolute positioning containment */
.hero-video, .hero-gradient, .gradient-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}


/* Prevent ALL overscroll */
html, body, main, section { 
  overscroll-behavior-y: none !important;
  overscroll-behavior-x: none !important;
}

