.amora-hero{
  position: relative;
  width: 100%;
  overflow: hidden;
  height: clamp(520px, 88vh, 860px);
}
@media (max-width: 849px){
  .amora-hero{ height: clamp(380px, 70vh, 640px);
 }
}

.amora-hero__media,
.amora-hero__track,
.amora-hero__slide{
  position: absolute; inset: 0;
}

.amora-hero__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display:block;
}

.amora-hero__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,var(--amoraOverlay,0.25));
}

.amora-hero__content{
  position: relative;
  z-index: 3;
  height: 100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding: 48px 0;
}

.amora-hero__title{ margin:0 0 10px; }
.amora-hero__desc{ margin:0; max-width: 720px; }

/* Carousel layout */
.amora-hero__track{
  display:flex;
  transition: transform 450ms ease;
  will-change: transform;
}
.amora-hero__slide{
  min-width: 100%;
  position: relative;
}

/* Nav */
.amora-hero__nav{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index: 4;
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.25);
  color:#fff;
  font-size:28px;
  line-height:40px;
}
.amora-hero__prev{ left:18px; }
.amora-hero__next{ right:18px; }

.amora-hero__dots{
  position:absolute;
  left:0; right:0; bottom:16px;
  z-index:4;
  display:flex;
  gap:8px;
  justify-content:center;
}
.amora-hero__dot{
  width:8px;height:8px;border-radius:999px;
  border:0; padding:0;
  background: rgba(255,255,255,.45);
}
.amora-hero__dot.is-active{ background: rgba(255,255,255,.9); }