:root {
  --navy: #071a2b;
  --ink: #102a3d;
  --teal: #15998e;
  --mint: #d8f4ef;
  --paper: #f7f4ed;
  --muted: #607483;
  --border: rgba(16, 42, 61, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; line-height: 1.75; word-break: keep-all; }
a { color: inherit; }
.legal-shell { width: min(calc(100% - 40px), 900px); margin-inline: auto; }
.legal-header { color: #fff; background: var(--navy); }
.legal-header .legal-shell { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.legal-brand { font-size: 13px; font-weight: 900; letter-spacing: 0.13em; text-decoration: none; }
.back-link { color: rgba(255,255,255,.7); font-size: 12px; text-underline-offset: 4px; }
.legal-main { padding: 90px 0 110px; }
.legal-kicker { margin: 0 0 14px; color: var(--teal); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(38px, 6vw, 64px); line-height: 1.15; letter-spacing: -.055em; }
.effective { margin: 15px 0 0; color: var(--muted); font-size: 13px; }
.policy-summary { margin: 48px 0 58px; padding: 28px 30px; border-left: 4px solid var(--teal); background: var(--mint); font-size: 17px; }
section { padding: 34px 0; border-top: 1px solid var(--border); }
section h2 { margin: 0 0 16px; font-size: 21px; letter-spacing: -.03em; }
section p { margin: 0 0 13px; color: #435e70; font-size: 14px; }
section ol { margin: 0; padding-left: 22px; color: #435e70; font-size: 14px; }
section li + li { margin-top: 9px; }
.table-wrap { margin: 18px 0; overflow-x: auto; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 13px; }
th, td { padding: 15px 17px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
th { color: var(--ink); background: #eef5f4; }
tr:last-child td { border-bottom: 0; }
.contact-box, .notice-box { margin-top: 18px; padding: 23px 25px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.contact-box p { margin: 4px 0; }
.contact-box strong { display: inline-block; min-width: 90px; color: var(--ink); }
.notice-box strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 14px; }
.notice-box p + strong { margin-top: 18px; }
.legal-footer { padding: 26px 0; color: rgba(255,255,255,.55); background: var(--navy); font-size: 11px; }
:focus-visible { outline: 3px solid #f9b949; outline-offset: 4px; }
@media (max-width: 620px) { .legal-main { padding: 66px 0 80px; } .policy-summary { margin: 36px 0 44px; padding: 22px; font-size: 15px; } section { padding: 28px 0; } .contact-box strong { display: block; } }
