@charset "utf-8";
/* 서브공통 */
.sub-section {margin-bottom: var(--space-100);}
.sub-section:last-child {margin-bottom: 0;}
.doc-top {text-align: center; margin-bottom: var(--space-80); padding: 0 var(--space-container);}
.doc-top-title {font-size:180px; font-weight:400; line-height:.9em; letter-spacing: -.05em;}
.char.title-space {padding: 19px;}
.doc-top-title .char, 
.doc-top-title .char-i {display: inline-block; position: relative; transform: translateY(1em); opacity: 0; transition: transform 0.5s ease, opacity 0.5s ease; transition-delay: calc(0.04s * var(--i, 0));}
.sub-section.on .doc-top-title .char, 
.sub-section.on .doc-top-title .char-i {transform: translateY(0); opacity: 1;}

.doc-cont-tit {font-size: var(--font-size-34); font-weight: 700; margin-bottom: var(--space-30); line-height: 1.25em;}

/********************* about *********************/
.about-top-title .char-i::before {content: ""; width: 48px; height: 48px; background: url("../images/sub/about-star.png") no-repeat center center/contain; position: absolute; top: -3px; left: 0;}
.about-top .playfair .char {display: inline-block; transform: translateY(1em); opacity: 0; transition: transform 0.5s ease, opacity 0.5s ease; transition-delay: calc(0.04s * var(--i, 0));}
.about-section.on .about-top .playfair .char {transform: translateY(0); opacity: 1;}
.about-top .playfair {font-size:180px; font-weight:600; line-height:1em; letter-spacing: -.03em;}
.about-top p {font-size: var(--font-size-18); color: #dedede; margin-top: var(--space-100); line-height: 1.2em; letter-spacing: 0;}

.about-cols {max-width: 1920px; margin: 0 auto var(--space-100);}
.about-cols .list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;}
.about-cols .item {position: relative; min-height: clamp(400px, 50vw, 800px); padding: var(--space-50) var(--space-100); display: flex; flex-direction: column; align-items: center; justify-content: center; background-size: cover; background-position: 50% 50%;}
.about-cols .item .num {position: relative; z-index: 1; font-family: 'instrumentsans'; font-size: var(--font-size-22); font-weight: 500; color: #fff; margin-bottom: var(--space-30);}
.about-cols .item .tit {position: relative; z-index: 1; font-size: var(--font-size-34); font-weight: 700; color: #fff; margin-bottom: var(--space-50);}
.about-cols .item .cont {position: relative; height: 170px; z-index: 1; text-align: center;}
.about-cols .item .cont p {font-size: var(--font-size-18); color: #ededed; line-height: 1.4em; letter-spacing: 0;}
.about-cols .item-1 {background-image: url("../images/sub/about-img1.jpg");}
.about-cols .item-2 {background-image: url("../images/sub/about-img2.jpg");}
.about-cols .item-3 {background-image: url("../images/sub/about-img3.jpg");}

/* history */
.about-history .list {display: flex; flex-direction: column; gap: var(--space-60);}
.about-history .item {display: flex; align-items: flex-start; justify-content: center; gap: var(--space-150);}
.about-history .item .cell:first-child {flex-shrink: 0; width: 220px;}
.about-history .item .cap {color: #ededed; font-size: var(--font-size-16); font-weight: 400; line-height: 1em;}
.about-history .item .year {font-size: var(--font-size-60); font-weight: 700; line-height: 1em;}
.about-history .item .cell:last-child {width: clamp(400px, calc(498 / var(--inner) * 100vw), 520px);}
.about-history .item .tit {font-size: var(--font-size-22); font-weight: 600; margin-bottom: var(--space-20); line-height: 1.25em; letter-spacing: 0;}
.about-history .item .cont p {font-size: var(--font-size-18); line-height: 1.33em; color: #ededed; letter-spacing: 0;}

/* values */
.about-values {color: #fff;}
.about-values .values-item-row {display: flex; align-items: flex-end; gap: var(--space-40); margin-bottom: var(--space-80); position: relative;}
.about-values .values-item-row:last-of-type {margin-bottom: var(--space-90);}
.about-values .values-item-row .img {position: relative; width: clamp(600px,  calc(844 / var(--inner) * 100vw), 844px); padding-bottom: 36%; overflow: hidden;}
.about-values .values-item-row .img img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover;}
.about-values .values-item-row .cell {flex: 1; min-width: 0; padding: var(--space-50); background: #1a1a1a; margin-left: -145px; position: relative; z-index: 1;}
.about-values .vision {flex-direction: row-reverse;}
.about-values .vision .cell {margin-left: 0; margin-right: -145px;}
.about-values .values-item-row .cap {font-size: var(--font-size-22); font-weight: 600; margin-bottom: var(--space-50); line-height: 1em;}
.about-values .values-item-row .tit {color: #ededed; font-size: var(--font-size-18); font-weight: 700; line-height: 1.33em;}
.about-values .values-item-row .cont p {font-size: var(--font-size-18); line-height: 1.33em; color: #ededed; letter-spacing: 0;}

/* core values */
.about-values .core-vals {padding: var(--space-100) 0; background: #1a1a1a; text-align: center;}
.about-values .core-tit {font-size: var(--font-size-22); font-weight: 600;  margin-bottom: var(--space-30); line-height: 1;}
.about-values .core-vals .list {display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-30);}
.about-values .core-vals .item {display: flex; flex-direction: column; align-items: center;}
.about-values .core-vals .icon {display: block; width: 48px; height: 48px; margin-bottom: var(--space-30);}
.about-values .core-vals .tit {font-size: var(--font-size-18); font-weight: 700; margin-bottom: var(--space-10); line-height: 1em;}
.about-values .core-vals .cont {padding: 0 var(--space-18);}
.about-values .core-vals .cont p {font-size: var(--font-size-18); line-height: 1.111em; color: #ededed;}

/* network */
.about-network .network-map {margin-bottom: var(--space-40);}
.about-network .network-txt .row {display: flex; gap: 120px;}
.about-network .location {position: relative; flex:0 0 calc(50% - 60px); min-width: 0; padding-bottom: var(--space-40); margin-bottom: var(--space-40);}
.about-network .row:last-child .location {margin-bottom: 0;}
.about-network .location::after {content: ""; display: block; width: 0; height: 0.5px; background: #ddd; position: absolute; bottom: 0; left: 0; transition: width 1.5s ease; opacity: .7;}
.about-network .location.on::after {width: 100%; transition-delay: 0.5s;}
.about-network .location .tit {font-size: var(--font-size-22); font-weight: 600; color: #fff; line-height: 1.25em; margin-bottom: 13px;}
.about-network .location .address {font-size: var(--font-size-18); color: #fff; line-height: 1.22em; margin-bottom: 13px; letter-spacing: 0;}
.about-network .location .desc {font-size: var(--font-size-18); color: #ededed; line-height: normal; letter-spacing: 0;}

/********************* work *********************/
.work-order .doc-top-title br {display: none;}
.work-order .order-proc {background: #1a1a1a; padding: 90px 0; position: relative; z-index: 1;}
.work-order .proc-line {position: absolute; top: 138px; left: 0;  width: 0%; height: 1px; background: #d9d9d9; z-index: -1;}
.work-order .proc-line.on {width: 100%; transition: width 1.5s ease; transition-delay: .8s;}
.work-order .proc-line.line2 {display: none;}
.work-order .proc-list {display: flex; justify-content: center; gap: clamp(40px, calc(150 / var(--inner) * 100vw), 150px); flex-wrap: wrap;}
.work-order .proc-list .item {display: flex; flex-direction: column; align-items: center; gap: 20px; flex: 1; max-width: 141px;}
.work-order .proc-list .num {font-size: 18px; font-weight: 500; color: #fff; line-height: normal;}
.work-order .proc-list .dot {width: 12px; height: 12px; border-radius: 50%; background: #ededed;}
.work-order .proc-list .item .tit {font-size: 22px; font-weight: 600; color: #fff; line-height: normal; text-align: center; margin: 0; margin-top: 13px;}

/* work steps detail */
.work-steps .step-row {display: flex; justify-content: space-between; gap: var(--space-83); align-items: center; position: relative;}
.work-steps .step-row:not(:first-child) {margin-top: -30px;}
.work-steps .step-row.alt {flex-direction: row-reverse;}
.work-steps .step-row .cell {flex: 0 0 clamp(280px, calc(598 / var(--inner) * 100vw), 598px); min-width: 0;}
.work-steps .step-row .cap {font-size: var(--font-size-16); font-weight: 400; color: #fff; line-height: normal;}
.work-steps .step-row .tit {font-size: var(--font-size-34); font-weight: 600; color: #fff; margin-bottom: 16px; line-height: 1.2em;}
.work-steps .step-row .cont p {font-size: var(--font-size-18); color: #ededed; line-height: 1.33em; letter-spacing: 0;}
.work-steps .step-row .img {flex: 0 0 clamp(300px, calc(722 / var(--inner) * 100vw), 722px); min-width: 0; overflow: hidden;}
.work-steps .step-row .img img {width: 100%; aspect-ratio: 722 / 500; object-fit: cover;}

/* work notice */
.work-notice .notice-list {display: flex; flex-direction: column; gap: var(--space-20);}
.work-notice .notice-list .item {display: flex; gap: var(--space-10); align-items: flex-start;}
.work-notice .notice-list .item:before {content: ""; display: block; flex-shrink: 0; width: 6px; height: 6px; background:var(--color-primary); border-radius: 50%; margin-top: 8px;}
.work-notice .notice-list .txt {font-size: 18px; color: rgba(237,237,237,0.6); line-height: 1.22em; margin: 0; letter-spacing: 0;}
.work-notice .notice-list .txt strong {font-weight: 600; color: var(--color-primary);}


/********************* brands *********************/
.brands-sec .brands-tabs {display: flex; flex-direction: column; align-items: center; gap: var(--space-30); margin-bottom: var(--space-100);}
.brands-sec .tab-row {display: flex; gap: var(--space-40); align-items: center; flex-wrap: wrap; margin-top: 20px;}
.brands-sec .tab-row.tab-cat .tab {min-width: 131px; text-align: center; font-weight: 400; transition: font-weight .1s;}
.brands-sec .tab-row.tab-cat .tab::before {content: attr(data-text); font-weight: 600; height: 0; overflow: hidden; display: block; visibility: hidden;}
.brands-sec .tab-row.tab-cat .tab:after {content: ""; display: block; width: 0; height: 1px; background: var(--color-primary); position: absolute; bottom: 0; left: 0; transition: width .3s;}
.brands-sec .tab { position: relative; font-size: var(--font-size-22); color: #ededed; padding: var(--space-10); line-height: 1.27em; transition: color .2s;}
.brands-sec .tab-row.tab-cat .tab.on,
.brands-sec .tab-row.tab-cat .tab:hover {font-weight: 600;}
.brands-sec .tab-row.tab-cat .tab:after {content: ""; display: block; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 0; height: 1px; background: var(--color-primary); transition: width .3s;}
.brands-sec .tab-row.tab-cat .tab.on:after,
.brands-sec .tab-row.tab-cat .tab:hover:after {width: 100%;}
.brands-sec .tab-row.tab-letter {gap: var(--space-10);}
.brands-sec .tab-row.tab-letter .tab {min-width: 24px; height: 24px; background: none; border: none; padding: 0; margin: 0; text-align: center;}
.brands-sec .tab-row.tab-letter .tab.on,
.brands-sec .tab-row.tab-letter .tab:hover {color: var(--color-primary);}
.brands-sec .letter-tit {display: flex; align-items: center; gap: var(--space-25); margin-bottom: var(--space-30);}
.brands-sec .letter-tit .letter {font-size: var(--font-size-34); font-weight: 600; color: var(--color-primary); flex-shrink: 0;}
.brands-sec .letter-tit .line {flex: 1; height: 1px; background: #fff;}
.brands-sec .brands-grid {display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid #fff;}
.brands-sec .brand-item {display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; font-size: var(--font-size-22); font-weight: 600; color: #fff; text-align: center; line-height: normal; opacity: .5; transform: translateY(100%); transition: .7s;}
.brands-sec .brand-item:hover {font-size: var(--font-size-34); font-weight: 600; opacity: 1;}
.brands-grid.on .brand-item {transform: translateY(0); }

/********************* contact *********************/
.contact-section {margin-bottom: var(--space-120);}
.contact-section .contact-section-info {display: flex; flex-direction: column; gap: var(--space-60);}
.contact-section .list {display: flex; flex-direction: column; gap: var(--space-20); margin-bottom: var(--space-60);}
.contact-section .item {display: flex; gap: var(--space-10); align-items: center;}
.contact-section .item .row {display: flex; gap: var(--space-16); align-items: center; position: relative; margin: 0; flex-wrap: wrap;}
.contact-section .item .row:before {content: ""; display: block; width: 6px; height: 6px; margin-top: 2px; background: var(--color-primary); border-radius: 50%;}
.contact-section .item dt {font-size: var(--font-size-18); font-weight: 700; color: #fff; min-width: 127px; flex-shrink: 0; letter-spacing: 0;}
.contact-section .item dd {font-size: var(--font-size-18); font-weight: 400; color: #ededed; margin: 0; letter-spacing: 0;}
.contact-section .item dd a {color: #ededed;}
.contact-section .item dd a:hover {color: #fff;}
.contact-section .notice {display: flex; flex-direction: column; gap: var(--space-10);}
.contact-section .notice p {position: relative; font-size: var(--font-size-18); color: #fff; line-height: 1.55em; margin: 0; letter-spacing: 0;}
.contact-section .notice-tit {padding-left: 34px;}
.contact-section .notice-tit:before {content: ""; position: absolute; top: -2px; left: 0; width:24px; height: 24px; background: url("../images/sub/alarm.png") no-repeat center center/contain; }
.contact-section .notice strong {font-weight: 600;}

/* contact-form */
.form-section .cont-txt {font-size: var(--font-size-18); line-height: 1.55em; margin-bottom: var(--space-32);}
.contact-form {display: flex; flex-wrap: wrap; gap: 20px;}
.contact-form .box {flex: 0 0 calc(50% - 10px); min-width: 0; padding: var(--space-10) var(--space-20);background: #1a1a1a; border-radius: 8px; border: 1px solid #333;}
.contact-form .box.wide {flex: 0 0 100%;}

.contact-form .box dt {margin-bottom: var(--space-10);}
.contact-form .box label {font-size: var(--font-size-16); color: #888; line-height: 1.75em;}
.contact-form .box label .required {color: #F00;}
.contact-form .box .input {height: 30px; background:transparent; border: none; color: #ededed; font-size: var(--font-size-16); line-height: 1.75em; padding: 0; margin: 0;}
.contact-button .submit-btn {width: 205px; height: 60px; background: transparent; color: var(--color-primary); font-size: var(--font-size-16); line-height: 1.75em; padding: var(--space-10) var(--space-20); border: 1px solid var(--color-primary); cursor: pointer; margin-top: var(--space-40); transition: 0.3s;}
.contact-button .submit-btn:hover {background: var(--color-primary); color: #454545;}


/* 이미지 */
#mainVisual .main_slide{opacity:.5;z-index:1;height:100vh}
#mainVisual .main_slide li{overflow:hidden;height:100%}
#mainVisual .main_slide .inner_img{width:100%;height:100%;background:url(https://it1029.shiningcorp.com/sh_img/index/main_banner/main_img01.jpg) center no-repeat;background-size:cover}
#mainVisual .main_slide .img02{background-image:url(https://it1029.shiningcorp.com/sh_img/index/main_banner/main_img02.jpg)}
#mainVisual .main_slide .img03{background-image:url(https://it1029.shiningcorp.com/sh_img/index/main_banner/main_img03.jpg)}

