/* index.css */

.hero{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
              var(--bg2);
  height: 30vh;
  min-height: 220px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  display:flex;
  align-items:center;
}
.hero__inner{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: clamp(18px, 4vw, 46px);
  position:relative;
}
.hero__leftLogo{
  width: clamp(110px, 22vw, 220px);
  opacity:.92;
  filter: drop-shadow(0 10px 30px rgba(0,0,0,.45));
}
.hero__ringWrap{
  position:relative;
  width: clamp(120px, 24vw, 260px);
  height: clamp(120px, 24vw, 260px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero__ring{
  width: 100%;
  height: 100%;
  object-fit:contain;
  animation: ringPremium 8.5s var(--ease) infinite;
  will-change: transform;
  filter: drop-shadow(0 16px 46px rgba(0,0,0,.60));
}
.hero__glow{
  position:absolute;
  inset: 16%;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, rgba(255,216,0,.18), transparent 58%);
  filter: blur(12px);
  opacity: .85;
  pointer-events:none;
}

@keyframes ringPremium{
  0%   { transform: translateX(-6px) rotate(-4deg); }
  50%  { transform: translateX(6px) rotate(4deg); }
  100% { transform: translateX(-6px) rotate(-4deg); }
}

/* ticker */
.ticker{ margin-top: -14px; }
.ticker__bar{
  height: 54px;
  padding: 0 16px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:12px;
}
.ticker__label{
  display:flex; align-items:center; gap:10px;
  color: rgba(237,239,243,.78);
  font-size: 13px;
}
.ticker__label .dot{
  width:8px; height:8px; border-radius:50%;
  background: rgba(255,216,0,.9);
  box-shadow: 0 0 0 6px rgba(255,216,0,.10);
}
.ticker__slot{
  flex:1;
  height: 22px;
  overflow:hidden;
  position:relative;
  mask-image: linear-gradient(to bottom, transparent, #000 28%, #000 72%, transparent);
}
.ticker__track{
  display:flex;
  flex-direction:column;
  gap: 12px; /* tick rows spacing (hidden by overflow) */
  transform: translateY(0);
  transition: transform .55s var(--ease);
}
.ticker__row{
  height: 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-variant-numeric: tabular-nums;
}
.ticker__sym{
  font-size:15px;
  letter-spacing:.18em;
  color: rgba(255,216,0,.9);
}
.ticker__price{
  font-size:13px;
  color: rgba(237,239,243,.92);
}
.ticker__chg{
  font-size:10px;
  color: rgba(237,239,243,.6);
}
.ticker__hint{
  font-size:12px;
  color: rgba(237,239,243,.55);
}

/* product blocks */
.heroCard{
  padding: 22px;
  display:grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 18px;
  align-items:center;
}
.heroCard--swap{ grid-template-columns: 1.2fr .9fr; }
.product__text{ padding: 6px 6px 6px 8px; }
.price-row{ margin: 18px 0 16px; }
.price{
  display:flex;
  align-items:baseline;
  gap:6px;
}
.price__unit{
  color: rgba(255,216,0,.9);
  font-weight: 600;
}
.price__value{
  font-size: 30px;
  font-weight: 750;
  letter-spacing:-0.6px;
  color: rgba(255,216,0,.95);
}
.price__sub{
  margin-top: 6px;
  font-size:12px;
  color: rgba(237,239,243,.58);
}

.product__media{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}
.product__imgTall{
  height: 360px;
  width:auto;
  object-fit:contain;
  transform: translateY(-10px);
  filter: drop-shadow(0 18px 46px rgba(0,0,0,.60));
}

/* marquee */
.marquee{
  overflow:hidden;
  padding: 16px 0;
  border-radius: 8px;

}
.marquee__track{
  display:flex;
  gap:14px;
  width:max-content;
  animation: marquee 40s linear infinite;
  will-change: transform;
}
@keyframes marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
.celeCard{
  width: 220px;
  height: 320px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  display:flex;
  align-items:flex-end;
  padding: 14px;
  position:relative;
  overflow:hidden;
}
.celeCard::before{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at 30% 25%, rgba(255,216,0,.12), transparent 48%);
  transform: rotate(12deg);
}
.celeCard__cap{
  position:relative;
  z-index:2;
  font-size:12px;
  color: rgba(237,239,243,.78);
}
.celeCard__cap b{
  display:block;
  font-size:14px;
  color: rgba(237,239,243,.95);
  margin-bottom:2px;
}

/* services grid */
.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.svc{
  padding: 18px;
}
.svc__icon{
  color: rgba(255,216,0,.95);
  font-size: 18px;
  margin-bottom: 12px;
}
.svc h3{
  margin:0 0 8px;
  font-size:16px;
}
.svc p{
  margin:0;
  color: rgba(237,239,243,.62);
  line-height:1.6;
  font-size:13px;
}

/* store list */
.storelist{
  padding: 6px 0;
}
.storeitem{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:14px;
  padding: 16px 18px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.storeitem:first-child{ border-top:0; }
.storeitem__name{
  font-weight:650;
  letter-spacing:-0.2px;
}
.storeitem__meta{
  margin-top:4px;
  font-size:12px;
  color: rgba(237,239,243,.55);
}
.storeitem__cta{
  font-size:13px;
  color: rgba(255,216,0,.9);
  display:flex;
  align-items:center;
  gap:8px;
}

/* partners grid */
.partnersGrid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.pLogo{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  height: 72px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: rgba(237,239,243,.55);
  letter-spacing:.22em;
  font-size:12px;
  transition: border-color .18s var(--ease), color .18s var(--ease);
}
.pLogo:hover{
  border-color: rgba(255,216,0,.35);
  color: rgba(255,216,0,.85);
}

@media (max-width: 980px){
  .heroCard{
    grid-template-columns: 1fr;
  }
  .ticker__row{
  height: 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-variant-numeric: tabular-nums;
}
.ticker__sym{
  font-size:10px;
  letter-spacing:.10em;
  color: rgba(255,216,0,.9);
}
.ticker__price{
  font-size:10px;
  color: rgba(237,239,243,.92);
}
.ticker__chg{
  font-size:6px;
  color: rgba(237,239,243,.6);
}
.ticker__hint{
  font-size:12px;
  color: rgba(237,239,243,.55);
}
  .hero{
    height: 120px;
  }
  .hero__inner{
    height: 120px;
  }
  .product__imgTall{
    height: 320px;
    transform: translateY(0);
  }
  .grid3{ grid-template-columns: 1fr; }
  .partnersGrid{ grid-template-columns: repeat(2,1fr); }
}
.celeCard__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
  filter: contrast(1.02) saturate(0.95);
  transform: scale(1.03);
}
.celeCard::before{ z-index:1; }     /* 기존 glow 레이어 */
.celeCard__cap{ z-index:2; }        /* 캡션이 위 */
.celeCard.is-empty .celeCard__cap{ opacity:.9; }
