:root {
  font-family: system-ui, -apple-system, "Noto Sans KR", sans-serif;
  color: #172428;
  background: #f5f8f7;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: #156b58; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #156b58; outline-offset: 3px; }
.wrap { max-width: 820px; margin: auto; padding: 0 22px; }
.top { border-bottom: 1px solid #dfe8e5; background: #fff; }
.top .wrap { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { font-size: 22px; font-weight: 800; letter-spacing: -.04em; color: #142c26; text-decoration: none; }
.nav { display: flex; gap: 18px; flex-wrap: wrap; }
.nav a { font-size: 14px; text-decoration: none; color: #3b5850; }
.nav a[aria-current="page"] { font-weight: 700; color: #156b58; }
.page { padding: 48px 0 80px; }
.page h1 { font-size: clamp(32px, 6vw, 40px); line-height: 1.2; letter-spacing: -.05em; margin: 0 0 20px; }
.lead { font-size: 18px; line-height: 1.7; color: #4b625c; max-width: 640px; }
.content { background: #fff; border: 1px solid #e0e9e6; border-radius: 18px; padding: 30px; margin-top: 28px; }
.content h2 { font-size: 21px; margin: 30px 0 10px; }
.content h2:first-child { margin-top: 0; }
.content p { line-height: 1.75; color: #3d524c; }
.notice { padding: 14px 18px; background: #ecf5f1; border-radius: 10px; color: #31584b; line-height: 1.6; }
.footer { border-top: 1px solid #dfe8e5; padding: 28px 0 44px; color: #657a72; font-size: 13px; }
.footer .wrap { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.footer a { color: #516c62; }

@media (max-width: 650px) {
  .top .wrap { padding-top: 16px; padding-bottom: 16px; align-items: flex-start; flex-direction: column; }
  .content { padding: 22px; }
}
