@charset "utf-8";
/* privacy.html (개인정보처리방침) 전용 — 히어로는 contact.html 패턴의 축소판 */

/* ---------- 히어로 (높이 360: contact 760의 절반 정도) ---------- */
.p-hero { display: flex; height: 360px; overflow: hidden; }
.p-hero__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 634px;
  background: var(--c-deep);
  color: var(--c-white);
  text-align: center;
}
.p-hero__title { font-size: 54px; line-height: 64px; font-weight: 400; letter-spacing: -.04em; }
.p-hero__sub { margin-top: 14px; font-size: 15px; line-height: 24px; letter-spacing: -.02em; color: var(--c-on-dark-sub); }
.p-hero__visual { flex: 1; background: var(--c-deep-2); }

/* ---------- 본문 (폭 800 가운데) ---------- */
.policy { padding: 100px 0 120px; }
.policy__inner { width: 800px; margin: 0 auto; color: var(--c-body-2); }
.policy__intro { padding-bottom: 40px; border-bottom: 1.5px solid var(--c-line-dark); font-size: 15px; line-height: 26px; }

.policy__item { padding: 44px 0 0; }
.policy__item h2 { margin-bottom: 14px; color: var(--c-ink); }
.policy__item h3 { margin: 18px 0 6px; font-size: 15px; line-height: 24px; font-weight: 700; color: var(--c-ink-strong); }
.policy__item p { font-size: 15px; line-height: 26px; }
.policy__item p + p, .policy__item ul + p, .policy__item ol + p { margin-top: 8px; }
.policy__table + p, .table-scroll + p { margin-top: 14px; }
.policy__item ol, .policy__item ul { margin-top: 8px; }
.policy__item li { position: relative; padding-left: 14px; font-size: 15px; line-height: 26px; }
.policy__item li::before { content: ""; position: absolute; left: 2px; top: 12px; width: 3px; height: 3px; border-radius: 50%; background: var(--c-body-2); }
.policy__item li + li { margin-top: 4px; }
.policy__item a { color: var(--c-teal); }

/* 표: 얇은 선 */
.policy__table { width: 100%; margin-top: 14px; border-collapse: collapse; border-top: 1px solid var(--c-line-dark); font-size: 14px; line-height: 22px; }
.policy__table th, .policy__table td { padding: 12px 14px; border-bottom: 1px solid var(--c-line); text-align: left; vertical-align: top; }
.policy__table thead th { background: var(--c-gray-bg); font-weight: 700; color: var(--c-ink); }
.policy__table tbody th { width: 180px; background: var(--c-gray-bg); font-weight: 700; color: var(--c-ink); }

.policy__date { margin-top: 12px; font-weight: 700; color: var(--c-ink); }

/* ---------- 1440보다 넓은 화면: contact와 같은 좌우 확장 ---------- */
@media (min-width: 1441px) {
  .p-hero__panel { flex: none; width: calc(50% - 86px); padding-left: calc(50% - 720px); }
}

/* ---------- 모바일 (≤ 900px) ---------- */
@media (max-width: 900px) {
  /* 히어로: 텍스트 패널만 높이 200 */
  .p-hero { height: 200px; }
  .p-hero__panel { flex: 1; width: auto; padding: 0 20px; }
  .p-hero__title { font-size: 36px; line-height: 1.2; }
  .p-hero__sub { margin-top: 10px; font-size: 13px; line-height: 1.6; }
  .p-hero__visual { display: none; }

  /* 본문 폭 100% */
  .policy { padding: 56px 0 70px; }
  .policy__inner { width: auto; margin: 0 20px; }
  .policy__intro { padding-bottom: 28px; font-size: 14px; line-height: 1.7; }
  .policy__item { padding-top: 36px; }
  .policy__item h2 { margin-bottom: 10px; }
  .policy__item p, .policy__item li { font-size: 14px; line-height: 1.7; }
  .policy__item li::before { top: 11px; }

  /* 표: 13px, 5열 표는 .table-scroll */
  .policy__table { font-size: 13px; line-height: 1.5; }
  .policy__table th, .policy__table td { padding: 9px 10px; }
  .policy__table tbody th { width: 96px; }
  /* 5열 표: 밀 수 있다는 안내 + 오른쪽 끝 흐림 */
  .policy__item .policy__scroll-hint { margin-top: 12px; font-size: 12px; line-height: 1.5; color: var(--c-body-3); }
  .table-scroll { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); }
}
