: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)}
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin:28px 0}.pager a,.pager .cur,.pager .gap{min-width:36px;padding:7px 10px;text-align:center;border:1px solid var(--line,#ddd);border-radius:6px;text-decoration:none;color:inherit;font-size:.92rem}.pager .cur{background:var(--accent);color:#fff;border-color:var(--accent)}.pager .gap{border:0}.pager a:hover{border-color:var(--accent);color:var(--accent)}
.inq{display:grid;gap:14px;max-width:560px;margin:0 0 50px}
.inq label{display:grid;gap:6px;font-size:.92rem;font-weight:600}
.inq input,.inq textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.inq input:focus,.inq textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.inq .agree{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:.85rem;color:var(--sub)}
.inq .agree input{margin-top:5px}
.inq button{font:inherit;font-weight:700;padding:12px;border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}
.inq button:disabled{opacity:.6;cursor:default}
.inq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inq-msg{margin:0;font-size:.92rem}.inq-msg.ok{color:#1a7f37}.inq-msg.err{color:#c0392b}
footer a{color:inherit}
.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}}
:root{--accent:#2f5d50;--soft:#e7efe9;--bg:#fafaf9;--r:18px}
body{font-family:"Nanum Gothic","NanumGothic","Malgun Gothic",system-ui,sans-serif}
.wrap{max-width:980px}
article.post,.card,ul.tiles a,.pager a,.pager .cur{border-radius:var(--r)}
.card .noimg{background:var(--soft)}
h1,h2,.brand,.card .t{font-family:"Noto Sans KR","Malgun Gothic",system-ui,sans-serif}
header.top .wrap{flex-direction:column;justify-content:center;text-align:center;gap:8px}nav.cats{justify-content:center}
.grid{grid-template-columns:1fr;gap:12px}.card{display:flex;align-items:stretch}.card img,.card .noimg{width:150px;min-height:100px;aspect-ratio:auto;flex:none;object-fit:cover}.card .b{flex:1}@media(max-width:560px){.card img,.card .noimg{width:110px}}
.hero,.intro{text-align:center}.intro p{margin-left:auto;margin-right:auto}