:root {
  --site-ink: #252724;
  --site-muted: #777970;
  --site-paper: #f7f4ee;
  --site-line: #e6e2d8;
  --site-accent: #527760;
  --site-accent-dark: #385842;
  --site-white: #fffefa;
}
.site-footer { padding: 24px 0 32px; border-top: 1px solid var(--site-line); color: var(--site-muted); font-size: 12px; }
.site-footer-inner { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 24px; }
.site-footer p { margin: 5px 0 0; }
.site-footer .site-footer-note { flex: 0 0 100%; margin: 0; color: var(--site-muted); font-size: 11px; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; }
.site-footer a { color: inherit; text-underline-offset: 3px; }
.site-footer a:hover { color: var(--site-accent-dark); }
.policy-page { min-height: 100vh; margin: 0; background: var(--site-paper); color: var(--site-ink); font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif; line-height: 1.72; }
.policy-page * { box-sizing: border-box; }
.policy-shell { width: min(820px, calc(100% - 48px)); margin: 0 auto; }
.policy-header { padding: 28px 0; border-bottom: 1px solid var(--site-line); }
.policy-brand { color: var(--site-ink); font-size: 20px; font-weight: 750; letter-spacing: -.045em; text-decoration: none; }
.policy-main { padding: 76px 0 96px; }
.policy-kicker { margin: 0 0 15px; color: var(--site-accent); font-size: 12px; font-weight: 750; letter-spacing: .13em; }
.policy-main h1 { margin: 0; font-size: clamp(34px, 6vw, 52px); line-height: 1.2; letter-spacing: -.06em; }
.policy-lead { margin: 20px 0 0; color: var(--site-muted); font-size: 17px; }
.policy-card { margin-top: 48px; padding: 30px 34px; border: 1px solid var(--site-line); border-radius: 16px; background: var(--site-white); }
.policy-card + .policy-card { margin-top: 16px; }
.policy-card h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.35; letter-spacing: -.04em; }
.policy-card h3 { margin: 24px 0 7px; font-size: 16px; }
.policy-card p { margin: 9px 0; }
.policy-card ul { margin: 10px 0 0; padding-left: 1.25em; }
.policy-card li + li { margin-top: 7px; }
.policy-card a { color: var(--site-accent-dark); text-underline-offset: 3px; }
.policy-note { padding: 14px 16px; border-left: 3px solid var(--site-accent); background: #f2f5ef; }
.policy-meta { color: var(--site-muted); font-size: 13px; }
@media (max-width: 600px) {
  .policy-shell { width: min(100% - 32px, 820px); }
  .policy-main { padding: 56px 0 72px; }
  .policy-card { padding: 24px 21px; }
  .site-footer-inner { display: block; }
  .site-footer nav { justify-content: flex-start; margin-top: 17px; }
  .site-footer .site-footer-note { margin-top: 16px; }
}
