/* ---------- intro ---------- */
.privacy-intro {
  padding: 180px 24px 56px;
  max-width: 800px;
  margin: 0 auto;
}
.privacy-intro h1 {
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--fog-white);
  margin: 0 0 20px;
}
.privacy-intro p {
  font: 400 16px/1.8 var(--font-body), sans-serif;
  color: rgba(244, 243, 239, .65);
  word-break: keep-all;
  margin: 10px 0 0;
}
.privacy-effective {
  display: inline-block;
  margin-top: 22px;
  font: 500 13px var(--font-mono), monospace;
  letter-spacing: .04em;
  color: var(--signal-amber);
}

/* ---------- body ---------- */
.privacy-body {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px 140px;
}
.privacy-section {
  padding: 44px 0;
  border-top: 1px solid var(--border-on-dark);
}
.privacy-section:first-child { border-top: 1px solid var(--border-on-dark); }
.privacy-section h2 {
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: clamp(19px, 2.2vw, 23px);
  line-height: 1.4;
  color: var(--fog-white);
  margin: 0 0 20px;
  word-break: keep-all;
}
.privacy-section p {
  font: 400 15.5px/1.85 var(--font-body), sans-serif;
  color: rgba(244, 243, 239, .68);
  word-break: keep-all;
  margin: 0 0 14px;
}
.privacy-section p:last-child { margin-bottom: 0; }
.privacy-section h3 {
  font: 600 13px var(--font-mono), monospace;
  letter-spacing: .06em;
  color: var(--steel-gray);
  margin: 22px 0 10px;
}
.privacy-section h3:first-of-type { margin-top: 0; }
.privacy-section ul {
  margin: 0 0 14px;
  padding-left: 20px;
}
.privacy-section ul:last-child { margin-bottom: 0; }
.privacy-section li {
  font: 400 15.5px/1.85 var(--font-body), sans-serif;
  color: rgba(244, 243, 239, .68);
  word-break: keep-all;
  margin-bottom: 6px;
}
.privacy-section li:last-child { margin-bottom: 0; }
.privacy-section li b,
.privacy-section p b { color: var(--fog-white); font-weight: 600; }

/* ---------- table (수탁업체 · 제3자 제공) ---------- */
.privacy-table-wrap {
  overflow-x: auto;
  margin: 4px 0 16px;
  border: 1px solid var(--border-on-dark);
  -webkit-overflow-scrolling: touch;
}
.privacy-table {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
}
.privacy-table--wide { min-width: 640px; }
.privacy-table th,
.privacy-table td {
  padding: 14px 18px;
  text-align: left;
  font: 400 14px/1.6 var(--font-body), sans-serif;
  color: rgba(244, 243, 239, .68);
  border-bottom: 1px solid var(--border-on-dark);
  white-space: normal;
  word-break: keep-all;
}
.privacy-table th {
  font: 600 12px var(--font-mono), monospace;
  letter-spacing: .05em;
  color: var(--steel-gray);
  background: rgba(244, 243, 239, .03);
  white-space: nowrap;
}
.privacy-table tr:last-child td { border-bottom: none; }
.privacy-table-note {
  font: 400 13px/1.7 var(--font-mono), monospace;
  color: var(--steel-gray);
  margin: 0;
}

/* ---------- 주의 문구 ---------- */
.privacy-section p.privacy-callout {
  display: flex;
  gap: 12px;
  margin: 20px 0 0;
  padding: 18px 22px;
  border-left: 2px solid var(--signal-amber);
  background: rgba(245, 166, 35, .05);
  font-size: 14px;
  color: var(--fog-white);
  word-break: keep-all;
}
.privacy-section p.privacy-callout::before {
  content: "⚠";
  flex: none;
  color: var(--signal-amber);
  font-size: 15px;
  line-height: 1.75;
}

/* ---------- 개인정보 보호책임자 ---------- */
.privacy-officer {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 10px 20px;
  border: 1px solid var(--border-on-dark);
  padding: 24px 28px;
}
.privacy-officer dt {
  font: 500 13px var(--font-mono), monospace;
  color: var(--steel-gray);
}
.privacy-officer dd {
  font: 400 15px var(--font-body), sans-serif;
  color: var(--fog-white);
  margin: 0;
}

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .privacy-intro { padding: 120px 20px 44px; }
  .privacy-body { padding: 0 20px 96px; }
  .privacy-section { padding: 34px 0; }
  .privacy-officer { grid-template-columns: 1fr; gap: 4px; }
  .privacy-officer dt { margin-top: 10px; }
  .privacy-officer dt:first-child { margin-top: 0; }
}
