* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { min-height: 100%; }
body { font-family: 'Noto Sans KR', sans-serif; font-size: 13px; color: var(--c-text); background: var(--c-bg); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; vertical-align: middle; }
button { font-family: inherit; }

/* ========================================================
   Sticky Footer — 콘텐츠가 짧아도 footer 를 항상 화면 바닥에
   ======================================================== */
html, body { height: 100%; }
body.page-flex {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body.page-flex > .page-main { flex: 1 0 auto; }
body.page-flex > .footer    { flex-shrink: 0; }
