:root { --ink:#24223a; --muted:#6f7089; --violet:#7159ef; font-family:Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f8f7ff; }
main { position:relative; min-height:100vh; overflow:hidden; padding:42px 20px 64px; }
.glow { position:absolute; width:420px; height:420px; border-radius:50%; pointer-events:none; }
.glow-left { top:-220px; left:-180px; background:rgba(255,205,197,.38); }
.glow-right { top:40px; right:-230px; background:rgba(174,157,255,.28); }
.shell { position:relative; width:min(880px,100%); margin:auto; }
.brand { display:flex; align-items:center; gap:10px; font-size:16px; font-weight:800; }
.logo { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#9a7cff,#6556e9); box-shadow:0 8px 18px rgba(112,92,244,.23); }
.hero { max-width:680px; padding:78px 0 42px; }
.eyebrow { margin:0 0 10px; color:var(--violet); font-size:11px; font-weight:800; letter-spacing:.13em; }
.hero h1 { margin:0; font-size:clamp(36px,7vw,58px); line-height:1.12; letter-spacing:-.055em; }
.hero>p:last-child { margin:20px 0 0; color:var(--muted); font-size:17px; line-height:1.75; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.card,.card-wide { border:1px solid rgba(104,94,170,.13); border-radius:24px; background:rgba(255,255,255,.8); box-shadow:0 14px 36px rgba(72,66,126,.06); }
.card { padding:28px; }
.primary { background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(239,235,255,.92)); }
.tag { display:inline-block; padding:7px 10px; border-radius:999px; color:var(--violet); background:rgba(113,89,239,.1); font-size:11px; font-weight:800; }
h2 { margin:17px 0 13px; font-size:21px; letter-spacing:-.035em; }
p,li { color:var(--muted); font-size:14px; line-height:1.75; }
ol,ul { margin:0; padding-left:21px; } li+li { margin-top:8px; } strong { color:var(--ink); }
.note { margin:18px 0 0; padding-top:15px; border-top:1px solid rgba(104,94,170,.12); font-size:12px; }
.button { margin-top:22px; min-height:50px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; border-radius:15px; color:#fff; background:linear-gradient(110deg,#7b61f3,#625ae5); text-decoration:none; font-size:14px; font-weight:800; box-shadow:0 10px 22px rgba(112,92,244,.22); }
.button:focus-visible { outline:3px solid rgba(113,89,239,.25); outline-offset:3px; }
.email { margin:12px 0 0; text-align:center; font-size:12px; }
.card-wide { margin-top:16px; padding:28px; }
.data { display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; }
.data h2,.retention h2 { margin-top:0; }
.data ul { columns:2; column-gap:28px; }
.data li { break-inside:avoid; margin-bottom:9px; }
.retention { background:rgba(248,247,255,.72); box-shadow:none; }
.retention-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.retention-grid>div { padding:18px; border-radius:16px; background:rgba(255,255,255,.74); border:1px solid rgba(104,94,170,.1); }
.retention-grid strong { display:block; margin-bottom:7px; font-size:14px; }
.retention-grid p { margin:0; }
footer { padding:28px 4px 0; display:flex; justify-content:space-between; color:var(--muted); font-size:12px; }
footer a { color:var(--violet); text-decoration:none; }
.brand-home { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }
.policy-brand { justify-content:space-between; }
.header-link { color:var(--violet); font-size:12px; text-decoration:none; }
.policy-hero { padding-bottom:34px; }
.effective-date { display:inline-block; margin-top:18px; padding:7px 10px; border-radius:999px; color:var(--muted); background:rgba(255,255,255,.72); border:1px solid rgba(104,94,170,.12); font-size:11px; }
.policy-list { display:grid; gap:12px; }
.policy-item { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:26px 28px; border:1px solid rgba(104,94,170,.13); border-radius:22px; background:rgba(255,255,255,.8); box-shadow:0 12px 30px rgba(72,66,126,.05); }
.policy-number { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; color:var(--violet); background:rgba(113,89,239,.09); font-size:11px; font-weight:800; }
.policy-item h2 { margin:4px 0 9px; }
.policy-item p { margin:0; }
.inline-link { display:inline-block; margin-top:12px; color:var(--violet); font-size:13px; font-weight:700; text-decoration:none; }
@media(max-width:680px){main{padding:24px 16px 44px}.hero{padding:58px 0 32px}.hero>p:last-child{font-size:15px}.grid,.data,.retention-grid{grid-template-columns:1fr}.card,.card-wide{padding:22px;border-radius:20px}.data{gap:8px}.data ul{columns:1}footer{flex-direction:column;gap:8px}}
@media(max-width:680px){.policy-item{grid-template-columns:1fr;gap:10px;padding:22px}.policy-hero{padding-bottom:26px}.header-link{max-width:92px;text-align:right}}
