.sas-slider{
  position:relative;
  width:100%;
  min-height:490px;
  overflow:hidden;
}

.sas-track{
  display:flex;
  will-change:transform;
  transition:transform 420ms ease;
}

.sas-slide{
  min-width:100%;
  min-height:490px;
  /* Responsive height: tweak to taste */
  height:clamp(490px, 55vw, 560px);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Overlay container */
.sas-overlay{
  width:100%;
  padding:clamp(16px, 3vw, 40px);
  display:flex;
  justify-content:center;
}

.sas-align-left{ justify-content:flex-start; }
.sas-align-center{ justify-content:center; }
.sas-align-right{ justify-content:flex-end; }

/* Text styling similar to a hero headline */
.sas-text{
  max-width:980px;
  color:#fff;
  text-align:center;
  font-family:inherit;
  font-weight:400;
  font-size:30px;
  font-style:normal;
  letter-spacing:-0.02em;
  line-height:1.12;
  font-size:clamp(22px, 4vw, 56px);
  text-shadow:0 2px 10px rgba(0,0,0,.38);
}

.sas-align-left .sas-text{ text-align:left; }
.sas-align-right .sas-text{ text-align:right; }

/* Dots */
.sas-dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  align-items:center;
  z-index:2;
}

.sas-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.45);
  padding:0;
  cursor:pointer;
  pointer-events:auto;
  position:relative;
  z-index:10;
}

.sas-dot[aria-selected="true"]{
  background:rgba(255,255,255,.95);
}

.sas-dot:focus-visible{
  outline:2px solid rgba(255,255,255,.95);
  outline-offset:3px;
}

/* Utility */
.sas-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Optional: reduce motion */
@media (prefers-reduced-motion: reduce){
  .sas-track{ transition:none; }
}
