/*
Theme Name: Wisely Journal
Theme URI: https://peakpilateskr.com
Description: 지혜로운 필라테스(Peak Pilates® Korea) 공식 저널·정보 사이트 테마. 시안 B(Wisely Journal) 디자인 기반.
Author: 리디웹스튜디오
Author URI: https://optify.kr
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wisely-journal
Tags: blog, one-column, custom-menu, featured-images, editor-style
*/

/* =========================================================
   1. 시안 B 원본 스타일 (변경 금지 — 디자인 기준)
   ========================================================= */
:root{
  --ink:#212121;
  --sub:#6a6a6a;
  --faint:#999;
  --blue:#3f6db4;       /* Peak Pilates blue */
  --blue-soft:#eef3fa;
  --line:#e8e6e2;
  --cream:#faf9f7;
  --serif-en:'Cormorant Garamond',serif;
  --serif-kr:'Noto Serif KR',serif;
  --sans:"Pretendard Variable",Pretendard,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* ── Header ── */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}
.hd{display:flex;align-items:center;justify-content:space-between;height:88px;}
.logo{display:flex;flex-direction:column;line-height:1.2;}
.logo .en{font-family:var(--serif-en);font-size:26px;font-weight:500;letter-spacing:1px;}
.logo .kr{font-size:11px;letter-spacing:4px;color:var(--faint);margin-top:2px;}
nav.gnb{display:flex;gap:40px;font-size:14px;letter-spacing:.5px;color:#444;}
nav.gnb a{padding:8px 0;position:relative;transition:.2s;}
nav.gnb a:hover,nav.gnb a.on{color:var(--blue);}
nav.gnb a.on::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.5px;background:var(--blue);}
.hd-link{font-size:13px;letter-spacing:1px;color:var(--sub);border:1px solid var(--ink);padding:11px 24px;transition:.25s;}
.hd-link:hover{background:var(--ink);color:#fff;}

/* ── Hero ── */
.hero{text-align:center;padding:110px 24px 90px;background:linear-gradient(#fff, var(--cream));}
.hero .en{font-family:var(--serif-en);font-size:15px;letter-spacing:6px;color:var(--blue);text-transform:uppercase;}
.hero h1{font-family:var(--serif-en);font-size:clamp(52px,7vw,88px);font-weight:400;letter-spacing:2px;margin-top:18px;}
.hero h1 i{font-style:italic;color:var(--blue);}
.hero .kr{margin-top:22px;font-family:var(--serif-kr);font-weight:300;font-size:18px;color:var(--sub);line-height:1.9;}
.hero .rule{width:48px;height:1px;background:var(--ink);margin:36px auto 0;}

/* ── Category strip ── */
.cats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;}
.cats .wrap{display:flex;justify-content:center;gap:52px;padding:20px 32px;font-size:14px;letter-spacing:1px;color:var(--sub);flex-wrap:wrap;}
.cats a.on{color:var(--ink);font-weight:600;}
.cats a:hover{color:var(--blue);}

/* ── Featured ── */
.featured{padding:90px 0 70px;}
.sec-label{text-align:center;margin-bottom:48px;}
.sec-label .en{font-family:var(--serif-en);font-size:14px;letter-spacing:5px;color:var(--faint);text-transform:uppercase;}
.sec-label h2{font-family:var(--serif-kr);font-weight:400;font-size:30px;margin-top:10px;letter-spacing:-.5px;}
.feat-card{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;}
.feat-img{aspect-ratio:4/3;background:
  radial-gradient(circle at 70% 20%, #dfe9f6 0%, transparent 50%),
  linear-gradient(155deg,#f4f1ec 0%,#e7e2da 60%,#d9d2c6 100%);
  position:relative;overflow:hidden;}
.feat-img .tag{position:absolute;top:20px;left:20px;background:#fff;font-size:11px;letter-spacing:2px;padding:8px 16px;color:var(--blue);font-weight:600;}
.feat-img .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif-en);font-size:20px;letter-spacing:3px;color:#a89f8d;}
.feat-body .cat{font-size:12px;letter-spacing:3px;color:var(--blue);font-weight:600;}
.feat-body h3{font-family:var(--serif-kr);font-weight:500;font-size:32px;line-height:1.45;margin-top:16px;letter-spacing:-.5px;}
.feat-body p{margin-top:20px;color:var(--sub);font-size:15.5px;line-height:1.85;}
.feat-body .meta{margin-top:26px;font-size:13px;color:var(--faint);letter-spacing:.5px;}
.feat-body .more{display:inline-block;margin-top:30px;font-size:13px;letter-spacing:2px;border-bottom:1px solid var(--ink);padding-bottom:4px;transition:.2s;}
.feat-body .more:hover{color:var(--blue);border-color:var(--blue);}

/* ── Post grid ── */
.posts{padding:40px 0 90px;}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 36px;}
.post{display:flex;flex-direction:column;}
.post .img{aspect-ratio:4/3;margin-bottom:22px;position:relative;overflow:hidden;transition:.3s;}
.post:hover .img{opacity:.88;}
.i1{background:linear-gradient(150deg,#eff3f9,#ccdaee);}
.i2{background:linear-gradient(150deg,#f6f3ee,#e2d8c8);}
.i3{background:linear-gradient(150deg,#eef4f2,#cfe0da);}
.i4{background:linear-gradient(150deg,#f7f1ef,#e5d2cb);}
.i5{background:linear-gradient(150deg,#f1f1f6,#d6d6e6);}
.i6{background:linear-gradient(150deg,#f4f6ee,#dde4cb);}
.post .img .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif-en);font-size:13px;letter-spacing:3px;color:rgba(33,33,33,.35);text-transform:uppercase;}
.post .cat{font-size:11.5px;letter-spacing:2.5px;color:var(--blue);font-weight:600;}
.post h3{font-family:var(--serif-kr);font-weight:500;font-size:20px;line-height:1.5;margin-top:12px;letter-spacing:-.3px;}
.post p{margin-top:12px;font-size:14px;color:var(--sub);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.post .meta{margin-top:14px;font-size:12.5px;color:var(--faint);}

/* ── Quote band ── */
.quote{background:var(--blue-soft);text-align:center;padding:90px 24px;}
.quote .q{font-family:var(--serif-en);font-size:clamp(24px,3.4vw,36px);font-style:italic;color:var(--ink);line-height:1.5;}
.quote .by{margin-top:20px;font-size:13px;letter-spacing:3px;color:var(--blue);text-transform:uppercase;}

/* ── CTA ── */
.cta{text-align:center;padding:100px 24px;}
.cta .en{font-family:var(--serif-en);font-size:14px;letter-spacing:5px;color:var(--faint);text-transform:uppercase;}
.cta h2{font-family:var(--serif-kr);font-weight:400;font-size:clamp(26px,3.5vw,36px);margin-top:14px;line-height:1.5;}
.cta p{margin-top:16px;color:var(--sub);font-size:15px;line-height:1.8;}
.cta a{display:inline-block;margin-top:36px;border:1px solid var(--ink);padding:16px 48px;font-size:13px;letter-spacing:3px;transition:.25s;}
.cta a:hover{background:var(--ink);color:#fff;}

/* ── Footer ── */
footer{border-top:1px solid var(--line);padding:54px 0 60px;background:var(--cream);}
.ft{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.ft .logo-en{font-family:var(--serif-en);font-size:22px;}
.ft p{margin-top:14px;font-size:12.5px;color:var(--faint);line-height:1.9;}
.ft-nav{display:flex;gap:28px;font-size:13px;color:var(--sub);letter-spacing:1px;}
@media(max-width:900px){
  .feat-card{grid-template-columns:1fr;gap:36px;}
  .post-grid{grid-template-columns:1fr;}
  nav.gnb{display:none;}
}

/* =========================================================
   2. WordPress 연동 확장 (시안 토큰만 사용, 원본 규칙은 위에서 유지)
   ========================================================= */
img{max-width:100%;height:auto;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}

/* GNB: WP 메뉴(ul/li) + 2단 드롭다운 */
nav.gnb ul{display:flex;gap:40px;list-style:none;margin:0;padding:0;height:88px;align-items:center;}
nav.gnb li{position:relative;height:100%;display:flex;align-items:center;}
nav.gnb li>a{display:block;}
nav.gnb .current-menu-item>a,nav.gnb .current-menu-ancestor>a,nav.gnb .current-menu-parent>a,nav.gnb .current_page_parent>a{color:var(--blue);}
nav.gnb ul>.current-menu-item>a::after,nav.gnb ul>.current-menu-ancestor>a::after,nav.gnb ul>.current-menu-parent>a::after,nav.gnb ul>.current_page_parent>a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.5px;background:var(--blue);}
nav.gnb .sub-menu{position:absolute;top:100%;left:-22px;min-width:210px;background:#fff;border:1px solid var(--line);border-top:0;padding:10px 0 12px;display:none;flex-direction:column;gap:0;height:auto;align-items:stretch;z-index:110;}
nav.gnb li:hover>.sub-menu,nav.gnb li:focus-within>.sub-menu{display:flex;}
nav.gnb .sub-menu li{height:auto;display:block;}
nav.gnb .sub-menu a{display:block;padding:9px 22px;font-size:13.5px;letter-spacing:.3px;color:var(--sub);}
nav.gnb .sub-menu a:hover,nav.gnb .sub-menu .current-menu-item>a{color:var(--blue);}
nav.gnb .sub-menu a::after{display:none!important;}
nav.gnb .hd-link{display:none;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px 0 10px 12px;}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0;transition:.2s;}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
body.nav-open .nav-toggle span:nth-child(2){opacity:0;}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* 내부 페이지 히어로 */
.page-hero{text-align:center;padding:84px 24px 64px;background:linear-gradient(#fff,var(--cream));}
.page-hero .en{font-family:var(--serif-en);font-size:14px;letter-spacing:5px;color:var(--blue);text-transform:uppercase;}
.page-hero h1{font-family:var(--serif-kr);font-weight:400;font-size:clamp(30px,4.2vw,46px);margin-top:16px;letter-spacing:-.5px;line-height:1.35;}
.page-hero .kr{margin:18px auto 0;max-width:640px;font-family:var(--serif-kr);font-weight:300;font-size:17px;color:var(--sub);line-height:1.9;word-break:keep-all;}
.page-hero h1,.hero .kr,.post h3,.feat-body h3,.feat-body p,.post p,.sec-label h2,.cta h2,.wj-card h3,.wj-card p,.wj-grid.text h4,.wj-grid.text p,.prose h2,.prose h3,.prose h4,.prose p,.prose li{word-break:keep-all;}
.page-hero .rule{width:48px;height:1px;background:var(--ink);margin:30px auto 0;}
.cats.subnav .wrap{gap:40px;font-size:13.5px;}

/* 본문 타이포그래피 */
.prose{max-width:820px;margin:0 auto;padding:64px 32px 90px;font-family:var(--sans);font-size:16.5px;line-height:1.9;color:#333;word-break:keep-all;}
.prose.wide{max-width:1180px;}
.prose>*:first-child{margin-top:0;}
.prose h2{font-family:var(--serif-kr);font-weight:500;font-size:28px;line-height:1.45;margin:72px 0 22px;letter-spacing:-.5px;color:var(--ink);}
.prose h3{font-family:var(--serif-kr);font-weight:500;font-size:22px;line-height:1.5;margin:48px 0 14px;color:var(--ink);}
.prose h4{font-size:16.5px;font-weight:600;margin:34px 0 10px;letter-spacing:-.2px;color:var(--ink);}
.prose h5,.prose h6{font-size:15px;font-weight:600;margin:28px 0 8px;}
.prose p{margin:0 0 18px;}
.prose ul,.prose ol{margin:0 0 22px 22px;}
.prose li{margin:6px 0;}
.prose li p{margin:0;}
.prose strong{font-weight:600;color:var(--ink);}
.prose a{color:var(--blue);border-bottom:1px solid rgba(63,109,180,.35);transition:.2s;}
.prose a:hover{border-color:var(--blue);}
.prose img{display:block;}
.prose figure{margin:36px 0;}
.prose figcaption{margin-top:10px;font-size:13px;color:var(--faint);text-align:center;}
.prose .wp-block-image img,.prose .wj-figure img{width:100%;}
.prose blockquote{margin:40px 0;padding:26px 30px;border-left:2px solid var(--blue);background:var(--blue-soft);font-family:var(--serif-kr);font-weight:400;font-size:17px;line-height:1.85;color:var(--ink);}
.prose blockquote p{margin:0 0 8px;}
.prose blockquote p:last-child{margin:0;}
.prose blockquote cite{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:12.5px;letter-spacing:1px;color:var(--faint);}
.prose table{width:100%;border-collapse:collapse;margin:16px 0 28px;font-size:14.5px;line-height:1.6;}
.prose th,.prose td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top;}
.prose th{background:var(--cream);font-weight:600;white-space:nowrap;}
.prose .table-scroll{overflow-x:auto;}
.prose hr{border:0;border-top:1px solid var(--line);margin:60px 0;}
.prose .wp-block-buttons{margin:28px 0;}
.prose .has-text-align-center{text-align:center;}

/* ── 글 상세 (에디토리얼 레이아웃) ── */
.post-head{background:linear-gradient(#fff,var(--cream));padding:88px 24px 150px;text-align:center;}
.post-head.no-cover{padding-bottom:80px;}
.post-head .cat{font-size:12px;letter-spacing:3px;color:var(--blue);font-weight:600;}
.post-head h1{font-family:var(--serif-kr);font-weight:500;font-size:clamp(30px,4.2vw,46px);line-height:1.4;letter-spacing:-.5px;max-width:860px;margin:18px auto 0;word-break:keep-all;}
.post-head .lead{max-width:660px;margin:24px auto 0;font-family:var(--serif-kr);font-weight:300;font-size:17px;line-height:1.9;color:var(--sub);word-break:keep-all;}
.post-head .rule{width:48px;height:1px;background:var(--ink);margin:34px auto 0;}
.post-head .meta{margin-top:22px;font-size:13px;letter-spacing:.5px;color:var(--faint);}
.post-head .meta .d{font-family:var(--serif-en);font-size:16px;letter-spacing:1.5px;color:var(--sub);}
.post-head .meta .sep{margin:0 10px;}
.post-cover{max-width:1180px;margin:-110px auto 0;padding:0 32px;}
.post-cover figure{margin:0;}
.post-cover img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block;}
.post-cover figcaption{margin-top:12px;font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--faint);text-align:center;}
.article{max-width:1180px;margin:0 auto;padding:80px 32px 90px;display:grid;grid-template-columns:200px minmax(0,700px);gap:88px;justify-content:center;align-items:start;}
.article-rail{position:sticky;top:112px;font-size:13.5px;color:var(--ink);}
.rail-label{font-family:var(--serif-en);font-size:12px;letter-spacing:4px;color:var(--faint);text-transform:uppercase;margin-bottom:8px;}
.rail-block{padding:18px 0;border-top:1px solid var(--line);}
.rail-block:first-child{border-top:0;padding-top:0;}
.rail-block a:hover{color:var(--blue);}
.rail-sub{font-size:12px;color:var(--faint);margin-top:4px;letter-spacing:.3px;line-height:1.5;}
.rail-date{font-family:var(--serif-en);font-size:17px;letter-spacing:1px;}
.rail-toc a{display:block;padding:5px 0 5px 12px;border-left:1px solid var(--line);color:var(--sub);font-size:13px;line-height:1.5;transition:.2s;word-break:keep-all;}
.rail-toc a.lv3{padding-left:24px;font-size:12.5px;}
.rail-toc a:hover,.rail-toc a.on{color:var(--blue);border-color:var(--blue);}
.copy-link{background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 3px;font-family:var(--sans);font-size:13px;letter-spacing:1px;color:var(--ink);cursor:pointer;transition:.2s;}
.copy-link:hover{color:var(--blue);border-color:var(--blue);}
.copy-link.done{color:var(--blue);border-color:transparent;}
.prose.in-article{max-width:none;padding:0;}
.article-body{counter-reset:h2;}
.article-body p,.article-body li,.article-body td,.article-body th,.article-body dd,.article-body dt{font-family:var(--sans);}
.article-body p{font-size:17px;line-height:1.95;color:#333;margin:0 0 22px;word-break:keep-all;}
.article-body>p:first-of-type{font-size:18px;color:var(--ink);}
.article-body h2{counter-increment:h2;font-family:var(--serif-kr);font-weight:500;font-size:27px;line-height:1.45;letter-spacing:-.5px;margin:64px 0 18px;word-break:keep-all;}
.article-body h2::before{content:counter(h2,decimal-leading-zero);display:block;font-family:var(--serif-en);font-size:15px;letter-spacing:3px;color:var(--blue);margin-bottom:10px;}
.article-body h3{font-family:var(--serif-kr);font-weight:500;font-size:21px;line-height:1.5;margin:44px 0 12px;}
.article-body h4{font-size:16.5px;font-weight:600;margin:34px 0 10px;}
.article-body ul,.article-body ol{margin:0 0 24px 20px;}
.article-body li{margin:8px 0;line-height:1.85;color:#333;}
.article-body li::marker{color:var(--blue);}
.article-body blockquote{margin:48px 0;padding:6px 0 6px 52px;border:0;background:none;position:relative;font-family:var(--serif-kr);font-weight:400;font-size:21px;line-height:1.75;color:var(--ink);word-break:keep-all;}
.article-body blockquote::before{content:"\201C";position:absolute;left:0;top:-14px;font-family:var(--serif-en);font-size:72px;line-height:1;color:var(--blue);}
.article-body blockquote p{font-family:var(--serif-kr);font-size:inherit;line-height:inherit;color:inherit;margin:0 0 8px;}
.article-body blockquote cite{font-family:var(--sans);font-style:normal;font-size:12.5px;letter-spacing:1px;color:var(--faint);}
.article-body figure{margin:44px 0;}
.article-body figcaption{margin-top:12px;font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--faint);text-align:center;}
.article-body img{width:100%;height:auto;display:block;}
.article-body hr{width:48px;margin:56px auto;border:0;border-top:1px solid var(--ink);}
.article-body a{color:var(--blue);border-bottom:1px solid rgba(63,109,180,.35);}
.article-body table{font-size:15px;}
.article-body .wj-note{background:var(--blue-soft);padding:24px 28px;margin:36px 0;}
.article-body .wj-note p{font-size:15px;margin:0;}
.article-foot{margin-top:64px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.article-foot .copy-link:only-child{margin-left:auto;}
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;}
.post-tags a{font-size:12px;letter-spacing:1px;border:1px solid var(--line);padding:6px 12px;color:var(--sub);border-bottom:1px solid var(--line)!important;}
.post-tags a:hover{border-color:var(--ink)!important;color:var(--ink);}
.author-card{display:grid;grid-template-columns:110px 1fr;gap:28px;align-items:center;margin-top:44px;padding:32px;background:var(--cream);}
.author-card .photo{aspect-ratio:1/1;overflow:hidden;}
.author-card .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.author-card .name{font-family:var(--serif-kr);font-size:21px;font-weight:500;}
.author-card .title{font-size:11.5px;letter-spacing:2.5px;color:var(--blue);font-weight:600;text-transform:uppercase;margin-top:5px;}
.author-card p{font-size:14px;color:var(--sub);line-height:1.75;margin:12px 0 0;word-break:keep-all;}
.author-card .more{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:2px;border-bottom:1px solid var(--ink)!important;padding-bottom:3px;color:var(--ink);}
.author-card .more:hover{color:var(--blue);}
.post-nav{display:grid;grid-template-columns:1fr 1fr;margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.post-nav .pn{padding:26px 24px 26px 0;min-height:60px;}
.post-nav .next{text-align:right;padding:26px 0 26px 24px;border-left:1px solid var(--line);}
.post-nav .pn a{display:block;margin-top:8px;font-family:var(--serif-kr);font-size:17px;line-height:1.5;color:var(--ink);border-bottom:0;word-break:keep-all;}
.post-nav .pn a:hover{color:var(--blue);}
.related{padding:80px 0 90px;border-top:1px solid var(--line);}

/* 카드 이미지 / 플레이스홀더 */
.post .img{display:block;}
.post .img img,.feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.posts .more-wrap{text-align:center;margin-top:64px;}

/* 페이지네이션 */
.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:64px;font-family:var(--serif-en);font-size:17px;letter-spacing:1px;color:var(--sub);}
.pagination .page-numbers{padding:4px 2px;border-bottom:1px solid transparent;}
.pagination .page-numbers.current{color:var(--blue);border-color:var(--blue);}
.pagination a:hover{color:var(--blue);}

/* 재사용 컴포넌트 (본문 안에서 사용) */
.wj-lead{font-family:var(--serif-kr);font-weight:300;font-size:21px;line-height:1.85;color:var(--ink);text-align:left;margin:0 0 44px;max-width:820px;word-break:keep-all;}
.wj-eyebrow{font-family:var(--serif-en);font-size:13px;letter-spacing:5px;color:var(--faint);text-transform:uppercase;text-align:center;margin-bottom:10px;}
.wj-center{text-align:left;}
.wj-section-title{text-align:center;margin:80px 0 40px;}
.wj-section-title .en{font-family:var(--serif-en);font-size:14px;letter-spacing:5px;color:var(--faint);text-transform:uppercase;}
.wj-section-title h2{margin:10px 0 0;font-weight:400;font-size:30px;}
.wj-grid{display:grid;gap:40px 32px;margin:40px 0;}
.wj-grid.c2{grid-template-columns:repeat(2,1fr);}
.wj-grid.c3{grid-template-columns:repeat(3,1fr);}
.wj-grid.c4{grid-template-columns:repeat(4,1fr);}
.wj-grid.c5{grid-template-columns:repeat(5,1fr);}
.wj-grid.text{gap:32px 48px;}
.wj-grid.text h4{margin-top:0;font-family:var(--serif-kr);font-weight:500;font-size:19px;}
.wj-grid.text p{font-size:15px;color:var(--sub);margin:0;}
.wj-card{display:flex;flex-direction:column;}
.prose a.wj-card{color:inherit;border-bottom:0;}
.wj-card .img{width:100%;}
.wj-card .img{aspect-ratio:4/3;overflow:hidden;background:var(--cream);margin-bottom:18px;display:block;}
.wj-card .img.portrait{aspect-ratio:3/4;}
.wj-card .img.square{aspect-ratio:1/1;}
.wj-card .img img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s;}
.wj-card:hover .img img{opacity:.88;}
.wj-card .label{font-size:11.5px;letter-spacing:2.5px;color:var(--blue);font-weight:600;margin-bottom:8px;}
.wj-card h3{font-family:var(--serif-kr);font-weight:500;font-size:19px;line-height:1.5;margin:0 0 8px;}
.wj-card p{font-size:14.5px;color:var(--sub);margin:0;line-height:1.75;}
.wj-card .more{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:2px;border-bottom:1px solid var(--ink);padding-bottom:3px;color:var(--ink);}
.wj-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:40px 0;}
.wj-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.wj-gallery.wide img{aspect-ratio:4/3;}
.wj-info{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:48px 0;}
.wj-info .img img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;}
.wj-info h3{margin-top:0;}
.wj-info.reverse .img{order:2;}
.wj-figure{margin:40px 0;}
.wj-figure img{width:100%;display:block;}
.wj-note{background:var(--blue-soft);padding:26px 30px;margin:32px 0;font-size:15px;line-height:1.8;}
.wj-note p:last-child{margin:0;}
.wj-btn{display:inline-block;border:1px solid var(--ink);padding:14px 36px;font-size:13px;letter-spacing:3px;transition:.25s;color:var(--ink)!important;border-bottom:1px solid var(--ink)!important;background:#fff;}
.wj-btn:hover{background:var(--ink);color:#fff!important;}
.wj-btn.blue{border-color:var(--blue)!important;color:var(--blue)!important;}
.wj-btn.blue:hover{background:var(--blue);color:#fff!important;}
.wj-btn.small{padding:10px 22px;font-size:12px;letter-spacing:2px;}
.wj-btns{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0;}
.wj-btns.center{justify-content:center;}
.wj-kv{display:grid;grid-template-columns:140px 1fr;gap:10px 24px;margin:28px 0;font-size:15px;border-top:1px solid var(--line);padding-top:22px;}
.wj-kv dt{font-size:12px;letter-spacing:2px;color:var(--faint);text-transform:uppercase;padding-top:3px;}
.wj-kv dd{margin:0;color:var(--ink);}
.wj-person{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;padding:64px 0;border-top:1px solid var(--line);}
.wj-person:last-of-type{border-bottom:1px solid var(--line);}
.wj-person .photo{aspect-ratio:3/4;overflow:hidden;background:var(--cream);}
.wj-person .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.wj-person .name{font-family:var(--serif-kr);font-size:27px;font-weight:500;line-height:1.3;}
.wj-person .cert{font-size:12px;letter-spacing:2.5px;color:var(--blue);font-weight:600;text-transform:uppercase;margin-top:8px;}
.wj-person .tagline{font-family:var(--serif-kr);font-size:19px;color:var(--ink);margin:22px 0 12px;}
.wj-person .bio{font-size:15.5px;color:#444;}
.wj-person .bio p{margin:0 0 12px;}
.wj-person .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);}
.wj-person .cols h4{font-size:12.5px;letter-spacing:1.5px;margin:0 0 10px;color:var(--ink);}
.wj-person .cols ul{margin:0;padding-left:16px;font-size:14px;color:var(--sub);}
.wj-person .cols li{margin:4px 0;}
.wj-person .links{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;}
.wj-person ul.certs{font-size:14.5px;color:var(--sub);margin:12px 0 0 18px;}
.wj-faq details{border-top:1px solid var(--line);}
.wj-faq details:last-child{border-bottom:1px solid var(--line);}
.wj-faq summary{cursor:pointer;padding:22px 0;font-family:var(--serif-kr);font-size:18px;line-height:1.5;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--ink);}
.wj-faq summary::-webkit-details-marker{display:none;}
.wj-faq summary::after{content:"+";font-family:var(--serif-en);font-size:24px;color:var(--blue);flex:none;}
.wj-faq details[open] summary::after{content:"–";}
.wj-faq .a{padding:0 0 26px;color:#444;font-size:15.5px;}
.wj-faq .a p:last-child{margin:0;}
.wj-steps{counter-reset:step;list-style:none;margin:28px 0!important;padding:0;}
.wj-steps li{counter-increment:step;position:relative;padding-left:56px;margin:0 0 18px;}
.wj-steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--serif-en);font-size:22px;color:var(--blue);}
.wj-list-plain{list-style:none;margin:0 0 22px!important;padding:0;}
.wj-list-plain li{padding:12px 0;border-bottom:1px solid var(--line);}
.wj-price-note{font-size:13px;color:var(--faint);margin:-14px 0 28px;}
.wj-status{display:inline-block;font-size:10.5px;letter-spacing:2px;padding:4px 10px;border:1px solid var(--blue);color:var(--blue);vertical-align:middle;margin-left:8px;font-weight:600;}
.wj-status.closed{border-color:var(--faint);color:var(--faint);}
.ws-price{margin-top:10px;font-family:var(--serif-en);font-size:19px;letter-spacing:.5px;color:var(--ink);}
.ws-meta{margin-top:8px;font-size:12.5px;color:var(--faint);}
.notice-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.notice-list li{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);}
.notice-list .date{font-family:var(--serif-en);font-size:15px;color:var(--faint);letter-spacing:.5px;}
.notice-list .title{font-family:var(--serif-kr);font-size:18px;color:var(--ink);}
.prose .notice-list a{border-bottom:0;color:var(--ink);}
.notice-list .title:hover{color:var(--blue);}
.notice-list .cat{font-size:11px;letter-spacing:2px;color:var(--blue);font-weight:600;}
.search-form{display:flex;gap:12px;max-width:520px;margin:0 auto;}
.search-form input[type=search]{flex:1;border:0;border-bottom:1px solid var(--ink);padding:12px 4px;font-family:var(--sans);font-size:16px;background:transparent;outline:0;}
.search-form button{border:1px solid var(--ink);background:#fff;padding:12px 24px;font-size:12px;letter-spacing:2px;cursor:pointer;}
.search-form button:hover{background:var(--ink);color:#fff;}
.empty{text-align:center;color:var(--faint);padding:60px 0;font-family:var(--serif-kr);}

@media(max-width:1100px){
  .article{grid-template-columns:1fr;gap:40px;padding:56px 32px 80px;}
  .article-rail{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;border-bottom:1px solid var(--line);padding-bottom:10px;}
  .rail-toc,.rail-share{display:none;}
  .rail-block,.rail-block:first-child{border-top:0;padding:8px 0 14px;}
}
@media(max-width:900px){
  .wrap{padding:0 24px;}
  .post-head{padding:64px 24px 120px;}
  .post-head.no-cover{padding-bottom:56px;}
  .post-cover{margin-top:-90px;padding:0 24px;}
  .post-cover img{aspect-ratio:3/2;}
  .article{padding:40px 24px 64px;}
  .article-rail{grid-template-columns:1fr 1fr;}
  .article-body p{font-size:16.5px;}
  .article-body h2{font-size:24px;margin-top:52px;}
  .article-body blockquote{font-size:18px;padding-left:40px;}
  .article-body blockquote::before{font-size:56px;top:-10px;}
  .post-nav{grid-template-columns:1fr;}
  .post-nav .next{border-left:0;border-top:1px solid var(--line);text-align:left;padding:22px 0;}
  .author-card{grid-template-columns:80px 1fr;gap:20px;padding:24px;}
  .hd{height:72px;}
  .nav-toggle{display:block;}
  .hd>.hd-link{display:none;}
  nav.gnb{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 24px 24px;max-height:calc(100vh - 72px);overflow:auto;}
  body.nav-open nav.gnb{display:block;}
  nav.gnb ul{flex-direction:column;gap:0;height:auto;align-items:stretch;}
  nav.gnb li{height:auto;display:block;}
  nav.gnb li>a{padding:14px 0;font-size:16px;border-bottom:1px solid var(--line);}
  nav.gnb ul>li>a::after{display:none!important;}
  nav.gnb .sub-menu{position:static;display:flex;border:0;padding:4px 0 10px 14px;min-width:0;}
  nav.gnb .sub-menu a{padding:9px 0;border:0;font-size:14.5px;}
  nav.gnb .hd-link{display:inline-block;margin-top:20px;}
  .hero{padding:80px 24px 64px;}
  .page-hero{padding:64px 24px 48px;}
  .post-hero{padding:64px 24px 40px;}
  .cats .wrap{gap:22px 28px;padding:16px 24px;}
  .prose{padding:48px 24px 70px;font-size:16px;}
  .wj-grid.c2,.wj-grid.c3,.wj-grid.c5{grid-template-columns:1fr 1fr;}
  .wj-grid.c4{grid-template-columns:1fr 1fr;}
  .wj-grid.text{grid-template-columns:1fr;}
  .wj-gallery{grid-template-columns:1fr 1fr;}
  .wj-info,.wj-info.reverse{grid-template-columns:1fr;}
  .wj-info.reverse .img{order:0;}
  .wj-person{grid-template-columns:1fr;gap:28px;padding:48px 0;}
  .wj-person .photo{max-width:320px;}
  .wj-person .cols{grid-template-columns:1fr;}
  .wj-kv{grid-template-columns:110px 1fr;}
  .notice-list li{grid-template-columns:1fr;gap:6px;}
  .post-nav{flex-direction:column;}
}
@media(max-width:560px){
  .hero .en{font-size:12px;letter-spacing:4px;}
  .wj-grid.c2,.wj-grid.c3,.wj-grid.c4,.wj-grid.c5{grid-template-columns:1fr;}
  .wj-lead{font-size:18px;}
}
