* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f6f7f9; color: #333; font-family: "Malgun Gothic", sans-serif; font-size: 16px; line-height: 1.8; }
.privacy-document { max-width: 1120px; margin: 40px auto; padding: 48px; background: #fff; border: 1px solid #ddd; border-radius: 16px; }
h1 { margin: 0 0 12px; font-size: 30px; line-height: 1.4; }
.effective-date { color: #666; margin-bottom: 36px; }
h2 { margin: 48px 0 20px; padding-bottom: 12px; border-bottom: 2px solid #3a68b2; font-size: 22px; line-height: 1.5; scroll-margin-top: 24px; }
h3 { margin: 28px 0 14px; font-size: 18px; }
p { margin: 0 0 16px; overflow-wrap: anywhere; }
a { color: #285caa; text-underline-offset: 3px; }
a:focus-visible, .table-scroll:focus-visible { outline: 3px solid #3a68b2; outline-offset: 4px; }
.privacy-toc { padding: 20px 24px; background: #f5f8fc; border-radius: 8px; }
.privacy-toc p { margin-bottom: 6px; }
.table-scroll { margin: 20px 0 28px; overflow-x: auto; }
table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; line-height: 1.7; }
table.wide-table { min-width: 960px; }
table.service-table { min-width: 0; }
table.service-table th:first-child { width: 35%; }
th, td { border: 1px solid #d9dfe7; padding: 12px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
th { background: #edf2f9; font-weight: 700; }
td p, th p { margin: 0 0 8px; }
td p:last-child, th p:last-child { margin-bottom: 0; }
ol { padding-left: 24px; }
@media (max-width: 700px) {
    body { font-size: 14px; }
    .privacy-document { margin: 12px; padding: 24px 18px; border-radius: 10px; }
    h1 { font-size: 24px; }
    h2 { font-size: 19px; margin-top: 36px; }
    h3 { font-size: 16px; }
    .privacy-toc { padding: 16px; }
    .table-scroll:not(.service-table-wrap)::before { content: "표를 좌우로 밀어 전체 내용을 확인하세요."; display: block; position: sticky; left: 0; margin-bottom: 8px; color: #666; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
    body { background: #fff; }
    .privacy-document { margin: 0; padding: 0; border: 0; }
    .table-scroll { overflow: visible; }
    table, table.wide-table { min-width: 0; }
    thead { display: table-header-group; }
    tr { break-inside: avoid; }
}
