.mainmov {
  position: relative;
  width: 100%;
  height: 100vh; /* 기본 높이 - 모바일 기준 세로 */
  overflow: hidden;
}

.mainmov::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(42deg, rgb(4 14 96 / 60%), rgb(14 193 186 / 20%));
  z-index: 1;
  pointer-events: none;
}

.mainmov video {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}

.mainmov .txt {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80%; z-index:3; color:#fff; font-size:3.5rem; line-height:1.5; text-align:center; font-weight:800; word-break:keep-all; /*text-shadow:0 0 20px rgba(0,0,0,0.3);*/ }
/*.mainmov .txt .gradient-text {
  background: linear-gradient(90deg, #1aeddb 0%, #1d85cf 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 1.5s ease-out;
}
*/
@media (min-width: 1201px) {
  .mainmov, .mainmov::before {
    height: auto; /* PC에선 높이 자동으로 전환 */
    aspect-ratio: 16 / 7.8;
  }
}

/* 각 글자를 감싸는 span */
.mainmov .letter {
    display: inline-block;
    opacity: 0;
    animation-fill-mode: forwards;
    will-change: transform, opacity;
}
/* A의 효과5 keyframes 재사용 */
@keyframes flyIn5 {
    to {
        opacity: 1;
        transform: translate(0, 0) scale(1) rotate(0deg);
    }
}


@media(max-width:1200px) {
	.mainmov .txt {font-size:3.5rem; width:90%; line-height:1.25;}
}

@media(max-width:1200px) and (orientation: landscape) {
	.mainmov .txt {font-size:3rem;}
}

@media(max-width:714px) {
	.mainmov .txt {font-size:2.5rem;}
}