/* 개인정보처리방침: readable text and tables that turn into one card per row on phones. */
.privacy-policy { max-width: 880px; padding-bottom: 96px; }
.privacy-policy h1 { margin-bottom: 28px; }
.privacy-policy h2 { font-size: clamp(22px, 3vw, 30px); line-height: 1.3; letter-spacing: -.03em; margin: 56px 0 16px; }
.privacy-policy p, .privacy-policy li, .privacy-policy td, .privacy-policy dd, .privacy-policy dt { font-size: 15px; line-height: 1.75; }
.privacy-policy .privacy-lead { font-size: 17px; }
.privacy-policy ul { padding-left: 1.2em; display: grid; gap: 6px; }
.privacy-policy a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.privacy-table { overflow-x: auto; margin: 8px 0 16px; border-top: 1px solid rgba(24, 58, 50, .18); }
.privacy-table table { width: 100%; border-collapse: collapse; }
.privacy-table th { font-size: 13px; text-align: left; padding: 12px 12px 10px 0; white-space: nowrap; color: rgba(24, 58, 50, .75); border-bottom: 1px solid rgba(24, 58, 50, .18); }
.privacy-table td { vertical-align: top; padding: 14px 12px 14px 0; border-bottom: 1px solid rgba(24, 58, 50, .1); overflow-wrap: anywhere; }
.privacy-contact { display: grid; grid-template-columns: max-content 1fr; gap: 6px 20px; }
.privacy-contact dt { font-weight: 700; }
.privacy-contact dd { margin: 0; }
@media (max-width: 640px) {
  .privacy-table { overflow: visible; border-top: 0; }
  .privacy-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .privacy-table tr { display: block; padding: 14px 0; border-top: 1px solid rgba(24, 58, 50, .18); }
  .privacy-table td { display: grid; grid-template-columns: 6.5em 1fr; gap: 10px; padding: 4px 0; border: 0; }
  .privacy-table td::before { content: attr(data-label); font-size: 13px; font-weight: 700; color: rgba(24, 58, 50, .75); }
  .privacy-contact { grid-template-columns: 1fr; gap: 0; }
  .privacy-contact dd { margin-bottom: 8px; }
}
