/* Policy pages reuse the site's fonts and mark; no third-party scripts. */
:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; color: #202923; background: #fafaf7; font-family: "IBM Plex Sans KR", system-ui, sans-serif; line-height: 1.85; }
a { color: #245c45; text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid #245c45; outline-offset: 5px; }
.legal-wrap { max-width: 860px; margin: auto; padding: 28px 24px 64px; }
nav { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; border-bottom: 1px solid #d8ddd5; padding-bottom: 20px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 700; margin-right: auto; }
.brand img { width: 36px; height: 36px; }
h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.35; margin: 40px 0 14px; letter-spacing: -.04em; }
h2 { font-size: 1.2rem; margin-top: 38px; line-height: 1.5; }
p, li { overflow-wrap: anywhere; }
.meta { color: #526057; font-size: .95rem; }
.notice { padding: 16px 20px; background: #edf1e9; border-left: 3px solid #386a51; }
.pending { padding: 16px 20px; border: 1px solid #b98a3c; background: #fff5df; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { padding: 12px; border-bottom: 1px solid #d8ddd5; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
th { background: #edf1e9; }
.table-scroll { overflow-x: auto; }
footer { margin-top: 48px; padding-top: 20px; border-top: 1px solid #d8ddd5; }
.skip { position: absolute; top: -80px; }
.skip:focus { top: 10px; background: white; padding: 8px; }
@media (max-width: 540px) { .legal-wrap { padding: 20px 16px 44px; } nav { gap: 14px; } th, td { padding: 8px; } }
