@font-face {
    font-family: 'SpoqaHanSansNeoSubset';
    src: url("../../fonts/SpoqaHanSansNeo_WOFF2_Subset/SpoqaHanSansNeo-Regular.6f876d098a68.woff2") format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SpoqaHanSansNeoSubset';
    src: url("../../fonts/SpoqaHanSansNeo_WOFF2_Subset/SpoqaHanSansNeo-Bold.d57ff6f22085.woff2") format('woff2');
    font-weight: 600 900;
    font-style: normal;
    font-display: swap;
}

.wm-public-page {
    margin: 0;
    color: var(--wm-theme-ink);
    background: var(--wm-theme-soft);
    font-family: 'SpoqaHanSansNeoSubset', 'Apple SD Gothic Neo', sans-serif;
    font-size: 1rem;
    line-height: 1.75;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.wm-public-page *, .wm-public-page *::before, .wm-public-page *::after { box-sizing: border-box; }
.wm-public-page a { color: inherit; text-decoration: none; }
.wm-public-page button, .wm-public-page input, .wm-public-page select { font: inherit; }
.wm-public-page button { cursor: pointer; }
.wm-public-page img { max-width: 100%; }
.wm-public-page a, .wm-public-page button { -webkit-tap-highlight-color: transparent; }
.wm-public-page :focus-visible { outline: 3px solid var(--wm-theme-primary); outline-offset: 4px; }
.wm-public-page [hidden] { display: none !important; }
.wm-public-container { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.wm-public-skip { position: fixed; z-index: 10000; top: 8px; left: 12px; transform: translateY(-160%); padding: 8px 16px; background: var(--wm-mode-surface, white); border: 2px solid var(--wm-theme-primary); border-radius: 8px; }
.wm-public-skip:focus { transform: translateY(0); }
.wm-public-main { padding-top: 144px; padding-bottom: 88px; min-height: 65vh; }
.wm-public-hero { margin-bottom: 40px; }
.wm-public-eyebrow { margin: 0 0 12px; font-size: .875rem; font-weight: 700; letter-spacing: .1em; color: var(--wm-theme-primary-dark); }
.wm-public-title { margin: 0; font-size: clamp(2rem, 4vw, 2.75rem); letter-spacing: -.045em; line-height: 1.35; font-weight: 700; }
.wm-public-lead { margin: 18px 0 0; max-width: 720px; color: var(--wm-theme-muted); font-size: 1.0625rem; line-height: 1.9; }
.wm-public-panel { border: 1px solid var(--wm-theme-line); border-radius: 8px; background: var(--wm-theme-surface); }
.wm-public-section { margin-top: 64px; }
.wm-public-section-title { margin: 0 0 14px; font-size: clamp(1.5rem, 3vw, 1.875rem); line-height: 1.5; letter-spacing: -.035em; }
.wm-public-section-copy { margin: 0; color: var(--wm-theme-muted); }
.wm-public-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.wm-public-page .wm-public-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 10px 22px; border: 1px solid transparent; border-radius: 8px; color: white; background: var(--wm-theme-primary-gradient); font-size: .9375rem; font-weight: 700; line-height: 1.6; text-align: center; }
.wm-public-page .wm-public-button:hover { background: var(--wm-theme-primary-gradient-hover); }
.wm-public-page .wm-public-button--secondary { color: var(--wm-theme-primary-dark); background: var(--wm-mode-surface, white); border-color: var(--wm-theme-line); }
.wm-public-page .wm-public-button--secondary:hover { background: var(--wm-theme-soft); border-color: var(--wm-mode-line, #bfb6e7); }

@media (max-width: 767px) {
    .wm-public-main { padding-top: 104px; padding-bottom: 56px; }
    .wm-public-section { margin-top: 44px; }
}

@media (max-width: 639px) {
    .wm-public-container { width: calc(100% - 32px); }
    .wm-public-hero { margin-bottom: 28px; }
    .wm-public-lead { font-size: 1rem; }
}

@media (max-width: 399px) {
    .wm-public-title { font-size: 1.875rem; }
}
