/* CREW STORY Page Styles */

.desktop-only{
    display: block;
}

.mobile-only{
    display: none;
}

/* CREW VOICES Section */
.crew-voices-section {
    /* background: linear-gradient(180deg, #000000 0%, #121212 100%); */
    padding: 100px 0 200px;
    position: relative;
    min-height: 1125px;
    transition: background-color 0.5s ease, background-image 0.5s ease;
  }
  
  .crew-voices-section .container {
    position: relative;
    height: 925px;
  }
  
  .crew-voices-section .section-title {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 800;
    font-size: 3.125rem;
    line-height: 1.5;
    letter-spacing: -0.09375rem;
    color: #ffffff;
    margin: 0 0 125px 0;
  }
  
  /* Q&A Interface */
  .qa-interface {
    position: absolute;
    left: 0;
    top: -75px;
    width: 270px;
    height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .qa-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  
  .question-badge {
    background: rgba(255, 255, 255, 0.5);
    border-radius: 135px;
    padding: 5.4px 18.9px;
    width: 70px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.35rem;
    line-height: 1.5;
    letter-spacing: -0.0405rem;
    color: #121212;
  }
  
  .question-text {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: -0.06rem;
    color: #ffffff;
  }
  
  .question-text p {
    margin: 0;
  }
  
  .qa-navigation {
    display: flex;
    align-items: center;
    gap: 13px;
  }
  
  .nav-btn {
    width: 36px;
    height: 36px;
    border-radius: 46px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    background: transparent;
    transition: opacity var(--duration, 0.3s);
  }
  
  .nav-btn .btn-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  .nav-btn.prev.disabled {
    opacity: 1;
    cursor: not-allowed;
  }
  
  .nav-btn.next.disabled {
    opacity: 1;
    cursor: not-allowed;
  }
  
  .nav-btn:hover:not(.disabled) {
    opacity: 0.8;
  }
  
  .page-indicator {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.03375rem;
    color: #ffffff;
  }
  
  /* Testimonial Cards */
  .testimonial-card {
    position: absolute;
    box-sizing: border-box;
    padding: 20px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background-color 0.5s ease, background-image 0.5s ease;
  }
  
  .testimonial-card.card-1 {
    background: #307afd;
    width: 270px;
    height: 200px;
    left: 290px;
    top: -75px;
    color: #fdfdfd;
  }
  
  .testimonial-card.card-2 {
    background: #ffffff;
    width: 558px;
    height: 200px;
    left: 580px;
    top: -75px;
    color: #242424;
    position: relative;
  }
  
  .testimonial-card.card-center-gradient {
    background: linear-gradient(
      135deg,
      #b084f7 0%,
      #8b9ef9 50%,
      #7cb5fb 100%
    );
    width: 558px;
    height: 380px;
    left: 290px;
    top: 145px;
    border-radius: 30px;
    padding: 0;
  }
  
  .testimonial-card.card-center-gradient .crew-voice-image {
    width: auto;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  .testimonial-card.card-3 {
    background: #363d48;
    width: 271px;
    height: 380px;
    left: 868.5px;
    top: 145px;
    color: #fdfdfd;
    padding: 15px 20px;
    justify-content: normal;
    gap: 10px;
    /* position: relative; */
  }
  
  .testimonial-card.card-4 {
    background: #ffffff;
    width: 270px;
    height: 200px;
    left: 0;
    top: 325px;
    color: #242424;
  }
  
  .testimonial-card.card-5 {
    width: 558px;
    height: 200px;
    left: 0;
    top: 345px;
    color: #fdfdfd;
    position: relative;
  }
  
  .testimonial-card.card-6 {
    background: #ffffff;
    width: 270px;
    height: 200px;
    left: 578px;
    top: 545px;
    color: #242424;
  }
  
  .testimonial-card.card-7 {
    background: #9646fb;
    width: 272px;
    height: 200px;
    left: 868.5px;
    top: 545px;
    color: #fdfdfd;
  }
  
  .card-text {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.350rem;
    line-height: 1.4;
    transition: color 0.5s ease;
  }
  
  .card-text p {
    margin: 0;
    white-space: pre-wrap;
  }
  
  .card-author {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    transition: color 0.5s ease;
  }

  /* Text Slide-in Animation */
  @keyframes slideInFromRight {
    from {
      opacity: 0;
      transform: translateX(30px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .card-text.animate,
  .card-author.animate,
  .question-text.animate {
    animation: slideInFromRight 0.5s ease-out;
  }
  
  /* CREW INTERVIEW Section */
  .crew-interview-section {
    background: #025af6;
    padding: 100px 0;
    border-radius: 200px;
    position: relative;
    margin-top: -100px;
  }
  
  .crew-interview-section .section-title {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 800;
    font-size: 3.125rem;
    line-height: 1.5;
    letter-spacing: -0.09375rem;
    color: #ffffff;
    margin: 0 0 17px 0;
  }
  
  /* Interview Grid */
  .interview-grid {
    display: flex;
    gap: 17px;
    margin-top: 17px;
  }

  .interview-row-grid {
    display: flex;
    gap: 50px 16px;
    flex-wrap: wrap;
    margin-top: 50px;
  }

  .interview-row-grid .interview-card {
    width: calc(50% - 8px);
  }
  
  .interview-column {
    display: flex;
    flex-direction: column;
    width: calc(50% - 8.5px);
  }
  
  .interview-column.column-left {
    gap: 117px;
  }
  
  .interview-column.column-right {
    gap: 38px;
  }
  
  .interview-card {
    display: flex;
    flex-direction: column;
    gap: 29px;
  }

  .interview-card[data-page="1"] .interview-image{
    height: 577px; 
    border-radius: 16px;
  }

  .interview-card[data-page="2"] .interview-image{
    height: 322px;
    border-radius: 200px;
  }

  .interview-card[data-page="3"] .interview-image{
    height: 322px;
    border-radius: 16px;
  }

  .interview-card[data-page="4"] .interview-image{
    height: 583px; 
    border-radius: 16px;
  }

  .interview-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    cursor: pointer;
    transition: transform var(--duration, 0.3s);
  }
  
  .interview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .interview-image:hover {
    transform: scale(1.01);
    box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.1);
  }
  
  .play-btn {
    position: absolute;
    right: 30px;
    bottom: 30px;
    width: 50px;
    height: 50px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: transform var(--duration, 0.3s);
  }

  .interview-column.column-left .interview-card:nth-child(2) .play-btn {
    top: 50%;
    transform: translateY(-50%);
  }
  
  /* .play-btn:hover {
    transform: scale(1.1);
  }

  .interview-column.column-left .interview-card:nth-child(2) .play-btn:hover {
    transform: scale(1.1) translateY(-48%);
  } */
  
  .play-btn svg {
    width: 100%;
    height: 100%;
  }
  
  .interview-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  
  .interview-info h3 {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.875rem;
    line-height: 1.5;
    letter-spacing: -0.05625rem;
    color: #ffffff;
    margin: 0;
  }
  
  .interview-info p {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.03375rem;
    color: #ffffff;
    margin: 0;
  }

  /* ST FUNCTION Section */
.st-function-section {
    /* background: #121212; */
    padding: 100px 0;
  }
  
  .st-function-section .section-title {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 800;
    font-size: 3.125rem;
    line-height: 1.5;
    letter-spacing: -0.09375rem;
    color: #ffffff;
    margin: 0 0 23px 0;
  }
  
  /* Function Tabs */
  .function-tabs {
    display: flex;
    gap: 18px;
    margin-bottom: 40px;
    flex-wrap: wrap;
  }

  .function-tabs.swiper {
    overflow: hidden;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .function-tabs .swiper-wrapper {
    display: flex;
  }

  .function-tabs .swiper-slide {
    width: auto;
    flex-shrink: 0;
  }
  
  .tab-item {
    background: #21252c;
    border: 1px solid #363d48;
    border-radius: 100px;
    padding: 8px 20px;
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 600;
    font-size: 1.3125rem;
    line-height: 1.5;
    letter-spacing: -0.039375rem;
    color: #7b8a9d;
    cursor: pointer;
    transition: all var(--duration, 0.3s);
    white-space: nowrap;
  }
  
  .tab-item.active {
    background: #ffffff;
    border-color: #ffffff;
    color: #121212;
  }
  
  .tab-item:hover:not(.active) {
    background: #2a2f38;
    border-color: #4a515c;
  }
  
  /* Function Cards */
  .function-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
  }
  
  .function-card {
    background: #21252c;
    border-radius: 16px;
    padding: 0;
    width: calc(50% - 12px);
    min-height: 408px;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  }
  
  .function-card.active {
    opacity: 1;
    transform: translateY(0);
  }
  
  .function-card:nth-child(3) {
    width: 100%;
    max-width: 558px;
  }
  
  /* JavaScript 방식 (더 정확한 감지) */
  .function-cards.has-many-cards .function-card {
    min-height: 300px;
  }
  
  .function-cards.has-many-cards .card-content {
    gap: 30px;
  }
  
  .card-content {
    padding: 32.44px 33.5px;
    display: flex;
    flex-direction: column;
    gap: 140px;
    height: 100%;
    justify-content: space-between;
  }

  .card-content-inner {
    display: flex;
    gap: 26px;
    flex-direction: column;
  }
  
  .card-header {
    display: flex;
    flex-direction: column;
    gap: 26px;
  }
  
  .card-number {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.875rem;
    line-height: 1.5;
    letter-spacing: -0.05625rem;
    color: #ffffff;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .card-number li {
    display: list-item;
  }
  
  .card-description {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.03375rem;
    color: #ffffff;
    margin: 0;
  }
  
  .card-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  
  .tag {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    padding: 2px 7px;
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: -0.02625rem;
    color: #ffffff;
    display: inline-block;
  }
  
  /* Job Portal CTA Section */
  .job-portal-section {
    background: #000000 url('/images/crew_story/job_portal_bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    min-height: 623px;
    overflow: hidden;
    display: flex;
    flex-direction: column-reverse;
    padding-bottom: 83px;
  }
  
  .portal-background {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .bg-circles {
    position: absolute;
    width: 1716.57px;
    height: 1553.6px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(50.645deg);
    opacity: 0.3;
  }
  
  .portal-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 360px;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.5) 50%,
      #000000 78.862%
    );
    filter: blur(37px);
  }
  
  .portal-content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 835px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 22px;
    align-items: center;
  }
  
  .portal-title {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 800;
    font-size: 3.125rem;
    line-height: 1.5;
    letter-spacing: -0.09375rem;
    color: #ffffff;
    margin: 0;
    word-break: keep-all;
  }
  
  .portal-buttons {
    display: flex;
    gap: 26px;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  .portal-btn {
    background: #ffffff;
    border-radius: 100px;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    transition: all var(--duration, 0.3s);
  }
  
  .portal-btn span {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 600;
    font-size: 1.3125rem;
    line-height: 1.5;
    letter-spacing: -0.039375rem;
    color: #121212;
  }
  
  .portal-btn svg {
    width: 12px;
    height: 24px;
  }
  
  .portal-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.2);
  }

  .mobile-question-content{
    flex-direction: column;
    gap: 40px;
  }

  .mobile-question-area{
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .mobile-answer-area{
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .mobile-answer-area.swiper {
    overflow: visible;
  }

  .mobile-answer-area .swiper-wrapper {
    display: flex;
    align-items: center;
  }

  .mobile-answer-area .swiper-slide {
    width: 250px;
    flex-shrink: 0;
  }

  .mobile-answer-card-col{
    width: 250px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .mobile-answer-card{
    padding: 20px;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 20px;
  }

  .mobile-answer-card.blue{
    background-color: #307AFD;
  }
  .mobile-answer-card.purple{
    background-color: #9646FB;
  }
  .mobile-answer-card.gray{
    background-color: #363D48;
  }
  .mobile-answer-card.white{
    background-color: #ffffff;
    color: #242424;
  }
  .mobile-answer-card.pink{
    background-color: #FFA7F8;
    color: #242424;
  }
  .mobile-answer-card.yellow{
    background-color: #FDC330;
    color: #242424;
  }
  .mobile-answer-card.mint{
    background-color: #4DD3CA;
    color: #242424;
  }

  .mobile-answer-text{
    font-family: "Pretendard Variable", sans-serif;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: -0.03375rem;
  }

  .mobile-answer-author{
    font-family: "Pretendard Variable", sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: -0.02625rem;
  }

  .paging-area{
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }

  .page-indicator.dot{
    width: 105px;
    height: 35px;
    padding: 14px 30px;
    background-color: #21252C;
    border-radius: 100px;
    display: flex;
    justify-content: space-between;
  }

  .page-indicator-item{
    width: 7px;
    height: 7px;
    background-color: #5C6675;
    border-radius: 50%;
  }

  .page-indicator-item.active{
    background-color: #ffffff;
  }

  .paging-area .prev-btn,.paging-area .next-btn{
    width: 35px;
    height: 35px;
    background: #21252C;
    border-radius: 100%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }

  .swiper-pagination{
    display: none;
  }

  .mobile-question-image{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 330px;
    border-radius: 30px;
    background: linear-gradient(118deg, #BD88FF 1.93%, #9695FF 50.02%, #6DA2FF 100%);
    font-family: "Pretendard Variable", sans-serif;
    font-size: 25px;
    text-align: center;
    font-weight: 700;
    letter-spacing: -0.75px;
    line-height: 150%;
    padding-top: 25px;
  }

  .mobile-question-image p{
    position: relative;
    z-index: 3;
  }

  .mobile-question-image img{
    width: 435px;
    bottom: -105px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  
  /* Responsive Design */
  @media (max-width: 1200px) {
    .desktop-only{
        display: none;
    }

    .mobile-only{
        display: block;
    }

    .mobile-question-content.mobile-only{
      display: flex;
    }

    .crew-voices-section .section-title,
    .crew-interview-section .section-title,
    .st-function-section .section-title {
      font-size: 2rem;
    }

    .crew-voices-section{
      padding: 50px 0;
      overflow-x: hidden;
    }

    .crew-voices-section .container {
      height: auto;
    }

    .crew-voices-section .section-title{
      margin: 0 0 24px 0;
    }

    .question-wrapper{
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .question-badge{
      width: 60px;
      height: 35px;
    }

    .question-text{
      font-size: 1.625rem;
      word-break: keep-all;
    }
  
    .testimonial-card {
      position: relative !important;
      left: 0 !important;
      top: 0 !important;
      margin-bottom: 20px;
      width: 100% !important;
      max-width: 500px;
    }
  
    .floating-badge {
      display: none;
    }
  
    .interview-grid {
      grid-template-columns: 1fr;
    }

    .st-function-section{
      padding: 50px 0;
    }

    .st-function-section .section-title{
      margin: 0 0 16px 0;
    }

    .function-tabs{
      margin-bottom: 30px;
    }
  
    .function-card {
      width: 100%;
      min-height: 250px;
    }
  
    .function-card:nth-child(3) {
      max-width: 100%;
    }

    .function-cards .card-content{
      padding: 20px;
      gap: 24px;
    }

    .card-content-inner{
      gap: 16px;
    }

    .card-description{
      font-weight: 500;
    }

    .crew-interview-section{
      margin-top: 0;
      padding: 50px 0;
      border-radius: 50px;
    }

    .job-portal-section{
      background: #000000 url('/images/crew_story/job_portal_bg_mo.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }
  }
  
  @media (max-width: 768px) {
    .crew-voices-section .section-title,
    .crew-interview-section .section-title,
    .st-function-section .section-title {
      font-size: 1.3125rem;
    }
  
    .card-text {
      font-size: 1.125rem;
    }
  
    .interview-info h3 {
      font-size: 1.3125rem;
    }

    .interview-info p {
      font-size: 1rem;
    }

    .interview-grid{
      flex-direction: column;
      gap: 30px;
    }

    .interview-row-grid{
      margin-top: 30px;
      gap: 30px 16px;
    }

    .interview-column{
      width: 100% !important;
    }

    .interview-column.column-left{
      gap: 30px;
    }

    .interview-column.column-right{
      gap: 30px;
    }

    .interview-card[data-page="1"] .interview-image{
      height: 340px;
    }

    .interview-card[data-page="2"] .interview-image{
      height: 220px;
      border-radius: 136px;
    }
  
    .interview-card[data-page="3"] .interview-image{
      height: 220px;
    }
  
    .interview-card[data-page="4"] .interview-image{
      height: 295px; 
    }

    .interview-row-grid .interview-card {
      width: 100%;
    }

    .interview-image .play-btn{
      display: none;
    }

    .interview-info h3::after{
      content: "";
      width: 35px;
      height: 35px;
      background: url('/images/crew_story/move_btn.png');
      display: inline-block;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      position: absolute;
      right: 0;
      bottom: 10px;
    }
  
    .portal-title {
      font-size: 2rem;
    }
  
    .function-tabs {
      gap: 12px;
    }
  
    .tab-item {
      font-size: 1rem;
      padding: 6px 16px;
    }
  
    .card-content {
      padding: 24px;
      gap: 80px;
    }
  
    .card-description {
      font-size: 1rem;
    }
  
    .portal-btn span {
      font-size: 1rem;
    }
  
    .job-portal-section {
      padding: 150px 0 200px;
    }
  }

  /* Interview Detail Modal */
 .interview-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.3s, opacity 0.3s ease-in-out;
  }
  
  .interview-modal.active {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s linear 0s, opacity 0.3s ease-in-out;
  }
  
  .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(18, 18, 18, 0.8);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }
  
  .interview-modal.active .modal-backdrop {
    opacity: 1;
  }
  
  .modal-container {
    position: relative;
    z-index: 1;
    width: 840px;
    max-width: calc(100% - 40px);
    max-height: 90vh;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    border-radius: 0 0 16px 16px;
    /* Firefox */
    scrollbar-width: none;
    
    /* IE, Edge */
    -ms-overflow-style: none;
  }

  .modal-container::-webkit-scrollbar {
    display: none;
  }
  
  .modal-container .modal-close-btn {
    position: sticky;
    top: 0;
    right: 0;
    z-index: 10;
    align-self: flex-end;
    margin-bottom: -40px;
    width: fit-content;
  }
  
  .interview-modal.active .modal-container {
    padding-top: 10px;
    border-radius: 16px;
    opacity: 1;
    transform: translateY(0);
  }
  
  .modal-wrapper {
    /* display: flex;
    flex-direction: column; */
    overflow-y: auto;
    scrollbar-width: none;
    background: transparent;
    position: relative;
    margin-top: 50px;
  }
  
  /* Modal Thumbnail */
  .modal-thumb {
    position: relative;
    height: 330px;
    width: 100%;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
    background: #21252c;
  }
  
  .thumb-bg {
    position: absolute;
    inset: 0;
  }
  
  .thumb-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  
  .thumb-gradient {
    position: absolute;
    inset: 0;
    /* background: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.4) 0%,
      rgba(0, 0, 0, 0) 68.37%
    ); */
  }
  
  .thumb-nav {
    position: absolute;
    bottom: 37px;
    right: 87px;
    display: flex;
    align-items: center;
    gap: 13px;
    z-index: 20;
  }
  
  .thumb-nav-btn {
    width: 36px;
    height: 36px;
    border-radius: 46px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    background: transparent;
    transition: opacity var(--duration, 0.3s);
  }
  
  .thumb-nav-btn .btn-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  .thumb-nav-btn.disabled {
    cursor: not-allowed;
  }
  
  .thumb-nav-btn:hover:not(.disabled) {
    opacity: 0.9;
  }
  
  .thumb-nav-text {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.03375rem;
    color: #ffffff;
  }
  
  .thumb-info {
    position: absolute;
    left: 50%;
    top: 165px;
    transform: translateX(-50%);
    width: 666px;
    max-width: calc(100% - 40px);
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 11px;
  }
  
  .thumb-info h3 {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.875rem;
    line-height: 1.5;
    letter-spacing: -0.05625rem;
    margin: 0;
    color: #000000;
  }
  
  .thumb-info p {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.03375rem;
    margin: 0;
    color: #000000;
  }
  
  /* Modal Content */
  .modal-content {
    background: #ffffff;
    padding: 40px 85px 60px;
    border-radius: 0 0 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  
  .content-intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  .content-intro h4 {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.3125rem;
    line-height: 1.5;
    letter-spacing: -0.039375rem;
    color: #242424;
    margin: 0;
  }
  
  .intro-text {
    background: #f6f6f9;
    border-radius: 8px;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  
  .intro-text p {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: -0.01rem;
    color: #242424;
    margin: 0;
  }
  
  .intro-text strong {
    font-weight: 700;
  }
  
  /* Interview Q&A */
  .interview-qa {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  
  .qa-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  .qa-section h5 {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.3125rem;
    line-height: 1.5;
    letter-spacing: -0.039375rem;
    color: #242424;
    margin: 0;
  }
  
  .qa-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .qa-item .question {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -0.03375rem;
    color: #242424;
    margin: 0;
  }
  
  .qa-item .answer {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  
  .qa-item .answer p {
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: -0.01rem;
    color: #242424;
    margin: 0;
  }
  
  /* Modal Footer */
  .modal-close-btn {
    position: sticky;
    top: 0;
    right: 0;
    background: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 8px 10px;
    font-family: "Pretendard Variable", sans-serif;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: -0.03rem;
    color: #121212;
    cursor: pointer;
    transition: all var(--duration, 0.3s);
    z-index: 10;
    align-self: flex-end;
    margin-left: auto;
    margin-bottom: -40px;
    margin-top: 0;
  }
  
  .modal-close-btn:hover {
    background: #f6f6f9;
  }
  
  /* Modal Responsive */
  @media (max-width: 1200px) {
    .modal-content {
      padding: 40px 40px 60px;
    }
  
    .thumb-nav {
      right: 40px;
    }
  }
  
  @media (max-width: 768px) {
    .modal-content {
      padding: 30px 20px 40px;
    }

    .thumb-info {
      width: calc(100% - 40px);
      top: 20px;
    }
  
    .thumb-info h3 {
      font-size: 1.5rem;
    }
  
    .thumb-info p {
      font-size: 1rem;
    }
  
    .content-intro h4 {
      font-size: 1.125rem;
    }
  
    .qa-section h5 {
      font-size: 1.125rem;
    }
  
    .qa-item .question {
      font-size: 1rem;
    }
  
    .intro-text {
      padding: 16px 12px;
    }
  
    .intro-text p,
    .qa-item .answer p {
      font-size: 0.9375rem;
    }
  
    .thumb-nav {
      right: 20px;
      bottom: 25px;
    }
  
    .modal-thumb {
      height: 250px;
    }
  }