/* 지원길잡이 — 기본 스타일 */
:root{
  --paper:#f6f1e7; --sheet:#fffdf8; --ink:#1f2a24; --ink-soft:#4f5a53; --line:#ddd2bf;
  --green:#2f5d50; --green-deep:#1f4339; --clay:#c0583f; --mustard:#d6a23f; --mist:#e9e2d3;
  --serif:"Gowun Batang",serif; --sans:"Noto Sans KR",system-ui,sans-serif;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans);word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--green);text-underline-offset:3px}
a:hover{color:var(--clay)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:6px 10px;z-index:9}

/* 머리 */
.mast{border-bottom:3px double var(--ink);background:var(--sheet)}
.mast .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:14px;flex-wrap:wrap}
.brand{text-decoration:none;color:var(--ink);display:flex;align-items:baseline;gap:10px}
.brand b{font:700 28px/1 var(--serif);letter-spacing:-.5px}
.brand small{font-size:13px;color:var(--ink-soft)}
.gnb{display:flex;gap:4px;flex-wrap:wrap}
.gnb a{color:var(--ink);text-decoration:none;font-size:15px;padding:4px 10px;border-bottom:2px solid transparent}
.gnb a:hover,.gnb a[aria-current]{border-color:var(--clay);color:var(--ink)}

/* 공통 블록 */
main{padding:28px 0 56px}
h1,h2,h3{font-family:var(--serif);line-height:1.35;letter-spacing:-.3px}
h1{font-size:clamp(26px,4vw,36px);margin:.2em 0 .5em}
h2{font-size:22px;margin:2em 0 .7em;padding-bottom:6px;border-bottom:1px solid var(--line)}
h3{font-size:18px;margin:1.6em 0 .5em}
.lede{font-size:17px;color:var(--ink-soft);max-width:720px}
.crumb{font-size:13px;color:var(--ink-soft);margin-bottom:6px}
.crumb a{color:var(--ink-soft)}
.kicker{display:inline-block;font-size:12px;letter-spacing:.08em;color:var(--clay);font-weight:700;text-transform:uppercase}
.sheet{background:var(--sheet);border:1px solid var(--line);padding:22px 24px}
.two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.two aside{position:sticky;top:16px}
@media (max-width:860px){.two{grid-template-columns:1fr}.two aside{position:static}}

/* 첫 화면 */
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:end;padding:10px 0 26px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(30px,5vw,46px);margin:0 0 12px}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,rgba(214,162,63,.45) 0)}
.tally{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--ink)}
.tally div{padding:12px 4px;border-bottom:1px solid var(--line)}
.tally strong{display:block;font:700 26px/1.1 var(--serif);color:var(--green-deep)}
.tally span{font-size:13px;color:var(--ink-soft)}
@media (max-width:760px){.hero{grid-template-columns:1fr}}

/* 내 상황으로 찾기 */
.finder{margin-top:30px;background:var(--green-deep);color:#f3efe6;padding:26px 24px}
.finder h2{color:#fff;border-color:rgba(255,255,255,.25);margin-top:0}
.finder fieldset{border:0;margin:0 0 16px;padding:0}
.finder legend{font-weight:700;margin-bottom:8px;font-size:15px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{cursor:pointer}
.opts input{position:absolute;opacity:0}
.opts span{display:inline-block;border:1px solid rgba(255,255,255,.45);padding:5px 12px;font-size:14px}
.opts input:checked+span{background:var(--mustard);border-color:var(--mustard);color:var(--ink);font-weight:700}
.opts input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.finder select{font:inherit;padding:6px 10px;border:0;min-width:180px}
.finder .go{font:700 15px var(--sans);background:var(--clay);color:#fff;border:0;padding:10px 22px;cursor:pointer}
.finder .note{font-size:13px;opacity:.8;margin:10px 0 0}
#finder-out{margin-top:18px}
#finder-out .stack a{color:var(--ink)}

/* 목록 */
.stack{display:grid;gap:10px}
.item{display:block;background:var(--sheet);border:1px solid var(--line);border-left:4px solid var(--green);padding:14px 16px;text-decoration:none;color:var(--ink)}
.item:hover{border-left-color:var(--clay);color:var(--ink)}
.item b{display:block;font-size:17px;margin-bottom:2px}
.item p{margin:0;font-size:14px;color:var(--ink-soft)}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tag{font-size:12px;padding:1px 8px;background:var(--mist);color:var(--ink-soft)}
.tag.kind{background:#f1dcd4;color:#7a2f1f}
.more{margin-top:10px;font-size:14px}

/* 생애 단계 */
.stages{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));border-top:1px solid var(--ink)}
.stages li{border-bottom:1px solid var(--line)}
.stages a{display:flex;gap:14px;align-items:baseline;padding:14px 6px;text-decoration:none;color:var(--ink)}
.stages a:hover{background:var(--sheet)}
.stages i{font:700 13px var(--serif);color:var(--clay);font-style:normal;min-width:24px}
.stages b{font-weight:700}
.stages em{font-style:normal;font-size:13px;color:var(--ink-soft);margin-left:auto}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{border:1px solid var(--green);padding:4px 12px;font-size:14px;text-decoration:none}
.chips a:hover{background:var(--green);color:#fff}

/* 안내서 목록 */
.guides{list-style:none;padding:0;margin:0;counter-reset:g}
.guides li{counter-increment:g;padding:12px 0 12px 44px;border-bottom:1px dashed var(--line);position:relative}
.guides li::before{content:counter(g,decimal-leading-zero);position:absolute;left:0;top:12px;font:700 18px var(--serif);color:var(--mustard)}
.guides a{font-weight:700;text-decoration:none;color:var(--ink)}
.guides a:hover{color:var(--clay)}
.guides p{margin:2px 0 0;font-size:14px;color:var(--ink-soft)}

/* 지원 상세 */
.facts{display:grid;grid-template-columns:110px 1fr;margin:0;border-top:2px solid var(--ink)}
.facts dt,.facts dd{margin:0;padding:10px 4px;border-bottom:1px solid var(--line)}
.facts dt{font-weight:700;font-size:14px;color:var(--ink-soft)}
.body p{margin:.5em 0}
.body .lead{font-weight:700;margin-top:1em}
.body ul{margin:.3em 0 .6em;padding-left:1.2em}
.body .aside-note{font-size:14px;color:var(--ink-soft);background:var(--mist);padding:6px 10px;margin:.4em 0}
.body a.term,.article a.term{color:inherit;text-decoration:underline dotted var(--clay);text-decoration-thickness:2px}
.body a.term:hover,.article a.term:hover{color:var(--clay)}
.guides.dict li{counter-increment:none;padding-left:0}
.guides.dict li::before{content:none}
.side .sheet+.sheet{margin-top:14px}
.side ul{margin:0;padding-left:1.1em}
.article blockquote small{color:var(--ink-soft)}
.check{list-style:none;padding:0;margin:0}
.check li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid var(--line)}
.check li::before{content:"";position:absolute;left:2px;top:14px;width:14px;height:14px;border:2px solid var(--green)}
.source{font-size:13px;color:var(--ink-soft);border-top:1px solid var(--line);margin-top:32px;padding-top:12px}
.side h3{margin-top:0;font-size:16px}
.side .stack .item{padding:10px 12px}
.side .stack .item b{font-size:15px}

/* 글 */
.article{max-width:760px}
.article p,.article li{font-size:17px}
.article table{border-collapse:collapse;width:100%;font-size:15px;margin:1em 0;background:var(--sheet)}
.article th,.article td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.article th{background:var(--mist)}
.article blockquote{margin:1em 0;padding:10px 16px;border-left:4px solid var(--mustard);background:var(--sheet)}
.byline{font-size:13px;color:var(--ink-soft);margin-bottom:22px}
.tablewrap{overflow-x:auto}

/* 검색 */
.searchbar{display:flex;gap:8px;margin:12px 0 20px}
.searchbar input{flex:1;font:inherit;padding:10px 12px;border:2px solid var(--ink);background:var(--sheet)}
.searchbar button{font:700 15px var(--sans);background:var(--ink);color:#fff;border:0;padding:0 20px;cursor:pointer}
.hero .searchbar{margin:18px 0 0}
#search-out .stack a{color:var(--ink)}

/* 바닥 */
.foot{background:var(--ink);color:#cfd6d1;font-size:14px;padding:30px 0 40px}
.foot a{color:#fff}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px}
.foot p{margin:.3em 0}
