
:root{--bg:#fbf7f0;--ink:#2a2118;--muted:#76685a;--line:#e6dccd;--card:#fffdf8;--accent:#c4501d;--accent-ink:#fff;--soft:#f3e7d4}
@media (prefers-color-scheme:dark){:root{--bg:#1b1612;--ink:#f2e9dc;--muted:#a99a88;--line:#3a2f26;--card:#241d17;--accent:#ee8c57;--accent-ink:#1b1612;--soft:#322821}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 "Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header.site{border-bottom:2px solid var(--ink)}header.site .wrap{display:flex;align-items:baseline;gap:28px;padding:18px 16px;flex-wrap:wrap}
.brand{font:800 26px/1 Georgia,"Noto Serif KR",serif;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
nav a{color:var(--ink);font-weight:600;text-decoration:none;margin-right:18px}nav a:hover{color:var(--accent)}
h1{font:800 clamp(28px,5vw,46px)/1.15 Georgia,"Noto Serif KR",serif;letter-spacing:-.02em;margin:36px 0 12px}
h2{font:700 22px/1.3 Georgia,"Noto Serif KR",serif;margin:36px 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.lead{font-size:18px;color:var(--muted);max-width:60ch}.crumbs{font-size:14px;color:var(--muted);margin-top:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;padding:0;list-style:none}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.card:hover{border-color:var(--accent);transform:translateY(-2px);transition:transform .15s,border-color .15s}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--soft)}.card .body{padding:12px 14px}
.card a.title{color:var(--ink);font-weight:700;text-decoration:none}.meta{font-size:14px;color:var(--muted)}
.tag{display:inline-block;background:var(--soft);border-radius:3px;padding:1px 8px;font-size:13px;margin-right:6px}
.chips a{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:4px 14px;margin:0 8px 8px 0;text-decoration:none;color:var(--ink);background:var(--card)}
.chips a:hover{border-color:var(--accent);color:var(--accent)}
dl.facts{display:grid;grid-template-columns:110px 1fr;gap:8px 16px;background:var(--card);border:1px solid var(--line);padding:16px;border-radius:6px}
dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.hero-img{width:100%;max-height:460px;object-fit:cover;border-radius:6px;background:var(--soft)}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:10px 18px;border-radius:4px;font-weight:700;text-decoration:none}
.notice{background:var(--soft);border-left:4px solid var(--accent);padding:12px 16px;margin:24px 0;font-size:15px}
.affiliate{border:1px dashed var(--accent);padding:14px 16px;margin:24px 0;border-radius:6px}.affiliate small{color:var(--muted);display:block;margin-top:6px}
.adbox{margin:24px 0;min-height:90px;text-align:center}
footer{margin-top:64px;border-top:2px solid var(--ink);padding:24px 0 48px;color:var(--muted);font-size:14px}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.portal{background:var(--ink);color:var(--bg)}.portal .wrap{display:flex;align-items:stretch;gap:4px;overflow-x:auto}
.portal .pbrand{font:800 15px/1 Georgia,"Noto Serif KR",serif;color:var(--bg);text-decoration:none;padding:13px 18px 13px 0;margin-right:8px;border-right:1px solid rgba(128,128,128,.4);white-space:nowrap}
.portal a.tab{color:var(--bg);opacity:.72;text-decoration:none;font-weight:600;font-size:14px;padding:13px 14px 11px;border-bottom:3px solid transparent;white-space:nowrap}
.portal a.tab:hover{opacity:1}.portal a.tab[aria-current=page]{opacity:1;border-bottom-color:var(--accent)}
.portal .psearch{margin-left:auto;display:flex;align-items:center}.portal .psearch input{background:transparent;border:1px solid rgba(128,128,128,.55);border-radius:14px;color:var(--bg);padding:3px 12px;width:110px;font:inherit;font-size:13px}.portal .psearch input:focus{width:170px;outline:2px solid var(--accent)}
.searchbox{display:flex;gap:8px;margin:16px 0}.searchbox input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink);font:inherit}
.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:0;list-style:none}
.project{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:6px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.project h3{font:800 24px/1.2 Georgia,"Noto Serif KR",serif;margin:0}.project p{margin:0}.project .stat{font-size:14px;color:var(--muted)}
.project .btn{align-self:flex-start;margin-top:8px}
.newslist{list-style:none;padding:0}.newslist li{padding:12px 0;border-bottom:1px solid var(--line)}.newslist a{color:var(--ink);font-weight:600;text-decoration:none}.newslist a:hover{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.card:hover{transform:none;transition:none}}
