:root{--ink:#0c0c0d;--ivory:#f5f1e8;--paper:#fbf9f4;--gold:#c2a46d;--gold-2:#d9c08e;--gold-d:#8a6d38;--mute:#5f5c56;--line:#e3dccd}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Noto Sans KR",system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
main.wrap{max-width:820px;padding-top:28px;padding-bottom:80px}
.hd{background:var(--ink);color:var(--ivory);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(194,164,109,.28)}
.hd .wrap{display:flex;align-items:center;gap:24px;height:66px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .mk{width:22px;height:28px;color:var(--gold)}
.logo b{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:21px;letter-spacing:.3em;color:var(--ivory)}
.logo span{font-size:10.5px;letter-spacing:.2em;color:var(--gold)}
.hd nav{display:flex;gap:26px;margin-left:auto;font-size:14px}
.hd nav a{text-decoration:none;color:rgba(245,241,232,.78)}
.hd nav a:hover{color:var(--gold-2)}
.hd .cta{border:1px solid var(--gold);color:var(--gold-2);text-decoration:none;padding:8px 16px;font-size:13px;letter-spacing:.1em}
.hd .cta:hover{background:var(--gold);color:var(--ink)}
.crumb{font-size:13px;color:var(--mute);margin-bottom:34px}
.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}
.crumb span{margin:0 4px}
.cat{font-size:12px;letter-spacing:.24em;color:var(--gold-d);font-weight:700}
h1{font-family:"Noto Serif KR",serif;font-weight:600;font-size:clamp(28px,4.4vw,40px);line-height:1.3;margin:8px 0 10px}
.en{color:var(--mute);font-size:14px;margin-bottom:6px}
.def{font-size:18px;background:#fff;border:1px solid var(--line);border-left:0;padding:22px 24px;margin:22px 0 10px;position:relative}
.def::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
.lead{font-size:17.5px;color:#2d2b27;margin:12px 0 26px}
h2{font-family:"Noto Serif KR",serif;font-weight:600;font-size:23px;margin:46px 0 14px;padding-top:6px}
article p{margin:0 0 14px;font-size:16.5px}
article ul,article ol{margin:0 0 16px 22px;font-size:16.5px}
article li{margin:6px 0}
article a{color:var(--gold-d);text-underline-offset:3px}
.check{list-style:none;margin-left:0!important}
.check li{padding-left:28px;position:relative}
.check li::before{content:"";position:absolute;left:4px;top:9px;width:12px;height:7px;border-left:2px solid var(--gold-d);border-bottom:2px solid var(--gold-d);transform:rotate(-45deg)}
.callout{background:var(--ink);color:var(--ivory);padding:22px 26px;margin:30px 0}
.callout b{color:var(--gold-2);display:block;margin-bottom:4px}
.callout p{margin:0 0 8px;font-size:15.5px}
.callout a{color:var(--gold-2)}
.rel{list-style:none;margin-left:0!important;display:flex;flex-wrap:wrap;gap:8px}
.rel a{display:inline-block;border:1px solid var(--line);background:#fff;padding:7px 14px;text-decoration:none;color:var(--ink);font-size:14.5px}
.rel a:hover{border-color:var(--gold-d)}
.pn{display:flex;justify-content:space-between;gap:10px;margin-top:50px;padding-top:20px;border-top:1px solid var(--line);font-size:14.5px}
.pn a{text-decoration:none;color:var(--ink)}
.pn a:hover{color:var(--gold-d)}
.upd{font-size:13px;color:var(--mute);margin-top:30px}
.ph{margin-bottom:20px}
.search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:12px 16px;margin-top:10px}
.search span{font-size:13px;color:var(--mute);white-space:nowrap}
.search input{flex:1;border:0;font:inherit;font-size:16px;outline:none;background:transparent;min-width:0}
.grp h2 small{font-family:"Cormorant Garamond",serif;color:var(--gold-d);font-size:18px;margin-left:6px}
.tl,.gl{list-style:none;display:grid;gap:10px}
.tl a,.gl a{display:block;background:#fff;border:1px solid var(--line);padding:16px 20px;text-decoration:none;transition:border-color .2s}
.tl a:hover,.gl a:hover{border-color:var(--gold-d)}
.tl b,.gl b{display:block;font-size:16.5px}
.tl span,.gl span{display:block;font-size:14px;color:var(--mute);margin-top:2px}
.none{color:var(--mute);margin-top:20px}
.tbl{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px;background:#fff}
.tbl th,.tbl td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
.tbl th{background:var(--ink);color:var(--gold-2);font-weight:500}
.muted{color:var(--mute);font-size:14px}
.calc{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:16px 20px;margin:6px 0 18px}
.calc label{font-size:14px;color:var(--mute)}
.calc input{font:inherit;font-size:18px;width:130px;padding:8px 10px;border:1px solid var(--line)}
.calc output{font-family:"Noto Serif KR",serif;font-size:22px;color:var(--gold-d)}
.faq details{background:#fff;border:1px solid var(--line);padding:0 18px;margin-bottom:8px}
.faq summary{cursor:pointer;padding:15px 0;font-weight:500}
.faq details p{font-size:15.5px;color:#2d2b27}
.site-card a{display:block;background:var(--ink);color:var(--ivory);padding:20px 24px;text-decoration:none}
.site-card b{display:block;font-family:"Noto Serif KR",serif;font-size:20px;color:var(--gold-2)}
.site-card span{font-size:14px;opacity:.85}
.book{background:var(--ink);color:var(--ivory);padding:44px 0}
.book .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.book b{font-family:"Noto Serif KR",serif;font-weight:400;font-size:22px}
.book p{color:rgba(245,241,232,.7);font-size:14.5px}
.book a{background:var(--gold);color:var(--ink);text-decoration:none;padding:15px 30px;letter-spacing:.12em;font-size:14px}
.ft{background:#070708;color:rgba(245,241,232,.6);padding:44px 0 60px;font-size:13.5px}
.ft .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}
.ft p{margin-top:8px}
.ft ul{list-style:none;display:grid;gap:4px}
.ft ul a{text-decoration:none}.ft ul a:hover{color:var(--gold-2)}
.ft .disc{grid-column:1/-1;font-size:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
@media (max-width:760px){
 .hd nav{display:none}
 .hd .cta{margin-left:auto;white-space:nowrap;padding:8px 12px}
 .logo b{font-size:18px;letter-spacing:.22em;white-space:nowrap}
 .logo span{display:none}
 .ft .wrap{grid-template-columns:1fr}
 .tbl{font-size:13.5px}
 .tbl th,.tbl td{padding:8px}
}
