/* =========================================================
   상세 페이지 = 한 편의 읽는 글 (Kinfolk식 에디토리얼)
   표지(머리말 · 큰 제목 · 글쓴이 · 리드 · 사진과 설명형 캡션) → 장(여백 칸 번호·머리말 | 읽기 칸 640px | 곁 칸 사진)
   → 함께 읽으면 좋은 글 3개. 장 사이는 끊지 않고 여백 칸의 짧은 선과 번호로만 나눔
   ========================================================= */
html.rl-print[data-page] #app main.rl-has-story > :not(#rl-story):not(#visit) { display: none !important; }   /* 읽는 글이 들어오면 원본 목록형 섹션은 숨김 (id로 우선순위 확보) */
html.rl-print #app .rl-story { box-sizing: border-box; width: 100%; padding: 40px var(--rl-edge, var(--gutter)) 0; order: 1; color: var(--rl-print-charcoal); counter-reset: rlstep rlcheck; }
html.rl-print #app .rl-story a { color: inherit; }

/* ---------- 표지 ---------- */
html.rl-print #app .rl-story-cover { display: grid; grid-template-columns: 1fr 2fr 1fr; column-gap: 5px; align-items: start; }
html.rl-print #app .rl-story-crumb { grid-column: 1 / -1; margin: 0 0 56px; font-size: 12.5px; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-story-kicker { grid-column: 1; grid-row: 2; padding-top: 18px; margin: 0; font: 500 13px/1.6 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-story-title { grid-column: 2 / span 2; grid-row: 2; margin: 0; font: 700 clamp(36px, 3.9vw, 58px)/1.24 var(--rl-font-serif); letter-spacing: -0.025em; color: var(--rl-print-blue); }
html.rl-print #app .rl-story-title > span, html.rl-print #app .rl-story-title rl-l { display: block; }
html.rl-print #app .rl-story-title > span + span, html.rl-print #app .rl-story-title rl-l + rl-l { color: rgba(6, 98, 217, .55); }
html.rl-print #app .rl-story-credit { grid-column: 1; grid-row: 3; margin: 36px 0 0; padding-right: 40px; font-size: 13px; line-height: 1.75; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-story-lede { grid-column: 2; grid-row: 3; margin: 36px 0 0; font: 400 clamp(18px, 1.5vw, 21px)/1.75 var(--rl-font-serif); letter-spacing: -0.01em; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-story-hero { grid-column: 2 / span 2; grid-row: 4; margin: 64px 0 0; }

/* 사진과 설명형 캡션 (캡션 첫머리는 굵은 블루 꼬리표 + 한두 문장) */
html.rl-print #app .rl-story-figure { margin: 0; }
html.rl-print #app .rl-story-figure img { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 10px; filter: saturate(.86) brightness(1.04) contrast(.97); }
html.rl-print #app .rl-story-hero img { aspect-ratio: 16 / 10; object-position: 50% 18%; }
html.rl-print #app .rl-story-figure figcaption { margin-top: 14px; padding-left: 14px; border-left: 1px solid var(--rl-print-line); font-size: 13.5px; line-height: 1.75; color: var(--rl-print-muted, #56697a); max-width: 40em; }
html.rl-print #app .rl-story-figure figcaption b { margin-right: 8px; font-weight: 600; color: var(--rl-print-blue); }

/* ---------- 장 ---------- */
html.rl-print #app .rl-ch { display: grid; grid-template-columns: 1fr 2fr 1fr; column-gap: 5px; align-items: start; padding-top: clamp(64px, 6.8vw, 104px); }
html.rl-print #app .rl-ch-mark { grid-column: 1; position: sticky; top: 104px; align-self: start; margin-right: 40px; padding-top: 16px; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-ch-no { display: block; font: 300 34px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); letter-spacing: -0.02em; }
html.rl-print #app .rl-ch-kicker { display: block; margin-top: 12px; font: 500 13px/1.6 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-ch-body { grid-column: 2; min-width: 0; }
html.rl-print #app .rl-ch-body h2 { margin: 0 0 26px; font: 700 clamp(26px, 2.2vw, 32px)/1.38 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-ch-body > p { margin: 0 0 1.15em; font-size: 17px; line-height: 1.9; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-story-link { margin: 4px 0 0 !important; }
html.rl-print #app .rl-story-link a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px !important; color: var(--rl-print-blue) !important; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
html.rl-print #app .rl-story-link a::after { content: "↗"; text-decoration: none; display: inline-block; }
html.rl-print #app .rl-story-note { font-size: 13.5px !important; line-height: 1.7 !important; color: var(--rl-print-muted, #56697a) !important; margin-top: 18px !important; }
/* 넓은 사진: 읽기 칸에서 곁 칸까지 / 곁 사진: 곁 칸에 띄움 */
html.rl-print #app .rl-story-wide { margin: 40px calc(-50% - 5px) 40px 0; }
html.rl-print #app .rl-story-wide img { aspect-ratio: 16 / 9; }
html.rl-print #app .rl-story-aside { float: right; width: calc(50% - 40px); margin: 6px calc(-50% - 5px) 24px 0; position: relative; left: 0; }
html.rl-print #app .rl-story-aside img { aspect-ratio: 4 / 5; border-radius: 8px; }
html.rl-print #app .rl-ch-body::after { content: ""; display: block; clear: both; }
/* 인용: 읽기 칸 + 곁 칸, 큰 명조 */
html.rl-print #app .rl-story-quote { margin: 56px calc(-50% - 5px) 8px 0; padding: 0; }
html.rl-print #app .rl-story-quote p { margin: 0; font: 400 clamp(26px, 2.5vw, 36px)/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-story-quote cite { display: block; margin-top: 16px; font: 500 13px/1.5 var(--rl-font); font-style: normal; color: var(--rl-print-blue); }
/* 글 속 번호 목록 (단계 · 점검) */
html.rl-print #app :is(.rl-story-steps, .rl-story-checks) { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app :is(.rl-story-steps, .rl-story-checks) > li { display: grid; grid-template-columns: 56px 1fr; padding: 22px 0; border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-story-steps > li { counter-increment: rlstep; }
html.rl-print #app .rl-story-checks > li { counter-increment: rlcheck; }
html.rl-print #app .rl-story-steps > li::before { content: counter(rlstep, decimal-leading-zero); }
html.rl-print #app .rl-story-checks > li::before { content: counter(rlcheck, decimal-leading-zero); }
html.rl-print #app :is(.rl-story-steps, .rl-story-checks) > li::before { grid-row: 1 / span 2; font: 300 24px/1.1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app :is(.rl-story-steps, .rl-story-checks) b { font: 700 18px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app :is(.rl-story-steps, .rl-story-checks) span { margin-top: 6px; font-size: 15.5px; line-height: 1.8; }
html.rl-print #app .rl-story-checks + p { margin-top: 24px !important; }
/* 묻고 답하기 (펼치지 않고 그대로 읽음) */
html.rl-print #app .rl-story-qa { margin: 8px 0 0; border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-story-qa > div { padding: 24px 0; border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-story-qa dt { font: 700 18px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-story-qa dt::before { content: "Q. "; font-family: var(--rl-font-latin-light); font-weight: 300; }
html.rl-print #app .rl-story-qa dd { margin: 10px 0 0; font-size: 16px; line-height: 1.85; }

/* ---------- 함께 읽으면 좋은 글 (3개만) ---------- */
html.rl-print #app .rl-story-related { margin-top: clamp(72px, 8.4vw, 120px); padding-top: 28px; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-story-related-label { margin: 0 0 22px; font: 500 13px/1.6 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-story-related ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.rl-print #app .rl-story-related li { padding: 0 28px; }
html.rl-print #app .rl-story-related li:first-child { padding-left: 0; }
html.rl-print #app .rl-story-related li:last-child { padding-right: 0; }
html.rl-print #app .rl-story-related li + li { border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-story-related a { position: relative; display: block; padding-right: 52px; text-decoration: none; }
html.rl-print #app .rl-story-related span { display: block; font: 300 13px/1.4 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-story-related b { display: block; margin-top: 10px; font: 700 20px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-story-related em { display: block; margin-top: 6px; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-story-related svg { position: absolute; top: 0; right: 0; width: 36px; height: 36px; padding: 10px; border: 1px solid var(--rl-print-blue); border-radius: 50%; color: var(--rl-print-blue); transition: background-color .35s, color .35s, transform .45s cubic-bezier(.2, .7, .1, 1); }
html.rl-print #app .rl-story-related a:hover svg { background: var(--rl-print-blue); color: #fff; transform: rotate(45deg); }

/* ---------- 태블릿 · 모바일: 한 칸으로 읽기 ---------- */
@media (max-width: 1100px) {
  html.rl-print #app .rl-story-cover, html.rl-print #app .rl-ch { grid-template-columns: 1fr; }
  html.rl-print #app :is(.rl-story-kicker, .rl-story-title, .rl-story-credit, .rl-story-lede, .rl-story-hero, .rl-ch-mark, .rl-ch-body) { grid-column: 1 !important; grid-row: auto !important; }
  html.rl-print #app .rl-story-kicker { padding-top: 0; }
  html.rl-print #app .rl-story-title { margin-top: 14px; }
  html.rl-print #app .rl-story-credit { order: 5; margin-top: 18px; }
  html.rl-print #app .rl-story-lede { margin-top: 22px; }
  html.rl-print #app .rl-story-hero { margin-top: 36px; }
  html.rl-print #app .rl-ch-mark { position: static; margin: 0 0 18px; padding-top: 14px; display: flex; align-items: baseline; gap: 12px; }
  html.rl-print #app .rl-ch-no { font-size: 24px; }
  html.rl-print #app .rl-ch-kicker { margin-top: 0; }
  html.rl-print #app :is(.rl-story-wide, .rl-story-quote) { margin-right: 0; }
  html.rl-print #app .rl-story-aside { float: none; width: 62%; max-width: 320px; margin: 28px 0; }
  html.rl-print #app .rl-story-related ul { grid-template-columns: 1fr; }
  html.rl-print #app .rl-story-related li, html.rl-print #app .rl-story-related li:first-child, html.rl-print #app .rl-story-related li:last-child { padding: 20px 0; border-left: 0 !important; }
  html.rl-print #app .rl-story-related li + li { border-top: 1px solid var(--rl-print-line-soft); }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-story { padding-top: 24px; }
  html.rl-print #app .rl-story-crumb { margin-bottom: 32px; }
  html.rl-print #app .rl-story-title { font-size: clamp(27px, 7.6vw, 34px); line-height: 1.32; text-wrap: balance; }
  html.rl-print #app .rl-story-lede { font-size: 17px; }
  html.rl-print #app .rl-ch-body h2 { font-size: var(--rl-m-title, clamp(22px, 6.3vw, 26px)); line-height: 1.42; text-wrap: balance; }
  html.rl-print #app .rl-ch-body > p { font-size: 16px; line-height: 1.85; }
  html.rl-print #app .rl-story-quote p { font-size: 23px; }
  html.rl-print #app :is(.rl-story-steps, .rl-story-checks) > li { grid-template-columns: 44px 1fr; }
}

/* =========================================================
   움직임 (읽는 글): 사진 틀 · 패럴랙스 · 와이프 · 글자
   ========================================================= */
html.rl-print #app .rl-ph { position: relative; overflow: hidden; border-radius: 10px; }
html.rl-print #app .rl-story-aside .rl-ph { border-radius: 8px; }
html.rl-print #app .rl-story-hero .rl-ph { aspect-ratio: 16 / 10; }
html.rl-print #app .rl-story-wide .rl-ph { aspect-ratio: 16 / 9; }
html.rl-print #app .rl-story-aside .rl-ph { aspect-ratio: 4 / 5; }
html.rl-print #app .rl-ph > img { display: block; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; border-radius: 0 !important; object-fit: cover; scale: 1.16; will-change: transform; }   /* 패럴랙스 여유(위아래 8%) */
html.rl-print #app .rl-story-hero .rl-ph > img { object-position: 50% 18%; }
/* 열림: 사진은 조금 크게 시작해 제자리(1.16)로 */
html.rl-print.rl-motion #app .rl-story [data-rl="img"]:not([data-rl-in]) > img { scale: 1.26 !important; }
html.rl-print.rl-motion #app .rl-story [data-rl="img"][data-rl-in] > img { transition: scale 2.6s cubic-bezier(.16, 1, .3, 1) var(--d, 0ms), clip-path 1.6s cubic-bezier(.77, 0, .175, 1) var(--d, 0ms) !important; }
/* 와이프: 왼쪽 → 오른쪽, 여는 가장자리를 가는 블루 선이 따라감 */
html.rl-print #app .rl-ph.rl-wipe::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 2px; z-index: 2; background: var(--rl-print-blue); opacity: 0; pointer-events: none; }
html.rl-print.rl-motion #app .rl-ph.rl-wipe:not([data-rl-in]) > img { clip-path: inset(0 100% 0 0); }
html.rl-print.rl-motion #app .rl-ph.rl-wipe[data-rl-in] > img { clip-path: inset(0 0 0 0); }
html.rl-print.rl-motion #app .rl-ph.rl-wipe[data-rl-in]::after { animation: rlWipeEdge 1.6s cubic-bezier(.77, 0, .175, 1) both; }
/* 글자: 가림막 없이 조금 떠오르며 흐림 → 선명 */
html.rl-print #app .rl-story-title { --rl-stagger-chars: 34ms; }
html.rl-print #app .rl-story-quote p { --rl-stagger-chars: 20ms; }
html.rl-print #app .rl-story [data-rl="chars"] rl-w { overflow: visible !important; }
html.rl-print.rl-motion #app .rl-story [data-rl="chars"]:not([data-rl-in]) rl-c { transform: translate3d(0, .42em, 0) !important; opacity: 0; filter: blur(6px); }
html.rl-print.rl-motion #app .rl-story [data-rl="chars"][data-rl-in] rl-c { opacity: 1; filter: blur(0); transition: transform 1.3s cubic-bezier(.22, 1, .36, 1), opacity 1.1s cubic-bezier(.33, 0, .2, 1), filter 1.1s cubic-bezier(.33, 0, .2, 1); transition-delay: calc(var(--d, 0ms) + var(--i, 0) * var(--rl-stagger-chars)); }
/* 문단 · 캡션: 흐림 → 선명 */
html.rl-print.rl-motion #app .rl-story [data-rl="fade"]:not([data-rl-in]) { filter: blur(5px); }
html.rl-print.rl-motion #app .rl-story [data-rl="fade"][data-rl-in] { filter: blur(0); transition: opacity 1.4s var(--rl-ease-soft, cubic-bezier(.33, 0, .2, 1)) var(--d, 0ms), transform 1.6s cubic-bezier(.22, .8, .3, 1) var(--d, 0ms), filter 1.3s var(--rl-ease-soft, cubic-bezier(.33, 0, .2, 1)) var(--d, 0ms) !important; }
@media (prefers-reduced-motion: reduce) {
  html.rl-print #app .rl-ph > img { scale: 1 !important; transform: none !important; clip-path: none !important; }
  html.rl-print #app .rl-story [data-rl] rl-c, html.rl-print #app .rl-story [data-rl] { filter: none !important; opacity: 1 !important; transform: none !important; }
}
/* 리드 문단 ↔ 표지 사진 간격 (뒤쪽 공통 사진 규칙 margin:0보다 우선) */
html.rl-print #app .rl-story-figure.rl-story-hero { margin: 72px 0 0; }
@media (max-width: 1100px) { html.rl-print #app .rl-story-figure.rl-story-hero { margin-top: 44px; } }
/* 상세 페이지(읽는 글): 글 움직임 시작을 약 10% 일찍 — 데스크톱 화면 위에서 78% 지점, 모바일 87% 지점 (메인은 그대로) */
html.rl-print:not([data-page="index"]) { --rl-trigger-text: 22%; }
@media (max-width: 700px) { html.rl-print:not([data-page="index"]) { --rl-trigger-text: 13%; } }

/* =========================================================
   변형 2 · 과정 (진단·치료과정 등): 사진 없는 표지 + 단계 띠 / 이어지는 세로 시간선 / 단계마다 '하는 일 · 함께 확인할 것'
   ========================================================= */
/* 단계 띠: 표지 아래 한 줄로 전 과정 (누르면 그 단계로) */
html.rl-print #app .rl-steps-strip { grid-column: 1 / -1; grid-row: 4; list-style: none; margin: 72px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--rl-print-line); counter-reset: none; }
html.rl-print #app .rl-steps-strip li { padding: 22px 18px 0; }
html.rl-print #app .rl-steps-strip li:first-child { padding-left: 0; }
html.rl-print #app .rl-steps-strip li + li { border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-steps-strip a { display: block; text-decoration: none; }
html.rl-print #app .rl-steps-strip span { display: block; font: 300 13px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-steps-strip b { display: block; margin-top: 12px; font: 700 17px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-steps-strip a:hover b { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
/* 세로 시간선: 단계 장들을 끊김 없이 잇는 가는 선 + 단계 제목 옆 원 */
html.rl-print #app .rl-story--process .rl-step { position: relative; }
html.rl-print #app .rl-story--process .rl-step .rl-ch-body { position: relative; padding-left: 40px; }
html.rl-print #app .rl-story--process .rl-step::before { content: ""; position: absolute; top: 0; bottom: 0; width: 1px; background: var(--rl-print-line-soft); left: calc((100% - 10px) / 4 + 5px + 11px); }
html.rl-print #app .rl-story--process #rl-st0::before { top: clamp(64px, 6.8vw, 104px); }   /* 첫 단계 위로는 선 없음 */
html.rl-print #app .rl-story--process #rl-st5::before { bottom: auto; height: calc(clamp(64px, 6.8vw, 104px) + 0.9em); }   /* 마지막 단계 아래로는 선 없음 */
html.rl-print #app .rl-story--process .rl-step h2 { position: relative; }
html.rl-print #app .rl-story--process .rl-step h2::before { content: ""; position: absolute; left: -35px; top: .48em; width: 11px; height: 11px; border-radius: 50%; border: 1px solid var(--rl-print-blue); background: var(--rl-print-paper, #f6f8fa); box-sizing: border-box; }
/* 하는 일 · 함께 확인할 것 */
html.rl-print #app .rl-step-box { display: grid; grid-template-columns: 1fr 1fr; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--rl-print-line-soft); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-step-box > div { padding: 18px 24px 20px 0; }
html.rl-print #app .rl-step-box > div + div { padding: 18px 0 20px 24px; border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-step-box dt { font: 500 12.5px/1.5 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-step-box dd { margin: 6px 0 0; font-size: 15px; line-height: 1.75; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-story--process .rl-story-steps { margin-top: 24px; }
@media (max-width: 1100px) {
  html.rl-print #app .rl-steps-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 44px; }
  html.rl-print #app .rl-steps-strip li:nth-child(3n+1) { padding-left: 0; border-left: 0; }
  html.rl-print #app .rl-steps-strip li:nth-child(n+4) { border-top: 1px solid var(--rl-print-line-soft); padding-bottom: 18px; margin-top: 18px; }
  html.rl-print #app .rl-story--process .rl-step::before { left: 11px; }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-steps-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.rl-print #app .rl-steps-strip li { padding: 16px 12px 14px !important; margin-top: 0 !important; }
  html.rl-print #app .rl-steps-strip li:nth-child(odd) { padding-left: 0 !important; border-left: 0 !important; }
  html.rl-print #app .rl-steps-strip li:nth-child(even) { border-left: 1px solid var(--rl-print-line-soft) !important; }
  html.rl-print #app .rl-steps-strip li:nth-child(n+3) { border-top: 1px solid var(--rl-print-line-soft) !important; }
  html.rl-print #app .rl-steps-strip b { font-size: 15px; margin-top: 8px; }
  html.rl-print #app .rl-story--process .rl-step .rl-ch-body { padding-left: 32px; }
  html.rl-print #app .rl-story--process .rl-step h2::before { left: -27px; }
  html.rl-print #app .rl-step-box { grid-template-columns: 1fr; }
  html.rl-print #app .rl-step-box > div + div { padding: 0 0 18px; border-left: 0; }
}
@media (max-width: 1100px) {   /* 모바일 표지 순서: 제목 → 리드 → 글쓴이 → 단계 띠 */
  html.rl-print #app .rl-story-cover > * { grid-row: auto !important; }
  html.rl-print #app .rl-story-lede { order: 4; }
  html.rl-print #app .rl-story-credit { order: 5; }
  html.rl-print #app .rl-steps-strip, html.rl-print #app .rl-story-hero { order: 6; }
}
/* 곁 칸으로 넘어가는 요소(인용 · 넓은 사진)는 곁 사진 아래에서 시작 — 겹치지 않게 */
html.rl-print #app .rl-story-quote, html.rl-print #app .rl-story-figure.rl-story-wide { clear: both; }

/* =========================================================
   변형 3 · 문답 (뼈이식·상악동거상술 등): 사진 없는 표지 · 질문이 제목 · '짧게 먼저 답하면' · 장 = 질문(Q1~)
   ========================================================= */
html.rl-print #app .rl-story--qa .rl-ch-no { letter-spacing: 0; }
/* 짧게 먼저 답하면: 리드 아래 세 줄 */
html.rl-print #app .rl-qa-summary { grid-column: 2; grid-row: 4; margin: 44px 0 0; padding: 22px 0 6px; border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-qa-summary > p { margin: 0 0 10px; font: 500 13px/1.6 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-qa-summary ol { list-style: none; margin: 0; padding: 0; counter-reset: rlsum; }
html.rl-print #app .rl-qa-summary li { counter-increment: rlsum; display: grid; grid-template-columns: 36px 1fr; padding: 12px 0; font: 400 17px/1.65 var(--rl-font-serif); letter-spacing: -0.01em; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-qa-summary li + li { border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-qa-summary li::before { content: counter(rlsum, decimal-leading-zero); font: 300 14px/1.9 var(--rl-font-latin-light); color: var(--rl-print-blue); }
/* 두 가지 비교 (뼈이식 | 상악동거상술) */
html.rl-print #app .rl-qa-compare { display: grid; grid-template-columns: 1fr 1fr; margin: 28px 0 0; border-top: 1px solid var(--rl-print-line-soft); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-qa-compare > div { padding: 22px 24px 22px 0; }
html.rl-print #app .rl-qa-compare > div + div { padding: 22px 0 22px 24px; border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-qa-compare span { display: block; font: 300 13px/1.4 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-qa-compare b { display: block; margin-top: 8px; font: 700 19px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-qa-compare p { margin: 10px 0 0; font-size: 15.5px; line-height: 1.8; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-qa-compare em { display: block; margin-top: 12px; font-style: normal; font-size: 13px; line-height: 1.6; color: var(--rl-print-blue); }
@media (max-width: 1100px) { html.rl-print #app .rl-qa-summary { order: 6; margin-top: 36px; } }
@media (max-width: 700px) {
  html.rl-print #app .rl-qa-summary li { font-size: 16px; grid-template-columns: 30px 1fr; }
  html.rl-print #app .rl-qa-compare { grid-template-columns: 1fr; }
  html.rl-print #app .rl-qa-compare > div + div { padding: 18px 0 20px; border-left: 0; border-top: 1px solid var(--rl-print-line-soft); }
}
/* 두 가지 비교: 좌우 칸이 같은 줄 구조(꼬리표 · 제목 · 설명 · 확인할 것)를 나눠 써서 줄이 나란히 — 설명 길이가 달라도 '확인할 것'은 같은 높이 */
html.rl-print #app .rl-qa-compare { grid-template-rows: auto auto 1fr auto; }
html.rl-print #app .rl-qa-compare > div { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
html.rl-print #app .rl-qa-compare > div > em { align-self: end; }
@supports not (grid-template-rows: subgrid) {
  html.rl-print #app .rl-qa-compare > div { display: flex; flex-direction: column; }
  html.rl-print #app .rl-qa-compare > div > em { margin-top: auto; padding-top: 12px; }
}

/* =========================================================
   변형 4 · 안내 (사후관리 · 정기검진 · 예약 · 진료시간 등): 작은 사진 표지 · 표 · 체크리스트 · 주의 상자 · 일정 띠
   ========================================================= */
/* 표지: 곁 칸의 작은 사진 */
html.rl-print #app .rl-story-figure.rl-cover-thumb { grid-column: 3; grid-row: 2 / span 2; align-self: start; margin: 6px 0 0 40px; }
html.rl-print #app .rl-cover-thumb .rl-ph { aspect-ratio: 4 / 5; border-radius: 8px; }
html.rl-print #app .rl-cover-thumb figcaption { font-size: 12.5px; }
/* 인쇄물 표 */
html.rl-print #app .rl-guide-table { width: 100%; margin: 28px 0 0; border-collapse: collapse; }
html.rl-print #app .rl-guide-table th { padding: 0 0 10px; text-align: left; font: 500 12.5px/1.5 var(--rl-font); color: var(--rl-print-blue); border-bottom: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-guide-table td { padding: 18px 0; vertical-align: top; border-bottom: 1px solid var(--rl-print-line-soft); font-size: 15.5px; line-height: 1.75; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-guide-table td:first-child { width: 38%; padding-right: 20px; font: 700 17px/1.55 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
/* 체크리스트 (네모 칸) */
html.rl-print #app .rl-checklist { list-style: none; margin: 20px 0 24px; padding: 0; border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-checklist li { position: relative; padding: 14px 0 14px 34px; border-bottom: 1px solid var(--rl-print-line-soft); font-size: 16px; line-height: 1.6; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-checklist li::before { content: ""; position: absolute; left: 0; top: 18px; width: 16px; height: 16px; border: 1px solid var(--rl-print-blue); border-radius: 3px; box-sizing: border-box; }
/* 주의 상자 (가는 블루 테두리) */
html.rl-print #app .rl-guide-note { margin: 0 0 28px; padding: 18px 22px; border: 1px solid var(--rl-print-blue); border-radius: 8px; font-size: 15.5px; line-height: 1.7; color: var(--rl-print-blue); }
html.rl-print #app .rl-guide-note b { margin-right: 10px; font-weight: 600; }
html.rl-print #app .rl-guide-label { margin: 22px 0 0 !important; font: 500 13px/1.6 var(--rl-font) !important; color: var(--rl-print-blue) !important; }
/* 종류를 나란히 (점검 · 수리 · 부품 교체 · 보철 재제작) */
html.rl-print #app .rl-guide-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 4px 0 0; padding: 0; }
html.rl-print #app .rl-guide-chips li { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--rl-print-line); border-radius: 999px; font-size: 13.5px; color: var(--rl-print-blue); }
/* 일정 띠 (달력처럼 네 칸) */
html.rl-print #app .rl-guide-schedule { list-style: none; margin: 28px 0 24px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-guide-schedule li { position: relative; padding: 22px 14px 0 0; }
html.rl-print #app .rl-guide-schedule li + li { padding-left: 14px; border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-guide-schedule li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; border: 1px solid var(--rl-print-blue); background: var(--rl-print-paper, #f6f8fa); box-sizing: border-box; }
html.rl-print #app .rl-guide-schedule li + li::before { left: 14px; }
html.rl-print #app .rl-guide-schedule li:last-child::before { background: var(--rl-print-blue); }
html.rl-print #app .rl-guide-schedule span { display: block; font: 300 12.5px/1.4 var(--rl-font-latin-light), var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-guide-schedule b { display: block; margin-top: 8px; font: 700 16px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-guide-schedule em { display: block; margin-top: 6px; font-style: normal; font-size: 13.5px; line-height: 1.65; color: var(--rl-print-charcoal); }
@media (max-width: 1100px) {
  html.rl-print #app .rl-story-figure.rl-cover-thumb { order: 6; grid-column: 1; grid-row: auto; width: 46%; max-width: 240px; margin: 32px 0 0; }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-guide-table td:first-child { width: 40%; font-size: 15.5px; }
  html.rl-print #app .rl-guide-table td { font-size: 14.5px; }
  html.rl-print #app .rl-guide-schedule { grid-template-columns: 1fr 1fr; row-gap: 22px; }
  html.rl-print #app .rl-guide-schedule li:nth-child(3) { padding-left: 0; border-left: 0; }
  html.rl-print #app .rl-guide-schedule li:nth-child(3)::before { left: 0; }
}
/* 안내 변형: 제목은 읽기 칸에만(곁 칸은 작은 사진 자리), 실용 안내라 한 단계 작게 */
@media (min-width: 1101px) { html.rl-print #app .rl-story--guide .rl-story-title { grid-column: 2; } }
html.rl-print #app .rl-story--guide .rl-story-title { font-size: clamp(32px, 3.2vw, 46px); }


/* 여덟 단계를 짧게: 두 단 번호 목록 (긴 과정을 한눈에) */
html.rl-print #app .rl-story-grid8 { list-style: none; margin: 28px 0 32px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; border-top: 1px solid var(--rl-print-line-soft); counter-reset: rlg8; }
html.rl-print #app .rl-story-grid8 li { counter-increment: rlg8; display: grid; grid-template-columns: 40px 1fr; padding: 16px 0; border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-story-grid8 li::before { content: counter(rlg8, decimal-leading-zero); grid-row: 1 / span 2; font: 300 18px/1.3 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-story-grid8 b { font: 700 16.5px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-story-grid8 span { margin-top: 4px; font-size: 14.5px; line-height: 1.7; color: var(--rl-print-charcoal); }
@media (max-width: 700px) { html.rl-print #app .rl-story-grid8 { grid-template-columns: 1fr; } }
/* 강조 수치 (근거와 함께): 위아래 가는 선 사이 명조 큰 글씨 */
html.rl-print #app .rl-story-stat { margin: 28px 0 28px; padding: 20px 0 18px; border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-story-stat span { display: block; font: 500 13px/1.6 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-story-stat b { display: block; margin-top: 6px; font: 700 clamp(24px, 2.2vw, 30px)/1.35 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-story-stat em { display: block; margin-top: 8px; font-style: normal; font-size: 12.5px; line-height: 1.6; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-draft-note { text-decoration: underline dashed rgba(6, 98, 217, .5); text-underline-offset: 4px; }
html.rl-print #app .rl-draft-note::before { content: "※ "; }
/* 고민 고르기 2×2 (문답 변형의 대표 장치 중 하나) — 메인 포스터형 2×2와 같은 재료, 읽기 칸 폭에 맞춤 */
html.rl-print #app .rl-story .rl-concerns { margin: 28px 0 0 !important; }
html.rl-print #app .rl-story .rl-concerns .rl-big-num { font-size: 34px; margin-bottom: 14px; }
html.rl-print #app .rl-story .rl-concerns .rl-fact { font-size: 18px; }
html.rl-print #app .rl-story .rl-concerns .rl-desc { font-size: 14.5px; }
html.rl-print #app .rl-checklist li b { color: var(--rl-print-blue); font-weight: 600; }
@media (max-width: 700px) { html.rl-print #app .rl-story .rl-concerns { grid-template-columns: 1fr !important; } html.rl-print #app .rl-story .rl-concerns > li, html.rl-print #app .rl-story .rl-concerns > li:nth-child(even) { padding: 18px 0 20px !important; border-right: 0 !important; } }

/* 여덟 단계 띠 */
html.rl-print #app .rl-steps-strip--8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
html.rl-print #app .rl-steps-strip--8 li { padding-left: 14px; padding-right: 10px; }
html.rl-print #app .rl-steps-strip--8 li:first-child { padding-left: 0; }
html.rl-print #app .rl-steps-strip--8 b { font-size: 15px; }
@media (max-width: 1100px) {
  html.rl-print #app .rl-steps-strip--8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html.rl-print #app .rl-steps-strip--8 li:nth-child(4n+1) { padding-left: 0; border-left: 0; }
  html.rl-print #app .rl-steps-strip--8 li:nth-child(n+5) { border-top: 1px solid var(--rl-print-line-soft); margin-top: 18px; padding-bottom: 14px; }
}
@media (max-width: 700px) { html.rl-print #app .rl-steps-strip--8 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 자주 묻는 질문 묶음 (실제로 펼쳐지는 목록 → + 원, 펼치면 × ) */
html.rl-print #app .rl-faq-group { margin-top: 32px; }
html.rl-print #app .rl-faq-group-label { margin: 0 0 8px !important; font: 500 13px/1.6 var(--rl-font) !important; color: var(--rl-print-blue) !important; }
html.rl-print #app .rl-faq-item { border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-faq-group .rl-faq-item:last-child { border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-faq-item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; cursor: pointer; }
html.rl-print #app .rl-faq-item summary::-webkit-details-marker { display: none; }
html.rl-print #app .rl-faq-item summary span { font: 700 17.5px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-faq-item summary i { position: relative; flex: none; width: 30px; height: 30px; border: 1px solid var(--rl-print-line); border-radius: 50%; transition: transform .45s cubic-bezier(.2, .7, .1, 1), background-color .3s; }
html.rl-print #app .rl-faq-item summary i::before, html.rl-print #app .rl-faq-item summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1px; margin: 0 0 0 -5.5px; background: var(--rl-print-blue); }
html.rl-print #app .rl-faq-item summary i::after { transform: rotate(90deg); }
html.rl-print #app .rl-faq-item[open] summary i { transform: rotate(45deg); background: rgba(6, 98, 217, .06); }
html.rl-print #app .rl-faq-item summary:hover span { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
html.rl-print #app .rl-faq-item > p { margin: 0 0 20px !important; padding-right: 50px; font-size: 16px !important; line-height: 1.85 !important; color: var(--rl-print-charcoal) !important; }

/* ===== 자연치아보존 묶음: 새 장치 ===== */
/* 2×2 안의 링크 */
html.rl-print #app .rl-quad-link { display: inline-block; margin-top: 6px; color: var(--rl-print-blue); font-size: 13.5px; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
/* 위치 유형 네 칸 (이미지 자리) */
html.rl-print #app .rl-imggrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 28px calc(-50% - 5px) 28px 0; }
html.rl-print #app .rl-imggrid .rl-story-figure { margin: 0 !important; }
html.rl-print #app .rl-imggrid .rl-dummy-in { padding: 14px; gap: 5px; }
html.rl-print #app .rl-imggrid .rl-dummy-in b { font-size: 15px; }
html.rl-print #app .rl-imggrid .rl-dummy-in em { font-size: 12px; }
html.rl-print #app .rl-imggrid .rl-dummy-tag { height: 24px; font-size: 11px; padding: 0 9px; }
/* 증상 지도: 세 칸 × 두 줄, 칸마다 증상 · 알려주실 것 · 관련 진료 */
html.rl-print #app .rl-symmap { list-style: none; margin: 28px calc(-50% - 5px) 8px 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; }
html.rl-print #app .rl-symmap li { position: relative; padding: 22px 0 26px; border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-symmap li:nth-child(-n+3) { border-top-color: var(--rl-print-line); }
html.rl-print #app .rl-symmap b { display: block; margin-top: 10px; font: 700 19px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-symmap em { display: block; margin-top: 8px; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-symmap-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
html.rl-print #app .rl-symmap-links a { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border: 1px solid var(--rl-print-blue); border-radius: 999px; font-size: 13px; color: var(--rl-print-blue); text-decoration: none; transition: background-color .3s, color .3s; }
html.rl-print #app .rl-symmap-links a::after { content: " ↗"; margin-left: 4px; }
html.rl-print #app .rl-symmap-links a:hover { background: var(--rl-print-blue); color: #fff; }
@media (max-width: 1100px) {
  html.rl-print #app .rl-imggrid, html.rl-print #app .rl-symmap { margin-right: 0; }
  html.rl-print #app .rl-imggrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.rl-print #app .rl-symmap { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-symmap { grid-template-columns: 1fr; }
  html.rl-print #app .rl-symmap li:nth-child(2), html.rl-print #app .rl-symmap li:nth-child(3) { border-top-color: var(--rl-print-line-soft); }
}
/* 번호 목록은 목록마다 01부터 (앞 목록 번호를 이어 받지 않음) */
html.rl-print #app .rl-story-steps { counter-reset: rlstep; }
html.rl-print #app .rl-story-checks { counter-reset: rlcheck; }

/* ===== 사례·칼럼 묶음 ===== */
html.rl-print #app .rl-tag { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; margin-left: 6px; border: 1px solid var(--rl-print-line); border-radius: 999px; font: 500 11.5px/1 var(--rl-font); color: var(--rl-print-blue); vertical-align: middle; }
html.rl-print #app .rl-story-kicker .rl-tag { margin-left: 8px; }
html.rl-print #app .rl-disclaim { grid-column: 2; grid-row: 4; margin: 22px 0 0 !important; padding-top: 14px; border-top: 1px dashed var(--rl-print-line); }
/* 이 글의 순서 (칼럼 표지 오른쪽) */
html.rl-print #app .rl-toc { grid-column: 3; grid-row: 2 / span 3; align-self: start; margin: 8px 0 0 40px; }
html.rl-print #app .rl-toc > p { margin: 0 0 8px; font: 500 12.5px/1.5 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-toc li { border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-toc a { display: grid; grid-template-columns: 30px 1fr; padding: 11px 0; font: 700 14.5px/1.5 var(--rl-font-serif); color: var(--rl-print-blue); text-decoration: none; }
html.rl-print #app .rl-toc a span { font: 300 12.5px/1.9 var(--rl-font-latin-light); }
html.rl-print #app .rl-toc a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* 사례가 들어갈 자리 (세 칸) */
html.rl-print #app .rl-casegrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 28px calc(-50% - 5px) 0 0; }
html.rl-print #app .rl-casegrid .rl-story-figure { margin: 0 0 16px !important; }
html.rl-print #app .rl-casegrid .rl-dummy-in { padding: 14px; gap: 5px; }
html.rl-print #app .rl-casegrid .rl-dummy-in b { font-size: 15px; } html.rl-print #app .rl-casegrid .rl-dummy-in em { font-size: 12px; }
html.rl-print #app .rl-casegrid > div > b { display: block; margin-top: 8px; font: 700 17px/1.45 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-casegrid ul { list-style: none; margin: 12px 0 0; padding: 0; border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-casegrid ul li { padding: 8px 0; border-bottom: 1px dashed var(--rl-print-line-soft); font-size: 13.5px; color: var(--rl-print-muted, #56697a); }
/* 관련 진료 카드 (실제 사진) */
html.rl-print #app .rl-care { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 28px calc(-50% - 5px) 0 0; }
html.rl-print #app .rl-care a { display: block; text-decoration: none; }
html.rl-print #app .rl-care .rl-ph, html.rl-print #app .rl-rows .rl-ph, html.rl-print #app .rl-people .rl-ph { border-radius: 8px; }
html.rl-print #app .rl-care .rl-ph { aspect-ratio: 4 / 3; }
html.rl-print #app .rl-care span { display: block; margin-top: 14px; font: 300 13px/1.4 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-care b { display: block; margin-top: 6px; font: 700 18px/1.45 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-care em { display: block; margin-top: 6px; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-care a:hover b { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
/* 이번 이야기 (대표 칼럼, 넓게) */
html.rl-print #app .rl-feature { display: block; margin: 8px calc(-50% - 5px) 0 0; text-decoration: none; }
html.rl-print #app .rl-feature .rl-story-figure { margin: 0 0 20px !important; }
html.rl-print #app .rl-feature-meta { display: block; font-size: 13px; color: var(--rl-print-blue); }
html.rl-print #app .rl-feature > b { display: block; margin-top: 10px; font: 700 clamp(22px, 2vw, 28px)/1.4 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-feature > em { display: block; margin-top: 8px; font-style: normal; font-size: 16px; line-height: 1.8; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-feature-go { display: inline-block; margin-top: 12px; font-size: 14px; color: var(--rl-print-blue); text-decoration: underline; text-underline-offset: 4px; }
/* 전체 이야기 (목차 줄) */
html.rl-print #app .rl-rows { list-style: none; margin: 20px calc(-50% - 5px) 0 0; padding: 0; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-rows li { border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-rows a { position: relative; display: grid; grid-template-columns: 220px 48px 1fr; grid-template-rows: auto auto auto 1fr; column-gap: 24px; padding: 22px 60px 22px 0; text-decoration: none; }
html.rl-print #app .rl-rows a > .rl-ph, html.rl-print #app .rl-rows a > .rl-story-figure { grid-column: 1; grid-row: 1 / span 4; margin: 0 !important; aspect-ratio: 4 / 3; }
html.rl-print #app .rl-rows a > .rl-story-figure .rl-dummy { aspect-ratio: 4 / 3 !important; }
html.rl-print #app .rl-rows .rl-dummy-in { padding: 12px; gap: 4px; } html.rl-print #app .rl-rows .rl-dummy-in b { font-size: 14px; } html.rl-print #app .rl-rows .rl-dummy-in em { font-size: 11.5px; }
html.rl-print #app .rl-rows-no { grid-column: 2; grid-row: 1 / span 3; font: 300 24px/1.1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-rows-meta { grid-column: 3; font-size: 13px; color: var(--rl-print-blue); }
html.rl-print #app .rl-rows a > b { grid-column: 3; margin-top: 8px; font: 700 20px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-rows a > em { grid-column: 3; margin-top: 6px; font-style: normal; font-size: 14.5px; line-height: 1.7; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-rows a > i svg { position: absolute; right: 0; top: 22px; width: 36px; height: 36px; padding: 10px; border: 1px solid var(--rl-print-blue); border-radius: 50%; color: var(--rl-print-blue); transition: background-color .35s, color .35s, transform .45s cubic-bezier(.2, .7, .1, 1); }
html.rl-print #app .rl-rows a:hover i svg { background: var(--rl-print-blue); color: #fff; transform: rotate(45deg); }
/* 의료진 (세 칸) */
html.rl-print #app .rl-people { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 24px calc(-50% - 5px) 0 0; padding: 0; }
html.rl-print #app .rl-people a { display: block; text-decoration: none; }
html.rl-print #app .rl-people .rl-ph { aspect-ratio: 4 / 5; }
html.rl-print #app .rl-people .rl-ph img { object-position: 50% 18%; }
html.rl-print #app .rl-people span { display: block; margin-top: 14px; font-size: 13px; color: var(--rl-print-blue); }
html.rl-print #app .rl-people b { display: block; margin-top: 4px; font: 700 22px/1.35 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-people em { display: block; margin-top: 6px; font-style: normal; font-size: 14px; line-height: 1.65; color: var(--rl-print-charcoal); }
/* 질문 고르기 (주제 필터) + 질문 카드 두 단 */
html.rl-print #app .rl-qcat { margin: 20px calc(-50% - 5px) 0 0; }
html.rl-print #app .rl-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
html.rl-print #app .rl-filter button { height: 38px; padding: 0 16px; border: 1px solid var(--rl-print-blue); border-radius: 999px; background: transparent; font: 500 14px/1 var(--rl-font); color: var(--rl-print-blue); cursor: pointer; transition: background-color .3s, color .3s; }
html.rl-print #app .rl-filter button[aria-pressed="true"] { background: var(--rl-print-blue); color: #fff; }
html.rl-print #app .rl-qcards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; }
html.rl-print #app .rl-qcards li { display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto auto auto 1fr; padding: 22px 0 26px; border-top: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-qcards-no { grid-row: 1 / span 4; font: 300 18px/1.5 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-qcards-cat { font-size: 12.5px; color: var(--rl-print-blue); }
html.rl-print #app .rl-qcards b { margin-top: 6px; font: 700 18px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-qcards em { margin-top: 8px; font-style: normal; font-size: 14.5px; line-height: 1.75; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-qcards a { justify-self: start; align-self: end; margin-top: 12px; font-size: 13.5px; color: var(--rl-print-blue); text-decoration: underline; text-underline-offset: 4px; }
html.rl-print #app .rl-qcat[data-filter="keep"] .rl-qcards li:not([data-cat="keep"]), html.rl-print #app .rl-qcat[data-filter="impl"] .rl-qcards li:not([data-cat="impl"]),
html.rl-print #app .rl-qcat[data-filter="ortho"] .rl-qcards li:not([data-cat="ortho"]), html.rl-print #app .rl-qcat[data-filter="gum"] .rl-qcards li:not([data-cat="gum"]) { display: none; }
@media (max-width: 1100px) {
  html.rl-print #app :is(.rl-casegrid, .rl-care, .rl-feature, .rl-rows, .rl-people, .rl-qcat) { margin-right: 0; }
  html.rl-print #app .rl-toc, html.rl-print #app .rl-disclaim { grid-column: 1 !important; grid-row: auto !important; margin-left: 0; }
  html.rl-print #app .rl-toc { order: 5; margin-top: 28px; } html.rl-print #app .rl-disclaim { order: 6; }
  html.rl-print #app .rl-rows a { grid-template-columns: 160px 40px 1fr; }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-casegrid, html.rl-print #app .rl-care, html.rl-print #app .rl-qcards { grid-template-columns: 1fr; }
  html.rl-print #app .rl-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  html.rl-print #app .rl-people b { font-size: 17px; } html.rl-print #app .rl-people em { display: none; }
  html.rl-print #app .rl-rows a { grid-template-columns: 1fr; padding-right: 0; }
  html.rl-print #app .rl-rows a > .rl-ph, html.rl-print #app .rl-rows a > .rl-story-figure { grid-row: auto; margin-bottom: 14px !important; }
  html.rl-print #app .rl-rows-no { grid-column: 1; grid-row: auto; } html.rl-print #app .rl-rows-meta, html.rl-print #app .rl-rows a > b, html.rl-print #app .rl-rows a > em { grid-column: 1; }
  html.rl-print #app .rl-rows a > i { display: none; }
}
/* 칼럼: 제목은 읽기 칸에만(곁 칸은 '이 글의 순서'), 질문형 제목에 맞춰 한 단계 작게 */
@media (min-width: 1101px) { html.rl-print #app .rl-story--column .rl-story-title { grid-column: 2; } }
html.rl-print #app .rl-story--column .rl-story-title { font-size: clamp(30px, 3vw, 42px); }

/* ===== 병원소개 · 진료안내 ===== */
/* 의료진 펼침면: 사진과 글이 좌우로 번갈아 */
html.rl-print #app .rl-profiles { margin: 24px calc(-50% - 5px) 0 0; }
html.rl-print #app .rl-profile { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 48px; align-items: start; padding: 36px 0 44px; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-profile--r { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
html.rl-print #app .rl-profile--r > .rl-ph { order: 2; }
html.rl-print #app .rl-profile > .rl-ph { aspect-ratio: 4 / 5; border-radius: 8px; }
html.rl-print #app .rl-profile > .rl-ph img { object-position: 50% 16%; }
html.rl-print #app .rl-profile-no { display: block; font: 300 13px/1.4 var(--rl-font-latin-light); color: var(--rl-print-blue); letter-spacing: .02em; }
html.rl-print #app .rl-profile-role { margin: 18px 0 0 !important; font-size: 13px !important; color: var(--rl-print-blue) !important; }
html.rl-print #app .rl-profile h3 { margin: 4px 0 0 !important; font: 700 clamp(30px, 2.8vw, 40px)/1.25 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; }
html.rl-print #app .rl-profile blockquote { margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--rl-print-line-soft); font: 400 clamp(19px, 1.6vw, 23px)/1.6 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-profile-text > p:not(.rl-profile-role):not(.rl-story-link) { margin: 16px 0 0 !important; font-size: 16px !important; line-height: 1.85 !important; color: var(--rl-print-charcoal) !important; }
html.rl-print #app .rl-profile .rl-guide-chips { margin-top: 18px; }
html.rl-print #app .rl-profile .rl-story-stat { margin: 22px 0 0; }
html.rl-print #app .rl-profile .rl-story-link { margin-top: 18px !important; }
/* 문의 채널 세 칸 */
html.rl-print #app .rl-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; margin: 24px calc(-50% - 5px) 8px 0; }
html.rl-print #app .rl-channels > div { padding: 22px 0 26px; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-channels span { display: block; font: 300 13px/1.4 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-channels b { display: block; margin-top: 10px; font: 700 20px/1.45 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-channels em { display: block; margin-top: 8px; font-style: normal; font-size: 14.5px; line-height: 1.75; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-channels a { display: inline-flex; margin-top: 14px; height: 40px; align-items: center; padding: 0 16px; border: 1px solid var(--rl-print-blue); border-radius: 999px; font-size: 14px; color: var(--rl-print-blue); text-decoration: none; transition: background-color .3s, color .3s; }
html.rl-print #app .rl-channels a:hover { background: var(--rl-print-blue); color: #fff; }
html.rl-print #app .rl-channels .rl-draft-note { margin-top: 14px; font-size: 13px; color: var(--rl-print-muted, #56697a); }
@media (max-width: 1100px) { html.rl-print #app .rl-profiles, html.rl-print #app .rl-channels { margin-right: 0; } }
@media (max-width: 700px) {
  html.rl-print #app .rl-profile, html.rl-print #app .rl-profile--r { grid-template-columns: 1fr; row-gap: 22px; }
  html.rl-print #app .rl-profile--r > .rl-ph { order: 0; }
  html.rl-print #app .rl-profile > .rl-ph { width: 72%; max-width: 300px; }
  html.rl-print #app .rl-channels { grid-template-columns: 1fr; }
}

/* =========================================================
   하위 메뉴 (상세 페이지 맨 위): 같은 묶음의 페이지를 한 줄로 — 데스크톱은 머리글 바로 아래에 붙어 있음
   ========================================================= */
html.rl-print #app .rl-story.has-subnav { padding-top: 0; }
html.rl-print #app .rl-subnav { position: sticky; top: 64px; z-index: 30; margin: 0 calc(-1 * var(--rl-edge, var(--gutter))); padding: 0 var(--rl-edge, var(--gutter)); background: rgba(246, 248, 250, .94); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-subnav-in { display: flex; align-items: center; height: 52px; overflow-x: auto; scrollbar-width: none; }
html.rl-print #app .rl-subnav-in::-webkit-scrollbar { display: none; }
html.rl-print #app .rl-subnav-label { flex: none; margin-right: 26px; padding-right: 26px; border-right: 1px solid var(--rl-print-line-soft); font: 700 15px/1.2 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-subnav ul { display: flex; flex: none; gap: 26px; list-style: none; margin: 0; padding: 0; }
html.rl-print #app .rl-subnav a { position: relative; display: flex; align-items: center; height: 52px; font-size: 14px; color: var(--rl-print-charcoal); white-space: nowrap; text-decoration: none; transition: color .25s; }
html.rl-print #app .rl-subnav a:hover { color: var(--rl-print-blue); }
html.rl-print #app .rl-subnav a[aria-current="page"] { color: var(--rl-print-blue); font-weight: 600; }
html.rl-print #app .rl-subnav a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--rl-print-blue); }
html.rl-print #app .rl-story.has-subnav .rl-story-crumb { display: none; }
html.rl-print #app .rl-story.has-subnav > .rl-story-cover { padding-top: 56px; }
@media (max-width: 700px) {
  html.rl-print #app .rl-subnav { position: static; }
  html.rl-print #app .rl-subnav-in { height: 48px; }
  html.rl-print #app .rl-subnav a { height: 48px; font-size: 13.5px; }
  html.rl-print #app .rl-subnav-label { margin-right: 18px; padding-right: 18px; font-size: 14px; }
  html.rl-print #app .rl-subnav ul { gap: 20px; padding-right: 20px; }
  html.rl-print #app .rl-story.has-subnav > .rl-story-cover { padding-top: 32px; }
}
/* 하위 메뉴 줄: 좌우로만 움직이게 — 세로 스크롤 잠금(밑줄을 줄 안쪽으로), 옆으로 밀 때 페이지가 따라 튀지 않게 */
html.rl-print #app .rl-subnav-in { overflow-y: hidden; overscroll-behavior-x: contain; overscroll-behavior-y: none; -webkit-overflow-scrolling: touch; }
html.rl-print #app .rl-subnav a[aria-current="page"]::after { bottom: 0; }

/* =========================================================
   운정 이야기 = 잡지 목록 페이지 (읽기 칸 1:2:1이 아니라 넓은 잡지 격자)
   ========================================================= */
html.rl-print #app .rl-mag-head { padding-top: 56px; }
html.rl-print #app .rl-mag-issue { margin: 0; font: 300 clamp(15px, 1.3vw, 19px)/1.4 var(--rl-font-latin-light); letter-spacing: .04em; color: var(--rl-print-blue); }
html.rl-print #app .rl-mag-issue span { opacity: .5; margin: 0 6px; }
html.rl-print #app .rl-mag .rl-story-title { margin-top: 18px; font-size: clamp(40px, 4.6vw, 68px); }
html.rl-print #app .rl-mag .rl-story-lede { margin-top: 22px; max-width: 30em; }
html.rl-print #app .rl-mag-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-mag-cats a { display: flex; align-items: baseline; gap: 12px; padding: 18px 0; font: 700 19px/1.3 var(--rl-font-serif); color: var(--rl-print-blue); text-decoration: none; }
html.rl-print #app .rl-mag-cats a + a { padding-left: 24px; border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-mag-cats a span { font: 300 13px/1 var(--rl-font-latin-light); }
html.rl-print #app .rl-mag-cats a i { font: 300 13px/1 var(--rl-font-latin-light); font-style: normal; opacity: .7; }
html.rl-print #app .rl-mag-cats a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
/* 이번 이야기 (크게) */
html.rl-print #app .rl-mag-feature { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); column-gap: 40px; align-items: end; margin-top: 56px; }
html.rl-print #app .rl-mag-feature > .rl-ph { aspect-ratio: 16 / 10; border-radius: 10px; }
html.rl-print #app .rl-mag-feature h2 { margin: 12px 0 0 !important; font: 700 clamp(26px, 2.4vw, 36px)/1.35 var(--rl-font-serif) !important; letter-spacing: -0.02em; color: var(--rl-print-blue) !important; }
html.rl-print #app .rl-mag-feature em { display: block; margin-top: 14px; font-style: normal; font-size: 16px; line-height: 1.8; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-mag-meta { display: block; font-size: 13px; color: var(--rl-print-blue); }
/* 분류 섹션: 머리줄 + 카드 격자 (분류마다 배치가 다름) */
html.rl-print #app .rl-mag-sec { margin-top: clamp(72px, 8vw, 112px); padding-top: 28px; border-top: 1px solid var(--rl-print-line); scroll-margin-top: 130px; }
html.rl-print #app .rl-mag-sechead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); column-gap: 5px; align-items: start; }
html.rl-print #app .rl-mag-no { font: 300 15px/1.5 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-mag-sechead h2 { margin: 0 !important; font: 700 clamp(24px, 2.2vw, 32px)/1.38 var(--rl-font-serif) !important; letter-spacing: -0.02em; color: var(--rl-print-blue) !important; }
html.rl-print #app .rl-mag-sechead p { margin: 4px 0 0 32px !important; font-size: 14.5px !important; line-height: 1.75 !important; color: var(--rl-print-charcoal) !important; }
html.rl-print #app .rl-mag-grid { display: grid; gap: 36px 28px; margin-top: 36px; }
html.rl-print #app .rl-mag-card .rl-ph, html.rl-print #app .rl-mag-card .rl-story-figure { margin: 0 !important; border-radius: 8px; }
html.rl-print #app .rl-mag-card .rl-ph { aspect-ratio: 4 / 3; }
html.rl-print #app .rl-mag-txt { margin-top: 14px; }
html.rl-print #app .rl-mag-card b { display: block; margin-top: 8px; font: 700 19px/1.45 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app .rl-mag-card em { display: block; margin-top: 6px; font-style: normal; font-size: 14.5px; line-height: 1.7; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-mag-card small { display: inline-block; margin-top: 10px; font-size: 12px; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-mag-card .rl-dummy-in { padding: 14px; gap: 5px; } html.rl-print #app .rl-mag-card .rl-dummy-in b { margin: 0; font-size: 15px; } html.rl-print #app .rl-mag-card .rl-dummy-in em { margin: 0; font-size: 12px; }
/* 맛집: 큰 카드 하나 + 작은 카드 둘 세로로 */
html.rl-print #app .rl-mag-sec--lead .rl-mag-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
html.rl-print #app .rl-mag-sec--lead .rl-mag-card--lead { grid-row: span 2; }
html.rl-print #app .rl-mag-sec--lead .rl-mag-card--lead .rl-ph { aspect-ratio: 4 / 3; }
html.rl-print #app .rl-mag-sec--lead .rl-mag-card--lead b { font-size: 24px; }
html.rl-print #app .rl-mag-sec--lead .rl-mag-card--sub .rl-ph, html.rl-print #app .rl-mag-sec--lead .rl-mag-card--sub .rl-dummy { aspect-ratio: 16 / 9 !important; }
/* 카페: 세 칸 나란히 (세로 사진) */
html.rl-print #app .rl-mag-sec--three .rl-mag-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.rl-print #app .rl-mag-sec--three .rl-mag-card .rl-ph { aspect-ratio: 4 / 5; }
html.rl-print #app .rl-mag-soon { margin-top: 64px; }
@media (max-width: 1100px) {
  html.rl-print #app .rl-mag-feature { grid-template-columns: 1fr; row-gap: 18px; }
  html.rl-print #app .rl-mag-sechead { grid-template-columns: 1fr; row-gap: 10px; }
  html.rl-print #app .rl-mag-sechead p { margin-left: 0 !important; }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-mag-head { padding-top: 32px; }
  html.rl-print #app .rl-mag .rl-story-title { font-size: clamp(30px, 8.6vw, 38px); }
  html.rl-print #app .rl-mag-cats { grid-template-columns: 1fr; }
  html.rl-print #app .rl-mag-cats a + a { padding-left: 0; border-left: 0; border-top: 1px solid var(--rl-print-line-soft); }
  html.rl-print #app :is(.rl-mag-sec--lead, .rl-mag-sec--three) .rl-mag-grid { grid-template-columns: 1fr; }
  html.rl-print #app .rl-mag-sec--lead .rl-mag-card--lead { grid-row: auto; }
  html.rl-print #app .rl-mag-sec--three .rl-mag-card .rl-ph, html.rl-print #app .rl-mag-sec--three .rl-mag-card .rl-dummy { aspect-ratio: 4 / 3 !important; }
}

/* =========================================================
   운정 이야기 글 상세 (방문 기록): 한눈에 보기 · 별점 · 메뉴 머리 · 사진 두세 장 · 사진 더 보기
   ========================================================= */
html.rl-print #app .rl-post-meta { grid-column: 2; grid-row: 4; margin: 18px 0 0; font-size: 13px; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-post-meta a { margin-left: 10px; color: var(--rl-print-blue); text-decoration: underline; text-underline-offset: 4px; }
html.rl-print #app .rl-post .rl-story-hero { grid-row: 5; }
html.rl-print #app .rl-post-facts { grid-column: 1 / -1; grid-row: 6; list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-post-facts li { padding: 16px 18px; }
html.rl-print #app .rl-post-facts li:first-child { padding-left: 0; }
html.rl-print #app .rl-post-facts li + li { border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-post-facts span { display: block; font-size: 12.5px; color: var(--rl-print-blue); }
html.rl-print #app .rl-post-facts b { display: block; margin-top: 6px; font: 700 17px/1.4 var(--rl-font-serif); color: var(--rl-print-blue); }
/* 별점 */
html.rl-print #app .rl-rate { display: inline-flex; align-items: baseline; gap: 6px; flex: none; }
html.rl-print #app .rl-rate b { font: 300 30px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-rate b::before { content: "★ "; font-size: .6em; vertical-align: .2em; }
html.rl-print #app .rl-rate span { font: 300 13px/1 var(--rl-font-latin-light); color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-rate em { font-style: normal; }
html.rl-print #app .rl-rate--big { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; margin: 6px 0 26px; padding: 22px 0; border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); width: 100%; }
html.rl-print #app .rl-rate--big b { font-size: 56px; }
html.rl-print #app .rl-rate--big em { grid-column: 1 / -1; margin-top: 10px; font: 700 20px/1.45 var(--rl-font-serif); color: var(--rl-print-blue); }
/* 메뉴 머리 (번호 · 이름 · 한 줄 · 별점) */
html.rl-print #app .rl-menu { margin-top: 44px; }
html.rl-print #app .rl-menu:first-of-type { margin-top: 10px; }
html.rl-print #app .rl-menu-head { display: grid; grid-template-columns: 44px 1fr auto; column-gap: 12px; align-items: center; padding: 18px 0; border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); margin-bottom: 24px; }
html.rl-print #app .rl-menu-no { font: 300 18px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app .rl-menu-head h3 { margin: 0 !important; font: 700 21px/1.4 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; }
html.rl-print #app .rl-menu-head p { margin: 4px 0 0 !important; font-size: 14px !important; color: var(--rl-print-charcoal) !important; }
/* 사진 두세 장 나란히 (읽기 칸 + 곁 칸) */
html.rl-print #app .rl-photoset { display: grid; gap: 10px; margin: 28px calc(-50% - 5px) 28px 0; clear: both; }
html.rl-print #app .rl-photoset--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.rl-print #app .rl-photoset--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.rl-print #app .rl-photoset .rl-story-figure { margin: 0 !important; }
html.rl-print #app .rl-photoset .rl-ph { aspect-ratio: 3 / 2; }
html.rl-print #app .rl-post .rl-story-wide .rl-ph { aspect-ratio: 3 / 2; }
html.rl-print #app .rl-post .rl-story-wide { margin-top: 28px; margin-bottom: 28px; }
html.rl-print #app .rl-post-addr { margin: 4px 0 0 !important; padding: 14px 0; border-top: 1px solid var(--rl-print-line-soft); border-bottom: 1px solid var(--rl-print-line-soft); font-size: 15px !important; }
html.rl-print #app .rl-post-addr b { margin-right: 10px; font-family: var(--rl-font-serif); color: var(--rl-print-blue); }
/* 사진 더 보기 */
html.rl-print #app .rl-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 8px calc(-50% - 5px) 36px 0; }
html.rl-print #app .rl-gallery .rl-ph { aspect-ratio: 1 / 1; border-radius: 6px; }
html.rl-print #app .rl-hashtags { margin-top: 18px; }
html.rl-print #app .rl-hashtags li { border-color: var(--rl-print-line-soft); }
html.rl-print #app a.rl-mag-feature, html.rl-print #app a.rl-mag-card { text-decoration: none; }
html.rl-print #app a.rl-mag-feature:hover h2, html.rl-print #app a.rl-mag-card:hover b { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
@media (max-width: 1100px) {
  html.rl-print #app .rl-photoset, html.rl-print #app .rl-gallery { margin-right: 0; }
  html.rl-print #app .rl-post-meta { grid-column: 1; grid-row: auto; order: 5; }
  html.rl-print #app .rl-post-facts { grid-column: 1; grid-row: auto; order: 7; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.rl-print #app .rl-post-facts li:nth-child(3) { padding-left: 0; border-left: 0; }
  html.rl-print #app .rl-post-facts li:nth-child(n+3) { border-top: 1px solid var(--rl-print-line-soft); }
  html.rl-print #app .rl-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-photoset--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.rl-print #app .rl-photoset--3 .rl-story-figure:first-child { grid-column: 1 / -1; }
  html.rl-print #app .rl-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.rl-print #app .rl-menu-head { grid-template-columns: 34px 1fr; row-gap: 10px; }
  html.rl-print #app .rl-menu-head .rl-rate { grid-column: 2; }
  html.rl-print #app .rl-rate--big b { font-size: 46px; }
}

/* 하위 메뉴 = 잡지 분류 줄 스타일: 번호 + 명조 이름, 칸 사이 가는 세로선, 위 진한 선 · 아래 연한 선 */
html.rl-print #app .rl-subnav { border-top: 1px solid var(--rl-print-line); border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-subnav-in { height: 60px; }
html.rl-print #app .rl-subnav-label { margin-right: 0; padding-right: 28px; font: 700 18px/1.2 var(--rl-font-serif); }
html.rl-print #app .rl-subnav ul { gap: 0; }
html.rl-print #app .rl-subnav li { display: flex; align-items: stretch; }
html.rl-print #app .rl-subnav li { border-left: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-subnav a { height: 60px; gap: 10px; align-items: center; padding: 0 24px; font: 700 16px/1.2 var(--rl-font-serif); letter-spacing: -0.02em; color: rgba(6, 98, 217, .55); }
html.rl-print #app .rl-subnav a:hover, html.rl-print #app .rl-subnav a[aria-current="page"] { color: var(--rl-print-blue); font-weight: 700; }
html.rl-print #app .rl-subnav-no { font: 300 12.5px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); letter-spacing: .02em; }
html.rl-print #app .rl-subnav a[aria-current="page"]::after { left: 24px; right: 24px; }
@media (max-width: 700px) {
  html.rl-print #app .rl-subnav-in, html.rl-print #app .rl-subnav a { height: 52px; }
  html.rl-print #app .rl-subnav-label { padding-right: 18px; font-size: 15px; }
  html.rl-print #app .rl-subnav a { padding: 0 16px; gap: 8px; font-size: 14.5px; }
  html.rl-print #app .rl-subnav a[aria-current="page"]::after { left: 16px; right: 16px; }
  html.rl-print #app .rl-subnav ul { padding-right: 0; }
}
/* 항목이 많아 옆으로 밀 때도 묶음 이름은 왼쪽에 고정 */
html.rl-print #app .rl-subnav-label { position: sticky; left: 0; z-index: 1; align-self: stretch; display: flex; align-items: center; background: rgba(246, 248, 250, .97); box-shadow: 1px 0 0 var(--rl-print-line-soft); }
/* 하위 메뉴: 묶음 이름은 명조 그대로, 항목은 프리텐다드 · 높이 조금 낮게 */
html.rl-print #app .rl-subnav-in, html.rl-print #app .rl-subnav a { height: 50px; }
html.rl-print #app .rl-subnav a { font: 500 15px/1.2 var(--rl-font); letter-spacing: -0.01em; }
html.rl-print #app .rl-subnav a:hover, html.rl-print #app .rl-subnav a[aria-current="page"] { font-weight: 600; }
@media (max-width: 700px) {
  html.rl-print #app .rl-subnav-in, html.rl-print #app .rl-subnav a { height: 46px; }
  html.rl-print #app .rl-subnav a { font-size: 14px; }
}
/* 하위 메뉴 항목: 기본은 가늘게(400), 지금 페이지만 600 — 마우스를 올리면 색만 진하게(굵기 변화로 글자 폭이 흔들리지 않게) */
html.rl-print #app .rl-subnav a, html.rl-print #app .rl-subnav a:hover { font-weight: 400; }
html.rl-print #app .rl-subnav a[aria-current="page"] { font-weight: 600; }

/* 네이버 지도 자리: 실제 지도(연결 시) / 대체 화면(주소 · 지도에서 열기) */
html.rl-print #app .rl-map-box { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; border: 1px solid var(--rl-print-line-soft);
  background: linear-gradient(rgba(6, 98, 217, .05) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, rgba(6, 98, 217, .05) 1px, transparent 1px) 0 0 / 28px 28px, var(--rl-print-mist, #e6eef5); }
html.rl-print #app .rl-map-canvas { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
html.rl-print #app .rl-map.is-live .rl-map-canvas { opacity: 1; }
html.rl-print #app .rl-map.is-live .rl-map-fallback { display: none; }
html.rl-print #app .rl-map-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 20px; text-align: center; }
html.rl-print #app .rl-map-pin { width: 22px; height: 22px; margin-bottom: 6px; border-radius: 50% 50% 50% 0; background: var(--rl-print-blue); transform: rotate(-45deg); box-shadow: 0 0 0 6px rgba(6, 98, 217, .12); }
html.rl-print #app .rl-map-fallback b { font: 700 19px/1.4 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-map-fallback em { font-style: normal; font-size: 14.5px; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-map-fallback a { margin-top: 8px; display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border: 1px solid var(--rl-print-blue); border-radius: 999px; font-size: 14px; color: var(--rl-print-blue); text-decoration: none; background: rgba(246, 248, 250, .8); transition: background-color .3s, color .3s; }
html.rl-print #app .rl-map-fallback a:hover { background: var(--rl-print-blue); color: #fff; }
html.rl-print #app .rl-map-fallback small { margin-top: 8px; font-size: 12px; color: var(--rl-print-muted, #56697a); }
@media (max-width: 700px) { html.rl-print #app .rl-map-box { aspect-ratio: 4 / 3; } html.rl-print #app .rl-map-fallback small { font-size: 11.5px; } }

/* =========================================================
   사진 더 보기 = 편집된 갤러리 (6칸 격자, 묶음마다 크기 리듬) + 크게 보기
   ========================================================= */
html.rl-print #app .rl-gallery-note { margin: 0 0 14px !important; font-size: 13px !important; color: var(--rl-print-muted, #56697a) !important; }
html.rl-print #app .rl-gallery--edit { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: clamp(96px, 8.6vw, 168px); gap: 10px; margin: 0 calc(-50% - 5px) 40px 0; }
html.rl-print #app .rl-gallery--edit .rl-gal { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 6px; overflow: hidden; background: var(--rl-print-mist, #e6eef5); cursor: zoom-in; aspect-ratio: auto !important; }
html.rl-print #app .rl-gallery--edit .rl-gal img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .1, 1), filter .4s; }
html.rl-print #app .rl-gallery--edit .rl-gal:hover img { transform: scale(1.035); }
html.rl-print #app .rl-gallery--edit .rl-gal:focus-visible { outline: 2px solid var(--rl-print-blue); outline-offset: 2px; }
html.rl-print #app .rl-gal.t-2x1 { grid-column: span 2; grid-row: span 1; }
html.rl-print #app .rl-gal.t-2x2 { grid-column: span 2; grid-row: span 2; }
html.rl-print #app .rl-gal.t-3x2 { grid-column: span 3; grid-row: span 2; }
html.rl-print #app .rl-gal.t-4x2 { grid-column: span 4; grid-row: span 2; }
html.rl-print #app .rl-gal.t-6x2 { grid-column: span 6; grid-row: span 2; }
@media (max-width: 1100px) { html.rl-print #app .rl-gallery--edit { margin-right: 0; grid-auto-rows: clamp(84px, 13vw, 150px); } }
@media (max-width: 700px) {
  html.rl-print #app .rl-gallery--edit { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 6px; }
  html.rl-print #app .rl-gallery--edit .rl-gal { grid-column: span 1 !important; grid-row: auto !important; aspect-ratio: 1 / 1 !important; }
  html.rl-print #app .rl-gallery--edit .rl-gal:nth-child(3n+1) { grid-column: span 2 !important; aspect-ratio: 3 / 2 !important; }
}
/* 크게 보기 */
html.rl-print .rl-lb { position: fixed; inset: 0; z-index: 9999; display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; background: rgba(18, 28, 38, .94); }
html.rl-print .rl-lb[hidden] { display: none; }
html.rl-print.rl-lb-open, html.rl-print.rl-lb-open body { overflow: hidden; }
html.rl-print .rl-lb figure { grid-column: 2; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
html.rl-print .rl-lb img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: 4px; }
html.rl-print .rl-lb-count { font: 300 13px/1 var(--rl-font-latin-light); letter-spacing: .08em; color: rgba(255, 255, 255, .8); }
html.rl-print .rl-lb button { width: 44px; height: 44px; justify-self: center; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: transparent; color: #fff; font: 300 24px/1 var(--rl-font-latin-light); cursor: pointer; transition: background-color .3s; }
html.rl-print .rl-lb button:hover { background: rgba(255, 255, 255, .14); }
html.rl-print .rl-lb-close { position: absolute; top: calc(18px + env(safe-area-inset-top, 0px)); right: 18px; }
@media (max-width: 700px) { html.rl-print .rl-lb { grid-template-columns: 0 1fr 0; } html.rl-print .rl-lb-prev, html.rl-print .rl-lb-next { display: none; } html.rl-print .rl-lb img { max-height: 76vh; } }
/* 모바일 갤러리: 두 칸 모자이크 (반 칸 단위 줄 — 실제 갤러리 폭 기준으로 계산해 비율 유지) */
@media (max-width: 700px) {
  html.rl-print #app .rl-ch-body:has(> .rl-gallery--edit) { container-type: inline-size; }
  html.rl-print #app .rl-gallery--edit { grid-auto-rows: 21vw; grid-auto-rows: calc(((100cqw - 6px) / 2 - 6px) / 2); }
  html.rl-print #app .rl-gallery--edit .rl-gal[data-m] { aspect-ratio: auto !important; }
  html.rl-print #app .rl-gallery--edit .rl-gal[data-m="L"] { grid-column: span 2 !important; grid-row: span 3 !important; }
  html.rl-print #app .rl-gallery--edit .rl-gal[data-m="T"] { grid-column: span 1 !important; grid-row: span 4 !important; }
  html.rl-print #app .rl-gallery--edit .rl-gal[data-m="S"] { grid-column: span 1 !important; grid-row: span 2 !important; }
  html.rl-print #app .rl-gallery--edit .rl-gal[data-m="W"] { grid-column: span 2 !important; grid-row: span 2 !important; }
}

/* =========================================================
   사진 더 보기 = 가로 스크롤 갤러리 (데스크톱: 붙어 있는 동안 아래로 내리면 옆으로 / 모바일: 밀어 넘기기)
   ========================================================= */
html.rl-print #app .rl-hgal { position: relative; margin: 0 calc(-50% - 5px) 40px 0; }
html.rl-print #app .rl-hgal-sticky { position: sticky; top: 132px; height: calc(100vh - 160px); min-height: 420px; max-height: 760px; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
html.rl-print #app .rl-hgal-track { display: flex; align-items: flex-end; gap: 28px; width: max-content; will-change: transform; }
html.rl-print #app .rl-hgal-item { flex: none; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 0; border: 0; background: none; cursor: zoom-in; text-align: left; }
html.rl-print #app .rl-hgal-img { display: block; height: min(calc(100vh - 300px), 460px); min-height: 280px; border-radius: 6px; overflow: hidden; background: var(--rl-print-mist, #e6eef5); }
html.rl-print #app .rl-hgal-img img { display: block; height: 100%; width: auto; transition: transform .9s cubic-bezier(.2, .7, .1, 1); }
html.rl-print #app .rl-hgal-item:hover .rl-hgal-img img { transform: scale(1.03); }
html.rl-print #app .rl-hgal-item:focus-visible { outline: 2px solid var(--rl-print-blue); outline-offset: 4px; }
html.rl-print #app .rl-hgal-cap { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--rl-print-line-soft); align-self: stretch; }
html.rl-print #app .rl-hgal-cap i { font: 300 13px/1 var(--rl-font-latin-light); font-style: normal; letter-spacing: .04em; color: var(--rl-print-blue); }
html.rl-print #app .rl-hgal-cap b { font: 700 18px/1.3 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-hgal-bar { position: relative; height: 1px; margin-top: 28px; background: var(--rl-print-line-soft); }
html.rl-print #app .rl-hgal-bar span { position: absolute; inset: 0; background: var(--rl-print-blue); transform-origin: 0 50%; transform: scaleX(0); }
@media (max-width: 1100px) { html.rl-print #app .rl-hgal { margin-right: 0; } }
@media (max-width: 700px) {
  html.rl-print #app .rl-hgal { height: auto !important; margin-bottom: 32px; }
  html.rl-print #app .rl-hgal-sticky { position: static; height: auto; min-height: 0; max-height: none; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; display: block; }
  html.rl-print #app .rl-hgal-sticky::-webkit-scrollbar { display: none; }
  html.rl-print #app .rl-hgal-track { transform: none !important; gap: 14px; padding-right: 24px; }
  html.rl-print #app .rl-hgal-item { scroll-snap-align: start; }
  html.rl-print #app .rl-hgal-img { height: 62vw; min-height: 0; max-height: 320px; }
  html.rl-print #app .rl-hgal-bar { display: none; }
}
html.rl-print #app .rl-hgal-allbtn { display: inline-flex; align-items: center; gap: 8px; height: 44px; margin-top: 18px; padding: 0 20px; border: 1px solid var(--rl-print-blue); border-radius: 999px; background: transparent; font: 500 14.5px/1 var(--rl-font); color: var(--rl-print-blue); cursor: pointer; transition: background-color .3s, color .3s; }
html.rl-print #app .rl-hgal-allbtn:hover { background: var(--rl-print-blue); color: #fff; }
/* 가로 갤러리: 사진이 왼쪽 여백 칸까지 지나 페이지 끝으로 빠져나가게 (첫 사진은 본문 칸에 맞춰 시작) */
@media (min-width: 1101px) {
  html.rl-print #app .rl-hgal { margin-left: calc(-50% - 5px); }
  html.rl-print #app .rl-hgal-sticky { z-index: 2; }
  html.rl-print #app .rl-hgal-track { padding-left: calc(25% + 2.5px); }
  html.rl-print #app .rl-hgal-bar { margin-left: calc(25% + 2.5px); }
  html.rl-print #app .rl-hgal-allbtn { margin-left: calc(25% + 2.5px); }
}

/* =========================================================
   사진 더 보기 = 탄력 벤토 갤러리 (레퍼런스 사양 · 색과 글자는 이 페이지에 맞춤)
   ========================================================= */
html.rl-print #app .rl-bento-wrap { position: relative; z-index: 2; margin: 0 calc(-50% - 5px) 40px 0; }
html.rl-print #app .rl-bento { display: grid; height: min(80vh, 780px); min-height: 520px; gap: 10px; overflow: hidden; touch-action: pan-y;
  grid-template: "a a b c" 1.9148fr "a a d d" 3.4fr "e f g h" 1.9148fr / 1.708fr 3.0956fr 3.0956fr 1.7081fr; }
html.rl-print #app .rl-bento-tile { position: relative; display: block; min-width: 0; min-height: 0; padding: 0; border: 0; overflow: hidden; border-radius: 10px; background: var(--rl-print-mist, #e6eef5); color: #fff; cursor: zoom-in; transform: translateZ(0); text-align: left; }
html.rl-print #app .rl-bento-tile:nth-child(1) { grid-area: a; } html.rl-print #app .rl-bento-tile:nth-child(2) { grid-area: b; }
html.rl-print #app .rl-bento-tile:nth-child(3) { grid-area: c; } html.rl-print #app .rl-bento-tile:nth-child(4) { grid-area: d; }
html.rl-print #app .rl-bento-tile:nth-child(5) { grid-area: e; } html.rl-print #app .rl-bento-tile:nth-child(6) { grid-area: f; }
html.rl-print #app .rl-bento-tile:nth-child(7) { grid-area: g; } html.rl-print #app .rl-bento-tile:nth-child(8) { grid-area: h; }
html.rl-print #app .rl-bento-tile img { position: absolute; inset: -18px; width: calc(100% + 36px); height: calc(100% + 36px); max-width: none; object-fit: cover; transform-origin: center; transform: translate3d(0, 0, 0) scale(1.08); will-change: transform; user-select: none; pointer-events: none; }
html.rl-print #app .rl-bento-shade { position: absolute; inset: 0; background: #000; opacity: .1564; transition: opacity 320ms cubic-bezier(.2, .8, .2, 1); pointer-events: none; }
html.rl-print #app .rl-bento-tile.is-hover .rl-bento-shade, html.rl-print #app .rl-bento-tile:focus-visible .rl-bento-shade { opacity: .3312; }
html.rl-print #app .rl-bento-label { position: absolute; left: 22px; right: 22px; bottom: 22px; display: flex; flex-direction: column; gap: 5px; pointer-events: none; opacity: .82; transform: translate3d(0, 5px, 0); transition: transform 320ms cubic-bezier(.2, .8, .2, 1), opacity 320ms cubic-bezier(.2, .8, .2, 1); }
html.rl-print #app .rl-bento-tile.is-hover .rl-bento-label, html.rl-print #app .rl-bento-tile:focus-visible .rl-bento-label { opacity: 1; transform: translate3d(0, 0, 0); }
html.rl-print #app .rl-bento-label span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.rl-print #app .rl-bento-label .eyebrow { opacity: .72; font: 300 12.5px/1.2 var(--rl-font-latin-light), var(--rl-font); letter-spacing: .03em; }
html.rl-print #app .rl-bento-label span:last-child { font: 700 18px/1.3 var(--rl-font-serif); text-shadow: 0 1px 12px rgba(0, 0, 0, .25); }
html.rl-print #app .rl-bento-tile:focus-visible { outline: 2px solid var(--rl-print-blue); outline-offset: 2px; }
html.rl-print #app .rl-bento-wrap .rl-hgal-allbtn { margin-left: 0; }
@media (min-width: 1101px) {
  html.rl-print #app .rl-bento-wrap { margin-left: calc(-50% - 5px); }
  html.rl-print #app .rl-bento-wrap .rl-hgal-allbtn { margin-left: calc(25% + 2.5px); }
}
@media (max-width: 1100px) { html.rl-print #app .rl-bento-wrap { margin-right: 0; } }
@media (max-width: 720px) {
  html.rl-print #app .rl-bento { height: auto; min-height: 0; grid-template: none !important; grid-template-columns: 1fr 1fr !important; grid-auto-rows: 44vw; gap: 8px; }
  html.rl-print #app .rl-bento-tile { grid-area: auto !important; }
  html.rl-print #app .rl-bento-tile:nth-child(1) { grid-column: span 2; grid-row: span 2; }
  html.rl-print #app .rl-bento-tile:nth-child(4) { grid-column: span 2; }
  html.rl-print #app .rl-bento-tile img { transform: scale(1.08) !important; }
  html.rl-print #app .rl-bento-label { left: 14px; right: 14px; bottom: 14px; opacity: 1; transform: none; }
  html.rl-print #app .rl-bento-label span:last-child { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { html.rl-print #app .rl-bento-tile img { transform: scale(1.08) !important; } }
@media (max-width: 720px) {   /* 모바일 대체 배치: 첫 사진 2×2 · 넷째 사진 가로 두 칸 (앞의 grid-area 초기화보다 우선) */
  html.rl-print #app .rl-bento-tile:nth-child(1) { grid-column: span 2 !important; grid-row: span 2 !important; }
  html.rl-print #app .rl-bento-tile:nth-child(4) { grid-column: span 2 !important; }
}
/* 벤토 덩어리 이어 붙이기 · 짝수 번째는 좌우 뒤집기 */
html.rl-print #app .rl-bento + .rl-bento { margin-top: 10px; }
html.rl-print #app .rl-bento--r { grid-template: "c b a a" 1.9148fr "d d a a" 3.4fr "h g f e" 1.9148fr / 1.708fr 3.0956fr 3.0956fr 1.7081fr; }
/* 갤러리 마지막 줄(8장이 안 될 때): 같은 간격으로 나란히 */
html.rl-print #app .rl-bento-tail { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 10px; height: clamp(180px, 22vw, 320px); margin-top: 10px; }
html.rl-print #app .rl-bento-tail .rl-bento-tile { grid-area: auto !important; }
@media (max-width: 720px) { html.rl-print #app .rl-bento-tail { height: 32vw; gap: 8px; margin-top: 8px; } }

/* 확정 전 값(가안) — 참고자료 ⚑ 값: 점선 밑줄 + 작은 꼬리표 (게시 전 병원 확인) */
html.rl-print #app .rl-tbd { text-decoration: underline dashed rgba(6, 98, 217, .55); text-decoration-thickness: 1px; text-underline-offset: 4px; }
html.rl-print #app .rl-tbd::after { content: "가안"; display: inline-block; margin-left: 3px; padding: 0 4px; font: 600 9.5px/1.55 var(--rl-font); letter-spacing: 0; color: var(--rl-print-blue); border: 1px solid rgba(6, 98, 217, .35); border-radius: 3px; vertical-align: .5em; white-space: nowrap; }

/* ===== 참고자료 반영 1차 (2026-10-09) — 묶음별 점검에서 나온 공통 다듬기 ===== */
/* 한글 줄바꿈: 본문 전체를 단어 단위로 (표 칸 · 문답 답 · 굵은 글 · 꼬리말까지). 칸을 넘는 긴 낱말만 끊음 */
html.rl-print #app main { word-break: keep-all; overflow-wrap: break-word; }
/* 시간 · 전화번호처럼 중간에서 끊기면 안 되는 값 */
html.rl-print #app .rl-nw { white-space: nowrap; }
/* 목록 · 표 · 비교 · 문답 · 칸 바로 뒤 문단이 아래 선에 붙지 않게 */
html.rl-print #app .rl-ch-body > :is(.rl-story-steps, .rl-story-grid8, .rl-guide-table, .rl-qa-compare, .rl-story-qa, .rl-guide-chips, .rl-quad, .rl-concerns, .rl-imggrid, .rl-symmap, .rl-guide-schedule, .rl-step-box, .rl-checklist, .rl-story-checks) + p { margin-top: 28px; }
html.rl-print #app .rl-ch-body > .rl-story-quote + p { margin-top: 36px; }
/* 2단 격자: 옆 칸이 길어도 제목과 설명 사이가 벌어지지 않게 */
html.rl-print #app .rl-story-grid8 li { align-content: start; }
/* 표: 칸 사이 여백 (3단 표에서 둘째 · 셋째 칸이 붙지 않게), 3단 표는 첫 칸을 조금 좁게 */
html.rl-print #app .rl-guide-table :is(th, td):not(:first-child):not(:last-child) { padding-right: 18px; }
html.rl-print #app .rl-guide-table tr:has(> :nth-child(3)) > td:first-child { width: 30%; }
/* 문답 변형 표지: 1100px 이하에서 '짧게 먼저 답하면'이 둘째 칸을 만들지 않게 */
@media (max-width: 1100px) { html.rl-print #app .rl-qa-summary { grid-column: 1 / -1 !important; grid-row: auto !important; } }
/* 칼럼 목록 썸네일 자리(160×120): 1100px 이하에서는 설명 줄을 빼서 글이 칸을 넘지 않게 */
@media (max-width: 1100px) { html.rl-print #app .rl-rows .rl-dummy em { display: none; } }
/* 의료진 약력 (3차) — 병원 프로필 카드와 같은 짜임: 작은 블루 제목 · 가는 선 · 항목 목록 */
html.rl-print #app .rl-cv { margin: 24px 0 0; padding: 0; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-cv > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 18px; padding: 14px 0 15px; border-bottom: 1px solid var(--rl-print-line-soft); }
html.rl-print #app .rl-cv dt { font: 600 12.5px/1.9 var(--rl-font); letter-spacing: .01em; color: var(--rl-print-blue); }
html.rl-print #app .rl-cv dd { margin: 0; }
html.rl-print #app .rl-cv ul { list-style: none; margin: 0; padding: 0; }
html.rl-print #app .rl-cv li { font-size: 15px; line-height: 1.8; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-cv li .rl-draft-note { font-size: 13.5px; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-cv + .rl-guide-chips { margin-top: 18px; }
@media (max-width: 700px) { html.rl-print #app .rl-cv > div { grid-template-columns: 1fr; row-gap: 4px; padding: 12px 0 13px; } html.rl-print #app .rl-cv li { font-size: 14.5px; } }
/* ===== 원장 칼럼 — 네이버 블로그 글 (2026-10-21): 카드 목록 · 글자 카드 · 본문 ===== */
html.rl-print #app .rl-colgrid { margin: 20px calc(-50% - 5px) 0 0; }
html.rl-print #app .rl-colfilter button span { margin-left: 4px; font-size: 12px; opacity: .72; }
html.rl-print #app .rl-colcount { margin: 0 0 18px; font-size: 13px; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-colcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 20px; list-style: none; margin: 0; padding: 0; }
html.rl-print #app .rl-colcards a { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
html.rl-print #app .rl-colthumb { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 8px; background: var(--rl-print-mist, #e6eef5); }
html.rl-print #app .rl-colthumb > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
html.rl-print #app .rl-colcards a:hover .rl-colthumb > img, html.rl-print #app .rl-colfeature:hover .rl-colthumb > img { transform: scale(1.03); }
html.rl-print #app .rl-colcard { display: flex; flex-direction: column; padding: 9% 9% 8%; color: #fff; background: linear-gradient(165deg, #6d8197 0%, #3d566f 58%, #2c455e 100%); }
html.rl-print #app .rl-colcard::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 80% at 80% 10%, rgba(255,255,255,.22), rgba(255,255,255,0) 60%); pointer-events: none; }
html.rl-print #app .rl-colcard--implants { background: linear-gradient(165deg, #5a7896 0%, #2d4c6b 60%, #173652 100%); }
html.rl-print #app .rl-colcard--orthodontics { background: linear-gradient(165deg, #8593a8 0%, #55667f 58%, #3a4b62 100%); }
html.rl-print #app .rl-colcard-brand { position: relative; font: 500 11px/1.4 var(--rl-font); letter-spacing: .02em; opacity: .9; }
html.rl-print #app .rl-colcard b { position: relative; margin-top: 18%; font: 300 clamp(15px, 1.35vw, 19px)/1.5 var(--rl-font); letter-spacing: -0.01em; word-break: keep-all; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
html.rl-print #app .rl-colcard-foot { position: relative; margin-top: auto; font: 400 11px/1.4 var(--rl-font); opacity: .82; }
html.rl-print #app .rl-colcard-mark { position: absolute; right: 8%; bottom: 7%; width: 13%; height: auto; filter: brightness(0) invert(1); opacity: .92; }
html.rl-print #app .rl-colmeta { display: block; margin-top: 14px; font-size: 12.5px; color: var(--rl-print-blue); }
html.rl-print #app .rl-colmeta i { margin: 0 6px; font-style: normal; opacity: .6; }
html.rl-print #app .rl-colcards a > b { margin-top: 6px; font: 700 16.5px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-charcoal); word-break: keep-all; }
html.rl-print #app .rl-colcards a > em { margin-top: 6px; font-style: normal; font-size: 13.5px; line-height: 1.7; color: var(--rl-print-muted, #56697a); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html.rl-print #app .rl-colcards a:hover > b { color: var(--rl-print-blue); }
html.rl-print #app .rl-colmore { display: block; margin: 40px auto 0; height: 46px; padding: 0 30px; border: 1px solid var(--rl-print-blue); border-radius: 999px; background: transparent; font: 500 14px/1 var(--rl-font); color: var(--rl-print-blue); cursor: pointer; transition: background-color .3s, color .3s; }
html.rl-print #app .rl-colmore:hover { background: var(--rl-print-blue); color: #fff; }
html.rl-print #app .rl-colmore[hidden] { display: none; }
/* 스크롤로 저절로 불러올 때(89b_automore.js): 버튼은 보이지 않는 자리표시 */
html.rl-print #app .rl-colmore[data-auto] { visibility: hidden; height: 1px; margin: 0 auto; padding: 0; border: 0; }
html.rl-print #app .rl-colfeature { display: grid; grid-template-columns: minmax(200px, 300px) 1fr; gap: 36px; align-items: end; margin: 8px calc(-50% - 5px) 0 0; text-decoration: none; color: inherit; }
html.rl-print #app .rl-colfeature b { display: block; margin-top: 10px; font: 700 clamp(22px, 2.2vw, 30px)/1.4 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); word-break: keep-all; }
html.rl-print #app .rl-colfeature em { display: block; margin-top: 12px; font-style: normal; font-size: 15px; line-height: 1.8; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-colfeature .rl-feature-go { display: inline-block; margin-top: 18px; font-size: 14px; color: var(--rl-print-blue); text-decoration: underline; text-underline-offset: 4px; }
html.rl-print #app .rl-colsrc { margin-top: 28px !important; font-size: 13px; }
html.rl-print #app .rl-colsrc a { color: var(--rl-print-blue); }
html.rl-print #app .rl-colem { font-weight: 600; color: var(--rl-print-blue); }
html.rl-print #app .rl-colem b { font-weight: 600; }
html.rl-print #app .rl-colq { margin: 22px 0; padding: 4px 0 4px 18px; border-left: 2px solid var(--rl-print-blue); }
html.rl-print #app .rl-colq p { margin: 0; font: 400 16px/1.8 var(--rl-font-serif); color: var(--rl-print-charcoal); }
html.rl-print #app .rl-coltags { margin-top: 26px; }
html.rl-print #app .rl-coldate { margin-left: 8px; opacity: .75; }
html.rl-print #app .rl-colpost-cover { grid-column: 1; grid-row: 3 / span 3; align-self: start; width: min(100%, 240px); margin: 28px 0 0; }
html.rl-print #app .rl-colpost-cover img { display: block; width: 100%; height: auto; border-radius: 8px; }
@media (max-width: 1100px) {
  html.rl-print #app .rl-colgrid, html.rl-print #app .rl-colfeature { margin-right: 0; }
  html.rl-print #app .rl-colcards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html.rl-print #app .rl-colpost-cover { grid-column: 1 !important; grid-row: auto !important; order: 4; width: min(100%, 300px); }
}
@media (max-width: 700px) {
  html.rl-print #app .rl-colcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  html.rl-print #app .rl-colcards a > b { font-size: 15px; }
  html.rl-print #app .rl-colcards a > em { display: none; }
  html.rl-print #app .rl-colfeature { grid-template-columns: 1fr; gap: 18px; }
  html.rl-print #app .rl-colfeature .rl-colthumb { width: min(100%, 280px); }
}
/* 인포그래픽 16장 (인라인 SVG, 2026-10-21) */
html.rl-print #app .rl-info16-svg { border-radius: 10px; overflow: hidden; background: #f6f8fa; }
html.rl-print #app .rl-info16-svg > svg { display: block; width: 100%; height: auto; }
html.rl-print #app .rl-imggrid .rl-info16 .rl-info16-svg { border: 1px solid var(--rl-print-line-soft, #cddbe6); }
/* 표지 옆 작은 사진(움직임 없음)은 덜 확대해 가장자리(간판 로고 등)가 잘리지 않게 (2026-10-27) */
html.rl-print #app .rl-cover-thumb .rl-ph.rl-photo:not([data-px]) > img { scale: 1; }
/* 인포그래픽 16장 — B 방식 그림 + 웹 글자 라벨 (2026-10-27) */
html.rl-print #app .rl-ig { display: grid; gap: 0; background: #f6f8fa; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-ig-pic { position: relative; }
html.rl-print #app .rl-story-figure .rl-ig-img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; filter: none; }
html.rl-print #app .rl-ig-cols { list-style: none; margin: 0; padding: 4px 1.5% 20px; display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 0 10px; text-align: center; }
html.rl-print #app .rl-ig-cols li { display: grid; gap: 3px; align-content: start; justify-items: center; min-width: 0; }
html.rl-print #app .rl-ig-cols b { font: 700 16px/1.4 var(--rl-font-serif); letter-spacing: -0.01em; color: var(--rl-print-blue); }
html.rl-print #app .rl-ig-cols span { font-size: 13px; line-height: 1.5; color: var(--rl-print-charcoal); word-break: keep-all; }
html.rl-print #app .rl-ig-steps em { font: 500 11.5px/1 var(--rl-font); font-style: normal; letter-spacing: .08em; color: var(--rl-print-blue); }
html.rl-print #app .rl-ig-steps span { font-size: 13.5px; }
html.rl-print #app .rl-ig-tag { position: absolute; transform: translate(-50%, -50%); padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .9); box-shadow: 0 1px 3px rgba(34, 60, 78, .1); font: 500 12.5px/1.45 var(--rl-font); color: var(--rl-print-blue); white-space: nowrap; pointer-events: none; }
html.rl-print #app .rl-ig-tag--l { transform: none; }
html.rl-print #app .rl-ig-tag em { font-style: normal; margin-right: 5px; letter-spacing: .06em; }
html.rl-print #app .rl-ig-pin { position: absolute; display: flex; align-items: center; gap: 6px; transform: translate(-4px, -50%); font: 500 12.5px/1.35 var(--rl-font); color: var(--rl-print-charcoal); white-space: nowrap; pointer-events: none; }
html.rl-print #app .rl-ig-pin i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--rl-print-blue); box-shadow: 0 0 0 3px rgba(255, 255, 255, .85); }
html.rl-print #app .rl-ig-pin span { max-width: 9em; padding: 2px 8px; border-radius: 10px; background: rgba(255, 255, 255, .9); box-shadow: 0 1px 3px rgba(34, 60, 78, .1); white-space: normal; word-break: keep-all; }
html.rl-print #app .rl-ig-pin--l { flex-direction: row-reverse; transform: translate(calc(-100% + 4px), -50%); }
html.rl-print #app .rl-ig-table { margin: 0; padding: 0 14px 18px; display: grid; font-size: 13px; }
html.rl-print #app .rl-ig-table div { display: grid; grid-template-columns: 3em 1fr 1fr; gap: 8px; align-items: center; padding: 8px 0; border-top: 1px solid var(--rl-print-line-soft, #cddbe6); }
html.rl-print #app .rl-ig-table dt { font-weight: 500; color: var(--rl-print-blue); }
html.rl-print #app .rl-ig-table dd { margin: 0; text-align: center; line-height: 1.45; }
html.rl-print #app .rl-ig--fixed-removable .rl-ig-cols { padding-bottom: 10px; }
html.rl-print #app .rl-ig-legend { list-style: none; margin: 0; padding: 0 16px 18px; display: grid; gap: 6px; font-size: 13px; }
html.rl-print #app .rl-ig-legend li { display: flex; align-items: center; gap: 9px; }
html.rl-print #app .rl-ig-legend i { flex: none; width: 18px; height: 5px; border-radius: 3px; background: var(--rl-print-blue); }
html.rl-print #app .rl-ig-legend i.off { background: #cfd8e0; }
html.rl-print #app .rl-ig-legend .rl-ig-note { padding-left: 27px; color: var(--rl-print-muted, #56697a); }
/* 치아 지도 범례 칩 — 그림 속 흰 치아 · 파란 치아 · 점선 빈자리와 같은 모양 */
html.rl-print #app .rl-ig-chips { list-style: none; margin: 0; padding: 6px 16px 20px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; font-size: 13.5px; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-ig-chips li { display: flex; align-items: center; gap: 9px; }
html.rl-print #app .rl-ig-chips i { flex: none; width: 15px; height: 17px; border-radius: 6px; box-sizing: border-box; }
html.rl-print #app .rl-ig-chips .c-keep { background: linear-gradient(160deg, #fff, #eef1f4); box-shadow: 0 1px 3px rgba(34, 60, 78, .22), inset 0 0 0 1px rgba(34, 60, 78, .08); }
html.rl-print #app .rl-ig-chips .c-treat { background: linear-gradient(160deg, #7aa7f4, #2f6ddc); box-shadow: 0 1px 3px rgba(6, 98, 217, .3); }
html.rl-print #app .rl-ig-chips .c-gap { border: 1.5px dashed #2a62d6; background: rgba(230, 238, 245, .7); border-radius: 50%; width: 17px; }
/* 두 줄 단계 (번호 · 이름 · 할 일) */
html.rl-print #app .rl-ig-steps2 b { font-size: 15.5px; word-break: keep-all; }
html.rl-print #app .rl-ig-steps2 span { font-size: 13px; color: var(--rl-print-muted, #56697a); }
html.rl-print #app .rl-ig--sq .rl-ig-cols { padding: 0 6px 14px; }
html.rl-print #app .rl-ig--sq .rl-ig-cols b { font-size: 14px; }
@media (max-width: 700px) {
  html.rl-print #app .rl-ig-cols { gap: 0 6px; padding-bottom: 14px; }
  html.rl-print #app .rl-ig-cols b { font-size: 14px; }
  html.rl-print #app .rl-ig-cols span, html.rl-print #app .rl-ig-steps span { font-size: 12px; }
  html.rl-print #app .rl-ig-tag, html.rl-print #app .rl-ig-pin { font-size: 11.5px; }
  html.rl-print #app .rl-ig-chips { gap: 6px 16px; font-size: 12.5px; padding: 4px 10px 16px; }
  html.rl-print #app .rl-ig-steps2 b { font-size: 13px; }
  html.rl-print #app .rl-ig-steps2 span { font-size: 11.5px; }
}
/* 칼럼 글 속 이미지 카드 (피그마 원본) */
html.rl-print #app .rl-colfig { margin: 30px 0; max-width: 520px; }
html.rl-print #app .rl-colfig:empty { display: none; }
html.rl-print #app .rl-colfig img { display: block; width: 100%; height: auto; border-radius: 8px; }
/* 운정 이야기 — 블로그 기록 (목록 · 글) */
html.rl-print #app .rl-jall .rl-colgrid { margin-right: 0; }
html.rl-print #app .rl-jthumb { aspect-ratio: 4 / 5; }
html.rl-print #app .rl-jfig { margin: 26px 0; max-width: 640px; }
html.rl-print #app .rl-jfig:empty { display: none; }
html.rl-print #app .rl-jfig img { display: block; width: 100%; height: auto; border-radius: 8px; }
html.rl-print #app .rl-jcover { grid-column: 1; grid-row: 3 / span 3; align-self: start; width: min(100%, 260px); margin: 28px 0 0; }
html.rl-print #app .rl-jcover img { display: block; width: 100%; height: auto; border-radius: 8px; }
html.rl-print #app .rl-jinfo { display: grid; gap: 8px; margin: 30px 0 0; padding: 18px 0 0; border-top: 1px solid var(--rl-print-line); font-size: 14px; }
html.rl-print #app .rl-jinfo div { display: grid; grid-template-columns: 88px 1fr; }
html.rl-print #app .rl-jinfo dt { color: var(--rl-print-blue); } html.rl-print #app .rl-jinfo dd { margin: 0; }
@media (max-width: 1100px) { html.rl-print #app .rl-jcover { grid-column: 1 !important; grid-row: auto !important; order: 4; width: min(100%, 320px); } }
html.rl-print #app .rl-jtable { margin: 18px 0 8px; padding: 0; border-top: 1px solid var(--rl-print-line); gap: 0; }
html.rl-print #app .rl-jtable div { grid-template-columns: 110px 1fr; padding: 11px 0; border-bottom: 1px solid var(--rl-print-line-soft, #cddbe6); line-height: 1.6; }
@media (max-width: 700px) { html.rl-print #app .rl-jtable div { grid-template-columns: 88px 1fr; } }
/* 재가공본: 핵심 요약 · 내부 링크 */
html.rl-print #app .rl-colsum { grid-column: 2; margin-top: 22px; }
html.rl-print #app .rl-collinks { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--rl-print-line); }
html.rl-print #app .rl-collinks > p { margin: 0 0 10px; font: 500 12.5px/1.5 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print #app .rl-collinks ul { list-style: none; margin: 0; padding: 0; }
html.rl-print #app .rl-collinks li a { display: grid; grid-template-columns: minmax(140px, auto) 1fr; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--rl-print-line-soft, #cddbe6); text-decoration: none; }
html.rl-print #app .rl-collinks li b { font: 700 15px/1.5 var(--rl-font-serif); color: var(--rl-print-blue); }
html.rl-print #app .rl-collinks li span { font-size: 13.5px; color: var(--rl-print-charcoal); }
html.rl-print #app .rl-colcta { display: inline-block; margin-top: 16px; font-size: 14px; color: var(--rl-print-blue); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1100px) { html.rl-print #app .rl-colsum { grid-column: 1 !important; order: 3; } }
@media (max-width: 700px) { html.rl-print #app .rl-collinks li a { grid-template-columns: 1fr; gap: 2px; } }
html.rl-print #app .rl-story--blog .rl-story-lede:empty, html.rl-print #app .rl-story--jpost .rl-story-lede:empty { display: none; }
html.rl-print #app .rl-colthumb > img.rl-colcard-mark { position: absolute; right: 8%; bottom: 7%; width: 12%; height: auto; object-fit: contain; transform: none !important; }
/* 재가공 글 본문: 소제목(h3) · 목록 · 표 */
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body h3 { margin: 38px 0 12px; font: 700 19px/1.5 var(--rl-font-serif); letter-spacing: -0.02em; color: var(--rl-print-blue); }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body h2 + h3, html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body > h3:first-child { margin-top: 8px; }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body :is(ul, ol):not([class]) { margin: 4px 0 22px; padding: 0; list-style: none; border-top: 1px solid var(--rl-print-line-soft, #cddbe6); }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body :is(ul, ol):not([class]) > li { position: relative; margin: 0; padding: 11px 0 11px 22px; border-bottom: 1px solid var(--rl-print-line-soft, #cddbe6); font-size: 15.5px; line-height: 1.75; color: var(--rl-print-charcoal); }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body ul:not([class]) > li::before { content: ""; position: absolute; left: 2px; top: 22px; width: 8px; height: 1.5px; background: var(--rl-print-blue); }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body ol:not([class]) { counter-reset: rlol; }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body ol:not([class]) > li { counter-increment: rlol; padding-left: 30px; }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body ol:not([class]) > li::before { content: counter(rlol, decimal-leading-zero); position: absolute; left: 0; top: 11px; font: 300 13px/1.75 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body > p { margin: 0 0 18px; }
html.rl-print #app :is(.rl-story--blog, .rl-story--jpost) .rl-ch-body .rl-guide-table { margin: 10px 0 26px; }
/* 내부 링크 목록에는 본문 목록 스타일(대시·구분선)이 겹치지 않게 */
html.rl-print #app .rl-ch-body .rl-collinks ul { margin: 0 !important; border-top: 0 !important; }
html.rl-print #app .rl-ch-body .rl-collinks ul > li { padding: 0 !important; border: 0 !important; }
html.rl-print #app .rl-ch-body .rl-collinks ul > li::before { content: none !important; }
html.rl-print #app .rl-collinks li a { transition: background-color .3s; }
html.rl-print #app .rl-collinks li a:hover b { text-decoration: underline; text-underline-offset: 4px; }
/* 운정 이야기 갤러리 */
html.rl-print #app .rl-jgal { column-count: 3; column-gap: 10px; margin: 8px calc(-50% - 5px) 0 0; }
html.rl-print #app .rl-jgal-i { display: block; width: 100%; margin: 0 0 10px; padding: 0; border: 0; background: var(--rl-print-mist, #e6eef5); border-radius: 6px; overflow: hidden; cursor: zoom-in; break-inside: avoid; }
html.rl-print #app .rl-jgal-i:empty { min-height: 140px; }
html.rl-print #app .rl-jgal-i img { display: block; width: 100%; height: auto; transition: transform .5s; }
html.rl-print #app .rl-jgal-i:hover img { transform: scale(1.03); }
@media (max-width: 1100px) { html.rl-print #app .rl-jgal { margin-right: 0; } }
@media (max-width: 700px) { html.rl-print #app .rl-jgal { column-count: 2; column-gap: 8px; } }
.rl-jlb { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(12, 22, 34, .92); }
.rl-jlb[hidden] { display: none; }
.rl-jlb img { max-width: 92vw; max-height: 86vh; border-radius: 6px; }
.rl-jlb button { position: absolute; border: 0; background: none; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; padding: 16px; }
.rl-jlb-x { top: 10px; right: 14px; } .rl-jlb-p { left: 8px; top: 50%; transform: translateY(-50%); } .rl-jlb-q { right: 8px; top: 50%; transform: translateY(-50%); }
.rl-jlb-n { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #fff; font: 400 13px/1 sans-serif; opacity: .8; }

/* 2026-10-29 지도 API 없이: 지도 자리를 작은 카드로 (빈 16:9 면 없이) */
html.rl-print #app .rl-map-box { aspect-ratio: auto; }
html.rl-print #app .rl-map-fallback { position: relative; inset: auto; padding: 34px 20px 30px; }
@media (max-width: 700px) { html.rl-print #app .rl-map-box { aspect-ratio: auto; } html.rl-print #app .rl-map-fallback { padding: 28px 16px 24px; } }
