:root { --ink:#1d1e1b; --paper:#f5f2ec; --surface:#fffdf8; --line:#c8c8be; --plum:#6f3041; --muted:#62665f; font-family:Inter,"Pretendard","Noto Sans KR",system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-size:16px; line-height:1.6; }
a { color:inherit; }
a:focus-visible { outline:3px solid #1556a3; outline-offset:4px; }
.skip { position:fixed; top:-80px; left:12px; z-index:100; padding:12px; background:#fff; }
.skip:focus { top:12px; }
.notice { padding:9px 16px; background:#342128; color:#fff; text-align:center; font-size:12px; }
.shell { width:min(100% - 32px,1120px); margin-inline:auto; }
.top { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.top a { min-height:44px; display:inline-flex; align-items:center; font-size:13px; font-weight:900; text-underline-offset:5px; }
.brand { text-decoration:none; letter-spacing:.09em; }
.intro { padding:62px 0 42px; }
.intro>p:first-child { margin:0 0 16px; color:var(--plum); font-size:11px; font-weight:900; letter-spacing:.15em; }
.intro h1 { margin:0; font:500 clamp(44px,10vw,78px)/1 Georgia,serif; letter-spacing:-.055em; }
.intro>p:last-child { max-width:700px; margin:24px 0 0; color:var(--muted); }
.compare { display:grid; gap:16px; }
.plan { border:1px solid var(--line); background:var(--surface); }
.plan header { padding:28px 22px; border-bottom:1px solid var(--line); }
.plan header>p { margin:0; color:var(--plum); font-size:11px; font-weight:900; }
.plan h2 { margin:7px 0 18px; font:500 42px Georgia,serif; }
.price { display:flex; align-items:center; gap:14px; }
.price strong { font:600 34px Georgia,serif; }
.price span { color:var(--muted); font-size:12px; line-height:1.4; }
.plan small { display:block; margin-top:9px; }
.plan dl { margin:0; padding:0 22px; }
.plan dl div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.plan dt { color:var(--plum); font-size:12px; font-weight:900; }
.plan dd { margin:0; color:var(--muted); font-size:13px; }
.plan>a { min-height:52px; display:flex; align-items:center; justify-content:center; margin:22px; border:1px solid var(--ink); font-weight:900; text-decoration:none; }
.premium { background:var(--ink); color:#fff; }
.premium header,.premium dl div { border-color:#464944; }
.premium header>p,.premium dt { color:#f0b7c4; }
.premium .price span,.premium dd { color:#c4c8c0; }
.premium>a { border-color:#fff; background:#fff; color:var(--ink); }
.fine { margin:16px 0 60px; padding:20px; border-left:4px solid var(--plum); background:#fff8eb; color:#4f514c; font-size:13px; }
.cta-box { display:grid; gap:24px; margin-bottom:80px; padding:30px 22px; background:#cfd5ca; }
.cta-box p,.cta-box h2 { margin:0; }
.cta-box h2 { font:500 32px Georgia,serif; }
.cta-box>a { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; background:var(--ink); color:#fff; font-weight:900; text-decoration:none; }
@media (min-width:768px) {
  .compare { grid-template-columns:1fr 1fr; }
  .plan header { padding:38px; }
  .plan dl { padding-inline:38px; }
  .plan>a { margin:28px 38px 38px; }
  .cta-box { grid-template-columns:1fr auto; align-items:center; padding:42px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
