:root{--ink:#1f2328;--sub:#667085;--line:#e4e7ec;--bg:#fafaf9;--accent:#2f5d50}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.8}
a{color:inherit}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}
header.top{background:#fff;border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding-top:14px;padding-bottom:14px}
.brand{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--accent);white-space:nowrap}
nav.cats{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.93rem}
nav.cats a{text-decoration:none;color:var(--sub);white-space:nowrap}
nav.cats a:hover,nav.cats a.on{color:var(--accent);font-weight:700}
.intro{padding:64px 0 120px}
.intro h1{margin:0 0 12px;font-size:2rem;line-height:1.35}
.intro p{margin:0;color:var(--sub);font-size:1.05rem;max-width:620px}
ul.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 56px;padding:0;list-style:none}
ul.tiles a{display:block;padding:18px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:700;text-align:center}
ul.tiles a:hover{border-color:var(--accent);color:var(--accent)}
.hero{padding:44px 0 28px}
.hero h1{margin:0 0 8px;font-size:1.7rem;line-height:1.35}
.hero p{margin:0;color:var(--sub)}
h2.sec{margin:30px 0 14px;font-size:1.15rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:0 0 40px;padding:0;list-style:none}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none}
.card:hover{border-color:var(--accent)}
.card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef0ee}
.card .noimg{aspect-ratio:16/10;background:linear-gradient(135deg,#e7efe9,#f3f5f3)}
.card .b{padding:14px 16px 16px}
.card .t{font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .m{margin-top:6px;font-size:.82rem;color:var(--sub)}
article.post{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 26px;margin:28px 0}
article.post h1{font-size:1.5rem;line-height:1.45;margin:0 0 8px}
.plist{list-style:none;margin:0 0 40px;padding:0}
.plist li{border-bottom:1px solid var(--line);padding:11px 2px}
.plist a{text-decoration:none;font-weight:500}
.plist a:hover{color:var(--accent)}
.back{margin:0 0 8px}
.back a{color:var(--sub);text-decoration:none;font-size:.92rem}
.back a:hover{color:var(--accent)}
.meta{color:var(--sub);font-size:.88rem;margin-bottom:22px}
.meta a{color:var(--accent);text-decoration:none}
.body h2{font-size:1.25rem;margin:28px 0 10px}
.body h3{font-size:1.08rem;margin:22px 0 8px}
.body p{margin:0 0 12px;word-break:keep-all}
.body img{max-width:100%;height:auto}
.body a{color:var(--accent);word-break:break-all}
footer{border-top:1px solid var(--line);margin-top:40px;padding:22px 0 40px;color:var(--sub);font-size:.85rem;background:#fff}
@media(max-width:560px){.hero h1{font-size:1.4rem}article.post{padding:20px 16px;border-radius:0;border-left:0;border-right:0;margin:16px -20px}}