@charset "utf-8"; 

/* reset */
* {margin: 0;padding: 0; box-sizing: border-box;}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, tbody, tfoot, thead, tr, th, td{margin:0;padding:0;}
h1, h2, h3, h4, h5, h6 {font-weight: 300; font-size: inherit;}
a {color: inherit; text-decoration: inherit;}
img {vertical-align: middle;}
a img {border: none;}
li {list-style: none;}
address, em, i {font-style: normal;}
a:focus {outline: none;}
button:focus {outline: none;}


/* 공통 및 Header */
body { font-family: 'Pretendard', sans-serif; margin: 0 auto; color: #1A1A1E; }
/* header */ 
header {background: linear-gradient( rgba(26,26,30,0.4)0%, rgba(26,26,30,0)100%); width: 100%; height: 156px; position: fixed; left: 0; top: 0; z-index: 1000; transition: transform 0.4s ease, background 0.5s ease;}
header.hide {transform: translateY(-100%);}

.inner-header {width: 100%; margin: 0 auto; align-items: center;  font-family: 'El Messiri', sans-serif; color: rgba(234,234,234,0.4); font-size: 16px; letter-spacing: -2%; font-weight: normal;}
.inner-header nav {padding: 39px 148px 70px; align-items: center;}
.inner-header .gnb .have {color: rgba(234,234,234,0.8);}
.inner-header .mobile-menu-toggle {display: none;}
.inner-header nav {width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 39px 148px 70px;}
.inner-header .gnb {width: 19%; display: flex; justify-content: space-between;}
.inner-header .gnb a {display: block; width: 100%; height: 100%;}
.inner-header .logo {position: absolute; left: 50%; transform: translateX(-50%); margin:0; z-index: 10; opacity: 1; transition: opacity 0.4s ease;}

.inner-header .logo a {display: block; width: 215px; height: 37px; cursor: pointer;}
.inner-header .logo a img {width: 100%; height: 100%;}
.inner-header .tnb {width: 8%; display: flex; justify-content: space-between;}
.inner-header .tnb a {display: block; width: 100%; height: 100%;}
.inner-header .tnb .icon {display: none;}
.menuOpen {display: none;}


/* Product */
.wrap { max-width:1920px; margin:0 auto;}
.product { display:flex; justify-content: space-between; align-items: flex-start; width: 100%; margin: 0 auto; position: relative; }
/* 이미지 */
.product .img-box {width:50%; position: relative; z-index: 1; }
.product .img-box .main {width: 50vw; height: auto}
.product .img-box .main img {width: 100%;}
.product .img-box .photo {width: 50vw;}
.product .img-box .photo p {width: auto; height:auto; overflow: hidden;}
.product .img-box .photo p img {width: 100%;}
.sticky-img {position: fixed; top: 50%; left: 51%; transform: translate(-50%, -50%); z-index: 10; opacity: 1; transition: opacity 0.6s ease; width: 152px; height: 246px; }
.sticky-img img { width: 100%; }
.sticky-img.is-hidden { opacity: 0; pointer-events: none; visibility: hidden; }
/* 텍스트 */
.txt-box { width: 50%; position: sticky; top: 14%; height: 100vh; }
.txt-box .inBox { width: 100%; padding:0 7.6vw;}
.txt-box .inBox .topBox { margin-bottom: 60px; }
.txt-box .inBox .topBox h2 { font-size: 20px; font-weight: 400; margin-bottom: 15px; }
.txt-box .inBox .topBox .txt { font-size: 22px; font-weight: 600; }
.txt-box .txtBox { margin-bottom: 50px; }
.txt-box .inBox .topBox .txt1 {width: 100%;}
.txt-box .txtBox ul { display: flex; flex-direction: row; align-items: center; gap: 20px; white-space: nowrap; margin-bottom: 5px; }
.txtBox .txt1 {
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 3; 
  -webkit-box-orient: vertical; 
  overflow: hidden; 
  text-overflow: ellipsis; 
}
.txt-box .txtBox ul li { position: relative; padding-right: 18px; }
.txt-box .txtBox ul li a { color: #afafaf; font-size: 20px; font-weight: 300; }
.txt-box .txtBox ul li:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 2px; height: 1.1em; background: #ccc; }
.txt-box .txtBox .txt1 { font-size: 18px; line-height: 1.5; color: #1A1A1E; margin-top: 10px; }
.txt-box .options-bar { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; }
.txt-box .op ul { display: flex; justify-content: space-between; gap: 0.5vw; }
.txt-box .op ul li {width: 81px; height: 81px; cursor: pointer; margin-left: 0.05vw}
.txt-box .options-bar .op1 { font-size: 18px; }
.txt-box .options-bar .op1 p {font-size: 20px;}
.txt-box .options-bar .op1 {width: auto}
.txt-box .options-bar .op1 a {width:100%}
.txt-box .options-bar .op1 a img {width: 100%;}
.txt-box .options-bar .op1 .round { display: flex; justify-content: space-between; margin-right: 0.8vw; margin-top: 0.8vw; padding-bottom: 0.2vw; gap: 10px; line-height: 1.2;}
.txt-box .options-bar .op1 .round .txt2 a { display: block; width: 100%; height: 100%; border: 1.4px solid #1a1a1e; padding: 8px 36px 10px; border-radius: 20px; }
.txt-box .options-bar .op1 .round .txt3 a {display: block; width: 100%; height: 100%; border: 1.4px solid #ccc; padding: 8px 31px 10px; border-radius: 20px; color: #ccc; }
.txt-box .btn { width: 100%; height: 60px; background: #1A1A1E; color: #fff; display: flex; justify-content: center; align-items: center; margin: 40px 0; cursor: pointer; font-weight: 300; }
.txt-box .btn a { font-size: 18px; }
.txt-box .particular ul li a { display:flex; justify-content:space-between; align-items:center; padding:14px 0; font-size: 18px; color: #747273; }
.txt-box .particular ul li a i { font-size: 14px; font-weight: bold; }


/* Product List (Product2) */
.product2 { margin-bottom: 50px; }
.product2 h2.tit2 { font-size: 24px; margin: 150px 0 30px 0; text-align: center; font-weight: 500; }
.product2 ul { width: 100%; display: flex; }
.product2 ul li { flex: 0 0 25%; background: linear-gradient(135deg, #E1E1E1 0%, #F1F0F1 100%); position: relative; overflow: hidden; }
.product2 ul li a { width: 100%; display: block; padding: 20px; }
.product2 ul li a .img { width: 100%; }
.product2 ul li a .img img { width: 100%; }
.product2 ul li .textBox h3 { width: 100%; font-size: 16px; margin-bottom: 10px; font-weight: 500; line-height: 130%; }
.product2 ul li .textBox p { width: 100%; font-size: 22px; font-weight: 500; line-height: 130%; letter-spacing: -4%; }


.topBtn {
    background: #454554;
    display: block;
    width: 64px;
    height: 64px;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../img/arrow-1.jpg);
    background-repeat: no-repeat;
    background-position: 50% 28%;
    position: fixed;
    bottom: 8%;
    right: 3%;
    padding-top: 17px;
    opacity: 0.5;
}




/* Footer */
footer {width: 100%; margin: 0 auto;}
footer .top h3 {font-size: 24vw; font-family:'OT Neglige', sans-serif; line-height: 140%; letter-spacing: 2%; color: #EAEAEA; font-weight: normal; text-align: center; padding-top: 190px; white-space: nowrap; overflow: hidden; clip-path: inset(0 100% 0 0); transition: clip-path 1.5s ease-in-out;}
footer .top h3.active { clip-path: inset(0 0 0 0); }
footer .bottom { width: 100%; display: flex; background: #24242C; padding: 100px 70px; }
footer .bottom .fo-ble { display: inline-block; width: 407px; height: 228px; margin-right: 80px; }
footer .bottom ul { width: 30%; }
footer .bottom ul li {font-size: 16px; color:#767676; line-height: 140%; letter-spacing: -2%;}
footer .bottom ul.right {margin-left: 530px;}
footer .bottom ul.right .contact {font-size: 24px; color: #DBDBDB;}
footer .bottom ul.right .contact .none {display: inline-block;}
footer .bottom ul.right .time {font-size: 16px; color: #DBDBDB;}
footer .bottom ul.right input {font-size: 14px; background: #3C3C3C; width: 186px; height: 35px; text-align: center; padding: 4px 0 5px; color: #c4c4c4; margin-top: 10px; cursor: pointer; border: none;}


@media screen and (max-width: 1400px){
    .menuOpen {display: none;}
    .inner-header .gnb {width: 30%;}
    .inner-header .tnb {width: 12%;}
    .inner-header .tnb .icon {display: none;}
    footer .bottom {padding: 70px 40px 77px 40px;}
    footer .bottom .fo-ble {width: 235px; height: 132px; margin-right: 40px;}
    footer .bottom ul.left {width: 40%;}
    footer .bottom ul li {font-size: 16px;}
    footer .bottom ul.right {width: 222px; margin-left: 20px;} 

    .txt-box .inBox { width: 100%; padding:0 5.5vw;}
    .txt-box .op ul { display: flex; justify-content: space-between; gap: 0.5vw; }


}

@media screen and (max-width:1024px) {
    .menuOpen {display: none;}
    .inner-header nav {padding: 39px 65px 70px;}
    header.fixed-state .inner-header nav {padding: 39px 65px 70px;}
    .inner-header .gnb {width:30%;}
    .inner-header .tnb {width: 15%;}
    .inner-header .tnb .icon {display: none;}

  .product .img-box{overflow: hidden;}
  .product .main {height: 953px; width: 893px; flex-shrink: 0;}
  .product .main img {width: 100%;}
  .sticky-img {position: fixed; opacity: 1; transition: opacity 0.6s ease; top: 43%;left: 50vw; width: 119px; height: 192px;}
  .product .img-box {width: 500px;}
  .product .img-box .photo {width: 100%;}
  .product .img-box .photo p {width: 50vw; height: auto}
  .product .img-box .photo p img {width: 100%; height: 100%; object-fit: contain;}
  .txt-box {width: calc(100%-520px);}
  .txt-box .inBox .topBox{margin-bottom: 40px;}
  .txt-box .inBox {width: 100%; padding:0 6.2vw}
  .txt-box .txtBox {margin-bottom: 40px;}
  .txt-box .txtBox .txt1 {display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
  .txt-box .txtBox .list{width: 43%;}
  br {display: none;}
  .txt-box .options-bar {
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;}
    
    .txt-box .op {margin-top: 0px;}
    .txt-box .op ul { gap: 1vw; }
    .txt-box .txtBox{margin-bottom: 30px;}


    .inner-header nav{padding: 39px 60px 70px;}
    .inner-header .tnb{width: 15%;}
    .inner-header .logo a img{width:180px;height: 30px;}

    .product2 ul {flex-wrap: wrap;}
    .product2 ul li {flex: 0 0 50%;}
    footer .top h3 {padding-top: 100px;}
    footer .bottom {padding: 70px 40px 77px 40px;}
    footer .bottom .fo-ble {width: 235px; height: 132px; margin-right: 40px;}
    footer .bottom ul.left {width: 40%;}
    footer .bottom ul li {font-size: 16px;}
    footer .bottom ul.right {width: 222px; margin-left: 20px;} 
    footer .bottom ul.right .contact {font-size: 34px; margin-bottom: 15px; line-height: 100%;}
    footer .bottom ul.right .contact .cus {font-size: 24px;}
    footer .bottom ul.right .contact .none {display: none;}
    footer .bottom ul.right .time {font-size: 16px;}
}



@media screen and (max-width:768px) {
   header .inner-header nav ul.gnb {display: none;}
    .inner-header {position: relative;}
    .inner-header .mobile-menu-toggle {background: transparent; border: none; display: block; position: absolute; top: 17%; left: 2%;}
    .inner-header .mobile-menu-toggle a {display: block; width: 50px; height: 50px; position: absolute; top: 5%; left: 5%;}
    .inner-header .mobile-menu-toggle a span:nth-child(1) {width: 30px; height: 1.8px; position: absolute; top: 28px;  background: #EAEAEA;}
    .inner-header .mobile-menu-toggle a span:nth-child(2) {width: 30px; height: 1.8px; position: absolute; top: 39px;  background: #EAEAEA;}
    .inner-header .mobile-menu-toggle a span:nth-child(3) {width: 30px; height: 1.8px; position: absolute; top: 50px; background: #EAEAEA;}
    .inner-header .logo {position: absolute; left: 50%; top: 41%;transform: translateX(-50%); margin:0; z-index: 10; opacity: 1; transition: opacity 0.4s ease;}
    .inner-header .logo a {display: block; width: 130px; height: 22px; cursor: pointer;}
    .inner-header .tnb {width: 9%; position: absolute; top: 37%; right: 5%; opacity: 0.7;}
    .inner-header .tnb li {display: none;}
    .inner-header .tnb .icon {display: inline-block; width: 26px; height: 26px;}

    .menuOpen {display: block;}
    .menuOpen .menuWrap {width: 100%; height: 100vh; background: rgba(26, 26, 30, 0.8); z-index: 100; top: 5px; right: 0; position: fixed;}
    .menuOpen .menuWrap .close {display: block; width: 24px; height: 24px; position: absolute; right: 7%; top: 4%;}
    .menuOpen .menuWrap .close img {width: 100%;}
    .menuOpen .menuWrap .menu-tit {font-family: 'El Messiri', sans-serif; font-size: 28px; position: absolute; top: 30%; left: 50%; transform: translateX(-50%); text-align: center; font-weight: 200;}
    .menuOpen .menuWrap .menu-tit li {margin-bottom: 15px;}
    .menuOpen .menuWrap .menu-tit li a {display: inline-block; position: relative; transition: all 0.3s; color: rgba(234,234,234,0.6);}
    .menuOpen .menuWrap .menu-tit li a:hover {color: #eaeaea; opacity: 1; transform: scale(1.1);}
    .menuOpen .menuWrap .menu-tit:hover li a:not(:hover) {opacity: 0.5;}
    .menuOpen .menuWrap .menu-tit li.menu-margin {margin-bottom: 30px;}
    .menuOpen .menuWrap {width: 0%; opacity: 0; left: -100%; transition: all 0.6s;}
    .menuOpen .menuWrap.on {width: 100%; opacity: 1; left: 0; transition: all 0.9s;}

  .product {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .img-box{width: 100%;}
  /* 부모인 .product까지 써서 명시도를 높여줍니다 */
    section.product { 
        display: flex; 
        flex-direction: column; 
    }

    /* img-box의 틀을 제거하여 자식들을 해방 */
    section.product .img-box { 
        display: contents; 
    }

    /* 1순위: 메인 이미지 */
    section.product .img-box .main { 
        order: 1; 
        width: 100%; 
    }

    /* 2순위: 텍스트 박스 (sticky와 height 해제가 핵심) */
    section.product .txt-box { 
        order: 2; 
        width: 100%; 
        position: static; 
        height: auto; 
    }

    /* 3순위: 나머지 사진들 */
    section.product .img-box .photo { 
        order: 3; 
        width: 100%; 
    
}
.product .img-box .photo p {width:100%}
  .img-box img.main {
    width: 100%;
    height: auto;
    left: 0;
    object-fit: cover;
    margin-left: 0;
  }
  .txt-box {
    order: 2;
    width: 100%;
    position: static;
    height: auto;
    padding: 100px 20px;
    display: flex;
    justify-content: center;}
    

    
  .txt-box .inBox {max-width: 100%;}
  .txt-box .topBox h1{margin-top: 0px;}
  .txt-box .txtBox .list {width: 36%;}
  .txt-box .options-bar{display: flex;padding: 20px 0;flex-direction: row;}
  .img-box p:not(:first-of-type) {order: 3;width: 100%;}
  .sticky-img {display: none;}

    footer .top::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%; z-index: -1;}
    footer .top h3 {padding-top: 100px; background: transparent; color: #EAEAEA;}
    footer .bottom {padding: 355px 50px 100px 50px; position: relative;}
    footer .bottom .fo-ble {position: absolute; top: 20%; left: 30%; width: 303px; height: 170px;}
    footer .bottom ul.left {width: 100%;}
    footer .bottom ul li {font-size: 16px;}
    footer .bottom ul.right {width: 50%; margin-left: 66px;} 
    footer .bottom ul.right .contact {font-size: 25px; margin-bottom: 10px;}
    .cus::after {content: "\A"; white-space: pre;}
    footer .bottom ul.right .contact .cus {font-size: 18px;}
    footer .bottom ul.right .contact .none {display: none;}
    footer .bottom ul.right .time {font-size: 16px;}
}



@media screen and (max-width:600px) {
  .txt-box .options-bar {
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;}
}

@media screen and (max-width:390px) {
    .inner-header .logo {position: absolute; left: 50%; top: 28%;}
    .inner-header .logo a img {display: block; width: 100px; height: 17px; cursor: pointer;}
    .inner-header .mobile-menu-toggle {top: 2%; left: 0%;} 
    .inner-header .mobile-menu-toggle a span:nth-child(1) {width: 30px; height: 1.3px; top: 28px;}
    .inner-header .mobile-menu-toggle a span:nth-child(2) {width: 30px; height: 1.3px; top: 38px;}
    .inner-header .mobile-menu-toggle a span:nth-child(3) {width: 30px; height: 1.3px; top: 48px;}
    .inner-header .tnb {width: 10%; position: absolute; top: 23%; right: 11%; opacity: 0.7;}
    .inner-header .tnb li {display: none;}
    .inner-header .tnb .icon {display: inline-block; width: 26px; height: 26px; margin-right: 7px;}

    .menuOpen {display: block;}
    .menuOpen .menuWrap {width: 100%; height: 100vh; background: rgba(26, 26, 30, 0.8); z-index: 100; top: 0; right: 0; position: fixed;}
    .menuOpen .menuWrap .close {display: block; width: 22px; height: 22px; position: absolute; right: 7%; top: 3%;}
    .menuOpen .menuWrap .close img {width: 100%;}
    .menuOpen .menuWrap .menu-tit {font-family: 'El Messiri', sans-serif; font-size: 28px; position: absolute; top: 30%; left: 50%; transform: translateX(-50%); text-align: center; font-weight: 200;}
    .menuOpen .menuWrap .menu-tit li {margin-bottom: 15px;}
    .menuOpen .menuWrap .menu-tit li a {display: inline-block; position: relative; transition: all 0.3s; color: rgba(234,234,234,0.6);}
    .menuOpen .menuWrap .menu-tit li a:hover {color: #eaeaea; opacity: 1; transform: scale(1.1);}
    .menuOpen .menuWrap .menu-tit:hover li a:not(:hover) {opacity: 0.5;}
    .menuOpen .menuWrap .menu-tit li.menu-margin {margin-bottom: 30px;}
    .menuOpen .menuWrap {width: 0%; opacity: 0; left: -100%; transition: all 0.6s;}
    .menuOpen .menuWrap.on {width: 100%; opacity: 1; left: 0; transition: all 0.9s;}

    .intro {padding: 402px 90px 150px; width: 100%;}
    .intro .intro-inner {margin: 0 auto; width: 100%; height: 300px; text-align: center;}
    .product {display: flex; flex-direction: row;}
    .txt-box .options-bar {padding: 0; flex-direction: column; align-items: flex-start; gap: 30px;}
    .txt-box .txtBox .list{width: 50%;}
    .product2 .a{padding: 0;}
    .product2 ul li{width: 195px;height: 256px;}
    .product2 ul li a {padding: 10px;}
    .product2 ul li .textBox h3 {font-size: 13px;letter-spacing: -3%;font-weight: 400;margin-top: -20px;}
    .product2 ul li .textBox p {font-size: 16px; font-weight: 500;letter-spacing: -3;}
    footer .top h3 {font-size: 92px;  padding-top: 100px; background: transparent; clip-path: inset(0 100% 0 0); -webkit-clip-path: inset(0 100% 0 0); transition: none;}
    footer .bottom {padding: 230px 20px 80px 20px; position: relative;}
    footer .bottom .fo-ble {position: absolute; top: 20%; left: 25%; width: 195px; height: 109px;}
    footer .bottom ul.left {width: 100%;}
    footer .bottom ul li {font-size: 10px;}
    footer .bottom ul.right {width: 60%; margin-left: 20px;} 
    footer .bottom ul.right .contact {font-size: 16px; margin-bottom: 5px;}
    .cus::after {content: "\A"; white-space: pre;}
    footer .bottom ul.right .contact .cus {font-size: 12px;}
    footer .bottom ul.right .contact .none {display: none;}
    footer .bottom ul.right .time {font-size: 10px;}
    footer .bottom ul.right input { width: 120px; padding: 0; font-size: 10px;}
}

