:root { color-scheme: light; --ink:#17243b; --muted:#56647a; --blue:#315fce; --line:#dce3ef; --panel:#f4f7fc; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif; line-height:1.75; }
a { color:var(--blue); text-underline-offset:3px; }
a:focus-visible { outline:3px solid #f3b51b; outline-offset:3px; }
.skip-link { position:absolute; left:-9999px; top:0; padding:8px 12px; background:#fff; z-index:2; }
.skip-link:focus { left:12px; }
.site-header { border-bottom:1px solid var(--line); }
.site-header-inner, main, footer { width:min(100% - 36px, 820px); margin:0 auto; }
.site-header-inner { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { color:var(--ink); font-weight:800; text-decoration:none; }
.home-link { font-size:14px; }
main { padding:40px 0 64px; }
.eyebrow { margin:0 0 8px; color:var(--blue); font-size:14px; font-weight:700; }
h1 { margin:0 0 16px; font-size:clamp(30px,6vw,44px); line-height:1.3; letter-spacing:-.04em; }
h2 { margin:40px 0 12px; font-size:clamp(22px,4vw,28px); line-height:1.4; letter-spacing:-.025em; }
h3 { margin:22px 0 8px; font-size:18px; line-height:1.5; }
p, li { color:var(--muted); }
.lead { color:var(--ink); font-size:18px; line-height:1.8; }
.notice { margin:24px 0; padding:18px 20px; border-left:4px solid var(--blue); border-radius:8px; background:var(--panel); }
.notice p { margin:0; }
.steps { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:0; list-style:none; counter-reset:step; }
.steps li { min-width:0; padding:18px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.steps li::before { counter-increment:step; content:counter(step,decimal-leading-zero); display:block; margin-bottom:6px; color:var(--blue); font-weight:800; }
.steps strong { color:var(--ink); }
.source-list { padding-left:20px; }
.source-list li { overflow-wrap:anywhere; }
.cta { margin:36px 0 0; padding:22px; border-radius:12px; background:var(--panel); }
.cta p { margin:0 0 12px; }
.cta a { font-weight:800; }
footer { padding:20px 0 32px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
@media (max-width:600px) {
  .site-header-inner, main, footer { width:min(100% - 28px, 820px); }
  main { padding-top:30px; }
  .steps { grid-template-columns:1fr; gap:10px; }
  .lead { font-size:17px; }
}
