/* ============================================================
   TND 서브 공통 + 헤더 GNB + 전체메뉴 (피그마 정합 2026-08-04)
   히어로/카드/그리드 수치는 시안 절대좌표 기준 (1920 아트보드)
   ============================================================ */

/* ── 헤더 (사이트 전역: 메인=투명/흰글씨, 서브=흰배경/검정글씨) ── */
.header { border-bottom: 0; }
.gnb { height: 100px; padding: 0; } /* navbar 기본 상하패딩 8px 제거 — 100px 정중앙 정렬 */
.gnb > .container-fluid { width: 100%; height: 100%; display: flex; justify-content: space-between; align-items: center; position: relative; } /* basic.css .gnb>.container 레이아웃 승계 — padding·max-width는 basic 기본(fluid 70px/4%) */
.navbar-brand { padding: 0; margin: 0; }
.navbar-brand .logo { width: 215px; padding-bottom: 10px;}
.gnb .nav-list { display: flex; margin: 0; gap: 42px; } /* 시안 메뉴간격 70px = gap 22 + nav-link 기본패딩 좌우 24+24 */
.gnb .nav-item::after { display: none; }
.gnb .nav-link { font-size: 1.125rem; font-weight: 700; color: var(--bs-white); } /* 패딩은 basic.css 기본값(0.5rem 1.5rem) 유지 */
.gnb .nav-item.active > a { color: var(--bs-white); }
.gnb .submenu { left: 50%; transform: translateX(-50%); text-align: center; }
.header-utils { align-items: center; }
.lang-switch { display: flex; align-items: center; gap: 12px; margin-right: 50px; }
.lang-link { font-size: 0.9375rem; font-weight: 500; color: var(--bs-gray-aaa); }
.lang-link.on { color: var(--bs-white); }
.lang-link:hover, .lang-link:focus { color: var(--bs-white); }
.lang-bar { width: 1px; height: 12px; background: rgba(var(--bs-white-rgb),.5); }
.btn-trigger { padding: 0; }
.btn-trigger .bi { font-size: 1.5rem; color: var(--bs-white); }

/* 서브·스크롤 시(흰 배경) 다크 모드 */
.page-sub .header, .header.isFixed { background: var(--bs-white); }
.page-sub .navbar-brand .logo-wh, .header.isFixed .navbar-brand .logo-wh { display: none; }
.page-sub .navbar-brand .logo-dark, .header.isFixed .navbar-brand .logo-dark { display: block; }
.page-sub .gnb .nav-link, .header.isFixed .gnb .nav-link { color: var(--bs-dark); }
.page-sub .gnb .nav-item.active > a, .header.isFixed .gnb .nav-item.active > a { color: var(--bs-green); }
.page-sub .gnb .nav-item:hover .nav-link, .header.isFixed .gnb .nav-item:hover .nav-link { color: var(--bs-green); }
.page-sub .lang-link, .header.isFixed .lang-link { color: var(--bs-gray-999); }
.page-sub .lang-link.on, .header.isFixed .lang-link.on { color: var(--bs-dark); }
.page-sub .lang-bar, .header.isFixed .lang-bar { background: var(--bs-gray-ccc); }
.page-sub .btn-trigger .bi, .header.isFixed .btn-trigger .bi { color: var(--bs-dark); }
.page-sub #content { padding-top: 100px; }

/* 구 서브 네비(스탠다드 템플릿) — 시안에 없음 */
#snb, #mSnb { display: none; }

/* ── 전체메뉴 (시안 all_menu: 남색 그라데이션) ── */
.all-menu { background: linear-gradient(180deg, var(--bs-navy-01112e) 0%, var(--bs-primary) 100%); }
.all-menu .container-fluid { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; } /* basic.css .all-menu .container 레이아웃 승계 */
.all-menu-header { height: 100px; border-bottom: 0; }
.all-menu-header .btn-close { width: 40px; height: 41px; background: transparent url('/images/icon/close-x.svg') center / 40px 41px no-repeat; opacity: 1; box-shadow: none; filter: none; } /* 시안 x-01(24:278) SVG */
.all-menu-nav { max-height: calc(100vh - 130px); padding: 0; }
.am-list { width: 100%; max-width: 1200px; margin: 10px auto 0; padding: 0; list-style: none; }
.am-row { display: flex; align-items: center; padding:40px 0;; }
.am-row:first-child {padding-top:0;}
.am-row + .am-row { border-top: 1px solid rgba(var(--bs-white-rgb),.2); } /* 시안 Line 1~4 = white@0.2 */
.am-title { width: 323px; flex: none; font-size: calc(1.425rem + 2.1vw); font-weight: 800; color: var(--bs-white); }
@media (min-width: 1200px) { .am-title { font-size: 3rem; } }
.am-title:hover { color: var(--bs-white); }
.am-subs { display: flex; flex-wrap: wrap; align-items: center; font-size: calc(1.325rem + 0.9vw); font-weight: 400; color: var(--bs-white); }
@media (min-width: 1200px) { .am-subs { font-size: 2rem; } }
.am-subs a { color: rgba(var(--bs-white-rgb),.5); } /* 시안 서브메뉴 텍스트 nodeOp=0.5 */
.am-subs a:hover, .am-subs a.active { color: var(--bs-green); }
.am-subs span { margin: 0 18px; color: rgba(var(--bs-white-rgb),.5); }

/* ── 서브 공통 골격 ── */
.sub-hero { height: 300px; display: flex; align-items: center; justify-content: center; }
.sub-hero-title { margin: 0; font-size: calc(1.475rem + 2.7vw); font-weight: 800; color: var(--bs-dark); }
@media (min-width: 1200px) { .sub-hero-title { font-size: 3.5rem; } }
section + section { padding-top: 0; } /* 인접 섹션 겹침(400) 방지 — 간격은 앞 섹션 pb 담당 */
.sub-hero + section { padding-top: 0; } /* 첫 섹션은 타이틀 바로 아래 */
.page-sub .footer { margin-top: 0; } /* 푸터 간격 = 마지막 섹션 pb */
.sub-hero-img { display: block; width: 100%; border-radius: 40px; object-fit: cover; }
.t56 { font-size: calc(1.475rem + 2.7vw); font-weight: 800; color: var(--bs-dark); margin: 0; }
@media (min-width: 1200px) { .t56 { font-size: 3.5rem; } }
.t40 { font-size: calc(1.375rem + 1.5vw); font-weight: 800; color: var(--bs-dark); margin: 0; }
@media (min-width: 1200px) { .t40 { font-size: 2.5rem; } }
.p20 { font-size: 1.25rem; font-weight: 400; color: var(--bs-dark); margin: 0; }
@media (min-width: 1200px) { .p20 { font-size: 1.25rem; } }

/* ── 회사개요 ── */
.ov-intro { text-align: center; }
.ov-intro .p20 { margin-top: 60px; }
.ov-card { position: relative; border-radius: 40px; overflow: hidden; background: var(--bs-primary) center / cover no-repeat; padding: 100px 100px 80px; color: var(--bs-white); }
.ov-card h3 { font-size: calc(1.375rem + 1.5vw); font-weight: 800; color: var(--bs-white); margin: 0; }
@media (min-width: 1200px) { .ov-card h3 { font-size: 2.5rem; } }
.ov-grid { display: grid; grid-template-columns: 400px 400px; column-gap: 60px; margin: 100px 0 0 260px; }
.ov-it { margin-bottom: 60px; }
.ov-it dt { font-size: calc(1.275rem + 0.3vw); font-weight: 800; color: var(--bs-green); padding-bottom: 20px; border-bottom: 1px solid var(--bs-gray-ddd); margin-bottom: 20px; }
@media (min-width: 1200px) { .ov-it dt { font-size: 1.5rem; } }
.ov-it dd { font-size: 1.25rem; font-weight: 400; color: var(--bs-white); margin: 0; }
@media (min-width: 1200px) { .ov-it dd { font-size: 1.25rem; } }

/* ── CEO 인사말 ── */
.ceo-intro .p20 { margin-top: 60px; }
.ceo-item { display: flex; gap: 80px; align-items: flex-start; }
.ceo-item + .ceo-item { margin-top: 200px; }
.ceo-img { width: 670px; flex: none; border-radius: 40px; aspect-ratio: 1 / 1; object-fit: cover; }
.ceo-txt { padding-top: 280px; max-width: 570px; }
.ceo-num { font-size: calc(1.375rem + 1.5vw); font-weight: 800; color: var(--bs-gray-999); margin: 0 0 70px; }
@media (min-width: 1200px) { .ceo-num { font-size: 2.5rem; } }
.ceo-txt h3 { margin: 0 0 40px; }

/* ── 조직도 ── */
.org-divider { border: 0; border-top: 1px solid var(--bs-gray-ddd); margin: 0; opacity: 1; }
.org-chart { position: relative; }
.org-chart .chart { position: relative; width: 100%; z-index: 2; }
.org-chart .lines { position: absolute; left: 6.44%; top: 8.97%; width: 80.38%; z-index: 1; }

/* ── CI 소개 ── */
.ci-hero { padding:170px 0; border-radius: 40px; background: linear-gradient(95deg, #1C3052 36.65%, #3E6BB8 100%); display: flex; align-items: center; justify-content: center; }
.ci-hero img { width: 60%; max-width: 796px; height: auto; }
.ci-sec { display: flex; }
.ci-head { width: 360px; flex: none; }
.ci-body { flex:1;}
.ci-body > .p20 { margin-top: 10px; }
.ci-types { display: flex; gap: 20px; margin-top: 40px; }
.ci-type { width: 100%; height: 340px; background: var(--bs-light); border-radius: 40px; position: relative; display: flex; align-items: center; justify-content: center; }
.ci-type em { position: absolute; top: 50px; left: 50px; font-style: normal; font-size: 1rem; font-weight: 700; color: var(--bs-gray-888); }
.ci-type .img-kor { max-width: 265px; }
.ci-type .img-eng { max-width: 347px; }
.ci-sym-box { width: 100%; height: 340px; background: var(--bs-light); border-radius: 40px; margin-top: 40px; display: grid; column-gap: 12px; row-gap: 23px; align-items: center; align-content: center; justify-content: center; }
.ci-sym-box .lb { font-size: 1.25rem; font-weight: 700; color: var(--bs-dark); }


/* ── 모회사 현황 ── */
.pa-info { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 60px; }
.pa-it dt { font-size: calc(1.275rem + 0.3vw); font-weight: 800; color: var(--bs-dark); padding-bottom: 20px; border-bottom: 1px solid var(--bs-gray-ddd); margin-bottom: 20px; }
@media (min-width: 1200px) { .pa-it dt { font-size: 1.5rem; } }
.pa-it dd { font-size: 1.25rem; font-weight: 400; color: var(--bs-dark); margin: 0; }
@media (min-width: 1200px) { .pa-it dd { font-size: 1.25rem; } }
.pa-it { margin-bottom: 60px; }
.pa-it.wide { grid-column: 2 / 4; }
.pa-hist { display:flex; flex-direction:column; align-items:flex-end; border-radius: 40px; background: var(--bs-navy-244274) center / cover no-repeat; padding: 100px 80px 90px 80px; color: var(--bs-white); min-height: 540px; }
.pa-hist h3 { color: var(--bs-white); margin: 0 0 50px; }
.pa-hist dl { display: grid; grid-template-columns: 87px 1fr; margin: 0; }
.pa-hist dl + dl {margin-top:25px;}
.pa-hist dt { font-size: 1.25rem; font-weight: 800; color: var(--bs-white); }
@media (min-width: 1200px) { .pa-hist dt { font-size: 1.25rem; } }
.pa-hist dd { font-size: 1.25rem; font-weight: 400; color: var(--bs-white); margin: 0; }
@media (min-width: 1200px) { .pa-hist dd { font-size: 1.25rem; } }
.pa-asset-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 21px; margin-top: 40px; }
.pa-asset-grid .pa-asset:nth-child(1) {background-image: url("/images/sub/asset-01.png"); background-size:cover; background-position:center;}
.pa-asset-grid .pa-asset:nth-child(2) {background-image: url("/images/sub/asset-02.png"); background-size:cover; background-position:center;}
.pa-asset-grid .pa-asset:nth-child(3) {background-image: url("/images/sub/asset-03.png"); background-size:cover; background-position:center;}
.pa-asset { position: relative; border-radius: 40px; overflow: hidden; background: var(--bs-gray-333) center / cover no-repeat; padding: 50px; }
.pa-asset em { font-style: normal; font-size: calc(1.275rem + 0.3vw); font-weight: 800; color: var(--bs-green); }
@media (min-width: 1200px) { .pa-asset em { font-size: 1.5rem; }  .pa-asset {aspect-ratio: 426 / 340; }}
.pa-asset p { position: absolute; left: 50px; right: 40px; bottom: 50px;  font-weight: 800; color: var(--bs-white); margin: 0; }





/* ── 윤리헌장·채용 공통 목록 ── */
.rule-list { margin-top: 100px; }
.rule-row { display: flex; border-top: 1px solid var(--bs-dark); padding: 40px 0 150px; }
.rule-row:last-child { padding-bottom: 0; }
.rule-num { width: 69px; flex: none; font-size: calc(1.275rem + 0.3vw); font-weight: 800; }
@media (min-width: 1200px) { .rule-num { font-size: 1.5rem; } }
.rule-label { width: 491px; flex: none; font-size: calc(1.275rem + 0.3vw); font-weight: 800; }
@media (min-width: 1200px) { .rule-label { font-size: 1.5rem; } }
.rule-desc { flex: 1; font-size: 1.25rem; font-weight: 400; }
@media (min-width: 1200px) { .rule-desc { font-size: 1.25rem; } }
.rule-desc.b { font-weight: 800; }
.rule-desc ul { margin: 0; padding: 0; list-style: none; }
.rule-desc li { position: relative; padding-left: 15px; }
.rule-desc li::before { content: ''; width: 3px; height: 3px; border-radius: 50%; background: var(--bs-dark); position: absolute; left: 0; top: 13px; }
.sec-split { display: flex; }
.sec-split .sp-head { width: 360px; flex: none; }
.sec-split .sp-body { width: 960px; }
.sec-split .sp-body .p20 { margin-top: 10px; }

/* ── 채용 ── */
.rec-card { position: relative; border-radius: 40px; overflow: hidden; background: var(--bs-navy-244274) center / cover no-repeat; min-height: 540px; display: flex; flex-direction: column; justify-content: flex-end; padding: 80px; }
.rec-card em { font-style: normal; font-size: 1.25rem; font-weight: 800; color: var(--bs-white); margin-bottom: 20px; }
@media (min-width: 1200px) { .rec-card em { font-size: 1.25rem; } }
.rec-card h3 { font-size: calc(1.375rem + 1.5vw); font-weight: 800; color: var(--bs-white); margin: 0; }
@media (min-width: 1200px) { .rec-card h3 { font-size: 2.5rem; } }

/* ── 오시는길 ── */
.loc-info { position: relative; display: flex; gap: 60px; align-items:center; }
.loc-info .pa-it {margin-bottom:0; width:100%; max-width:400px;}
.loc-btn { margin-left:auto; width:100%; max-width: 250px; height: 65px; border-radius: 48px; background: var(--bs-primary); color: var(--bs-white); font-size: 1.25rem; font-weight: 800; display: flex; align-items: center; justify-content: center; }
@media (min-width: 1200px) { .loc-btn { font-size: 1.25rem; } }
.loc-btn:hover { background: var(--bs-navy-0246b8); color: var(--bs-white); }
@media (max-width: 1200px){
	.loc-info {flex-wrap:wrap;}
	.loc-info .pa-it {width:calc(50% - 30px);}
	.loc-btn  {margin-left:0;}
}
@media (max-width: 840px){
	.loc-info {gap:30px;}
	.loc-info .pa-it {width:100%; max-width:100%;}
}

/* ── 반응형 ── */
@media (max-width: 1500px) {
    .gnb .nav-list { gap: 22px; } /* 기본패딩 48px가 최소 간격 */
}
@media (max-width: 1200px) {
    .gnb .nav-list { display: none; }
    .sub-hero { height: 220px; }.ceo-item + .ceo-item { margin-top: 120px; }
    .ov-card { padding: 60px; }
    .ov-grid { margin: 60px 0 0; grid-template-columns: 1fr 1fr; }
    .ceo-item { gap: 40px; }
    .ceo-img { max-width: 46%; }
    .ceo-txt { padding-top: 40px; }
    .ceo-num { margin-bottom: 30px; }
	.ci-head {width:100%;}
    .ci-sec, .sec-split { flex-direction: column; }
    .ci-body, .sec-split .sp-body { width: 100%; }
    .ci-body > .p20, .sec-split .sp-body .p20 { margin-top: 30px; }
    .ci-types { flex-wrap: wrap; }
    .ci-sym-box { width: 100%; }
    .pa-info { grid-template-columns: 1fr 1fr; }
    .pa-it.wide { grid-column: auto; }
    .pa-asset-grid { grid-template-columns: 1fr; }
    .pa-asset p { position: static; margin-top: 60px; }
    .rule-row { flex-wrap: wrap; padding: 30px 0 60px; }
    .rule-label { width: calc(100% - 69px); }
    .rule-desc { width: 100%; flex: none; margin-top: 20px; padding-left: 69px; }
    .am-list { margin-top: 0px; }
    .am-subs span { margin: 0 10px; }

    .footer { margin-top: 120px; }
}
@media (max-width: 767px) {
	.ci-type .img-kor {width:70%; max-width:100%;}
	.ci-type .img-eng {width:85%; max-width:100%;}
    .sub-hero { height: 160px; }.p20 { font-size: 1rem; }
    .sub-hero-img { border-radius: 20px; }
    .ceo-item + .ceo-item { margin-top: 80px; }
    .ov-card { padding: 30px; border-radius: 20px; }
    .ov-grid { grid-template-columns: 1fr; }
    .ov-it { margin-bottom: 30px; }
    .ov-it dt, .pa-it dt { font-size: 1.25rem; }
    .ov-it dd, .pa-it dd { font-size: 1rem; }
    .ceo-item { flex-direction: column; gap: 24px; }
    .ceo-img { width: 100%; max-width: 100%; border-radius: 20px; }
    .ceo-txt { padding-top: 0; max-width: 100%; }
    .ceo-num { margin-bottom: 16px; }
    .ceo-txt h3 { margin-bottom: 20px; }
    .ci-hero { border-radius: 20px; padding:130px 0; }
    .ci-hero img { width: 70%; }
    .ci-type { width: 100%; border-radius: 20px; }
    .ci-type em { top: 24px; left: 24px; }
    .ci-sym-box { height: auto; height: 240px;  padding: 40px 30px; border-radius: 20px;  column-gap: 8px; }
    .ci-sym-box .lb { font-size: 0.8125rem; }
    .ci-sym-box .ln { width: 30px; }
    .ci-sym-box .sym { width: 80px; }
    .pa-info { grid-template-columns: 1fr; }
    .pa-it { margin-bottom: 24px; }
    .pa-hist { min-height: 0; padding: 80px 40px 80px 40px; }
    .pa-hist dl { grid-template-columns: 70px 1fr; }
    .pa-hist dt, .pa-hist dd { font-size: 1rem; }
    .pa-asset { padding: 40px 24px; border-radius: 20px; }
    .pa-asset p { margin-top: 40px; font-size: 1.25rem; }
    .rec-card { min-height: 360px; padding: 30px 20px; border-radius: 20px; }.rule-num { width: 40px; font-size: 1.125rem; }
    .rule-label { width: calc(100% - 40px); font-size: 1.125rem; }
    .rule-desc { font-size: 1rem; padding-left: 40px; }
    .rule-desc li::before { top: 11px; }
    .loc-info { grid-template-columns: 1fr; }
    .loc-btn { position: static; margin-top: 30px; width: 100%; }
    .footer { margin-top: 80px; }
	.am-title {width:100%;}
	.am-row {flex-direction:column; align-items:flex-start; gap:20px; padding:30px 0;}

}
@media (max-width: 576px) {
    .navbar-brand .logo { width: 185px; }
	.lang-switch {margin-right:24px;}
	.am-title {font-size: calc(1.1rem + 2.1vw) ; }
	.am-subs {font-size:calc(1rem + 0.9vw);}
}
@media (max-width: 400px) {
    .navbar-brand .logo { width: 160px; }
}

/* 전체메뉴 트리거: 시안은 데스크톱에도 노출(구 템플릿은 1200↑ 숨김) */
@media screen and (min-width: 1200px) {
    .btn-trigger { display: inline-block; }
}

/* 전체메뉴 하단 구 템플릿 잔재(회사명·언어 드롭다운) — 시안에 없음 */
.all-menu-footer { display: none; }

/* ══════════ 게시판 4종 (피그마 36:649/629/1111/1737) ══════════ */
/* ── 공통 프레임 ── */
.tnd-board { padding-bottom: 200px; } /* 좌우 여백·폭은 .container-fluid(basic.css 표준)가 담당 */
.tnd-board.w1320 { max-width: 1320px; margin: 0 auto; }
.empty-list { grid-column: 1 / -1; padding: 100px 0; text-align: center; font-size: 1.125rem; color: var(--bs-gray); }
.tnd-board .all-chk { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 0.9375rem; color: var(--bs-gray-333); }
.tnd-board .board-btns { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; }
.tnd-board .board-btns .btn-outline-light { color: var(--bs-gray-333); border-color: var(--bs-gray-ccc); }
.tnd-board .board-btns .btn-outline-light:hover { background: var(--bs-light); }

/* ── 상단 카운트 + 검색 ── */
.bd-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 60px; }
.bd-count { margin: 0; font-size: 1.125rem; font-weight: 400; color: var(--bs-dark); }
.bd-search { display: flex; align-items: center; gap: 10px; width: 440px; height: 64px; margin: 0; padding: 0 30px; border: 1px solid var(--bs-gray-ddd); border-radius: 40px; background: var(--bs-white); }
.bd-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 1.125rem; font-weight: 400; color: var(--bs-dark); }
.bd-search input::placeholder { color: var(--bs-dark); }
.bd-search .bd-cate { width: auto; flex: none; border: 0; font-size: 1rem; padding: 0; background-position: right center; }
.bd-search-btn { flex: none; border: 0; background: none; padding: 0; }
.bd-search-btn img { display: block; width: 24px; height: 24px; } /* 시안 search-01 SVG */

/* ── 페이지네이션 (50px 원형) ── */
.bd-paging { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 80px 0 0; padding: 0; list-style: none; }
.bd-paging li { margin: 0 !important; /* bootstrap mx-* 유틸 상쇄 */ }
.bd-paging li a, .bd-paging li > span { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; transition: background .2s; }
.bd-paging .page-link-c { font-size: 1.125rem; font-weight: 700; color: var(--bs-gray-999); }
.bd-paging li a:hover { background: var(--bs-light); }
.bd-paging li.active .page-link-c { color: var(--bs-dark); }
.bd-paging .bi { font-size: 1.125rem; color: var(--bs-dark); }
.bd-paging .bi-chevron-left, .bd-paging .bi-chevron-right { display: block; width: 50px; height: 50px; background: center / contain no-repeat; }
.bd-paging .bi-chevron-left::before, .bd-paging .bi-chevron-right::before { content: none; }
.bd-paging .bi-chevron-left { background-image: url('/images/icon/paging-prev.svg'); } /* 시안 93:1098 */
.bd-paging .bi-chevron-right { background-image: url('/images/icon/paging-next.svg'); } /* 시안 93:1099 */
.bd-paging .visually-hidden { display: none; }

/* ── 포트폴리오 (빅1+타일4 교차) ── */
.tnd-board .pf-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-flow: dense; gap: 24px 20px;  }
.pf-cell { position: relative; }
.pf-cell:not(.big) { aspect-ratio: 440 / 373; }
.pf-cell.big { grid-row: span 2; }
.pf-cell.big.left { grid-column: 1 / 3; }
.pf-cell.big.right { grid-column: 3 / 5; }
.pf-item { position: relative; display: block; width: 100%; height: 100%; border-radius: 40px; overflow: hidden; }
.pf-img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pf-item:hover .pf-img { transform: scale(1.05); }
.pf-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(var(--bs-blue-2456b7-rgb),0) 69.7%, var(--bs-navy-102851) 100%); mix-blend-mode: multiply; transition: background .3s; }
.pf-cell.big .pf-item::after { background: none; }
.pf-item:hover::after, .pf-cell.big .pf-item:hover::after { background: var(--bs-primary); }
.pf-title { position: absolute; left: 40px; bottom: 40px; z-index: 2; margin: 0; font-size: calc(1.3125rem + 0.75vw); font-weight: 800; color: var(--bs-white); }
@media (min-width: 1200px) { .pf-title { font-size: 1.875rem; } }
.pf-cell.big .pf-title { font-size: calc(1.35rem + 1.2vw); }
@media (min-width: 1200px) { .pf-cell.big .pf-title { font-size: 2.25rem; } }
.pf-arrow { position: absolute; top: 20px; right: 20px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: var(--bs-white); opacity: 0; transition: opacity .3s; }
.pf-arrow img { width: 24px; height: 24px; } /* 시안 arrow-up-right(36:930) SVG */
.pf-item:hover .pf-arrow { opacity: 1; }
.pf-chk { position: absolute; top: 15px; left: 15px; z-index: 3; width: 20px; height: 20px; }
.pf-cell:nth-child(n+6) { top: -4px; } /* transform 금지 — fixed 모달의 containing block이 셀로 바뀌어 모달이 갇힘(8/10 실사고) */ /* 시안 그룹간 갭 20(타일갭 24와 혼합) 보정 — 페이지당 10건=2그룹 고정 */

/* 포트폴리오 레이어 팝업 */
.project-modal { background: rgba(var(--bs-dark-rgb),.6); }
.project-modal .modal-dialog { max-width: 1000px; margin: 5vh auto; }
.project-modal .modal-content { border: 0; border-radius: 20px; overflow: hidden; }
.project-modal .modal-header { padding: 20px 30px; border-bottom: 1px solid var(--bs-gray-eee); }
.project-modal .modal-title { font-size: 1.25rem; font-weight: 700; }
@media (min-width: 1200px) { .project-modal .modal-title { font-size: 1.25rem; } }
.project-modal .modal-body { padding: 0; }
.project-modal .swiper-slide img { width: 100%; display: block; }

/* ── 보도기사 (4열 카드) ── */
.news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 80px 20px; }
.news-cell { position: relative; }
.news-card { display: block; }
.news-thumb { position: relative; display: block; aspect-ratio: 440 / 280; border-radius: 40px; overflow: hidden; }
.news-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.news-card:hover .news-thumb:not(.noimg) img { transform: scale(1.05); }
.news-thumb.noimg { background: linear-gradient(135deg, var(--bs-navy-102851) 0%, rgba(var(--bs-green-rgb),.3) 100%), var(--bs-primary); display: flex; align-items: center; justify-content: center; }
.news-thumb.noimg img { width: 280px; max-width: 64%; height: auto; object-fit: contain; }
.news-date { display: block; margin: 30px 0 0; font-size: 1rem; font-weight: 600; color: var(--bs-gray); }
.news-title { margin: 15px 0 0; font-size: 1.25rem; font-weight: 700; color: var(--bs-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 1200px) { .news-title { font-size: 1.25rem; } }
.news-chk { position: absolute; top: 15px; left: 15px; z-index: 3; width: 20px; height: 20px; }

/* ── 공시정보 (텍스트 리스트) ── */
.dc-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-gray-ddd); }
.dc-row { position: relative; }
.dc-row > a { display: flex; align-items: center; height: 85px; padding: 0 30px; border-bottom: 1px solid var(--bs-gray-ddd); transition: background .2s; }
.dc-row > a:hover { background: var(--bs-light); }
.dc-no { flex: none; width: 110px; font-size: 1.25rem; font-weight: 700; color: var(--bs-gray-999); }
@media (min-width: 1200px) { .dc-no { font-size: 1.25rem; } }
.dc-subject { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 1.25rem; font-weight: 700; color: var(--bs-dark); }
@media (min-width: 1200px) { .dc-subject { font-size: 1.25rem; } }
.dc-subject .dc-file { margin-left: 10px; vertical-align: -3px; } /* 시안 paperclip(36:1599) SVG */
.dc-date { flex: none; margin-left: 20px; font-size: 0.9375rem; font-weight: 400; color: var(--bs-gray); }
.dc-chk { position: absolute; left: -30px; top: 32px; z-index: 2; }

/* ── 신고제도 (작성 폼) ── */
.rp-form { max-width: 1320px; margin: 0 auto; }
.rp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px 80px; }
.rp-field.full { grid-column: 1 / -1; }
.rp-label { display: block; margin: 0 0 15px; font-size: 1.25rem; font-weight: 600; color: var(--bs-dark); }
@media (min-width: 1200px) { .rp-label { font-size: 1.25rem; } }
.rp-label em { font-style: normal; color: inherit; }
.rp-input { display: block; width: 100%; height: 60px; border: 1px solid var(--bs-gray-ccc); border-radius: 8px; padding: 0 15px; font-size: 1.25rem; font-weight: 400; color: var(--bs-dark); background: var(--bs-white); }
@media (min-width: 1200px) { .rp-input { font-size: 1.25rem; } }
.rp-input::placeholder { color: var(--bs-gray-999); }
.rp-input:focus { outline: 0; border-color: var(--bs-primary); }
.rp-select { appearance: none; -webkit-appearance: none; background: var(--bs-white) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a090b' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 15px center; padding-right: 40px; }
.rp-desc { margin: 15px 0 0; font-size: 1rem; font-weight: 400; color: var(--bs-gray); }
.rp-mail { display: flex; align-items: center; gap: 8px; }
.rp-mail .rp-input { min-width: 0; }
.rp-at { flex: none; font-size: 1.25rem; color: var(--bs-dark); }
@media (min-width: 1200px) { .rp-at { font-size: 1.25rem; } }
.rp-triple { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.rp-subject { display: flex; align-items: center; }
.rp-subject .rp-input { flex: 1; }
.rp-subject-opts { flex: none; font-size: 1rem; color: var(--bs-gray-333); }
.rp-subject-opts:empty { display: none; }
.rp-content textarea.noneEditor { display: block; width: 100%; height: 450px; border: 1px solid var(--bs-gray-ccc); border-radius: 8px; padding: 15px; font-size: 1.25rem; font-weight: 400; color: var(--bs-dark); font-family: inherit; resize: vertical; }
@media (min-width: 1200px) { .rp-content textarea.noneEditor { font-size: 1.25rem; } }
.rp-content textarea.noneEditor:focus { outline: 0; border-color: var(--bs-primary); }
.rp-file { padding: 12px 15px; height: auto; font-size: 1rem; }
.rp-spam { display: flex; align-items: center; gap: 15px; }
.rp-spam .rp-input { max-width: 440px; }
.rp-spam-img img { width: 120px; height: 30px; }
.rp-privacy-box { height: 150px; overflow-y: auto; border: 1px solid var(--bs-gray-ccc); border-radius: 8px; padding: 15px; font-size: 1.25rem; font-weight: 400; color: var(--bs-gray-999); background: var(--bs-white); }
@media (min-width: 1200px) { .rp-privacy-box { font-size: 1.25rem; } }
.rp-privacy-box p { margin: 0 0 10px; }
.rp-agree { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin: 15px 0 0; font-size: 1.25rem; font-weight: 600; color: var(--bs-dark); cursor: pointer; }
@media (min-width: 1200px) { .rp-agree { font-size: 1.25rem; } }
.rp-check { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin: 0; border: 0; background: url('/images/icon/check.svg') center / contain no-repeat; opacity: .35; cursor: pointer; flex: none; } /* 시안 check-broken(36:2182) SVG */
.rp-check:checked { opacity: 1; }
.rp-btns { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 80px; }
.rp-btn { width: 250px; height: 65px; border: 0; border-radius: 48px; background: var(--bs-primary); color: var(--bs-white); font-size: 1.25rem; font-weight: 800; transition: filter .2s; }
@media (min-width: 1200px) { .rp-btn { font-size: 1.25rem; } }
.rp-btn:hover { filter: brightness(1.15); }
.rp-btn.cancel { background: var(--bs-gray-ccc); }

/* ── 게시판 반응형 ── */
@media (max-width: 1200px) {
    .tnd-board { padding-bottom: 140px; }
    .tnd-board .pf-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 80px; }
    .pf-cell.big, .pf-cell.big.left, .pf-cell.big.right { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 900 / 770; }.news-grid { grid-template-columns: repeat(2, 1fr); gap: 60px 16px; }
    .bd-top { flex-direction: column; align-items: stretch; gap: 20px; margin-bottom: 40px; }
    .bd-search { width: 100%; }
    .rp-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 767px) {
    .tnd-board { padding-bottom: 100px; }
    .pf-item, .news-thumb { border-radius: 20px; }
    .pf-title { font-size: 1.125rem; left: 20px; bottom: 20px; }.pf-arrow { width: 44px; height: 44px; top: 12px; right: 12px; }
    .pf-arrow .bi { font-size: 1.25rem; }
    .news-grid { grid-template-columns: 1fr; gap: 40px; }
    .news-date { margin-top: 20px; font-size: 0.875rem; }
    .news-title { font-size: 1.0625rem; }
    .bd-search { height: 52px; padding: 0 20px; }
    .bd-search input { font-size: 0.9375rem; }
    .bd-count { font-size: 0.9375rem; }
    .bd-paging { gap: 6px; margin-top: 50px; }
    .bd-paging li a, .bd-paging li > span { width: 40px; height: 40px; }
    .bd-paging .page-link-c { font-size: 0.9375rem; }
    .dc-row > a { height: 64px; padding: 0 12px; }
    .dc-no { width: 50px; font-size: 0.9375rem; }
    .dc-subject { font-size: 1rem; }
    .dc-subject .dc-file { font-size: 1rem; }
    .dc-date { font-size: 0.75rem; margin-left: 12px; }
    .rp-label { font-size: 1.0625rem; margin-bottom: 10px; }
    .rp-input { height: 52px; font-size: 1rem; padding: 0 12px; }
	.rp-file {padding:12px; height:auto;}
    .rp-content textarea.noneEditor { height: 300px; font-size: 1rem; }
    .rp-privacy-box { height: 130px; font-size: 0.9375rem; }
    .rp-agree { font-size: 1rem; }
    .rp-desc { font-size: 0.8125rem; margin-top: 10px; }
    .rp-grid { gap: 32px; }
    .rp-btns { margin-top: 50px; }
    .rp-btn { width: 50%; max-width: 250px; height: 56px; font-size: 1.0625rem; }
    .project-modal .modal-dialog { margin: 10vh 12px; }
}

/* 게시판 래퍼: 구 템플릿 section 패딩·타이틀 중복 무력화 */
section.board-section { padding: 0; }

/* 게시판 view(구 스킨 마크업) — container-fluid 안 1320 중앙 정렬 */
.board-section .board-view { max-width: 1320px; margin: 0 auto; padding: 0 0 200px; }
@media (max-width: 1420px) { .board-section .board-view { max-width: none; margin: 0; } }
@media (max-width: 767px) { .board-section .board-view { margin: 0; padding-bottom: 100px; } }

.board-section .form-board { padding: 0 0 200px; }
@media (max-width: 767px) { .board-section .form-board {  padding-bottom: 100px; } }

/* ── 개인정보처리방침(privacy.php) ── */
.privacyArea .privacy-doc { font-size: 1rem; } /* 본문 18→16px */
.privacyArea .privacy-doc p, .privacyArea .privacy-doc li { font-size: 1rem; }
.privacyArea .privacy-doc h3 { font-size: 1.25rem; margin-top: 40px; } /* 제N조 제목 20px + 조항 위 단락 구분 */
@media (min-width: 1200px) { .privacyArea .privacy-doc h3 { font-size: 1.25rem; } }
