/* Home hero — slider composition */

.hero.hero-v2{
  position:relative;
  background:#1a1a18;
  color:#fff;
  min-height:min(82vh,760px);
  display:flex;
  flex-direction:column;
  overflow:visible;
  z-index:4;
  padding:0;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
}

.hero.hero-v2.is-dragging{
  cursor:grabbing;
}

.hero.hero-v2 .hero-v2-cta,
.hero.hero-v2 button,
.hero.hero-v2 a{
  cursor:pointer;
  user-select:auto;
}

.hero-v2-slides{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

.hero-v2-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .7s ease,visibility .7s;
  pointer-events:none;
}

.hero-v2-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:1;
}

.hero-v2-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.04);
  transition:transform 6.5s ease-out;
}

.hero-v2-slide.is-active .hero-v2-bg{
  transform:scale(1);
}

.hero-v2-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}

/* Upper zone: slide copy — right + vertically centered */
.hero-v2-content{
  position:relative;
  z-index:2;
  flex:1 1 auto;
  width:min(1400px,calc(100% - 36px));
  margin:0 auto;
  padding:72px 0 120px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
}

.hero-v2-panel{
  width:100%;
  max-width:500px;
  text-align:right;
}

.hero-v2-copy{
  position:relative;
}

.hero-v2-text h1{
  margin:0 0 18px;
  font-size:clamp(36px,4.8vw,56px);
  line-height:1.08;
  font-weight:800;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}

.hero-v2-text p{
  margin:0 0 28px;
  font-size:18px;
  line-height:1.5;
  color:#e8e8e4;
  max-width:42ch;
}

.hero-v2-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 24px;
}

.hero-v2-text[hidden]{
  display:none!important;
}

/* Lower zone: search bar */
.hero-v2-search-wrap{
  position:relative;
  z-index:6;
  width:100%;
  margin-top:auto;
  padding:0 0 16px;
  transform:translateY(-30px);
  overflow:visible;
}

.hero-v2-search{
  width:min(1400px,calc(100% - 36px));
  margin:0 auto;
}

.hero.hero-v2 .search-bar{
  margin-top:0;
}

/* Progress bar — hidden; timing lives on active bullet ring */
.hero-v2-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:4;
  height:0;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
}

.hero-v2-progress-bar{
  display:none;
}

/* Vertical slide dots — right side */
.hero-v2-dots{
  position:absolute;
  top:50%;
  right:22px;
  z-index:5;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
}

.hero-v2-dot{
  position:relative;
  width:18px;
  height:18px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  color:inherit;
}

.hero-v2-dot-ring{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  transform:rotate(-90deg);
}

.hero-v2-dot-track,
.hero-v2-dot-progress{
  fill:none;
  stroke-width:2;
}

.hero-v2-dot-track{
  stroke:rgba(255,255,255,.4);
}

.hero-v2-dot-progress{
  stroke:var(--brand-dark,#e72173);
  stroke-linecap:round;
  stroke-dasharray:87.96;
  stroke-dashoffset:87.96;
}

.hero-v2-dot:not(.is-active) .hero-v2-dot-progress{
  stroke-dashoffset:87.96;
  animation:none;
}

.hero-v2-dot:not(.is-active) .hero-v2-dot-track{
  stroke:transparent;
}

.hero-v2-dot:not(.is-active){
  background:rgba(255,255,255,.45);
}

.hero-v2-dot::after{
  content:"";
  position:absolute;
  inset:50%;
  width:6px;
  height:6px;
  margin:-3px;
  border-radius:50%;
  background:#fff;
  opacity:0;
  transform:scale(.6);
  transition:opacity .2s ease,transform .2s ease;
  pointer-events:none;
  z-index:1;
}

.hero-v2-dot.is-active{
  background:transparent;
}

.hero-v2-dot.is-active::after{
  opacity:1;
  transform:scale(1);
}

.hero-v2-dot.is-active .hero-v2-dot-progress.is-running{
  animation:heroV2DotProgress var(--hero-v2-interval,5.5s) linear forwards;
}

.hero-v2-dot.is-active .hero-v2-dot-progress.is-paused{
  animation-play-state:paused;
}

.hero-v2-dot:hover:not(.is-active),
.hero-v2-dot:focus-visible:not(.is-active){
  background:rgba(255,255,255,.7);
  outline:none;
}

.hero-v2-dot:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}

@keyframes heroV2DotProgress{
  from{stroke-dashoffset:87.96}
  to{stroke-dashoffset:0}
}

@keyframes heroV2Progress{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

/* Tablet */
@media(max-width:960px){
  .hero.hero-v2{min-height:min(70vh,680px)}
  .hero-v2-content{padding:56px 0 96px}
  .hero-v2-text h1{font-size:clamp(32px,5vw,44px)}
  .hero-v2-text p{font-size:16px;margin-bottom:24px}
  .hero-v2-overlay{
    background:rgba(0,0,0,.5);
  }
  .hero-v2-dots{right:14px;gap:12px}
}

/* Mobile */
@media(max-width:640px){
  .hero.hero-v2{min-height:0}
  .hero-v2-content{
    width:min(100%,calc(100% - 24px));
    padding:48px 0 72px;
    justify-content:center;
  }
  .hero-v2-panel{
    max-width:none;
    text-align:center;
  }
  .hero-v2-text p{
    margin-left:auto;
    margin-right:auto;
    font-size:15px;
    margin-bottom:22px;
  }
  .hero-v2-text h1{font-size:32px;margin-bottom:14px}
  .hero-v2-search{width:min(100%,calc(100% - 24px))}
  .hero-v2-search-wrap{padding-bottom:16px}
  .hero-v2-dots{right:10px;gap:11px}
  .hero-v2-dot{width:16px;height:16px}
  .hero-v2-dot::after{width:5px;height:5px;margin:-2.5px}
}

@media(prefers-reduced-motion:reduce){
  .hero-v2-slide,
  .hero-v2-bg{
    transition:none!important;
  }
  .hero-v2-slide.is-active .hero-v2-bg{
    transform:none;
  }
  .hero-v2-dot-progress,
  .hero-v2-dot-progress.is-running{
    animation:none!important;
    stroke-dashoffset:0;
  }
}
