@charset "utf-8";

/* 공통 */
.text-indent {text-indent: -9999px;}
.sub-section {padding: var(--space-100) 0 var(--space-150);}
.sub-section:first-child {padding-top: 0;}
.sub-section:last-child {padding-bottom: 0;}
.real-cont.pb0 .sub-section:last-child {padding-bottom: var(--space-100);}
.sub-title.has-lead h2 {padding-bottom:var(--space-24);}
.sub-lead {margin-bottom:var(--space-80); color:#505050; font-size:var(--font-size-24); font-weight:500; line-height:1.5em; letter-spacing:-.03em; text-align:center;}


/*************************** 회사소개 ***************************/
/* 회사개요 */
.overview-intro {display:flex; flex-direction:column; align-items:center; gap:var(--space-32); text-align:center;}
.overview-slogan {display:inline-flex; gap:var(--space-6); align-items:flex-start; justify-content:center;}
.overview-slogan span {font-size:var(--font-size-56); font-weight:700; line-height:1em; letter-spacing:-.03em; background:linear-gradient(90deg, #3f3773 0%, var(--color-secondary) 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.overview-slogan:after {content:""; flex-shrink:0; width:8px; height:8px; margin-top:2px; border-radius:50%; background:var(--color-secondary);}
.overview-lead {color:var(--color-sub); font-size:var(--font-size-24); font-weight:600; line-height:1.333em; letter-spacing:-.03em;}
.overview-body {display:flex; flex-direction:column; gap:var(--space-18); width:100%; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.03em;}
.overview-body strong {font-weight:700; color:var(--color-secondary);}
.overview-visual {overflow:hidden;  border-radius:var(--radius-16);}

/* 인사말 */
.greeting-section {display:flex; gap:var(--space-80); align-items:flex-start;}
.greeting-visual {flex-shrink:0; overflow:hidden; width:46%; max-width: 650px; border-radius:var(--radius-16);}
.greeting-cont {flex:1; min-width:0;}
.greeting-slogan {display:block;}
.greeting-slogan span {font-size:var(--font-size-36); font-weight:700; line-height:1.333em; letter-spacing:-.03em; background:linear-gradient(90deg, #3f3773 0%, var(--color-secondary) 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.greeting-slogan span:after {content:""; display:inline-block; width:8px; height:8px; margin:2px 0 0 var(--space-6); vertical-align:top; border-radius:50%; background:var(--color-secondary); -webkit-background-clip:border-box; background-clip:border-box;}
.greeting-body {display:flex; flex-direction:column; gap:var(--space-40); padding-top:var(--space-40); border-top:1px solid #ddd;}
.greeting-txt {display:flex; flex-direction:column; gap:var(--space-28); color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.03em;}
.greeting-sign {display:flex; flex-wrap: wrap; gap:var(--space-16); align-items:center;}
.greeting-sign-ko {color:var(--color-sub); font-size:var(--font-size-20); font-weight:700; line-height:1em; letter-spacing:-.03em;}
.greeting-sign-en {display:block; height:48px; width:auto;}

/* 핵심가치 */
.value-list {display:flex; flex-wrap:wrap; gap:var(--space-42);}
.value-item {flex:1 1 calc(33.333% - var(--space-42) / 3 * 2); position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border-radius:var(--radius-16);}
.value-item:after {content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 50%, #3f3773 100%); pointer-events:none;}
.value-item .txt {position:absolute; bottom: 0; left: 0; z-index:1; display:flex; flex-direction:column; gap:var(--space-12); padding:var(--space-30);}
.value-item .tit {display:block; color:#fff; font-size:var(--font-size-24); font-weight:700; line-height:1em; letter-spacing:-.03em;}
.value-item .desc {color:rgba(255,255,255,.85); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-.03em;}

/* 인증서 */
.cert-list {display:flex; flex-wrap:wrap; gap:var(--space-60) var(--space-40);}
.cert-item {flex:0 1 calc(25% - var(--space-40) / 4 * 3); position:relative; display:flex; flex-direction:column; gap:var(--space-28); align-items:center;}
.cert-thumb {position: relative; width: 100%; overflow:hidden; padding-bottom: 124.3%; border-radius:var(--radius-8); background:#fefefe;}
.cert-thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border-radius:var(--radius-8); border:1px solid rgba(0,0,0,.08);}
.cert-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:100%; max-height:100%; object-fit:contain;}
.cert-name {width:100%; color:var(--color-sub); font-size:var(--font-size-20); font-weight:500; line-height:1.4em; letter-spacing:-.03em; text-align:center;}

/* 주요 고객사 */
.client-list {display:flex; flex-wrap:wrap; gap:var(--space-40);}
.client-item {flex:0 1 calc(25% - var(--space-40) / 4 * 3); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.client-item .img {position: relative; width: 100%; overflow:hidden; padding-bottom: 36.4%; border-radius:var(--radius-8);}
.client-item .img:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border-radius:var(--radius-8); border:1px solid rgba(0,0,0,.08);}
.client-item .img 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:100%; max-height:100%; object-fit:contain;}

/* 오시는 길 */
.location-section {display:flex; flex-direction:column; gap:var(--space-40);}
.location-map {position:relative; overflow:hidden; border-radius:var(--radius-16);}
.location-map .map-box {position:relative; width:100%; height:420px; background:#e8e8e8;}
.location-map .root_daum_roughmap,
.location-map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.location-addr {position:absolute; left:var(--space-30); bottom:var(--space-30); z-index:1; display:flex; flex-direction:column; gap:var(--space-24); width:clamp(280px, calc(453 / var(--inner) * 100vw), 453px); max-width:calc(100% - var(--space-60)); padding:var(--space-28); border-radius:var(--radius-16); background:var(--color-secondary);}
.location-addr .label {display:flex; gap:var(--space-12); align-items:center;}
.location-addr .ico {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border-radius:20px; background:#faf9fe;}
.location-addr .ico img {display:block; width:24px; height:24px;}
.location-addr .tit {color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.location-addr .txt {color:#fff; font-size:var(--font-size-18); font-weight:400; line-height:1.4em; letter-spacing:-.03em;}
.location-contact {display:flex; gap:var(--space-40);}
.location-contact .item {flex:1; display:flex; gap:var(--space-24); align-items:center; padding:var(--space-28); border-radius:var(--radius-16); background:rgba(119,103,217,.04);}
.location-contact .label {display:flex; gap:var(--space-12); align-items:center;}
.location-contact .ico {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border-radius:20px; background:var(--color-secondary);}
.location-contact .ico img {display:block; width:24px; height:24px;}
.location-contact .tit {color:var(--color-sub); font-size:var(--font-size-20); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.location-contact .txt {color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1em; letter-spacing:-.03em;}
.location-contact .txt a {color:inherit;}

/*************************** 사업영역 ***************************/
/* 행사 기획 및 운영 */
.biz-process {display:flex; flex-wrap:wrap; gap:var(--space-64) var(--space-42);}
.biz-process-item {flex:0 1 calc(33.333% - var(--space-42) / 3 * 2); display:flex; flex-direction:column; gap:var(--space-30);}
.biz-process-num {display:flex; gap:var(--space-30); align-items:center;}
.biz-process-num:after {content:""; flex:1; height:1px; background:rgba(119,103,217,.4);}
.biz-process-num span {position:relative; display:flex; align-items:center; justify-content:center; flex-shrink:0; width:64px; height:64px; border:1px dashed var(--color-secondary); border-radius:50%; font-size:var(--font-size-24); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.biz-process-num span:before {content:""; position:absolute; top:50%; left:50%; width:48px; height:48px; transform:translate(-50%,-50%); border-radius:50%; z-index: -1;}
.biz-process-item:nth-child(odd) .biz-process-num span {color:#fff;}
.biz-process-item:nth-child(odd) .biz-process-num span:before {background:var(--color-secondary);}
.biz-process-item:nth-child(even) .biz-process-num span {color:var(--color-secondary);}
.biz-process-item:nth-child(even) .biz-process-num span:before {background:#f9f9f9;}
.biz-process-txt {display:flex; flex-direction:column; gap:var(--space-20);}
.biz-process-txt .tit {display:block; color:var(--color-sub); font-size:var(--font-size-24); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.biz-process-txt .desc {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-.03em;}
.biz-process-img {overflow:hidden; border-radius:var(--radius-16);}

/* 광고 및 홍보 · 유통사업부 공통 카드 */
.biz-feature-list {display:flex; gap:var(--space-32);}
.biz-feature-item {position:relative; flex:1; display:flex; overflow:hidden; aspect-ratio:176/95; padding:var(--space-50); border-radius:var(--radius-24);}
.biz-feature-item > img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.biz-feature-item .txt {position:relative; z-index:1; display:flex; flex-direction:column; justify-content:space-between; width:100%;}
.biz-feature-item .info {display:flex; flex-direction:column; gap:var(--space-28); color:#fff;}
.biz-feature-item .tit {display:block; font-size:var(--font-size-28); font-weight:700; line-height:1em; letter-spacing:-.03em;}
.biz-feature-item .desc {max-width:504px; opacity:.8; font-size:var(--font-size-18); font-weight:400; line-height:1.556em; letter-spacing:-.03em;}
.biz-feature-item .tags {display:flex; flex-wrap:wrap; gap:var(--space-8);}
.biz-feature-item .tags li {padding:0px 12px; border-radius:1000px; background:rgba(255,255,255,.2); color:#fff; font-size:var(--font-size-14); font-weight:600; line-height:2em; letter-spacing:-.03em;}

/* 광고 및 홍보 */
.ad-sec-tit {margin-bottom: var(--space-56);}
.ad-sec-tit h3 { color:var(--color-sub); font-size:var(--font-size-32); font-weight:600; line-height:1em; letter-spacing:-.03em; text-align:center;}
.ad-kpi {padding:var(--space-100) 0; background:#f4f4f4;}
.ad-kpi-lead {margin-top: var(--space-24); color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.5em; letter-spacing:-.03em; text-align:center;}
.ad-kpi-list {display:flex; flex-wrap:wrap; gap:var(--space-24);}
.ad-kpi-item {flex:1; display:flex; flex-direction:column; align-items:center; gap:var(--space-32); padding:var(--space-30); border-radius:var(--radius-16); background:#fff; text-align:center;}
.ad-kpi-item .num {display:inline-flex; align-items:center; justify-content:center; min-width:58px; padding:var(--space-8) var(--space-20); border-radius:1000px; background:var(--color-secondary); color:#fff; font-size:var(--font-size-16); font-weight:700; line-height:1em; letter-spacing:-.03em;}
.ad-kpi-item .ico {display:block; width:64px; height:64px;}
.ad-kpi-item .txt {display:flex; flex-direction:column; gap:var(--space-16); width:100%;}
.ad-kpi-item .tit {display:block; color:var(--color-sub); font-size:var(--font-size-24); font-weight:700; line-height:1.2em; letter-spacing:-.03em;}
.ad-kpi-item .desc {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; letter-spacing:-.03em;}

/*************************** 포트폴리오 ***************************/
.board-search.type2 {display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px;}
.board-search.type2:after {display: none;}
.board-search.type2 .cate-wrap {display: flex; align-items: center; gap: var(--space-16);}
.board-search.type2 .total-page {font-size: 16px; color: #121212; line-height: 1.75em; font-weight: 600;}
.board-search.type2 .total-page .num {color: var(--color-secondary);}
.board-search.type2 .input {height: 48px; border-color: #ddd; border-radius: 8px; font-size: 14px; line-height: 1.33em; color: #242424; }
.board-search.type2 .input.search-input {height: 100%; width: 260px; padding: 0 var(--space-20); border-radius: 8px;}
.board-search.type2 .input.search-input::placeholder {color: #bebebe;}
.board-search.type2 select.input {padding-right: 58px; padding-left: 16px; background-position: right 16px center; font-size: 15px;}
.board-search.type2 .search {display: flex; align-items: center; gap: 8px;}
.board-search.type2 .cate {float: unset; margin-left: 0;}
.board-search.type2 .input-wrap {gap: var(--space-12); height: 48px;}
.submit-btn {flex-shrink: 0; width: 48px; height: 48px; background:#1C1C1C url(../images/common/search-icon.svg) no-repeat center; border: none; border-radius: 8px;}
.card-list .link-item .info .box {display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-28);}
.card-list .link-item .info .box .cate {color: var(--color-secondary); font-size: 16px; font-weight: 700; line-height: 1.33em; letter-spacing: -0.03em;}

/* 포트폴리오 상세 */
.pf-view {display:flex; gap:clamp(48px, calc(96 / var(--inner) * 100vw), 96px); align-items:flex-start; padding-top: var(--space-120);}
.pf-slide-wrap {flex-shrink:0; width:48%; max-width:680px;}
.pf-swiper-main {position:relative; width:100%; margin-bottom:var(--space-24);}
.pf-swiper-main .pf-swiper-slide {background:#fff;}
.pf-swiper-main .thumb {position:relative; display:block; overflow:hidden; padding-bottom:71.5%; border-radius:var(--radius-16); background:#fff;}
.pf-swiper-main .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:100%; max-height:100%; object-fit:cover;}
.pf-swiper-thumb {width:100%;}
.pf-swiper-thumb .swiper-slide {cursor:pointer;}
.pf-swiper-thumb .thumb {position:relative; display:block; overflow:hidden; padding-bottom:71.5%; border-radius:var(--radius-12); background:#eee;}
.pf-swiper-thumb .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:100%; max-height:100%; object-fit:cover;}
.pf-swiper-thumb .thumb:after {content:""; position:absolute; inset:0; border:2px solid transparent; border-radius:var(--radius-12); pointer-events:none;}
.pf-swiper-thumb .swiper-slide-thumb-active .thumb:after {border-color:var(--color-secondary);}
.pf-swiper-main .swiper-button-next,
.pf-swiper-main .swiper-button-prev {top: 50%; transform: translateY(-50%); width:50px; height:50px; margin-top:0; border-radius:50%; background:rgba(0, 0, 0, 0.2) url(../images/sub/pf-arrow.svg) no-repeat center; transition: .3s;}
.pf-swiper-main .swiper-button-prev {left: var(--space-30); transform: translateY(-50%) rotate(180deg);}
.pf-swiper-main .swiper-button-next {right: var(--space-30);}
.pf-swiper-main .swiper-button-next:hover,
.pf-swiper-main .swiper-button-prev:hover {background-color:#fff; background-image:url(../images/sub/pf-arrow-active.svg);}
.pf-info {flex:1; min-width:0;}
.pf-info-head {display:flex; flex-direction:column; gap:var(--space-10); width:100%; padding-bottom:var(--space-32); margin-bottom: var(--space-32); border-bottom:1px solid #121212;}
.pf-info-head .cate {color:var(--color-secondary); font-size:var(--font-size-16); font-weight:600; line-height:1.4em; letter-spacing:-.03em;}
.pf-info-head .tit {color:var(--color-sub); font-size:var(--font-size-32); font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.pf-info-head .desc {color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.4em; letter-spacing:-.03em;}
.pf-info-block {display:flex; flex-direction:column; gap:var(--space-28); width:100%; padding-bottom: var(--space-32);}
.pf-info-block + .pf-info-block {padding-top:var(--space-32); padding-bottom: var(--space-40); border-top:1px solid #ddd;}
.pf-info-block .label {display:block; color:var(--color-sub); font-size:var(--font-size-18); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.pf-list {display:flex; flex-direction:column; gap:var(--space-10);}
.pf-list li {position:relative; padding-left:12px; color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; letter-spacing:-.03em;}
.pf-list li:before {content:""; position:absolute; top:0.55em; left:0; width:4px; height:4px; border-radius:50%; background:var(--color-secondary);}
.pf-view-list {display:inline-flex; gap:10px; align-items:center; color:#888; font-size:var(--font-size-18); font-weight:500; line-height:1em; margin-left: auto ;letter-spacing:-.05em;}
.pf-view-list:hover {color: vaR(--color-sub);}
.pf-view-list:after {content:""; width:24px; height:24px; border-radius:50%; background:#888 url(../images/sub/pf-view-list.svg) no-repeat center; transition: .3s;}
.pf-view-list:hover:after {background-color:var(--color-secondary);}

/*************************** 커뮤니티 ***************************/
.board-form .input {border-radius:8px;}
.btn-pack.round {border-radius:8px;}
.board-search .input {border-radius: 4px;}
.board-search .btn-pack {border-radius: 4px;}