:root{
  --blue:#3182F6; --blue-dark:#1B64DA; --blue-pale:#EAF2FF;
  --ink:#0B1220; --ink-soft:#4B5768; --ink-faint:#8A93A3;
  --bg-soft:#F5F7FB; --line:#E6E9F2;
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Pretendard Variable','Pretendard',-apple-system,sans-serif;
  color:var(--ink); background:#fff; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none}
.wrap{max-width:800px; margin:0 auto; padding:0 24px; width:100%}
.legal-subnav{
  display:flex; flex-wrap:wrap; gap:8px 14px; font-size:12.5px; font-weight:700;
  color:var(--ink-soft); margin-bottom:24px;
}
.legal-subnav a{padding:6px 10px; border-radius:8px; border:1px solid transparent}
.legal-subnav a:hover{color:var(--blue); border-color:var(--line); background:var(--bg-soft)}
.legal-subnav a.is-active{color:var(--blue); background:var(--blue-pale); border-color:rgba(49,130,246,.2)}
main{padding:40px 0 72px}
.legal-head{margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid var(--line)}
.legal-head h1{font-size:clamp(1.6rem,4vw,2rem); font-weight:900; letter-spacing:-.03em; margin-bottom:10px}
.legal-meta{font-size:13px; color:var(--ink-faint); font-weight:600}
.legal-meta span + span::before{content:' · '}
.legal-intro{
  font-size:14.5px; color:var(--ink-soft); background:var(--bg-soft);
  border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:28px;
}
.legal-body h2{
  font-size:16px; font-weight:900; margin:28px 0 10px; padding-top:4px;
  letter-spacing:-.02em;
}
.legal-body h2:first-child{margin-top:0}
.legal-body p,.legal-body li{font-size:14px; color:var(--ink-soft); line-height:1.7}
.legal-body p + p{margin-top:10px}
.legal-body ol,.legal-body ul{margin:8px 0 0 18px}
.legal-body li + li{margin-top:6px}
.legal-body table{
  width:100%; border-collapse:collapse; margin-top:10px; font-size:13px;
}
.legal-body th,.legal-body td{
  border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;
}
.legal-body th{background:var(--bg-soft); font-weight:800; color:var(--ink); width:34%}
.legal-back{
  display:inline-flex; align-items:center; gap:6px; margin-top:36px;
  font-size:13px; font-weight:800; color:var(--blue);
}
.legal-back:hover{text-decoration:underline}
footer{
  border-top:1px solid var(--line); background:var(--bg-soft);
  padding:24px 0 32px; font-size:12px; color:var(--ink-faint); text-align:center;
}
.legal-foot-inner p + p{margin-top:6px}
.legal-foot-inner a{color:var(--blue); font-weight:700}
@media(max-width:640px){
  .legal-subnav{width:100%}
}
