.kv {
  position: relative;
  width: 100%;
  height: calc(100svh + 240px);
}
.kv::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 240px;
  background: url("ag/jf.png") no-repeat left 50%;
  background-size: auto 100%;
  z-index: 5;
  pointer-events: none;
}
@media (max-width: 768px) {
  .kv {
    height: calc(100svh + 120px);
  }
  .kv::after {
    height: 120px;
  }
}
@media (max-width: 640px) {
  .kv {
    height: calc(100svh + 80px);
  }
  .kv::after {
    height: 80px;
  }
}

.xp {
  position: absolute;
  inset: 0;
}
.xp video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* iOS/Safari 자동재생 차단 시 뜨는 기본 재생버튼 오버레이 숨김 (JS 스왑 전 깜빡임 방지) */
.xp video::-webkit-media-controls,
.xp video::-webkit-media-controls-panel,
.xp video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
  appearance: none;
}
/* 자동재생 차단 감지 시 JS가 삽입하는 poster 이미지 (video와 동일 영역) */
.xp .xp-fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 이미지 저장 억제 — 드래그(드래그 저장) + iOS 롱프레스 저장 메뉴 방지 (완벽 차단 아님) */
img,
video,
picture {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
}

/* 이미지 위 투명 오버레이 — 우클릭/롱프레스가 이미지 대신 빈 영역에 닿게 함 (JS 없이도 동작) */
.wy .rj,
.pl .sx,
.pl .ov {
  position: relative;
}
.xp::after,
.mz::after,
.wy .rj::after,
.pl .sx::after,
.pl .ov::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: auto;
  background: transparent;
}

.mz {
  position: absolute;
  inset: 0;
  bottom: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  z-index: 10;
}
@media (max-width: 768px) {
  .mz {
    bottom: 120px;
  }
}
@media (max-width: 640px) {
  .mz {
    bottom: 80px;
  }
}

.qt {
  width: min(580px, 78vw);
  height: auto;
  image-rendering: pixelated;
  margin-top: -3vw;
}
@media (max-width: 768px) {
  .qt {
    width: min(440px, 70vw);
  }
}
@media (max-width: 640px) {
  .qt {
    width: min(300px, 68vw);
  }
}
@media (max-width: 480px) {
  .qt {
    width: min(260px, 72vw);
  }
}

.fb {
  width: min(580px, 78vw);
  height: auto;
  image-rendering: pixelated;
}
@media (max-width: 768px) {
  .fb {
    width: min(440px, 70vw);
  }
}
@media (max-width: 640px) {
  .fb {
    width: min(300px, 68vw);
  }
}
@media (max-width: 480px) {
  .fb {
    width: min(260px, 72vw);
  }
}

/*# sourceMappingURL=ms.css.map */
