@charset "UTF-8";
html {
  overflow-y: scroll;
}

.main-section {
  width: 100%;
  height: 100vh;
  position: relative;
}
.main-section.is-full {
  height: 100% !important;
}
.main-section .channel-title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.main-section .channel-title-wrap h2 {
  color: #e50914;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}
.main-section .channel-title-wrap h1 {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  display: flex;
  white-space: pre;
}
.main-section .channel-title-wrap h3 {
  color: #7b7b8a;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  text-align: center;
}

.intro-pin {
  position: relative;
  height: 300vh; /* 패널 수 * 100vh (3개면 300vh) */
}
.intro-pin .intro-pin__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
}
.intro-pin .intro-pin__sticky .intro-panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}
.intro-pin .intro-pin__sticky .intro-panel.is-active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.45s ease, visibility 0s;
}

.main-intro1 .wrap .chat-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 57.5rem;
  width: 100%;
}
.main-intro1 .wrap .chat-wrap .bubble {
  position: relative;
  padding: 2rem;
  border-radius: 1rem;
  font-size: 1.75rem;
  line-height: 140%;
  font-weight: 500;
  color: #201f22;
  box-shadow: 0 4px 0px #b2b3bf;
}
.main-intro1 .wrap .chat-wrap .bubble.left {
  background: #fff;
  color: #111;
  align-self: flex-start;
}
.main-intro1 .wrap .chat-wrap .bubble.left::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 24px;
  width: 0;
  height: 0;
  border-top: 0px solid transparent;
  border-bottom: 1rem solid transparent;
  border-right: 1rem solid #fff;
}
.main-intro1 .wrap .chat-wrap .bubble.right {
  background: #3a383f;
  color: #fff;
  align-self: flex-end;
  margin-top: 3.75rem;
  font-weight: 400;
}
.main-intro1 .wrap .chat-wrap .bubble.right .right-inner-text {
  opacity: 0.9;
}
.main-intro1 .wrap .chat-wrap .bubble.right span {
  font-weighT: 700;
}
.main-intro1 .wrap .chat-wrap .bubble.right::before {
  content: "";
  position: absolute;
  right: -15px;
  top: 24px;
  width: 0;
  height: 0;
  border-top: 0px solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 1rem solid #3a3a3a;
}

.main-intro2 .wrap .main-intro2-text {
  font-size: 4rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 140%;
  letter-spacing: -2.56px;
}
.main-intro2 .wrap .main-intro2-text span {
  font-weight: 700;
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.main-intro3 .wrap {
  flex-direction: initial;
}
.main-intro3 .wrap .count-box {
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-size: 5rem;
  color: #fff;
  line-height: 140%;
  font-weight: 700;
  gap: 0.75rem;
}
.main-intro3 .wrap .count-box .counter-text {
  display: flex;
  align-items: center;
}
.main-intro3 .wrap .count-box h3 {
  color: #b2b3bf;
  font-size: 2rem;
  font-weight: 700;
  line-height: 140%;
}

.main-intro4 {
  padding: 10rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.main-intro4 > h2 {
  background: #201f22;
  border: 1px solid #2d2b30;
  border-radius: 5rem;
  display: inline-flex;
  padding: 0.75rem 2rem;
  white-space: pre;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 500;
  line-height: 160%;
}
.main-intro4 > h2 span {
  font-weight: 700;
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-intro4 > h1 {
  font-size: 3rem;
  color: #fff;
  font-weight: 700;
  line-height: 140%;
  margin-top: 2.5rem;
  display: flex;
  white-space: pre;
}
.main-intro4 > h3 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #7b7b8a;
  line-height: 160%;
  text-align: center;
  margin-top: 1.5rem;
}
.main-intro4 > h3 span {
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-intro4 #caseTrack {
  will-change: transform;
}
.main-intro4 #caseTrack.is-normalizing,
.main-intro4 #caseTrack.is-normalizing .case-card,
.main-intro4 #caseTrack.is-normalizing .case-card * {
  transition: none !important;
  animation: none !important;
}
.main-intro4 #caseTrack.is-ready {
  opacity: 1;
}
.main-intro4 .case-slider {
  padding: 120px 0;
  position: relative;
  width: 100%;
}
.main-intro4 .case-slider::before, .main-intro4 .case-slider::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 35rem;
  z-index: 3;
  pointer-events: none;
}
.main-intro4 .case-slider::before {
  left: 0;
  background: linear-gradient(to right, rgb(17, 17, 17) 0%, rgba(17, 17, 17, 0.9) 30%, rgba(17, 17, 17, 0) 100%);
}
.main-intro4 .case-slider::after {
  right: 0;
  background: linear-gradient(to left, rgb(17, 17, 17) 0%, rgba(17, 17, 17, 0.9) 30%, rgba(17, 17, 17, 0) 100%);
}
.main-intro4 .case-slider .case-slider__stage {
  position: relative;
  margin-top: 1.75rem;
}
.main-intro4 .case-slider .case-slider__stage .case-track {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  will-change: transform;
  transition: transform 0.45s ease;
  z-index: 1;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card {
  flex: 0 0 auto;
  border-radius: 1.5rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(0);
  transition: transform 0.45s ease, opacity 0.45s ease, filter 0.45s ease;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card.is-active {
  transform: translateY(-2.5rem); /* ← “조금 위로” 핵심 */
  opacity: 1;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card.is-near {
  transform: translateY(-6px);
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-thumb {
  position: relative;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(32, 31, 34, 0) 40%, rgb(32, 31, 34) 100%);
  pointer-events: none;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-card__body {
  padding: 1.5rem 2.5rem 4rem 2.5rem;
  color: #fff;
  gap: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: baseline;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-card__body .tag {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  padding: 0.5rem 1.25rem 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid #585763;
  gap: 0.25rem;
  color: #b2b3bf;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-card__body .tag i {
  font-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-card__body .text {
  padding: 0 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-card__body .text h3 {
  font-size: 1.75rem;
  line-height: 140%;
  font-weight: 700;
  color: #e6e8ed;
}
.main-intro4 .case-slider .case-slider__stage .case-track .case-card .case-card__body .text p {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  color: #7b7b8a;
  letter-spacing: -0.2px;
}
.main-intro4 .case-slider .case-nav {
  position: absolute;
  left: 50%;
  bottom: -10rem;
  transform: translateX(-50%);
  display: flex;
  gap: 1.5rem;
  z-index: 2;
}
.main-intro4 .case-slider .case-nav .nav-btn {
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.main-intro4 .case-slider .case-nav .nav-btn i {
  font-size: 2rem;
}
.main-intro4 .nav-btn:hover {
  background: rgba(255, 255, 255, 0.12);
}

.main-player {
  background: linear-gradient(180deg, #F2F4F7 85%, rgba(242, 244, 247, 0) 100%);
  height: 100%;
  padding: 12.5rem 3rem 20rem 3rem;
}
.main-player .wrap {
  gap: 5rem;
}
.main-player .wrap h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
.main-player .wrap h1 span {
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-player .wrap .card-wrap {
  width: 100%;
  padding: 0 3rem;
  display: grid;
  grid-gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}
.main-player .wrap .card-wrap .card {
  flex: 1 0 0;
  aspect-ratio: 4/5;
  border-radius: 2rem;
}
.main-player .wrap .card-wrap .card.card-item1 {
  background: url("../images/main-intro5-img1.png");
  background-size: cover;
}
.main-player .wrap .card-wrap .card.card-item2 {
  background: url("../images/main-intro5-img2.png");
  background-size: cover;
}
.main-player .wrap .card-wrap .card.card-item3 {
  background: url("../images/main-intro5-img3.png");
  background-size: cover;
}
.main-player .wrap .card-wrap .card.card-item4 {
  background: url("../images/main-intro5-img4.png");
  background-size: cover;
}
.main-player .wrap .card-wrap .card h3 {
  padding: 3.5rem 0 0 3rem;
  font-size: 2rem;
  color: #fff;
  line-height: 140%;
  font-weight: 700;
}
.main-player .wrap .card-wrap .card h3.text-bk {
  color: #3a383f;
}

.main-channel {
  padding: 10rem 0 8.5rem 0;
}
.main-channel .wrap2 {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.main-channel .wrap2 h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
.main-channel .wrap2 h1 span {
  color: #e50914;
}
.main-channel .wrap2 .btn-text {
  margin-top: 1.5rem;
}
.main-channel .rolling-wrap {
  overflow: hidden;
  width: 100%;
  margin-top: 7.5rem;
}
.main-channel .rolling-wrap .rolling-track {
  display: flex;
  gap: 2.5rem;
  width: max-content;
  animation: roll-left 40s linear infinite, scale-in 0.6s ease-out 1 forwards;
}
.main-channel .rolling-wrap .rolling-track .rolling-item {
  flex: 0 0 auto;
  width: 15rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.main-channel .rolling-wrap .rolling-track .rolling-item .image-wrap {
  width: 15rem;
  height: 15rem;
  overflow: hidden;
  border-radius: 1.5rem;
  position: relative;
}
.main-channel .rolling-wrap .rolling-track .rolling-item .image-wrap .icon-music-wrap {
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: rgba(17, 17, 17, 0.15);
  backdrop-filter: blur(4px);
  border-radius: 50%;
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
}
.main-channel .rolling-wrap .rolling-track .rolling-item .image-wrap .icon-music-wrap i {
  font-size: 1.5rem;
  color: #fff;
}
.main-channel .rolling-wrap .rolling-track .rolling-item img {
  width: 100%;
  display: block;
}
.main-channel .rolling-wrap .rolling-track .rolling-item p {
  color: #585763;
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: 500;
}
.main-channel {
  /* ▶ 오른쪽 → 왼쪽 이동 */
}
@keyframes roll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes scale-in {
  from {
    scale: 1.05;
  }
  to {
    scale: 1;
  }
}

.main-announcement {
  padding: 10rem 0;
}
.main-announcement .wrap h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
.main-announcement .wrap h1 span {
  color: #e50914;
}
.main-announcement .wrap .btn-text {
  margin-top: 1.5rem;
}
.main-announcement .wrap .card-wrap {
  margin-top: 5rem;
  width: 100%;
  padding: 0 3rem;
  display: grid;
  grid-gap: 2.5rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.main-announcement .wrap .card-wrap .card {
  flex: 1 0 0;
  aspect-ratio: 4/5;
  border-radius: 2rem;
  background: #f2f4f7;
}
.main-announcement .wrap .card-wrap .card.card-item1 {
  background-size: cover;
}
.main-announcement .wrap .card-wrap .card.card-item2 {
  background-size: cover;
}
.main-announcement .wrap .card-wrap .card h3 {
  padding: 3.5rem 0 0 3rem;
  font-size: 2rem;
  color: #3a383f;
  line-height: 140%;
  font-weight: 700;
  max-height: 12.875rem;
}
.main-announcement .wrap .card-wrap .card img {
  width: 100%;
}

.main-enterprise {
  padding: 10rem 0;
}
.main-enterprise .wrap h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  color: #fff;
  text-align: center;
  margin-top: 0.75rem;
}
.main-enterprise .wrap h2 {
  font-weight: 700;
  font-size: 1.5rem;
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-enterprise .wrap .text-box {
  background: #201f22;
  border: 1px solid #2d2b30;
  border-radius: 100px;
  padding: 0.75rem 2rem;
  gap: 2rem;
  display: flex;
  align-items: center;
  margin-top: 2rem;
  color: #d2d4db;
  height: 3.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
}
.main-enterprise .wrap .text-box span {
  position: relative;
}
.main-enterprise .wrap .text-box span:not(:last-of-type):after {
  width: 1px;
  height: 1rem;
  background: #585763;
  position: absolute;
  content: "";
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
}
.main-enterprise .wrap .btn-text {
  color: #b2b3bf;
  margin-top: 2rem;
}
.main-enterprise .wrap .card-wrap {
  margin-top: 5rem;
  width: 100%;
  padding: 0 3rem;
  display: grid;
  grid-gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}
.main-enterprise .wrap .card-wrap .card {
  flex: 1 0 0;
  aspect-ratio: 4/5;
  border-radius: 2rem;
  background: #201f22;
  display: flex;
  flex-direction: column;
}
.main-enterprise .wrap .card-wrap .card.card-item1 {
  background: url("../images/main-enterprise-img1.png");
  background-size: cover;
}
.main-enterprise .wrap .card-wrap .card.card-item2 {
  background: url("../images/main-enterprise-img2.png");
  background-size: cover;
}
.main-enterprise .wrap .card-wrap .card.card-item3 {
  background: url("../images/main-enterprise-img3.png");
  background-size: cover;
}
.main-enterprise .wrap .card-wrap .card.card-item4 {
  background: url("../images/main-enterprise-img4.png");
  background-size: cover;
}
.main-enterprise .wrap .card-wrap .card .text-wrap {
  padding: 3.5rem 3rem;
}
.main-enterprise .wrap .card-wrap .card h3 {
  font-size: 2rem;
  color: #fff;
  line-height: 140%;
  font-weight: 700;
}
.main-enterprise .wrap .card-wrap .card .text-desc {
  margin-top: 1rem;
  color: #7b7b8a;
  font-size: 1.25rem;
  line-height: 160%;
  font-weight: 500;
}

.main-copyright {
  display: flex;
  align-items: center;
}
.main-copyright .wrap {
  flex-direction: initial;
  gap: 2.5rem;
  padding: 5rem 3rem;
}
.main-copyright .wrap .text-wrap {
  max-width: 35.75rem;
  width: 100%;
  padding: 0 0.5rem;
}
.main-copyright .wrap .text-wrap h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  color: #201f22;
  margin-top: 0.75rem;
}
.main-copyright .wrap .text-wrap h1 span {
  color: #e50914;
}
.main-copyright .wrap .text-wrap .text-desc {
  font-size: 1.25rem;
  color: #585763;
  font-weight: 500;
  line-height: 160%;
  margin-top: 0.75rem;
}
.main-copyright .wrap .text-wrap .btn-text {
  margin-top: 1.25rem;
}
.main-copyright .wrap .image-wrap {
  max-width: 35.75rem;
  width: 100%;
}
.main-copyright .wrap .image-wrap img {
  width: 100%;
}

.main-price {
  padding: 10rem 0 5rem 0;
  z-index: 10;
}
.main-price.enterprise-price h1 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%;
  color: #3a383f;
  justify-content: start;
  gap: 1.25rem;
}
.main-price.enterprise-price h1 span {
  padding: 1.5rem 2.5rem;
  gap: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #585763;
  color: #fff;
  border-radius: 100px;
}
.main-price.enterprise-price .price-box {
  width: 100%;
  overflow: visible;
}
.main-price.enterprise-price .price-box .item {
  gap: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.main-price.enterprise-price .price-box .item .price-box-inner {
  padding: 3rem 2.5rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.main-price.enterprise-price .price-box .item .price-box-fee {
  width: 100%;
  padding: 2rem 2.5rem;
  border-top: 1px solid #e6e8ed;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow: visible;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-label {
  font-size: 1.25rem;
  font-weight: 700;
  color: #3a383f;
  line-height: 140%;
  display: flex;
  align-items: center;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-label .tooltip {
  width: 2.5rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-label .tooltip:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-label .tooltip i {
  font-size: 1.25rem;
  color: #7b7b8a;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-label .tooltip .tooltip-text {
  visibility: hidden;
  width: 12.5rem; /* 툴팁 너비 */
  background-color: #3a383f; /* 배경색 */
  color: #d2d4db; /* 글자색 */
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 13px;
  line-height: 160%;
  font-weight: 500;
  /* 위치 설정 */
  position: absolute;
  z-index: 10;
  top: 125%;
  right: 0;
  /* 서서히 나타나는 효과 */
  opacity: 0;
  transition: opacity 0.2s;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-label .tooltip .tooltip-text h4 {
  padding: 0.25rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap {
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .price-box-fee-area {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap label {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  color: #585763;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container label {
  font-size: 1.25rem;
  color: #585763;
  font-weight: 500;
  line-height: 160%;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container .dropdown {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: #b2b3bf;
  font-size: 1.25rem;
  line-height: 160%;
  width: 20rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
  background: #f2f4f7;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  /* 원하는 폭 정책 */
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container .dropdown .nav-arrow-down {
  background: #7b7b8a;
  width: 1.5rem;
  height: 1.5rem;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container .dropdown .rotate-dropdown-arrow {
  transform: rotate(-180deg);
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container .dropdown-menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 1rem);
  transform: translateX(0px); /* 기본 0 */
  z-index: 1;
  flex-direction: column;
  border-radius: 4px;
  width: 20rem;
  padding: 10px;
  box-shadow: 0 0 5px -1px rgba(0, 0, 0, 0.3);
  background: #fafafa;
  transform-origin: top left;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container .dropdown-menu span {
  padding: 10px;
  flex-grow: 1;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  transition: background 0.3s ease;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .dropdown-container .dropdown-menu span:hover {
  background: #eee;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap #openDropdown:checked + .dropdown-menu {
  display: flex;
  animation: openDropDown 0.4s ease 0s 1 forwards;
}
@keyframes openDropDown {
  from {
    transform: rotateX(50deg);
  }
  to {
    transform: rotateX(0deg);
  }
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .fee-area-price {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .fee-area-price .price .price-text {
  font-size: 1.5rem;
  color: #201f22;
  font-weight: 500;
  line-height: 160%;
  gap: 0.75rem;
  display: flex;
  align-items: center;
}
.main-price.enterprise-price .price-box .item .price-box-fee .price-box-fee-wrap .fee-area-price .price .price-text span {
  font-size: 1.25rem;
  color: #e50914;
}
.main-price h1 {
  padding: 0 0.5rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.main-price h1 .btn-text {
  margin-left: auto;
}
.main-price .price-box {
  width: 100%;
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.main-price .price-box .item {
  background: #fff;
  border-radius: 1.5rem;
  padding: 3rem 2.5rem;
  gap: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.main-price .price-box .item.is-selected {
  border: 2px solid transparent;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(92deg, #E50914 0%, #731F76 100%) border-box;
  box-shadow: 0 6px 1.125rem 0 rgba(50, 56, 63, 0.16);
}
.main-price .price-box .item.is-selected .text-wrap .name {
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-price .price-box .item .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.main-price .price-box .item .text-wrap .name {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%;
  color: #3a383f;
}
.main-price .price-box .item .text-wrap .desc {
  font-size: 1.25rem;
  font-weight: 500;
  color: #585763;
  line-height: 160%;
}
.main-price .price-box .item .text-wrap .desc span {
  font-weight: 700;
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-price .price-box .item .price-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.main-price .price-box .item .price-wrap .price {
  display: flex;
  flex-direction: column;
  align-items: end;
}
.main-price .price-box .item .price-wrap .price p.price-text {
  display: flex;
  align-items: center;
  color: #3a383f;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
  gap: 0.5rem;
}
.main-price .price-box .item .price-wrap .price p.price-text span {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%;
}
.main-price .price-box .item .price-wrap .price p.desc {
  font-size: 1rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.main-price .price-box .item .btn-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.main-faq {
  padding: 10rem 3rem 10rem;
  gap: 3rem;
}
.main-faq .wrap {
  gap: 3rem;
}
.main-faq h1 {
  padding: 0 0.5rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.main-faq .accordion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.main-faq .accordion .accordion-item {
  background-color: #fff;
  color: #111;
  border-radius: 1rem;
  overflow: hidden;
}
.main-faq .accordion .accordion-item.is-open .accordion-item-header .icon-wrap i {
  transform: rotate(180deg);
}
.main-faq .accordion .accordion-item .accordion-item-header {
  padding: 2.5rem;
  color: #201f22;
  font-weight: 500;
  line-height: 160%;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  cursor: pointer;
}
.main-faq .accordion .accordion-item .accordion-item-header .icon-q {
  font-weight: 700;
}
.main-faq .accordion .accordion-item .accordion-item-header .title {
  flex: 1;
  flex-direction: column;
  display: flex;
}
.main-faq .accordion .accordion-item .accordion-item-header .title span {
  color: #7b7b8a;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 160%;
}
.main-faq .accordion .accordion-item .accordion-item-header .icon-wrap {
  display: flex;
  align-items: center;
}
.main-faq .accordion .accordion-item .accordion-item-header .icon-wrap i {
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
  color: #7b7b8a;
  transition: transform 0.3s ease;
}
.main-faq .accordion .accordion-item .accordion-item-body .accordion-item-body-content {
  padding: 0 4.5rem 3rem;
  font-size: 1.25rem;
  line-height: 160%;
  font-weight: 500;
  color: #585763;
}

.main-contact {
  background: linear-gradient(97deg, #E3ECF2 0%, #E6EEF6 46.63%, #E3DEE6 100%), #F2F4F7;
  background-size: cover;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 7.5rem 0;
}
.main-contact .wrap {
  flex-direction: initial;
  gap: 2.5rem;
  width: 100%;
  padding: 0 3rem;
}
.main-contact .wrap .text-wrap {
  max-width: 35.75rem;
  width: 100%;
  padding: 0 0.5rem;
  gap: 3rem;
  display: flex;
  flex-direction: column;
}
.main-contact .wrap .text-wrap h1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 140%;
  color: #201f22;
  margin-top: 0.75rem;
}
.main-contact .wrap .text-wrap h1 span {
  color: #e50914;
}
.main-contact .wrap .text-wrap .customer-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.main-contact .wrap .text-wrap .customer-info .customer-label {
  color: #585763;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}
.main-contact .wrap .text-wrap .customer-info .customer-tel {
  font-size: 2rem;
  font-weight: 700;
  color: #3a383f;
  line-height: 140%;
}
.main-contact .wrap .text-wrap .customer-info .customer-hours {
  font-size: 1.25rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.main-contact .wrap .btn-wrap {
  max-width: 35.75rem;
  width: 100%;
  flex-direction: column;
  display: flex;
  gap: 1.5rem;
}
.main-contact .wrap .btn-wrap .contact-btn {
  width: 100%;
  background: #fff;
  border-radius: 1rem;
  padding: 2rem;
  border: none;
  font-size: 1.5rem;
  color: #3a383f;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.main-contact .wrap .btn-wrap .contact-btn i {
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
  color: #7b7b8a;
}

/*카페 베이커리*/
/* ✅ cafe pin: 스크롤 길이(2단계면 200vh) */
.cafe-pin {
  position: relative;
  height: 200vh;
}
.cafe-pin .cafe-pin__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: visible;
  display: grid;
  place-items: center; /* 버튼 정중앙 */
}
.cafe-pin .cafe-pin__sticky .cafe-panel {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.cafe-pin .cafe-pin__sticky .cafe-panel .wrap {
  width: 100%;
  display: grid;
  place-items: center;
}
.cafe-pin .cafe-pin__sticky .cafe-panel .wrap .pill-btn {
  padding: 2.5rem 5rem;
  position: relative;
  gap: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  border: 2px solid #d2d4db;
  background: #fff;
  box-shadow: 0 0.75rem 2rem 0 rgba(58, 56, 63, 0.12);
  font-size: 3.5rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
  overflow: visible;
}
.cafe-pin .cafe-pin__sticky .cafe-panel .wrap .pill-btn .fake-cursor {
  position: absolute;
  left: 100%;
  top: 100%;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 2px solid #fff;
  background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0) 100%);
  box-shadow: 0 0 2rem 0 rgba(58, 56, 63, 0.2);
  transform: translate(-12px, 16px); /* ✅ 우하단 아래 시작점 */
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease;
  z-index: 99999;
}
.cafe-pin .cafe-pin__sticky .cafe-panel .wrap .pill-btn .fake-cursor.is-show {
  opacity: 1;
  visibility: visible;
}

/* ✅ 페이드 오버레이 */
#pageFadeOverlay {
  position: fixed;
  inset: 0;
  background: #111; /* 배경색: 페이지 배경에 맞게 */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.42s ease, visibility 0.42s ease;
  z-index: 999;
}

#pageFadeOverlay.is-on {
  opacity: 1;
  visibility: visible;
}

.channel {
  background-image: url("../images/channel-top-img.png");
}

.channel-intro h2 {
  color: #e50914;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}
.channel-intro h1 {
  margin-top: 1rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
}
.channel-intro h3 {
  margin-top: 1rem;
  color: #7b7b8a;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  text-align: center;
}

.channel-update {
  padding: 10rem 0;
}

.channel-date {
  width: 100%;
  margin-top: 80px;
  background: #201f22;
  height: 35rem;
  border-radius: 2rem;
  overflow: hidden;
}
.channel-date .date-card {
  transition: transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 600ms ease;
  will-change: transform, opacity;
}
.channel-date .date-card.is-leave {
  transform: translateY(-24px);
  opacity: 0;
}
.channel-date .date-card.is-hidden {
  display: none;
}
.channel-date .date-card .panel {
  width: 74rem;
  height: 260px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: #201f22;
}
.channel-date .date-card .panel.top {
  border-radius: 22px 22px 0 0;
}
.channel-date .date-card .panel.bottom {
  border-radius: 0 0 22px 22px;
  border-top: 6px solid rgba(0, 0, 0, 0.45);
  perspective: 900px;
  transform-style: preserve-3d;
}
.channel-date .date-card .panel.bottom .is-next {
  opacity: 0;
  visibility: hidden;
}
.channel-date .date-card .panel.bottom.is-animating .flip-panel {
  animation: bottomFlipUp 650ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
.channel-date .date-card .panel.bottom.is-animating .is-next {
  opacity: 1;
  visibility: visible;
}
.channel-date .date-card .panel.bottom.is-animating .is-current {
  opacity: 0;
}
.channel-date .date-card .panel.bottom.is-done .is-next {
  display: none;
}
.channel-date .date-card .panel .month {
  position: absolute;
  top: 5rem;
  left: 0;
  width: 100%;
  font-size: 40px;
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
  z-index: 5;
  pointer-events: none;
}
.channel-date .date-card .panel .half {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.channel-date .date-card .panel .half .digit {
  position: absolute;
  left: 0;
  width: 100%;
  height: 200%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25rem;
  line-height: 1;
  font-weight: 400;
  color: #fff;
  font-family: "Barlow Semi Condensed";
}
.channel-date .date-card .panel .half.top-half .digit {
  top: 2rem;
}
.channel-date .date-card .panel .half.bottom-half .digit {
  bottom: -1.5rem;
  top: auto;
}
.channel-date .date-card .panel .half.bottom-half.is-next {
  z-index: 1;
}
.channel-date .date-card .panel .half.bottom-half.is-current {
  z-index: 2;
}
.channel-date .date-card .panel .flip-panel {
  position: absolute;
  inset: 0;
  z-index: 3;
  transform-origin: top center;
  transform: rotateX(0deg);
  backface-visibility: hidden;
  transform-style: preserve-3d;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.35);
}
@keyframes bottomFlipUp {
  0% {
    transform: rotateX(0deg);
  }
  100% {
    transform: rotateX(90deg);
  }
}
.channel-date {
  /* ✅ 채널 리스트: 처음엔 숨김 */
}
.channel-date .js-channel-list {
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  height: 100%;
  position: relative;
  transform: translateY(12px);
  transition: opacity 200ms ease, transform 200ms ease;
}
.channel-date {
  /* ✅ channel-date(부모)에 is-list-show 붙으면 보임 */
}
.channel-date.is-list-show .js-channel-list {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.channel-date.is-list-show .js-channel-list::after {
  content: "";
  position: absolute;
  z-index: 2;
  background: linear-gradient(180deg, rgba(32, 31, 34, 0) 0%, rgba(32, 31, 34, 0.8) 100%);
  height: 20rem;
  bottom: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner {
  padding-top: 54px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transform: translateY(18px);
  position: relative;
  z-index: 2;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item {
  display: flex;
  align-items: center;
  padding: 1rem 2rem 1rem 1.5rem;
  gap: 1rem;
  width: 36.625rem;
  border-radius: 0.5rem;
  background: #2d2b30;
  opacity: 0;
  transform: translateY(2rem);
  animation: listItemUp 600ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(1) {
  animation-delay: 60ms;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(2) {
  animation-delay: 140ms;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(3) {
  animation-delay: 220ms;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(4) {
  animation-delay: 300ms;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(5) {
  animation-delay: 380ms;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(6) {
  animation-delay: 460ms;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item:nth-child(7) {
  animation-delay: 540ms;
}
@keyframes listItemUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item .icon-music-wrap {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #201f22;
  display: flex;
  align-items: center;
  justify-content: center;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item .icon-music-wrap i {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
  color: #7b7b8a;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item .title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
  color: #e6e8ed;
  flex: 1 0 0;
}
.channel-date.is-list-show .js-channel-list .channel-list-inner .item .icon-up {
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}

.channel-desc .wrap {
  padding: 10rem 3rem;
}
.channel-desc .wrap h2 {
  color: #e50914;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}
.channel-desc .wrap h1 {
  color: #201f22;
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
}
.channel-desc .wrap h3 {
  color: #585763;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  text-align: center;
}
.channel-desc .wrap .channel-image-wrap {
  margin-top: 5rem;
}
.channel-desc .wrap .channel-image-wrap img {
  width: 100%;
}

.channel-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100vh;
}
.channel-slide .channel-title-wrap h1 {
  color: #201f22;
}
.channel-slide .curation {
  width: 100%;
  margin-top: 5rem;
  position: relative;
}
.channel-slide .curation .curation__viewport {
  position: relative; /* controls absolute 기준 */
  overflow: hidden;
  display: flex;
  justify-content: center;
  padding: 0 1rem;
}
.channel-slide .curation .curation__viewport .curation__stage {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 16px;
  height: 30rem;
  will-change: transform;
  transition: transform 0.55s ease;
  transform: translate3d(0, 0, 0);
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide {
  /* 기본(접힌) 슬라이드 */
  flex: 0 0 auto;
  flex-basis: var(--w, 120px);
  height: 30rem;
  will-change: flex-basis, opacity, transform;
  transition: flex-basis 0.55s ease, opacity 0.55s ease, transform 0.55s ease;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .card {
  position: relative;
  display: block;
  height: 30rem;
  border-radius: 1.5rem;
  overflow: hidden;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .thumb {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(17, 17, 17, 0) 30%, rgba(17, 17, 17, 0.75) 100%);
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide {
  /* 기본 상태에서는 숨김 */
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .meta,
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .progress {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .meta {
  position: absolute;
  left: 3rem;
  bottom: 3.5rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .meta .tag {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .meta .title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 140%;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.5rem;
  background: rgba(255, 255, 255, 0.2);
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .progress .bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: #e60023;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide .progress .bar.is-anim {
  animation: fill linear forwards;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide {
  /* 가운데(확대) 슬라이드 */
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide.is-center {
  flex: 0 0 var(--centerW, 920px);
  opacity: 1;
  pointer-events: auto;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide.is-center .thumb {
  position: relative;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide.is-center .thumb img {
  height: 100%;
}
.channel-slide .curation .curation__viewport .curation__stage .curation__slide.is-center .meta,
.channel-slide .curation .curation__viewport .curation__stage .curation__slide.is-center .progress {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
}
.channel-slide .curation .curation__viewport {
  /* 오른쪽 하단 컨트롤(필요 시 가운데 카드 안으로 이동될 수 있음) */
}
.channel-slide .curation .curation__viewport .curation__controls {
  position: absolute;
  right: 3rem;
  bottom: 3rem;
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 10px;
}
.channel-slide .curation .curation__viewport .curation__controls .nav {
  position: static; /* 기존 absolute 제거 */
  transform: none; /* 기존 translateY 제거 */
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(0.25rem);
  cursor: pointer;
}
.channel-slide .curation .curation__viewport .curation__controls .nav i {
  color: #fff;
  font-size: 2rem;
}
.channel-slide .curation .curation__viewport .curation__controls .curation__count {
  width: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  color: #fff;
}
.channel-slide .curation .curation__viewport .curation__controls .btn-preview-global {
  padding: 0 1.75rem 0 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 1.75rem;
  border: 1px solid rgba(0, 0, 0, 0.14);
  cursor: pointer;
  background: #e50914;
  width: 10rem;
  height: 3.5rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
}
.channel-slide .curation .curation__viewport .curation__controls .btn-preview-global .icon {
  background: #fff;
}
.channel-slide .curation .curation__viewport .curation__controls .btn-preview-global.is-playing {
  color: #201f22;
  background: #fff;
}
.channel-slide .curation .curation__viewport .curation__controls .btn-preview-global.is-playing .icon {
  background: #3a383f;
}

/* duration은 JS가 인라인으로 넣습니다 */
@keyframes fill {
  to {
    transform: scaleX(1);
  }
}
.channel-explain {
  display: flex;
  align-items: center;
}
.channel-explain .wrap {
  flex-direction: initial;
  gap: 2.5rem;
  padding: 7.5rem 3rem;
}
.channel-explain .wrap .text-wrap {
  max-width: 35.75rem;
  width: 100%;
  padding: 0 0.5rem;
}
.channel-explain .wrap .text-wrap h1 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 140%;
  color: #201f22;
  margin-top: 0.75rem;
}
.channel-explain .wrap .text-wrap h1 span {
  color: #e50914;
}
.channel-explain .wrap .text-wrap .text-desc {
  font-size: 1.25rem;
  color: #585763;
  font-weight: 500;
  line-height: 160%;
  margin-top: 0.75rem;
}
.channel-explain .wrap .text-wrap .btn-text {
  margin-top: 1.25rem;
}
.channel-explain .wrap .image-wrap {
  max-width: 35.75rem;
  width: 100%;
  border-radius: 1.5rem;
  overflow: hidden;
}
.channel-explain .wrap .image-wrap img {
  width: 100%;
}

.channel-inquiry {
  height: 100%;
  padding: 10rem 0;
}
.channel-inquiry .wrap {
  gap: 5rem;
}
.channel-inquiry .wrap h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
.channel-inquiry .wrap h1 span {
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.channel-inquiry .wrap .card-wrap {
  width: 100%;
  padding: 0 3rem;
  display: grid;
  grid-gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}
.channel-inquiry .wrap .card-wrap .card {
  flex: 1 0 0;
  border-radius: 2rem;
  overflow: hidden;
  background: #fff;
}
.channel-inquiry .wrap .card-wrap .card img {
  width: 100%;
  aspect-ratio: 4/3;
}
.channel-inquiry .wrap .card-wrap .card .text-wrap {
  padding: 3.5rem 3rem;
}
.channel-inquiry .wrap .card-wrap .card .text-wrap h3 {
  font-size: 2rem;
  color: #3a383f;
  line-height: 140%;
  font-weight: 700;
}
.channel-inquiry .wrap .card-wrap .card .text-wrap .desc {
  margin-top: 0.75rem;
  font-size: 1.25rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.channel-inquiry .wrap .card-wrap .card .text-wrap .btn-text {
  margin-top: 2.5rem;
}

.ticket {
  padding: 8.25rem 0 5rem 0;
}
.ticket .wrap .ticket-banner {
  width: 100%;
}
.ticket .wrap .ticket-banner .ticket-banner__viewport {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
.ticket .wrap .ticket-banner .ticket-banner__viewport .ticket-banner__track {
  display: flex;
}
.ticket .wrap .ticket-banner .ticket-banner__viewport .ticket-banner__track .ticket-banner__item {
  flex: 0 0 100%;
  width: 100%;
  height: 5.5rem;
  padding: 1.5rem 2.5rem;
  display: flex;
  align-items: center;
  position: relative;
}
.ticket .wrap .ticket-banner .ticket-banner__viewport .ticket-banner__track .ticket-banner__item.bg1 {
  background: url("../images/bg1.png") lightgray 50%/cover no-repeat;
}
.ticket .wrap .ticket-banner .ticket-banner__viewport .ticket-banner__track .ticket-banner__item.bg2 {
  background: url("../images/bg2.png") lightgray 50%/cover no-repeat;
}
.ticket .wrap .ticket-banner .label {
  border-radius: 0.5rem;
  font-size: 13px;
  font-weight: 700;
  line-height: 160%;
  color: #fff;
  padding: 0.125rem 0.375rem;
  position: relative;
  z-index: 0;
}
.ticket .wrap .ticket-banner .label.new {
  background: transparent;
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ticket .wrap .ticket-banner .label.new::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
}
.ticket .wrap .ticket-banner .label.notice {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
}
.ticket .wrap .ticket-banner .text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 160%;
  color: #fff;
  margin-left: 0.75rem;
}
.ticket .wrap .ticket-banner .text span {
  opacity: 0.7;
  font-weight: 500;
}
.ticket .wrap .ticket-banner .btn-wrap {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
.ticket .wrap .ticket-banner .btn-wrap .num {
  display: flex;
  align-items: center;
  width: 5rem;
  height: 1.75rem;
  background: rgba(17, 17, 17, 0.6);
  border-radius: 1.25rem;
}
.ticket .wrap .ticket-banner .btn-wrap .num .paging {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
  line-height: 160%;
  letter-spacing: -0.13px;
  white-space: nowrap;
}
.ticket .wrap .ticket-banner .btn-wrap .num .paging span {
  color: #fff;
}
.ticket .wrap .ticket-banner .btn-wrap .num button {
  border: none;
  background: none;
  width: 1.75rem;
  height: 1.75rem;
  cursor: pointer;
  padding: 0.375rem;
}
.ticket .wrap .ticket-banner .btn-wrap .num i {
  width: 1rem;
  font-size: 1rem;
  color: #fff;
  height: 1rem;
}
.ticket .wrap .mobile-title {
  display: none;
}
.ticket .wrap .ticket-wrap {
  margin-top: 5.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan {
  background: #201f22;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan.plan-type1 {
  background: linear-gradient(180deg, #201F22 30%, rgba(32, 31, 34, 0.7) 100%), linear-gradient(92deg, #E50914 0%, #731F76 100%);
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan .price-wrap .price-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  height: 8.125rem;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan .price-wrap .price-text-wrap .plan__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 140%;
  color: #3a383f;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan .price-wrap .price-text-wrap .plan__title span {
  background: linear-gradient(92deg, #E50914 0%, #EF32D3 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan .price-wrap .price-text-wrap .plan__price {
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 140%;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan .price-wrap .price-text-wrap .plan__discount {
  color: rgba(255, 255, 255, 0.6);
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
}
.ticket .wrap .ticket-wrap.professional .pricing .pricing__grid .plan .plan__btn {
  width: 100%;
  margin-top: 2rem;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap {
  padding: 0 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap h1 {
  color: #201f22;
  font-size: 2rem;
  font-weight: 700;
  line-height: 140%;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap h1.premium span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 140%;
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap dl {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap dl dd {
  position: relative;
  padding-left: 1rem;
  font-size: 1rem;
  color: #3a383f;
  font-weight: 500;
  line-height: 160%;
  display: flex;
  align-items: center;
  white-space: pre;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap dl dd:after {
  content: "";
  position: absolute;
  width: 0.25rem;
  height: 0.25rem;
  background: #b2b3bf;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.ticket .wrap .ticket-wrap .ticket-title-wrap dl dd span {
  color: #c40d25;
  font-weight: 700;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap dl dd .tooltip {
  width: 2.5rem;
  height: 2rem;
  color: #7b7b8a;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.ticket .wrap .ticket-wrap .ticket-title-wrap dl dd .tooltip i {
  font-size: 1.25rem;
}
.ticket .wrap .ticket-wrap .pricing {
  margin-top: 2rem;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 24px;
  align-items: stretch;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan {
  position: relative;
  flex: 1 1 0;
  background: #fff;
  border-radius: 1.5rem;
  padding: 3rem 2rem 2.5rem 2rem;
  gap: 2rem;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .plan__badge {
  position: absolute;
  top: -14px;
  left: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  white-space: nowrap;
  margin-left: -1.125rem;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .plan__badge.plan__badge--hot {
  padding: 0;
  overflow: hidden;
  border-radius: 999px;
  background: transparent;
  gap: 0;
  padding: 0.25rem 1rem;
  border-radius: 0.75rem 0.75rem 0.75rem 0;
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
  color: #fff;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .plan__badge.plan__badge--best {
  padding: 0;
  overflow: hidden;
  border-radius: 999px;
  background: transparent;
  gap: 0;
  padding: 0.25rem 1rem;
  border-radius: 0.75rem 0.75rem 0.75rem 0;
  background: #7b7b8a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
  color: #fff;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap {
  display: flex;
  flex-direction: column;
  padding: 0 0.5rem;
  gap: 0.25rem;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .price-text-wrap {
  height: 7.75rem;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .plan__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 140%;
  color: #3a383f;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .plan__price {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .plan__price .plan__amount {
  font-size: 1.5rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .plan__price .plan__unit {
  font-size: 1.125rem;
  font-weight: 500;
  color: #3a383f;
  line-height: 160%;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .plan__price .plan__vat {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .price-wrap .plan__discount {
  margin-top: 0.25rem;
  color: #e50914;
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
}
.ticket .wrap .ticket-wrap .pricing .pricing__grid .plan .plan__btn {
  width: 100%;
  margin-top: 2rem;
}
.ticket .wrap .ticket-wrap .ticket-franchise {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 3rem 2.5rem;
  border-radius: 1.5rem;
}
.ticket .wrap .ticket-wrap .ticket-franchise .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.ticket .wrap .ticket-wrap .ticket-franchise .text-wrap .title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%;
  color: #3a383f;
}
.ticket .wrap .ticket-wrap .ticket-franchise .text-wrap .desc {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 160%;
  color: #7b7b8a;
}
.ticket .wrap .ticket-wrap .ticket-notice {
  border-top: 1px solid #d2d4db;
  padding-top: 2rem;
}
.ticket .wrap .ticket-wrap .ticket-notice dt {
  margin: 0 0 0.75rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #7b7b8a;
  font-size: 1rem;
  font-weight: 700;
  line-height: 160%;
}
.ticket .wrap .ticket-wrap .ticket-notice dt i {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
}
.ticket .wrap .ticket-wrap .ticket-notice dd {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
  position: relative;
  text-indent: -0.75rem;
  padding-left: 2rem;
}
.ticket .wrap .ticket-wrap .ticket-notice dd:before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #7b7b8a;
}
.ticket .wrap .ticket-wrap .ticket-notice dd a {
  color: #06c;
  border-bottom: 1px solid #06c;
}

.pay-header {
  width: auto;
  height: 4rem;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: var(--scrollbar-w, 0px);
  z-index: 100;
}
.pay-header .pay-header-inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3rem;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-sizing: border-box;
}
.pay-header .pay-header-inner .pay-header-logo {
  display: flex;
  align-items: center;
}
.pay-header .pay-header-inner .pay-header-logo img {
  width: 8rem;
}
.pay-header .pay-header-inner .pay-header-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #201f22;
  line-height: 160%;
}
.pay-header .pay-header-inner .pay-header-cs {
  margin-left: auto;
  font-size: 0.875rem;
  font-weight: 500;
  color: #7b7b8a;
  line-height: 160%;
}

.pay-main {
  padding-top: 4rem;
}
.pay-main .pay-wrap {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3rem;
  box-sizing: border-box;
  display: flex;
  gap: 7.5rem;
}
.pay-main .pay-wrap .pay-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-bottom: 5rem;
  min-width: 0;
}
.pay-main .pay-wrap .pay-left .pay-section {
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-item--divided {
  padding-top: 2rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item.is-collapsed {
  gap: 0;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item.is-collapsed .pay-accordion-body {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item.is-collapsed .pay-section-toggle i {
  transform: rotate(180deg);
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion {
  flex-direction: initial;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.25s ease;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item {
  flex: 1;
  border: 1px solid #d2d4db;
  border-radius: 0.75rem;
  padding: 2rem;
  cursor: pointer;
  transition: border-color 0.15s ease;
  display: flex;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item input {
  display: none;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item.is-active {
  border-color: #3a383f;
  border-width: 1px;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item.is-active .pay-ticket-name {
  color: #201f22;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item .pay-ticket-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item .pay-ticket-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: #7b7b8a;
  line-height: 140%;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item .pay-ticket-name .br-mo {
  display: none;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item.pay-accordion-item .pay-accordion-body .pay-ticket-list .pay-ticket-item .pay-ticket-price {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.5rem 0 1rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-accordion-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-accordion-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-accordion-summary {
  display: none;
  font-size: 0.875rem;
  color: #585763;
  font-weight: 500;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head.is-collapsed .pay-accordion-summary {
  display: block;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-section-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-section-desc {
  font-size: 1rem;
  color: #585763;
  line-height: 160%;
  font-weight: 500;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-section-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-head .pay-section-toggle i {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
  transition: transform 0.3s ease;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-item .pay-section-cont {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-cycle-group {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 140%;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-cycle-group .pay-section-subtitle {
  padding: 0.5rem 0;
}
.pay-main .pay-wrap .pay-left .pay-section .pay-cycle-group .pay-cycle-list {
  margin-top: 1.125rem;
}
.pay-main .pay-wrap .pay-right {
  flex: 1;
  flex-shrink: 0;
  position: sticky;
  top: 5.5rem;
}

.pay-cycle-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pay-cycle-list .pay-cycle-item {
  border: 1px solid #d2d4db;
  border-radius: 0.75rem;
  padding: 1.25rem 2rem;
  cursor: pointer;
  display: block;
  position: relative;
  transition: border-color 0.15s ease;
}
.pay-cycle-list .pay-cycle-item input {
  display: none;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-badge {
  display: none;
  position: absolute;
  top: -1px;
  left: -1px;
  transform: translateY(-50%);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 160%;
  overflow: hidden;
  padding: 0.25rem 1rem;
  border-radius: 0.75rem 0.75rem 0.75rem 0;
  background: linear-gradient(92deg, #E50914 0%, #731F76 100%);
}
.pay-cycle-list .pay-cycle-item .pay-cycle-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-left {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-left .pay-cycle-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #201f22;
  line-height: 160%;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-left .pay-cycle-discount {
  font-size: 0.875rem;
  color: #e50914;
  font-weight: 500;
  line-height: 160%;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-left .pay-cycle-desc {
  color: #7b7b8a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-left .pay-cycle-desc span {
  font-weight: 700;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-right {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  flex-direction: column;
  text-align: right;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-right .pay-cycle-price {
  font-size: 1rem;
  font-weight: 700;
  color: #201f22;
  line-height: 160%;
  display: flex;
  align-items: center;
  gap: 0.125rem;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-right .pay-cycle-price span {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-right .pay-cycle-unit {
  font-size: 0.875rem;
  color: #7b7b8a;
  line-height: 160%;
}
.pay-cycle-list .pay-cycle-item .pay-cycle-right .pay-cycle-annual {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.pay-cycle-list .pay-cycle-item.is-active {
  border-color: #3a383f;
  border-width: 1px;
}
.pay-cycle-list .pay-cycle-item.is-active .pay-cycle-badge {
  display: block;
}
.pay-cycle-list .pay-cycle-item.is-active .pay-cycle-name {
  color: #201f22;
}

.pay-select-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.pay-select-wrap .pay-select-button {
  width: 100%;
  border: none;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  cursor: pointer;
  text-align: left;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.pay-select-wrap .pay-select-button:hover {
  border-color: #c9ccd4;
}
.pay-select-wrap .pay-select-button .pay-select-value {
  flex: 1;
  min-width: 0;
  color: #7b7b8a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pay-select-wrap .pay-select-button i {
  flex: 0 0 auto;
  color: #7b7b8a;
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
  transition: transform 0.2s ease;
}
.pay-select-wrap.is-open .pay-select-button {
  border-color: #c9ccd4;
}
.pay-select-wrap.is-open .pay-select-arrow {
  transform: rotate(180deg);
}
.pay-select-wrap.is-open .pay-select-dropdown {
  display: block;
}
.pay-select-wrap .pay-select {
  width: 100%;
  height: 3rem;
  padding: 0 2.5rem 0 1rem;
  border: 1px solid #d2d4db;
  border-radius: 0.5rem;
  background: #fff;
  font-size: 1rem;
  font-weight: 500;
  color: #201f22;
  line-height: 160%;
  appearance: none;
  outline: none;
  cursor: pointer;
  box-sizing: border-box;
}
.pay-select-wrap .pay-select:focus {
  border-color: #3a383f;
}

.pay-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.pay-form .pay-form-item {
  display: flex;
  gap: 1rem;
  width: 100%;
}
.pay-form .pay-form-item .pay-form-label {
  display: flex;
  align-items: center;
  width: 5rem;
  font-size: 1rem;
  font-weight: 500;
  height: 3rem;
  color: #3a383f;
  line-height: 160%;
  flex: 0 0 5rem;
}
.pay-form .pay-form-item .pay-form-label .req {
  color: #e50914;
}
.pay-form .pay-form-item .pay-form-control {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.pay-form .pay-form-item .pay-form-control .pay-select-wrap .pay-select-button {
  height: 3.5rem;
  padding: 0 1rem;
  background: #f2f4f7;
}
.pay-form .pay-form-item .pay-form-control .pay-select-wrap .pay-select-value.is-placeholder {
  color: #b2b3bf;
}

.pay-form-hint {
  gap: 0.375rem;
  display: flex;
  align-items: flex-start;
}
.pay-form-hint i {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
}
.pay-form-hint .pay-form-desc {
  color: #7b7b8a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%;
}
.pay-form-hint .pay-form-desc span {
  font-weight: 700;
}

.pay-exempt {
  border-radius: 0.75rem;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border: 1px solid #e6e8ed;
}
.pay-exempt .pay-exempt-icon {
  display: flex;
  align-items: center;
}
.pay-exempt .pay-exempt-icon i {
  font-size: 2rem;
  color: #50bd83;
}
.pay-exempt .pay-exempt-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
  margin: 0;
}
.pay-exempt .pay-exempt-desc {
  font-size: 0.875rem;
  color: #7b7b8a;
  line-height: 160%;
  margin: 0;
}

.pay-notice {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pay-notice .pay-notice-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 160%;
  color: #7b7b8a;
}
.pay-notice .pay-notice-title i {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
}
.pay-notice .pay-notice-list {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.pay-notice .pay-notice-list li {
  font-size: 0.875rem;
  color: #7b7b8a;
  line-height: 160%;
  position: relative;
  padding-left: 1.25rem;
}
.pay-notice .pay-notice-list li::before {
  content: "";
  position: absolute;
  width: 3px;
  height: 3px;
  background: #7b7b8a;
  left: 0.5rem;
  border-radius: 50%;
  top: 0.625rem;
}
.pay-notice .pay-notice-list li a {
  text-decoration: underline;
  color: #06c;
}

.pay-summary {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.pay-summary .pay-method {
  background: #fff;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pay-summary .pay-method .pay-method-title {
  font-size: 1.25rem;
  padding: 0.5rem 0;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.pay-summary .pay-method .pay-method-list {
  display: flex;
  gap: 0.5rem;
}
.pay-summary .pay-method .pay-method-list .pay-method-btn {
  flex: 1;
  height: 3.125rem;
  border: 1px solid #d2d4db;
  border-radius: 0.5rem;
  background: #fff;
  font-size: 1rem;
  line-height: 160%;
  font-weight: 500;
  color: #585763;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.pay-summary .pay-method .pay-method-list .pay-method-btn.is-active {
  border-color: #3a383f;
  border-width: 1px;
  color: #3a383f;
  font-weight: 700;
}

/*결제 정보*/
.pay-summary-box {
  background: #fff;
  border-radius: 1.5rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 1px solid #e6e8ed;
  box-shadow: 0 0.375rem 1.125rem 0 rgba(58, 56, 63, 0.08);
}
.pay-summary-box .pay-summary-title {
  display: none;
}
.pay-summary-box .pay-summary-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0 0.5rem 1rem 0.5rem;
  padding-right: 0.5rem !important;
  border-bottom: 1px solid #3a383f;
}
.pay-summary-box .pay-summary-head .pay-summary-product {
  font-size: 1.125rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.pay-summary-box .pay-summary-head .pay-summary-sub {
  font-size: 0.875rem;
  color: #585763;
  line-height: 160%;
  font-weight: 500;
}
.pay-summary-box .pay-summary-rows {
  display: flex;
  flex-direction: column;
  padding: 0 0.5rem;
}
.pay-summary-box .pay-summary-rows .pay-summary-group {
  display: flex;
  flex-direction: column;
}
.pay-summary-box .pay-summary-rows .pay-summary-group .pay-summary-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.pay-summary-box .pay-summary-rows .pay-summary-group .pay-summary-main .pay-summary-label {
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5rem 0;
  color: #201f22;
  line-height: 160%;
}
.pay-summary-box .pay-summary-rows .pay-summary-group .pay-summary-main .pay-summary-value {
  font-size: 1rem;
  font-weight: 500;
  color: #201f22;
  line-height: 160%;
  white-space: nowrap;
}
.pay-summary-box .pay-summary-rows .pay-summary-group .pay-summary-main .pay-summary-value.is-red {
  color: #e50914;
}
.pay-summary-box .pay-summary-rows .pay-summary-group .pay-summary-subs {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pay-summary-box .pay-summary-rows .pay-summary-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.pay-summary-box .pay-summary-rows .pay-summary-row:last-of-type {
  padding-bottom: 0.75rem;
}
.pay-summary-box .pay-summary-rows .pay-summary-row.is-sub .pay-summary-label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%;
  color: #7b7b8a;
  padding-left: 0.5rem;
  padding: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}
.pay-summary-box .pay-summary-rows .pay-summary-row.is-sub .pay-summary-value {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%;
  color: #7b7b8a;
  display: flex;
  align-items: flex-start;
}
.pay-summary-box .pay-summary-rows .pay-summary-row.is-coupon {
  padding: 0.5rem 0;
}
.pay-summary-box .pay-summary-rows .pay-summary-row.is-coupon .pay-summary-label {
  color: #201f22;
  font-weight: 500;
}
.pay-summary-box .pay-summary-rows .pay-summary-row.is-coupon .pay-summary-value {
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
  color: #e50914;
  display: flex;
  align-items: flex-start;
}
.pay-summary-box .pay-summary-bottom {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem 0.5rem;
  border-top: 1px solid #e6e8ed;
  border-bottom: 1px solid #e6e8ed;
}
.pay-summary-box .pay-summary-bottom .pay-summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.pay-summary-box .pay-summary-bottom .pay-summary-total .pay-summary-total-label {
  font-size: 1rem;
  font-weight: 700;
  color: #201f22;
  line-height: 160%;
}
.pay-summary-box .pay-summary-bottom .pay-summary-total .pay-summary-total-label em {
  font-style: normal;
  font-size: 13px;
  font-weight: 500;
  color: #7b7b8a;
}
.pay-summary-box .pay-summary-bottom .pay-summary-total .pay-summary-total-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
  white-space: nowrap;
}
.pay-summary-box .pay-summary-bottom .pay-summary-next {
  font-size: 0.875rem;
  color: #585763;
  line-height: 160%;
}
.pay-summary-box .pay-summary-bottom .pay-summary-next strong {
  color: #e50914;
  font-size: 1.125rem;
  font-weight: 700;
}
.pay-summary-box .pay-agree {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
}
.pay-summary-box .pay-agree input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pay-summary-box .pay-agree input[type=checkbox]:checked + .pay-agree-box {
  background: #201f22;
  border-color: #201f22;
}
.pay-summary-box .pay-agree input[type=checkbox]:checked + .pay-agree-box::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.pay-summary-box .pay-agree .pay-agree-box {
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #d2d4db;
  border-radius: 0.125rem;
  flex-shrink: 0;
  position: relative;
  transition: all 0.15s ease;
}
.pay-summary-box .pay-agree .pay-agree-text {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.pay-summary-box .pay-agree .pay-agree-text a {
  text-decoration: underline;
}
.pay-summary-box .btn-fill {
  margin-top: 0.75rem;
}

.modal__body .modal-section {
  padding: 1.5rem 3rem;
}

.cms-application .modal-pay-summary-box {
  padding: 0;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
.cms-application .modal-pay-summary-box.is-collapsed {
  gap: 0;
}
.cms-application .modal-pay-summary-box .pay-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid #3a383f;
  padding-bottom: 0.5rem;
}
.cms-application .modal-pay-summary-box .pay-summary-toggle-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 13px;
  color: #7b7b8a;
  white-space: nowrap;
  flex-shrink: 0;
}
.cms-application .modal-pay-summary-box .pay-summary-rows {
  overflow: hidden;
  max-height: 600px;
  opacity: 1;
  margin-top: 0.75rem;
  transition: max-height 0.35s ease, opacity 0.25s ease, margin-top 0.35s ease;
}
.cms-application .modal-pay-summary-box.is-collapsed .pay-summary-rows {
  max-height: 0;
  opacity: 0;
  margin-top: 0;
}
.cms-application .modal-pay-summary-box.is-collapsed .pay-summary-toggle-btn {
  color: #b2b3bf;
}
.cms-application .modal-pay-summary-box .modal-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cms-application .modal-pay-summary-box .modal-section-head .modal-section-title {
  font-size: 1rem;
  font-weight: 700;
  color: #201f22;
}
.cms-application .modal-pay-summary-box .modal-section-head .modal-section-sub {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}
.cms-application .modal-pay-summary-box .modal-form {
  border: 1px solid #e6e8ed;
  border-radius: 8px;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e6e8ed;
  height: 2.75rem;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:first-child .modal-form-label {
  border-radius: 0.5rem 0 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:first-child .modal-form-control {
  border-radius: 0 0.5rem 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:last-child {
  border-bottom: none;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:last-child .modal-form-label {
  border-radius: 0 0 0 0.5rem;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:last-child .modal-form-control {
  border-radius: 0 0.5rem 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:has(.pay-select-wrap) {
  overflow: visible;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:has(.pay-select-wrap) .modal-form-label {
  border-radius: 0.5rem 0 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:has(.pay-select-wrap) .modal-form-control {
  border-radius: 0 0.5rem 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:first-child:has(.pay-select-wrap) .modal-form-label {
  border-radius: 0.5rem 0 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:first-child:has(.pay-select-wrap) .modal-form-control {
  border-radius: 0 0.5rem 0 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:last-child:has(.pay-select-wrap) .modal-form-label {
  border-radius: 0 0 0 0.5rem;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:last-child:has(.pay-select-wrap) .modal-form-control {
  border-radius: 0 0 0.5rem 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:first-child:last-child .modal-form-label {
  border-radius: 0.5rem 0 0 0.5rem;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-row:first-child:last-child .modal-form-control {
  border-radius: 0 0.5rem 0.5rem 0;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-label {
  flex-shrink: 0;
  width: 7.5rem;
  height: 100%;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #3a383f;
  background: #f2f4f7;
  border-right: 1px solid #e6e8ed;
  display: flex;
  align-items: center;
}
.cms-application .modal-pay-summary-box .modal-form .modal-form-control {
  width: 100%;
}
.cms-application .modal-pay-summary-box .modal-form .pay-select-wrap .pay-select-button {
  height: 2.75rem;
  padding: 0 0.75rem;
  background: transparent;
}
.cms-application .modal-pay-summary-box .modal-form .pay-select-wrap .pay-select-value.is-placeholder {
  color: #7b7b8a;
}
.cms-application .modal-pay-summary-box .modal-form .modal-input {
  width: 100%;
  border: none;
  outline: none;
  padding: 0.25rem 0.75rem;
  font-size: 1rem;
  color: #201f22;
  background: transparent;
  box-sizing: border-box;
  font-weight: 500;
}
.cms-application .modal-pay-summary-box .modal-form .modal-input::placeholder {
  color: #7b7b8a;
}
.cms-application .modal-pay-summary-box .modal-terms-section {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms {
  border: 1px solid #e6e8ed;
  border-radius: 0.75rem;
  height: 12.5rem;
  overflow-y: auto;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms::-webkit-scrollbar {
  width: 1rem;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms::-webkit-scrollbar-thumb {
  height: 4rem;
  border-radius: 0.5rem;
  border: 4px solid transparent;
  background-clip: padding-box;
  background-color: #d2d4db;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms::-webkit-scrollbar-thumb:hover {
  background-color: #d2d4db;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms::-webkit-scrollbar-track {
  background-color: transparent;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms-body {
  padding: 1rem;
  font-size: 1rem;
  color: #585763;
  line-height: 160%;
  font-weight: 500;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms-body p {
  margin-bottom: 0.5rem;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms-body ol {
  padding-left: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.cms-application .modal-pay-summary-box .modal-terms-section .modal-terms-body ol li {
  list-style: decimal;
}
.cms-application .modal-pay-summary-box .modal-sign-section {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-terms-agree-text {
  font-size: 1rem;
  font-weight: 600;
  color: #3a383f;
  line-height: 170%;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-date {
  font-size: 1rem;
  color: #201f22;
  font-weight: 500;
  line-height: 160%;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-applicant {
  font-size: 0.875rem;
  color: #7b7b8a;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-applicant strong {
  font-weight: 600;
  color: #201f22;
  letter-spacing: 0.1em;
  font-size: 1rem;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-result {
  position: relative;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-btn {
  width: 7.5rem;
  padding: 0 2rem;
  border: 1px dashed #e6e8ed;
  height: 5rem;
  border-radius: 8px;
  background: #f2f4f7;
  font-size: 0.875rem;
  color: #7b7b8a;
  cursor: pointer;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-btn:hover {
  background: #e6e8ed;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-preview {
  position: relative;
  width: 7.5rem;
  height: 5rem;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-preview .modal-sign-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-preview .modal-sign-delete {
  position: absolute;
  top: -0.625rem;
  right: -0.625rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  color: #fff;
  font-size: 0.75rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
}
.cms-application .modal-pay-summary-box .modal-sign-section .modal-sign-row .modal-sign-right .modal-sign-preview .modal-sign-delete .icon {
  width: 1.5rem;
  height: 1.5rem;
}
.cms-application .modal-btn-wrap {
  padding: 3rem;
}
.cms-application .modal-btn-wrap .btn-fill {
  width: 100%;
}

.sign-canvas-wrap {
  position: relative;
  padding: 1.25rem;
  height: 13.5rem;
}
.sign-canvas-wrap .sign-canvas-inner {
  width: 100%;
  height: 100%;
  background: #f5f5f7;
  border-radius: 8px;
  overflow: hidden;
  cursor: crosshair;
}
.sign-canvas-wrap .sign-canvas-inner .sign-canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.sign-canvas-wrap .sign-canvas-inner .sign-canvas-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7b7b8a;
  font-size: 1.125rem;
  pointer-events: none;
  margin: 0;
}

.sign-btn-wrap {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 1.5rem;
}

.pay-complete-section {
  margin-top: 5rem;
  width: 100%;
}
.pay-complete-section .pay-complete-wrap {
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  /* ===== 좌측: 완료 정보 ===== */
}
.pay-complete-section .pay-complete-wrap .pay-complete-left {
  min-width: 0;
  width: 100%;
  max-width: 35.75rem;
  display: flex;
  flex-direction: column;
  padding: 0 0.5rem;
  gap: 2rem;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-header {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-header .pay-complete-title {
  font-size: 2rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-header .pay-complete-desc {
  font-size: 1rem;
  color: #585763;
  line-height: 160%;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left {
  /* 주문 요약 */
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-summary {
  border-top: 1px solid #e6e8ed;
  padding: 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-summary .pay-complete-summary-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #3a383f;
  line-height: 140%;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-summary .pay-complete-info {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-summary .pay-complete-info dl {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-summary .pay-complete-info dl dt {
  width: 5rem;
  color: #7b7b8a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
}
.pay-complete-section .pay-complete-wrap .pay-complete-left .pay-complete-summary .pay-complete-info dl dd {
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
  color: #3a383f;
}
.pay-complete-section .pay-complete-wrap {
  /* ===== 우측: 혜택 카드 ===== */
}
.pay-complete-section .pay-complete-wrap .pay-complete-right {
  width: 100%;
  max-width: 35.75rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  /* 공통 카드 */
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card {
  border-radius: 1.5rem;
  padding: 2.5rem 2rem;
  background: #fff;
  border: 1px solid #e4e4e8;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card.benefit-card--highlight {
  background: url("../images/pay-complete-img1.png");
  background-size: cover;
  border-color: transparent;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  border: none;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body {
  display: flex;
  align-items: end;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-card-cont {
  display: flex;
  gap: 0.75rem;
  flex-direction: column;
  flex: 1 0 0;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body {
  /* 배지 */
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  height: 1.5rem;
  padding: 0.125rem 0.375rem;
  border-radius: 0.5rem;
  font-size: 13px;
  font-weight: 700;
  background: #201f22;
  color: #fff;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-badge.benefit-badge--new {
  position: relative;
  background: transparent;
  background: linear-gradient(92deg, #e50914 0%, #731F76 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-badge.benefit-badge--new::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(92deg, #e50914 0%, #731F76 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #3a383f;
  line-height: 140%;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-card-note {
  font-size: 0.875rem;
  color: #7b7b8a;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-card-text {
  font-size: 1rem;
  color: #585763;
  line-height: 160%;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-card-text strong {
  color: #201f22;
  font-weight: 700;
}
.pay-complete-section .pay-complete-wrap .pay-complete-right .benefit-card .benefit-card-body .benefit-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4b4b5a;
  text-decoration: none;
  flex-shrink: 0;
}

.bank-popup {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 10000;
}
.bank-popup.is-open {
  display: block;
}
.bank-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}
.bank-popup__dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 2rem);
  max-width: 23rem;
  background: #fff;
  border-radius: 1.125rem;
  box-sizing: border-box;
}
.bank-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 2rem 0.75rem 1.5rem 1.5rem;
  margin-bottom: 0;
}
.bank-popup__body {
  padding: 0 1.25rem 1.25rem;
}
.bank-popup__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #201f22;
}
.bank-popup__close {
  width: 3rem;
  height: 3rem;
  position: absolute;
  right: 0.75rem;
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7b7b8a;
  font-size: 1.5rem;
  padding: 0;
  flex-shrink: 0;
}
.bank-popup__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.bank-popup__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 1rem 0.25rem;
  border: none;
  background: none;
  border-radius: 0.625rem;
  cursor: pointer;
  width: 100%;
  height: 90px;
  transition: background-color 0.15s ease;
}
.bank-popup__item:hover {
  background: #f2f4f7;
}
.bank-popup__item.is-selected {
  background: #f2f4f7;
}
.bank-popup__logo {
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bank-popup__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.bank-popup__name {
  width: 4.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #585763;
  text-align: center;
  line-height: 160%;
  word-break: keep-all;
}

.broadcast-hero {
  background-image: url("../images/broadcast-top-img.png");
}

.broadcast-feature .wrap {
  gap: 5rem;
  padding: 10rem 0;
}

.broadcast-title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.broadcast-title-wrap h2 {
  color: #e50914;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 160%;
}
.broadcast-title-wrap h1 {
  color: #201f22;
  font-size: 3rem;
  font-weight: 700;
  line-height: 140%;
  display: flex;
  white-space: pre;
}
.broadcast-title-wrap h3 {
  color: #585763;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 160%;
  text-align: center;
}

.broadcast-image-wrap {
  width: 100%;
  height: 35rem;
  background: #f2f4f7;
  border-radius: 1.5rem;
  position: relative;
  overflow: hidden;
}
.broadcast-image-wrap.bg-tts {
  background: url("../images/broadcast-tts-img.png") no-repeat;
  background-size: cover;
}
.broadcast-image-wrap img {
  width: 100%;
}
.broadcast-image-wrap .tts-scene-inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.broadcast-image-wrap .tts-scene-inner .tts-image-group {
  position: relative;
}
.broadcast-image-wrap .tts-scene-inner .tts-image-group img {
  max-width: 40rem;
  display: block;
}
.broadcast-image-wrap .tts-scene-inner .tts-image-group .tts-cursor {
  position: absolute;
  left: 50%;
  bottom: 10%;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
  animation: ttsCursorMove 4s ease-in-out infinite;
  transform-origin: top left;
}
.broadcast-image-wrap .tts-scene-inner .tts-image-group .tts-cursor svg {
  width: 7rem;
  height: 7rem;
}
.broadcast-image-wrap .tts-scene-inner .tts-bubble {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 1rem;
  padding: 2rem 2rem 2rem 1.5rem;
  white-space: nowrap;
  opacity: 1;
  transform: translateY(16px);
  animation: ttsBubbleAppear 4s ease-in-out infinite;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.12));
}
.broadcast-image-wrap .tts-scene-inner .tts-bubble::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(to right, rgb(255, 255, 255), rgba(255, 255, 255, 0));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.broadcast-image-wrap .tts-scene-inner .tts-bubble::after {
  content: "";
  position: absolute;
  right: -16px;
  top: 23%;
  width: 16px;
  height: 16px;
  background: rgba(255, 255, 255, 0.5);
  clip-path: polygon(0 100%, 0 0, 100% 0);
}
.broadcast-image-wrap .tts-scene-inner .tts-bubble .tts-bubble__icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0.5rem;
  background: #e50914;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
}
.broadcast-image-wrap .tts-scene-inner .tts-bubble .tts-bubble__text {
  font-size: 1.5rem;
  font-weight: 500;
  color: #201f22;
  letter-spacing: -0.3px;
}

@keyframes ttsCursorMove {
  0% {
    left: 70%;
    bottom: 2%;
    transform: scale(1);
  }
  35% {
    left: 53%;
    bottom: 5%;
    transform: scale(1);
  }
  45% {
    left: 53%;
    bottom: 5%;
    transform: scale(0.9);
  }
  55% {
    left: 53%;
    bottom: 5%;
    transform: scale(1);
  }
  100% {
    left: 53%;
    bottom: 5%;
    transform: scale(1);
  }
}
@keyframes ttsBubbleAppear {
  0% {
    opacity: 0;
    transform: translateY(16px);
  }
  40% {
    opacity: 0;
    transform: translateY(16px);
  }
  55% {
    opacity: 1;
    transform: translateY(0);
  }
  80% {
    opacity: 1;
    transform: translateY(0);
  }
  95% {
    opacity: 0;
    transform: translateY(-8px);
  }
  100% {
    opacity: 0;
    transform: translateY(16px);
  }
}
.broadcast-cm-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  width: 100%;
}

.broadcast-cm-card {
  aspect-ratio: 4/3;
  background: #e6e8ed;
  border-radius: 1.5rem;
}

.broadcast-station .wrap {
  gap: 4rem;
  padding: 10rem 3rem;
}
.broadcast-station .broadcast-station__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}
.broadcast-station .broadcast-station__head h3 {
  font-size: 1.5rem;
  font-weight: 500;
  background: #e50914;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.broadcast-station .broadcast-station__head h2 {
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  line-height: 140%;
  letter-spacing: -1px;
}
.broadcast-station .broadcast-station__head p {
  font-size: 1.25rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}

.broadcast-tabs {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  position: sticky;
  top: 4.5rem;
  padding: 2.5rem 0 1rem 0;
  background: #111;
  z-index: 10;
}
.broadcast-tabs .broadcast-tab {
  padding: 0.625rem 1.5rem;
  border-radius: 1.75rem;
  background: transparent;
  color: #b2b3bf;
  background: #201f22;
  height: 3.5rem;
  cursor: pointer;
  border: none;
  font-size: 1.25rem;
  font-weight: 500;
}
.broadcast-tabs .broadcast-tab.is-active {
  background: #e50914;
  color: #fff;
}

.broadcast-station__list {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.broadcast-station__list .broadcast-station__item {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  padding: 7.5rem 0;
  scroll-margin-top: 11.25rem;
}
.broadcast-station__list .broadcast-station__item .broadcast-station__thumb {
  width: 35.75rem;
  aspect-ratio: 4/3;
  background: #3a383f;
  border-radius: 1rem;
  overflow: hidden;
}
.broadcast-station__list .broadcast-station__item .broadcast-station__thumb img {
  width: 100%;
}
.broadcast-station__list .broadcast-station__item .broadcast-station__info {
  width: 35.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.broadcast-station__list .broadcast-station__item .broadcast-station__info .broadcast-station__title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #fff;
  line-height: 140%;
}
.broadcast-station__list .broadcast-station__item .broadcast-station__info .broadcast-station__desc {
  font-size: 1.25rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}

.sub-page {
  padding-top: 7.25rem;
  min-height: 100vh;
}
.sub-page--gray {
  background: #f2f4f7;
}
.sub-page .sub-page__layout {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
  width: 100%;
}
.sub-page .sub-page__sidebar {
  flex: 0 0 15rem;
  width: 15rem;
  padding: 3rem 0 4rem;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 4.5rem;
}
.sub-page .sub-page__sidebar-title {
  font-size: 2rem;
  font-weight: 700;
  color: #201f22;
  padding: 1.5rem 0;
  line-height: 140%;
}
.sub-page .sub-page__sidebar-title.mobile-none {
  display: flex;
}
.sub-page .sub-page__sidebar-nav {
  display: flex;
  flex-direction: column;
}
.sub-page .sub-page__content {
  flex: 1;
  min-width: 0;
}

.mypage-sidebar__group {
  display: flex;
  align-items: center;
}
.mypage-sidebar__group .mypage-sidebar__link {
  font-size: 1.125rem;
  font-weight: 500;
  color: #b2b3bf;
  height: 3.5rem;
  text-decoration: none;
  line-height: 160%;
  transition: color 0.2s;
  display: flex;
  align-items: center;
}
.mypage-sidebar__group .mypage-sidebar__link:hover {
  color: #201f22;
}
.mypage-sidebar__group .mypage-sidebar__link.is-active {
  color: #201f22;
  font-weight: 700;
}

.mypage-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 3rem 0 10rem 0;
  min-width: 0;
}
.mypage-content .mypage-profile {
  display: flex;
  align-items: center;
  padding: 1.5rem 0;
  gap: 1.5rem;
}
.mypage-content .mypage-profile .mypage-profile__avatar {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #f2f4f7;
  border: 1px solid #e6e8ed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  color: #d2d4db;
  flex-shrink: 0;
}
.mypage-content .mypage-profile .mypage-profile__info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.mypage-content .mypage-profile .mypage-profile__info .mypage-profile__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.mypage-content .mypage-profile .mypage-profile__info .mypage-profile__id {
  font-size: 1rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}

.mypage-section {
  background: #fff;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mypage-section .mypage-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0.5rem;
  height: 2rem;
}
.mypage-section .mypage-section__head .mypage-section__title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 140%;
  color: #201f22;
}
.mypage-section .mypage-section__head .mypage-section__notice {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #7b7b8a;
}
.mypage-section .mypage-section__head .mypage-section__notice i {
  font-size: 1.25rem;
}
.mypage-section.mypage-section--account {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 0.5rem 0 0.5rem;
}
.mypage-section.mypage-section--account .mypage-section__title {
  font-size: 1.125rem;
  color: #201f22;
  font-weight: 600;
  line-height: 140%;
}

.mypage-table {
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e8ed;
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 1rem 0;
}
.mypage-table .mypage-table__row {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1rem 2rem;
}
.mypage-table .mypage-table__row:last-child {
  border-bottom: none;
}
.mypage-table .mypage-table__label {
  max-width: 12.5rem;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  height: 2rem;
  display: flex;
  align-items: center;
  color: #585763;
  line-height: 160%;
}
.mypage-table .mypage-table__value {
  flex: 1;
  font-size: 1rem;
  font-weight: 500;
  color: #201f22;
  line-height: 160%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 3px 0;
}
.mypage-table .mypage-table__value.mypage-table__value--col {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.mypage-table__desc {
  color: #e50914;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mypage-table__desc i {
  font-size: 1.25rem;
}

.mypage-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: #e50914;
  text-decoration: none;
  transition: opacity 0.2s;
}
.mypage-link:hover {
  opacity: 0.75;
}
.mypage-link .mypage-link--edit {
  margin-left: auto;
  color: #7b7b8a;
  font-weight: 500;
}
.mypage-link .mypage-link--edit:hover {
  color: #201f22;
  opacity: 1;
}

.mypage-legacy-notice {
  background: #f2f4f7;
  border-radius: 1.5rem;
  padding: 3rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.5rem;
}
.mypage-legacy-notice .mypage-legacy-notice-textwrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.mypage-legacy-notice .mypage-legacy-notice__icon {
  font-size: 2.5rem;
  color: #7b7b8a;
}
.mypage-legacy-notice .mypage-legacy-notice__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #7b7b8a;
  line-height: 160%;
}
.mypage-legacy-notice .mypage-legacy-notice__text {
  font-size: 1.125rem;
  font-weight: 700;
  color: #7b7b8a;
  line-height: 160%;
}
.mypage-legacy-notice .mypage-legacy-notice__desc {
  font-size: 0.875rem;
  color: #7b7b8a;
  line-height: 160%;
}

.mypage-account-actions {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.mypage-account-actions .btn-text {
  position: relative;
}
.mypage-account-actions .btn-text:not(:last-of-type):after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1rem;
  background: #d2d4db;
  right: -1rem;
  pointer-events: none;
  user-select: none;
}

.mypage-phone-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}

.mypage-phone-edit {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.mypage-phone-edit .input-wrap.row {
  display: flex;
  gap: 0.5rem;
}
.mypage-phone-edit .input-wrap.row .input-box {
  flex: 1;
}
.mypage-phone-edit .mypage-phone-edit__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding-top: 0.25rem;
  max-width: 30rem;
  width: 100%;
}

.mypage-table__row--phone {
  align-items: flex-start;
  padding: 1.25rem 1.5rem;
}
.mypage-table__row--phone .mypage-table__value {
  flex-direction: column;
  align-items: flex-start;
}

/* 마이페이지 - 이용권 및 결제 */
.mypage-billing-card {
  background: #f2f4f7;
  border-radius: 1rem;
  padding: 1.5rem 2rem;
  display: flex;
  align-items: center;
  gap: 3rem;
}
.mypage-billing-card .mypage-billing-card__item {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mypage-billing-card .mypage-billing-card__item .mypage-billing-card__label {
  font-size: 1rem;
  color: #585763;
  font-weight: 500;
  line-height: 160%;
}
.mypage-billing-card .mypage-billing-card__item .mypage-billing-card__value {
  font-size: 1.25rem;
  font-weight: 500;
  color: #201f22;
  line-height: 160%;
}
.mypage-billing-card .mypage-billing-card__item .mypage-billing-card__value .mypage-billing-card__value--amount {
  font-size: 1.5rem;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.mypage-billing-card .mypage-billing-card__item .mypage-billing-card__value .mypage-billing-card__vat {
  font-size: 1rem;
  font-weight: 500;
  color: #7b7b8a;
}

.mypage-pay-table {
  overflow: hidden;
}
.mypage-pay-table .mypage-pay-table__head {
  display: flex;
  align-items: center;
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #d2d4db;
  gap: 1rem;
}
.mypage-pay-table .mypage-pay-table__body {
  display: flex;
  flex-direction: column;
}
.mypage-pay-table .mypage-pay-table__body .mypage-pay-table__row {
  padding: 0.75rem 0.5rem;
}
.mypage-pay-table .mypage-pay-table__body .mypage-pay-table__row .mypage-pay-table__col {
  color: #201f22;
}
.mypage-pay-table .mypage-pay-table__row {
  display: flex;
  align-items: center;
  padding: 0.75rem 0.5rem;
  gap: 1rem;
  border-bottom: 1px solid #e6e8ed;
}
.mypage-pay-table .mypage-pay-table__col {
  font-size: 0.875rem;
  color: #585763;
  font-weight: 500;
  line-height: 160%;
}
.mypage-pay-table .mypage-pay-table__col.mypage-pay-table__col--date {
  flex: 0 0 7.5rem;
  color: #7b7b8a;
}
.mypage-pay-table .mypage-pay-table__col.mypage-pay-table__col--product {
  flex: 1;
}
.mypage-pay-table .mypage-pay-table__col.mypage-pay-table__col--method {
  flex: 0 0 7.5rem;
}
.mypage-pay-table .mypage-pay-table__col.mypage-pay-table__col--amount {
  flex: 0 0 7.5rem;
}
.mypage-pay-table .mypage-pay-table__col.mypage-pay-table__col--status {
  flex: 0 0 10rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mypage-pay-table .mypage-pay-table__head .mypage-pay-table__col {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 600;
}

.mypage-pay-status {
  font-size: 0.875rem;
  font-weight: 600;
  color: #7b7b8a;
}
.mypage-pay-status.is-done {
  color: #50bd83;
}
.mypage-pay-status.is-refund {
  color: #e50914;
}

.mypage-pay-receipt {
  background: none;
  border: none;
  cursor: pointer;
  color: #7b7b8a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 2.5rem;
  height: 2.5rem;
  outline: none;
}
.mypage-pay-receipt i {
  font-size: 1.25rem;
}

.mypage-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 1.5rem;
}
.mypage-pagination .mypage-pagination__btn {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: none;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #7b7b8a;
  transition: color 0.2s;
}
.mypage-pagination .mypage-pagination__btn:disabled {
  color: #d2d4db;
  cursor: default;
}
.mypage-pagination .mypage-pagination__btn i {
  font-size: 1.25rem;
}
.mypage-pagination .mypage-pagination__btn.mypage-pagination__btn--prev {
  border: none;
  margin-right: 0.5rem;
}
.mypage-pagination .mypage-pagination__btn.mypage-pagination__btn--next {
  border: none;
  margin-left: 0.5rem;
}
.mypage-pagination .mypage-pagination__page {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: none;
  background: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: #7b7b8a;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mypage-pagination .mypage-pagination__page:hover {
  color: #201f22;
}
.mypage-pagination .mypage-pagination__page.is-active {
  background: #201f22;
  color: #fff;
  font-weight: 700;
}

.receipt-modal-body {
  padding: 0 3rem 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.receipt-modal-body .mypage-billing-card .mypage-billing-card__item .mypage-billing-card__label {
  font-size: 0.875rem;
  color: #7b7b8a;
}
.receipt-modal-body .mypage-billing-card .mypage-billing-card__item .mypage-billing-card__value {
  font-size: 1rem;
}
.receipt-modal-body .receipt-info-card {
  display: flex;
  gap: 3rem;
  background: #f2f4f7;
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
}
.receipt-modal-body .receipt-info-card__label {
  font-size: 0.875rem;
  color: #7b7b8a;
  margin-bottom: 0.5rem;
}
.receipt-modal-body .receipt-info-card__value {
  font-size: 1rem;
  font-weight: 600;
  color: #201f22;
}
.receipt-modal-body .pay-summary-box {
  border: none;
  box-shadow: none;
  padding: 0;
}
.receipt-modal-body .pay-summary-bottom {
  border-bottom: none;
}

.cancel-modal__dialog {
  width: 52rem;
  max-width: 90vw;
}

.cancel-modal-body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem 0 1.5rem;
  max-width: 30rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.cancel-modal-field {
  display: flex;
  flex-direction: column;
}
.cancel-modal-field .pay-select-wrap .pay-select-button {
  height: 3rem;
  background: #f2f4f7;
  padding: 11px 1rem;
}
.cancel-modal-field .pay-select-wrap .pay-select-button .pay-select-value {
  color: #b2b3bf;
  font-size: 1rem;
  font-weight: 500;
}

.cancel-modal-label {
  font-size: 1rem;
  font-weight: 500;
  color: #3a383f;
  height: 3rem;
  display: flex;
  align-items: center;
}
.cancel-modal-label .required {
  color: #e50914;
}
.cancel-modal-label .optional {
  font-weight: 400;
  color: #7b7b8a;
}

.cancel-modal-select-wrap {
  position: relative;
}
.cancel-modal-select-wrap .cancel-modal-select-arrow {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #7b7b8a;
  display: flex;
  align-items: center;
}

.cancel-modal-select {
  width: 100%;
  height: 3rem;
  padding: 11px 1rem 11px;
  border: 1px solid #e6e8ed;
  border-radius: 0.5rem;
  font-size: 1rem;
  color: #201f22;
  background: #fff;
  appearance: none;
  cursor: pointer;
}
.cancel-modal-select:focus {
  outline: none;
  border-color: #e50914;
}

.cancel-modal-textarea {
  width: 100%;
  height: 12.5rem;
  padding: 1rem;
  border: 1px solid #d2d4db;
  border-radius: 0.5rem;
  font-size: 1rem;
  color: #201f22;
  resize: none;
  font-family: inherit;
  line-height: 1.6;
  box-sizing: border-box;
  outline: none;
}
.cancel-modal-textarea::placeholder {
  color: #7b7b8a;
}

.cancel-modal-notice {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cancel-modal-notice__title {
  font-size: 1rem;
  font-weight: 700;
  color: #7b7b8a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cancel-modal-notice__title i {
  font-size: 1.25rem;
  color: #7b7b8a;
}
.cancel-modal-notice__list {
  margin: 0;
  padding-left: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.cancel-modal-notice__list li {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 500;
  line-height: 160%;
}

.cancel-modal-footer {
  display: flex;
  gap: 1rem;
  padding: 1.5rem 3rem 3rem;
}
.cancel-modal-footer .btn-fill {
  flex: 1;
}

.pw-modal__dialog {
  width: 52rem;
  max-width: 90vw;
}

.pw-modal-body {
  padding: 0 0.5rem 3rem;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  max-width: 29rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.pw-modal-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pw-modal-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #7b7b8a;
}

.pw-modal-input {
  width: 100%;
  height: 3.5rem;
  padding: 0 1rem;
  border: 1px solid #d2d4db;
  border-radius: 0.5rem;
  font-size: 1rem;
  color: #201f22;
  box-sizing: border-box;
  font-family: inherit;
}
.pw-modal-input:focus {
  outline: none;
  border-color: #e50914;
}

.pw-modal-hint {
  font-size: 0.875rem;
  color: #b2b3bf;
  margin: 0;
}

.pw-modal-footer {
  padding: 0 3rem 3rem;
}

.pw-modal-submit {
  width: 100%;
  height: 3.5rem;
  font-size: 1rem;
  border-radius: 10rem;
}

/* 고객지원 사이드바 탭 버튼 */
.customer-sidebar__cat {
  font-size: 1.125rem;
  height: 3.5rem;
  color: #7b7b8a;
  font-weight: 500;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  width: 100%;
  display: flex;
  align-items: center;
}
.customer-sidebar__cat:hover {
  color: #201f22;
  font-weight: 700;
}
.customer-sidebar__cat.is-active {
  color: #201f22;
  font-weight: 700;
}

.faq-sidebar__toggle {
  display: none;
}

.main-faq {
  padding: 3rem 0 10rem 0;
}

.contact-form {
  padding: 5rem 0 5rem;
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}
.contact-form form {
  width: 100%;
  max-width: 40rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.contact-form__field {
  width: 100%;
}
.contact-form__field.input-item {
  max-width: 100%;
}
.contact-form .contact-type-select {
  width: 100%;
}
.contact-form .contact-type-select .pay-select-button {
  width: 100%;
  height: 3.5rem;
  border-radius: 0.5rem;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  color: #7b7b8a;
  background: #f2f4f7;
  cursor: pointer;
  transition: border-color 0.2s;
}
.contact-form .contact-type-select[data-select]:not([data-select=""]) .pay-select-button {
  color: #201f22;
}
.contact-form .contact-type-select .pay-select-dropdown {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #d2d4db;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
  z-index: 10;
}
.contact-form .contact-type-select .pay-select-list {
  padding: 0.5rem 0;
}
.contact-form .contact-type-select .pay-select-option {
  width: 100%;
  text-align: left;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  color: #3a383f;
  background: none;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}
.contact-form .contact-type-select .pay-select-option:hover {
  background: #f2f4f7;
}
.contact-form .contact-type-select .pay-select-option.is-selected {
  color: #e50914;
  font-weight: 600;
}
.contact-form .contact-textarea-wrap {
  width: 100%;
}
.contact-form .contact-textarea-wrap textarea {
  width: 100%;
  height: 12.5rem;
  padding: 1rem;
  border: 1px solid #d2d4db;
  border-radius: 0.5rem;
  font-size: 1rem;
  color: #201f22;
  font-family: inherit;
  line-height: 160%;
  resize: none;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s;
}
.contact-form .contact-textarea-wrap textarea::placeholder {
  color: #b2b3bf;
}
.contact-form .contact-textarea-wrap textarea:focus {
  border-color: #7b7b8a;
}
.contact-form .contact-agree__label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
}
.contact-form .contact-agree .checkbox {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.contact-form .contact-agree .checkbox input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.contact-form .contact-agree .checkbox input:checked + .box i {
  color: #e50914;
}
.contact-form .contact-agree .checkbox .box {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-form .contact-agree .checkbox .box i {
  font-size: 1.5rem;
  color: #d2d4db;
}
.contact-form .contact-agree__text {
  font-size: 1rem;
  font-weight: 500;
  color: #3a383f;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.contact-form .contact-agree .btn-text {
  text-decoration: underline;
  margin-left: auto;
}
.contact-form .contact-agree__req {
  font-weight: 700;
  color: #e50914;
}
.contact-form .contact-agree__view {
  margin-left: auto;
  font-size: 0.875rem;
  color: #7b7b8a;
  text-decoration: underline;
}
.contact-form .contact-submit {
  width: 100%;
}

.contact-optional {
  font-size: 0.875rem;
  color: #7b7b8a;
  font-weight: 400;
}

/* 이용약관 */
.terms {
  padding: 10.25rem 0 0 0;
  display: flex;
  flex-direction: column;
}
.terms .wrap {
  gap: 3rem;
  padding: 0 7.5rem 7.5rem;
}
.terms .terms-tabs {
  width: 100%;
  display: flex;
  gap: 3rem;
  border-bottom: 1px solid #d2d4db;
  padding: 1.5rem 0;
}
.terms .terms-tab {
  font-size: 1.5rem;
  height: 3rem;
  font-weight: 700;
  color: #b2b3bf;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  position: relative;
}
.terms .terms-tab:not(:last-of-type)::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 1.5rem;
  right: -1.5rem;
  background: #e6e8ed;
  top: 50%;
  transform: translateY(-50%);
}
.terms .terms-tab.is-active {
  color: #201f22;
}
.terms .terms-content {
  display: none;
}
.terms .terms-content.is-active {
  display: block;
}
.terms .terms-content .modal-agree {
  padding: 0 1.25rem;
}

/* 이용약관 */
.terms-inner {
  width: 100%;
}
.terms-inner .terms-content {
  gap: 3rem;
  display: flex;
  flex-direction: column;
}
.terms-inner section {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.terms-inner section h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 140%;
  color: #201f22;
}
.terms-inner section article {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.terms-inner section article h3 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 140%;
  color: #585763;
}
.terms-inner section article .desc {
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
  color: #585763;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.terms-inner section article ol {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.terms-inner section article ol li dl dt {
  padding-left: 2rem;
  text-indent: -1.125rem;
}
.terms-inner section article ol li dl dd {
  padding-left: 3rem;
  text-indent: 0;
  position: relative;
}
.terms-inner section article ol li dl dd::before {
  content: "";
  position: absolute;
  left: 2.25rem;
  top: 0.625rem;
  width: 3px;
  height: 3px;
  background: #7b7b8a;
  border-radius: 50%;
}

.term-table {
  margin-top: 1rem;
  overflow-x: auto;
}
.term-table table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.term-table table th, .term-table table td {
  border: 1px solid #d2d4db;
  padding: 0.5rem;
  text-align: left;
  line-height: 160%;
  vertical-align: top;
  color: #585763;
  font-weight: 400;
}
.term-table table thead th {
  background: #f2f4f7;
  font-weight: 700;
  color: #3a383f;
  white-space: nowrap;
  text-align: center;
}
.term-table--col table tbody th {
  background: #f2f4f7;
  font-weight: 700;
  color: #3a383f;
  white-space: nowrap;
}

/*서류 제출하기*/
.doc-upload-modal .doc-upload-modal__dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 40px);
  max-width: 390px;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  z-index: 10000;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body {
  padding: 2rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 140%;
  color: #3a383f;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__desc {
  font-size: 1rem;
  font-weight: 500;
  color: #585763;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__examples {
  display: flex;
  gap: 0.5rem;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__examples .doc-upload-modal__example {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-top: 1.25rem;
  gap: 0.5rem;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__examples .doc-upload-modal__example .doc-upload-modal__example-img {
  position: relative;
  width: 100%;
  aspect-ratio: 4/5;
  border-radius: 0.5rem;
  overflow: hidden;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__examples .doc-upload-modal__example .doc-upload-modal__example-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__body .doc-upload-modal__examples .doc-upload-modal__example .doc-upload-modal__example-label {
  font-size: 13px;
  color: #585763;
  font-weight: 500;
  line-height: 160%;
  text-align: left;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__skip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #7b7b8a;
  cursor: pointer;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__skip input {
  display: none;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__skip .doc-upload-modal__skip-box {
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #d2d4db;
  border-radius: 0.125rem;
  flex-shrink: 0;
  position: relative;
  transition: all 0.15s ease;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__skip input:checked ~ .doc-upload-modal__skip-box {
  background: #3a383f;
  border-color: #3a383f;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__skip input:checked ~ .doc-upload-modal__skip-box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.375rem;
  height: 0.625rem;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: translate(-50%, -60%) rotate(45deg);
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__confirm {
  height: 2.75rem;
  padding: 0 1.5rem;
  border-radius: 0.625rem;
  border: none;
  background: #3a383f;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
.doc-upload-modal .doc-upload-modal__dialog .doc-upload-modal__footer .doc-upload-modal__confirm:hover {
  background: #201f22;
}

.doc-page {
  width: 100%;
  max-width: 30rem;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  background: #fff;
}
.doc-page .doc-header {
  padding: 0.25rem 1.25rem;
  gap: 1rem;
  height: 3rem;
  background: #fff;
  display: flex;
  align-items: center;
}
.doc-page .doc-header .doc-header-logo {
  width: 8.8rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
}
.doc-page .doc-header .doc-header-logo a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.doc-page .doc-header .doc-header-logo img {
  width: 100%;
}
.doc-page .doc-hero {
  padding: 1.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background: #fff;
}
.doc-page .doc-hero .doc-hero__icon {
  width: 6rem;
  height: 6rem;
  align-self: flex-end;
}
.doc-page .doc-hero .doc-hero__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.doc-page .doc-hero .doc-hero-text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.doc-page .doc-hero .doc-hero-text .doc-hero__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%;
  color: #201f22;
}
.doc-page .doc-hero .doc-hero-text .doc-hero__desc {
  font-size: 1rem;
  color: #585763;
  line-height: 160%;
}
.doc-page .doc-hero .doc-hero-text .doc-hero__desc span {
  text-decoration: underline;
  color: #3a383f;
  font-weight: 700;
}
.doc-page .doc-card {
  padding: 2.5rem 1.25rem 3rem 1.25rem;
  background: #f2f4f7;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  overflow: hidden;
  flex: 1;
}
.doc-page .doc-card .doc-upload-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.doc-page .doc-card .doc-upload-group .doc-user-banner {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.doc-page .doc-card .doc-upload-group .doc-user-banner .icon-check {
  font-size: 1.5rem;
  flex-shrink: 0;
  color: #50bd83;
}
.doc-page .doc-card .doc-upload-group .doc-user-banner .doc-user-banner__text {
  font-size: 1.25rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 1.5rem;
  gap: 1.5rem;
  border-radius: 1rem;
  transition: border-color 0.2s;
  border: 1px solid transparent;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item.is-uploaded {
  border-color: #22c55e;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__name {
  font-size: 1rem;
  font-weight: 700;
  color: #3a383f;
  line-height: 140%;
  flex: 1;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-input {
  display: none;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__btn {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 1.5px solid #e6e8ed;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.2s, background 0.2s;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__btn i {
  font-size: 1.125rem;
  color: #3a383f;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__btn.is-uploaded {
  border-color: transparent;
  background: #f0faf4;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__btn.is-uploaded i {
  color: #22c55e;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__files {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.doc-page .doc-card .doc-upload-group .doc-upload-list .doc-upload-item .doc-upload-item__files:empty {
  display: none;
}
.doc-page .doc-card .doc-submit-wrap {
  padding: 1rem 1rem 2rem;
  width: 100%;
}
.doc-page .doc-card .doc-submit-wrap .btn {
  width: 100%;
}
.doc-page .doc-pending {
  padding: 3rem 1.25rem 1.5rem;
  gap: 1rem;
}
.doc-page .doc-pending__status-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.25rem;
}
.doc-page .doc-pending__status-icon .icon {
  width: 2.5rem;
  height: 2.5rem;
}
.doc-page .doc-pending__status-icon i {
  font-size: 2.5rem;
  color: #7b7b8a;
}
.doc-page .doc-pending__status-icon.is-error i {
  color: #ef4444;
}
.doc-page .doc-pending__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.doc-page .doc-pending__section-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #201f22;
  line-height: 140%;
}
.doc-page .doc-pending__section-date {
  font-size: 0.875rem;
  font-weight: 500;
  color: #7b7b8a;
}
.doc-page .doc-btnwrap {
  padding: 1.5rem 1.25rem 3rem;
}
.doc-page .doc-btnwrap .btn {
  width: 100%;
}

.doc-revision__reasons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.doc-revision__reason-item {
  background: #f2f4f7;
  border-left: 2px solid #b2b3bf;
  padding: 0.75rem 0.5rem 0.75rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #585763;
  line-height: 140%;
}

.doc-file-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: #f2f4f7;
  border-radius: 0.5rem;
  height: 2rem;
  padding: 0 0.25rem 0 0.75rem;
}
.doc-file-item > i {
  font-size: 1rem;
  color: #7b7b8a;
  flex-shrink: 0;
}
.doc-file-item__name {
  font-size: 0.8125rem;
  color: #3a383f;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.doc-file-item__delete {
  width: 2rem;
  height: 2rem;
  border: none;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
}
.doc-file-item__delete i {
  width: 1rem;
  height: 1rem;
  font-size: 1rem;
  color: #7b7b8a;
}
.doc-file-item__delete:hover i {
  color: #ef4444;
}

/*# sourceMappingURL=style.css.map */
