html{font-size: 16px; color: #444;}
/* =========================================================
   header_sub
========================================================= */
.cbi-sub-header {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 88px;

    background: transparent;

    z-index: 100;
}

.cbi-sub-header-inner {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    height: 100%;

    padding: 0 40px;
}

.cbi-sub-header-logo {
    position: relative;
    z-index: 2;

    flex-shrink: 0;

    margin: 0;
    padding: 0;
}

.cbi-sub-header-logo a {
    display: block;
}

.cbi-sub-header-logo img {
    display: block;

    width: 300px;
    height: auto;
}

.cbi-sub-header-gnb {
    position: absolute;

    top: 50%;
    left: 50%;

    z-index: 100;

    transform: translate(-50%, -50%);
}

.cbi-sub-header-gnb > ul {
    display: flex;
    align-items: center;

    gap: 48px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cbi-sub-header-gnb-item {
    position: relative;

    margin: 0;
    padding: 0;
}

.cbi-sub-header-gnb-item > a {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    height: 78px;

    color: #FFF;

    font-size: 18px;
    font-weight: 600;
    line-height: 1;

    letter-spacing: -0.045em;

    text-decoration: none;
    white-space: nowrap;

    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
}

.cbi-sub-header-submenu {
    position: absolute;

    top: 90px;
    left: 50%;

    width: 216px;

    padding: 27px 0 28px;

    background: #FFF;
    border-radius: 8px;

    opacity: 0;
    visibility: hidden;

    transform: translate(-50%, -10px);

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease;

    box-shadow: 0 8px 18px rgba(0, 0, 0, .04);
}

.cbi-sub-header-submenu ul {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 0;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cbi-sub-header-submenu li {
    width: 100%;

    margin: 0;
    padding: 0;
}

.cbi-sub-header-submenu a {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 46px;

    padding: 0 20px;

    color: #222;

    font-size: 15px;
    font-weight: 500;

    line-height: 1.4;
    letter-spacing: -0.045em;

    text-align: center;
    text-decoration: none;

    box-sizing: border-box;

    transition: color 0.25s ease;
}

.cbi-sub-header-submenu a:hover {
    color: #941C22;
}

.cbi-sub-header-submenu a::after {
    content: "";

    position: absolute;
    left: 50%;
    bottom: 7px;

    width: 30px;
    height: 1px;

    background: #941C22;

    transform: translateX(-50%) scaleX(0);
    transform-origin: center;

    transition:
        transform 0.4s cubic-bezier(.22, .61, .36, 1);
}

.cbi-sub-header-submenu a:hover::after {
    transform: translateX(-50%) scaleX(1);
}

.cbi-sub-header-gnb-item:hover > .cbi-sub-header-submenu {
    opacity: 1;
    visibility: visible;

    transform: translate(-50%, 0);
}

.cbi-sub-header-util {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    margin-left: auto;
}

.cbi-sub-header-links {
    display: flex;
    align-items: center;

    height: 48px;

    padding: 0 30px;

    border-radius: 555px;

    border: 1px solid rgba(255, 255, 255, 0.18);

    background: rgba(255, 255, 255, 0.10);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.cbi-sub-header-links a {
    color: #FFF;

    font-size: 15px;
    font-weight: 500;
    line-height: 1;

    letter-spacing: -0.04em;

    text-decoration: none;
    white-space: nowrap;
}

.cbi-sub-header-links span {
    width: 1px;
    height: 12px;

    margin: 0 15px;

    background: rgba(255, 255, 255, 0.35);
}

.cbi-sub-header-menu {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 8px;

    width: 48px;
    height: 48px;

    margin-left: 16px;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #FFF;

    cursor: pointer;
}

.cbi-sub-header-menu i {
    display: block;

    width: 15px;
    height: 1px;

    background: #191919;
}

@media (max-width: 1200px) {

    .cbi-sub-header-inner {
        padding: 0 30px;
    }

    .cbi-sub-header-gnb {
        display: none;
    }

    .cbi-sub-header-links {
        display: none;
    }

    .cbi-sub-header-logo img {
        width: 240px;
    }

    .cbi-sub-header-menu {
        margin-left: 0;
    }

}

@media (max-width: 768px) {

    .cbi-sub-header {
        height: 72px;
    }

    .cbi-sub-header-inner {
        padding: 0 20px;
    }

    .cbi-sub-header-logo img {
        width: 210px;
    }

    .cbi-sub-header-menu {
        width: 44px;
        height: 44px;

        margin-left: 0;
    }

    .cbi-sub-header-menu i {
        width: 15px;
    }

}

@media (max-width: 480px) {

    .cbi-sub-header {
        height: 68px;
    }

    .cbi-sub-header-inner {
        padding: 0 16px;
    }

    .cbi-sub-header-logo img {
        width: 180px;
    }

    .cbi-sub-header-menu {
        width: 42px;
        height: 42px;

        gap: 7px;
    }

}


/* ========================================
   전체메뉴
======================================== */

.cbi-all-menu {
    position: fixed;
    inset: 0;
    z-index: 10000;

    width: 100%;
    height: 100vh;

    background: #FFF;

    opacity: 0;
    visibility: hidden;

    transform: translateY(-20px);

    transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(.22, .61, .36, 1),
        visibility 0s linear 0.55s;

    overflow-y: auto;
}

.cbi-all-menu.is-open {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(.22, .61, .36, 1),
        visibility 0s linear 0s;
}

.cbi-all-menu-inner {
    position: relative;

    width: 100%;
    max-width: 1360px;

    min-height: 100vh;

    margin: 0 auto;
    padding: 240px 0 80px;

    box-sizing: border-box;
}

.cbi-all-menu-close {
    position: fixed;
    top: 20px;
    right: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #171717;

    cursor: pointer;

    z-index: 10;

    opacity: 0;
    transform: rotate(-45deg) scale(.8);

    transition:
        opacity 0.35s ease 0.2s,
        transform 0.45s cubic-bezier(.22, .61, .36, 1) 0.2s;
}

.cbi-all-menu.is-open .cbi-all-menu-close {
    opacity: 1;
    transform: rotate(0) scale(1);
}

.cbi-all-menu-close span {
    position: absolute;

    display: block;

    width: 18px;
    height: 1px;

    background: #FFF;
}

.cbi-all-menu-close span:first-child {
    transform: rotate(45deg);
}

.cbi-all-menu-close span:last-child {
    transform: rotate(-45deg);
}

.cbi-all-menu-nav {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    column-gap: 60px;

    width: 100%;
}


/* 메뉴 그룹 */

.cbi-all-menu-group {
    min-width: 0;

    opacity: 0;
    transform: translateY(25px);

    transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(.22, .61, .36, 1);
}

.cbi-all-menu.is-open .cbi-all-menu-group {
    opacity: 1;
    transform: translateY(0);
}

.cbi-all-menu.is-open .cbi-all-menu-group:nth-child(1) {
    transition-delay: 0.10s;
}

.cbi-all-menu.is-open .cbi-all-menu-group:nth-child(2) {
    transition-delay: 0.15s;
}

.cbi-all-menu.is-open .cbi-all-menu-group:nth-child(3) {
    transition-delay: 0.20s;
}

.cbi-all-menu.is-open .cbi-all-menu-group:nth-child(4) {
    transition-delay: 0.25s;
}

.cbi-all-menu.is-open .cbi-all-menu-group:nth-child(5) {
    transition-delay: 0.30s;
}

.cbi-all-menu-title {
    margin: 0 0 36px;

    color: #87806B;

    font-family: Pretendard, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 40px;

    letter-spacing: -0.6px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.cbi-all-menu-group:hover .cbi-all-menu-title {
    color: #941C22;
    transform: translateX(4px);
}

.cbi-all-menu-list {
    display: flex;
    flex-direction: column;

    gap: 16px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cbi-all-menu-list li {
    margin: 0;
    padding: 0;
}

.cbi-all-menu-list a {
    position: relative;

    display: inline-block;

    color: #222;

    font-family: Pretendard, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: -0.4px;

    text-decoration: none;

    transform: translateX(0);

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.cbi-all-menu-list li.is-sub a {
    color: #777;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}


.cbi-all-menu-list a:hover {
    color: #941C22;

    transform: translateX(6px);
}

.cbi-all-menu-list a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -2px;

    width: 100%;
    height: 1px;

    background: #941C22;

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform 0.4s cubic-bezier(.22, .61, .36, 1);
}

.cbi-all-menu-list a:hover::after {
    transform: scaleX(1);
}

@media (max-width: 1200px) {

    .cbi-all-menu-inner {
        max-width: none;

        padding: 180px 40px 60px;
    }

    .cbi-all-menu-nav {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        row-gap: 60px;
        column-gap: 50px;
    }

    .cbi-all-menu-title {
        font-size: 24px;
        line-height: 34px;
    }

    .cbi-all-menu-list a {
        font-size: 16px;
        line-height: 26px;
    }

}

@media (max-width: 768px) {

    .cbi-all-menu-inner {
        padding: 110px 24px 50px;
    }

    .cbi-all-menu-nav {
        grid-template-columns: 1fr;

        row-gap: 42px;
    }

    .cbi-all-menu-title {
        margin-bottom: 18px;

        font-size: 22px;
        line-height: 30px;
    }

    .cbi-all-menu-list {
        gap: 10px;
    }

    .cbi-all-menu-list a {
        font-size: 15px;
        line-height: 24px;
    }

    .cbi-all-menu-close {
        top: 16px;
        right: 20px;

        width: 44px;
        height: 44px;
    }

}

@media (max-width: 480px) {

    .cbi-all-menu-inner {
        padding: 95px 20px 40px;
    }

    .cbi-all-menu-nav {
        row-gap: 36px;
    }

    .cbi-all-menu-title {
        margin-bottom: 14px;

        font-size: 20px;
        line-height: 28px;
    }

    .cbi-all-menu-list {
        gap: 8px;
    }

    .cbi-all-menu-list a {
        font-size: 14px;
        line-height: 22px;
    }

    .cbi-all-menu-close {
        top: 14px;
        right: 16px;

        width: 42px;
        height: 42px;
    }

}

/* =========================================================
   footer-sub
========================================================= */

.cbi-sub-footer {
    position: relative;

    width: 100%;
    margin-top: 120px;

    background: #000;

    box-sizing: border-box;
}


.cbi-sub-footer-inner {
    width: 100%;
    max-width: 1440px;

    margin: 0 auto;

    padding: 48px 0 48px;

    box-sizing: border-box;
}

.cbi-sub-footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding-bottom: 28px;

    border-bottom: 1px solid #222;

    box-sizing: border-box;
}

.cbi-sub-footer-logo {
    display: block;

    width: 255px;
    height: auto;
}

.cbi-sub-footer-util {
    display: flex;
    align-items: center;

    gap: 42px;
}


.cbi-sub-footer-privacy {
    color: #FFF;

    font-family: Pretendard, sans-serif;
    font-size: 14px;
    font-weight: 400;

    line-height: 20px;

    text-decoration: none;

    transition: color .25s ease;
}


.cbi-sub-footer-privacy:hover {
    color: #999;
}

.cbi-sub-footer-family {
    position: relative;

    z-index: 10;
}

.cbi-sub-footer-family > button {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 200px;
    height: 48px;

    padding: 0 18px;

    border: 1px solid #333;
    border-radius: 0;

    background: #000;
    color: #FFF;

    font-family: Pretendard, sans-serif;
    font-size: 14px;
    font-weight: 400;

    line-height: 20px;

    cursor: pointer;

    box-sizing: border-box;
}

.cbi-sub-footer-family > button i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 16px;
    height: 16px;

    font-style: normal;
}

.cbi-sub-footer-family > button svg {
    display: block;

    width: 14px;
    height: 14px;

    fill: none;
    stroke: #777;
    stroke-width: 1.5;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.cbi-sub-footer-family-list {
    position: absolute;

    right: 0;
    bottom: calc(100% + 8px);

    z-index: 20;

    display: flex;
    flex-direction: column;

    width: 200px;

    padding: 10px 0;

    border: 1px solid #333;
    border-radius: 0;

    background: #111;

    box-sizing: border-box;

    opacity: 0;
    visibility: hidden;

    transform: translateY(8px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;
}

.cbi-sub-footer-family:hover .cbi-sub-footer-family-list {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.cbi-sub-footer-family-list a {
    display: block;

    padding: 7px 18px;

    color: #AAA;

    font-family: Pretendard, sans-serif;
    font-size: 12px;
    font-weight: 400;

    line-height: 18px;

    text-decoration: none;

    transition:
        color .2s ease,
        background-color .2s ease;
}

.cbi-sub-footer-family-list a:hover {
    color: #FFF;
    background: #1A1A1A;
}

.cbi-sub-footer-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    width: 100%;

    padding-top: 18px;

    box-sizing: border-box;
}


.cbi-sub-footer-info {
    color: #AAA;

    font-family: Pretendard, sans-serif;
    font-size: 14px;
    font-weight: 400;

    line-height: 20px;
}


.cbi-sub-footer-info p {
    margin: 0;
}


.cbi-sub-footer-info p + p {
    margin-top: 8px;
}


.cbi-sub-footer-info span {
    display: inline-block;

    width: 1px;
    height: 10px;

    margin: 0 10px;

    background: #444;

    vertical-align: -1px;
}

.cbi-sub-footer-copy {
    margin: 0;

    color: #555;

    font-family: Pretendard, sans-serif;
    font-size: 14px;
    font-weight: 400;

    line-height: 20px;
}

@media (max-width: 1200px) {

    .cbi-sub-footer {
        margin-top: 100px;
    }

    .cbi-sub-footer-inner {
        max-width: none;

        padding: 44px 40px 40px;
    }

    .cbi-sub-footer-logo {
        width: 230px;
    }

    .cbi-sub-footer-util {
        gap: 30px;
    }

    .cbi-sub-footer-family > button {
        width: 190px;
    }

    .cbi-sub-footer-family-list {
        width: 190px;
    }

}

@media (max-width: 768px) {

    .cbi-sub-footer {
        margin-top: 80px;
    }

    .cbi-sub-footer-inner {
        padding: 36px 24px 32px;
    }

    .cbi-sub-footer-top {
        align-items: flex-start;
        flex-direction: column;

        gap: 28px;

        padding-bottom: 24px;
    }

    .cbi-sub-footer-logo {
        width: 210px;
    }

    .cbi-sub-footer-util {
        width: 100%;

        justify-content: space-between;

        gap: 20px;
    }

    .cbi-sub-footer-privacy {
        font-size: 13px;
        line-height: 18px;
    }

    .cbi-sub-footer-family > button {
        width: 180px;
        height: 44px;

        padding: 0 16px;

        font-size: 13px;
        line-height: 18px;
    }

    .cbi-sub-footer-family-list {
        width: 180px;
    }

    .cbi-sub-footer-family-list a {
        padding: 7px 16px;

        font-size: 12px;
        line-height: 18px;
    }

    .cbi-sub-footer-bottom {
        align-items: flex-start;
        flex-direction: column;

        gap: 24px;

        padding-top: 18px;
    }

    .cbi-sub-footer-info {
        font-size: 13px;
        line-height: 19px;
    }

    .cbi-sub-footer-info p + p {
        margin-top: 6px;
    }

    .cbi-sub-footer-copy {
        font-size: 12px;
        line-height: 18px;
    }

}

@media (max-width: 480px) {

    .cbi-sub-footer {
        margin-top: 60px;
    }

    .cbi-sub-footer-inner {
        padding: 30px 20px 28px;
    }

    .cbi-sub-footer-top {
        gap: 22px;

        padding-bottom: 20px;
    }

    .cbi-sub-footer-logo {
        width: 180px;
    }

    .cbi-sub-footer-util {
        align-items: flex-start;
        flex-direction: column;

        gap: 16px;
    }

    .cbi-sub-footer-privacy {
        font-size: 12px;
        line-height: 18px;
    }

    .cbi-sub-footer-family {
        width: 100%;
    }

    .cbi-sub-footer-family > button {
        width: 100%;
        height: 42px;

        padding: 0 14px;

        font-size: 12px;
        line-height: 18px;
    }

    .cbi-sub-footer-family-list {
        width: 100%;
    }

    .cbi-sub-footer-family-list a {
        padding: 6px 14px;

        font-size: 11px;
        line-height: 17px;
    }

    .cbi-sub-footer-bottom {
        gap: 18px;

        padding-top: 16px;
    }

    .cbi-sub-footer-info {
        font-size: 12px;
        line-height: 18px;
    }

    .cbi-sub-footer-info p + p {
        margin-top: 5px;
    }

    .cbi-sub-footer-info span {
        margin: 0 7px;
    }

    .cbi-sub-footer-copy {
        font-size: 11px;
        line-height: 17px;
    }

}
/* ========================================
   SUB PAGE FLOATING TOP
======================================== */

.cbi-sub-floating-top {
    position: fixed;

    right: 40px;
    bottom: 40px;

    z-index: 9999;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    padding: 0;

    border: 1px solid #E5E5E5;
    border-radius: 50%;

    background: #FFF;
    color: #222;

    cursor: pointer;

    box-sizing: border-box;

    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);

    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}


.cbi-sub-floating-top-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 16px;
    height: 8px;

    margin-bottom: 3px;
}


.cbi-sub-floating-top-arrow svg {
    display: block;

    width: 16px;
    height: 8px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.cbi-sub-floating-top > span:last-child {
    display: block;

    color: inherit;

    font-family: Pretendard, sans-serif;
    font-size: 14px;
    font-weight: 500;

    line-height: 20px;

    letter-spacing: 0;
}


.cbi-sub-floating-top:hover {
    background: #87806B;
    border-color: #87806B;

    color: #FFF;

    transform: translateY(-3px);

    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1200px) {

    .cbi-sub-floating-top {
        right: 30px;
        bottom: 30px;

        width: 56px;
        height: 56px;
    }

}


@media (max-width: 768px) {

    .cbi-sub-floating-top {
        right: 20px;
        bottom: 20px;

        width: 50px;
        height: 50px;
    }

    .cbi-sub-floating-top-arrow {
        width: 14px;
        height: 7px;

        margin-bottom: 2px;
    }

    .cbi-sub-floating-top-arrow svg {
        width: 14px;
        height: 7px;
    }

    .cbi-sub-floating-top > span:last-child {
        font-size: 12px;
        line-height: 17px;
    }

}


@media (max-width: 480px) {

    .cbi-sub-floating-top {
        right: 16px;
        bottom: 16px;

        width: 46px;
        height: 46px;
    }

    .cbi-sub-floating-top-arrow {
        width: 13px;
        height: 6px;

        margin-bottom: 2px;
    }

    .cbi-sub-floating-top-arrow svg {
        width: 13px;
        height: 6px;
    }

    .cbi-sub-floating-top > span:last-child {
        font-size: 11px;
        line-height: 15px;
    }

}

/* =========================================================
   SUB VISUAL
========================================================= */

.cbi-sub-visual {
    position: relative;

    width: 100%;
    height: 640px;

    overflow: hidden;

    background: #000;
}

.cbi-sub-visual-bg {
    position: absolute;

    inset: 0;

    z-index: 0;

    overflow: hidden;
}

.cbi-sub-visual-bg img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;

    transform: scale(1.08);
    transform-origin: center center;

    animation: cbi-sub-visual-image-zoom-out 2.5s
        cubic-bezier(.22, .61, .36, 1)
        forwards;
}

/* 연구원 소식 (svb2.jpg): 사람 얼굴이 보이지 않게 턱 아래(하단) 기준 배치 */
.cbi-sub-visual--svb2 .cbi-sub-visual-bg img {
    object-position: center bottom;
    transform-origin: center bottom;
}

/* 연구원 소개 (svb5.jpg): 건물 상단 간판이 잘 보이게 상단 기준 배치 */
.cbi-sub-visual--svb5 .cbi-sub-visual-bg img {
    object-position: center top;
    transform-origin: center top;
}

@keyframes cbi-sub-visual-image-zoom-out {

    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }

}

.cbi-sub-visual-overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    background: rgba(0, 0, 0, 0.6);
}

.cbi-sub-visual-content {
    position: absolute;

    top: 0;
    left: 0;

    z-index: 2;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: calc(100% - 100px);
    transform: translateY(28px);

    padding-top: 20px;

    box-sizing: border-box;

    color: #FFF;

    text-align: center;
}

.cbi-sub-visual-title {
    margin: 0;

    color: #FFF;

    font-family: Pretendard, sans-serif;
    font-size: 52px;
    font-weight: 700;

    line-height: 1.3;
    letter-spacing: -2px;

    text-shadow:
        0 2px 8px rgba(0, 0, 0, 0.25);
}

.cbi-sub-visual-breadcrumb {
    display: flex;
    align-items: center;

    margin-top: 24px;

    color: rgba(255, 255, 255, 0.65);

    font-family: Pretendard, sans-serif;
    font-size: 14px;
    font-weight: 400;

    line-height: 20px;
    letter-spacing: -0.3px;
}


.cbi-sub-visual-home {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 16px;
    height: 16px;

    color: rgba(255, 255, 255, 0.85);

    text-decoration: none;
}


.cbi-sub-visual-home svg {
    display: block;

    width: 15px;
    height: 15px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.cbi-sub-visual-dot {
    margin: 0 9px;

    color: rgba(255, 255, 255, 0.45);
}

.cbi-sub-tab {
    position: absolute;

    left: 0;
    bottom: 0;

    z-index: 3;

    width: 100%;
    height: 70px;

    background: rgba(0, 0, 0, 0.15);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    box-sizing: border-box;
}


.cbi-sub-tab-inner {
    display: flex;
    align-items: stretch;

    width: 100%;
    max-width: 1440px;
    height: 100%;

    margin: 0 auto;
}


.cbi-sub-tab-item {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 1;
    min-width: 0;

    height: 100%;

    color: rgba(255, 255, 255, 0.72);

    font-family: Pretendard, sans-serif;
    font-size: 18px;
    font-weight: 400;

    line-height: 120%;
    letter-spacing: -0.4px;

    text-decoration: none;

    box-sizing: border-box;

    transition:
        color 0.3s ease,
        background-color 0.3s ease;
}

.cbi-sub-tab-item::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 2px;

    background: transparent;

    transition: background-color 0.3s ease;
}


.cbi-sub-tab-item.is-active {
    color: #FFF;
    font-weight: 600;

    background: rgba(255, 255, 255, 0.08);
}


.cbi-sub-tab-item.is-active::before {
    background: #87806B;
}


.cbi-sub-tab-item:hover {
    color: #FFF;

    background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1200px) {

    .cbi-sub-visual {
        height: 600px;
    }

    .cbi-sub-visual-content {
        height: calc(100% - 70px);

        padding: 20px 40px 0;

        transform: translateY(20px);
    }

    .cbi-sub-visual-title {
        font-size: 46px;
        letter-spacing: -1.8px;
    }

    .cbi-sub-visual-breadcrumb {
        margin-top: 20px;

        font-size: 14px;
        line-height: 20px;
    }

    .cbi-sub-tab {
        height: 70px;
    }

    .cbi-sub-tab-inner {
        max-width: none;

        padding: 0 40px;

        box-sizing: border-box;
    }

    .cbi-sub-tab-item {
        font-size: 16px;
        letter-spacing: -0.3px;
    }

}

@media (max-width: 768px) {

    .cbi-sub-visual {
        height: 520px;
    }

    .cbi-sub-visual-bg img {
        transform: scale(1.12);

        animation-duration: 2.2s;
    }

    .cbi-sub-visual-content {
        height: calc(100% - 64px);

        padding: 20px 24px 0;

        transform: translateY(16px);
    }

    .cbi-sub-visual-title {
        font-size: 38px;
        letter-spacing: -1.5px;
    }

    .cbi-sub-visual-breadcrumb {
        margin-top: 16px;

        font-size: 13px;
        line-height: 18px;
    }

    .cbi-sub-visual-home {
        width: 15px;
        height: 15px;
    }

    .cbi-sub-visual-home svg {
        width: 14px;
        height: 14px;
    }

    .cbi-sub-visual-dot {
        margin: 0 7px;
    }

    .cbi-sub-tab {
        height: 64px;

        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: none;
    }

    .cbi-sub-tab::-webkit-scrollbar {
        display: none;
    }

    .cbi-sub-tab-inner {
        width: max-content;
        min-width: 100%;

        padding: 0;
    }

    .cbi-sub-tab-item {
        flex: 0 0 auto;

        min-width: 140px;
        padding: 0 20px;

        font-size: 15px;
        letter-spacing: -0.3px;

        white-space: nowrap;
    }

}

@media (max-width: 480px) {

    .cbi-sub-visual {
        height: 460px;
    }

    .cbi-sub-visual-bg img {
        transform: scale(1.15);
    }

    .cbi-sub-visual-content {
        height: calc(100% - 58px);

        padding: 16px 20px 0;

        transform: translateY(12px);
    }

    .cbi-sub-visual-title {
        font-size: 30px;
        letter-spacing: -1.2px;
    }

    .cbi-sub-visual-breadcrumb {
        margin-top: 13px;

        font-size: 12px;
        line-height: 17px;
    }

    .cbi-sub-visual-home {
        width: 14px;
        height: 14px;
    }

    .cbi-sub-visual-home svg {
        width: 13px;
        height: 13px;
    }

    .cbi-sub-visual-dot {
        margin: 0 6px;
    }

    .cbi-sub-tab {
        height: 58px;
    }

    .cbi-sub-tab-item {
        min-width: 120px;

        padding: 0 16px;

        font-size: 13px;
        letter-spacing: -0.2px;
    }

}

/* =========================================================
   00001 인사말
========================================================= */

.cbi-sub-content {
    position: relative;

    width: 100%;

    background: #FFF;

    box-sizing: border-box;
}


.cbi-sub-content-inner {
    width: 100%;
    max-width: 1800px;

    margin: 0 auto;
}

.cbi-sub-content-head {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    padding: 120px 0 80px;

    box-sizing: border-box;
}


.cbi-sub-content-title {
    margin: 0;

    color: #111;

    font-family: Pretendard, sans-serif;
    font-size: 40px;
    font-weight: 700;

    line-height: 1.4;
    letter-spacing: -1.5px;

    text-align: center;
}

.cbi-greeting-image {
    width: 100%;

    overflow: hidden;

    border-radius: 28px;

    background: #eee;

    box-sizing: border-box;
}

.cbi-greeting-image img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: cover;
    object-position: center center;
}

.cbi-greeting-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 80px;

    width: 100%;
    max-width: 1440px;

    margin: 80px auto 0;
    padding: 0;

    box-sizing: border-box;
}
.cbi-greeting-message {
    min-width: 0;

    padding-top: 0;
}

.cbi-greeting-message p {
    margin: 0;

    color: #111;

    font-family: Pretendard, sans-serif;
    font-size: 30px;
    font-weight: 700;

    line-height: 150%;
    letter-spacing: -0.9px;
}

.cbi-greeting-body {
    min-width: 0;

    font-family: Pretendard, sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #444;

    line-height: 170%;
    letter-spacing: -0.35px;
}

.cbi-greeting-body p {
    margin: 0 0 24px;
}

.cbi-greeting-body p:last-of-type {
    margin-bottom: 0;
}

.cbi-greeting-signature {
    display: flex;
    flex-direction: column;

    align-items: flex-start;

    margin-top: 34px;
}

.cbi-greeting-signature strong {
    display: block;

    margin: 0;

    color: #222;

}

.cbi-greeting-signature img {
    display: block;

    width: 136px;
    height: auto;

    margin-top: 16px;
}

@media (max-width: 1200px) {

    .cbi-sub-content-inner {
        max-width: none;

        padding: 0 40px;

        box-sizing: border-box;
    }

    .cbi-sub-content-head {
        padding: 90px 0 60px;
    }

    .cbi-sub-content-title {
        font-size: 36px;
        letter-spacing: -1.3px;
    }

    .cbi-greeting-image {
        border-radius: 24px;
    }

    .cbi-greeting-content {
        max-width: none;

        column-gap: 50px;

        margin-top: 64px;
    }

    .cbi-greeting-message p {
        font-size: 27px;
        letter-spacing: -0.8px;
    }

    .cbi-greeting-body {
        font-size: 17px;
        letter-spacing: -0.3px;
    }

    .cbi-greeting-body p {
        margin-bottom: 22px;
    }

    .cbi-greeting-signature {
        margin-top: 30px;
    }

    .cbi-greeting-signature img {
        width: 128px;
        margin-top: 14px;
    }

}

@media (max-width: 768px) {

    .cbi-sub-content-inner {
        padding: 0 24px;
    }

    .cbi-sub-content-head {
        padding: 70px 0 48px;
    }

    .cbi-sub-content-title {
        font-size: 30px;
        letter-spacing: -1px;
    }

    .cbi-greeting-image {
        border-radius: 20px;
    }

    .cbi-greeting-content {
        display: flex;
        flex-direction: column;

        column-gap: 0;

        margin-top: 48px;
    }

    .cbi-greeting-message {
        width: 100%;
    }

    .cbi-greeting-message p {
        font-size: 24px;
        line-height: 150%;
        letter-spacing: -0.7px;
    }

    .cbi-greeting-body {
        width: 100%;

        margin-top: 40px;

        font-size: 16px;
        line-height: 170%;
        letter-spacing: -0.25px;
    }

    .cbi-greeting-body p {
        margin-bottom: 20px;
    }

    .cbi-greeting-signature {
        margin-top: 28px;
    }

    .cbi-greeting-signature img {
        width: 120px;
        margin-top: 12px;
    }

}

@media (max-width: 480px) {

    .cbi-sub-content-inner {
        padding: 0 20px;
    }

    .cbi-sub-content-head {
        padding: 54px 0 36px;
    }

    .cbi-sub-content-title {
        font-size: 26px;
        letter-spacing: -0.8px;
    }

    .cbi-greeting-image {
        border-radius: 16px;
    }

    .cbi-greeting-content {
        margin-top: 36px;
    }

    .cbi-greeting-message p {
        font-size: 20px;
        line-height: 155%;
        letter-spacing: -0.6px;
    }

    .cbi-greeting-body {
        margin-top: 32px;

        font-size: 14px;
        line-height: 175%;
        letter-spacing: -0.2px;
    }

    .cbi-greeting-body p {
        margin-bottom: 18px;
    }

    .cbi-greeting-signature {
        margin-top: 24px;
    }

    .cbi-greeting-signature strong {
        font-size: 14px;
        line-height: 20px;
    }

    .cbi-greeting-signature img {
        width: 105px;
        margin-top: 10px;
    }

}

/* ========================================
   스크롤 시 애니메이션
======================================== */

.cbi-sub-content-head,
.cbi-greeting-image,
.cbi-greeting-message,
.cbi-greeting-body {
    opacity: 0;
    transform: translateY(40px);

    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(.22, .61, .36, 1);
}

.cbi-sub-content-head.is-visible,
.cbi-greeting-image.is-visible,
.cbi-greeting-message.is-visible,
.cbi-greeting-body.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.cbi-sub-content-head.is-visible {
    transition-delay: 0s;
}

.cbi-greeting-image.is-visible {
    transition-delay: 0.15s;
}

.cbi-greeting-message.is-visible {
    transition-delay: 0.15s;
}

.cbi-greeting-body.is-visible {
    transition-delay: 0.30s;
}

@media (prefers-reduced-motion: reduce) {

    .cbi-sub-content-head,
    .cbi-greeting-image,
    .cbi-greeting-message,
    .cbi-greeting-body {
        opacity: 1;
        transform: none;
        transition: none;
    }

}

/* ========================================
   3차 서브탭 (.cbi-sub-depth3)
======================================== */

.cbi-sub-depth3 {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto 60px;
    box-sizing: border-box;
}

.cbi-sub-depth3-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;

    width: 100%;
}

/* [채용정보(채용공고) 3차 탭 메뉴 단독 숨김 처리]
   나중에 채용정보 하위 메뉴들을 다시 공개하여 탭을 살리실 때는 아래 줄만 주석 처리(/* ... * /)해 주세요. */
.cbi-sub-depth3[aria-label*="채용정보"] { display: none; }

.cbi-sub-depth3-item {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;
    height: 60px;
    padding: 0 40px;

    border: 1px solid #EAEAEA;
    border-radius: 0;

    background: #FFF;
    color: #555;

    font-family: Pretendard, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.03em;

    text-align: center;
    text-decoration: none;

    box-sizing: border-box;

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;
}

.cbi-sub-depth3-item + .cbi-sub-depth3-item {
    margin-left: -1px;
}

.cbi-sub-depth3-item:hover {
    z-index: 1;
    border-color: #A29779;
    color: #A29779;
}

.cbi-sub-depth3-item.is-active {
    z-index: 2;
    border-color: #A29779;
    background: #A29779;
    color: #FFF;
    font-weight: 500;
}

@media (max-width: 768px) {

    .cbi-sub-depth3 {
        margin-bottom: 40px;
    }

    .cbi-sub-depth3-list {
        flex-wrap: wrap;
    }

    .cbi-sub-depth3-item {
        min-height: 48px;
        padding: 10px 14px;
        font-size: 14px;
    }

}

@media (max-width: 480px) {

    .cbi-sub-depth3 {
        margin-bottom: 32px;
    }

    .cbi-sub-depth3-item {
        min-height: 42px;
        padding: 8px 12px;
        font-size: 13px;
    }

}



/* =========================================================
   SUBPAGE COMMON & 00038 (sub0101_매장문화유산 조사)
   Class: .pages.pages38
   Wrap Width: 1440px
   ========================================================= */

/* 공통 서브페이지 규격 (.pages) */
.pages {
    width: 100%;
    margin: 0 auto;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #222222;
    line-height: 1.6;
    letter-spacing: -0.02em;
    word-break: keep-all;
    box-sizing: border-box;
}

.pages .wrap {
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* 0. 상단 서브 배너 (공통: 1800px * 560px, border-radius 40px) */
.sub-ban,
.pages .sub-ban {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto 80px;
    padding: 0 20px;
    box-sizing: border-box;

    /* 서브 배너 자동 페이드업 애니메이션 */
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.85s ease,
        transform 0.85s cubic-bezier(.22, .61, .36, 1);
}

.sub-ban.is-visible,
.sub-ban.aos-animate,
.pages .sub-ban.is-visible,
.pages .sub-ban.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .sub-ban,
    .pages .sub-ban {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.pages .sub-ban-inner {
    position: relative;
    width: 100%;
    min-height: 560px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 40px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 40px;
    box-sizing: border-box;
}

.pages38 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban1.jpg');
}

.pages .sub-ban-inner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 1;
}

.pages .sub-ban-content {
    position: relative;
    z-index: 2;
    color: #ffffff;
    max-width: 900px;
}

.pages .sub-ban-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 16px 0;
    color: #ffffff;
    letter-spacing: -0.025em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.pages .sub-ban-desc {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

/* 섹션 공통 헤드 */
.pages38 .sec-head {
    margin-bottom: 36px;
}

.pages38 .sec-eyebrow {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #888888;
    margin-bottom: 6px;
}

.pages38 .sec-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.pages38 .sec-desc {
    font-size: 15px;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
}

/* =========================================================
   1. 국가유산 영향진단
   ========================================================= */
.pages38 .sec-impact {
    margin-bottom: 100px;
}

.pages38 .impact-grid {
    display: flex;
    gap: 50px;
    align-items: center;
}

.pages38 .impact-img-wrap {
    flex: 0 0 46%;
    width: 46%;
}

.pages38 .impact-img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 0 40px 0 40px;
    overflow: hidden;
    background-color: #f1f5f9;
}

.pages38 .impact-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.pages38 .impact-img-wrap:hover .impact-img-box img {
    transform: scale(1.05);
}

.pages38 .impact-img-caption {
    display: block;
    font-size: 13px;
    color: #64748b;
    margin-top: 10px;
    text-align: left;
}

.pages38 .impact-info-wrap {
    flex: 1;
    min-width: 0;
}

.pages38 .impact-lead-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.45;
    margin: 0 0 16px 0;
}

.pages38 .impact-lead-desc {
    font-size: 15px;
    color: #475569;
    line-height: 1.7;
    margin: 0 0 24px 0;
}

.pages38 .impact-table {
    width: 100%;
    border-top: 1px solid #cbd5e1;
    border-bottom: 1px solid #cbd5e1;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.pages38 .impact-table th,
.pages38 .impact-table td {
    padding: 14px 12px;
    font-size: 14px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    vertical-align: middle;
}

.pages38 .impact-table tr:last-child th,
.pages38 .impact-table tr:last-child td {
    border-bottom: none;
}

.pages38 .impact-table th {
    font-weight: 600;
    color: #334155;
    background-color: transparent;
    white-space: nowrap;
}

.pages38 .impact-table td {
    color: #475569;
}

.pages38 .impact-notice {
    background-color: #f4f4f4;
    border-radius: 8px;
    padding: 14px 18px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.6;
}

.pages38 .impact-notice p {
    margin: 0;
}

/* =========================================================
   2. 매장유산 발굴조사 (100% 풀와이드 #F4F4F4 배경)
   ========================================================= */
.pages38 .sec-excavation {
    width: 100%;
    background-color: #F4F4F4;
    padding: 100px 0;
    margin-bottom: 100px;
    box-sizing: border-box;
}

.pages38 .step-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.pages38 .step-card {
    border-radius: 10px;
    padding: 24px 22px;
    box-sizing: border-box;
    transition: all 0.25s ease;
}

.pages38 .step-card--1 {
    background: #EBECE8;
}
.pages38 .step-card--1 .step-title {
    color: #555555;
}

.pages38 .step-card--2 {
    background: #E2EBF0;
}
.pages38 .step-card--2 .step-title {
    color: #1D5C82;
}

.pages38 .step-card--3 {
    background: #DCEDF6;
}
.pages38 .step-card--3 .step-title {
    color: #0284C7;
}

.pages38 .step-card-header {
    margin-bottom: 14px;
}

.pages38 .step-title {
    font-size: 18px;
    font-weight: 700;
}

.pages38 .step-card-body {
    background: #ffffff;
    border-radius: 8px;
    padding: 18px 20px;
    min-height: 72px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.pages38 .step-card-body p {
    font-size: 14px;
    color: #475569;
    margin: 0;
    line-height: 1.55;
}

/* 3단 대표 유적 사진 */
.pages38 .excavation-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.pages38 .excavation-photo-item .photo-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
}

.pages38 .excavation-photo-item .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.pages38 .excavation-photo-item:hover .photo-box img {
    transform: scale(1.03);
}

.pages38 .photo-caption {
    display: block;
    font-size: 13px;
    color: #475569;
    margin-top: 10px;
    text-align: left;
}

.pages38 .excavation-bottom-desc {
    font-size: 15px;
    color: #64748b;
    line-height: 1.7;
    margin: 0;
}

/* =========================================================
   3. 주요 발굴조사 성과
   ========================================================= */
.pages38 .sec-results {
    margin-bottom: 100px;
}

.pages38 .result-filter-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}

.pages38 .filter-tab-btn {
    height: 42px;
    padding: 0 24px;
    border-radius: 24px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
}

.pages38 .filter-tab-btn:hover {
    border-color: #78716c;
    color: #292524;
}

.pages38 .filter-tab-btn.is-active {
    background: #736b55;
    border-color: #736b55;
    color: #ffffff;
    font-weight: 600;
}

/* 4열 갤러리 그리드 */
.pages38 .result-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.pages38 .result-item {
    display: flex;
    flex-direction: column;
}

.pages38 .result-thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    background: #f1f5f9;
}

.pages38 .result-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.pages38 .result-item:hover .result-thumb img {
    transform: scale(1.04);
}

.pages38 .result-caption {
    font-size: 13.5px;
    color: #334155;
    margin-top: 10px;
    line-height: 1.45;
}

/* =========================================================
   4. 조사성과 공개 및 활용 (100% 풀와이드 #F4F4F4 배경)
   ========================================================= */
.pages38 .sec-public {
    width: 100%;
    background-color: #F4F4F4;
    padding: 100px 0;
    margin-bottom: 100px;
    box-sizing: border-box;
}

.pages38 .public-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.pages38 .public-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pages38 .public-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
}

.pages38 .public-card-thumb {
    width: 100%;
    height: 280px;
    overflow: hidden;
    background: #f1f5f9;
}

.pages38 .public-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.pages38 .public-card:hover .public-card-thumb img {
    transform: scale(1.05);
}

.pages38 .public-card-body {
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pages38 .public-badge {
    display: inline-block;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 8px;
}

.pages38 .public-card-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.pages38 .public-card-desc {
    font-size: 14.5px;
    color: #64748b;
    line-height: 1.65;
    margin: 0 0 22px 0;
    flex: 1;
}

.pages38 .public-card-btn {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px 8px 18px;
    border: 1px solid #dcdcdc;
    border-radius: 24px;
    color: #222222;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    background: #ffffff;
    transition: all 0.2s ease;
}

.pages38 .public-card-btn:hover {
    border-color: #222222;
    background-color: #f8fafc;
}

.pages38 .btn-arrow-circle {
    width: 26px;
    height: 26px;
    background-color: #222222;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    flex-shrink: 0;
}

.pages38 .btn-arrow-circle svg {
    color: #ffffff;
    stroke: #ffffff;
}

/* =========================================================
   5. 조사 상담·의뢰 안내 (1440px * 500px, bg-mark.png)
   ========================================================= */
.pages38 .sec-consult {
    margin-bottom: 100px;
}

.pages38 .consult-box {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    background-color: #877f6b;
    background-image: url('/images/layout/bg-mark.png');
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 500px auto;
    border-radius: 0;
    padding: 80px;
    color: #ffffff;
    display: flex;
    gap: 80px;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.pages38 .consult-left {
    flex: 0 0 38%;
    width: 38%;
    position: relative;
    z-index: 2;
}

.pages38 .consult-eyebrow {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 20px;
    letter-spacing: -0.01em;
}

.pages38 .consult-title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    margin: 0 0 20px 0;
    letter-spacing: -0.025em;
}

.pages38 .consult-desc {
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.65;
    margin: 0;
}

.pages38 .consult-right {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 2;
}

.pages38 .consult-row {
    padding: 16px 0 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.pages38 .consult-row:first-child {
    padding-top: 0;
}

.pages38 .consult-label {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.4;
}

.pages38 .consult-val {
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.55;
}

.pages38 .consult-val--tel {
    font-size: 15.5px;
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 0.02em;
}

.pages38 .consult-outro {
    margin-top: 50px;
    text-align: center;
    font-size: 16px;
    color: #555555;
    line-height: 1.7;
    font-weight: 400;
}

/* =========================================================
   반응형 (태블릿 / 모바일)
   ========================================================= */
@media (max-width: 1200px) {
    .pages38 .result-gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }

    .pages38 .consult-box {
        padding: 50px 40px;
        gap: 40px;
    }
}

@media (max-width: 992px) {
    .pages .sub-ban-inner {
        min-height: 400px;
        padding: 40px 24px;
        border-radius: 28px;
    }

    .pages .sub-ban-title {
        font-size: 26px;
    }

    .pages38 .sec-excavation,
    .pages38 .sec-public {
        padding: 70px 0;
        margin-bottom: 70px;
    }

    .pages38 .impact-grid {
        flex-direction: column;
        gap: 30px;
    }

    .pages38 .impact-img-wrap {
        width: 100%;
        flex: none;
    }

    .pages38 .step-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

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

    .pages38 .result-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pages38 .public-card-grid {
        grid-template-columns: 1fr;
    }

    .pages38 .consult-box {
        min-height: auto;
        height: auto;
        flex-direction: column;
        align-items: flex-start;
        padding: 40px 30px;
        gap: 30px;
        background-size: 320px auto;
    }

    .pages38 .consult-left {
        width: 100%;
        flex: none;
    }

    .pages38 .consult-right {
        width: 100%;
    }

    .pages38 .consult-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .pages38 .consult-label {
        flex: none;
    }
}

@media (max-width: 640px) {
    .pages .sub-ban {
        margin-bottom: 50px;
    }

    .pages .sub-ban-inner {
        min-height: 280px;
        padding: 30px 16px;
        border-radius: 20px;
    }

    .pages .sub-ban-title {
        font-size: 20px;
    }

    .pages .sub-ban-desc {
        font-size: 13.5px;
    }

    .pages38 .sec-excavation,
    .pages38 .sec-public {
        padding: 50px 0;
        margin-bottom: 50px;
    }

    .pages38 .sec-title {
        font-size: 24px;
    }

    .pages38 .excavation-photo-grid {
        grid-template-columns: 1fr;
    }

    .pages38 .result-gallery-grid {
        grid-template-columns: 1fr;
    }

    .pages38 .consult-box {
        padding: 30px 20px;
        border-radius: 0;
        background-size: 240px auto;
    }

    .pages38 .consult-title {
        font-size: 24px;
    }

    .pages38 .consult-outro {
        font-size: 14px;
        margin-top: 36px;
    }
}

/* 00038.php 스크롤 Fade-up 애니메이션 */
.pages38 .sub-ban,
.pages38 .sec-head,
.pages38 .impact-img-wrap,
.pages38 .impact-info-wrap,
.pages38 .step-card,
.pages38 .excavation-photo-item,
.pages38 .excavation-bottom-desc,
.pages38 .result-filter-bar,
.pages38 .result-item,
.pages38 .public-card,
.pages38 .consult-box,
.pages38 .consult-outro {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages38 .sub-ban.is-visible,
.pages38 .sub-ban.aos-animate,
.pages38 .sec-head.is-visible,
.pages38 .sec-head.aos-animate,
.pages38 .impact-grid.is-visible .impact-img-wrap,
.pages38 .impact-grid.aos-animate .impact-img-wrap,
.pages38 .impact-grid.is-visible .impact-info-wrap,
.pages38 .impact-grid.aos-animate .impact-info-wrap,
.pages38 .impact-img-wrap.is-visible,
.pages38 .impact-img-wrap.aos-animate,
.pages38 .impact-info-wrap.is-visible,
.pages38 .impact-info-wrap.aos-animate,
.pages38 .step-grid.is-visible .step-card,
.pages38 .step-grid.aos-animate .step-card,
.pages38 .step-card.is-visible,
.pages38 .step-card.aos-animate,
.pages38 .excavation-photo-grid.is-visible .excavation-photo-item,
.pages38 .excavation-photo-grid.aos-animate .excavation-photo-item,
.pages38 .excavation-photo-item.is-visible,
.pages38 .excavation-photo-item.aos-animate,
.pages38 .excavation-bottom-desc.is-visible,
.pages38 .excavation-bottom-desc.aos-animate,
.pages38 .result-filter-bar.is-visible,
.pages38 .result-filter-bar.aos-animate,
.pages38 .result-gallery-grid.is-visible .result-item,
.pages38 .result-gallery-grid.aos-animate .result-item,
.pages38 .result-item.is-visible,
.pages38 .result-item.aos-animate,
.pages38 .public-card-grid.is-visible .public-card,
.pages38 .public-card-grid.aos-animate .public-card,
.pages38 .public-card.is-visible,
.pages38 .public-card.aos-animate,
.pages38 .consult-box.is-visible,
.pages38 .consult-box.aos-animate,
.pages38 .consult-outro.is-visible,
.pages38 .consult-outro.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 카드/요소별 순차 딜레이 */
.pages38 .impact-img-wrap { transition-delay: 0.1s; }
.pages38 .impact-info-wrap { transition-delay: 0.22s; }

.pages38 .step-card:nth-child(1) { transition-delay: 0.1s; }
.pages38 .step-card:nth-child(2) { transition-delay: 0.22s; }
.pages38 .step-card:nth-child(3) { transition-delay: 0.34s; }

.pages38 .excavation-photo-item:nth-child(1) { transition-delay: 0.1s; }
.pages38 .excavation-photo-item:nth-child(2) { transition-delay: 0.22s; }
.pages38 .excavation-photo-item:nth-child(3) { transition-delay: 0.34s; }

.pages38 .result-item:nth-child(1) { transition-delay: 0.05s; }
.pages38 .result-item:nth-child(2) { transition-delay: 0.12s; }
.pages38 .result-item:nth-child(3) { transition-delay: 0.19s; }
.pages38 .result-item:nth-child(4) { transition-delay: 0.26s; }
.pages38 .result-item:nth-child(5) { transition-delay: 0.1s; }
.pages38 .result-item:nth-child(6) { transition-delay: 0.17s; }
.pages38 .result-item:nth-child(7) { transition-delay: 0.24s; }
.pages38 .result-item:nth-child(8) { transition-delay: 0.31s; }
.pages38 .result-item:nth-child(9) { transition-delay: 0.15s; }
.pages38 .result-item:nth-child(10) { transition-delay: 0.22s; }
.pages38 .result-item:nth-child(11) { transition-delay: 0.29s; }
.pages38 .result-item:nth-child(12) { transition-delay: 0.36s; }
.pages38 .result-item:nth-child(13) { transition-delay: 0.2s; }
.pages38 .result-item:nth-child(14) { transition-delay: 0.27s; }

.pages38 .public-card:nth-child(1) { transition-delay: 0.1s; }
.pages38 .public-card:nth-child(2) { transition-delay: 0.22s; }


/* =========================================================
   SUBPAGE: 00068 (sub0105_1_충북지역 중요유적 매장유산 학술 조사 및 연구)
   Class: .pages.pages68
   Wrap Width: 1440px
   ========================================================= */

.pages68 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban2.jpg');
}

/* 3depth 서브 탭 간격 */
.pages68 .cbi-sub-depth3 {
    margin: 0 auto 80px;
}

/* 상단 중복 depth3 탭 숨김 처리 */
.cbi-sub-content:has(+ * .pages68) .cbi-sub-depth3,
.cbi-sub-content:has(+ .pages68) .cbi-sub-depth3 {
    display: none !important;
}

/* 1. 본문 연구사업 영역 (100% 풀와이드 #F4F4F4 배경) */
.pages68 .sec-research {
    width: 100%;
    background-color: #F4F4F4;
    padding: 100px 0 120px;
    margin-bottom: 100px;
    box-sizing: border-box;
}

.pages68 .res-intro-head {
    text-align: center;
    margin-bottom: 90px;
}

.pages68 .res-main-title {
    font-size: 32px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 16px 0;
    letter-spacing: -0.025em;
}

.pages68 .res-main-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 28px 0;
}

.pages68 .res-main-desc {
    max-width: 1100px;
    margin: 0 auto;
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
}

.pages68 .res-main-desc p {
    margin: 0 0 14px 0;
}

.pages68 .res-main-desc p:last-child {
    margin-bottom: 0;
}

/* 연구 그룹 (Group 1, 2, 3) */
.pages68 .res-group {
    margin-bottom: 150px;
}

.pages68 .res-group:last-child {
    margin-bottom: 0;
}

.pages68 .res-group-head {
    margin-bottom: 24px;
}

.pages68 .res-group-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 12px 0;
}

.pages68 .res-group-desc {
    font-size: 15px;
    color: #64748b;
    line-height: 1.7;
    margin: 0;
}

/* 사진 그리드: 3열 및 6열(2행 3열) */
.pages68 .res-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.pages68 .res-photo-grid .photo-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    cursor: pointer;
}

.pages68 .res-photo-grid .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.pages68 .res-photo-grid .photo-box:hover img {
    transform: scale(1.05);
}

/* 2. 하단 활용 및 지원 사업 영역 (흰 배경) */
.pages68 .sec-actions {
    width: 100%;
    margin-bottom: 120px;
}

.pages68 .action-list {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.pages68 .action-item-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 14px 0;
    line-height: 1.4;
}

.pages68 .action-item-box {
    background-color: #F4F4F4;
    border-radius: 12px;
    padding: 24px 30px;
    box-sizing: border-box;
}

.pages68 .action-item-box p {
    font-size: 15px;
    color: #475569;
    line-height: 1.75;
    margin: 0;
}

/* 00068 반응형 */
@media (max-width: 992px) {
    .pages68 .sec-research {
        padding: 70px 0 80px;
        margin-bottom: 70px;
    }

    .pages68 .res-intro-head {
        margin-bottom: 60px;
    }

    .pages68 .res-main-title {
        font-size: 26px;
    }

    .pages68 .res-main-subtitle {
        font-size: 16px;
    }

    .pages68 .res-group {
        margin-bottom: 60px;
    }

    .pages68 .res-photo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .pages68 .sec-actions {
        margin-bottom: 80px;
    }

    .pages68 .action-item-box {
        padding: 20px 22px;
    }
}

@media (max-width: 640px) {
    .pages68 .sec-research {
        padding: 50px 0 60px;
        margin-bottom: 50px;
    }

    .pages68 .res-main-title {
        font-size: 22px;
    }

    .pages68 .res-main-subtitle {
        font-size: 15px;
    }

    .pages68 .res-main-desc {
        font-size: 13.5px;
    }

    .pages68 .res-group-title {
        font-size: 18px;
    }

    .pages68 .res-group-desc {
        font-size: 13.5px;
    }

    .pages68 .res-photo-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pages68 .action-item-title {
        font-size: 17px;
    }

    .pages68 .action-item-box {
        padding: 16px 18px;
    }

    .pages68 .action-item-box p {
        font-size: 13.5px;
    }
}

/* 00068.php 스크롤 Fade-up 애니메이션 */
.pages68 .sub-ban,
.pages68 .cbi-sub-depth3,
.pages68 .res-intro-head,
.pages68 .res-group,
.pages68 .res-photo-grid .photo-box,
.pages68 .action-item {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages68 .sub-ban.is-visible,
.pages68 .sub-ban.aos-animate,
.pages68 .cbi-sub-depth3.is-visible,
.pages68 .cbi-sub-depth3.aos-animate,
.pages68 .res-intro-head.is-visible,
.pages68 .res-intro-head.aos-animate,
.pages68 .res-group.is-visible,
.pages68 .res-group.aos-animate,
.pages68 .res-group.is-visible .photo-box,
.pages68 .res-group.aos-animate .photo-box,
.pages68 .res-photo-grid .photo-box.is-visible,
.pages68 .res-photo-grid .photo-box.aos-animate,
.pages68 .action-item.is-visible,
.pages68 .action-item.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 3열 사진 그리드 순차 딜레이 */
.pages68 .res-photo-grid--3 .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages68 .res-photo-grid--3 .photo-box:nth-child(2) { transition-delay: 0.22s; }
.pages68 .res-photo-grid--3 .photo-box:nth-child(3) { transition-delay: 0.34s; }

/* 6열 사진 그리드 순차 딜레이 */
.pages68 .res-photo-grid--6 .photo-box:nth-child(1) { transition-delay: 0.08s; }
.pages68 .res-photo-grid--6 .photo-box:nth-child(2) { transition-delay: 0.16s; }
.pages68 .res-photo-grid--6 .photo-box:nth-child(3) { transition-delay: 0.24s; }
.pages68 .res-photo-grid--6 .photo-box:nth-child(4) { transition-delay: 0.32s; }
.pages68 .res-photo-grid--6 .photo-box:nth-child(5) { transition-delay: 0.40s; }
.pages68 .res-photo-grid--6 .photo-box:nth-child(6) { transition-delay: 0.48s; }

/* 액션 카드 순차 딜레이 */
.pages68 .action-item:nth-child(1) { transition-delay: 0.1s; }
.pages68 .action-item:nth-child(2) { transition-delay: 0.22s; }
.pages68 .action-item:nth-child(3) { transition-delay: 0.34s; }


/* =========================================================
   SUBPAGE: 00092 (sub0105_2_국가유산 정책연구)
   Class: .pages.pages92
   Wrap Width: 1440px
   ========================================================= */

.pages92 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban2.jpg');
}

/* 3depth 서브 탭 간격 */
.pages92 .cbi-sub-depth3 {
    margin: 0 auto 80px;
}

/* 상단 중복 depth3 탭 숨김 처리 */
.cbi-sub-content:has(+ * .pages92) .cbi-sub-depth3,
.cbi-sub-content:has(+ .pages92) .cbi-sub-depth3 {
    display: none !important;
}

/* 본문 영역 */
.pages92 .sec-policy {
    width: 100%;
    margin-bottom: 0 !important;
    padding: 100px 0 120px;
    background-color: #f4f4f4;
}

/* 푸터 상단 흰색 여백 제거 (회색 배경 섹션이 푸터와 바로 맞닿도록) */
body:has(.pages92) .cbi-sub-footer,
.sub-layout:has(.pages92) .cbi-sub-footer,
.container-section:has(.pages92) + .cbi-sub-footer,
body:has(.pages section:last-child.bg-gray) .cbi-sub-footer,
.sub-layout:has(.pages section:last-child.bg-gray) .cbi-sub-footer {
    margin-top: 0 !important;
}

.pages92 .policy-intro-head {
    text-align: center;
    margin-bottom: 80px;
}

.pages92 .policy-main-title {
    font-size: 32px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 16px 0;
    letter-spacing: -0.025em;
}

.pages92 .policy-main-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 28px 0;
}

.pages92 .policy-main-desc {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 15px;
    color: #64748b;
    line-height: 1.85;
}

.pages92 .policy-main-desc p {
    margin: 0;
}

/* 주요연구사업 3개 카드 */
.pages92 .policy-biz-wrap {
    margin-bottom: 50px;
}

.pages92 .policy-biz-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 24px 0;
}

.pages92 .policy-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.pages92 .policy-card {
    border-radius: 12px;
    padding: 24px 22px;
    box-sizing: border-box;
    transition: all 0.25s ease;
}

.pages92 .policy-card--1 {
    background: #EBECE8;
}

.pages92 .policy-card--1 .policy-card-title {
    color: #555555;
}

.pages92 .policy-card--2 {
    background: #E2EBF0;
}

.pages92 .policy-card--2 .policy-card-title {
    color: #1D5C82;
}

.pages92 .policy-card--3 {
    background: #DCEDF6;
}

.pages92 .policy-card--3 .policy-card-title {
    color: #0284C7;
}

.pages92 .policy-card-header {
    margin-bottom: 14px;
}

.pages92 .policy-card-title {
    font-size: 18px;
    font-weight: 700;
}

.pages92 .policy-card-body {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px 22px;
    min-height: 96px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.pages92 .policy-card-body p {
    font-size: 14px;
    color: #475569;
    margin: 0;
    line-height: 1.6;
}

/* 2단 사진 그리드 (마우스 오버 줌 기능 포함) */
.pages92 .policy-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.pages92 .policy-photo-grid .photo-box {
    width: 100%;
    aspect-ratio: 709 / 448;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    cursor: pointer;
}

.pages92 .policy-photo-grid .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.pages92 .policy-photo-grid .photo-box:hover img {
    transform: scale(1.05);
}

/* 00092 반응형 */
@media (max-width: 992px) {
    .pages92 .sec-policy {
        margin-bottom: 0 !important;
        padding: 70px 0 80px;
    }

    .pages92 .policy-intro-head {
        margin-bottom: 60px;
    }

    .pages92 .policy-main-title {
        font-size: 26px;
    }

    .pages92 .policy-main-subtitle {
        font-size: 16px;
    }

    .pages92 .policy-biz-wrap {
        margin-bottom: 40px;
    }

    .pages92 .policy-card-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pages92 .policy-card-body {
        min-height: auto;
    }

    .pages92 .policy-photo-grid {
        gap: 16px;
    }
}

@media (max-width: 640px) {
    .pages92 .sec-policy {
        margin-bottom: 0 !important;
        padding: 50px 0 60px;
    }

    .pages92 .policy-main-title {
        font-size: 22px;
    }

    .pages92 .policy-main-subtitle {
        font-size: 15px;
    }

    .pages92 .policy-main-desc {
        font-size: 13.5px;
    }

    .pages92 .policy-biz-title {
        font-size: 18px;
    }

    .pages92 .policy-photo-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* 00092.php 스크롤 Fade-up 애니메이션 */
.pages92 .sub-ban,
.pages92 .cbi-sub-depth3,
.pages92 .policy-intro-head,
.pages92 .policy-biz-wrap,
.pages92 .policy-card,
.pages92 .policy-photo-grid,
.pages92 .policy-photo-grid .photo-box {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages92 .sub-ban.is-visible,
.pages92 .sub-ban.aos-animate,
.pages92 .cbi-sub-depth3.is-visible,
.pages92 .cbi-sub-depth3.aos-animate,
.pages92 .policy-intro-head.is-visible,
.pages92 .policy-intro-head.aos-animate,
.pages92 .policy-biz-wrap.is-visible,
.pages92 .policy-biz-wrap.aos-animate,
.pages92 .policy-biz-wrap.is-visible .policy-card,
.pages92 .policy-biz-wrap.aos-animate .policy-card,
.pages92 .policy-card.is-visible,
.pages92 .policy-card.aos-animate,
.pages92 .policy-photo-grid.is-visible,
.pages92 .policy-photo-grid.aos-animate,
.pages92 .policy-photo-grid.is-visible .photo-box,
.pages92 .policy-photo-grid.aos-animate .photo-box,
.pages92 .policy-photo-grid .photo-box.is-visible,
.pages92 .policy-photo-grid .photo-box.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 카드 및 사진 순차 딜레이 */
.pages92 .policy-card:nth-child(1) { transition-delay: 0.1s; }
.pages92 .policy-card:nth-child(2) { transition-delay: 0.22s; }
.pages92 .policy-card:nth-child(3) { transition-delay: 0.34s; }

.pages92 .policy-photo-grid .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages92 .policy-photo-grid .photo-box:nth-child(2) { transition-delay: 0.24s; }

/* ==========================================================================
   SUBPAGE: 00022.php (sub0502_비전 및 전략)
   ========================================================================== */

.pages22 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban12.jpg');
}

.pages22 .sec-vision {
    width: 100%;
    margin-bottom: 140px;
    padding-top: 10px;
    box-sizing: border-box;
}

/* 헤더: 비전 뱃지 & 메인 타이틀 */
.pages22 .vision-header {
    text-align: center;
    margin-bottom: 60px;
}

.pages22 .vision-badge {
    display: inline-block;
    background-color: #004678;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    padding: 7px 26px;
    border-radius: 999px;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.pages22 .vision-main-title {
    font-size: 32px;
    font-weight: 800;
    color: #111111;
    line-height: 1.3;
    letter-spacing: -0.03em;
    margin: 0;
}

/* 비전 다이어그램 래퍼 */
.pages22 .vision-diagram-wrap {
    position: relative;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* 배경 상향 화살표 그라데이션 */
.pages22 .vision-arrow-bg {
    position: absolute;
    top: -38px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 1080px;
    height: 240px;
    z-index: 0;
    pointer-events: none;
}

.pages22 .vision-arrow-svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* 4개 전략 컬럼 래퍼 (서클-포인터-카드 1:1 매칭) */
.pages22 .vision-cols-wrap {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.pages22 .vstrat-col {
    position: relative;
    width: 258px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pages22 .vstrat-col--1 { z-index: 1; }
.pages22 .vstrat-col--2 { z-index: 2; }
.pages22 .vstrat-col--3 { z-index: 3; }
.pages22 .vstrat-col--4 { z-index: 4; }

.pages22 .vcircle-box {
    position: relative;
    width: 296px;
    height: 296px;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding: 20px;
    margin-top: 130px;
    margin-bottom: 24px;
}

/* 서클 테마별 테두리 및 텍스트 색상 (시안 순서 준수) */
.pages22 .vcircle-box--1 {
    border: 13px solid #6F9D38;
    color: #6F9D38;
}

.pages22 .vcircle-box--2 {
    border: 13px solid #868067;
    color: #333333;
}

.pages22 .vcircle-box--3 {
    border: 13px solid #004678;
    color: #004678;
}

.pages22 .vcircle-box--4 {
    border: 13px solid #3EA3D6;
    color: #3EA3D6;
}

.pages22 .vcircle-inner {
    width: 100%;
}

.pages22 .vcircle-text {
    font-size: 19.5px;
    font-weight: 700;
    line-height: 1.38;
    letter-spacing: -0.03em;
    margin: 0;
    word-break: keep-all;
}

/* 하단 꺾쇠 화살표 포인터 (서클 중심축 정렬: 258px 폭) */
.pages22 .vpointer-item {
    width: 258px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    margin-bottom: 24px;
}

.pages22 .vpointer-item--1 {
    color: #6F9D38;
}

.pages22 .vpointer-item--2 {
    color: #868067;
}

.pages22 .vpointer-item--3 {
    color: #004678;
}

.pages22 .vpointer-item--4 {
    color: #3EA3D6;
}

.pages22 .vpointer-item svg {
    display: block;
    width: 24px;
    height: 24px;
}

/* 4개 세부과제 카드 (서클/포인터 중심축과 258px 간격 일치: 242px) */
.pages22 .vcard-item {
    width: 242px;
    flex-shrink: 0;
    background-color: #ffffff;
    border: 1px solid #ECECEC;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    border-radius: 6px;
    padding: 12px 18px;
    box-sizing: border-box;
    min-height: 196px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pages22 .vcard-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.pages22 .vcard-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
}

.pages22 .vcard-list li {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 14.5px;
    font-weight: 500;
    color: #222222;
    letter-spacing: -0.025em;
    line-height: 1.45;
    padding: 18px 4px;
    border-bottom: 1px solid #EEEEEE;
    word-break: keep-all;
}

.pages22 .vcard-list li:last-child {
    border-bottom: none;
}

.pages22 .vcard-list--2rows li {
    padding: 28px 4px;
}

/* ==========================================================================
   스크롤 시 fade-up 애니메이션 (21페이지 및 AOS 동일 방식)
   ========================================================================== */

.pages22 .vision-header,
.pages22 .vision-arrow-bg,
.pages22 .vstrat-col {
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(.22, .61, .36, 1);
}

.pages22 .vision-header.is-visible,
.pages22 .vision-header.aos-animate,
.pages22 .vision-arrow-bg.is-visible,
.pages22 .vision-arrow-bg.aos-animate,
.pages22 .vstrat-col.is-visible,
.pages22 .vstrat-col.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

.pages22 .vision-header.is-visible,
.pages22 .vision-header.aos-animate {
    transition-delay: 0s;
}

.pages22 .vision-arrow-bg.is-visible,
.pages22 .vision-arrow-bg.aos-animate {
    transition-delay: 0.15s;
}

.pages22 .vstrat-col:nth-child(1).is-visible,
.pages22 .vstrat-col:nth-child(1).aos-animate {
    transition-delay: 0.1s;
}

.pages22 .vstrat-col:nth-child(2).is-visible,
.pages22 .vstrat-col:nth-child(2).aos-animate {
    transition-delay: 0.2s;
}

.pages22 .vstrat-col:nth-child(3).is-visible,
.pages22 .vstrat-col:nth-child(3).aos-animate {
    transition-delay: 0.3s;
}

.pages22 .vstrat-col:nth-child(4).is-visible,
.pages22 .vstrat-col:nth-child(4).aos-animate {
    transition-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
    .pages22 .vision-header,
    .pages22 .vision-arrow-bg,
    .pages22 .vstrat-col {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* 반응형 스타일 */
@media (max-width: 1100px) {
    .pages22 .vision-diagram-wrap {
        max-width: 960px;
    }

    .pages22 .vision-arrow-bg {
        max-width: 940px;
        height: 210px;
        top: -30px;
    }

    .pages22 .vstrat-col {
        width: 228px;
    }

    .pages22 .vcircle-box {
        width: 260px;
        height: 260px;
        border-width: 11px;
        padding: 14px;
    }

    .pages22 .vcircle-text {
        font-size: 17px;
    }

    .pages22 .vpointer-item {
        width: 228px;
    }

    .pages22 .vcard-item {
        width: 214px;
        padding: 10px 14px;
    }

    .pages22 .vcard-list li {
        font-size: 13.5px;
        padding: 14px 2px;
    }

    .pages22 .vcard-list--2rows li {
        padding: 22px 2px;
    }
}

@media (max-width: 960px) {
    .pages22 .sec-vision {
        margin-bottom: 90px;
    }

    .pages22 .vision-header {
        margin-bottom: 48px;
    }

    .pages22 .vision-main-title {
        font-size: 26px;
    }

    .pages22 .vision-arrow-bg {
        display: none;
    }

    .pages22 .vision-cols-wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 36px 20px;
        max-width: 560px;
        margin: 0 auto;
    }

    .pages22 .vstrat-col {
        width: 100%;
    }

    .pages22 .vcircle-box {
        width: 240px;
        height: 240px;
        border-width: 11px;
        margin-top: 0;
        margin-bottom: 16px;
    }

    .pages22 .vcircle-text {
        font-size: 17px;
    }

    .pages22 .vpointer-item {
        display: none;
    }

    .pages22 .vcard-item {
        width: 100%;
        max-width: 260px;
        min-height: 180px;
    }

    .pages22 .vcard-list li {
        font-size: 14px;
        padding: 16px 2px;
    }

    .pages22 .vcard-list--2rows li {
        padding: 26px 2px;
    }
}

@media (max-width: 640px) {
    .pages22 .sec-vision {
        margin-bottom: 60px;
    }

    .pages22 .vision-header {
        margin-bottom: 36px;
    }

    .pages22 .vision-badge {
        font-size: 14px;
        padding: 5px 20px;
        margin-bottom: 14px;
    }

    .pages22 .vision-main-title {
        font-size: 20px;
    }

    .pages22 .vision-cols-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 44px;
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }

    .pages22 .vstrat-col {
        width: 100%;
        align-items: center;
    }

    .pages22 .vcircle-box {
        width: 210px;
        height: 210px;
        border-width: 9px;
        padding: 16px;
        margin-top: 0;
        margin-bottom: 20px;
    }

    .pages22 .vcircle-text {
        font-size: 15.5px;
        line-height: 1.4;
    }

    .pages22 .vpointer-item {
        display: none;
    }

    .pages22 .vcard-item {
        width: 100%;
        max-width: 340px;
        min-height: auto;
        padding: 6px 16px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
        border: 1px solid #ECECEC;
        border-radius: 8px;
    }

    .pages22 .vcard-list li {
        font-size: 13.5px;
        padding: 13px 0;
    }

    .pages22 .vcard-list--2rows li {
        padding: 15px 0;
    }
}

/* ==========================================================================
   SUBPAGE: 00023.php (sub0503_주요연혁)
   ========================================================================== */

.pages23 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban13.jpg');
}

.pages23 .sec-history {
    width: 100%;
    margin-bottom: 140px;
    padding-top: 10px;
    box-sizing: border-box;
}

.pages23 .history-layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
}

/* 좌측 사이드바 (2005년~ 현재 Sticky 헤딩) - 시안 1440px 기준 좌측 약 480px 확보 */
.pages23 .history-sidebar {
    width: 480px;
    flex-shrink: 0;
    box-sizing: border-box;
}

.pages23 .history-sticky-box {
    position: sticky;
    top: 140px;
}

.pages23 .history-period-title {
    font-size: 40px;
    font-weight: 800;
    color: #111111;
    line-height: 1.25;
    letter-spacing: -0.03em;
    margin: 0;
}

/* 우측 타임라인 리스트 */
.pages23 .history-timeline-wrap {
    flex: 1;
    min-width: 0;
    position: relative;
    box-sizing: border-box;
}

/* 타임라인 세로 관통선 트랙 (기본 회색선 + 스크롤 시 파란색 채움선) */
.pages23 .timeline-track {
    position: absolute;
    left: 6px;
    width: 2px;
    z-index: 1;
    pointer-events: none;
}

.pages23 .timeline-line-base {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #E2E8F0;
}

.pages23 .timeline-line-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background-color: #004678;
    transition: height 0.08s ease-out;
}

.pages23 .timeline-list {
    position: relative;
    z-index: 2;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 연도별 타임라인 아이템 */
.pages23 .timeline-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding-bottom: 56px;
    box-sizing: border-box;
}

.pages23 .timeline-item:last-child {
    padding-bottom: 0;
}

/* 마커 도트 컨테이너 (선보다 앞에 위치하여 선을 가림) */
.pages23 .timeline-marker {
    position: relative;
    z-index: 5;
    width: 14px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 80px;
    flex-shrink: 0;
}

.pages23 .marker-dot {
    position: relative;
    z-index: 5;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 2px solid #BAC7D5;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.pages23 .marker-dot::after {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #BAC7D5;
    transition: background-color 0.3s ease;
}

/* 활성화 상태 (스크롤 파란선이 도달했을 때) */
.pages23 .timeline-item.is-active .marker-dot {
    border-color: #004678;
}

.pages23 .timeline-item.is-active .marker-dot::after {
    background-color: #004678;
}

/* 마우스 오버 인터랙션 */
.pages23 .timeline-item:hover .marker-dot {
    border-color: #004678;
    transform: scale(1.25);
    box-shadow: 0 0 0 4px rgba(0, 70, 120, 0.12);
}

.pages23 .timeline-item:hover .marker-dot::after {
    background-color: #004678;
}

/* 연도 타이틀 (Navy Blue 28px ExtraBold) */
.pages23 .timeline-year {
    font-size: 28px;
    font-weight: 800;
    color: #004678;
    width: 80px;
    flex-shrink: 0;
    margin-right: 60px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    transition: color 0.25s ease;
}

.pages23 .timeline-item:hover .timeline-year {
    color: #0861a1;
}

/* 이벤트 목록 (복수 행 지원) */
.pages23 .timeline-events {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 4px;
}

.pages23 .timeline-event {
    display: flex;
    align-items: baseline;
    gap: 50px;
    width: 100%;
}

/* 이벤트 일자 (Bold 18px Black) */
.pages23 .event-date {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    width: 60px;
    flex-shrink: 0;
    line-height: 1.5;
    letter-spacing: -0.01em;
}

/* 이벤트 설명 (16px Dark Gray) */
.pages23 .event-desc {
    font-size: 16px;
    font-weight: 400;
    color: #333333;
    line-height: 1.55;
    letter-spacing: -0.02em;
    word-break: keep-all;
    margin: 0;
    flex: 1;
    transition: color 0.25s ease;
}

.pages23 .timeline-item:hover .event-desc {
    color: #111111;
}

/* 스크롤 시 fade-up 애니메이션 */
.pages23 .history-period-title,
.pages23 .timeline-item {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages23 .history-period-title.is-visible,
.pages23 .history-period-title.aos-animate,
.pages23 .timeline-item.is-visible,
.pages23 .timeline-item.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .pages23 .history-period-title,
    .pages23 .timeline-item {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* 반응형 스타일 */
@media (max-width: 1280px) {
    .pages23 .history-sidebar {
        width: 380px;
    }

    .pages23 .timeline-marker {
        margin-right: 56px;
    }

    .pages23 .timeline-year {
        width: 76px;
        margin-right: 44px;
    }

    .pages23 .timeline-event {
        gap: 36px;
    }
}

@media (max-width: 1024px) {
    .pages23 .sec-history {
        margin-bottom: 90px;
    }

    .pages23 .history-sidebar {
        width: 260px;
    }

    .pages23 .history-period-title {
        font-size: 32px;
    }

    .pages23 .timeline-marker {
        margin-right: 32px;
    }

    .pages23 .timeline-year {
        width: 72px;
        font-size: 24px;
        margin-right: 28px;
    }

    .pages23 .timeline-event {
        gap: 24px;
    }

    .pages23 .event-date {
        width: 52px;
        font-size: 16px;
    }

    .pages23 .event-desc {
        font-size: 15px;
    }

    .pages23 .timeline-item {
        padding-bottom: 44px;
    }
}

@media (max-width: 768px) {
    .pages23 .sec-history {
        margin-bottom: 60px;
    }

    .pages23 .history-layout {
        flex-direction: column;
    }

    .pages23 .history-sidebar {
        width: 100%;
        margin-bottom: 36px;
    }

    .pages23 .history-sticky-box {
        position: static;
    }

    .pages23 .history-period-title {
        font-size: 26px;
    }

    .pages23 .timeline-item {
        padding-bottom: 32px;
    }

    .pages23 .timeline-marker {
        margin-right: 18px;
    }

    .pages23 .timeline-year {
        width: 62px;
        font-size: 20px;
        margin-right: 14px;
    }

    .pages23 .timeline-events {
        gap: 12px;
        padding-top: 2px;
    }

    .pages23 .timeline-event {
        flex-direction: column;
        gap: 4px;
    }

    .pages23 .event-date {
        font-size: 14.5px;
        width: auto;
        color: #004678;
    }

    .pages23 .event-desc {
        font-size: 14px;
    }
}


/* ==========================================================================
   SUBPAGE: 00024.php (sub0504_조직도)
   ========================================================================== */

/* 1. 조직도 다이어그램 카드 (#F1F1F1 연회색 배경, 40px 라운딩) */
.pages24 .sec-org-diagram {
    width: 100%;
    margin-bottom: 90px;
    padding-top: 10px;
    box-sizing: border-box;
}

.pages24 .org-diagram-card {
    background-color: #F1F1F1;
    border-radius: 40px;
    padding: 60px 40px 70px;
    box-sizing: border-box;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.pages24 .org-diagram-pc {
    display: flex;
}

.pages24 .org-diagram-mobile {
    display: none;
}

.pages24 .org-diagram-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    display: flex;
    justify-content: center;
    padding-top: 6px;
    margin-top: -6px;
}

/* 1150px 고정 캔버스 (5개 컬럼 206px + 간격 30px 완벽 매칭) */
.pages24 .org-tree-canvas {
    width: 1150px;
    min-width: 1150px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    box-sizing: border-box;
}

/* Level 1: 이사회·감사 & 이사장 */
.pages24 .org-row-level1 {
    width: 1150px;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 236px;
    box-sizing: border-box;
}

.pages24 .org-node-board,
.pages24 .org-node-chair {
    width: 206px;
    height: 48px;
    border-radius: 24px;
    background-color: #ffffff;
    border: 2px solid #111111;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15.5px;
    font-weight: 700;
    color: #111111;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pages24 .org-node-board:hover,
.pages24 .org-node-chair:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.pages24 .org-line-board-chair {
    width: 30px;
    height: 2px;
    background-color: #B0BEC5;
    flex-shrink: 0;
}

/* 이사장 -> 원장 세로 연결선 (정중앙 575px 축 완벽 일치) */
.pages24 .org-line-chair-director {
    width: 2px;
    height: 32px;
    background-color: #B0BEC5;
    margin: 0 auto;
}

/* Level 2: 원장 (정중앙 575px 축) */
.pages24 .org-row-level2 {
    width: 1150px;
    display: flex;
    justify-content: center;
    position: relative;
}

.pages24 .org-node-director {
    width: 206px;
    height: 48px;
    border-radius: 24px;
    background-color: #556E8A;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(85, 110, 138, 0.25);
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pages24 .org-node-director:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(85, 110, 138, 0.35);
}

/* 원장 -> 가로 분기선 세로 연결선 */
.pages24 .org-line-director-branch {
    width: 2px;
    height: 34px;
    background-color: #B0BEC5;
    margin: 0 auto;
}

/* Level 3: 5개 부서 분기 래퍼 */
.pages24 .org-branch-container {
    width: 1150px;
    position: relative;
    padding-top: 30px;
    box-sizing: border-box;
}

/* 5개 컬럼의 정중앙을 관통하는 가로 분기선 (Col 1 센터 103px ~ Col 5 센터 1047px) */
.pages24 .org-branch-line {
    position: absolute;
    top: 0;
    left: 103px;
    width: 944px;
    height: 2px;
    background-color: #B0BEC5;
    z-index: 1;
}

/* 5개 컬럼 그리드 */
.pages24 .org-grid-columns {
    display: grid;
    grid-template-columns: repeat(5, 206px);
    gap: 30px;
    width: 1150px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

.pages24 .org-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

/* 가로 분기선에서 각 부서 헤더로 떨어지는 세로 드롭선 */
.pages24 .org-col-drop {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 30px;
    background-color: #B0BEC5;
    z-index: 2;
}

/* 부서 헤더 노드 (Dark Navy) */
.pages24 .org-node-dept {
    width: 206px;
    height: 48px;
    border-radius: 10px;
    background-color: #004678;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 70, 120, 0.18);
    box-sizing: border-box;
    transition: transform 0.2s ease, background-color 0.2s ease;
    position: relative;
    z-index: 3;
}

.pages24 .org-col:hover .org-node-dept {
    transform: translateY(-2px);
    background-color: #003660;
}

/* 하위 팀 트리 구조 */
.pages24 .org-subteams {
    width: 206px;
    display: flex;
    flex-direction: column;
    padding-top: 14px;
    position: relative;
    box-sizing: border-box;
}

.pages24 .org-subteams::before {
    content: '';
    position: absolute;
    left: 0;
    top: -10px;
    bottom: 22px;
    width: 2px;
    background-color: #7B9EBF;
}

.pages24 .org-subteam-item {
    position: relative;
    width: 206px;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
}

.pages24 .org-subteam-item:last-child {
    margin-bottom: 0;
}

.pages24 .org-subteam-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 26px;
    height: 2px;
    background-color: #7B9EBF;
}

/* 하위 팀 카드 (Light Ice Blue) */
.pages24 .org-node-sub {
    width: 180px;
    height: 44px;
    border-radius: 10px;
    background-color: #EBF3FC;
    border: 1.5px solid #004678;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14.5px;
    font-weight: 700;
    color: #111111;
    box-sizing: border-box;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.pages24 .org-subteam-item:hover .org-node-sub {
    background-color: #DDEBFB;
    transform: translateX(2px);
}

/* 2. 본문 테이블 목록 섹션 */
.pages24 .sec-org-tables {
    width: 100%;
    margin-bottom: 140px;
    box-sizing: border-box;
}

.pages24 .org-tables-wrap {
    width: 100%;
    box-sizing: border-box;
}

.pages24 .org-table-section {
    margin-bottom: 70px;
    box-sizing: border-box;
}

.pages24 .org-table-section:last-child {
    margin-bottom: 0;
}

.pages24 .org-table-header {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 16px;
}

.pages24 .org-table-title {
    font-size: 22px;
    font-weight: 800;
    color: #111111;
    margin: 0;
    letter-spacing: -0.02em;
}

.pages24 .org-table-tel {
    font-size: 18px;
    font-weight: 700;
    color: #004678;
    text-decoration: none;
    letter-spacing: -0.01em;
    transition: color 0.2s ease;
}

.pages24 .org-table-tel:hover {
    color: #0861a1;
    text-decoration: underline;
}

.pages24 .org-table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pages24 .org-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    border-top: 2px solid #111111;
    border-bottom: 1px solid #111111;
    box-sizing: border-box;
}

.pages24 .org-table thead th {
    background-color: #F5F6F8;
    color: #111111;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    padding: 18px 12px;
    border-bottom: 1px solid #E5E5E5;
    border-right: 1px solid #E5E5E5;
    letter-spacing: -0.02em;
    box-sizing: border-box;
}

.pages24 .org-table thead th:last-child {
    border-right: none;
}

.pages24 .org-table tbody td {
    padding: 16px 14px;
    font-size: 15px;
    color: #333333;
    border-bottom: 1px solid #E5E5E5;
    border-right: 1px solid #E5E5E5;
    box-sizing: border-box;
    vertical-align: middle;
}

.pages24 .org-table tbody td:last-child {
    border-right: none;
}

.pages24 .org-table .cell-dept {
    background-color: #F8F9FA;
    font-weight: 700;
    color: #111111;
    text-align: center;
    vertical-align: middle;
}

.pages24 .org-table .cell-pos {
    text-align: center;
    font-weight: 500;
    color: #222222;
}

.pages24 .org-table .cell-duty {
    text-align: left;
    padding-left: 24px;
    line-height: 1.6;
    word-break: keep-all;
    color: #333333;
}

.pages24 .org-table .cell-tel {
    text-align: center;
    font-weight: 500;
    color: #333333;
    font-family: inherit;
}

/* 스크롤 시 fade-up 애니메이션 */
.pages24 .org-diagram-card,
.pages24 .org-table-section {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages24 .org-diagram-card.is-visible,
.pages24 .org-diagram-card.aos-animate,
.pages24 .org-table-section.is-visible,
.pages24 .org-table-section.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .pages24 .org-diagram-card,
    .pages24 .org-table-section {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* 반응형 스타일 */
@media (max-width: 1024px) {
    .pages24 .sec-org-diagram {
        margin-bottom: 70px;
    }

    .pages24 .org-diagram-card {
        border-radius: 28px;
        padding: 45px 20px 55px;
    }

    .pages24 .sec-org-tables {
        margin-bottom: 90px;
    }

    .pages24 .org-table-section {
        margin-bottom: 50px;
    }

    .pages24 .org-table-title {
        font-size: 20px;
    }

    .pages24 .org-table-tel {
        font-size: 16.5px;
    }

    .pages24 .org-table thead th {
        font-size: 15px;
        padding: 15px 10px;
    }

    .pages24 .org-table tbody td {
        font-size: 14px;
        padding: 14px 10px;
    }
}

@media (max-width: 768px) {
    .pages24 .sec-org-diagram {
        margin-bottom: 50px;
    }

    .pages24 .org-diagram-card {
        border-radius: 20px;
        padding: 24px 16px;
    }

    .pages24 .org-diagram-pc {
        display: none !important;
    }

    .pages24 .org-diagram-mobile {
        display: block !important;
        width: 100%;
    }

    .pages24 .org-diagram-mobile img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .pages24 .sec-org-tables {
        margin-bottom: 60px;
    }

    .pages24 .org-table-section {
        margin-bottom: 40px;
    }

    .pages24 .org-table-title {
        font-size: 18px;
    }

    .pages24 .org-table-tel {
        font-size: 15.5px;
    }

    .pages24 .org-table .cell-duty {
        padding-left: 14px;
    }
}

@media (max-width: 480px) {
    .pages24 .org-diagram-card {
        border-radius: 16px;
        padding: 16px 10px;
    }
}


/* ==========================================================================
   SUBPAGE: 00025.php (sub0505_찾아오시는 길)
   ========================================================================== */

.pages25 {
    width: 100%;
    box-sizing: border-box;
}

/* 상단 메인 타이틀 */
.pages25 .page-title-wrap {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto 60px;
    padding: 0 20px;
    text-align: center;
    box-sizing: border-box;
}

.pages25 .page-main-title {
    font-size: 38px;
    font-weight: 800;
    color: #111111;
    letter-spacing: -0.03em;
    line-height: 1.3;
    margin: 0;
}

/* 1. 구글 지도 컨테이너 (1800px * 560px, border-radius: 40px) */
.pages25 .sec-map {
    width: 100%;
    margin-bottom: 80px;
    box-sizing: border-box;
}

.pages25 .map-container {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.pages25 .map-inner {
    width: 100%;
    height: 560px;
    border-radius: 40px;
    overflow: hidden;
    position: relative;
    background-color: #f0f2f5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.pages25 .google-map-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* 2. 기관 안내 및 연락처 섹션 */
.pages25 .sec-info {
    width: 100%;
    margin-bottom: 140px;
    box-sizing: border-box;
}

.pages25 .info-sec-title {
    font-size: 26px;
    font-weight: 700;
    color: #111111;
    letter-spacing: -0.02em;
    margin: 0 0 28px 0;
}

/* 4분할 카드 박스 (1440px * 230px 규격) */
.pages25 .info-card-box {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #E8EBF0;
    border-radius: 20px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.03);
    display: flex;
    overflow: hidden;
    box-sizing: border-box;
}

.pages25 .info-card-col {
    flex: 1 1 0;
    min-width: 0;
    padding: 38px 32px 42px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-right: 1px solid #EAEAEA;
    transition: background-color 0.25s ease;
}

.pages25 .info-card-col:last-child {
    border-right: none;
}

.pages25 .info-card-col:hover {
    background-color: #FBFDFE;
}

/* 카드 상단: 타이틀 + 아이콘 */
.pages25 .info-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
}

.pages25 .info-card-title {
    font-size: 20px;
    font-weight: 700;
    color: #111111;
    letter-spacing: -0.02em;
    margin: 0;
}

.pages25 .info-card-icon,
.pages25 .info-card-icon-svg {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pages25 .info-card-icon-svg svg {
    width: 28px;
    height: 28px;
    display: block;
}

/* 카드 내용 */
.pages25 .info-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.pages25 .info-address {
    font-size: 15px;
    line-height: 1.6;
    color: #444444;
    letter-spacing: -0.02em;
    margin: 0;
}

.pages25 .info-contact-row {
    font-size: 15px;
    line-height: 1.8;
    color: #444444;
    margin: 0;
    display: flex;
    align-items: center;
    letter-spacing: -0.01em;
}

.pages25 .info-contact-row .label {
    display: inline-block;
    width: 32px;
    font-weight: 600;
    color: #333333;
}

.pages25 .info-contact-row .sep {
    margin: 0 8px;
    color: #BBBBBB;
    font-size: 13px;
}

.pages25 .info-contact-row .val {
    color: #444444;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.2s ease;
}

.pages25 .info-contact-row a.val:hover {
    color: #004678;
    text-decoration: underline;
}

/* 반응형 스타일 */
@media (max-width: 1200px) {
    .pages25 .map-inner {
        height: 480px;
        border-radius: 28px;
    }

    .pages25 .info-card-box {
        flex-wrap: wrap;
    }

    .pages25 .info-card-col {
        flex: 1 1 50%;
        border-bottom: 1px solid #EAEAEA;
    }

    .pages25 .info-card-col:nth-child(2n) {
        border-right: none;
    }

    .pages25 .info-card-col:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

@media (max-width: 768px) {
    .pages25 .page-title-wrap {
        margin-bottom: 35px;
    }

    .pages25 .page-main-title {
        font-size: 28px;
    }

    .pages25 .sec-map {
        margin-bottom: 50px;
    }

    .pages25 .map-inner {
        height: 380px;
        border-radius: 20px;
    }

    .pages25 .sec-info {
        margin-bottom: 70px;
    }

    .pages25 .info-sec-title {
        font-size: 20px;
        margin-bottom: 18px;
    }

    .pages25 .info-card-box {
        flex-direction: column;
        border-radius: 16px;
    }

    .pages25 .info-card-col {
        flex: 1 1 100%;
        border-right: none;
        border-bottom: 1px solid #EAEAEA;
        padding: 24px 20px;
    }

    .pages25 .info-card-col:last-child {
        border-bottom: none;
    }

    .pages25 .info-card-header {
        margin-bottom: 16px;
    }

    .pages25 .info-card-title {
        font-size: 18px;
    }

    .pages25 .info-card-icon {
        width: 24px;
        height: 24px;
    }

    .pages25 .info-address,
    .pages25 .info-contact-row {
        font-size: 14px;
    }
}

/* 00025.php fade-up 스크롤 애니메이션 */
.pages25 .page-title-wrap,
.pages25 .sec-map,
.pages25 .sec-info,
.pages25 .info-card-col {
    opacity: 0;
    transform: translateY(35px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages25 .page-title-wrap.is-visible,
.pages25 .page-title-wrap.aos-animate,
.pages25 .sec-map.is-visible,
.pages25 .sec-map.aos-animate,
.pages25 .sec-info.is-visible,
.pages25 .sec-info.aos-animate,
.pages25 .info-card-col.is-visible,
.pages25 .info-card-col.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 카드 컬럼 순차 딜레이 */
.pages25 .info-card-col:nth-child(1) { transition-delay: 0.1s; }
.pages25 .info-card-col:nth-child(2) { transition-delay: 0.2s; }
.pages25 .info-card-col:nth-child(3) { transition-delay: 0.3s; }
.pages25 .info-card-col:nth-child(4) { transition-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
    .pages25 .page-title-wrap,
    .pages25 .sec-map,
    .pages25 .sec-info,
    .pages25 .info-card-col {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* ==========================================================================
   SUBPAGE: 00071.php (sub0105_3_충북 무형유산 연구)
   Class: .pages.pages71
   Wrap Width: 1440px
   ========================================================================== */

.pages71 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban2.jpg');
}

/* 3depth 서브 탭 간격 */
.pages71 .cbi-sub-depth3 {
    margin: 0 auto 80px;
}

/* 상단 중복 depth3 탭 숨김 처리 */
.cbi-sub-content:has(+ * .pages71) .cbi-sub-depth3,
.cbi-sub-content:has(+ .pages71) .cbi-sub-depth3 {
    display: none !important;
}

/* 1. 페이지 인트로 헤더 */
.pages71 .intangible-intro-head {
    text-align: center;
    margin-bottom: 80px;
}

.pages71 .intangible-main-title {
    font-size: 32px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 16px 0;
    letter-spacing: -0.025em;
}

.pages71 .intangible-main-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 28px 0;
}

.pages71 .intangible-main-desc {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 15px;
    color: #64748b;
    line-height: 1.85;
}

.pages71 .intangible-main-desc p {
    margin: 0;
}

/* 2. 100% 풀와이드 본문 섹션 (#F4F4F4) */
.pages71 .sec-intangible {
    width: 100%;
    margin-bottom: 0 !important;
    padding: 100px 0 120px;
    background-color: #f4f4f4;
}

/* 푸터 상단 여백 제거 (회색 배경 섹션이 푸터와 매끄럽게 연결) */
body:has(.pages71) .cbi-sub-footer,
.sub-layout:has(.pages71) .cbi-sub-footer,
.container-section:has(.pages71) + .cbi-sub-footer {
    margin-top: 0 !important;
}

.pages71 .intangible-group {
    margin-bottom: 120px;
}

.pages71 .intangible-group:last-child {
    margin-bottom: 0;
}

.pages71 .intangible-group-head {
    margin-bottom: 24px;
}

.pages71 .intangible-group-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
}

/* --- 주요연구사업 3개 상단 카드 그리드 --- */
.pages71 .intangible-biz-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.pages71 .biz-card {
    border-radius: 12px;
    padding: 24px 22px;
    box-sizing: border-box;
    transition: all 0.25s ease;
}

.pages71 .biz-card--1 {
    background: #EBECE8;
}

.pages71 .biz-card--1 .biz-card-title {
    color: #555555;
}

.pages71 .biz-card--2 {
    background: #E2EBF0;
}

.pages71 .biz-card--2 .biz-card-title {
    color: #1D5C82;
}

.pages71 .biz-card--3 {
    background: #DCEDF6;
}

.pages71 .biz-card--3 .biz-card-title {
    color: #0284C7;
}

.pages71 .biz-card-header {
    margin-bottom: 14px;
}

.pages71 .biz-card-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.pages71 .biz-card-body {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px 22px;
    min-height: 96px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.pages71 .biz-card-body p {
    font-size: 14px;
    color: #475569;
    margin: 0;
    line-height: 1.6;
}

/* --- 주요연구사업 하단 5개 사진 복합 그리드 (마우스 오버 줌) --- */
.pages71 .intangible-photo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

.pages71 .photo-col--stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pages71 .photo-col--center {
    display: flex;
}

.pages71 .photo-box {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.pages71 .photo-col--stack .photo-box:nth-child(1) {
    aspect-ratio: 899 / 436;
}

.pages71 .photo-col--stack .photo-box:nth-child(2) {
    aspect-ratio: 899 / 554;
}

.pages71 .photo-box--tall {
    height: 100%;
    display: flex;
}

.pages71 .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

/* 사진 마우스 오버 줌 인 기능 */
.pages71 .photo-box:hover img {
    transform: scale(1.06);
}

/* --- 2. 무형유산의 체계적 보존 4개 카드 그리드 --- */
.pages71 .intangible-preserve-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.pages71 .preserve-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 28px 24px;
    box-sizing: border-box;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pages71 .preserve-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
}

.pages71 .preserve-card-header {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.pages71 .preserve-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
    flex-shrink: 0;
    margin-top: 3px;
}

.pages71 .preserve-card-title {
    font-size: 16.5px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.45;
    margin: 0;
    letter-spacing: -0.02em;
}

.pages71 .preserve-card-body {
    flex: 1;
}

.pages71 .preserve-card-body p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.65;
    margin: 0;
    letter-spacing: -0.01em;
}

/* --- 3. 무형유산 전승 활성화 3개 카드 그리드 --- */
.pages71 .intangible-action-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.pages71 .action-card {
    border-radius: 12px;
    padding: 24px 22px;
    box-sizing: border-box;
    transition: all 0.25s ease;
}

.pages71 .action-card--1 {
    background: #EBECE8;
}

.pages71 .action-card--1 .action-card-title {
    color: #555555;
}

.pages71 .action-card--2 {
    background: #E2EBF0;
}

.pages71 .action-card--2 .action-card-title {
    color: #1D5C82;
}

.pages71 .action-card--3 {
    background: #DCEDF6;
}

.pages71 .action-card--3 .action-card-title {
    color: #0284C7;
}

.pages71 .action-card-header {
    margin-bottom: 16px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.pages71 .action-card-title {
    font-size: 17.5px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    letter-spacing: -0.02em;
}

.pages71 .action-card-body {
    background: #ffffff;
    border-radius: 8px;
    padding: 22px 22px;
    min-height: 140px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.pages71 .action-card-body p {
    font-size: 14px;
    color: #475569;
    margin: 0;
    line-height: 1.7;
    letter-spacing: -0.01em;
}

/* 00071.php 스크롤 Fade-up 애니메이션 */
.pages71 .sub-ban,
.pages71 .cbi-sub-depth3,
.pages71 .intangible-intro-head,
.pages71 .intangible-group,
.pages71 .biz-card,
.pages71 .photo-box,
.pages71 .preserve-card,
.pages71 .action-card {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages71 .sub-ban.is-visible,
.pages71 .sub-ban.aos-animate,
.pages71 .cbi-sub-depth3.is-visible,
.pages71 .cbi-sub-depth3.aos-animate,
.pages71 .intangible-intro-head.is-visible,
.pages71 .intangible-intro-head.aos-animate,
.pages71 .intangible-group.is-visible,
.pages71 .intangible-group.aos-animate,
.pages71 .intangible-group.is-visible .biz-card,
.pages71 .intangible-group.aos-animate .biz-card,
.pages71 .intangible-group.is-visible .photo-box,
.pages71 .intangible-group.aos-animate .photo-box,
.pages71 .intangible-group.is-visible .preserve-card,
.pages71 .intangible-group.aos-animate .preserve-card,
.pages71 .intangible-group.is-visible .action-card,
.pages71 .intangible-group.aos-animate .action-card,
.pages71 .biz-card.is-visible,
.pages71 .biz-card.aos-animate,
.pages71 .photo-box.is-visible,
.pages71 .photo-box.aos-animate,
.pages71 .preserve-card.is-visible,
.pages71 .preserve-card.aos-animate,
.pages71 .action-card.is-visible,
.pages71 .action-card.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 카드 순차 딜레이 */
.pages71 .biz-card:nth-child(1) { transition-delay: 0.1s; }
.pages71 .biz-card:nth-child(2) { transition-delay: 0.2s; }
.pages71 .biz-card:nth-child(3) { transition-delay: 0.3s; }

/* 사진 순차 딜레이 */
.pages71 .intangible-photo-grid .photo-col:nth-child(1) .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages71 .intangible-photo-grid .photo-col:nth-child(1) .photo-box:nth-child(2) { transition-delay: 0.18s; }
.pages71 .intangible-photo-grid .photo-col:nth-child(2) .photo-box { transition-delay: 0.26s; }
.pages71 .intangible-photo-grid .photo-col:nth-child(3) .photo-box:nth-child(1) { transition-delay: 0.34s; }
.pages71 .intangible-photo-grid .photo-col:nth-child(3) .photo-box:nth-child(2) { transition-delay: 0.42s; }

.pages71 .preserve-card:nth-child(1) { transition-delay: 0.1s; }
.pages71 .preserve-card:nth-child(2) { transition-delay: 0.18s; }
.pages71 .preserve-card:nth-child(3) { transition-delay: 0.26s; }
.pages71 .preserve-card:nth-child(4) { transition-delay: 0.34s; }

.pages71 .action-card:nth-child(1) { transition-delay: 0.1s; }
.pages71 .action-card:nth-child(2) { transition-delay: 0.2s; }
.pages71 .action-card:nth-child(3) { transition-delay: 0.3s; }

/* 00071.php 반응형 스타일 */
@media (max-width: 1024px) {
    .pages71 .intangible-preserve-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .pages71 .sec-intangible {
        padding: 60px 0 80px;
    }

    .pages71 .intangible-intro-head {
        margin-bottom: 50px;
    }

    .pages71 .intangible-main-title {
        font-size: 26px;
    }

    .pages71 .intangible-main-subtitle {
        font-size: 16px;
    }

    .pages71 .intangible-group {
        margin-bottom: 80px;
    }

    .pages71 .intangible-biz-grid,
    .pages71 .intangible-action-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pages71 .biz-card-body,
    .pages71 .action-card-body {
        min-height: auto;
    }

    .pages71 .intangible-photo-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pages71 .photo-box--tall {
        aspect-ratio: 902 / 1017;
    }

    .pages71 .intangible-preserve-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pages71 .preserve-card {
        padding: 22px 18px;
    }
}


/* ==========================================================================
   SUBPAGE: 00072.php (sub0105_4_중원역사문화권 진흥 연구)
   Class: .pages.pages72
   Wrap Width: 1440px
   ========================================================================== */

.pages72 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban2.jpg');
}

/* 3depth 서브 탭 간격 */
.pages72 .cbi-sub-depth3 {
    margin: 0 auto 80px;
}

/* 상단 중복 depth3 탭 숨김 처리 */
.cbi-sub-content:has(+ * .pages72) .cbi-sub-depth3,
.cbi-sub-content:has(+ .pages72) .cbi-sub-depth3 {
    display: none !important;
}

/* 1. 페이지 인트로 헤더 (흰 배경) */
.pages72 .jungwon-intro-head {
    text-align: center;
    margin-bottom: 80px;
}

.pages72 .jungwon-main-title {
    font-size: 32px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 16px 0;
    letter-spacing: -0.025em;
}

.pages72 .jungwon-main-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 28px 0;
}

.pages72 .jungwon-main-desc {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 15px;
    color: #64748b;
    line-height: 1.85;
}

.pages72 .jungwon-main-desc p {
    margin: 0;
}

/* 2. 섹션 공통 스타일 */
.pages72 .sec-jungwon-biz {
    width: 100%;
    padding: 100px 0 110px;
    background-color: #f4f4f4;
}

.pages72 .sec-jungwon-conference {
    width: 100%;
    padding: 100px 0 110px;
    background-color: #ffffff;
}

.pages72 .sec-jungwon-spread {
    width: 100%;
    margin-bottom: 0 !important;
    padding: 100px 0 120px;
    background-color: #f4f4f4;
}

/* 푸터 상단 여백 제거 (마지막 회색 섹션과 푸터 매끄럽게 연결) */
body:has(.pages72) .cbi-sub-footer,
.sub-layout:has(.pages72) .cbi-sub-footer,
.container-section:has(.pages72) + .cbi-sub-footer {
    margin-top: 0 !important;
}

/* 주요 연구사업 헤더 */
.pages72 .jungwon-group-head {
    margin-bottom: 24px;
}

.pages72 .jungwon-group-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
}

/* 주요 연구사업 3개 화이트 카드 그리드 */
.pages72 .jungwon-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.pages72 .jungwon-biz-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px 26px;
    box-sizing: border-box;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pages72 .jungwon-biz-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.pages72 .jungwon-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.pages72 .jungwon-card-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

.pages72 .jungwon-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
    letter-spacing: -0.02em;
}

.pages72 .jungwon-card-body {
    flex: 1;
}

.pages72 .jungwon-card-body p {
    font-size: 14px;
    color: #64748b;
    line-height: 1.7;
    margin: 0;
    letter-spacing: -0.01em;
}

/* 콘텐츠 섹션 헤더 & 태그 */
.pages72 .jungwon-tag {
    display: inline-block;
    font-size: 13.5px;
    font-weight: 600;
    color: #888888;
    margin-bottom: 12px;
    letter-spacing: -0.02em;
    line-height: 1.4;
}

.pages72 .jungwon-tag-space {
    display: inline-block;
    font-size: 13.5px;
    line-height: 1.4;
    margin-bottom: 12px;
    height: 1.4em;
    visibility: hidden;
}

.pages72 .jungwon-content-head {
    margin-bottom: 30px;
}

.pages72 .jungwon-content-title {
    font-size: 26px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 14px 0;
    letter-spacing: -0.02em;
}

.pages72 .jungwon-content-desc {
    font-size: 15px;
    color: #444444;
    line-height: 1.75;
    margin: 0;
    letter-spacing: -0.01em;
}

/* 2단 텍스트 헤더 구조 (섹션 3) */
.pages72 .jungwon-dual-head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 30px;
    align-items: start;
}

.pages72 .dual-head-left,
.pages72 .dual-head-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* 2개 사진 그리드 (709 x 448 규격, 마우스 오버 줌 인) */
.pages72 .jungwon-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.pages72 .jungwon-photo-grid .photo-box {
    width: 100%;
    aspect-ratio: 1190 / 752;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}

.pages72 .jungwon-photo-grid .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

/* 사진 마우스 오버 시 약간 커지는 줌 기능 */
.pages72 .jungwon-photo-grid .photo-box:hover img {
    transform: scale(1.06);
}

/* 00072.php 스크롤 Fade-up 애니메이션 */
.pages72 .sub-ban,
.pages72 .cbi-sub-depth3,
.pages72 .jungwon-intro-head,
.pages72 .jungwon-biz-group,
.pages72 .jungwon-biz-card,
.pages72 .jungwon-content-group,
.pages72 .jungwon-photo-grid .photo-box {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages72 .sub-ban.is-visible,
.pages72 .sub-ban.aos-animate,
.pages72 .cbi-sub-depth3.is-visible,
.pages72 .cbi-sub-depth3.aos-animate,
.pages72 .jungwon-intro-head.is-visible,
.pages72 .jungwon-intro-head.aos-animate,
.pages72 .jungwon-biz-group.is-visible,
.pages72 .jungwon-biz-group.aos-animate,
.pages72 .jungwon-biz-group.is-visible .jungwon-biz-card,
.pages72 .jungwon-biz-group.aos-animate .jungwon-biz-card,
.pages72 .jungwon-biz-card.is-visible,
.pages72 .jungwon-biz-card.aos-animate,
.pages72 .jungwon-content-group.is-visible,
.pages72 .jungwon-content-group.aos-animate,
.pages72 .jungwon-content-group.is-visible .photo-box,
.pages72 .jungwon-content-group.aos-animate .photo-box,
.pages72 .jungwon-photo-grid .photo-box.is-visible,
.pages72 .jungwon-photo-grid .photo-box.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 카드 순차 딜레이 */
.pages72 .jungwon-biz-card:nth-child(1) { transition-delay: 0.1s; }
.pages72 .jungwon-biz-card:nth-child(2) { transition-delay: 0.2s; }
.pages72 .jungwon-biz-card:nth-child(3) { transition-delay: 0.3s; }

.pages72 .jungwon-photo-grid .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages72 .jungwon-photo-grid .photo-box:nth-child(2) { transition-delay: 0.2s; }

/* 00072.php 반응형 스타일 */
@media (max-width: 992px) {
    .pages72 .sec-jungwon-biz,
    .pages72 .sec-jungwon-conference,
    .pages72 .sec-jungwon-spread {
        padding: 70px 0 80px;
    }

    .pages72 .jungwon-card-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pages72 .jungwon-dual-head {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pages72 .dual-head-right {
        padding-top: 0;
    }

    .pages72 .jungwon-photo-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .pages72 .jungwon-intro-head {
        margin-bottom: 50px;
    }

    .pages72 .jungwon-main-title {
        font-size: 26px;
    }

    .pages72 .jungwon-main-subtitle {
        font-size: 16px;
    }

    .pages72 .jungwon-content-title {
        font-size: 22px;
    }

    .pages72 .jungwon-biz-card {
        padding: 24px 20px;
    }
}


/* ==========================================================================
   SUBPAGE: 00073.php (sub0105_5_세계유산 등재 추진)
   Class: .pages.pages73
   Wrap Width: 1440px
   ========================================================================== */

.pages73 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban2.jpg');
}

/* 3depth 서브 탭 간격 */
.pages73 .cbi-sub-depth3 {
    margin: 0 auto 80px;
}

/* 상단 중복 depth3 탭 숨김 처리 */
.cbi-sub-content:has(+ * .pages73) .cbi-sub-depth3,
.cbi-sub-content:has(+ .pages73) .cbi-sub-depth3 {
    display: none !important;
}

/* 1. 페이지 인트로 헤더 (흰 배경) */
.pages73 .heritage-intro-head {
    text-align: center;
    margin-bottom: 80px;
}

.pages73 .heritage-main-title {
    font-size: 32px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 16px 0;
    letter-spacing: -0.025em;
}

.pages73 .heritage-main-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 28px 0;
}

.pages73 .heritage-main-desc {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 15px;
    color: #64748b;
    line-height: 1.85;
}

.pages73 .heritage-main-desc p {
    margin: 0;
}

/* 2. 섹션 스타일 */
.pages73 .sec-heritage-biz {
    width: 100%;
    padding: 100px 0 110px;
    background-color: #f4f4f4;
}

.pages73 .sec-heritage-collab {
    width: 100%;
    margin-bottom: 120px;
    padding: 100px 0 0;
    background-color: #ffffff;
}

/* 주요 연구사업 헤더 */
.pages73 .heritage-group-head {
    margin-bottom: 24px;
}

.pages73 .heritage-group-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
}

/* 3개 화이트 카드 그리드 */
.pages73 .heritage-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.pages73 .heritage-biz-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px 26px;
    box-sizing: border-box;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pages73 .heritage-biz-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.pages73 .heritage-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.pages73 .heritage-card-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

.pages73 .heritage-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
    letter-spacing: -0.02em;
}

.pages73 .heritage-card-body {
    flex: 1;
}

.pages73 .heritage-card-body p {
    font-size: 14px;
    color: #64748b;
    line-height: 1.7;
    margin: 0;
    letter-spacing: -0.01em;
}

/* 3. 콘텐츠 헤더 & 2단 구조 */
.pages73 .heritage-tag {
    display: inline-block;
    font-size: 13.5px;
    font-weight: 600;
    color: #888888;
    margin-bottom: 12px;
    letter-spacing: -0.02em;
    line-height: 1.4;
}

.pages73 .heritage-tag-space {
    display: inline-block;
    font-size: 13.5px;
    line-height: 1.4;
    margin-bottom: 12px;
    height: 1.4em;
    visibility: hidden;
}

.pages73 .heritage-content-title {
    font-size: 26px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    margin: 0 0 14px 0;
    letter-spacing: -0.02em;
}

.pages73 .heritage-content-desc {
    font-size: 15px;
    color: #444444;
    line-height: 1.75;
    margin: 0;
    letter-spacing: -0.01em;
}

.pages73 .heritage-dual-head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 30px;
    align-items: start;
}

.pages73 .dual-head-left,
.pages73 .dual-head-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* 2개 사진 그리드 (마우스 호버 줌 인) */
.pages73 .heritage-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.pages73 .heritage-photo-grid .photo-box {
    width: 100%;
    aspect-ratio: 1190 / 752;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}

.pages73 .heritage-photo-grid .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.pages73 .heritage-photo-grid .photo-box:hover img {
    transform: scale(1.06);
}

/* 00073.php 스크롤 Fade-up 애니메이션 */
.pages73 .sub-ban,
.pages73 .cbi-sub-depth3,
.pages73 .heritage-intro-head,
.pages73 .heritage-biz-group,
.pages73 .heritage-biz-card,
.pages73 .heritage-content-group,
.pages73 .heritage-photo-grid .photo-box {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages73 .sub-ban.is-visible,
.pages73 .sub-ban.aos-animate,
.pages73 .cbi-sub-depth3.is-visible,
.pages73 .cbi-sub-depth3.aos-animate,
.pages73 .heritage-intro-head.is-visible,
.pages73 .heritage-intro-head.aos-animate,
.pages73 .heritage-biz-group.is-visible,
.pages73 .heritage-biz-group.aos-animate,
.pages73 .heritage-biz-group.is-visible .heritage-biz-card,
.pages73 .heritage-biz-group.aos-animate .heritage-biz-card,
.pages73 .heritage-biz-card.is-visible,
.pages73 .heritage-biz-card.aos-animate,
.pages73 .heritage-content-group.is-visible,
.pages73 .heritage-content-group.aos-animate,
.pages73 .heritage-content-group.is-visible .photo-box,
.pages73 .heritage-content-group.aos-animate .photo-box,
.pages73 .heritage-photo-grid .photo-box.is-visible,
.pages73 .heritage-photo-grid .photo-box.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 카드 순차 딜레이 */
.pages73 .heritage-biz-card:nth-child(1) { transition-delay: 0.1s; }
.pages73 .heritage-biz-card:nth-child(2) { transition-delay: 0.2s; }
.pages73 .heritage-biz-card:nth-child(3) { transition-delay: 0.3s; }

.pages73 .heritage-photo-grid .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages73 .heritage-photo-grid .photo-box:nth-child(2) { transition-delay: 0.2s; }

/* 00073.php 반응형 스타일 */
@media (max-width: 992px) {
    .pages73 .sec-heritage-biz {
        padding: 70px 0 80px;
    }

    .pages73 .sec-heritage-collab {
        margin-bottom: 80px;
        padding-top: 70px;
    }

    .pages73 .heritage-card-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pages73 .heritage-dual-head {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pages73 .dual-head-right {
        padding-top: 0;
    }

    .pages73 .heritage-photo-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .pages73 .heritage-intro-head {
        margin-bottom: 50px;
    }

    .pages73 .heritage-main-title {
        font-size: 26px;
    }

    .pages73 .heritage-main-subtitle {
        font-size: 16px;
    }

    .pages73 .heritage-content-title {
        font-size: 22px;
    }

    .pages73 .heritage-biz-card {
        padding: 24px 20px;
    }
}

/* ==========================================================================
   SUBPAGE: 00076.php (sub0106_문화유산보존관리)
   ========================================================================== */

/* 1. 인트로 섹션 */
.pages76 .sec-conserve-intro {
    padding: 20px 0 70px;
    background-color: #ffffff;
}

.pages76 .sec-conserve-group + .sec-conserve-intro {
    padding: 100px 0 70px;
}

.pages76 .conserve-intro-head {
    text-align: center;
}

.pages76 .conserve-main-title {
    font-size: 32px;
    font-weight: 700;
    color: #111111;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.pages76 .conserve-main-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #767676;
    margin-bottom: 24px;
    line-height: 1.5;
    letter-spacing: -0.01em;
}

.pages76 .conserve-main-desc {
    font-size: 16px;
    color: #444444;
    line-height: 1.75;
    max-width: 1080px;
    margin: 0 auto;
    word-break: keep-all;
}

/* 2. 아이템 그룹 섹션 (흰색 / 회색 풀와이드) */
.pages76 .sec-conserve-group {
    padding: 80px 0;
    background-color: #ffffff;
}

.pages76 .sec-conserve-group.bg-gray {
    background-color: #F4F4F4;
}

.pages76 .sec-conserve-group.sec-last {
    padding: 80px 0 140px;
}

.pages76 .conserve-item-head {
    margin-bottom: 32px;
}

.pages76 .conserve-item-title {
    font-size: 24px;
    font-weight: 700;
    color: #222222;
    margin: 0 0 14px;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.pages76 .conserve-item-desc {
    font-size: 16px;
    font-weight: 400;
    color: #555555;
    line-height: 1.68;
    margin: 0;
    word-break: keep-all;
}

/* 3. 사진 그리드 & 마우스 호버 효과 */
.pages76 .conserve-photo-grid {
    display: grid;
    gap: 24px;
}

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

.pages76 .conserve-photo-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.pages76 .photo-box {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.pages76 .conserve-photo-grid.cols-2 .photo-box {
    aspect-ratio: 1188 / 750;
}

.pages76 .conserve-photo-grid.cols-3 .photo-box {
    aspect-ratio: 782 / 557;
}

.pages76 .photo-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.pages76 .photo-box:hover img {
    transform: scale(1.06);
}

/* 4. 스크롤 Fade-up 애니메이션 */
.pages76 .sub-ban,
.pages76 .conserve-intro-head,
.pages76 .conserve-item-group,
.pages76 .conserve-photo-grid .photo-box {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages76 .sub-ban.is-visible,
.pages76 .sub-ban.aos-animate,
.pages76 .conserve-intro-head.is-visible,
.pages76 .conserve-intro-head.aos-animate,
.pages76 .conserve-item-group.is-visible,
.pages76 .conserve-item-group.aos-animate,
.pages76 .conserve-item-group.is-visible .photo-box,
.pages76 .conserve-item-group.aos-animate .photo-box,
.pages76 .conserve-photo-grid .photo-box.is-visible,
.pages76 .conserve-photo-grid .photo-box.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

.pages76 .conserve-photo-grid .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages76 .conserve-photo-grid .photo-box:nth-child(2) { transition-delay: 0.2s; }
.pages76 .conserve-photo-grid .photo-box:nth-child(3) { transition-delay: 0.3s; }

/* 5. 반응형 미디어 쿼리 */
@media (max-width: 992px) {
    .pages76 .sec-conserve-intro {
        padding: 10px 0 50px;
    }

    .pages76 .sec-conserve-group + .sec-conserve-intro {
        padding: 70px 0 50px;
    }

    .pages76 .sec-conserve-group {
        padding: 60px 0;
    }

    .pages76 .sec-conserve-group.sec-last {
        padding: 60px 0 90px;
    }

    .pages76 .conserve-photo-grid {
        gap: 16px;
    }

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

    .pages76 .conserve-photo-grid.cols-3 .photo-box:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .pages76 .conserve-main-title {
        font-size: 26px;
    }

    .pages76 .conserve-main-subtitle {
        font-size: 16px;
    }

    .pages76 .conserve-item-title {
        font-size: 20px;
    }

    .pages76 .conserve-photo-grid.cols-2,
    .pages76 .conserve-photo-grid.cols-3 {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pages76 .conserve-photo-grid.cols-3 .photo-box:last-child {
        grid-column: auto;
    }

    .pages76 .photo-box {
        border-radius: 12px;
    }
}

/* ==========================================================================
   COMMON: 게시판 하단 여백 최적화 및 상시 페이지네이션 (.board-paging)
   ========================================================================== */

/* 1. 게시판 하단 여백 축소 */
.bbs-list {
    padding-bottom: 60px !important;
}

.bbs-list .bbs-list-footer {
    position: relative;
    margin-top: 36px !important;
}

/* 2. 상시 노출 페이지네이션 (1페이지라도 ‹ 1 › 상시 노출) */
.board-paging,
.bbs-list .board-paging {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto;
}

.board-paging .page-btn,
.bbs-list .board-paging .page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #888888;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    border: 0;
    background: transparent;
    transition: color 0.2s ease;
}

.board-paging .page-btn.page-prev::before,
.bbs-list .board-paging .page-btn.page-prev::before {
    content: "\2039";
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
}

.board-paging .page-btn.page-next::before,
.bbs-list .board-paging .page-btn.page-next::before {
    content: "\203a";
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
}

.board-paging .page-btn.disabled,
.bbs-list .board-paging .page-btn.disabled {
    color: #cccccc !important;
    cursor: default;
    pointer-events: none;
}

.board-paging .page-btn:not(.disabled):hover,
.bbs-list .board-paging .page-btn:not(.disabled):hover {
    color: #111111;
}

.board-paging .page-num,
.bbs-list .board-paging .page-num {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 4px;
    color: #666666;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    border: 0;
    background: transparent;
    box-sizing: border-box;
    transition: color 0.2s ease;
}

.board-paging .page-num:hover,
.bbs-list .board-paging .page-num:hover {
    color: #111111;
}

.board-paging .page-num.active,
.bbs-list .board-paging .page-num.active {
    color: #1D4B8F;
    font-weight: 700;
}

.board-paging .page-num.active::after,
.bbs-list .board-paging .page-num.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 2px;
    width: 14px;
    height: 2px;
    background-color: #1D4B8F;
    transform: translateX(-50%);
    border-radius: 1px;
}

.bbs-list .board-paging + .board-btn {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

@media (max-width: 768px) {
    .bbs-list {
        padding-bottom: 40px !important;
    }

    .bbs-list .bbs-list-footer {
        margin-top: 24px !important;
    }

    .bbs-list .board-paging + .board-btn {
        position: static;
        transform: none;
        margin-top: 16px;
    }

    /* 게시판 모바일 상단: 총 n건 한 줄 유지 + 검색창 행 분리 정렬 (갤러리형 언론보도와 동일한 형태) */
    .bbs-list .list-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .bbs-list .total-rows {
        display: block !important;
        white-space: nowrap !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        color: #555555 !important;
    }

    .bbs-list .total-rows strong {
        display: inline !important;
        color: #1D4B8F !important;
        font-weight: 700 !important;
    }

    .bbs-list .list-search .search-form {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .bbs-list .list-search .search-form > * {
        width: auto !important;
    }

    .bbs-list .list-search .ui-select {
        width: 120px !important;
        min-width: 100px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
    }

    .bbs-list .search-keyword {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        position: relative !important;
    }

    .bbs-list .search-keyword .ui-input,
    .bbs-list .search-keyword .search-submit {
        height: 44px !important;
    }
}

/* ==========================================================================
   SUBPAGE: 00077.php (sub0107_교육활용)
   ========================================================================== */

.pages77 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban4.jpg');
}

/* 1. 섹션 기본 규격 */
.pages77 .sec-edu {
    padding: 85px 0;
    background-color: #ffffff;
}

.pages77 .sec-edu.bg-gray {
    background-color: #F4F4F4;
    width: 100%;
}

.pages77 .sec-edu.sec-last {
    padding: 85px 0 140px;
}

/* 2. 섹션 헤더 (중앙 정렬) */
.pages77 .edu-head {
    text-align: center;
    margin-bottom: 48px;
}

.pages77 .edu-title {
    font-size: 30px;
    font-weight: 700;
    color: #111111;
    margin: 0 0 18px;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.pages77 .edu-desc {
    font-size: 16px;
    font-weight: 400;
    color: #555555;
    line-height: 1.75;
    margin: 0 auto;
    max-width: 960px;
    word-break: keep-all;
}

/* 3. 콘텐츠 그룹 & 정보 박스 */
.pages77 .edu-info-box {
    margin-bottom: 28px;
}

.pages77 .edu-info-title {
    font-size: 19px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 12px;
    line-height: 1.4;
    letter-spacing: -0.01em;
}

.pages77 .edu-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pages77 .edu-info-list li {
    font-size: 15px;
    color: #555555;
    line-height: 1.75;
    position: relative;
    padding-left: 14px;
    margin-bottom: 3px;
    word-break: keep-all;
}

.pages77 .edu-info-list li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 0;
    color: #777777;
    font-weight: 600;
}

/* 4. 사진 그리드 & 마우스 호버 효과 */
.pages77 .edu-photo-grid {
    display: grid;
    gap: 24px;
}

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

.pages77 .edu-photo-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.pages77 .photo-box {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    background-color: #e2e8f0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.pages77 .edu-photo-grid.cols-2 .photo-box {
    aspect-ratio: 1297 / 820;
}

.pages77 .edu-photo-grid.cols-3 .photo-box {
    aspect-ratio: 855 / 608;
}

.pages77 .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.pages77 .photo-box:hover img {
    transform: scale(1.06);
}

/* 5. 스크롤 Fade-up 애니메이션 */
.pages77 .sub-ban,
.pages77 .edu-head,
.pages77 .edu-group,
.pages77 .edu-photo-grid .photo-box {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages77 .sub-ban.is-visible,
.pages77 .sub-ban.aos-animate,
.pages77 .edu-head.is-visible,
.pages77 .edu-head.aos-animate,
.pages77 .edu-group.is-visible,
.pages77 .edu-group.aos-animate,
.pages77 .edu-group.is-visible .photo-box,
.pages77 .edu-group.aos-animate .photo-box,
.pages77 .edu-photo-grid .photo-box.is-visible,
.pages77 .edu-photo-grid .photo-box.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

.pages77 .edu-photo-grid.cols-2 .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages77 .edu-photo-grid.cols-2 .photo-box:nth-child(2) { transition-delay: 0.22s; }

.pages77 .edu-photo-grid.cols-3 .photo-box:nth-child(1) { transition-delay: 0.1s; }
.pages77 .edu-photo-grid.cols-3 .photo-box:nth-child(2) { transition-delay: 0.2s; }
.pages77 .edu-photo-grid.cols-3 .photo-box:nth-child(3) { transition-delay: 0.3s; }

/* 6. 반응형 미디어 쿼리 */
@media (max-width: 992px) {
    .pages77 .sec-edu {
        padding: 65px 0;
    }

    .pages77 .sec-edu.sec-last {
        padding: 65px 0 90px;
    }

    .pages77 .edu-head {
        margin-bottom: 36px;
    }

    .pages77 .edu-photo-grid {
        gap: 16px;
    }

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

    .pages77 .edu-photo-grid.cols-3 .photo-box:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .pages77 .sec-edu {
        padding: 50px 0;
    }

    .pages77 .sec-edu.sec-last {
        padding: 50px 0 70px;
    }

    .pages77 .edu-title {
        font-size: 24px;
        margin-bottom: 14px;
    }

    .pages77 .edu-desc {
        font-size: 14.5px;
        line-height: 1.65;
    }

    .pages77 .edu-info-box {
        margin-bottom: 20px;
    }

    .pages77 .edu-info-title {
        font-size: 17px;
        margin-bottom: 10px;
    }

    .pages77 .edu-info-list li {
        font-size: 14px;
    }

    .pages77 .edu-photo-grid.cols-2,
    .pages77 .edu-photo-grid.cols-3 {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pages77 .edu-photo-grid.cols-3 .photo-box:last-child {
        grid-column: span 1;
    }
}

/* ==========================================================================
   SUBPAGE: 00085.php (sub0301_1_임직원행동강령)
   ========================================================================== */

.pages85 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban5.jpg');
}

/* 1. 행동강령 핵심 체계도 섹션 */
.pages85 .sec-diagram {
    padding: 60px 0 70px;
    background-color: #ffffff;
    text-align: center;
}

.pages85 .diagram-img-box {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 16px;
    background-color: #ffffff;
}

.pages85 .diagram-img-box img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: transform 0.35s ease;
}

.pages85 .diagram-img-box:hover img {
    transform: scale(1.04);
}

/* 2. 임직원 행동강령 규칙 아코디언 섹션 */
.pages85 .sec-accordion {
    padding: 0 0 140px;
    background-color: #ffffff;
}

.pages85 .accordion-wrap {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
}

.pages85 .accordion-item {
    border-bottom: 1px solid #eef0f3;
}

.pages85 .accordion-item:last-child {
    border-bottom: none;
}

/* 아코디언 헤더 */
.pages85 .accordion-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 32px;
    background: #F8F9FA;
    border: none;
    outline: none;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.2s ease;
}

.pages85 .accordion-header:hover {
    background: #f1f5f9;
}

.pages85 .accordion-item.is-open .accordion-header {
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
}

.pages85 .accordion-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: -0.01em;
}

.pages85 .accordion-icon {
    width: 20px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
}

.pages85 .accordion-icon::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 3px;
    width: 14px;
    height: 2px;
    background-color: #64748b;
    border-radius: 1px;
}

.pages85 .accordion-icon::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 9px;
    width: 2px;
    height: 14px;
    background-color: #64748b;
    border-radius: 1px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.pages85 .accordion-item.is-open .accordion-icon::after {
    transform: rotate(90deg);
    opacity: 0;
}

/* 아코디언 바디 */
.pages85 .accordion-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.pages85 .accordion-content {
    padding: 36px 40px;
    background: #ffffff;
}

/* 본문 법조문 스타일링 */
.pages85 .rule-article {
    margin-bottom: 26px;
}

.pages85 .rule-article:last-child {
    margin-bottom: 0;
}

.pages85 .rule-article-title {
    font-size: 16.5px;
    font-weight: 700;
    color: #0F4C81;
    margin: 0 0 10px;
    line-height: 1.45;
}

.pages85 .rule-article-text {
    font-size: 15px;
    color: #334155;
    line-height: 1.8;
    margin: 0 0 10px;
    word-break: keep-all;
}

.pages85 .rule-num-list,
.pages85 .rule-sub-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pages85 .rule-num-list > li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    font-size: 15px;
    color: #334155;
    line-height: 1.8;
}

.pages85 .rule-num-list > li:last-child {
    margin-bottom: 0;
}

.pages85 .num-label {
    flex-shrink: 0;
    width: 22px;
    font-weight: 600;
    color: #1e293b;
}

.pages85 .num-content {
    flex: 1;
    word-break: keep-all;
}

.pages85 .rule-sub-list {
    margin-top: 6px;
    padding-left: 8px;
}

.pages85 .rule-sub-list > li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 5px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.75;
}

.pages85 .rule-sub-list > li:last-child {
    margin-bottom: 0;
}

.pages85 .sub-label {
    flex-shrink: 0;
    width: 24px;
    font-weight: 500;
    color: #64748b;
}

.pages85 .sub-content {
    flex: 1;
    word-break: keep-all;
}

.pages85 .rule-sub-list--plain > li {
    display: block;
    margin-bottom: 6px;
    font-size: 14.5px;
    color: #475569;
    line-height: 1.75;
}

/* 별표 테이블 */
.pages85 .rule-table-wrap {
    margin-top: 14px;
}

.pages85 .table-sub-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin: 18px 0 10px;
}

.pages85 .table-sub-title:first-child {
    margin-top: 0;
}

.pages85 .rule-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-bottom: 16px;
}

.pages85 .rule-table th,
.pages85 .rule-table td {
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    line-height: 1.65;
}

.pages85 .rule-table th {
    background: #f8fafc;
    font-weight: 600;
    color: #1e293b;
    text-align: left;
    vertical-align: top;
}

.pages85 .rule-table td {
    color: #475569;
    vertical-align: top;
}

/* 3. 스크롤 Fade-up 애니메이션 */
.pages85 .sub-ban,
.pages85 .sec-diagram,
.pages85 .sec-accordion {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.pages85 .sub-ban.is-visible,
.pages85 .sub-ban.aos-animate,
.pages85 .sec-diagram.is-visible,
.pages85 .sec-diagram.aos-animate,
.pages85 .sec-accordion.is-visible,
.pages85 .sec-accordion.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* 4. 반응형 미디어 쿼리 */
@media (max-width: 992px) {
    .pages85 .sec-diagram {
        padding: 40px 0 50px;
    }

    .pages85 .diagram-img-box {
        max-width: 520px;
    }

    .pages85 .sec-accordion {
        padding-bottom: 90px;
    }

    .pages85 .accordion-content {
        padding: 28px 30px;
    }
}

@media (max-width: 768px) {
    .pages85 .sec-diagram {
        padding: 30px 0 40px;
    }

    .pages85 .diagram-img-box {
        max-width: 100%;
    }

    .pages85 .sec-accordion {
        padding-bottom: 70px;
    }

    .pages85 .accordion-header {
        padding: 18px 20px;
    }

    .pages85 .accordion-title {
        font-size: 16px;
    }

    .pages85 .accordion-content {
        padding: 22px 18px;
    }

    .pages85 .rule-article-title {
        font-size: 15px;
    }

    .pages85 .rule-article-text,
    .pages85 .rule-num-list > li {
        font-size: 14px;
    }

    .pages85 .sub-ban-title {
        font-size: 22px;
    }

    .pages85 .sub-ban-desc {
        font-size: 14px;
    }

    .pages85 .rule-table th,
    .pages85 .rule-table td {
        padding: 10px 12px;
        font-size: 13.5px;
    }
}

/* =========================================================
   SUBPAGE: 00086.php / 00087.php / 00089.php (열린경영 > 윤리경영 / 인권경영 > 윤리헌장 / 부패방지 방침 / 인권경영 헌장)
========================================================= */

/* 0. 상단 서브 배너 (규격: 1800px * 560px, border-radius 40px) */
.pages86 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban6.jpg');
}

.pages87 .sub-ban-inner,
.pages89 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban7.jpg');
}

.pages86 .sub-ban-inner,
.pages87 .sub-ban-inner,
.pages89 .sub-ban-inner {
    background-size: cover;
    background-position: center;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: 60px 40px;
}

.pages86 .sub-ban-inner::before,
.pages87 .sub-ban-inner::before,
.pages89 .sub-ban-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.pages86 .sub-ban-content,
.pages87 .sub-ban-content,
.pages89 .sub-ban-content {
    position: relative;
    z-index: 2;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}

.pages86 .sub-ban-title,
.pages87 .sub-ban-title,
.pages89 .sub-ban-title {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.65;
    color: #ffffff;
    letter-spacing: -0.025em;
    margin: 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    word-break: keep-all;
}

.pages86 .sub-ban-sign,
.pages87 .sub-ban-sign,
.pages89 .sub-ban-sign {
    font-size: 17px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.92);
    margin: 26px 0 0 0;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

/* 1. 윤리헌장 및 부패방지 방침 섹션 */
.pages86 .sec-charter,
.pages87 .sec-charter,
.pages89 .sec-charter {
    padding: 60px 0 160px;
    background-color: #ffffff;
}

.pages86 .charter-container,
.pages87 .charter-container,
.pages89 .charter-container {
    position: relative;
    width: 100%;
}

/* 스크롤 시 따라오는 스티키 컬럼 (시안 기준 상단 첫 구분선 위로 돌출 배치, width: 417px; height: 516px;) */
.pages86 .charter-sticky-col,
.pages87 .charter-sticky-col,
.pages89 .charter-sticky-col {
    position: absolute;
    top: -55px;
    left: 256px;
    width: 417px;
    z-index: 5;
    pointer-events: none;
    will-change: transform;
}

.pages86 .charter-sticky-box,
.pages87 .charter-sticky-box,
.pages89 .charter-sticky-box {
    pointer-events: auto;
    width: 417px;
    height: 516px;
}

.pages86 .charter-img-box,
.pages87 .charter-img-box,
.pages89 .charter-img-box {
    width: 417px;
    height: 516px;
    border-radius: 0 32px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
    background-color: #f7f7f7;
}

.pages86 .charter-img-box img,
.pages87 .charter-img-box img,
.pages89 .charter-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 마우스 오버 시 약간 커지는 기능 */
.pages86 .charter-img-box:hover img,
.pages87 .charter-img-box:hover img,
.pages89 .charter-img-box:hover img {
    transform: scale(1.05);
}

/* 헌장 리스트 & 구분선 */
.pages86 .charter-list,
.pages87 .charter-list,
.pages89 .charter-list {
    width: 100%;
    border-top: 1px solid #d1d5db;
}

.pages86 .charter-item,
.pages87 .charter-item,
.pages89 .charter-item {
    display: flex;
    align-items: flex-start;
    padding: 72px 0 96px;
    border-bottom: 1px solid #d1d5db;
    box-sizing: border-box;

    /* 순차 페이드업 애니메이션 */
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.pages86 .charter-item.is-visible,
.pages86 .charter-item.aos-animate,
.pages87 .charter-item.is-visible,
.pages87 .charter-item.aos-animate,
.pages89 .charter-item.is-visible,
.pages89 .charter-item.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

.pages86 .charter-item:nth-child(1),
.pages87 .charter-item:nth-child(1),
.pages89 .charter-item:nth-child(1) { transition-delay: 0.05s; }
.pages86 .charter-item:nth-child(2),
.pages87 .charter-item:nth-child(2),
.pages89 .charter-item:nth-child(2) { transition-delay: 0.12s; }
.pages86 .charter-item:nth-child(3),
.pages87 .charter-item:nth-child(3),
.pages89 .charter-item:nth-child(3) { transition-delay: 0.19s; }
.pages86 .charter-item:nth-child(4),
.pages87 .charter-item:nth-child(4),
.pages89 .charter-item:nth-child(4) { transition-delay: 0.26s; }
.pages86 .charter-item:nth-child(5),
.pages87 .charter-item:nth-child(5),
.pages89 .charter-item:nth-child(5) { transition-delay: 0.33s; }

/* 뱃지 영역 ("하나") */
.pages86 .charter-badge-col,
.pages87 .charter-badge-col,
.pages89 .charter-badge-col {
    width: 48px;
    margin-left: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pages86 .charter-badge,
.pages87 .charter-badge,
.pages89 .charter-badge {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: #0c4371;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    box-shadow: 0 4px 10px rgba(12, 67, 113, 0.25);
    flex-shrink: 0;
    margin-top: -6px;
}

/* 스티키 이미지가 지나가는 공간 확보 스페이서 (시안 기준 Badge ~ Image 188px, Image ~ Text 260px) */
.pages86 .charter-spacer,
.pages87 .charter-spacer,
.pages89 .charter-spacer {
    width: 417px;
    flex-shrink: 0;
    margin-left: 188px;
    margin-right: 260px;
}

/* 헌장 텍스트 영역 (시안 너비 약 500px 확보) */
.pages86 .charter-content,
.pages87 .charter-content,
.pages89 .charter-content {
    max-width: 500px;
    flex: 1;
    min-width: 0;
}

.pages86 .charter-title,
.pages87 .charter-title,
.pages89 .charter-title {
    font-size: 24px;
    font-weight: 700;
    color: #111111;
    line-height: 1.45;
    letter-spacing: -0.025em;
    margin: 0 0 44px 0;
    word-break: keep-all;
}

.pages86 .charter-desc,
.pages87 .charter-desc,
.pages89 .charter-desc {
    font-size: 15.5px;
    font-weight: 400;
    color: #555555;
    line-height: 1.75;
    letter-spacing: -0.02em;
    margin: 0;
    word-break: keep-all;
}

/* ---------------------------------------------------------
   반응형 미디어 쿼리 (00086.php / 00087.php / 00089.php)
--------------------------------------------------------- */
@media (max-width: 1350px) {
    .pages86 .charter-badge-col,
    .pages87 .charter-badge-col,
    .pages89 .charter-badge-col {
        margin-left: 0;
    }

    .pages86 .charter-spacer,
    .pages87 .charter-spacer,
    .pages89 .charter-spacer {
        width: 360px;
        margin-left: 100px;
        margin-right: 140px;
    }

    .pages86 .charter-sticky-col,
    .pages86 .charter-sticky-box,
    .pages86 .charter-img-box,
    .pages87 .charter-sticky-col,
    .pages87 .charter-sticky-box,
    .pages87 .charter-img-box,
    .pages89 .charter-sticky-col,
    .pages89 .charter-sticky-box,
    .pages89 .charter-img-box {
        width: 360px;
        height: 450px;
    }

    .pages86 .charter-title,
    .pages87 .charter-title,
    .pages89 .charter-title {
        font-size: 22px;
        margin-bottom: 32px;
    }

    .pages86 .charter-desc,
    .pages87 .charter-desc,
    .pages89 .charter-desc {
        font-size: 15px;
    }
}

@media (max-width: 992px) {
    .pages86 .sec-charter,
    .pages87 .sec-charter,
    .pages89 .sec-charter {
        padding: 20px 0 80px;
    }

    .pages86 .charter-sticky-col,
    .pages87 .charter-sticky-col,
    .pages89 .charter-sticky-col {
        position: static !important;
        transform: none !important;
        top: 0 !important;
        left: 0 !important;
        width: 100%;
        max-width: 417px;
        margin: 0 auto 50px;
        pointer-events: auto;
    }

    .pages86 .charter-sticky-box,
    .pages86 .charter-img-box,
    .pages87 .charter-sticky-box,
    .pages87 .charter-img-box,
    .pages89 .charter-sticky-box,
    .pages89 .charter-img-box {
        width: 100%;
        max-width: 417px;
        height: 480px;
        margin: 0 auto;
    }

    .pages86 .charter-spacer,
    .pages87 .charter-spacer,
    .pages89 .charter-spacer {
        display: none;
    }

    .pages86 .charter-badge-col,
    .pages87 .charter-badge-col,
    .pages89 .charter-badge-col {
        margin-left: 0;
    }

    .pages86 .charter-item,
    .pages87 .charter-item,
    .pages89 .charter-item {
        padding: 40px 0;
        gap: 24px;
    }

    .pages86 .charter-title,
    .pages87 .charter-title,
    .pages89 .charter-title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .pages86 .charter-content,
    .pages87 .charter-content,
    .pages89 .charter-content {
        max-width: 100%;
    }

    .pages86 .sub-ban-title,
    .pages87 .sub-ban-title,
    .pages89 .sub-ban-title {
        font-size: 22px;
        line-height: 1.55;
    }

    .pages86 .sub-ban-sign,
    .pages87 .sub-ban-sign,
    .pages89 .sub-ban-sign {
        font-size: 15px;
        margin-top: 20px;
    }
}

@media (max-width: 768px) {
    .pages86 .sec-charter,
    .pages87 .sec-charter,
    .pages89 .sec-charter {
        padding-bottom: 60px;
    }

    .pages86 .charter-sticky-col,
    .pages87 .charter-sticky-col,
    .pages89 .charter-sticky-col {
        margin-bottom: 36px;
    }

    .pages86 .charter-sticky-box,
    .pages86 .charter-img-box,
    .pages87 .charter-sticky-box,
    .pages87 .charter-img-box,
    .pages89 .charter-sticky-box,
    .pages89 .charter-img-box {
        height: 380px;
        border-radius: 0 24px;
    }

    .pages86 .charter-item,
    .pages87 .charter-item,
    .pages89 .charter-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 0;
        gap: 14px;
    }

    .pages86 .charter-badge,
    .pages87 .charter-badge,
    .pages89 .charter-badge {
        width: 42px;
        height: 42px;
        font-size: 14px;
        margin-top: 0;
    }

    .pages86 .charter-title,
    .pages87 .charter-title,
    .pages89 .charter-title {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .pages86 .charter-desc,
    .pages87 .charter-desc,
    .pages89 .charter-desc {
        font-size: 14.5px;
        line-height: 1.65;
    }

    .pages86 .sub-ban-title,
    .pages87 .sub-ban-title,
    .pages89 .sub-ban-title {
        font-size: 18px;
        line-height: 1.55;
    }

    .pages86 .sub-ban-sign,
    .pages87 .sub-ban-sign,
    .pages89 .sub-ban-sign {
        font-size: 14px;
        margin-top: 16px;
    }
}

/* =========================================================
   SUBPAGE: 00088.php (열린경영 > 인권경영 > 인권경영 체계)
========================================================= */

/* 0. 상단 서브 배너 (규격: 1800px * 560px, border-radius 40px, sub-ban8.jpg) */
.pages88 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban8.jpg');
    background-size: cover;
    background-position: center;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: 60px 40px;
}

.pages88 .sub-ban-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.pages88 .sub-ban-content {
    position: relative;
    z-index: 2;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}

.pages88 .sub-ban-title {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.65;
    color: #ffffff;
    letter-spacing: -0.025em;
    margin: 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    word-break: keep-all;
}

/* 1. 인권경영 추진 전략 섹션 (헤더, 중단 회색 풀와이드, 하단 바디 3단계 구조) */
.pages88 .sec-strategy-head {
    padding: 30px 0 50px;
    background-color: #ffffff;
}

.pages88 .strategy-head {
    text-align: center;
    margin-bottom: 36px;
}

.pages88 .strategy-head-title {
    font-size: 32px;
    font-weight: 700;
    color: #111111;
    letter-spacing: -0.025em;
    margin: 0;
}

/* 비전 헤더 */
.pages88 .strategy-vision-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pages88 .vision-pill-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #0c4371;
    color: #ffffff;
    font-size: 14.5px;
    font-weight: 700;
    padding: 7px 42px; /* 시안 기준 가로로 긴 알약 형태 */
    min-width: 108px;
    border-radius: 20px;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
    box-shadow: none;
}

.pages88 .vision-statement {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 80px; /* 시안 기준 괄호와 문구 사이 넉넉한 간격 */
}

.pages88 .vision-bracket-svg {
    display: block;
    flex-shrink: 0;
    width: 32px;
    height: 96px;
}

.pages88 .vision-text-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
}

.pages88 .vision-text-line {
    font-size: 32px;
    font-weight: 500;
    color: #111111;
    letter-spacing: -0.03em;
    line-height: 1.35;
}

.pages88 .vision-text-line strong {
    font-weight: 800;
}

/* 2. 중단 성과 목표 & 중장기 목표 섹션 (100% 풀와이드 #F4F4F4 배경, border-radius: 0) */
.pages88 .sec-strategy-mid {
    background-color: #f4f4f4;
    padding: 50px 0;
    border-radius: 0;
}

.pages88 .strategy-mid-frame {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

.pages88 .strategy-mid-frame .strat-row-perf {
    margin-bottom: 30px;
}

.pages88 .strategy-mid-frame .strat-row-midterm {
    margin-bottom: 0;
}

/* 3. 하단 추진 목표, 실행 과제, 추진 체계 섹션 (흰 배경) */
.pages88 .sec-strategy-bot {
    background-color: #ffffff;
    padding: 70px 0 140px; /* 중단과 넉넉한 숨통 간격 확보 */
}

.pages88 .strategy-bot-frame {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

/* 공통 행 레이아웃 (좌측 라벨 + 우측 콘텐츠) */
.pages88 .strat-row {
    display: flex;
    align-items: center;
    position: relative;
}

.pages88 .strat-row-goals {
    margin-bottom: 24px;
}

.pages88 .strat-row-tasks {
    margin-bottom: 70px; /* 실행 과제와 추진 체계 사이 여백 */
}

.pages88 .strat-row-system {
    margin-bottom: 0;
}

/* 좌측 라벨 컬럼 - 점 선 (#ABABAB) */
.pages88 .strat-label-col {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    position: relative;
    padding-right: 0;
}

.pages88 .strat-label-text {
    font-size: 18px;
    font-weight: 800;
    color: #0c4371;
    letter-spacing: -0.025em;
    white-space: nowrap;
    flex-shrink: 0;
}

.pages88 .strat-label-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ababab; /* 점 (#ABABAB) */
    margin-left: 14px;
    margin-right: 0;
    flex-shrink: 0;
}

.pages88 .strat-label-line {
    display: block;
    flex: 1;
    height: 1px;
    background-color: #ababab; /* 선 (#ABABAB) */
    margin-left: 0;
    margin-right: 0;
}

/* 우측 콘텐츠 컬럼 - 시안 지정 1170px 규격 */
.pages88 .strat-content-col {
    width: 1170px;
    max-width: 1170px;
    flex: 0 0 1170px;
    min-width: 0;
    margin-left: 0;
}

/* 1. 성과 목표 - 반원 디자인 (28px 폰트, 완전한 반원 캡 border-radius: 9999px) */
.pages88 .perf-pill-box {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 9999px; /* 반원 디자인 */
    padding: 22px 48px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pages88 .perf-pill-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(12, 67, 113, 0.08);
}

.pages88 .perf-pill-text {
    font-size: 28px; /* 시안 28px 반영 */
    color: #111111;
    letter-spacing: -0.02em;
    text-align: center;
    font-weight: 500;
    line-height: 1.35;
}

.pages88 .perf-pill-text strong {
    color: #0c4371;
    font-weight: 800;
}

/* 2. 중장기 목표 - 시안 일치 (카드가 포개지지 않고 맞닿으며, 흰색 원이 그 위에 올라가는 구조) */
.pages88 .midterm-steps-wrap {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    gap: 0;
}

.pages88 .midterm-step-item {
    flex: 1;
    min-height: 96px;
    border-radius: 50px; /* 양 끝이 완전한 반원 캡 형태 유지 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    padding: 16px 28px;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease;
}

.pages88 .midterm-step-item:hover {
    transform: translateY(-2px);
}

.pages88 .midterm-step-1 {
    background-color: #6ba539;
    z-index: 1;
}

.pages88 .midterm-step-2 {
    background-color: #7e816a;
    margin-left: -2px; /* 카드가 덮이지 않고 꼭짓점만 딱 맞닿게 */
    z-index: 1;
}

.pages88 .midterm-step-3 {
    background-color: #3ea8d2;
    margin-left: -2px; /* 카드가 덮이지 않고 꼭짓점만 딱 맞닿게 */
    z-index: 1;
}

.pages88 .midterm-step-title {
    font-size: 24px; /* 시안 24px 반영 */
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.pages88 .midterm-step-period {
    font-size: 16px;
    opacity: 0.92;
    margin-top: 4px;
    font-weight: 500;
}

/* 흰색 원형 화살표 버튼이 카드 접점 위로 올라가는 구조 */
.pages88 .midterm-step-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10; /* 원이 카드들 위에 올라감 */
}

.pages88 .midterm-arrow-1 {
    left: 33.333%; /* Step 1과 Step 2의 접점 위 */
}

.pages88 .midterm-arrow-2 {
    left: 66.666%; /* Step 2와 Step 3의 접점 위 */
}

/* 3. 추진 목표 - 3개 카드 사이 넉넉한 간격 */
.pages88 .goal-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px; /* 이 사이 간격 필요 반영 */
    padding-top: 48px;
    margin-bottom: 6px;
}

.pages88 .goal-card {
    position: relative;
    border-radius: 20px;
    padding: 78px 28px 36px; /* 상단 아이콘 뱃지와 타이틀 사이 넉넉한 간격 확보 */
    text-align: center;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.pages88 .goal-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.pages88 .goal-card-1 {
    background: #f4f8f0;
    border: 1px solid #d8ebd0;
}

.pages88 .goal-card-2 {
    background: #f7f7f3;
    border: 1px solid #e5e5dc;
}

.pages88 .goal-card-3 {
    background: #edf7fb;
    border: 1px solid #d2eaf4;
}

.pages88 .goal-card-icon {
    position: absolute;
    top: -44px;
    left: 50%;
    transform: translateX(-50%);
    width: 88px;
    height: 88px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.35s ease;
}

.pages88 .goal-card-icon img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    transition: transform 0.35s ease;
}

.pages88 .goal-card:hover .goal-card-icon {
    transform: translateX(-50%) scale(1.08);
}

.pages88 .goal-card:hover .goal-card-icon img {
    transform: scale(1.08);
}

.pages88 .goal-card-1 .goal-card-icon {
    background-color: #6ba539;
    box-shadow: 0 0 0 10px rgba(107, 165, 57, 0.22);
}

.pages88 .goal-card-2 .goal-card-icon {
    background-color: #7e816a;
    box-shadow: 0 0 0 10px rgba(126, 129, 106, 0.22);
}

.pages88 .goal-card-3 .goal-card-icon {
    background-color: #3ea8d2;
    box-shadow: 0 0 0 10px rgba(62, 168, 210, 0.22);
}

.pages88 .goal-card-title {
    font-size: 20px;
    font-weight: 700;
    color: #111111;
    margin: 0 0 16px;
    letter-spacing: -0.025em;
}

.pages88 .goal-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    display: inline-block;
}

.pages88 .goal-card-list li {
    position: relative;
    padding-left: 14px;
    font-size: 15px;
    color: #444444;
    line-height: 1.8;
    word-break: keep-all;
}

.pages88 .goal-card-1 .goal-card-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #6ba539;
    font-size: 15px;
}

.pages88 .goal-card-2 .goal-card-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #7e816a;
    font-size: 15px;
}

.pages88 .goal-card-3 .goal-card-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #3ea8d2;
    font-size: 15px;
}

/* 4. 실행 과제 - 3개 카드 사이 넉넉한 간격 */
.pages88 .task-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px; /* 이 사이 간격 필요 반영 */
}

.pages88 .task-card {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 26px 28px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pages88 .task-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07);
}

.pages88 .task-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pages88 .task-card-list li {
    position: relative;
    padding-left: 14px;
    font-size: 14.5px;
    color: #444444;
    line-height: 1.75;
    word-break: keep-all;
    margin-bottom: 6px;
}

.pages88 .task-card-list li:last-child {
    margin-bottom: 0;
}

.pages88 .task-card-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #94a3b8;
}

/* 5. 추진 체계 */
.pages88 .system-diagram-wrap {
    display: grid;
    grid-template-columns: 1fr 320px 1fr;
    gap: 32px;
    align-items: center;
}

.pages88 .sys-card {
    background-color: #ffffff;
    border-radius: 18px;
    padding: 26px 30px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    transition: transform 0.3s ease;
}

.pages88 .sys-card:hover {
    transform: translateY(-2px);
}

.pages88 .sys-card-remedy {
    border-top: 5px solid #6ba539;
    margin-bottom: 24px;
}

.pages88 .sys-card-impact {
    border-top: 5px solid #0c4371;
}

.pages88 .sys-card-edu {
    border-top: 5px solid #3ea8d2;
    margin-bottom: 24px;
}

.pages88 .sys-card-dept {
    border-top: 5px solid #7e816a;
}

.pages88 .sys-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}

.pages88 .sys-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pages88 .sys-card-list li {
    position: relative;
    padding-left: 14px;
    font-size: 14px;
    color: #444444;
    line-height: 1.7;
    word-break: keep-all;
}

.pages88 .sys-card-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #94a3b8;
}

/* 중앙 PDCA 휠 그래픽 (이미지 자체에 텍스트 포함) */
.pages88 .pdca-wheel-box {
    position: relative;
    width: 320px;
    height: 320px;
    margin: 0 auto;
    transition: transform 0.4s ease;
}

.pages88 .pdca-wheel-box:hover img {
    transform: scale(1.04);
}

.pages88 .pdca-wheel-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.4s ease;
}

/* 4분면 텍스트 오버레이 */
.pages88 .pdca-node {
    position: absolute;
    text-align: center;
    color: #ffffff;
    line-height: 1.25;
    user-select: none;
    pointer-events: none;
}

.pages88 .pdca-node-step {
    display: block;
    font-size: 14.5px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.pages88 .pdca-node-desc {
    display: block;
    font-size: 12px;
    font-weight: 600;
    opacity: 0.95;
    margin-top: 2px;
}

.pages88 .pdca-node-plan {
    top: 25%;
    right: 25%;
    transform: translate(50%, -50%);
}

.pages88 .pdca-node-do {
    bottom: 25%;
    right: 25%;
    transform: translate(50%, 50%);
}

.pages88 .pdca-node-check {
    bottom: 25%;
    left: 25%;
    transform: translate(-50%, 50%);
}

.pages88 .pdca-node-act {
    top: 25%;
    left: 25%;
    transform: translate(-50%, -50%);
}

.pages88 .pdca-node-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #0c4371;
    user-select: none;
    pointer-events: none;
}

.pages88 .pdca-center-title {
    display: block;
    font-size: 21px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.pages88 .pdca-center-sub {
    display: block;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    margin-top: 3px;
}

/* ---------------------------------------------------------
   반응형 미디어 쿼리 (00088.php)
--------------------------------------------------------- */
@media (max-width: 1200px) {
    .pages88 .strat-content-col {
        width: 100%;
        max-width: 100%;
        flex: 1;
    }

    .pages88 .system-diagram-wrap {
        grid-template-columns: 1fr 280px 1fr;
        gap: 20px;
    }

    .pages88 .pdca-wheel-box {
        width: 260px;
        height: 260px;
    }

    .pages88 .pdca-node-step {
        font-size: 12.5px;
    }

    .pages88 .pdca-node-desc {
        font-size: 11px;
    }

    .pages88 .pdca-center-title {
        font-size: 18px;
    }

    .pages88 .pdca-center-sub {
        font-size: 13.5px;
    }
}

@media (max-width: 992px) {
    .pages88 .sec-strategy-head {
        padding: 20px 0 30px;
    }

    .pages88 .sec-strategy-mid {
        padding: 36px 0;
    }

    .pages88 .sec-strategy-bot {
        padding: 40px 0 80px;
    }

    .pages88 .strategy-head-title {
        font-size: 28px;
    }

    .pages88 .vision-text-line {
        font-size: 24px;
    }

    .pages88 .vision-bracket-svg {
        height: 72px;
        width: 20px;
    }

    .pages88 .strat-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 36px;
    }

    .pages88 .strat-label-col {
        width: 100%;
        padding-top: 0 !important;
    }

    .pages88 .strat-content-col {
        width: 100%;
        margin-left: 0;
    }

    .pages88 .midterm-steps-wrap {
        flex-direction: column;
        gap: 12px;
    }

    .pages88 .midterm-step-item {
        width: 100%;
        min-height: 64px;
        margin-left: 0 !important;
    }

    .pages88 .midterm-step-arrow {
        position: static;
        transform: rotate(90deg);
        margin: 0 auto;
    }

    .pages88 .goal-cards-grid {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .pages88 .task-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pages88 .system-diagram-wrap {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pages88 .system-col-center {
        order: -1;
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    .pages88 .strategy-head-title {
        font-size: 24px;
    }

    .pages88 .vision-statement {
        gap: 32px;
    }

    .pages88 .vision-text-line {
        font-size: 20px;
    }

    .pages88 .vision-bracket-svg {
        height: 56px;
        width: 16px;
    }

    .pages88 .perf-pill-box {
        padding: 14px 20px;
    }

    .pages88 .perf-pill-text {
        font-size: 15px;
    }

    .pages88 .pdca-wheel-box {
        width: 240px;
        height: 240px;
    }
}

/* =========================================================
   SUBPAGE: 00090.php (열린경영 > 인권경영 > 인권경영 보고서)
========================================================= */

/* 0. 상단 서브 배너 (규격: 1800px * 560px, border-radius 40px, sub-ban10.jpg) */
.pages90 .sub-ban {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto 80px;
    padding: 0 20px;
    box-sizing: border-box;
}

.pages90 .sub-ban-inner {
    background-image: url('/images/layout/sub-ban10.jpg');
    background-size: cover;
    background-position: center;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: 60px 40px;
    border-radius: 40px;
}

.pages90 .sub-ban-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.pages90 .sub-ban-content {
    position: relative;
    z-index: 2;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}

.pages90 .sub-ban-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    letter-spacing: -0.025em;
    margin: 0 0 16px 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    word-break: keep-all;
}

.pages90 .sub-ban-desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: -0.02em;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    word-break: keep-all;
}

@media (max-width: 992px) {
    .pages90 .sub-ban {
        margin-bottom: 60px;
    }

    .pages90 .sub-ban-inner {
        min-height: 420px;
        padding: 40px 24px;
        border-radius: 28px;
    }

    .pages90 .sub-ban-title {
        font-size: 24px;
        margin-bottom: 12px;
    }

    .pages90 .sub-ban-desc {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .pages90 .sub-ban {
        margin-bottom: 40px;
    }

    .pages90 .sub-ban-inner {
        min-height: 300px;
        padding: 30px 16px;
        border-radius: 20px;
    }

    .pages90 .sub-ban-title {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .pages90 .sub-ban-desc {
        font-size: 14.5px;
        line-height: 1.55;
    }
}


