@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#171717;--muted:#6e6e68;--paper:#f3f1eb;--card:#fbfaf6;--line:#d8d5cc;--lime:#e9f35a;--coral:#ff785f;--blue:#a9d9ff;--shadow:0 16px 45px rgba(23,23,23,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk','Noto Sans KR',sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}::selection{background:var(--lime)}
.shell{max-width:1200px;margin:0 auto;padding:0 28px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.04em}.brand-mark{width:31px;height:31px;display:grid;place-items:center;background:var(--lime);border:1px solid var(--ink);border-radius:9px;font-size:18px;line-height:1}.brand-sub{font-size:11px;color:var(--muted);font-family:'DM Mono',monospace;letter-spacing:.01em}.nav{display:flex;gap:22px;color:var(--muted);font-size:14px}.nav a:hover,.nav a.active{color:var(--ink)}.menu-button{display:none;background:none;border:0;font-size:24px}
.hero{padding:86px 0 74px;display:grid;grid-template-columns:1.35fr .65fr;gap:54px;align-items:end}.eyebrow,.kicker{font:500 12px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,8vw,104px);line-height:.95;letter-spacing:-.075em;margin:14px 0 26px;max-width:790px}.hero-copy{font-size:19px;max-width:590px;color:#4e4e49}.search-box{background:var(--ink);color:#fff;padding:20px;border-radius:18px;box-shadow:var(--shadow)}.search-box label{display:block;font:500 12px 'DM Mono',monospace;color:#a7a7a0;margin-bottom:9px}.search-row{display:flex;gap:8px}.search-row input{width:100%;border:0;border-radius:10px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}.search-row button{border:0;border-radius:10px;background:var(--lime);padding:0 15px;font-weight:700}.search-note{font-size:12px;color:#a7a7a0;margin:11px 0 0}
.section{padding:42px 0 84px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2{font-size:30px;line-height:1;letter-spacing:-.06em;margin:0}.section-head p{color:var(--muted);margin:0;max-width:450px}.grid{display:grid;gap:14px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.category-card,.article-card,.feature-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.category-card:hover,.article-card:hover,.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#aaa79e}.category-card{min-height:168px;display:flex;flex-direction:column;justify-content:space-between}.category-card:nth-child(2){background:var(--lime)}.category-card:nth-child(5){background:var(--blue)}.category-card:nth-child(6){background:var(--coral)}.card-top{display:flex;justify-content:space-between;gap:14px}.card-index{font:500 12px 'DM Mono',monospace;color:var(--muted)}.category-card h3,.article-card h3{font-size:22px;letter-spacing:-.05em;margin:30px 0 7px}.category-card p,.article-card p{color:var(--muted);font-size:14px;margin:0}.arrow{font-size:24px;line-height:1}.article-card{min-height:205px}.article-card h3{margin-top:35px;font-size:20px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.tag{font:500 11px 'DM Mono',monospace;padding:4px 8px;border:1px solid var(--line);border-radius:20px;color:var(--muted);background:rgba(255,255,255,.5)}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ink);border-radius:999px;padding:5px 10px;font:500 11px 'DM Mono',monospace}.pill::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--coral)}
.manager-banner{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;background:var(--ink);color:#fff;border-radius:20px;padding:32px;margin-top:20px}.manager-banner h2{font-size:40px;line-height:1;letter-spacing:-.07em;margin:10px 0}.manager-banner p{color:#b9b9b2;max-width:460px}.manager-banner .button{background:var(--coral);color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border-radius:10px;border:1px solid var(--ink);font-weight:700;font-size:14px}.footer{border-top:1px solid var(--line);padding:27px 0 34px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:20px}.footer strong{color:var(--ink)}
.page-head{padding:65px 0 42px;max-width:760px}.page-head h1{font-size:clamp(44px,7vw,78px);margin-bottom:18px}.page-head p{color:var(--muted);font-size:18px}.breadcrumb{font:500 11px 'DM Mono',monospace;color:var(--muted);margin-bottom:22px}.breadcrumb a:hover{color:var(--ink)}.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:46px;align-items:start}.article{max-width:760px}.article-lead{font-size:22px;line-height:1.45;margin:0 0 32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article h2{font-size:29px;letter-spacing:-.06em;margin:40px 0 13px}.article h3{font-size:19px;margin:25px 0 8px}.article p,.article li{color:#4e4e49}.article ul{padding-left:22px}.notice{padding:16px 18px;border-left:4px solid var(--lime);background:var(--card);margin:20px 0}.notice.warn{border-left-color:var(--coral)}.stats{background:var(--ink);color:#fff;border-radius:17px;padding:20px;position:sticky;top:20px}.stats h3{font-size:16px;margin:0 0 16px}.stat{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #40403d;padding:12px 0;font-size:13px}.stars{color:var(--lime);letter-spacing:2px}.related{border-top:1px solid var(--line);margin-top:45px;padding-top:24px}.related h3{font-size:15px;margin:0 0 12px}.related a{display:block;padding:9px 0;color:var(--muted);border-bottom:1px solid var(--line);font-size:14px}.related a:hover{color:var(--ink)}
.search-page{padding:62px 0 90px}.search-page h1{font-size:64px}.search-results{margin-top:34px}.result-count{color:var(--muted);font-size:14px;margin-bottom:14px}.empty{padding:30px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:var(--card)}
@media(max-width:800px){.shell{padding:0 18px}.topbar{height:67px}.nav{display:none}.menu-button{display:block}.hero{padding:58px 0 50px;display:block}.hero-copy{font-size:17px}.search-box{margin-top:34px}.grid-3,.grid-2{grid-template-columns:1fr}.section{padding-bottom:62px}.section-head{display:block}.section-head p{margin-top:10px}.manager-banner{grid-template-columns:1fr;padding:24px}.manager-banner h2{font-size:34px}.page-head{padding:46px 0 30px}.content-wrap{grid-template-columns:1fr;gap:26px}.stats{position:static;order:-1}.article-lead{font-size:19px}.footer{display:block}.footer span{display:block;margin-top:8px}h1{font-size:clamp(49px,16vw,78px)}}
@media(max-width:800px){.topbar{position:relative}.nav.open{display:flex;position:absolute;z-index:5;top:67px;left:0;right:0;padding:14px 16px;flex-direction:column;gap:0;background:var(--card);border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:var(--shadow)}.nav.open a{padding:9px 0}}

/* Compact homepage hierarchy and lighter cards. */
.hero{padding:70px 0 60px}
.hero h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.1;letter-spacing:-.07em;margin-bottom:20px;max-width:650px}
.grid{gap:16px}
.category-card{min-height:145px}
.category-card h3,.article-card h3{margin-bottom:0}
.article-card{min-height:155px}
.tool-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(280px,1.2fr);gap:28px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.tool-card h3{font-size:30px;letter-spacing:-.06em;margin:15px 0 8px}
.tool-intro{color:var(--muted);margin:0 0 22px}
.rm-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.rm-form label{font-size:13px;color:var(--muted)}
.rm-form input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}
.rm-form input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(233,243,90,.45)}
.rm-form .button{grid-column:1/-1;background:var(--lime);justify-self:start}
.tool-note{font-size:12px;color:var(--muted);margin:14px 0 0}
.rm-result{background:var(--ink);color:#fff;border-radius:14px;padding:18px;min-height:260px}
.rm-placeholder,.rm-error{color:#b9b9b2;margin:0}
.rm-error{color:#ffb2a4}
.rm-result-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid #40403d;padding-bottom:13px;margin-bottom:4px}
.rm-result-head strong{font-size:20px;color:var(--lime)}
.rm-result-head span{font-size:12px;color:#b9b9b2}
.rm-table{width:100%;border-collapse:collapse;font-size:13px}
.rm-table th,.rm-table td{padding:6px 0;border-bottom:1px solid #353532;text-align:left}
.rm-table th{font-weight:500;color:#b9b9b2}
.rm-table td{text-align:right;color:#fff}
.program-card{min-height:180px}
.program-card p{color:var(--muted);font-size:14px;margin:0}
.program-status{display:inline-block;margin-top:20px;font:500 11px 'DM Mono',monospace;color:var(--muted)}
@media(max-width:800px){.hero{padding:46px 0 42px}.search-box{margin-top:28px}.grid{gap:16px}.category-card{min-height:138px;padding:20px}.article-card{min-height:140px}.tool-card{grid-template-columns:1fr;padding:20px;gap:22px}.rm-form{grid-template-columns:1fr 1fr}.rm-result{min-height:0}.rm-result-head{display:block}.rm-result-head span{display:block;margin-top:5px}}

/* Homepage layout: a low horizontal hero, a wide search bar, and centered category rows. */
.hero{padding:54px 0 38px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:72px;align-items:end}
.hero h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.1;margin-bottom:0}
.hero-intro{border-left:1px solid var(--line);padding:0 0 5px 28px}
.hero-copy{font-size:18px;line-height:1.65;max-width:510px;margin:0}
.category-section{padding-top:0}
.wide-search-wrap{max-width:1000px;margin:0 auto 32px}
.wide-search{display:flex;align-items:center;gap:16px;padding:12px 14px;border-radius:14px}
.wide-search label{flex:0 0 auto;margin:0}
.wide-search .search-row{flex:1;min-width:0}
.wide-search .search-note{display:none}
.category-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.category-grid .category-card{flex:0 1 calc((100% - 32px)/3);width:calc((100% - 32px)/3);min-width:0}
.category-grid .category-card h3{margin:30px 0 0}
@media(max-width:1020px) and (min-width:801px){.category-grid .category-card{flex-basis:calc((100% - 16px)/2);width:calc((100% - 16px)/2)}}
@media(max-width:800px){.hero{padding:42px 0 30px;display:block}.hero-intro{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:22px}.hero-copy{font-size:17px;line-height:1.55}.wide-search-wrap{margin-bottom:26px}.wide-search{display:block;padding:14px}.wide-search label{display:block;margin-bottom:8px}.wide-search .search-row{display:flex}.category-grid{gap:16px}.category-grid .category-card{flex-basis:100%;width:100%}.category-grid .category-card h3{margin-top:24px}}
.article-section-body{color:#4e4e49}.article-section-body p{margin:0 0 12px;color:inherit}.article-section-body p:last-child{margin-bottom:0}.article-section-body ul{margin:0 0 12px;padding-left:22px}.article-section-body li{color:inherit;margin:3px 0}
