:root {
  --primary: #0f3d64; --primary-light: #1b5f9c; --accent: #0284c7;
  --bg: #f8fafc; --text: #1e293b; --body: #334155; --muted: #64748b;
  --border: #e2e8f0; --card: #ffffff;
  --shadow: 0 4px 14px rgba(15, 61, 100, 0.08);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", sans-serif; line-height: 1.85; color: var(--body); background-color: var(--bg); }
header { background: #ffffff; border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100; }
.nav-container { max-width: 1140px; margin: 0 auto; padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.35rem; font-weight: 800; color: var(--primary); text-decoration: none; }
.logo span { color: var(--accent); }
nav a { margin-left: 1.5rem; text-decoration: none; color: var(--text); font-weight: 500; font-size: 0.95rem; }
nav a:hover { color: var(--primary-light); }

.article-wrapper { max-width: 920px; margin: 2.5rem auto 5rem; padding: 0 1.5rem; }
.article-card { background: var(--card); border-radius: 16px; box-shadow: var(--shadow); border: 1px solid var(--border); padding: 2.8rem; }
.article-card h1 { font-size: 2.05rem; font-weight: 800; color: var(--primary); margin-bottom: 1.2rem; line-height: 1.38; }
.article-card h2 { font-size: 1.48rem; font-weight: 800; color: var(--primary); margin: 2.4rem 0 1rem; border-bottom: 2px solid var(--border); padding-bottom: 0.5rem; }
.article-card h3 { font-size: 1.22rem; font-weight: 700; color: var(--primary-light); margin: 1.8rem 0 0.8rem; }
.article-card p { font-size: 1.04rem; margin-bottom: 1.25rem; line-height: 1.9; }
.article-card ul, .article-card ol { padding-left: 1.6rem; margin-bottom: 1.5rem; line-height: 1.95; font-size: 1.02rem; }

figure.med-fig {
  width: 100%; max-width: 800px; margin: 2.8rem auto; padding: 1.5rem; background: #f8fafc;
  border-radius: 14px; border: 1px solid #cbd5e1; text-align: center; display: block; clear: both;
  box-shadow: 0 4px 16px rgba(15, 61, 100, 0.06);
}
figure.med-fig img {
  width: 100%; max-width: 740px; height: auto; border-radius: 10px; display: block; margin: 0 auto; border: 1px solid #e2e8f0;
}
figure.med-fig figcaption {
  display: block; width: 100%; margin-top: 1.1rem; padding-top: 0.9rem; border-top: 1px dashed #cbd5e1;
  font-size: 1.05rem; font-weight: 700; color: var(--primary); line-height: 1.55; text-align: center;
}

table { width: 100%; border-collapse: collapse; margin: 2.2rem 0; font-size: 0.96rem; border: 1px solid var(--border); table-layout: auto; }
th, td { padding: 1rem 1.2rem; border: 1px solid var(--border); vertical-align: middle; line-height: 1.65; }
th { background: var(--primary); color: #fff; font-weight: 700; text-align: left; }
tr:first-child td { background: #0f3d64; color: #ffffff; font-weight: 700; }
tr:first-child td p { color: #ffffff; margin: 0; font-weight: 700; }
td p { margin-bottom: 0.4rem; }
td p:last-child { margin-bottom: 0; }
tr:nth-child(even) td { background: #f8fafc; }

footer { background: #0b1f33; color: #94a3b8; padding: 3rem 1.5rem 2rem; font-size: 0.88rem; margin-top: 5rem; }
.footer-container { max-width: 1140px; margin: 0 auto; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1.5rem; }
.footer-links a { color: #cbd5e1; text-decoration: none; }