/* 이용약관·개인정보처리방침 — 결과·홈과 같은 토큰(facegrid-result.css). 읽기 쉬운 폭의 글 한 편. */
.legal-page .site-header { position: sticky; top: 0; z-index: 10; background: var(--background); }
.legal-back { display: grid; place-items: center; width: 44px; min-height: 44px; margin-left: -15px; }
.legal-back svg { width: 21px; height: 21px; color: var(--text); }
.site-header-inner:has(.legal-back) { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; }
.site-header-inner:has(.legal-back) .service-mark { grid-column: 2; justify-self: center; }

.legal-main { max-width: 680px; margin: 0 auto; padding: 20px var(--gutter) max(56px, env(safe-area-inset-bottom)); color: var(--body); }
.legal-main h1 { margin: 0; color: var(--text); font-size: 24px; font-weight: 700; line-height: 1.4; letter-spacing: -.045em; }
.legal-meta { margin: 6px 0 28px; color: var(--muted); font-size: 13px; line-height: 20px; letter-spacing: -.02em; }
.legal-main h2 { margin: 28px 0 8px; color: var(--text); font-size: 16.5px; font-weight: 650; line-height: 1.5; letter-spacing: -.035em; }
.legal-main p, .legal-main li { margin: 0; font-size: 14.5px; line-height: 24px; letter-spacing: -.02em; word-break: keep-all; }
.legal-main ol, .legal-main ul { margin: 0; padding-left: 20px; }
.legal-main p + p, .legal-main li + li { margin-top: 6px; }
.legal-foot { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.legal-foot a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.legal-main a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; word-break: break-all; }
.legal-main h1 + .legal-meta + p { margin-bottom: 4px; }
.legal-main ol { margin: 6px 0; }
.legal-main ol + p { margin-top: 8px; }
