/* ========================================
   Sub Pages Styles
   ======================================== */

/* ========================================
   Sub Page Header Override (White Background, Black Text, Default Logo)
   ======================================== */

/* 서브 페이지 감지: .sub-wrap가 있는 경우 */
body:has(.sub-wrap) .site-header {
    background-color: #fff !important;
    color: #111 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

body:has(.sub-wrap) .site-header.is-solid {
    background-color: #fff !important;
    color: #111 !important;
}

/* 서브 페이지에서 헤더 로고는 항상 기본 로고 (컬러) */
body:has(.sub-wrap) .header__logo img {
    content: url('/html/image/comm/logo.svg');
}

/* 서브 페이지에서 헤더 메뉴 텍스트는 항상 검정 */
body:has(.sub-wrap) .nav__link {
    color: #111 !important;
}

body:has(.sub-wrap) .header__global-link {
    color: #111 !important;
}

body:has(.sub-wrap) .header__global-divider {
    color: #111 !important;
    opacity: 0.5;
}

body:has(.sub-wrap) .header__menu-toggle span {
    background-color: #111 !important;
}

/* :has() 미지원 브라우저 대비 (IE, 구형 Safari) */
.sub-wrap ~ .site-header,
.site-header:has(~ .sub-wrap) {
    background-color: #fff !important;
    color: #111 !important;
}

/* ========================================
   Privacy Policy Page
   ======================================== */

.sub-wrap.sub-privacy-policy .privacy-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 8rem 30px;
}

.sub-wrap.sub-privacy-policy .privacy-intro {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #ddd;
}

.sub-wrap.sub-privacy-policy .privacy-intro__title {
    font-size: clamp(22px, 5vw, 56px);
    font-weight: 700;
    color: var(--c-gray-900);
    margin: 0 0 20px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-privacy-policy .privacy-intro__desc {
    font-size: clamp(16px, 2vw, 17px);
    font-weight: 600;
    color: var(--c-primary);
    margin: 0 0 20px;
    line-height: 1.6;
}

.sub-wrap.sub-privacy-policy .privacy-intro__text {
    font-size: clamp(15px, 1.8vw, 15px);
    color: var(--c-gray-700);
    margin: 0 0 16px;
    line-height: 1.6;
}

.sub-wrap.sub-privacy-policy .privacy-intro__notice {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-gray-800);
    margin: 20px 0 12px;
    line-height: 1.6;
}

.sub-wrap.sub-privacy-policy .privacy-publish-date {
    font-size: 14px;
    color: var(--c-gray-500);
    margin: 0;
    font-weight: 500;
}

/* Accordion Styles */
.sub-wrap.sub-privacy-policy .privacy-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sub-wrap.sub-privacy-policy .accordion-item {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.sub-wrap.sub-privacy-policy .accordion-item:hover {
    border-color: var(--c-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.sub-wrap.sub-privacy-policy .accordion-header {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 20px 24px;
    background: #fff;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s ease;
    position: relative;
}

.sub-wrap.sub-privacy-policy .accordion-header:hover {
    background: var(--c-gray-50);
}

.sub-wrap.sub-privacy-policy .accordion-header[aria-expanded="true"] {
    background: #fff;
}
.sub-wrap.sub-privacy-policy .accordion-item:has(.accordion-header[aria-expanded="true"]){
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.sub-wrap.sub-privacy-policy .accordion-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    background: var(--c-primary);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 6px;
    letter-spacing: 0.02em;
}

.sub-wrap.sub-privacy-policy .accordion-title {
    flex: 1;
    font-size: 18px;
    font-weight: 600;
    color: var(--c-gray-900);
    line-height: 1.4;
}

.sub-wrap.sub-privacy-policy .accordion-icon {
    width: 24px;
    height: 24px;
    position: relative;
    transition: transform 0.3s ease;
}

.sub-wrap.sub-privacy-policy .accordion-icon::before,
.sub-wrap.sub-privacy-policy .accordion-icon::after {
    content: '';
    position: absolute;
    background: var(--c-gray-600);
    transition: all 0.3s ease;
}

.sub-wrap.sub-privacy-policy .accordion-icon::before {
    width: 16px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sub-wrap.sub-privacy-policy .accordion-icon::after {
    width: 2px;
    height: 16px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sub-wrap.sub-privacy-policy .accordion-header[aria-expanded="true"] .accordion-icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
}

.sub-wrap.sub-privacy-policy .accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.sub-wrap.sub-privacy-policy .accordion-panel.is-open {
    max-height: 3000px;
}

.sub-wrap.sub-privacy-policy .accordion-content {
    padding: 0 24px 28px;
    color: var(--c-gray-700);
    line-height: 1.6;
}

.sub-wrap.sub-privacy-policy .accordion-content p {
    margin: 0 0 16px;
    font-size: 15px;
}

.sub-wrap.sub-privacy-policy .accordion-content p:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-privacy-policy .accordion-content ol {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    counter-reset: item;
}

.sub-wrap.sub-privacy-policy .accordion-content ol li {
    position: relative;
    padding-left: 0;
    margin-bottom: 16px;
    counter-increment: item;
}

.sub-wrap.sub-privacy-policy .accordion-content ol li::before {
    content: counter(item) ". ";
    color: var(--c-gray-900);
    font-weight: 600;
}

.sub-wrap.sub-privacy-policy .accordion-content h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-gray-900);
    margin: 24px 0 12px;
}

.sub-wrap.sub-privacy-policy .accordion-content h4:first-child {
    margin-top: 0;
}

.sub-wrap.sub-privacy-policy .accordion-content ul {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

.sub-wrap.sub-privacy-policy .accordion-content ul:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-privacy-policy .accordion-content ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.7;
}

.sub-wrap.sub-privacy-policy .accordion-content ul li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--c-primary);
    font-weight: 700;
}

.sub-wrap.sub-privacy-policy .accordion-content ul li:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-privacy-policy .accordion-content strong {
    color: var(--c-gray-900);
    font-weight: 600;
}

/* Privacy Table */
.sub-wrap.sub-privacy-policy .privacy-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 15px;
}

.sub-wrap.sub-privacy-policy .privacy-table thead {
    background: var(--c-gray-100);
}

.sub-wrap.sub-privacy-policy .privacy-table th,
.sub-wrap.sub-privacy-policy .privacy-table td {
    padding: 12px 16px;
    border: 1px solid #ddd;
    text-align: left;
}

.sub-wrap.sub-privacy-policy .privacy-table th {
    font-weight: 600;
    color: var(--c-gray-900);
}

.sub-wrap.sub-privacy-policy .privacy-table td {
    color: var(--c-gray-700);
}

.sub-wrap.sub-privacy-policy .privacy-notice-text {
    font-size: 14px;
    color: var(--c-gray-600);
    font-style: italic;
    margin-top: 12px;
}

.sub-wrap.sub-privacy-policy .manager-info-box {
    background: var(--c-gray-50);
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 16px;
}

.sub-wrap.sub-privacy-policy .manager-info-box:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-privacy-policy .manager-info {
    padding-left: 0 !important;
    margin: 12px 0 0 !important;
}

.sub-wrap.sub-privacy-policy .manager-info li {
    padding-left: 0 !important;
    margin-bottom: 6px !important;
}

.sub-wrap.sub-privacy-policy .manager-info li::before {
    display: none !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .sub-wrap.sub-privacy-policy .privacy-intro {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .sub-wrap.sub-privacy-policy .privacy-wrap {
        padding: 0 15px;
    }

    .sub-wrap.sub-privacy-policy .privacy-header {
        margin-bottom: 32px;
        padding-bottom: 20px;
    }

    .sub-wrap.sub-privacy-policy .privacy-notice {
        font-size: 15px;
    }

    .sub-wrap.sub-privacy-policy .privacy-publish-date {
        font-size: 13px;
    }

    .sub-wrap.sub-privacy-policy .accordion-header {
        padding: 15px;
        gap: 10px;
    }

    .sub-wrap.sub-privacy-policy .accordion-number {
        min-width: 28px;
        height: 28px;
        font-size: 12px;
        padding:0;
    }
    .sub-wrap.sub-privacy-policy .privacy-accordion {
        gap: 6px;
    }
    .sub-wrap.sub-privacy-policy .accordion-title {
        font-size: 15px;
    }

    .sub-wrap.sub-privacy-policy .accordion-content {
        padding: 0 16px 20px;
    }

    .sub-wrap.sub-privacy-policy .accordion-content p,
    .sub-wrap.sub-privacy-policy .accordion-content ul li,
    .sub-wrap.sub-privacy-policy .accordion-content ol li {
        font-size: 14px;
    }
    .sub-wrap.sub-privacy-policy .accordion-content ul li {
        padding-left: 15px;
    }

    .sub-wrap.sub-privacy-policy .accordion-content h4 {
        font-size: 15px;
        margin: 20px 0 10px;
    }

    .sub-wrap.sub-privacy-policy .privacy-table {
        font-size: 13px;
    }

    .sub-wrap.sub-privacy-policy .privacy-table th,
    .sub-wrap.sub-privacy-policy .privacy-table td {
        padding: 10px 12px;
    }
}

/* Sub Hero Section - Scroll-based expansion with pin */
.sub-hero {
    position: relative;
    width: 100%;
    height: clamp(100vh, 100vh, 100vh);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    will-change: height;
    margin-top:80px;
}
.sub-hero__content {
    position:absolute;
    width:80%;
    height:clamp(50vh, 50vh, 50vh);
    left:50%;
    transform:translateX(-50%);
    bottom:0;
    z-index:12;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    transition: all 1s ease;
    background-attachment: fixed;
}
.sub-hero__content:before {
    content: '';
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0, 0, 0, 0.2);
    z-index:-1;
}
.sub-hero__content.active {
    width:100%;
    height:100%;
}
.sub-hero__content h1 {
    font-size: clamp(16px, 4vw, 56px);
    line-height: 1.4;
    word-break: keep-all;
}
.sub-hero__content p {
    font-size: clamp(16px, 3vw, 24px);
    line-height: 1.5;
}
.sub-hero__content h1,
.sub-hero__content p {
    transition: all 1.5s ease-in-out 0.5s;
    opacity: 0;
    transform: translateY(80px);
}

/* Tablet/Mobile: 트리거 비활성화, 안정적인 레이아웃 */
@media (max-width: 1024px) {
    .sub-hero {
        position: relative;
        height: auto;
        margin-top: 80px;
    }
    
    .sub-hero__content {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 40vh;
        left: auto;
        transform: none;
        bottom: auto;
        padding: 4rem 15px;
        opacity: 1;
        transition: none;
    }
    
    .sub-hero__content.active {
        width: 100%;
        height: auto;
    }
    
    /* 텍스트 항상 보이게 */
    .sub-hero__content h1,
    .sub-hero__content p {
        opacity: 1;
        transform: none;
        transition:none;
    }
}
.sub-hero__content.active h1,
.sub-hero__content.active p {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width:749px) {
    .sub-hero__content {
        min-height: 20vh;
    }
    .sub-hero__content h1 br,
    .sub-hero__content p br {
        display: none;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .sub-hero {
        transition: none !important;
    }
}

/* Sub Navigation - Breadcrumb + Title */
.sub-nav {
    position: relative;
    z-index: 10;
    background: #fff;
    width: 100%;
}

/* Breadcrumb + Title Section */
.sub-nav__content {
    background: #fff;
    padding: 150px 0;
}

.sub-nav__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 30px;
    text-align: center;
}

.sub-nav__breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #6B7280;
    font-weight: 500;
}

.sub-nav__home-icon {
    display: inline-flex;
    align-items: center;
    color: #6B7280;
}

.sub-nav__home-icon svg {
    width: 16px;
    height: 16px;
}

.sub-nav__separator {
    color: #9CA3AF;
    margin: 0 4px;
}

.sub-nav__depth1-label,
.sub-nav__depth2-label {
    color: #111827;
    font-weight: 500;
}

.sub-nav__title {
    font-size: clamp(40px, 5vw, 60px);
    font-weight: 800;
    margin: 0;
    line-height: 1.2;
    color: #111827;
}

/* Hide old dropdown/toggle styles */
.sub-nav__home,
.sub-nav__item,
.sub-nav__toggle,
.sub-nav__dropdown {
    display: none !important;
}


/* Sub Wrapper - Common Layout */
.sub-wrap {
    margin: 0 auto;
    width: 100%;
}

/* Sub Content Area */
.sub-content {
    background: #fff;
    width: 100%;
    position: relative;
}

/* Full Width Utility */
.sub-content.is-full {
    max-width: 100%;
    border-radius: 0;
}

.sub-content__header {
    margin-bottom: 48px;
    padding-bottom: 32px;
    border-bottom: 2px solid #E5E7EB;
}

.sub-content__subtitle {
    font-size: 14px;
    font-weight: 600;
    color: var(--c-primary);
    margin: 0 0 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sub-content__title {
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 800;
    color: #111827;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.sub-content__summary {
    font-size: 16px;
    color: #6B7280;
    line-height: 1.7;
    margin: 0;
}

/* ========================================
   Page Specific Styles
   ======================================== */

/* CEO Greeting Page - ceo-wrap Section (이미지 레퍼런스 기반 레이아웃) */
.sub-wrap.sub-ceo-greeting .ceo-wrap {
    position: relative;
    background: #fff;
    padding: 8rem 0;
    overflow: hidden;
    z-index: 1;
    height:50vh;
    min-height: 600px;
}

/* 상단 메인카피 */
.sub-wrap.sub-ceo-greeting .ceo-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height:100%;
    text-align: center;
}
.sub-wrap.sub-ceo-greeting .ceo-hero-copy h2 {
    font-size: clamp(20px, 4vw, 56px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -.015em;
    margin: 0;
    word-break: keep-all;
    position: relative;
}

.ceo-hero-copy__text {
    position: relative;
    display: inline-block;
}

.ceo-hero-copy__base,
.ceo-hero-copy__fill {
    display: block;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    word-break: inherit;
}

.ceo-hero-copy__base {
    color: rgba(25, 25, 25, 0.2);
}

.ceo-hero-copy__fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #191919;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 3s cubic-bezier(0.65, 0, 0.35, 1);
}

.ceo-hero-copy.is-fill-active .ceo-hero-copy__fill {
    clip-path: inset(0 0% 0 0);
}

/* Tablet/Mobile: 효과 비활성화, 최종 상태로 표시 */
@media (max-width: 1024px) {
    .ceo-hero-copy__base {
        display: none;
    }
    
    .ceo-hero-copy__fill {
        position: relative;
        clip-path: none;
        color: #191919;
    }
}
/* 워터마크 */
.sub-wrap.sub-ceo-greeting .ceo-watermark {
    position: absolute;
    font-family: 'Poppins', 'Pretendard', sans-serif;
    font-size: clamp(60px, 11vw, 60vw);
    font-weight: bold;
    color: #ddd;
    letter-spacing: -.05em;
    opacity: 0.19;
    z-index: 0;
    text-align: center;
    line-height: .92;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    left:50%;
    top:50%;
    transform:translate(-50%, -25%);
}
.sub-wrap.sub-ceo-greeting .ceo-watermark br {
    display: none;
}

/* 2컬럼 그리드 */
.sub-wrap.sub-ceo-greeting .ceo-grid {
    position: relative;
    display: flex;
    gap: 10rem;
    z-index: 1;
    margin: 0 auto 16rem;
    align-items: flex-start;
    width:100%;
    max-width:1640px;
    padding:0 30px;
}
.sub-wrap.sub-ceo-greeting .ceo-grid > div {
    flex:1;
}
.sub-wrap.sub-ceo-greeting .ceo-col {
    display: flex;
    gap:clamp(20px, 4vw, 40px);
}
.sub-wrap.sub-ceo-greeting .ceo-col--text {
    min-width: 0;
}
.sub-wrap.sub-ceo-greeting .ceo-col--photo {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    height:100%;
}
.sub-wrap.sub-ceo-greeting .ceo-photo-box {
    width: 100%;
    aspect-ratio: 5/5;
    overflow: hidden;
    background: linear-gradient(135deg, #e5e7eb 0%, #f8fafc 100%);
}

/* 텍스트 영역 */
.sub-wrap.sub-ceo-greeting .ceo-title {
    font-size: clamp(18px, 3.2vw, 40px);
    font-weight: 700;
    margin-bottom: 80px;
    color: #0f151c;
    letter-spacing: -.01em;
    word-break: keep-all;
    line-height: 1.4;
    flex:1;
}
.sub-wrap.sub-ceo-greeting .text-row {
    display: flex;
    flex-direction: column;
    flex:1;
}
.sub-wrap.sub-ceo-greeting .ceo-sub-title {
    font-size: clamp(16px, 2.8vw, 28px);
    color: #0f151c;
    font-weight: 700;
    margin-bottom: 30px;
    letter-spacing: -.004em;
    word-break: keep-all;
    line-height: 1.3;
}
.sub-wrap.sub-ceo-greeting .ceo-content {
    font-size: clamp(16px, 2.2vw, 20px);
    color: #28323c;
    line-height: 1.85;
    margin-bottom: 50px;
    letter-spacing: -.004em;
    word-break: keep-all;
}
.sub-wrap.sub-ceo-greeting .ceo-content p {
    margin: 0 0 24px 0;
}
.sub-wrap.sub-ceo-greeting .ceo-content p:last-child {
    margin-bottom: 0;
}
.sub-wrap.sub-ceo-greeting .emphasis {
    font-weight: 700;
    color: var(--c-primary);
}

/* 서명 영역 */
.sub-wrap.sub-ceo-greeting .ceo-signature {
    display: flex;
    align-items: center;
    gap:10px;
    margin-top: 24px;
    text-align: left;
}
.sub-wrap.sub-ceo-greeting .ceo-sign-line {
    font-size: clamp(16px, 2.2vw, 18px);
    color: #374151;
    font-weight: 500;
}
.sub-wrap.sub-ceo-greeting .ceo-sign-name {
    font-size: clamp(18px, 2.8vw, 28px);
    color: #151826;
    font-weight: 700;
}
.sub-wrap.sub-ceo-greeting .sign-script {
    font-family: 'Pretendard', 'Poppins', sans-serif;
    font-weight: 700;
    letter-spacing: 0.03em;
}

/* 반응형 */
@media (max-width: 1023px) {
    .sub-wrap.sub-ceo-greeting .ceo-wrap {
        padding: 12rem 15px;
        height:auto;
        min-height: auto;
    }
    .sub-wrap.sub-ceo-greeting .ceo-grid {
        flex-direction: column;
        gap: 4rem;
        margin:4rem auto;
    }
    .sub-wrap.sub-ceo-greeting .ceo-grid > div {
        flex:auto;
    }
    .sub-wrap.sub-ceo-greeting .ceo-col--photo {
        height:360px;
        width:100%;
    }
    .sub-wrap.sub-ceo-greeting .ceo-col--text { padding-left: 0; }
}
@media (max-width:749px) {
    .sub-wrap.sub-ceo-greeting .ceo-wrap {
        padding: 0 15px 2rem;
    }
    .sub-wrap.sub-ceo-greeting .ceo-hero-copy { margin-bottom: 24px; }
    .sub-wrap.sub-ceo-greeting .ceo-hero-copy h2 { font-size: 18px; }
    .sub-wrap.sub-ceo-greeting .ceo-hero-copy h2 br {
        display: none;
    }
    .sub-wrap.sub-ceo-greeting .ceo-watermark { font-size: 12vw;}
    .sub-wrap.sub-ceo-greeting .ceo-watermark br {
        display: block;
    }
    .sub-wrap.sub-ceo-greeting .ceo-grid { grid-template-columns: 1fr; gap: 24px; padding:0 15px; margin:4rem auto 2rem;}
    .sub-wrap.sub-ceo-greeting .ceo-col {
        flex-direction: column;
    }
    .sub-wrap.sub-ceo-greeting .ceo-col--photo { justify-content: center; align-items: center; height:200px;}
    .sub-wrap.sub-ceo-greeting .ceo-title { margin-bottom: 20px; line-height: 1.4; }
    .sub-wrap.sub-ceo-greeting .ceo-content { font-size: 15px; margin-bottom: 10px; line-height: 1.4; }
    .sub-wrap.sub-ceo-greeting .ceo-sign-name { font-size: 16px; }
    .sub-wrap.sub-ceo-greeting .ceo-signature { padding-top: 20px; }
}
/* 기존 안내 유지용 */
.sub-wrap.sub-ceo-greeting .ceo_wrap, .sub-wrap.sub-ceo-greeting .ceo_wrap__visual, .sub-wrap.sub-ceo-greeting .ceo_wrap__image, .sub-wrap.sub-ceo-greeting .ceo_wrap__content,.sub-wrap.sub-ceo-greeting .ceo_wrap__header,.sub-wrap.sub-ceo-greeting .ceo_wrap__label,.sub-wrap.sub-ceo-greeting .ceo_wrap__title,.sub-wrap.sub-ceo-greeting .ceo_wrap__body,.sub-wrap.sub-ceo-greeting .ceo_wrap__intro,.sub-wrap.sub-ceo-greeting .ceo_wrap__text,.sub-wrap.sub-ceo-greeting .ceo_wrap__signature,.sub-wrap.sub-ceo-greeting .ceo_wrap__position,.sub-wrap.sub-ceo-greeting .ceo_wrap__name { display:none !important; }

.sub-wrap.sub-ceo-greeting .ceo_wrap__visual {
    position: relative;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__image {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #f8f9fa;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__image img,
.sub-wrap.sub-ceo-greeting .ceo_wrap__image svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__content {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 20px;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__header {
    margin-bottom: 48px;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__label {
    font-size: 14px;
    font-weight: 700;
    color: #666;
    letter-spacing: 0.1em;
    margin: 0 0 20px 0;
    text-transform: uppercase;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__title {
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700;
    color: #111;
    line-height: 1.4;
    margin: 0;
    letter-spacing: -0.02em;
    word-break: keep-all;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 60px;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__intro {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    line-height: 1.8;
    margin: 0 0 32px 0;
    word-break: keep-all;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__text {
    font-size: 16px;
    color: #555;
    line-height: 1.9;
    margin: 0 0 24px 0;
    word-break: keep-all;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__text:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__signature {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    padding-top: 40px;
    border-top: 1px solid #e0e0e0;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__position {
    font-size: 15px;
    font-weight: 500;
    color: #666;
    margin: 0;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__name {
    font-size: 20px;
    font-weight: 400;
    color: #111;
    margin: 0;
}

.sub-wrap.sub-ceo-greeting .ceo_wrap__name strong {
    font-weight: 700;
    margin-left: 4px;
}

/* ========================================
   Responsive Styles
   ======================================== */

@media (max-width: 1023px) {
    .sub-nav__content {
        padding: 120px 0 120px;
    }
}
@media (max-width: 767px) {
    .sub-nav__content {
        padding: 40px 0;
    }
    
    .sub-nav__inner {
        padding: 0 15px;
    }
    
    .sub-nav__breadcrumb {
        font-size: 13px;
        margin-bottom: 10px;
        gap:4px;
    }
    
    .sub-nav__title {
        font-size: clamp(24px, 4vw, 40px);
    }
    
    .sub-content {
        padding: 60px 0;
    }
    
    .sub-content__header {
        margin-bottom: 32px;
        padding-bottom: 24px;
    }
    
    /* CEO Greeting Mobile */
    .sub-wrap.sub-ceo-greeting .ceo_wrap {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__image {
        max-width: 280px;
        margin: 0 auto;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__content {
        padding-top: 0;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__header {
        margin-bottom: 32px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__title {
        font-size: 24px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__intro {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__text {
        font-size: 15px;
        line-height: 1.8;
        margin-bottom: 20px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__body {
        margin-bottom: 40px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__signature {
        padding-top: 32px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__position {
        font-size: 14px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__name {
        font-size: 18px;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    /* CEO Greeting Tablet */
    .sub-wrap.sub-ceo-greeting .ceo_wrap {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__image {
        max-width: 320px;
        margin: 0 auto;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__content {
        padding-top: 0;
    }
    
    .sub-wrap.sub-ceo-greeting .ceo_wrap__title {
        font-size: 32px;
    }
}

/* ========================================
   Company Overview Page Styles
   ======================================== */

.sub-wrap.sub-company-overview .sub-content {
    margin: 0 auto;
    padding: 12rem 0;
}

/* Overview Intro - 공통 스타일 (company-overview, recruit-welfare 등에서 재사용) */
.sub-wrap .overview-intro {
    text-align: center;
    margin-bottom: 12rem;
}

.sub-wrap .overview-intro__title {
    font-size: clamp(20px, 5vw, 56px);
    font-weight: 700;
    color: #111827;
    margin: 0 0 24px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap .overview-intro__text {
    font-size: clamp(14px, 2.5vw, 20px);
    color: #333;
    line-height: 1.6;
    margin: 0;
    max-width: 900px;
    margin: 0 auto;
    word-break: keep-all;
}

.sub-wrap.sub-company-overview .overview-section-title {
    font-size: clamp(20px, 2.5vw, 32px);
    font-weight: 700;
    color: #111827;
    margin: 0 0 20px;
}

.sub-wrap.sub-company-overview .overview-info {
    margin-bottom: 8rem;
    background: #F9f9f9;
    padding: 8rem 0;
}
.sub-wrap.sub-company-overview .overview-info .overview-info__container {
    position:relative;
    width:100%;
    max-width: 1640px;
    margin:0 auto;
    padding:0 30px;
}

/* 기업정보 2컬럼 레이아웃 */
.sub-wrap.sub-company-overview .company-info__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: start;
}

.sub-wrap.sub-company-overview .company-info__left {
    position: relative;
}

.sub-wrap.sub-company-overview .company-info__headline {
    font-size: clamp(22px, 2.5vw, 40px);
    font-weight: 800;
    color: #111827;
    line-height: 1.4;
    letter-spacing: -0.02em;
    margin: 0;
    word-break: keep-all;
}

.sub-wrap.sub-company-overview .company-info__right {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.sub-wrap.sub-company-overview .company-info__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sub-wrap.sub-company-overview .company-info__content p {
    font-size: clamp(14px, 2.5vw, 20px);
    color: #222;
    line-height: 1.8;
    margin: 0;
    word-break: keep-all;
}

.sub-wrap.sub-company-overview .company-info__details {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 24px;
    border-top: 1px solid #E5E7EB;
}

.sub-wrap.sub-company-overview .company-info__detail-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sub-wrap.sub-company-overview .company-info__detail-label {
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 700;
    color: var(--c-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sub-wrap.sub-company-overview .company-info__detail-value {
    font-size: clamp(14px, 2vw, 18px);
    color: #111827;
    line-height: 1.6;
}

.sub-wrap.sub-company-overview .overview-companyinfo {
    margin-bottom: 8rem;
}

.sub-wrap.sub-company-overview .overview-companyinfo__container {
    position: relative;
    width: 100%;
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 30px;
}
.sub-wrap.sub-company-overview .overview-companyinfo__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sub-wrap.sub-company-overview .overview-companyinfo__item {
    width:calc((100% - 10px*5)/6);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 30px 20px;
    border-radius: 8px;
    background:var(--c-primary);
    color: #fff;
}

.sub-wrap.sub-company-overview .overview-companyinfo__label {
    font-size: clamp(16px, 2vw, 18px);
    font-weight: 700;
    margin: 0;
    line-height: 1.6;
}

.sub-wrap.sub-company-overview .overview-companyinfo__value {
    font-size: clamp(14px, 2vw, 16px);
    font-weight: 400;
    margin: 0;
    line-height: 1.6;
}

.sub-wrap.sub-company-overview .overview-companyinfo__value a {
    color: #111827;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sub-wrap.sub-company-overview .overview-companyinfo__value a:hover {
    color: #374151;
    text-decoration: underline;
}

.sub-wrap.sub-company-overview .overview-quality {
    margin-bottom: 4rem;
}
.sub-wrap.sub-company-overview .overview-quality .overview-quality__container{
    position:relative;
    width:100%;
    max-width: 1640px;
    margin:0 auto;
    padding:0 30px;
}

/* 인증서 이미지 영역 */
.sub-wrap.sub-company-overview .certs {
    margin: 48px auto 56px;
    width: 100%;
}

.sub-wrap.sub-company-overview .certs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.sub-wrap.sub-company-overview .certs__item {
    position: relative;
    width:calc((100% - 10px*5)/6);
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #E5E7EB;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 120px;
}

.sub-wrap.sub-company-overview .certs__item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.sub-wrap.sub-company-overview .certs__item img {
    height:60%;
}
.sub-wrap.sub-company-overview .certs__item--inno img {
    height:40%;
}

.sub-wrap.sub-company-overview .overview-quality__content {
    margin: 0 auto;
    font-size: clamp(14px, 2.5vw, 18px);
    color: #222;
    line-height: 1.6;
}

.sub-wrap.sub-company-overview .overview-quality__content p {
    margin: 0 0 16px;
}

.sub-wrap.sub-company-overview .overview-quality__content p:last-child {
    margin-bottom: 0;
}

@media (min-width: 1024px) and (max-width: 1280px) {
    .sub-wrap.sub-company-overview .overview-companyinfo__item {
        width:calc((100% - 10px*2)/3);
    }
}
@media (max-width: 1023px) {
    /* 기업정보 태블릿 */
    .sub-wrap.sub-company-overview .overview-companyinfo__item {
        width:calc((100% - 10px*2)/3);
    }

    .sub-wrap.sub-company-overview .company-info__grid {
        gap: 40px;
    }

    .sub-wrap.sub-company-overview .company-info__headline {
        font-size: clamp(22px, 4vw, 28px);
    }

    /* 인증서 태블릿 */
    .sub-wrap.sub-company-overview .certs {
        margin: 40px auto 48px;
    }

    .sub-wrap.sub-company-overview .certs__item {
        width:calc((100% - 10px*3)/4);
        height: 100px;
    }
    .sub-wrap.sub-company-overview .certs__item img {
        height:50%;
    }
    .sub-wrap.sub-company-overview .certs__item--inno img {
        height:30%;
    }
}

@media (max-width: 767px) {
    .sub-wrap.sub-company-overview .sub-content {
        padding: 4rem 0 6rem;
    }
    .sub-wrap.sub-company-overview .overview-section-title {
        margin:0 0 1rem;
        text-align: left;
    }
    /* Overview Intro 반응형 - 공통 */
    .sub-wrap .overview-intro {
        margin-bottom: 4rem;
        padding:0 15px;
    }
    .sub-wrap .overview-intro__title { 
        margin-bottom:5px;
    }
    .sub-wrap .overview-intro__title br{
        display: none;
    }
    
    /* Company Overview 전용 반응형 */
    .sub-wrap.sub-company-overview .overview-info {
        padding:4rem 0;
    }
    .sub-wrap.sub-company-overview .overview-info .overview-info__container {
        position:relative;
        width:100%;
        max-width: 1280px;
        margin:0 auto;
        padding:0 15px;
    }
    .sub-wrap.sub-company-overview .overview-info {
        margin-bottom: 4rem;
    }
    .sub-wrap.sub-company-overview .overview-companyinfo {
        margin-bottom: 4rem;
    }
    .sub-wrap.sub-company-overview .overview-quality {
        margin-bottom: 0;
    }

    /* 기업정보 모바일 */
    .sub-wrap.sub-company-overview .overview-companyinfo__container {
        padding: 0 15px;
    }

    .sub-wrap.sub-company-overview .overview-companyinfo__list {
        flex-direction: column;
        gap: 5px;
    }

    .sub-wrap.sub-company-overview .overview-companyinfo__item {
        width:100%;
        padding: 20px 15px;
        gap:0;
    }

    .sub-wrap.sub-company-overview .overview-companyinfo__label {
        font-size: 13px;
    }

    .sub-wrap.sub-company-overview .overview-companyinfo__value {
        font-size: 14px;
    }
    .sub-wrap.sub-company-overview .company-info__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .sub-wrap.sub-company-overview .company-info__headline {
        font-size: 18px;
        line-height: 1.4;
    }

    .sub-wrap.sub-company-overview .company-info__headline br {
        display: none;
    }

    .sub-wrap.sub-company-overview .company-info__content {
        gap: 16px;
    }

    .sub-wrap.sub-company-overview .company-info__content p {
        line-height: 1.6;
    }

    .sub-wrap.sub-company-overview .company-info__details {
        gap: 12px;
        padding-top: 20px;
    }

    .sub-wrap.sub-company-overview .company-info__detail-value {
        font-size: 14px;
    }
    .sub-wrap.sub-company-overview .overview-quality .overview-quality__container{
        padding:0 15px;
    }

    /* 인증서 모바일 */
    .sub-wrap.sub-company-overview .certs {
        margin: 32px auto 40px;
    }

    .sub-wrap.sub-company-overview .certs__list {
        gap: 5px;
    }

    .sub-wrap.sub-company-overview .certs__item {
       width:calc((100% - 5px*2)/3);
       height: 80px;
    }
    .sub-wrap.sub-company-overview .certs__item img {
        height:50%;
    }
    .sub-wrap.sub-company-overview .certs__item--inno img {
        height:30%;
    }
}

/* ========================================
   Vision Values Page Styles
   ======================================== */

.sub-wrap.sub-vision-values .sub-content {
    margin: 0 auto;
    padding: 8rem 0;
}
.sub-wrap.sub-vision-values .vision-wrap {
    margin: 0 auto;
}
.sub-wrap.sub-vision-values .vision-section-title {
    font-size: clamp(20px, 2.5vw, 32px);
    font-weight: 700;
    color: #111827;
    margin: 0 0 30px;
    text-align: center;
}

.sub-wrap.sub-vision-values .vision-hero {
    text-align: center;
    margin-bottom: 80px;
}

.sub-wrap.sub-vision-values .vision-hero__title {
    font-size: clamp(22px, 5vw, 56px);
    font-weight: 800;
    color: #111827;
    margin: 0 0 24px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-vision-values .vision-hero__desc {
    font-size: clamp(15px, 2.5vw, 18px);
    color: #6B7280;
    line-height: 1.8;
    margin: 0;
    max-width: 900px;
    margin: 0 auto;
}

.sub-wrap.sub-vision-values .vision-statement {
    position: relative;
    padding:0 30px;
    box-sizing:border-box;
}
.sub-wrap.sub-vision-values .vision-statement .vision-statement__container {
    max-width: 1220px;
    margin:0 auto;
    position: relative;
    z-index: 1;
}
.sub-wrap.sub-vision-values .vision-statement:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 35%;
    background:#f9f9f9;
}

.sub-wrap.sub-vision-values .img-wrap {
    width: 100%;
    height: 400px;
    margin-top:60px;
    border-radius: 12px;
    overflow: hidden;
}

.sub-wrap.sub-vision-values .vision-statement__content {
    max-width: 900px;
    margin: 0 auto;
    font-size: clamp(15px, 2.5vw, 18px);
    color: #374151;
    line-height: 1.8;
    text-align: center;
}

.sub-wrap.sub-vision-values .vision-statement__content p {
    margin: 0;
}

.sub-wrap.sub-vision-values .vision-values {
    background:#f9f9f9;
    padding:8rem 30px;
}
.sub-wrap.sub-vision-values .vision-values .vision-values__container{
    max-width: 1220px;
    margin:0 auto;
}
.sub-wrap.sub-vision-values .vision-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.sub-wrap.sub-vision-values .vision-card {
    background: #fff;
    border: 1px solid rgba(255,255,255,0);
    border-radius: 12px;
    padding: 40px 60px;
    text-align: center;
    transition: all 0.3s ease;
}

.sub-wrap.sub-vision-values .vision-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
    border-color: var(--c-primary);
}

.sub-wrap.sub-vision-values .vision-card__icon {
    margin: 0 auto 24px;
    color: var(--c-primary);
}

.sub-wrap.sub-vision-values .vision-card__title {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px;
}

.sub-wrap.sub-vision-values .vision-card__desc {
    font-size: 14px;
    color: #6B7280;
    line-height: 1.7;
    margin: 0;
}

.sub-wrap.sub-vision-values .vision-principles {
    padding:8rem 30px 0;
}
.sub-wrap.sub-vision-values .vision-principles .vision-principles__container {
    max-width: 1220px;
    margin:0 auto;
}
.sub-wrap.sub-vision-values .vision-principles__list {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.sub-wrap.sub-vision-values .vision-principles__item {
    padding: 20px 32px;
    margin-bottom: 16px;
    background: #F9FAFB;
    border-left: 4px solid var(--c-primary);
    border-radius: 8px;
    font-size: 16px;
    color: #374151;
    line-height: 1.7;
}

.sub-wrap.sub-vision-values .vision-principles__item:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-vision-values .vision-principles__item strong {
    color: var(--c-primary);
    font-weight: 700;
}

@media (max-width: 1023px) {
    .sub-wrap.sub-vision-values .vision-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 767px) {
    .sub-wrap.sub-vision-values .sub-content {
        padding: 6rem 0;
    }
    .sub-wrap.sub-vision-values .vision-wrap {
        padding: 0;
    }
    .sub-wrap.sub-vision-values .vision-section-title {
        margin: 0 0 10px;
    }
    .sub-wrap.sub-vision-values .vision-values,
    .sub-wrap.sub-vision-values .vision-principles {
        padding:4rem 15px;
    }
    .sub-wrap.sub-vision-values .vision-hero,
    .sub-wrap.sub-vision-values .vision-statement {
        padding:0 15px;
    }
    .sub-wrap.sub-vision-values .vision-principles {
        padding:4rem 15px 0;
    }
    .sub-wrap.sub-vision-values .img-wrap {
        height: 240px;
        margin-top:30px;
    }
    .sub-wrap.sub-vision-values .vision-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .sub-wrap.sub-vision-values .vision-principles {
        margin-bottom: 0;
    }
    .sub-wrap.sub-vision-values .vision-principles__item {
        padding: 16px 20px;
        font-size: 15px;
    }
}

/* ========================================
   History Page Styles
   ======================================== */

.sub-wrap.sub-history .sub-content {
    padding: 0;
}
.sub-wrap.sub-history .sub-content .history-wrap {
    position:relative;
}

/* History Hero Section */
.sub-wrap.sub-history .history-hero {
    position: relative;
    padding: 12rem 30px 6rem;
    text-align: center;
    overflow: hidden;
    max-width: 1280px;
    margin:0 auto;
}

.sub-wrap.sub-history .history-hero__watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(40px, 12vw, 180px);
    font-weight: 900;
    color: rgba(0, 0, 0, 0.04);
    white-space: nowrap;
    pointer-events: none;
    letter-spacing: 0.05em;
    font-family: 'Poppins', sans-serif;
    z-index: 0;
}

.sub-wrap.sub-history .history-hero__content {
    position: relative;
    z-index: 1;
}

.sub-wrap.sub-history .history-hero__title {
    font-size: clamp(16px, 2vw, 28px);
    font-weight: 800;
    color: #111827;
    line-height: 1.4;
    letter-spacing: -0.02em;
    margin: 0;
    word-break: keep-all;
}

/* History List Section */
.sub-wrap.sub-history .history-list {
    padding: 4rem 0 8rem;
}

.sub-wrap.sub-history .history-list__container {
    margin: 0 auto;
}

.sub-wrap.sub-history .history-row {
    padding: 60px 0;
    border-bottom: 1px solid #E5E7EB;
}

.sub-wrap.sub-history .history-row:first-child {
    padding-top: 0;
}

.sub-wrap.sub-history .history-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sub-wrap.sub-history .history-row .flex-wrap {
    display:grid;
    grid-template-columns: 0.5fr 1fr 300px;
    max-width: 1640px;
    gap: 100px;
    position: relative;
    margin:0 auto;
    padding:0 30px;
}

.sub-wrap.sub-history .history-year {
    font-size: clamp(20px, 4vw, 40px);
    font-weight: 800;
    color: #111827;
    line-height: 1;
    font-family: 'Poppins', sans-serif;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-history .history-items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sub-wrap.sub-history .history-items li {
    font-size: clamp(14px, 2vw, 17px);
    color: #374151;
    line-height: 1.8;
    padding-left: 24px;
    position: relative;
}

.sub-wrap.sub-history .history-items li:before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--c-primary);
    font-weight: 700;
    font-size: 1.2em;
}

.sub-wrap.sub-history .history-row .image-wrap {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
}


/* Responsive */
@media (max-width: 1023px) {
    .sub-wrap.sub-history .history-row {
        gap: 40px;
    }
    .sub-wrap.sub-history .history-row .flex-wrap {
        position:relative;
        display:flex;
        flex-wrap:wrap;
        gap:40px;
    }
    .sub-wrap.sub-history .history-year {
        width:calc((100% / 2 ) - 40px);
    }
    
    .sub-wrap.sub-history .history-items {
        width:calc((100% / 2 ) - 40px);
    }
    .sub-wrap.sub-history .history-row .image-wrap {
        width:100%;
        height:240px;
    }
}

@media (max-width: 767px) {
    .sub-wrap.sub-history .history-hero__title {
        line-height: 1.3;
    }
    .sub-wrap.sub-history .history-hero__title > br {
        display: none;
    }
    .sub-wrap.sub-history .history-hero {
        padding: 6rem 15px 4rem;
    }

    .sub-wrap.sub-history .history-hero__watermark {
        font-size: clamp(48px, 10vw, 60px);
    }
    
    .sub-wrap.sub-history .history-list {
        padding: 2rem 0 4rem;
    }

    .sub-wrap.sub-history .history-row {
        padding: 40px 0;
    }
    .sub-wrap.sub-history .history-row .flex-wrap {
        flex-direction: column;
        flex-wrap:nowrap;
        gap: 20px;
        padding:0 15px;
    }
    .sub-wrap.sub-history .history-year {
        width:100%;
    }
    
    .sub-wrap.sub-history .history-items {
        width:100%;
    }
    .sub-wrap.sub-history .history-items {
        padding-top: 0;
        gap: 12px;
    }

    .sub-wrap.sub-history .history-items li {
        padding-left: 20px;
        line-height:1.4;
    }
    .sub-wrap.sub-history .history-row .image-wrap {
        height:auto;
        padding-bottom:50%;
    }
}
@media (max-width: 469px) {
    .sub-wrap.sub-history .history-hero {
        padding: 6rem 15px 2rem;
    }
    .sub-wrap.sub-history .history-items {
        padding-top: 0;
        gap: 10px;
    }
    .sub-wrap.sub-history .history-items li {
        padding-left: 15px;
    }
    .sub-wrap.sub-history .history-items li:before {
        font-size: 1em;
    }
}
/* ========================================
   Organization Page Styles
   ======================================== */

.sub-wrap.sub-organization .sub-content {
    margin: 0 auto;
    padding: 8rem 0;
}

/* 조직도 히어로 영역 (vision-values 타이틀 스타일 동일 적용) */
.sub-wrap.sub-organization .org-hero {
    text-align: center;
    margin-bottom: 80px;
}

.sub-wrap.sub-organization .org-hero__title {
    font-size: clamp(22px, 5vw, 56px);
    font-weight: 800;
    color: #111827;
    margin: 0 0 24px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-organization .org-hero__desc {
    font-size: clamp(15px, 2.5vw, 18px);
    color: #6B7280;
    line-height: 1.8;
    margin: 0;
    margin: 0 auto;
}

/* 조직도 컨테이너 */
.sub-wrap.sub-organization .org-chart__container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 30px;
}

/* CEO 레벨 (최상단 단일 박스) */
.sub-wrap.sub-organization .org-level--top {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.sub-wrap.sub-organization .org-box--ceo {
    background: var(--c-primary);
    border: none;
    border-radius: 16px;
    padding: 40px 60px;
    text-align: center;
    max-width: 480px;
}

.sub-wrap.sub-organization .org-box__title {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}

.sub-wrap.sub-organization .org-box__title-en {
    font-size: clamp(18px, 3vw, 22px);
    color: rgba(255, 255, 255, 0.75);
    margin: 0 0 16px;
    letter-spacing: -0.01em;
    font-weight: 700;
}

.sub-wrap.sub-organization .org-box__desc {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    line-height: 1.7;
}

/* 그룹 섹션 */
.sub-wrap.sub-organization .org-group {
    margin-bottom: 60px;
}

.sub-wrap.sub-organization .org-group:last-of-type {
    margin-bottom: 0;
}

.sub-wrap.sub-organization .org-group__title {
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700;
    color: #111827;
    text-align: center;
    margin: 0 0 32px;
    letter-spacing: -0.01em;
}

/* 그룹 그리드 */
.sub-wrap.sub-organization .org-group__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

/* 조직 카드 */
.sub-wrap.sub-organization .org-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 32px 28px;
    text-align: center;
}

.sub-wrap.sub-organization .org-card__name {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}

.sub-wrap.sub-organization .org-card__name-en {
    font-size: clamp(18px, 3vw, 22px);
    line-height: 1.2;
    color: var(--c-primary);
    margin: 0 0 16px;
    letter-spacing: -0.02em;
    font-weight: 800;
}

.sub-wrap.sub-organization .org-card__desc {
    font-size: 14px;
    color: #6B7280;
    line-height: 1.7;
    margin: 0;
}

/* 참고사항 영역 */
.sub-wrap.sub-organization .org-note {
    margin-top: 80px;
    text-align: center;
    padding-top: 40px;
    border-top: 1px solid #E5E7EB;
}

.sub-wrap.sub-organization .org-note__text {
    font-size: 14px;
    color: #9CA3AF;
    margin: 0;
}

/* 반응형: 태블릿 */
@media (max-width: 1024px) {
    .sub-wrap.sub-organization .org-group__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 반응형: 모바일 */
@media (max-width: 767px) {
    .sub-wrap.sub-organization .sub-content {
        padding: 6rem 0;
    }

    .sub-wrap.sub-organization .org-hero {
        margin-bottom: 60px;
        padding: 0 15px;
    }
    .sub-wrap.sub-organization .org-hero__title br {
        display: none;
    }
    .sub-wrap.sub-organization .org-chart__container {
        padding: 0 15px;
    }

    .sub-wrap.sub-organization .org-level--top {
        margin-bottom: 48px;
    }

    .sub-wrap.sub-organization .org-box--ceo {
        padding: 32px 28px;
    }

    .sub-wrap.sub-organization .org-box__title {
        font-size: 20px;
    }

    .sub-wrap.sub-organization .org-box__title-en {
        margin-bottom: 14px;
    }

    .sub-wrap.sub-organization .org-box__desc {
        font-size: 14px;
    }

    .sub-wrap.sub-organization .org-group {
        margin-bottom: 48px;
    }

    .sub-wrap.sub-organization .org-group__title {
        margin-bottom: 24px;
    }

    .sub-wrap.sub-organization .org-group__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .sub-wrap.sub-organization .org-card {
        padding: 24px 20px;
    }

    .sub-wrap.sub-organization .org-card__name {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .sub-wrap.sub-organization .org-card__name-en {
        margin-bottom: 14px;
    }

    .sub-wrap.sub-organization .org-card__desc {
        font-size: 13px;
    }

    .sub-wrap.sub-organization .org-note {
        margin-top: 60px;
        padding-top: 32px;
    }
}

/* ========================================
   Location Page Styles
   ======================================== */

/* ========================================
   Location Page Styles
   ======================================== */

.sub-wrap.sub-location .sub-content {
    padding: 0;
}

/* Contact Layout: Left Info + Right Map */
.sub-wrap.sub-location .contact-layout {
    position:relative;
    padding: 8rem 30px;
}
.sub-wrap.sub-location .contact-layout:before {
    content: 'GLENTEC';
    position: absolute;
    bottom: 0;
    left: 0;
    font-size:clamp(14vw, 10vw, 16vw);
    font-weight: 800;
    color: #f9f9f9;
    letter-spacing: -.5rem;
    line-height:1;
}
.sub-wrap.sub-location .contact-layout__container {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 580px 1fr;
    gap: clamp(40px, 6vw, 120px);
    align-items: start;
}

/* Left: Contact Info */
.sub-wrap.sub-location .contact-info {
    padding: 60px 0;
}

.sub-wrap.sub-location .contact-info__title {
    font-size: clamp(16px, 2vw, 28px);
    font-weight: 600;
    color: #111827;
    margin: 0 0 48px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-location .contact-info__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sub-wrap.sub-location .contact-info__item {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 24px;
    align-items: start;
}

.sub-wrap.sub-location .contact-info__label {
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 600;
    color: var(--c-primary);
    line-height: 1.6;
}

.sub-wrap.sub-location .contact-info__value {
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 500;
    color: #111827;
    line-height: 1.6;
}

/* Right: Map */
.sub-wrap.sub-location .contact-map {
    position: relative;
    width: 100%;
}

.sub-wrap.sub-location .contact-map__wrapper {
    width: 100%;
    height: 480px;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(135deg, #e8ecf1 0%, #f5f7fa 50%, #ebeef3 100%);
    border:1px solid #e5e7eb;
}
.sub-wrap.sub-location .contact-map__wrapper .root_daum_roughmap {
    width: 100%;
    height: 100%;
}
.sub-wrap.sub-location .contact-map__wrapper .root_daum_roughmap .wrap_map {
    height: 100% !important;
}
.sub-wrap.sub-location .contact-map__wrapper .root_daum_roughmap .map_border {
    border:0;
    display:none !important;
}
.sub-wrap.sub-location .contact-map__wrapper .root_daum_roughmap .wrap_controllers,
.sub-wrap.sub-location .contact-map__wrapper .root_daum_roughmap .cont {
    display:none !important;
}

.sub-wrap.sub-location .contact-map__wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Title Section (Same as vision-values) */
.sub-wrap.sub-location .location-title {
    padding: 8rem 30px;
    text-align: center;
}

.sub-wrap.sub-location .location-title__container {
    max-width: 900px;
    margin: 0 auto;
}

.sub-wrap.sub-location .location-title__main {
    font-size: clamp(22px, 5vw, 56px);
    font-weight: 800;
    color: #111827;
    margin: 0 0 24px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-location .location-title__desc {
    font-size: clamp(15px, 2.5vw, 18px);
    color: #6B7280;
    line-height: 1.8;
    margin: 0;
}

/* Map Section */
.sub-wrap.sub-location .location-map {
    position: relative;
    width: 100%;
}

.sub-wrap.sub-location .location-map__wrapper {
    position: relative;
}

.sub-wrap.sub-location .location-map__placeholder {
    width: 100%;
    height: 580px;
    background: linear-gradient(135deg, #e8ecf1 0%, #f5f7fa 50%, #ebeef3 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub-wrap.sub-location .location-map__placeholder iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.sub-wrap.sub-location .location-map__watermark {
    font-size: clamp(60px, 10vw, 140px);
    font-weight: 900;
    color: rgba(0, 0, 0, 0.02);
    letter-spacing: 0.1em;
    user-select: none;
    pointer-events: none;
}

/* Overlay Info Panel */
.sub-wrap.sub-location .location-info-panel {
    position: absolute;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 60px);
    max-width: 1680px;
    z-index: 10;
}

.sub-wrap.sub-location .location-info-panel__inner {
    background: var(--c-primary);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    border-radius: 16px;
    padding: 48px 60px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}

.sub-wrap.sub-location .location-info-panel__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.sub-wrap.sub-location .location-info-panel__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    color: #fff;
}

.sub-wrap.sub-location .location-info-panel__content {
    flex: 1;
}

.sub-wrap.sub-location .location-info-panel__label {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sub-wrap.sub-location .location-info-panel__value {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 1.6;
    margin: 0;
}

/* Transportation Guide Section */
.sub-wrap.sub-location .location-transit__container {
    max-width: 1640px;
    margin: 0 auto;
}

.sub-wrap.sub-location .location-transit__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sub-wrap.sub-location .location-transit__row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: clamp(40px, 6vw, 120px);
    padding: 60px 0;
    border-bottom: 1px solid #e5e7eb;
    align-items: start;
}

.sub-wrap.sub-location .location-transit__row:last-child {
    border-bottom: none;
}

.sub-wrap.sub-location .location-transit__title {
    font-size: clamp(16px, 1.8vw, 20px);
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.4;
}

.sub-wrap.sub-location .location-transit__desc {
    flex: 1;
}

.sub-wrap.sub-location .location-transit__line {
    font-size: clamp(15px, 1.8vw, 18px);
    color: #374151;
    line-height: 1.8;
    margin: 0 0 10px;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.sub-wrap.sub-location .location-transit__line:last-child {
    margin-bottom: 0;
}

.sub-wrap.sub-location .location-transit__badge {
    display: inline-block;
    padding: 4px 12px;
    background: #e8791d;
    color: #fff;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    margin-right: 8px;
}
.sub-wrap.sub-location .location-transit__badge.bg-blue {
    background: #0052a4;
}
.sub-wrap.sub-location .location-transit__text {
    font-size: clamp(15px, 1.8vw, 18px);
    color: #374151;
    line-height: 1.8;
    margin: 0;
    word-break: keep-all;
    overflow-wrap: anywhere;
}



@media (max-width: 1280px) {
    .sub-wrap.sub-location .contact-layout {
        padding: 6rem 30px;
    }
    .sub-wrap.sub-location .contact-layout__container {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    
    .sub-wrap.sub-location .contact-info {
        padding: 0;
    }
    
    .sub-wrap.sub-location .contact-map__wrapper {
        height: 420px;
    }
    
    .sub-wrap.sub-location .location-title {
        padding: 6rem 30px;
    }

    .sub-wrap.sub-location .location-map__placeholder {
        height: 480px;
    }

    .sub-wrap.sub-location .location-info-panel {
        width: calc(100% - 40px);
    }

    .sub-wrap.sub-location .location-info-panel__inner {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 36px 32px;
    }

    .sub-wrap.sub-location .location-transit__row {
        grid-template-columns: 220px 1fr;
        gap: 40px;
        padding: 48px 0;
    }
}

@media (max-width: 767px) {
    .sub-wrap.sub-location .contact-layout {
        padding: 4rem 15px;
    }
    .sub-wrap.sub-location .contact-layout:before {
        display:none;
    }
    .sub-wrap.sub-location .contact-layout__container {
        gap: 40px;
    }
    
    .sub-wrap.sub-location .contact-info__badge {
        font-size: 13px;
        padding: 6px 14px;
        margin-bottom: 24px;
    }
    
    .sub-wrap.sub-location .contact-info__title {
        margin: 0 0 32px;
    }
    .sub-wrap.sub-location .contact-info__title > br {
        display: none;
    }
    
    .sub-wrap.sub-location .contact-info__list {
        gap: 5px;
    }
    
    .sub-wrap.sub-location .contact-info__item {
        grid-template-columns: 60px 1fr;
        gap: 16px;
    }
    
    .sub-wrap.sub-location .contact-map__wrapper {
        height: 200px;
        border-radius: 12px;
    }
    
    .sub-wrap.sub-location .location-title {
        padding: 4rem 15px;
    }
    .sub-wrap.sub-location .location-title__main {
        margin: 0 0 10px;
    }
    .sub-wrap.sub-location .location-map__placeholder {
        height: 360px;
    }

    .sub-wrap.sub-location .location-info-panel {
        width: calc(100% - 32px);
    }

    .sub-wrap.sub-location .location-info-panel__inner {
        padding: 28px 24px;
        gap: 28px;
        border-radius: 12px;
    }

    .sub-wrap.sub-location .location-info-panel__item {
        gap: 16px;
    }

    .sub-wrap.sub-location .location-info-panel__icon {
        width: 40px;
        height: 40px;
    }

    .sub-wrap.sub-location .location-info-panel__icon svg {
        width: 20px;
        height: 20px;
    }

    .sub-wrap.sub-location .location-info-panel__label {
        font-size: 12px;
    }

    .sub-wrap.sub-location .location-info-panel__value {
        font-size: 14px;
    }

    .sub-wrap.sub-location .location-transit {
        padding: 0;
    }

    .sub-wrap.sub-location .location-transit__row {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 0;
    }

    .sub-wrap.sub-location .location-transit__title {
        margin-bottom: 4px;
    }

    .sub-wrap.sub-location .location-transit__line,
    .sub-wrap.sub-location .location-transit__text {
        font-size: clamp(14px, 3.5vw, 16px);
    }
}

/* ========================================
   Estimate Tech Page
   ======================================== */

.sub-wrap.sub-estimate-tech {
    background: #f8fafc;
}

.sub-wrap.sub-estimate-tech .estimate-tech {
    max-width: 1640px;
    margin: 0 auto;
    padding: 8rem 30px;
    position: relative;
    padding-bottom: 12rem;
}

.sub-wrap.sub-estimate-tech .estimate-tech__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: clamp(20px, 6vw, 160px);
    align-items: start;
}

/* Left Intro */
.sub-wrap.sub-estimate-tech .estimate-tech__intro {
    position: sticky;
    top: 120px;
    z-index: 1;
}

.sub-wrap.sub-estimate-tech .estimate-tech__headline {
    font-size: clamp(32px, 4vw, 44px);
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 32px;
    letter-spacing: -0.02em;
    color: #ddd;
}

.sub-wrap.sub-estimate-tech .estimate-tech__headline .headline-line {
    display: block;
    position: relative;
    overflow: hidden;
}

/* Text Fill Animation - Clip Path Approach */
@media (prefers-reduced-motion: no-preference) {
    .sub-wrap.sub-estimate-tech .estimate-tech__headline .headline-line::after {
        content: attr(data-text);
        position: absolute;
        left: 0;
        top: 0;
        color: #000;
        clip-path: inset(0 100% 0 0);
        animation: textFillReveal 3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech__headline .headline-line:nth-child(1)::after {
        animation-delay: 0.2s;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech__headline .headline-line:nth-child(2)::after {
        animation-delay: 0.6s;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech__headline .headline-line:nth-child(3)::after {
        animation-delay: 1s;
    }

    @keyframes textFillReveal {
        from {
            clip-path: inset(0 100% 0 0);
        }
        to {
            clip-path: inset(0 0 0 0);
        }
    }
}

.sub-wrap.sub-estimate-tech .estimate-tech__desc {
    font-size: 16px;
    line-height: 1.75;
    color: #222;
}

.sub-wrap.sub-estimate-tech .estimate-tech__desc p {
    margin: 0 0 16px;
}

.sub-wrap.sub-estimate-tech .estimate-tech__desc p:last-child {
    margin: 0;
}

/* Right Form Card */
.sub-wrap.sub-estimate-tech .estimate-tech__form {
    position: relative;
    z-index: 1;
}

.sub-wrap.sub-estimate-tech .estimate-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sub-wrap.sub-estimate-tech .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 20px;
}

.sub-wrap.sub-estimate-tech .form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sub-wrap.sub-estimate-tech .form-field--full {
    grid-column: 1 / -1;
}

.sub-wrap.sub-estimate-tech .form-field label {
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 4px;
}

.sub-wrap.sub-estimate-tech .form-field .required {
    color: #ef4444;
    font-size: 14px;
}

.sub-wrap.sub-estimate-tech .form-field input[type="text"],
.sub-wrap.sub-estimate-tech .form-field input[type="tel"],
.sub-wrap.sub-estimate-tech .form-field input[type="email"],
.sub-wrap.sub-estimate-tech .form-field select,
.sub-wrap.sub-estimate-tech .form-field textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 15px;
    font-family: 'Pretendard Variable', -apple-system, sans-serif;
    color: #0f172a;
    background: #ffffff;
    transition: all 0.2s ease;
}

.sub-wrap.sub-estimate-tech .form-field input.is-invalid,
.sub-wrap.sub-estimate-tech .form-field input.is-invalid:focus {
	border-color: #b53c3c;
	box-shadow: 0 0 0 1px #b53c3c;
}

.sub-wrap.sub-estimate-tech .form-field input:focus,
.sub-wrap.sub-estimate-tech .form-field select:focus,
.sub-wrap.sub-estimate-tech .form-field textarea:focus {
    outline: none;
    border-color: var(--c-primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.sub-wrap.sub-estimate-tech .form-field textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.6;
    resize:none;
}

.sub-wrap.sub-estimate-tech .form-field select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

.sub-wrap.sub-estimate-tech .form-hint {
    font-size: 13px;
    color: #64748b;
    margin-top: -4px;
}

.sub-wrap.sub-estimate-tech .form-agreements {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.sub-wrap.sub-estimate-tech .form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.sub-wrap.sub-estimate-tech .form-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    cursor: pointer;
    accent-color: var(--c-primary, #2563eb);
    flex-shrink: 0;
}

.sub-wrap.sub-estimate-tech .form-checkbox label {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    cursor: pointer;
    font-weight: 400;
}

.sub-wrap.sub-estimate-tech .agreement-link {
    color: var(--c-primary, #2563eb);
    text-decoration: underline;
    font-weight: 600;
}

.sub-wrap.sub-estimate-tech .agreement-note {
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
    margin: -4px 0 8px 30px;
}

.sub-wrap.sub-estimate-tech .estimate-form__submit {
    width: 100%;
    padding: 16px 32px;
    background: var(--c-primary, #2563eb);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
    margin-top: 8px;
}

.sub-wrap.sub-estimate-tech .estimate-form__submit:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}

.sub-wrap.sub-estimate-tech .estimate-form__submit:active {
    transform: translateY(0);
}

.sub-wrap.sub-estimate-tech .estimate-form__submit svg {
    transition: transform 0.3s ease;
}

.sub-wrap.sub-estimate-tech .estimate-form__submit:hover svg {
    transform: translateX(4px);
}

/* Watermark (PC only) */
.sub-wrap.sub-estimate-tech .estimate-tech-watermark {
    position: absolute;
    left: 0;
    bottom: 2rem;
    width: 100%;
    font-size: clamp(120px, 22vw, 22vw);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
    color: #f9f9f9;
    text-align: center;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    font-family: 'Poppins', sans-serif;
    display: block;
}

/* Tablet */
@media (max-width: 1280px) {
    .sub-wrap.sub-estimate-tech .estimate-tech {
        padding: 80px 20px;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech__grid {
        grid-template-columns: 1fr;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech__intro {
        position: static;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech-watermark {
        display: none;
    }
    
    .sub-wrap.sub-estimate-tech .form-field label {
        font-size: 16px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .sub-wrap.sub-estimate-tech .estimate-tech {
        padding: 0 15px;
    }
    .sub-wrap.sub-estimate-tech .estimate-tech__headline {
        font-size: 20px;
        margin: 0 0 15px;
    }

    .sub-wrap.sub-estimate-tech .estimate-tech__desc {
        font-size: 14px;
        line-height: 1.4;
    }

    .sub-wrap.sub-estimate-tech .form-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .sub-wrap.sub-estimate-tech .form-field label {
        font-size: 14px;
    }

    .sub-wrap.sub-estimate-tech .estimate-form__submit {
        padding: 14px 28px;
    }

    .sub-wrap.sub-estimate-tech .agreement-note {
        margin-left: 0;
    }
}

/* ========================================
   Business Area Page Styles
   ======================================== */

.sub-wrap.sub-business-area .business-wrap {
    max-width: 1640px;
    margin: 0 auto;
    padding: 8rem 30px;
}

/* 섹션 공통 */
.sub-wrap.sub-business-area .biz-section {
    position:relative;
    margin-bottom: 8rem;
}

.sub-wrap.sub-business-area .biz-section:first-of-type {
    margin-top: 0;
}

.sub-wrap.sub-business-area .biz-section:last-child {
    margin-bottom: 0;
}
.sub-wrap.sub-business-area .biz-section#panel{
    padding:8rem 0;
    background:#f9f9f9;
}
.sub-wrap.sub-business-area .biz-section#panel::before{
    content:'';
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:200%;
    height:100%;
    background:#f9f9f9;
}

.sub-wrap.sub-business-area .biz-section__container {
    max-width: 1640px;
    margin: 0 auto;
}

.sub-wrap.sub-business-area .biz-section__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 60px);
    align-items: start;
}

.sub-wrap.sub-business-area .biz-section__left {
    position: sticky;
    top: 120px;
}

.sub-wrap.sub-business-area .biz-section__title {
    font-size: clamp(20px, 3vw, 40px);
    font-weight: 800;
    color: #111827;
    margin: 0 0 24px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-business-area .biz-section__desc {
    font-size: clamp(15px, 2vw, 18px);
    color: #333;
    line-height: 1.8;
    margin: 0 0 32px;
    word-break: keep-all;
}

.sub-wrap.sub-business-area .biz-section__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sub-wrap.sub-business-area .biz-section__list-item {
    font-size: clamp(14px, 2vw, 16px);
    color:#444;
    line-height: 1.7;
}

.sub-wrap.sub-business-area .biz-section__list-item strong {
    color: var(--c-primary);
    font-weight: 700;
    margin-right: 8px;
}

/* 카드 그리드 */
.sub-wrap.sub-business-area .biz-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.sub-wrap.sub-business-area .biz-cards--three {
    grid-template-columns: repeat(3, 1fr);
}

.sub-wrap.sub-business-area .biz-card {
    background: #f9f9f9;
    border: 1px solid #f9f9f9;
    border-radius: 12px;
    padding: 32px;
    transition: all 0.3s ease;
    position: relative;
}
.sub-wrap.sub-business-area .biz-card:first-child {
    margin-bottom:50px;
}
.sub-wrap.sub-business-area .biz-card:last-child {
    margin-top:50px;
}
.sub-wrap.sub-business-area .biz-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
    border-color: var(--c-primary);
}
.sub-wrap.sub-business-area #panel .biz-card{
    background:#fff;
    border: 1px solid #fff;
}
.sub-wrap.sub-business-area #panel .biz-card:hover{
    border-color: var(--c-primary);
}
.sub-wrap.sub-business-area .biz-card__thumb {
    margin-top:clamp(20px, 4vw, 60px);
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.sub-wrap.sub-business-area .biz-card__thumb-circle {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    background:#f9f9f9;
}

.sub-wrap.sub-business-area .biz-card__title {
    font-size: clamp(16px, 2.5vw, 22px);
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px;
    line-height: 1.4;
    letter-spacing: -0.02em;
}

.sub-wrap.sub-business-area .biz-card__desc {
    font-size: clamp(14px, 2vw, 16px);
    color: #4B5563;
    line-height: 1.7;
    margin: 0;
    word-break: keep-all;
}

@media (max-width: 1280px) {
    .sub-wrap.sub-business-area .biz-section__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .sub-wrap.sub-business-area .biz-section__left {
        position: static;
    }
    .sub-wrap.sub-business-area .biz-card:first-child {
        margin-bottom:0;
    }
    .sub-wrap.sub-business-area .biz-card:last-child {
        margin-top:0;
    }
}
/* Tablet */
@media (max-width: 1024px) {
    .sub-wrap.sub-business-area .business-wrap {
        padding: 4rem 20px;
    }

    .sub-wrap.sub-business-area .biz-section {
        margin-bottom: 4rem;
    }

    .sub-wrap.sub-business-area .biz-section__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sub-wrap.sub-business-area .biz-section__left {
        position: static;
    }
    .sub-wrap.sub-business-area .biz-section#panel {
        padding:4rem 0;
    }
    .sub-wrap.sub-business-area .biz-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .sub-wrap.sub-business-area .biz-cards--three {
        grid-template-columns: repeat(2, 1fr);
    }

    .sub-wrap.sub-business-area .biz-card__thumb-circle {
        width: 160px;
        height: 160px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .sub-wrap.sub-business-area .business-wrap {
        padding: 0 15px;
    }

    .sub-wrap.sub-business-area .biz-section {
        margin-bottom: 4rem;
    }
    
    .sub-wrap.sub-business-area .biz-section#panel {
        padding:4rem 0;
    }
    .sub-wrap.sub-business-area .biz-section__grid {
        gap: 32px;
    }

    .sub-wrap.sub-business-area .biz-section__title {
        margin-bottom: 20px;
    }

    .sub-wrap.sub-business-area .biz-section__desc {
        margin-bottom: 24px;
    }

    .sub-wrap.sub-business-area .biz-section__list {
        gap: 12px;
    }

    .sub-wrap.sub-business-area .biz-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sub-wrap.sub-business-area .biz-cards--three {
        grid-template-columns: 1fr;
    }

    .sub-wrap.sub-business-area .biz-card {
        padding: 0;
        overflow:hidden;
    }
    .sub-wrap.sub-business-area .biz-card__title {
        padding:20px 20px 0;
        margin-bottom:5px;
    }
    .sub-wrap.sub-business-area .biz-card__desc {
        padding:0 20px 0;
    }
    .sub-wrap.sub-business-area .biz-card__thumb {
        justify-content: center;
    }

    .sub-wrap.sub-business-area .biz-card__thumb-circle {
        width: 100%;
        height: 140px;
        border-radius: 0;
    }
}

/* ========================================
   New Pages - Products / ESG / Recruit (Minimal Styles)
   ======================================== */

/* Products Pages */
.sub-wrap.sub-products-pv .product-intro,
.sub-wrap.sub-products-bipv .product-intro,
.sub-wrap.sub-products-energy-part .product-intro {
	padding: 80px 0 60px;
	background: #f8f9fa;
}

.sub-wrap.sub-products-pv .product-intro__container,
.sub-wrap.sub-products-bipv .product-intro__container,
.sub-wrap.sub-products-energy-part .product-intro__container {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: center;
}

.sub-wrap.sub-products-pv .product-intro__title,
.sub-wrap.sub-products-bipv .product-intro__title,
.sub-wrap.sub-products-energy-part .product-intro__title {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #111;
}

.sub-wrap.sub-products-pv .product-intro__desc,
.sub-wrap.sub-products-bipv .product-intro__desc,
.sub-wrap.sub-products-energy-part .product-intro__desc {
	font-size: 16px;
	line-height: 1.8;
	color: #666;
}

.sub-wrap.sub-products-pv .product-features,
.sub-wrap.sub-products-bipv .product-features,
.sub-wrap.sub-products-energy-part .product-features,
.sub-wrap.sub-products-pv .product-application,
.sub-wrap.sub-products-bipv .product-application,
.sub-wrap.sub-products-energy-part .product-application {
	padding: 60px 0;
}

.sub-wrap.sub-products-pv .product-features__container,
.sub-wrap.sub-products-bipv .product-features__container,
.sub-wrap.sub-products-energy-part .product-features__container,
.sub-wrap.sub-products-pv .product-application__container,
.sub-wrap.sub-products-bipv .product-application__container,
.sub-wrap.sub-products-energy-part .product-application__container {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-products-pv .product-features__title,
.sub-wrap.sub-products-bipv .product-features__title,
.sub-wrap.sub-products-energy-part .product-features__title,
.sub-wrap.sub-products-pv .product-application__title,
.sub-wrap.sub-products-bipv .product-application__title,
.sub-wrap.sub-products-energy-part .product-application__title {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 40px;
	color: #111;
}

.sub-wrap.sub-products-pv .product-features__list,
.sub-wrap.sub-products-bipv .product-features__list,
.sub-wrap.sub-products-energy-part .product-features__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.sub-wrap.sub-products-pv .product-features__item,
.sub-wrap.sub-products-bipv .product-features__item,
.sub-wrap.sub-products-energy-part .product-features__item {
	padding: 30px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
}

.sub-wrap.sub-products-pv .product-features__item h5,
.sub-wrap.sub-products-bipv .product-features__item h5,
.sub-wrap.sub-products-energy-part .product-features__item h5 {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 12px;
	color: #111;
}

.sub-wrap.sub-products-pv .product-features__item p,
.sub-wrap.sub-products-bipv .product-features__item p,
.sub-wrap.sub-products-energy-part .product-features__item p {
	font-size: 15px;
	line-height: 1.6;
	color: #666;
}

.sub-wrap.sub-products-pv .product-application__list,
.sub-wrap.sub-products-bipv .product-application__list,
.sub-wrap.sub-products-energy-part .product-application__list {
	list-style: none;
	padding: 0;
}

.sub-wrap.sub-products-pv .product-application__list li,
.sub-wrap.sub-products-bipv .product-application__list li,
.sub-wrap.sub-products-energy-part .product-application__list li {
	padding: 15px 0;
	border-bottom: 1px solid #e0e0e0;
	font-size: 16px;
	color: #333;
}

/* ========================================
   ESG Pages - 공통 스타일
   ======================================== */
.sub-wrap.sub-esg-management .esg-intro,
.sub-wrap.sub-esg-technology .tech-intro,
.sub-wrap.sub-esg-quality .quality-intro {
	padding: 80px 0 60px;
	background: #f8f9fa;
}

.sub-wrap.sub-esg-management .esg-pillars,
.sub-wrap.sub-esg-technology .tech-strategy,
.sub-wrap.sub-esg-quality .quality-system {
	padding: clamp(20px, 4vw, 60px) 0 clamp(40px, 8vw, 160px);
}

.sub-wrap.sub-esg-management .esg-pillars__container,
.sub-wrap.sub-esg-technology .tech-strategy__container,
.sub-wrap.sub-esg-quality .quality-system__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-esg-management .esg-pillars__title,
.sub-wrap.sub-esg-technology .tech-strategy__title,
.sub-wrap.sub-esg-quality .quality-system__title {
	font-size: clamp(18px, 2.5vw, 40px);
	font-weight: 700;
	margin-bottom: 10px;
	color: #111;
}

/* ========================================
   ESG Management 전용 스타일
   ======================================== */
/* ESG Key Principles Section */
.sub-wrap.sub-esg-management .esg-esg-key {
	padding: clamp(60px, 8vw, 120px) 0;
	background: #fff;
	position: relative;
}

.sub-wrap.sub-esg-management .esg-esg-key__container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}

.sub-wrap.sub-esg-management .esg-esg-key__bracket {
	position: absolute;
	font-size: clamp(120px, 15vw, 240px);
	font-weight: 800;
	color: rgba(0, 0, 0, 0.04);
	line-height: 1;
	top: 50%;
	transform: translateY(-50%);
	user-select: none;
	pointer-events: none;
	font-family: 'Poppins', sans-serif;
}

.sub-wrap.sub-esg-management .esg-esg-key__bracket--left {
	left: 0;
}

.sub-wrap.sub-esg-management .esg-esg-key__bracket--right {
	right: 0;
}

.sub-wrap.sub-esg-management .esg-esg-key__row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(15px, 2vw, 40px);
	margin-bottom: clamp(10px, 2vw, 40px);
	flex-wrap: wrap;
}

.sub-wrap.sub-esg-management .esg-esg-key__item {
	position: relative;
	text-align: center;
	padding: clamp(15px, 2vw, 30px) clamp(15px, 2vw, 30px);
	flex: 0 1 auto;
}

.sub-wrap.sub-esg-management .esg-esg-key__bg-letter {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: clamp(80px, 16vw, 240px);
	font-weight: 800;
	color: rgba(0, 0, 0, 0.03);
	line-height: 1;
	z-index: 0;
	user-select: none;
	pointer-events: none;
	font-family: 'Poppins', sans-serif;
}

.sub-wrap.sub-esg-management .esg-esg-key__title {
	position: relative;
	font-size: clamp(14px, 3vw, 36px);
	font-weight: 700;
	margin-bottom: clamp(5px, 1vw, 12px);
	color: #111;
	z-index: 1;
	line-height: 1.3;
}

.sub-wrap.sub-esg-management .esg-esg-key__label {
	position: relative;
	font-size: clamp(9px, 1.5vw, 16px);
	font-weight: 500;
	color: var(--c-primary);
	margin: 0;
	z-index: 1;
	text-transform: capitalize;
	letter-spacing: 0.02em;
}

.sub-wrap.sub-esg-management .esg-esg-key__separator {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sub-wrap.sub-esg-management .esg-esg-key__separator span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(20px, 4vw, 48px);
	height: clamp(20px, 4vw, 48px);
	border-radius: 50%;
	background: #f0f0f0;
	color: #999;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 300;
}

.sub-wrap.sub-esg-management .esg-esg-key__desc {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
    padding:0 clamp(15px, 14vw, 80px);
}

.sub-wrap.sub-esg-management .esg-esg-key__desc p {
	font-size: clamp(13px, 1.6vw, 16px);
	line-height: 1.6;
	color: #222;
	word-break: keep-all;
}

.sub-wrap.sub-esg-management .esg-esg-key__desc p:last-child {
	margin-bottom: 0;
}

/* esg-intro: 워터마크 + 인용문 레이아웃 */
.sub-wrap.sub-esg-management .esg-intro {
	position: relative;
	background: #fff;
	padding: clamp(20px, 8vw, 200px) 0 clamp(40px, 7vw, 120px);
	overflow: hidden;
}

.sub-wrap.sub-esg-management .esg-pillars__title {
    text-align: center;
}

.sub-wrap.sub-esg-management .esg-intro__inner {
	position: relative;
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: center;
	z-index: 1;
}

.sub-wrap.sub-esg-management .esg-intro__watermark {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -60%);
	font-size: clamp(180px, 22vw, 10vw);
	font-weight: 800;
	color: rgba(0, 0, 0, 0.06);
	line-height: 1;
	user-select: none;
	pointer-events: none;
	z-index: 0;
	white-space: nowrap;
}

.sub-wrap.sub-esg-management .esg-intro__quote {
	position: relative;
	max-width: 1640px;
	margin: 0 auto;
	font-size: clamp(16px, 3vw, 40px);
	line-height: 1.4;
	color: #111;
	font-weight: 700;
	z-index: 1;
}

.sub-wrap.sub-esg-management .esg-intro__quote .is-accent {
	color: var(--c-primary);
	font-weight: 800;
}

.sub-wrap.sub-esg-management .esg-pillars__subtitle {
	font-size: clamp(14px, 1.5vw, 20px);
	line-height: 1.6;
	color: #222;
    text-align: center;
}

/* esg-pillars: 새로운 row 레이아웃 */
.sub-wrap.sub-esg-management .esg-pillars__grid {
    position: relative;
    width:100%;
    max-width:1640px;
    margin:0 auto;
	display: flex;
    flex-direction: column;
	gap: clamp(20px, 3vw, 8rem);
    margin-top:clamp(40px, 5vw, 160px);
}

.sub-wrap.sub-esg-management .pillar-row {
	display: grid;
    grid-template-columns: 0.6fr 1fr;
	align-items: center;
	gap: clamp(20px, 8vw, 160px);
    flex:1;
}

.sub-wrap.sub-esg-management .pillar-row:nth-child(even) {
	direction: rtl;
}

.sub-wrap.sub-esg-management .pillar-row:last-child {
	border-bottom: none;
}

.sub-wrap.sub-esg-management .pillar__media {
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.sub-wrap.sub-esg-management .pillar__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sub-wrap.sub-esg-management .pillar__body {
	display: flex;
	flex-direction: column;
    position: relative;
	min-width: 0;
    text-align: left;
}

.sub-wrap.sub-esg-management .pillar__title {
	font-size: clamp(18px, 2.4vw, 40px);
	font-weight: 700;
	margin-bottom: 24px;
	color: #111;
	line-height: 1.3;
}

.sub-wrap.sub-esg-management .pillar__title span {
	display: block;
	font-size: clamp(12px, 1.2vw, 16px);
	font-weight: 400;
	color: var(--c-primary);
	margin-top: 4px;
}

.sub-wrap.sub-esg-management .pillar__desc {
	font-size: clamp(14px, 1.5vw, 20px);
	line-height: 1.8;
	color: #222;
	flex: 1;
    word-break: keep-all;
    text-indent: 0;
    unicode-bidi: plaintext;
}

.sub-wrap.sub-esg-management .pillar__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border: 1px solid #d0d0d0;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 500;
	color: #111;
	text-decoration: none;
	transition: all 0.3s ease;
	width: fit-content;
}

.sub-wrap.sub-esg-management .pillar__btn:hover {
	background-color: rgba(0, 0, 0, 0.02);
	border-color: var(--c-primary);
	color: var(--c-primary);
}

/* ========================================
   ESG Technology 전용 스타일
   ======================================== */

/* 1. Intro Section */
.sub-wrap.sub-esg-technology .esg-tech-intro {
	padding: clamp(60px, 8vw, 160px) 0;
	background: #fff;
}

.sub-wrap.sub-esg-technology .esg-tech-intro__inner {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-esg-technology .esg-tech-intro__grid {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
}

.sub-wrap.sub-esg-technology .esg-tech-intro__left {
	min-width: 0;
}

.sub-wrap.sub-esg-technology .esg-tech-intro__title {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 0;
	color: #111;
	letter-spacing: -0.02em;
    word-break:keep-all;
}
.sub-wrap.sub-esg-technology .is-accent {
	color: var(--c-primary);
    display: block;
    font-size: clamp(13px, 1.4vw, 18px);
    font-weight: 400;
    margin-top: clamp(5px, 1vw, 10px);
}

.sub-wrap.sub-esg-technology .esg-tech-intro__right {
	min-width: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 2vw, 20px);
}

.sub-wrap.sub-esg-technology .esg-tech-intro__desc {
	font-size: clamp(15px, 2vw, 18px);
	line-height: 1.7;
	color: #222;
	font-weight: 400;
	margin: 0;
	word-break: keep-all;
}

/* 2. Core Areas Section */
.sub-wrap.sub-esg-technology .esg-tech-areas {
	padding: clamp(60px, 8vw, 120px) 0;
	background: #f8f9fa;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__layout {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__left {
	position: sticky;
	top: 120px;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__title {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	color: #111;
	margin: 0;
	word-break: keep-all;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__right {
	min-width: 0;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__intro {
	margin-bottom: clamp(40px, 6vw, 80px);
}

.sub-wrap.sub-esg-technology .esg-tech-areas__intro-title {
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.4;
	color: #111;
	margin: 0 0 16px;
	word-break: keep-all;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__intro-desc {
	font-size: clamp(15px, 2vw, 18px);
	line-height: 1.7;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__list {
	display: flex;
	flex-direction: column;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__item {
	display: flex;
	gap: clamp(20px, 3vw, 32px);
	padding: clamp(24px, 3vw, 40px) 0;
	border-bottom: 1px solid #e0e0e0;
	align-items: start;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__item:first-child {
	padding-top: 0;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__item:last-child {
	border-bottom: none;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__icon {
	flex-shrink: 0;
	width: clamp(48px, 6vw, 84px);
	height: clamp(48px, 6vw, 84px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--c-primary);
	border-radius: 50%;
	font-size: clamp(24px, 3vw, 32px);
}

.sub-wrap.sub-esg-technology .esg-tech-areas__icon > img {
    width:50%;
    filter: brightness(0) invert(1);
}

.sub-wrap.sub-esg-technology .esg-tech-areas__content {
	flex: 1;
	min-width: 0;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__content h5 {
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 600;
	line-height: 1.4;
	color: #111;
	margin: 0 0 12px;
	word-break: keep-all;
}

.sub-wrap.sub-esg-technology .esg-tech-areas__content p {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.7;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

/* 3. Application Section */
.sub-wrap.sub-esg-technology .esg-tech-apply {
	padding: clamp(60px, 6vw, 160px) 0 clamp(0px, 6vw, 160px);
	background: #fff;
}

.sub-wrap.sub-esg-technology .esg-tech-apply__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-esg-technology .esg-tech-apply__title {
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 700;
	margin-bottom: clamp(30px, 4vw, 60px);
	color: #111;
	text-align: center;
}

.sub-wrap.sub-esg-technology .esg-tech-apply__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
	gap: clamp(10px, 1.5vw, 24px);
}

.sub-wrap.sub-esg-technology .esg-tech-apply__item {
	padding: clamp(24px, 3vw, 60px) clamp(16px, 3vw, 30px);
	border-radius: 12px;
	transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.sub-wrap.sub-esg-technology .esg-tech-apply__item:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.sub-wrap.sub-esg-technology .esg-tech-apply__item h5 {
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 600;
	margin-bottom: 12px;
	color: #fff;
    position: relative;
    z-index: 1;
}

.sub-wrap.sub-esg-technology .esg-tech-apply__item p {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.7;
	color: #fff;
	margin: 0;
    position: relative;
    z-index: 1;
    word-break: keep-all;
}

/* ========================================
   ESG Quality 전용 스타일
   ======================================== */

/* 품질경영 시스템 섹션 */
.sub-wrap.sub-esg-quality .quality-system {
	padding: clamp(10px, 8vw, 120px) 0 clamp(60px, 8vw, 120px);
	background: #fff;
}

.sub-wrap.sub-esg-quality .quality-system__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-esg-quality .quality-system__title {
	font-size: clamp(20px, 3vw, 36px);
	font-weight: 700;
	color: #111;
	text-align: center;
	margin-bottom: clamp(30px, 7vw, 90px);
}

/* 전체 레이아웃 래퍼 */
.sub-wrap.sub-esg-quality .quality-system__wrap {
	display: grid;
	grid-template-columns: 1fr minmax(360px, 520px) 1fr;
	grid-template-rows: auto auto;
	gap: 40px 60px;
	align-items: start;
}

/* 좌/우측 텍스트 블록 */
.sub-wrap.sub-esg-quality .quality-system__left,
.sub-wrap.sub-esg-quality .quality-system__right {
	display: flex;
	flex-direction: column;
    justify-content: space-between;
    padding:60px 0;
    height:100%;
	gap: 40px;
}

.sub-wrap.sub-esg-quality .quality-system__right {
	padding-top: 60px;
}

/* 중앙 다이어그램 */
.sub-wrap.sub-esg-quality .quality-system__center {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 하단 블록 */
.sub-wrap.sub-esg-quality .quality-system__bottom {
	grid-column: 1 / -1;
	grid-row: 2;
	display: flex;
	justify-content: center;
}

/* 텍스트 블록 스타일 */
.sub-wrap.sub-esg-quality .quality-system__info-block {
	text-align: left;
}

.sub-wrap.sub-esg-quality .quality-system__info-block--wide {
	max-width: 700px;
	text-align: center;
}

.sub-wrap.sub-esg-quality .quality-system__info-title {
	font-size: clamp(16px, 2vw, 24px);
	font-weight: 700;
	color: var(--c-primary);
	margin-bottom: clamp(5px, 1vw, 10px);
	line-height: 1.4;
}

.sub-wrap.sub-esg-quality .quality-system__info-desc {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.7;
	color: #222;
    word-break: keep-all;
}

/* 원형 다이어그램 래퍼 */
.sub-wrap.sub-esg-quality .quality-system__circle-wrap {
	position: relative;
	width: 460px;
	height: 460px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 원형 링 (장식) */
.sub-wrap.sub-esg-quality .quality-system__circle-wrap::before,
.sub-wrap.sub-esg-quality .quality-system__circle-wrap::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	border: 1px solid #e5e5e5;
}

.sub-wrap.sub-esg-quality .quality-system__circle-wrap::before {
	width: 360px;
	height: 360px;
}

.sub-wrap.sub-esg-quality .quality-system__circle-wrap::after {
	width: 420px;
	height: 420px;
}

/* 중앙 원 */
.sub-wrap.sub-esg-quality .quality-system__center-circle {
	position: relative;
	z-index: 2;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ef45c3 0%, #e54165 50%, #e11d48 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 30px;
	box-shadow: 0 10px 30px rgba(37, 99, 235, 0.2);
}

.sub-wrap.sub-esg-quality .quality-system__center-title {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
	margin-bottom: 8px;
	font-family: 'Poppins', sans-serif;
}

.sub-wrap.sub-esg-quality .quality-system__center-subtitle {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
	font-weight: 500;
}

/* 헥사곤 공통 스타일 */
.sub-wrap.sub-esg-quality .quality-system__hexagon {
	position: absolute;
	width: 70px;
	height: 70px;
	background: #fff;
	border: 1.5px solid #e5e5e5;
	display: flex;
	justify-content: center;
	align-items: center;
    border-radius: 50%;
	transition: all 0.3s ease;
    z-index:1;
    font-size:clamp(16px, 2vw, 28px);
}

.sub-wrap.sub-esg-quality .quality-system__hexagon:hover {
	border-color:var(--c-primary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* 헥사곤 배치 (시계 방향, 12시부터) */
.sub-wrap.sub-esg-quality .quality-system__hexagon--1 {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.sub-wrap.sub-esg-quality .quality-system__hexagon--2 {
	top: 25%;
	right: 0;
	transform: translateY(-50%);
}

.sub-wrap.sub-esg-quality .quality-system__hexagon--3 {
	bottom: 25%;
	right: 0;
	transform: translateY(50%);
}

.sub-wrap.sub-esg-quality .quality-system__hexagon--4 {
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.sub-wrap.sub-esg-quality .quality-system__hexagon--5 {
	bottom: 25%;
	left: 0;
	transform: translateY(50%);
}

.sub-wrap.sub-esg-quality .quality-system__hexagon--6 {
	top: 25%;
	left: 0;
	transform: translateY(-50%);
}


/* 품질방침 섹션 */
.sub-wrap.sub-esg-quality .quality-policy {
	padding: clamp(60px, 8vw, 160px) 0;
    position: relative;
}

.sub-wrap.sub-esg-quality .quality-policy .quality-system-text__title {
    position:absolute;
    top:clamp(-80px, -8vw, -160px);
    left:0%;
    width:100%;
    height:100%;
	font-size: clamp(24px, 22vw, 360vw);
	font-weight: 800;
	color: #f9f9f9;
    text-align: center;
    line-height: 1;
    font-family: 'Poppins', sans-serif;
}

.sub-wrap.sub-esg-quality .quality-policy__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}
.sub-wrap.sub-esg-quality .quality-policy__wrap {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
    align-items:flex-start;
    position: relative;
    z-index:1;
}
.sub-wrap.sub-esg-quality .quality-policy__title {
	font-size: clamp(20px, 3vw, 32px);
	font-weight: 700;
	color: #111;
	margin-bottom: 20px;
}

.sub-wrap.sub-esg-quality .quality-policy__desc {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.7;
	color: #222;
}

.sub-wrap.sub-esg-quality .quality-policy__list {
	display: flex;
	gap: 16px;
}

/* Pill 형태 아이템 */
.sub-wrap.sub-esg-quality .quality-policy__item {
    flex:1;
	display: flex;
	align-items: flex-end;
	gap: 16px;
	padding: clamp(20px, 4vw, 40px) clamp(16px, 4vw, 30px);
	border-radius: 20px;
	transition: all 0.3s ease;
    height:clamp(150px, 28vw, 420px);
    position: relative;
    z-index:1;
    overflow: hidden;
}
.sub-wrap.sub-esg-quality .quality-policy__item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.1);
}

.sub-wrap.sub-esg-quality .quality-policy__item-content {
	display: flex;
    flex-direction: column;
	flex: 1;
    color:#fff;
    position: relative;
    z-index:1;
}

.sub-wrap.sub-esg-quality .quality-policy__item-number {
	font-size: clamp(16px, 2vw, 28px);
	font-weight: 800;
	font-family: 'Poppins', sans-serif;
}

.sub-wrap.sub-esg-quality .quality-policy__item-text {
	font-size: clamp(14px, 1.6vw, 18px);
	font-weight: 600;
}

/* 반응형 - Quality 전용 */
@media (max-width: 1680px) {
	.sub-wrap.sub-esg-quality .quality-system__wrap {
		gap: 30px 40px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap {
		width: 400px;
		height: 400px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap::before {
		width: 320px;
		height: 320px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap::after {
		width: 370px;
		height: 370px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center-circle {
		width: 220px;
		height: 220px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__hexagon {
		width: 60px;
		height: 60px;
	}
    .sub-wrap.sub-esg-quality .quality-policy__wrap {
        display:flex;
        flex-direction: column;
        gap: clamp(20px, 4vw, 30px);
    }
    .sub-wrap.sub-esg-quality .quality-policy__list {
        width:100%;
    }
    .sub-wrap.sub-esg-quality .quality-system__info-desc br {
        display: none;
    }
}

@media (max-width: 1024px) {
	.sub-wrap.sub-esg-quality .quality-system__wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}
    .sub-wrap.sub-esg-quality .quality-policy .quality-system-text__title {
        top:clamp(-40px, -8vw, -160px);
    }
	
	.sub-wrap.sub-esg-quality .quality-system__left,
	.sub-wrap.sub-esg-quality .quality-system__right {
		gap: 30px;
        padding:0;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center {
		grid-column: 1;
		grid-row: 1;
        margin-bottom:40px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__left {
		grid-column: 1;
		grid-row: 2;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__right {
		grid-column: 1;
		grid-row: 3;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__bottom {
		grid-row: 4;
	}
	
	.sub-wrap.sub-esg-quality .quality-policy__item-text {
		font-size: 16px;
	}
}

@media (max-width: 768px) {
    .sub-wrap.sub-esg-quality .quality-policy__container,
    .sub-wrap.sub-esg-quality .quality-system__container {
        padding: 0 15px;
    }
	.sub-wrap.sub-esg-quality .quality-system__wrap {
		gap: 15px;
	}
    .sub-wrap.sub-esg-quality .quality-policy {
        padding-bottom:0;
    }
    .sub-wrap.sub-esg-quality .quality-policy .quality-system-text__title {
        top:0;
    }
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap {
		width: 340px;
		height: 340px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap::before {
		width: 270px;
		height: 270px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap::after {
		width: 310px;
		height: 310px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center-circle {
		width: 190px;
		height: 190px;
		padding: 24px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center-title {
		font-size: 17px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center-subtitle {
		font-size: 13px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__hexagon {
		width: 54px;
		height: 54px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__hexagon svg {
		width: 26px;
		height: 26px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__left,
	.sub-wrap.sub-esg-quality .quality-system__right {
		grid-template-columns: 1fr;
		gap: 15px;
        padding:0;
	}
    .sub-wrap.sub-esg-quality .quality-policy__title {
        margin-bottom:10px;
    }
	.sub-wrap.sub-esg-quality .quality-policy__list {
        flex-direction: column;
        gap: clamp(10px, 1vw, 20px);
    }
	.sub-wrap.sub-esg-quality .quality-policy__item {
		padding: 16px 20px;
		gap: 12px;
        height:auto;
        min-height:20vh;
        border-radius:10px;
	}
    .sub-wrap.sub-esg-quality .quality-system__info-block--wide {
        text-align:left;
    }
}

@media (max-width: 480px) {
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap {
		width: 300px;
		height: 300px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap::before {
		width: 240px;
		height: 240px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__circle-wrap::after {
		width: 270px;
		height: 270px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center-circle {
		width: 170px;
		height: 170px;
		padding: 20px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__center-title {
		font-size: 15px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__hexagon {
		width: 48px;
		height: 48px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__hexagon svg {
		width: 24px;
		height: 24px;
	}
    .sub-wrap.sub-esg-quality .quality-policy__item {
        min-height:14vh;
    }
}

/* ==================================================
   RECRUIT - 공통 스타일 (Common Styles)
   ================================================== */
/* Intro 섹션 공통 */
.sub-wrap.sub-recruit-hr-system .hr-intro,
.sub-wrap.sub-recruit-welfare .welfare-intro,
.sub-wrap.sub-recruit-apply .apply-intro {
	padding: 80px 0 60px;
	background: #f8f9fa;
}

.sub-wrap.sub-recruit-hr-system .hr-intro__container,
.sub-wrap.sub-recruit-welfare .welfare-intro__container,
.sub-wrap.sub-recruit-apply .apply-intro__container {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: center;
}

.sub-wrap.sub-recruit-hr-system .hr-intro__title,
.sub-wrap.sub-recruit-welfare .welfare-intro__title,
.sub-wrap.sub-recruit-apply .apply-intro__title {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #111;
}

.sub-wrap.sub-recruit-hr-system .hr-intro__desc,
.sub-wrap.sub-recruit-welfare .welfare-intro__desc,
.sub-wrap.sub-recruit-apply .apply-intro__desc {
	font-size: 16px;
	line-height: 1.8;
	color: #666;
}

/* 메인 콘텐츠 섹션 공통 */
.sub-wrap.sub-recruit-hr-system .hr-system,
.sub-wrap.sub-recruit-welfare .welfare-benefits,
.sub-wrap.sub-recruit-apply .apply-talent {
	padding: 60px 0;
}

.sub-wrap.sub-recruit-hr-system .hr-system__container,
.sub-wrap.sub-recruit-welfare .welfare-benefits__container,
.sub-wrap.sub-recruit-apply .apply-talent__container {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-recruit-hr-system .hr-system__title,
.sub-wrap.sub-recruit-welfare .welfare-benefits__title,
.sub-wrap.sub-recruit-apply .apply-talent__title {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 40px;
	color: #111;
}

.sub-wrap.sub-recruit-hr-system .hr-system__grid,
.sub-wrap.sub-recruit-welfare .welfare-benefits__grid,
.sub-wrap.sub-recruit-apply .apply-talent__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

.sub-wrap.sub-recruit-hr-system .hr-system__item,
.sub-wrap.sub-recruit-welfare .welfare-benefits__item,
.sub-wrap.sub-recruit-apply .apply-talent__item {
	padding: 30px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
}

.sub-wrap.sub-recruit-hr-system .hr-system__item h5,
.sub-wrap.sub-recruit-welfare .welfare-benefits__item h5,
.sub-wrap.sub-recruit-apply .apply-talent__item h5 {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 12px;
	color: #111;
}

.sub-wrap.sub-recruit-hr-system .hr-system__item p,
.sub-wrap.sub-recruit-welfare .welfare-benefits__item p,
.sub-wrap.sub-recruit-apply .apply-talent__item p {
	font-size: 15px;
	line-height: 1.6;
	color: #666;
}

/* ==================================================
   RECRUIT - HR SYSTEM (sub-recruit-hr-system)
   ================================================== */
/* 인사제도 페이지 전용 스타일 - 카드형 UI */

/* 섹션 공통 */
.sub-wrap.sub-recruit-hr-system .recruit-hr-sec {
	padding: clamp(60px, 8vw, 160px) 0;
}

.sub-wrap.sub-recruit-hr-system .recruit-hr-sec.hr-eval {
	padding-top:0;
    position:relative;
}

.sub-wrap.sub-recruit-hr-system .recruit-hr-sec.hr-eval:before {
    content: 'GLENTEC';
    position: absolute;
    bottom: 0;
    left: 0;
    font-size:clamp(14vw, 10vw, 16vw);
    font-weight: 800;
    color: #f9f9f9;
    letter-spacing: -.5rem;
    line-height:1;
}

.sub-wrap.sub-recruit-hr-system .sec-container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

/* 섹션 헤더 */
.sub-wrap.sub-recruit-hr-system .sec-head {
	text-align: left;
	margin-bottom: clamp(20px, 4vw, 60px);
}

.sub-wrap.sub-recruit-hr-system .sec-title {
	font-size: clamp(20px, 3vw, 40px);
	font-weight: 700;
	color: #111;
	margin-bottom: clamp(10px, 2vw, 20px);
	line-height: 1.3;
}

.sub-wrap.sub-recruit-hr-system .sec-desc {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.8;
	color: #222;
	margin: 0;
}

/* 카드 그리드 */
.sub-wrap.sub-recruit-hr-system .hr-card-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(10px, 2vw, 20px);
}

/* 카드 */
.sub-wrap.sub-recruit-hr-system .hr-card {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 20px;
	padding: clamp(30px, 4vw, 50px) clamp(15px, 3vw, 40px);
	display: flex;
	gap: clamp(20px, 4vw, 60px);
	align-items: center;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

/* 카드 텍스트 영역 */
.sub-wrap.sub-recruit-hr-system .hr-card__text {
	flex: 1;
    word-break: keep-all;
}

.sub-wrap.sub-recruit-hr-system .hr-card__title {
	font-size: clamp(18px, 2.5vw, 22px);
	font-weight: 700;
	color: #111;
	margin-bottom: clamp(10px, 1vw, 15px);
	line-height: 1.4;
}
.sub-wrap.sub-recruit-hr-system .hr-card__title span {
    font-size: clamp(16px, 1.8vw, 18px);
    color: var(--c-primary);
    font-weight: 600;
}

.sub-wrap.sub-recruit-hr-system .hr-card__text ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sub-wrap.sub-recruit-hr-system .hr-card__text ul li {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.8;
	color: #222;
	padding-left: 15px;
    position:relative;
}
.sub-wrap.sub-recruit-hr-system .hr-card__text ul li.rank-li {
    position:relative;
    display:grid;
    grid-template-columns: 40px 1fr;
    gap:0;
}
.sub-wrap.sub-recruit-hr-system .hr-card__text ul li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 4px;
    background-color: var(--c-primary);
    border-radius: 50%;
}

.sub-wrap.sub-recruit-hr-system .hr-card__text ul li:last-child {
	margin-bottom: 0;
}

/* 카드 아이콘 영역 */
.sub-wrap.sub-recruit-hr-system .hr-card__icon {
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
    background-color:var(--c-primary);
    border-radius: 50%;
}
.sub-wrap.sub-recruit-hr-system .hr-card__icon > img {
    width:50%;
    filter: brightness(0) invert(1);
}

.sub-wrap.sub-recruit-hr-system .hr-system .hr-card-grid {
	grid-template-columns: repeat(4, 1fr);
}
.sub-wrap.sub-recruit-hr-system .hr-system .hr-card {
    flex-direction: column;
    align-items: flex-start;
}
.sub-wrap.sub-recruit-hr-system .hr-system .hr-card__icon {
    order:1;
}
.sub-wrap.sub-recruit-hr-system .hr-system .hr-card__text {
    order:2;
}

/* ==================================================
   RECRUIT - HR SYSTEM : HR EVAL (esg-tech-areas layout)
   scope: .sub-wrap.sub-recruit-hr-system .hr-eval
   ================================================== */
/* hr-eval 섹션 전용 - 2열 레이아웃 (좌: 타이틀 / 우: 라인+소개+리스트) */

.sub-wrap.sub-recruit-hr-system .hr-eval {
	padding: clamp(60px, 8vw, 160px) 0;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__layout {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
}

/* 좌측: 타이틀 */
.sub-wrap.sub-recruit-hr-system .hr-eval__left {
	position: sticky;
	top: 120px;
	align-self: start;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__title {
	font-size: clamp(20px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.3;
	color: #111;
	margin-bottom: clamp(5px, 2vw, 20px);
}

.sub-wrap.sub-recruit-hr-system .hr-eval__intro-title {
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 400;
	line-height: 1.6;
	color: #222;
	margin: 0;
    word-break: keep-all;
}

/* 우측: 본문 영역 */
.sub-wrap.sub-recruit-hr-system .hr-eval__right {
	min-width: 0;
}

/* 리스트 */
.sub-wrap.sub-recruit-hr-system .hr-eval__list {
	display: flex;
	flex-direction: column;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__item {
	display: flex;
	gap: clamp(20px, 3vw, 32px);
	padding: clamp(24px, 3vw, 40px) 0;
	border-bottom: 1px solid #e0e0e0;
	align-items: flex-start;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__item:first-child {
	padding-top: 0;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__item:last-child {
	border-bottom: none;
}

/* 아이콘 */
.sub-wrap.sub-recruit-hr-system .hr-eval__icon {
	flex-shrink: 0;
	width: clamp(60px, 6vw, 84px);
	height: clamp(60px, 6vw, 84px);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--c-primary);
	border-radius: 50%;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__icon img {
	width: 50%;
	filter: brightness(0) invert(1);
}

/* 컨텐츠 */
.sub-wrap.sub-recruit-hr-system .hr-eval__content {
	flex: 1;
	min-width: 0;
	word-break: keep-all;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__content h5 {
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 700;
	line-height: 1.4;
	color: #111;
	margin: 0 0 clamp(10px, 1vw, 15px) 0;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__content h5 span {
	font-size: clamp(16px, 1.8vw, 18px);
	color: var(--c-primary);
	font-weight: 600;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__content ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__content ul li {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.8;
	color: #222;
	padding-left: 15px;
	position: relative;
	margin-bottom: 6px;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__content ul li:last-child {
	margin-bottom: 0;
}

.sub-wrap.sub-recruit-hr-system .hr-eval__content ul li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 4px;
	height: 4px;
	background-color: var(--c-primary);
	border-radius: 50%;
}

/* ==================================================
   RECRUIT - WELFARE (sub-recruit-welfare)
   ================================================== */
/* 복리후생 페이지 전용 스타일 - 카드형 UI */

.sub-wrap.sub-recruit-welfare .overview-intro {
    margin-bottom:0;
    padding:clamp(6rem, 8vw, 12rem) 0;
    position:relative;
}
.sub-wrap.sub-recruit-welfare .overview-intro:before {
    content: 'GLENTEC';
    position: absolute;
    width:100%;
    bottom: 0;
    left: 0;
    font-size:clamp(16vw, 10vw, 16vw);
    font-weight: 800;
    color: #f9f9f9;
    text-align:center;
    line-height:1;
}
/* 복리후생 카드 섹션 */
.sub-wrap.sub-recruit-welfare .welfare-benefits-section {
	padding: clamp(60px, 8vw, 120px) 0;
	background: #fff;
}

.sub-wrap.sub-recruit-welfare .welfare-benefits-section__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

/* 복리후생 그룹 (좌측 타이틀 + 우측 그리드) */
.sub-wrap.sub-recruit-welfare .welfare-benefits__group {
	display: grid;
	grid-template-columns: 400px 1fr;
	gap: clamp(40px, 10vw, 200px);
	align-items: start;
	margin-bottom: clamp(20px, 4vw, 60px);
}

.sub-wrap.sub-recruit-welfare .welfare-benefits__group:last-of-type {
	margin-bottom: 0;
}

/* 그룹 타이틀 (좌측) */
.sub-wrap.sub-recruit-welfare .welfare-benefits__group-title {
	font-size: clamp(18px, 2vw, 36px);
	font-weight: 700;
	color: #111;
	line-height: 1.3;
	letter-spacing: -0.02em;
	word-break: keep-all;
	position: sticky;
	top: 120px;
}

/* 우측 카드 그리드 */
.sub-wrap.sub-recruit-welfare .welfare-benefits__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(10px, 2vw, 20px);
}

/* 개별 아이템 */
.sub-wrap.sub-recruit-welfare .welfare-benefits__item {
	display: flex;
	flex-direction: column;
	gap: 16px;
    transition: all 0.3s ease;
}

.sub-wrap.sub-recruit-welfare .welfare-benefits__item-medical {
	grid-column: 1 / -1;
}

.sub-wrap.sub-recruit-welfare .welfare-benefits__item:hover {
	border:1px solid var(--c-primary);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

/* 아이콘 */
.sub-wrap.sub-recruit-welfare .welfare-benefits__icon {
	flex-shrink: 0;
	width: clamp(60px, 6vw, 84px);
	height: clamp(60px, 6vw, 84px);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--c-primary);
	border-radius: 50%;
}

.sub-wrap.sub-recruit-welfare .welfare-benefits__icon i {
	font-size:clamp(24px, 2vw, 36px);
	color: #fff;
	line-height: 1;
}

.sub-wrap.sub-recruit-welfare .welfare-benefits__content {
	display:flex;
    flex-direction: column;
    gap:10px;
}

/* 아이템 타이틀 */
.sub-wrap.sub-recruit-welfare .welfare-benefits__item-title {
	font-size: clamp(18px, 2vw, 20px);
	font-weight: 700;
	color: #111;
	line-height: 1.4;
	margin: 0;
}

/* 아이템 설명 */
.sub-wrap.sub-recruit-welfare p.welfare-benefits__item-desc {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.6;
	color: #444;
	margin: 0;
	word-break: keep-all;
}

.sub-wrap.sub-recruit-welfare .welfare-benefits__item-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sub-wrap.sub-recruit-welfare .welfare-benefits__item-list li {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.6;
    margin-bottom:5px;
    padding-left:15px;
    position: relative;
    color: #444;
}
.sub-wrap.sub-recruit-welfare .welfare-benefits__item-list li:last-child {
	margin-bottom: 0;
}
.sub-wrap.sub-recruit-welfare .welfare-benefits__item-list li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 4px;
	height: 4px;
	background-color: var(--c-primary);
	border-radius: 50%;
}
/* 구분선 */
.sub-wrap.sub-recruit-welfare .welfare-benefits__divider {
	width: 100%;
	height: 1px;
	background: #e5e5e5;
	margin: clamp(20px, 4vw, 60px) 0;
}

/* ==================================================
   RECRUIT - APPLY (sub-recruit-apply)
   ================================================== */
/* 입사지원 페이지 전용 스타일 */
.sub-wrap.sub-recruit-apply .apply-process__steps {
	display: flex;
	gap: 30px;
	margin-top: 40px;
}

.sub-wrap.sub-recruit-apply .apply-process__step {
	flex: 1;
	text-align: center;
	padding: 30px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
}

.sub-wrap.sub-recruit-apply .apply-process__step-num {
	display: block;
	font-size: 24px;
	font-weight: 700;
	color: #0066cc;
	margin-bottom: 15px;
}

/* ========================================
   Responsive - ESG Management 전용
   ======================================== */
@media (max-width: 1280px) {
    .sub-wrap.sub-recruit-hr-system .hr-card{
        align-items: flex-start;
    }
    .sub-wrap.sub-recruit-hr-system .hr-system .hr-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sub-wrap.sub-recruit-hr-system .hr-system .hr-card {
        flex-direction:column;
        align-items: flex-start;
        gap:20px;
    }
    .sub-wrap.sub-recruit-hr-system .hr-card__text ul li.rank-li {
        grid-template-columns: 36px 1fr;
    }
    .sub-wrap.sub-recruit-hr-system .hr-card__icon {
        width: 80px;
        height: 80px;
    }
	
	/* Welfare 반응형 - 태블릿 */
	.sub-wrap.sub-recruit-welfare .welfare-benefits__group {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__group-title {
		font-size: 28px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__grid {
		gap: 15px;
	}
}

@media (max-width: 1024px) {
	.sub-wrap.sub-esg-management .esg-pillars__grid {
        flex-direction: column;
		gap: clamp(20px, 2.5vw, 4rem);
		margin-top: clamp(30px, 4vw, 80px);
	}
	.sub-wrap.sub-esg-management .esg-pillars__title {
        text-align: left;
    }
    .sub-wrap.sub-esg-management .esg-pillars__subtitle {
        text-align: left;
    }
	.sub-wrap.sub-esg-management .pillar-row {
		gap: clamp(15px, 2.5vw, 32px);
        display:grid;
        grid-template-columns: 300px 1fr;
	}
    .sub-wrap.sub-esg-management .pillar__body:before {
        display: none;
    }
	
	.sub-wrap.sub-esg-management .pillar__media {
		width: max(50%, 280px);
	}
	.sub-wrap.sub-recruit-hr-system .hr-card__title span {
        display:block;
        margin-top:5px;
    }
	.sub-wrap.sub-esg-management .esg-esg-key__bracket {
		font-size: clamp(80px, 12vw, 160px);
	}
	
	.sub-wrap.sub-esg-management .esg-esg-key__row {
		gap: clamp(10px, 1vw, 20px);
	}
}

@media (max-width: 768px) {
	.sub-wrap.sub-esg-management .esg-esg-key {
		padding: clamp(40px, 6vw, 80px) 0;
	}
	
	.sub-wrap.sub-esg-management .esg-esg-key__bracket {
		display: none;
	}
	
	.sub-wrap.sub-esg-management .esg-esg-key__row {
		gap: clamp(0px, 2.5vw, 15px);
	}
	
	.sub-wrap.sub-esg-management .esg-esg-key__item {
		padding: 0px;
	}
	
	.sub-wrap.sub-esg-management .esg-esg-key__separator {
		margin: clamp(8px, 2vw, 16px) 0;
	}
	
	.sub-wrap.sub-esg-management .esg-esg-key__desc {
		padding: 0 clamp(8px, 2vw, 16px);
        margin-top: clamp(30px, 2vw, 40px);
	}
	.sub-wrap.sub-esg-management .esg-esg-key__desc p > br {
		display: none;
	}
	.sub-wrap.sub-esg-management .esg-intro__quote {
		line-height: 1.5;
        word-break: keep-all;
	}
    .sub-wrap.sub-esg-management .esg-intro__quote br {
        display: none;
    }
	.sub-wrap.sub-esg-management .esg-intro__watermark {
        font-size: 10vh;
        transform: translate(-50%, -76%);
    }
	
	.sub-wrap.sub-esg-management .esg-pillars__grid {
		flex-direction: column;
		gap: clamp(24px, 4vw, 40px);
		margin-top: clamp(30px, 4vw, 60px);
	}
	
	.sub-wrap.sub-esg-management .pillar-row {
        display:flex;
        flex-direction: column;
	}
	
	.sub-wrap.sub-esg-management .pillar__media {
		width: max(50%, 200px);
		aspect-ratio: 1 / 1;
		border-radius: 50%;
        position:relative;
        z-index:1;
	}
	
	.sub-wrap.sub-esg-management .pillar__body {
		width: 100%;
	}
	
	.sub-wrap.sub-esg-management .pillar__body:before {
		display: block;
	}
	
	.sub-wrap.sub-esg-management .pillar__title {
		font-size: clamp(18px, 4vw, 24px);
		margin-bottom: 10px;
	}
	
	.sub-wrap.sub-esg-management .pillar__title span {
		font-size: clamp(12px, 2vw, 14px);
	}
	
	.sub-wrap.sub-esg-management .pillar__desc {
		font-size: clamp(14px, 2vw, 15px);
	}

    .sub-wrap.sub-esg-management .pillar__desc br {
        display: none;
    }
	
	.sub-wrap.sub-esg-management .pillar__btn {
		align-self: center;
		width: auto;
		min-height: 44px;
		padding: 12px 24px;
	}
}

/* ========================================
   Responsive - ESG Technology/Quality 공통
   ======================================== */
@media (max-width: 1024px) {
	/* HR Eval 반응형 */
	.sub-wrap.sub-recruit-hr-system .hr-eval__layout {
		grid-template-columns: 1fr;
		gap: clamp(30px, 4vw, 40px);
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__left {
		position: static;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__layout {
		grid-template-columns: 1fr;
		gap: clamp(30px, 4vw, 40px);
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__left {
		position: static;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-apply__grid {
		grid-template-columns: repeat(2, 1fr);
	}
    .sub-wrap.sub-recruit-welfare .overview-intro {
        padding:6rem 15px;
    }
}

@media (max-width: 1024px) {
	.sub-wrap.sub-esg-technology .esg-tech-intro__grid {
		gap: clamp(30px, 4vw, 50px);
	}
}

@media (max-width: 768px) {
    .sub-wrap.sub-recruit-hr-system .recruit-hr-sec.hr-eval:before {
        display: none;
    }
    .sub-wrap.sub-esg-technology .esg-tech-intro__inner,
    .sub-wrap.sub-esg-technology .esg-tech-areas__container,
    .sub-wrap.sub-esg-technology .esg-tech-apply__container {
        padding:0 15px;
    }
	.sub-wrap.sub-esg-technology .esg-tech-intro {
		padding: 0 0 60px;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-intro__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
    .sub-wrap.sub-esg-technology .esg-tech-intro__title br {
		display: none;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-intro__desc br {
		display: none;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__top-line {
		margin-bottom: 24px;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__intro {
		margin-bottom: 40px;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__item {
		padding: 24px 0;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-areas__item:first-child {
		padding-top: 0;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-apply__grid {
		grid-template-columns: 1fr;
	}
	
	.sub-wrap.sub-esg-technology .esg-tech-apply__item {
		padding: 28px 24px;
	}
	
	.sub-wrap.sub-esg-quality .quality-system__grid {
		grid-template-columns: 1fr;
	}
}

/* ========================================
   Responsive - 기타 페이지 (ESG 외)
   ======================================== */
@media (max-width: 768px) {
    .sub-wrap.sub-recruit-welfare .welfare-benefits-section__container,
    .sub-wrap.sub-recruit-hr-system .sec-container,
    .sub-wrap.sub-recruit-hr-system .hr-eval__container {
        padding:0 15px;
    }
	
	/* HR Eval 반응형 */
	.sub-wrap.sub-recruit-hr-system .hr-eval__layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__top-line {
		margin-bottom: 24px;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__intro {
		margin-bottom: 40px;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__item {
		padding: 24px 0;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__item:first-child {
		padding-top: 0;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__icon {
		width: 60px;
		height: 60px;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__content h5 span {
		display: block;
		margin-top: 5px;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__content ul li {
		padding-left: 10px;
	}
	
	.sub-wrap.sub-recruit-hr-system .hr-eval__content ul li:before {
		width: 3px;
		height: 3px;
		top: 9px;
	}
	
	/* Products 페이지 반응형 */
	.sub-wrap.sub-products-pv .product-features__list,
	.sub-wrap.sub-products-bipv .product-features__list,
	.sub-wrap.sub-products-energy-part .product-features__list {
		grid-template-columns: 1fr;
	}
	
	/* Recruit 페이지 반응형 - 공통 */
	.sub-wrap.sub-recruit-hr-system .hr-system__grid,
	.sub-wrap.sub-recruit-welfare .welfare-benefits__grid,
	.sub-wrap.sub-recruit-apply .apply-talent__grid {
		grid-template-columns: 1fr;
	}
	
	/* Welfare 반응형 - 모바일 */
	.sub-wrap.sub-recruit-welfare .welfare-benefits__group {
		grid-template-columns: 1fr;
		gap: 30px;
        margin-bottom:40px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__group-title {
		font-size: 20px;
		position: static;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.sub-wrap.sub-recruit-welfare .welfare-benefits__item {
        flex-direction: row;
        gap:15px;
        padding:24px 0;
        border:0;
        border-radius: 0;
        border-bottom:1px solid #e0e0e0;
        pointer-events: none;
    }
    .sub-wrap.sub-recruit-welfare .welfare-benefits__item:first-child {
        padding-top:0;
    }
    .sub-wrap.sub-recruit-welfare .welfare-benefits__item:last-child {
        border-bottom:0;
    }
	.sub-wrap.sub-recruit-welfare .welfare-benefits__icon {
		width: 60px;
		height: 60px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__icon i {
		font-size: 24px;
	}
	
    .sub-wrap.sub-recruit-welfare .welfare-benefits__item-list li {
        padding-left:10px;
    }
    .sub-wrap.sub-recruit-welfare .welfare-benefits__item-list li:before {
        width:3px;
        height:3px;
    }


	.sub-wrap.sub-recruit-welfare .welfare-benefits__divider {
		margin: 0;
        background:#fff;
	}
	
	/* Recruit 페이지 반응형 - Apply 전용 */
	.sub-wrap.sub-recruit-apply .apply-process__steps {
		flex-direction: column;
	}
	
	/* HR System 반응형 */	
    .sub-wrap.sub-recruit-hr-system .recruit-hr-sec {
        padding:0;
    }
    .sub-wrap.sub-recruit-hr-system .recruit-hr-sec:first-of-type {
        padding-bottom:60px;
    }
	.sub-wrap.sub-recruit-hr-system .sec-head {
		margin-bottom: 20px;
	}
    .sub-wrap.sub-recruit-hr-system .sec-desc > br {
        display: none;
    }
	
	.sub-wrap.sub-recruit-hr-system .hr-card-grid {
		grid-template-columns: 1fr;
	}
	.sub-wrap.sub-recruit-hr-system .hr-card {
		flex-direction: column;
        align-items: flex-start;
        gap:15px;
	}
	.sub-wrap.sub-recruit-hr-system .hr-card__text {
        order:2;
    }	
	.sub-wrap.sub-recruit-hr-system .hr-card__icon {
        order:1;
        width:60px;
        height:60px;
	}    
	.sub-wrap.sub-recruit-hr-system .hr-system .hr-card-grid {
        grid-template-columns: 1fr;
        gap:0;
    }

    .sub-wrap.sub-recruit-hr-system .hr-system .hr-card {
        flex-direction: row;
        align-items: flex-start;
        border-radius: 0;
        padding:20px 0;
        border:0;
        border-bottom:1px solid #e0e0e0;
        box-shadow: none;
    }
    .sub-wrap.sub-recruit-hr-system .hr-system .hr-card:first-child {
        padding-top:0;
    }
    
    .sub-wrap.sub-recruit-hr-system .hr-card__text ul li {
        padding-left: 10px;
    }
    .sub-wrap.sub-recruit-hr-system .hr-card__text ul li:before {
        width: 3px;
        height: 3px;
        top:9px;
    }
    .sub-wrap.sub-recruit-welfare .overview-intro {
        padding:0 15px 4rem;
    }
    .sub-wrap.sub-recruit-welfare .overview-intro:before {
        font-size:18vw;
    }
}
@media (max-width: 480px) {
    .sub-wrap.sub-recruit-hr-system .hr-card__icon {
        width: 46px;
        height: 46px;
    }
    .sub-wrap.sub-recruit-hr-system .hr-eval__item {
        padding: 20px 0;
        gap:15px;
    }
    .sub-wrap.sub-recruit-hr-system .hr-eval__icon {
		width: 46px;
		height: 46px;
	}
    .sub-wrap.sub-recruit-welfare .overview-intro {
        padding:0 15px 2rem;
    }
	



    .sub-wrap.sub-recruit-welfare .welfare-benefits-section {
        padding:60px 0 0;
    }
	.sub-wrap.sub-recruit-welfare .welfare-benefits__group {
		margin-bottom: 40px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__group-title {
		font-size: 20px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__grid {
		gap: 0;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__divider {
		margin: 5px 0;
	}

    .sub-wrap.sub-recruit-welfare .welfare-benefits__group{
        gap:15px;
    }

    .sub-wrap.sub-recruit-welfare .welfare-benefits__item {
        flex-direction: column;
        gap:10px;
        padding:15px 0;
    }
    .sub-wrap.sub-recruit-welfare .welfare-benefits__content {
        gap:5px;
    }
    .sub-wrap.sub-recruit-welfare .welfare-benefits__icon {
		width: 46px;
		height: 46px;
	}
	
	.sub-wrap.sub-recruit-welfare .welfare-benefits__icon i {
		font-size: 20px;
	}
    .sub-wrap.sub-recruit-welfare .welfare-benefits__item-title {
        font-size:16px;
    }
    .sub-wrap.sub-recruit-welfare .welfare-benefits__item-list li {
        margin-bottom:0;
    }
    
}







/* ========================================
   Recruit Apply Page Styles
   ======================================== */

/* Scope all styles to recruit-apply page */
.recruit-apply-page .sub-wrap.sub-recruit-apply {
	background: #f8fafc;
}

/* ========================================
   Intro Section
   ======================================== */
.recruit-apply-page .recruit-apply-intro {
	background: #ffffff;
	padding: 10rem 0 8rem;
}

.recruit-apply-page .recruit-apply-intro__container {
	max-width: 1640px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: clamp(40px, 6vw, 80px);
	align-items: flex-end;
    padding:0 30px;
}

/* Left Text */
.recruit-apply-page .recruit-apply-intro__text {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.recruit-apply-page .recruit-apply-intro__label {
	display: flex;
	align-items: center;
	gap: 12px;
}

.recruit-apply-page .recruit-apply-intro__label .label-bar {
	width: 32px;
	height: 3px;
	background: var(--c-primary, #2563eb);
}

.recruit-apply-page .recruit-apply-intro__label .label-text {
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.01em;
}

.recruit-apply-page .recruit-apply-intro__title {
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 800;
	color: #0f172a;
	margin: 0;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.recruit-apply-page .recruit-apply-intro__desc {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.recruit-apply-page .recruit-apply-intro__desc p {
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.8;
	color: #222;
	margin: 0;
}

/* ========================================
   Recruitment Areas Section
   ======================================== */
.recruit-apply-page .recruit-apply-areas {
    padding:160px 0;
    background:#f9f9f9;
}

.recruit-apply-page .recruit-apply-areas__container {
	max-width: 1640px;
	margin: 0 auto;
	padding:0 30px;
}

.recruit-apply-page .recruit-apply-areas__title {
	font-size: clamp(32px, 3.6vw, 48px);
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 12px;
	text-align: center;
	letter-spacing: -0.02em;
}

.recruit-apply-page .recruit-apply-areas__subtitle {
	font-size: clamp(15px, 1.8vw, 17px);
	color: #333;
	margin: 0 0 60px;
	text-align: center;
}

.recruit-apply-page .recruit-apply-areas__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(10px, 1.5vw, 24px);
}

.recruit-apply-page .recruit-apply-areas__card {
	background: #ffffff;
	border-radius: 16px;
	padding: 40px 32px;
}

.recruit-apply-page .recruit-apply-areas__card-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 2px solid #f1f5f9;
}

.recruit-apply-page .recruit-apply-areas__card-number {
	font-size: 28px;
	font-weight: 800;
	color: var(--c-primary, #2563eb);
	font-family: 'Poppins', sans-serif;
}

.recruit-apply-page .recruit-apply-areas__card-title {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin: 0;
}

.recruit-apply-page .recruit-apply-areas__card-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.recruit-apply-page .recruit-apply-areas__card-list li {
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.6;
	color: #333;
	padding-left: 15px;
	position: relative;
}

.recruit-apply-page .recruit-apply-areas__card-list li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--c-primary);
	font-weight: 700;
}

/* ========================================
   Application Form Section
   ======================================== */
.recruit-apply-page .recruit-apply-form {
	padding: 10rem 0 12rem;
	position: relative;
}
.recruit-apply-page .recruit-apply-form:before {
	content: 'GLENTEC';
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: clamp(120px, 22vw, 22vw);
	font-weight: 800;
	color: #f9f9f9;
	letter-spacing: -.5rem;
	line-height:1;
    text-align:center;
    width:100%;
}
.recruit-apply-page .recruit-apply-form__container {
	max-width: 1640px;
	margin: 0 auto;
	padding:0 30px;
}

.recruit-apply-page .recruit-apply-form__grid {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: clamp(20px, 6vw, 160px);
	align-items: start;
}

/* Left Intro */
.recruit-apply-page .recruit-apply-form__intro {
	position: sticky;
	top: 120px;
	z-index: 1;
}

.recruit-apply-page .recruit-apply-form__headline {
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 800;
	line-height: 1.3;
	margin: 0 0 32px;
	letter-spacing: -0.02em;
	color: #ddd;
}

.recruit-apply-page .recruit-apply-form__headline .headline-line {
	display: block;
	position: relative;
	overflow: hidden;
}

/* Text Fill Animation */
@media (prefers-reduced-motion: no-preference) {
	.recruit-apply-page .recruit-apply-form__headline .headline-line::after {
		content: attr(data-text);
		position: absolute;
		left: 0;
		top: 0;
		color: #000;
		clip-path: inset(0 100% 0 0);
		animation: textFillReveal 3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
	}

	.recruit-apply-page .recruit-apply-form__headline .headline-line:nth-child(1)::after {
		animation-delay: 0.2s;
	}

	.recruit-apply-page .recruit-apply-form__headline .headline-line:nth-child(2)::after {
		animation-delay: 0.6s;
	}

	.recruit-apply-page .recruit-apply-form__headline .headline-line:nth-child(3)::after {
		animation-delay: 1s;
	}

	@keyframes textFillReveal {
		from {
			clip-path: inset(0 100% 0 0);
		}
		to {
			clip-path: inset(0 0 0 0);
		}
	}
}

.recruit-apply-page .recruit-apply-form__desc {
	font-size: clamp(16px, 1.6vw, 20px);
	line-height: 1.6;
	color: #222;
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-weight: 700;
}

.recruit-apply-page .recruit-apply-form__desc p {
	margin: 0 0 16px;
}

.recruit-apply-page .recruit-apply-form__desc p:last-child {
	margin: 0;
}

.recruit-apply-page .recruit-apply-form__desc ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 5;
}
.recruit-apply-page .recruit-apply-form__desc ul li {
	font-size: clamp(14px, 1.6vw, 16px);
    font-weight: 400;
	line-height: 1.75;
	color: #333;
	padding-left: 15px;
	position: relative;
    margin-bottom:0;
}
.recruit-apply-page .recruit-apply-form__desc ul:last-child {
	margin-bottom: 0;
}
.recruit-apply-page .recruit-apply-form__desc ul li:before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--c-primary);
	font-weight: 700;
}

/* Right Form Card */
.recruit-apply-page .recruit-apply-form__card {
	position: relative;
	z-index: 1;
}

.recruit-apply-page .recruit-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.recruit-apply-page .form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px 20px;
}

.recruit-apply-page .form-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.recruit-apply-page .form-field--full {
	grid-column: 1 / -1;
}

.recruit-apply-page .form-field label {
	font-size: 18px;
	font-weight: 600;
	color: #1e293b;
	display: flex;
	align-items: center;
	gap: 4px;
}

.recruit-apply-page .form-field .required {
	color: #ef4444;
	font-size: 14px;
}

.recruit-apply-page .form-field input[type="text"],
.recruit-apply-page .form-field input[type="tel"],
.recruit-apply-page .form-field input[type="email"],
.recruit-apply-page .form-field select,
.recruit-apply-page .form-field textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	font-size: 15px;
	font-family: 'Pretendard Variable', -apple-system, sans-serif;
	color: #0f172a;
	background: #ffffff;
	transition: all 0.2s ease;
}

.recruit-apply-page .form-field input:focus,
.recruit-apply-page .form-field select:focus,
.recruit-apply-page .form-field textarea:focus {
	outline: none;
	border-color: var(--c-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.recruit-apply-page .form-field textarea {
	resize: vertical;
	min-height: 120px;
	line-height: 1.6;
	resize: none;
}

.recruit-apply-page .form-field select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 40px;
}

.recruit-apply-page .form-hint {
	font-size: 13px;
	color: #64748b;
	margin-top: -4px;
}

/* File Input Styling */
.recruit-apply-page .file-input-wrapper {
	position: relative;
}

.recruit-apply-page .file-input-wrapper input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.recruit-apply-page .file-input-label {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	background: #f8fafc;
	cursor: pointer;
	transition: all 0.2s ease;
	font-weight: 400;
}

.recruit-apply-page .file-input-label:hover {
	border-color: var(--c-primary, #2563eb);
	background: #f0f9ff;
}

.recruit-apply-page .file-input-label svg {
	color: var(--c-primary, #2563eb);
	flex-shrink: 0;
}

.recruit-apply-page .file-input-text {
	font-size: 15px;
	color: #64748b;
}

.recruit-apply-page .file-input-wrapper input[type="file"]:focus + .file-input-label {
	outline: none;
	border-color: var(--c-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* Form Agreements */
.recruit-apply-page .form-agreements {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	background: #f8fafc;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}

.recruit-apply-page .form-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.recruit-apply-page .form-checkbox input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin-top: 2px;
	cursor: pointer;
	accent-color: var(--c-primary, #2563eb);
	flex-shrink: 0;
}

.recruit-apply-page .form-checkbox label {
	font-size: 14px;
	color: #475569;
	line-height: 1.6;
	cursor: pointer;
	font-weight: 400;
}

.recruit-apply-page .agreement-link {
	color: var(--c-primary, #2563eb);
	text-decoration: underline;
	font-weight: 600;
}

.recruit-apply-page .agreement-note {
	font-size: 12px;
	color: #64748b;
	line-height: 1.5;
	margin: -4px 0 8px 30px;
}

/* Submit Button */
.recruit-apply-page .recruit-form__submit {
	width: 100%;
	padding: 16px 32px;
	background: var(--c-primary, #2563eb);
	color: #ffffff;
	border: none;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: all 0.3s ease;
	margin-top: 8px;
}

.recruit-apply-page .recruit-form__submit:hover {
	background: #1d4ed8;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}

.recruit-apply-page .recruit-form__submit:active {
	transform: translateY(0);
}

.recruit-apply-page .recruit-form__submit svg {
	transition: transform 0.3s ease;
}

.recruit-apply-page .recruit-form__submit:hover svg {
	transform: translateX(4px);
}

/* ========================================
   Responsive: Tablet
   ======================================== */
@media (max-width: 1280px) {
	.recruit-apply-page .recruit-apply-intro {
		padding: 80px 0;
	}

	.recruit-apply-page .recruit-apply-intro__container {
		grid-template-columns: 1fr;
		gap: 30px;
	}
    .recruit-apply-page .recruit-apply-areas__title {
        margin-bottom:0;
    }
	.recruit-apply-page .recruit-apply-intro__text {
		gap: 24px;
	}

	.recruit-apply-page .recruit-apply-intro__media {
		justify-content: center;
	}

	.recruit-apply-page .recruit-apply-intro__media img {
		max-width: 80%;
	}

	.recruit-apply-page .recruit-apply-areas {
		padding: 80px 0;
	}

	.recruit-apply-page .recruit-apply-areas__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.recruit-apply-page .recruit-apply-form {
		padding: 80px 0;
	}

	.recruit-apply-page .recruit-apply-form__grid {
		grid-template-columns: 1fr;
	}

	.recruit-apply-page .recruit-apply-form__intro {
		position: static;
	}
    .recruit-apply-page .recruit-apply-form__headline {
        margin-bottom:20px;
    }
    .recruit-apply-page .recruit-apply-form__desc p {
        margin-bottom:0;
    }

	.recruit-apply-page .form-field label {
		font-size: 16px;
	}
}

/* ========================================
   Responsive: Mobile
   ======================================== */
@media (max-width: 768px) {
	.recruit-apply-page .recruit-apply-intro {
		padding: 0 0 40px;
	}
    .recruit-apply-page .recruit-apply-form:before {
        display: none;
    }

	.recruit-apply-page .recruit-apply-intro__container {
		gap: 15px;
        padding:0 15px;
	}

	.recruit-apply-page .recruit-apply-intro__text {
		gap: 10px;
	}

	.recruit-apply-page .recruit-apply-intro__label .label-bar {
		width: 24px;
		height: 2px;
	}

	.recruit-apply-page .recruit-apply-intro__label .label-text {
		font-size: 13px;
	}

	.recruit-apply-page .recruit-apply-intro__title {
		font-size: 20px;
		line-height: 1.4;
	}

	.recruit-apply-page .recruit-apply-intro__desc {
		gap: 16px;
	}

	.recruit-apply-page .recruit-apply-intro__desc p {
		font-size: 14px;
		line-height: 1.7;
	}

	.recruit-apply-page .recruit-apply-intro__media img {
		max-width: 100%;
	}

	.recruit-apply-page .recruit-apply-areas {
		padding: 40px 0;
	}
    .recruit-apply-page .recruit-apply-areas__container {
        padding:0 15px;
    }
	.recruit-apply-page .recruit-apply-areas__title {
		font-size: 18px;
		margin-bottom: 0;
	}

	.recruit-apply-page .recruit-apply-areas__subtitle {
		font-size: 14px;
		margin-bottom: 20px;
	}

	.recruit-apply-page .recruit-apply-areas__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.recruit-apply-page .recruit-apply-areas__card {
		padding: 30px 20px;
        border-radius: 10px;
	}

	.recruit-apply-page .recruit-apply-areas__card-header {
		margin-bottom: 15px;
		padding-bottom: 10px;
        gap:10px;
	}

	.recruit-apply-page .recruit-apply-areas__card-number {
		font-size: 20px;
	}

	.recruit-apply-page .recruit-apply-areas__card-title {
		font-size: 16px;
	}

	.recruit-apply-page .recruit-apply-areas__card-list {
		gap: 3px;
	}

	.recruit-apply-page .recruit-apply-areas__card-list li {
		font-size: 14px;
	}

	.recruit-apply-page .recruit-apply-form {
		padding: 40px 0;
	}

    .recruit-apply-page .recruit-apply-form__container {
        padding:0 15px;
    }

	.recruit-apply-page .recruit-apply-form__headline {
		font-size: 20px;
		margin: 0 0 10px;
	}

	.recruit-apply-page .recruit-apply-form__desc {
		font-size: 14px;
		line-height: 1.6;
        gap:10px;
	}

    .recruit-apply-page .recruit-form {
        gap:20px;
    }
	.recruit-apply-page .form-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.recruit-apply-page .form-field label {
		font-size: 15px;
	}

	.recruit-apply-page .form-field input,
	.recruit-apply-page .form-field select,
	.recruit-apply-page .form-field textarea {
		font-size: 14px;
		padding: 10px 14px;
	}

	.recruit-apply-page .form-hint {
		font-size: 12px;
	}

	.recruit-apply-page .file-input-label {
		padding: 10px 14px;
	}

	.recruit-apply-page .file-input-text {
		font-size: 14px;
	}

	.recruit-apply-page .form-agreements {
		padding: 20px 16px;
	}

	.recruit-apply-page .form-checkbox label {
		font-size: 13px;
	}

	.recruit-apply-page .agreement-note {
		font-size: 11px;
		margin-left: 20px;
	}

	.recruit-apply-page .recruit-form__submit {
		padding: 14px 28px;
		font-size: 15px;
	}
}

/* ========================================
   ENERGY PART Page Styles
   ======================================== */

.energy-part-page {
	padding: 0;
}

.energy-part-section {
	padding: 160px 0;
}

.energy-part-section:last-child {
	border-bottom: none;
}

.energy-part-section__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 30px;
}

.energy-part-section__header {
	margin-bottom: 60px;
}

.energy-part-section__title {
	font-size: 36px;
	font-weight: 700;
	color: #000;
	margin-bottom: 12px;
	line-height: 1.3;
}

.energy-part-section__desc {
	font-size: 18px;
	color: #333;
	line-height: 1.6;
}

.energy-part-section__body {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* Section 1: String Guardian Layout */
.energy-part-section--string-guardian .energy-part-section__body {
	flex-direction: row;
	align-items: center;
	gap: 80px;
}

.energy-part-section--string-guardian .energy-part-section__images {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	flex: 1;
}

.energy-part-section--string-guardian .energy-part-section__features {
	flex: 1;
}

/* Section 2: Monitoring Layout */
.energy-part-section--monitoring {
	background: #f9f9f9;
}

.energy-part-monitoring__features-wrapper {
	margin-bottom: 0;
}

.energy-part-monitoring__features-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5px 80px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.energy-part-features__note {
	font-size: 14px;
	color: var(--c-primary);
	margin-top: 24px;
	font-style: normal;
	font-weight: 500;
}

.energy-part-section--monitoring .energy-part-section__bottom-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
}

.energy-part-monitoring__dashboard {
	width: 100%;
	background: #000;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.energy-part-monitoring__dashboard img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	border-radius: 4px;
}

.energy-part-monitoring__hardware {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.energy-part-hardware-item {
    height:100%;
	display: flex;
	flex-direction: column;
    align-items: center;
    justify-content: center;
	gap: 0;
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.energy-part-hardware-item .energy-part-image-card {
    border:0;
    border-radius: 0;
    padding:0;
    box-shadow: none;
}
.energy-part-hardware-item__caption {
	font-size: 16px;
	font-weight: 500;
	color: #111827;
	text-align: center;
}

/* Section 3 & 4: Datalogger & Sensor Layout */
.energy-part-section--sensor {
    padding-top: 0;
}
.energy-part-section--sensor:before {
    content: 'GLENTEC';
    position: absolute;
    bottom: 0;
    left: 0;
    font-size:clamp(14vw, 10vw, 16vw);
    font-weight: 800;
    color: #f9f9f9;
    letter-spacing: -.5rem;
    line-height:1;
}
.energy-part-section--datalogger .energy-part-section__images,
.energy-part-section--sensor .energy-part-section__images {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.energy-part-section--sensor .energy-part-section__container {
    display:flex;
    gap:20px;
    position:relative;
    z-index:2;
}
.energy-part-section--sensor .energy-part-section__header {
    flex:1;
}
.energy-part-section--sensor .energy-part-section__body {
    flex:1;
}
.energy-part-section--datalogger .energy-part-section__header {
    margin-bottom:30px;
}

/* Image Cards */
.energy-part-image-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
    background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.energy-part-image-card img {
	display: block;
    height:auto;
    width:100%;
}

.energy-part-image-card--small {
	min-height: 150px;
	padding: 15px;
}

.energy-part-image-card--wide {
	min-height: 180px;
}

.energy-part-image-card--square {
	min-height: 200px;
	aspect-ratio: 1;
    padding:40px;
}

/* Features List */
.energy-part-features__title {
	font-size: 24px;
	font-weight: 700;
	color: #111827;
	margin-bottom: 20px;
}

.energy-part-features__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.energy-part-features__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-left: 15px;
	position: relative;
}

.energy-part-features__item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--c-primary);
}

.energy-part-features__key {
	font-size: 18px;
	font-weight: 600;
	color: var(--c-primary);
	line-height: 1.4;
}

.energy-part-features__text {
	font-size: 16px;
	color: #333;
	line-height: 1.6;
}

.energy-part-features__note {
	font-size: 18px;
	color: var(--c-primary);
	margin-top: 16px;
}

/* Components List */
.energy-part-components__title {
	font-size: 24px;
	font-weight: 700;
	color: #111827;
	margin-bottom: 24px;
}

.energy-part-components__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.energy-part-components__list li {
	font-size: 15px;
	color: #333;
	line-height: 1.6;
	padding-left: 20px;
	position: relative;
}

.energy-part-components__list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--c-primary);
	font-size: 18px;
	line-height: 1;
}

/* Tablet Responsive */
@media (max-width: 1024px) {
	.energy-part-section {
		padding: 60px 0;
	}
    .energy-part-section--sensor {
        padding-top: 0;
    }
	.energy-part-section__container {
		padding: 0 20px;
	}
    .energy-part-section__header {
        margin-bottom:30px;
    }
	.energy-part-section__title {
		font-size: 32px;
	}

	.energy-part-section--string-guardian .energy-part-section__body {
		flex-direction: column;
		gap: 30px;
	}
    .energy-part-image-card--square {
        padding:20px;
    }
	.energy-part-section--string-guardian .energy-part-section__images {
		flex: none;
		width: 100%;
	}
    .energy-part-features__list {
        gap:10px;
    }
	.energy-part-monitoring__features-list {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.energy-part-section--monitoring .energy-part-section__bottom-row {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.energy-part-monitoring__hardware {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Mobile Responsive */
@media (max-width: 768px) {
	.energy-part-section {
		padding: 40px 0;
	}
    .energy-part-section--sensor {
        padding-top: 0;
    }
	.energy-part-section__container {
		padding: 0 15px;
	}
    .energy-part-section--sensor .energy-part-section__container {
        flex-direction: column;
        gap:0;
    }
    .energy-part-section--sensor:before {
        display:none;
    }
	.energy-part-section__header {
		margin-bottom: 20px;
	}

	.energy-part-section__title {
		font-size: 20px;
		margin-bottom: 10px;
	}

	.energy-part-section__desc {
		font-size: 14px;
	}

	.energy-part-section__body {
		gap: 15px;
	}
    .energy-part-features__item {
        padding-left: 10px;
    }
    .energy-part-features__item::before {
        top: 8px;
        width: 4px;
        height: 4px;
    }

	.energy-part-section--string-guardian .energy-part-section__images {
        gap: 10px;
    }
	.energy-part-section--datalogger .energy-part-section__images {
        grid-template-columns: 1fr;
		gap: 10px;
	}
    .energy-part-section--sensor .energy-part-section__images {
        gap:10px;
        grid-template-columns: repeat(2,1fr);
    }

	.energy-part-monitoring__features-wrapper {
		margin-bottom: 15px;
	}

	.energy-part-monitoring__features-list {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.energy-part-section--monitoring .energy-part-section__bottom-row {
		gap: 10px;
	}

	.energy-part-monitoring__hardware {
		gap: 10px;
	}

	.energy-part-monitoring__dashboard {
		padding: 15px;
	}

	.energy-part-image-card {
		min-height: 180px;
		padding: 15px;
	}

	.energy-part-image-card--small {
		min-height: auto;
		padding: 12px;
	}
    .energy-part-hardware-item__caption {
        font-size: 14px;
    }

	.energy-part-image-card--wide {
		min-height: 160px;
	}

	.energy-part-image-card--square {
		min-height: auto;
	}

	.energy-part-features__title,
	.energy-part-components__title {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.energy-part-features__list {
		gap: 5px;
	}

	.energy-part-features__key {
		font-size: 15px;
	}

	.energy-part-features__text {
		font-size: 13px;
	}

	.energy-part-components__list li {
		font-size: 14px;
	}

	.energy-part-features__note {
		font-size: 13px;
		margin-top: 10px;
	}
}

/* ========================================
   PV Page Styles (products-pv.html)
   ======================================== */

/* 공통 PV 섹션 컨테이너 */
.pv-page {
	width: 100%;
}

.pv-section {
	padding: clamp(80px, 10vw, 160px) 0;
	position: relative;
}

.pv-section__container {
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 clamp(15px, 5vw, 30px);
}

/* 공통 섹션 타이틀 */
.pv-section__title {
	font-size: clamp(28px, 4vw, 60px);
	font-weight: 800;
	color: #000;
	margin-bottom: 16px;
	line-height: 1.2;
}

.pv-section__desc {
	font-size: clamp(14px, 2vw, 18px);
	color: #000;
}

/* 공통 라벨 */
.pv-label {
	display: inline-block;
	font-size: clamp(12px, 1.5vw, 14px);
	color: var(--c-primary);
	font-weight: 600;
	margin-bottom: 8px;
	letter-spacing: 0.5px;
}

/* 공통 Placeholder */
.pv-placeholder {
	background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: clamp(14px, 2vw, 16px);
	text-align: center;
	padding: 20px;
	border-radius: 8px;
	border: 1px dashed #ddd;
}

.pv-placeholder--logo {
	aspect-ratio: 3/2;
	font-size: 14px;
}

.pv-placeholder--diagram {
	aspect-ratio: 16/7;
	font-size: clamp(14px, 2vw, 18px);
}

.pv-placeholder--thumb {
	aspect-ratio: 4/3;
	font-size: 12px;
}

.pv-placeholder--case {
	aspect-ratio: 16/10;
}

.pv-placeholder--system-diagram {
	aspect-ratio: 16/9;
}

.pv-placeholder--large-visual {
	aspect-ratio: 16/10;
	min-height: 400px;
}

/* Media 컴포넌트 */
.pv-media {
	margin: 0;
}

.pv-media--wide {
	margin: 40px 0;
}

.pv-media--diagram {
	margin: 20px 0;
}

.pv-media__caption {
	margin-top: 12px;
	font-size: clamp(13px, 1.8vw, 15px);
	color: #666;
	text-align: center;
	line-height: 1.5;
}

/* ========================================
   Section A: Applied technology and quality certification
   ======================================== */
.pv-section--cert {
	background: #fff;
}

/* 섹션 헤더 */
.pv-cert__title {
	font-size: clamp(28px, 4vw, 60px);
	font-weight: 800;
	color: #000;
	line-height: 1.2;
	margin-bottom: 16px;
}

.pv-cert__subtitle {
	font-size: clamp(14px, 2vw, 18px);
	color: #000;
	font-weight: 400;
	margin: 0;
}

/* Row 공통 */
.pv-cert__row {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	padding: clamp(40px, 5vw, 80px) 0;
	border-bottom: 1px solid #e5e5e5;
}

.pv-cert__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* 좌측 라벨 영역 */
.pv-cert__label {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pv-cert__label-title {
	font-size: clamp(22px, 2vw, 36px);
	font-weight: 700;
	color: #111827;
	margin: 0;
	line-height: 1.3;
}

.pv-cert__label-eng {
	font-size: clamp(13px, 1.8vw, 16px);
	color: var(--c-primary);
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
}

/* 우측 본문 영역 */
.pv-cert__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* 특허 - 기관 정보 */
.pv-cert__org {
	display: flex;
	align-items: center;
	gap: 16px;
}

.pv-cert__org-logo {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
}

.pv-cert__org-logo svg {
	width: 100%;
	height: 100%;
}

.pv-cert__org-name {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 700;
	color: #111827;
}

/* 특허 - 설명 */
.pv-cert__desc {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.pv-cert__desc p {
	font-size: clamp(14px, 1.6vw, 18px);
	color: #222;
	line-height: 1.7;
	margin: 0;
}

/* 기술인증 - 아이템 리스트 */
.pv-cert__items {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pv-cert__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.7;
}

.pv-cert__tag {
	display: inline-block;
	font-size: clamp(16px, 1.6vw, 18px);
	font-weight: 700;
	color: var(--c-primary);
	flex-shrink: 0;
}

.pv-cert__text {
	font-size: clamp(14px, 1.6vw, 18px);
	color: #222;
	flex: 1;
}

/* 기술인증 - 로고 그리드 */
.pv-cert__logos {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 30px;
}

.pv-cert__logo-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: clamp(15px, 2vw, 20px) clamp(20px, 3vw, 30px);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3.6/2;
	transition: all 0.3s ease;
}

.pv-cert__logo-card:hover {
	border-color: #ccc;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	transform: translateY(-2px);
}

.pv-cert__logo-card img {
	max-width: 100%;
	max-height: 70px;
	object-fit: contain;
}

/* ========================================
   Section B: Product Features
   ======================================== */
.pv-section--features {
	background: #f9f9f9;
}

.pv-features__img {
    margin-top:clamp(20px, 4vw, 60px);
    display:flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding:clamp(20px, 3vw, 40px);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.pv-features__img img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
.pv-features__note {
	font-size: clamp(14px, 2vw, 28px);
	color: #222;
	line-height: 1.4;
	word-break: keep-all;
    text-align:center;
    margin:clamp(20px, 3vw, 40px) 0 0;
    font-weight: 700;
}

/* ========================================
   Section C: NET 기반 안전/품질/확장
   ======================================== */
/* ========================================
   Section C: NET 기반 안전/품질/확장 (esg-tech-areas 스타일 기반)
   ======================================== */

.pv-page .pv-section--net-points {
	padding: clamp(60px, 8vw, 160px) 0;
	background: #fff;
}

.pv-net__head {
    margin-bottom:clamp(20px, 4vw, 60px);
}
/* 중앙 타이틀 */
.pv-page .pv-net__title {
	font-size: clamp(20px, 3vw, 40px);
	font-weight: 800;
	color: #000;
	text-align: center;
	margin: 0 0 clamp(50px, 8vw, 100px);
	line-height: 1.3;
	word-break: keep-all;
}

/* 그룹 래퍼 */
.pv-page .pv-net__groups {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 3vw, 40px);
}

/* 각 그룹 (2열 레이아웃) */
.pv-page .pv-net__group {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
    padding-bottom:clamp(20px, 3vw, 40px);
    border-bottom: 1px solid #e0e0e0;
}
.pv-page .pv-net__group:last-child {
    padding-bottom:0;
    border-bottom: none;
}

/* 좌측: 그룹 타이틀 영역 */
.pv-page .pv-net__group-left {
	position: sticky;
	top: 120px;
}


.pv-page .pv-net__group-kor {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	color: #111;
	margin: 0 0 8px;
	word-break: keep-all;
}

.pv-page .pv-net__group-eng {
	font-size: clamp(13px, 1.8vw, 16px);
	color: var(--c-primary);
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
	word-break: keep-all;
}
.pv-page .pv-net__group-kor-sub {
    display: block;
	font-size: clamp(12px, 1.4vw, 14px);
	color: #999;
	line-height: 1.6;
    font-weight:600;
	margin: clamp(10px, 1.5vw, 10px) 0 0;
	word-break: keep-all;
}

.pv-page .pv-net__group-left .pv-net__mark {
    width:100%;
    max-width:400px;
	display: flex;
	gap: clamp(10px, 2vw, 20px);
    margin:clamp(20px, 3vw, 40px) 0 0;
}
.pv-page .pv-net__group-left .pv-net__mark .mark__item {
	display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.pv-page .pv-net__group-left .pv-net__mark .mark__item img {
	width: auto;
    height:clamp(40px, 5vw, 60px);
    object-fit: contain;
}

/* 우측: 항목 리스트 */
.pv-page .pv-net__group-right {
	min-width: 0;
}

.pv-page .pv-net__list {
	display: flex;
	flex-direction: column;
}

.pv-page .pv-net__item {
	display: flex;
	gap: clamp(15px, 2vw, 30px);
	padding: clamp(15px, 2vw, 30px) 0;
	border-bottom: 1px solid #e0e0e0;
	align-items: start;
}

.pv-page .pv-net__item:first-child {
	padding-top: 0;
}

.pv-page .pv-net__item:last-child {
	border-bottom: none;
    padding-bottom:0;
}

/* 아이콘 (빨간 원형) */
.pv-page .pv-net__icon {
	flex-shrink: 0;
	width: clamp(48px, 6vw, 84px);
	height: clamp(48px, 6vw, 84px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--c-primary);
	border-radius: 50%;
	font-size: clamp(24px, 3vw, 40px);
	color: #fff;
}
.pv-page .pv-net__icon img {
	width: 50%;
	height: 50%;
	object-fit: contain;
}

/* 텍스트 영역 */
.pv-page .pv-net__text {
	flex: 1;
	min-width: 0;
}

.pv-page .pv-net__item-title {
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 700;
	line-height: 1.4;
	color: #000;
	margin-bottom:clamp(5px, 1vw, 10px);
	word-break: keep-all;
}
.pv-page .pv-net__item-title > span {
	font-size: clamp(14px, 1.6vw, 18px);
	color: #222;
	line-height: 1.6;
	margin: 0;
	word-break: keep-all;
}

.pv-page .pv-net__item-desc {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.6;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

/* ========================================
   Section D: Background and necessity
   ======================================== */
.pv-section--background {
	background: #fafafa;
}

.pv-background__block {
	margin-bottom: 80px;
}

.pv-background__block:last-child {
	margin-bottom: 0;
}

.pv-background__content {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(30px, 5vw, 60px);
	align-items: flex-start;
}

.pv-background__text {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pv-background__subtitle {
	font-size: clamp(20px, 3vw, 32px);
	font-weight: 700;
	color: #111827;
	line-height: 1.3;
}

.pv-background__desc {
	font-size: clamp(14px, 2vw, 17px);
	color: #555;
	line-height: 1.8;
}

.pv-background__gallery {
	width: 100%;
}

.pv-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.pv-gallery-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pv-gallery-caption {
	font-size: clamp(12px, 1.5vw, 14px);
	color: #666;
	text-align: center;
	margin: 0;
}

/* D-2 시스템 구성도 */
.pv-background__diagram-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* D-3 AI 아이콘 */
.pv-background__ai-wrap {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pv-ai-icons {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(20px, 4vw, 40px);
	justify-content: center;
	margin-top: 40px;
}

.pv-ai-icon-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.pv-ai-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--c-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	transition: transform 0.3s;
}

.pv-ai-icon-item:hover .pv-ai-icon {
	transform: scale(1.1);
}

.pv-ai-icon-label {
	font-size: clamp(13px, 1.8vw, 15px);
	color: #333;
	text-align: center;
	margin: 0;
	font-weight: 600;
}

/* ========================================
   Section D: Background (새 UI - 재구성)
   ======================================== */
.pv-page .pv-section--background {
	background: #fff;
    padding-top:0;
}

/* 섹션 헤더 */
.pv-page .pv-bg__head {
	margin-bottom: clamp(30px, 6vw, 80px);
}

.pv-page .pv-bg__title {
	font-size: clamp(24px, 4vw, 60px);
	font-weight: 800;
	color: #000;
	line-height: 1.2;
	margin: 0 0 clamp(10px, 2vw, 20px);
}

.pv-page .pv-bg__subtitle {
	font-size: clamp(14px, 2vw, 18px);
	color: #000;
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
}

/* 본문: 2열 레이아웃 */
.pv-page .pv-bg__body {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
}

/* 좌측: 소제목 */
.pv-page .pv-bg__left {
	position: sticky;
	top: 120px;
}

.pv-page .pv-bg__k-title {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	color: #111;
	margin: 0 0 8px;
	word-break: keep-all;
}

.pv-page .pv-bg__e-title {
	font-size: clamp(13px, 1.8vw, 16px);
	color: var(--c-primary);
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
	word-break: keep-all;
}

/* 우측: 본문 + 그리드 */
.pv-page .pv-bg__right {
	min-width: 0;
}

.pv-page .pv-bg__lead {
	font-size: clamp(17px, 2.2vw, 28px);
	font-weight: 800;
	line-height: 1.4;
	color: #000;
	margin: 0 0 clamp(5px, 1vw, 10px);
	word-break: keep-all;
}

.pv-page .pv-bg__desc {
	margin-bottom: clamp(20px, 3vw, 40px);
}

.pv-page .pv-bg__desc p {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.6;
	color: #222;
	margin: 0 0 12px;
	word-break: keep-all;
}

.pv-page .pv-bg__desc p:last-child {
	margin-bottom: 0;
}

.pv-page .pv-bg__desc strong {
	font-weight: 800;
    font-size: clamp(15px, 1.6vw, 20px);
}

/* 이미지 카드 그리드 (3열 x 3행 = 9개) */
.pv-page .pv-bg__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(10px, 1vw, 15px);
}

.pv-page .pv-bg__card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s ease;
}

.pv-page .pv-bg__card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	transform: translateY(-2px);
}

/* 썸네일 (placeholder) */
.pv-page .pv-bg__thumb {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #999;
	position: relative;
	overflow: hidden;
}

.pv-page .pv-bg__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 캡션 */
.pv-page .pv-bg__cap {
	padding: clamp(12px, 2vw, 16px) clamp(15px, 2vw, 20px);
	font-size: clamp(13px, 1.6vw, 15px);
	font-weight: 500;
	color: #333;
	text-align: center;
	background: #fff;
	border-top: 1px solid #f0f0f0;
	line-height: 1.4;
}

/* ========================================
   Section E: 구성품의 전력 낭비 (새 UI)
   ======================================== */
.pv-page .pv-section--cases {
	background: #f8f9fa;
}

/* 상단 2열 헤더 */
.pv-page .pv-cases__head {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
	margin-bottom: clamp(20px, 4vw, 80px);
}

/* 좌측: 제목 */
.pv-page .pv-cases__title {
	position: sticky;
	top: 120px;
}

.pv-page .pv-cases__k-title {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	color: #111;
	margin: 0 0 8px;
	word-break: keep-all;
}

.pv-page .pv-cases__e-title {
	font-size: clamp(13px, 1.8vw, 16px);
	color: var(--c-primary);
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
	word-break: keep-all;
}

/* 우측: 설명 */
.pv-page .pv-cases__desc {
	min-width: 0;
}

.pv-page .pv-cases__lead {
	font-size: clamp(15px, 2.2vw, 28px);
	font-weight: 800;
	line-height: 1.4;
	color: #000;
	margin: 0 0 clamp(10px, 2vw, 20px);
	word-break: keep-all;
}

.pv-page .pv-cases__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pv-page .pv-cases__text p {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.6;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

.pv-page .pv-cases__text strong {
	font-weight: 700;
	color: var(--c-primary);
}

/* 하단 큰 라운드 카드 */
.pv-page .pv-cases__card {
	background: #fff;
	border-radius: clamp(16px, 3vw, 24px);
	padding: clamp(30px, 5vw, 80px) clamp(20px, 4vw, 60px);
	box-shadow: 0 2px 16px rgba(0,0,0,0.04);
}

.pv-page .pv-cases__card-inner {
	display: grid;
	grid-template-columns: 0.6fr 1fr;
	gap: clamp(40px, 6vw, 80px);
	align-items: center;
}

/* 좌측: 원형 썸네일 */
.pv-page .pv-cases__thumb {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(20px, 3vw, 30px);
}

.pv-page .pv-cases__thumb-circle {
	width: 100%;
	max-width: 400px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 8px solid #fff;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.pv-page .pv-cases__thumb-circle img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pv-page .pv-cases__thumb-cap {
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	margin: 0;
}

.pv-page .pv-cases__cap-normal {
	color: #333;
}

.pv-page .pv-cases__cap-em {
	color: var(--c-primary);
	font-weight: 700;
}

/* 우측: 큰 도식 이미지 */
.pv-page .pv-cases__diagram {
	width: 100%;
}

.pv-page .pv-cases__diagram-wrap {
	width: 100%;
	background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
	border-radius: 12px;
	padding: clamp(20px, 3vw, 40px);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 300px;
}

.pv-page .pv-cases__diagram-wrap img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
}

/* ========================================
   Section F: 하단 비주얼
   ======================================== */
.pv-section--visual {
	background: #fafafa;
}

/* ========================================
   Section F: 안전사고 발생 위험 (새 UI)
   ======================================== */
.pv-page .pv-section--visual {
	background: #fff;
}

/* 상단 2열 블록 */
.pv-page .pv-visual__top {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
}

/* 좌측: 타이틀 */
.pv-page .pv-visual__title {
	position: sticky;
	top: 120px;
}

.pv-page .pv-visual__k-title {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	color: #111;
	margin: 0 0 8px;
	word-break: keep-all;
}

.pv-page .pv-visual__e-title {
	font-size: clamp(13px, 1.8vw, 16px);
	color: var(--c-primary);
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
	word-break: keep-all;
}

/* 우측: 설명 + 정의 */
.pv-page .pv-visual__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 3vw, 30px);
}

.pv-page .pv-visual__intro {
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.6;
	color: #000;
	margin: 0;
    font-weight:800;
	word-break: keep-all;
}

/* 정의 항목 3개 */
.pv-page .pv-visual__defs {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 3vw, 30px);
}

.pv-page .pv-visual__def {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pv-page .pv-visual__def-title {
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 800;
	line-height: 1.4;
	color: #000;
	margin: 0;
	word-break: keep-all;
}

.pv-page .pv-visual__def-text {
	font-size: clamp(16px, 1.6vw, 18px);
	line-height: 1.6;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

/* 아이콘 라인 5개 */
.pv-page .pv-visual__icons {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(10px, 1.5vw, 20px);
	margin-top: clamp(10px, 2vw, 20px);
}

.pv-page .pv-visual__icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

.pv-page .pv-visual__icon-circle {
	width: clamp(48px, 8vw, 120px);
	height: clamp(48px, 8vw, 120px);
	border-radius: 50%;
	background: var(--c-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(28px, 4vw, 36px);
}
.pv-page .pv-visual__icon-circle img {
	width: 50%;
	height: 50%;
	object-fit: contain;
}
.pv-page .pv-visual__icon-label {
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 500;
	color: #333;
	text-align: center;
	margin: 0;
	white-space: nowrap;
}



/* ========================================
   Section F: 안전사고 발생 위험 (새 UI)
   ======================================== */

.pv-section--news {
    background:#f9f9f9;
}

.pv-news {
    display:grid;
    grid-template-columns: 0.5fr 1fr;
    gap:clamp(40px, 8vw, 120px);
    align-items: start;
}

/* 하단 기사 리스트 */
.pv-page .pv-visual__news {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.pv-page .pv-visual__news-item {
	display: flex;
	gap: clamp(20px, 3vw, 40px);
	padding: clamp(24px, 3vw, 40px) 0;
	border-bottom: 1px solid #e0e0e0;
	align-items: flex-start;
}
.pv-page .pv-visual__news-item:first-child {
    padding-top:0;
}
.pv-page .pv-visual__news-item:last-child {
    padding-bottom:0;
    border-bottom:none;
}

/* 썸네일 */
.pv-page .pv-visual__thumb {
	flex-shrink: 0;
	width: clamp(240px, 20vw, 280px);
	aspect-ratio: 4/2.4;
	border-radius: 12px;
	overflow: hidden;
	background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
    position:relative;
}
.pv-page .pv-visual__thumb:before {
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.2);
}
.pv-page .pv-visual__thumb-label {
    position:absolute;
    right:20px;
    bottom:20px;
    font-size: clamp(14px, 1.6vw, 16px);
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin: 0;
    white-space: nowrap;
}

.pv-page .pv-visual__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 기사 본문 */
.pv-page .pv-visual__news-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pv-page .pv-visual__news-title {
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 700;
	line-height: 1.4;
	color: #111;
	margin: 0;
	word-break: keep-all;
}

.pv-page .pv-visual__news-text {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.7;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

.pv-page .pv-visual__news-meta p {
	font-size: clamp(13px, 1.4vw, 16px);
	color: #666;
	line-height: 1.5;
	margin: 0 0 4px;
}

.pv-page .pv-visual__news-meta p:last-child {
	margin-bottom: 0;
}
.pv-net__visual {
    position:relative;
    width:100%;
    height:100vh;
    min-height:960px;
    position:relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    margin-bottom:clamp(60px, 8vw, 120px);
}
.pv-net__visual .inner {
    position:relative;
    top:0;
    left:0;
    width:100%;
    max-width:1640px;
    padding:clamp(20px, 5vw, 80px) clamp(15px, 5vw, 30px);
    height:100%;
    margin:0 auto;
    display:flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    text-align:right;
    gap:clamp(20px, 3vw, 40px);
}
.pv-net__visual-caption {
    font-size: clamp(18px, 2.4vw, 48px);
    font-weight: 800;
    line-height: 1.4;
    color: #fff;
    margin: 0;
    word-break: keep-all;
}
.pv-net__visual-card {
    border-radius: 12px;
    overflow: hidden;
    width:100%;
    max-width:clamp(400px, 50vw, 600px);
}

/* ========================================
   Responsive: Tablet
   ======================================== */
@media screen and (max-width: 1024px) {
	.pv-section {
		padding: clamp(40px, 8vw, 80px) 0;
	}

	.pv-cert__row {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 40px 0;
	}

	.pv-cert__logos {
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
        margin-top: 20px;
	}

	.pv-background__content {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.pv-gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.pv-case-card {
		grid-template-columns: 1fr;
	}

	.pv-case-card__image {
		height: 250px;
	}

	.pv-visual__callout {
		display: none;
	}
    .pv-page .pv-visual__news-item {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ========================================
   Responsive: Mobile
   ======================================== */
@media screen and (max-width: 768px) {
	.pv-section {
		padding: 60px 0;
	}
    .pv-section--cert {
        padding-top:0;
    }

	.pv-section__title {
		font-size: clamp(24px, 6vw, 36px);
        margin-bottom:0;
	}

	.pv-cert__title {
		font-size: clamp(28px, 7vw, 48px);
	}

	.pv-cert-cards {
		gap: 16px;
	}

	.pv-cert__title {
		font-size: clamp(24px, 4vw, 38px);
        margin-bottom:5px;
	}

	.pv-cert__row {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 30px 0;
	}

	.pv-cert__label {
        gap:0;
	}
    .pv-cert__items {
        gap:10px;
    }
    
    .pv-cert__item {
        flex-direction: column;
        gap:0;
    }

	.pv-cert__org {
		gap: 10px;
	}
    .pv-cert__org img {
        max-width:140px;
    }

	.pv-cert__org-logo {
		width: 50px;
		height: 50px;
	}

	.pv-cert__logos {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
        margin-top:0;
	}

	.pv-cert__logo-card {
		padding: 15px;
        aspect-ratio:unset;
        border-radius:8px;
	}
	.pv-cert__logo-card img {
		max-height: 50px;
	}

	/* pv-section--net-points 반응형 */
	.pv-page .pv-net__title {
		margin-bottom: 40px;
	}

	.pv-page .pv-net__groups {
		gap: 30px;
	}

	.pv-page .pv-net__group {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pv-page .pv-net__group-left {
		position: static;
	}
    .pv-page .pv-net__group-kor-sub {
        margin-top:5px;
    }
    .pv-page .pv-bg__card {
        border-radius:8px;
    }
	.pv-page .pv-net__item {
		padding: 30px 0;
	}
    .pv-page .pv-net__item-title > span {
        display: block;
    }
    
    .pv-page .pv-net__icon img {
        width: 60%;
        height: 60%;
    }

	.pv-page .pv-net__item:first-child {
		padding-top: 0;
	}

    .pv-news {
        grid-template-columns: 1fr;
        gap:30px;
    }

	/* pv-section--background 반응형 */
	.pv-page .pv-bg__body {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pv-page .pv-bg__left {
		position: static;
	}

	.pv-page .pv-bg__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	/* pv-section--cases 반응형 */
	.pv-page .pv-cases__head {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pv-page .pv-cases__title {
		position: static;
	}

	.pv-page .pv-cases__card-inner {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.pv-page .pv-cases__thumb-circle {
		max-width: 300px;
		margin: 0 auto;
	}
	.pv-page .pv-cases__thumb img {
		max-width:70%;
	}
    .pv-page .pv-cases__text p > br {
        display: none;
    }
	/* pv-section--visual 반응형 */
	.pv-page .pv-visual__top {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pv-page .pv-visual__title {
		position: static;
	}

	.pv-page .pv-visual__icons {
		gap: 8px;
		justify-content: center;
	}
    .pv-page .pv-visual__icon {
        gap:5px;
    }
	.pv-page .pv-visual__news-item {
		flex-direction: column;
		gap: 20px;
	}

	.pv-page .pv-visual__thumb {
		width: 100%;
		max-width: 100%;
	}

	.pv-net-item {
		grid-template-columns: 50px 1fr;
		gap: 16px;
	}
	.pv-net-item__icon {
		width: 50px;
		height: 50px;
		font-size: 24px;
	}

	.pv-divider {
		margin: 40px 0;
	}

	.pv-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.pv-ai-icons {
		gap: 20px;
	}

	.pv-ai-icon {
		width: 60px;
		height: 60px;
		font-size: 28px;
	}

	.pv-case-card {
		border-radius: 8px;
	}

	.pv-case-card__image {
		height: auto;
	}

	.pv-visual__image-wrap {
		margin-bottom: 20px;
	}

	/* pv-section--breakpoint 반응형 */
	.pv-page .pv-breakpoint__head {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pv-page .pv-breakpoint__title {
		position: static;
	}

	.pv-page .pv-breakpoint__media {
		margin-top: 30px;
	}
}

/* ========================================
   Section G: 부품 고장으로 인한 발전 기능 저하
   ======================================== */
.pv-page .pv-section--breakpoint {
	background: #fff;
}

/* 상단 2열 헤더 */
.pv-page .pv-breakpoint__head {
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: clamp(40px, 8vw, 120px);
	align-items: start;
	margin-bottom: clamp(40px, 4vw, 80px);
}

/* 좌측: 타이틀 */
.pv-page .pv-breakpoint__title {
	position: sticky;
	top: 120px;
}

.pv-page .pv-breakpoint__k-title {
	font-size: clamp(18px, 2.4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	color: #111;
	margin: 0 0 8px;
	word-break: keep-all;
}

.pv-page .pv-breakpoint__e-title {
	font-size: clamp(13px, 1.8vw, 16px);
	color: var(--c-primary);
	font-weight: 400;
	margin: 0;
	line-height: 1.4;
	word-break: keep-all;
}

/* 우측: 설명 */
.pv-page .pv-breakpoint__desc {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(12px, 2vw, 20px);
}

.pv-page .pv-breakpoint__lead {
	font-size: clamp(17px, 2.2vw, 28px);
	font-weight: 800;
	line-height: 1.4;
	color: #000;
	margin: 0;
	word-break: keep-all;
}
.pv-page .pv-breakpoint__lead strong {
	font-weight: 700;
    color: var(--c-primary);
}
.pv-page .pv-breakpoint__text {
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.6;
	color: #222;
	margin: 0;
	word-break: keep-all;
}

/* 하단 이미지 카드 */
.pv-page .pv-breakpoint__media {
	margin-top: clamp(40px, 6vw, 80px);
}

.pv-page .pv-breakpoint__media-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: clamp(16px, 3vw, 24px);
	overflow: hidden;
	padding: clamp(15px, 3vw, 40px);
	box-shadow: 0 2px 16px rgba(0,0,0,0.04);
}

.pv-page .pv-breakpoint__media-card img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	border-radius: 8px;
}


@media screen and (max-width: 1024px) {
    .pv-section--breakpoint .pv-breakpoint__media {
        margin-top:0;
    }
}

@media screen and (max-width: 768px) {
    .pv-page .pv-breakpoint__head {
        grid-template-columns: 1fr;
        gap:30px;
        margin-bottom:20px;
    }
    .pv-section--breakpoint .pv-breakpoint__media {
        margin-top:0;
    }
}

/* ========================================
   Section H: Installation Type (설치유형)
   ======================================== */

/* 섹션 배경 */
.pv-page .pv-section--install-type {
	background: #fff;
	padding: 0 0 clamp(60px, 8vw, 160px);
}

/* 헤더 */
.pv-page .pv-install__head {
	margin-bottom: clamp(50px, 8vw, 80px);
}

/* 섹션 헤더 */
.pv-install__title {
	font-size: clamp(24px, 4vw, 60px);
	font-weight: 800;
	color: #000;
	line-height: 1.2;
}

.pv-install__subtitle {
	font-size: clamp(14px, 2vw, 18px);
	color: #000;
	font-weight: 400;
	margin: 0;
}

.pv-page .pv-install__lead {
	font-size: clamp(18px, 2.2vw, 28px);
	font-weight: 800;
	color: #000;
	margin: 0;
	word-break: keep-all;
	line-height: 1.6;
}

/* 그룹 래퍼 */
.pv-page .pv-install__groups {
	display: flex;
	flex-direction: column;
	gap: clamp(15px, 2vw, 30px);
}

/* 개별 그룹 */
.pv-page .pv-install__group {
	width: 100%;
}

/* 그룹 타이틀 */
.pv-page .pv-install__group-title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: clamp(16px, 1.8vw, 20px);
	font-weight: 700;
	color: #000;
	margin: 0 0 clamp(10px, 1.5vw, 15px);
	word-break: keep-all;
}

/* 빨간 점 */
.pv-page .pv-install__dot {
	display: inline-block;
	width: 4px;
	height: 4px;
	background: var(--c-primary, #e74c3c);
	border-radius: 50%;
	flex-shrink: 0;
}

/* 카드 그리드 (PC: 4열) */
.pv-page .pv-install__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(10px, 1vw, 15px);
}

/* 개별 카드 */
.pv-page .pv-install__card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
}

.pv-page .pv-install__card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	transform: translateY(-2px);
	border-color: #ccc;
}

/* 썸네일 (플레이스홀더) */
.pv-page .pv-install__thumb {
	width: 100%;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
	position: relative;
	overflow: hidden;
}
.pv-page .pv-install__thumb img {
    width: 100%;
}

/* 캡션 */
.pv-page .pv-install__caption {
	padding: clamp(12px, 2vw, 16px) clamp(14px, 2.5vw, 20px);
	font-size: clamp(13px, 1.4vw, 16px);
	font-weight: 500;
	color: #333;
	line-height: 1.4;
	margin: 0;
}

/* 태블릿 (2열) */
@media screen and (max-width: 1024px) {
	.pv-page .pv-section--install-type {
		padding: clamp(50px, 6vw, 80px) 0;
	}

	.pv-page .pv-install__head {
		margin-bottom: clamp(40px, 6vw, 60px);
	}

	.pv-page .pv-install__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: clamp(16px, 1.5vw, 20px);
	}
}

/* 모바일 (1열) */
@media screen and (max-width: 768px) {
	.pv-page .pv-section--install-type {
		padding: 0 0 60px;
	}

	.pv-page .pv-install__head {
		margin-bottom: 20px;
	}

	.pv-page .pv-install__lead {
		font-size: clamp(14px, 3.5vw, 16px);
	}

	.pv-page .pv-install__grid {
		grid-template-columns: 2 / 1fr;
		gap: 10px;
	}

    .pv-page .pv-install__group-title {
        gap:10px;
    }
	.pv-page .pv-install__card {
		border-radius: 8px;
	}

	.pv-page .pv-install__thumb {
		aspect-ratio: 16 / 10;
	}

	.pv-page .pv-install__caption {
		padding: 12px 14px;
		font-size: 13px;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
		line-height: 1.5;
	}
}

/* ========================================
   Toast (온라인 문의 등 결과 알림)
   ======================================== */
.toast-container {
	position: fixed;
	top: 24px;
	right: 24px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 12px;
	pointer-events: none;
	max-width: calc(100vw - 48px);
}

.toast {
	pointer-events: auto;
	padding: 14px 20px;
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	font-size: 14px;
	line-height: 1.5;
	animation: toast-slide-in 0.35s ease-out;
	color: #fff;
	min-width: 200px;
	max-width: 360px;
}

.toast--success {
	background: #2d7a3e;
}

.toast--error {
	background: #b53c3c;
}

@keyframes toast-slide-in {
	from {
		opacity: 0;
		transform: translateX(100%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.toast.toast--out {
	animation: toast-slide-out 0.3s ease-in forwards;
}

@keyframes toast-slide-out {
	from {
		opacity: 1;
		transform: translateX(0);
	}
	to {
		opacity: 0;
		transform: translateX(100%);
	}
}