:root { --ink:#1b1a16; --sub:#4a4a52; --line:#dcdad3; --soft:#f6f5f1; --accent:#7d2b22; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink);
  font:16px/1.7 Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  font-variant-numeric:tabular-nums; word-break:keep-all; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { max-width:780px; margin:0 auto; padding:0 24px; }
header { border-bottom:1px solid var(--line); }
header .wrap { max-width:980px; display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { font-weight:800; font-size:19px; text-decoration:none; }
.logo span { color:var(--accent); }
.nav-cta { font-size:15px; font-weight:600; text-decoration:none; border:1px solid var(--ink); border-radius:8px; padding:8px 14px; }
.nav-cta:hover { background:var(--ink); color:#fff; }
.navr { display:flex; align-items:center; gap:18px; }
.navlink { font-size:15px; font-weight:600; text-decoration:none; color:var(--sub); }
.navlink:hover { color:var(--accent); }
.crumb { font-size:14px; color:var(--sub); padding:26px 0 0; }
.crumb a { text-decoration:none; }
.crumb a:hover { color:var(--accent); }
h1 { font-size:clamp(30px,4.6vw,42px); line-height:1.28; font-weight:800; margin:18px 0 20px; }
.lead { font-size:18px; color:var(--sub); margin:0 0 40px; }
h2 { font-size:26px; line-height:1.35; font-weight:800; margin:56px 0 14px; padding-top:14px; border-top:1px solid var(--line); }
h3 { font-size:19px; font-weight:700; margin:30px 0 8px; }
p { margin:0 0 16px; }
ul, ol { padding-left:22px; margin:0 0 18px; }
li { margin:0 0 9px; }
.note { background:var(--soft); border-left:3px solid var(--accent); padding:16px 18px; margin:0 0 20px; font-size:15px; }
.note p:last-child { margin:0; }
.qa { border-top:1px solid var(--line); padding:20px 0 4px; }
.qa h3 { margin:0 0 8px; font-size:17px; }
.qa p { color:var(--sub); }
.cta { background:var(--soft); border:1px solid var(--line); border-radius:10px; padding:28px; margin:56px 0 0; text-align:center; }
.cta p { color:var(--sub); }
.btn { display:inline-block; background:var(--ink); color:#fff; text-decoration:none; font-weight:700;
  font-size:17px; border-radius:8px; padding:15px 26px; }
.btn:hover { background:#000; }
footer { border-top:1px solid var(--line); margin-top:72px; padding:26px 0 48px; color:var(--sub); font-size:14px; }
footer .wrap { max-width:980px; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; }
footer a { text-decoration:none; }
@media (max-width:620px) { h2 { font-size:22px; } .lead { font-size:17px; } }
