/* Home hero — synchronized promotion image and message slider */
.hero-slide{
  opacity:0;
  animation:none;
  transform:scale(1.025);
  transition:opacity 1s ease,transform 6.4s cubic-bezier(.2,.7,.25,1);
}

.hero-slide:first-child{opacity:0}

.hero-slide.is-active{
  z-index:1;
  opacity:1;
  transform:scale(1.065);
}

.hero-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(18,29,22,.64) 0%,rgba(26,38,29,.42) 42%,rgba(34,45,34,.13) 73%,rgba(34,44,33,.04) 100%),
    linear-gradient(180deg,rgba(16,24,18,.18) 0%,rgba(31,43,32,.02) 46%,rgba(14,22,17,.2) 100%);
}

.hero-content{
  width:min(960px,100%);
  max-width:none;
}

.hero-message-stage{
  position:relative;
  min-height:300px;
}

.hero-message{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  opacity:0;
  visibility:hidden;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease,visibility 0s linear .7s;
  pointer-events:none;
}

.hero-message.is-active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition-delay:.25s;
  pointer-events:auto;
}

.hero-message .hero-title{
  font-size:clamp(43px,4.35vw,68px);
}

.hero-message .hero-desc{
  max-width:620px;
}

.hero-promo-nav{
  display:flex;
  width:min(560px,100%);
  gap:24px;
  margin-top:34px;
}

.hero-promo-nav button{
  flex:1 1 0;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.5);
  font-family:'Noto Sans KR',sans-serif;
  font-size:11px;
  font-weight:500;
  text-align:left;
  cursor:pointer;
  transition:color .3s ease;
}

.hero-promo-nav button span{display:block}

.hero-promo-nav button i{
  position:relative;
  display:block;
  height:2px;
  margin-top:10px;
  overflow:hidden;
  background:rgba(255,255,255,.2);
}

.hero-promo-nav button i::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--gold-lt);
  transform:scaleX(0);
  transform-origin:left center;
}

.hero-promo-nav button.is-active{color:#fff}

.hero-promo-nav button.is-active i::after{
  animation:hero-promo-progress 4s linear forwards;
}

.hero.is-paused .hero-promo-nav button.is-active i::after{
  animation-play-state:paused;
}

@keyframes hero-promo-progress{
  to{transform:scaleX(1)}
}

@media(max-width:768px){
  .hero{height:680px;min-height:680px}
  .hero-slide:nth-child(1){background-position:62% center}
  .hero-slide:nth-child(2){background-position:58% center}
  .hero-slide:nth-child(3){background-position:60% center}
  .hero-content{padding:190px 24px 0;max-width:600px}
  .hero-message-stage{min-height:250px}
  .hero-message .hero-title{font-size:clamp(31px,8.2vw,42px);line-height:1.2}
  .hero-message .hero-desc{font-size:13px;line-height:1.78;margin-bottom:0}
  .hero-promo-nav{gap:14px;margin-top:25px}
  .hero-promo-nav button{font-size:9.5px}
}

@media(max-width:480px){
  .hero{height:650px;min-height:650px}
  .hero-content{padding-top:174px}
  .hero-message-stage{min-height:245px}
  .hero-message .hero-title{font-size:clamp(29px,8.5vw,36px)}
  .hero-eyebrow{margin-bottom:20px;font-size:9px;letter-spacing:.2em}
  .hero-eyebrow::before{width:34px}
  .hero-promo-nav{margin-top:22px}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide,
  .hero-slide:first-child{opacity:0;transform:none;transition:none}
  .hero-slide.is-active{opacity:1;transform:none}
  .hero-message{transform:none;transition:none}
  .hero-promo-nav button.is-active i::after{animation:none;transform:scaleX(1)}
}
