/* 김동진 원장 · 관절·척추 건강노트 — fonts loaded via <link> in inc/medi_header.php */

:root{
    /* surfaces */
    --paper:#F2F5F4;--surface:#FFFFFF;--ink:#16201D;--muted:#54625C;--faint:#828C87;
    --line:#E1E6E2;--line-soft:#EEF1EF;--line-strong:#CCD4CF;
    /* brand accent (코발트 — :root 한 줄 교체로 핑크리본/에메랄드 등 변경 가능) */
    --accent:#2152D9;--accent-deep:#16389E;--accent-ink:#173A9E;--accent-soft:#DEE6FB;
    /* semantic */
    --calm:#0F8A6C;--watch:#C9485A;--rose:#C75B6A;
    --radius:14px;
    --maxw:1040px;--read:760px;
    --sans:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',Roboto,sans-serif;
    --serif:'Noto Serif KR','Nanum Myeongjo',serif;

    /* legacy aliases — 비노출(de-linked) 게시판/회원 페이지 스타일 보존용 */
    --medi-maxw:var(--maxw);--medi-read:var(--read);--medi-r:10px;
    --medi-bg:var(--paper);--medi-surface:var(--surface);--medi-ink:var(--ink);--medi-ink-soft:#434a50;--medi-muted:var(--muted);
    --medi-line:var(--line);--medi-line-soft:var(--line-soft);--medi-primary:var(--accent);--medi-primary-2:var(--accent-deep);--medi-chip:var(--accent-soft);
    --medi-font:var(--sans);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body.medi-body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body.page-article,body.page-list{background:var(--surface);}
a{color:inherit;text-decoration:none;}
svg{display:block;}
img{max-width:100%;display:block;}
.sound-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:100;}
.skip:focus{left:0;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

/* brand mark (손 disc + ribbon) */
.brand{display:flex;align-items:center;gap:11px;}
.brand__mark{position:relative;width:38px;height:38px;flex:none;}
.brand__mark .disc{width:38px;height:38px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;}
.brand__mark .disc span{font-family:var(--serif);color:#fff;font-size:18px;line-height:1;padding-top:2px;}
.brand__mark .ribbon{position:absolute;right:-2px;top:-2px;width:11px;height:11px;border-radius:50%;background:var(--rose);border:2px solid var(--paper);}
.brand__text{line-height:1.25;}
.brand__name{display:block;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--ink);}
.brand__sub{display:block;font-size:11px;color:var(--faint);letter-spacing:.02em;}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(242,245,244,.9);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.nav{display:flex;gap:24px;}
.nav a{font-size:14px;font-weight:600;color:var(--accent);border:1.5px solid var(--accent);border-radius:999px;padding:7px 16px;transition:color .15s,background .15s;}
.nav a:hover,.nav a.on{color:#fff;background:var(--accent);}

main#content{display:block;}

/* hero — bold color band (home) */
.hero{background:var(--accent-deep);padding:64px 0 58px;}
.hero__inner{max-width:660px;}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.05em;color:rgba(255,255,255,.82);font-weight:600;margin-bottom:18px;}
.eyebrow svg{width:16px;height:16px;stroke:rgba(255,255,255,.82);}
.hero__name{font-family:var(--serif);font-weight:700;font-size:62px;line-height:1;letter-spacing:.04em;color:#fff;margin-bottom:20px;}
.hero__lead{font-size:19px;line-height:1.6;color:rgba(255,255,255,.9);max-width:none;margin-bottom:26px;font-weight:400;}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.pill{font-size:13px;padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.26);font-weight:500;}
.here{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:rgba(255,255,255,.8);}
.here svg{width:15px;height:15px;stroke:rgba(255,255,255,.74);}
.here b{font-weight:600;color:#fff;}

/* category strip */
.cats{border-bottom:1px solid var(--line);background:var(--surface);}
.cats__inner{display:grid;grid-template-columns:repeat(3,1fr);}
.cat{display:flex;align-items:center;justify-content:center;gap:13px;padding:20px 8px;border-left:1px solid var(--line);transition:background .15s;}
.cat:first-child{border-left:none;}
.cat:hover{background:var(--accent-soft);}
.cat__ic{width:42px;height:42px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex:none;}
.cat__ic svg{width:21px;height:21px;stroke:var(--accent);}
.cat span{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);}

/* section heading */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;padding-bottom:16px;border-bottom:2px solid var(--accent);}
.sec-head--stacked{flex-direction:column;align-items:stretch;gap:11px;}
.sec-head__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%;}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:.01em;color:var(--ink);}
.sec-head .meta{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--accent-ink);}
.sec-head .meta svg{width:15px;height:15px;stroke:var(--accent);flex:none;}
.sec-head a.more-link{font-size:13.5px;font-weight:600;color:var(--accent-ink);white-space:nowrap;}
.sec-head a.more-link:hover{color:var(--accent);}

/* feed */
.feed{padding:56px 0;}

/* article cards (home feed / category / list / related) */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 18px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 6px 20px rgba(0,0,0,.08);}
.card__top{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.tag{font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:3px 10px;border-radius:6px;background:var(--accent);color:#fff;}
.date{font-size:12px;color:var(--faint);}
.card__title{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.45;letter-spacing:.005em;margin-bottom:10px;color:var(--ink);word-break:keep-all;}
.card:hover .card__title{color:var(--accent-ink);}
.card__sum{font-size:13.5px;line-height:1.6;color:var(--muted);margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:13px;border-top:1px solid var(--line);}
.review{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--faint);font-weight:600;}
.review svg{width:14px;height:14px;stroke:var(--accent);flex:none;}
.card__more{font-size:12.5px;color:var(--faint);font-weight:600;}
.card:hover .card__more{color:var(--accent);}
.triage{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;}
.triage .dot{width:8px;height:8px;border-radius:50%;flex:none;}
.triage.calm{color:var(--calm);}
.triage.calm .dot{background:var(--calm);}
.triage.watch{color:var(--watch);}
.triage.watch .dot{background:var(--watch);}
.more-btn{display:block;max-width:300px;margin:26px auto 0;border:1px solid var(--line-strong);border-radius:10px;padding:14px;color:var(--accent-ink);font-size:14.5px;font-weight:600;text-align:center;background:var(--surface);transition:border-color .12s ease,background .12s ease;}
.more-btn:hover{border-color:var(--accent);background:var(--accent-soft);}

/* profile (home) */
.profile{background:var(--surface);border-top:1px solid var(--line);}
.profile__inner{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:52px;padding-bottom:52px;}
.col{padding:0 40px;}
.col:first-child{border-right:1px solid var(--line);padding-left:0;}
.col:last-child{padding-right:0;}
.col h3{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.02em;margin-bottom:20px;color:var(--ink);}
.col h3 .bar{width:22px;height:3px;background:var(--accent);border-radius:2px;}
.cv{list-style:none;display:flex;flex-direction:column;gap:13px;}
.cv li{position:relative;padding-left:20px;font-size:14.5px;color:var(--ink);line-height:1.5;}
.cv li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--accent);}
.badges{display:flex;flex-wrap:wrap;gap:8px;}
.badge{font-size:13px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--paper);}
.badge.key{border-color:transparent;color:#fff;background:var(--accent);font-weight:500;}
/* doctor profile page */
body.page-doctor{background:var(--surface);}
.doc__inner{max-width:988px;padding-top:40px;padding-bottom:56px;}
.doc__back{display:inline-block;margin-bottom:22px;font-size:14px;color:var(--muted);}
.doc__back:hover{color:var(--accent);}
.doc__visual{margin:0 0 34px;border-radius:var(--radius);overflow:hidden;}
.doc__visual img{display:block;width:100%;height:auto;}
.doc__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.doc__clinic{padding-top:34px;margin-top:34px;border-top:1px solid var(--line);}
.doc__clinic h3{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.02em;margin-bottom:20px;color:var(--ink);}
.doc__clinic h3 .bar{width:22px;height:3px;background:var(--accent);border-radius:2px;}
.doc__clinic .cv li a{color:var(--accent);text-decoration:underline;}
.doc__map{margin-top:28px;}
.doc__map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:13px;}
.doc__map-title{font-family:var(--serif);font-weight:600;font-size:16px;letter-spacing:.02em;color:var(--ink);}
.doc__map .btn-map{display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 15px;font-size:14px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:9px;white-space:nowrap;transition:background .15s;}
.doc__map .btn-map:hover{background:#d2ddf8;}
#map{width:100%;height:340px;border:1px solid var(--line);border-radius:12px;background:var(--line-soft);overflow:hidden;}
#map .map-fallback{padding:18px;font-size:14px;line-height:1.6;color:var(--muted);}
#map .map-fallback a{color:var(--accent);text-decoration:underline;}

/* category / list pages */
.article-page{padding-top:60px;padding-bottom:64px;}
.page-head{margin-bottom:10px;}
.page-head h1{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1.3;letter-spacing:.01em;color:var(--ink);}
.page-head p{margin-top:12px;max-width:none;color:var(--muted);font-size:15.5px;line-height:1.65;}
.list-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 24px;padding-bottom:14px;border-bottom:2px solid var(--accent);}
.list-bar .count{font-size:14px;color:var(--muted);font-weight:500;white-space:nowrap;}
.sort{display:flex;gap:6px;}
.sort a{border-radius:7px;padding:5px 11px;font-size:13.5px;font-weight:500;color:var(--muted);}
.sort a:hover{color:var(--accent);}
.sort a.on{background:var(--accent-soft);color:var(--accent-ink);}
.list-search{display:flex;margin:18px 0 22px;max-width:520px;border:1.5px solid var(--line-strong);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .12s ease;}
.list-search:focus-within{border-color:var(--accent);}
.list-search input{flex:1;min-width:0;height:48px;border:0;padding:0 16px;font-family:var(--sans);font-size:15px;color:var(--ink);background:transparent;outline:0;}
.list-search input::placeholder{color:var(--faint);}
.list-search button{flex:none;border:0;background:var(--accent);color:#fff;padding:0 22px;font-family:var(--sans);font-size:15px;font-weight:600;cursor:pointer;transition:background .12s ease;}
.list-search button:hover{background:var(--accent-deep);}
.search-clear{display:inline-flex;align-items:center;margin-left:10px;font-size:13px;color:var(--accent-ink);font-weight:600;}
.search-clear:hover{color:var(--accent);}
.empty-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:44px 28px;text-align:center;}
.empty-state strong{display:block;color:var(--ink);font-size:18px;font-family:var(--serif);}
.empty-state p{margin-top:10px;color:var(--muted);font-size:14px;}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:34px;}
.pager a,.pager .disabled,.pager .cur{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;}
.pager a{border:1px solid var(--line-strong);background:var(--surface);color:var(--accent-ink);transition:border-color .12s ease,background .12s ease;}
.pager a:hover{border-color:var(--accent);background:var(--accent-soft);}
.pager .disabled{border:1px solid var(--line);color:var(--faint);opacity:.6;}
.pager .cur{color:var(--muted);font-weight:500;}

/* category tabs + post list (browse pages: /list, /c/{slug}) */
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 20px;}
.cat-tabs a{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--muted);font-size:14px;font-weight:600;transition:border-color .12s ease,color .12s ease,background .12s ease;}
.cat-tabs a:hover{border-color:var(--accent);color:var(--accent-ink);}
.cat-tabs a.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.post-row{display:block;margin:0 -12px;padding:22px 12px;border-bottom:1px solid var(--line);transition:background .12s ease;}
.post-row:last-child{border-bottom:0;}
.post-row:hover{background:rgba(33,82,217,.04);}
.post-row__top{display:flex;align-items:center;gap:9px;margin-bottom:10px;}
.post-row__title{display:block;font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.45;letter-spacing:.005em;color:var(--ink);word-break:keep-all;}
.post-row:hover .post-row__title{color:var(--accent-ink);}
.post-row__sum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:7px;font-size:14px;line-height:1.6;color:var(--muted);}
.post-row__foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}

/* article page */
.article-shell{max-width:var(--read);margin:0 auto;padding:48px 0 56px;}
.article-head{padding-bottom:24px;border-bottom:1px solid var(--line);}
.article-kicker{display:inline-flex;margin-bottom:16px;border-radius:6px;background:var(--accent);color:#fff;padding:4px 11px;font-size:12.5px;font-weight:700;}
.article-head h1{font-family:var(--serif);font-size:36px;font-weight:700;line-height:1.34;letter-spacing:.005em;color:var(--ink);word-break:keep-all;}
.article-summary{margin-top:18px;border-left:3px solid var(--accent);padding-left:16px;color:var(--muted);font-size:18px;line-height:1.65;}
.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:20px;color:var(--faint);font-size:13px;}
.article-meta .review{font-size:13px;color:var(--accent-ink);}
.article-meta .review svg{width:15px;height:15px;}
.article-body{padding:32px 0 8px;color:var(--ink);font-size:17px;line-height:1.85;}
.article-body>p{margin:20px 0;color:#2c3733;}
.article-body h2,.article-body h3,.article-body h4{color:var(--ink);line-height:1.4;letter-spacing:.005em;}
.article-body h2{font-family:var(--serif);margin:44px 0 14px;font-size:24px;font-weight:600;scroll-margin-top:96px;}
.article-body h3{margin:30px 0 10px;font-size:19px;font-weight:700;}
.article-body h4{margin:26px 0 10px;font-size:16px;font-weight:700;}
.article-body ul,.article-body ol{margin:18px 0;padding-left:22px;color:#2c3733;}
.article-body li{margin:8px 0;}
.article-body strong{color:var(--ink);font-weight:600;}
.article-body .faq-q{color:var(--accent-ink);}
.article-body .faq-q__mark{font-weight:800;margin-right:2px;}
.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.article-body img{display:block;max-width:100%;height:auto;margin:26px auto;border:1px solid var(--line);background:var(--line-soft);border-radius:8px;}
.article-body table{width:100%;border-collapse:collapse;margin:26px 0;font-size:15px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);}
.article-body th,.article-body td{border:0;border-top:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top;line-height:1.55;}
.article-body thead th{background:var(--accent-soft);color:var(--ink);font-weight:700;font-size:13.5px;}
.article-body tbody tr:nth-child(even){background:var(--line-soft);}
.article-note{display:flex;gap:12px;align-items:flex-start;margin-top:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px 20px;}
.article-note__ic{flex:none;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;}
.article-note__ic svg{width:19px;height:19px;stroke:var(--accent);}
.article-note__tx{font-size:13.5px;line-height:1.6;color:var(--muted);}
.article-note__tx b{color:var(--ink);font-weight:600;}
.related-wrap{margin-top:40px;}
.related-wrap .sec-head{margin-bottom:20px;}

/* footer */
.site-footer{background:var(--line-strong);color:var(--muted);padding:46px 0 54px;margin-top:0;border-top:1px solid var(--line-strong);}
.site-footer .brand__name{color:var(--ink);}
.site-footer .brand__sub{color:var(--faint);}
.site-footer .brand__mark .ribbon{border-color:var(--accent);}
.foot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:28px;}
.foot-brand{max-width:44ch;}
.foot-brand .brand{margin-bottom:12px;}
.foot-brand p{font-size:13.5px;color:var(--muted);line-height:1.6;}
.foot-update{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#fff;background:var(--accent);padding:6px 12px;border-radius:999px;margin-top:14px;}
.foot-update svg{width:14px;height:14px;stroke:#fff;flex:none;}
.foot-info{font-size:13px;color:var(--muted);line-height:1.9;}
.foot-info b{font-weight:600;color:var(--ink);}
.disclaimer{border-top:1px solid var(--line-strong);padding-top:20px;font-size:12px;color:var(--faint);line-height:1.6;}
.foot-admin{display:inline-block;margin-top:16px;font-size:11.5px;color:var(--faint);transition:color .12s ease;}
.foot-admin:hover{color:var(--muted);}

/* visitor chat widget (medi-hermes) */
.medi-chat{position:fixed;right:32px;bottom:32px;z-index:80;font-family:var(--sans);}
.medi-chat__fab{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--accent);color:#fff;padding:13px 18px;font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 24px rgba(33,82,217,.32);transition:background .15s ease,transform .12s ease;}
.medi-chat__fab:hover{background:var(--accent-deep);transform:translateY(-1px);}
.medi-chat__fab svg{width:20px;height:20px;stroke:#fff;}
.medi-chat__panel{position:absolute;right:0;bottom:64px;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.22);}
.medi-chat__panel[hidden]{display:none;}
.medi-chat__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--accent-deep);color:#fff;}
.medi-chat__brand{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;}
.medi-chat__disc{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);font-family:var(--serif);font-size:13px;}
.medi-chat__close{border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 4px;opacity:.85;}
.medi-chat__close:hover{opacity:1;}
.medi-chat__notice{margin:0;padding:10px 16px;background:var(--accent-soft);color:var(--accent-ink);font-size:11.5px;line-height:1.5;border-bottom:1px solid var(--line);}
.medi-chat__log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--paper);}
.medi-chat__msg{max-width:84%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;}
.medi-chat__msg--bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px;}
.medi-chat__msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px;}
.medi-chat__msg.is-loading{color:var(--muted);}
.medi-chat__form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface);}
.medi-chat__input{flex:1;min-width:0;height:42px;border:1.5px solid var(--line-strong);border-radius:21px;padding:0 16px;font-family:var(--sans);font-size:14px;color:var(--ink);outline:0;}
.medi-chat__input:focus{border-color:var(--accent);}
.medi-chat__send{flex:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;}
.medi-chat__send:hover{background:var(--accent-deep);}
.medi-chat__send svg{width:18px;height:18px;stroke:#fff;}
@media (max-width:480px){
    .medi-chat{right:14px;bottom:14px;}
    .medi-chat__panel{bottom:60px;width:calc(100vw - 28px);height:calc(100vh - 110px);}
    .medi-chat__fab-tx{display:none;}
}

/* entrance animation */
.rise{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards;}
.rise.d1{animation-delay:.06s;}.rise.d2{animation-delay:.13s;}.rise.d3{animation-delay:.2s;}
@keyframes rise{to{opacity:1;transform:none;}}

/* ===== preserved: de-linked board / mypage / g5 member pages ===== */
.medi-board-header{position:relative}
.medi-board-main{min-height:520px}
.medi-board-content{border-top:1px solid var(--medi-line);padding:18px 0 22px;overflow:hidden}
.medi-board-content #bo_list,.medi-board-content #bo_w,.medi-board-content #bo_v{width:100% !important;max-width:960px;margin:0 auto}
.medi-board-content #bo_gall{width:100% !important;margin:0}
.medi-board-content #bo_btn_top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.medi-board-content #bo_btn_top:after,.medi-board-content .bo_fx:after,.medi-board-content .btn_bo_user:after{display:none}
.medi-board-content #bo_list_total{float:none;color:var(--medi-muted);font-size:14px;line-height:1.4}
.medi-board-content #bo_list_total span{color:var(--medi-ink-soft);font-weight:750}
.medi-board-content .btn_bo_user{display:flex;justify-content:flex-end;gap:6px;float:none;margin:0;padding:0}
.medi-board-content .btn_bo_user li{float:none;width:auto;margin:0;background:transparent}
.medi-board-content .btn_b01,.medi-board-content .btn_b02,.medi-board-content .btn_admin,.medi-board-content .btn_submit,.medi-board-content .btn_cancel{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:8px;font-family:var(--medi-font);font-weight:750}
.medi-board-content .btn_b01{border:1px solid var(--medi-line);background:#fff;color:var(--medi-ink-soft)}
.medi-board-content .btn_b01:hover{border-color:var(--medi-primary);background:var(--medi-chip);color:var(--medi-primary)}
.medi-board-content .btn_submit{background:var(--medi-primary);color:#fff;border:0}
.medi-board-content .tbl_head01{border-top:1px solid var(--medi-line)}
.medi-board-content .tbl_head01 table{width:100%;border-collapse:collapse;border-top:0;table-layout:fixed}
.medi-board-content .tbl_head01 th{height:42px;border:0;border-bottom:1px solid var(--medi-line);background:#fff;color:var(--medi-muted);font-size:12.5px;font-weight:750}
.medi-board-content .tbl_head01 th a{color:var(--medi-muted)}
.medi-board-content .tbl_head01 td{height:auto;border:0;border-bottom:1px solid var(--medi-line-soft);padding:15px 8px;background:#fff;color:var(--medi-ink-soft);font-size:14px}
.medi-board-content #bo_list tbody tr{border-left:0;transition:background .12s ease}
.medi-board-content #bo_list tbody tr:hover{background:#f1f7fc;border-left:0}
.medi-board-content #bo_list tbody tr:hover td{background:transparent}
.medi-board-content #bo_list tbody .even td{background:#fff}
.medi-board-content #bo_list .td_num,.medi-board-content #bo_list .td_num2,.medi-board-content #bo_list .td_datetime{color:var(--medi-muted);font-size:13px}
.medi-board-content #bo_list .td_subject{padding-left:0 !important}
.medi-board-content .bo_tit{display:block;color:var(--medi-ink);font-weight:750}
.medi-board-content .bo_tit a,.medi-board-content #bo_gall .bo_tit{color:var(--medi-ink);font-size:15.5px;line-height:1.45;word-break:keep-all}
.medi-board-content .bo_tit a:hover,.medi-board-content #bo_gall .bo_tit:hover{color:var(--medi-primary)}
.medi-board-content .bo_cate_link{float:none;display:inline-flex;align-items:center;height:auto;margin:0 8px 0 0;border-radius:6px;background:var(--medi-chip);padding:4px 8px;color:var(--medi-primary);font-size:12px;line-height:1;font-weight:800 !important}
.medi-board-content .cnt_cmt{display:inline-flex;align-items:center;height:17px;margin-left:4px;border-radius:999px;background:var(--medi-chip);padding:0 6px;color:var(--medi-primary);font-size:11px;font-weight:800}
.medi-board-content #bo_cate a{border-radius:8px;border-color:var(--medi-line);color:var(--medi-ink-soft)}
.medi-board-content #bo_cate a:hover,.medi-board-content #bo_cate #bo_cate_on{background:var(--medi-primary);border-color:var(--medi-primary);color:#fff;box-shadow:none}
.medi-board-content .empty_table,.medi-board-content .empty_list{color:var(--medi-muted);background:#fff;padding:58px 0;text-align:center}
.medi-board-content #gall_ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0 0 !important}
.medi-board-content #bo_gall .gall_li{width:auto !important;float:none !important;padding:0 !important}
.medi-board-content #bo_gall .gall_box{border:1px solid var(--medi-line);border-radius:var(--medi-r);background:#fff;margin:0;padding:12px}
.medi-board-content #bo_gall .gall_img{border:0;border-radius:var(--medi-r);background:var(--medi-line-soft)}
.medi-board-content #bo_gall .gall_text_href{margin:12px 0 6px}
.medi-board-content #bo_gall .gall_info{color:var(--medi-muted)}
.medi-board-content #bo_v{padding:0}
.medi-board-content #bo_v_title .bo_v_tit{font-size:28px;line-height:1.35;color:var(--medi-ink)}
.medi-board-content #bo_v_con{font-size:17px;line-height:1.8;color:var(--medi-ink-soft)}
.medi-board-content .bo_fx{display:flex;justify-content:flex-end;margin:14px 0 0;float:none}
.medi-board-content #bo_w .frm_input,.medi-board-content #bo_w textarea{border-color:var(--medi-line);border-radius:8px}
.medi-board-content #bo_w{max-width:760px}
.medi-board-content #bo_w form{width:100% !important}
.medi-board-content #bo_w .write_div{clear:both;margin:0 0 22px;position:relative}
.medi-board-content #bo_w .field-label{display:block;margin:0 0 8px;color:var(--medi-ink);font-size:14px;font-weight:800}
.medi-board-content #bo_w .bo_w_info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.medi-board-content #bo_w .frm_input,.medi-board-content #bo_w textarea,.medi-board-content #bo_w select{width:100%;border:1.5px solid var(--medi-line);border-radius:10px;background:#fff;padding:0 15px;color:var(--medi-ink);font-family:var(--medi-font);font-size:15px;outline:0;transition:border-color .12s ease,box-shadow .12s ease}
.medi-board-content #bo_w .frm_input,.medi-board-content #bo_w select{height:48px}
.medi-board-content #bo_w textarea{min-height:220px;padding:13px 15px;line-height:1.7;resize:vertical}
.medi-board-content #bo_w .frm_input:focus,.medi-board-content #bo_w textarea:focus,.medi-board-content #bo_w select:focus{border-color:var(--medi-primary);box-shadow:0 0 0 3px rgba(33,82,217,.12)}
.medi-board-content #bo_w .btn_confirm{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--medi-line)}
.medi-board-content #bo_w .btn_cancel,.medi-board-content #bo_w .btn_submit{height:48px;min-width:104px;border-radius:10px;padding:0 26px;font-family:var(--medi-font);font-size:15px;font-weight:800}
.medi-board-content #bo_w .btn_cancel{border:1.5px solid var(--medi-line);background:#fff;color:var(--medi-ink-soft)}
.medi-board-content #bo_w .btn_submit{background:var(--medi-primary);color:#fff}
.medi-board-content #bo_w .btn_submit:hover{background:var(--medi-primary-2)}
.mypage-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;max-width:760px;margin:18px auto 0}
.mypage-grid h2{margin:0 0 14px;color:var(--medi-ink);font-size:17px;font-weight:800}
.mypage-profile{border:1px solid var(--medi-line);border-radius:var(--medi-r);padding:22px}
.mypage-profile dl{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px 12px;margin:0;font-size:14px}
.mypage-profile dt{color:var(--medi-muted)}
.mypage-profile dd{margin:0;color:var(--medi-ink);font-weight:650;word-break:break-all}
.mypage-badge{display:inline-flex;border-radius:6px;background:var(--medi-chip);padding:2px 8px;color:var(--medi-primary);font-size:12px;font-weight:800}
.mypage-actions{display:flex;gap:8px;margin-top:18px}
.mypage-btn{display:inline-flex;align-items:center;justify-content:center;flex:1;height:42px;border:1.5px solid var(--medi-line);border-radius:10px;background:#fff;color:var(--medi-ink-soft);font-size:14px;font-weight:750}
.mypage-btn:hover{border-color:var(--medi-primary);color:var(--medi-primary)}
.mypage-btn--primary{background:var(--medi-primary);border-color:var(--medi-primary);color:#fff}
#hd_login_msg{display:none}
.medi-g5-main{min-height:460px;max-width:var(--maxw);margin:0 auto;padding:40px 24px 64px}
body.g5-login .medi-g5-page-head,body.g5-register .medi-g5-page-head{display:none}
.medi-g5-content{max-width:760px;margin:0 auto;padding-top:6px}
.medi-g5-content .frm_input{height:46px;border:1.5px solid var(--medi-line);border-radius:10px;background:#fff;padding:0 14px;font-family:var(--medi-font);font-size:15px;color:var(--medi-ink);outline:0;box-shadow:none}
.medi-g5-content .frm_input:focus{border-color:var(--medi-primary);box-shadow:0 0 0 3px rgba(33,82,217,.12)}
.medi-g5-content .btn_submit{background:var(--medi-primary);color:#fff;border:0;border-radius:10px;font-family:var(--medi-font);font-weight:800;cursor:pointer}
.medi-g5-content .btn_submit:hover{background:var(--medi-primary-2)}
.medi-g5-content .mbskin{margin:18px auto 0;width:100%;max-width:400px;text-align:left}
.medi-g5-content .mbskin .mbskin_box{border:1px solid var(--medi-line);border-radius:var(--medi-r);background:#fff;overflow:hidden}

/* responsive */
@media (max-width:860px){
    .hero{padding:44px 0 40px;}
    .hero__name{font-size:50px;}
    .profile__inner{grid-template-columns:1fr;gap:36px;padding-top:40px;padding-bottom:40px;}
    .doc__grid{grid-template-columns:1fr;}
    .col{padding:0;}
    .col:first-child{border-right:none;border-bottom:1px solid var(--line);padding-bottom:32px;}
    .article-head h1{font-size:30px;}
    .page-head h1{font-size:28px;}
}
@media (max-width:680px){
    .wrap{padding-left:18px;padding-right:18px;}
    .nav{display:none;}
    .cats__inner{grid-template-columns:repeat(3,1fr);}
    .cat{flex-direction:column;gap:8px;padding:16px 4px;}
    .cat span{font-size:13px;}
    .cards{grid-template-columns:1fr;}
    .hero__name{font-size:44px;}
    .hero__lead{font-size:17px;}
    .feed{padding:40px 0;}
    .article-shell{padding:32px 0 48px;}
    .article-head h1{font-size:26px;line-height:1.35;}
    .article-summary{font-size:16px;}
    .article-body{font-size:16.5px;line-height:1.8;}
    .article-body h2{font-size:21px;margin:34px 0 12px;}
    .article-body h3{font-size:18px;}
    .article-body table{display:block;overflow-x:auto;white-space:nowrap;}
    .list-bar{flex-direction:column;align-items:flex-start;gap:10px;}
    .post-row{padding:18px 12px;}
    .post-row__title{font-size:18px;}
    .foot-top{flex-direction:column;gap:24px;}
    .medi-board-content #gall_ul{grid-template-columns:1fr}
    .medi-board-content .tbl_head01{overflow-x:auto}
    .medi-board-content .tbl_head01 table{min-width:720px}
    .medi-board-content #bo_w .bo_w_info{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}.rise{opacity:1;transform:none;}}
