﻿/* ===================================================================
   WOOJANG — sub.css v5 "Forged Metal / Storyboard"
   서브 페이지: 히어로(그리드 데코 + 모노 아이브로우 + 좌측 타이틀) /
   해어라인 서브내브 / 섹션 시스템 / 콘텐츠 컴포넌트 신작
   =================================================================== */

/* ---------- 서브 히어로 (스토리보드 표지 문법) ---------- */
.wj-hero{
    position:relative;padding:calc(var(--hh) + clamp(70px,11vh,120px)) 0 clamp(56px,8vh,90px);
    background:
        radial-gradient(ellipse 800px 420px at 78% 0%, rgba(188,200,216,.06), transparent 60%),
        radial-gradient(ellipse 600px 500px at 8% 100%, rgba(125,147,178,.05), transparent 60%),
        var(--bg);
    border-bottom:1px solid var(--line-soft);overflow:hidden;
}
.wj-hero .wrap{position:relative;z-index:1}
.wj-hero .h-eyebrow{
    font-family:var(--mono);font-size:12px;letter-spacing:.32em;text-transform:uppercase;
    color:var(--silver);margin-bottom:18px;
}
.wj-hero h1{
    font-size:clamp(34px,4.6vw,54px);font-weight:800;letter-spacing:-.04em;
    line-height:1.18;margin-bottom:16px;word-break:keep-all;
}
.wj-hero .h-desc{color:var(--txt-dim);max-width:640px;font-size:16px;word-break:keep-all}

/* ---------- 서브내브 (해어라인 스티키 탭) ---------- */
.wj-subnav{
    position:sticky;top:64px;z-index:60;
    background:rgba(8,9,12,.86);border-bottom:1px solid var(--line);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.wj-subnav-in{
    width:min(1180px,90%);margin:0 auto;display:flex;gap:4px;
    overflow-x:auto;scrollbar-width:none;
}
.wj-subnav-in::-webkit-scrollbar{display:none}
.wj-subnav a{
    padding:16px 18px;font-size:14px;color:var(--txt-dim);white-space:nowrap;
    border-bottom:2px solid transparent;transition:color .25s,border-color .25s;
}
.wj-subnav a:hover{color:var(--txt)}
.wj-subnav a.active{color:var(--silver);border-bottom-color:var(--silver);font-weight:600}

/* ---------- 본문 섹션 ---------- */
.wj-body{padding:96px 0 130px;word-break:keep-all;overflow-wrap:break-word}
.wj-section{margin-bottom:110px}
.wj-section:last-child{margin-bottom:0}

/* ---------- 2단 (이미지+텍스트) ---------- */
.wj-2col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.wj-2col + .wj-2col{margin-top:96px}
.wj-2col.rev > *:first-child{order:2}
.wj-2col.rev > *:last-child{order:1}
.wj-2col h3{font-size:24px;font-weight:700;margin-bottom:20px;letter-spacing:-.02em}
.wj-2col h3 .tag{
    font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--silver);
    border:1px solid var(--line);padding:4px 10px;margin-left:12px;vertical-align:middle;
}
.wj-2col p{color:var(--txt-dim);margin-bottom:14px}
.wj-2col img{width:100%;object-fit:cover;filter:saturate(.85) brightness(.92);border:1px solid var(--line-soft)}
.wj-2col .c-info{color:var(--txt-dim)}
.wj-2col .c-info i{color:var(--silver);margin-right:9px;font-size:13px}

/* ---------- 정보 테이블 (회사개요) ---------- */
.wj-info{width:100%;border-top:1px solid var(--silver);border-collapse:collapse}
.wj-info th,.wj-info td{padding:17px 20px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:15px}
.wj-info th{
    width:170px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;
    color:var(--silver);font-weight:500;text-transform:uppercase;vertical-align:top;padding-top:20px;
}
.wj-info td{color:var(--txt-dim)}
.wj-info td b{color:var(--txt);font-weight:600}

/* ---------- 아이콘 카드 그리드 ---------- */
.wj-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.wj-cards .wc{background:var(--bg-panel);padding:34px 28px;transition:background .3s}
.wj-cards .wc:hover{background:var(--bg-card)}
.wj-cards .wc i{font-size:26px;color:var(--silver);margin-bottom:20px;display:block}
.wj-cards .wc h4{font-size:17px;font-weight:700;margin-bottom:8px}
.wj-cards .wc p{color:var(--txt-dim);font-size:13.5px;margin:0}

/* ---------- 비전 히어로 패널 ---------- */
.wj-vision{
    position:relative;text-align:center;padding:80px 30px;overflow:hidden;
    background:
        radial-gradient(ellipse 70% 130% at 50% -30%, rgba(125,147,178,.2), transparent 60%),
        var(--bg-panel);
    border:1px solid var(--line);
}
.wj-vision .sec-no{margin-bottom:16px}
.wj-vision h3{font-size:clamp(26px,3.6vw,38px);font-weight:800;letter-spacing:-.03em;margin-bottom:18px}
.wj-vision p{color:var(--txt-dim);max-width:660px;margin:0 auto}
.wj-vision .www{display:flex;justify-content:center;gap:16px;margin-top:36px;flex-wrap:wrap}
.wj-vision .www span{
    font-family:var(--mono);font-size:14px;letter-spacing:.2em;font-weight:600;
    border:1px solid var(--line);border-radius:100px;padding:10px 26px;color:var(--txt-dim);
}
.wj-vision .www em{color:var(--silver);font-weight:800}

/* ---------- 넘버 리스트 (경영방침/품질목표) ---------- */
.wj-numlist{max-width:780px}
.wj-numlist .nl{
    display:flex;gap:26px;align-items:flex-start;padding:26px 8px;
    border-bottom:1px solid var(--line-soft);
}
.wj-numlist .nl:first-child{border-top:1px solid var(--silver)}
.wj-numlist .nl .no{
    font-family:var(--mono);font-size:20px;font-weight:600;color:var(--silver);
    min-width:44px;line-height:1.4;
}
.wj-numlist .nl h4{font-size:16.5px;font-weight:700;margin-bottom:4px}
.wj-numlist .nl p{color:var(--txt-dim);font-size:14.5px;margin:0}

/* ---------- 가치 카드 3열 (공감·소통·진정성) ---------- */
.wj-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.wj-values .wv{background:var(--bg-panel);padding:44px 30px;text-align:center;transition:background .3s}
.wj-values .wv:hover{background:var(--bg-card)}
.wj-values .wv .en{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;
    color:var(--silver);display:block;margin-bottom:10px;
}
.wj-values .wv h4{font-size:22px;font-weight:800;margin-bottom:16px}
.wj-values .wv p{color:var(--txt-dim);font-size:14px;margin:0 0 4px}

/* ---------- 연혁 타임라인 (M-07: 스크롤 실버 필) ---------- */
.wj-tl{position:relative;max-width:760px;padding-left:30px}
.wj-tl::before{content:"";position:absolute;left:29px;top:6px;bottom:6px;width:1px;background:var(--line)}
.wj-tl::after{
    content:"";position:absolute;left:29px;top:6px;width:1px;height:var(--tl-fill,0%);
    max-height:calc(100% - 12px);background:var(--silver);
}
.wj-tl .tli{position:relative;padding:0 0 54px 46px}
.wj-tl .tli::before{
    content:"";position:absolute;left:-7px;top:9px;width:13px;height:13px;border-radius:50%;
    background:var(--bg);border:3px solid var(--silver);z-index:1;
}
.wj-tl .tli .yr{
    font-family:var(--mono);font-size:22px;font-weight:600;color:var(--silver);
    letter-spacing:.04em;margin-bottom:8px;
}
.wj-tl .tli p{color:var(--txt-dim);margin-bottom:6px;font-size:15px}
.wj-tl .tli p.big{color:var(--txt);font-weight:600}
.wj-tl .tli .dt{font-family:var(--mono);font-size:12px;color:var(--txt-faint);letter-spacing:.04em}

/* ---------- 조직도 ---------- */
.wj-org{max-width:960px;margin:0 auto;text-align:center}
.wj-org .ob{
    display:inline-block;border:1px solid var(--line);background:var(--bg-panel);
    padding:14px 36px;font-weight:700;font-size:16px;
}
.wj-org .ob-ceo{background:var(--silver);color:#0a0c10;border-color:var(--silver);font-size:18px}
.wj-org .ob-mgr{border-color:var(--steel);color:var(--silver)}
.wj-org .ol{width:1px;height:34px;background:var(--line);margin:0 auto}
.wj-org .ostaff{display:flex;justify-content:center}
.wj-org .oteams{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;padding-top:20px}
/* 상단 가로 분배선 — 양끝 컬럼 중심을 정확히 연결 (4열·gap 20px 기준) */
.wj-org .oteams::before{
    content:"";position:absolute;top:0;
    left:calc((100% - 60px)/8);right:calc((100% - 60px)/8);
    height:1px;background:var(--line);
}
/* 각 팀 세로 드롭선 — 가로선에서 헤더까지 확실히 연결 */
.wj-org .oteam{position:relative}
.wj-org .oteam::before{
    content:"";position:absolute;top:-20px;left:50%;
    width:1px;height:20px;background:var(--line);
}
.wj-org .oteam-head{
    background:var(--bg-card);border:1px solid var(--line);
    padding:13px 10px;font-weight:700;margin-bottom:12px;font-size:15px;text-align:center;
}
.wj-org .oteam li{
    border:1px solid var(--line-soft);background:var(--bg-panel);
    padding:9px 8px;margin-bottom:8px;color:var(--txt-dim);font-size:13.5px;text-align:center;
}

/* ---------- 설비/품목 테이블 (도면 스타일) ---------- */
.wj-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--silver)}
.wj-tbl{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}
.wj-tbl thead th{
    font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--silver);font-weight:500;padding:15px 14px;text-align:center;
    border-bottom:1px solid var(--line);white-space:nowrap;
}
.wj-tbl tbody td{
    border-bottom:1px solid var(--line-soft);padding:14px 16px;
    vertical-align:middle;text-align:center;color:var(--txt-dim);
}
.wj-tbl .t-cat{background:var(--bg-panel);font-weight:600;color:var(--txt);white-space:nowrap}
.wj-tbl .t-spec{font-family:var(--mono);font-size:13px;color:var(--silver);white-space:nowrap}
.wj-tbl .t-note{text-align:left;padding-left:20px;color:var(--txt-dim)}
.wj-tbl .t-name{text-align:left;padding-left:20px;color:var(--txt);font-weight:500}
.wj-tbl tbody tr:hover td{background:rgba(188,200,216,.04)}
.wj-plant-title{display:flex;align-items:baseline;gap:14px;margin:0 0 24px}
.wj-plant-title h3{font-size:24px;font-weight:700;letter-spacing:-.02em}
.wj-plant-title .tag{
    font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--silver);
    border:1px solid var(--line);padding:4px 10px;
}
.wj-section .wj-tblwrap + .wj-plant-title{margin-top:76px}

/* ---------- 제품 갤러리 ---------- */
.wj-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.wj-prods .pd{background:var(--bg-panel);text-align:center;transition:background .3s}
.wj-prods .pd:hover{background:var(--bg-card)}
.wj-prods .pd .pd-img{
    height:150px;display:flex;align-items:center;justify-content:center;padding:18px;
}
.wj-prods .pd .pd-img img{
    max-height:100%;width:auto;object-fit:contain;transition:transform .5s var(--ease);
    filter:drop-shadow(0 14px 22px rgba(0,0,0,.5));
}
.wj-prods .pd:hover .pd-img img{transform:scale(1.07)}
.wj-prods .pd .pd-name{padding:0 12px 20px}
.wj-prods .pd strong{display:block;font-size:13.5px;font-weight:700;color:var(--txt)}
.wj-prods .pd span{
    display:block;font-family:var(--mono);font-size:11px;color:var(--txt-faint);
    margin-top:4px;letter-spacing:.02em;
}

/* ---------- 공정 스텝 (스토리보드 §05 공정도) ---------- */
.wj-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.wj-step{
    position:relative;border:1px solid var(--line);background:var(--bg-panel);
    overflow:hidden;transition:border-color .3s,transform .3s var(--ease);
}
.wj-step:hover{border-color:var(--silver);transform:translateY(-4px)}
.wj-step .st-img{height:150px;overflow:hidden}
.wj-step .st-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.88)}
.wj-step .st-body{padding:18px 18px 22px}
.wj-step .st-no{
    font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--silver);
    display:block;margin-bottom:6px;
}
.wj-step h4{font-size:16.5px;font-weight:700;margin-bottom:6px}
.wj-step p{color:var(--txt-dim);font-size:13px;margin:0}

/* ---------- 인증 그리드 ---------- */
.wj-certs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.wj-certs .ct{
    background:var(--bg-panel);padding:40px 28px;text-align:center;
    transition:background .3s;
}
.wj-certs .ct:hover{background:var(--bg-card)}
.wj-certs .ct i{font-size:28px;color:var(--silver);margin-bottom:18px}
.wj-certs .ct h4{font-size:17px;font-weight:700;margin-bottom:8px}
.wj-certs .ct p{color:var(--txt-dim);font-size:13.5px;margin:0}
.wj-certs .ct .dt{font-family:var(--mono);font-size:11px;color:var(--txt-faint);display:block;margin-top:8px;letter-spacing:.08em}

/* ---------- 품질 슬로건 패널 ---------- */
.wj-slogan{
    position:relative;text-align:center;padding:72px 30px;overflow:hidden;
    background:
        radial-gradient(ellipse 70% 130% at 50% -30%, rgba(125,147,178,.2), transparent 60%),
        var(--bg-panel);
    border:1px solid var(--line);
}
.wj-slogan h3{font-size:clamp(26px,3.4vw,36px);font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
.wj-slogan .en{
    font-family:var(--mono);font-size:13px;letter-spacing:.34em;color:var(--silver);text-transform:uppercase;
}

/* ---------- Contact ---------- */
.wj-contact{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:start}
.wj-form{border:1px solid var(--line);background:var(--bg-panel);padding:44px 42px}
.wj-form .fgroup{margin-bottom:26px}
.wj-form .req{color:var(--silver)}
.wj-cinfo .ci{
    border-top:1px solid var(--line);padding:22px 4px;
}
.wj-cinfo .ci:last-child{border-bottom:1px solid var(--line)}
.wj-cinfo .ci .lb{
    font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--silver);
    text-transform:uppercase;display:block;margin-bottom:6px;
}
.wj-cinfo .ci p{color:var(--txt);font-size:16px;font-weight:500;margin:0}
.wj-map{border:1px solid var(--line);overflow:hidden;background:var(--bg-panel)}
.wj-map iframe{display:block;width:100%;height:460px;border:0;filter:grayscale(.35) contrast(1.02)}

/* ---------- 사진 그리드 ---------- */
.wj-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wj-photos img{
    width:100%;height:230px;object-fit:cover;border:1px solid var(--line-soft);
    filter:saturate(.85) brightness(.9);
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
    .wj-steps{grid-template-columns:repeat(2,1fr)}
    .wj-prods{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
    .wj-body{padding:70px 0 96px}
    .wj-section{margin-bottom:84px}
    .wj-2col{grid-template-columns:1fr;gap:28px}
    .wj-2col.rev > *{order:0!important}
    .wj-2col + .wj-2col{margin-top:72px}
    .wj-values{grid-template-columns:1fr}
    .wj-certs{grid-template-columns:repeat(2,1fr)}
    .wj-org .oteams{grid-template-columns:repeat(2,1fr)}
    .wj-org .oteams::before,.wj-org .oteam::before{display:none}
    .wj-contact{grid-template-columns:1fr;gap:40px}
    .wj-form{padding:32px 24px}
    .wj-subnav{top:56px}
}
@media(max-width:600px){
    .wj-body{padding:56px 0 78px}
    .wj-section{margin-bottom:64px}
    .wj-2col + .wj-2col{margin-top:56px}
    .wj-certs{grid-template-columns:1fr}
    .wj-photos{grid-template-columns:1fr}
    .wj-photos img{height:200px}
    .wj-steps{grid-template-columns:1fr}
    /* 회사개요 일반현황 표 — 좁은 화면에서 라벨/값 세로 스택 */
    .wj-info{display:block;border-top:none}
    .wj-info tbody{display:block}
    .wj-info tr{display:block;padding:13px 0;border-bottom:1px solid var(--line-soft)}
    .wj-info tr:first-child{border-top:1px solid var(--silver)}
    .wj-info th,.wj-info td{display:block;width:auto;padding:0}
    .wj-info th{margin-bottom:5px}
    /* 조직도 팀 박스 1열 */
    .wj-org .oteams{grid-template-columns:1fr;gap:14px}
    /* 비전·슬로건 패널 여백 축소 */
    .wj-vision{padding:52px 22px}
    .wj-slogan{padding:46px 22px}
    .wj-map iframe{height:320px}
    .wj-tl .tli .yr{font-size:19px}
}

/* ---------- 모서리 라운드 (이미지·카드 자연스러운 radius) ---------- */
/* 단일 이미지 */
.wj-2col img,
.wj-photos img{border-radius:12px}
/* 단일 카드·패널 (overflow 필요 시 지정) */
.wj-step{border-radius:12px}
.wj-form{border-radius:14px}
.wj-map{border-radius:14px}
.wj-vision,
.wj-slogan{border-radius:16px}
.wj-org .ob,
.wj-org .oteam-head,
.wj-org .oteam li{border-radius:6px}
/* 그룹(gap:1px로 이어붙인 그리드) — 바깥 모서리만, 내부 이음매는 각지게 */
.wj-cards,
.wj-values,
.wj-prods,
.wj-certs{border-radius:14px;overflow:hidden}
