@charset "utf-8";

/*funnysalt 최원석*/
.fs-text {
    white-space: pre-line !important;
}

.fs-left {
  box-sizing: border-box;
  border-radius:20px;
}

.fs-right {
  box-sizing: border-box;
  border-radius:20px;
  position:absolute;
  top:40%;
  left:0px;
}
@media screen and (max-width: 1024.98px){
  .fs-right{
    position: relative;
    top: unset;
  }
  .work-mini-wrap.sticky-wrap{
    margin-bottom: 0 !important;
  }
}

/* work detail (상세) */
/* intro */
  .work-intro-box {
    position: relative;
    width: 100%;
    min-height: 100svh;
    height: 100%; /* 필요시 조정 */
  }
  .work-intro-dimmed-box {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    background: var(--black80);
  }
  .work-intro-img-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
  }
  .work-intro-img-box img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .work-intro-text-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 20;
    margin: 0 auto;
    padding: min(29.203rem, 15.21vw) 10.4rem min(11.098rem, 5.78vw);
    max-width: 192rem;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    transform: translateX(-50%);
  }
  .work-intro-title {
    margin-bottom: min(4.992rem, 2.6vw);
    font-family: 'Gotham', sans-serif;
    font-size: min(9.4rem, 4.896vw);
    line-height: min(10.34rem, 5.385vw);
    color: var(--white100);
    font-weight: var(--font-weight-medium);
  }
  /* 줄 애니메이션용 래퍼 */
  .work-intro-title .line {
    display: block;             
    overflow: hidden;          
  }
  .work-intro-title .line .line-inner {
    display: inline-block;     
    will-change: transform, opacity;
  }
  .work-intro-desc {
    font-size: min(2rem, 1.04vw);
    line-height: min(3.2rem, 1.667vw);
    color: var(--white100);
    font-weight: var(--font-weight-regular);
    overflow:hidden;
  }
  .work-intro-desc span{
    display: block;
  }
  .work-intro-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: min(2.6rem, 1.354vw);
  }
  .work-intro-list li {
    position: relative;
    font-family: 'Gotham', sans-serif;
    font-size: min(2.5rem, 1.302vw);
    line-height: min(2.8rem, 1.458vw);
    color: var(--white100);
    font-weight: var(--font-weight-medium);
    box-sizing: border-box;
    overflow:hidden;
  }
  .work-intro-list li div{
    display: flex;
    gap: min(0.806rem, 0.42vw);
    position: relative;
    padding: min(0.4rem, 0.208vw) 0;
  }
  .work-intro-list li div:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--white100);
  }
  .work-intro-list span:last-child {
    font-weight: var(--font-weight-bold);
  }
  /* 상세 공통 */
  .work-content-box {
    position: relative;
    padding: min(10rem, 5.208vw) 0 min(20rem, 10.417vw);
  }
  .work-content-box:nth-of-type(2){
    padding-top: min(20rem, 10.417vw);
  }
  .work-mini-wrap {
    margin: 0 auto;
    padding: 0 10.4rem;
    max-width: 192rem;
    width: 100%;
    box-sizing: border-box;
  }
  .work-content-box .work-mini-box:nth-of-type(n+2){
    padding: min(10rem, 22.727vw) 0 0;
  }
  .work-content-box .work-title-box {
    padding: 0 0 min(12rem, 6.25vw);
    border-top: min(0.1rem, 0.052vw) solid var(--color04);
  }
  .work-content-box .work-title-box .work-title {
    display: inline-block;
    position: relative;
    padding: min(2.57rem, 1.337vw) 0 0;
    font-size: min(4.4rem, 2.292vw);
    line-height: 1;
    color: var(--black100);
    font-weight: var(--font-weight-semibold);
    box-sizing: border-box;
  }
  .work-content-box .work-title-box .work-title:only-child{
    min-height: min(7.9rem, 4.115vw);
  }
  .work-content-box .work-title-box .work-title:before {
    content: '';
    position: absolute;
    top: min(-0.1rem, -0.052vw);
    left: 0;
    width: 100%;
    height: min(0.3rem, 0.156vw);
    background: var(--black100);
    transform: translateY(-50%);
  }
  .work-content-box .work-subtitle {
    font-size: min(3.1rem, 1.615vw);
    line-height: min(4.65rem, 2.422vw);
    color: var(--black03);
    font-weight: var(--font-weight-medium);
  }
  .work-content-box .work-desc {
    padding: min(3.0rem, 1.563vw) 0 0;
    font-family: 'Pretendard', sans-serif;
    font-size: min(2.0rem, 1.042vw);
    line-height: min(3.2rem, 1.667vw);
    color: var(--black100);
  }
  .work-content-box .work-img-box.img-ratio{
    padding-bottom: 61.915%;
  }
  .work-content-box .work-img-box.col02 {
    display: flex;
    gap: min(2.0rem, 1.042vw);
  }
  .work-content-box .work-img-box.col02 > div {
    flex: 1;
  }
  .work-content-box .work-img-box.col02 > div.img-ratio{
    padding-bottom: 61.915%;
  }
  .work-content-box .work-img-box img {
    width: 100%;
    object-fit: cover;
  }
  /* work-content-box01 */
  .work-content-box01 {
    overflow: hidden;
  }
  
  .work-content-box01 .work-img-box{
    margin: 0 0 min(3rem, 1.563vw);
  }
  .work-content-box01 .work-img-box:last-of-type{
    margin: 0;
  }
  
  .brand-identity .work-content-box01 .work-img-box img {
    mix-blend-mode: multiply;
  }
  /* work-content-box02 */
  .work-content-box02 .work-img-box {
    margin: 0 0 min(2.0rem, 1.042vw);
  }
  .work-content-box02 .work-img-box:last-of-type{
    margin: 0;
  }
  .work-content-box02 .work-txt-box {
    margin: 0 0 min(8rem, 4.167vw);
  }
  .work-content-box02 .work-txt-box:last-of-type{
    margin: 0;
  }

  /* work-content-box03 */
  .work-content-box03 .work-img-box {
    margin: 0 0 min(4.0rem, 2.083vw);
  }
  .work-content-box03 .work-img-box:last-of-type {
    margin: 0;
  }
  
  /* work detail guide */
  .work-guide-box{
    background: url(../../assets/images/common/bg-default.png) repeat-y center center/100%;
  }
  .work-guide-swiper {
    padding: min(6.0rem, 3.125vw) 0 0;
    overflow: unset;
  }
  .work-guide-swiper .swiper-wrapper {
    align-items: center;
  }
  .work-guide-swiper .swiper-slide {
    width: min(81.6rem, 42.514vw);
  }
  .work-guide-swiper .swiper-slide .work-mini-img-box {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: min(57.2rem, 29.792vw);
    height: 100%;
  }
  /* work detail concept */
  .work-mini-wrap.sticky-wrap .work-desc {
    padding: min(2.0rem, 1.042vw) 0 0;
  }
  .work-mini-wrap.sticky-wrap .work-sticky-content-box .work-desc {
    padding: min(2.4rem, 1.25vw) 0 0;
  }
  .work-sticky-box .work-slogan{
    padding: 0 0 min(5.6rem, 2.917vw);
    font-family: 'Pretendard', sans-serif;
    font-size: min(6rem, 3.125vw);
    line-height: min(7.8rem, 4.063vw);
    font-weight: var(--font-weight-bold);
  }
  .work-sticky-box .work-slogan-desc{
    font-family: 'Pretendard', sans-serif;
    font-size: min(3rem, 1.563vw);
    line-height: min(4.5rem, 2.344vw);
    color: var(--black02);
    font-weight: var(--font-weight-regular);
  }
  .work-sticky-box .view-more{
    display: inline-block;
    position: relative;
    margin: min(10rem, 5.208vw) 0 0;
    padding: 0 min(2rem, 1.04vw) 0 0;
    font-size: min(2rem, 1.042vw);
    line-height: 150%;
    color: var(--black03);
    font-weight: var(--font-weight-bold);
  }
  .work-sticky-box .view-more:before{
    content:'';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--black03);
  }
  .work-sticky-box .view-more:after{
    content:'';
    position: absolute;
    top: 0;
    right: 0;
    width: min(1.2rem, 0.625vw);
    height: min(3rem, 1.563vw);
    background: var(--black03);
    -webkit-mask: url(../../assets/images/main/ico-arrow-contact@2x.png) no-repeat center center / 100%;
    mask: url(../../assets/images/main/ico-arrow-contact@2x.png) no-repeat center center / 100%;
  }  
  @media screen and (min-width: 1025px){
    /* work detail(상세) */
    /* 상세 공통 */
    .work-content-box .work-title-box .work-title + .work-desc{
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      text-overflow: ellipsis;
      white-space: normal;
      overflow: hidden;
    }

    /* work detail concept */
    .work-mini-wrap.sticky-wrap{
      display: flex;
      justify-content: space-between;
      position: relative;
    }
    .work-sticky-box{
      position: sticky;
      top: 0;
      left: 0;
      padding: min(10rem, 5.208vw) 0 0;
      width: 34.883%;
      height: 100%;
      box-sizing: border-box;
    }
    .work-sticky-box {
      will-change: padding;
      transition: padding 0.3s ease-in-out;
    }
    .work-sticky-box.is-hidden {
      padding: min(22.5rem,11.618vw) 0 0;
    }  
    .work-mini-wrap.sticky-wrap .work-sticky-box .work-desc{
      padding: min(2rem, 1.042vw) 0 0;
      width: 71.666%;
    }
    .work-mini-wrap.sticky-wrap .work-sticky-content-box .work-desc{
      padding: min(2.4rem, 1.25vw) 0 0;
    }
    .work-sticky-content-box{
      padding: min(10rem, 5.208vw) 0 0;
      width: 50.232%;
      box-sizing: border-box;
    }
  }
  @media screen and (min-width: 1025px) and (max-height: 1080px){
    /* work detail(상세) */
    .work-intro-text-box {
      padding: 27.08vh 10.4rem 10.28vh;
    }
  
    .work-intro-title {
      margin-bottom: 4.679vh;
      font-size: 8.704vh;
      line-height: 9.574vh
    }
  
    .work-intro-desc {
      font-size: 1.852vh;
      line-height: 2.963vh;
    }
  
    .work-intro-list {
      gap: 2.407vh;
    }
  
    .work-intro-list li {
      font-size: 2.315vh;        
      line-height: 2.546vh;     
    }
    .work-intro-list li div{
      gap: 1.01vh;
      padding: 0.37vh 0;
    }
  }
  @media screen and (max-width: 1024.98px){
    :root { --vh: 1vh; }
    /* work detail */
    .work-detail-container{
      overflow: hidden;
    }
    /* intro */

    .pin-spacer{
      z-index: 0 !important;
      overflow: hidden !important;
    }
    .work-detail-box{
      position: relative;
    }
    .work-intro-wrap{
      position: relative;
      top: auto;
      z-index: -10 !important;
      height: 100svh;
      height: calc(var(--vh) * 100);
    }
    .work-intro-box{
      position: relative;
      z-index: 0;
      min-height: unset;
      height: 100svh;
      height: calc(var(--vh) * 100);
    }
    .work-intro-text-box {
      top: unset;
      bottom: 0;
      padding: min(2.8rem, 6.364vw) min(2.8rem, 6.364vw) min(10.1rem, 22.955vw) min(2.8rem, 6.364vw);
      height: auto;
    }
    .work-intro-title {
      margin-bottom: min(6.36rem, 14.455vw);
      font-size: min(4.2rem, 9.545vw);
      line-height: 120%;
    }
    .work-intro-img-box{
      z-index: 0;
      transform: translateZ(0)
    }
    .work-intro-img-box img{
      position: static;
      transform: unset;
      transition: transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
    }
    .work-intro-desc{
      display: none;
    }
    .work-intro-list{
      gap: min(1.645rem, 3.739vw);
    }
    .work-intro-list li{
      border-bottom-width: min(0.1rem, 0.227vw);
      font-size: min(2rem, 4.545vw);
      line-height: 120%;
      font-weight: var(--font-weight-bold);
    }
    .work-intro-list li div{
      align-items: center;
      gap: min(0.5rem, 1.136vw);
      padding: 0;
    }
    .work-intro-list li span:last-of-type{
      line-height: 110%;
    }
    /*.work-intro-list li:after {
      height: min(0.063rem, 0.143vw);
    }*/
    /* 상세 공통 */
    .work-mini-wrap{
      padding: 0 2.8rem;
    }
    .work-content-box{
      z-index: 100;
      padding: min(5rem, 11.364vw) 0;
      background: url(../../assets/images/common/bg-default.png) repeat-y center center / 100%;
    }
    .work-content-box:nth-of-type(2){
      padding-top: min(10rem, 22.727vw);
    }
    .work-content-box:last-of-type{
      padding-bottom: min(10rem, 22.727vw);
    }
    .work-content-box .work-title-box{
      padding: 0 0 min(4rem, 9.091vw);
      border-top-width: 1px;
      border-color: var(--black02);
    }
    .work-content-box .work-title-box.no-pd{
      padding: 0 0 min(4rem, 9.091vw) !important;
    }
    .work-content-box .work-title-box:last-of-type{
      padding: 0;
    }
    .work-content-box .work-title-box .work-title {
      padding: min(0.7rem, 1.591vw) 0 0;
      font-size: min(2.7rem, 6.136vw);
      line-height: min(4rem, 9.091vw);
    }
    .work-content-box .work-title-box .work-title:before{
      top: -0.5px;
      height: 2px;
      background: var(--black02);
    }
    .work-content-box .work-subtitle{
      font-size: min(2.4rem, 5.455vw);
      line-height: 1.2;
    }
    .work-content-box .work-guide-box .work-subtitle{
      font-size: min(2.4rem, 5.455vw);
      line-height: 1.2;
    }
    .work-content-box .work-desc{
      margin: 0 !important;
      padding: min(1.6rem, 3.636vw) 0 0;
      font-size: min(1.8rem, 4.091vw);
      line-height: min(2.88rem, 6.545vw);
      word-break: keep-all;
    }
    .work-content-box .work-img-box.col02{
      flex-wrap: wrap;
      gap: min(2rem, 4.545vw);
    }
    .work-content-box .work-img-box.col02 > div{
      flex: unset;
      width: 100%;
    }

    /* work-content-box01 */
    .work-content-box01{
      overflow: unset;
    }
    .work-content-box01 .work-img-box{
      margin: 0 0 min(2rem, 4.545vw);
      margin-top: 0 !important;
    }

    /* work-content-box02 */
    .work-content-box02 .work-img-box{
      margin: 0 0 min(2rem, 4.545vw);
    }
    .work-content-box02 .work-txt-box{
      margin: 0 0 min(5rem, 11.364vw);
    }

    /* work-content-box03 */
    .work-content-box03 .work-img-box{
      margin: 0 0 min(2rem, 4.545vw);
    }
    /* work detail concept */
    .work-sticky-box{
      padding: 0 0 min(4rem, 9.091vw);;
    }
    .digital-design .work-sticky-box,
    .digital-design-mobile .work-sticky-box{
      padding: 0 0 min(7rem, 15.909vw);
    }
    .work-mini-wrap.sticky-wrap .work-sticky-box .work-desc{
      padding: min(2rem, 4.545vw) 0 0;
    }
    /* sticky-wrap의 콘텐츠 내부 work-subtitle */
    .work-mini-wrap.sticky-wrap .work-sticky-content-box .work-subtitle{
      font-size: min(2rem, 4.545vw);
      line-height: 110%;
    }
    .work-mini-wrap.sticky-wrap .work-sticky-content-box .work-desc{
      padding: min(2.3rem, 5.227vw) 0 0;
    }

    .work-sticky-box .work-slogan{
      padding: 0 0 min(2rem, 4.545vw);
      font-size: min(2.6rem, 5.909vw);
      line-height: min(3.64rem, 8.273vw);
    }
    .work-sticky-box .work-slogan-desc{
      font-size: min(1.8rem, 4.091vw);
      line-height: min(2.88rem, 6.545vw);
    }
    .work-sticky-box .view-more{
      margin: min(4rem, 9.091vw) 0 0;
      padding: 0 min(1.8rem, 4.091vw) 0 0;
      font-size: min(1.6rem, 3.636vw);
      line-height: min(1.7rem, 3.864vw);
    }
    .work-sticky-box .view-more[href=""]{
      display: none;
    }
    .work-sticky-box .view-more:after{
      width: min(1rem, 2.273vw);
      height: min(1.7rem, 3.864vw);
    }

    .work-guide-swiper{
      padding: 4rem 0 0;
    }
    .work-guide-swiper:only-child{
      padding: 0;
    }
    .work-guide-swiper .swiper-slide{
      width: 79%;
    }
    .work-guide-swiper .swiper-slide .work-mini-img-box{
      padding: 0 3.4rem;
      min-height: unset;
      box-sizing:border-box;
    }
  }
