/*
Theme Name: 광교365리움치과병원 BLOG
Theme URI: https://blog.365reumhospital.com/
Description: 본 사이트(365reumhospital.com, 그누보드 theme/s007)의 헤더·GNB·상담바·푸터를 그대로 재현하는 블로그 테마. 공통 CSS/JS 는 본 사이트 오리진에서 크로스 도메인으로 로드해 디자인이 자동으로 동기화된다. 목록 화면은 Figma "리움치과 칼럼/dental-guide"(PWox6ub4MfkedAtZzvjZaV, node 2533:32603) 1:1.
Author: 광교365리움치과병원
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: reum-blog
*/

/* =========================================================================
 *  블로그 전용 스타일.
 *  헤더/GNB/상담바/푸터는 본 사이트 CSS 를 크로스 로드하므로 여기서 건드리지 않는다.
 *  블로그 마크업은 전부 .rb- 프리픽스로 스코프해 크로스 로드된 CSS 와 섞이지 않게 한다.
 *
 *  브레이크포인트: PC ≥1200 / Tablet 768–1199 / Mobile ≤767 (본 사이트 서브페이지 관례)
 * ========================================================================= */

.rb-main {
    /* Figma 토큰 */
    --rb-point:  #5e2c7b;   /* point/point   */
    --rb-point2: #a8599e;   /* point/point2  */
    --rb-w900: #1c1917;
    --rb-w800: #292524;
    --rb-w700: #44403c;
    --rb-w600: #57534e;
    --rb-w500: #78716c;
    --rb-w400: #a8a29e;
    --rb-w200: #e7e5e4;
    --rb-gray1: #484848;
    --rb-gray2: #999999;

    --rb-wrap: 1440px;
    --rb-wrap-narrow: 1370px;
    --rb-sec-pad: 130px;

    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
    color: var(--rb-w800);
    background: #fff;
    word-break: keep-all;
}

.rb-main *,
.rb-main *::before,
.rb-main *::after { box-sizing: border-box; }

.rb-main img { max-width: 100%; height: auto; display: block; }

/* 크로스 로드된 theme.css 의 a:link 하늘색이 본문 링크를 덮는 것 방지 */
.rb-main a,
.rb-main a:link,
.rb-main a:visited { color: inherit; text-decoration: none; }

.rb-wrap { width: 100%; max-width: var(--rb-wrap); margin: 0 auto; padding: 0 15px; }

.screen-reader-text {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* 상담바(.bform, position:fixed, 최소 94px)가 푸터를 가리지 않도록 여백 확보 */
#s007 #footer { padding-bottom: 130px; }

/* ── 히어로 (node 2533:32605) ─────────────────────────────────────── */
.rb-hero { position: relative; height: 900px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.rb-hero__bg { position: absolute; inset: 0; }
.rb-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: bottom; }
.rb-hero__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.6); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.rb-hero__inner {
    position: relative; z-index: 1;
    width: 100%; max-width: var(--rb-wrap-narrow); padding: 0 15px;
    display: flex; flex-direction: column; align-items: center; gap: 60px;
    text-align: center; color: #fff;
}
.rb-hero__eyebrow {
    margin: 0 0 35px; font-size: 22px; font-weight: 500;
    letter-spacing: 2.2px; text-transform: uppercase; opacity: .8; white-space: nowrap;
}
.rb-hero__title { margin: 0 0 15px; font-size: 64px; font-weight: 700; letter-spacing: -3.2px; line-height: normal; }
.rb-hero__desc  { margin: 0; font-size: 24px; font-weight: 500; line-height: 34px; letter-spacing: -1.2px; }
.rb-hero__btns  { display: flex; gap: 10px; }
.rb-hero__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    width: 220px; padding: 15px 0;
    border: 1px solid #fff; border-radius: 5px;
    font-size: 17px; font-weight: 700; letter-spacing: -.51px; color: #fff !important;
    transition: background-color .2s ease;
}
.rb-hero__btn:hover { background: rgba(255,255,255,.14); }
.rb-hero__btn-ic { width: 15px; height: 15px; flex: 0 0 15px; }

/* ── 브레드크럼 (node 2533:32616) ──────────────────────────────────
   본 사이트 #site_config 와 값까지 동일하게 맞춘다(실측):
   .site max-width 1440 중앙정렬 / home 블록 60x60 #444 / 셀 border-right 1px #eee
   / 라벨 17px #666 · padding 0 48px 0 20px / 하단 보더 없음               */
.rb-crumb { background: #fff; }
.rb-crumb__inner {
    display: flex; align-items: stretch;
    width: 100%; max-width: var(--rb-wrap); margin: 0 auto;
    min-height: 60px;
}
.rb-crumb__home {
    flex: 0 0 60px; width: 60px;
    display: flex; align-items: center; justify-content: center;
    background: #444; color: #fff !important;
}
.rb-crumb__home img { width: 20px; height: 20px; }
.rb-crumb__cell {
    display: flex; align-items: center; padding: 0 48px 0 20px;
    border-right: 1px solid #eee;
    font-size: 17px; font-weight: 400; letter-spacing: -.51px; color: #666;
}
.rb-crumb__cell [aria-current='page'] { color: #838789; }
.rb-crumb__cell a:hover { color: var(--rb-point); }

/* ── 인트로 (node 2533:32618) ─────────────────────────────────────── */
.rb-intro { padding: 100px 0 var(--rb-sec-pad); text-align: center; }
.rb-intro__eyebrow { margin: 0 0 20px; font-size: 24px; font-weight: 700; line-height: 30px; letter-spacing: -.72px; color: var(--rb-point2); }
.rb-intro__title   { margin: 0 0 20px; font-size: 56px; font-weight: 800; line-height: 1.3; letter-spacing: -1.68px; color: var(--rb-w900); }
.rb-intro__body    { font-size: 26px; font-weight: 500; line-height: 36px; letter-spacing: -.78px; color: var(--rb-w600); }
.rb-intro__body p  { margin: 0; }
.rb-intro__body p + p { margin-top: 36px; }

/* ── 목록 섹션 ─────────────────────────────────────────────────────── */
.rb-list-sec { padding-bottom: var(--rb-sec-pad); }

/* 툴바 (node 2540:74462) */
.rb-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 80px; }
.rb-toolbar__count { margin: 0; padding: 10px 0; font-size: 17px; font-weight: 500; letter-spacing: -.68px; color: var(--rb-gray2); }
.rb-toolbar__count strong { font-weight: 700; color: var(--rb-point); }
.rb-toolbar__form { display: flex; align-items: center; gap: 20px; }

.rb-search {
    display: flex; align-items: center; gap: 8px;
    width: 240px; height: 45px; padding: 10px 12px;
    border: 1px solid var(--rb-w200); border-radius: 8px; background: #fff;
}
.rb-search input[type='search'] {
    flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent;
    font: inherit; font-size: 17px; font-weight: 500; letter-spacing: -.68px; color: var(--rb-w600);
    -webkit-appearance: none; appearance: none;
}
.rb-search input::placeholder { color: var(--rb-w500); }
.rb-search button { flex: 0 0 24px; padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
.rb-search button img { width: 24px; height: 24px; }
.rb-search:focus-within { border-color: var(--rb-point2); }

.rb-select {
    position: relative; display: flex; align-items: center;
    min-width: 95px; height: 46px; padding: 8px 12px;
    border: 1px solid var(--rb-w200); border-radius: 8px; background: #fff;
}
.rb-select select {
    appearance: none; -webkit-appearance: none;
    border: 0; outline: 0; background: transparent; cursor: pointer;
    padding: 0 24px 0 4px; width: 100%;
    font: inherit; font-size: 17px; font-weight: 500; letter-spacing: -.68px; color: var(--rb-w600);
}
.rb-select img { position: absolute; right: 12px; width: 16px; height: 16px; pointer-events: none; }
.rb-select:focus-within { border-color: var(--rb-point2); }

/* 제목 자동완성 드롭다운 — 입력하는 동안 제목이 맞는 글을 검색창 아래에 띄운다.
   색은 .rb-sugg 에 걸고 <a> 는 상속받는다: 크로스 로드된 `.rb-main a:link{color:inherit}`
   가 `.rb-sugg a` 보다 특정도가 높아 a 에 직접 걸면 먹지 않는다. */
.rb-search { position: relative; }
.rb-sugg {
    display: none; position: absolute; top: calc(100% + 6px); right: -1px; left: auto; z-index: 60;
    width: min(400px, calc(100vw - 30px));
    margin: 0; padding: 6px 0; list-style: none;
    max-height: 340px; overflow-y: auto;
    background: #fff; border: 1px solid var(--rb-w200); border-radius: 8px;
    box-shadow: 0 6px 20px rgba(28, 25, 23, .14);
    text-align: left; color: var(--rb-w700);
}
.rb-sugg.is-open { display: block; }
.rb-sugg li { display: block; }
.rb-sugg a {
    display: block; padding: 10px 14px; cursor: pointer;
    font-size: 15px; line-height: 1.5; letter-spacing: -.45px;
}
.rb-sugg .is-active > a, .rb-sugg a:hover { background: rgba(168, 89, 158, .08); }
.rb-sugg-cat { display: block; margin-bottom: 2px; font-size: 12px; letter-spacing: -.36px; color: var(--rb-point2); }
.rb-sugg-title { display: block; word-break: keep-all; }
/* 제목 매칭이 0건이면 이 줄만 남는다 — 그때는 구분선이 맨 위에 뜨므로 지운다 */
.rb-sugg-all { margin-top: 6px; padding-top: 2px; border-top: 1px solid var(--rb-w200); color: var(--rb-point); }
.rb-sugg-all:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.rb-sugg-all a { font-size: 14px; font-weight: 700; letter-spacing: -.42px; }

/* 카드 그리드 (node 2533:32632) */
.rb-list {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 20px; row-gap: 40px;
    margin: 0; padding: 0; list-style: none;
}

/* 카드 (node 2514:24872) */
.rb-card { display: flex; }
.rb-card__link {
    display: flex; flex-direction: column; width: 100%;
    background: #fff; border: 1px solid var(--rb-w200); border-radius: 10px; overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.rb-card__link:hover { border-color: var(--rb-point2); box-shadow: 0 6px 20px rgba(28,25,23,.07); }
.rb-card__thumb { display: block; position: relative; height: 280px; background: #f4f2f5; overflow: hidden; }
.rb-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rb-card__link:hover .rb-card__thumb img { transform: scale(1.04); }
.rb-card__thumb-empty {
    display: flex; align-items: center; justify-content: center; height: 100%;
    color: #cfc6d6; font-size: 15px; font-weight: 700; letter-spacing: .08em;
}
.rb-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 32px 32px 10px; flex: 1 1 auto; }
.rb-card__cat {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0 3px 4px 2px; border-bottom: 2px solid var(--rb-point);
    font-size: 13px; font-weight: 700; letter-spacing: -.39px; color: var(--rb-point);
}
.rb-card__title {
    font-size: 24px; font-weight: 700; line-height: 30px; letter-spacing: -.72px; color: var(--rb-w800);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rb-card__excerpt {
    font-size: 17px; font-weight: 400; line-height: 1.5; letter-spacing: -.51px; color: var(--rb-w500);
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.rb-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 32px 32px; margin-top: auto; }
.rb-card__date { font-size: 17px; font-weight: 400; letter-spacing: -.51px; color: var(--rb-w400); }
.rb-card__more {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 10px 20px 10px 23px; border: 1px solid var(--rb-w200); border-radius: 5px;
    font-size: 17px; font-weight: 500; letter-spacing: -.68px; color: var(--rb-w700);
}
.rb-card__more img { width: 20px; height: 20px; }
.rb-card__link:hover .rb-card__more { border-color: var(--rb-point); color: var(--rb-point); }

/* 검색어 강조 — 카드 제목/요약의 매칭 부분 */
.rb-hl {
    background: rgba(168, 89, 158, .18);
    color: inherit; font-weight: 700;
    border-radius: 2px; padding: 0 1px;
}
.rb-card__title .rb-hl { color: var(--rb-point); }

.rb-empty { padding: 80px 0; text-align: center; font-size: 17px; color: var(--rb-w500); }

/* 페이지네이션 (node 2533:32646) */
.rb-pager { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 80px; }
.rb-pager__nums { display: flex; align-items: center; }
.rb-pager__num {
    display: flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 100px;
    font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: -.28px; color: var(--rb-gray1);
}
.rb-pager__num.is-current { background: var(--rb-point); color: #fff; }
.rb-pager__num:not(.is-current):hover { color: var(--rb-point); }
.rb-pager__edge { display: flex; align-items: center; justify-content: center; height: 16px; opacity: .85; transition: opacity .2s ease; }
.rb-pager__edge.is-off { opacity: .25; pointer-events: none; }
.rb-pager__edge:hover { opacity: 1; }
/* 아이콘은 Figma 익스포트 SVG. 바깥 박스와 잎 크기를 디자인 그대로 유지한다. */
.rb-pager__ic { display: block; width: 8px; height: 16px; }
.rb-pager__ic img { display: block; width: 8px; height: 16px; }
/* « / » : 5.53×9.87 잎 2개 (node 2514:24965 의 inset 비율 그대로) */
.rb-pager__ic--dbl { position: relative; width: 12px; height: 16px; }
.rb-pager__ic--dbl img { position: absolute; width: 5.53px; height: 9.87px; }
.rb-pager__ic--dbl img:first-child { top: 19.17%; left: 8.33%; }
.rb-pager__ic--dbl img:last-child  { top: 18.75%; left: 43.89%; }
.rb-pager__edge--next .rb-pager__ic { transform: rotate(180deg); }

/* ── 자주 묻는 질문 Q&A (node 2533:32648) ──────────────────────────── */
.rb-faq { padding: var(--rb-sec-pad) 0; }
.rb-faq .rb-wrap { max-width: var(--rb-wrap-narrow); }
.rb-faq__head { text-align: center; margin-bottom: 60px; }
.rb-faq__eyebrow { margin: 0 0 30px; font-size: 24px; font-weight: 700; line-height: 30px; letter-spacing: -.72px; color: var(--rb-point2); }
.rb-faq__title { margin: 0; font-size: 56px; font-weight: 400; line-height: 1.3; letter-spacing: -1.68px; color: var(--rb-w800); }
.rb-faq__title strong { font-weight: 800; letter-spacing: -2.8px; }
.rb-faq__list { display: flex; flex-direction: column; gap: 20px; }

.rb-qna { width: 100%; overflow: hidden; }
.rb-qna__q {
    display: flex; gap: 10px; align-items: center; padding: 15px 25px;
    background: rgba(94,44,123,.07); border-top: 2px solid var(--rb-point);
}
.rb-qna__mark { flex: 0 0 24px; width: 24px; font-size: 21px; font-weight: 700; line-height: 31px; letter-spacing: -1.05px; color: var(--rb-point); }
.rb-qna__text { font-size: 21px; font-weight: 700; line-height: 31px; letter-spacing: -1.05px; color: var(--rb-point); }
.rb-qna__a { display: flex; gap: 10px; align-items: flex-start; padding: 25px; background: rgba(247,247,247,.5); }
.rb-qna__ic { flex: 0 0 24px; width: 24px; height: 24px; margin-top: 2px; }
.rb-qna__atext { margin: 0; font-size: 17px; font-weight: 400; line-height: 1.6; letter-spacing: -.51px; color: rgba(0,0,0,.7); }

/* ── 글 상세 ──────────────────────────────────────────────────────── */
.rb-article { max-width: 860px; margin: 0 auto; padding: 80px 0 var(--rb-sec-pad); }
.rb-article__head { padding-bottom: 28px; border-bottom: 1px solid var(--rb-w200); margin-bottom: 40px; }
.rb-article__cat { font-size: 14px; font-weight: 700; color: var(--rb-point); }
.rb-article__title { margin: 10px 0 16px; font-size: 40px; font-weight: 800; line-height: 1.35; letter-spacing: -1.2px; color: var(--rb-w900); }
.rb-article__meta { font-size: 15px; color: var(--rb-w400); display: flex; flex-wrap: wrap; gap: 14px; }
.rb-article__thumb { margin: 0 0 40px; }
.rb-article__thumb img { border-radius: 10px; }

.rb-content { font-size: 18px; line-height: 1.85; letter-spacing: -.36px; color: #3a3a3a; }
.rb-content > * + * { margin-top: 1.15em; }
.rb-content h2 { margin-top: 2.2em; font-size: 28px; font-weight: 800; line-height: 1.4; letter-spacing: -.84px; color: var(--rb-w900); }
.rb-content h3 { margin-top: 1.8em; font-size: 22px; font-weight: 700; line-height: 1.45; letter-spacing: -.66px; color: var(--rb-w900); }
.rb-content h4 { margin-top: 1.6em; font-size: 19px; font-weight: 700; }
.rb-content a,
.rb-content a:link,
.rb-content a:visited { color: var(--rb-point) !important; text-decoration: underline; text-underline-offset: 3px; }
.rb-content ul, .rb-content ol { padding-left: 1.3em; }
.rb-content li + li { margin-top: .4em; }
.rb-content blockquote { margin-left: 0; margin-right: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--rb-point2); color: var(--rb-w600); }
.rb-content img, .rb-content figure { border-radius: 10px; }
.rb-content figcaption { font-size: 14px; color: var(--rb-w400); text-align: center; margin-top: 8px; }
.rb-content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.rb-content th, .rb-content td { border: 1px solid var(--rb-w200); padding: 10px 12px; }
.rb-content th { background: #f9f8fa; font-weight: 700; }
.rb-content pre { background: #f5f4f6; padding: 16px; border-radius: 8px; overflow-x: auto; font-size: 14px; }

.rb-tags { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 8px; }
.rb-tags a { display: inline-block; padding: 6px 12px; border: 1px solid var(--rb-w200); border-radius: 999px; font-size: 14px; color: var(--rb-w500); }
.rb-tags a:hover { border-color: var(--rb-point); color: var(--rb-point); }

.rb-cta {
    margin-top: 56px; padding: 32px 28px; border-radius: 12px;
    background: #f9f8fa; border: 1px solid var(--rb-w200);
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px;
}
.rb-cta__txt strong { display: block; font-size: 19px; font-weight: 800; margin-bottom: 6px; }
.rb-cta__txt span { font-size: 15px; color: var(--rb-w500); }
.rb-cta__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.rb-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 24px; border-radius: 5px; font-size: 16px; font-weight: 700; }
.rb-btn--primary { background: var(--rb-point); color: #fff !important; }
.rb-btn--primary:hover { background: #4d1e68; }
.rb-btn--ghost { border: 1px solid var(--rb-point); color: var(--rb-point) !important; }
.rb-btn--ghost:hover { background: #f4eef8; }

.rb-adjacent { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rb-adjacent__item { border: 1px solid var(--rb-w200); border-radius: 10px; padding: 20px; }
.rb-adjacent__item:hover { border-color: var(--rb-point); }
.rb-adjacent__label { display: block; font-size: 13px; color: var(--rb-w400); margin-bottom: 8px; }
.rb-adjacent__title { font-size: 16px; font-weight: 700; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rb-adjacent__item--next { text-align: right; }

/* ── 404 ──────────────────────────────────────────────────────────── */
.rb-404 { text-align: center; padding: 120px 0 var(--rb-sec-pad); }
.rb-404__code { font-size: 64px; font-weight: 800; color: var(--rb-point); line-height: 1; }
.rb-404__title { margin: 18px 0 10px; font-size: 28px; font-weight: 700; }
.rb-404__desc { color: var(--rb-w500); font-size: 17px; margin-bottom: 28px; }

/* =========================================================================
 *  태블릿 768–1199 (Figma 768 프레임: 2열 그리드 · 썸네일 190 · 카드 17px)
 * ========================================================================= */
@media (max-width: 1199px) {
    .rb-main { --rb-sec-pad: 100px; }

    .rb-hero { height: 850px; }
    .rb-hero__inner { gap: 50px; }
    .rb-hero__eyebrow { margin-bottom: 30px; }
    .rb-hero__title { font-size: 44px; letter-spacing: -2.2px; line-height: 1.3; }
    .rb-hero__desc  { font-size: 20px; line-height: 30px; letter-spacing: -1px; }

    .rb-intro { padding-top: 80px; }
    .rb-intro__title { font-size: 40px; letter-spacing: -1.2px; }
    .rb-intro__body  { font-size: 20px; line-height: 32px; letter-spacing: -.6px; }
    .rb-intro__body p + p { margin-top: 32px; }

    .rb-toolbar { margin-bottom: 50px; }
    .rb-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 20px; }

    .rb-card__thumb { height: 190px; }
    .rb-card__body  { gap: 10px; padding: 20px 20px 10px; }
    .rb-card__cat   { font-size: 12px; letter-spacing: -.36px; }
    .rb-card__title { font-size: 17px; line-height: 1.3; letter-spacing: -.51px; }
    .rb-card__excerpt { font-size: 15px; letter-spacing: -.45px; -webkit-line-clamp: 3; }
    .rb-card__foot  { padding: 0 20px 20px; }
    .rb-card__date  { font-size: 14px; letter-spacing: -.42px; }
    .rb-card__more  { padding: 8px 14px 8px 16px; font-size: 13px; letter-spacing: -.39px; }
    .rb-card__more img { width: 16px; height: 16px; }

    .rb-pager { margin-top: 50px; }

    .rb-faq__title { font-size: 40px; letter-spacing: -1.2px; }
    .rb-faq__head  { margin-bottom: 40px; }

    .rb-article { padding-top: 60px; }
    .rb-article__title { font-size: 32px; letter-spacing: -.96px; }
}

/* =========================================================================
 *  모바일 ≤767 (Figma 375 프레임)
 * ========================================================================= */
@media (max-width: 767px) {
    .rb-main { --rb-sec-pad: 80px; }

    .rb-hero { height: 650px; }
    .rb-hero__inner { gap: 36px; }
    .rb-hero__eyebrow { margin-bottom: 20px; font-size: 14px; letter-spacing: 1.4px; }
    .rb-hero__title { font-size: 32px; letter-spacing: -.96px; line-height: 1.3; margin-bottom: 12px; }
    .rb-hero__desc  { font-size: 15px; line-height: 1.5; letter-spacing: -.45px; }
    .rb-hero__btns  { flex-direction: column; width: 100%; max-width: 300px; }
    .rb-hero__btn   { width: 100%; padding: 13px 0; font-size: 15px; }

    .rb-crumb__inner { min-height: 50px; }
    .rb-crumb__home  { flex: 0 0 50px; width: 50px; }
    .rb-crumb__cell  { padding: 0 24px 0 14px; font-size: 15px; letter-spacing: -.45px; }

    .rb-intro { padding: 60px 0 var(--rb-sec-pad); }
    .rb-intro__eyebrow { margin-bottom: 14px; font-size: 17px; line-height: 1.3; letter-spacing: -.51px; }
    .rb-intro__title   { margin-bottom: 16px; font-size: 28px; letter-spacing: -.84px; }
    .rb-intro__body    { font-size: 15px; line-height: 1.5; letter-spacing: -.6px; }
    .rb-intro__body p + p { margin-top: 22px; }

    .rb-toolbar { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 30px; }
    .rb-toolbar__form { gap: 10px; }
    .rb-search { flex: 1 1 auto; width: auto; }
    .rb-search input[type='search'] { font-size: 15px; letter-spacing: -.45px; }
    .rb-select select { font-size: 15px; letter-spacing: -.45px; }
    /* 검색창이 셀렉트와 한 줄을 나눠 써 240px 도 안 된다 — 드롭다운만 wrap 폭으로 편다 */
    .rb-sugg { left: -1px; right: auto; width: calc(100vw - 30px); }
    .rb-sugg a { padding: 9px 12px; font-size: 14px; }

    .rb-list { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }

    .rb-pager { gap: 16px; margin-top: 40px; }

    .rb-faq__eyebrow { margin-bottom: 14px; font-size: 15px; line-height: 1.5; letter-spacing: -.45px; }
    .rb-faq__title   { font-size: 28px; line-height: 1.5; letter-spacing: -.84px; }
    .rb-faq__title strong { letter-spacing: -1.4px; }
    .rb-faq__head    { margin-bottom: 30px; }
    .rb-faq__list    { gap: 14px; }
    .rb-qna__q  { padding: 12px 16px; }
    .rb-qna__mark, .rb-qna__text { font-size: 15px; line-height: 24px; letter-spacing: -.75px; }
    .rb-qna__mark { flex: 0 0 18px; width: 18px; }
    .rb-qna__a  { padding: 16px; }
    .rb-qna__ic { flex: 0 0 20px; width: 20px; height: 20px; }
    .rb-qna__atext { font-size: 15px; line-height: 1.5; letter-spacing: -.6px; }

    .rb-article { padding-top: 40px; }
    .rb-article__title { font-size: 25px; letter-spacing: -.75px; }
    .rb-content { font-size: 16px; }
    .rb-content h2 { font-size: 22px; }
    .rb-content h3 { font-size: 19px; }
    .rb-adjacent { grid-template-columns: minmax(0, 1fr); }
    .rb-adjacent__item--next { text-align: left; }
    .rb-cta { flex-direction: column; align-items: flex-start; }

    #s007 #footer { padding-bottom: 100px; }
}
