/* 정책 페이지: 기존 서브 헤더·그리드·여백 토큰 사용 */
.policy-visual h1 { word-break: keep-all; overflow-wrap: anywhere; }
.policy-section { padding-block: var(--tf-content-space); }
.policy-document { display: flex; min-width: 0; flex-direction: column; gap: var(--number-40); scroll-margin-top: 7.5rem; }
.policy-document > h2 { margin: 0; font-size: var(--tf-text-page-title, 2.5rem); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.policy-version { white-space: nowrap; }
.policy-block { display: flex; flex-direction: column; gap: var(--number-4); }
.policy-block h3 { margin: 0; font-size: var(--tf-text-item-title, 1.5rem); font-weight: 500; line-height: 1.5; letter-spacing: -.01em; }
.policy-copy, .policy-subheading { font-size: 1rem; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.policy-copy p, .policy-copy ol { margin: 0; }
.policy-copy ol { padding-left: var(--number-24); }
.policy-copy .policy-copy__paragraph { margin-top: 1.5rem; }
.policy-copy a { text-decoration: underline; text-underline-offset: .125rem; }
.policy-subheading { margin: 0; padding-inline: var(--number-20); }

/* 개인정보처리방침: 본문 9컬럼, 문서 메뉴 2컬럼 */
.policy-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--tf-gutter); align-items: start; }
.policy-layout > .policy-document { grid-column: 1 / span 9; }
.policy-documents { grid-column: 11 / -1; min-width: 0; overflow: hidden; border: 1px solid var(--color-border-normal); border-radius: var(--number-12); }
.policy-documents h2 { margin: 0; padding: var(--number-8) var(--number-20); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.policy-documents a { display: block; padding: var(--number-12) var(--number-20); color: var(--color-primary-normal); background: var(--color-background-alt); font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.policy-table-group { display: flex; min-width: 0; flex-direction: column; gap: var(--number-12); }
.policy-table-scroll { overflow-x: auto; }
.policy-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 1rem; line-height: 1.5; }
.policy-table th, .policy-table td { width: 25%; border: 1px solid var(--color-text-normal); padding: var(--number-8) var(--number-20); font-weight: 400; text-align: left; vertical-align: top; overflow-wrap: anywhere; }

@media (min-width: 1200px) {
  .policy-visual { height: 34.375rem; }
}

/* 좁은 화면에서는 문서 메뉴를 본문 위로 이동 */
@media (max-width: 1199.98px) {
  .policy-layout { grid-template-columns: minmax(0, 1fr); row-gap: var(--number-40); }
  .policy-layout > .policy-document { grid-column: 1; grid-row: 2; }
  .policy-documents { grid-column: 1; grid-row: 1; width: min(100%, 15.625rem); }
  .policy-document { scroll-margin-top: 5rem; }
}

@media (max-width: 767.98px) {
  .policy-table { min-width: 44rem; }
}
