:root{
  --bg:#141519; --panel:#1B1C21; --card:#212228; --card2:#26272E;
  --ink:rgba(245,244,239,.92); --ink-strong:#F5F4EF; --ink2:rgba(245,244,239,.68); --ink3:rgba(245,244,239,.55); --ink4:rgba(245,244,239,.45);
  --line:rgba(255,255,255,.10); --line3:rgba(255,255,255,.07);
  --blue:#9FB2EC; --blue-h:#B3C2F1; --blue-bg:rgba(159,178,236,.15); --btn-fg:#14151A;
  --green-t:#4ADE80; --green-bg:rgba(74,222,128,.13); --amber-t:#FFC96B; --amber-bg:rgba(255,184,77,.16);
  --sh2:0 8px 28px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0; background:var(--bg); color:var(--ink); font-family:'Pretendard Variable',Pretendard,-apple-system,system-ui,sans-serif; font-size:16px; line-height:1.6; letter-spacing:.006em; word-break:keep-all; -webkit-font-smoothing:antialiased}
a{color:inherit; text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:6px}
.wrap{max-width:960px; margin:0 auto; padding:0 24px}
.narrow{max-width:720px}
header{padding:22px 0}
header .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px}
.logo{font-family:'Wanted Sans Variable','Wanted Sans',sans-serif; font-size:21px; font-weight:800; letter-spacing:-.04em; color:var(--blue)}
nav{display:flex; gap:22px; font-size:14.5px; font-weight:500; color:var(--ink2)}
nav a:hover{color:var(--ink)}
main{padding:56px 0 96px}
h1{margin:0 0 14px; font-family:'Wanted Sans Variable','Wanted Sans','Pretendard Variable',sans-serif; font-weight:800; letter-spacing:-.035em; line-height:1.25; color:var(--ink-strong); font-size:clamp(28px,4.5vw,40px)}
h2{margin:44px 0 12px; font-size:20px; font-weight:700; letter-spacing:-.02em; color:var(--ink-strong)}
h3{margin:24px 0 8px; font-size:16px; font-weight:700; color:var(--ink-strong)}
p{margin:0 0 12px}
.lead{font-size:17px; color:var(--ink2); max-width:600px; margin-bottom:32px}
.muted{color:var(--ink3); font-size:14px}
.tag{display:inline-block; font-size:13px; font-weight:600; color:var(--blue); background:var(--blue-bg); border-radius:999px; padding:6px 12px; margin-bottom:20px}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--blue); color:var(--btn-fg); font-weight:700; font-size:15px; border-radius:12px; padding:12px 20px; transition:background .15s; border:0; cursor:pointer; font-family:inherit}
.btn:hover{background:var(--blue-h)}
.btn.ghost{background:var(--card2); color:var(--ink)}
.card{background:var(--card); border-radius:20px; padding:24px 26px; box-shadow:var(--sh2)}
.card + .card{margin-top:12px}
.card b{display:block; font-size:15.5px; color:var(--ink-strong); margin-bottom:6px}
.card p{margin:0; font-size:14.5px; color:var(--ink3)}
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px}
.plan{background:var(--card); border-radius:20px; padding:26px 24px; box-shadow:var(--sh2); display:flex; flex-direction:column; position:relative}
.plan.hot{background:linear-gradient(var(--blue-bg),var(--blue-bg)),var(--card)}
.plan .badge{position:absolute; top:18px; right:18px; font-size:11.5px; font-weight:700; color:var(--blue); background:var(--blue-bg); border-radius:999px; padding:4px 9px}
.plan.hot .badge{background:var(--blue); color:var(--btn-fg)}
.plan .name{font-size:14px; font-weight:600; color:var(--ink3)}
.plan .price{margin:8px 0 2px; font-size:30px; font-weight:800; letter-spacing:-.03em; color:var(--ink-strong); font-variant-numeric:tabular-nums}
.plan .price small{font-size:14px; font-weight:500; color:var(--ink3); letter-spacing:0; margin-left:2px}
.plan .yr{font-size:12.5px; color:var(--ink4); min-height:18px}
.plan .credits{margin:16px 0 4px; font-size:15px; font-weight:700; color:var(--ink-strong)}
.plan ul{list-style:none; padding:0; margin:8px 0 22px; font-size:14px; color:var(--ink2); display:flex; flex-direction:column; gap:7px; flex:1}
.plan li::before{content:'✓'; color:var(--green-t); margin-right:8px; font-weight:700}
.plan li.no{color:var(--ink4)} .plan li.no::before{content:'—'; color:var(--ink4)}
.note{background:var(--card2); border-radius:14px; padding:16px 18px; font-size:13.5px; color:var(--ink2); margin-top:16px}
.note b{color:var(--ink-strong)}
table{border-collapse:separate; border-spacing:0; width:100%; font-size:14px; margin:12px 0 20px; background:var(--card); border-radius:14px; overflow:hidden}
th,td{padding:11px 14px; text-align:left; vertical-align:top}
th{background:var(--card2); font-weight:700; color:var(--ink2); font-size:13px}
td{border-top:1px solid var(--line3)}
.legal h2{font-size:17px; margin-top:36px}
.legal p, .legal li{font-size:14.5px; color:var(--ink2)}
.legal ol, .legal ul{padding-left:22px; margin:0 0 12px}
.legal li{margin:4px 0}
.legal .eff{font-size:13px; color:var(--ink4); margin-bottom:28px}
footer{border-top:1px solid var(--line); padding:28px 0 44px; font-size:12.5px; line-height:1.9; color:var(--ink3)}
footer .biz span{display:inline-block; margin-right:14px}
footer .links{margin-bottom:8px; display:flex; gap:16px; flex-wrap:wrap}
footer .links a{color:var(--ink2); font-weight:500}
@media (max-width:760px){ .plans{grid-template-columns:1fr} nav{gap:14px; font-size:13.5px} main{padding-top:36px} }
@media (prefers-reduced-motion:reduce){ .btn{transition:none} }
