/* 경제전파사 테마 (econwave) — v3 정돈안 기준
   구조: 토큰 → 기본 → 버튼 → 헤더/메가/드로어 → 홈(히어로·선반·카드·연재·주제) → 연재 페이지 → 글 → 목록 페이지 → 필자/문의 → 푸터 → 반응형 */

@font-face{font-family:'Pretendard';font-weight:400;font-display:swap;src:url(../fonts/p400.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:500 600;font-display:swap;src:url(../fonts/p600.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:700;font-display:swap;src:url(../fonts/p700.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:800;font-display:swap;src:url(../fonts/p800.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:900;font-display:swap;src:url(../fonts/p900.woff2) format('woff2')}

:root{
  --blue:#1851d4;--blue-700:#1343b0;--blue-900:#0c2a6b;--navy:#081a45;--blue-50:#eef3fd;--blue-100:#dbe5fb;--blue-200:#b5c9f5;--blue-400:#5f86e3;
  --paper:#f7f6f2;--white:#ffffff;--ink:#15171c;--ink2:#3a3e48;--muted:#636876;--rule:#e3e1d9;--rule2:#d9d6cc;
  --green:#36d98a;--green-deep:#0f7a3c;--green-tint:#e6faef;
  --max:1120px;--gut:20px;--hdr:72px;
  --font:'Pretendard','Malgun Gothic','Apple SD Gothic Neo',sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--gh-font-body,var(--font));font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance;font-family:var(--gh-font-heading,var(--gh-font-body,var(--font)))}
p{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
.ct{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.narrow{max-width:calc(760px + var(--gut)*2)}
.tnum{font-variant-numeric:tabular-nums}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
.muted{color:var(--muted)}
.spacer{height:96px}
.lab-blue{font-size:14px;font-weight:700;color:var(--blue)}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;font-weight:700;font-size:16px;border:1px solid transparent;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn-blue{background:var(--blue);color:var(--white)}.btn-blue:hover{background:var(--green);color:var(--ink)}
.btn-white{background:var(--white);color:var(--ink)}.btn-white:hover{color:var(--blue)}
.btn-line{border-color:var(--rule2);background:var(--white);color:var(--ink)}.btn-line:hover{border-color:var(--ink)}
.btn-wline{border-color:rgba(255,255,255,.55);color:var(--white)}.btn-wline:hover{border-color:var(--white)}
.btns{display:flex;flex-wrap:wrap;gap:8px}

/* 공지 배너 (Ghost 기본 Announcement bar) */
#announcement-bar-root{font-family:var(--font)}

/* 헤더 */
.hdr{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:1px solid var(--rule)}
.hdr-in{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{display:block;width:150px;height:auto;max-height:44px;object-fit:contain;object-position:left}
.gnb{display:flex;align-items:center;gap:28px;font-size:16px;font-weight:700}
.gnb-item{height:var(--hdr);display:flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;font-weight:700;font-size:16px;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--ink)}
.gnb-item:hover{color:var(--blue)}
.gnb-item[aria-current],.gnb-item[aria-expanded="true"]{color:var(--blue);border-bottom-color:var(--blue)}
.gnb-item[aria-expanded="true"] svg{transform:rotate(180deg)}
.gnb .btn{min-height:40px;padding:0 16px;font-size:15px}
.gnb .btn[aria-current]{background:var(--blue-700)}
.icon-btn{width:44px;height:44px;border:0;background:transparent;display:none;align-items:center;justify-content:center}
.icon-btn.is-visible{display:flex}
.srch{width:40px;height:40px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:-8px}
.srch:hover{color:var(--blue)}

/* 펼침 메뉴 */
.mega{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--rule);box-shadow:0 16px 32px -20px rgba(21,23,28,.28)}
.mega-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 240px;padding-block:28px 32px;gap:40px}
.mega-col{display:flex;flex-direction:column;gap:10px}
.mega-h{font-size:13px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:4px}
.mega a.big{font-size:18px;font-weight:800;line-height:1.4}
.mega a.big small{display:block;font-size:13px;font-weight:500;color:var(--muted)}
.mega a.it{font-size:15px;font-weight:600;line-height:1.5}
.mega a:hover{color:var(--blue)}
.mega-cta{background:var(--blue-50);padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.mega-cta b{font-size:18px;color:var(--blue)}
.mega-on .empty-note{display:none;font-size:15px}
.mega-on:not(:has(a.big)) .empty-note{display:block}
.mega-past a.it:nth-of-type(n+7){display:none}
.mega-recent a.it:nth-of-type(n+5){display:none}

/* 모바일 메뉴 */
.drawer{position:fixed;inset:0;z-index:60;background:var(--white);overflow:auto}
.drawer-top{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}
.drawer-top img{width:128px;height:auto;max-height:40px;object-fit:contain;object-position:left}
.acc{border-bottom:1px solid var(--rule)}
.acc>button,.acc>a{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;font-size:19px;font-weight:800;padding:0;text-align:left}
.acc-body{display:flex;flex-direction:column;gap:12px;padding-bottom:18px;font-size:16px}
.acc-body a{display:flex;align-items:center;gap:8px;font-weight:600}
.acc-body a small{font-size:13px;font-weight:500;color:var(--muted)}
.acc-body .mega-h,.acc-body .mega-cta{display:none}
.acc-body a.big{font-weight:800;color:var(--blue)}
.drawer-btn{width:100%;margin-block:24px}
body.drawer-open{overflow:hidden}

/* 섹션 머리 */
.sec{padding-top:72px}
.sec-tight{padding-top:32px}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.sh h2{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.3;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sh .sh-sub{font-size:15px;font-weight:600;color:var(--muted)}
.sh .more{font-size:15px;font-weight:700;color:var(--muted);white-space:nowrap}
.sh .more:hover{color:var(--blue)}
.sh-r{display:flex;align-items:center;gap:6px}
.sh-r .more{margin-left:10px}
.arr{width:36px;height:36px;padding:0;border:1px solid var(--rule2);background:var(--white);display:inline-flex;align-items:center;justify-content:center}
.arr:hover{border-color:var(--ink)}

/* 홈 첫 화면: 블록을 모두 그리고 첫 블록만 보임 */
.hero-block ~ .hero-block{display:none}
.hero{background:var(--paper);color:var(--ink)}
.hero .eyebrow{color:var(--blue)}
.hero .eyebrow a:hover{color:var(--blue-700)}
.hero h1 a:hover{color:var(--blue)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;padding-block:56px}
.hero-tx{display:flex;flex-direction:column;gap:20px}
.eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--blue-100)}
.eyebrow .sep{opacity:.5}
.onblue .eyebrow a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.t1,.t-auto{font-size:52px;font-weight:900;line-height:1.22;letter-spacing:-.035em}
.t2{font-size:44px;font-weight:900;line-height:1.25;letter-spacing:-.035em}
.t3{font-size:38px;font-weight:900;line-height:1.28;letter-spacing:-.03em}
.t-auto.t2{font-size:44px;line-height:1.25}
.t-auto.t3{font-size:38px;line-height:1.28}
.hero-tx p{font-size:17px;line-height:1.75;color:var(--ink2);max-width:34em}
.hero-media{display:block}
.hero-img{display:block;aspect-ratio:16/10;width:100%;object-fit:cover;background:var(--navy)}
.hero-img.cover{aspect-ratio:16/10}
.byline{display:flex;align-items:center;gap:12px;padding-block:14px 18px;border-top:1px solid var(--rule2);font-size:15px}
.byline .bph{width:40px;height:40px;border-radius:50%;object-fit:cover}
.byline .more{margin-left:auto;font-size:14px;font-weight:700;color:var(--muted)}
.byline .more:hover{color:var(--blue)}

/* 카드 */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}
.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{display:flex;flex-direction:column;gap:8px;min-width:0}
.card .th{display:block;aspect-ratio:16/10;width:100%;object-fit:cover;margin-bottom:6px}
.card img.th,.ep img.th{background:var(--paper)}
.card .lab{font-size:13px;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.card .tt{font-size:17px;font-weight:800;line-height:1.45;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .dk{font-size:14px;line-height:1.6;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .dt{font-size:13px;color:var(--muted)}
.card:hover .tt{color:var(--blue)}
.card.big .tt{font-size:22px;-webkit-line-clamp:2}

/* 색 표지 (대표 이미지 없음) */
.cover{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:14px 16px;aspect-ratio:16/10;width:100%}
.cover .cv-no{font-size:28px;font-weight:900;letter-spacing:-.04em;line-height:1}
.cover .cv-t{font-size:14px;font-weight:800;line-height:1.35;position:relative;max-width:80%}
.cover>img{position:absolute;right:-6%;bottom:-20%;width:46%;opacity:.9}
.cover .cv-no,.cover .cv-t{position:relative;z-index:1}
.hero-img.cover>img,.acover>img{width:62%}
.hero-img.cover .cv-no{font-size:56px}.hero-img.cover .cv-t{font-size:20px}
.cv-A{background:var(--navy);color:var(--white)}.cv-A .cv-no{color:var(--green)}
.cover.has-color{color:var(--white)}.cover.has-color .cv-no{color:rgba(255,255,255,.85)}
.th-series{position:relative;display:block;aspect-ratio:16/10;width:100%;overflow:hidden;background:var(--navy)}
.th-series>img{display:block;width:100%;height:100%;object-fit:cover}
.th-series .cv-no{position:absolute;left:12px;bottom:10px;font-size:22px;font-weight:900;color:var(--white);text-shadow:0 1px 8px rgba(0,0,0,.45);letter-spacing:-.03em}
.th-series .cv-no:empty,.cv-no .epn:empty{display:none}
.chip{display:inline-flex;align-items:center;height:22px;padding:0 7px;font-size:12px;font-weight:800;background:var(--green);color:var(--ink)}
.chip.now{background:var(--green);color:var(--ink)}
.chip.lt{background:var(--blue-50);color:var(--blue)}

/* 편 번호: 발행일 순 목록 안에서 CSS 카운터로 매김. 프롤로그·에필로그는 번호에서 제외 */
.shelf,.eps{counter-reset:ep}
.shelf .ep-card:not(.is-prologue):not(.is-epilogue),.eps .ep-item:not(.is-prologue):not(.is-epilogue):not(.nx){counter-increment:ep}
.shelf .ep-card .epn::before,.eps .ep-item .epn::before{content:counter(ep) "편"}
.shelf .is-prologue .epn::before,.eps .is-prologue .epn::before{content:"프롤로그"}
.shelf .is-epilogue .epn::before,.eps .is-epilogue .epn::before{content:"에필로그"}
.epn:empty::before{content:""}

/* 편 선반 */
.shelf-wrap{background:var(--white);padding-block:48px 8px}
.shelf{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.shelf::-webkit-scrollbar{display:none}
.shelf>a,.shelf>div{flex:0 0 200px;min-width:0}
.shelf .card .tt{font-size:15px;-webkit-line-clamp:3}
.shelf .card.cur .th{outline:3px solid var(--green);outline-offset:-3px}
.shelf .next{border:1px dashed var(--rule2);padding:16px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.shelf .next .lab{color:var(--green-deep);font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}
.shelf .next .tt{color:var(--muted);font-size:15px;font-weight:700}
.shelf .next .dt{font-size:13px;color:var(--muted)}

/* 연재 섹션 (홈) */
.sgrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.sgrid:not(:has(.son)){grid-template-columns:minmax(0,1fr)}
.son{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}
.son ~ .son{display:none}
.son .th{display:block;aspect-ratio:16/10;width:100%;object-fit:cover;margin:0}
.son .sbody{display:flex;flex-direction:column;gap:8px;min-width:0}
.son .lab{font-size:13px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:8px}
.son .stt{font-size:22px;font-weight:800;line-height:1.35;letter-spacing:-.02em}
.son:hover .stt{color:var(--blue)}
.son .sdk{font-size:14px;line-height:1.6;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.son .dt{font-size:13px;color:var(--muted)}
.spast{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.spast .mega-h{padding-top:12px}
.spast .srow{padding:12px 0}
.spast>a.srow:nth-of-type(n+5):not(.more-row){display:none}
.spast .srow.more-row .nm{font-size:15px;font-weight:600}

/* 연재 목록 행 */
.slist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:48px;border-top:1px solid var(--ink)}
.srow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule)}
.srow .nm{font-size:18px;font-weight:800;line-height:1.4;letter-spacing:-.015em}
.srow .mt{font-size:13px;font-weight:600;color:var(--muted);text-align:right;white-space:nowrap}
.srow.on .mt{color:var(--green-deep);font-weight:700}
.srow:hover .nm{color:var(--blue)}

/* 주제별 칼럼 */
.topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}
.topic h3{font-size:20px;font-weight:800;display:flex;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.topic h3 .c{font-size:15px;font-weight:700;color:var(--blue)}
.topic h3 .more{margin-left:auto;font-size:14px;color:var(--muted)}
.topic ul{list-style:none;margin:0;padding:0}
.topic li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:16px;font-weight:600;line-height:1.5}
.topic li a:hover{color:var(--blue)}
.topic li .dt{font-size:13px;color:var(--muted);font-weight:500}

/* 문의 띠 */
.cta{background:var(--paper);margin-top:88px}
.cta-in{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:36px}
.cta .ph.sm{width:96px;height:96px;object-fit:cover;display:block}
.cta-tx{display:flex;flex-direction:column;gap:6px}
.cta .ctt{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.cta .bio{font-size:15px;color:var(--ink2);line-height:1.7;max-width:40em}
.cta-mark{width:96px;height:96px;background:var(--blue);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cta-mark img{width:120%;margin-bottom:-18%}

/* 필자 박스 */
.wbox{background:var(--paper);margin-top:88px}
.wbox-in{display:grid;grid-template-columns:168px minmax(0,1fr) auto;gap:36px;align-items:center;padding-block:44px}
.wbox .ph{width:168px;height:168px;object-fit:cover;display:block;background:var(--blue-100)}
.wbox .ph.sm{width:96px;height:96px}
.wbox-in.sm{grid-template-columns:96px minmax(0,1fr) auto;padding-block:32px}
.wbox-tx{display:flex;flex-direction:column;gap:6px}
.wbox .nm{font-size:17px;font-weight:800}
.wbox .nm span{font-weight:500;color:var(--muted);margin-left:6px;font-size:15px}
.wbox .bio{font-size:15px;color:var(--ink2);line-height:1.7;max-width:40em}
.guest-ph{width:96px;height:96px;background:var(--blue-100);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;text-align:center;padding:8px}

/* 연재 페이지 */
.shero{background:var(--blue);color:var(--white);position:relative;overflow:hidden}
.shero .mark{position:absolute;right:-80px;bottom:-140px;width:560px;pointer-events:none;opacity:.9}
.shero-in{position:relative;padding-block:56px}
.shero-tx{max-width:720px;display:flex;flex-direction:column;gap:18px}
.shero-in p{font-size:17px;line-height:1.75;color:var(--blue-100)}
.stats{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:15px;color:var(--blue-100);padding-top:18px;border-top:1px solid var(--blue-400)}
.stats b{color:var(--white);font-size:20px;font-weight:800;margin-right:6px}
.eps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);display:flex;flex-direction:column}
.eps.desc{flex-direction:column-reverse}
.ep{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--rule)}
.ep .th{display:block;aspect-ratio:16/10;width:100%;object-fit:cover}
.ep .bx{display:flex;flex-direction:column;gap:6px;min-width:0}
.ep .lab{font-size:13px;font-weight:700;color:var(--blue);display:flex;gap:6px;align-items:center}
.ep .tt{font-size:20px;font-weight:800;line-height:1.45;letter-spacing:-.015em}
.ep .dk{font-size:15px;color:var(--ink2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep .dt{font-size:13px;color:var(--muted)}
.ep:hover .tt{color:var(--blue)}
.ep.cur{background:var(--blue-50);margin-inline:-16px;padding-inline:16px;border-bottom-color:var(--blue-100)}
.nx .ep .ph0{aspect-ratio:16/10;border:1px dashed var(--rule2);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;font-weight:700}
.nx .ep .lab{color:var(--green-deep)}
.nx .ep .tt{color:var(--muted)}
.seg{display:flex;gap:4px}
.seg button{min-height:36px;padding:0 12px;border:1px solid var(--rule2);background:var(--white);font-weight:700;font-size:14px}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--white);border-color:var(--ink)}

/* 글 */
.progress{height:3px;background:transparent;position:sticky;top:var(--hdr);z-index:30}
.progress i{display:block;height:3px;width:0;background:var(--blue)}
.ahead{padding-block:48px 32px;display:flex;flex-direction:column;gap:18px}
.ahead .eyebrow{color:var(--blue)}
.ahead .eyebrow a:hover{color:var(--blue-700)}
.ahead h1{color:var(--ink)}
.ahead .t-auto{font-size:44px}.ahead .t-auto.t2{font-size:38px}.ahead .t-auto.t3{font-size:34px}
.ahead .dk{font-size:18px;line-height:1.75;color:var(--ink2)}
.ameta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding-top:18px;border-top:1px solid var(--rule);font-size:15px;color:var(--muted)}
.ameta b{color:var(--ink)}
.ameta .share{margin-left:auto;display:flex;gap:6px}
.ameta .share button{width:40px;height:40px;border:1px solid var(--rule2);background:var(--white);display:flex;align-items:center;justify-content:center}
.ameta .share button.is-done{border-color:var(--green);background:var(--green-tint)}
.afig{margin:0;display:flex;flex-direction:column;gap:8px}
.afig figcaption{font-size:14px;color:var(--muted)}
.aimg{display:block;width:100%;height:auto;max-height:640px;object-fit:cover}
.acover{aspect-ratio:21/9}
.article{padding-block:40px 0;display:flex;flex-direction:column;gap:32px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a{min-height:36px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid var(--rule2);font-size:14px;font-weight:700}
.tags a:hover{border-color:var(--ink)}
.nextbox{margin-top:24px;background:var(--blue);color:var(--white);padding:28px 30px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.nextbox .k{font-size:14px;font-weight:700;color:var(--blue-100);display:flex;align-items:center;gap:8px}
.nextbox .nt{font-size:24px;font-weight:800;line-height:1.4;letter-spacing:-.02em;display:block;margin-top:6px}
.nextbox.end{background:var(--paper);color:var(--ink)}.nextbox.end .k{color:var(--muted)}

/* 본문 (Ghost 편집기 출력) */
.prose{font-size:18px;line-height:1.9;color:#23262d}
.prose>*{margin:0 0 24px}
.prose>*:last-child{margin-bottom:0}
.prose h2{font-size:27px;font-weight:800;line-height:1.4;letter-spacing:-.02em;margin-top:48px;color:var(--ink);scroll-margin-top:calc(var(--hdr) + 24px)}
.prose h3{font-size:21px;font-weight:800;line-height:1.45;margin-top:32px;color:var(--ink);scroll-margin-top:calc(var(--hdr) + 24px)}
.prose h4{font-size:18px;font-weight:800;margin-top:24px;color:var(--ink)}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--blue-200)}
.prose a:hover{text-decoration-color:var(--blue)}
.prose strong,.prose b{font-weight:800;color:var(--ink)}
.prose ul,.prose ol{padding-left:1.3em;display:flex;flex-direction:column;gap:8px}
.prose li{padding-left:.2em}
.prose hr{width:100%;border:0;border-top:1px solid var(--rule);margin:32px 0}
.prose blockquote{margin:8px 0 24px;display:flex;flex-direction:column;gap:2px;padding:4px 0 4px 28px;font-size:18px;font-weight:600;line-height:1.85;color:var(--ink);position:relative}
.prose blockquote::before{content:"“";position:absolute;left:0;top:-4px;font-size:52px;font-weight:900;line-height:1;color:var(--blue)}
.prose blockquote p{margin:0}
.prose blockquote.kg-blockquote-alt{padding:8px 0;font-size:26px;font-weight:800;line-height:1.5;letter-spacing:-.02em;color:var(--blue);text-align:left;font-style:normal}
.prose blockquote.kg-blockquote-alt::before{content:none}
.prose blockquote.kg-blockquote-alt em,.prose blockquote.kg-blockquote-alt i{font-style:normal}
.prose figure{margin:4px 0 24px;display:flex;flex-direction:column;gap:8px}
.prose figure img{width:100%;height:auto;display:block;background:var(--paper)}
.prose figcaption{font-size:14px;color:var(--muted);line-height:1.6;text-align:left}
.prose .kg-width-wide{width:calc(100% + 360px);margin-left:-180px;max-width:none}
.prose .kg-width-full{width:100vw;margin-left:calc(50% - 50vw);max-width:none}
.prose .kg-callout-card{display:flex;gap:12px;padding:20px 22px;font-size:16px;line-height:1.8;background:var(--paper);border-radius:0;margin:0 0 24px}
.prose .kg-callout-card.kg-callout-card-blue,.prose .kg-callout-card.kg-callout-card-accent{background:var(--blue-50)}
.prose .kg-callout-card.kg-callout-card-green{background:var(--green-tint)}
.prose .kg-callout-card.kg-callout-card-grey,.prose .kg-callout-card.kg-callout-card-white,.prose .kg-callout-card.kg-callout-card-yellow,.prose .kg-callout-card.kg-callout-card-red,.prose .kg-callout-card.kg-callout-card-pink,.prose .kg-callout-card.kg-callout-card-purple{background:var(--paper)}
.prose .kg-callout-emoji{font-size:20px;line-height:1.5;flex:none}
.prose .kg-callout-text{font-size:16px;line-height:1.8}
.prose .kg-callout-card.why{background:var(--blue-50);flex-direction:column;gap:6px;padding:24px 26px}
.prose .kg-callout-card.why .kg-callout-emoji{display:none}
.prose .kg-callout-card.why .kg-callout-text{font-size:17px;font-weight:500}
.prose .kg-callout-card.why .kg-callout-text b,.prose .kg-callout-card.why .kg-callout-text strong{display:block;font-size:17px;font-weight:800;color:var(--blue);margin-bottom:6px}
.prose .kg-toggle-card{border:1px solid var(--rule2);padding:16px 20px;border-radius:0}
.prose .kg-toggle-heading-text{font-size:17px;font-weight:800}
.prose .kg-bookmark-card,.prose .kg-bookmark-container{border-radius:0}
.prose .kg-bookmark-container{border:1px solid var(--rule2);box-shadow:none;color:inherit;text-decoration:none}
.prose .kg-bookmark-title{font-weight:800}
.prose .kg-button-card .kg-btn{border-radius:0;font-weight:700;font-family:var(--font)}
.prose .kg-header-card{border-radius:0}
.prose .kg-embed-card iframe{max-width:100%}
.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6;border-top:1px solid var(--ink)}
.prose th{text-align:left;font-weight:800;padding:12px;border-bottom:1px solid var(--ink);background:var(--paper);vertical-align:top}
.prose td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top}
.prose .tbw{overflow-x:auto}
.prose pre{background:var(--paper);padding:16px 20px;overflow-x:auto;font-size:14px;line-height:1.6}
.prose code{background:var(--paper);padding:2px 6px;font-size:.9em}
.prose pre code{background:none;padding:0}
.prose img{max-width:100%;height:auto}
.toc{display:flex;flex-direction:column;gap:8px;font-size:16px;padding-bottom:28px;border-bottom:1px solid var(--rule);margin:0 0 32px}
.toc b{font-size:14px;color:var(--muted)}
.toc a{font-weight:700;color:var(--ink);text-decoration:none}.toc a:hover{color:var(--blue)}
.prose-about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;font-size:17px;line-height:1.85}
.prose-about>*{grid-column:1/-1}
.prose-about>p{font-size:18px}
.prose-about h2{font-size:26px;margin-top:56px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.prose-about ul{list-style:none;padding:0;gap:0}
.prose-about ul li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.55}
.prose-about ul li strong{font-weight:800;margin-right:8px}
.prose-about ul li a{font-weight:700;text-decoration:none}
.prose-about ul li a:hover{color:var(--blue);text-decoration:underline}
/* 콜아웃 카드 2개를 나란히 붙이면(예: 주요 이력 / 저서와 강연) 자동으로 2단이 됩니다 */
.prose-about>.kg-callout-card{grid-column:auto;background:var(--paper);padding:26px 26px 28px;margin:0!important}
.prose-about>.kg-callout-card .kg-callout-emoji{font-size:14px;font-weight:900;color:var(--blue);line-height:1.6}
.prose-about>.kg-callout-card .kg-callout-text{font-size:16px;color:var(--ink2);line-height:1.6}
.prose-about>.kg-callout-card .kg-callout-text b,.prose-about>.kg-callout-card .kg-callout-text strong{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}

/* 목록 페이지 */
.phead{padding-block:48px 8px;display:flex;flex-direction:column;gap:12px}
.phead h1{font-size:40px;font-weight:900;letter-spacing:-.03em;line-height:1.25}
.phead-count{font-size:22px;font-weight:700}
.phead p{font-size:17px;color:var(--ink2);max-width:40em}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.fchip{min-height:38px;padding:0 14px;border:1px solid var(--rule2);background:var(--white);font-weight:700;font-size:14px}
.fchip[aria-pressed="true"]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.archive{border-top:1px solid var(--ink)}
.archive-list{list-style:none;margin:0;padding:0}
.archive-item a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:10px 0}
.archive-item a b{font-size:17px;font-weight:700;line-height:1.5}
.archive-item a small{display:block;font-size:12px;font-weight:700;color:var(--blue)}
.archive-item a:hover b{color:var(--blue)}
.archive-item.is-hidden{display:none}
.month{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding-block:22px;border-bottom:1px solid var(--rule)}
.month.is-empty{display:none}
.month .mn{font-size:22px;font-weight:900;color:var(--blue)}
.month ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.archive-empty{padding:32px 0;color:var(--muted)}
.dt{font-size:13px;color:var(--muted)}
.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:48px}
.page-number{font-size:14px;color:var(--muted)}

/* 필자 페이지 */
.wtop{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:center;padding-top:8px}
.wtop-ph{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.guest-ph.wtop-ph{height:auto;font-size:24px}
.wtop-tx{display:flex;flex-direction:column;gap:14px}
.wtop-tx h1{font-size:40px;font-weight:900;letter-spacing:-.03em}
.wtop-line{font-size:17px}
.wtop-bio{font-size:22px;font-weight:800;line-height:1.5;letter-spacing:-.02em}

/* 문의하기 */
.hero-contact-in{padding-block:56px 48px;display:flex;flex-direction:column;gap:18px}
.hero-contact-in h1{max-width:16ch}
.hero-contact-in p{font-size:17px;line-height:1.75;color:var(--ink2);max-width:36em}
.contact-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-size:16px}
.contact-body>*{grid-column:1/-1;margin:0}
.contact-body>h2{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin-top:40px;margin-bottom:6px}
.contact-body>h2:first-child{margin-top:0}
.contact-body>.kg-callout-card{grid-column:auto;background:var(--paper);padding:26px 26px 28px;display:flex;flex-direction:column;gap:8px;min-height:200px;margin:0!important}
.contact-body>.kg-callout-card .kg-callout-emoji{font-size:14px;font-weight:900;color:var(--blue);line-height:1.6}
.contact-body>.kg-callout-card .kg-callout-text{font-size:15px;color:var(--ink2);line-height:1.6}
.contact-body>.kg-callout-card .kg-callout-text b,.contact-body>.kg-callout-card .kg-callout-text strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.contact-body>ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);max-width:760px;counter-reset:cl;gap:0}
.contact-body>ol li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:17px;font-weight:600;counter-increment:cl}
.contact-body>ol li::before{content:"0" counter(cl);font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums}
.contact-body>ul{padding-left:1.2em}
.cways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cway{padding:32px;display:flex;flex-direction:column;gap:10px;min-height:260px}
.cway .btn,.cway .btns{margin-top:auto}
.cway .cwl{font-size:13px;font-weight:800}
.cway .cwt{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.35;word-break:break-all}
.cway .cws{font-size:15px;line-height:1.65}
.cway.k{background:var(--blue);color:var(--white)}
.cway.k .cwl{color:var(--blue-100)}.cway.k .cws{color:var(--blue-100)}
.cway.k .btn-white{align-self:flex-start}
.cway.m{background:var(--paper)}
.cway.m .cwl{color:var(--blue)}.cway.m .cws{color:var(--ink2)}
.cway .v{user-select:all}

/* 푸터 */
.ftr{background:var(--blue);color:var(--white);margin-top:0}
.ftr-in{padding-block:56px 32px;display:flex;flex-direction:column;gap:40px}
.ftr-top{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:56px}
.ftr-brand{display:flex;flex-direction:column;gap:18px}
.ftr-logo{width:200px;height:auto;max-height:56px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}
.ftr-top p{color:var(--blue-100);font-size:15px;line-height:1.75}
.ftr-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ftr-cols div{display:flex;flex-direction:column;gap:10px}
.ftr-cols span{font-size:13px;font-weight:700;color:var(--blue-200)}
.ftr-cols a{font-size:15px;font-weight:600}
.ftr-cols a:hover{text-decoration:underline;text-underline-offset:3px}
.ftr-m{display:none}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--blue-400);font-size:13px;color:var(--blue-100)}

/* 반응형 */
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mega-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mega-cta{display:none}
  .ftr-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prose .kg-width-wide{width:100%;margin-left:0}
}
@media (max-width:860px){
  :root{--hdr:60px}
  .gnb .gnb-item,.gnb .btn,.gnb-menu{display:none}
  .srch{width:44px;height:44px;margin-left:0}
  .icon-btn{display:flex}
  .logo img{width:128px}
  .mega{display:none!important}
  .ftr-cols{display:none}
  .ftr-in{padding-block:40px 28px;gap:28px}
  .ftr-top{grid-template-columns:minmax(0,1fr);gap:32px}
  .ftr-logo{width:160px}
  .ftr-top p{font-size:14px}
  .ftr-m{display:flex;flex-direction:column;gap:14px}
  .ftr-mk{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:15px;font-weight:700}
  .ftr-mc{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;font-weight:600;color:var(--blue-100);padding-top:14px;border-top:1px solid var(--blue-400)}
  .ftr-bot{flex-direction:column;gap:4px;padding-top:0;border-top:0;font-size:12px}
  .shelf{scroll-snap-type:x proximity}.shelf>a,.shelf>div{scroll-snap-align:start}
  .arr{display:none}
  .hero-in{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:32px 36px}
  .hero-media{order:-1}
  .t1,.t-auto{font-size:34px}.t2,.t-auto.t2{font-size:30px}.t3,.t-auto.t3{font-size:27px}
  .ahead .t-auto{font-size:32px}.ahead .t-auto.t2{font-size:28px}.ahead .t-auto.t3{font-size:26px}
  .grid,.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .card .tt{font-size:16px}
  .slist{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .sec{padding-top:56px}
  .sh h2{font-size:22px}
  .wbox-in,.wbox-in.sm,.cta-in{grid-template-columns:88px minmax(0,1fr);gap:20px}
  .cta-in>.btns,.wbox-in>.btns{grid-column:1/-1}
  .cta .ph.sm,.wbox .ph,.wbox .ph.sm,.guest-ph,.cta-mark{width:88px;height:88px}
  .sgrid{grid-template-columns:minmax(0,1fr);gap:28px}
  .son{grid-template-columns:minmax(0,1fr)}
  .byline{font-size:14px;flex-wrap:wrap}
  .ep{grid-template-columns:120px minmax(0,1fr);gap:16px}
  .ep .tt{font-size:17px}.ep .dk{display:none}
  .contact-body,.cways,.prose-about{grid-template-columns:minmax(0,1fr)}
  .contact-body>.kg-callout-card{min-height:0}.cway{min-height:0;padding:24px}
  .month{grid-template-columns:minmax(0,1fr);gap:4px}
  .phead h1{font-size:30px}
  .prose{font-size:17px}
  .prose h2{font-size:23px}
  .prose blockquote.kg-blockquote-alt{font-size:22px}
  .nextbox .nt{font-size:20px}
  .wtop{grid-template-columns:110px minmax(0,1fr);gap:18px}
  .wtop-tx h1{font-size:30px}
  .wtop-bio{font-size:19px}
  .progress{top:var(--hdr)}
}
@media (max-width:480px){
  .grid,.grid.g3{grid-template-columns:minmax(0,1fr)}
  .grid .card:not(.big){display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:14px;grid-template-rows:auto auto 1fr;align-items:start}
  .grid .card:not(.big) .th{grid-column:2;grid-row:1/4;margin:0;aspect-ratio:4/3}
  .grid .card:not(.big) .dk{display:none}
  .hero .btn{width:100%}
  .ameta .share{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
