@charset "UTF-8";

/* ============================================================
   CM TECH (씨엠텍) Sub Page Common Stylesheet
   회사소개 / 제품소개 / 연구개발 / 공장안내 / 채용정보 공통
   Version: 2026-04-24
   ============================================================ */

/* ===== 서브페이지 body 보정 ===== */
body.sub_page{padding-top:0;}

/* ===== 1. Sub Page Banner (페이지 상단 헤더) ===== */
.sub-page-banner{
    position:relative;
    padding:calc(var(--hd-height) + 80px) 0 36px;
    background:#fff;
    border-bottom:1px solid var(--c-gray4);
}
.sub-page-banner .banner-inner{
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;
}
.sub-page-banner .banner-text{
    margin-bottom:48px;
}
.sub-page-banner .banner-label{
    display:block;
    font-family:var(--font-en);
    font-size:14px;
    font-weight:700;
    letter-spacing:.2em;
    color:var(--c-primary);
    margin-bottom:18px;
}
.sub-page-banner .banner-title{
    font-size:54px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    line-height:1;
    margin:0;
}

/* 하단 영역: 브레드크럼 + 셀렉트박스 */
.sub-page-banner .banner-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:24px;
}

/* 브레드크럼 */
.breadcrumb{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:14px;
    color:var(--c-gray1);
}
.breadcrumb .home{
    color:var(--c-gray2);
    font-size:13px;
    transition:color .2s;
    text-decoration:none;
}
.breadcrumb .home:hover{color:var(--c-primary);}
.breadcrumb .sep{
    color:var(--c-gray3);
    font-size:13px;
}
.breadcrumb a{transition:color .2s;text-decoration:none;color:inherit;}
.breadcrumb a:hover{color:var(--c-primary);}
.breadcrumb .current{color:var(--c-black);font-weight:600;}

/* 페이지 셀렉트 (카테고리 / 하위메뉴) */
.page-select{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.page-select .ps-item{
    position:relative;
    min-width:200px;
}
.page-select .ps-current{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    padding:13px 22px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:30px;
    font-size:14px;
    font-weight:500;
    color:var(--c-black);
    cursor:pointer;
    letter-spacing:-.01em;
    transition:border-color .25s;
}
.page-select .ps-current:hover{border-color:var(--c-black);}
.page-select .ps-item.active .ps-current{
    border-color:var(--c-black);
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
}
.page-select .ps-current i{
    font-size:11px;
    color:var(--c-gray2);
    transition:transform .25s;
    margin-left:8px;
}
.page-select .ps-item.active .ps-current i{transform:rotate(180deg);}
.page-select .ps-list{
    position:absolute;
    top:100%;
    left:0;right:0;
    background:#fff;
    border:1px solid var(--c-black);
    border-top:0;
    border-radius:0 0 16px 16px;
    overflow:hidden;
    list-style:none;
    padding:6px 0;
    margin:0;
    display:none;
    z-index:10;
    max-height:320px;
    overflow-y:auto;
}
.page-select .ps-item.active .ps-list{display:block;}
.page-select .ps-list li a{
    display:block;
    padding:11px 22px;
    font-size:13px;
    color:var(--c-gray1);
    transition:all .2s;
    text-decoration:none;
}
.page-select .ps-list li a:hover{
    background:var(--c-gray6);
    color:var(--c-primary);
    padding-left:28px;
}
.page-select .ps-list li.on a{
    color:var(--c-primary);
    font-weight:600;
}

/* ===== 2. 서브페이지 콘텐츠 공통 ===== */
.sub-content{
    padding:120px 0;
    background:#fff;
    position:relative;
    min-height:calc(100vh - var(--hd-height));
    box-sizing:border-box;
}
.sub-content-inner{
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;
}

/* ===== 3. 큰 헤드라인 (페이지 메인 메시지) ===== */
.sub-hero-headline{
    text-align:center;
    margin-bottom:100px;
}
.sub-hero-headline .label{
    display:block;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--c-primary);
    margin-bottom:20px;
}
.sub-hero-headline .title{
    font-size:42px;
    font-weight:600;
    color:var(--c-black);
    letter-spacing:-.025em;
    line-height:1.35;
    margin:0;
}
.sub-hero-headline .title em{
    font-family:var(--font-en);
    color:var(--c-primary);
    font-size:62px;
    font-weight:800;
    font-style:normal;
    letter-spacing:-.025em;
    line-height:1.1;
    display:inline-block;
    margin:0 6px;
}

/* ===== 4. CEO 인사말 영역 (좌:사진 / 우:텍스트) ===== */
.greeting-wrap{
    display:grid;
    grid-template-columns:480px 1fr;
    gap:80px;
    align-items:flex-start;
    margin-bottom:120px;
}
.greeting-photo{position:relative;}
.greeting-photo .photo-box{
    width:100%;
    aspect-ratio:4/5;
    background:var(--c-gray5);
    border-radius:8px;
    overflow:hidden;
    background-position:center;
    background-size:cover;
}
.greeting-photo .photo-caption{
    margin-top:20px;
    font-size:14px;
    color:var(--c-gray1);
    text-align:center;
    letter-spacing:-.01em;
}
.greeting-text{padding-top:8px;}
.greeting-block{margin-bottom:64px;}
.greeting-block:last-child{margin-bottom:0;}
.greeting-block .gt-title{
    font-size:24px;
    font-weight:700;
    color:var(--c-black);
    line-height:1.45;
    letter-spacing:-.02em;
    margin-bottom:24px;
}
.greeting-block .gt-title em{
    color:var(--c-primary);
    font-style:normal;
    font-weight:700;
}
.greeting-block .gt-body{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.85;
    letter-spacing:-.01em;
    margin:0;
}
.greeting-block .gt-sign{
    margin-top:32px;
    font-size:15px;
    font-weight:600;
    color:var(--c-black);
}

/* ===== 5. 워터마크 (브랜드명 흐름) ===== */
.brand-watermark{
    overflow:hidden;
    padding:60px 0 80px;
    margin-top:60px;
    border-top:1px solid var(--c-gray5);
}
.brand-watermark .wm-track{
    display:flex;
    gap:60px;
    white-space:nowrap;
    animation:wmScroll 35s linear infinite;
    width:max-content;
}
.brand-watermark .wm-track span{
    font-family:var(--font-en);
    font-size:160px;
    font-weight:900;
    letter-spacing:-.04em;
    line-height:1;
    color:rgba(29,95,224,.08);
    text-transform:lowercase;
}
.brand-watermark .wm-track span:nth-child(even){
    color:rgba(0,0,0,.05);
}
@keyframes wmScroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
}

/* ===== 6. Business (사업분야) Section ===== */
.business-section{
    padding:130px 0;
    background:#f5f5f5;
}
.business-section .section-head{
    text-align:center;
    margin-bottom:60px;
}
.business-section .section-head .label{
    display:block;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--c-primary);
    margin-bottom:14px;
}
.business-section .section-head .title{
    font-size:44px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    margin:0;
}

/* 사업분야 4개 카드 (첫 카드 강조형) */
.business-grid{
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;
    display:grid;
    grid-template-columns:1.7fr 1fr 1fr 1fr;
    gap:14px;
}
.business-card{
    position:relative;
    height:520px;
    border-radius:14px;
    overflow:hidden;
    background:#0a0a0a;
    transition:transform .35s ease;
    text-decoration:none;
    color:#fff;
    display:block;
}
.business-card .b-img{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transition:transform 1s ease;
}
.business-card:hover{transform:translateY(-6px);}
.business-card:hover .b-img{transform:scale(1.06);}
.business-card:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.7) 100%);
    z-index:1;
}
.business-card .b-num{
    position:absolute;
    top:24px;
    left:24px;
    font-family:var(--font-en);
    font-size:14px;
    font-weight:700;
    letter-spacing:.05em;
    color:#fff;
    z-index:2;
}
.business-card .b-info{
    position:absolute;
    bottom:32px;
    left:28px;
    right:28px;
    z-index:2;
}
.business-card .b-info .b-en{
    display:block;
    font-family:var(--font-en);
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    color:rgba(255,255,255,.85);
    margin-bottom:10px;
}
.business-card .b-info .b-ko{
    font-size:24px;
    font-weight:700;
    letter-spacing:-.02em;
    line-height:1.2;
    margin:0;
    color:#fff;
}
.business-card:first-child .b-info .b-ko{font-size:36px;}
.business-card:first-child .b-num{font-size:15px;}

/* ===== 7-A. 회사 연혁: 슬로건 박스 ===== */
.history-slogan{
    max-width:920px;
    margin:0 auto 100px;
    padding:60px 48px;
    background:linear-gradient(135deg, #1a2d54 0%, #0a1838 100%);
    border-radius:8px;
    text-align:center;
    color:#fff;
    position:relative;
    overflow:hidden;
}
.history-slogan:before{
    content:"";
    position:absolute;inset:0;
    background-image:radial-gradient(circle at center, rgba(255,255,255,.05) 1.5px, transparent 1.5px);
    background-size:36px 36px;
    opacity:.5;
}
.history-slogan .sg-tit{
    position:relative;z-index:1;
    font-family:var(--font-en);
    font-size:34px;
    font-weight:700;
    font-style:italic;
    color:#fff;
    letter-spacing:-.01em;
    margin:0 0 22px;
}
.history-slogan .sg-desc{
    position:relative;z-index:1;
    font-size:15px;
    color:rgba(255,255,255,.78);
    line-height:1.85;
    letter-spacing:-.01em;
    margin:0;
}

/* ===== 7-B. 차량 모델 카드 (시대 라벨 우측) ===== */
.history-era .era-vehicle{
    margin-top:20px;
    width:100%;
    max-width:420px;
    aspect-ratio:4/3;
    border-radius:8px;
    overflow:hidden;
    background:#0a1838;
    background-size:cover;
    background-position:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    position:relative;
}
.history-era .era-vehicle:before{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.5) 100%);
}
.history-era .era-vehicle .v-name{
    position:relative;z-index:1;
    font-family:var(--font-en);
    font-size:32px;
    font-weight:800;
    letter-spacing:-.02em;
    margin:0;
}
.history-era .era-vehicle .v-sub{
    position:relative;z-index:1;
    font-size:13px;
    color:rgba(255,255,255,.7);
    margin-top:6px;
}
.history-era .era-vehicle-cap{
    margin-top:14px;
    text-align:center;
    font-size:13px;
    color:var(--c-gray2);
    letter-spacing:-.01em;
}

/* ===== 7-C. Since 마무리 박스 ===== */
.history-since{
    margin-top:80px;
    text-align:center;
    padding-top:60px;
    border-top:1px dashed var(--c-gray4);
}
.history-since .dot{
    display:inline-block;
    width:14px;height:14px;
    background:var(--c-primary);
    border-radius:50%;
    box-shadow:0 0 0 6px rgba(29,95,224,.15);
    margin-bottom:20px;
}
.history-since .since-label{
    font-family:var(--font-en);
    font-size:18px;
    font-weight:700;
    letter-spacing:.18em;
    color:var(--c-black);
    margin:0;
}

/* ===== 7. 회사 연혁 ===== */
.history-title-area{
    text-align:center;
    margin-bottom:80px;
}
.history-title-area .label{
    display:block;
    font-family:var(--font-en);
    font-size:14px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--c-primary);
    margin-bottom:14px;
}
.history-title-area .title{
    font-size:48px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    margin:0;
}
.history-wrap{
    display:grid;
    grid-template-columns:48% 1fr;
    gap:80px;
    align-items:flex-start;
}
.history-left{position:relative;}
.history-era{
    position:sticky;
    top:120px;
    margin-bottom:60px;
}
.history-era .era-label{
    display:block;
    font-family:var(--font-en);
    font-size:64px;
    font-weight:800;
    color:var(--c-primary);
    letter-spacing:-.03em;
    line-height:1;
    margin-bottom:32px;
}
.history-era .era-img{
    width:100%;
    aspect-ratio:4/3;
    border-radius:8px;
    overflow:hidden;
    background:var(--c-gray5);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.history-right{padding-top:8px;}
.history-period{margin-bottom:80px;}
.history-period:last-child{margin-bottom:0;}
.history-year{
    position:relative;
    padding:0 0 32px 32px;
}
.history-year:last-child{padding-bottom:0;}
.history-year .year-mark{
    position:absolute;
    left:0;
    top:6px;
    color:var(--c-primary);
    font-size:14px;
    line-height:1;
}
.history-year .year-num{
    font-family:var(--font-en);
    font-size:32px;
    font-weight:800;
    color:var(--c-black);
    line-height:1;
    margin-bottom:14px;
    letter-spacing:-.02em;
}
.history-year .year-list{
    list-style:none;
    padding:0;
    margin:0;
}
.history-year .year-list li{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.7;
    letter-spacing:-.01em;
    margin-bottom:6px;
}

/* ===== 8. 회사 개요 ===== */
.overview-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    padding:60px 0;
    border-top:1px solid var(--c-gray4);
    border-bottom:1px solid var(--c-gray4);
    margin-bottom:120px;
}
.overview-stats .stat{
    text-align:center;
    padding:20px 0;
    border-right:1px solid var(--c-gray5);
}
.overview-stats .stat:last-child{border-right:0;}
.overview-stats .stat .num{
    font-family:var(--font-en);
    font-size:56px;
    font-weight:800;
    color:var(--c-primary);
    line-height:1;
    letter-spacing:-.02em;
}
.overview-stats .stat .num small{font-size:32px;font-weight:700;}
.overview-stats .stat .lbl{
    margin-top:14px;
    font-size:14px;
    color:var(--c-gray1);
    letter-spacing:-.01em;
}

/* 사업영역 카드 (간단형, 텍스트 위주) */
.product-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-bottom:100px;
}
.product-card{
    position:relative;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    padding:36px 32px;
    transition:all .3s;
    text-decoration:none;
    color:inherit;
    display:block;
}
.product-card:hover{
    border-color:var(--c-primary);
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.product-card .pc-num{
    font-family:var(--font-en);
    font-size:14px;
    font-weight:700;
    color:var(--c-gray3);
    letter-spacing:.05em;
    margin-bottom:24px;
}
.product-card .pc-en{
    font-family:var(--font-en);
    font-size:24px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin-bottom:12px;
    transition:color .25s;
}
.product-card:hover .pc-en{color:var(--c-primary);}
.product-card .pc-ko{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.6;
    margin-bottom:30px;
}
.product-card .pc-arrow{
    width:36px;height:36px;
    border-radius:50%;
    border:1px solid var(--c-gray4);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--c-gray2);
    font-size:11px;
    transition:all .25s;
}
.product-card:hover .pc-arrow{
    background:var(--c-primary);
    border-color:var(--c-primary);
    color:#fff;
}

/* ===== 10. 조직도 (Organization) ===== */
.org-chart{
    margin:60px 0 100px;
}
.org-ceo{
    display:flex;
    justify-content:center;
    margin-bottom:0;
}
.org-card{
    display:inline-block;
    padding:24px 36px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    min-width:200px;
    text-align:center;
    transition:all .3s;
}
.org-card.primary{
    background:var(--c-black);
    color:#fff;
    border-color:var(--c-black);
    padding:36px 56px;
}
.org-card .org-title{
    font-family:var(--font-en);
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
    color:var(--c-gray2);
    margin:0 0 10px;
}
.org-card.primary .org-title{color:rgba(255,255,255,.6);}
.org-card .org-name{
    font-size:20px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0;
}
.org-card.primary .org-name{
    color:#fff;
    font-size:24px;
}

/* 트리 라인 */
.org-line-v{
    width:1px;
    height:48px;
    background:var(--c-gray3);
    margin:0 auto;
}
.org-divisions{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:16px;
    position:relative;
}
.org-divisions:before{
    content:"";
    position:absolute;
    top:-24px;
    left:10%;
    right:10%;
    height:1px;
    background:var(--c-gray3);
}
.org-div-item{position:relative;}
.org-div-item:before{
    content:"";
    position:absolute;
    top:-24px;
    left:50%;
    width:1px;
    height:24px;
    background:var(--c-gray3);
}
.org-div-item .org-card:hover{
    border-color:var(--c-primary);
    color:var(--c-primary);
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.org-div-item .org-card:hover .org-name{color:var(--c-primary);}

/* 부서 리스트 (각 본부 하위) */
.org-departments{
    margin-top:24px;
    padding:20px 16px;
    background:var(--c-gray6);
    border-radius:6px;
}
.org-departments li{
    list-style:none;
    padding:8px 0;
    font-size:13px;
    color:var(--c-gray1);
    border-bottom:1px dashed var(--c-gray4);
    line-height:1.4;
}
.org-departments li:last-child{border-bottom:0;}

/* ===== 11. 수상 및 인증 (Awards) ===== */
.cert-tabs{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-bottom:60px;
    flex-wrap:wrap;
}
.cert-tabs button{
    padding:12px 28px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:30px;
    font-size:14px;
    font-weight:500;
    color:var(--c-gray1);
    cursor:pointer;
    transition:all .25s;
}
.cert-tabs button.active,
.cert-tabs button:hover{
    background:var(--c-black);
    color:#fff;
    border-color:var(--c-black);
}
.cert-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}
.cert-card{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    overflow:hidden;
    transition:all .3s;
}
.cert-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    border-color:var(--c-primary);
}
.cert-card .cert-img{
    width:100%;
    aspect-ratio:3/4;
    background:var(--c-gray6);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    border-bottom:1px solid var(--c-gray5);
    position:relative;
}
.cert-card .cert-img:after{
    content:"CERTIFICATE";
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    font-family:var(--font-en);
    font-size:13px;
    color:var(--c-gray3);
    letter-spacing:.18em;
    font-weight:700;
}
.cert-card .cert-img.has-image:after{display:none;}
.cert-card .cert-info{padding:22px 20px;}
.cert-card .cert-year{
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    color:var(--c-primary);
    letter-spacing:.05em;
    margin:0 0 8px;
}
.cert-card .cert-name{
    font-size:15px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 6px;
    line-height:1.4;
    letter-spacing:-.01em;
}
.cert-card .cert-org{
    font-size:13px;
    color:var(--c-gray2);
    margin:0;
}

/* ===== 12. CI ===== */
.ci-block{margin-bottom:80px;}
.ci-block .block-title{
    font-size:24px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 14px;
    padding-bottom:14px;
    border-bottom:2px solid var(--c-black);
    letter-spacing:-.02em;
}
.ci-block .block-desc{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.7;
    margin:0 0 36px;
    letter-spacing:-.01em;
}
.ci-logo-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
}
.ci-logo-box{
    padding:80px 40px 32px;
    background:var(--c-gray6);
    border-radius:8px;
    text-align:center;
    position:relative;
}
.ci-logo-box.dark{background:var(--c-black);}
.ci-logo-box .logo-mark{
    font-family:var(--font-en);
    font-size:52px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    line-height:1;
    margin:0;
}
.ci-logo-box.dark .logo-mark{color:#fff;}
.ci-logo-box .logo-corp{
    font-family:var(--font-en);
    font-size:11px;
    letter-spacing:.22em;
    color:var(--c-gray2);
    margin:8px 0 0;
}
.ci-logo-box.dark .logo-corp{color:rgba(255,255,255,.6);}
.ci-logo-box .logo-label{
    position:absolute;
    top:18px;left:24px;
    font-family:var(--font-en);
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    color:var(--c-gray2);
}
.ci-logo-box.dark .logo-label{color:rgba(255,255,255,.55);}
.ci-logo-box .download-btn{
    margin-top:36px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 26px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:30px;
    font-size:13px;
    font-weight:500;
    color:var(--c-black);
    text-decoration:none;
    transition:all .25s;
}
.ci-logo-box .download-btn i{font-size:11px;}
.ci-logo-box .download-btn:hover{
    background:var(--c-primary);
    border-color:var(--c-primary);
    color:#fff;
}
.ci-logo-box.dark .download-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);}
.ci-logo-box.dark .download-btn:hover{background:#fff;color:var(--c-black);border-color:#fff;}

/* 컬러 팔레트 */
.ci-palette{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}
.color-chip{
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--c-gray4);
}
.color-chip .chip-color{height:200px;}
.color-chip .chip-info{
    padding:24px 22px;
    background:#fff;
}
.color-chip .chip-name{
    font-size:16px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 10px;
    letter-spacing:-.01em;
}
.color-chip .chip-code{
    font-family:var(--font-en);
    font-size:13px;
    color:var(--c-gray1);
    line-height:1.7;
    margin:0;
}
.color-chip .chip-code span{display:block;}

/* 브랜드 네이밍 (C·M·Tech) */
.ci-naming-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-bottom:40px;
}
.ci-naming-card{
    padding:48px 36px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    transition:all .3s;
    text-align:center;
}
.ci-naming-card:hover{
    border-color:var(--c-primary);
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.ci-naming-card .nm-letter{
    font-family:var(--font-en);
    font-size:80px;
    font-weight:800;
    line-height:1;
    color:var(--c-gray3);
    letter-spacing:-.04em;
    margin-bottom:24px;
}
.ci-naming-card .nm-letter .hl{color:var(--c-primary);}
.ci-naming-card .nm-en{
    font-size:20px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 6px;
    letter-spacing:-.01em;
}
.ci-naming-card .nm-en .accent{color:var(--c-primary);}
.ci-naming-card .nm-kr{
    font-size:14px;
    font-weight:600;
    color:var(--c-gray2);
    margin:0 0 18px;
    letter-spacing:-.01em;
}
.ci-naming-card .nm-desc{
    font-size:14px;
    color:var(--c-gray1);
    line-height:1.7;
    margin:0;
}

/* 네이밍 결합 배너 */
.ci-naming-banner{
    padding:36px 48px;
    background:var(--c-black);
    border-radius:8px;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    text-align:center;
}
.ci-naming-banner .nb-text{
    font-size:15px;
    color:rgba(255,255,255,.8);
    letter-spacing:-.01em;
}
.ci-naming-banner .nb-text strong{
    color:var(--c-primary);
    font-weight:700;
}
.ci-naming-banner .nb-arrow{
    font-size:20px;
    color:var(--c-primary);
}
.ci-naming-banner .nb-brand{
    font-family:var(--font-en);
    font-size:32px;
    font-weight:800;
    color:#fff;
    letter-spacing:-.02em;
}

/* 사용 규정 */
.ci-rules{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
}
.ci-rule-box{
    padding:36px 32px;
    background:var(--c-gray6);
    border-radius:8px;
}
.ci-rule-box .rule-tit{
    font-size:16px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 14px;
}
.ci-rule-box .rule-tit i{
    color:var(--c-primary);
    margin-right:8px;
}
.ci-rule-box.warn .rule-tit i{color:#dc3545;}
.ci-rule-box .rule-desc{
    font-size:14px;
    color:var(--c-gray1);
    line-height:1.7;
    margin:0;
}

/* ===== 13. 오시는 길 (Location) ===== */
.location-map{
    width:100%;
    height:480px;
    border-radius:8px;
    overflow:hidden;
    background:var(--c-gray5);
    margin-bottom:60px;
    position:relative;
}
.location-map iframe{
    width:100%;height:100%;
    border:0;
    display:block;
}
.location-map .map-placeholder{
    position:absolute;inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:14px;
    color:var(--c-gray2);
    text-align:center;
}
.location-map .map-placeholder i{font-size:48px;color:var(--c-primary);}
.location-map .map-placeholder p{margin:0;font-size:14px;}

/* 본사 정보 */
.location-info{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:60px;
    margin-bottom:80px;
}
.info-block{
    border-top:2px solid var(--c-black);
    padding-top:28px;
}
.info-block .block-title{
    font-size:22px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 24px;
    letter-spacing:-.02em;
}
.info-block dl{
    display:flex;
    padding:14px 0;
    border-bottom:1px solid var(--c-gray5);
    gap:20px;
    margin:0;
}
.info-block dl:last-child{border-bottom:0;}
.info-block dt{
    flex:0 0 100px;
    font-family:var(--font-en);
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
    color:var(--c-gray2);
    margin:0;
    padding-top:2px;
}
.info-block dd{
    flex:1;
    font-size:15px;
    color:var(--c-black);
    line-height:1.6;
    margin:0;
    letter-spacing:-.01em;
}
.info-block dd a{color:var(--c-black);transition:color .2s;text-decoration:none;}
.info-block dd a:hover{color:var(--c-primary);}

/* 공장 탭 */
.factory-section{
    border-top:1px solid var(--c-gray4);
    padding-top:80px;
}
.factory-tabs{
    display:flex;
    gap:0;
    border-bottom:1px solid var(--c-gray4);
    margin-bottom:50px;
    overflow-x:auto;
}
.factory-tabs button{
    padding:18px 30px;
    background:transparent;
    border:0;
    font-size:15px;
    font-weight:600;
    color:var(--c-gray2);
    cursor:pointer;
    position:relative;
    white-space:nowrap;
    transition:color .25s;
    letter-spacing:-.01em;
}
.factory-tabs button.active,
.factory-tabs button:hover{color:var(--c-black);}
.factory-tabs button.active:after{
    content:"";
    position:absolute;
    bottom:-1px;left:0;right:0;
    height:3px;
    background:var(--c-primary);
}
.factory-content{display:none;}
.factory-content.active{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:50px;
    align-items:start;
}
.factory-content .location-map{margin-bottom:0;}
.factory-content .f-image{
    width:100%;
    aspect-ratio:4/3;
    background:var(--c-gray5);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border-radius:8px;
}

/* ===== 14. 제품소개 (Product) ===== */

/* 모델 탭 */
.prd-model-tabs{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-bottom:50px;
}
.prd-model-tabs button{
    padding:12px 26px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    color:var(--c-gray1);
    cursor:pointer;
    transition:all .25s;
    letter-spacing:-.01em;
}
.prd-model-tabs button small{
    margin-left:4px;
    font-size:12px;
    font-weight:400;
    color:var(--c-gray2);
}
.prd-model-tabs button.active,
.prd-model-tabs button:hover{
    background:var(--c-black);
    color:#fff;
    border-color:var(--c-black);
}
.prd-model-tabs button.active small,
.prd-model-tabs button:hover small{color:rgba(255,255,255,.7);}

/* 모델 콘텐츠 */
.prd-model{display:none;}
.prd-model.active{display:block;}

/* 차량 이미지 + 스펙 테이블 */
.prd-overview{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:48px;
    margin-bottom:60px;
    align-items:center;
}
.prd-car-img{
    background:var(--c-gray6);
    border-radius:8px;
    overflow:hidden;
    aspect-ratio:4/3;
    display:flex;
    align-items:center;
    justify-content:center;
    background-position:center;
    background-size:cover;
}
.prd-car-img img{
    max-width:100%;
    max-height:100%;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.prd-img-placeholder{
    text-align:center;
    color:var(--c-gray3);
}
.prd-img-placeholder i{font-size:64px;margin-bottom:14px;display:block;}
.prd-img-placeholder span{
    font-size:15px;
    font-weight:600;
    letter-spacing:-.01em;
}

.prd-spec-table table{
    width:100%;
    border-top:2px solid var(--c-black);
    border-collapse:collapse;
}
.prd-spec-table th,
.prd-spec-table td{
    padding:18px 20px;
    text-align:left;
    border-bottom:1px solid var(--c-gray5);
    font-size:15px;
    line-height:1.6;
    vertical-align:top;
}
.prd-spec-table th{
    width:130px;
    background:var(--c-gray6);
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.01em;
}
.prd-spec-table td{color:var(--c-gray0);}

/* 제품 갤러리 */
.prd-gallery-group{margin-bottom:50px;}
.prd-gallery-group:last-child{margin-bottom:0;}
.prd-group-title{
    font-size:18px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 20px;
    padding-bottom:12px;
    border-bottom:1px solid var(--c-gray4);
    letter-spacing:-.01em;
    position:relative;
}
.prd-group-title:before{
    content:"";
    position:absolute;
    left:0;bottom:-1px;
    width:50px;
    height:2px;
    background:var(--c-primary);
}

.prd-gallery-grid{
    display:grid;
    gap:16px;
}
.prd-gallery-grid.col2{grid-template-columns:repeat(2,1fr);}
.prd-gallery-grid.col3{grid-template-columns:repeat(3,1fr);}
.prd-gallery-grid.col4{grid-template-columns:repeat(4,1fr);}

.prd-thumb{
    position:relative;
    aspect-ratio:3/2;
    background:var(--c-gray6);
    border-radius:6px;
    overflow:hidden;
    border:1px solid var(--c-gray5);
    transition:all .3s;
}
.prd-thumb:hover{
    border-color:var(--c-primary);
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.prd-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s;
}
.prd-thumb:hover img{transform:scale(1.05);}
.prd-thumb-label{
    position:absolute;
    top:10px;left:10px;
    padding:4px 10px;
    background:rgba(0,0,0,.7);
    color:#fff;
    font-size:11px;
    font-weight:600;
    border-radius:4px;
    letter-spacing:-.01em;
    z-index:1;
}

.prd-empty{
    padding:60px 0;
    text-align:center;
    background:var(--c-gray6);
    border-radius:8px;
    color:var(--c-gray2);
}
.prd-empty i{font-size:42px;margin-bottom:14px;display:block;color:var(--c-gray3);}
.prd-empty span{font-size:14px;}

/* ===== 15. 제조공정 (Process) ===== */
.prd-process-section{
    margin-top:120px;
    padding-top:80px;
    border-top:1px solid var(--c-gray4);
}

/* 공급망 흐름도 */
.prd-flow{
    margin:50px 0 70px;
    padding:50px 30px;
    background:var(--c-gray6);
    border-radius:12px;
}
.prd-flow-row{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
    gap:14px;
}
.prd-flow-node{
    text-align:center;
    flex-shrink:0;
}
.prd-flow-circle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:130px;height:130px;
    border-radius:50%;
    background:linear-gradient(135deg, #3a4a6e, #2a3a5e);
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    text-align:center;
    box-shadow:0 6px 18px rgba(0,0,0,.15);
    letter-spacing:-.01em;
}
.prd-flow-circle small{
    display:block;
    font-size:11px;
    font-weight:500;
    margin-top:2px;
    opacity:.8;
}
.prd-flow-node.flow-kmc .prd-flow-circle{background:linear-gradient(135deg, #3a4a6e, #2a3a5e);}
.prd-flow-node.flow-dayou .prd-flow-circle{background:linear-gradient(135deg, #4a6e9c, #3a5a8c);}
.prd-flow-node.flow-cmtech .prd-flow-circle{background:linear-gradient(135deg, #1D5FE0, #0B3FA8);}
.prd-flow-node.flow-dm .prd-flow-circle{background:linear-gradient(135deg, #5c6bc0, #7986cb);}
.prd-flow-tag{
    display:block;
    margin-top:14px;
    padding:4px 14px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:30px;
    font-family:var(--font-en);
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
    color:var(--c-gray1);
}

.prd-flow-arrow{
    flex:1;
    max-width:160px;
    min-width:80px;
    text-align:center;
    position:relative;
    padding:0 10px;
}
.prd-flow-arrow-line{
    height:2px;
    background:var(--c-gray3);
    position:relative;
    margin:6px 0;
}
.prd-flow-arrow-line:after{
    content:"";
    position:absolute;
    right:-1px;top:50%;
    width:0;height:0;
    border:solid transparent;
    border-left-color:var(--c-gray3);
    border-width:6px 0 6px 8px;
    transform:translateY(-50%);
}
.prd-flow-arrow-label-top,
.prd-flow-arrow-label-bottom{
    display:block;
    font-size:12px;
    font-weight:600;
    color:var(--c-gray1);
    letter-spacing:-.01em;
    line-height:1.3;
    height:16px;
}
.prd-flow-arrow-label-top{color:var(--c-primary);}

/* 제조공정 단계 */
.prd-steps{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:stretch;
    gap:0;
    margin-bottom:60px;
}
.prd-step{
    flex:1;
    min-width:130px;
    padding:32px 18px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:12px;
    text-align:center;
    transition:all .3s;
    position:relative;
}
.prd-step:hover{
    border-color:var(--c-primary);
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.prd-step-num{
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    color:var(--c-primary);
    letter-spacing:.05em;
    margin-bottom:14px;
}
.prd-step-icon{
    width:54px;height:54px;
    margin:0 auto 14px;
    border-radius:50%;
    background:var(--c-gray6);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:var(--c-black);
    transition:all .3s;
}
.prd-step:hover .prd-step-icon{
    background:var(--c-primary);
    color:#fff;
}
.prd-step h5{
    font-size:15px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 6px;
    letter-spacing:-.01em;
}
.prd-step p{
    font-size:12px;
    color:var(--c-gray1);
    margin:0;
    line-height:1.4;
    letter-spacing:-.01em;
}

.prd-step-connector{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--c-gray3);
    font-size:12px;
    padding:0 4px;
    flex-shrink:0;
}

/* 핵심 강점 */
.prd-strengths{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.prd-strength-card{
    padding:30px 24px;
    background:linear-gradient(135deg, #fafafa 0%, #f4f4f4 100%);
    border:1px solid var(--c-gray4);
    border-radius:8px;
    display:flex;
    align-items:center;
    gap:18px;
    transition:all .3s;
}
.prd-strength-card:hover{
    border-color:var(--c-primary);
    background:linear-gradient(135deg, #fff 0%, #fafafa 100%);
    transform:translateY(-3px);
}
.prd-strength-card i{
    flex-shrink:0;
    width:48px;height:48px;
    border-radius:50%;
    background:var(--c-primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}
.prd-strength-card span{
    font-size:14px;
    font-weight:600;
    color:var(--c-black);
    letter-spacing:-.01em;
    line-height:1.4;
}

/* 섹션 헤더 (제품 페이지 전용) */
.prd-section-head{
    text-align:center;
    margin-bottom:50px;
}
.prd-section-head .label{
    display:block;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--c-primary);
    margin-bottom:14px;
}
.prd-section-head .title{
    font-size:36px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0 0 14px;
}
.prd-section-head .desc{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.7;
    margin:0;
    letter-spacing:-.01em;
}

/* ===== 16. 연구개발 (R&D) ===== */

/* 대분류 탭 (민수/특장 vs 방산) */
.rnd-main-tabs{
    display:flex;
    gap:0;
    border-bottom:1px solid var(--c-gray4);
    margin-bottom:60px;
    justify-content:center;
}
.rnd-main-tabs button{
    padding:18px 40px;
    background:transparent;
    border:0;
    font-size:17px;
    font-weight:700;
    color:var(--c-gray2);
    cursor:pointer;
    position:relative;
    transition:color .25s;
    letter-spacing:-.02em;
}
.rnd-main-tabs button:hover,
.rnd-main-tabs button.active{color:var(--c-black);}
.rnd-main-tabs button.active:after{
    content:"";
    position:absolute;
    bottom:-1px;left:0;right:0;
    height:3px;
    background:var(--c-primary);
}

/* 소분류 탭 */
.rnd-sub-tabs{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-bottom:50px;
}
.rnd-sub-tabs button{
    padding:14px 22px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    font-size:14px;
    font-weight:600;
    color:var(--c-gray1);
    cursor:pointer;
    transition:all .25s;
    line-height:1.3;
    text-align:center;
    letter-spacing:-.01em;
}
.rnd-sub-tabs button small{
    display:block;
    font-size:12px;
    font-weight:400;
    color:var(--c-gray2);
    margin-top:3px;
}
.rnd-sub-tabs button:hover,
.rnd-sub-tabs button.active{
    background:var(--c-primary);
    color:#fff;
    border-color:var(--c-primary);
}
.rnd-sub-tabs button:hover small,
.rnd-sub-tabs button.active small{color:rgba(255,255,255,.8);}

/* 그룹/아이템 토글 */
.rnd-group{display:none;}
.rnd-group.active{display:block;}
.rnd-item{display:none;}
.rnd-item.active{display:block;}

/* R&D 카드 (이미지 + 테이블) */
.rnd-card{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:48px;
    align-items:flex-start;
}
.rnd-img-area{
    width:100%;
    aspect-ratio:4/3;
    background:var(--c-gray6);
    border-radius:8px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--c-gray3);
    text-align:center;
    background-position:center;
    background-size:cover;
}
.rnd-img-area img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
}
.rnd-img-placeholder{
    text-align:center;
    color:var(--c-gray3);
}
.rnd-img-placeholder i{font-size:64px;margin-bottom:14px;display:block;}
.rnd-img-placeholder span{
    font-size:14px;
    font-weight:600;
    letter-spacing:-.01em;
}

/* R&D 상세 테이블 */
.rnd-table{
    width:100%;
    border-top:2px solid var(--c-black);
    border-collapse:collapse;
}
.rnd-table th,
.rnd-table td{
    padding:18px 20px;
    text-align:left;
    border-bottom:1px solid var(--c-gray5);
    font-size:14px;
    line-height:1.7;
    vertical-align:top;
    letter-spacing:-.01em;
}
.rnd-table th{
    width:140px;
    background:var(--c-gray6);
    font-weight:700;
    color:var(--c-black);
}
.rnd-table td{color:var(--c-gray0);}

/* ===== 17. 연구소안내 (Lab) ===== */
.lab-block{margin-bottom:100px;}
.lab-block:last-child{margin-bottom:0;}
.lab-block .block-head{
    text-align:center;
    margin-bottom:50px;
}
.lab-block .block-head .label{
    display:block;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--c-primary);
    margin-bottom:14px;
}
.lab-block .block-head .title{
    font-size:36px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0 0 14px;
}
.lab-block .block-head .desc{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.7;
    margin:0;
    letter-spacing:-.01em;
}

/* 연구소 인트로 */
.lab-intro{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:60px;
    align-items:center;
    margin-bottom:80px;
}
.lab-intro-text .label{
    display:block;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--c-primary);
    margin-bottom:18px;
}
.lab-intro-text .title{
    font-size:36px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    line-height:1.2;
    margin:0 0 24px;
}
.lab-intro-text .desc{
    font-size:15px;
    color:var(--c-gray1);
    line-height:1.85;
    letter-spacing:-.01em;
    margin:0;
}
.lab-intro-img{
    width:100%;
    aspect-ratio:4/3;
    background:linear-gradient(135deg, #1a3a6e, #2a5aae);
    border-radius:8px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background-size:cover;
    background-position:center;
    position:relative;
}
.lab-intro-img img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
}
.lab-intro-img:after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.4) 100%);
}
.lab-intro-img-overlay{
    position:absolute;
    bottom:24px;left:24px;
    z-index:1;
    color:#fff;
    font-family:var(--font-en);
    font-size:18px;
    font-weight:700;
    letter-spacing:.05em;
}

/* 연혁 타임라인 (lab) */
.lab-timeline{
    position:relative;
    max-width:900px;
    margin:0 auto;
    padding:0;
}
.lab-timeline:before{
    content:"";
    position:absolute;
    top:0;bottom:0;
    left:50%;
    width:2px;
    background:var(--c-gray4);
    transform:translateX(-50%);
}
.lab-tl-item{
    position:relative;
    padding:20px 0;
    display:flex;
    align-items:flex-start;
}
.lab-tl-item:nth-child(odd){justify-content:flex-end;padding-right:calc(50% + 30px);}
.lab-tl-item:nth-child(even){padding-left:calc(50% + 30px);}
.lab-tl-item:before{
    content:"";
    position:absolute;
    top:30px;
    left:50%;
    width:14px;height:14px;
    background:var(--c-primary);
    border-radius:50%;
    transform:translateX(-50%);
    box-shadow:0 0 0 4px rgba(29,95,224,.15);
}
.lab-tl-year{
    font-family:var(--font-en);
    font-size:32px;
    font-weight:800;
    color:var(--c-primary);
    letter-spacing:-.02em;
    margin-bottom:10px;
    line-height:1;
}
.lab-tl-content{
    background:var(--c-gray6);
    padding:22px 26px;
    border-radius:8px;
    border-left:3px solid var(--c-primary);
}
.lab-tl-content p{
    font-size:14px;
    color:var(--c-gray0);
    line-height:1.6;
    margin:0 0 6px;
    letter-spacing:-.01em;
}
.lab-tl-content p:last-child{margin-bottom:0;}

/* 연구소 목표 */
.lab-goals{
    display:grid;
    grid-template-columns:1fr 240px 1fr;
    gap:40px;
    align-items:center;
}
.lab-goals-col h3.col-title{
    font-size:20px;
    font-weight:800;
    color:var(--c-black);
    margin:0 0 24px;
    letter-spacing:-.02em;
    padding-bottom:12px;
    border-bottom:2px solid var(--c-primary);
}
.lab-goal-card{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:18px 20px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    margin-bottom:12px;
    transition:all .25s;
}
.lab-goal-card:hover{
    border-color:var(--c-primary);
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(0,0,0,.06);
}
.lab-goal-num{
    flex-shrink:0;
    width:34px;height:34px;
    background:var(--c-primary);
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-en);
    font-size:14px;
    font-weight:800;
    letter-spacing:-.02em;
}
.lab-goal-body strong{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--c-black);
    margin-bottom:4px;
    letter-spacing:-.01em;
}
.lab-goal-body span{
    display:block;
    font-size:12px;
    color:var(--c-gray1);
    line-height:1.5;
    letter-spacing:-.01em;
}

/* 비전 서클 */
.lab-vision-circle{
    width:240px;height:240px;
    margin:0 auto;
    border-radius:50%;
    background:linear-gradient(135deg, var(--c-primary), #0B3FA8);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-align:center;
    box-shadow:0 12px 30px rgba(29,95,224,.25);
    position:relative;
}
.lab-vision-circle:before{
    content:"";
    position:absolute;inset:-12px;
    border-radius:50%;
    border:1px dashed rgba(29,95,224,.3);
}
.lab-vision-circle-inner{
    width:88%;height:88%;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.2);
}
.lab-vision-text{
    font-size:20px;
    font-weight:800;
    line-height:1.4;
    letter-spacing:-.02em;
}

/* 조직도 (Lab) */
.lab-org{
    text-align:center;
    padding:40px 0;
}
.lab-org-node{
    display:inline-block;
    padding:18px 36px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    font-size:15px;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.01em;
    transition:all .25s;
}
.lab-org-head{
    background:var(--c-black);
    color:#fff;
    border-color:var(--c-black);
    padding:24px 50px;
    font-size:16px;
}
.lab-org-dept{
    background:var(--c-primary);
    color:#fff;
    border-color:var(--c-primary);
}
.lab-org-team{
    min-width:220px;
}
.lab-org-sub{
    background:var(--c-gray6);
    font-size:13px;
    font-weight:500;
    padding:10px 18px;
    color:var(--c-gray1);
}
.lab-org-line{
    width:1px;height:40px;
    background:var(--c-gray3);
    margin:0 auto;
}
.lab-org-hline{
    width:60%;height:1px;
    background:var(--c-gray3);
    margin:0 auto;
    position:relative;
}
.lab-org-teams{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
    margin-top:0;
    position:relative;
}
.lab-org-branch{position:relative;}
.lab-org-branch:before{
    content:"";
    position:absolute;
    top:-30px;
    left:50%;
    width:1px;height:30px;
    background:var(--c-gray3);
}
.lab-org-subs{
    margin-top:20px;
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:center;
}

/* 연구소 시설 */
.lab-facilities{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}
.lab-facility{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    overflow:hidden;
    transition:all .3s;
    position:relative;
}
.lab-facility.full{grid-column:span 2;}
.lab-facility:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    border-color:var(--c-primary);
}
.lab-facility-badge{
    position:absolute;
    top:14px;left:14px;
    z-index:2;
    padding:5px 12px;
    background:var(--c-primary);
    color:#fff;
    border-radius:4px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
}
.lab-facility-img{
    width:100%;
    aspect-ratio:16/9;
    background:var(--c-gray5);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--c-gray3);
    background-size:cover;
    background-position:center;
}
.lab-facility-img img{
    width:100%;height:100%;
    object-fit:cover;
}
.lab-facility-info{padding:24px 26px;}
.lab-facility-info h4{
    font-size:18px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 8px;
    letter-spacing:-.01em;
}
.lab-facility-info p{
    font-size:14px;
    color:var(--c-gray1);
    line-height:1.65;
    margin:0;
    letter-spacing:-.01em;
}

/* ===== 18. 연구실적 (Result) ===== */
.rst-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:80px;
}
.rst-stat{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    padding:36px 24px;
    text-align:center;
    transition:all .3s;
}
.rst-stat:hover{
    border-color:var(--c-primary);
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.rst-stat.total{
    background:linear-gradient(135deg, var(--c-primary), #0B3FA8);
    color:#fff;
    border-color:var(--c-primary);
}
.rst-stat-icon{
    width:60px;height:60px;
    margin:0 auto 14px;
    border-radius:50%;
    background:var(--c-gray6);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    color:var(--c-primary);
}
.rst-stat.total .rst-stat-icon{
    background:rgba(255,255,255,.15);
    color:#fff;
}
.rst-stat-num{
    font-family:var(--font-en);
    font-size:48px;
    font-weight:800;
    color:var(--c-black);
    line-height:1;
    letter-spacing:-.02em;
    margin-bottom:8px;
}
.rst-stat.total .rst-stat-num{color:#fff;}
.rst-stat-label{
    font-size:14px;
    color:var(--c-gray1);
    letter-spacing:-.01em;
}
.rst-stat.total .rst-stat-label{color:rgba(255,255,255,.85);}

/* 지적재산권 테이블 */
.rst-table{
    width:100%;
    border-top:2px solid var(--c-black);
    border-collapse:collapse;
    margin-bottom:80px;
}
.rst-table th{
    padding:18px 24px;
    background:var(--c-gray6);
    font-weight:700;
    color:var(--c-black);
    text-align:left;
    font-size:14px;
    letter-spacing:.02em;
    border-bottom:1px solid var(--c-gray4);
}
.rst-table td{
    padding:18px 24px;
    border-bottom:1px solid var(--c-gray5);
    font-size:15px;
    color:var(--c-gray0);
    letter-spacing:-.01em;
}
.rst-table tfoot td{
    background:var(--c-black);
    color:#fff;
    font-weight:700;
}
.rst-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:32px;
    padding:0 12px;
    border-radius:30px;
    background:var(--c-primary);
    color:#fff;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
}

/* 특허 카드 */
.rst-patents{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}
.rst-patent{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    overflow:hidden;
    transition:all .3s;
    position:relative;
}
.rst-patent:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    border-color:var(--c-primary);
}
.rst-patent-badge{
    position:absolute;
    top:16px;left:16px;
    z-index:2;
    padding:5px 14px;
    background:var(--c-primary);
    color:#fff;
    border-radius:4px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
}
.rst-patent-badge.reg{background:var(--c-blue2);}
.rst-patent-img{
    width:100%;
    aspect-ratio:3/4;
    background:var(--c-gray6);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--c-gray3);
    border-bottom:1px solid var(--c-gray5);
    position:relative;
}
.rst-patent-img:after{
    content:"CERTIFICATE";
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    font-family:var(--font-en);
    font-size:14px;
    color:var(--c-gray3);
    letter-spacing:.18em;
    font-weight:700;
}
.rst-patent-img img{
    width:100%;height:100%;
    object-fit:contain;
}
.rst-patent-info{padding:28px 26px;}
.rst-patent-info h4{
    font-size:18px;
    font-weight:700;
    color:var(--c-black);
    margin:0 0 8px;
    letter-spacing:-.01em;
}
.rst-patent-name{
    font-size:14px;
    color:var(--c-primary);
    font-weight:600;
    margin:0 0 20px;
    letter-spacing:-.01em;
}
.rst-patent-meta dl{
    display:flex;
    padding:8px 0;
    border-bottom:1px solid var(--c-gray5);
    margin:0;
    gap:14px;
}
.rst-patent-meta dl:last-child{border-bottom:0;}
.rst-patent-meta dt{
    flex:0 0 90px;
    font-size:12px;
    font-weight:600;
    color:var(--c-gray2);
    letter-spacing:-.01em;
    margin:0;
}
.rst-patent-meta dd{
    flex:1;
    font-size:13px;
    color:var(--c-black);
    margin:0;
    letter-spacing:-.01em;
}

/* ===== 19. 공장안내 (Factory) ===== */

/* 공장 타이틀 박스 */
.fct-title-box{
    margin-bottom:50px;
    padding-bottom:28px;
    border-bottom:1px solid var(--c-gray4);
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:18px;
}
.fct-title-box h3{
    font-size:36px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    margin:0;
    line-height:1.15;
}
.fct-title-box h3 strong{
    display:block;
    font-family:var(--font-en);
    font-size:14px;
    font-weight:700;
    letter-spacing:.2em;
    color:var(--c-primary);
    margin-bottom:14px;
}
.fct-title-box .fct-id{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    border-radius:30px;
    background:var(--c-black);
    color:#fff;
    font-size:13px;
    font-weight:600;
    letter-spacing:.02em;
}
.fct-title-box .fct-id i{color:var(--c-primary);font-size:14px;}

/* 공장 개요 (사진 + 정보) */
.fct-overview{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:50px;
    margin-bottom:80px;
    align-items:stretch;
}
.fct-overview-photo{
    position:relative;
    width:100%;
    aspect-ratio:5/3.4;
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,#0a1e3d 0%,#1a56a8 100%);
    box-shadow:0 24px 50px -25px rgba(10,30,61,.45);
}
.fct-overview-photo img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
}
.fct-overview-photo .ph-empty{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-align:center;
    background:linear-gradient(135deg,#0a1e3d 0%,#1a56a8 100%);
    z-index:1;
}
.fct-overview-photo .ph-empty i{
    font-size:64px;
    margin-bottom:18px;
    opacity:.6;
}
.fct-overview-photo .ph-empty span{
    font-size:13px;
    letter-spacing:.2em;
    font-family:var(--font-en);
    font-weight:600;
    text-transform:uppercase;
    opacity:.85;
}
.fct-overview-photo .ph-empty em{
    display:block;
    margin-top:6px;
    font-style:normal;
    font-size:18px;
    font-weight:700;
    letter-spacing:-.01em;
    opacity:1;
}
.fct-overview-photo .ph-tag{
    position:absolute;
    top:18px;left:18px;
    z-index:2;
    background:rgba(255,255,255,.95);
    color:var(--c-black);
    padding:8px 16px;
    border-radius:20px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.05em;
    font-family:var(--font-en);
}

/* 공장 다중 사진 그리드 */
.fct-photo-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:8px;
    aspect-ratio:5/3.4;
    border-radius:14px;
    overflow:hidden;
    background:#0a1e3d;
}
.fct-photo-grid > div{
    position:relative;
    background:linear-gradient(135deg,#0a1e3d 0%,#1a56a8 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.6);
    font-size:24px;
}

/* 공장 정보 카드 */
.fct-info-card{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:14px;
    padding:38px 36px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.fct-info-card .ic-name{
    font-size:24px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    line-height:1.3;
    margin:0 0 6px;
    padding-bottom:20px;
    border-bottom:2px solid var(--c-black);
}
.fct-info-card .ic-name .ic-label{
    display:inline-block;
    background:var(--c-primary);
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
    padding:4px 10px;
    border-radius:4px;
    vertical-align:middle;
    margin-right:10px;
    transform:translateY(-2px);
}
.fct-info-card .ic-name .ic-sub{
    display:block;
    margin-top:4px;
    font-size:14px;
    font-weight:500;
    color:var(--c-gray2);
    letter-spacing:-.01em;
}
.fct-info-card dl{
    margin:24px 0 0;
    display:flex;
    flex-direction:column;
    gap:18px;
}
.fct-info-card dl > div{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:20px;
    align-items:flex-start;
}
.fct-info-card dt{
    font-size:13px;
    font-weight:700;
    color:var(--c-primary);
    letter-spacing:.02em;
    margin:0;
    padding-top:2px;
    position:relative;
    padding-left:14px;
}
.fct-info-card dt:before{
    content:"";
    position:absolute;
    left:0;top:9px;
    width:6px;height:6px;
    background:var(--c-primary);
}
.fct-info-card dd{
    margin:0;
    font-size:15px;
    color:var(--c-black);
    letter-spacing:-.01em;
    line-height:1.55;
    font-weight:500;
}

/* 공장 섹션 (현황/설비) */
.fct-section{margin-bottom:70px;}
.fct-section:last-child{margin-bottom:0;}
.fct-section .sec-head{
    margin-bottom:24px;
    display:flex;
    align-items:center;
    gap:16px;
}
.fct-section .sec-head .sh-num{
    flex:0 0 auto;
    width:38px;height:38px;
    background:var(--c-black);
    color:#fff;
    font-family:var(--font-en);
    font-weight:800;
    font-size:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    letter-spacing:.05em;
}
.fct-section .sec-head h3{
    font-size:24px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0;
    flex:1;
}
.fct-section .sec-head h3 small{
    display:inline-block;
    margin-left:12px;
    font-size:13px;
    font-weight:500;
    color:var(--c-gray2);
    letter-spacing:-.01em;
}

/* 공장현황 테이블 (status) */
.fct-status-table{
    width:100%;
    border-collapse:collapse;
    border-top:2px solid var(--c-black);
    border-bottom:1px solid var(--c-gray4);
    background:#fff;
}
.fct-status-table th{
    padding:18px 20px;
    text-align:left;
    background:#f8fafd;
    font-size:13px;
    font-weight:700;
    color:var(--c-primary);
    letter-spacing:.02em;
    border-bottom:1px solid var(--c-gray4);
    border-right:1px solid var(--c-gray4);
    width:160px;
    vertical-align:top;
}
.fct-status-table td{
    padding:18px 24px;
    font-size:14px;
    color:var(--c-black);
    line-height:1.7;
    letter-spacing:-.01em;
    border-bottom:1px solid var(--c-gray4);
    border-right:1px solid var(--c-gray4);
    vertical-align:top;
}
.fct-status-table td:last-child{border-right:0;}
.fct-status-table th.col-capa{width:90px;}
.fct-status-table strong{
    display:inline-block;
    color:var(--c-primary);
    font-weight:700;
    font-size:13px;
    margin-right:6px;
}
.fct-status-table td .ml-row{
    display:block;
    padding:3px 0;
}
.fct-status-table td .ml-row:before{
    content:"·";
    display:inline-block;
    margin-right:6px;
    color:var(--c-primary);
    font-weight:700;
}

/* 설비현황 테이블 (equipment - 단순) */
.fct-equip-table{
    width:100%;
    border-collapse:collapse;
    border-top:2px solid var(--c-black);
    border-bottom:1px solid var(--c-gray4);
    background:#fff;
    font-size:13px;
}
.fct-equip-table thead th{
    padding:14px 12px;
    text-align:center;
    background:#f8fafd;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.01em;
    border-bottom:1px solid var(--c-gray4);
    border-right:1px solid var(--c-gray4);
    font-size:13px;
}
.fct-equip-table thead th:last-child{border-right:0;}
.fct-equip-table tbody td{
    padding:13px 12px;
    text-align:center;
    color:var(--c-black);
    border-bottom:1px solid var(--c-gray4);
    border-right:1px solid var(--c-gray4);
    letter-spacing:-.01em;
}
.fct-equip-table tbody td:last-child{border-right:0;}
.fct-equip-table tbody tr:hover{background:#fafbfd;}
.fct-equip-table tbody td.total{
    background:#fff5f6;
    color:var(--c-primary);
    font-weight:800;
    font-family:var(--font-en);
    font-size:15px;
}
.fct-equip-table tbody td.text-left{text-align:left;}

/* 설비현황 (가로 스크롤 대응) */
.fct-equip-scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    margin:0 -2px;
    padding:0 2px;
}
.fct-equip-scroll .fct-equip-table{
    min-width:900px;
}

/* 한줄짜리 섹션 노트 */
.fct-note{
    margin-top:14px;
    padding:14px 18px;
    background:#f8fafd;
    border-left:3px solid var(--c-primary);
    font-size:13px;
    color:var(--c-gray1);
    line-height:1.6;
    letter-spacing:-.01em;
    border-radius:0 6px 6px 0;
}
.fct-note i{
    color:var(--c-primary);
    margin-right:6px;
}

/* 공장 KPI 미니카드 */
.fct-kpi{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:60px;
}
.fct-kpi-card{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:12px;
    padding:24px 22px;
    transition:all .3s;
    position:relative;
    overflow:hidden;
}
.fct-kpi-card:before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:40px;height:3px;
    background:var(--c-primary);
}
.fct-kpi-card:hover{
    border-color:var(--c-primary);
    transform:translateY(-3px);
    box-shadow:0 16px 30px -18px rgba(29,95,224,.25);
}
.fct-kpi-card .k-label{
    display:block;
    font-family:var(--font-en);
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    color:var(--c-primary);
    margin-bottom:10px;
}
.fct-kpi-card .k-value{
    display:block;
    font-size:24px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.02em;
    line-height:1.2;
    margin-bottom:4px;
}
.fct-kpi-card .k-value small{
    font-size:14px;
    font-weight:600;
    color:var(--c-gray2);
    margin-left:2px;
}
.fct-kpi-card .k-desc{
    display:block;
    font-size:12px;
    color:var(--c-gray2);
    letter-spacing:-.01em;
}

/* ===== 20. 채용정보 (Career) ===== */

/* 인재상 컨셉 헤더 */
.rcrt-vision-head{
    text-align:center;
    margin-bottom:60px;
    padding:60px 30px;
    background:linear-gradient(135deg,#0a1e3d 0%,#1a56a8 100%);
    border-radius:20px;
    color:#fff;
    position:relative;
    overflow:hidden;
}
.rcrt-vision-head:before{
    content:"";
    position:absolute;
    top:-100px;right:-100px;
    width:300px;height:300px;
    background:radial-gradient(circle,rgba(29,95,224,.4) 0%,transparent 70%);
    border-radius:50%;
}
.rcrt-vision-head:after{
    content:"";
    position:absolute;
    bottom:-150px;left:-100px;
    width:380px;height:380px;
    background:radial-gradient(circle,rgba(77,130,255,.35) 0%,transparent 70%);
    border-radius:50%;
}
.rcrt-vision-head .v-label{
    display:inline-block;
    font-family:var(--font-en);
    font-size:13px;
    font-weight:700;
    letter-spacing:.25em;
    color:#fff;
    background:rgba(255,255,255,.15);
    padding:8px 20px;
    border-radius:30px;
    margin-bottom:24px;
    position:relative;z-index:2;
    backdrop-filter:blur(8px);
}
.rcrt-vision-head .v-title{
    font-size:40px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-.02em;
    margin:0 0 18px;
    position:relative;z-index:2;
}
.rcrt-vision-head .v-title em{
    color:#ff6b85;
    font-style:normal;
    font-weight:800;
}
.rcrt-vision-head .v-desc{
    font-size:16px;
    color:rgba(255,255,255,.85);
    letter-spacing:-.01em;
    margin:0;
    position:relative;z-index:2;
    line-height:1.6;
}

/* 인재상 카드 그리드 */
.rcrt-values{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-bottom:100px;
}
.rcrt-value{
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:16px;
    padding:48px 36px 40px;
    transition:all .35s;
    position:relative;
    overflow:hidden;
}
.rcrt-value:before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:4px;
    background:var(--c-primary);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .4s;
}
.rcrt-value:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 50px -25px rgba(10,30,61,.25);
    border-color:var(--c-primary);
}
.rcrt-value:hover:before{transform:scaleX(1);}
.rcrt-value .v-num{
    position:absolute;
    top:24px;right:30px;
    font-family:var(--font-en);
    font-size:80px;
    font-weight:900;
    color:var(--c-gray5);
    line-height:1;
    letter-spacing:-.04em;
    pointer-events:none;
    transition:color .35s;
}
.rcrt-value:hover .v-num{color:#ffe2e6;}
.rcrt-value .v-icon{
    width:64px;height:64px;
    border-radius:18px;
    background:linear-gradient(135deg,var(--c-primary) 0%,#ff4b6b 100%);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    margin-bottom:28px;
    box-shadow:0 14px 24px -10px rgba(29,95,224,.5);
    position:relative;z-index:2;
}
.rcrt-value h3{
    font-family:var(--font-en);
    font-size:22px;
    font-weight:800;
    color:var(--c-primary);
    letter-spacing:-.01em;
    margin:0 0 8px;
    position:relative;z-index:2;
}
.rcrt-value .v-headline{
    display:block;
    font-size:18px;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin-bottom:14px;
    line-height:1.4;
    position:relative;z-index:2;
}
.rcrt-value .v-desc{
    font-size:14px;
    color:var(--c-gray1);
    letter-spacing:-.01em;
    line-height:1.7;
    margin:0 0 22px;
    position:relative;z-index:2;
}
.rcrt-value .v-keys{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding-top:20px;
    border-top:1px dashed var(--c-gray4);
    position:relative;z-index:2;
}
.rcrt-value .v-keys span{
    display:inline-flex;
    align-items:center;
    padding:5px 12px;
    background:#f8fafd;
    border:1px solid var(--c-gray4);
    border-radius:30px;
    font-size:12px;
    color:var(--c-gray1);
    font-weight:500;
    letter-spacing:-.01em;
    transition:all .25s;
}
.rcrt-value:hover .v-keys span{
    background:#fff5f6;
    border-color:#ffd1d8;
    color:var(--c-primary);
}

/* 복리후생 섹션 */
.rcrt-benefits-block{
    padding-top:80px;
    border-top:1px solid var(--c-gray4);
}
.rcrt-benefits-head{
    text-align:center;
    margin-bottom:50px;
}
.rcrt-benefits-head .label{
    display:block;
    font-family:var(--font-en);
    font-size:14px;
    font-weight:700;
    letter-spacing:.2em;
    color:var(--c-primary);
    margin-bottom:16px;
}
.rcrt-benefits-head h3{
    font-size:36px;
    font-weight:800;
    color:var(--c-black);
    letter-spacing:-.025em;
    margin:0 0 12px;
}
.rcrt-benefits-head p{
    font-size:15px;
    color:var(--c-gray1);
    letter-spacing:-.01em;
    margin:0;
}

/* 복리후생 카드 그리드 */
.rcrt-benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.rcrt-benefit{
    padding:30px 26px;
    background:#fff;
    border:1px solid var(--c-gray4);
    border-radius:14px;
    transition:all .3s;
    position:relative;
    overflow:hidden;
}
.rcrt-benefit:hover{
    border-color:var(--c-primary);
    transform:translateY(-4px);
    box-shadow:0 20px 35px -20px rgba(29,95,224,.25);
}
.rcrt-benefit .b-icon{
    width:52px;height:52px;
    border-radius:14px;
    background:#f8fafd;
    color:var(--c-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:18px;
    transition:all .3s;
}
.rcrt-benefit:hover .b-icon{
    background:var(--c-primary);
    color:#fff;
    transform:rotate(-8deg);
}
.rcrt-benefit h4{
    font-size:16px;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0 0 8px;
    line-height:1.4;
}
.rcrt-benefit p{
    font-size:13px;
    color:var(--c-gray1);
    letter-spacing:-.01em;
    line-height:1.6;
    margin:0;
}

/* 채용 절차 (RECRUIT PROCESS) */
.rcrt-process-block{
    margin-top:100px;
    padding-top:80px;
    border-top:1px solid var(--c-gray4);
}
.rcrt-process{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
    margin-top:40px;
    position:relative;
}
.rcrt-process:before{
    content:"";
    position:absolute;
    top:50px;left:8%;right:8%;
    height:2px;
    background:linear-gradient(to right,var(--c-gray4) 0%,var(--c-gray4) 100%);
    z-index:0;
}
.rcrt-step{
    text-align:center;
    position:relative;
    z-index:1;
}
.rcrt-step .s-num{
    width:100px;height:100px;
    margin:0 auto 18px;
    background:#fff;
    border:2px solid var(--c-gray4);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:var(--c-primary);
    transition:all .35s;
    position:relative;
}
.rcrt-step .s-num i{
    font-size:24px;
    margin-bottom:4px;
}
.rcrt-step .s-num span{
    font-family:var(--font-en);
    font-size:12px;
    font-weight:800;
    letter-spacing:.05em;
    color:var(--c-gray2);
}
.rcrt-step:hover .s-num{
    border-color:var(--c-primary);
    background:var(--c-primary);
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 16px 28px -12px rgba(29,95,224,.4);
}
.rcrt-step:hover .s-num span{color:rgba(255,255,255,.85);}
.rcrt-step h4{
    font-size:15px;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.01em;
    margin:0 0 6px;
}
.rcrt-step p{
    font-size:12px;
    color:var(--c-gray2);
    letter-spacing:-.01em;
    line-height:1.55;
    margin:0;
}

/* ===== 채용공고 (Jobs) ===== */

/* 필터 영역 */
.jobs-filter{
    display:flex;
    gap:12px;
    margin-bottom:40px;
    flex-wrap:wrap;
}
.jobs-filter .jf-item{
    position:relative;
    flex:0 0 220px;
}
.jobs-filter select{
    width:100%;
    padding:14px 44px 14px 18px;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    background:#fff;
    font-size:14px;
    color:var(--c-black);
    font-weight:500;
    letter-spacing:-.01em;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    transition:border-color .2s;
}
.jobs-filter select:focus{
    outline:none;
    border-color:var(--c-primary);
}
.jobs-filter .jf-item:after{
    content:"\f078";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    right:18px;top:50%;
    transform:translateY(-50%);
    color:var(--c-gray2);
    font-size:11px;
    pointer-events:none;
}
.jobs-search{
    flex:1;
    min-width:240px;
    position:relative;
}
.jobs-search input{
    width:100%;
    padding:14px 18px 14px 46px;
    border:1px solid var(--c-gray4);
    border-radius:8px;
    background:#fff;
    font-size:14px;
    color:var(--c-black);
    letter-spacing:-.01em;
    transition:border-color .2s;
}
.jobs-search input:focus{
    outline:none;
    border-color:var(--c-primary);
}
.jobs-search input::placeholder{color:var(--c-gray2);}
.jobs-search i{
    position:absolute;
    left:18px;top:50%;
    transform:translateY(-50%);
    color:var(--c-gray2);
}

/* 채용 목록 */
.jobs-list{
    border-top:2px solid var(--c-black);
    margin-bottom:60px;
}
.jobs-item{
    display:grid;
    grid-template-columns:120px 1fr auto auto;
    gap:30px;
    align-items:center;
    padding:28px 24px;
    border-bottom:1px solid var(--c-gray4);
    transition:background .25s;
}
.jobs-item:hover{background:#fafbfd;}
.jobs-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 16px;
    border-radius:30px;
    font-size:12px;
    font-weight:700;
    letter-spacing:-.01em;
    width:fit-content;
}
.jobs-status.j-open{background:var(--c-primary);color:#fff;}
.jobs-status.j-closed{background:var(--c-gray4);color:var(--c-gray1);}
.jobs-status.j-soon{background:#0a1e3d;color:#fff;}
.jobs-info h4{
    font-size:18px;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0 0 6px;
}
.jobs-info .j-date{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    color:var(--c-gray2);
    letter-spacing:-.01em;
}
.jobs-info .j-date i{font-size:12px;color:var(--c-primary);}
.jobs-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.jobs-meta .j-tag{
    display:inline-flex;
    padding:5px 12px;
    background:#f8fafd;
    border:1px solid var(--c-gray4);
    border-radius:4px;
    font-size:12px;
    color:var(--c-gray1);
    font-weight:500;
}
.jobs-action{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--c-black);
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    padding:10px 18px;
    border:1px solid var(--c-black);
    border-radius:30px;
    transition:all .25s;
    letter-spacing:-.01em;
}
.jobs-action:hover{
    background:var(--c-primary);
    border-color:var(--c-primary);
    color:#fff;
}
.jobs-action:hover i{transform:translateX(3px);}
.jobs-action i{transition:transform .25s;font-size:11px;}

/* 빈 상태 */
.jobs-empty{
    text-align:center;
    padding:90px 30px;
    background:#fafbfd;
    border:1px dashed var(--c-gray4);
    border-radius:14px;
}
.jobs-empty i{
    font-size:54px;
    color:var(--c-gray3);
    margin-bottom:20px;
}
.jobs-empty h4{
    font-size:20px;
    font-weight:700;
    color:var(--c-black);
    letter-spacing:-.02em;
    margin:0 0 10px;
}
.jobs-empty p{
    font-size:14px;
    color:var(--c-gray1);
    letter-spacing:-.01em;
    line-height:1.7;
    margin:0;
}
.jobs-empty .je-btns{
    display:inline-flex;
    gap:10px;
    margin-top:24px;
}
.jobs-empty .je-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:11px 22px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:-.01em;
    text-decoration:none;
    border:1px solid var(--c-gray3);
    color:var(--c-black);
    background:#fff;
    transition:all .25s;
}
.jobs-empty .je-btn.primary{
    background:var(--c-primary);
    border-color:var(--c-primary);
    color:#fff;
}
.jobs-empty .je-btn:hover{
    background:var(--c-black);
    border-color:var(--c-black);
    color:#fff;
}
.jobs-empty .je-btn.primary:hover{
    background:#c70022;
    border-color:#c70022;
}

/* 채용 CTA 배너 */
.jobs-cta{
    margin-top:80px;
    background:linear-gradient(135deg,#0a1e3d 0%,#0a1e3d 60%,#1a56a8 100%);
    border-radius:20px;
    padding:60px 50px;
    color:#fff;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:40px;
    position:relative;
    overflow:hidden;
}
.jobs-cta:before{
    content:"";
    position:absolute;
    top:-50%;right:-10%;
    width:500px;height:500px;
    background:radial-gradient(circle,rgba(29,95,224,.3) 0%,transparent 70%);
    border-radius:50%;
}
.jobs-cta-text{position:relative;z-index:2;}
.jobs-cta-text .label{
    display:inline-block;
    padding:6px 16px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
    border-radius:30px;
    font-family:var(--font-en);
    font-size:12px;
    font-weight:700;
    letter-spacing:.2em;
    margin-bottom:18px;
}
.jobs-cta-text h3{
    font-size:30px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:-.02em;
    margin:0 0 12px;
}
.jobs-cta-text p{
    font-size:15px;
    color:rgba(255,255,255,.8);
    letter-spacing:-.01em;
    margin:0;
}
.jobs-cta-btns{
    display:flex;
    flex-direction:column;
    gap:10px;
    position:relative;z-index:2;
}
.jobs-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    padding:14px 24px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.25);
    border-radius:30px;
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    letter-spacing:-.01em;
    backdrop-filter:blur(8px);
    transition:all .25s;
    min-width:280px;
}
.jobs-cta-btn:hover{
    background:#fff;
    color:var(--c-black);
    border-color:#fff;
}
.jobs-cta-btn.primary{
    background:var(--c-primary);
    border-color:var(--c-primary);
}
.jobs-cta-btn.primary:hover{
    background:#fff;
    border-color:#fff;
    color:var(--c-primary);
}

/* ===== 9. 반응형 ===== */
@media (max-width:1280px){
    .sub-page-banner .banner-title{font-size:46px;}
    .sub-hero-headline .title{font-size:36px;}
    .sub-hero-headline .title em{font-size:52px;}
    .greeting-wrap{grid-template-columns:380px 1fr;gap:60px;}
    .business-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}
    .business-card{height:440px;}
    .brand-watermark .wm-track span{font-size:120px;}
    .history-era .era-label{font-size:54px;}
}
@media (max-width:1024px){
    .sub-page-banner{padding:calc(var(--hd-height) + 50px) 0 30px;}
    .sub-page-banner .banner-inner{padding:0 30px;}
    .sub-page-banner .banner-title{font-size:38px;}
    .sub-page-banner .banner-text{margin-bottom:32px;}
    .sub-page-banner .banner-bottom{flex-direction:column;align-items:flex-start;}
    .page-select{width:100%;}
    .page-select .ps-item{flex:1;min-width:0;}
    .sub-content{padding:80px 0;}
    .sub-content-inner{padding:0 30px;}
    .sub-hero-headline{margin-bottom:60px;}
    .sub-hero-headline .title{font-size:30px;}
    .sub-hero-headline .title em{font-size:42px;}
    .greeting-wrap{grid-template-columns:1fr;gap:40px;}
    .greeting-photo{max-width:380px;margin:0 auto;}
    .greeting-block{margin-bottom:40px;}
    .greeting-block .gt-title{font-size:20px;}
    .business-section{padding:80px 0;}
    .business-section .section-head .title{font-size:32px;}
    .business-grid{grid-template-columns:1fr 1fr;padding:0 30px;}
    .business-card{height:380px;}
    .business-card:first-child .b-info .b-ko{font-size:28px;}
    .brand-watermark .wm-track span{font-size:80px;}
    .history-wrap{grid-template-columns:1fr;gap:40px;}
    .history-era{position:static;}
    .history-era .era-label{font-size:42px;}
    .overview-stats{grid-template-columns:repeat(2,1fr);}
    .overview-stats .stat:nth-child(2){border-right:0;}
    .product-grid{grid-template-columns:1fr;gap:16px;}
    /* 조직도 */
    .org-divisions{grid-template-columns:repeat(2,1fr);gap:14px;}
    .org-divisions:before{display:none;}
    .org-div-item:before{display:none;}
    /* 인증 */
    .cert-grid{grid-template-columns:repeat(2,1fr);}
    /* CI */
    .ci-logo-grid,.ci-palette,.ci-rules{grid-template-columns:1fr;}
    .ci-logo-box{padding:60px 30px 28px;}
    .ci-logo-box .logo-mark{font-size:42px;}
    .ci-naming-grid{grid-template-columns:1fr;gap:16px;}
    .ci-naming-card{padding:36px 28px;}
    .ci-naming-card .nm-letter{font-size:64px;}
    .ci-naming-banner{padding:28px 24px;flex-direction:column;}
    .ci-naming-banner .nb-brand{font-size:24px;}
    /* 오시는길 */
    .location-info{grid-template-columns:1fr;gap:40px;}
    .factory-content.active{grid-template-columns:1fr;gap:30px;}
    /* 제품소개 */
    .prd-overview{grid-template-columns:1fr;gap:30px;}
    .prd-gallery-grid.col4{grid-template-columns:repeat(3,1fr);}
    .prd-flow-row{flex-wrap:wrap;}
    .prd-flow-circle{width:110px;height:110px;font-size:13px;}
    .prd-flow-arrow{max-width:100px;}
    .prd-steps{flex-direction:column;}
    .prd-step{width:100%;}
    .prd-step-connector{transform:rotate(90deg);padding:8px 0;}
    .prd-strengths{grid-template-columns:1fr;}
    .prd-section-head .title{font-size:28px;}
    /* 연구개발 태블릿 */
    .rnd-card{grid-template-columns:1fr;gap:30px;}
    .lab-intro{grid-template-columns:1fr;gap:40px;}
    .lab-block .block-head .title{font-size:28px;}
    .lab-goals{grid-template-columns:1fr;gap:30px;}
    .lab-vision-circle{width:200px;height:200px;}
    .lab-org-teams{grid-template-columns:1fr;gap:20px;}
    .lab-facilities{grid-template-columns:1fr;}
    .lab-facility.full{grid-column:span 1;}
    /* 연구실적 */
    .rst-stats{grid-template-columns:repeat(2,1fr);}
    .rst-patents{grid-template-columns:1fr;}
    /* 공장안내 */
    .fct-overview{grid-template-columns:1fr;gap:30px;margin-bottom:60px;}
    .fct-info-card{padding:30px 26px;}
    .fct-info-card .ic-name{font-size:20px;}
    .fct-title-box h3{font-size:30px;}
    .fct-kpi{grid-template-columns:repeat(2,1fr);}
    /* 채용정보 */
    .rcrt-vision-head{padding:50px 28px;}
    .rcrt-vision-head .v-title{font-size:30px;}
    .rcrt-values{grid-template-columns:1fr;gap:20px;margin-bottom:80px;}
    .rcrt-value{padding:36px 30px 32px;}
    .rcrt-value .v-num{font-size:64px;}
    .rcrt-benefits{grid-template-columns:repeat(2,1fr);}
    .rcrt-benefits-head h3{font-size:28px;}
    .rcrt-process{grid-template-columns:repeat(5,1fr);gap:8px;}
    .rcrt-process:before{display:none;}
    .rcrt-step .s-num{width:80px;height:80px;}
    .rcrt-step h4{font-size:13px;}
    .rcrt-step p{font-size:11px;}
    .jobs-item{grid-template-columns:1fr;gap:14px;padding:20px 18px;}
    .jobs-cta{grid-template-columns:1fr;gap:30px;padding:48px 36px;}
    .jobs-cta-text h3{font-size:24px;}
    .jobs-cta-btn{min-width:0;}
}
@media (max-width:767px){
    .sub-page-banner{padding:calc(var(--hd-height) + 30px) 0 24px;}
    .sub-page-banner .banner-inner{padding:0 20px;}
    .sub-page-banner .banner-label{font-size:12px;margin-bottom:12px;}
    .sub-page-banner .banner-title{font-size:30px;}
    .sub-page-banner .banner-text{margin-bottom:24px;}
    .sub-content{padding:60px 0;}
    .sub-content-inner{padding:0 20px;}
    .sub-hero-headline{margin-bottom:40px;}
    .sub-hero-headline .title{font-size:24px;}
    .sub-hero-headline .title em{font-size:32px;}
    .greeting-block .gt-title{font-size:17px;}
    .greeting-block .gt-body{font-size:14px;}
    .business-grid{grid-template-columns:1fr;padding:0 20px;}
    .business-card{height:280px;}
    .business-card .b-info .b-ko,
    .business-card:first-child .b-info .b-ko{font-size:22px;}
    .brand-watermark .wm-track span{font-size:48px;}
    .history-era .era-label{font-size:32px;}
    .history-year{padding-left:24px;}
    .history-year .year-num{font-size:24px;}
    .history-year .year-list li{font-size:13px;}
    .overview-stats{grid-template-columns:1fr 1fr;padding:30px 0;gap:16px;}
    .overview-stats .stat .num{font-size:38px;}
    .overview-stats .stat .num small{font-size:22px;}
    /* 조직도 */
    .org-card{padding:18px 24px;min-width:0;}
    .org-card.primary{padding:24px 32px;}
    .org-card.primary .org-name{font-size:20px;}
    .org-divisions{grid-template-columns:1fr;}
    .org-line-v{height:32px;}
    /* 인증 */
    .cert-grid{grid-template-columns:1fr 1fr;gap:16px;}
    .cert-tabs{gap:6px;}
    .cert-tabs button{padding:10px 18px;font-size:12px;}
    .cert-card .cert-info{padding:18px 14px;}
    .cert-card .cert-name{font-size:13px;}
    /* CI */
    .ci-block .block-title{font-size:20px;}
    .ci-logo-box{padding:50px 24px 24px;}
    .ci-logo-box .logo-mark{font-size:36px;}
    /* 오시는길 */
    .location-map{height:320px;}
    .info-block .block-title{font-size:18px;}
    .info-block dt{flex:0 0 70px;font-size:11px;}
    .info-block dd{font-size:14px;}
    .factory-tabs button{padding:14px 18px;font-size:13px;}
    /* 공장안내 모바일 */
    .fct-title-box h3{font-size:24px;}
    .fct-title-box h3 strong{font-size:12px;}
    .fct-info-card{padding:24px 20px;}
    .fct-info-card .ic-name{font-size:18px;padding-bottom:16px;}
    .fct-info-card dl{gap:14px;margin-top:18px;}
    .fct-info-card dl > div{grid-template-columns:90px 1fr;gap:12px;}
    .fct-info-card dt{font-size:12px;}
    .fct-info-card dd{font-size:13px;}
    .fct-section{margin-bottom:50px;}
    .fct-section .sec-head h3{font-size:20px;}
    .fct-section .sec-head h3 small{display:block;margin-left:0;margin-top:4px;}
    .fct-status-table th,
    .fct-status-table td{padding:12px 14px;font-size:12px;}
    .fct-status-table th{width:100px;}
    .fct-equip-table thead th,
    .fct-equip-table tbody td{padding:10px 8px;font-size:12px;}
    .fct-kpi{grid-template-columns:1fr 1fr;}
    .fct-kpi-card{padding:18px 16px;}
    .fct-kpi-card .k-value{font-size:20px;}
    /* 채용정보 모바일 */
    .rcrt-vision-head{padding:40px 22px;border-radius:14px;}
    .rcrt-vision-head .v-title{font-size:22px;}
    .rcrt-vision-head .v-desc{font-size:13px;}
    .rcrt-value{padding:30px 24px 26px;}
    .rcrt-value h3{font-size:18px;}
    .rcrt-value .v-headline{font-size:15px;}
    .rcrt-value .v-num{font-size:48px;top:18px;right:22px;}
    .rcrt-benefits{grid-template-columns:1fr 1fr;gap:10px;}
    .rcrt-benefit{padding:22px 18px;}
    .rcrt-benefit h4{font-size:14px;}
    .rcrt-benefit p{font-size:12px;}
    .rcrt-benefits-head h3{font-size:22px;}
    .rcrt-process{grid-template-columns:repeat(2,1fr);gap:18px;}
    .jobs-filter{flex-direction:column;}
    .jobs-filter .jf-item{flex:1;}
    .jobs-cta{padding:36px 24px;}
    .jobs-cta-text h3{font-size:20px;}
    /* 제품소개 모바일 */
    .prd-model-tabs button{padding:9px 16px;font-size:12px;}
    .prd-model-tabs button small{display:none;}
    .prd-spec-table th{width:80px;padding:14px 12px;font-size:13px;}
    .prd-spec-table td{padding:14px 12px;font-size:13px;}
    .prd-gallery-grid.col2,
    .prd-gallery-grid.col3,
    .prd-gallery-grid.col4{grid-template-columns:repeat(2,1fr);gap:10px;}
    .prd-flow{padding:30px 16px;}
    .prd-flow-circle{width:90px;height:90px;font-size:11px;}
    .prd-flow-arrow{max-width:60px;min-width:50px;}
    .prd-flow-arrow-label-top,
    .prd-flow-arrow-label-bottom{font-size:10px;height:14px;}
    .prd-section-head .title{font-size:22px;}
    .prd-section-head .desc{font-size:13px;}
    .prd-group-title{font-size:15px;}
    .prd-process-section{margin-top:60px;padding-top:50px;}
    /* 연구개발 모바일 */
    .rnd-main-tabs button{padding:14px 24px;font-size:14px;}
    .rnd-sub-tabs button{padding:10px 14px;font-size:12px;}
    .rnd-sub-tabs button small{font-size:10px;}
    .rnd-table th{width:90px;padding:14px 12px;font-size:12px;}
    .rnd-table td{padding:14px 12px;font-size:13px;}
    .lab-intro-text .title{font-size:24px;}
    .lab-block .block-head .title{font-size:22px;}
    /* 연혁 타임라인 모바일 */
    .lab-timeline:before{left:24px;}
    .lab-tl-item:nth-child(odd),
    .lab-tl-item:nth-child(even){
        padding-left:60px;
        padding-right:0;
        justify-content:flex-start;
    }
    .lab-tl-item:before{left:24px;}
    .lab-tl-year{font-size:24px;}
    .lab-tl-content{padding:16px 18px;}
    .lab-tl-content p{font-size:13px;}
    .lab-vision-circle{width:170px;height:170px;}
    .lab-vision-text{font-size:16px;}
    .rst-stat-num{font-size:38px;}
    .rst-table th,.rst-table td{padding:14px 16px;font-size:13px;}
    .rst-patent-info{padding:20px 18px;}
    .rst-patent-info h4{font-size:16px;}
    .rst-patent-meta dt{flex:0 0 70px;font-size:11px;}
    .rst-patent-meta dd{font-size:12px;}
}

/* ============================================================
   ▼▼▼ 제품소개 (Product) 페이지 모바일 전면 재디자인 ▼▼▼
   PC 디자인은 유지, 모바일에서만 새 레이아웃 적용
   - seat.php / injection.php / mecha.php 공통
   - 공급망 흐름도: 가로 노드 → 세로 노드 카드
   - 8단계 공정: 깔끔한 세로 타임라인
   ============================================================ */

@media (max-width:767px){
    /* ===== 1. 제조공정 섹션 헤더 ===== */
    .prd-process-section{
        padding-top:50px !important;
        margin-top:50px !important;
    }
    .prd-section-head{
        text-align:center;
        margin-bottom:32px !important;
    }
    .prd-section-head .label{
        font-size:11px !important;
        letter-spacing:.2em !important;
    }
    .prd-section-head .title{
        font-size:22px !important;
        line-height:1.4 !important;
        margin-top:8px !important;
    }
    .prd-section-head .desc{
        font-size:12px !important;
        line-height:1.6 !important;
        margin-top:10px !important;
        word-break:keep-all;
    }

    /* ===== 2. 공급망 흐름도 - 세로 노드 카드 ===== */
    .prd-flow{
        padding:30px 16px !important;
        background:linear-gradient(180deg,#f8fafc 0%,#fff 100%) !important;
        border:1px solid #e8eaef !important;
        border-radius:14px !important;
        margin-bottom:50px !important;
    }
    .prd-flow-row{
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        gap:0 !important;
        align-items:center !important;
        position:relative;
    }
    .prd-flow-node{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        gap:14px !important;
        width:100% !important;
        max-width:280px;
        padding:14px 18px !important;
        background:#fff !important;
        border:1px solid #e8eaef !important;
        border-radius:12px !important;
        box-shadow:0 4px 12px -6px rgba(0,0,0,.08) !important;
        z-index:2;
    }
    .prd-flow-circle{
        width:60px !important;
        height:60px !important;
        font-size:11px !important;
        line-height:1.2 !important;
        font-weight:700 !important;
        color:#fff !important;
        flex-shrink:0;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center;
        border-radius:50% !important;
        margin:0 !important;
    }
    .prd-flow-circle small{
        display:block !important;
        font-size:9px !important;
        opacity:.85;
        margin-top:2px;
    }
    .prd-flow-tag{
        font-size:13px !important;
        font-weight:700 !important;
        color:var(--c-black,#1a1a1a) !important;
        text-align:left;
        flex:1;
        margin:0 !important;
        background:transparent !important;
        padding:0 !important;
        letter-spacing:-.01em;
    }
    .prd-flow-tag:before{
        content:attr(data-role);
        display:block;
        font-size:9px;
        color:var(--c-primary,#1D5FE0);
        letter-spacing:.15em;
        font-weight:600;
        margin-bottom:2px;
    }

    /* 화살표 - 세로 방향으로 변경 */
    .prd-flow-arrow{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        width:auto !important;
        max-width:none !important;
        min-width:0 !important;
        height:auto !important;
        padding:6px 0 !important;
        margin:0 !important;
    }
    .prd-flow-arrow-line{
        width:2px !important;
        height:34px !important;
        background:var(--c-primary,#1D5FE0) !important;
        position:relative !important;
        opacity:.5;
        margin:4px 0 !important;
    }
    .prd-flow-arrow-line:after{
        content:"";
        position:absolute;
        bottom:-2px;
        left:50%;
        transform:translateX(-50%) rotate(45deg);
        width:8px;
        height:8px;
        border-right:2px solid var(--c-primary,#1D5FE0);
        border-bottom:2px solid var(--c-primary,#1D5FE0);
        border-top:0;
        border-left:0;
    }
    .prd-flow-arrow-label-top,
    .prd-flow-arrow-label-bottom{
        font-size:10px !important;
        height:auto !important;
        line-height:1.3 !important;
        padding:0 !important;
        white-space:nowrap;
        font-weight:600;
    }
    .prd-flow-arrow-label-top{
        color:#0a1e3d !important;
        margin-bottom:0 !important;
    }
    .prd-flow-arrow-label-bottom{
        color:var(--c-primary,#1D5FE0) !important;
        margin-top:0 !important;
    }

    /* ===== 3. 8단계 공정 - 세로 타임라인 ===== */
    .prd-steps{
        display:flex !important;
        flex-direction:column !important;
        gap:0 !important;
        position:relative;
        padding-left:0 !important;
        margin-bottom:50px !important;
    }
    .prd-step{
        display:grid !important;
        grid-template-columns:64px 1fr !important;
        align-items:center !important;
        gap:16px !important;
        width:100% !important;
        padding:18px 20px !important;
        background:#fff !important;
        border:1px solid #e8eaef !important;
        border-radius:12px !important;
        margin:0 0 6px 0 !important;
        text-align:left !important;
        position:relative;
        transition:all .25s !important;
    }
    .prd-step:hover{
        border-color:var(--c-primary,#1D5FE0) !important;
        transform:translateX(2px) !important;
        box-shadow:0 8px 18px -10px rgba(29,95,224,.2) !important;
    }
    .prd-step-num{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        grid-column:1;
        grid-row:1 / span 3;
        font-family:'Poppins','Pretendard',sans-serif;
        font-size:24px !important;
        font-weight:800 !important;
        color:var(--c-primary,#1D5FE0) !important;
        background:rgba(29,95,224,.06);
        width:50px !important;
        height:50px !important;
        border-radius:50% !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        margin:0 !important;
        flex-shrink:0;
    }
    .prd-step-icon{
        position:relative !important;
        top:auto !important;
        right:auto !important;
        grid-column:2;
        grid-row:1;
        font-size:18px !important;
        color:#6b7280 !important;
        background:transparent !important;
        width:auto !important;
        height:auto !important;
        margin:0 0 4px 0 !important;
        border-radius:0 !important;
        text-align:left !important;
        align-self:flex-end;
    }
    .prd-step:hover .prd-step-icon{
        color:var(--c-primary,#1D5FE0) !important;
        background:transparent !important;
        transform:none !important;
    }
    .prd-step h5{
        grid-column:2;
        grid-row:2;
        font-size:15px !important;
        font-weight:700 !important;
        color:var(--c-black,#1a1a1a) !important;
        margin:0 !important;
        line-height:1.2 !important;
        letter-spacing:-.01em;
    }
    .prd-step p{
        grid-column:2;
        grid-row:3;
        font-size:11px !important;
        color:#6b7280 !important;
        margin:2px 0 0 !important;
        line-height:1.4 !important;
    }
    /* 단계 사이 화살표 (chevron-down) */
    .prd-step-connector{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        height:auto !important;
        padding:6px 0 !important;
        margin:0 !important;
        transform:none !important;
        color:rgba(29,95,224,.4) !important;
        font-size:14px !important;
    }
    .prd-step-connector i{
        transform:rotate(90deg) !important;
        font-size:12px !important;
    }

    /* ===== 4. 핵심 강점 - 빨간 카드 ===== */
    .prd-strengths{
        display:flex !important;
        flex-direction:column !important;
        grid-template-columns:none !important;
        gap:10px !important;
        margin-top:40px !important;
    }
    .prd-strength-card{
        display:flex !important;
        align-items:center !important;
        gap:14px !important;
        padding:18px 20px !important;
        background:var(--c-primary,#1D5FE0) !important;
        color:#fff !important;
        border-radius:12px !important;
        text-align:left !important;
        flex-direction:row !important;
    }
    .prd-strength-card i{
        font-size:22px !important;
        color:#fff !important;
        opacity:.9;
        margin:0 !important;
    }
    .prd-strength-card span{
        font-size:14px !important;
        font-weight:700 !important;
        color:#fff !important;
        letter-spacing:-.01em;
    }

    /* ===== 5. Main Products 모델 탭 (PU/RP/회벨앙해체 등) - 가로 스크롤 ===== */
    .prd-model-tabs{
        display:flex !important;
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        overflow-y:hidden;
        gap:6px !important;
        padding:0 4px 8px !important;
        margin-bottom:24px !important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    .prd-model-tabs::-webkit-scrollbar{display:none;}
    .prd-model-tabs button{
        flex-shrink:0 !important;
        padding:10px 18px !important;
        font-size:12px !important;
        white-space:nowrap !important;
        border-radius:30px !important;
    }
    .prd-model-tabs button small{
        margin-left:4px;
        font-size:10px !important;
        opacity:.7;
    }

    /* ===== 6. 제품 정보 영역 (차종/품명/고객사 dl) ===== */
    .prd-overview{
        margin-bottom:50px !important;
    }
    .prd-overview .prd-spec-table{
        margin-top:18px !important;
    }
    .prd-spec-table dl,
    .prd-spec-table .spec-row{
        display:grid !important;
        grid-template-columns:80px 1fr !important;
        gap:8px 14px !important;
        padding:12px 0 !important;
        border-bottom:1px dashed rgba(0,0,0,.08) !important;
        margin:0 !important;
    }
    .prd-spec-table dt{
        font-size:11px !important;
        font-weight:700 !important;
        color:var(--c-primary,#1D5FE0) !important;
        letter-spacing:.1em !important;
        margin:0 !important;
    }
    .prd-spec-table dd{
        font-size:13px !important;
        color:var(--c-black,#1a1a1a) !important;
        line-height:1.55 !important;
        margin:0 !important;
        word-break:keep-all;
    }

    /* ===== 7. 제품사진 갤러리 (Double Cab Rear / Front Seat Assembly 등) ===== */
    .prd-gallery-section{
        margin-bottom:40px !important;
    }
    .prd-group-title{
        font-size:15px !important;
        font-weight:700 !important;
        margin-bottom:14px !important;
        padding-left:12px;
        position:relative;
    }
    .prd-group-title:before{
        content:"";
        position:absolute;
        left:0; top:50%;
        transform:translateY(-50%);
        width:4px; height:16px;
        background:var(--c-primary,#1D5FE0);
        border-radius:2px;
    }
    .prd-gallery-grid,
    .prd-gallery-grid.col2,
    .prd-gallery-grid.col3,
    .prd-gallery-grid.col4{
        display:grid !important;
        grid-template-columns:repeat(2,1fr) !important;
        gap:8px !important;
    }
    .prd-gallery-item{
        aspect-ratio:1/1 !important;
        border-radius:10px !important;
        overflow:hidden;
        background:#f0f2f7;
    }
}

@media (max-width:480px){
    .prd-process-section{padding-top:40px !important; margin-top:40px !important;}
    .prd-section-head .title{font-size:20px !important;}
    .prd-flow{padding:24px 14px !important;}
    .prd-flow-node{max-width:240px; padding:12px 14px !important;}
    .prd-flow-circle{width:54px !important; height:54px !important; font-size:10px !important;}
    .prd-flow-tag{font-size:12px !important;}
    .prd-step{padding:16px 16px !important; gap:12px !important; grid-template-columns:50px 1fr !important;}
    .prd-step-num{width:42px !important; height:42px !important; font-size:18px !important;}
    .prd-step h5{font-size:14px !important;}
    .prd-step p{font-size:11px !important;}
    .prd-strength-card{padding:14px 16px !important;}
    .prd-strength-card i{font-size:18px !important;}
    .prd-strength-card span{font-size:13px !important;}
}

/* ============================================================
   ESG 경영 페이지 (탭메뉴 + E/S/G 섹션 레이아웃)
============================================================ */
/* 탭 메뉴 */
.esg-tab-menu{border-bottom:1px solid var(--c-gray4);margin-bottom:80px;}
.esg-tab-menu ul{display:flex;justify-content:center;}
.esg-tab-menu li a{display:block;padding:18px 46px;font-size:18px;font-weight:500;color:var(--c-gray1);position:relative;transition:color .3s;}
.esg-tab-menu li a:hover{color:var(--c-black);}
.esg-tab-menu li.on a{color:var(--c-black);font-weight:700;}
.esg-tab-menu li.on a:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:var(--c-primary);}

/* 인트로 */
.esg-intro{text-align:center;margin-bottom:60px;}
.esg-intro .stxt{font-size:26px;line-height:1.65;font-weight:400;color:var(--c-black);}
.esg-intro .stxt em{color:var(--c-primary);font-style:normal;font-weight:600;}

/* 풀와이드 배너 (영상 대체 이미지 — 추후 video 태그로 교체 가능) */
.esg-full-banner{width:100%;height:420px;border-radius:12px;overflow:hidden;background:var(--c-gray6) center/cover no-repeat;margin-bottom:100px;}
.esg-full-banner video{width:100%;height:100%;object-fit:cover;}

/* 미션 스테이트먼트 */
.esg-statement{max-width:1000px;margin:0 auto 110px;text-align:center;font-size:24px;line-height:1.75;color:var(--c-black);}
.esg-statement em{color:var(--c-primary);font-weight:700;font-style:normal;}

/* E/S/G 블록 */
.esg-block{margin-bottom:110px;}
.esg-block:last-child{margin-bottom:0;}
.esg-block-title{margin-bottom:38px;}
.esg-block-title h4{font-size:34px;font-weight:800;color:var(--c-black);margin-bottom:14px;position:relative;padding-left:18px;line-height:1.2;}
.esg-block-title h4:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;background:var(--c-primary);}
.esg-block-title .stxt{font-size:17px;color:var(--c-gray1);line-height:1.7;}
.esg-media{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start;}
.esg-media .simg{height:340px;border-radius:10px;overflow:hidden;background:var(--c-gray6) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--c-gray3);}
.esg-media .simg i{font-size:44px;}
.esg-cert-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.esg-cert-list li{text-align:center;}
.esg-cert-list .certi-img{display:flex;align-items:center;justify-content:center;height:170px;background:#fff;border:1px solid var(--c-gray4);border-radius:8px;margin-bottom:12px;color:var(--c-gray3);overflow:hidden;}
.esg-cert-list .certi-img i{font-size:34px;}
.esg-cert-list .certi-img img{width:100%;height:100%;object-fit:contain;padding:10px;}
.esg-cert-list .desc{display:block;font-size:14px;color:var(--c-gray0);line-height:1.45;}

/* 스크롤 페이드업 */
.esg-fade{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease;}
.esg-fade.in{opacity:1;transform:translateY(0);}

@media (max-width:1024px){
    .esg-tab-menu{margin-bottom:60px;}
    .esg-tab-menu li a{padding:15px 28px;font-size:16px;}
    .esg-intro .stxt{font-size:21px;}
    .esg-full-banner{height:320px;margin-bottom:70px;}
    .esg-statement{font-size:20px;margin-bottom:80px;}
    .esg-block{margin-bottom:80px;}
    .esg-block-title h4{font-size:28px;}
    .esg-media{grid-template-columns:1fr;gap:28px;}
    .esg-media .simg{height:280px;}
}
@media (max-width:767px){
    .esg-tab-menu ul{width:100%;}
    .esg-tab-menu li{flex:1;}
    .esg-tab-menu li a{padding:14px 8px;font-size:15px;text-align:center;}
    .esg-intro .stxt{font-size:18px;}
    .esg-full-banner{height:220px;border-radius:8px;}
    .esg-statement{font-size:17px;}
    .esg-block-title h4{font-size:24px;}
    .esg-cert-list{grid-template-columns:repeat(2,1fr);gap:14px;}
    .esg-cert-list .certi-img{height:140px;}
}

/* ===== ESG 안전보건 경영 추가 컴포넌트 ===== */
.esg-block-title .stxt em{color:var(--c-primary);font-weight:700;font-style:normal;}
.esg-txt-grid .esg-sub-tit{font-size:20px;font-weight:700;color:var(--c-black);margin:0 0 16px;}
.esg-txt-grid .esg-sub-tit ~ .esg-sub-tit{margin-top:34px;}
.esg-txt-grid > .stxt{font-size:16px;color:var(--c-gray1);line-height:1.75;margin-bottom:26px;}
.esg-txt-list{margin-bottom:6px;}
.esg-txt-list li{position:relative;padding-left:16px;margin-bottom:9px;font-size:16px;color:var(--c-gray0);line-height:1.55;}
.esg-txt-list li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--c-primary);}
.esg-txt-list li .light{color:var(--c-gray1);font-weight:400;}
.esg-icon-list{display:grid;gap:14px;margin-top:4px;}
.esg-icon-list li{display:flex;align-items:center;gap:18px;background:var(--c-gray6);border-radius:10px;padding:16px 22px;}
.esg-icon-list .icon{flex:none;width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid var(--c-gray4);display:flex;align-items:center;justify-content:center;color:var(--c-primary);font-size:22px;}
.esg-icon-list h6{font-size:16px;font-weight:700;color:var(--c-black);margin:0 0 4px;}
.esg-icon-list .desc{font-size:14px;color:var(--c-gray1);line-height:1.5;}
.esg-media.rev{grid-template-columns:1.2fr 0.8fr;}
.esg-cert-photo{height:420px;border:1px solid var(--c-gray4);border-radius:10px;background:#fff center/contain no-repeat;display:flex;align-items:center;justify-content:center;color:var(--c-gray3);flex-direction:column;gap:10px;}
.esg-cert-photo i{font-size:44px;}
.esg-cert-photo span{font-size:13px;}
@media (max-width:1024px){
    .esg-media.rev{grid-template-columns:1fr;}
    .esg-cert-photo{height:340px;}
}
@media (max-width:767px){
    .esg-txt-grid .esg-sub-tit{font-size:18px;}
    .esg-icon-list li{padding:14px 16px;gap:14px;}
    .esg-icon-list .icon{width:46px;height:46px;font-size:18px;}
    .esg-cert-photo{height:280px;}
}

/* ===== 서브페이지 셀렉트박스 - 긴 메뉴명 말줄임 처리 (모바일) ===== */
@media (max-width:1024px){
    .page-select .ps-current{
        padding:12px 16px;
        white-space:nowrap;
    }
    .page-select .ps-current span{
        display:block;
        flex:1;
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        text-align:left;
        font-size:13px;
        line-height:1.3;
    }
    .page-select .ps-current i{flex:none;}
    .page-select .ps-list li a{
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
}
@media (max-width:480px){
    .page-select .ps-current{padding:11px 14px;}
    .page-select .ps-current span{font-size:12px;}
    .page-select .ps-list li a{font-size:12px;padding:10px 14px;}
}

/* ============================================================
   유틸 페이지 (사이트안내/개인정보처리방침/이용약관/이메일무단수집거부)
============================================================ */
.util-doc{max-width:960px;margin:0 auto;}
.util-doc .doc-intro{font-size:16px;color:var(--c-gray1);line-height:1.8;margin-bottom:40px;}
.util-doc h3{font-size:20px;font-weight:700;color:var(--c-black);margin:44px 0 14px;padding-left:14px;position:relative;line-height:1.35;}
.util-doc h3:first-of-type{margin-top:0;}
.util-doc h3:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--c-primary);}
.util-doc p{font-size:15px;color:var(--c-gray1);line-height:1.8;margin:0 0 12px;}
.util-doc ul,.util-doc ol{margin:0 0 16px;padding-left:20px;}
.util-doc ul li{list-style:disc;}
.util-doc ol li{list-style:decimal;}
.util-doc li{font-size:15px;color:var(--c-gray1);line-height:1.75;margin-bottom:6px;}
.util-doc li ul{margin:6px 0 4px;}
.util-doc li ul li{list-style:circle;font-size:14px;}
.util-doc table{width:100%;border-collapse:collapse;margin:6px 0 20px;}
.util-doc table th,.util-doc table td{border:1px solid var(--c-gray4);padding:11px 14px;font-size:14px;text-align:left;line-height:1.55;}
.util-doc table th{background:var(--c-gray6);color:var(--c-black);font-weight:600;white-space:nowrap;}
.util-doc table td{color:var(--c-gray1);}
.util-doc .doc-date{margin-top:50px;padding-top:22px;border-top:1px solid var(--c-gray4);font-size:14px;color:var(--c-gray2);}

/* 이메일무단수집거부 안내 박스 */
.email-refuse-box{max-width:760px;margin:0 auto;text-align:center;padding:60px 40px;border:1px solid var(--c-gray4);border-radius:14px;background:var(--c-gray6);}
.email-refuse-box .er-icon{width:84px;height:84px;margin:0 auto 26px;border-radius:50%;background:#fff;border:1px solid var(--c-gray4);display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--c-primary);position:relative;}
.email-refuse-box h3{font-size:24px;font-weight:800;color:var(--c-black);margin-bottom:18px;}
.email-refuse-box p{font-size:15px;color:var(--c-gray1);line-height:1.85;margin-bottom:10px;}
.email-refuse-box p strong{color:var(--c-black);}
.email-refuse-box .er-law{margin-top:28px;padding:18px 22px;background:#fff;border-radius:10px;font-size:13px;color:var(--c-gray2);line-height:1.7;text-align:left;}
.email-refuse-box .er-date{margin-top:24px;font-size:13px;color:var(--c-gray2);}

/* 사이트맵 페이지 */
.util-sitemap{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 40px;}
.util-sitemap .us-col h3{font-size:19px;font-weight:800;color:var(--c-black);padding-bottom:14px;margin-bottom:16px;border-bottom:2px solid var(--c-black);position:relative;}
.util-sitemap .us-col h3:after{content:"";position:absolute;left:0;bottom:-2px;width:36px;height:2px;background:var(--c-primary);}
.util-sitemap .us-col h3 a{color:inherit;}
.util-sitemap .us-col ul li{margin-bottom:2px;}
.util-sitemap .us-col ul li a{display:block;padding:8px 2px;font-size:15px;color:var(--c-gray1);transition:all .2s;border-radius:6px;}
.util-sitemap .us-col ul li a:hover{color:var(--c-primary);padding-left:10px;background:var(--c-gray6);}
.util-sitemap .us-col ul li a small{display:block;font-size:11px;color:var(--c-gray3);margin-top:1px;}

@media (max-width:1024px){
    .util-sitemap{grid-template-columns:repeat(2,1fr);gap:36px 28px;}
}
@media (max-width:767px){
    .util-doc h3{font-size:17px;}
    .util-doc p,.util-doc li{font-size:14px;}
    .util-doc table th,.util-doc table td{padding:9px 10px;font-size:12px;}
    .email-refuse-box{padding:40px 22px;}
    .email-refuse-box h3{font-size:20px;}
    .util-sitemap{grid-template-columns:1fr;gap:30px;}
}
