/* ================================================================
   FOOTER v2 — ink editorial
   ================================================================ */
.kn-footer {
    background: var(--kn-ink); color: var(--kn-sand-400);
    padding: clamp(64px, 8vw, 96px) 0 32px;
}
.kn-footer .container { max-width: var(--container); margin: 0 auto; padding: 0 48px; }
.kn-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px; }
.kn-footer-brand p {
    font-family: var(--font-kr); font-size: 13.5px; font-weight: 300;
    line-height: 1.9; margin-top: 16px; color: var(--kn-sand-500);
}
.kn-footer-logo { display: flex; align-items: center; gap: 12px; }
.logo-name { font-family: var(--font-display); font-size: 19px; color: var(--kn-white); letter-spacing: 0.01em; }
.kn-footer-social { display: flex; gap: 14px; margin-top: 20px; }
.kn-footer-social a { color: var(--kn-sand-500); transition: color 0.3s; }
.kn-footer-social a:hover { color: var(--kn-amber-light); }
.kn-footer-col h4 {
    font-family: var(--font-body); font-size: 10.5px; font-weight: 700;
    color: var(--kn-sand-500); margin-bottom: 20px;
    letter-spacing: 0.22em; text-transform: uppercase;
}
.kn-footer-col ul { list-style: none; }
.kn-footer-col li { margin-bottom: 12px; }
.kn-footer-col a, .kn-footer-col span {
    font-family: var(--font-kr); font-size: 13.5px; font-weight: 300;
    color: var(--kn-sand-400); transition: color 0.3s;
}
.kn-footer-col a:hover { color: var(--kn-white); }
.kn-footer-bottom {
    margin-top: clamp(48px, 6vw, 72px); padding-top: 24px;
    border-top: 1px solid var(--kn-line-dark);
    display: flex; justify-content: space-between; align-items: center;
    font-size: 12px; font-family: var(--font-kr); font-weight: 300;
    color: var(--kn-sand-600);
    flex-wrap: wrap; gap: 12px;
}
.kn-footer-bottom a { color: var(--kn-sand-500); transition: color 0.3s; }
.kn-footer-bottom a:hover { color: var(--kn-amber-light); }
@media (max-width: 768px) {
    .kn-footer .container { padding: 0 22px; }
    .kn-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .kn-footer-brand { grid-column: 1 / -1; }
}

/* 사업자 정보 (법적 표기) */
.kn-footer-biz {
    font-family: var(--font-kr); font-size: 11.5px; line-height: 1.8;
    color: rgba(255,255,255,0.45); text-align: center;
    padding: 18px 20px 0; border-top: 1px solid rgba(255,255,255,0.08);
    margin-top: 28px;
}
