/* 길모아 시안 v4 — 공용 모양 */
:root{--bg:#f6f7f3;--paper:#fff;--ink:#18231d;--sub:#4f5a53;--faint:#59645d;--line:#e4e8e1;--g:#1f7a4d;--g-2:#e8f1ea;--g-3:#cfe2d6;
 --river:#3c86c6;--sea:#2a9bb0;--mount:#4c8f5c;--forest:#2f6a46;--lake:#5b8fb8;--city:#a07a52;--r:18px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
img{max-width:100%;display:block}
.w{max-width:980px;margin:0 auto;padding:0 20px}
.sample{position:fixed;right:10px;bottom:10px;font-size:11px;background:var(--ink);color:#fff;padding:3px 8px;border-radius:6px;opacity:.55;z-index:60}
/* 머리글 */
.top{position:sticky;top:0;z-index:40;background:rgba(246,247,243,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.scrolled{border-color:var(--line)}
.top .w{display:flex;align-items:center;height:62px;gap:22px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px;letter-spacing:-.4px}
.brand svg{width:30px;height:30px;flex:0 0 30px}
.brand small{font-weight:500;font-size:12.5px;color:var(--sub);letter-spacing:0;margin-left:2px}
.nav{display:flex;gap:20px;font-size:15px;color:var(--sub)}.nav a:hover,.nav a.on{color:var(--ink)}.nav a.on{font-weight:700}
.top .icon{margin-left:auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--sub)}
.top .icon:hover{background:#eceee9}
@media(max-width:860px){.nav{display:none}.brand small{display:none}}
/* 바닥글 */
.foot{margin-top:70px;background:#1e2a23;color:#c9d2cc;font-size:14px}
.foot .w{padding:40px 20px 34px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.foot h4{color:#fff;font-size:14px;margin:0 0 10px}.foot p{margin:0;line-height:1.75}.foot ul{list-style:none;margin:0;padding:0;line-height:2}
.foot a:hover{color:#fff}.foot .brand{color:#fff;margin-bottom:10px}.foot .brand small{color:#9fb0a5}
.foot .bot{border-top:1px solid #2f3d35;padding:16px 0 90px;font-size:12.5px;color:#8c9a91}
@media(min-width:1024px){.foot .bot{padding-bottom:20px}}
@media(max-width:700px){.foot .w{grid-template-columns:1fr 1fr}.foot .w>div:first-child{grid-column:1/3}}
/* 공용 조각 */
.sec{margin-top:44px}.sec>h2{font-size:21px;letter-spacing:-.5px;margin:0 0 4px}.sec>.lead{margin:0 0 16px;color:var(--sub);font-size:14.5px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:8px 14px;border-radius:999px;background:var(--paper);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.pill.on{background:var(--ink);color:#fff;font-weight:700}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--g-2);color:var(--g)}
.tag.acc{background:#f3ece2;color:#8a5a2b}
.est{color:#9a6a12}
/* 카드 */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{display:block;background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s;text-align:left;width:100%}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,35,29,.09)}
.card .img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dfe6df}
.card .img>img,.card .img>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:10px;bottom:10px;background:#fff;border-radius:10px;padding:4px 10px;font-size:14px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.12);letter-spacing:-.2px}
.badge small{font-weight:500;color:var(--sub);font-size:11px;margin-right:3px}
.dist{position:absolute;right:10px;bottom:10px;background:rgba(24,35,29,.78);color:#fff;border-radius:10px;padding:3px 9px;font-size:12.5px;font-weight:600}
.cap{position:absolute;right:8px;top:8px;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px;color:#fff;background:rgba(0,0,0,.58);border-radius:6px;padding:1px 6px}
.card .tx{padding:13px 15px 15px}.card h3{font-size:17px;margin:0;letter-spacing:-.35px;line-height:1.35}
.card .k{font-size:13px;color:var(--sub);margin-top:3px}
.card .facts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:12.5px;color:var(--sub)}
.card .facts b{color:var(--ink);font-weight:600}
@media(max-width:860px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.w{padding:0 16px}.cards{grid-template-columns:1fr;gap:12px}
 .cards.row .card{display:grid;grid-template-columns:120px 1fr}.cards.row .card .img{aspect-ratio:auto;min-height:118px}
 .cards.row .badge{left:6px;bottom:6px;font-size:12.5px;padding:3px 7px}.cards.row .badge small{display:none}.cards.row .dist{display:none}
 .cards.row .card .tx{padding:12px 14px}.cards.row .cap{display:none}.cards.row .facts{margin-top:5px}}
/* 접는 질문 */
details.qa{border-bottom:1px solid var(--line);padding:14px 0}details.qa summary{font-weight:600;cursor:pointer;list-style:none;display:flex;gap:10px}
details.qa summary::after{content:"＋";margin-left:auto;color:var(--faint)}details.qa[open] summary::after{content:"－"}
details.qa p{margin:8px 0 0;color:#3a463f;font-size:15px}

/* 검색 덮개 */
.sov{position:fixed;inset:0;z-index:80;background:rgba(246,247,243,.97);display:none;padding:18px 0}
.sov.on{display:block}.sov .w{max-width:680px}
.sov .bar{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #9cc8ad;border-radius:16px;padding:0 14px;box-shadow:0 0 0 4px rgba(31,122,77,.07)}
.sov input{flex:1;border:0;outline:none;font:inherit;font-size:17px;padding:15px 0;background:none}
.sov .x{font-size:15px;color:var(--sub)}
.sov ul{list-style:none;margin:14px 0 0;padding:0}.sov li a{display:flex;justify-content:space-between;gap:10px;padding:12px 6px;border-bottom:1px solid var(--line)}
.sov li span{color:var(--sub);font-size:13.5px;white-space:nowrap}.sov .hint{color:var(--sub);font-size:14px;margin-top:14px}

/* 날씨 한 줄 */
.wx{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--paper);border-radius:14px;padding:10px 14px;font-size:14.5px;margin-top:14px;border-left:4px solid var(--g)}
.wx.bad{border-left-color:#3c86c6}.wx.soso{border-left-color:#c9a227}
.wx .i{font-size:20px}.wx .m{flex:1;min-width:0}.wx em{font-style:normal;font-weight:700;margin-left:8px;color:var(--g)}.wx.bad em{color:#2f6fa8}.wx.soso em{color:#8a6d12}
.wx .s{font-size:12px;color:var(--faint)}
@media(max-width:560px){.wx em{display:block;margin:2px 0 0}}

/* 자동완성 */
.acwrap{position:relative;min-width:0}
.ac{display:none;position:absolute;left:0;right:0;top:100%;z-index:50}
.ac.on{display:block}
.ac>*{animation:acin .18s ease both}
.ac{background:#fff;border-radius:16px;box-shadow:0 14px 34px rgba(24,35,29,.14);margin-top:8px;padding:6px;max-height:420px;overflow:auto}
.ac a{display:grid;grid-template-columns:28px 1fr;gap:0 8px;align-items:center;padding:9px 10px;border-radius:12px}
.ac a:hover,.ac a.sel{background:var(--g-2)}
.ac i{font-style:normal;grid-row:1/3;font-size:17px;text-align:center}
.ac b{font-weight:600;font-size:15px}.ac span{font-size:12.5px;color:var(--sub)}
.ac mark{background:none;color:var(--g);font-weight:800}
.ac .dg b{color:var(--g)}.ac p{margin:10px;color:var(--sub);font-size:14px}
@keyframes acin{from{opacity:0;transform:translateY(-4px)}}
/* 소개·약관 같은 글 페이지 */
.prose-page{max-width:760px;padding-top:30px}.prose-page h1{font-size:30px;letter-spacing:-.8px}.prose-page h2{font-size:19px;margin-top:28px}.prose-page p{color:#33403a;line-height:1.8}
.prose-page a{color:var(--g);font-weight:600}
@media(max-width:560px){.wx .s{flex-basis:100%;margin-left:30px}}
