/*
Theme Name: Shesmedi Blog
Theme URI: https://www.shesmedi.co.kr
Description: 쉬즈메디병원 블로그 테마 — 공식 홈페이지의 무드(화이트 바탕 + 오렌지 포인트 + 웜 그레이, 나눔바른고딕)를 옮긴 정보 블로그. 임신·출산 / 난임·시험관 / 여성질환 / 줄기세포 카테고리와 산부인과 백과사전(별도 섹션)을 담는다.
Version: 1.0.0
Author: 리디웹스튜디오
Text Domain: shesmedi-blog
*/

/* =========================================================================
   0. 토큰 · 리셋
   ====================================================================== */
:root{
	--orange:#f9730c;--orange-2:#ff8a2b;--orange-dark:#d9620a;--orange-tint:#fff4ea;--orange-line:#ffd9bb;
	--brown:#3a2f2b;--brown-2:#2b2320;--taupe:#736866;--taupe-2:#958d89;--sand:#d3d0ce;--sand-2:#e9e6e5;
	--ink:#232323;--text:#4a4a4a;--muted:#8e8e8e;--line:#e7e7e7;--line-2:#dfdfdf;
	--bg:#fff;--bg-soft:#f7f7f7;--bg-cool:#f4f6f8;
	--font:"NanumBarunGothic","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
	--font-en:"Montserrat","NanumBarunGothic","Apple SD Gothic Neo",sans-serif;
	--wrap:1180px;--r:4px;--shadow:0 12px 30px rgba(35,35,35,.08);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.7;word-break:keep-all;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--ink);margin:0;line-height:1.35;font-weight:700}
p{margin:0}
a{color:inherit;text-decoration:none;transition:color .2s}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0;list-style:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
time{font-variant-numeric:tabular-nums}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.center{text-align:center}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.screen-reader-text:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:var(--orange);color:#fff;padding:8px 14px;z-index:999;border-radius:var(--r)}
.empty{color:var(--muted);text-align:center;padding:60px 0}

/* 영문 라벨 · 섹션 제목 (공식 홈 "SPECIAL NEWS" 스타일) */
.en{font-family:var(--font-en);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--orange)}
.sec{padding:84px 0}
.sec-title{text-align:center;font-family:var(--font-en);font-size:26px;font-weight:700;letter-spacing:.06em;color:var(--ink);margin:0 0 42px}
.sec-title span{display:block;font-family:var(--font);font-size:15px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:10px}
.sec-title.small{font-size:20px;margin-bottom:30px}
.sec-title.light,.sec-title.light span{color:#fff}
.sec-title.light span{opacity:.75}

/* 버튼 · 칩 */
.btn{display:inline-block;padding:12px 28px;border-radius:26px;font-size:14px;font-weight:700;line-height:1.3;border:1px solid transparent;transition:all .2s;text-align:center}
.btn-orange{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-orange:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
.btn-line{border-color:var(--line-2);color:var(--ink);background:#fff}
.btn-line:hover{border-color:var(--ink)}
.btn-white{background:#fff;color:var(--orange)}
.btn-white:hover{background:#fff6ee}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.chip{display:inline-block;padding:6px 15px;border:1px solid var(--line-2);border-radius:20px;background:#fff;font-size:13px;color:#565656;line-height:1.4;transition:all .2s}
.chip:hover{border-color:var(--orange);color:var(--orange)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* =========================================================================
   1. 헤더
   ====================================================================== */
.site-header{background:#fff;position:relative;z-index:80}
.topbar{border-bottom:1px solid var(--line)}
.topbar-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:96px}
.top-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--taupe-2);justify-self:start}
.top-link:hover{color:var(--orange)}
.logo{display:inline-flex;align-items:center;gap:12px;justify-self:center}
.logo img{width:190px;height:47px}
.logo-blog{font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--orange);border:1px solid var(--orange);padding:3px 7px 2px;border-radius:2px;line-height:1}
.top-right{justify-self:end;display:flex;align-items:center;gap:10px}
.top-util{font-size:13px;color:#727272}
.top-util:hover{color:var(--orange)}
.top-right .bar{color:var(--line-2);font-size:12px}
.top-phone{font-family:var(--font-en);font-size:22px;font-weight:700;color:var(--ink);margin-left:14px;letter-spacing:.01em}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:none;padding:10px;flex-direction:column;justify-content:center;gap:5px;justify-self:end}
.nav-toggle span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.gnb-bar{border-bottom:1px solid var(--line-2);background:#fff;position:sticky;top:0;z-index:70;transition:box-shadow .2s}
.site-header.scrolled .gnb-bar{box-shadow:0 4px 18px rgba(0,0,0,.06)}
.gnb-in{display:flex;align-items:center;height:58px;gap:20px}
.gnb{flex:1;min-width:0}
#gnb-menu{display:flex;align-items:center;gap:0;justify-content:space-between;max-width:900px}
#gnb-menu>li{position:relative}
#gnb-menu>li>a{display:block;font-size:16px;font-weight:700;color:var(--ink);line-height:58px;padding:0 2px;position:relative;white-space:nowrap}
#gnb-menu>li>a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--orange);transform:scaleX(0);transition:transform .2s;transform-origin:center}
#gnb-menu>li:hover>a,#gnb-menu>li:focus-within>a,#gnb-menu>li.current-menu-item>a,#gnb-menu>li.current-menu-ancestor>a,#gnb-menu>li.current-menu-parent>a{color:var(--orange)}
#gnb-menu>li:hover>a::after,#gnb-menu>li.current-menu-item>a::after,#gnb-menu>li.current-menu-ancestor>a::after{transform:scaleX(1)}
#gnb-menu>li.sm-accent>a{color:var(--orange)}
#gnb-menu .sub-menu{position:absolute;top:58px;left:50%;transform:translateX(-50%) translateY(6px);min-width:210px;background:#fff;border:1px solid var(--line-2);border-top:2px solid var(--orange);box-shadow:var(--shadow);padding:10px 0;opacity:0;visibility:hidden;transition:all .2s;z-index:75}
#gnb-menu>li:hover>.sub-menu,#gnb-menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
#gnb-menu .sub-menu a{display:block;padding:9px 22px;font-size:14px;color:#565656;line-height:1.45;white-space:nowrap}
#gnb-menu .sub-menu a:hover,#gnb-menu .sub-menu .current-menu-item>a{color:var(--orange);background:var(--orange-tint)}
.gnb-mobile-util{display:none}
.gnb-search{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:20px;height:38px;padding-left:16px;background:#fff;flex:none}
.gnb-search input{border:0;background:none;width:170px;font-size:13px;outline:none}
.gnb-search input::placeholder{color:#aaa}
.gnb-search button{width:38px;height:36px;border:0;background:none;color:var(--taupe);display:flex;align-items:center;justify-content:center}
.gnb-search button:hover{color:var(--orange)}

/* =========================================================================
   2. 히어로 (공식 홈 메인비주얼 톤: 밝은 사진 + 진한 텍스트)
   ====================================================================== */
.hero{position:relative;background:#eef0f2 center 70%/cover no-repeat;min-height:520px;display:flex;align-items:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.25) 40%,rgba(255,255,255,0) 65%)}
.hero-in{position:relative;width:100%;padding-top:70px;padding-bottom:70px}
.hero-text{max-width:560px}
.hero .eyebrow{font-size:14px;font-weight:700;letter-spacing:.42em;color:var(--ink);display:inline-block;padding-bottom:12px;margin-bottom:22px;border-bottom:2px solid var(--ink)}
.hero h1{font-size:46px;font-weight:300;line-height:1.28;color:var(--ink);letter-spacing:-.01em}
.hero h1 strong,.hero h1 b{font-weight:700}
.hero .lead{margin-top:20px;font-size:15px;line-height:1.85;color:#565656;max-width:480px}
.hero-search{margin-top:30px;display:flex;align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:30px;height:54px;padding:0 6px 0 24px;max-width:480px;box-shadow:0 8px 24px rgba(35,35,35,.08)}
.hero-search input{flex:1;border:0;background:none;font-size:15px;outline:none;min-width:0}
.hero-search input::placeholder{color:#aaa}
.hero-search button{width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;border:0;display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s}
.hero-search button:hover{background:var(--orange-dark)}
.hero-tags{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px}
.hero-tags a{color:#565656;background:rgba(255,255,255,.7);border:1px solid var(--line-2);padding:4px 11px;border-radius:14px;font-size:12.5px}
.hero-tags a:hover{color:var(--orange);border-color:var(--orange)}

/* =========================================================================
   3. 홈 섹션
   ====================================================================== */
/* 주제 타일 — 공식 홈 센터 그리드(텍스처 배경 위 사진 타일) */
.sec-cats{position:relative;background:var(--brown) url(assets/img/topics-bg.jpg) center/cover no-repeat;padding:76px 0 84px}
.sec-cats::before{content:"";position:absolute;inset:0;background:rgba(52,41,37,.82)}
.sec-cats .wrap{position:relative}
.cat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{position:relative;display:block;height:320px;overflow:hidden;border-radius:var(--r);background:#5c4b45 center/cover no-repeat;color:#fff;isolation:isolate}
.tile::before{content:"";position:absolute;inset:0;background:inherit;transition:transform .6s ease;z-index:-1}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(30,20,16,.85) 100%)}
.tile:hover::before{transform:scale(1.06)}
.tile-pregnancy-birth{background-color:#c98b6a}.tile-infertility-ivf{background-color:#6fa7bf}.tile-gynecology{background-color:#c77a8a}.tile-stem-cell{background-color:#8c8478}
.tile .plus{position:absolute;top:16px;right:16px;width:30px;height:30px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;z-index:1;transition:all .2s}
.tile:hover .plus{background:var(--orange);border-color:var(--orange)}
.tile-text{position:absolute;left:24px;right:24px;bottom:24px;z-index:1}
.tile-en{display:block;font-family:var(--font-en);font-size:10.5px;letter-spacing:.18em;font-weight:600;opacity:.85;margin-bottom:6px}
.tile strong{display:block;font-size:25px;font-weight:700;line-height:1.2}
.tile-sub{display:block;font-size:12.5px;line-height:1.5;opacity:.85;margin-top:8px}

/* 카드 */
.card-grid{display:grid;gap:36px 26px}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.card-img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--bg-soft)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.card:hover .card-img img{transform:scale(1.05)}
.ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:linear-gradient(135deg,#d9cfc8,#b7a9a1);color:rgba(255,255,255,.9);font-family:var(--font-en);font-size:11px;letter-spacing:.22em;font-weight:600}
.ph-pregnancy-birth{background:linear-gradient(135deg,#f6b58c,#e07a4f)}
.ph-infertility-ivf{background:linear-gradient(135deg,#9fc7d8,#5f97b0)}
.ph-gynecology{background:linear-gradient(135deg,#ecb1bd,#c4728a)}
.ph-stem-cell{background:linear-gradient(135deg,#cdc3b8,#9d9184)}
.card-body{padding:16px 2px 0}
.card-cat{display:inline-block;font-size:12px;font-weight:700;color:var(--orange);letter-spacing:.01em}
.card-cat:hover{color:var(--orange-dark)}
.card-title{margin:7px 0 8px;font-size:17px;font-weight:700;line-height:1.45}
.card-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-title a:hover{color:var(--orange)}
.card-ex{font-size:13.5px;line-height:1.65;color:#727272;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{margin-top:10px;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}

/* 주제별 블록 */
.sec-topics .topic{padding:70px 0;border-top:1px solid var(--line)}
.sec-topics .topic.alt{background:var(--bg-soft)}
.topic-head{display:flex;align-items:flex-end;gap:28px;margin-bottom:30px;flex-wrap:wrap}
.topic-title h2{font-size:27px;margin-top:6px}
.topic-title h2 a:hover{color:var(--orange)}
.topic-children{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.topic-head .more{font-size:13px;color:var(--taupe);white-space:nowrap;padding-bottom:6px}
.topic-head .more:hover{color:var(--orange)}
.topic-body{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}
.feature-img{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--r);background:var(--bg-soft)}
.feature-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.feature:hover .feature-img img{transform:scale(1.04)}
.feature-body{padding:20px 2px 0}
.feature h3{margin:8px 0 10px;font-size:24px;line-height:1.4}
.feature h3 a:hover{color:var(--orange)}
.feature p{font-size:14.5px;line-height:1.75;color:#727272;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rows{display:flex;flex-direction:column}
.row{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.rows .row:first-child{padding-top:0}
.row-thumb{width:118px;aspect-ratio:4/3;flex:none;border-radius:var(--r);overflow:hidden;background:var(--bg-soft)}
.row-thumb img,.row-thumb .ph{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.row:hover .row-thumb img{transform:scale(1.06)}
.row-text{min-width:0;display:flex;flex-direction:column;gap:5px}
.row-cat{font-size:12px;font-weight:700;color:var(--orange)}
.row-text strong{font-size:15.5px;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.row:hover .row-text strong{color:var(--orange)}
.row-text time{font-size:12px;color:var(--muted)}

/* 백과사전 박스 — 공식 홈 SHESMEDI STORY 박스 */
.sec-ency{background:var(--bg-cool)}
.ency-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}
.ency-box{background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:24px 24px 18px;transition:box-shadow .2s,border-color .2s}
.ency-box:hover{border-color:var(--sand);box-shadow:var(--shadow)}
.ency-box h3{display:flex;justify-content:space-between;align-items:center;font-size:17px;padding-bottom:12px;border-bottom:1px solid var(--ink);margin-bottom:8px}
.ency-box h3 a:hover{color:var(--orange)}
.ency-box .plus{font-size:20px;font-weight:400;color:var(--taupe-2);line-height:1}
.ency-box li{position:relative;padding:8px 0 8px 14px;font-size:14px;line-height:1.45;border-bottom:1px dashed var(--line)}
.ency-box li:last-child{border-bottom:0}
.ency-box li::before{content:"";position:absolute;left:0;top:15px;width:4px;height:4px;background:var(--orange);border-radius:1px}
.ency-box li a{color:#565656;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ency-box li a:hover{color:var(--orange)}
.ency-box .empty{padding:20px 0;font-size:13px;text-align:left}

/* CTA 밴드 */
.cta-band{background:linear-gradient(120deg,#f6690a 0%,#ff8a2b 60%,#ffa050 100%);color:#fff;text-align:center;padding:78px 0}
.cta-band .en{color:rgba(255,255,255,.85)}
.cta-band h2{color:#fff;font-size:32px;margin:12px 0 14px}
.cta-band p{font-size:15px;line-height:1.8;opacity:.92;max-width:620px;margin:0 auto}
.cta-band .btns{margin-top:30px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

/* =========================================================================
   4. 연락처 스트립 · 푸터 · 퀵메뉴 (공식 홈 하단)
   ====================================================================== */
.contact-strip{background:var(--bg-soft);border-top:1px solid var(--line-2);padding:36px 0}
.contact-in{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact-phone .lbl{display:block;font-size:13px;color:#565656;font-weight:700}
.contact-phone a{font-family:var(--font-en);font-size:32px;font-weight:700;color:var(--ink);line-height:1.2;display:inline-block;margin:2px 0}
.contact-phone .hours{display:block;font-size:12px;color:var(--muted)}
.contact-icons{display:flex}
.contact-icons li{border-left:1px solid var(--line-2);padding:0 32px}
.contact-icons li:last-child{padding-right:0}
.contact-icons a{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:13px;color:#565656}
.contact-icons svg{width:38px;height:38px;color:var(--ink);transition:color .2s}
.contact-icons a:hover,.contact-icons a:hover svg{color:var(--orange)}

.site-footer{color:#cfc6c2;font-size:12px}
.footer-links{background:var(--brown-2)}
.footer-menu{display:flex;justify-content:center;flex-wrap:wrap}
.footer-menu li{position:relative}
.footer-menu li+li::before{content:"|";position:absolute;left:0;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.2)}
.footer-menu a{display:block;padding:13px 18px;color:#cfc6c2}
.footer-menu a:hover{color:#fff}
.footer-main{position:relative;background:var(--brown) url(assets/img/footer-bg.jpg) center/cover no-repeat;padding:42px 0 46px}
.footer-main::before{content:"";position:absolute;inset:0;background:rgba(43,35,32,.86)}
.footer-in{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-logo{font-size:19px;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:10px}
.footer-logo span{font-family:var(--font-en);font-size:9px;letter-spacing:.22em;color:var(--orange-2);border:1px solid var(--orange-2);padding:3px 6px 2px;border-radius:2px}
.footer-info{margin:14px 0 4px;line-height:1.9}
.footer-info .sep{margin:0 8px;opacity:.4}
.footer-copy{opacity:.65;font-family:var(--font-en);font-weight:500;letter-spacing:.02em}
.footer-sns{display:flex;gap:10px}
.footer-sns a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}
.footer-sns svg{width:20px;height:20px}
.footer-sns a:hover{background:var(--orange)}

.quick{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:60;width:80px;background:#fff;border:1px solid var(--line-2);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden}
.quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:13px 4px 12px;font-size:11px;color:#565656;border-bottom:1px solid var(--line);line-height:1}
.quick svg{width:22px;height:22px;color:var(--ink);transition:color .2s}
.quick a:hover,.quick a:hover svg{color:var(--orange)}
.quick-top{background:var(--orange);color:#fff;border:0;font-family:var(--font-en);font-weight:700;font-size:13px;padding:13px 0;letter-spacing:.05em}
.quick-top:hover{background:var(--orange-dark)}

/* =========================================================================
   5. 아카이브 · 빵부스러기 · 페이지 헤더
   ====================================================================== */
.crumbs{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}
.crumbs ol{display:flex;flex-wrap:wrap;padding:13px 0}
.crumbs li{display:flex;align-items:center}
.crumbs li+li::before{content:"›";margin:0 9px;color:var(--sand)}
.crumbs a{color:#727272}
.crumbs a:hover{color:var(--orange)}
.crumbs span{color:var(--ink)}
.page-head{background:linear-gradient(180deg,#fff7f0 0%,#fff 100%);padding:60px 0 44px;text-align:center}
.page-head .en{display:block}
.page-head h1{font-size:36px;margin:10px 0 12px}
.page-head .desc{font-size:15px;color:#727272;max-width:660px;margin:0 auto;line-height:1.8}
.page-head .chips{margin-top:24px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.archive-wrap{padding:30px 20px 90px}
.archive-meta{font-size:13px;color:var(--muted);margin-bottom:22px}
.archive-meta strong{color:var(--orange)}
.pager{margin-top:56px}
.pager .nav-links{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.pager .page-numbers{min-width:40px;height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:4px;font-size:14px;color:#565656;background:#fff}
.pager a.page-numbers:hover{border-color:var(--orange);color:var(--orange)}
.pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.search-again{display:flex;gap:8px;max-width:560px;margin:0 auto 40px}
.search-again input{flex:1;height:46px;border:1px solid var(--line-2);border-radius:23px;padding:0 20px;font-size:15px;outline:none}
.search-again input:focus{border-color:var(--orange)}
.search-grid .term{min-height:100%}
.notfound{text-align:center;padding:100px 20px 120px}
.notfound .en{font-size:48px;letter-spacing:.1em;font-weight:700}
.notfound h1{font-size:28px;margin:14px 0 10px}
.notfound p{color:#727272;margin-bottom:28px}

/* =========================================================================
   6. 글 상세
   ====================================================================== */
.single-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding-top:52px;padding-bottom:80px;align-items:start}
.post-cat{display:inline-block;font-size:13px;font-weight:700;color:var(--orange)}
.post-head h1{font-size:36px;line-height:1.35;margin:10px 0 16px;letter-spacing:-.01em}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.post-meta>*+*::before{content:"·";margin:0 8px;color:var(--sand)}
.post-meta .author{color:#565656;font-weight:700}
.post-cover{margin:30px 0 0;border-radius:var(--r);overflow:hidden;background:var(--bg-soft)}
.post-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
.post-summary{margin:32px 0 0;background:var(--orange-tint);border:1px solid var(--orange-line);border-radius:var(--r);padding:22px 26px}
.post-summary strong{display:block;font-size:14px;color:var(--orange-dark);margin-bottom:10px;letter-spacing:.02em}
.post-summary li{position:relative;padding:4px 0 4px 18px;font-size:15px;line-height:1.65;color:#3f3f3f}
.post-summary li::before{content:"";position:absolute;left:2px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.term-head h1{font-size:40px}
.term-head .en-name{font-family:var(--font-en);font-size:15px;font-weight:500;color:var(--taupe-2);margin-top:6px;letter-spacing:.02em}
.term-def{margin:26px 0 0;font-size:18px;line-height:1.8;color:var(--ink);padding:22px 28px;background:var(--orange-tint);border-left:4px solid var(--orange);border-radius:0 var(--r) var(--r) 0}
.term-related{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.term-related h2{font-size:18px;margin-bottom:8px}

.prose{margin-top:36px;font-size:16.5px;line-height:1.9;color:#3f3f3f}
.page-prose{margin:0}
.page-wrap{padding:40px 20px 90px;max-width:900px}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.35em}
.prose h2{font-size:24px;line-height:1.4;margin:2.3em 0 .85em;padding-left:14px;border-left:4px solid var(--orange)}
.prose h3{font-size:19px;margin:1.9em 0 .6em}
.prose h4{font-size:16.5px;margin:1.5em 0 .5em;color:var(--orange-dark)}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:22px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--orange)}
.prose a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose blockquote{margin:1.8em 0;padding:20px 26px;background:var(--bg-soft);border-left:3px solid var(--sand);font-size:15.5px;color:#565656;border-radius:0 var(--r) var(--r) 0}
.prose blockquote p:last-child{margin:0}
.prose img{border-radius:var(--r)}
.prose figure{margin:1.8em 0}
.prose figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.prose .table-scroll{overflow-x:auto;margin:1.6em 0;-webkit-overflow-scrolling:touch}
.prose table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55;margin:0}
.prose th,.prose td{border:1px solid var(--line-2);padding:11px 14px;text-align:left;vertical-align:top}
.prose th{background:var(--bg-soft);color:var(--ink);font-weight:700;white-space:nowrap}
.prose .note,.prose .tip{margin:1.8em 0;padding:20px 24px;border-radius:var(--r);font-size:15px;line-height:1.75}
.prose .note{background:var(--bg-cool);border:1px solid #e3e8ee}
.prose .tip{background:var(--orange-tint);border:1px solid var(--orange-line)}
.prose .note strong:first-child,.prose .tip strong:first-child{display:block;margin-bottom:6px;font-size:13px;letter-spacing:.04em}
.prose .tip strong:first-child{color:var(--orange-dark)}
.prose .note strong:first-child{color:#4f6273}
.prose .note p:last-child,.prose .tip p:last-child{margin:0}
.sm-disclaimer{margin-top:48px;padding:18px 22px;border:1px dashed var(--sand);border-radius:var(--r);font-size:13px;line-height:1.7;color:#727272}
.sm-disclaimer strong{display:block;color:var(--taupe);margin-bottom:4px;font-size:13px}
.sm-disclaimer p{margin:0}
.post-foot{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.post-tags{display:flex;flex-wrap:wrap;gap:6px}
.post-tags a{font-size:13px;color:#727272;background:var(--bg-soft);padding:6px 12px;border-radius:14px}
.post-tags a:hover{color:var(--orange);background:var(--orange-tint)}
.copy-btn{border:1px solid var(--line-2);border-radius:20px;background:#fff;padding:9px 18px;font-size:13px;color:#565656;transition:all .2s}
.copy-btn:hover{border-color:var(--ink);color:var(--ink)}
.copy-btn.done{background:var(--orange);border-color:var(--orange);color:#fff}

/* 사이드 레일 */
.side{position:sticky;top:78px}
.side-box{border:1px solid var(--line-2);border-radius:var(--r);padding:22px 24px;margin-bottom:18px;background:#fff}
.side-box h2{display:flex;justify-content:space-between;align-items:center;font-size:15px;margin:0 0 12px;padding-bottom:11px;border-bottom:1px solid var(--ink)}
.side-box h2 .more{font-weight:400;color:var(--taupe-2);font-size:18px;line-height:1}
.side-box h2 .more:hover{color:var(--orange)}
.rail-toc li a{display:block;font-size:13.5px;color:#565656;line-height:1.5;padding:6px 0 6px 12px;border-left:2px solid var(--line);transition:all .2s}
.rail-toc li.lv3 a{padding-left:24px;font-size:13px;color:#8a8a8a}
.rail-toc li a:hover{color:var(--orange)}
.rail-toc li a.on{border-color:var(--orange);color:var(--orange);font-weight:700}
.side-terms li a{display:block;padding:9px 0;border-bottom:1px solid var(--line)}
.side-terms li:last-child a{border-bottom:0}
.side-terms strong{display:block;font-size:14px;color:var(--ink);transition:color .2s}
.side-terms span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.side-terms li a:hover strong{color:var(--orange)}
.side-cats>ul>li>a{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;color:var(--ink);padding:8px 0}
.side-cats>ul>li>a em{font-style:normal;font-family:var(--font-en);font-size:11px;color:var(--muted);font-weight:600}
.side-cats>ul>li.on>a{color:var(--orange)}
.side-cats>ul>li>a:hover{color:var(--orange)}
.side-cats ul ul{padding:0 0 10px 12px;border-bottom:1px solid var(--line)}
.side-cats>ul>li:last-child ul{border-bottom:0;padding-bottom:0}
.side-cats ul ul a{display:block;font-size:13px;color:#727272;padding:4px 0}
.side-cats ul ul a:hover{color:var(--orange)}
.side-cta{background:var(--brown);color:#fff;border:0;text-align:center;padding:26px 24px}
.side-cta .en{color:var(--orange-2)}
.side-cta strong{display:block;font-size:19px;margin:10px 0 8px;line-height:1.35}
.side-cta p{font-size:12.5px;opacity:.8;line-height:1.65;margin:0 0 18px}
.side-cta .btn{display:block;margin-bottom:8px}
.side-cta .btn-line{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.side-cta .btn-line:hover{border-color:#fff}
.side-phone{display:block;font-family:var(--font-en);font-size:21px;font-weight:700;margin-top:14px;color:#fff}

.related{background:var(--bg-soft);padding:64px 0}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:36px;padding-bottom:70px}
.prevnext a{display:block;border:1px solid var(--line-2);border-radius:var(--r);padding:18px 22px;transition:border-color .2s}
.prevnext a:hover{border-color:var(--orange)}
.prevnext .lbl{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.prevnext strong{display:block;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prevnext .next{text-align:right}

/* =========================================================================
   7. 백과사전 아카이브
   ====================================================================== */
.ency-tools{margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.ency-index{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
.ency-index button{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line-2);background:#fff;border-radius:4px;font-size:14px;color:#565656;transition:all .2s}
.ency-index button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}
.ency-index button.on{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700}
.ency-index button:disabled{opacity:.35;cursor:default}
.ency-count{text-align:center;font-size:13px;color:var(--muted);margin-top:16px}
.ency-count strong{color:var(--orange)}
.term-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.term{border:1px solid var(--line-2);border-radius:var(--r);background:#fff;transition:all .2s}
.term.hide{display:none}
.term:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-2px)}
.term>a{display:flex;flex-direction:column;padding:24px 26px 22px;height:100%}
.term-cat{font-size:11px;font-weight:700;color:var(--orange);letter-spacing:.04em}
.term h3{font-size:21px;margin:9px 0 8px;line-height:1.35}
.term h3 small{font-family:var(--font-en);font-size:12px;font-weight:500;color:var(--taupe-2);margin-left:6px;letter-spacing:.02em}
.term:hover h3{color:var(--orange)}
.term p{font-size:14px;line-height:1.7;color:#727272;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.term-more{display:inline-block;margin-top:16px;font-size:12.5px;color:var(--taupe)}
.term-more::after{content:" →"}
.ency-empty{text-align:center;color:var(--muted);padding:50px 0}

/* =========================================================================
   8. 반응형
   ====================================================================== */
@media (max-width:1320px){.quick{display:none}}
@media (max-width:1100px){
	#gnb-menu>li>a{font-size:15px}
	.gnb-search input{width:130px}
	.hero h1{font-size:40px}
}
@media (max-width:960px){
	.topbar-in{display:flex;justify-content:space-between;height:70px}
	.top-link,.top-right{display:none}
	.logo img{width:150px;height:37px}
	.nav-toggle{display:flex}
	.gnb-in{height:52px;gap:12px}
	.gnb{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line-2);box-shadow:0 20px 40px rgba(0,0,0,.08);display:none;max-height:calc(100vh - 122px);overflow:auto}
	.nav-open .gnb{display:block}
	#gnb-menu{display:block;max-width:none;padding:6px 0 12px}
	#gnb-menu>li>a{line-height:1.4;padding:13px 20px;font-size:16px;border-bottom:1px solid var(--line)}
	#gnb-menu>li>a::after{display:none}
	#gnb-menu .sub-menu{position:static;transform:none;opacity:1;visibility:visible;display:none;border:0;box-shadow:none;padding:4px 0 8px;background:var(--bg-soft);min-width:0}
	#gnb-menu li.open>.sub-menu{display:block}
	#gnb-menu .sub-menu a{padding:9px 34px}
	#gnb-menu li.menu-item-has-children>a::before{content:"+";float:right;color:var(--muted);font-weight:400}
	#gnb-menu li.open>a::before{content:"–"}
	.gnb-mobile-util{display:flex;gap:8px;padding:14px 20px 18px;flex-wrap:wrap}
	.gnb-mobile-util a{font-size:13px;padding:8px 14px;border:1px solid var(--line-2);border-radius:18px;color:#565656}
	.gnb-mobile-util a:last-child{color:var(--orange);border-color:var(--orange);font-weight:700}
	.gnb-search{flex:1;height:36px}
	.gnb-search input{width:100%}
	.hero{min-height:0;background-position:72% center}
	.hero::before{background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.72) 55%,rgba(255,255,255,.3) 100%)}
	.hero-in{padding-top:56px;padding-bottom:56px}
	.hero h1{font-size:34px}
	.sec{padding:60px 0}
	.sec-title{font-size:22px;margin-bottom:30px}
	.cat-tiles{grid-template-columns:repeat(2,1fr)}
	.tile{height:240px}
	.cols-4,.cols-3{grid-template-columns:repeat(2,1fr)}
	.topic-body{grid-template-columns:1fr;gap:26px}
	.sec-topics .topic{padding:50px 0}
	.ency-boxes{grid-template-columns:repeat(2,1fr)}
	.contact-in{flex-direction:column;align-items:flex-start;gap:24px}
	.contact-icons{width:100%;justify-content:space-between}
	.contact-icons li{border:0;padding:0}
	.footer-in{flex-direction:column;align-items:flex-start}
	.single-wrap{grid-template-columns:1fr;gap:40px;padding-top:36px}
	.side{position:static}
	.post-head h1{font-size:28px}
	.term-head h1{font-size:32px}
	.term-grid{grid-template-columns:repeat(2,1fr)}
	.page-head h1{font-size:28px}
}
@media (max-width:600px){
	.cols-4,.cols-3,.term-grid,.ency-boxes,.cat-tiles{grid-template-columns:1fr}
	.tile{height:190px}
	.tile strong{font-size:22px}
	.hero h1{font-size:29px}
	.hero .eyebrow{letter-spacing:.3em;font-size:12px}
	.hero-search{height:48px}
	.card-grid{gap:28px}
	.topic-title h2{font-size:23px}
	.cta-band h2{font-size:25px}
	.contact-icons{flex-wrap:wrap;gap:16px 0;justify-content:flex-start}
	.contact-icons li{width:33.33%}
	.contact-phone a{font-size:26px}
	.prose{font-size:15.5px}
	.prose h2{font-size:21px}
	.prevnext{grid-template-columns:1fr}
	.ency-index button{min-width:34px;height:34px;padding:0 8px;font-size:13px}
	.footer-info .sep{display:block;height:0;overflow:hidden}
	/* 모바일: 퀵메뉴를 하단 바로 */
	body{padding-bottom:62px}
	.quick{display:flex;flex-direction:row;top:auto;bottom:0;left:0;right:0;transform:none;width:auto;border-radius:0;border-width:1px 0 0;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
	.quick a{flex:1;border-bottom:0;border-right:1px solid var(--line);padding:9px 2px 8px;gap:4px;font-size:10.5px}
	.quick svg{width:20px;height:20px}
	.quick-top{flex:none;width:56px;padding:0;font-size:11px}
}
@media print{.site-header,.contact-strip,.site-footer,.quick,.side,.related,.prevnext,.post-foot{display:none!important}.single-wrap{display:block}}
