/* 템플릿 «basic» 머리·바닥·첫 화면 */
.hd { border-bottom:1px solid var(--c-line); background:#fff; position:sticky; top:0; z-index:8; }
.hd-in { display:flex; align-items:center; justify-content:space-between; min-height:70px; }
.logo { font-size:22px; font-weight:700; text-decoration:none; color:var(--c-main); } .logo img { max-height:50px; display:block; }
.gnb > ul { list-style:none; margin:0; padding:0; display:flex; }
.gnb > ul > li { position:relative; }
.gnb > ul > li > a { display:block; padding:24px 18px; text-decoration:none; font-weight:600; }
.gnb ul ul { display:none; position:absolute; left:0; top:100%; min-width:170px; list-style:none; margin:0; padding:6px 0; background:#fff; border:1px solid var(--c-line); box-shadow:0 6px 16px rgba(0,0,0,.08); }
.gnb li:hover > ul, .gnb li:focus-within > ul { display:block; }
.gnb ul ul a { display:block; padding:8px 16px; text-decoration:none; }
.gnb ul ul a:hover { background:var(--c-bg); }
.nav-t, .nav-b { display:none; }
.hero { padding:56px 24px; margin:-24px -16px 32px; background:linear-gradient(135deg,#1f4e8c,#3b78c3); color:#fff; text-align:center; }
.hero h1 { margin:0; font-size:32px; } .hero p { margin:10px 0 0; opacity:.9; }
.latest { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; }
.box h2 { font-size:18px; margin:0 0 10px; padding-bottom:8px; border-bottom:2px solid var(--c-main); } .box h2 a { text-decoration:none; }
.ln { list-style:none; margin:0; padding:0; } .ln li { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px dashed var(--c-line); }
.ln li a { text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .ln li span { color:var(--c-sub); font-size:13px; flex:none; }
.thumbs { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; } .thumbs a { text-decoration:none; font-size:13px; }
.thumbs img, .thumbs .noimg { width:100%; aspect-ratio:1; object-fit:cover; display:block; background:var(--c-bg); border-radius:4px; }
.thumbs span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ft { background:#2b3340; color:#c9d0da; padding:28px 0; font-size:14px; } .ft p { margin:4px 0; } .ft a, .ft .lnk { color:#fff; margin-right:12px; }
.ft .copy { margin-top:12px; color:#8b95a3; }
@media (max-width:900px) {
  .nav-b { display:block; padding:8px 12px; border:1px solid var(--c-line); border-radius:6px; cursor:pointer; }
  .gnb { display:none; position:absolute; left:0; right:0; top:70px; background:#fff; border-bottom:1px solid var(--c-line); }
  .nav-t:checked ~ .gnb { display:block; }
  .gnb > ul { flex-direction:column; } .gnb > ul > li > a { padding:12px 16px; }
  .gnb ul ul { display:block; position:static; border:0; box-shadow:none; padding:0 0 6px 16px; }
}
