/* Qualita Luxury Hero Slider Styles */
.qlh-hero-slider {
  position: relative;
  height: 100vh;
  min-height: 700px;
  width: 100%;
  overflow: hidden;
  background-color: var(--obs, #0c0c0a);
}

.qlh-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), visibility 1s;
  display: flex;
  align-items: flex-end;
  padding: 0 52px 96px;
  z-index: 1;
}

.qlh-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.qlh-slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 35%;
  z-index: 1;
  transform: scale(1.04);
  transition: transform 7s ease-out;
}

.qlh-slide.active .qlh-slide-bg {
  transform: scale(1.12);
}

.qlh-slide-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(105deg, rgba(12,12,10,.95) 35%, rgba(12,12,10,.45) 100%),
              linear-gradient(to top, rgba(12,12,10,.92) 0%, transparent 55%);
}

.qlh-slide-container {
  position: relative;
  z-index: 3;
  max-width: 860px;
}

.qlh-eyebrow {
  font-size: var(--fxs, 14px);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--grl, #9DD660);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 500;
  opacity: 0;
  transform: translateY(20px);
  transition: all .8s ease .3s;
}

.qlh-eyebrow::before {
  content: '';
  width: 38px;
  height: 2px;
  background: var(--green, #80C342);
  flex-shrink: 0;
}

.qlh-slide.active .qlh-eyebrow {
  opacity: 1;
  transform: translateY(0);
}

.qlh-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.4rem, 4.5vw, 4.2rem);
  font-weight: 300;
  line-height: 1.08;
  color: var(--white, #faf8f3);
  margin-bottom: 24px;
}

.qlh-title em {
  font-style: italic;
  color: var(--gl, #e2c89a);
}

.qlh-ln {
  display: block;
  opacity: 0;
  transform: translateY(30px);
  transition: all .9s cubic-bezier(.16,1,.3,1) .5s;
}

.qlh-slide.active .qlh-ln {
  opacity: 1;
  transform: translateY(0);
}

.qlh-desc {
  font-size: 1.15rem;
  color: rgba(240,234,216,.8);
  max-width: 540px;
  line-height: 1.9;
  margin-bottom: 42px;
  opacity: 0;
  transform: translateY(25px);
  transition: all .8s ease .7s;
}

.qlh-slide.active .qlh-desc {
  opacity: 1;
  transform: translateY(0);
}

.qlh-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  opacity: 0;
  transform: translateY(20px);
  transition: all .8s ease .9s;
}

.qlh-slide.active .qlh-actions {
  opacity: 1;
  transform: translateY(0);
}

/* Dots Navigation */
.qlh-dots {
  position: absolute;
  bottom: 44px;
  left: 52px;
  z-index: 10;
  display: flex;
  gap: 10px;
}

.qlh-dot {
  width: 28px;
  height: 3px;
  background: rgba(255,255,255,.3);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all .4s ease;
  border-radius: 2px;
}

.qlh-dot.active {
  width: 54px;
  background: var(--green, #80C342);
}

/* Scroll Hint */
.qlh-scroll-hint {
  position: absolute;
  bottom: 44px;
  right: 52px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.qlh-scroll-hint span {
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--muted, #8a806e);
  writing-mode: vertical-rl;
}

.qlh-sline {
  width: 1px;
  height: 50px;
  background: linear-gradient(to bottom, var(--green, #80C342), transparent);
  animation: qlhSp 2s ease-in-out infinite;
}

@keyframes qlhSp {
  0%, 100% { opacity: .7; transform: scaleY(1); }
  50% { opacity: .25; transform: scaleY(.4); }
}

@media(max-width: 768px) {
  .qlh-slide { padding: 0 24px 72px; }
  .qlh-dots { left: 24px; bottom: 24px; }
  .qlh-scroll-hint { display: none; }
}
