Is there a way to disable jump links within a page or the div itself?

So, I’ve been trying to create a slider using only CSS and have been trying to avoid JS. Here’s what I’ve got so far:

:root{
  --width: 300px;
}
* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  overflow: hidden;
  font-family: sans-serif;
}

.slider-content-box {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.slide-outer{
  width: var(--width);
  background: #4e6cf2;
  border-radius: 15px;
  box-shadow: 0px 0px 16px 5px rgba(0,0,0,0.3);
}
.slider {
  text-align: center;
  position: relative;
}

.slides {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;

}
.img-section {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  border: none;
  outline: none;
}

.img-section img {
  height: 250px;
  width: 100%;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.slides>div {
  color: white;
  flex-shrink: 0;
  width: var(--width);
  height: auto;
  padding: 20px 10px 50px 10px;
  position: relative;
  display: flex;
  text-align: left;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 400;
}
.slides>div:first-child{
  font-size: 20px;
  font-weight: 600;
}

.arrows {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  column-gap: 10px;
  bottom: 18px;
  right: 25px;
}

.slider .arrows a {
  width: 1rem;
  height: 1rem;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  position: relative;
}

.slider .arrows a img {
  height: 20px;
  width: 30px;
}

.non-active-arrow-right,
.non-active-arrow-left {
  display: none;
}

.slider-scroll-box{
  padding: 10px 0px;
}
.slides::-webkit-scrollbar {
  width: 10px;
  height: 2px;
  border-radius: 10px;
  margin: 0px 10px;
}

.slides::-webkit-scrollbar-thumb {
  background: #9c9c9c;
  border-radius: 10px;
  padding: 0 !important;
}

.slides::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 10px;
  margin: 0px 20px;
}

.blur-image{
  filter: brightness(0.5);
}
<div class="slider-content-box">
    <div class="slide-outer">
      <div class="img-section">
        <img src="https://fs.hubspotusercontent00.net/hubfs/20523656/Group%2024941.png" width="100%" height="200px">
      </div>
  
      <div class="slider-scroll-box">
        <div class="slider">
          <div class="arrows">
            <a href="#slide-1" id="image-1">
                <img src="https://fs.hubspotusercontent00.net/hubfs/20523656/left-arrow-active.svg" class="active-arrow-left">
            </a>
  
            <a href="#slide-2" id="image-2">
              <img src="https://fs.hubspotusercontent00.net/hubfs/20523656/right-arrow-active.svg" class="active-arrow-right">
            </a>
  
          </div>
          <div class="slides">
  
            <div id="slide-1">
              Hello, I'm <br> Joe. The dev <br> of
            </div>
            <div id="slide-2">
              lorem ispoumm lorem ispoumm lorem ispoumm lorem ispoummlorem ispoummlorem ispoumm lorem ispoumm
            </div>
  
          </div>
  
        </div>
      </div>
  
    </div>
  </div>

As you can see, I’m using hash links for the arrow buttons so that it moves from div to div. However, this doesn’t seem to be good practice because when it’s applied to a page, clicking the arrows prompts the viewport to jump where the arrows begin.

Is there a way to maybe disable the jumps within this div or the entire page? Would anyone have a different idea to get it to function the same but without the hash links?