@charset "utf-8";

/* ========== 전체 서브페이지 스타일 (컨텐츠만) ========== */

.sec-title {display:flex; align-items:center; gap:12px; margin:0 0 32px; font-size:28px; font-weight:700; line-height:1.36em; color:var(--color-text);}
.sec-title:before {content:""; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--color-primary);}

/* 인사말 */
.greeting {display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:stretch;}
.greeting .photo {width:100%; height:100%; min-height:0; border-radius:12px; overflow:hidden; background:#f8f8f8;}
.greeting .photo img {display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.greeting .body {min-width:0;}
.greeting .body p {margin:0 0 18px; font-size:17px; font-weight:400; line-height:1.76em; color:var(--color-text-body);}
.greeting .body p:last-of-type {margin-bottom:0;}
.greeting .body .lead {margin:0 0 28px; font-size:32px; font-weight:600; line-height:1.38em; letter-spacing:-.03em; color:var(--color-text);}
.greeting .body .lead em {font-style:normal; color:var(--color-primary);}
.greeting .body .sign {margin:36px 0 0; font-size:20px; font-weight:600; line-height:1.6em; color:var(--color-text);}

/* 비전 및 미션 */
.vision-hero {position:relative; margin-bottom:80px; padding:80px 64px; border-radius:12px; overflow:hidden; text-align:center;}
.vision-hero .bg {position:absolute; inset:0;}
.vision-hero .bg img {width:100%; height:100%; object-fit:cover; object-position:center;}
.vision-hero .overlay {position:absolute; inset:0; background:rgba(0,0,0,.55);}
.vision-hero .inner {position:relative; z-index:1;}
.vision-hero .label {margin:0 0 16px; font-size:16px; font-weight:600; line-height:1.75em; letter-spacing:.08em; color:var(--color-primary);}
.vision-hero h3 {margin:0 0 24px; font-size:48px; font-weight:700; line-height:1.17em; color:#fff;}
.vision-hero .inner>p:last-child {margin:0 auto; max-width:720px; font-size:18px; font-weight:400; line-height:1.78em; color:rgba(255,255,255,.9);}
.vision-grid {display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.vision-card {padding:40px 32px; border:1px solid #ddd; border-radius:12px; background:#fff;}
.vision-card .icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:24px; border-radius:50%; background:#f8f8f8;}
.vision-card .icon img {display:block; width:24px; height:24px;}
.vision-card h3 {margin:0 0 16px; font-size:24px; font-weight:600; line-height:1.42em; color:var(--color-text);}
.vision-card p {margin:0; font-size:16px; font-weight:400; line-height:1.75em; color:var(--color-text-body);}

/* 연혁 */
.history-list {position:relative; max-width:960px; margin:0 auto; padding:0;}
.history-list:before {content:""; position:absolute; left:50%; top:8px; bottom:8px; width:2px; margin-left:-1px; background:#ddd;}
.history-item {position:relative; width:calc(50% - 32px); padding-bottom:56px;}
.history-item:last-child {padding-bottom:0;}
.history-item:before {content:""; position:absolute; top:10px; width:16px; height:16px; border:3px solid var(--color-primary); border-radius:50%; background:#fff; z-index:1;}
.history-item:nth-child(odd) {margin-right:calc(50% + 32px); text-align:right;}
.history-item:nth-child(odd):before {right:-40px; left:auto;}
.history-item:nth-child(even) {margin-left:calc(50% + 32px); text-align:left;}
.history-item:nth-child(even):before {left:-40px; right:auto;}
.history-item h3 {margin:0 0 12px; font-size:28px; font-weight:700; line-height:1.29em; color:var(--color-text);}
.history-item ul {margin:0; padding:0; list-style:none;}
.history-item li {margin-bottom:8px; font-size:16px; font-weight:400; line-height:1.75em; color:var(--color-text-body);}
.history-item:nth-child(odd) ul {display:flex; flex-direction:column; align-items:flex-end;}

/* 조직도 */
.org-chart {--org-line:#ddd; --org-gap-x:24px; --org-stem:72px; --org-drop:72px; display:flex; flex-direction:column; align-items:center;}
.org-chart .ceo {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; min-width:200px; margin-bottom:var(--org-stem); padding:24px 48px; border-radius:12px; background:var(--color-text); font-size:20px; font-weight:700; line-height:1.4em; color:#fff;}
.org-chart .ceo:after {content:""; position:absolute; left:50%; top:100%; width:2px; height:var(--org-stem); background:var(--org-line); transform:translateX(-50%);}
.org-chart .branches {position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--org-gap-x); width:100%; padding-top:var(--org-drop);}
.org-chart .branches:before {content:""; position:absolute; top:0; left:calc((100% - (var(--org-gap-x) * 3)) / 8); right:calc((100% - (var(--org-gap-x) * 3)) / 8); height:2px; background:var(--org-line);}
.org-branch {position:relative; padding:32px 24px; border:1px solid #ddd; border-radius:12px; background:#fff; text-align:center;}
.org-branch:before {content:""; position:absolute; top:calc(var(--org-drop) * -1); left:50%; width:2px; height:var(--org-drop); background:var(--org-line); transform:translateX(-50%);}
.org-branch h3 {margin:0 0 20px; padding-bottom:16px; border-bottom:2px solid var(--color-primary); font-size:20px; font-weight:700; line-height:1.4em; color:var(--color-text);}
.org-branch ul {margin:0; padding:0; list-style:none;}
.org-branch li {margin-bottom:8px; font-size:15px; font-weight:400; line-height:1.73em; color:var(--color-text-body);}
.org-chart .note {margin:48px 0 0; font-size:15px; font-weight:400; line-height:1.73em; color:var(--color-text-muted); text-align:center;}

/* 찾아오시는 길 */
.location-main {display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-bottom:64px;}
.location-main.vn {padding-top:64px; border-top:1px solid #ddd;}
.location-map {border-radius:12px; overflow:hidden; background:#f8f8f8;}
.location-info h3 {display:flex; align-items:center; gap:12px; margin:0 0 32px; font-size:28px; font-weight:700; line-height:1.36em; color:var(--color-text);}
.location-info h3:before {content:""; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--color-primary);}
.location-info ul {margin:0; padding:0; list-style:none;}
.location-info li {display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #ddd; font-size:16px; line-height:1.75em;}
.location-info .label {flex-shrink:0; width:120px; font-weight:600; color:var(--color-text);}
.location-info .value {color:var(--color-text-body);}
.location-factories {display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.location-factories .sec-title {font-size:24px;}
.factory-card {padding:32px; border:1px solid #ddd; border-radius:12px; background:#f8f8f8;}
.factory-card .region {display:block; margin:0 0 8px; font-size:14px; font-weight:600; line-height:1.57em; color:var(--color-primary);}
.factory-card h4 {margin:0 0 12px; font-size:20px; font-weight:600; line-height:1.4em; color:var(--color-text);}
.factory-card p {margin:0; font-size:15px; font-weight:400; line-height:1.73em; color:var(--color-text-body);}

/* 사업소개 */
.biz-intro {display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-bottom:80px;}
.biz-intro .visual {border-radius:12px; overflow:hidden; aspect-ratio:4/3; background:#fff; border:1px solid #ddd;}
.biz-intro .visual img {width:100%; height:100%; object-fit:contain; object-position:center; background:#fff;}
.biz-intro .tag {display:inline-block; margin-bottom:16px; font-size:14px; font-weight:700; line-height:1.57em; letter-spacing:.06em; color:var(--color-primary);}
.biz-intro h3 {margin:0 0 24px; font-size:36px; font-weight:600; line-height:1.33em; color:var(--color-text);}
.biz-intro .body p {margin:0 0 16px; font-size:18px; font-weight:400; line-height:1.78em; color:var(--color-text-body);}
.biz-intro .body p:last-child {margin-bottom:0;}
.biz-stats {display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-bottom:80px; border-radius:12px; overflow:hidden; background:var(--color-text);}
.biz-stat {position:relative; display:flex; flex-direction:column; justify-content:center; gap:12px; min-height:160px; padding:40px 36px; text-align:left;}
.biz-stat:not(:last-child):after {content:""; position:absolute; top:32px; right:0; bottom:32px; width:1px; background:rgba(255,255,255,.12);}
.biz-stat .num {display:block; margin:0; font-size:40px; font-weight:700; line-height:1.2em; letter-spacing:-.02em; color:#fff;}
.biz-stat .label {margin:0; font-size:15px; font-weight:500; line-height:1.73em; color:rgba(255,255,255,.65);}
.biz-products {display:grid; grid-template-columns:repeat(2,1fr); column-gap:32px; row-gap:56px; margin-bottom:80px;}
.biz-product .visual {border-radius:12px; overflow:hidden; aspect-ratio:4/3; background:#fff; border:1px solid #ddd; margin-bottom:20px;}
.biz-product .visual img {display:block; width:100%; height:100%; object-fit:contain; object-position:center; padding:12px; background:#fff;}
.biz-product h4 {margin:0 0 6px; font-size:22px; font-weight:700; line-height:1.45em; color:var(--color-text);}
.biz-product p {margin:0; font-size:16px; font-weight:400; line-height:1.75em; color:var(--color-text-body);}
.biz-process {display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.biz-process.cols-4 {grid-template-columns:repeat(4,1fr);}
.biz-process .item {padding:32px; border:1px solid #ddd; border-radius:12px;}
.biz-process .icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:24px; border-radius:50%; background:#f8f8f8;}
.biz-process .icon img {display:block; width:24px; height:24px;}
.biz-process h4 {margin:0 0 12px; font-size:20px; font-weight:600; line-height:1.4em; color:var(--color-text);}
.biz-process p {margin:0; font-size:15px; font-weight:400; line-height:1.73em; color:var(--color-text-body);}

/* 공지 목록 보조 */
.board-search .total-page span {color:var(--color-primary);}
.board-list .subject .new {display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; margin-left:6px; border-radius:4px; background:var(--color-primary); color:#fff; font-size:12px; font-weight:700; line-height:1em; vertical-align:middle;}
.board-list .file a {display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px;}
.board-list .file img {display:block; width:18px; height:18px;}
.board-list .file .on {display:none;}
.board-list .file a:hover .off {display:none;}
.board-list .file a:hover .on {display:block;}
.board-list-m .new {display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-left:4px; border-radius:4px; background:var(--color-primary); color:#fff; font-size:11px; font-weight:700; line-height:1em; vertical-align:middle;}

/* 온라인 문의 */
.inquiry {width:100%;}
.inquiry .row {display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:24px;}
.inquiry .field {display:flex; flex-direction:column; gap:10px;}
.inquiry .field.full {grid-column:1/-1;}
.inquiry label {font-size:16px; font-weight:600; line-height:1.75em; color:var(--color-text);}
.inquiry .required {color:var(--color-primary);}
.inquiry input[type="text"],
.inquiry input[type="tel"],
.inquiry input[type="email"],
.inquiry select,
.inquiry textarea {width:100%; padding:14px 20px; border:1px solid #ddd; border-radius:8px; background:#fff; font-size:16px; font-weight:400; line-height:1.75em; color:var(--color-text); outline:none;}
.inquiry input[type="text"]:focus,
.inquiry input[type="tel"]:focus,
.inquiry input[type="email"]:focus,
.inquiry select:focus,
.inquiry textarea:focus {border-color:var(--color-primary); box-shadow:0 0 0 1px var(--color-primary);}
.inquiry textarea {min-height:200px; resize:vertical;}
.inquiry textarea::placeholder {color:#bebebe;}
.inquiry .select {position:relative;}
.inquiry select {appearance:none; padding-right:40px; background:#fff url('/images/icon/icon-select-arrow.svg') right 20px center no-repeat;}
.inquiry .agree {display:flex; align-items:flex-start; gap:12px; margin:32px 0 48px; padding:24px; border-radius:8px; background:#f8f8f8;}
.inquiry .agree input {width:18px; height:18px; margin-top:3px !important; flex-shrink:0; accent-color:var(--color-primary);}
.inquiry .agree label {font-size:15px; font-weight:400; line-height:1.73em; color:var(--color-text-body);}
.inquiry .actions {display:flex; justify-content:center; gap:16px;}
.inquiry .btn {display:inline-flex; align-items:center; justify-content:center; min-width:160px; height:56px; padding:0 32px; border-radius:0; font-size:18px; font-weight:700; line-height:1.56em;}
.inquiry .btn.cancel {border:1px solid #ddd; background:#fff; color:var(--color-text-muted);}
.inquiry .btn.submit {border:0; background:var(--color-primary); color:#fff;}
.inquiry .btn.submit:hover {background:#ba000b;}

/* 주요 고객사 */
.client-list {display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px 18px; margin:0; padding:0; list-style:none;}
.client-list li {min-width:0;}
.client-list .logo {display:flex; align-items:center; justify-content:center; height:148px; padding:22px 16px; border:1px solid #e5e5e5; border-radius:12px; background:#fff; overflow:hidden;}
.client-list .logo img {display:block; width:100%; height:72px; min-width:0; object-fit:contain; object-position:center;}
.client-list .name {margin:12px 0 0; font-size:15px; font-weight:400; line-height:1.4em; color:#8d8d8d; text-align:center;}