@charset "UTF-8";


/* 개인정보 처리방침과 이용약관 두 화면이 함께 쓰는 정책 문서 스타일이다. */
.privacy-page { background:#fff; }
.privacy-renewal .privacy-main { background:#fff; }
.privacy-hero { background:linear-gradient(180deg,#f5f8ff 0%,#fff 100%); border-bottom:1px solid #edf0f5; }
.privacy-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:48px; align-items:end; padding:56px 0 42px; }
.privacy-hero span { color:#2f6feb; font-size:12px; line-height:1.4; font-weight:700; }
.privacy-hero h1 { margin:10px 0 14px; color:#171d2b; font-size:42px; line-height:1.22; font-weight:700; letter-spacing:-.5px; }
.privacy-hero p { max-width:650px; margin:0; color:#5f6b7d; font-size:16px; line-height:1.8; font-weight:500; }
.privacy-hero dl { display:grid; gap:0; margin:0; border:1px solid #e4e9f2; border-radius:8px; background:#fff; box-shadow:0 10px 26px rgba(28,45,78,.06); }
.privacy-hero dl div { display:grid; grid-template-columns:92px minmax(0,1fr); min-height:54px; align-items:center; padding:0 18px; border-bottom:1px solid #eef1f6; }
.privacy-hero dl div:last-child { border-bottom:0; }
.privacy-hero dt { color:#738094; font-size:13px; font-weight:700; }
.privacy-hero dd { margin:0; color:#20283a; font-size:14px; font-weight:700; text-align:right; }

.privacy-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:46px; align-items:start; padding:48px 0 74px; }
.privacy-toc { position:sticky; top:24px; padding:22px 0; border-top:2px solid #1f2b3f; border-bottom:1px solid #e5e9f0; }
.privacy-toc strong { display:block; margin-bottom:14px; color:#171d2b; font-size:17px; font-weight:700; }
.privacy-toc nav { display:grid; gap:2px; }
.privacy-toc a { display:block; padding:9px 0; color:#596679; font-size:14px; line-height:1.45; font-weight:600; }
.privacy-toc a:hover { color:#2f6feb; text-decoration:underline; text-underline-offset:3px; }

.privacy-document { min-width:0; border-top:2px solid #1f2b3f; }
.privacy-lead { padding:30px 0 32px; border-bottom:1px solid #e5e9f0; }
.privacy-lead p { margin:0; color:#313b4d; font-size:17px; line-height:1.85; font-weight:600; }
.privacy-section { scroll-margin-top:28px; padding:36px 0 40px; border-bottom:1px solid #e5e9f0; }
.privacy-section h2 { display:flex; align-items:center; gap:11px; margin:0 0 21px; color:#172033; font-size:24px; line-height:1.35; font-weight:700; letter-spacing:-.5px; }
.privacy-section h2 i { color:#2f6feb; font-size:26px; }
.privacy-section h3 { margin:30px 0 12px; color:#2a3344; font-size:16px; line-height:1.5; font-weight:700; }
.privacy-section p { margin:0 0 16px; color:#4f5d71; font-size:15px; line-height:1.85; }
.privacy-section ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.privacy-section li { position:relative; padding-left:16px; color:#4f5d71; font-size:15px; line-height:1.75; }
.privacy-section li::before { content:""; position:absolute; left:0; top:.78em; width:5px; height:5px; border-radius:50%; background:#2f6feb; }
.privacy-note { display:inline-block; max-width:100%; padding:12px 15px; border-radius:6px; background:#f2f6ff; color:#245dc8!important; font-weight:700; }

.privacy-table { overflow-x:auto; border:1px solid #e1e7f0; border-radius:8px; background:#fff; }
.privacy-table table { width:100%; min-width:680px; border-collapse:collapse; font-size:14px; }
.privacy-table th { padding:14px 16px; border-bottom:1px solid #dfe5ef; background:#f7f9fc; color:#263247; font-weight:700; text-align:left; white-space:nowrap; }
.privacy-table td { padding:15px 16px; border-bottom:1px solid #edf0f4; color:#566276; line-height:1.65; vertical-align:top; }
.privacy-table tbody tr:last-child td { border-bottom:0; }

.privacy-protection { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.privacy-protection > div { min-width:0; padding:20px; border:1px solid #e2e8f2; border-radius:8px; background:#fbfcff; }
.privacy-protection strong { display:flex; align-items:center; gap:9px; color:#22304a; font-size:16px; line-height:1.5; font-weight:700; }
.privacy-protection strong i { color:#2f6feb; font-size:21px; }
.privacy-protection p { margin:9px 0 0; color:#657286; font-size:14px; line-height:1.7; }

.privacy-contact { display:grid; border-top:1px solid #e1e7f0; }
.privacy-contact dl { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; min-height:56px; margin:0; border-bottom:1px solid #e1e7f0; }
.privacy-contact dt { padding:0 16px; color:#6a7588; font-size:14px; font-weight:700; }
.privacy-contact dd { margin:0; padding:0 16px; color:#263247; font-size:15px; font-weight:700; }
.privacy-contact a { color:#2f6feb!important; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:900px) {
  .privacy-hero-inner { grid-template-columns:1fr; gap:24px; padding:38px 0 32px; }
  .privacy-hero h1 { font-size:34px; }
  .privacy-hero p { font-size:15px; }
  .privacy-layout { grid-template-columns:1fr; gap:22px; padding:34px 0 56px; }
  .privacy-toc { position:static; padding:18px 0; }
  .privacy-toc nav { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
  .privacy-section h2 { font-size:21px; }
}

@media (max-width:640px) {
  .privacy-hero-inner { padding:32px 0 26px; }
  .privacy-hero h1 { font-size:29px; }
  .privacy-hero dl div { grid-template-columns:82px minmax(0,1fr); padding:0 14px; }
  .privacy-toc nav { grid-template-columns:1fr; }
  .privacy-lead { padding:24px 0 26px; }
  .privacy-lead p { font-size:15px; }
  .privacy-section { padding:30px 0 34px; }
  .privacy-section h2 { align-items:flex-start; font-size:19px; }
  .privacy-protection { grid-template-columns:1fr; }
  .privacy-contact dl { grid-template-columns:1fr; gap:5px; padding:13px 0; }
}

/* 이용약관 - 개인/기업 탭 */
.privacy-toc nav a.is-active { color:#2163d8; font-weight:700; }
.terms-panel { display:none; }
.terms-panel.is-active { display:block; }
.terms-body { margin:0; padding:22px 24px; border:1px solid #e5e9f0; border-radius:8px; background:#fbfcfe; color:#3d4759; font-family:inherit; font-size:14px; line-height:1.85; white-space:pre-wrap; word-break:break-word; }
.terms-empty { padding:36px 20px; color:#8a93a4; font-size:14px; text-align:center; }
