:root{--bg:#f4f1ea;--card:#fffdf8;--ink:#1d1b16;--muted:#6b665c;--line:#e3ddd0;--accent:#0f766e}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans KR',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7}
a{color:var(--accent)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:14px}
.brand{font-weight:900;font-size:18px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
nav a{margin-left:16px;font-size:14px;color:var(--muted);text-decoration:none}
nav a:hover{color:var(--accent)}
.hero{padding-block:44px 20px}
.hero h1{font-size:30px;font-weight:900;letter-spacing:-.02em;line-height:1.3}
.hero p{color:var(--muted);margin-top:10px;max-width:60ch}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;padding-block:20px 40px}
.card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink);min-width:0}
.card:hover{border-color:var(--accent)}
.card .tag{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent)}
.card h2{font-size:18px;font-weight:700}
.card p{font-size:14px;color:var(--muted)}
.card .go{margin-top:auto;font-size:13px;font-weight:700;color:var(--accent)}
main.page{padding-block:36px 56px;max-width:720px}
main.page h1{font-size:26px;font-weight:900;margin-bottom:16px}
main.page h2{font-size:17px;margin:24px 0 6px}
main.page p{color:#3b3830;margin-bottom:10px}
footer.site{border-top:1px solid var(--line);padding-block:22px;color:var(--muted);font-size:13px}
footer.site a{color:var(--muted);margin-right:14px}