/* 서브 타이틀 */
.subtitle { padding-left: 0;}
.subtitle > LI:nth-child(1) {font-size:3.6rem; font-weight:bold}
.subtitle > LI:nth-child(2) {font-size:1.7rem; color:#999; padding:1.6rem 0; font-weight:normal;}

@media (max-width: 768px){
.subtitle {padding-bottom:2rem; padding-left:0}
.subtitle > LI:nth-child(1) {font-size:3.5rem; font-weight:bold}
.subtitle > LI:nth-child(2) {font-size:2rem; color:#999; padding:1rem 0; font-weight:normal;}
 }
 
/* 서브 타이틀 */

.subnavi3 LI{width:33.3333%}

.box STRONG { font-size:2.5rem; color:#003366;}

.content-body h2{margin: 40px 0px;}

.box {
    flex:auto; /* 각 박스가 동일한 비율로 넓이를 가짐 */
    margin: 10px; /* 박스 간의 여백 */
    padding: 20px; /* 박스 내부 여백 */
    text-align: left; /* 텍스트 가운데 정렬 */
    color: white; /* 텍스트 색상 */
    border-radius: 5px; /* 둥근 모서리 */
    color:#333;
    line-height:3.5rem;
    font-size:2rem;
  }

@media all and (max-width: 1280px) {
  .contents{padding: 40px 0px 0px;}
}

@media all and (max-width: 780px) { /* mobile */

    .contents{padding: 0px 0px;}
    .co-ceo-photo{display: none;}

}

  @media (max-width: 1279px){
  html {font-size: 7px;}
  }

  @media (max-width: 768px){
  html {font-size: 7px;}
 }
  

 

      
/* ==========================================================================
   정원엔시스 소개 (회사개요/CEO인사말/CI소개)
   ========================================================================== */
.co-intro {margin-bottom: 200px; }
.co-intro * { box-sizing: border-box; }
.co-intro-section { max-width: 1400px; margin: 0 auto 150px; }

/* Overview */
.co-ov-head { text-align: center; margin-bottom: 100px; }
.co-ov-eyebrow { font-weight: 600; font-size: 20px; color: #606060; margin: 0 0 10px; }
.co-ov-statement { font-weight: 800; font-size: 30px; line-height: 1.5; letter-spacing: -0.68px; margin: 0 0 40px; }
.co-ov-statement .accent { color: #08f; }
.co-ov-box {
  position: relative; border-radius: 20px; overflow: hidden;
  padding: 75px 72px; background: #0b0b12;
}
.co-ov-box img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.co-ov-box .overlay { position: absolute; inset: 0; background: rgba(11,11,18,0.72); }
.co-ov-box .content { position: relative; z-index: 1; }
.co-ov-desc { font-weight: 600; font-size: 22px; line-height: 1.4; color: #fff; margin: 0 0 40px; }
.co-ov-services { display: flex; gap: 16px; flex-wrap: wrap; }
.co-ov-card {
  flex: 1 1 200px; padding: 16px; border-radius: 14px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  backdrop-filter: blur(9px);
}
.co-ov-card .icon { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.co-ov-card .icon img { width: 22px; height: 22px; }
.co-ov-card .icon.green { background: #edf8e8; }
.co-ov-card .icon.blue { background: #eaf5fb; }
.co-ov-card .tit { font-weight: 700; font-size: 18px; color: #fff; margin: 0 0 4px; }
.co-ov-card .desc { font-weight: 400; font-size: 15px; color: rgba(255,255,255,0.8); margin: 0; }

/* section heading (전 페이지 공통 서브타이틀) */
.co-heading { font-weight: 800; font-size: 30px; letter-spacing: -0.6px; border-bottom: 1px solid #dee2e9; padding-bottom: 10px; margin: 0 0 100px; color: #181924; }
.co-heading.mb-50 { margin-bottom: 50px; }

/* CEO */
.co-ceo-box {
  position: relative; border-radius: 20px; overflow: hidden; min-height: 620px;
}
.co-ceo-box img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.co-ceo-photo { position: absolute; left: 45px; bottom: 0; width: 440px; max-width: 40%; }
.co-ceo-text { position: relative; z-index: 1; max-width: 725px; margin-left: auto; padding: 120px 40px 60px 0; }
.co-ceo-quote { font-weight: 800; font-size: 24px; line-height: 1.3; margin: 0 0 18px; }
.co-ceo-body p { font-weight: 500; font-size: 17px; line-height: 1.4; margin: 0 0 12px; }
.co-ceo-sign { display: flex; align-items: baseline; gap: 20px; margin-top: 20px; }
.co-ceo-sign .role { font-weight: 600; font-size: 24px; }
.co-ceo-sign .name { font-family: 'Nanum Pen Script', cursive; font-size: 48px; }

/* CI */
.co-ci-head { text-align: center; margin-bottom: 100px; }
.co-ci-eyebrow { font-weight: 600; font-size: 20px; color: #606060; margin: 0 0 15px; }
.co-ci-statement { font-weight: 800; font-size: 30px; line-height: 1.5; margin: 0; }
.co-ci-box { position: relative; border-radius: 0px; overflow: hidden; background: #fafafa; padding: 100px 0; text-align: center; }
.co-ci-box img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.co-ci-logo { position: relative; z-index: 1; max-width: 480px; width: 60%; margin: 0px auto; }
.co-ci-btns { display: flex; gap: 11px; justify-content: center; margin-top: 30px; }
.co-ci-btn {
  display: inline-flex; align-items: center; gap: 9px; padding: 10px 20px;
  border: 1px solid #dee2e9; border-radius: 4px; font-weight: 700; font-size: 16px;
  color: #181924; text-decoration: none;
}

@media (max-width: 900px) {
  .co-intro-section { margin-bottom: 80px; }
  .co-ov-head, .co-ci-head { margin-bottom: 50px; }
  .co-ov-eyebrow, .co-ci-eyebrow { font-size: 16px; }
  .co-ov-statement, .co-ci-statement { font-size: 24px; }
  .co-ov-box { padding: 32px 24px; }
  .co-ov-desc { font-size: 18px; margin-bottom: 24px; }
  .co-ov-services { flex-direction: column; gap: 12px; }
  .co-ov-card { flex-basis: auto; padding: 14px; display: flex; align-items: center; gap: 14px; }
  .co-ov-card .icon { width: 36px; height: 36px; margin-bottom: 0; flex-shrink: 0; }
  .co-ov-card .icon img { width: 20px; height: 20px; }
  .co-ov-card .tit { font-size: 16px; }
  .co-ov-card .desc { font-size: 14px; }
  .co-heading { font-size: 24px; margin-bottom: 50px; }
  .co-heading.mb-50 { margin-bottom: 36px; }
  .co-ceo-box { min-height: auto; padding-top: 20px; }
  .co-ceo-photo { position: static; width: 200px; margin: -220px auto 0; display: none; }
  .co-ceo-text { margin-left: 0; padding: 24px 20px 40px; max-width: 100%; }
  .co-ceo-quote { font-size: 20px; }
  .co-ceo-body p { font-size: 15px; }
  .co-ceo-sign .role { font-size: 18px; }
  .co-ceo-sign .name { font-size: 34px; }
  .co-ci-box { padding: 0; min-height: 260px; display: flex; align-items: center; justify-content: center; }
  .co-ci-box img.bg { object-fit: contain; object-position: center; }
  .co-ci-logo { width: 70%; max-width: 300px; margin: 0; }
  .co-ci-btns { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .co-ov-statement, .co-ci-statement, .co-heading { font-size: 20px; }
  .co-heading.mb-50 { margin-bottom: 28px; }
  .co-ov-eyebrow, .co-ci-eyebrow { font-size: 14px; }
  .co-ov-desc { font-size: 16px; }
  .co-ceo-quote { font-size: 18px; }
  .co-ci-box { min-height: 120px;  }
  .co-ci-box img.bg{height: auto;}
  .co-ci-logo { width: 80%; }
  .co-ceo-sign { flex-direction: column; align-items: flex-start; gap: 4px; }
  .co-ceo-sign .name { font-size: 28px; }
}

/* ==========================================================================
   조직도 (Organization) 페이지
   ========================================================================== */
.org-head { text-align: center; margin: 0 0 40px; }
.org-eyebrow { font-weight: 700; font-size: 20px; color: #606060; margin: 0 0 15px; }
.org-statement { font-weight: 800; font-size: 30px; line-height: 1.5; letter-spacing: -0.6px; margin: 0; color: #181924; }
.org-statement .accent { color: #069f7c; }

@media (max-width: 900px) {
  .org-eyebrow { font-size: 16px; }
  .org-statement { font-size: 22px; }
}
@media (max-width: 480px) {
  .org-statement { font-size: 18px; }
}

.content-body { width: 100%; max-width: 1400px; margin: 0 auto; padding: 10px 0px 200px; box-sizing: border-box; }
#view-area { width: 100%; max-width: 1400px; margin: 0 auto; }
@media (max-width: 1400px) {
    .content-body { padding-left: 20px; padding-right: 20px; padding-bottom: 100px; box-sizing: border-box; }
    #view-area { padding: 0 0px; box-sizing: border-box; }
    #view-area .content-body { padding-left: 0; padding-right: 0; }
}
@media (max-width: 767px) {
    .content-body { padding-top: 0px; padding-bottom: 100px; }
}
.content-body.admin-edit-bar { padding-top: 0; padding-bottom: 16px; }
.content-body h1 { font-size: 26px; line-height: 1.4; color:#000}
.content-body h2 { font-size: 22px; line-height: 1.4; color:#000}

@media (min-width: 768px) {
.content-body h1 { font-size: 32px; line-height: 1.4; }
.content-body h2 { font-size: 26px; line-height: 1.3; }
}

@media (min-width: 1080px){
.content-body h1 { font-size: 40px; line-height: 50px; color:#000}
.content-body h2 { font-size: 36px; line-height: 45px; color:#000}
.content-body h2 { font-size: 30px; line-height: 32px; color:#000}

.container { width:1400px !important; margin:0 auto; padding: 10px 0px 0px 0px;}

}

    .contrabass * {
        width:100%
    }

    .contrabass {
        background-color: #f8f9fa;
        padding: 0;
        margin: 0;
    }

    /* Hero Section */
    .contrabass .hero-section {
        background: #ececec;
        color: #333;
        padding: 0px 0;
    }

    .contrabass .hero-title {
        font-size: 3.5rem;
        font-weight: 700;
        margin-bottom: 20px;
        line-height: 1.3;
    }

    .contrabass .hero-title .highlight {
        color: #3399FF;
    }

    .contrabass .hero-description {
        font-size: 1.8rem;
        line-height: 1.8;
        margin-bottom: 30px;
        opacity: 0.9;
    }

    /* Feature Section (8개 전략) */
    .contrabass .feature-section {
        padding:60px 0 30px 0;
        background-color: white;
    }

    .contrabass .section-title {
        font-size: 3rem;
        font-weight: 700;
        margin-bottom: 50px;
        text-align: left;
        color: #1a1a1a;
    }

    .contrabass .feature-card {
        background: #f8f9fa;
        border-radius: 15px;
        padding: 25px;
        margin-bottom: 30px;
        border: 1px solid #e9ecef;
        height: 100%;
    }

    .contrabass .feature-title {
        font-size: 2.1rem;
        font-weight: 700;
        margin-bottom: 15px;
        color: #1a1a1a;
    }

    .contrabass .feature-description {
        font-size: 1.7rem;
        line-height: 1.7;
        color: #6c757d;
    }

    /* Detail Section (11개 기능) */
    .contrabass .detail-section {
        padding: 80px 0;
        background-color: #f8f9fa;
    }

    .contrabass .detail-item {
        background: white;
        border-radius: 15px;
        padding: 40px;
        margin-bottom: 30px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    }

    .contrabass .detail-title {
        font-size: 2.1rem;
        font-weight: 700;
        margin-bottom: 15px;
        color: #1a1a1a;
    }

    .contrabass .detail-description {
        font-size: 1.7rem;
        line-height: 1.7;
        color: #6c757d;
    }

    .contrabass .detail-image-box {
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contrabass .col-md-3 {padding-bottom:20px;}

    .contrabass .feature-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        border-color: #f39c12;
    }

    /* 아이콘 스타일 */
    .contrabass .feature-icon {
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;
        font-size: 48px;
        color: #f39c12; /* 오렌지 포인트 컬러 */
        margin-bottom: 20px;
        background: #fffaf0;
        width: 80px;
        height: 80px;
        line-height: 80px;
        border-radius: 50%;
        display: inline-block;
        text-align: center;
    }

    /* --------------- 컨설팅 (IT 서비스) -------------*/

    .consult-block { margin-bottom: 80px; }
    .consult-block:last-child { margin-bottom: 0; }

    .consult-item { display: flex; gap: 40px; align-items: flex-start; margin-bottom: 32px; }
    .consult-item-img { flex-shrink: 0; width: 280px; height: 245px; border-radius: 8px; overflow: hidden; background: #f2f4f6; }
    .consult-item-img img { width: 100%; height: 100%; object-fit: cover; }
    .consult-item-list { flex: 1; min-width: 0; }
    .consult-item-list p { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-bottom: 10px; }
    .consult-item-list p:last-child { margin-bottom: 0; }

    .consult-sub-tit { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
    .consult-sub-tit .bar { width: 9px; height: 9px; background: #08f; flex-shrink: 0; }
    .consult-sub-tit span { font-size: 24px; font-weight: 600; color: #181924; letter-spacing: -0.48px; }

    .consult-ref-banner { background: #f1f4f8; border-radius: 8px; padding: 20px 15px; display: flex; flex-wrap: wrap; gap: 10px; }
    .consult-ref-group-tit { color: #073c9f; font-size: 18px; font-weight: 700; padding: 10px 20px; letter-spacing: -0.36px; }
    .consult-ref-chips { display: flex; flex-wrap: wrap; gap: 10px; }
    .consult-chip { background: #fff; border: 1px solid #dee2e9; border-radius: 6px; padding: 5px 10px; font-size: 16px; color: #27272d; letter-spacing: -0.16px; white-space: nowrap; }

    /* 인프라 진단 서비스 수행 내용 */
    .consult-report { background: #fff; border: 1px solid #dee2e9; border-radius: 16px; padding: 48px; box-shadow: 0 8px 12px rgba(0,0,0,0.05); }
    .consult-report-indicators { display: flex; gap: 24px; margin-bottom: 32px; }
    .consult-report-indicator { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; }
    .consult-report-indicator strong { font-size: 18px; font-weight: 700; color: #000; letter-spacing: -0.36px; }
    .consult-report-indicator .line { display: flex; align-items: center; width: 100%; gap: 0; }
    .consult-report-indicator .line img { width: 8px; height: 12px; flex-shrink: 0; }
    .consult-report-indicator .line span { flex: 1; height: 1px; background: #dee2e9; }

    .consult-report-duration { display: flex; flex-direction: column; align-items: center; margin-bottom: 32px; }
    .consult-report-duration strong { font-size: 18px; font-weight: 700; color: #33333d; letter-spacing: -0.36px; margin-bottom: 4px; }
    .consult-report-duration .line { display: flex; align-items: center; width: 100%; }
    .consult-report-duration .line img { width: 8px; height: 10px; flex-shrink: 0; }
    .consult-report-duration .line span { flex: 1; height: 1px; background: #dee2e9; }

    .consult-report-grid { display: flex; gap: 24px; }
    .consult-report-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
    .consult-report-col .head { background: #6b6b6b; color: #fff; border-radius: 6px; height: 48px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; }
    .consult-report-col .row { background: #8e9196; color: #fff; border-radius: 6px; height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 16px; font-weight: 500; letter-spacing: -0.16px; padding: 0 16px; }
    .consult-report-col .result { background: #003a94; border: 1px solid #002d80; color: #fff; border-radius: 6px; height: 54px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; }
    .consult-report-funnel { display: flex; align-items: center; justify-content: center; height: 96px; }
    .consult-report-funnel img { width: 200px; height: 96px; }
    .consult-report-connector { display: flex; align-items: center; justify-content: center; height: 96px; }
    .consult-report-connector img { width: 36px; height: 36px; }

    /* 단계별 주요 산출물 */
    .consult-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .consult-step-card { background: #fff; border: 1px solid #dee2e9; border-radius: 8px; padding: 20px; }
    .consult-step-imgbox { height: 200px; display: flex; align-items: center; justify-content: center; margin-bottom: 15px; }
    .consult-step-imgbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
    .consult-step-card strong { display: block; color: #073c9f; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; margin-bottom: 8px; }
    .consult-step-card p { color: #606060; font-size: 15px; letter-spacing: -0.3px; margin-bottom: 8px; }
    .consult-step-card p:last-child { margin-bottom: 0; }

    @media (max-width: 900px) {
        .consult-item { flex-direction: column; gap: 20px; }
        .consult-item-img { width: 100%; }
        .consult-report { padding: 24px; overflow-x: auto; }
        .consult-report-indicators, .consult-report-grid { min-width: 700px; }
        .consult-step-grid { grid-template-columns: 1fr; }
    }

    /* --------------- SI 시스템 구축 사업 -------------*/

    .si-intro-list { margin: 0 0 80px; }
    .si-intro-list p { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-bottom: 10px; }
    .si-intro-list p:last-child { margin-bottom: 0; }

    .si-method-paper { background: #fff; border: 1px solid #dee2e9; border-radius: 8px; padding: 56px 48px 64px; }
    .si-method-head { text-align: center; margin-bottom: 48px; }
    .si-method-head strong { display: block; color: #073c9f; font-size: 30px; font-weight: 800; letter-spacing: -0.6px; margin-bottom: 10px; }
    .si-method-head p { color: #606060; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; }

    .si-method-grid { display: flex; align-items: center; gap: 24px; }
    .si-stage-list { flex-shrink: 0; width: 420px; display: flex; flex-direction: column; gap: 40px; }
    .si-stage-card { background: #2c66cf; border-radius: 24px; padding: 24px 32px; }
    .si-stage-card strong { display: block; color: #fff; font-size: 20px; font-weight: 700; letter-spacing: -0.4px; margin-bottom: 16px; }
    .si-stage-card ul { display: flex; flex-direction: column; gap: 8px; }
    .si-stage-card li { display: flex; align-items: center; gap: 8px; color: #f1f4f8; font-size: 16px; font-weight: 500; letter-spacing: -0.16px; }
    .si-stage-card li img { width: 12px; height: 12px; flex-shrink: 0; }

    .si-brace { flex-shrink: 0; width: 60px; display: flex; align-items: center; justify-content: center; }
    .si-brace img { width: auto; height: 440px; }

    .si-prop-list { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
    .si-prop-card { border: 1.5px solid #256b9e; border-radius: 6px; overflow: hidden; }
    .si-prop-card .head { background: #073c9f; display: flex; align-items: center; gap: 16px; padding: 8px 16px; }
    .si-prop-card .head .badge { background: #eaf4ff; border-radius: 4px; padding: 4px 16px; display: flex; align-items: center; }
    .si-prop-card .head .badge img { width: 16px; height: 16px; }
    .si-prop-card .head strong { color: #fff; font-size: 15px; font-weight: 700; letter-spacing: -0.3px; }
    .si-prop-card ul { padding: 16px 16px 16px 20px !important; display: flex; flex-direction: column; gap: 8px; }
    .si-prop-card li { display: flex; align-items: flex-start; gap: 8px; color: #606060; font-size: 13px; font-weight: 500; line-height: 1.4; }
    .si-prop-card li::before { content: "❖"; flex-shrink: 0; }

    .si-industry-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
    .si-industry-card { background: #fff; border: 1px solid #dee2e9; border-radius: 12px; padding: 20px; }
    .si-industry-card .card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
    .si-industry-card .icon-badge { background: #2c66cf; border-radius: 50px; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .si-industry-card .icon-badge img { width: 32px; height: 32px; }
    .si-industry-card strong { color: #073c9f; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; }
    .si-industry-card p { color: #606060; font-size: 15px; letter-spacing: -0.3px; line-height: 1.5; margin: 0; }

    @media (max-width: 900px) {
        .si-method-paper { padding: 32px 24px; }
        .si-method-grid { flex-direction: column; }
        .si-stage-list { width: 100%; }
        .si-brace { display: none; }
        .si-industry-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 600px) {
        .si-industry-grid { grid-template-columns: 1fr; }
        .si-method-head strong { font-size: 22px; }
    }

    /* --------------- 통합유지보수 (IT 서비스) -------------*/

    .maint-intro-list { margin: 0 0 32px; }
    .maint-intro-list p { color: #606060; font-size: 18px; line-height: 1.3; letter-spacing: -0.27px; margin-bottom: 8px; }
    .maint-intro-list p:last-child { margin-bottom: 0; }

    .maint-diagram { background: #f1f4f8; border: 1px solid #dee2e9; border-radius: 10px; position: relative; height: 780px; }
    .maint-diagram-box { position: absolute; background: #fff; border: 1px solid #e0e5ec; border-radius: 12px; box-shadow: 0 12px 24px -8px rgba(0,0,0,0.03), 0 2px 8px rgba(0,0,0,0.04); padding: 22px 24px; display: flex; flex-direction: column; gap: 12px; }
    .maint-diagram-box.box-infra { left: 384px; top: 45px; width: 632px; }
    .maint-diagram-box.box-network { left: 63px; top: 445px; width: 500px; }
    .maint-diagram-box.box-sw { left: 835px; top: 445px; width: 500px; }
    .maint-diagram-tit { color: #073c9f; font-size: 20px; font-weight: 700; letter-spacing: -0.4px; }
    .maint-diagram-list p { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-bottom: 6px; }
    .maint-diagram-list p:last-child { margin-bottom: 0; }
    .maint-diagram-divider { border-top: 1px solid #e0e5ec; }
    .maint-diagram-chips { display: flex; flex-wrap: wrap; gap: 8px; }
    .maint-chip { background: #f8f8f8; border: 1px solid #dee2e9; border-radius: 6px; padding: 6px 10px; font-size: 12px; font-weight: 700; color: #262e47; }
    .maint-diagram-badge { position: absolute; left: 601px; top: 388px; width: 198px; height: 200px; border-radius: 100px; background: linear-gradient(45deg, #2959d9 14%, #6b47d1 86%); box-shadow: 0 10px 12px rgba(41,89,217,0.2); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; text-align: center; }
    .maint-diagram-badge strong { font-size: 24px; font-weight: 800; }
    .maint-diagram-badge span { display: block; font-size: 13px; font-weight: 500; line-height: 1.3; }

    .maint-compare-row { display: flex; align-items: center; gap: 40px; }
    .maint-compare-card { flex: 1; min-width: 0; background: #fff; border: 1px solid #dee2e9; border-radius: 12px; padding: 23px; }
    .maint-compare-imgbox { margin-bottom: 27px; }
    .maint-compare-imgbox img { width: 100%; height: auto; display: block; }
    .maint-compare-divider { border-top: 1px solid #e0e5ec; margin-bottom: 22px; }
    .maint-compare-tit { color: #073c9f; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; margin-bottom: 16px; }
    .maint-compare-list p { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-bottom: 8px; }
    .maint-compare-list p:last-child { margin-bottom: 0; }
    .maint-compare-arrow { flex-shrink: 0; width: 40px; height: 40px; }
    .maint-compare-arrow img { width: 100%; height: 100%; }

    .maint-org-section { display: flex; align-items: center; gap: 60px; }
    .maint-org-map { flex-shrink: 0; width: 431px; }
    .maint-org-map img { width: 100%; height: auto; display: block; }
    .maint-org-text { flex: 1; min-width: 0; }
    .maint-org-text .ico { width: 40px; height: 40px; margin-bottom: 14px; }
    .maint-org-text .eyebrow { color: #606060; font-size: 20px; font-weight: 700; letter-spacing: -0.4px; margin-bottom: 10px; }
    .maint-org-text strong { display: block; color: #073c9f; font-size: 30px; font-weight: 800; letter-spacing: -0.6px; margin-bottom: 14px; }
    .maint-org-text p { color: #606060; font-size: 18px; line-height: 1.3; letter-spacing: -0.27px; }

    @media (max-width: 900px) {
        .maint-diagram { height: auto; padding: 24px; display: flex; flex-direction: column; gap: 24px; }
        .maint-diagram-box { position: static; width: 100% !important; }
        .maint-diagram-badge { position: static; width: 160px; height: 160px; margin: 0 auto; }
        .maint-compare-row { flex-direction: column; }
        .maint-compare-arrow { transform: rotate(90deg); }
        .maint-org-section { flex-direction: column; gap: 30px; }
        .maint-org-map { width: 100%; max-width: 340px; }
    }

/* ==========================================================================
   채용정보 페이지
   ========================================================================== */
.recruit-hero { background: #f8f8f8; border: 1px solid #dee2e9; border-radius: 20px; padding: 60px 40px 40px; text-align: center; margin-bottom: 50px; margin-top: 100px; }
.recruit-hero-headline { font-weight: 900; font-size: 48px; line-height: 1.15; color: #0f172a; margin: 0 0 20px; }
.recruit-hero-headline p { margin: 0; }
.recruit-hero-headline .accent { color: #069f7c; }

.recruit-hero-sub { margin-bottom: 40px; }
.recruit-hero-sub .lead { font-size: 20px; font-weight: 700; color: #27272d; margin: 0 0 8px; }
.recruit-hero-sub .lead .accent { color: #069f7c; }
.recruit-hero-sub .desc { font-size: 16px; color: #475569; line-height: 1.3; margin: 0; }

.recruit-values-card { background: #fff; border: 1px solid #dee2e9; border-radius: 20px; padding: 40px; margin-bottom: 36px; }
.recruit-values-tit { border-bottom: 1px solid #dee2e9; padding-bottom: 15px; margin-bottom: 36px; }
.recruit-values-tit .eyebrow { display: block; font-size: 18px; color: #606060; margin-bottom: 5px; }
.recruit-values-tit strong { display: block; font-size: 30px; font-weight: 800; color: #181924; }
.recruit-values-row { display: flex; gap: 24px; }
.recruit-value { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.recruit-value .ico { width: 90px; height: 90px; border-radius: 45px; background: #fff; border: 1.5px solid #dee2e9; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.recruit-value .ico img { width: 40px; height: 40px; }
.recruit-value .no { font-size: 20px; font-weight: 800; color: #007050; }
.recruit-value strong { font-size: 22px; font-weight: 800; color: #069f7c; }
.recruit-value p { font-size: 12px; color: #606060; line-height: 1.4; margin: 0; }

.recruit-highlights { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; padding: 0 40px; }
.recruit-highlight { display: flex; align-items: center; gap: 14px; text-align: left; }
.recruit-highlight .ico { width: 48px; height: 48px; border-radius: 24px; background: #fff; border: 1.5px solid #dee2e9; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.recruit-highlight .ico img { width: 26px; height: 26px; }
.recruit-highlight strong { display: block; font-size: 16px; font-weight: 700; color: #007050; margin-bottom: 4px; }
.recruit-highlight p { font-size: 12px; color: #606060; margin: 0; line-height: 1.4; }

.recruit-card-row { display: flex; gap: 25px; flex-wrap: wrap; margin-bottom: 20px; }
.recruit-card { flex: 1 1 320px; background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding: 20px; display: flex; gap: 16px; align-items: center; }
.recruit-card img { width: 48px; height: 48px; flex-shrink: 0; }
.recruit-card strong { display: block; font-size: 18px; color: #27272d; margin-bottom: 10px; }
.recruit-card p { font-size: 16px; color: #778292; margin: 0; line-height: 1.3; }

.recruit-steps { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding: 40px; margin-bottom: 20px; }
.recruit-step { width: 152px; height: 152px; border-radius: 50%; background: #069f7c; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; flex-shrink: 0; }
.recruit-step.last { background: #007050; }
.recruit-step .step-no { display: block; font-size: 12px; font-weight: 700; color: #36c3a3; margin-bottom: 4px; }
.recruit-step .step-tit { display: block; font-size: 18px; font-weight: 700; }
.recruit-step .step-sub { display: block; font-size: 15px; color: #eaf4ff; margin-top: 4px; }
.recruit-step-arrow { display: flex; align-items: center; flex-shrink: 0; }
.recruit-step-arrow img { width: 32px; height: 32px; }

.recruit-info-row { display: flex; gap: 25px; flex-wrap: wrap; margin-bottom: 15px; }
.recruit-info-card { flex: 1 1 400px; background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding: 30px; }
.recruit-info-card .tit { border-bottom: 1px solid #dee2e9; padding-bottom: 10px; margin-bottom: 20px; font-size: 20px; font-weight: 600; color: #27272d; }
.recruit-info-card .lead { font-size: 18px; color: #27272d; margin-bottom: 20px; }
.recruit-info-card ul.bullet-list { list-style: none; padding: 0; margin: 0; }
.recruit-info-card ul.bullet-list li { position: relative; padding-left: 18px; font-size: 15px; color: #606060; margin-bottom: 10px; line-height: 1.5; }
.recruit-info-card ul.bullet-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: #c0c7d3; }
.recruit-info-card p.desc { font-size: 18px; color: #606060; margin-bottom: 10px; line-height: 1.5; }
.recruit-info-card p.desc strong { color: #000; }
.recruit-download-btn { display: flex; align-items: center; justify-content: space-between; background: #e8f8f4; color: #181924; font-weight: 700; font-size: 16px; border-radius: 10px; padding: 10px 20px; text-decoration: none; margin-top: 16px; }
.recruit-download-btn img { width: 24px; height: 24px; }

.recruit-note { font-size: 15px; color: #606060; margin: 15px 0 40px; }
.recruit-lead { font-size: 18px; color: #606060; margin-bottom: 20px; }

.zr-subtit { display: flex; align-items: center; gap: 10px; margin: 40px 0 20px; }
.zr-subtit .dot { width: 9px; height: 9px; background: #069f7c; flex-shrink: 0; }
.zr-subtit p { margin: 0; color: #181924; font-weight: 600; font-size: 24px; letter-spacing: -0.48px; }

.recruit-welfare-grid { display: flex; flex-wrap: wrap; gap: 25px; }
.recruit-welfare-card { width: 260px; background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding: 30px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.recruit-welfare-card img.ico { width: 40px; height: 40px; }
.recruit-welfare-card span { font-size: 16px; color: #27272d; }

@media (max-width: 900px) {
    .zr-subtit p { font-size: 20px; }
    .recruit-values-tit strong { font-size: 24px; }
    .recruit-values-tit .eyebrow { font-size: 16px; }
    .recruit-info-card .tit { font-size: 18px; }
    .recruit-info-card .lead { font-size: 16px; }
    .recruit-info-card p.desc { font-size: 16px; }
    .recruit-info-card ul.bullet-list li { font-size: 14px; }
    .recruit-hero { margin-top: 60px; padding: 40px 25px; }
    .recruit-hero-headline { font-size: 32px; }
    .recruit-hero-sub .lead { font-size: 17px; }
    .recruit-values-card { padding: 30px 20px; }
    .recruit-values-row { flex-wrap: wrap; row-gap: 30px; }
    .recruit-value { flex: 1 1 45%; }
    .recruit-highlights { padding: 0; gap: 30px; }
    .recruit-steps { flex-direction: column; padding: 25px; }
    .recruit-step-arrow { transform: rotate(90deg); }
    .recruit-welfare-card { width: calc((100% - 50px) / 3); padding: 20px; gap: 12px; }
    .recruit-welfare-card img.ico { width: 32px; height: 32px; }
    .recruit-welfare-card span { font-size: 14px; }
}
@media (max-width: 600px) {
    .zr-subtit p { font-size: 18px; }
    .zr-subtit { margin: 28px 0 16px; }
    .recruit-values-tit strong { font-size: 20px; }
    .recruit-info-card .tit { font-size: 16px; }
    .recruit-info-card .lead,
    .recruit-info-card p.desc { font-size: 14px; }
    .recruit-info-card ul.bullet-list li { font-size: 13px; }
    .recruit-card strong { font-size: 16px; margin-bottom: 10px; }
    .recruit-card p { font-size: 14px; }
    .recruit-note { font-size: 13px; }
    .recruit-lead { font-size: 15px; }
    .recruit-step .step-sub { font-size: 13px; }
    .recruit-hero { padding: 30px 20px; }
    .recruit-hero-headline { font-size: 22px; }
    .recruit-hero-sub .desc { font-size: 14px; }
    .recruit-values-card { padding: 20px; }
    .recruit-values-row { row-gap: 20px; }
    .recruit-value {
        flex: 1 1 100%;
        display: grid;
        grid-template-columns: 56px 1fr;
        grid-template-rows: auto auto auto;
        column-gap: 16px;
        row-gap: 2px;
        text-align: left;
        align-items: start;
    }
    .recruit-value .ico { grid-row: 1 / 4; grid-column: 1; align-self: center; width: 56px; height: 56px; }
    .recruit-value .ico img { width: 26px; height: 26px; }
    .recruit-value .no { grid-column: 2; font-size: 13px; }
    .recruit-value strong { grid-column: 2; font-size: 18px; }
    .recruit-value p { grid-column: 2; }
    .recruit-highlights { flex-direction: column; align-items: flex-start; }
    .recruit-step { width: 120px; height: 120px; }
    .recruit-step .step-tit { font-size: 15px; }
    .recruit-info-card { padding: 20px; }
    .recruit-download-btn { flex-wrap: wrap; gap: 10px; }
    .recruit-welfare-card { width: calc(50% - 12.5px); padding: 16px 12px; gap: 10px; }
    .recruit-welfare-card img.ico { width: 28px; height: 28px; }
    .recruit-welfare-card span { font-size: 13px; }
}

/* ==========================================================================
   오시는 길 페이지
   ========================================================================== */
.location-map { width: 100%; padding-bottom: 42%; position: relative; border-radius: 10px; overflow: hidden; border: 1px solid #dee2e9; margin-bottom: 30px; margin-top: 100px; }
.location-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.location-main { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding: 30px 40px; margin-bottom: 40px; flex-wrap: wrap; }
.location-main .info { display: flex; align-items: center; gap: 24px; }
.location-main .ico { flex-shrink: 0; width: 76.5px; height: 76.5px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.location-main .ico img { width: 76.5px; height: 76.5px; }
.location-main h3 { font-size: 20px; font-weight: 700; color: #132a49; margin: 0 0 8px; }
.location-main p { font-size: 16px; color: #606060; margin: 0 0 6px; }
.location-main p.sub { font-size: 15px; color: #778292; }

.location-map-btn { display: inline-flex; align-items: center; gap: 18px; flex-shrink: 0; background: linear-gradient(90deg, #3691be, #069f7c); color: #fff; font-weight: 600; font-size: 16px; padding: 12px 24px; border-radius: 12px; text-decoration: none; white-space: nowrap; }
.location-map-btn img { width: 18px; height: 23px; }

@media (max-width: 900px) {
    .location-map { margin-top: 60px; }
    .location-main { flex-direction: column; align-items: flex-start; }
    .location-main .info { flex-direction: column; align-items: flex-start; }

    .location-main .ico { width: 60px; height: 60px; }
    .location-main .ico img { width: 60px; height: 60px; }
    .location-main h3 { font-size: 18px; }
    .location-main p { font-size: 15px; }
    .location-main p.sub { font-size: 14px; }
    .location-map-btn { font-size: 15px; padding: 10px 20px; }
    .location-map-btn img { width: 16px; height: 20px; }

}
@media (max-width: 600px) {
    .location-map { margin-top: 40px; margin-bottom: 20px; padding-bottom: 75%; }
    .location-main { padding: 25px 20px; }
    .location-main .info { gap: 14px; }
    .location-map-btn { width: 100%; justify-content: center; }

    .location-main .ico { width: 50px; height: 50px; }
    .location-main .ico img { width: 50px; height: 50px; }
    .location-main h3 { font-size: 17px; }
    .location-main p { font-size: 14px; }
    .location-main p.sub { font-size: 13px; }

    .location-map-btn { font-size: 14px; padding: 10px 16px; }
    .location-map-btn img { width: 15px; height: 19px; }
}

/* ==========================================================================
   조직도 - 인력구성 차트 (chart-container)
   ========================================================================== */
/* 차트 박스 스타일 수정: 높이 제한 및 내부 레이아웃 */
        .chart-container {
            background-color: white;
            border-radius: 20px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            padding: 20px;
            border: 1px solid #eee;
            margin-bottom: 20px;

            /* 높이 고정 설정 */
            height: 400px;

            /* 내부 요소 정렬을 위한 Flex 설정 */
            display: flex;
            flex-direction: column;
        }

        .chart-title {
            color: #0d2d6c;
            font-weight: 600;
            font-size: 20px;
            text-align: left;
            margin-bottom: 10px;
            flex-shrink: 0; /* 제목 크기 고정 */
        }

        /* 차트 캔버스를 감싸는 영역 */
        .chart-canvas-wrapper {
            flex-grow: 1;      /* 남은 공간 채우기 */
            min-height: 0;     /* Flex item 오버플로우 방지 */
            position: relative; /* Chart.js 반응형 처리를 위해 필수 */
            width: 100%;
        }

/* ==========================================================================
   갤러리 목록 (gallery/list.skin.php)
   ========================================================================== */
.gallery-list { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
.gallery-item { width: calc(25% - 15px); border: 1px solid #ddd; border-radius: 8px; overflow: hidden; transition: 0.3s; background:#fff; }
.gallery-item:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: translateY(-5px); }

.thumb-area { width: 100%; height: 240px !important; background: #f5f5f5; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.thumb-area img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s; }
.gallery-item:hover .thumb-area img { transform: scale(1.05); }

.info-area { padding: 15px 15px 20px !important; }
.info-subject { font-size: 16px; font-weight: bold; color: #333; margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; text-decoration: none;}
.info-meta { font-size: 14px !important; color: #888; display: flex; justify-content: space-between; }

@media (max-width: 1024px) { .gallery-item { width: calc(33.33% - 14px); } }
@media (max-width: 768px) {
    .gallery-item { width: calc(50% - 10px); }
    .thumb-area { height: 200px !important; }
    .info-subject { font-size: 15px; }
}
@media (max-width: 480px) {
    .gallery-list { gap: 14px; margin-top: 14px; }
    .gallery-item { width: 100%; }
    .thumb-area { height: 220px !important; }
    .info-area { padding: 12px 14px 16px !important; }
    .info-subject { font-size: 15px; margin-bottom: 6px; }
    .info-meta { font-size: 12px !important; }
}

.gallery-list-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.gallery-search-form { display: flex; align-items: center; gap: 8px; }
.gallery-search-form select,
.gallery-search-form input[type="text"] {
    height: 42px;
    border: 1px solid #dee2e9;
    border-radius: 6px;
    padding: 0 14px;
    font-size: 14px;
    color: #27272d;
    font-family: inherit;
    box-sizing: border-box;
}
.gallery-search-form select {
    min-width: 100px;
    padding-right: 34px;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23606060' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;
    background-size: 11px 7px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
.gallery-search-form input[type="text"] { width: 220px; }
.gallery-search-form select:focus,
.gallery-search-form input[type="text"]:focus { outline: none; border-color: #069f7c; }
.gallery-search-form .btn-search {
    height: 42px;
    padding: 0 22px;
    background: #069f7c;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}
.gallery-search-form .btn-search:hover { background: #058a6b; }

.gallery-empty { width: 100%; padding: 100px 20px; text-align: center; color: #898989; font-size: 15px; background: #f8f9fb; border-radius: 10px; }

.btn-write { background:#069f7c; color:#fff; padding:0 20px; height: 42px; display: inline-flex; align-items: center; border-radius:6px; text-decoration:none; font-size:14px; font-weight: 700; }
.btn-write:hover { background:#058a6b; }

@media (max-width: 600px) {
    .gallery-list-toolbar { flex-direction: column; align-items: stretch; }
    .gallery-search-form { width: 100%; }
    .gallery-search-form input[type="text"] { flex: 1; width: auto; min-width: 0; }
    .btn-write { justify-content: center; }
}
@media (max-width: 400px) {
    .gallery-search-form { flex-wrap: wrap; }
    .gallery-search-form select { flex: 1 1 100%; }
    .gallery-search-form input[type="text"] { flex: 1 1 auto; }
}

#btn-load-more {
    display: block; width: 100%; max-width: 300px; margin: 40px auto; padding: 12px 0;
    text-align: center; background: #fff; border: 1px solid #ccc; color: #555;
    font-size: 14px; cursor: pointer; border-radius: 5px; transition: 0.3s;
}
#btn-load-more:hover { background: #f9f9f9; border-color: #888; color: #333; }
.board-view-wrap div h2{margin: 0px 0px !important; }
.board-view-wrap div{margin: 0px 0px !important;}

/* ==========================================================================
   게시판/갤러리 상세보기 공통 (board, gallery view.skin.php)
   ========================================================================== */
.board-view-wrap.layout_default {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    border-top: 2px solid #181924;
    padding: 20px 0;
    background: #fff;
}
.view-title-wrap { padding-bottom: 36px; border-bottom: 1px solid #dee2e9; }
.view-title { font-size: 28px; font-weight: 800; color: #181924; letter-spacing: -0.56px; line-height: 1.4; }
.view-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    padding: 14px 0;
    border-bottom: 1px solid #dee2e9;
    color: #898989;
}
.meta-item { margin-right: 0; display: inline-flex; align-items: center; font-size: 14px; }
.meta-item:not(:last-child) { padding-right: 14px; border-right: 1px solid #dee2e9; }
.meta-item strong { color: #27272d; font-weight: 700; margin-left: 4px; }
.meta-item-note { color: #b0b6bf; font-size: 13px; }
.view-content { min-height: 200px; line-height: 1.8; font-size: 16px; color: #27272d; padding-top: 30px; }
/* 관리자가 워드/한글에서 그대로 붙여넣은 본문은 font-size 등 인라인 스타일이
   뒤섞여 있어 레이아웃이 깨지는 경우가 있어, 본문 내부는 사이트 타이포그래피로 강제 통일한다 */
.view-content * { font-size: 16px !important; line-height: 1.8 !important; font-family: inherit !important; }
.view-content b, .view-content strong { font-weight: 700 !important; }
.view-content img { max-width: 100%; height: auto; }
.gallery-images { text-align: center; margin-bottom: 30px; display: flex; flex-direction: column; gap: 15px; }
.gallery-images img { max-width: 100%; margin-bottom: 0; border-radius: 10px; }
.view-attachments { margin-top: 30px; background: #f5f5f5; padding: 20px; border-radius: 5px; }
.attachment-list { list-style: none; padding: 0; margin: 0; }
.attachment-list li { margin-bottom: 10px; }
.attachment-list li:last-child { margin-bottom: 0; }
.attachment-title {
    display: block;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #181924;
}
.attachment-link {
    text-decoration: none;
    color: #333;
    font-size: 15px;
}
.view-news-source { margin-top: 40px; padding: 24px; background: #f1f4f8; border-radius: 10px; }
.view-news-source h4 { margin: 0 0 10px; font-size: 16px; font-weight: 700; color: #181924; }
.view-news-source p { margin: 0; font-size: 14px; color: #606060; word-break: break-all; }
.view-news-source a { color: #069f7c; text-decoration: none; font-weight: 600; }
.view-actions { display: flex; gap: 10px; justify-content: center; margin-top: 40px; padding: 30px 0; border-top: 1px solid #dee2e9; }
.btn-board {
    background: #f1f4f8;
    color: #27272d;
    padding: 12px 28px;
    text-decoration: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    display: inline-block;
    border: none;
    cursor: pointer;
    margin-left: 0;
}
.btn-board:first-child { margin-left: 0; }
.btn-board.btn-list { background: #069f7c; color: #fff; }
.btn-board.btn-edit { background: #fff; border: 1px solid #dee2e9; color: #27272d; }
.btn-board.btn-delete { background: #fff; border: 1px solid #dee2e9; color: #d64545; }
.btn-board:hover { opacity: .85; }

@media all and (max-width: 600px) {
    .board-view-wrap.layout_default { padding-top: 24px; }
    .view-title { font-size: 20px; }
    .view-meta { gap: 6px 14px; padding: 12px 0 14px; }
    .view-title-wrap { padding-bottom: 20px; }
    .view-content { padding-top: 20px; }
    .meta-item { font-size: 13px; }
    .view-content, .view-content * { font-size: 14px !important; }
    .gallery-images { gap: 10px; margin-bottom: 20px; }
    .gallery-images img { border-radius: 8px; }
    .view-news-source { padding: 16px; margin-top: 24px; }
    .view-actions { flex-direction: column; margin-top: 24px; padding: 20px 0; }
    .btn-board { width: 100%; text-align: center; box-sizing: border-box; font-size: 14px; padding: 12px; }
    .attachment-title { font-size: 15px; }
    .attachment-link { font-size: 13px; }
}

/* --------------- H/W 솔루션 - HPE 서버 -------------*/

.hpe-server, .hpe-storage, .dell-server, .hpe-ai-server, .ai-solution-hpe, .ai-solution-deepmaestro, .ai-solution-sionic, .ai-solution-persoai, .ai-solution-hyperaccel, .ai-solution-deepx, .sw-solution-vmware, .sw-solution-atori, .sw-solution-ablestack, .sw-solution-contrabass, .sw-solution-tibero, .client-solution-hpi, .client-solution-asus, .client-solution-lenovo, .biz-consulting, .biz-si, .biz-maint { color: #27272d; word-break: keep-all; }
.hpe-server ul, .hpe-storage ul, .dell-server ul, .hpe-ai-server ul, .ai-solution-hpe ul, .ai-solution-deepmaestro ul, .ai-solution-sionic ul, .ai-solution-persoai ul, .ai-solution-hyperaccel ul, .ai-solution-deepx ul, .sw-solution-vmware ul, .sw-solution-atori ul, .sw-solution-ablestack ul, .sw-solution-contrabass ul, .sw-solution-tibero ul, .client-solution-hpi ul, .client-solution-asus ul, .client-solution-lenovo ul, .biz-consulting ul, .biz-si ul, .biz-maint ul { list-style: none; padding: 0; margin: 0; }
.hpe-server img, .hpe-storage img, .dell-server img, .hpe-ai-server img, .ai-solution-hpe img, .ai-solution-deepmaestro img, .ai-solution-sionic img, .ai-solution-persoai img, .ai-solution-hyperaccel img, .ai-solution-deepx img, .sw-solution-vmware img, .sw-solution-atori img, .sw-solution-ablestack img, .sw-solution-contrabass img, .sw-solution-tibero img, .client-solution-hpi img, .client-solution-asus img, .client-solution-lenovo img, .biz-consulting img, .biz-si img, .biz-maint img { max-width: 100%; }

/* 서버/스토리지 탭 */
.hs-tab-wrap .content-body { padding-top: 20px; }
.hs-tab-list { display: flex; gap: 6px; }
.hs-tab { display: flex; align-items: center; justify-content: center; flex-shrink: 0; white-space: nowrap; min-width: 180px; height: 52px; background: #E9F0EF; color: #181924; font-weight: 700; font-size: 20px; letter-spacing: -0.4px; border-radius: 4px 4px 0 0; text-decoration: none; padding: 15px 40px; }
.hs-tab-list.many .hs-tab { min-width: 0; padding: 15px 24px; }
.hs-tab.is-active { background: #0d655a; color: #fff; }

/* 히어로 배너 */
.hs-hero { position: relative; height: 580px; margin: 40px 0 60px; border-radius: 16px; overflow: hidden; background: linear-gradient(to left, #8dc9e3, #5bceb4); }
.hs-hero-bg { position: absolute; inset: 0; }
.hs-hero-bg.is-full { opacity: 1; mix-blend-mode: normal; }
.hs-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.hs-hero-media { position: absolute; right: 4%; top: 55%; transform: translateY(-50%); width: 562px; max-width: 46%; }
.hs-hero-media-img { position: relative; width: 100%; height: auto; display: block; }
.hs-hero-txt { position: absolute; left: 76px; top: 50%; transform: translateY(-50%); width: 640px; max-width: 52%; }
.hs-hero-eyebrow { color: #086257; font-size: 15px; font-weight: 700; margin-bottom: 5px; }
.hs-hero-title { font-size: 58px !important; font-weight: 700; line-height: 110% !important; margin: 0px 0px 10px !important; }
.hs-hero-title.on-dark { color: #fff; }
.hs-hero-sub { color: #fff; font-size: 30px; font-weight: 500; line-height: 150%;letter-spacing: -0.68px; margin-bottom: 10px; }
.hs-hero-desc { color: #fff; font-size: 18px; line-height: 1.5; letter-spacing: -0.27px; font-weight: 300;}

/* 섹션 공통 (제목 스타일은 .co-heading 공용 규칙 사용) */
.hs-section { margin-bottom: 60px; }

/* 핵심 가치 카드 */
.hs-value-grid { display: flex; gap: 19px; align-items: stretch; }
.hs-value-grid.cols-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }
.hs-value-grid.cols-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hs-value-grid.cols-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.hs-value-card { flex: 1 1 0; min-width: 0; background: #fff; border: 1px solid #dee2e9; border-radius: 16px; padding: 30px 20px; }
.hs-value-icon { width: 60px; height: 60px; display: block; margin-bottom: 20px; }
.hs-value-icon-badge { width: 60px; height: 60px; border-radius: 50%; background: #e8f8f4; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.hs-value-icon-badge img { width: 32px; height: 32px; }
.hs-value-tit { color: #007050; font-size: 20px; font-weight: 700; margin-bottom: 20px; }
.hs-value-sub { color: #27272d; font-size: 14px; font-weight: 700; margin-bottom: 20px; }
.hs-value-list li { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-bottom: 10px; }
.hs-value-list li:last-child { margin-bottom: 0; }
.hs-value-desc { color: #606060; font-size: 15px; line-height: 1.6; letter-spacing: -0.3px; }

/* 워크로드 지원 */
.hs-workload-panel { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 30px; background: #f6f8fa; border-radius: 16px; padding: 40px 100px; }
.hs-workload-item { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.hs-workload-icon { width: 60px; height: 60px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.hs-workload-icon img { width: 32px; height: 32px; }
.hs-workload-item p { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; text-align: center; white-space: nowrap; }

/* 포트폴리오 */
.hs-portfolio-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px; }
.hs-portfolio-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.hs-portfolio-grid.cols-5 { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.hs-portfolio-grid.cols-4 { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hs-portfolio-grid.cols-2 { grid-template-columns: repeat(2, 1fr); gap: 24px; }
.hs-portfolio-card { background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding-top: 30px; display: flex; flex-direction: column; align-items: center; height: 280px; }
.hs-portfolio-grid.cols-3 .hs-portfolio-card { height: auto; min-height: 280px; padding: 30px 20px; }
.hs-portfolio-grid.cols-2 .hs-portfolio-card { height: auto; padding: 20px; align-items: stretch; }
.hs-portfolio-grid.cols-2 .hs-portfolio-imgbox { width: 100%; max-width: none; height: 250px; margin: 0 0 15px; background: #f8f8f8; display: flex; align-items: center; justify-content: center; }
.hs-portfolio-grid.cols-2 .hs-portfolio-imgbox img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.hs-portfolio-grid.cols-2 .hs-portfolio-name { text-align: left; width: auto; margin-bottom: 8px; }
.hs-portfolio-grid.cols-5 .hs-portfolio-card, .hs-portfolio-grid.cols-4 .hs-portfolio-card { height: auto; min-height: 280px; padding: 20px 20px 40px; align-items: stretch; }
.hs-portfolio-grid.cols-3 .hs-portfolio-imgbox { margin-top: 0; margin-bottom: 20px;background: #f8f8f8; }
.hs-portfolio-grid.cols-5 .hs-portfolio-imgbox, .hs-portfolio-grid.cols-4 .hs-portfolio-imgbox { width: 100%; max-width: none; height: 180px; margin: 0 0 16px; background: #F8F8F8; }
.hs-portfolio-grid.cols-5 .hs-portfolio-name, .hs-portfolio-grid.cols-4 .hs-portfolio-name { text-align: left; width: auto; padding: 0 16px; margin-bottom: 8px; }
.hs-portfolio-grid.cols-5 .hs-value-list, .hs-portfolio-grid.cols-4 .hs-value-list { padding: 0 16px; }
.hs-portfolio-grid.cols-4 .hs-portfolio-desc { padding: 0 16px; margin-bottom: 0; }
.hs-portfolio-name { color: #007050; font-size: 20px; font-weight: 700; letter-spacing: -0.4px; line-height: 1.1; margin-bottom: 20px; text-align: center; width: 100%; }
.hs-portfolio-desc { color: #606060; font-size: 16px; letter-spacing: -0.16px; line-height: 1.3; margin-bottom: 10px; }
.hs-portfolio-imgbox { width: 100%; /*max-width: 300px; height: 200px; */overflow: hidden; margin-top: auto; }
.hs-portfolio-imgbox img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.hpe-aruba .hs-portfolio-grid.cols-3 .hs-portfolio-card,
.hpe-juniper .hs-portfolio-grid.cols-3 .hs-portfolio-card { align-items: flex-start; }
.hpe-aruba .hs-portfolio-name,
.hpe-juniper .hs-portfolio-name { text-align: left; width: auto; }

.hdn-switch .hs-portfolio-grid.cols-3 .hs-portfolio-card { align-items: flex-start; }
.hdn-switch .hs-portfolio-name { text-align: left; width: auto; }

.fs-itu .hs-portfolio-grid.cols-3 .hs-portfolio-card { align-items: flex-start; }
.fs-itu .hs-portfolio-name { text-align: left; width: auto; }

.jaycom-atzone .hs-portfolio-grid.cols-4 .hs-portfolio-imgbox { height: 260px; }

/* 카테고리형 제품 그리드  */
.hs-category { margin-bottom: 44px; }
.hs-category:last-child { margin-bottom: 0; }
.hs-category-label { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.hs-category-label .bar { width: 4px; height: 18px; background: #1273ce; flex-shrink: 0; }
.hs-category-label span { font-size: 18px; font-weight: 700; color: #181924; }
.hs-category-grid { display: flex; flex-wrap: wrap; column-gap: 18px; row-gap: 32px; }
.hs-category-card { flex: 0 0 265px; width: 265px; text-align: left; border: 1px solid #dee2e9;padding: 30px 20px;border-radius: 10px;}
.hs-category-card .hs-portfolio-imgbox { width: 100%; max-width: none; height: 180px; margin: 0 0 18px;  }
.hs-category-card .hs-portfolio-name { text-align: left; width: auto; margin-bottom: 6px; }
.hs-category-card .hs-portfolio-desc { margin-bottom: 0; }

/* 문의하기 */
.content-body:has(.hs-contact) { padding-bottom: 0; }

.hs-section:last-child { margin-bottom: 0; }

.hs-contact { position: relative; }
.hs-contact-bg { position: absolute; left: 50%; top: 0; width: 100vw; height: 100%; transform: translateX(-50%); }
.hs-contact-bg img { width: 100%; height: 100%; object-fit: cover; }
.hs-contact-bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.2); }
.hs-contact-inner { position: relative; z-index: 1; padding: 100px 0;}
@media (max-width: 1400px) {
    .hs-contact-inner { padding: 0 0px; box-sizing: border-box; }
}
.hs-contact-title { color: #fff; font-size: 34px; font-weight: 800; letter-spacing: -0.68px; margin-bottom: 24px; }
.hs-contact-card { background: #fff; border: 1px solid #e6e9ed; border-radius: 16px; padding: 32px; box-shadow: 0 18px 40px -14px rgba(0,0,0,0.05), 0 2px 10px 0 rgba(0,0,0,0.04); }
.hs-contact-head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 32px; border-bottom: 1px solid #e6e9ed; flex-wrap: wrap; gap: 12px; }
.hs-contact-head-tit { color: #27272d; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; margin-bottom: 6px; }
.hs-contact-head-sub { color: #898989; font-size: 15px; letter-spacing: -0.3px; }
.hs-contact-manager { color: #1a1d24; font-size: 16px; }
.hs-contact-manager span { color: #8a92a3; font-size: 12px; font-weight: 600; margin-right: 8px; }
.hs-contact-manager strong { font-weight: 700; margin-right: 8px; }
.hs-contact-body { display: flex; align-items: center; justify-content: space-between; padding-top: 32px; flex-wrap: wrap; gap: 20px; }
.hs-contact-email { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hs-contact-email img { width: 16px; height: 16px; }
.hs-contact-email span { color: #1a1d24; font-size: 14px; font-weight: 600; }
.hs-contact-btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; background: #069f7c; color: #fff; font-size: 14px; font-weight: 700; border-radius: 6px; text-decoration: none; box-shadow: 0 10px 24px -10px rgba(27,79,168,0.2); }
.hs-contact-phone { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.hs-contact-phone-box { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; background: #e8f8f4; border-radius: 6px; }
.hs-contact-phone-box img { width: 16px; height: 16px; }
.hs-contact-phone-box strong { color: #069f7c; font-size: 14px; font-weight: 700; }
.hs-contact-phone-note { color: #8a92a3; font-size: 12px; text-align: right; }

.hs-hero.ai-hpe-gradient { background: linear-gradient(to left, #1286b8, #31d9b4); }

.hs-benefit-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.hs-benefit-card { border: 1px solid #e5e7eb; border-radius: 4px; padding: 20px; }
.hs-benefit-icon { width: 60px; height: 60px; border-radius: 50%; background: #f1f4f8; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.hs-benefit-icon img { width: 32px; height: 32px; }
.hs-benefit-tit { color: #073c9f; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; margin-bottom: 4px; }
.hs-benefit-desc { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; }

.hs-diagram-box { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 40px; display: flex; flex-direction: column; gap: 25px; }
.hs-diagram-panel { border: 1px solid #dee2e9; border-radius: 10px; padding: 40px 20px; display: flex; flex-direction: column; gap: 25px; }
.hs-diagram-panel-title { font-weight: 700; font-size: 20px; letter-spacing: -0.4px; color: #181924; text-align: center; }
.hs-diagram-apps-row { display: flex; justify-content: space-between; gap: 16px; }
.hs-diagram-app { flex: 1 1 0; background: #f8f8f8; border: 1px solid #c0c7d3; border-radius: 6px; padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
.hs-diagram-app img { width: 28px; height: 28px; }
.hs-diagram-app p { font-weight: 700; font-size: 15px; letter-spacing: -0.3px; color: #1a1c24; text-align: center; }
.hs-diagram-software-bar { background: #e5f2eb; border-radius: 4px; padding: 8px; text-align: center; font-weight: 700; font-size: 14px; color: #1a1c24; }
.hs-diagram-software-row { display: flex; justify-content: space-between; font-weight: 600; font-size: 12px; color: #1a1c24; text-align: center; }
.hs-diagram-hpe-bar { background: #0f4d45; color: #fff; border-radius: 4px; padding: 16px; text-align: center; display: flex; flex-direction: column; gap: 6px; }
.hs-diagram-hpe-bar strong { font-weight: 700; font-size: 16px; }
.hs-diagram-hpe-bar span { font-weight: 500; font-size: 12px; }
.hs-diagram-infra-row { display: flex; gap: 12px; }
.hs-diagram-infra-item { flex: 1 1 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; padding: 14px 16px; display: flex; align-items: center; gap: 8px; }
.hs-diagram-infra-item img { width: 20px; height: 20px; }
.hs-diagram-infra-item span { font-weight: 600; font-size: 13px; color: #1a1c24; }
.hs-diagram-datacenter-bar { background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; padding: 14px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.hs-diagram-datacenter-bar img { width: 20px; height: 20px; }
.hs-diagram-datacenter-bar span { font-weight: 600; font-size: 13px; color: #1a1c24; }

.hs-hero.ai-deepmaestro-gradient { background: linear-gradient(to left, #3f2aa1, #010a25); }

.hs-hero.ai-sionic-gradient { background: linear-gradient(to right, #041137, #143fad); }

.hs-hero.ai-persoai-gradient { background: linear-gradient(to left, #3f2aa1, #07071f); }
.hs-hero-logo { position: absolute; right: 160px; top: 50%; transform: translateY(-50%); max-width: 495px; width: 38%; }
.hs-hero-logo img { width: 100%; height: auto; display: block; }

.hs-photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.hs-photo-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }
.hs-photo-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.hs-photo-card { background: #fff; border: 1px solid #e6e9ed; border-radius: 8px; overflow: hidden; }
.hs-photo-imgbox { width: 100%; height: 180px; background: #f2f4f6; overflow: hidden; }
.hs-photo-imgbox img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hs-photo-info { padding: 16px; }
.hs-photo-name { color: #007050; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; margin-bottom: 15px; }
.hs-photo-desc { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-top: 8px; }
.hs-photo-imgbox.is-icon { display: flex; align-items: center; justify-content: center; padding: 20px; }
.hs-photo-imgbox.is-icon img { width: auto; height: auto; max-width: 140px; max-height: 140px; object-fit: contain; }
.hs-photo-imgbox.is-tall { height: 250px; }
.hs-photo-imgbox.is-contain { display: flex; align-items: center; justify-content: center; padding: 24px; }
.hs-photo-imgbox.is-contain img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.hs-photo-imgbox.is-white { background: #fff; }
.hs-photo-list { margin-top: 8px; }
.hs-photo-list li { color: #606060; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; margin-bottom: 6px; }
.hs-photo-list li:last-child { margin-bottom: 0; }

.hs-hero.ai-hyperaccel-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-hero.ai-deepx-gradient { background: linear-gradient(to left, #040000, #0d2a5c); }

.hs-hero.sw-vmware-gradient { background: linear-gradient(to left, #1c99b6, #4d9f7e); }

.hs-hero.sw-atori-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-hero.sw-ablestack-gradient { background: linear-gradient(to left, #300a83, #4f22b2); }

.hs-hero.sw-contrabass-gradient { background: linear-gradient(to left, #8c190a, #d75a0d); }

.hs-hero.sw-tibero-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-hero.sw-tmaxsoft-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-photo-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }

.hs-hero.cl-hpi-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-hero.cl-asus-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-hero.cl-lenovo-gradient { background: linear-gradient(to left, #00286d, #1b4fa8); }

.hs-hero.hw-hitachi-gradient { background: linear-gradient(to left, #2c4477, #185486); }
.hs-hero.hw-hitachi-gradient .hs-hero-bg img {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 25%, black 100%);
    mask-image: linear-gradient(to right, transparent 0%, transparent 25%, black 100%);
}

.hs-hero.pub-zensys-gradient { background: linear-gradient(to left, #069f7c, #146c92); }
.hs-hero.pub-zensys-gradient .hs-hero-bg img {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 25%, black 100%);
    mask-image: linear-gradient(to right, transparent 0%, transparent 25%, black 100%);
}

.hs-hero.pub-msi-gradient { background: linear-gradient(to left, #ffb4bb, #8f5ea8); }
.hs-hero.pub-msi-gradient .hs-hero-bg img {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 25%, black 100%);
    mask-image: linear-gradient(to right, transparent 0%, transparent 25%, black 100%);
}

.hs-spec-grid { display: flex; flex-wrap: wrap; gap: 18px; }
.hs-spec-card { flex: 1 1 218px; min-width: 200px; background: #fff; border: 1px solid #e6e8ec; border-radius: 10px; padding: 18px; box-sizing: border-box; }
.hs-spec-tit { color: #007050; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; margin: 0 0 6px; }
.hs-spec-desc { color: #6a6f77; font-size: 15px; letter-spacing: -0.3px; margin: 0; line-height: 1.4; }
@media (max-width: 700px) {
    .hs-spec-card { flex: 1 1 calc(50% - 9px); }
}

.hs-spec-table { display: flex; flex-direction: column; }
.hs-spec-row { display: flex; gap: 20px; padding: 14px 0; border-bottom: 1px solid #e6e9ed; }
.hs-spec-label { flex: 0 0 220px; color: #171a24; font-size: 16px; font-weight: 700; }
.hs-spec-value { flex: 1 1 0; min-width: 0; color: #404040; font-size: 15px; }
@media (max-width: 700px) {
    .hs-spec-row { flex-direction: column; gap: 4px; }
    .hs-spec-label { flex: none; }
}

.hs-subtab-row { display: flex; gap: 6px; margin-bottom: 30px; }
.hs-subtab { display: flex; align-items: center; justify-content: center; height: 52px; padding: 0 40px; background: #f1f4f8; color: #002554; font-weight: 700; font-size: 20px; letter-spacing: -0.4px; border: none; cursor: pointer; font-family: inherit; }
.hs-subtab.is-active { background: #002554; color: #fff; }
.hs-value-desc-group p { margin-bottom: 10px; }
.hs-value-desc-group p:last-child { margin-bottom: 0; }
.is-hidden { display: none !important; }

.hs-compare-row { display: flex; gap: 30px; align-items: center; }
.hs-compare-card { flex: 1 1 0; min-width: 0; background: #f8f8f8; border: 1px solid #dee2e9; border-radius: 12px; padding: 40px; }
.hs-compare-tit { font-weight: 800; font-size: 26px; margin-bottom: 12px; }
.hs-compare-tit.is-blue { color: #073c9f; }
.hs-compare-tit.is-purple { color: #6b47d9; }
.hs-compare-sub { color: #181924; font-size: 16px; letter-spacing: -0.16px; margin-bottom: 20px; }
.hs-compare-list li { color: #181924; font-size: 16px; letter-spacing: -0.16px; line-height: 1.3; margin-bottom: 10px; }
.hs-compare-list li:last-child { margin-bottom: 0; }
.hs-compare-logo { width: 180px; height: 180px; border-radius: 50%; background: linear-gradient(135deg, #2659f2, #bf8cfa); position: relative; flex-shrink: 0; }
.hs-compare-logo-inner { position: absolute; inset: 16px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; color: #181924; text-align: center; }

.hs-arch-box { display: flex; flex-direction: column; gap: 20px; width: 100%; }
.hs-arch-row { display: flex; align-items: center; border: 1px solid #dee2e9; border-radius: 12px; padding: 32px 50px; }
.hs-arch-label { flex-shrink: 0; width: 200px; height: 40px; background: #eee; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; letter-spacing: -0.36px; color: #181924; text-align: center; }
.hs-arch-items { flex: 1 1 0; min-width: 0; display: flex; gap: 80px; padding-left: 40px; }
.hs-arch-item { display: flex; align-items: center; gap: 14px; }
.hs-arch-item-icon { flex-shrink: 0; width: 60px; height: 60px; border-radius: 50%; background: #f1f4f8; display: flex; align-items: center; justify-content: center; }
.hs-arch-item-icon img { width: 32px; height: 32px; }
.hs-arch-item-tit { color: #073c9f; font-weight: 700; font-size: 18px; letter-spacing: -0.36px; margin-bottom: 4px; }
.hs-arch-item-desc { color: #606060; font-size: 15px; letter-spacing: -0.3px; }

.hs-related-row { padding: 20px 0; border-bottom: 1px solid #e6e9ed; }
.hs-related-row:last-child { border-bottom: none; }
.hs-related-cat { color: #007050; font-weight: 700; font-size: 14px; margin: 0 0 8px; }
.hs-related-tit { color: #181924; font-weight: 600; font-size: 24px; letter-spacing: -0.48px; margin: 0 0 12px; }
.hs-related-desc { color: #606060; font-size: 15px; letter-spacing: -0.3px; line-height: 1.5; margin: 0; }

.hs-link-card { background: #f1f4f8; border-radius: 10px; padding: 32px 40px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.hs-link-card-content { display: flex; align-items: center; gap: 24px; }
.hs-link-card-icon { width: 64px; height: 64px; border-radius: 16px; background: #181924; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.hs-link-card-icon img { width: 32px; height: 32px; }
.hs-link-card-title { font-size: 30px; font-weight: 800; color: #181924; letter-spacing: -0.6px; }
.hs-link-card-btn { display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: 6px; padding: 12px 24px; color: #069f7c; font-size: 18px; font-weight: 700; letter-spacing: -0.36px; text-decoration: none; flex-shrink: 0; }
.hs-link-card-btn img { width: 20px; height: 20px; }

@media (max-width: 600px) {
    .hs-link-card { padding: 24px; gap: 16px; }
    .hs-link-card-content { gap: 16px; }
    .hs-link-card-icon { width: 52px; height: 52px; border-radius: 12px; }
    .hs-link-card-icon img { width: 26px; height: 26px; }
    .hs-link-card-title { font-size: 22px; }
    .hs-link-card-btn { font-size: 15px; padding: 10px 18px; gap: 8px; margin-left: auto; }
    .hs-link-card-btn img { width: 16px; height: 16px; }
}

@media (max-width: 400px) {
    .hs-link-card { padding: 20px; }
    .hs-link-card-content { gap: 12px; }
    .hs-link-card-icon { width: 44px; height: 44px; border-radius: 10px; }
    .hs-link-card-icon img { width: 22px; height: 22px; }
    .hs-link-card-title { font-size: 18px; }
    .hs-link-card-btn { font-size: 14px; padding: 9px 16px; }
}

@media (max-width: 1080px) {
    .hs-value-grid { flex-wrap: wrap; }
    .hs-value-card { flex: 1 1 calc(50% - 19px); }
    .hs-value-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
    .hs-value-grid.cols-5 { grid-template-columns: repeat(3, 1fr); }
    .hs-value-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
    .hs-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
    .hs-portfolio-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
    .hs-portfolio-grid.cols-5 { grid-template-columns: repeat(3, 1fr); }
    .hs-portfolio-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
    .hs-category-card { flex: 1 1 calc(33.333% - 14px); width: auto; }
    .hs-hero { height: auto; padding: 60px 30px; }
    .hs-hero-media { position: relative; right: auto; top: auto; transform: none; max-width: 100%; margin-top: 30px; }
    .hs-hero-txt { position: relative; left: auto; top: auto; transform: none; max-width: 100%; }
    .hs-hero-title { font-size: 40px !important; }
    .hs-hero-sub { font-size: 22px; }
    .hs-hero-desc { font-size: 16px; }
    .hs-benefit-grid { grid-template-columns: repeat(3, 1fr); }
    .hs-diagram-apps-row { flex-wrap: wrap; }
    .hs-diagram-app { flex: 1 1 calc(33.333% - 11px); }
    .hs-photo-grid { grid-template-columns: repeat(2, 1fr); }
    .hs-photo-grid.cols-5 { grid-template-columns: repeat(3, 1fr); }
    .hs-photo-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
    .hs-photo-imgbox.is-tall { height: 220px; }
    .hs-hero-logo { position: relative; right: auto; top: auto; transform: none; max-width: 320px; margin-top: 20px; }
    .hs-arch-items { gap: 40px; }
}

@media (max-width: 900px) {
    .hs-workload-panel { padding: 32px 40px; gap: 28px; }
    .hs-workload-icon { width: 54px; height: 54px; }
    .hs-workload-icon img { width: 30px; height: 30px; }
    .hs-workload-item p { font-size: 14px; }
}
@media (max-width: 767px) {
    .hs-related-tit { font-size: 20px; }
    .hs-tab-list { gap: 4px; }
    .hs-tab { flex: 1 1 0; min-width: 0; width: auto; height: 44px; font-size: 16px; padding: 0 8px; }
    .hs-hero-desc { font-size: 15px; }
    .hs-value-grid { gap: 14px; }
    .hs-value-grid.cols-3 { grid-template-columns: 1fr; gap: 14px; }
    .hs-value-grid.cols-5 { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .hs-value-grid.cols-4 { grid-template-columns: 1fr; gap: 14px; }
    .hs-value-card { flex: 1 1 100%; padding: 30px; }
    .hs-value-icon { width: 48px; height: 48px; margin-bottom: 14px; }
    .hs-value-icon-badge { width: 48px; height: 48px; margin-bottom: 14px; }
    .hs-value-icon-badge img { width: 26px; height: 26px; }
    .hs-value-tit { font-size: 18px; margin-bottom: 8px; }
    .hs-value-sub { font-size: 13px; margin-bottom: 14px; }
    .hs-value-list li { font-size: 14px; margin-bottom: 8px; }
    .hs-value-desc { font-size: 14px; }
    .hs-workload-panel { justify-content: center; padding: 30px 20px; gap: 24px; }
    .hs-workload-item { width: 40%; }
    .hs-workload-item p { white-space: normal; }
    .hs-portfolio-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .hs-portfolio-grid.cols-3 { grid-template-columns: 1fr; }
    .hs-portfolio-grid.cols-5 { grid-template-columns: repeat(2, 1fr); }
    .hs-portfolio-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
    .hs-portfolio-grid.cols-2 { grid-template-columns: 1fr; }
    .hs-portfolio-card { height: auto; padding-top: 20px; padding-bottom: 20px; }
    .hs-portfolio-imgbox { height: auto; aspect-ratio: 3 / 2; }
    .hs-portfolio-name { font-size: 18px; }
    .hs-portfolio-desc { font-size: 14px; margin-bottom: 8px; }
    .hs-category-card { flex: 1 1 calc(50% - 10px); }
    .hs-category-label span { font-size: 16px; }
    .hs-hero-title { font-size: 32px !important; }
    .hs-hero-sub { font-size: 20px; }
    .hs-workload-icon { width: 50px; height: 50px; }
    .hs-workload-icon img { width: 32px; height: 32px; }
    .hs-contact { padding: 40px 0; margin-top: 0px;}
    .hs-contact-title { font-size: 28px; }
    .hs-contact-card { padding: 24px; }
    .hs-contact-body { align-items: flex-start; }
    .hs-contact-phone { align-items: flex-start; width: 100%; }
    .hs-contact-phone-note { text-align: left; }
    .hs-benefit-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .hs-diagram-box { padding: 24px; }
    .hs-diagram-panel { padding: 24px 16px; }
    .hs-diagram-apps-row { flex-wrap: wrap; gap: 12px; }
    .hs-diagram-app { flex: 1 1 calc(50% - 6px); }
    .hs-diagram-software-row { flex-wrap: wrap; gap: 8px; justify-content: center; }
    .hs-diagram-infra-row { flex-wrap: wrap; }
    .hs-diagram-infra-item { flex: 1 1 100%; }
    .hs-photo-grid { gap: 14px; }
    .hs-photo-grid.cols-5 { grid-template-columns: repeat(2, 1fr); }
    .hs-photo-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
    .hs-photo-imgbox.is-tall { height: 200px; }
    .hs-hero-logo { max-width: 260px; }
    .hs-subtab { padding: 0 24px; font-size: 17px; }
    .hs-compare-row { flex-direction: column; }
    .hs-compare-card { width: 100%; }
    .hs-compare-logo { order: -1; }
    .hs-arch-row { flex-direction: column; align-items: flex-start; padding: 24px; gap: 20px; }
    .hs-arch-label { width: 100%; }
    .hs-arch-items { flex-wrap: wrap; gap: 24px; padding-left: 0; width: 100%; }
}

@media (max-width: 480px) {
    .hs-tab { font-size: 14px; padding: 0 4px; }
    .hs-hero { padding: 40px 20px; }
    .hs-hero-title { font-size: 26px !important; }
    .hs-hero-sub { font-size: 17px; }
    .hs-hero-desc { font-size: 14px; }
    .hs-value-card { padding: 24px; }
    .hs-value-icon { width: 40px; height: 40px; margin-bottom: 10px; }
    .hs-value-icon-badge { width: 40px; height: 40px; margin-bottom: 10px; }
    .hs-value-icon-badge img { width: 22px; height: 22px; }
    .hs-value-tit { font-size: 17px; }
    .hs-workload-panel { gap: 16px 8px; padding: 24px 16px; }
    .hs-workload-item { width: calc(50% - 8px); flex-direction: column; justify-content: flex-start; gap: 10px; }
    .hs-workload-icon { width: 44px; height: 44px; }
    .hs-workload-icon img { width: 28px; height: 28px; }
    .hs-workload-item p { font-size: 13px; }
    .hs-portfolio-grid { grid-template-columns: 1fr; }
    .hs-portfolio-grid.cols-5 { grid-template-columns: 1fr; }
    .hs-portfolio-grid.cols-4 { grid-template-columns: 1fr; }
    .hs-portfolio-imgbox { max-width: 240px; }
    .hs-portfolio-name { font-size: 17px; }
    .hs-portfolio-desc { font-size: 13px; }
    .hs-category-card { flex: 1 1 100%; }
    .hs-category-card .hs-portfolio-name { font-size: 17px; }
    .hs-category-card .hs-portfolio-desc { font-size: 13px; }
    .hs-contact-title { font-size: 24px; }
    .hs-contact-card { padding: 20px; }
    .hs-contact-head { flex-direction: column; padding-bottom: 20px; }
    .hs-contact-head-tit { font-size: 16px; }
    .hs-contact-head-sub { font-size: 13px; }
    .hs-contact-manager { width: 100%; font-size: 14px; }
    .hs-contact-body { padding-top: 20px; gap: 14px; }
    .hs-contact-email span { font-size: 13px; }
    .hs-contact-btn { padding: 9px 16px; font-size: 13px; }
    .hs-contact-phone-box { height: 36px; padding: 0 10px; }
    .hs-contact-phone-box strong { font-size: 13px; }
    .hs-contact-phone-note { font-size: 11px; }
    .hs-benefit-grid { grid-template-columns: 1fr; }
    .hs-diagram-app { flex: 1 1 100%; }
    .hs-photo-grid { grid-template-columns: 1fr; }
    .hs-photo-grid.cols-5 { grid-template-columns: 1fr; }
    .hs-photo-grid.cols-3 { grid-template-columns: 1fr; }
    .hs-photo-grid.cols-2 { grid-template-columns: 1fr; }
    .hs-hero-logo { max-width: 220px; }
}

/* 고객지원 - 담당자 연락처 테이블 */
.cs-directory-wrap { overflow-x: auto; border: 1px solid #dee2e9;  }
.cs-directory-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.cs-directory-table th { background: #069f7c; color: #fff; font-weight: 700; font-size: 15px; letter-spacing: -0.3px; padding: 14px 16px; text-align: left; white-space: nowrap; }
.cs-directory-table td { padding: 12px 16px; font-size: 14px; letter-spacing: -0.28px; color: #27272d; border-top: 1px solid #eef0f3; vertical-align: middle; white-space: nowrap; }
.cs-directory-table td.cs-cat { font-weight: 700; color: #007050; background: #f2faf7; }
.cs-directory-table tbody tr:hover td { background: #f2faf7; }
.cs-directory-table tbody tr:hover td.cs-cat { background: #e8f8f4; }
.cs-directory-table td a { color: #069f7c; text-decoration: none; font-weight: 600; }
.cs-directory-table td a:hover { text-decoration: underline; }

/* 젠시스 소개 (회사소개 > 젠시스 소개) */
.zi-page { display: flex; flex-direction: column; gap: 100px; }
.zi-overview { display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; }
.zi-overview .eyebrow { margin: 0; color: #606060; font-weight: 700; font-size: 20px; line-height: 1.1; }
.zi-overview .heading { margin: 0; color: #181924; font-weight: 800; font-size: 30px; line-height: 1.5; letter-spacing: -0.6px; }
.zi-overview .heading .accent { color: #069f7c; }

.zi-service-card { position: relative; height: 470px; border-radius: 20px; overflow: hidden; background: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), url('../images/company/zs-intro-service-overlay2.png') center/cover no-repeat; box-sizing: border-box; }
.zi-service-inner { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 40px; padding: 40px 100px; box-sizing: border-box; }
.zi-service-desc { margin: 0; color: #fff; font-weight: 600; font-size: 24px; line-height: 1.4; letter-spacing: -0.48px; }
.zi-service-grid { display: flex; gap: 16px; width: 100%; }
.zi-service-item { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; padding: 16px; box-sizing: border-box; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); box-shadow: 0 10px 24px rgba(0,0,0,.2); }
.zi-service-item .icon { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.zi-service-item .icon img { width: 22px; height: 22px; }
.zi-service-item .icon.bg-a { background: #edf8e8; }
.zi-service-item .icon.bg-b { background: #eaf5fb; }
.zi-service-item h4 { margin: 0; color: #fff; font-weight: 700; font-size: 18px; letter-spacing: -0.36px; }
.zi-service-item p { margin: 0; color: #fff; font-weight: 400; font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; }

.zi-ceo-body { display: flex; gap: 71px; align-items: flex-start; }
.zi-ceo-photo { position: relative; flex: 0 0 450px; width: 450px; height: 590px; border-radius: 20px; overflow: hidden; box-sizing: border-box; }
.zi-ceo-photo img { width: 100%; height: 100%; object-fit: cover; }
.zi-ceo-photo::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.2); }
.zi-ceo-photo .caption { position: absolute; left: 40px; right: 152px; top: calc(50% + 187px); transform: translateY(-50%); margin: 0; color: #fff; font-weight: 700; font-size: 24px; line-height: 1.4; letter-spacing: -0.48px; }
.zi-ceo-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding: 20px 0; box-sizing: border-box; }
.zi-ceo-text .greet-hi { margin: 0; color: #181924; font-weight: 800; font-size: 24px; }
.zi-ceo-text .greet-body { margin: 0; color: #606060; font-weight: 400; font-size: 18px; line-height: 1.6; }
.zi-ceo-text .greet-body p { margin: 0 0 1em; }
.zi-ceo-text .greet-body p:last-child { margin-bottom: 0; }
.zi-ceo-text .greet-thanks { margin: 0; color: #606060; font-weight: 400; font-size: 18px; }
.zi-ceo-text .signature { margin: 8px 0 0; color: #606060; font-weight: 700; font-size: 20px; letter-spacing: -0.4px; line-height: 1.1; }

@media (max-width: 900px) {
    .zi-page { gap: 60px; }
    .zi-overview .heading { font-size: 24px; }
    .zi-service-card { height: auto; }
    .zi-service-inner { position: static; padding: 32px 24px; }
    .zi-service-desc { font-size: 18px; }
    .zi-service-grid { flex-direction: column; }
    .zi-ceo-body { flex-direction: column; align-items: center; gap: 32px; }
    .zi-ceo-photo { width: 100%; max-width: 450px; height: 420px; flex-basis: auto; }
    .zi-ceo-photo .caption { left: 24px; right: 24px; top: auto; bottom: 24px; transform: none; font-size: 20px; }
}

@media (max-width: 480px) {
    .zi-page { gap: 40px; }
    .zi-overview { gap: 10px; }
    .zi-overview .eyebrow { font-size: 16px; }
    .zi-overview .heading { font-size: 20px; }
    .zi-service-inner { padding: 24px 18px; gap: 24px; }
    .zi-service-desc { font-size: 16px; }
    .zi-service-item h4 { font-size: 16px; }
    .zi-service-item p { font-size: 13px; }
    .zi-service-item .icon { width: 34px; height: 34px; }
    .zi-service-item .icon img { width: 18px; height: 18px; }
    .zi-ceo-photo { height: 280px; }
    .zi-ceo-photo .caption { font-size: 17px; left: 16px; right: 16px; bottom: 16px; }
    .zi-ceo-text { gap: 14px; padding: 12px 0; }
    .zi-ceo-text .greet-hi { font-size: 20px; }
    .zi-ceo-text .greet-body { font-size: 15px; }
    .zi-ceo-text .greet-thanks { font-size: 15px; }
    .zi-ceo-text .signature { font-size: 17px; }
}

@media (max-width: 767px) {
    .cs-directory-table th, .cs-directory-table td { padding: 10px 12px; font-size: 13px; }
}

/* 회사연혁 */
.zh-overview { display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; margin-bottom: 80px; }
.zh-overview .eyebrow { margin: 0; color: #606060; font-weight: 700; font-size: 20px; line-height: 1.1; letter-spacing: -0.4px; }
.zh-overview .heading { margin: 0; color: #181924; font-weight: 800; font-size: 30px; line-height: 1.5; letter-spacing: -0.6px; }
.zh-overview .heading .accent { color: #069f7c; }

.zh-timeline-wrap { display: flex; gap: 84px; align-items: flex-start; }
.zh-timeline-photo { position: relative; flex: 0 0 428px; width: 428px; height: 744px; border-radius: 20px; overflow: hidden; box-sizing: border-box; }
.zh-timeline-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 74% center; }
.zh-timeline-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.75) 100%); }
.zh-timeline-photo .caption { position: absolute; left: 40px; right: 106px; bottom: 56px; margin: 0; color: #fff; font-weight: 800; font-size: 34px; line-height: 1.5; letter-spacing: -0.68px; }

.zh-timeline { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 30px; box-sizing: border-box; }
.zh-timeline::before { content: ''; position: absolute; left: 160px; top: 8px; bottom: 8px; width: 1px; background: #dee2e9; }
.zh-timeline-row { display: flex; gap: 71px; align-items: flex-start; }
.zh-timeline-year { flex: 0 0 167px; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; }
.zh-timeline-year .num { margin: 0; color: #002554; font-weight: 800; font-size: 34px; }
.zh-timeline-year .dot { width: 14px; height: 14px; border-radius: 50%; background: #069f7c; flex-shrink: 0; position: relative; z-index: 1; }
.zh-timeline-list { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.zh-timeline-list p { margin: 0; color: #606060; font-weight: 400; font-size: 20px; line-height: 1.3; }

@media (max-width: 900px) {
    .zh-overview { margin-bottom: 48px; }
    .zh-overview .heading { font-size: 22px; }
    .zh-timeline-wrap { flex-direction: column; gap: 32px; }
    .zh-timeline-photo { width: 100%; height: 320px; flex-basis: auto; }
    .zh-timeline-photo .caption { font-size: 24px; left: 24px; right: 24px; bottom: 24px; }
    .zh-timeline::before { left: 83px; }
    .zh-timeline-row { gap: 24px; }
    .zh-timeline-year { flex-basis: 90px; }
    .zh-timeline-year .num { font-size: 24px; }
    .zh-timeline-list p { font-size: 16px; }
}

@media (max-width: 480px) {
    .zh-overview { margin-bottom: 32px; gap: 10px; }
    .zh-overview .eyebrow { font-size: 16px; }
    .zh-overview .heading { font-size: 19px; }
    .zh-timeline-photo { height: 220px; }
    .zh-timeline-photo .caption { font-size: 18px; left: 16px; right: 16px; bottom: 16px; }
    .zh-timeline { gap: 20px; }
    .zh-timeline::before { left: 64px; }
    .zh-timeline-row { gap: 14px; }
    .zh-timeline-year { flex-basis: 70px; }
    .zh-timeline-year .num { font-size: 18px; }
    .zh-timeline-year .dot { width: 12px; height: 12px; }
    .zh-timeline-list p { font-size: 14px; }
}

/* 조직도 */
.zo-overview { display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; margin-bottom: 80px; }
.zo-overview .eyebrow { margin: 0; color: #606060; font-weight: 700; font-size: 20px; line-height: 1.1; letter-spacing: -0.4px; }
.zo-overview .heading { margin: 0; color: #181924; font-weight: 800; font-size: 30px; line-height: 1.5; letter-spacing: -0.6px; }
.zo-overview .heading .accent { color: #069f7c; }

.zo-wrap { width: 100%; max-width: 1397px; margin: 0 auto 100px; box-sizing: border-box; }
.zo-board-row { position: relative; display: flex; justify-content: center; padding-bottom: 78px; }
.zo-board-row::after { content: ''; position: absolute; left: 50%; top: 56px; bottom: 0; width: 1px; background: #c0c7d3; transform: translateX(-50%); }
.zo-board { position: relative; z-index: 1; background: #069f7c; color: #fff; font-weight: 700; font-size: 24px; padding: 15px 40px; border-radius: 50px; white-space: nowrap; }
.zo-quality { position: absolute; left: calc(50% + 129px); top: 72px; z-index: 1; background: #7a8493; color: #fff; font-weight: 700; font-size: 16px; padding: 12px 28px; border-radius: 50px; white-space: nowrap; }
.zo-quality::before { content: ''; position: absolute; right: 100%; top: 50%; width: 129px; height: 1px; background: #c0c7d3; }

.zo-depts { position: relative; display: flex; justify-content: space-between; padding-top: 40px; }
.zo-depts::before { content: ''; position: absolute; left: 120px; right: 120px; top: 0; height: 1px; background: #c0c7d3; }
.zo-dept { position: relative; width: 240px; display: flex; flex-direction: column; align-items: center; }
.zo-dept::before { content: ''; position: absolute; left: 50%; top: -40px; height: 40px; width: 1px; background: #c0c7d3; transform: translateX(-50%); }
.zo-dept-head { width: 100%; box-sizing: border-box; background: linear-gradient(90deg, #3691be, #069f7c); color: #fff; font-weight: 700; font-size: 20px; text-align: center; padding: 12px; border-radius: 50px; white-space: nowrap; }
.zo-team-list { width: 100%; display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.zo-team { background: #fff; border: 1px solid #dee2e9; border-radius: 10px; height: 50px; display: flex; align-items: center; justify-content: center; color: #27272d; font-weight: 700; font-size: 15px; text-align: center; padding: 0 10px; box-sizing: border-box; }

.zo-stats-tit { margin: 0 0 30px; padding-bottom: 10px; border-bottom: 1px solid #dee2e9; color: #181924; font-weight: 800; font-size: 30px; letter-spacing: -0.6px; }
.zo-stats-row { display: flex; gap: 25px; }
.zo-stats-card { flex: 1; min-width: 0; box-sizing: border-box; background: #fff; border: 1px solid #dee2e9; border-radius: 10px; padding: 30px; box-shadow: 0 4px 5px #eef1f4; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.zo-stats-card .tit { width: 100%; margin: 0; padding-bottom: 10px; border-bottom: 1px solid #dee2e9; color: #27272d; font-weight: 700; font-size: 18px; letter-spacing: -0.36px; }
.zo-chart-row { display: flex; align-items: center; justify-content: center; gap: 40px; width: 100%; }
.zo-pie { width: 180px; height: 180px; border-radius: 50%; flex-shrink: 0; }
.zo-legend { display: flex; flex-direction: column; gap: 15px; }
.zo-legend-item { display: flex; align-items: center; gap: 10px; }
.zo-legend-item .dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.zo-legend-item p { margin: 0; color: #606060; font-size: 15px; letter-spacing: -0.3px; white-space: nowrap; }

@media (max-width: 900px) {
    .zo-overview { margin-bottom: 48px; }
    .zo-overview .heading { font-size: 22px; }
    .zo-wrap { margin-bottom: 60px; }
    .zo-quality { display: none; }
    .zo-board-row { padding-bottom: 24px; }
    .zo-board-row::after { display: none; }
    .zo-depts { flex-wrap: wrap; gap: 24px 0; }
    .zo-depts::before { display: none; }
    .zo-dept { width: calc(50% - 12px); }
    .zo-dept::before { display: none; }
    .zo-dept-head { font-size: 16px; white-space: normal; }
    .zo-stats-row { flex-direction: column; }
    .zo-chart-row { flex-direction: column; gap: 20px; }
}

@media (max-width: 480px) {
    .zo-overview { margin-bottom: 32px; gap: 10px; }
    .zo-overview .eyebrow { font-size: 16px; }
    .zo-overview .heading { font-size: 18px; }
    .zo-wrap { margin-bottom: 40px; }
    .zo-board { font-size: 18px; padding: 12px 24px; }
    .zo-board-row { padding-bottom: 0px; }
    .zo-depts { gap: 16px 0; }
    .zo-dept { width: 100%; }
    .zo-dept-head { font-size: 14px; padding: 10px; }
    .zo-team { height: 42px; font-size: 13px; }
    .zo-stats-tit { font-size: 22px; margin-bottom: 20px; }
    .zo-stats-card { padding: 20px; gap: 12px; }
    .zo-stats-card .tit { font-size: 15px; }
    .zo-pie { width: 140px; height: 140px; }
    .zo-legend-item p { font-size: 13px; }
}

/* 파트너 (제휴사/고객사) */
.zp-tabs { display: flex; gap: 6px; margin-bottom: 50px; }
.zp-tab { display: flex; align-items: center; justify-content: center; height: 52px; width: 180px; box-sizing: border-box; padding: 15px 40px; font-weight: 700; font-size: 20px; text-align: center; text-decoration: none; }
.zp-tab.active { background: #0d655a; color: #fff; }
.zp-tab:not(.active) { background: #e9f0ef; color: #181924; }
.zp-tab:not(.active):hover { background: #dbe6e4; }

.zp-section-tit { margin: 0 0 30px; padding-bottom: 10px; border-bottom: 1px solid #dee2e9; color: #181924; font-weight: 800; font-size: 30px; letter-spacing: -0.6px; }
.zp-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.zp-logo-box { background: #fff; border: 1px solid #c0c7d3; border-radius: 10px; width: 335px; height: 120px; box-sizing: border-box; overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 20px; }
.zp-logo-box img { max-width: 80%; min-width: 0; min-height: 0; object-fit: contain; }
.zp-logo-box.zp-logo-combo { gap: 8px; }
.zp-logo-box.zp-logo-combo img { max-height: 70%; }

.zp-category { margin-bottom: 40px; }
.zp-category:last-child { margin-bottom: 0; }
.zp-category-tit { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; }
.zp-category-tit .dot { width: 9px; height: 9px; background: #08f; flex-shrink: 0; }
.zp-category-tit p { margin: 0; color: #181924; font-weight: 600; font-size: 24px; letter-spacing: -0.48px; }

@media (max-width: 900px) {
    .zp-tabs { margin-bottom: 32px; }
    .zp-tab { width: 50%; font-size: 16px; padding: 12px 10px; }
    .zp-section-tit { font-size: 22px; }
    .zp-logo-box { width: calc(50% - 10px); height: 90px; padding: 12px; }
    .zp-category-tit p { font-size: 18px; }
}
@media (max-width: 480px) {
    .zp-logo-box { width: 100%; }
}
