.site-footer { position:relative; z-index:3; width:100%; padding:96px 0 30px; }
.footer-panel { background:#fff; border-radius:32px; padding:60px 58px 30px; color:#173B59; }
.footer-brand { display:flex; flex-direction:column; align-items:center; text-align:center; padding-bottom:50px; border-bottom:1px solid #dedede; }
.footer-logo-lockup { display:flex; align-items:center; justify-content:center; width:min(380px,72vw); margin:0 auto 24px; }
.footer-logo-lockup img { display:block; width:100%; height:auto; object-fit:contain; }
.footer-brand > img { width:180px; }
.footer-brand h2 { margin:0; font-size:clamp(46px,4.2vw,82px); line-height:.98; letter-spacing:-.06em; font-weight:700; text-align:center; }
.footer-brand p { margin:16px 0 0; color:#727272; text-align:center; }
.footer-info { display:grid; grid-template-columns:1fr auto; gap:36px; padding:38px 0; }
.footer-info strong { display:block; margin-bottom:14px; font-size:13px; }
.footer-info p { margin:0; color:#666; font-size:13px; line-height:1.8; }
.footer-links { display:flex; align-items:start; gap:28px; font-size:12px; font-weight:700; }
.footer-links a:hover { color:var(--accent); }
.footer-bottom { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid #e4e4e4; color:#999; font-size:10px; letter-spacing:.05em; }
@media (max-width:900px) { .site-footer{padding-top:78px;} .footer-panel{padding:42px 28px 26px;border-radius:24px;} .footer-brand{display:flex;padding-bottom:40px;} .footer-logo-lockup{width:min(330px,72vw);margin-bottom:20px;} .footer-brand h2{margin:0;font-size:clamp(40px,6vw,56px);} .footer-brand p{margin-top:14px;} .footer-info{grid-template-columns:1fr;padding:34px 0;} }
@media (max-width:600px) { .site-footer{padding:60px 0 18px;} .footer-panel{padding:30px 18px 22px;border-radius:20px;} .footer-brand{padding-bottom:30px;} .footer-logo-lockup{width:min(270px,78vw);margin-bottom:18px;} .footer-brand h2{font-size:clamp(34px,9vw,40px);line-height:1;} .footer-brand p{margin-top:12px;font-size:11px;} .footer-info{gap:24px;padding:30px 0;} .footer-info strong{margin-bottom:10px;font-size:12px;} .footer-info p{font-size:12px;line-height:1.7;} .footer-links{flex-wrap:wrap;gap:10px 18px;font-size:11px;} .footer-bottom{display:block;font-size:9px;} .footer-bottom span{display:block;margin-top:5px;} }

.footer-cta{padding:72px 0;background:#EEF2F6;border-top:1px solid #D6E1EA}.footer-cta .container{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.footer-cta p{margin:0 0 12px;color:#456D8C;font-size:11px;font-weight:800;letter-spacing:.12em}.footer-cta h2{margin:0;color:#102D45;font-size:clamp(30px,3.5vw,48px);line-height:1.17;letter-spacing:-.045em}.footer-cta__actions{display:flex;gap:10px;flex-wrap:wrap}.footer-cta__actions a{min-height:52px;display:inline-flex;align-items:center;padding:0 22px;border-radius:7px;background:#456D8C;color:#fff;font-size:13px;font-weight:700}.footer-cta__actions a+ a{background:#fff;color:#173B59;border:1px solid #C5D3DE}.sub-site-footer{background:#102D45;padding:70px 0 30px;color:#fff}.sub-site-footer .footer-panel{padding:0;border:0;background:transparent}.footer-logo--white{filter:none}.sub-site-footer .footer-info p,.sub-site-footer .footer-bottom{color:#AEC4D3}@media(max-width:760px){.footer-cta{padding:56px 0}.footer-cta .container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center}.footer-cta__actions{width:100%;margin-top:0;justify-content:center;align-items:center}.footer-cta__actions a{flex:0 1 240px;justify-content:center;text-align:center}.sub-site-footer{padding-top:50px}}

/* Global TOP button: used on index and all subpages */
.top-button {
    position: fixed;
    z-index: 950;
    right: 26px;
    bottom: 26px;
    width: 66px;
    height: 66px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: #102D45;
    color: #fff;
    font-family: inherit;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .35s var(--ease), visibility .35s, transform .35s var(--ease), background .28s, border-color .28s;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(16,45,69,.18);
    -webkit-appearance: none;
    appearance: none;
}
.top-button.is-visible { opacity: 1; visibility: visible; transform: none; }
.top-button span { display: block; font-size: 18px; line-height: 1; }
.top-button small { display: block; margin-top: 4px; color: inherit; font-size: 8px; font-weight: 700; line-height: 1; letter-spacing: .13em; }
.top-button:hover,
.top-button:focus-visible { background: var(--accent); border-color: var(--accent); outline: none; }
.top-button:focus-visible { box-shadow: 0 0 0 4px rgba(69,109,140,.2), 0 10px 28px rgba(16,45,69,.18); }

@media (max-width: 600px) {
    .top-button { width: 52px; height: 52px; right: 14px; bottom: 14px; }
    .top-button span { font-size: 16px; }
    .top-button small { font-size: 7px; }
}



/* =========================================================
   2026-09-08 v13 — unified clean RNS footer
   ========================================================= */
.sub-site-footer,
.site-footer.sub-site-footer {
    position:relative;
    z-index:3;
    width:100%;
    margin:0;
    padding:64px 0 28px;
    background:#102D45;
    color:#fff;
}

.sub-site-footer .footer-panel {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#fff;
}

.sub-site-footer .footer-brand--clean {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:0;
    padding:0 0 42px;
    border-bottom:1px solid rgba(214,225,234,.48);
    text-align:center;
}

.sub-site-footer .footer-brand--clean .footer-logo-lockup {
    width:min(330px, 48vw);
    margin:0;
}

.sub-site-footer .footer-brand--clean .footer-logo {
    width:100%;
    height:auto;
}

.sub-site-footer .footer-info {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:56px;
    padding:34px 0 36px;
}

.sub-site-footer .footer-company strong {
    display:block;
    margin:0 0 12px;
    color:#fff;
    font-size:13px;
    font-weight:700;
}

.sub-site-footer .footer-company p {
    margin:0;
    color:#C5D3DE;
    font-size:12px;
    line-height:1.85;
    word-break:keep-all;
}

.sub-site-footer .footer-work-link {
    margin-top:8px !important;
}

.sub-site-footer .footer-work-link a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#fff;
    font-weight:700;
    transition:color .25s ease, transform .25s ease;
}

.sub-site-footer .footer-work-link a:hover {
    color:#AEC4D3;
    transform:translateX(2px);
}

.sub-site-footer .footer-links {
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:flex-end;
    gap:10px 28px;
    padding-top:2px;
    color:#D6E1EA;
    font-size:12px;
    font-weight:700;
}

.sub-site-footer .footer-links a {
    transition:color .25s ease;
}

.sub-site-footer .footer-links a:hover,
.sub-site-footer .footer-links a:focus-visible {
    color:#fff;
}

.sub-site-footer .footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-top:20px;
    border-top:1px solid rgba(214,225,234,.48);
    color:#AEC4D3;
    font-size:10px;
    line-height:1.6;
    letter-spacing:.02em;
}

/* Smaller, calmer TOP button */
.top-button {
    width:56px;
    height:56px;
    right:20px;
    bottom:20px;
    border-color:rgba(255,255,255,.26);
    background:rgba(16,45,69,.94);
    box-shadow:0 8px 22px rgba(16,45,69,.20);
}
.top-button span { font-size:16px; }
.top-button small { margin-top:3px; font-size:7px; }

@media(max-width:760px) {
    .sub-site-footer,
    .site-footer.sub-site-footer {
        padding:48px 0 22px;
    }

    .sub-site-footer .footer-brand--clean {
        padding-bottom:30px;
    }

    .sub-site-footer .footer-brand--clean .footer-logo-lockup {
        width:min(260px, 70vw);
    }

    .sub-site-footer .footer-info {
        grid-template-columns:1fr;
        gap:24px;
        padding:28px 0;
    }

    .sub-site-footer .footer-company {
        text-align:left;
    }

    .sub-site-footer .footer-company strong {
        font-size:12px;
    }

    .sub-site-footer .footer-company p {
        font-size:11px;
        line-height:1.75;
    }

    .sub-site-footer .footer-links {
        justify-content:flex-start;
        gap:10px 18px;
        padding-top:0;
        font-size:11px;
    }

    .sub-site-footer .footer-bottom {
        display:block;
        padding-top:17px;
        font-size:9px;
    }

    .sub-site-footer .footer-bottom span {
        display:block;
        margin-top:4px;
    }

    .top-button {
        width:48px;
        height:48px;
        right:12px;
        bottom:12px;
    }
}


/* =========================================================
   2026-09-08 v14 — mobile footer centered areas only
   ========================================================= */
@media(max-width:760px){
    .sub-site-footer .footer-brand--clean,
    .site-footer.sub-site-footer .footer-brand--clean{
        text-align:center;
    }

    .sub-site-footer .footer-brand--clean .footer-logo-lockup,
    .site-footer.sub-site-footer .footer-brand--clean .footer-logo-lockup{
        margin-left:auto;
        margin-right:auto;
    }

    .sub-site-footer .footer-links,
    .site-footer.sub-site-footer .footer-links{
        justify-content:center;
        text-align:center;
    }

    .sub-site-footer .footer-bottom,
    .site-footer.sub-site-footer .footer-bottom{
        text-align:center;
    }

    .sub-site-footer .footer-bottom span,
    .site-footer.sub-site-footer .footer-bottom span{
        text-align:center;
    }
}


/* =========================================================
   2026-09-08 v15 — mobile footer text visibility fix
   ========================================================= */
@media(max-width:760px){
    /* 회사명 */
    .sub-site-footer .footer-company strong,
    .site-footer.sub-site-footer .footer-company strong{
        color:#FFFFFF !important;
        opacity:1 !important;
    }

    /* 주요 메뉴 */
    .sub-site-footer .footer-links,
    .site-footer.sub-site-footer .footer-links{
        color:#D6E1EA !important;
    }

    .sub-site-footer .footer-links a,
    .site-footer.sub-site-footer .footer-links a{
        color:#D6E1EA !important;
        opacity:1 !important;
    }

    .sub-site-footer .footer-links a:hover,
    .sub-site-footer .footer-links a:focus-visible,
    .site-footer.sub-site-footer .footer-links a:hover,
    .site-footer.sub-site-footer .footer-links a:focus-visible{
        color:#FFFFFF !important;
    }
}


/* =========================================================
   v35 — Footer legal links
   개인정보처리방침 / 이용약관
   ========================================================= */
.footer-legal{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.footer-legal a{
    color:inherit;
    text-decoration:none;
    transition:color .2s ease, opacity .2s ease;
}

.footer-legal a:hover,
.footer-legal a:focus-visible{
    color:#fff;
}

@media(max-width:600px){
    .footer-bottom .footer-legal{
        display:flex;
        justify-content:center;
        gap:8px;
        margin-top:7px;
    }

    .footer-bottom .footer-legal > span{
        display:inline;
        margin:0;
    }
}
