:root{
  --bg:#ffffff; --paper:#f1f7fc; --ink:#0a1f33; --ink-soft:#33465c; --ink-mute:#6f8094;
  --rule:#d4e2ef; --rule-soft:#e7f0f8; --accent:#2a86c9; --accent-deep:#145a8c;
  --lime:#ffd400; --hl:#fff1a6; --tag-bg:#e2eff9; --naver:#03c75a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans KR",sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;word-break:keep-all}
img{max-width:100%;height:auto}
a{color:var(--accent-deep)}

/* header */
.blog-header{border-bottom:1px solid var(--rule);background:#fff;position:sticky;top:0;z-index:50}
.blog-header .inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:22px}
.blog-header .logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.blog-header .logo .mk{width:42px;height:42px;border-radius:10px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.blog-header .logo .mk img{width:100%;height:100%;object-fit:contain}
.blog-header .logo .nm b{font-family:"Noto Serif KR",serif;font-weight:700;font-size:18px;display:block;line-height:1.25;color:var(--accent-deep)}
.blog-header .logo .nm span{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--ink-mute);display:block;line-height:1.4}
.blog-header nav{margin-left:auto;display:flex;gap:22px}
.blog-header nav a{text-decoration:none;color:var(--ink-soft);font-size:14.5px;font-weight:500}
.blog-header nav a:hover{color:var(--accent-deep)}
.blog-header .cta{background:var(--accent-deep);color:#fff;padding:9px 18px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.blog-header .cta:hover{background:var(--accent)}
@media(max-width:820px){.blog-header nav{display:none}.blog-header .cta{margin-left:auto}}
@media(max-width:480px){.blog-header .inner{padding:12px 16px;gap:10px}.blog-header .logo .nm b{font-size:15px}.blog-header .logo .nm span{display:none}.blog-header .cta{padding:8px 13px;font-size:13px}.blog-header .cta .tn{display:none}}

/* card grid */
.grid-band{max-width:1080px;margin:0 auto;padding:36px 24px 0}
.post-grid-wrap .grid-head{margin-bottom:18px}
.post-grid-wrap .grid-head .k{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.16em;color:var(--accent);font-weight:500;margin-bottom:6px}
.post-grid-wrap .grid-head h2,.post-grid-wrap .grid-head h1{font-family:"Noto Serif KR",serif;font-size:22px;font-weight:700;margin:0 0 6px;line-height:1.4}
.post-grid-wrap .grid-head p{font-size:14.5px;color:var(--ink-soft);margin:0}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post-grid .pcard{display:block;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:all .18s ease}
.post-grid .pcard:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(20,90,140,.13);transform:translateY(-2px)}
.post-grid .pcard .thumb{aspect-ratio:1/1;overflow:hidden;background:var(--rule-soft)}
.post-grid .pcard .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post-grid .pcard .info{padding:14px 14px 16px}
.post-grid .pcard .info .cat{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;color:var(--accent);margin-bottom:6px}
.post-grid .pcard .info h3{font-family:"Noto Serif KR",serif;font-size:15px;font-weight:600;line-height:1.45;margin:0 0 8px}
.post-grid .pcard .info .more{font-size:12.5px;color:var(--ink-mute)}
@media(max-width:920px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.post-grid{grid-template-columns:1fr}}

/* layout */
.wrap{max-width:1080px;margin:0 auto;padding:44px 24px 0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;align-items:start}
@media(max-width:900px){.wrap{grid-template-columns:minmax(0,1fr);gap:0}.sidebar{position:static!important;margin-top:40px}}
.crumb{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.08em;color:var(--ink-mute);margin-bottom:16px}
.crumb a{color:var(--ink-mute);text-decoration:none}
.crumb a:hover{color:var(--accent)}
article h1{font-family:"Noto Serif KR",serif;font-size:34px;font-weight:700;line-height:1.32;margin:0 0 14px;letter-spacing:-.01em}
article h1 .hl{background:linear-gradient(transparent 62%,var(--hl) 62%);padding:0 2px}
@media(max-width:560px){article h1{font-size:27px}}
.lead{font-size:17px;color:var(--ink-soft);margin:0 0 20px}
.meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-mute);padding-bottom:22px;border-bottom:1px solid var(--rule)}
.meta a{color:var(--accent);text-decoration:none}
.meta .dot{width:4px;height:4px;border-radius:50%;background:var(--rule)}
.cover{margin:26px 0 8px;border-radius:14px;overflow:hidden;border:1px solid var(--rule)}
.cover img{display:block;width:100%}
.cap{font-size:12.5px;color:var(--ink-mute);text-align:center;margin:8px 0 0}
.toc{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:22px 24px;margin:30px 0 10px}
.toc .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--accent);margin-bottom:10px}
.toc ol{margin:0;padding-left:20px}
.toc li{margin:5px 0}
.toc a{color:var(--ink-soft);text-decoration:none;font-size:14.5px}
.toc a:hover{color:var(--accent-deep);text-decoration:underline}
section.blk{padding:34px 0 4px;scroll-margin-top:90px}
section.blk h2{font-family:"Noto Serif KR",serif;font-size:24px;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:10px;line-height:1.4}
section.blk h2 .num{font-family:"IBM Plex Mono",monospace;font-size:13px;color:#fff;background:var(--accent-deep);width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
section.blk h3{font-family:"Noto Serif KR",serif;font-size:18px;font-weight:600;margin:22px 0 6px}
section.blk p{margin:12px 0;color:var(--ink-soft)}
section.blk .figure{margin:22px 0 6px;border-radius:12px;overflow:hidden;border:1px solid var(--rule)}
section.blk .figure img{display:block;width:100%}
strong.mk{background:linear-gradient(transparent 60%,var(--hl) 60%);font-weight:600;color:var(--ink)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
@media(max-width:560px){.cols{grid-template-columns:1fr}}
.cols .box{border:1px solid var(--rule);border-radius:12px;padding:18px 20px;background:#fff}
.cols .box .t{font-family:"Noto Serif KR",serif;font-weight:700;font-size:16px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.cols .box .t .pip{width:10px;height:10px;border-radius:3px;background:var(--lime)}
.cols .box ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:14.5px}
.cols .box li{margin:4px 0}
.note{background:var(--paper);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:14px 18px;margin:20px 0;font-size:14.5px;color:var(--ink-soft)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.steps .s{border:1px solid var(--rule);border-radius:12px;padding:16px 18px;background:#fff}
.steps .s .st{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:6px}
.steps .s .h{font-family:"Noto Serif KR",serif;font-weight:600;font-size:15px;margin-bottom:5px}
.steps .s p{margin:0;font-size:13.5px}
.branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
@media(max-width:640px){.branches{grid-template-columns:1fr}}
.branch{border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:#fff}
.branch .bd{padding:20px 22px 22px}
.branch .bd .bn{font-family:"Noto Serif KR",serif;font-weight:700;font-size:19px;margin-bottom:4px;display:flex;align-items:center;gap:9px}
.branch .bd .bn .pip{width:30px;height:30px;border-radius:8px;background:var(--accent-deep);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:"IBM Plex Mono",monospace;font-size:14px}
.branch .bd .addr{font-size:13.5px;color:var(--ink-soft);margin:10px 0 8px}
.branch .bd .tel{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:20px;color:var(--accent-deep);margin:8px 0 6px}
.branch .bd table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.branch .bd td{padding:3px 0;color:var(--ink-soft);vertical-align:top}
.branch .bd td.d{color:var(--ink-mute);white-space:nowrap;padding-right:12px}
.naver-card{margin:16px 0 8px}
.naver-card a{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:18px;background:#fff;border:1px solid var(--rule);border-radius:10px;padding:18px 22px;text-decoration:none;color:inherit;transition:all .18s ease}
.naver-card a:hover{border-color:var(--naver);box-shadow:0 6px 18px rgba(3,199,90,.10);transform:translateY(-1px)}
.naver-card .badge{width:56px;height:56px;border-radius:14px;background:var(--naver);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:28px}
.naver-card .body .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:#03a04a;font-weight:500;margin-bottom:4px}
.naver-card .body .h{font-family:"Noto Serif KR",serif;font-weight:600;font-size:17px;margin-bottom:4px}
.naver-card .body .p{font-size:13px;color:var(--ink-soft)}
.naver-card .arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;transition:all .18s ease}
.naver-card a:hover .arrow{background:var(--naver);border-color:var(--naver);color:#fff}
@media(max-width:480px){.naver-card a{grid-template-columns:44px 1fr;gap:14px;padding:16px}.naver-card .badge{width:44px;height:44px;font-size:22px}.naver-card .arrow{display:none}}
.qlinks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
@media(max-width:560px){.qlinks{grid-template-columns:1fr}}
.qlinks a{display:flex;align-items:center;gap:12px;text-decoration:none;border:1px solid var(--rule);border-radius:10px;padding:14px 18px;color:var(--ink);background:#fff;transition:all .18s ease;font-weight:500;font-size:14.5px}
.qlinks a:hover{border-color:var(--accent);transform:translateY(-1px)}
.qlinks a .ic{width:34px;height:34px;border-radius:8px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:14px}
.qlinks a .ic.n{background:var(--naver);color:#fff}
.qlinks a .ic.h{background:var(--accent-deep);color:#fff}
.tags{margin:34px 0 10px;display:flex;flex-wrap:wrap;gap:8px}
.tags .tag{background:var(--tag-bg);color:var(--accent-deep);font-size:12.5px;padding:6px 13px;border-radius:999px;font-family:"IBM Plex Mono",monospace;text-decoration:none}
.disc{margin:26px 0 0;padding:16px 18px;border:1px dashed var(--rule);border-radius:10px;font-size:12.5px;color:var(--ink-mute);line-height:1.7}

/* sidebar */
.sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:20px}
.swid{border:1px solid var(--rule);border-radius:14px;padding:20px;background:#fff}
.swid .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}
.swid h4{font-family:"Noto Serif KR",serif;font-size:16px;margin:0 0 10px;font-weight:700}
.swid .tel{font-family:"IBM Plex Mono",monospace;font-size:22px;color:var(--accent-deep);font-weight:500}
.swid .sub{font-size:13px;color:var(--ink-soft);margin:2px 0 14px}
.swid .btn{display:block;text-align:center;background:var(--accent-deep);color:#fff;text-decoration:none;padding:12px;border-radius:10px;font-weight:600;font-size:14.5px;margin-top:6px}
.swid .btn.naver{background:var(--naver);color:#fff}
.swid .btn:hover{opacity:.92}
.swid table{width:100%;border-collapse:collapse;font-size:13px}
.swid table td{padding:4px 0;color:var(--ink-soft)}
.swid table td.d{color:var(--ink-mute);white-space:nowrap;padding-right:10px}
.swid .navlist a{display:flex;justify-content:space-between;gap:10px;padding:7px 0;text-decoration:none;color:var(--ink-soft);font-size:14px;border-bottom:1px solid var(--rule-soft);line-height:1.5}
.swid .navlist a:last-child{border-bottom:0}
.swid .navlist a:hover,.swid .navlist a.on{color:var(--accent-deep)}
.swid .navlist a .c{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-mute)}

/* footer */
footer.site-foot{margin-top:56px;background:var(--paper);border-top:1px solid var(--rule);padding:40px 24px 48px}
footer .finner{max-width:1080px;margin:0 auto}
footer .brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
footer .brand .mk{width:38px;height:38px;border-radius:10px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
footer .brand .mk img{width:100%;height:100%;object-fit:contain}
footer .brand b{font-family:"Noto Serif KR",serif;font-size:17px;color:var(--accent-deep)}
footer .fgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
@media(max-width:760px){footer .fgrid{grid-template-columns:1fr}}
footer .fgrid .fb b{display:block;font-size:14.5px;margin-bottom:6px;font-family:"Noto Serif KR",serif}
footer .fgrid .fb p{margin:2px 0;font-size:13px;color:var(--ink-soft)}
footer .fgrid .fb a{color:var(--ink-soft);text-decoration:none}
footer .fgrid .fb a:hover{color:var(--accent-deep)}
footer .copy{margin-top:26px;padding-top:18px;border-top:1px solid var(--rule);font-size:12px;color:var(--ink-mute);line-height:1.7}

/* WordPress 글 본문 */
.entry{font-size:17px;line-height:1.9;color:var(--ink-soft)}
.entry p{margin:14px 0}
.entry h2{font-family:"Noto Serif KR",serif;font-size:23px;font-weight:700;color:var(--ink);line-height:1.45;margin:40px 0 10px;padding-left:14px;border-left:4px solid var(--accent-deep)}
.entry h3{font-family:"Noto Serif KR",serif;font-size:19px;font-weight:600;color:var(--ink);margin:28px 0 8px}
.entry figure,.entry .wp-block-image{margin:26px 0;border-radius:12px;overflow:hidden;border:1px solid var(--rule)}
.entry figure img{display:block;width:100%;height:auto}
.entry ul,.entry ol{padding-left:22px}
.entry li{margin:6px 0}
.entry strong{color:var(--ink)}
.entry table{width:100%;border-collapse:collapse;font-size:15px;margin:20px 0}
.entry td,.entry th{border:1px solid var(--rule);padding:9px 12px;text-align:left}
.entry th{background:var(--paper);color:var(--ink)}
.cta-box{margin:40px 0 0;padding:24px;border-radius:14px;background:linear-gradient(135deg,#145a8c,#0a1f33);color:#fff}
.cta-box .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:#8fd3ff}
.cta-box h3{font-family:"Noto Serif KR",serif;font-size:20px;margin:6px 0 6px;line-height:1.45}
.cta-box p{margin:0 0 16px;font-size:14px;color:#d3e3f2}
.cta-box .row{display:flex;flex-wrap:wrap;gap:10px}
.cta-box .row a{flex:1 1 180px;text-align:center;padding:12px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14.5px}
.cta-box .row .t{background:#fff;color:var(--accent-deep)}
.cta-box .row .n{background:var(--naver);color:#fff}
.related{margin-top:44px}
.related .grid-head{margin-bottom:14px}
.related .post-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.related .post-grid{grid-template-columns:1fr 1fr;gap:12px}.related .pcard .info h3{font-size:13.5px}}
.pager{display:flex;justify-content:center;gap:8px;margin:30px 0 0}
.pager a,.pager span{min-width:38px;height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:8px;text-decoration:none;font-size:14px;color:var(--ink-soft)}
.pager .current{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}
.catbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.catbar a{padding:7px 15px;border-radius:999px;border:1px solid var(--rule);text-decoration:none;font-size:13.5px;color:var(--ink-soft);background:#fff}
.catbar a.on,.catbar a:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}

/* 모바일 카드: 가로 스크롤 (홈 카드만) */
@media(max-width:767px){
  .grid-band .post-grid.scroll{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;scrollbar-width:none}
  .grid-band .post-grid.scroll::-webkit-scrollbar{display:none}
  .grid-band .post-grid.scroll .pcard{flex:0 0 78%;width:78%;scroll-snap-align:start}
}
