@charset "utf-8";
/* 서브공통 */

/* 인사말 */
.sub-title .tit .en {font-family:'CormorantGaramond', serif; font-style:italic; font-weight:600; font-size:var(--font-size-56); color:var(--color-primary);}
.greeting-body {display:flex; flex-direction:column; gap:60px;}
.greeting-visual {overflow:hidden; border-radius:0;}
.greeting-visual img {display:block; width:100%; height:auto; min-height:460px; object-fit:cover;}
.greeting-txt {display:flex; flex-direction:column; gap:var(--space-40); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.greeting-txt .greeting-txt-body {display:flex; flex-direction:column; gap:var(--space-24);}
.greeting-txt .greeting-txt-body p {margin:0;}
.greeting-sign {margin:0; font-weight:600; color:#505050;}

/* 연혁 */
#contArea.wide .real-cont.history-cont {padding:0;}
.history-sect {padding-bottom:var(--space-140);}
.history-wrap {display:flex; flex-direction:column; position:relative;}
.history-pair .contain {display:flex; align-items:flex-start; position:relative;}
.history-pair:first-child {border-top:1px solid #dfdfdf;}
.history-pair + .history-pair {border-top:1px solid #dfdfdf;}
.history-side {position:sticky; top:80px; flex:0 0 25%; max-width:340px; padding-top:80px; box-sizing:border-box;}
.history-era {margin:0; font-size:var(--font-size-60); font-weight:600; line-height:1.15em; letter-spacing:-0.02em; color:var(--color-primary);}
.history-group {position:relative; flex:1; min-width:0; border-left:1px solid #dfdfdf; padding:80px 0 80px 90px; box-sizing:border-box;}
.history-year .dots {width: 10px; height: 10px; top: 9px; left: -95px; margin: 0; position: absolute; background: transparent; border-radius: 50%; transition: all 0.3s; z-index: 1;}
.history-year .dots .inner-dots {width:28px; height:28px; position:absolute; background:rgba(38, 76, 157, 0.16); backdrop-filter: blur(12px); border-radius:100%; top:50%; left:50%; transform:translate(-50%,-50%) scale(0); z-index:-1; transition:all 0.3s;}
.history-year .dots .inner-dots:after {width:16px; height:16px; display:block; content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0); z-index:-1; background: rgba(38, 76, 157, 0.24); ; backdrop-filter: blur(12px); border-radius:100%; transition:all 0.5s;}

.history-year.active .dots .inner-dots {transform:translate(-50%,-50%) scale(1); animation:ani .5s forwards ease; animation-delay:.05s;}
.history-year.active .dots .inner-dots:before {width:8px; height:8px; display:block; content:""; background:#264C9D; position:absolute; left:50%; top:50%; border-radius:100%; animation:ani .5s forwards ease; animation-delay:.02s;}
.history-year.active .dots .inner-dots:after {animation:ani .5s forwards ease; animation-delay:.08s;}

@keyframes ani {
	0% {transform:translate(-50%,-50%) scale(0);}
	100% {transform:translate(-50%,-50%) scale(1);}
}

.history-group-tit {position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0;}
.history-years {display:flex; flex-direction:column; gap:var(--space-60);}
.history-year {display:flex; align-items:flex-start; gap:0; position: relative; padding-bottom: var(--space-60); }
.history-pair:last-child .history-year:last-child {padding-bottom: 0;}
.history-year .year {flex:0 0 148px; margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.07em; letter-spacing:-0.02em; color:#2c2c2c;}
.history-year.active .year {color:var(--color-secondary, #4EB3E1);}
.history-items {flex:1; min-width:0; margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:var(--space-24);}
.history-items li {display:flex; align-items:flex-start; gap:0;}
.history-items .mon {flex:0 0 48px; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:#999; letter-spacing:-0.02em;}
.history-items .txt {flex:1; min-width:0; position:relative; padding-left:12px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.history-items .txt:before {content:''; position:absolute; left:0; top:16px; width:4px; height:4px; margin-top:-2px; border-radius:50%; background:#d9d9d9;}
.history-items .txt p {margin:0;}
.history-items .txt p + p {margin-top:0;}
.history-group .history-era-mo {display:none; margin:0 0 var(--space-40); font-size:var(--font-size-40); font-weight:600; line-height:1.15em; letter-spacing:-0.02em; color:var(--color-primary);}

/* 조직도 */

/* CI 소개 */
.ci-sect {border-top:1px solid #dfdfdf; padding-top:var(--space-80);}
.ci-sect-inner {display:flex; flex-direction:column; gap:var(--space-80);}
.ci-row {display:flex; gap:var(--space-40); align-items:center;}
.ci-row-txt {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-40); box-sizing:border-box;}
.ci-row-visual {flex:1; min-width:0;}
.ci-head {display:flex; flex-direction:column; gap:var(--space-24);}
.ci-marker {display:flex; align-items:center; justify-content:center; position:relative; width:28px; height:28px; border-radius:500px; background:rgba(78,179,225,0.16); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);}
.ci-marker:before {content:''; position:absolute; width:16px; height:16px; border-radius:500px; background:rgba(78,179,225,0.24);}
.ci-marker:after {content:''; position:absolute; width:8px; height:8px; border-radius:500px; background:var(--color-secondary, #4EB3E1);}
.ci-head-txt {display:flex; flex-direction:column; gap:var(--space-16);}
.ci-head-txt .label {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.67em; color:#999; letter-spacing:-0.02em;}
.ci-head-txt .stit {margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.ci-txt {display:flex; flex-direction:column; gap:var(--space-24); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.ci-txt p {margin:0;}
.ci-block {display:flex; flex-direction:column; gap:var(--space-40);}
.ci-block-head {display:flex; flex-direction:column; gap:var(--space-24);}
.ci-block-tit {margin:0; font-size:var(--font-size-32); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.ci-block-txt {font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.ci-block-txt p {margin:0;}
.ci-logo-box {display:flex; align-items:center; justify-content:center; height:360px; background:#f2f2f2;}
.ci-color-cards {display:flex; gap:var(--space-16);}
.ci-color-card {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-80); padding:var(--space-32); box-sizing:border-box;}
.ci-color-card--main {background:var(--color-primary);}
.ci-color-card--sub {background:var(--color-secondary, #4EB3E1);}
.ci-color-name .name {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.5em; color:#fff; letter-spacing:-0.02em;}
.ci-color-name .pantone {margin:0; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:rgba(255,255,255,0.5); letter-spacing:-0.02em;}
.ci-color-spec {display:flex; flex-wrap:wrap; justify-content:flex-end; margin:0;}
.ci-color-spec dt {margin:0; font-size:15px; font-weight:600; line-height:1.6em; color:rgba(255,255,255,0.5); letter-spacing:-0.02em;}
.ci-color-spec dd {margin:0 var(--space-20) 0 8px; font-size:15px; font-weight:500; line-height:1.6em; color:#fff; letter-spacing:-0.02em;}
.ci-color-spec dd:last-child {margin-right:0;}

/* 오시는 길 */
.location-sect {position:relative; z-index:0; display:flex; flex-direction:column; gap:var(--space-80); isolation:isolate;}
.location-sect .root_daum_roughmap, 
.location-sect .root_daum_roughmap .wrap_map {width: 100%; height: 100%;}

.location-main {display:flex; flex-direction:column; gap:var(--space-60);}
.location-map {position:relative; z-index:0; height:520px; overflow:hidden; isolation:isolate;}
.location-kakao-map {position:absolute; inset:0; z-index:0; width:100%; height:100%;}
.location-hq {display:flex; flex-direction:column; gap:var(--space-30);}
.location-hq-head {display:flex; flex-direction:column;}
.label-wrap {display: flex; align-items: center; gap: var(--space-16);}
.location-hq-head .label {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-primary); letter-spacing:-0.02em;}
.location-hq-head .stit {margin-top:8px; font-size:var(--font-size-32); font-weight:600; line-height:1.44em; color:#2c2c2c; letter-spacing:-0.02em;}
.location-hq-head .addr-sub {margin-top:var(--space-16); font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050; letter-spacing:-0.02em;}
.location-contact-list {margin:0; padding:0; list-style:none;}
.location-contact-list--hq {display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-24) var(--space-44);}
.location-contact-item {display:flex; align-items:center; gap:0 var(--space-24); flex-wrap: wrap; min-width:0;}
.location-contact-item .ico {flex-shrink:0; display:flex; width:24px; height:24px;}
.location-contact-item .ico img {display:block; width:100%; height:100%;}
.location-contact-item .label {flex-shrink:0; font-size:var(--font-size-18); font-weight:600; line-height:1.67em; color:#2c2c2c; letter-spacing:-0.03em;}
.location-contact-item .val {min-width:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.location-contact-item .val a {color:inherit; text-decoration:none;}
.location-branches {display:flex; flex-direction:column; border-top:1px solid #dfdfdf;}
.location-branch {display:flex; align-items:center; gap:0; border-bottom:1px solid #eee; padding:var(--space-24) 0;}
.location-branch:last-child {border-bottom:0; padding-bottom:0;}
.location-branch-visual {position:relative; z-index:0; flex:0 0 36%; max-width:480px; height:320px; overflow:hidden; isolation:isolate;}
.location-branch-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-40); padding-left:var(--space-60); box-sizing:border-box;}
.location-branch .location-contact-list{display:flex; flex-direction:column; gap:var(--space-24);}
.location-branch .location-contact-item .val {margin-left: 0;}
.branch-label-wrap {flex:0 0 140px; display: flex; align-items: center; gap: var(--space-16);}
.location-branch-tit {margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}

/* 사업소개 */
.biz-overview-sect {display:flex; flex-direction:column;}
.biz-overview-list {margin-bottom: var(--space-120);}
.biz-overview-item {border-bottom:1px solid #dfdfdf;}
.biz-overview-item .contain {display:flex; align-items:stretch;}
.biz-overview-item:first-child {border-top:1px solid #dfdfdf;}
.biz-overview-item--reverse .contain {flex-direction:row-reverse;}
.biz-overview-visual {flex:0 0 50%; max-width:700px; overflow:hidden;}
.biz-overview-body {flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:var(--space-40); padding:var(--space-60); box-sizing:border-box; border: 1px solid #dfdfdf; border-top: none; border-bottom: none;}
.biz-overview-txt {display:flex; flex-direction:column; gap:var(--space-16);}
.biz-overview-txt .tit {margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.biz-overview-txt .tit .en {display:block;}
.biz-overview-txt p {margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.biz-overview-marquee {overflow:hidden; width:100vw; margin-left:calc(50% - 50vw);}
.biz-overview-marquee-track {display:flex; width:max-content; animation:bizOverviewMarquee 40s linear infinite;}
.biz-overview-marquee-txt {flex-shrink:0; padding-right:80px; font-size:clamp(48px, calc(140 / 1920 * 100vw), 140px); font-weight:500; line-height:1.1em; letter-spacing:-0.02em; color:#f4f4f4; white-space:nowrap;}
@keyframes bizOverviewMarquee {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
.biz-overview-banner {position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-height:420px; padding:var(--space-80) var(--space-container); box-sizing:border-box; text-align:center;}
.biz-overview-banner-bg {position:absolute; inset:0; z-index:0;}
.biz-overview-banner-bg img {display:block; width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.biz-overview-banner-tit {position:relative; z-index:2; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.44em; color:#fff; letter-spacing:-0.02em;}

/* 주요사업 */
#contArea.wide .real-cont.biz-cont {padding:0;}
.biz-major-sect {padding-bottom:var(--space-140);}
.biz-major-wrap {display:flex; align-items:flex-start; border-top: 1px solid #dfdfdf;}
.biz-major-side {display:flex; flex-direction:column; gap:var(--space-40); width: 50%; padding:var(--space-80) 0 var(--space-80) max(30px, (100% - 1402px) / 2); box-sizing:border-box;}
.biz-major-visual {overflow:hidden; width:100%; max-width: 700px; padding-right: var(--space-60);}
.biz-major-copy {margin:0; padding-right: var(--space-60); font-size:var(--font-size-32); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.biz-major-copy .line {display:block;}
.biz-major-copy strong {color:var(--color-primary); font-weight:600;}
.biz-major-timeline {flex:1; min-width:0; border-left:1px solid #dfdfdf; padding:var(--space-20) 0 0 0; box-sizing:border-box;}
.biz-major-item {display:flex; flex-direction:column; gap:var(--space-80); padding:var(--space-60); border-bottom:1px solid #dfdfdf; box-sizing:border-box;}
.biz-major-item:last-child {border-bottom:0; padding-bottom:0;}
.biz-major-num {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.67em; color:#999; letter-spacing:-0.02em;}
.biz-major-body {display:flex; flex-direction:column; gap:var(--space-40);}
.biz-major-icon {display:flex; align-items:center; justify-content:center; width:60px; height:60px; overflow:hidden;}
.biz-major-icon img {display:block; width:100%; height:100%; object-fit:contain;}
.biz-major-txt {display:flex; flex-direction:column; gap:var(--space-24);}
.biz-major-txt .tit {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.biz-major-txt .tit .dot {font-weight:400;}
.biz-major-txt .desc {display:flex; flex-direction:column; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.biz-major-txt .desc p {margin:0;}

/* 제품정보 — product 스킨 목록 */
.product-board-search {display:flex; align-items:center; justify-content:space-between; gap:var(--space-16); margin-bottom: var(--space-40); padding:var(--space-24) var(--space-30); border:2px solid #dfdfdf; border-radius:50px; box-sizing:border-box;}
.product-board-search-input {flex:1; min-width:0; border:0; padding:0; font-size:var(--font-size-18); font-weight:400; line-height:1.7em; color:#2c2c2c; letter-spacing:-0.02em; background:transparent;}
.product-board-search-input::placeholder {color:#999;}
.product-board-search-input:focus {outline:none;}
.product-board-search-btn {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:0; background:transparent; cursor:pointer;}
.product-board-cate {display:flex; flex-wrap:wrap; gap:10px; margin-bottom: var(--space-40);}
.product-cate-item a {display:inline-flex; align-items:center; justify-content:center; padding:8px var(--space-24); border-radius:50px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#999; letter-spacing:-0.02em; text-decoration:none; background:#f9f9f9; transition:background .2s, color .2s;}
.product-cate-item.active a {background:var(--color-primary); color:#fff;}
.product-cate-item:hover a {color:#2c2c2c;}
.product-cate-item.active:hover a {color:#fff;}
.product-board-list ul {display:flex; flex-wrap: wrap;}
.product-board-list li {width: 25%; margin-bottom: 40px; text-decoration:none; color:inherit;}
.product-board-list .product-card-thumb {padding-bottom: 106%;}
.product-board-list .product-card-thumb img {max-width: 74%;}
.product-board-list .product-card-info .name {font-size:var(--font-size-22); line-height:1.45em;}
.product-board .paginate {margin-top:40px;}
.product-board-list li:nth-child(4n+1) .product-card {border-left: 1px solid #dfdfdf;}

/* 제품정보 — product 스킨 상세 */
.board-view.product-view {border:0; padding-top:var(--space-140); margin:0;}
.product-view-hero {display:flex; align-items:flex-end; gap:var(--space-80); margin-bottom:var(--space-100);}
.product-view-visual {flex:0 0 38%; max-width:520px; display:flex; flex-direction:column; overflow:hidden;}
.product-view-thumb {position: relative; padding-bottom: 82.7%; overflow: hidden; background:#fff; border-left:1px solid #dfdfdf; border-right:1px solid #dfdfdf;}
.product-view-thumb img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%, -50%); width: auto !important; height: auto !important; max-width: 62%; max-height: 100%; object-fit: contain;}
.product-view-card-info {display:flex; flex-direction:column; align-items:center; gap:var(--space-16); padding:var(--space-30) var(--space-24) var(--space-34); background:var(--color-primary); box-sizing:border-box;}
.product-view-card-info .name {margin:0; font-size:var(--font-size-24); font-weight:500; line-height:1.67em; color:#fff; letter-spacing:-0.02em; text-align:center;}
.product-view-card-info .tags {display:flex; flex-wrap:wrap; justify-content:center; gap:4px;}
.product-view-card-info .tag {display:inline-flex; align-items:center; padding:8px 10px; font-size:var(--font-size-14); font-weight:500; line-height:1.14em; letter-spacing:-0.02em;}
.product-view-card-info .tag-primary {background:#fff; color:var(--color-primary);}
.product-view-card-info .tag-ghost {background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.1); color:#fff;}
.product-view-intro {flex:1; min-width:0; display:flex; flex-direction:column;}
.product-view-head {display:flex; flex-direction:column; margin-bottom: var(--space-50); padding-bottom:var(--space-40); border-bottom:1px solid #2c2c2c; box-sizing:border-box;}
.product-view-head .code {margin:0; font-size:var(--font-size-16); font-weight:500; line-height:1.875em; color:#999; letter-spacing:-0.02em;}
.product-view-head .tit {margin-top:var(--space-16); font-size:var(--font-size-36); font-weight:600; line-height:1.33em; color:#2c2c2c; letter-spacing:-0.02em;}
.product-view-head .desc {display:flex; flex-direction:column; margin-top: var(--space-40);font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050; letter-spacing:-0.02em;}
.product-view-head .desc p {margin:0;}
.product-view-spec {margin:0; display:flex; flex-direction:column; gap:var(--space-16); margin-bottom: var(--space-60);}
.product-view-spec-item {display:flex; align-items:flex-start; gap:0; margin:0;}
.product-view-spec-item dt {display:flex; align-items:center; gap:8px; flex:0 0 140px; margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:var(--color-primary); letter-spacing:-0.02em;}
.product-view-spec-item dt:before {content:''; display:block; flex-shrink:0; width:4px; height:4px; background:#ccc; border-radius: 100%;}
.product-view-spec-item dd {margin:0; flex:1; min-width:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#676767; letter-spacing:-0.02em;}
.product-view-spec-item dd p {margin:0;}
.product-view-spec-item--multi dd {display:flex; flex-direction:column;}
.product-view-actions {display:flex; gap:var(--space-16);}
.product-view-btn {flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:var(--space-14) var(--space-30); font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:#fff; letter-spacing:-0.02em; text-decoration:none; box-sizing:border-box; transition:opacity .2s;}
.product-view-btn:hover {opacity:0.88;}
.product-view-btn--dark {background:#2c2c2c;}
.product-view-btn--primary {background:var(--color-primary);}
.product-view-btn-icon {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:34px; height:34px; border-radius:500px; background:rgba(255,255,255,0.16);}
.product-view-btn-icon img {display:block; width:18px; height:18px;}
.product-view-detail {display:flex; flex-direction:column; gap:var(--space-40); padding-top:var(--space-16); margin-bottom:var(--space-100);}
.product-view-detail-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.33em; color:#2c2c2c; letter-spacing:-0.02em;}
.product-view-table {display:flex; flex-direction:column; width:100%; border-top:4px solid var(--color-primary); padding-top:var(--space-16); box-sizing:border-box;}
.product-view-row {display:flex; align-items:flex-start; gap:0; padding:var(--space-40); border-top:1px dashed #dfdfdf; box-sizing:border-box;}
.product-view-row--head {align-items:center; border-top:1px solid var(--color-primary);}
.product-view-row--last {border-bottom:1px solid #dfdfdf;}
.product-view-row--stack {align-items:flex-start;}
.product-view-label {flex:0 0 140px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-primary); letter-spacing:-0.02em;}
.product-view-value {flex:1; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-16);}
.product-view-value .txt {margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#676767; letter-spacing:-0.02em;}
.product-view-value .note {margin:0; font-size:var(--font-size-18); font-weight:500; line-height:1.67em; color:#a8a8a8; letter-spacing:-0.02em;}
.product-view-value .txt-group {display:flex; flex-direction:column; gap:0; width:100%;}
.product-view-value .txt-group p {margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#676767; letter-spacing:-0.02em;}
.product-view-row--stack .product-view-value {flex-direction:column; align-items:flex-start; gap:16px;}
.product-view-value .txt-pair {display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px; width:100%;}
.product-view-value .txt-pair .sub {font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#2c2c2c; letter-spacing:-0.02em;}
.product-view-value .txt-pair--multi {align-items:flex-start;}
.product-view-value .txt-pair--multi .txt-group {display:flex; flex-direction:column; flex:1; min-width:0;}
.product-view-value .txt-pair--multi .txt {display:block; font-size:var(--font-size-18); line-height:1.78em;}
.product-view-foot {display:flex; justify-content:center;}
.product-view-btn-round {display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:var(--space-20) var(--space-30); border:1px solid rgba(255,255,255,0.1); border-radius:500px; font-size:var(--font-size-18); font-weight:600; line-height:1.56em; color:#fff; letter-spacing:-0.02em; text-decoration:none; background:#2c2c2c; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); transition:opacity .2s;}
.product-view-btn-round:hover {opacity:0.88;}
.product-view-nav {margin-top:var(--space-40);}



/* 커뮤니티 — 3차 탭 · 뉴스 목록 (Figma 3415:4336) */
.sub-tab {padding-top: var(--space-140); border-bottom:1px solid #eee;}
.sub-tab ul {display:flex; }
.sub-tab li {flex:1; display:flex; justify-content:center; border-bottom:2px solid transparent; margin-bottom:-1px;}
.sub-tab li a {display:block; width: 100%; padding-bottom:var(--space-24); font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#878787; letter-spacing:-0.02em; text-decoration:none; text-align:center;}
.sub-tab li.active {border-bottom-color:var(--color-primary);}
.sub-tab li.active a {color:var(--color-primary);}


/* 채용 — 4탭 · 인재상 · 채용안내 · 복리후생 (Figma 3415:4860 · 3415:5041 · 3415:5172) */
.tab-content {border-top:1px solid #dfdfdf;}
#recruit-job.tab-content {border-top: none;}
.recruit-value-item {padding:var(--space-80) 0; box-sizing:border-box;}
.recruit-value-item:last-child {padding-bottom: var(--space-140);}
.recruit-value-item .contain {display:flex; align-items:stretch; gap:0; }
.recruit-value-item.is-gray {background:#fafafa;}
.recruit-value-side {flex:0 0 39%; max-width:540px; padding-right: var(--space-30); display:flex; flex-direction:column; justify-content:space-between; align-self:stretch;}
.recruit-value-meta {display:flex; flex-direction:column; gap:var(--space-24);}
.recruit-value-side .num {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.5em; color:var(--color-primary); letter-spacing:-0.02em;}
.recruit-value-icon {display:flex; align-items:center; justify-content:center; width:80px; height:80px; border-radius:4px; overflow:hidden;}
.recruit-value-icon.is-light {background:rgba(38,76,157,0.1);}
.recruit-value-icon.is-primary {background:var(--color-primary);}
.recruit-value-side .en {margin:0; font-size:var(--font-size-32); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.recruit-value-body {flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center;}
.recruit-value-body .tit {margin-bottom:var(--space-24); font-size:var(--font-size-32); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.recruit-value-body .desc {margin-bottom: var(--space-40);}
.recruit-value-body .desc p {margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#2c2c2c; letter-spacing:-0.02em;}
.recruit-value-body .desc p + p {margin-top:0;}
.recruit-value-body .keywords .label {margin:0 0 var(--space-16); font-size:var(--font-size-18); font-weight:600; line-height:1.3em; color:#999; letter-spacing:-0.02em;}
.recruit-value-body .keywords ul {display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;}
.recruit-value-body .keywords li {display:inline-flex; align-items:center; padding:8px var(--space-16); font-size:var(--font-size-18); font-weight:500; line-height:1.3em; color:var(--color-primary); letter-spacing:-0.02em; background:#eaeef6; border-radius:4px;}

/* 채용안내 */
.recruit-guide-steps {display:flex; align-items:stretch; flex-wrap: wrap; padding:var(--space-80) 0 0 0;}
.recruit-guide-step {flex:1; display:flex; flex-direction:column; border-left:1px solid #dfdfdf; border-right:1px solid #dfdfdf; margin-left:-1px; overflow:hidden;}
.recruit-guide-step:first-child {margin-left:0;}
.recruit-guide-step-visual {flex:1; display:flex; align-items:center; justify-content:center; min-height:0; padding: var(--space-100) 0;}
.recruit-guide-step-info {display:flex; flex-direction:column; align-items:center; gap:var(--space-16); padding:var(--space-30) var(--space-24) var(--space-34); background:#f2f2f2; text-align:center; border-top:1px solid #dfdfdf;}
.recruit-guide-step-info .step {display:inline-flex; align-items:center; justify-content:center; padding:8px 10px; font-size:14px; font-weight:500; line-height:1.15em; color:#fff; letter-spacing:-0.02em; background:#121212;}
.recruit-guide-step-info .tit {margin:0; font-size:var(--font-size-22); font-weight:500; line-height:1.45em; color:#2c2c2c; letter-spacing:-0.02em;}
.recruit-guide-links {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:24px; padding:var(--space-80) 0 0;}
.recruit-guide-link {display:flex; align-items:center; justify-content:center; width:280px; min-height:72px; padding:16px 32px; border:1px solid #dfdfdf; border-radius:8px; background:#fff; box-sizing:border-box; transition:border-color .2s ease, box-shadow .2s ease;}
.recruit-guide-link:hover {border-color:#2b5aa8; box-shadow:0 6px 18px rgba(18,18,18,0.08);}
.recruit-guide-link img {display:block; width:auto; height:36px; max-width:196px; object-fit:contain;}
.recruit-guide-slogan {overflow:hidden; width:100vw; margin:var(--space-140) 0 0; margin-left:calc(50% - 50vw); pointer-events:none; user-select:none;}
.recruit-guide-slogan-track {display:flex; width:max-content; animation:recruitGuideSloganMarquee 40s linear infinite;}
.recruit-guide-slogan-txt {flex-shrink:0; padding-right:80px; font-family:'Archivo', sans-serif; font-size:clamp(48px, calc(140 / 1920 * 100vw), 140px); font-weight:500; line-height:1.1em; letter-spacing:-0.02em; color:#f4f4f4; white-space:nowrap;}
@keyframes recruitGuideSloganMarquee {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
.recruit-guide-contact {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-40); padding:var(--space-80) 0; overflow:hidden;}
.recruit-guide-contact-bg {position:absolute; inset:0; z-index:0;}
.recruit-guide-contact-bg img {display:block; width:100%; height:100%; object-fit:cover;}
.recruit-guide-contact-inner {position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:var(--space-40); width:100%;}
.recruit-guide-contact-head {text-align:center;}
.recruit-guide-contact-head .tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.45em; color:#fff; letter-spacing:-0.02em;}
.recruit-guide-contact-head .desc {margin:var(--space-24) 0 0; font-size:var(--font-size-18); font-weight:500; line-height:1.45em; color:rgba(255,255,255,0.7); letter-spacing:-0.02em;}
.recruit-guide-contact-list {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:40px;}
.recruit-guide-contact-item {display:flex; align-items:center; gap:var(--space-16); padding-right:var(--space-16); background:rgba(255,255,255,0.12); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);}
.recruit-guide-contact-item .label {display:inline-flex; align-items:center; justify-content:center; padding:10px var(--space-16); font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:#fff; letter-spacing:-0.02em; background:#121212;}
.recruit-guide-contact-item .txt {font-size:var(--font-size-16); font-weight:500; line-height:1.5em; color:#fff; letter-spacing:-0.02em;}

/* 복리후생 */
.recruit-welfare-grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); padding-bottom: var(--space-140);}
.recruit-welfare-item {display:flex; flex-direction:column; gap:var(--space-60); min-height:100%; padding:var(--space-40); border:1px solid #eee; margin:-1px 0 0 -1px; box-sizing:border-box;}
.recruit-welfare-visual {border:1px solid #eee; margin:-1px 0 0 -1px; overflow:hidden; box-sizing:border-box;}
.recruit-welfare-visual .img {position:relative; width: 100%; height: 100%;}
.recruit-welfare-visual .img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.recruit-welfare-icon {display:flex; align-items:flex-end; justify-content:flex-start; width:52px; height:52px;}
.recruit-welfare-body .tit {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}
.recruit-welfare-body .desc p {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.67em; color:#505050; letter-spacing:-0.02em;}

.com-board-wrap {padding-bottom: var(--space-140);}
