/* =========================================================
   상세 페이지(L2) 공통 = 에디토리얼 아티클 (잡지 기사)
   메인 = 여러 곳으로 가는 관문(카드·링크) / 상세 = 한 주제를 처음부터 끝까지 읽는 글
   격자: [여백 칸 1fr: 장 번호 · 머리말(스크롤 동안 제자리)] [읽기 칸 2fr ≈ 640px] [곁 칸 1fr: 사진 · 메모]
   다른 페이지로 가는 안내 카드는 글 끝 '함께 읽으면 좋은 글'로
   메인(data-page="index")에는 적용하지 않음
   ========================================================= */
html.rl-print:not([data-page="index"]) #app main { display: flex; flex-direction: column; counter-reset: rlch; }
html.rl-print:not([data-page="index"]) #app main > * { order: 10; }
html.rl-print:not([data-page="index"]) #app main > .page-opening { order: 0; }
html.rl-print:not([data-page="index"]) #app main > .guide-directory { order: 80; }   /* 함께 읽으면 좋은 글 → 끝으로 */
html.rl-print:not([data-page="index"]) #app main > .next-page { order: 85; }
html.rl-print:not([data-page="index"]) #app main > .visit { order: 90; }

/* 원본 상자 걷기 (흰 카드 · 그림자 · 둥근 판 · 남색 판) */
html.rl-print:not([data-page="index"]) #app main :is(.opening-intro-card, .opening-person-card, .opening-facts > article, .guide-topic, .split-facts > *, .fact-top, .fact-body, .step-cards > article, .aftercare-feature, .aftercare-tall, .aftercare-stack > article, .next-page) {
  background: none !important; box-shadow: none !important; border-radius: 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border: 0 !important; min-height: 0 !important; height: auto !important;
}
html.rl-print:not([data-page="index"]) #app main :is(.opening-canvas, .opening-intro-card, .opening-facts > article, .guide-topic, .split-facts > *, .step-cards > article, .aftercare-feature, .aftercare-tall, .aftercare-stack > article)::before,
html.rl-print:not([data-page="index"]) #app main :is(.opening-canvas, .aftercare-feature)::after { display: none !important; }
html.rl-print:not([data-page="index"]) #app main :is(.dot-index, .canvas-top, .guide-topic-top) { display: none !important; }

/* ---------- 장(chapter): 여백 칸 · 읽기 칸 · 곁 칸 ---------- */
@media (min-width: 1101px) {
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) {
    display: grid !important; grid-template-columns: 1fr 2fr 1fr !important; column-gap: 5px !important; align-items: start; position: relative; counter-increment: rlch;
  }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) > * { grid-column: 2; }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) :is(.editorial-heading, .statement-heading, .editorial-title, .assessment-grid, .assessment-content, .aftercare-bento, .aftercare-stack) { display: contents !important; }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) > div:first-child:not([class]) { display: contents !important; }
  /* 여백 칸: 장 번호 + 머리말, 읽는 동안 제자리 */
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) .section-label {
    grid-column: 1 !important; grid-row: 1 / span 30; align-self: start; position: sticky !important; top: 104px; padding-right: 40px; margin: 0 !important;
    font: 500 13px/1.6 var(--rl-font) !important; color: var(--rl-print-blue) !important;
  }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) .section-label::before {
    content: counter(rlch, decimal-leading-zero) !important; display: block !important; position: static !important; width: auto !important; height: auto !important; background: none !important; opacity: 1 !important; transform: none !important;
    margin-bottom: 14px; font: 300 34px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); letter-spacing: -0.02em;
  }
  /* 장 시작 선: 내용 폭 끝까지 (섹션에 그림, 왼쪽에서 그어짐) */
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory)::before {
    content: ""; position: absolute; left: var(--gutter); right: var(--gutter); top: var(--rl-sec-g); height: 1px; background: var(--rl-print-blue); opacity: var(--rl-head-line-opacity, .8); transform: scaleX(0); transform-origin: 0 50%; pointer-events: none;
  }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory):has(.section-label[data-rl-in])::before { transform: scaleX(1); transition: transform var(--rl-dur-draw, 1.5s) var(--rl-ease-io, cubic-bezier(.65, 0, .35, 1)); }
}
/* 장 제목 · 본문 글자 (읽기 칸) */
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(h2.section-title, .statement-heading h2, .editorial-heading h2) {
  font: 700 clamp(26px, 2.2vw, 32px)/1.38 var(--rl-font-serif) !important; letter-spacing: -0.02em !important; color: var(--rl-print-blue) !important; margin: 0 !important; max-width: 20em;
}
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(h2.section-title, .statement-heading h2, .editorial-heading h2) span { color: rgba(6, 98, 217, .55) !important; }
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(.editorial-note, .assessment-lead) {
  margin: 22px 0 0 !important; font-size: 17px !important; line-height: 1.85 !important; color: var(--rl-print-charcoal) !important; text-align: left !important; max-width: none !important;
}
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(h3) { font: 700 19px/1.5 var(--rl-font-serif) !important; letter-spacing: -0.02em; color: var(--rl-print-blue) !important; margin: 0 !important; text-align: left !important; }
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(p) { text-align: left !important; }
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(.split-facts > *, .step-cards > article, .aftercare-tall, .aftercare-stack > article) p { font-size: 16px !important; line-height: 1.85 !important; color: var(--rl-print-charcoal) !important; }

/* 글 속 번호 문단 (항목 · 단계 · 점검): 큰 가는 숫자 + 명조 소제목 + 본문, 줄 사이 가는 선 */
html.rl-print:not([data-page="index"]) #app main :is(.split-facts, .step-cards) { display: block !important; margin: 36px 0 0 !important; }
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article, .aftercare-tall, .aftercare-stack > article) {
  display: grid !important; grid-template-columns: 64px 1fr; column-gap: 0; align-items: start; padding: 28px 0 !important; border-top: 1px solid var(--rl-print-line-soft) !important; position: relative;
}
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article, .aftercare-tall, .aftercare-stack > article) > * { grid-column: 2; }
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *:first-child, .step-cards > article:first-child) { border-top: 1px solid var(--rl-print-line-soft) !important; }
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *:last-child, .step-cards > article:last-child) { border-bottom: 1px solid var(--rl-print-line-soft) !important; }
html.rl-print:not([data-page="index"]) #app main :is(.split-facts, .step-cards) { counter-reset: rlitem; }
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article) { counter-increment: rlitem; }
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article)::after {
  content: counter(rlitem, decimal-leading-zero); grid-column: 1; grid-row: 1 / span 4; order: -1; font: 300 28px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); letter-spacing: -0.02em; margin-top: 0;
}
html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article) p { margin-top: 8px !important; }
/* 항목 안 '01 Before Treatment' 머리줄: 번호는 왼쪽 숫자가 맡으므로 영문 꼬리표만 작게 */
html.rl-print:not([data-page="index"]) #app main .fact-top { display: block !important; padding: 0 !important; margin: 0 0 6px !important; }
html.rl-print:not([data-page="index"]) #app main .fact-top > *:first-child { display: none !important; }
html.rl-print:not([data-page="index"]) #app main .fact-top > * { font: 300 12.5px/1.3 var(--rl-font-latin-light) !important; color: var(--rl-print-blue) !important; letter-spacing: .03em; text-align: left !important; }
html.rl-print:not([data-page="index"]) #app main .fact-body { display: block !important; padding: 0 !important; }
html.rl-print:not([data-page="index"]) #app main .fact-body > * + * { margin-top: 8px !important; }
html.rl-print:not([data-page="index"]) #app main :is(.fact-body, .step-cards) a, html.rl-print:not([data-page="index"]) #app main .opening-text-link { display: inline-flex; gap: 8px; margin-top: 10px !important; color: var(--rl-print-blue) !important; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* 글 속 사진: 곁 칸(데스크톱)에 세로 사진 + 캡션 / 넓은 사진은 읽기+곁 칸 */
html.rl-print:not([data-page="index"]) #app main :is(.assessment-portrait, .aftercare-feature) { overflow: hidden; }
html.rl-print:not([data-page="index"]) #app main :is(.assessment-portrait, .aftercare-feature) img { position: relative !important; inset: auto !important; transform: none !important; display: block; width: 100% !important; height: auto !important; object-fit: cover; z-index: 0 !important; }
html.rl-print:not([data-page="index"]) #app main .assessment-portrait img { aspect-ratio: 4 / 5; border-radius: 8px; }
html.rl-print:not([data-page="index"]) #app main .aftercare-feature img { aspect-ratio: 16 / 9; border-radius: 10px; }
html.rl-print:not([data-page="index"]) #app main .aftercare-feature { padding: 0 !important; margin-top: 40px !important; position: relative; }
html.rl-print:not([data-page="index"]) #app main .aftercare-feature > span { display: none !important; }
html.rl-print:not([data-page="index"]) #app main .aftercare-feature > *:not(img):not(span) { position: static !important; inset: auto !important; transform: none !important; }
html.rl-print:not([data-page="index"]) #app main .aftercare-feature h3 { margin-top: 14px !important; font: 400 15px/1.6 var(--rl-font) !important; color: var(--rl-print-muted, #56697a) !important; padding-left: 14px; border-left: 1px solid var(--rl-print-line); }   /* 사진 설명(캡션) */
html.rl-print:not([data-page="index"]) #app main .aftercare-feature h3 * { color: inherit !important; font: inherit !important; }
html.rl-print:not([data-page="index"]) #app main .aftercare-feature > a { display: none !important; }
@media (min-width: 1101px) {
  html.rl-print:not([data-page="index"]) #app main .assessment-portrait { grid-column: 3 !important; grid-row: 1 / span 6; align-self: start; margin: 4px 0 0 32px !important; width: auto !important; height: auto !important; position: sticky !important; top: 104px; }
  html.rl-print:not([data-page="index"]) #app main .aftercare-feature { grid-column: 2 / span 2 !important; }
}
/* 사후관리 점검: 번호 문단 (원본 'Check 01' 메모는 작은 글씨) */
html.rl-print:not([data-page="index"]) #app main #aftercare { counter-reset: rlcheck; }
html.rl-print:not([data-page="index"]) #app main :is(.aftercare-tall, .aftercare-stack > article) { counter-increment: rlcheck; }
html.rl-print:not([data-page="index"]) #app main :is(.aftercare-tall, .aftercare-stack > article)::after { content: counter(rlcheck, decimal-leading-zero); grid-column: 1; grid-row: 1 / span 4; order: -1; font: 300 28px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print:not([data-page="index"]) #app main .aftercare-tall { margin-top: 36px !important; }
html.rl-print:not([data-page="index"]) #app main .aftercare-stack > article:last-child { border-bottom: 1px solid var(--rl-print-line-soft) !important; }
html.rl-print:not([data-page="index"]) #app main .aftercare-tall > div { margin-top: 10px !important; padding: 0 !important; background: none !important; border: 0 !important; position: static !important; }
html.rl-print:not([data-page="index"]) #app main .aftercare-tall > div * { font-size: 13.5px !important; color: var(--rl-print-muted, #56697a) !important; }
html.rl-print:not([data-page="index"]) #app main :is(.aftercare-tall, .aftercare-stack > article) p { margin-top: 8px !important; }
/* 단계 아래 버튼 · 메모 */
html.rl-print:not([data-page="index"]) #app main #implant-process > div:not(.editorial-heading):not(.step-cards) { margin-top: 24px !important; }
html.rl-print:not([data-page="index"]) #app main .clinical-note { margin-top: 16px !important; font-size: 13px !important; color: var(--rl-print-muted, #56697a) !important; }

/* 펼침 목록(상황별) · 자주 묻는 질문: 읽기 칸 안에 */
html.rl-print:not([data-page="index"]) #app main .care-details, html.rl-print:not([data-page="index"]) #app main .questions { margin: 36px 0 0 !important; }
html.rl-print:not([data-page="index"]) #app main .faq-section h2 { display: none !important; }
html.rl-print:not([data-page="index"]) #app main .questions [data-slot="accordion-item"] { padding-left: 0 !important; padding-right: 0 !important; }

/* ---------- 첫 화면 = 기사 표지 ---------- */
html.rl-print:not([data-page="index"]) #app main > section.page-opening { padding-top: 40px !important; }
html.rl-print:not([data-page="index"]) #app .opening-breadcrumb { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; font-size: 12.5px; color: var(--rl-print-muted, #56697a); }
html.rl-print:not([data-page="index"]) #app .opening-breadcrumb::before, html.rl-print:not([data-page="index"]) #app .opening-breadcrumb::after { display: none !important; }
html.rl-print:not([data-page="index"]) #app .opening-canvas { background: none !important; box-shadow: none !important; overflow: visible !important; padding: 0 !important; }
html.rl-print:not([data-page="index"]) #app .canvas-copy { position: relative !important; inset: auto !important; transform: none !important; max-width: none !important; padding: 0 !important; }
html.rl-print:not([data-page="index"]) #app .canvas-copy .section-label { color: var(--rl-print-blue) !important; }
html.rl-print:not([data-page="index"]) #app .canvas-copy .section-label::before { display: none !important; }
html.rl-print:not([data-page="index"]) #app .canvas-copy h1 { margin-top: 18px !important; font: 700 clamp(34px, 3.6vw, 54px)/1.26 var(--rl-font-serif) !important; letter-spacing: -0.025em !important; color: var(--rl-print-blue) !important; }
html.rl-print:not([data-page="index"]) #app .canvas-copy h1 * { color: inherit !important; }
html.rl-print:not([data-page="index"]) #app .canvas-copy > p:not(.section-label) { margin-top: 22px !important; font: 400 clamp(18px, 1.5vw, 21px)/1.65 var(--rl-font-serif) !important; color: var(--rl-print-charcoal) !important; max-width: 28em; }
html.rl-print:not([data-page="index"]) #app .canvas-copy .pill { display: none !important; }
html.rl-print:not([data-page="index"]) #app .opening-canvas > img { position: relative !important; inset: auto !important; transform: none !important; z-index: 0 !important; display: block; width: 100% !important; height: auto !important; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 10px; filter: saturate(.4) hue-rotate(10deg) brightness(.99) contrast(.97); margin-top: 48px; }
html.rl-print:not([data-page="index"]) #app .opening-caption { position: static !important; inset: auto !important; transform: none !important; display: block !important; margin-top: 12px !important; padding: 0 0 0 14px !important; border: 0 !important; border-left: 1px solid var(--rl-print-line) !important; border-radius: 0 !important; background: none !important; font: 400 13px/1.5 var(--rl-font) !important; color: var(--rl-print-muted, #56697a) !important; }
html.rl-print:not([data-page="index"]) #app .implant-opening, html.rl-print:not([data-page="index"]) #app .opening-grid { display: block !important; height: auto !important; min-height: 0 !important; }
html.rl-print:not([data-page="index"]) #app .opening-canvas { display: flex !important; flex-direction: column; height: auto !important; min-height: 0 !important; }
/* 리드 문단 + 글쓴이 줄 */
html.rl-print:not([data-page="index"]) #app :is(.implant-opening-side, .opening-side) { display: grid !important; grid-template-columns: 1fr 2fr 1fr; column-gap: 5px; margin-top: 56px; padding-top: 36px; border-top: 1px solid var(--rl-print-line); align-items: start; }
html.rl-print:not([data-page="index"]) #app .opening-intro-card { grid-column: 2; grid-row: 1; padding: 0 !important; }
html.rl-print:not([data-page="index"]) #app .opening-intro-card h2 { font: 700 23px/1.45 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; letter-spacing: -0.02em; margin: 0 !important; }
html.rl-print:not([data-page="index"]) #app .opening-intro-card p { margin-top: 14px !important; font-size: 17px !important; line-height: 1.9 !important; color: var(--rl-print-charcoal) !important; }
html.rl-print:not([data-page="index"]) #app .opening-intro-card a { display: none !important; }
html.rl-print:not([data-page="index"]) #app .opening-person-card { grid-column: 1; grid-row: 1; display: grid !important; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding: 0 40px 0 0 !important; overflow: visible !important; }
html.rl-print:not([data-page="index"]) #app .opening-person-card > img { position: relative !important; inset: auto !important; transform: none !important; z-index: 0 !important; width: 64px !important; height: 80px !important; object-fit: cover; border-radius: 6px; }
html.rl-print:not([data-page="index"]) #app .opening-person-card > div { position: static !important; padding: 0 !important; background: none !important; }
html.rl-print:not([data-page="index"]) #app .opening-person-card > div * { color: var(--rl-print-blue) !important; font-size: 13px !important; font-family: var(--rl-font) !important; font-weight: 500 !important; line-height: 1.5 !important; }
html.rl-print:not([data-page="index"]) #app .opening-person-card > div :is(h2, h3) { font: 700 15px/1.45 var(--rl-font-serif) !important; }
/* 차례 (원본 네 칸): 곁 칸에 세로 목록 */
html.rl-print:not([data-page="index"]) #app .opening-facts { grid-column: 3; display: block !important; margin: 0 !important; padding: 0 0 0 32px !important; counter-reset: rlof; background: none !important; border: 0 !important; }
html.rl-print:not([data-page="index"]) #app .opening-facts::before { content: "이 글의 차례"; display: block; margin-bottom: 10px; font: 500 12.5px/1.4 var(--rl-font); color: var(--rl-print-blue); }
html.rl-print:not([data-page="index"]) #app .opening-facts > article { counter-increment: rlof; padding: 10px 0 !important; border-top: 1px solid var(--rl-print-line-soft) !important; }
html.rl-print:not([data-page="index"]) #app .opening-facts > article > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 6px; }
html.rl-print:not([data-page="index"]) #app .opening-facts > article > div::before { content: counter(rlof, decimal-leading-zero); grid-row: 1 / span 2; font: 300 13px/1.5 var(--rl-font-latin-light); color: var(--rl-print-blue); }
html.rl-print:not([data-page="index"]) #app .opening-facts h2 { font: 700 15px/1.5 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; margin: 0 !important; }
html.rl-print:not([data-page="index"]) #app .opening-facts p { margin: 2px 0 0 !important; font-size: 13px !important; color: var(--rl-print-muted, #56697a) !important; }
@media (min-width: 1101px) {
  html.rl-print:not([data-page="index"]) #app .opening-canvas { display: grid !important; grid-template-columns: 1fr 2fr 1fr; column-gap: 5px; }
  html.rl-print:not([data-page="index"]) #app .canvas-copy { grid-column: 1 / span 3; display: grid; grid-template-columns: 1fr 3fr; column-gap: 5px; }
  html.rl-print:not([data-page="index"]) #app .canvas-copy > .section-label { grid-column: 1; grid-row: 1 / span 3; padding-top: 14px; }
  html.rl-print:not([data-page="index"]) #app .canvas-copy > :not(.section-label) { grid-column: 2; }
  html.rl-print:not([data-page="index"]) #app .canvas-copy h1 { margin-top: 0 !important; }
  html.rl-print:not([data-page="index"]) #app .opening-canvas > img { grid-column: 1 / span 3; }
  html.rl-print:not([data-page="index"]) #app .opening-caption { grid-column: 2; }
  html.rl-print:not([data-page="index"]) #app .opening-facts { grid-column: 3 !important; grid-row: 1; }
}

/* ---------- 글 끝: 함께 읽으면 좋은 글 (원본 안내 카드) ---------- */
html.rl-print:not([data-page="index"]) #app .guide-topic-grid { display: block !important; margin: 28px 0 0 !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic { display: grid !important; grid-template-columns: 1fr 2fr 1fr; column-gap: 5px; align-items: baseline; padding: 22px 0 !important; border-top: 1px solid var(--rl-print-line-soft) !important; position: relative; }
html.rl-print:not([data-page="index"]) #app .guide-topic:last-child { border-bottom: 1px solid var(--rl-print-line-soft) !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic > div { display: contents !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic > div > *:first-child { grid-column: 1; font: 300 13px/1.4 var(--rl-font-latin-light) !important; color: var(--rl-print-blue) !important; letter-spacing: .02em; margin: 0 !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic > div > *:not(:first-child) { grid-column: 2; margin: 0 !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic h3 { font: 700 19px/1.5 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic p { margin-top: 4px !important; font-size: 14.5px !important; color: var(--rl-print-charcoal) !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic > div > *:last-child:not(h3):not(p) { font-size: 13px !important; color: var(--rl-print-blue) !important; margin-top: 6px !important; }
html.rl-print:not([data-page="index"]) #app .guide-topic svg { position: absolute !important; right: 0 !important; top: 22px !important; width: 34px !important; height: 34px !important; padding: 9px; border: 1px solid var(--rl-print-blue); border-radius: 50%; color: var(--rl-print-blue) !important; background: transparent !important; transition: background-color .35s, color .35s, transform .45s cubic-bezier(.2, .7, .1, 1); }
html.rl-print:not([data-page="index"]) #app .guide-topic:hover svg { background: var(--rl-print-blue) !important; color: #fff !important; transform: rotate(45deg); }
html.rl-print:not([data-page="index"]) #app .guide-directory-heading { display: block !important; margin: 0 !important; }
html.rl-print:not([data-page="index"]) #app .guide-directory-heading .section-label { font: 500 13px/1.6 var(--rl-font) !important; color: var(--rl-print-blue) !important; }
html.rl-print:not([data-page="index"]) #app .guide-directory-heading h2 { margin-top: 14px !important; font: 700 clamp(22px, 1.8vw, 26px)/1.4 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; letter-spacing: -0.02em; }
html.rl-print:not([data-page="index"]) #app .guide-directory-heading h2::after { content: " 함께 읽으면 좋은 글"; display: none; }
html.rl-print:not([data-page="index"]) #app .guide-text-link { display: none !important; }

/* 다음 글: 가는 선 두 줄 사이 한 줄 */
html.rl-print:not([data-page="index"]) #app .next-page { display: flex !important; align-items: center; justify-content: space-between; gap: 24px; box-sizing: border-box; width: calc(100% - 2 * var(--gutter)) !important; max-width: calc(1900px - 2 * var(--gutter)); margin: 48px auto 0 !important; padding: 26px 0 !important; border-top: 1px solid var(--rl-print-line) !important; border-bottom: 1px solid var(--rl-print-line-soft) !important; color: var(--rl-print-blue) !important; }
html.rl-print:not([data-page="index"]) #app .next-page .section-label { font: 700 21px/1.4 var(--rl-font-serif) !important; color: var(--rl-print-blue) !important; letter-spacing: -0.02em; }
html.rl-print:not([data-page="index"]) #app .next-page .section-label > span:first-child { display: none !important; }
html.rl-print:not([data-page="index"]) #app .next-page span.display { display: block; margin-top: 6px; font: 300 13px/1.3 var(--rl-font-latin-light) !important; color: var(--rl-print-blue) !important; letter-spacing: .04em; }
html.rl-print:not([data-page="index"]) #app .next-page svg { width: 40px !important; height: 40px !important; padding: 11px; border: 1px solid var(--rl-print-blue); border-radius: 50%; color: var(--rl-print-blue) !important; background: transparent !important; flex: none; transition: background-color .35s, color .35s, transform .45s cubic-bezier(.2, .7, .1, 1); }
html.rl-print:not([data-page="index"]) #app .next-page:hover svg { background: var(--rl-print-blue) !important; color: #fff !important; transform: rotate(45deg); }

/* ---------- 태블릿 · 모바일: 한 칸으로 읽기 (여백 칸 머리말은 장 위에) ---------- */
@media (max-width: 1100px) {
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) { counter-increment: rlch; }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) .section-label::before { margin-right: 10px; content: counter(rlch, decimal-leading-zero) !important; position: static !important; display: inline !important; width: auto !important; height: auto !important; background: none !important; transform: none !important; opacity: 1 !important; font: 300 15px/1 var(--rl-font-latin-light); color: var(--rl-print-blue); }
  html.rl-print:not([data-page="index"]) #app main :is(.assessment-grid, .aftercare-bento) { display: block !important; }
  html.rl-print:not([data-page="index"]) #app main .assessment-portrait { width: 52%; max-width: 300px; margin: 32px 0 0 !important; }
  html.rl-print:not([data-page="index"]) #app :is(.implant-opening-side, .opening-side) { grid-template-columns: 1fr; row-gap: 28px; }
  html.rl-print:not([data-page="index"]) #app .opening-intro-card, html.rl-print:not([data-page="index"]) #app .opening-person-card, html.rl-print:not([data-page="index"]) #app .opening-facts { grid-column: 1 !important; grid-row: auto !important; padding: 0 !important; }
  html.rl-print:not([data-page="index"]) #app .opening-canvas > img { aspect-ratio: 16 / 10; margin-top: 36px; }
  html.rl-print:not([data-page="index"]) #app .guide-topic { grid-template-columns: 1fr; row-gap: 6px; padding-right: 48px !important; }
  html.rl-print:not([data-page="index"]) #app .guide-topic > div > * { grid-column: 1 !important; }
}
@media (max-width: 700px) {
  html.rl-print:not([data-page="index"]) #app .canvas-copy h1 { font-size: clamp(26px, 7.2vw, 32px) !important; line-height: 1.34 !important; text-wrap: balance; }
  html.rl-print:not([data-page="index"]) #app .canvas-copy > p:not(.section-label) { font-size: 17px !important; }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(h2.section-title, .statement-heading h2, .editorial-heading h2) { font-size: var(--rl-m-title, clamp(22px, 6.3vw, 26px)) !important; line-height: 1.42 !important; text-wrap: balance; }
  html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article, .aftercare-tall, .aftercare-stack > article) { grid-template-columns: 48px 1fr; }
  html.rl-print:not([data-page="index"]) #app main :is(.split-facts > *, .step-cards > article, .aftercare-tall, .aftercare-stack > article)::after { font-size: 24px; }
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) :is(.editorial-note, .assessment-lead), html.rl-print:not([data-page="index"]) #app .opening-intro-card p { font-size: 16px !important; }
  html.rl-print:not([data-page="index"]) #app .next-page .section-label { font-size: 18px !important; }
}

/* ---------- 보정 1: 표지 = 하나의 격자 (머리글 → 넓은 사진 → [글쓴이 | 리드 | 차례]) ---------- */
@media (min-width: 1101px) {
  html.rl-print:not([data-page="index"]) #app main > section.page-opening { display: grid !important; grid-template-columns: 1fr 2fr 1fr; column-gap: 5px; align-items: start; }
  html.rl-print:not([data-page="index"]) #app main > section.page-opening :is(.implant-opening, .opening-grid, .implant-opening-side, .opening-side) { display: contents !important; }
  html.rl-print:not([data-page="index"]) #app .opening-breadcrumb { grid-column: 1 / -1; grid-row: 1; }
  html.rl-print:not([data-page="index"]) #app .opening-canvas { grid-column: 1 / -1; grid-row: 2; }
  html.rl-print:not([data-page="index"]) #app .canvas-copy { grid-row: 1; }
  html.rl-print:not([data-page="index"]) #app .opening-canvas > img { grid-row: 2; }
  html.rl-print:not([data-page="index"]) #app .opening-caption { grid-row: 3; }
  html.rl-print:not([data-page="index"]) #app :is(.opening-person-card, .opening-intro-card, .opening-facts) { grid-row: 3; margin-top: 56px !important; padding-top: 32px !important; border-top: 1px solid var(--rl-print-line) !important; align-self: start; }
  html.rl-print:not([data-page="index"]) #app .opening-person-card { grid-column: 1 !important; padding-right: 40px !important; }
  html.rl-print:not([data-page="index"]) #app .opening-intro-card { grid-column: 2 !important; padding-right: 40px !important; }
  html.rl-print:not([data-page="index"]) #app .opening-facts { grid-column: 3 !important; padding-left: 0 !important; }
}
/* ---------- 보정 2: 여백 칸 머리말 = 번호 위 · 글자 아래 ---------- */
@media (min-width: 1101px) {
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) .section-label { display: block !important; }
  /* 감싼 상자를 풀어 생긴 칸들도 읽기 칸에 */
  html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit):not(.guide-directory) :is(h2, .editorial-note, .assessment-lead, .split-facts, .step-cards, .care-details, .questions, .aftercare-tall, .aftercare-stack > article, .clinical-note) { grid-column: 2 !important; }
  html.rl-print:not([data-page="index"]) #app #aftercare .aftercare-feature { grid-column: 2 / span 2 !important; }
}
/* ---------- 보정 3: 함께 읽으면 좋은 글 화살표 = 테두리 원 (원본 파란 바탕 원 걷기) ---------- */
html.rl-print:not([data-page="index"]) #app .guide-topic :is(span, div, i):has(> svg) { background: none !important; box-shadow: none !important; border: 0 !important; width: auto !important; height: auto !important; position: static !important; }
@media (min-width: 1101px) { html.rl-print:not([data-page="index"]) #app .canvas-copy > .section-label { align-self: start !important; margin: 0 !important; padding-top: 14px !important; } }
/* 보정 4: 리드 줄 위 선(세 칸 모두) · 항목 제목 원본 줄바꿈 풀기 · 사진 설명(캡션)은 작은 회색 글 */
@media (min-width: 1101px) {
  html.rl-print:not([data-page="index"]) #app main :is(.opening-person-card, .opening-intro-card, .opening-facts) { border-top: 1px solid var(--rl-print-line) !important; padding-top: 32px !important; }
}
/* (원본 제목의 줄바꿈은 유지 — 줄바꿈을 지우면 낱말이 붙어 버림) */
html.rl-print:not([data-page="index"]) #app main :is(.fact-body, .fact-top) { justify-content: flex-start !important; gap: 0 !important; }
html.rl-print:not([data-page="index"]) #app main .fact-body > p { margin-top: 8px !important; }
html.rl-print:not([data-page="index"]) #app main > section.section-space:not(.visit) .aftercare-feature h3 { margin-top: 14px !important; padding-left: 14px !important; border-left: 1px solid var(--rl-print-line) !important; font: 400 14px/1.6 var(--rl-font) !important; color: var(--rl-print-muted, #56697a) !important; }


/* 보정 5 (태블릿·모바일): 표지는 제목 → 사진 → 설명 순서 · 사후관리 점검은 한 줄씩 */
@media (max-width: 1100px) {
  html.rl-print:not([data-page="index"]) #app .canvas-copy { order: 1; }
  html.rl-print:not([data-page="index"]) #app .opening-canvas > img { order: 2; }
  html.rl-print:not([data-page="index"]) #app .opening-caption { order: 3; }
  html.rl-print:not([data-page="index"]) #app main .aftercare-stack { display: block !important; }
}
