  /* ── 개인정보처리방침 전용 — privacy.php 만 로드한다 (WS_STYLES 에 넣지 않는다: 보드 DOM 전제가 없는 독립 문서, login.css 와 같은 자리)
     읽는 문서라 유리·오로라 없이 바탕 위 한 단. 색·타입은 tokens.css 시맨틱 이름만. 줄 간격만 본문용 배수(1.75) — UI 용 --lh-* 는 여러 줄 글엔 빽빽하다 ── */
  body.page-doc { overflow: auto; display: block; scroll-behavior: smooth; }   /* base.css 의 보드 전제(overflow hidden·flex 컬럼) 해제 */

  .pv-top, .pv-doc, .pv-foot {
    width: min(760px, 100%); margin: 0 auto;
    padding-left: max(var(--space-20), env(safe-area-inset-left));
    padding-right: max(var(--space-20), env(safe-area-inset-right));
  }
  .pv-top { padding-top: max(var(--space-32), env(safe-area-inset-top)); display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); }
  .pv-back {   /* 돌아가기 알약(26.10.08) — 워드마크 오른쪽, 36px 손가락 높이. 글자 중심은 line-height 명시 */
    display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px 0 11px; border-radius: 999px; text-decoration: none;
    font-size: var(--fs-t3); line-height: 19px; font-weight: var(--fw-medium); color: var(--text-primary);
    background: color-mix(in srgb, var(--text-primary) 6%, transparent); -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none;
  }
  .pv-back:hover { background: color-mix(in srgb, var(--text-primary) 10%, transparent); }
  .pv-back:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
  @media (hover: none), ((any-pointer: coarse) and (max-width: 900px)) { .pv-back:active { background: color-mix(in srgb, var(--text-primary) 12%, transparent); } }
  .pv-brand {
    display: inline-block; text-decoration: none; color: var(--text-primary);
    font-size: var(--fs-t6); line-height: var(--lh-t6); font-weight: var(--fw-display); letter-spacing: -0.03em;
    -webkit-tap-highlight-color: transparent;
  }
  .pv-brand .wm-a { margin-right: 0.14em; }
  .pv-brand:focus-visible, .pv-doc a:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 3px; border-radius: var(--radius-4); }

  .pv-doc { padding-top: var(--space-48); padding-bottom: var(--space-64); font-size: var(--fs-t5); line-height: 1.75; color: var(--text-primary); }
  .pv-title { font-size: var(--fs-t11); line-height: var(--lh-t11); font-weight: var(--fw-bold); letter-spacing: -0.02em; }
  .pv-meta { margin-top: var(--space-8); font-size: var(--fs-t4); line-height: var(--lh-t4); color: var(--text-secondary); }
  .pv-lead { margin-top: var(--space-28); }
  .pv-nowrap { white-space: nowrap; }
  .pv-doc a { color: inherit; text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 3px; }
  .pv-doc a:hover { text-decoration-color: currentColor; }

  .pv-toc {
    margin-top: var(--space-28); padding: var(--space-20) var(--space-24);
    border: 1px solid var(--border-default); border-radius: var(--radius-16);
    font-size: var(--fs-t4); line-height: 1.9;
  }
  .pv-toc ol { list-style: decimal inside; columns: 2; column-gap: var(--space-32); }
  .pv-toc li { break-inside: avoid; color: var(--text-secondary); }
  .pv-toc a { color: var(--text-primary); text-decoration: none; }
  .pv-toc a:hover { text-decoration: underline; }

  .pv-doc section { margin-top: var(--space-48); scroll-margin-top: var(--space-24); }
  .pv-doc h2 { font-size: var(--fs-t7); line-height: var(--lh-t7); font-weight: var(--fw-bold); letter-spacing: -0.01em; margin-bottom: var(--space-14); }
  .pv-doc section p + p, .pv-doc section p + ul, .pv-doc section ul + p, .pv-doc section .pv-table-wrap + p,
  .pv-doc section .pv-table-wrap + ul, .pv-doc section p + .pv-table-wrap, .pv-doc section p + dl, .pv-doc section dl + p { margin-top: var(--space-14); }

  .pv-list { list-style: none; }
  .pv-list li { position: relative; padding-left: var(--space-16); }
  .pv-list li + li { margin-top: var(--space-4); }
  .pv-list li::before { content: ''; position: absolute; left: 3px; top: 0.8em; width: 4px; height: 4px; border-radius: var(--radius-full); background: var(--text-tertiary); }

  .pv-table-wrap { border: 1px solid var(--border-default); border-radius: var(--radius-12); overflow: hidden; }
  .pv-table { width: 100%; border-collapse: collapse; font-size: var(--fs-t4); line-height: 1.65; text-align: left; }
  .pv-table th, .pv-table td { padding: var(--space-12) var(--space-16); vertical-align: top; font-weight: var(--fw-regular); }
  .pv-table thead th { font-size: var(--fs-t3); color: var(--text-secondary); font-weight: var(--fw-medium); border-bottom: 1px solid var(--border-default); }
  .pv-table tbody tr + tr > * { border-top: 1px solid var(--border-subtle); }
  .pv-table tbody th { width: 27%; font-weight: var(--fw-medium); }
  .pv-table td { color: var(--text-primary); }
  .pv-sub { font-size: var(--fs-t2); line-height: var(--lh-t2); font-weight: var(--fw-regular); color: var(--text-secondary); }

  .pv-contact { border: 1px solid var(--border-default); border-radius: var(--radius-12); padding: var(--space-8) var(--space-16); font-size: var(--fs-t4); line-height: 1.65; }
  .pv-contact > div { display: flex; gap: var(--space-16); padding: var(--space-8) 0; }
  .pv-contact > div + div { border-top: 1px solid var(--border-subtle); }
  .pv-contact dt { flex: none; width: 88px; color: var(--text-secondary); }

  .pv-en { padding-top: var(--space-40); border-top: 1px solid var(--border-default); font-size: var(--fs-t4); color: var(--text-secondary); }
  .pv-en h2 { font-size: var(--fs-t5); line-height: var(--lh-t5); color: var(--text-primary); }
  .pv-en b { color: var(--text-primary); font-weight: var(--fw-medium); }

  .pv-foot {
    padding-bottom: max(var(--space-40), env(safe-area-inset-bottom));
    font-size: var(--fs-t2); line-height: var(--lh-t2); color: var(--text-tertiary);
  }

  /* 폰 — 표는 줄마다 한 덩어리로 쌓는다(세 칸을 나란히 두면 칸마다 두세 글자씩 꺾인다). 칸 이름은 td 의 data-l 을 작은 캡션으로 */
  @media (max-width: 640px), ((any-pointer: coarse) and (max-width: 900px)) {
    .pv-top { padding-top: max(var(--space-24), env(safe-area-inset-top)); }
    .pv-doc { padding-top: var(--space-32); font-size: var(--fs-t4); }
    .pv-title { font-size: var(--fs-t9); line-height: var(--lh-t9); }
    .pv-doc section { margin-top: var(--space-40); }
    .pv-doc h2 { font-size: var(--fs-t6); line-height: var(--lh-t6); }
    .pv-toc { padding: var(--space-16) var(--space-20); }
    .pv-toc ol { columns: 1; }
    .pv-table, .pv-table tbody, .pv-table tr, .pv-table th, .pv-table td { display: block; }
    .pv-table thead { display: none; }
    .pv-table tbody tr { padding: var(--space-14) var(--space-16); }
    .pv-table tbody tr + tr { border-top: 1px solid var(--border-subtle); }
    .pv-table tbody tr + tr > * { border-top: 0; }
    .pv-table th, .pv-table td { padding: 0; }
    .pv-table tbody th { width: auto; font-weight: var(--fw-bold); }
    .pv-table tbody th br { display: none; }
    .pv-table tbody th .pv-sub { margin-left: var(--space-6); }
    .pv-table td { margin-top: var(--space-8); }
    .pv-table td::before { content: attr(data-l); display: block; font-size: var(--fs-t2); line-height: var(--lh-t2); color: var(--text-secondary); margin-bottom: 2px; }
  }
  @media (prefers-reduced-motion: reduce) { body.page-doc { scroll-behavior: auto; } }
