@charset "UTF-8";
/* ==========================================================================
   리햅포먼스 rehabformance.com — 디자인 레이어
   Twenty Twenty 위에 얹는다. 테마 파일은 건드리지 않는다.

   주의 1) Twenty Twenty는 html 글꼴을 62.5%로 깐다 → 1rem = 10px.
   주의 2) 테마의 본문 폭 규칙이
           `.entry-content > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright)`
           (특이도 0,0,5,0)라서 평범한 선택자로는 못 이긴다. 폭 관련 규칙에만 !important를 쓴다.
   주의 3) 글꼴은 테마가 인라인 CSS로 `.entry-content p` 같은 개별 선택자까지 지정한다.
           그래서 아래 1-2절에서 그 선택자 목록을 그대로 한 번 더 받아 적는다.

   2026-09-12 작성
   ========================================================================== */

/* ==========================================================================
   1. 토큰
   ========================================================================== */

:root {
  /* 바탕 — 지금의 크림 톤 유지 */
  --rf-bg:        #f5efe0;
  --rf-bg-sub:    #efe7d3;
  --rf-surface:   #fffdf8;
  --rf-line:      #ddd5c2;
  --rf-line-soft: #e8e1d1;

  /* 글자 — 순수 검정 대신 로고의 차콜 */
  --rf-ink:       #23262a;   /* 크림 위 대비 13.2:1 */
  --rf-ink-soft:  #4a4a44;   /* 7.8:1 */
  --rf-muted:     #6d6559;   /* 5.0:1 — 작은 글씨도 AA */

  /* 강조 — 로고 민트에서 뽑은 짙은 청록 */
  --rf-accent:      #0f6f60; /* 5.3:1 */
  --rf-accent-deep: #0b584c; /* 7.3:1 */
  --rf-accent-tint: #e7f1ee;
  --rf-mint:        #5bc2ac; /* 로고색. 장식 전용 — 글자색으로 쓰지 말 것 (1.9:1) */
  --rf-green:       #5bcb7e; /* 로고색. 장식 전용 */

  --rf-radius: 10px;
  --rf-shadow: 0 1px 2px rgba(35,38,42,.04), 0 8px 24px rgba(35,38,42,.05);

  --rf-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
             "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
}

/* ==========================================================================
   2. 글꼴 · 바탕
   한글은 어절 단위로 끊어야 읽힌다(word-break:keep-all) — 표에서 특히.
   줄간격 1.40 → 1.80. 가독성에서 가장 크게 작용하는 한 줄이다.
   ========================================================================== */

/* 테마 인라인 CSS의 글꼴 선택자 목록을 그대로 덮는다 */
body, input, textarea, button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button,
.has-drop-cap:not(:focus)::first-letter,
.entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image,
.entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote,
.entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large,
.entry-content .wp-block-archives *, .entry-content .wp-block-categories *,
.entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *,
.entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt,
.entry-content cite, .entry-content figcaption, .entry-content .wp-caption-text,
.comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt,
.comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text,
.widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt,
.widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text,
h1, h2, h3, h4, h5, h6, .faux-heading, .entry-title, .site-title, .site-description,
.primary-menu, .modal-menu, table, th, td {
  font-family: var(--rf-sans);
}

body {
  background: var(--rf-bg);
  color: var(--rf-ink);
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: var(--rf-accent); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--rf-accent-deep); }

/* 테마가 글 머리말에 흰 판을 깔아 크림 바탕이 끊겨 보인다 */
.entry-header, .singular .entry-header, .archive-header { background: transparent; }

/* ==========================================================================
   3. 본문 타이포그래피
   ========================================================================== */

.entry-content p,
.entry-content li {
  font-size: 1.8rem;
  line-height: 1.8;
  color: var(--rf-ink);
  letter-spacing: -0.003em;
}
.entry-content p { margin: 0 0 1.5em; }
.entry-content ul, .entry-content ol { margin-bottom: 1.5em; }
.entry-content li { margin-bottom: .5em; }

.entry-content strong, .entry-content b { font-weight: 700; color: var(--rf-ink); }
.entry-content a { color: var(--rf-accent); text-decoration: underline; }
.entry-content a:hover { color: var(--rf-accent-deep); }

/* 소제목 — h2 48px / h3 40px로 8px밖에 차이가 없던 것을 벌린다 */
.entry-content h2 {
  font-size: 2.7rem;
  line-height: 1.45;
  font-weight: 700;
  color: var(--rf-ink);
  margin: 3.2em 0 .9em;
  padding-top: 1.6rem;
  border-top: 2px solid var(--rf-line);
  letter-spacing: -0.015em;
}
.entry-content h2:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.entry-content h2[id] { scroll-margin-top: 90px; }

.entry-content h3 {
  font-size: 2.1rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--rf-accent-deep);
  margin: 2.4em 0 .7em;
  letter-spacing: -0.01em;
}
.entry-content h4 {
  font-size: 1.9rem; font-weight: 700; color: var(--rf-ink-soft); margin: 2em 0 .6em;
}

.entry-content blockquote {
  border-left: 3px solid var(--rf-mint);
  background: var(--rf-accent-tint);
  border-radius: 0 var(--rf-radius) var(--rf-radius) 0;
  padding: 1.8rem 2.4rem;
  margin-left: 0; margin-right: 0;
}
.entry-content blockquote p { font-size: 1.7rem; margin-bottom: .8em; }
.entry-content blockquote p:last-child { margin-bottom: 0; }

.entry-content hr, .entry-content .wp-block-separator {
  border: 0; border-top: 1px solid var(--rf-line); margin: 4rem auto;
}

/* 본문 폭 — 58rem 고정을 풀고 글 68rem / 표·그림 92rem 두 단으로 */
.singular .post-inner, .singular .post-inner.thin,
.singular .entry-header-inner, .singular .post-meta-wrapper,
.singular .featured-media-inner, .singular .pagination-single,
.singular .comments-wrapper {
  max-width: 96rem !important; margin-left: auto !important; margin-right: auto !important;
}

.entry-content > *:not(.alignfull):not(.alignwide) {
  max-width: 68rem !important; margin-left: auto; margin-right: auto;
}
.entry-content > figure:not(.alignfull):not(.alignwide),
.entry-content > .wp-block-image:not(.alignfull):not(.alignwide),
.entry-content > .rf-scroll:not(.alignfull):not(.alignwide),
.entry-content > .rf-toc:not(.alignfull):not(.alignwide),
.entry-content > .rf-related:not(.alignfull):not(.alignwide),
.entry-content > .rf-authorcard:not(.alignfull):not(.alignwide) {
  max-width: 92rem !important;
}

/* ==========================================================================
   4. 헤더 — 블로그 머리가 아니라 센터 홈페이지 머리로
   ========================================================================== */

#site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(245, 239, 224, .93);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--rf-line);
}
.admin-bar #site-header { top: 32px; }
#site-header .header-inner { padding: 1.4rem 0; }

/* 로고 워드마크 (글자는 스크린리더용으로 남긴다) */
.site-title { margin: 0; }
.site-title a {
  display: block; width: 196px; height: 44px;
  background: url("/wp-content/uploads/brand/wordmark.png") left center / contain no-repeat;
  text-indent: -9999px; white-space: nowrap; overflow: hidden; border: 0;
}
.site-title a:hover { opacity: .78; }
.site-description { display: none; }   /* 태그라인은 워드마크 안에 이미 있다 */
.header-titles-wrapper { padding: 0; }

/* 데스크톱 내비게이션 */
.primary-menu > li { margin-left: 2.4rem; }
.primary-menu > li > a {
  font-size: 1.55rem; font-weight: 600; color: var(--rf-ink);
  letter-spacing: -0.01em; padding: .8rem 0;
}
.primary-menu > li > a:hover, .primary-menu > li > a:focus { color: var(--rf-accent); }
.primary-menu .current-menu-item > a, .primary-menu .current_page_item > a { color: var(--rf-accent); }

.primary-menu > li.rf-cta { margin-left: 2.8rem; }
.primary-menu > li.rf-cta > a {
  background: var(--rf-accent); color: #fff;
  padding: .9rem 1.8rem; border-radius: 999px; font-weight: 700;
}
.primary-menu > li.rf-cta > a:hover { background: var(--rf-accent-deep); color: #fff; }

.menu-modal .modal-menu > li > a { font-size: 2.2rem; font-weight: 600; }

/* ==========================================================================
   5. 분류 바 — 논문 6분류 + 측정·리포트로 들어가는 입구
   ========================================================================== */

.rf-catbar { background: var(--rf-bg-sub); border-bottom: 1px solid var(--rf-line); }
.rf-catbar-inner {
  max-width: 120rem; margin: 0 auto; padding: 0 3.2rem;
  display: flex; align-items: center;
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.rf-catbar-inner::-webkit-scrollbar { display: none; }
.rf-catbar a {
  flex: 0 0 auto; display: inline-block;
  padding: 1.1rem .2rem; margin-right: 1.8rem;
  font-size: 1.5rem; font-weight: 600; color: var(--rf-muted);
  text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent;
}
.rf-catbar a:hover { color: var(--rf-accent); }
.rf-catbar a.is-current { color: var(--rf-accent-deep); border-bottom-color: var(--rf-mint); }
.rf-catbar-label {
  flex: 0 0 auto; font-size: 1.3rem; font-weight: 700; color: var(--rf-muted);
  letter-spacing: .06em; margin-right: 1.8rem; opacity: .75;
}

/* ==========================================================================
   6. 목록(홈·분류·검색) — 전문 나열을 카드로
   ========================================================================== */

.blog #site-content,
.archive #site-content,
.search #site-content {
  max-width: 124rem; margin: 0 auto; padding: 0 3.2rem 6rem;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.2rem;
}
.blog #site-content > :not(article),
.archive #site-content > :not(article),
.search #site-content > :not(article) { grid-column: 1 / -1; }

/* 테마가 글과 글 사이에 넣는 구분선(//)이 그리드 한 줄을 통째로 차지해
   카드가 한 줄에 하나씩만 놓인다. 목록에서는 카드 테두리가 구분선 역할을 한다. */
.blog .post-separator, .archive .post-separator, .search .post-separator { display: none !important; }

/* 카드 안에서는 테마의 폭 제한을 모두 푼다.
   .section-inner에는 max-width뿐 아니라 좌우 margin 40px도 걸려 있어서
   제목만 안쪽으로 밀려 들어간다. width·margin·padding을 함께 풀어야 한다. */
.blog #site-content > article .section-inner,
.blog #site-content > article .entry-content,
.blog #site-content > article .entry-content > *,
.archive #site-content > article .section-inner,
.archive #site-content > article .entry-content,
.archive #site-content > article .entry-content > *,
.search #site-content > article .section-inner,
.search #site-content > article .entry-content,
.search #site-content > article .entry-content > * {
  max-width: none !important; width: auto !important;
  margin-left: 0 !important; margin-right: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
.blog .post-inner.thin, .archive .post-inner.thin, .search .post-inner.thin,
.blog .featured-media-inner, .archive .featured-media-inner, .search .featured-media-inner {
  max-width: none !important;
}

/* 분류 머리말 */
.archive-header { padding: 5rem 0 1.2rem; text-align: left; }
.archive-header .archive-title, .archive-header h1 {
  font-size: 3.4rem; line-height: 1.35; font-weight: 700;
  color: var(--rf-ink); margin: 0; letter-spacing: -0.02em;
}
.archive-header .archive-subtitle { margin-top: 1rem; max-width: 64rem; }
.archive-header .archive-subtitle p {
  font-size: 1.6rem; color: var(--rf-muted); line-height: 1.75;
}
.rf-archive-count { font-size: 1.4rem; color: var(--rf-muted); margin-top: .8rem; }

/* 카드 */
.blog #site-content > article,
.archive #site-content > article,
.search #site-content > article {
  display: flex; flex-direction: column;
  margin: 0; padding: 0;
  background: var(--rf-surface);
  border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius);
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.blog #site-content > article:hover,
.archive #site-content > article:hover,
.search #site-content > article:hover {
  transform: translateY(-2px); box-shadow: var(--rf-shadow); border-color: var(--rf-mint);
}

/* 대표 이미지를 카드 맨 위로 */
.blog .featured-media, .archive .featured-media, .search .featured-media {
  order: -1; margin: 0; padding: 0;
}
.blog .featured-media:before, .archive .featured-media:before,
.search .featured-media:before { display: none; }
.blog .featured-media img, .archive .featured-media img, .search .featured-media img {
  width: 100%; height: 190px; object-fit: cover; display: block; border-radius: 0;
}

.blog .entry-header, .archive .entry-header, .search .entry-header {
  padding: 2rem 2.2rem 0; text-align: left;
}
.blog .entry-header-inner, .archive .entry-header-inner, .search .entry-header-inner { padding: 0; }
.blog .entry-title, .archive .entry-title, .search .entry-title {
  font-size: 2.05rem; line-height: 1.45; font-weight: 700;
  letter-spacing: -0.02em; margin: .8rem 0 0;
}
.blog .entry-title a, .archive .entry-title a, .search .entry-title a {
  color: var(--rf-ink); text-decoration: none;
}
.blog .entry-title a:hover, .archive .entry-title a:hover { color: var(--rf-accent); }

.blog .post-inner, .archive .post-inner, .search .post-inner {
  padding: 1.2rem 2.2rem 0; flex: 1 1 auto;
}
.blog .post-meta-wrapper, .archive .post-meta-wrapper, .search .post-meta-wrapper {
  margin: 0; padding: 1.2rem 2.2rem 2rem;
}
.blog .post-meta, .archive .post-meta, .search .post-meta {
  font-size: 1.35rem; color: var(--rf-muted); justify-content: flex-start;
}
.blog .post-meta .post-author, .archive .post-meta .post-author, .search .post-meta .post-author,
.blog .post-meta .post-comment-link, .archive .post-meta .post-comment-link, .search .post-meta .post-comment-link,
.blog .post-meta .post-tags, .archive .post-meta .post-tags, .search .post-meta .post-tags,
.blog .post-meta .post-edit, .archive .post-meta .post-edit, .search .post-meta .post-edit { display: none; }

/* 요약문 */
.rf-excerpt {
  font-size: 1.55rem !important; line-height: 1.75 !important;
  color: var(--rf-muted) !important; margin: 0 0 1.4rem !important;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.rf-more {
  display: inline-block; font-size: 1.45rem; font-weight: 700;
  color: var(--rf-accent); text-decoration: none;
}
.rf-more:after { content: " →"; }

/* 분류 칩 */
.entry-categories { margin: 0; }
.entry-categories .entry-categories-inner { justify-content: flex-start; }
.entry-categories-inner a {
  display: inline-block;
  font-size: 1.2rem; font-weight: 700; letter-spacing: .02em;
  color: var(--rf-accent-deep); background: var(--rf-accent-tint);
  padding: .4rem 1rem; border-radius: 999px; text-decoration: none; border: 0;
}
.entry-categories-inner a:hover { background: var(--rf-mint); color: #fff; }
.entry-categories .entry-categories-inner:before,
.entry-categories .screen-reader-text { display: none; }

/* 페이지 넘기기 */
.pagination-wrapper { padding: 3.2rem 0 0; }
.nav-links .page-numbers {
  display: inline-block; min-width: 4rem; text-align: center;
  padding: .8rem 1rem; margin: 0 .3rem; border-radius: 8px;
  font-size: 1.5rem; font-weight: 600; color: var(--rf-ink);
  text-decoration: none; border: 1px solid var(--rf-line); background: var(--rf-surface);
}
.nav-links .page-numbers.current {
  background: var(--rf-accent); color: #fff; border-color: var(--rf-accent);
}
.nav-links .page-numbers:hover { border-color: var(--rf-mint); color: var(--rf-accent); }

/* ==========================================================================
   7. 단일 글
   ========================================================================== */

.singular .entry-header { padding: 5rem 0 0; text-align: left; }
.singular .entry-title {
  font-size: 4rem; line-height: 1.38; font-weight: 700;
  letter-spacing: -0.03em; color: var(--rf-ink); margin: 1.2rem 0 0;
}
.singular .intro-text {
  font-size: 1.9rem; line-height: 1.75; color: var(--rf-muted); margin-top: 1.6rem;
}
.singular .post-meta { font-size: 1.4rem; color: var(--rf-muted); justify-content: flex-start; }
.singular .post-meta .post-comment-link { display: none; }

.singular .featured-media { margin-top: 3.2rem; }
.singular .featured-media:before { display: none; }
.singular .featured-media img {
  border-radius: var(--rf-radius); max-height: 460px; width: 100%; object-fit: cover;
}

.post-inner { padding-top: 3.6rem; }

.entry-content figure { margin: 3.2rem auto; }
.entry-content figure img { border-radius: var(--rf-radius); display: block; }
.entry-content figcaption, .entry-content .wp-caption-text {
  font-size: 1.4rem; line-height: 1.7; color: var(--rf-muted);
  margin-top: 1rem; text-align: left;
}

/* ==========================================================================
   8. 표 — 인용 자산이므로 제일 잘 보여야 한다
   좁은 화면에서는 가로로 밀어 본다. 양 끝 그림자가 더 있다는 신호다.
   ========================================================================== */

/* md2web가 내는 <figure class="tbl">이 표 카드다. 그 안의 <table>은 플러그인이
   .rf-scroll로 감싸서 좁은 화면에서 가로로 밀어 볼 수 있게 한다. 양 끝 그림자가 신호다. */
.entry-content figure.tbl {
  margin: 3.2rem auto; padding: 0;
  border: 1px solid var(--rf-line); border-radius: var(--rf-radius);
  background: var(--rf-surface); overflow: hidden;
}
.entry-content figure.tbl figcaption {
  padding: 1.4rem 1.8rem; margin: 0;
  border-bottom: 1px solid var(--rf-line-soft);
  background: var(--rf-bg-sub);
  font-size: 1.4rem; line-height: 1.6; color: var(--rf-ink-soft); text-align: left;
}
.entry-content figure.tbl figcaption strong { color: var(--rf-ink); font-weight: 700; }

.rf-scroll {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  background:
    linear-gradient(90deg,  #fffdf8 30%, rgba(255,253,248,0)) left  / 42px 100% no-repeat,
    linear-gradient(270deg, #fffdf8 30%, rgba(255,253,248,0)) right / 42px 100% no-repeat,
    radial-gradient(farthest-side at 0 50%,    rgba(35,38,42,.16), rgba(35,38,42,0)) left  / 16px 100% no-repeat,
    radial-gradient(farthest-side at 100% 50%, rgba(35,38,42,.16), rgba(35,38,42,0)) right / 16px 100% no-repeat;
  background-attachment: local, local, scroll, scroll;
}
/* 그림 안에 들어 있지 않은 홑 표도 카드로 */
.entry-content > .rf-scroll {
  margin: 3.2rem auto;
  border: 1px solid var(--rf-line); border-radius: var(--rf-radius);
  background-color: var(--rf-surface);
}

.entry-content table {
  width: 100%; min-width: 52rem;
  border-collapse: collapse; border: 0;
  font-size: 1.5rem; line-height: 1.65; margin: 0;
  background: transparent;
}
.entry-content table th, .entry-content table td {
  border: 0; border-bottom: 1px solid var(--rf-line-soft);
  padding: 1.1rem 1.4rem; text-align: left; vertical-align: top;
  word-break: keep-all;
}
.entry-content table thead th {
  background: var(--rf-accent-tint); color: var(--rf-accent-deep);
  font-weight: 700; font-size: 1.4rem;
  border-bottom: 2px solid var(--rf-mint); white-space: nowrap;
}
.entry-content table tbody th[scope="row"] {
  background: rgba(0,0,0,.015); font-weight: 700; color: var(--rf-ink);
  width: 22%; min-width: 11rem;
}
.entry-content table tbody tr:last-child th,
.entry-content table tbody tr:last-child td { border-bottom: 0; }
.entry-content table tbody tr:hover td { background: rgba(91,194,172,.06); }
.entry-content table a { word-break: break-all; }

/* ==========================================================================
   9. 목차
   ========================================================================== */

.rf-toc {
  background: var(--rf-surface);
  border: 1px solid var(--rf-line); border-left: 3px solid var(--rf-mint);
  border-radius: var(--rf-radius);
  padding: 2rem 2.4rem; margin: 0 auto 3.6rem;
}
.rf-toc-title {
  font-size: 1.35rem !important; font-weight: 700; letter-spacing: .08em;
  color: var(--rf-muted) !important; margin: 0 0 1.2rem !important;
}
.rf-toc ol {
  margin: 0; padding: 0; list-style: none; counter-reset: rftoc;
  columns: 2; column-gap: 3.2rem;
}
.rf-toc li {
  margin: 0 0 .7rem; font-size: 1.5rem !important; line-height: 1.6 !important;
  break-inside: avoid; counter-increment: rftoc;
}
.rf-toc li:before { content: counter(rftoc) ". "; color: var(--rf-mint); font-weight: 700; }
.rf-toc a { color: var(--rf-ink-soft); text-decoration: none; }
.rf-toc a:hover { color: var(--rf-accent); text-decoration: underline; }

/* ==========================================================================
   10. 글쓴이 카드 · 관련 글 · 앞뒤 글
   ========================================================================== */

.rf-authorcard {
  background: var(--rf-surface); border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius); padding: 2.8rem 3rem; margin: 5.6rem auto 0;
}
.rf-authorcard h2 {
  font-size: 1.9rem !important; margin: 0 0 1.2rem !important;
  border-top: 0 !important; padding-top: 0 !important;
}
.rf-authorcard p {
  font-size: 1.55rem !important; line-height: 1.75 !important;
  color: var(--rf-muted) !important; margin-bottom: 1em !important;
}
.rf-authorcard p:last-child { margin-bottom: 0 !important; }

.rf-related { margin: 5.6rem auto 0; }
.rf-related-title {
  font-size: 1.35rem !important; font-weight: 700; letter-spacing: .08em;
  color: var(--rf-muted) !important; margin: 0 0 1.6rem !important;
}
.rf-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.6rem; }
.rf-related-card {
  display: block; background: var(--rf-surface); border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius); padding: 1.8rem; text-decoration: none;
}
.rf-related-card:hover { border-color: var(--rf-mint); }
.rf-related-cat {
  display: block; font-size: 1.2rem; font-weight: 700; color: var(--rf-accent); margin-bottom: .6rem;
}
.rf-related-name {
  display: block; font-size: 1.55rem; line-height: 1.5; font-weight: 700; color: var(--rf-ink);
}
.rf-related-date { display: block; font-size: 1.3rem; color: var(--rf-muted); margin-top: .8rem; }

.pagination-single {
  border-top: 1px solid var(--rf-line); margin-top: 5.6rem; padding-top: 2.4rem;
}
.pagination-single a { color: var(--rf-ink); }
.pagination-single .arrow { color: var(--rf-mint); }

.comments-wrapper .comment-reply-title { font-size: 2rem; }

/* ==========================================================================
   11. 푸터
   ========================================================================== */

#site-footer { background: var(--rf-bg-sub); border-top: 1px solid var(--rf-line); }

.rf-footer {
  max-width: 120rem; margin: 0 auto; padding: 5.6rem 3.2rem 4rem;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 4rem;
}
.rf-footer-brand img { width: 190px; height: auto; display: block; margin-bottom: 1.6rem; }
.rf-footer p { font-size: 1.45rem; line-height: 1.8; color: var(--rf-muted); margin: 0 0 .8rem; }
.rf-footer strong { color: var(--rf-ink); font-weight: 700; }
.rf-footer h3 {
  font-size: 1.3rem; font-weight: 700; letter-spacing: .08em;
  color: var(--rf-muted); margin: 0 0 1.2rem;
}
.rf-footer ul { list-style: none; margin: 0; padding: 0; }
.rf-footer li { margin-bottom: .8rem; }
.rf-footer li a { font-size: 1.45rem; color: var(--rf-ink-soft); text-decoration: none; }
.rf-footer li a:hover { color: var(--rf-accent); text-decoration: underline; }
.rf-footer-note {
  border-top: 1px solid var(--rf-line); max-width: 120rem; margin: 0 auto;
  padding: 2rem 3.2rem 3.2rem; font-size: 1.3rem; color: var(--rf-muted);
}
#site-footer .footer-credits, #site-footer .to-the-top { font-size: 1.3rem; color: var(--rf-muted); }
.footer-widgets-outer-wrapper { border-top: 1px solid var(--rf-line); }
.footer-widgets .widget-title { font-size: 1.4rem; letter-spacing: .06em; color: var(--rf-muted); }

/* ==========================================================================
   12. 랜딩(홈) 페이지
   ========================================================================== */

.rf-front #site-content { padding-top: 0; }
.rf-front .entry-header, .rf-front .featured-media { display: none; }
.rf-front .post-inner, .rf-front .post-inner.thin {
  max-width: none !important; padding: 0 !important;
}
.rf-front .entry-content > *:not(.alignfull):not(.alignwide) {
  max-width: none !important; margin-left: 0; margin-right: 0;
}

.rf-sec { padding: 7.2rem 3.2rem; }
.rf-sec-inner { max-width: 114rem; margin: 0 auto; }
.rf-sec--tint { background: var(--rf-bg-sub); }
.rf-eyebrow {
  font-size: 1.3rem !important; font-weight: 700; letter-spacing: .1em;
  color: var(--rf-accent) !important; margin: 0 0 1.2rem !important;
}
.rf-h2 {
  font-size: 3.2rem; line-height: 1.4; font-weight: 700;
  letter-spacing: -0.025em; color: var(--rf-ink);
  margin: 0 0 1.6rem; padding-top: 0; border-top: 0;
}
.rf-lead {
  font-size: 1.75rem !important; line-height: 1.8 !important;
  color: var(--rf-muted) !important; max-width: 62rem; margin: 0 !important;
}

/* 히어로 */
.rf-hero {
  position: relative; min-height: 58vh;
  display: flex; align-items: center; padding: 9rem 3.2rem;
  background: #23262a center / cover no-repeat; color: #fff;
}
.rf-hero:after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(18,20,22,.88) 0%, rgba(18,20,22,.66) 55%, rgba(18,20,22,.38) 100%);
}
.rf-hero-inner { position: relative; z-index: 1; max-width: 114rem; margin: 0 auto; width: 100%; }
.rf-hero h1 {
  font-size: 5rem; line-height: 1.3; font-weight: 800;
  letter-spacing: -0.035em; margin: 0 0 2rem; color: #fff; max-width: 18ch;
}
.rf-hero h1 em {
  font-style: normal;
  background: linear-gradient(90deg, var(--rf-mint), var(--rf-green));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.rf-hero p {
  font-size: 1.85rem !important; line-height: 1.8 !important;
  color: rgba(255,255,255,.88) !important; max-width: 52ch; margin: 0 0 3.2rem !important;
}

.rf-btnrow { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.rf-btn {
  display: inline-block; padding: 1.4rem 2.8rem; border-radius: 999px;
  font-size: 1.6rem; font-weight: 700; text-decoration: none; border: 1px solid transparent;
}
.rf-btn--solid { background: var(--rf-accent); color: #fff; }
.rf-btn--solid:hover { background: var(--rf-accent-deep); color: #fff; }
.rf-btn--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
.rf-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; }
.rf-btn--line { border-color: var(--rf-accent); color: var(--rf-accent); }
.rf-btn--line:hover { background: var(--rf-accent); color: #fff; }

/* 사실 스트립 */
.rf-facts {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--rf-line); border-radius: var(--rf-radius);
  background: var(--rf-surface); overflow: hidden; margin: 0;
}
.rf-fact { padding: 2.8rem 2.4rem; border-right: 1px solid var(--rf-line-soft); }
.rf-fact:last-child { border-right: 0; }
.rf-fact dt {
  font-size: 1.35rem; color: var(--rf-muted); margin-bottom: .8rem; font-weight: 600;
}
.rf-fact dd {
  margin: 0; font-size: 2rem; font-weight: 700; color: var(--rf-ink);
  line-height: 1.4; letter-spacing: -0.02em;
}

/* 3단 카드 */
.rf-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2.4rem; margin-top: 4rem; }
.rf-card {
  background: var(--rf-surface); border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius); overflow: hidden;
  display: flex; flex-direction: column; text-decoration: none;
}
.rf-card:hover { border-color: var(--rf-mint); box-shadow: var(--rf-shadow); }
.rf-card img { width: 100%; height: 200px; object-fit: cover; display: block; border-radius: 0; }
.rf-card-body { padding: 2.4rem; }
.rf-card h3 {
  font-size: 2rem; font-weight: 700; color: var(--rf-ink);
  margin: 0 0 .8rem; letter-spacing: -0.02em;
}
.rf-card p { font-size: 1.5rem !important; line-height: 1.75 !important; color: var(--rf-muted) !important; margin: 0 !important; }
.rf-card-more {
  display: inline-block; margin-top: 1.6rem; font-size: 1.45rem;
  font-weight: 700; color: var(--rf-accent);
}
.rf-card-more:after { content: " →"; }

/* 2단 카드 (대표 원장 소개 등) — 736px 이하는 아래 미디어쿼리의 .rf-cards 규칙이 덮는다 */
.rf-cards--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.rf-card ul { list-style: none; margin: 1.6rem 0 0 !important; padding: 0 !important; }
.rf-card li {
  position: relative; padding-left: 1.8rem; margin-bottom: .8rem;
  font-size: 1.45rem !important; line-height: 1.7 !important; color: var(--rf-ink-soft) !important;
}
.rf-card li:before {
  content: ""; position: absolute; left: 0; top: 1em;
  width: 8px; height: 2px; background: var(--rf-mint);
}

/* 최신 글 목록 (숏코드) */
.rf-postlist { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2.4rem; margin-top: 4rem; }
.rf-postlist--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.rf-post {
  display: flex; flex-direction: column; background: var(--rf-surface);
  border: 1px solid var(--rf-line); border-radius: var(--rf-radius);
  padding: 2.2rem; text-decoration: none;
}
.rf-post:hover { border-color: var(--rf-mint); box-shadow: var(--rf-shadow); }
.rf-post-cat {
  font-size: 1.2rem; font-weight: 700; color: var(--rf-accent-deep);
  background: var(--rf-accent-tint); border-radius: 999px; padding: .4rem 1rem; align-self: flex-start;
}
.rf-post-title {
  font-size: 1.7rem; line-height: 1.5; font-weight: 700;
  color: var(--rf-ink); margin: 1.2rem 0 0; letter-spacing: -0.015em;
}
.rf-post-ex {
  font-size: 1.45rem; line-height: 1.7; color: var(--rf-muted); margin: 1rem 0 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rf-post-date { font-size: 1.3rem; color: var(--rf-muted); margin-top: 1.6rem; }
.rf-seeall { margin-top: 3.2rem; }

/* 원장 소개 2단 */
.rf-split { display: grid; grid-template-columns: 1fr 1.1fr; gap: 5.6rem; align-items: center; }
.rf-split img { width: 100%; border-radius: var(--rf-radius); display: block; }
.rf-split ul { list-style: none; margin: 2.4rem 0 0; padding: 0; }
.rf-split li {
  position: relative; padding-left: 2rem; margin-bottom: 1rem;
  font-size: 1.6rem !important; line-height: 1.75 !important; color: var(--rf-ink-soft) !important;
}
.rf-split li:before {
  content: ""; position: absolute; left: 0; top: 1.05em;
  width: 8px; height: 2px; background: var(--rf-mint);
}

/* 오시는 길 */
.rf-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 4.8rem; }
.rf-contact dl { margin: 0; }
.rf-contact dt {
  font-size: 1.3rem; font-weight: 700; letter-spacing: .06em;
  color: var(--rf-muted); margin-top: 2rem;
}
.rf-contact dt:first-child { margin-top: 0; }
.rf-contact dd { margin: .6rem 0 0; font-size: 1.7rem; line-height: 1.7; color: var(--rf-ink); }
.rf-contact dd a { color: var(--rf-ink); text-decoration: none; border-bottom: 1px solid var(--rf-mint); }
.rf-contact dd a:hover { color: var(--rf-accent); }

/* ==========================================================================
   13. 반응형
   ========================================================================== */

/* 메뉴가 7개라 좁은 데스크톱에서 로고와 부딪힌다 */
@media (max-width: 1200px) {
  .primary-menu > li { margin-left: 1.6rem; }
  .primary-menu > li > a { font-size: 1.45rem; }
  .primary-menu > li.rf-cta { margin-left: 2rem; }
  .primary-menu > li.rf-cta > a { padding: .8rem 1.4rem; }
}

@media (max-width: 1100px) {
  .rf-hero h1 { font-size: 4rem; }
  .rf-split, .rf-contact { grid-template-columns: 1fr; gap: 3.2rem; }
  .rf-cards, .rf-postlist, .rf-postlist--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rf-facts { grid-template-columns: repeat(2, 1fr); }
  .rf-fact:nth-child(2n) { border-right: 0; }
  .rf-fact:nth-child(-n+2) { border-bottom: 1px solid var(--rf-line-soft); }
  .rf-footer { grid-template-columns: 1fr 1fr; }
  .rf-related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .blog #site-content, .archive #site-content, .search #site-content {
    grid-template-columns: 1fr; gap: 2rem; padding: 0 2rem 4rem;
  }
  .singular .entry-title { font-size: 3rem; }
  .entry-content h2 { font-size: 2.3rem; }
  .entry-content h3 { font-size: 1.9rem; }
  .rf-h2 { font-size: 2.6rem; }
  .rf-toc ol { columns: 1; }
}

@media (max-width: 700px) {
  .toggle-text { display: none !important; }   /* '검색'·'메뉴' 글자가 분류 바와 겹친다 */
  #site-header .header-inner { padding: 1.2rem 0; }
  .site-title a { width: 152px; height: 34px; }
  .rf-catbar-inner { padding: 0 2rem; }
  .rf-catbar-label { display: none; }

  .rf-sec { padding: 5.2rem 2rem; }
  .rf-hero { padding: 7rem 2rem; min-height: 50vh; }
  .rf-hero:after { background: linear-gradient(180deg, rgba(18,20,22,.74) 0%, rgba(18,20,22,.88) 100%); }
  .rf-hero h1 { font-size: 3.2rem; letter-spacing: -0.03em; }
  .rf-hero p { font-size: 1.6rem !important; }
  .rf-btn { padding: 1.2rem 2.2rem; font-size: 1.5rem; }
  .rf-cards, .rf-postlist, .rf-postlist--2 { grid-template-columns: 1fr; }
  .rf-facts { grid-template-columns: 1fr; }
  .rf-fact { border-right: 0; border-bottom: 1px solid var(--rf-line-soft); }
  .rf-fact:last-child { border-bottom: 0; }
  .rf-footer { grid-template-columns: 1fr; gap: 3.2rem; padding: 4rem 2rem 3.2rem; }
  .rf-footer-note { padding: 2rem 2rem 3.2rem; }

  .entry-content p, .entry-content li { font-size: 1.7rem; line-height: 1.8; }
  .entry-content table { font-size: 1.4rem; min-width: 46rem; }
  .entry-content table th, .entry-content table td { padding: 1rem 1.1rem; }
  .singular .entry-header { padding-top: 3.2rem; }
  .singular .entry-title { font-size: 2.6rem; line-height: 1.4; }
  .singular .featured-media img { max-height: 260px; }
  .rf-authorcard { padding: 2.2rem; }
  .rf-toc { padding: 1.8rem 2rem; }
}

@media print {
  #site-header, .rf-catbar, .rf-related, .comments-wrapper, .pagination-single { display: none; }
}

/* ==========================================================================
   14. 랜딩 요소 보정
   .entry-content 안에 들어가므로 테마·본문 규칙(특이도 0,0,1,1)보다 높여 준다.
   ========================================================================== */

.entry-content .rf-h2 {
  font-size: 3.2rem; line-height: 1.4; font-weight: 700; letter-spacing: -0.025em;
  color: var(--rf-ink); margin: 0 0 1.6rem; padding-top: 0; border-top: 0;
}
.entry-content .rf-hero h1 { color: #fff; }
.entry-content .rf-btn { text-decoration: none; }
.entry-content .rf-btn--solid,
.entry-content .rf-btn--ghost { color: #fff; }
.entry-content .rf-btn--line { color: var(--rf-accent); }
.entry-content .rf-btn--line:hover { color: #fff; }
.entry-content .rf-card,
.entry-content .rf-post,
.entry-content .rf-related-card { text-decoration: none; }
.entry-content .rf-fact dd { font-size: 2rem; }
.entry-content .rf-contact dd a { text-decoration: none; }
.entry-content .rf-split ul { list-style: none; }

@media (max-width: 900px) {
  .entry-content .rf-h2 { font-size: 2.6rem; }
}

/* ---- 2026-09-22 GEO 블록 (md2web.py --geo 산출물) ---- */
.entry-content p.lead {
  font-size: 1.9rem; line-height: 1.8;
  padding: 1.6rem 2.2rem; margin: 0 0 3rem;
  border-left: 3px solid var(--rf-mint);
  background: var(--rf-accent-tint);
  border-radius: 0 var(--rf-radius) var(--rf-radius) 0;
}
.entry-content p.ref { color: var(--rf-ink-soft); font-size: 1.5rem; margin: -.6em 0 2.4em; }
.entry-content blockquote cite { display: block; font-style: normal; font-size: 1.5rem; color: var(--rf-ink-soft); margin-top: .6em; }
