/* ============ hero ============ */
.hero { height: 100vh; }
.home-hero-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  overflow: clip;
}
.overlay-sticky { position: absolute; inset: 0; z-index: 2; background-color: var(--c-overlay-sticky); opacity: 0; pointer-events: none; }
.hero-main-copy {
  position: relative;
  z-index: 12;
  width: min(88vw, 1120px);
  color: var(--c-white);
  text-align: center;
  pointer-events: none;
  opacity: var(--hero-copy-opacity, 1);
  transform: translate3d(0, var(--hero-copy-y, 0px), 0) scale(var(--hero-copy-scale, 1));
  filter: blur(var(--hero-copy-blur, 0px));
  will-change: opacity, transform, filter;
  text-shadow: 0 24px 90px rgba(0,0,0,.72), 0 2px 22px rgba(255,255,255,.08);
}
.hero-main-copy::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(74vw, 760px);
  height: 240px;
  transform: translate(-50%, -44%);
  border-radius: 999px;
  background: radial-gradient(circle, rgba(176,255,7,.18) 0%, rgba(176,255,7,.07) 36%, rgba(255,255,255,.04) 54%, rgba(255,255,255,0) 76%);
  filter: blur(24px);
  z-index: -1;
}
.hero-main-kicker {
  margin-bottom: 1.05rem;
  font-family: inherit;
  font-size: clamp(.92rem, 1.1vw, 1.12rem);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.55;
  color: rgba(255,255,255,.78);
  word-break: keep-all;
}
.hero-main-title {
  margin: 0;
  font-size: clamp(3.1rem, 7.2vw, 8.6rem);
  line-height: .98;
  font-weight: 800;
  letter-spacing: -.075em;
}
.hero-main-line {
  display: block;
  text-wrap: balance;
}
.hero-main-line-sub {
  margin-bottom: .22em;
  font-size: .42em;
  line-height: 1.35;
  letter-spacing: -.035em;
  color: rgba(255,255,255,.84);
}
.hero-main-line-primary {
  background: linear-gradient(100deg, #fff 0%, #fff 38%, #dfff9a 70%, #b0ff07 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .hero-main-copy { width: min(88vw, 520px); }
  .hero-main-kicker {
    margin-bottom: .85rem;
    font-size: .86rem;
    letter-spacing: -.015em;
    line-height: 1.55;
  }
  .hero-main-title {
    font-size: clamp(2.4rem, 12vw, 4.3rem);
    line-height: 1.05;
    letter-spacing: -.065em;
  }
  .hero-main-line-sub {
    font-size: .46em;
    line-height: 1.45;
  }
}

.background-content { position: absolute; inset: 0; z-index: 0; perspective: 1500px; }
.background-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  z-index: -100;
  transform-origin: 50% 50%;
  transform: scale(var(--hero-bg-scale, 1));
  filter: saturate(var(--hero-bg-saturate, 1)) brightness(var(--hero-bg-brightness, 1));
  backface-visibility: hidden;
  will-change: transform, filter;
}
.background-video { position: absolute; inset: 0; overflow: hidden; color: var(--c-white); }
.background-video video {
  position: absolute;
  inset: -100%;
  margin: auto;
  z-index: -100;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.background-content .overlay { position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.52) 48%, rgba(0,0,0,.66) 100%); }
/* logos marquee — 정적 상태(애니메이션은 phase-8) */
.logos-marquee-content {
  position: absolute;
  left: 0; right: 0;
  bottom: var(--marquee-bottom);
  display: flex;
  overflow: visible;
}
.logos-marquee-wrapper { display: flex; gap: var(--marquee-gap); align-items: stretch; flex: none; }
.logos-marquee-component { display: flex; gap: var(--marquee-gap); flex: none; }
.logos-marquee-item { flex: none; }
.logos-marquee-item img { width: var(--marquee-img-w); height: auto; object-fit: contain; }
/* 텍스트형 클라이언트 마퀴 (에디북스) */
.logos-marquee-item .logo-text {
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--c-white);
  opacity: .85;
  white-space: nowrap;
  letter-spacing: .02em;
  line-height: 2;
}

@media screen and (max-width: 991px) {
  .hero-content { padding: 1em; }
  .logos-marquee-content { justify-content: flex-start; align-items: center; margin-top: 6rem; }
  .logos-marquee-wrapper, .logos-marquee-component { gap: 6.5rem; }
  .logos-marquee-item { width: 6.5rem; }
  .logos-marquee-item img { width: 100%; }
  .logos-marquee-item:has(.logo-text) { width: auto; }
}
@media screen and (max-width: 767px) {
  .home-hero-wrapper { height: auto; min-height: 100svh; }
  .hero-paragraph { margin-top: 1rem; }
  .interaction-wrapper .oh.pad { padding-bottom: .4em; }
}
@media screen and (max-width: 479px) {
  .hero { height: 100svh; }
  .interaction-wrapper .oh.pad { padding-bottom: 0; }
  .interaction-wrapper { display: inline-flex; }
  .hero-h1 { font-size: 11vw; display: inline; }
  .logos-marquee-item img { width: 9em; }
}
