/* ==========================================================================
   [TM-R1] timonology 리브랜드 «흰 종이 · 먹선 · 주 한 점» v1 — 배포용 단일 스타일시트
   작성 2026-09-15 · 정본 스펙 plan/FINAL-spec.md · 토큰 정본 plan/tokens.css
   ★로컬 프리뷰 산출물. 라이브 미적용(SSH·WP 쓰기·캐시 퍼지 없음).

   배포 위치: Additional CSS(post 335) «맨 끝». 이 파일 한 덩어리를 그대로 붙인다.
   스코프 원칙
   - 토큰은 --tm-* 접두어만 새로 만든다. §1 브리지는 기존 이름(--paper, --lacquer, --global-palette*)을
     새 값으로 «재배선»만 한다(새 컴포넌트 규칙은 브리지에 의존하지 않음).
   - 컴포넌트 규칙은 timonology가 직접 만든 클래스(#masthead 브랜드/메뉴, .mhj-*, .ink-*, .timon-*,
     Kadence 글/아카이브 골격 중 이 사이트가 이미 덮어쓰던 것)만 건드린다. 전역 요소 셀렉터는
     html/body/::selection 뿐이다.
   - 모든 규칙에 `html body` 접두(+0,0,2). 이유: #mhj-mb-css · #mhj-plate-css · #mhj-ib-css ·
     #mhj-bird-css · #mhj-next-story-css · #timon-timeline-css 가 BODY 안 <style>이라 문서상 HEAD의
     Additional CSS보다 뒤 → 특이도가 같으면 기존 규칙이 이긴다.

   !important 정책 — «기존 규칙이 이미 !important인 속성»에만 쓴다. 대상(원인 규칙):
   ① 헤더 높이·브랜드 글자·태그라인·메뉴: [MHJ-G]/[MHJ-N]/[MHJ-O]/[MHJ-R] `#masthead … !important`
   ② 전역 버튼 반경 `button:not(.ink-car-btn):not(.ink-car-navitem){border-radius:4px!important}`(0,2,1)
      와 `.mhj-mb-tab.mhj-mb-tab.mhj-mb-tab{border-radius:0!important}`, `.mhj-mb-tab{color…!important}`
   ③ `.ink-mag button:not(.ink-car-btn):hover{background:transparent;color:inherit}`(0,3,1) — 버튼 면색
   ④ 폰트: `body,.ink-mag{font-family:"Noto Sans KR"…!important}`, `.ink-label,.ink-mag-date,… IBM Plex Mono!important`,
      `.mhj-plate-inst{font-family…!important}`, `.mhj-plate-inst .steps .n{…!important}`
   ⑤ 섹션 제목 `.ink-mag .ink-sec-title{font-size:21px!important…}`, `.ink-sec-head{padding-bottom:10px!important}`,
      밴드 h2 `.entry-content.single-content .mhj-mb-head h2{…!important}`(0,3,1), 밴드 링크 `.mhj-mb-read,.mhj-mb-all{…!important}`
   ⑥ 글: `.entry-content figure.wp-block-image figcaption{display:none!important}`, `figure{margin:2.4em 0!important}`,
      `body.single/.page .entry-content{max-width…!important; margin…!important}`, `.ink-srcbox{…!important}`(인라인 style 대응)
   ⑦ 카테고리/소개 히어로 `.entry-hero… {text-align:center!important; padding…!important; max-width:760px!important}`
   ⑧ 배경/색 `body,.content-bg,.site{background…!important}`, `.ink-label{color…!important}`, `.ink-mag-date{color…!important}`,
      `.ink-footer-bot{color…!important}`, `.ink-more{color…!important}`, 마퀴 회전 `:nth-child`(0,3,0) transform,
      관련 글 `.site-container{background:#fff!important}`(인라인 style도 못 이김), Kadence `.content-area` 여백·`kadence-thumbnail-position-behind` 음수 margin
   ⑨ 포커스 링: `#masthead a:focus-visible{outline…!important}` — outline을 지우는 대신 box-shadow 링으로 «대체»한다.
   ⑩ [fix-r1] 인라인 style·Kadence 고정값: 글 figcaption·편집팀 서명 p(인라인 style), 히어로 `aspect-ratio …!important`(그리드 스택으로 교체),
      이전/다음 `.nav-next{grid-column-start:2}`, 핫스팟 버튼 전역 반경(셀렉터 강화 + 기존 !important 유지)
   이 밖의 !important는 없다. 배포 후 기존 블록을 정리([MHJ-G]~[MHJ-S] 헤더·밴드 규칙 삭제)하면 대부분 뺄 수 있다.
   ========================================================================== */


/* ---------- 0. 토큰 [TM-TOKENS] (plan/tokens.css 정본 그대로) ---------- */
:root {
  color-scheme: light;
  --tm-paper:#FFFFFF; --tm-mist-50:#F6F8FA; --tm-mist-100:#EEF1F4; --tm-mist-200:#E3E7EC; --tm-mist-300:#CDD3DB;
  --tm-mist-400:#A2AAB5; --tm-mist-500:#6B7480; --tm-mist-600:#555E6A; --tm-mist-700:#3A424D; --tm-mist-800:#232A33; --tm-mist-900:#141A21;
  --tm-ju-50:#FFF1EE; --tm-ju-100:#FFDCD4; --tm-ju-300:#FF9F8A; --tm-ju-500:#E5432D; --tm-ju-600:#D03B22; --tm-ju-700:#B8361F;
  --tm-good-fg:#0B7A55; --tm-good-bg:#E4F5EE; --tm-warn-fg:#8A5A00; --tm-warn-bg:#FFF3D1; --tm-info-fg:#2457C5; --tm-info-bg:#E8EFFD;

  --tm-bg:var(--tm-paper); --tm-surface:var(--tm-paper); --tm-surface-soft:var(--tm-mist-50); --tm-surface-sunk:var(--tm-mist-100);
  --tm-fg:var(--tm-mist-900); --tm-fg-body:var(--tm-mist-800); --tm-fg-2:var(--tm-mist-600); --tm-fg-3:var(--tm-mist-500);
  --tm-line:var(--tm-mist-200); --tm-inverse:var(--tm-mist-900); --tm-inverse-soft:var(--tm-mist-800);
  --tm-on-inverse:#FFFFFF; --tm-on-inverse-2:rgba(255,255,255,.78);
  --tm-accent:var(--tm-ju-600); --tm-accent-text:var(--tm-ju-700); --tm-accent-weak:var(--tm-ju-50); --tm-accent-graphic:var(--tm-ju-500);

  --tm-plate-paper:#FBFCFD; --tm-plate-ink:var(--tm-mist-900); --tm-plate-ink-2:var(--tm-mist-600);
  --tm-plate-accent:var(--tm-ju-500); --tm-plate-accent-text:var(--tm-ju-700); --tm-plate-rule:var(--tm-mist-300); --tm-plate-frame:var(--tm-mist-200);

  --tm-font-display:"Wanted Sans Variable","Wanted Sans","Wanted Sans Fallback","Pretendard Variable","Pretendard Fallback",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --tm-font-text:"Pretendard Variable","Pretendard Fallback",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;

  --tm-fs-display:clamp(44px, 30.63px + 3.429vw, 80px);
  --tm-fs-h1:clamp(36px, 27.09px + 2.286vw, 60px);
  --tm-fs-h2:clamp(32px, 27.54px + 1.143vw, 44px);
  --tm-fs-brand:clamp(28px, 23.54px + 1.143vw, 40px);
  --tm-fs-post-h2:clamp(28px, 26.51px + .381vw, 32px);
  --tm-fs-h3:clamp(22px, 21.26px + .19vw, 24px);
  --tm-fs-body:clamp(17px, 16.63px + .095vw, 18px);
  --tm-fs-body-sm:clamp(15px, 14.63px + .095vw, 16px);
  --tm-fs-label:clamp(15px, 14.63px + .095vw, 16px);
  --tm-fs-tagline:clamp(13px, 12.26px + .19vw, 15px);
  --tm-fs-caption:clamp(13px, 12.63px + .095vw, 14px);

  --tm-r-xs:6px; --tm-r-sm:12px; --tm-r-float:14px; --tm-r-md:20px; --tm-r-lg:clamp(24px, 21.03px + .762vw, 32px); --tm-r-full:999px;
  --tm-shadow-none:none; --tm-shadow-thumb:0 1px 2px rgba(20,26,33,.08); --tm-shadow-float:0 8px 10px -6px rgba(20,26,33,.22);

  --tm-s-1:4px; --tm-s-2:8px; --tm-s-3:12px; --tm-s-4:16px; --tm-s-5:20px; --tm-s-6:24px;
  --tm-s-8:32px; --tm-s-10:40px; --tm-s-12:48px; --tm-s-14:56px; --tm-s-18:72px; --tm-s-24:96px; --tm-s-32:128px;
  --tm-gutter:clamp(20px, -9.71px + 7.619vw, 100px);
  --tm-section-gap:clamp(80px, 62.17px + 4.571vw, 128px);
  --tm-head-gap:clamp(24px, 18.06px + 1.524vw, 40px);
  --tm-band-pad-y:clamp(32px, 20.11px + 3.048vw, 64px);
  --tm-band-pad-x:clamp(20px, 6.63px + 3.429vw, 56px);
  --tm-container:1240px; --tm-prose:720px;

  --tm-h-lg:48px; --tm-h-tab:44px; --tm-h-md:40px; --tm-hit-min:40px;
  --tm-header-row:clamp(76px, 65.6px + 2.667vw, 104px);

  --tm-dur-press:120ms; --tm-dur-color:180ms; --tm-dur-enter:240ms; --tm-dur-exit:160ms; --tm-dur-panel:320ms;
  --tm-ease-standard:cubic-bezier(.2,0,0,1); --tm-ease-enter:cubic-bezier(0,0,.2,1); --tm-ease-exit:cubic-bezier(.4,0,1,1);
  --tm-press-scale:.97;

  --tm-focus:0 0 0 2px #FFFFFF, 0 0 0 4px var(--tm-ju-600);
  --tm-focus-inverse:0 0 0 2px var(--tm-mist-800), 0 0 0 4px var(--tm-ju-300);
  --tm-z-hint:5;

  /* 이 파일 안에서만 쓰는 파생값 */
  --tm-hero-pad:clamp(24px, 12.11px + 3.048vw, 56px);   /* 24 → 56 */
  --tm-page-top:clamp(20px, 12.57px + 1.905vw, 40px);   /* 헤더 → 첫 블록 */
  --tm-transition:background-color var(--tm-dur-color) var(--tm-ease-standard), color var(--tm-dur-color) var(--tm-ease-standard), box-shadow var(--tm-dur-color) var(--tm-ease-standard), transform var(--tm-dur-press) var(--tm-ease-standard);
}


/* ---------- 1. 기존 토큰 브리지 (누락 대비 안전망) ---------- */
:root {
  --paper:var(--tm-paper); --paper-raised:var(--tm-paper); --line:var(--tm-mist-200); --surface-weak:var(--tm-mist-50);
  --ink-ink:var(--tm-mist-900); --text:var(--tm-mist-900); --text-weak:var(--tm-mist-600); --ink-mut:var(--tm-mist-600); --ink-soft:var(--tm-mist-600);
  --ink-900:var(--tm-mist-900); --ink-800:var(--tm-mist-800); --ink-500:var(--tm-mist-500); --ink-line:var(--tm-mist-200); --ink-bd:var(--tm-mist-200); --ink:var(--tm-mist-900);
  --lacquer:var(--tm-ju-700); --accent:var(--tm-ju-700); --ink-accent:var(--tm-ju-700); --red-500:var(--tm-ju-700);
  --bronze:var(--tm-mist-700); --bronze-bright:var(--tm-good-fg);
  --border:var(--tm-mist-200); --white:#FFFFFF; --accent-on:#FFFFFF; --invert-text:#FFFFFF;
  --global-palette1:var(--tm-ju-700); --global-palette2:var(--tm-ju-700);
  --global-palette3:var(--tm-mist-900); --global-palette4:var(--tm-mist-800); --global-palette5:var(--tm-mist-600); --global-palette6:var(--tm-mist-500);
  --global-palette7:var(--tm-mist-100); --global-palette8:var(--tm-mist-50); --global-palette9:var(--tm-paper);
  --global-palette-btn:#FFFFFF; --global-palette-btn-bg:var(--tm-mist-900); --global-palette-btn-hover:#FFFFFF; --global-palette-btn-bg-hover:var(--tm-mist-800);
  --global-palette-highlight:var(--tm-mist-800); --global-palette-highlight-alt:var(--tm-mist-900); --global-palette-highlight-alt2:var(--tm-paper);
  --global-body-font-family:var(--tm-font-text); --global-heading-font-family:var(--tm-font-text);
}
@media (max-width:640px) { :root { --global-content-edge-padding:20px; } }

/* [WP-355, 독립게이트 B1 재조사] post 335(Additional CSS, wp_custom_css_cb가 wp_head 우선순위 101 —
   core WP가 «항상 맨 마지막»으로 강제해서 mu-plugin 로딩순서·의존성으로는 절대 못 이긴다)에
   2026-09-03 [MHJ-A] "PALETTE LOCK" 구간이 남아있다: `body{ --global-palette1:var(--accent); … }`
   가 --accent→--red-500 체인(같은 post 335 안의 [MHJ-I] :root 재정의, #8b3226)으로 옛 벽돌색을
   다시 흘려보낸다. body 선택자(0,0,1)라 위 :root 브리지(0,1,0)로는 못 이긴다 — 상속이 아니라
   body 자신에 직접 선언돼 있어서다. 우회: 같은 변수를 여기서도 `html body`(0,0,2)로 다시 선언해
   post 335가 몇 시에 로드되든(항상 나중) 특이도로 이긴다. post 335 자체는 5블로그 공용이라 안 건드림. */
html body {
  --global-palette1:var(--tm-ju-700); --global-palette2:var(--tm-ju-700);
  --global-palette3:var(--tm-mist-900); --global-palette4:var(--tm-mist-800); --global-palette5:var(--tm-mist-600); --global-palette6:var(--tm-mist-500);
  --global-palette7:var(--tm-mist-100); --global-palette8:var(--tm-mist-50); --global-palette9:var(--tm-paper);
  --global-palette-btn:#FFFFFF; --global-palette-btn-bg:var(--tm-mist-900); --global-palette-btn-hover:#FFFFFF; --global-palette-btn-bg-hover:var(--tm-mist-800);
  --global-palette-highlight:var(--tm-mist-800); --global-palette-highlight-alt:var(--tm-mist-900); --global-palette-highlight-alt2:var(--tm-paper);
  --accent:var(--tm-ju-700); --red-500:var(--tm-ju-700);
}
/* 같은 post 335 구간의 `a{color:var(--accent)}`·`a:visited{…}`(0,0,1)도 같은 체인이라 같이 샌다 */
html body a { color:var(--tm-accent-text); }
html body a:visited { color:var(--tm-accent-text); }

/* [WP-355 백로그③, 2026-09-17] `:root` 자체의 옛값 정리. 위 `html body{}`는 body 엘리먼트 본인에게
   직접 선언된 값이라 :root로부터의 상속을 자동으로 이기지만(같은 프로퍼티가 body 자신에 있으면
   상속값은 애초에 안 쓰인다), :root(=html 엘리먼트) 자신의 computed value는 여전히 post 335의
   `:root{...}`([MHJ-I], 같은 특이도 0,1,0, 항상 나중 로드) 값을 그대로 가진다 — 재게이트 R1 표
   "`:root`(옛값 잔존)" 항목이 이것이다. `::backdrop` 등 body 상속을 안 받는 컨텍스트에서 이 잔존이
   드러날 수 있어(재게이트 R1 "잔여 리스크" 각주) post 335를 건드리지 않는 선에서 여기서도 닫는다.
   `html:root`는 :root와 정확히 같은 단일 엘리먼트(html)를 가리키면서 타입 셀렉터 하나만 더 붙어
   특이도가 (0,1,1)로 plain `:root`(0,1,0)보다 항상 높다 — post 335가 몇 번째로 로드되든 무관하게
   이긴다. !important 없이 셀렉터 특이도만으로 해결(§6-2 원칙 그대로, body 브리지와 같은 방식). */
html:root {
  --global-palette1:var(--tm-ju-700); --global-palette2:var(--tm-ju-700);
  --global-palette3:var(--tm-mist-900); --global-palette4:var(--tm-mist-800); --global-palette5:var(--tm-mist-600); --global-palette6:var(--tm-mist-500);
  --global-palette7:var(--tm-mist-100); --global-palette8:var(--tm-mist-50); --global-palette9:var(--tm-paper);
  --global-palette-btn:#FFFFFF; --global-palette-btn-bg:var(--tm-mist-900); --global-palette-btn-hover:#FFFFFF; --global-palette-btn-bg-hover:var(--tm-mist-800);
  --global-palette-highlight:var(--tm-mist-800); --global-palette-highlight-alt:var(--tm-mist-900); --global-palette-highlight-alt2:var(--tm-paper);
  --accent:var(--tm-ju-700); --red-500:var(--tm-ju-700);
}
@media (max-width:640px) { html:root { --global-content-edge-padding:20px; } }


/* ---------- 2. 바탕 · 글꼴 · 포커스 ---------- */
html body {
  background:var(--tm-paper) !important;
  color:var(--tm-mist-800);
  font-family:var(--tm-font-text) !important;
  letter-spacing:-.005em;
  word-break:keep-all; overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
}
/* 모노·Noto 강제 지정을 전부 텍스트 패밀리로 (④) */
html body :is(.ink-mag, .ink-label, .ink-mag-date, .ink-hero-meta, .ink-hero-kicker, .mono, .ink-picks-num,
  .mhj-plate-inst, .mhj-plate-inst .steps .n, .timon-tl, .timon-tl-cap, .timon-tl-lbl .y, .timon-tl-gap,
  .timon-hs-btn .n, .timon-chain-num, .mhj-ns-kicker, .ink-footer) {
  font-family:var(--tm-font-text) !important;
}
html body ::selection { background:var(--tm-ju-100); color:var(--tm-mist-900); }

/* 포커스: outline 대신 링(대체 표시 필수) (⑨) */
html body :is(#masthead, .mhj-catrow-outer, .ink-mag, .entry-content, .entry-header, .ink-footer, .loop-entry, .post-navigation, .entry-related, .mhj-next-story) :focus-visible,
html body .mhj-next-story:focus-visible {
  outline:none !important;
  box-shadow:var(--tm-focus) !important;
}


/* ---------- 3. 헤더 + 브랜드 (§4-1) ---------- */
html body #masthead,
html body #masthead .site-container,
html body #masthead .site-header-row-container-inner { background:var(--tm-paper) !important; }
html body #masthead { border-bottom:0 !important; box-shadow:none !important; }
html body #masthead .site-main-header-inner-wrap { min-height:var(--tm-header-row) !important; }

html body #masthead .site-title,
html body #masthead .site-title a {
  margin:0;
  font-family:var(--tm-font-display) !important;
  font-size:var(--tm-fs-brand) !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  color:var(--tm-mist-900) !important;
  white-space:nowrap;
}
/* 768 결함: Kadence vs-md-false가 태블릿(768–1024)에서 워드마크를 숨긴다 */
html body .site-mobile-header-wrap .site-title.vs-md-false { display:block !important; }

html body #masthead .mhj-header-tagline {
  display:block;
  margin:6px 0 0 !important;
  font-family:var(--tm-font-text) !important;
  font-size:var(--tm-fs-tagline) !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  letter-spacing:0 !important;
  color:var(--tm-mist-600) !important;
  white-space:nowrap;
}
@media (max-width:640px) { html body #masthead .mhj-header-tagline { margin-top:4px !important; } }
@media (max-width:374px) { html body #masthead .mhj-header-tagline { font-size:12px !important; } }

html body #masthead #primary-menu > li > a {
  display:inline-flex !important; align-items:center;
  height:40px; padding:0 16px !important;
  border-radius:var(--tm-r-full);
  background:var(--tm-mist-100);   /* [fix-r1 CEO M9] 거대 워드마크 옆 외톨이 글자 → tonal 알약 */
  font-size:var(--tm-fs-label) !important; font-weight:500 !important; line-height:1 !important;
  color:var(--tm-mist-800) !important;
  box-shadow:none !important; text-decoration:none !important;
  transition:var(--tm-transition);
}
html body #masthead #primary-menu > li > a:hover { background:var(--tm-mist-200); color:var(--tm-mist-900) !important; }
/* [fix-r1] 위 box-shadow:none(ID 2개)이 공통 포커스 규칙(ID 1개)을 이긴다 → 같은 특이도로 링 복구 */
html body #masthead #primary-menu > li > a:focus-visible { outline:none !important; box-shadow:var(--tm-focus) !important; }
html body #masthead #primary-menu > li.current-menu-item > a,
html body #masthead #primary-menu > li.current_page_item > a { background:var(--tm-mist-900); color:#FFFFFF !important; font-weight:600 !important; }

html body #masthead #mobile-toggle {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; padding:10px !important;
  border:0; border-radius:var(--tm-r-full) !important;
  background:transparent !important; color:var(--tm-mist-900) !important;
  transition:var(--tm-transition);
}
html body #masthead #mobile-toggle:hover { background:var(--tm-mist-100) !important; }
html body #masthead #mobile-toggle .kadence-svg-iconset,
html body #masthead #mobile-toggle svg { color:var(--tm-mist-900) !important; fill:var(--tm-mist-900) !important; }


/* ---------- 4. 카테고리 스트립 (§4-2) ---------- */
html body .mhj-catrow-outer {
  border-top:0 !important;
  border-bottom:1px solid var(--tm-mist-200) !important;
  background:var(--tm-paper) !important;
}
html body .mhj-catrow {
  display:flex; flex-wrap:nowrap !important; align-items:center; justify-content:center;
  gap:8px !important;
  max-width:none;
  padding:12px var(--tm-gutter) !important;
  overflow-x:auto; scrollbar-width:none; scroll-padding-inline:20px;
}
html body .mhj-catrow::-webkit-scrollbar { display:none; }
html body .mhj-catrow .mhj-catrow-link {
  flex:none; display:inline-flex; align-items:center; gap:6px;
  height:40px; padding:0 16px !important;
  border-radius:var(--tm-r-full);
  background:transparent; box-shadow:none !important;
  font-family:var(--tm-font-text);
  font-size:var(--tm-fs-label) !important; font-weight:500; line-height:1;
  color:var(--tm-mist-700) !important;
  text-decoration:none; white-space:nowrap;
  transition:var(--tm-transition);
}
html body .mhj-catrow .mhj-catrow-link:hover { background:var(--tm-mist-100); color:var(--tm-mist-900) !important; }
html body .mhj-catrow .mhj-catrow-link:active { transform:scale(var(--tm-press-scale)); }
html body .mhj-catrow .mhj-catrow-link.is-accent { background:var(--tm-ju-50); color:var(--tm-ju-700) !important; font-weight:600; }
html body .mhj-catrow .mhj-catrow-link.is-accent::before { content:""; flex:none; width:6px; height:6px; border-radius:50%; background:var(--tm-ju-500); }
html body .mhj-catrow .mhj-catrow-link.is-active { background:var(--tm-mist-900); color:#FFFFFF !important; font-weight:600; }
html body .mhj-catrow .mhj-catrow-link.is-active.is-accent::before { background:#FFFFFF; }
@media (max-width:1023px) {
  html body .mhj-catrow { justify-content:flex-start; padding-right:40px !important; }
  html body .mhj-catrow-outer { position:relative; }
  html body .mhj-catrow-outer::after {
    content:""; position:absolute; top:0; right:0; bottom:1px; width:24px;
    background:linear-gradient(90deg, rgba(255,255,255,0), #FFFFFF) !important;
    pointer-events:none;
  }
}
@media (max-width:640px) { html body .mhj-catrow { padding-top:8px !important; padding-bottom:8px !important; } }


/* ---------- 5. 홈 골격: 상자 안 상자 제거 ---------- */
html body.home #primary.content-area { margin-top:var(--tm-page-top) !important; }
html body.home .entry.content-bg { background:transparent !important; box-shadow:none !important; border-radius:0 !important; }
/* Kadence boxed 모바일(≤767)은 카드를 -16px 풀블리드로 뺀다 → 거터가 4px로 무너짐. 거터는 컨테이너 20px 하나로 */
html body.content-style-boxed article.entry.content-bg:not(.loop-entry) { margin-left:0; margin-right:0; }
html body.home .entry-content { background:transparent !important; }
html body.home .entry-content-wrap { padding:0 !important; }
html body.home .ink-mag { padding-left:0 !important; padding-right:0 !important; color:var(--tm-mist-800); }


/* ---------- 6. 히어로 (§4-3) ---------- */
html body .ink-hero { margin:0 !important; }
html body .ink-hero-lead { border-radius:var(--tm-r-lg); background-color:var(--tm-mist-900); }
/* [fix-r1 adv B2] 비율을 «최소 높이»로: 기존 aspect-ratio(4/5·2.1 !important) + absolute 본문은 제목이 길면 라벨이 위로 잘린다.
   그리드 한 칸에 비율 스페이서(::after)와 본문을 겹쳐 쌓는다 → 내용이 들어가면 크기 불변, 넘치면 상자가 늘어난다 */
html body .ink-hero-lead { display:grid !important; aspect-ratio:auto !important; }
html body .ink-hero-lead::after { content:""; grid-area:1 / 1; padding-top:calc(100% / 2.1); pointer-events:none; }
@media (max-width:760px) { html body .ink-hero-lead::after { padding-top:125%; } }
html body .ink-hero-body { position:relative !important; inset:auto !important; grid-area:1 / 1; align-self:end; }
/* [fix-r1 CEO M4 · spec m11] 사진 스캔 테두리(1440 좌우 회색 띠, 390 바닥 가운데 막대)는 원본 이미지 가장자리다 → 사진 층만 6% 크롭.
   transform이라 사진 비율과 무관하게 동작. hover 줌은 기존 1.04배 차이를 유지 */
html body .ink-hero-lead::before { transform:scale(1.12); }
html body .ink-hero-lead:is(:hover, :focus-visible)::before { transform:scale(1.165); }
html body .ink-hero-scrim,
html body .ink-hero-lead:hover .ink-hero-scrim,
html body .ink-hero-lead:focus-visible .ink-hero-scrim {
  /* [fix-r1 adv minor 7] 위쪽 0% 투명 → 18%: 4–5줄 제목 윗줄이 밝은 사진에 걸릴 때 대비 확보 */
  background:linear-gradient(180deg, rgba(20,26,33,.18) 0%, rgba(20,26,33,.2) 30%, rgba(20,26,33,.6) 62%, rgba(20,26,33,.88) 100%);
}
html body .ink-hero-body { padding:var(--tm-hero-pad) !important; }
html body .ink-hero-kicker { display:none !important; }
html body .ink-hero-body .ink-label {
  display:inline-flex; align-items:center; gap:6px;
  height:32px; margin:0; padding:0 12px;
  border-radius:var(--tm-r-full); background:#FFFFFF;
  color:var(--tm-mist-900) !important;
  font-size:14px; font-weight:600 !important; line-height:1; letter-spacing:0; text-transform:none;
}
html body .ink-hero-body .ink-label:has(.mhj-ib) { padding-right:4px; }   /* 배지 원이 알약 끝에 동심으로 붙게 */
html body .ink-hero-title {
  display:block;
  max-width:13.5em;
  margin:16px 0 0 !important;
  font-family:var(--tm-font-display) !important;
  font-size:var(--tm-fs-display) !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  color:#FFFFFF;
  text-shadow:0 1px 18px rgba(20,26,33,.28);
  text-wrap:balance;
}
@media (max-width:640px) {
  html body .ink-hero-title { display:-webkit-box !important; -webkit-box-orient:vertical; -webkit-line-clamp:5 !important; overflow:hidden; }
}
/* [fix-r1 adv minor 8] 320대: 44px 5줄에 긴 제목이 잘린다(현재 대표글 = 7줄). 글자를 줄이면 히어로:섹션 H2 위계(≥1.33)가 깨지므로 줄 수를 늘린다(상자는 그리드 스택으로 함께 늘어남) */
@media (max-width:374px) { html body .ink-hero-title { -webkit-line-clamp:7 !important; } }
html body .ink-hero-meta {
  display:block; margin-top:16px;
  font-size:15px !important; font-weight:400; letter-spacing:0;
  color:rgba(255,255,255,.78) !important;
  font-variant-numeric:tabular-nums;
}
/* CEO 확인 항목(§7): 匠 인장 — 숨김 유지. display만이라 되돌리기 쉬움 */
html body .ink-seal { display:none !important; }
/* [WP-355] 벌새 복원(현빈 지시) — 위치·크기·2프레임 날갯짓·reduced-motion 정지는 mhj-bird-crossing.php의
   JS가 그대로 맡는다(margin<60px면 자동 숨김이라 768/390은 원래도 안 뜬다). 여기서 건드리는 건 그림자뿐 —
   원래 filter:drop-shadow(2px 4px 5px rgba(0,0,0,.35))가 순검정+큰 블러라 "종이 위 스티커"로 보였다.
   §3 "입체: 기본 그림자 없음" 톤에 맞춰 --tm-shadow-float와 같은 방향(연한 잉크색·낮은 알파)으로 낮췄다. */
html body .mhj-bird { filter:drop-shadow(0 6px 8px rgba(20,26,33,.20)); }

html body .ink-hero-sub {
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px;
  margin-top:32px; padding-top:0; border-top:0 !important;
}
html body .ink-hero-sub .ink-sub { display:grid; align-content:start; gap:6px; }
html body .ink-hero-sub .ink-sub .ink-label { margin:0; font-size:14px; font-weight:500 !important; letter-spacing:0; text-transform:none; color:var(--tm-mist-500) !important; }
html body .ink-hero-sub .ink-sub-title { margin:0; font-size:20px; font-weight:500; line-height:1.4; letter-spacing:-.015em; color:var(--tm-mist-900); }   /* 700→500: 굵은 글자 비율, 크기(20)로 위계 */
html body .ink-hero-sub .ink-sub:hover .ink-sub-title { color:var(--tm-mist-900); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
html body .ink-hero-sub .ink-mag-date { margin:0; }
@media (max-width:640px) {
  html body .ink-hero-sub { grid-template-columns:minmax(0,1fr); gap:0; margin-top:24px; }
  html body .ink-hero-sub .ink-sub { padding:16px 0; border-bottom:1px solid var(--tm-mist-200); }
  html body .ink-hero-sub .ink-sub:last-child { border-bottom:0; }
}

/* 날짜(공통) */
html body .ink-mag-date {
  display:block; margin-top:0;
  font-size:var(--tm-fs-caption) !important; font-weight:500; letter-spacing:0;
  color:var(--tm-mist-500) !important;
  font-variant-numeric:tabular-nums;
}


/* ---------- 7. 마퀴 (§4-4) ---------- */
html body .ink-mq-wrap { margin:56px 0 0 !important; padding-block:6px; }   /* [fix-r1] 포커스 링이 overflow에 위아래로 잘리지 않게 */
html body .ink-mq-wrap:focus-within .ink-mq-track { animation-play-state:paused; }
@media (max-width:640px) { html body .ink-mq-wrap { margin-top:40px !important; } }
html body .ink-mq-card .ink-mq-thumb,
html body .ink-mq-card:hover .ink-mq-thumb {
  transform:none !important; box-shadow:none !important;
  border-radius:var(--tm-r-sm); background-color:var(--tm-mist-100);
}
html body .ink-mq-title { margin-top:10px; font-size:14px; font-weight:500; letter-spacing:0; color:var(--tm-mist-700); }


/* ---------- 8. 모션 밴드 (§4-5) — 홈의 초점 ---------- */
html body .mhj-mb.mhj-mb {
  position:relative; box-sizing:border-box;
  display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:40px; row-gap:40px; align-items:end;
  max-width:1240px !important;
  margin:var(--tm-section-gap) auto 0 !important;
  padding:var(--tm-band-pad-y) var(--tm-band-pad-x) !important;
  background:var(--tm-mist-50) !important;
  border:0 !important; border-radius:var(--tm-r-lg);
  color:var(--tm-mist-800);
}
/* 영역명을 쓰지 않는다 — 자동광고 같은 알 수 없는 자식도 전체 폭으로 */
html body .mhj-mb.mhj-mb > * { grid-column:1 / -1; min-width:0; }
html body .mhj-mb.mhj-mb > .mhj-mb-head { grid-column:1; }
html body .mhj-mb.mhj-mb > .mhj-mb-tabs { grid-column:2; }
@media (max-width:760px) {
  html body .mhj-mb.mhj-mb { grid-template-columns:minmax(0,1fr); row-gap:24px; }
  html body .mhj-mb.mhj-mb > .mhj-mb-head,
  html body .mhj-mb.mhj-mb > .mhj-mb-tabs { grid-column:1; }
}

/* 제목 */
html body .mhj-mb.mhj-mb .mhj-mb-head { display:block; margin:0; padding:0 !important; text-align:left; }
html body .mhj-mb.mhj-mb .mhj-mb-head::after { content:none !important; display:none !important; }
html body .mhj-mb.mhj-mb .mhj-mb-head h2 {
  margin:0 !important; padding:0 !important; border:0 !important;
  font-family:var(--tm-font-display) !important;
  font-size:var(--tm-fs-h2) !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  letter-spacing:-.03em !important;
  color:var(--tm-mist-900) !important;
  text-wrap:balance;
}
html body .mhj-mb.mhj-mb .mhj-mb-head p {
  max-width:36em; margin:12px 0 0 !important;
  font-size:var(--tm-fs-body) !important; line-height:1.6; color:var(--tm-mist-600);
  text-wrap:pretty;
}

/* 탭 = 세그먼트 컨트롤 */
html body .mhj-mb.mhj-mb .mhj-mb-tabs {
  display:inline-flex; flex-wrap:nowrap; justify-content:flex-start; justify-self:end;
  gap:4px; margin:0 !important; padding:4px;
  background:var(--tm-mist-100); border-radius:var(--tm-r-full);
}
html body .mhj-mb.mhj-mb .mhj-mb-tab.mhj-mb-tab {
  position:relative; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center;
  height:44px; min-width:104px; margin:0;
  padding:0 24px !important;
  border:0 !important; border-radius:var(--tm-r-full) !important;
  background:transparent !important; box-shadow:none;
  font-family:var(--tm-font-text); font-size:var(--tm-fs-label) !important; font-weight:500; line-height:1;
  color:var(--tm-mist-700) !important;
  white-space:nowrap; cursor:pointer;
  transition:var(--tm-transition);
}
html body .mhj-mb.mhj-mb .mhj-mb-tab.mhj-mb-tab:not(.active):hover { color:var(--tm-mist-900) !important; }
html body .mhj-mb.mhj-mb .mhj-mb-tab.mhj-mb-tab:not(.active):active { transform:scale(var(--tm-press-scale)); }
html body .mhj-mb.mhj-mb .mhj-mb-tab.mhj-mb-tab.active {
  background:var(--tm-paper) !important;
  color:var(--tm-mist-900) !important;
  font-weight:600;
  box-shadow:var(--tm-shadow-thumb);
  cursor:default;
}
@media (max-width:760px) {
  html body .mhj-mb.mhj-mb .mhj-mb-tabs { display:flex; width:100%; justify-self:stretch; }
  html body .mhj-mb.mhj-mb .mhj-mb-tab.mhj-mb-tab { flex:1 1 0; min-width:0; padding:0 12px !important; }
}
html body .mhj-mb.mhj-mb .mhj-mb-panel { min-height:0; }
html body .mhj-mb.mhj-mb .mhj-mb-loading { padding:80px 0; font-size:16px; color:var(--tm-mist-600); }
/* 밴드 안 자동광고 차단(§4-13) */
html body .mhj-mb .google-auto-placed { display:none !important; }

/* 푸트 */
html body .mhj-mb.mhj-mb .mhj-mb-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start !important; gap:8px; margin:0 !important; }
html body .mhj-mb.mhj-mb .mhj-mb-foot a {
  display:inline-flex; align-items:center; height:48px; padding:0 22px !important;
  border:0 !important; border-radius:var(--tm-r-full);
  font-size:var(--tm-fs-label) !important; font-weight:600 !important; line-height:1; text-decoration:none;
  transition:var(--tm-transition);
}
html body .mhj-mb.mhj-mb .mhj-mb-foot .mhj-mb-read { background:var(--tm-mist-900); color:#FFFFFF !important; }
html body .mhj-mb.mhj-mb .mhj-mb-foot .mhj-mb-read:hover { background:var(--tm-mist-800); color:#FFFFFF !important; }
/* tonal: 밴드 캔버스(mist-50) 위라 mist-100 대신 흰 면 — mist-100/50 차이는 모양이 안 보인다 (스펙 §3-1 예외로 명시) */
html body .mhj-mb.mhj-mb .mhj-mb-foot .mhj-mb-all { background:var(--tm-paper); color:var(--tm-mist-800) !important; font-weight:500 !important; }
html body .mhj-mb.mhj-mb .mhj-mb-foot .mhj-mb-all:hover { background:var(--tm-mist-200); color:var(--tm-mist-900) !important; }
html body .mhj-mb.mhj-mb .mhj-mb-foot a:active { transform:scale(var(--tm-press-scale)); }


/* ---------- 9. 도판 인스턴스 (홈 밴드 + 글 안 공통, §4-5 · §4-9) ---------- */
/* 구조: .mhj-plate-inst > .plate > (svg, .bar)  ·  .mhj-plate-inst > ol.steps, p.note
   → «한 장의 카드» = .plate(도판 + 컨트롤 바). STEP·주석은 카드 밖. */
html body .mhj-plate-inst.mhj-plate-inst { max-width:none; margin:0; color:var(--tm-mist-800); }
html body .mhj-plate-inst .plate {
  position:relative;
  background:var(--tm-plate-paper);
  border:0 !important; border-radius:var(--tm-r-md);
  overflow:hidden;
}
html body .mhj-plate-inst .plate > svg { display:block; width:100%; height:auto; }

/* 도판 SVG 재색칠 (§1-1) — 선화 문법 유지, 색만 교체. 재질 채움색은 유지 */
html body .mhj-plate-inst .plate > svg [stroke="#23262B" i] { stroke:var(--tm-plate-ink); }
html body .mhj-plate-inst .plate > svg [fill="#23262B" i] { fill:var(--tm-plate-ink); }
html body .mhj-plate-inst .plate > svg [stroke="#8B3226" i] { stroke:var(--tm-plate-accent); }
html body .mhj-plate-inst .plate > svg [fill="#8B3226" i] { fill:var(--tm-plate-accent-text); }
html body .mhj-plate-inst .plate > svg marker [fill="#8B3226" i] { fill:var(--tm-plate-accent); }            /* 화살촉 = 화살 선과 같은 색 */
html body .mhj-plate-inst .plate > svg circle[stroke="#8B3226" i] { stroke:var(--tm-plate-accent-text); }  /* 활성 번호 원: 채움과 같은 색(흰 숫자 대비) */
html body .mhj-plate-inst .plate > svg [fill="#6B6860" i] { fill:var(--tm-plate-ink-2); }
html body .mhj-plate-inst .plate > svg :is([fill="#F7F4EE" i], [fill="#F1ECE1" i]) { fill:var(--tm-plate-paper); }
html body .mhj-plate-inst .plate > svg :is([stroke="#DAD3C6" i], [stroke="#CFC6B6" i]) { stroke:var(--tm-plate-rule); }
html body .mhj-plate-inst .plate .lbl { stroke:var(--tm-plate-paper); }

/* 컨트롤 바 */
html body .mhj-plate-inst .plate .bar {
  position:relative;
  display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px;
  padding:20px 28px;
  background:var(--tm-paper);
  border-top:1px solid var(--tm-mist-200) !important;
}
html body .mhj-plate-inst .cap { flex:1 1 320px; min-width:0; }
html body .mhj-plate-inst .cap b { display:block; margin:0; font-size:var(--tm-fs-h3); font-weight:700; line-height:1.4; letter-spacing:-.02em; color:var(--tm-mist-900); }
html body .mhj-plate-inst .cap span { display:block; margin-top:4px; font-size:var(--tm-fs-body-sm); line-height:1.55; color:var(--tm-mist-600); }
html body .mhj-plate-inst .ctrl { display:flex; align-items:center; gap:8px; flex:none; }
html body .mhj-plate-inst.mhj-plate-inst .ctrl button {
  box-sizing:border-box;
  height:48px; min-width:48px; padding:0;
  border:0 !important; border-radius:var(--tm-r-full) !important;
  background:var(--tm-mist-100) !important; color:var(--tm-mist-900) !important;
  font-family:var(--tm-font-text); font-size:14px; font-weight:500; line-height:1;
  opacity:1; cursor:pointer;
  transition:var(--tm-transition);
}
html body .mhj-plate-inst.mhj-plate-inst .ctrl button:hover:not(:disabled) { background:var(--tm-mist-200) !important; }
html body .mhj-plate-inst.mhj-plate-inst .ctrl button:active:not(:disabled) { transform:scale(var(--tm-press-scale)); }
html body .mhj-plate-inst.mhj-plate-inst .ctrl button:disabled { background:var(--tm-mist-50) !important; color:var(--tm-mist-400) !important; opacity:1; cursor:default; transform:none; }
/* [fix-r1 CEO M10] ◀ ▶ 유니코드 글리프 → 2px 선 셰브론(글리프는 DOM에 두고 크기만 0, aria-label 유지) */
html body .mhj-plate-inst.mhj-plate-inst .ctrl button:not(.primary) { display:inline-flex; align-items:center; justify-content:center; font-size:0 !important; }
html body .mhj-plate-inst.mhj-plate-inst .ctrl button:not(.primary)::before {
  content:""; width:16px; height:16px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
html body .mhj-plate-inst.mhj-plate-inst .ctrl button[id^="prev"]::before { transform:scaleX(-1); }
/* primary «처음부터 재생» — 화면당 1개인 주홍 채움 */
html body .mhj-plate-inst.mhj-plate-inst .ctrl button.primary { padding:0 24px; background:var(--tm-ju-600) !important; color:#FFFFFF !important; font-size:16px; font-weight:700; }
html body .mhj-plate-inst.mhj-plate-inst .ctrl button.primary:hover { background:var(--tm-ju-700) !important; }

/* STEP 진행 */
html body .mhj-plate-inst.mhj-plate-inst .steps {
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:8px;
  margin:12px 0 0 !important; padding:0 !important; list-style:none;
}
html body .mhj-plate-inst.mhj-plate-inst .steps li { margin:0 !important; padding:0 !important; list-style:none; }
html body .mhj-plate-inst.mhj-plate-inst .steps li::marker { content:none; }
html body .mhj-plate-inst.mhj-plate-inst .steps li button {
  position:relative; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  width:100%; height:100%; min-height:76px;
  padding:20px 16px 14px !important;
  border:0 !important; border-radius:var(--tm-r-sm) !important;
  background:var(--tm-paper) !important; color:var(--tm-mist-800) !important;
  box-shadow:none; overflow:hidden;   /* [fix-r1 CEO B5] 트랙을 칩 윗변 전폭에 붙이고 칩 라운드로 자른다 */
  text-align:left; opacity:1; cursor:pointer;
  transition:var(--tm-transition);
}
html body .mhj-plate-inst.mhj-plate-inst .steps li button:active { transform:scale(.98); }
html body .mhj-plate-inst.mhj-plate-inst .steps li button::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  border-radius:0; background:var(--tm-mist-200);
  transition:background-color var(--tm-dur-color) var(--tm-ease-standard);
}
html body .mhj-plate-inst.mhj-plate-inst .steps li:has(~ li button[aria-current="step"]) button::before { background:var(--tm-mist-400); }   /* [fix-r1 CEO B5] 먹 → mist-400: 지난 단계는 조용히, 현재만 주 */
html body .mhj-plate-inst.mhj-plate-inst .steps li button[aria-current="step"] { background:var(--tm-ju-50) !important; }
html body .mhj-plate-inst.mhj-plate-inst .steps li button[aria-current="step"]::before { background:var(--tm-ju-500); }
html body .mhj-plate-inst.mhj-plate-inst .steps .n {
  font-size:var(--tm-fs-caption) !important; font-weight:500; letter-spacing:0 !important;
  line-height:1.3; color:var(--tm-mist-500);
  font-variant-numeric:tabular-nums;
}
html body .mhj-plate-inst.mhj-plate-inst .steps .t { margin-top:2px; font-size:16px; font-weight:500; line-height:1.35; color:var(--tm-mist-800); }
html body .mhj-plate-inst.mhj-plate-inst .steps button[aria-current="step"] .n { color:var(--tm-ju-700); font-weight:600; }
html body .mhj-plate-inst.mhj-plate-inst .steps button[aria-current="step"] .t { color:var(--tm-mist-900); font-weight:700; }
html body .mhj-plate-inst.mhj-plate-inst .note {
  max-width:62ch; margin:16px 0 0 !important;
  font-size:var(--tm-fs-caption) !important; font-weight:400; line-height:1.6 !important;
  color:var(--tm-mist-600);
}

@media (max-width:760px) {
  /* 도판 가독성: 줄이지 않고 가로로 민다(라벨 실효 ≈3px → ≈7px) */
  html body .mhj-plate-inst .plate { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; }
  html body .mhj-plate-inst .plate::-webkit-scrollbar { display:none; }
  html body .mhj-plate-inst .plate > svg { min-width:640px; }
  /* 바는 .plate 안에 있으므로 가로 스크롤을 따라가지 않게 왼쪽에 붙인다 */
  html body .mhj-plate-inst .plate .bar { position:sticky; left:0; box-sizing:border-box; width:100%; padding:16px; }
  html body .mhj-plate-inst .plate .bar::before {
    content:"좌우로 밀어서 도판을 보세요"; order:-1; flex:1 0 100%;
    font-size:14px; font-weight:500; line-height:1.4; color:var(--tm-mist-600);   /* [fix-r1 CEO B4] 13/mist-500 → 14/mist-600 */
  }
  html body .mhj-plate-inst .ctrl { width:100%; }
  html body .mhj-plate-inst.mhj-plate-inst .ctrl button.primary { flex:1 1 auto; }
  html body .mhj-plate-inst.mhj-plate-inst .steps {
    grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(132px, 42%);
    overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
    /* [fix-r1] 스크롤 컨테이너가 포커스 링(4px)을 자르지 않게 4px 여유 + 같은 폭 음수 마진(정렬 불변) */
    padding:4px 4px 8px !important; margin-left:-4px !important; margin-right:-4px !important; scroll-padding-inline:4px;
  }
  html body .mhj-plate-inst.mhj-plate-inst .steps::-webkit-scrollbar { display:none; }
  html body .mhj-plate-inst.mhj-plate-inst .steps li { scroll-snap-align:start; }
}


/* ---------- 10. 편집부 추천 (§4-7) ---------- */
html body .ink-mag .ink-picks { margin-top:var(--tm-section-gap) !important; padding:0 !important; }
html body .ink-mag .ink-picks-list { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px 40px !important; }
@media (max-width:1023px) { html body .ink-mag .ink-picks-list { grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px 32px !important; } }
@media (min-width:641px) and (max-width:1023px) { html body .ink-mag .ink-picks-list li:nth-child(5) { display:none; } }
@media (max-width:640px) { html body .ink-mag .ink-picks-list { grid-template-columns:minmax(0,1fr); gap:20px !important; } }
html body .ink-mag .ink-picks-list li > a {
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px;
  padding-top:20px; border-top:1px solid var(--tm-mist-200);
  text-decoration:none;
}
html body .ink-mag .ink-picks-num {
  grid-column:1; grid-row:1;
  display:block; margin:0;
  font-size:15px; font-weight:700; line-height:1.2;
  color:var(--tm-mist-500); font-variant-numeric:tabular-nums;
}
html body .ink-mag .ink-picks-title {
  grid-column:1 / -1;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
  font-size:18px; font-weight:500; line-height:1.45; letter-spacing:-.01em;   /* 600→500: 홈 굵은 글자 비율(스펙 ≤25%) — 목록 제목은 번호(700)가 위계를 만든다 */
  color:var(--tm-mist-900);
}
html body .ink-mag .ink-picks-list li > a:hover .ink-picks-title { color:var(--tm-mist-900); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
/* [fix-r1 CEO M3] 오른쪽 끝에 떠 있던 배지 → 번호 옆 인라인 */
html body .ink-mag .ink-picks-list li > a > .mhj-ib { grid-column:2; grid-row:1; justify-self:start; margin:0; }
/* [fix-r1 CEO M5] 5개 × 3열의 빈 칸 → 첫 항목 2칸(1행 2+1, 2행 3) + 섹션 초점 */
@media (min-width:1024px) {
  html body .ink-mag .ink-picks-list > li:first-child { grid-column:span 2; }
  html body .ink-mag .ink-picks-list > li:first-child .ink-picks-title { font-size:var(--tm-fs-h3); font-weight:500; line-height:1.4; letter-spacing:-.02em; -webkit-line-clamp:2; }   /* 700이면 홈 600+ 비율 25.2%(FAIL선 초과) → 크기로만 초점 */
}


/* ---------- 11. 섹션 ×4 (§4-8) ---------- */
html body .ink-mag .ink-body { margin-top:0 !important; }
html body .ink-mag .ink-sec { margin-top:var(--tm-section-gap); padding:0 !important; }
html body .ink-mag .ink-sec-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin:0 0 var(--tm-head-gap) !important;
  padding:0 !important; border:0 !important;
}
html body .ink-mag .ink-sec-head::after { content:none !important; display:none !important; }
html body .ink-mag .ink-sec-title {
  margin:0 !important; padding:0 !important; border:0 !important;
  font-family:var(--tm-font-display) !important;
  font-size:var(--tm-fs-h2) !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  letter-spacing:-.03em !important;
  color:var(--tm-mist-900) !important;
}
html body .ink-mag .ink-sec-title a { color:inherit !important; text-decoration:none; }
html body .ink-mag .ink-sec-title a:hover { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
html body .ink-mag .ink-more {
  flex:none; display:inline-flex; align-items:center;
  height:44px; padding:0 18px;
  border-radius:var(--tm-r-full); background:var(--tm-mist-100);
  font-size:var(--tm-fs-label); font-weight:500; line-height:1; white-space:nowrap;
  color:var(--tm-mist-800) !important;
  transition:var(--tm-transition);
}
html body .ink-mag .ink-more:hover { background:var(--tm-mist-200); color:var(--tm-mist-900) !important; }
html body .ink-mag .ink-more:active { transform:scale(var(--tm-press-scale)); }
@media (max-width:640px) { html body .ink-mag .ink-more { height:40px; padding:0 16px; } }

html body .ink-mag .ink-mag-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:56px 32px; }
@media (max-width:640px) { html body .ink-mag .ink-mag-grid { grid-template-columns:minmax(0,1fr); gap:40px; } }
html body .ink-mag a.ink-mag-card { display:block; background:transparent !important; border:0; box-shadow:none; }
html body .ink-mag .ink-mag-thumb { border-radius:var(--tm-r-md); overflow:hidden; background-color:var(--tm-mist-100); }
html body .ink-mag a.ink-mag-card:active .ink-mag-thumb { transform:scale(.98); }
@media (max-width:640px) { html body .ink-mag .ink-mag-thumb { border-radius:16px; } }
html body .ink-mag .ink-mag-cbody { display:grid; gap:8px; padding:16px 0 0 !important; }
html body .ink-mag .ink-sec .ink-mag-card .ink-label { display:none !important; }   /* 섹션 제목과 중복 */
html body .ink-mag .ink-mag-title {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  font-size:var(--tm-fs-h3) !important; font-weight:700; line-height:1.4 !important; letter-spacing:-.02em;
  color:var(--tm-mist-900) !important;
}
html body .ink-mag a.ink-mag-card:hover .ink-mag-title { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
@media (max-width:1023px) { html body .ink-mag .ink-mag-title { -webkit-line-clamp:3; } }   /* [fix-r1] 641–1023 3열(≈219px)에서 2줄이면 거의 전부 말줄임 */
html body .ink-mag .ink-mag-desc {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  margin:0; font-size:var(--tm-fs-body-sm); line-height:1.6; color:var(--tm-mist-600);
}


/* ---------- 12. 배지 .mhj-ib (§4-11) — 마크업이 아이콘뿐이라 알약 대신 원형 ---------- */
html body .mhj-ib {
  box-sizing:border-box; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; margin-left:8px; vertical-align:middle;
  border-radius:var(--tm-r-full); background:var(--tm-mist-100); color:var(--tm-mist-700);
  box-shadow:none;
}
/* [fix-r1 CEO M3 · spec m4] 초록(세 번째 색상) → 무채, 크기는 24 원 하나(22 예외 제거) */
html body .mhj-ib svg { width:12px; height:12px; fill:var(--tm-mist-700); }
html body .ink-hero-body .ink-label .mhj-ib { margin-left:2px; }


/* ---------- 13. 글 본문 (single · page 공통 산문, §4-9) ---------- */
html body:not(.home) article.entry.content-bg:not(.loop-entry) { background:transparent !important; box-shadow:none !important; border-radius:0 !important; }
html body:not(.home) article.entry:not(.loop-entry) > .entry-content-wrap { padding:0 !important; }
html body.single .content-area { margin-top:var(--tm-page-top); }

html body .post-top-featured { border-radius:var(--tm-r-lg); }
@media (max-width:1023px) { html body .post-top-featured { border-radius:0; } }   /* [fix-r1] 641–1023도 풀블리드라 반경 0 */
/* Kadence 썸네일 «behind» 배치는 margin-bottom:-73px로 제목을 이미지 위로 끌어올린다. 옛 카드 패딩이 가리던 겹침 → 이미지 아래로 분리 */
html body.single .post-thumbnail.kadence-thumbnail-position-behind { margin-bottom:var(--tm-head-gap) !important; }

html body.single article.single-entry > .entry-content-wrap > .entry-header { max-width:var(--tm-prose); margin:0 auto; }
html body.single article.single-entry > .entry-content-wrap > .entry-header .entry-taxonomies { margin:0 0 20px; }
html body.single article.single-entry > .entry-content-wrap > .entry-header .category-links { display:flex; flex-wrap:wrap; gap:6px; font-size:0; line-height:0; }
html body.single article.single-entry > .entry-content-wrap > .entry-header .category-links a {
  display:inline-flex; align-items:center; height:40px; padding:0 16px;
  border-radius:var(--tm-r-full); background:var(--tm-mist-100);
  font-size:14px; font-weight:500; line-height:1; letter-spacing:0; text-transform:none;
  color:var(--tm-mist-700) !important; text-decoration:none;
  transition:var(--tm-transition);
}
html body.single article.single-entry > .entry-content-wrap > .entry-header .category-links a:hover { background:var(--tm-mist-200); color:var(--tm-mist-900) !important; }
html body.single article.single-entry > .entry-content-wrap > .entry-header .category-links a[href*="/motion-engineering/"] { background:var(--tm-ju-50); color:var(--tm-ju-700) !important; font-weight:600; }
@media (max-width:640px) { html body.single article.single-entry > .entry-content-wrap > .entry-header .category-links a { height:32px; padding:0 12px; } }
html body.single article.single-entry > .entry-content-wrap > .entry-header .entry-title {
  margin:0 !important;
  font-family:var(--tm-font-display) !important;
  font-size:var(--tm-fs-h1) !important;
  font-weight:800 !important;
  line-height:1.18 !important;
  letter-spacing:-.03em !important;
  color:var(--tm-mist-900) !important;
  text-wrap:balance;
}
html body.single article.single-entry > .entry-content-wrap > .entry-header .entry-meta { margin-top:16px; font-size:15px; font-weight:400; color:var(--tm-mist-600); font-variant-numeric:tabular-nums; }
html body.single article.single-entry > .entry-content-wrap > .entry-header .entry-meta a { color:var(--tm-mist-600); text-decoration:none; }

/* 산문 컬럼: 흰 카드 해제 → 720 가운데 */
html body:not(.home) .entry-content.single-content {
  max-width:var(--tm-prose) !important;
  margin-left:auto !important; margin-right:auto !important; margin-top:48px;
  padding:0 !important;
  background:none !important;
  color:var(--tm-mist-800);
  font-size:var(--tm-fs-body);
}
html body:not(.home) .entry-content.single-content p,
html body:not(.home) .entry-content.single-content :is(ul,ol):not(.steps) > li {
  font-size:var(--tm-fs-body) !important; line-height:1.8 !important; letter-spacing:-.005em; color:var(--tm-mist-800);
}
html body:not(.home) .entry-content.single-content p { margin:0 0 1.2em !important; }
html body:not(.home) .entry-content.single-content h2 {
  margin:72px 0 16px !important; padding:0 !important; border:0 !important;
  font-family:var(--tm-font-text) !important;
  font-size:var(--tm-fs-post-h2) !important; font-weight:700 !important; line-height:1.32 !important; letter-spacing:-.025em !important;
  color:var(--tm-mist-900) !important;
}
html body:not(.home) .entry-content.single-content h3 {
  margin:48px 0 12px !important;
  font-size:var(--tm-fs-h3) !important; font-weight:700 !important; line-height:1.4 !important; letter-spacing:-.02em;
  color:var(--tm-mist-900) !important;
}
html body:not(.home) .entry-content.single-content :is(ul,ol):not(.steps) { margin:0 0 1.2em; padding-left:1.25em; }
html body:not(.home) .entry-content.single-content :is(ul,ol):not(.steps) > li { margin:0 0 8px !important; }
html body:not(.home) .entry-content.single-content ul:not(.steps) > li::marker { color:var(--tm-mist-400); }
html body:not(.home) .entry-content.single-content ol:not(.steps) > li::marker { color:var(--tm-mist-500); font-weight:700; font-variant-numeric:tabular-nums; }
html body:not(.home) .entry-content.single-content strong { font-weight:700; color:var(--tm-mist-900); }
html body:not(.home) .entry-content.single-content a:not([class]) { color:var(--tm-ju-700); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
html body:not(.home) .entry-content.single-content a:not([class]):hover { text-decoration-thickness:2px; }

/* 핵심 요약 */
html body:not(.home) .entry-content.single-content blockquote {
  margin:40px 0 48px !important; padding:28px 32px !important;
  background:var(--tm-mist-50) !important;
  border:0 !important; border-radius:var(--tm-r-md); box-shadow:none;
  font-style:normal;
}
html body:not(.home) .entry-content.single-content blockquote::before { content:none; }
html body:not(.home) .entry-content.single-content blockquote > p:first-child { margin:0 0 8px !important; font-size:14px !important; line-height:1.5 !important; }
html body:not(.home) .entry-content.single-content blockquote > p:first-child > strong { display:block; font-size:14px; font-weight:700; color:var(--tm-mist-600); }
html body:not(.home) .entry-content.single-content blockquote > :last-child { margin-bottom:0 !important; }
html body:not(.home) .entry-content.single-content blockquote > :last-child > li:last-child { margin-bottom:0 !important; }
@media (max-width:640px) { html body:not(.home) .entry-content.single-content blockquote { padding:20px !important; } }

/* 표 */
html body:not(.home) .entry-content.single-content .wp-block-table { margin:40px 0 48px !important; overflow-x:auto; }
html body:not(.home) .entry-content.single-content .wp-block-table table {
  width:100%; margin:0;
  border-collapse:separate !important; border-spacing:0;
  border:1px solid var(--tm-mist-200) !important; border-radius:var(--tm-r-sm); overflow:hidden;
  font-variant-numeric:tabular-nums;
}
html body:not(.home) .entry-content.single-content .wp-block-table :is(th,td) {
  padding:14px 16px !important; text-align:left; vertical-align:top;
  border:0 !important; border-bottom:1px solid var(--tm-mist-200) !important;
}
html body:not(.home) .entry-content.single-content .wp-block-table th { background:var(--tm-mist-50); font-size:14px !important; font-weight:600; line-height:1.5; color:var(--tm-mist-700); }
html body:not(.home) .entry-content.single-content .wp-block-table td { font-size:16px !important; line-height:1.6 !important; color:var(--tm-mist-800); }
html body:not(.home) .entry-content.single-content .wp-block-table tr:last-child > :is(th,td) { border-bottom:0 !important; }
html body:not(.home) .entry-content.single-content .wp-block-table :is(th,td):first-child { white-space:nowrap; font-weight:700; color:var(--tm-mist-900); }
html body:not(.home) .entry-content.single-content .wp-block-table figcaption { margin-top:10px; font-size:var(--tm-fs-caption); color:var(--tm-mist-500); text-align:left; }
@media (max-width:640px) { html body:not(.home) .entry-content.single-content .wp-block-table table { min-width:520px; } }

/* 이미지 */
html body:not(.home) .entry-content.single-content figure.wp-block-image { margin:48px auto !important; }
html body:not(.home) .entry-content.single-content figure.wp-block-image.alignwide.alignwide { margin-left:0 !important; margin-right:0 !important; }
html body:not(.home) .entry-content.single-content figure.wp-block-image img { display:block; border-radius:var(--tm-r-sm) !important; }
html body:not(.home) .entry-content.single-content figure.wp-block-image figcaption {
  /* [fix-r1 spec B3a] 인라인 style(font-size:.9rem;color:#6b7280;margin-top:.4rem)이 이기므로 !important */
  display:block !important; margin:10px 0 0 !important;
  font-size:14px !important; font-weight:500; line-height:1.5 !important; text-align:left; color:var(--tm-mist-500) !important;
}
/* [fix-r1 spec B3b] 편집팀 서명 문단(인라인 border-top #e5e7eb · color #6b7280) → 토큰 */
html body:not(.home) .entry-content.single-content p[style*="border-top"] {
  font-size:var(--tm-fs-body-sm) !important; line-height:1.7 !important;
  color:var(--tm-mist-600) !important; border-top-color:var(--tm-mist-200) !important;
}
html body:not(.home) .entry-content.single-content p[style*="border-top"] strong { color:var(--tm-mist-800); }

/* 글 안 도판: 흰 페이지 위라 프레임 1px
   [fix-r1 spec m7] border(레이아웃 2px 차지) → 안쪽 1px 선. inset box-shadow는 SVG·바 배경 «아래»에 칠해져 가려지므로
   같은 모양을 outline -1px로 그린다(자식 위에 칠해지고, 반경을 따르고, 가로 스크롤과 무관) */
html body:not(.home) .entry-content.single-content .mhj-plate-inst.mhj-plate-inst { margin:48px 0 !important; }
html body:not(.home) .entry-content.single-content .mhj-plate-inst .plate { border:0 !important; outline:1px solid var(--tm-plate-frame); outline-offset:-1px; }
html body:not(.home) .entry-content.single-content .mhj-plate-inst.mhj-plate-inst .steps li button { box-shadow:inset 0 0 0 1px var(--tm-mist-200); }
html body:not(.home) .entry-content.single-content .mhj-plate-inst.mhj-plate-inst .steps li button[aria-current="step"] { box-shadow:none; }
html body:not(.home) .entry-content.single-content .mhj-plate-inst.mhj-plate-inst .note { font-size:var(--tm-fs-caption) !important; line-height:1.6 !important; margin:16px 0 0 !important; color:var(--tm-mist-600); }

/* 참고자료 (인라인 style 대응 ⑥) */
html body .ink-srcbox {
  padding:24px !important;
  background:var(--tm-mist-50) !important;
  border:0 !important; border-radius:var(--tm-r-md) !important;
  color:var(--tm-mist-800) !important;
}
html body .ink-srcbox > div:first-child { color:var(--tm-mist-900) !important; font-size:14px !important; font-weight:700 !important; }
html body .ink-srcbox a { color:var(--tm-mist-800) !important; text-decoration:underline; text-decoration-color:var(--tm-mist-300); text-decoration-thickness:1px; text-underline-offset:3px; }
html body .ink-srcbox a:hover { color:var(--tm-ju-700) !important; text-decoration-color:currentColor; }

/* 인터랙티브: 타임라인 · 핫스팟 · 퀴즈 */
html body .timon-tl-cap { font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--tm-mist-500); }
html body .timon-tl-bar { height:6px; background:var(--tm-mist-200); }
html body .timon-tl-fill { background:var(--tm-ju-500); }
html body .timon-tl-pt { background:var(--tm-mist-900); border-color:#FFFFFF; box-shadow:0 0 0 1px var(--tm-mist-200); }
html body .timon-tl-pt:hover, html body .timon-tl-pt:focus-visible { background:var(--tm-ju-600); }
html body .timon-tl-lbl .y { font-variant-numeric:tabular-nums; color:var(--tm-mist-900); }
html body .timon-tl-lbl .n, html body .timon-tl-note { color:var(--tm-mist-600); }
/* [fix-r1 spec B3c · CEO M2] 12.8px + 점선 → 13px, 구분선 없음(헤어라인 허용 위치 밖) */
html body .timon-tl .timon-tl-note { font-size:13px; border-top:0; }
html body .timon-tl-gap { font-size:13px; color:var(--tm-mist-600); }
html body :is(.timon-tl-panel, .timon-hs-panel) {
  /* [fix-r1 CEO M2] 테두리 링 + 떠 있는 그림자 = 옛 위젯 → mist-50 면만 */
  padding:16px 20px; border:0; border-radius:var(--tm-r-float);
  background:var(--tm-mist-50); box-shadow:none;
  font-size:16px; line-height:1.7; color:var(--tm-mist-800);
}
html body .timon-hs-panel .tit { font-size:16px; font-weight:700; color:var(--tm-mist-900); }
html body .timon-hs-row { gap:8px; }
/* [fix-r1 spec B2 · CEO M1] 전역 button{border-radius:4px!important}(0,2,1)가 (0,1,2)를 이겼다 → (0,3,3) */
html body .timon-hs .timon-hs-row button.timon-hs-btn {
  height:40px; padding:0 18px;
  border:0 !important; border-radius:var(--tm-r-full) !important;
  background:var(--tm-mist-100) !important; color:var(--tm-mist-800) !important;
  font-size:var(--tm-fs-label); font-weight:500;
  transition:var(--tm-transition);
}
html body .timon-hs .timon-hs-row button.timon-hs-btn:hover { background:var(--tm-mist-200) !important; }
html body .timon-hs .timon-hs-row button.timon-hs-btn:active { transform:scale(var(--tm-press-scale)); }
/* 01/02 번호 킥커 = 슬롭 경계(§8) → 숨김(DOM 유지). 남길 경우 색은 mist-600 / 활성 on-inverse-2 */
html body .timon-hs .timon-hs-btn .n { display:none; color:var(--tm-mist-600); }
html body .timon-hs .timon-hs-row button.timon-hs-btn.is-active { background:var(--tm-mist-900) !important; color:#FFFFFF !important; font-weight:600; }
html body .timon-hs .timon-hs-btn.is-active .n { color:var(--tm-on-inverse-2); }
html body .timon-qz-qtext { font-size:18px; color:var(--tm-mist-900); }
html body .timon-qz-opt {
  padding:14px 16px; border:0 !important; border-radius:var(--tm-r-sm) !important;
  background:var(--tm-mist-50) !important; color:var(--tm-mist-800) !important; font-size:16px;
}
html body .timon-qz-opt:hover { background:var(--tm-mist-100) !important; }
html body .timon-qz-opt.is-correct { background:var(--tm-good-bg) !important; color:var(--tm-good-fg) !important; font-weight:700; }
html body .timon-qz-opt.is-wrong { background:var(--tm-mist-100) !important; color:var(--tm-mist-600) !important; }
html body .timon-qz-explain { border-left:0; border-radius:var(--tm-r-sm); background:var(--tm-mist-50); font-size:15px; color:var(--tm-mist-800); }
html body .timon-chain-num { color:var(--tm-mist-500); }
html body .timon-chain-step:not(:last-child)::after { color:var(--tm-mist-400); }

/* 이전/다음 */
html body .post-navigation { max-width:var(--tm-prose); margin:72px auto 0; }
html body .post-navigation .nav-links { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
html body .post-navigation :is(.nav-previous, .nav-next) { width:auto; float:none; margin:0; }
html body .post-navigation :is(.nav-previous, .nav-next) > a {
  display:block; height:100%; padding:24px;
  border-radius:var(--tm-r-md); background:var(--tm-mist-50);
  font-size:18px; font-weight:700; line-height:1.45; letter-spacing:-.01em;
  color:var(--tm-mist-900); text-decoration:none;
  transition:var(--tm-transition);
}
html body .post-navigation :is(.nav-previous, .nav-next) > a:hover { background:var(--tm-mist-100); }
html body .post-navigation .post-navigation-sub { margin-bottom:6px; font-size:13px; font-weight:500; color:var(--tm-mist-600); }   /* mist-50 위 → 600(4.45 → 통과) */
html body .post-navigation .post-navigation-sub small { font-size:inherit; }
/* [fix-r1 spec/adv B1] Kadence `.nav-next{grid-column-start:2}`가 암시적 2열을 만들어 1열 트랙이 0px로 눌렸다 → 두 칸 모두 전폭 */
@media (max-width:640px) {
  html body .post-navigation .nav-links { grid-template-columns:minmax(0,1fr); }
  html body .post-navigation .nav-links > :is(.nav-previous, .nav-next) { grid-column:1 / -1 !important; grid-row:auto !important; }
}
/* [fix-r1 spec B3d · CEO M16] Kadence 이전 칸 오른쪽 1px 구분선(gray-500) 제거 — 칸은 면(mist-50)으로 나뉜다 */
html body .post-navigation .nav-previous::after { display:none !important; }

/* 관련 글 */
html body .entry-related { margin-top:var(--tm-section-gap); padding:96px 0 !important; background:var(--tm-mist-50) !important; }
html body .entry-related .entry-related-title {
  margin:0 0 var(--tm-head-gap);
  font-family:var(--tm-font-text) !important;
  font-size:var(--tm-fs-post-h2) !important; font-weight:700 !important; letter-spacing:-.025em; color:var(--tm-mist-900);
}
html body .entry-related .loop-entry .entry-title { font-size:20px !important; }
html body .entry-related .loop-entry .entry-meta { color:var(--tm-mist-600); }   /* mist-50 띠 위 → 600 */
/* 옛 매거진 CSS `.site-container{background:#fff}`가 mist-50 띠 안에 842px 흰 상자를 남긴다 → 투명 */
html body .entry-related .entry-related-inner { background:transparent !important; }   /* ⑧ 기존 규칙이 !important(인라인 style도 못 이김) */
/* Kadence splide 화살표(검정 80% 사각) → tonal 원형 48, 점 → mist */
html body .entry-related .splide__arrow {
  width:48px; height:48px; border:0; border-radius:var(--tm-r-full) !important;
  background:var(--tm-paper) !important; color:var(--tm-mist-900) !important; opacity:1;
  box-shadow:var(--tm-shadow-float), 0 0 0 1px var(--tm-mist-200);
  transition:var(--tm-transition);
}
html body .entry-related .splide__arrow:hover { background:var(--tm-mist-100) !important; }
html body .entry-related .splide__arrow svg { width:16px; height:16px; fill:currentColor; }
html body .entry-related .splide__pagination__page { width:8px; height:8px; margin:0 4px; border-radius:50%; background:var(--tm-mist-300); opacity:1; transform:none; }
html body .entry-related .splide__pagination__page.is-active { background:var(--tm-mist-900); transform:none; }

/* 다음 이야기 알약 */
html body .mhj-next-story {
  box-sizing:border-box; height:52px; gap:12px;
  right:20px; bottom:calc(20px + env(safe-area-inset-bottom));
  padding:0 20px 0 8px;
  border:0 !important; background:var(--tm-paper) !important;
  box-shadow:var(--tm-shadow-float), 0 0 0 1px var(--tm-mist-200);
  color:var(--tm-mist-900);
}
html body .mhj-next-story:hover { background:var(--tm-mist-50) !important; }
html body .mhj-next-story .mhj-ns-ico { width:36px; height:36px; border:0; background:var(--tm-mist-100); color:var(--tm-mist-900); font-size:16px; }
html body .mhj-next-story .mhj-ns-kicker { font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; color:var(--tm-mist-500); }
html body .mhj-next-story .mhj-ns-title { font-size:15px; font-weight:600; color:var(--tm-mist-900); }
html body:has(ins.adsbygoogle[data-anchor-status="displayed"]) .mhj-next-story { bottom:calc(100px + env(safe-area-inset-bottom)); }


/* ---------- 14. 카테고리 · 소개 (§4-10) ---------- */
html body:not(.home) .entry-hero:is(.page-hero-section, .post-archive-hero-section) { padding:96px 0 56px !important; background:transparent !important; }
html body:not(.home) .entry-hero:is(.page-hero-section, .post-archive-hero-section) .entry-header { min-height:0 !important; }
html body.archive .content-area { margin-top:0 !important; }   /* 히어로 아래 56 + Kadence 80 이중 여백 제거 */
@media (max-width:640px) { html body:not(.home) .entry-hero:is(.page-hero-section, .post-archive-hero-section) { padding:56px 0 32px !important; } }
html body.archive .entry-hero .hero-container { max-width:var(--global-content-width, 1290px) !important; }
html body.page:not(.home) .entry-hero .hero-container { max-width:calc(var(--tm-prose) + 2 * var(--global-content-edge-padding, 24px)) !important; }
html body:not(.home) .entry-hero:is(.page-hero-section, .post-archive-hero-section) .entry-header {
  display:block !important; max-width:none !important; margin:0 !important; text-align:left !important;
}
html body:not(.home) .entry-hero .entry-header :is(.entry-title, .page-title) {
  width:auto; margin:0 !important; text-align:left !important;
  font-family:var(--tm-font-display) !important;
  font-size:var(--tm-fs-h1) !important;
  font-weight:800 !important;
  line-height:1.18 !important;
  letter-spacing:-.03em !important;
  color:var(--tm-mist-900) !important;
}
html body:not(.home) .entry-hero .archive-description { max-width:36em; margin-top:16px; text-align:left; font-size:var(--tm-fs-body); line-height:1.6; color:var(--tm-mist-600); }
html body:not(.home) .entry-hero .archive-description p { margin:0; }
html body.page:not(.home) .content-area { margin-top:0; }
/* [fix-r1 CEO M8] 소개: 히어로 아래 56 + 본문 위 48 = 제목과 본문이 끊겨 보임 → 제목→본문 = head-gap 하나 */
html body.page:not(.home) .entry-hero.page-hero-section { padding-bottom:0 !important; }
html body.page:not(.home) .entry-content.single-content { margin-top:var(--tm-head-gap); }
/* [fix-r1 CEO M6] 글이 2개 이하인 아카이브는 3열 오른쪽이 비지 않게 2열 */
@media (min-width:1024px) {
  html body.archive #archive-container.grid-cols:not(:has(> :nth-child(3))) { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
/* [fix-r1 CEO M7] 자기 카테고리 아카이브에서는 카드의 같은 카테고리 링크를 숨김(메타 줄 경쟁 감소) */
html body:is(.category-arch-mech) .loop-entry .category-links a.category-link-arch-mech,
html body:is(.category-print-record) .loop-entry .category-links a.category-link-print-record,
html body:is(.category-motion-engineering) .loop-entry .category-links a.category-link-motion-engineering,
html body:is(.category-ship-eng) .loop-entry .category-links a.category-link-ship-eng,
html body:is(.category-astro-metro) .loop-entry .category-links a.category-link-astro-metro { display:none; }

html body.archive .kadence-posts-list.grid-cols { column-gap:32px; row-gap:56px; }
html body .loop-entry.content-bg { background:transparent !important; box-shadow:none !important; border-radius:0 !important; overflow:visible; }
html body .loop-entry .post-thumbnail { border-radius:var(--tm-r-md); overflow:hidden; background:var(--tm-mist-100); }
@media (max-width:640px) { html body .loop-entry .post-thumbnail { border-radius:16px; } }   /* [fix-r1 spec m3] 홈 카드 썸네일과 같게 */
html body .loop-entry .entry-content-wrap { padding:20px 0 0 !important; }
html body .loop-entry .entry-taxonomies { margin:0 0 8px; }
/* [fix-r2 n1] 열 간격은 gap이 아니라 링크 margin-right로: 숨긴 자기 카테고리 링크 뒤에 남는 ' | ' 텍스트 노드가
   font-size 0 익명 flex 항목이 돼 gap 12를 받고, 보이는 첫 링크가 13px 들여써졌다(텍스트 노드는 CSS로 못 지움) */
html body .loop-entry .category-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px 0; font-size:0; line-height:0; }
html body .loop-entry .category-links a {
  margin-right:12px;
  font-size:13px !important; font-weight:600 !important; line-height:1.4; letter-spacing:0; text-transform:none;
  color:var(--tm-mist-500) !important; text-decoration:none;
}
html body .loop-entry .category-links a.category-link-motion-engineering { color:var(--tm-ju-700) !important; }
html body .loop-entry .category-links .mhj-ib { margin-left:0; }
html body .loop-entry .entry-title {
  margin:0 0 8px !important;
  font-family:var(--tm-font-text) !important;
  font-size:var(--tm-fs-h3) !important; font-weight:700 !important; line-height:1.4 !important; letter-spacing:-.02em;
  color:var(--tm-mist-900) !important;
}
html body .loop-entry .entry-title a { color:inherit !important; text-decoration:none; }
html body .loop-entry .entry-title a:hover { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
html body .loop-entry .entry-meta { margin:0 0 12px; font-size:var(--tm-fs-caption); color:var(--tm-mist-500); font-variant-numeric:tabular-nums; }   /* [fix-r2 n2] 14 고정 → caption(14/13), 홈 .ink-mag-date와 같게 */
html body .loop-entry .entry-meta a { color:inherit; }
html body .loop-entry .entry-summary { font-size:var(--tm-fs-body-sm); line-height:1.6; color:var(--tm-mist-600); }
html body .loop-entry .entry-summary p { margin:0; }
html body .loop-entry .entry-footer { margin-top:16px; }
html body .loop-entry .post-more-link {
  display:inline-flex; align-items:center; height:40px; padding:0 16px;
  border-radius:var(--tm-r-full); background:var(--tm-mist-100);
  font-size:var(--tm-fs-label); font-weight:500; line-height:1; letter-spacing:0; text-transform:none;
  color:var(--tm-mist-800) !important; text-decoration:none;
  transition:var(--tm-transition);
}
html body .loop-entry .post-more-link:hover { background:var(--tm-mist-200); color:var(--tm-mist-900) !important; }
html body .loop-entry .post-more-link svg { width:14px; height:14px; margin-left:6px; }


/* ---------- 15. 푸터 (§4-12) — 어두운 면 → 밝은 면 ---------- */
html body .ink-footer {
  margin-top:var(--tm-section-gap) !important;
  background:var(--tm-mist-50) !important;
  border-top:1px solid var(--tm-mist-200);
  color:var(--tm-mist-600);
}
html body .ink-footer .ink-footer-in {
  box-sizing:border-box;
  max-width:calc(1240px + 2 * var(--tm-gutter));
  padding:80px var(--tm-gutter) 48px !important;
  gap:40px;
}
@media (max-width:640px) { html body .ink-footer .ink-footer-in { padding:56px 20px 40px !important; gap:32px; } }
/* 글·카테고리·소개: Kadence .content-area 아래 80px + 푸터 위 128px = 208px 흰 띠 → 섹션 간격 하나로. 글은 mist-50 관련글 띠가 푸터(mist-50 + 위 헤어라인)와 바로 맞닿는다 */
html body:not(.home) .content-area { margin-bottom:0 !important; }
html body.single .ink-footer { margin-top:0 !important; }
/* [fix-r1 CEO M14] 홈은 .ink-footer가 #primary.content-area 안에 있어 Kadence margin-bottom(80 / 32)이 푸터 아래 흰 띠로 남는다 */
html body.home .content-area { margin-bottom:0 !important; }
html body .ink-footer .ink-flogo { margin-bottom:8px; font-family:var(--tm-font-display) !important; font-size:28px; font-weight:800; letter-spacing:-.03em; color:var(--tm-mist-900); }
html body .ink-footer .ink-ftag { font-size:15px; line-height:1.6; color:var(--tm-mist-600); }
html body .ink-footer .ink-fcol h4 { margin:0 0 12px; font-size:14px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--tm-mist-900); }
html body .ink-footer .ink-fcol a { display:block; padding:0; font-size:15px; line-height:36px; color:var(--tm-mist-600) !important; text-decoration:none; }
html body .ink-footer .ink-fcol a:hover { color:var(--tm-mist-900) !important; text-decoration:underline; text-underline-offset:3px; }
html body .ink-footer .ink-fcol p { margin:0 0 4px; font-size:15px; line-height:1.6; color:var(--tm-mist-600); }
html body .ink-footer .ink-footer-bot {
  padding:20px var(--tm-gutter);
  border-top:1px solid var(--tm-mist-200) !important;
  background:transparent;
  font-size:13px; font-weight:500; color:var(--tm-mist-600) !important;   /* mist-50 위 → 600 */
}


/* ---------- 16. 광고 슬롯 프레이밍 (§4-13) — 면·테두리·반경·그림자 금지 ---------- */
html body :is(.google-auto-placed, .ink-mag > ins.adsbygoogle, .single-content > ins.adsbygoogle) {
  display:block; clear:both; max-width:1240px; margin:64px auto;
  background:none; border:0; border-radius:0; box-shadow:none;
}
html body .google-auto-placed::before { content:"광고"; display:block; margin-bottom:6px; font-size:13px; font-weight:500; color:var(--tm-mist-500); }
/* [fix-r1] 미충전 자동광고는 «광고» 라벨만 남기지 않게 래퍼째 숨김 */
html body .google-auto-placed:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display:none !important; }


/* ---------- 17. 모션 ---------- */
/* 스크롤 등장 이동 18 → 8px (같은 이름 @keyframes는 뒤에 선언된 것이 이긴다) */
@keyframes inkReveal { from { opacity:0; transform:translate3d(0,8px,0); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
  html body .ink-mq-track { animation:none !important; }
  html body :is(.mhj-catrow-link, .mhj-mb-tab, .ink-more, .mhj-plate-inst button, .mhj-mb-foot a, a.ink-mag-card .ink-mag-thumb):active { transform:none; }
}


/* ---------- 18. 인쇄 [fix-r1] — 배경이 안 찍혀서 채움 버튼·칩의 흰 글자가 사라진다 ---------- */
@media print {
  html body :is(.mhj-plate-inst .ctrl button.primary, .mhj-catrow-link.is-active, .timon-hs-btn.is-active, #primary-menu > li > a) {
    background:none !important; color:#141A21 !important; box-shadow:inset 0 0 0 1px #141A21 !important;
  }
  html body :is(.mhj-mb-hint, .mhj-next-story) { display:none !important; }
  html body .mhj-plate-inst .plate .bar::before { content:none !important; }
  html body .ink-hero-title, html body .ink-hero-meta { color:#141A21 !important; text-shadow:none !important; }
  html body .ink-hero-body .ink-label { box-shadow:inset 0 0 0 1px #141A21; }
}
