@font-face {
    font-family: "Pretendard Variable";
    src: url("../fonts/PretendardVariable.woff2") format("woff2-variations");
    font-weight: 45 920;
    font-style: normal;
    font-display: swap;
}

:root {
    --kws-blue: var(--kws-public-color-action, #2563eb);
    --kws-blue-dark: var(--kws-public-color-action-hover, #1d4ed8);
    --kws-navy: var(--kws-public-color-text-strong, #0f172a);
    --kws-ink: var(--kws-public-color-text-strong, #171717);
    --kws-body: var(--kws-public-color-text, #475569);
    --kws-muted: var(--kws-public-color-text-muted, #64748b);
    --kws-line: var(--kws-public-color-line, #e7ebf0);
    --kws-soft: var(--kws-public-color-surface, #fff);
    --kws-warm: var(--kws-public-color-canvas, #fff);
    --kws-white: var(--kws-public-color-canvas, #fff);
    --kws-gutter: var(--kws-public-page-gutter, 20px);
    --kws-container: var(--kws-public-container-wide, 1280px);
    --kws-radius-control: var(--kws-public-radius-control, 12px);
    --kws-radius-feature: var(--kws-public-radius-feature, 24px);
}

@media (max-width: 767px) {
    :root {
        --kws-gutter: 20px;
    }
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body,
h1,
h2,
h3,
p,
figure,
fieldset,
legend,
dl,
dd { margin: 0; }

body {
    min-width: 320px;
    overflow-x: hidden;
    background: var(--kws-white);
    color: var(--kws-ink);
    font-family: var(--kws-public-font-sans, "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif);
    font-size: 16px;
    line-height: 1.6;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { border: 0; cursor: pointer; }
img { display: block; max-width: 100%; }

.inner-container {
    width: 100%;
    max-width: var(--kws-container);
    margin: 0 auto;
    padding-right: var(--kws-gutter);
    padding-left: var(--kws-gutter);
}

#main-content { padding-top: var(--kws-header); }

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Final and footer */

.footer-wrap { padding: 100px 0; background: #fff; color: var(--kws-body); text-align: center; }
.foot-logo { width: 150px; margin: 0 auto 34px; }
.foot-info { font-size: 14px; line-height: 1.9; }
.foot-info b { margin: 0 8px; color: #c5ccd5; }
.footer-policy-links { display: flex; justify-content: center; gap: 16px; margin-top: 20px; }
.footer-policy-links a { display: inline-flex; align-items: center; min-height: var(--kws-public-control-sm, 44px); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.footer-policy-links a:hover { color: var(--kws-public-color-action, #2563eb); }
.footer-policy-links a:active, .footer-policy-links a:focus-visible { background: var(--kws-public-color-action-soft, #eff6ff); color: var(--kws-public-color-action-hover, #1d4ed8); }
.footer-copyright { margin-top: 22px; color: var(--kws-public-color-text-muted, #64748b); font-size: 12px; }

@media (max-width: 767px) {
    .footer-wrap { padding: 76px 0; }
    .foot-info { font-size: 12px; line-height: 1.8; }
    .foot-info b { display: none; }
    .foot-info span { display: inline-block; }
}

:focus-visible { outline: none; }
