/* ================= FULLSCREEN SLIDER ================= */

.hero{
  margin:0;
  padding:0;
}

.slider{
  position:relative;
  width:100%;
  height:calc(100vh - 64px); /* FULL SCREEN minus header */
  overflow:hidden;
  background:#0b0f2a;
}

/* track */
.slides{
  display:flex;
  height:100%;
  transition:transform .6s ease;
}

/* single slide */
.slide{
  min-width:100%;
  height:100%;
  position:relative;
}

.slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* dark overlay */
.slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.55),
    rgba(0,0,0,.15)
  );
}

/* text */
.slide-content{
  position:absolute;
  left:clamp(20px, 6vw, 80px);
  bottom:clamp(24px, 8vh, 80px);
  z-index:3;
  color:#fff;
  max-width:640px;
}

.slide-title{
  margin:0;
  font-size:clamp(22px, 4vw, 44px);
  font-weight:800;
  line-height:1.15;
}

.slide-link{
  display:inline-flex;
  margin-top:16px;
  padding:12px 20px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  backdrop-filter:blur(6px);
}
.slide-link:hover{
  background:rgba(255,255,255,.26);
}

/* arrows */
.nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(0,0,0,.35);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
}
.nav:hover{ background:rgba(0,0,0,.5); }

.nav.prev{ display: none; }
.nav.next{ display: none; }

/* dots bottom center */
.dots{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  display:flex;
  gap:10px;
  z-index:6;
}

.dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.5);
  border:0;
  cursor:pointer;
  transition:all .25s ease;
}

.dot.active{
  width:26px;
  border-radius:999px;
  background:#fff;
}

/* mobile adjustments */
@media (max-width:768px){
  .nav{ display:none; }
  .slide-content{ max-width:90%; }
}
@media (max-width:640px){
  .slider{
    height:calc(70vh - 64px);
    min-height:360px;
  }
  .slide-link{
    padding:10px 16px;
  }
}
