/* 리호클린 A안 '숲속 저녁'(10-27 사장님 선택, 시안 clean-scene/riho-v3/a.html).
   짙은 초록·명조 제목·연두 둥근 전화 버튼·크림/흰 번갈아. 모든 쪽에서 마지막에 불러와 기존 마크업 위에 덮어쓴다(구조 변경 최소). */
:root { --f-g: #0B3B2C; --f-gd: #06251B; --f-gx: #041A13; --f-lime: #C9E66E; --f-cream: #F6F3EA; --f-ink: #1C2B25; --f-mut: #4B5B54; --f-line: #DDD8CA; }
body.riho-renewal-body, body.php-scene { color: var(--f-ink); }

/* 제목은 명조(웹글꼴이 늦으면 바탕체 계열로) */
.riho-renewal h1, .riho-renewal h2, .riho-renewal h3, .php-scene h1, .php-scene h2 {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', 'Batang', serif !important; letter-spacing: -.01em; }
.riho-renewal h1 em, .riho-renewal h2 em { font-style: normal; color: inherit; }

/* 머리글: 짙은 초록 띠(히어로와 이어짐) */
.riho-site-header { background: var(--f-gx) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; box-shadow: none !important; }
.riho-site-header__brand, .riho-site-header__brand b, .riho-site-header__primary a, .riho-site-header__guide { color: #F2F5F0 !important; }
.riho-site-header__brand small { color: #B9C9C0 !important; }
.riho-site-header__primary a[aria-current="page"] { color: var(--f-lime) !important; box-shadow: inset 0 -2px 0 var(--f-lime); }
.riho-site-header__menu > summary { color: #F2F5F0 !important; border-color: rgba(255,255,255,.35) !important; background: transparent !important; }
.riho-site-header__call { background: var(--f-lime) !important; color: var(--f-gd) !important; border-radius: 999px !important; }
.riho-site-header__call b, .riho-site-header__call small { color: var(--f-gd) !important; }

/* 상단 상담 띠: 머리글과 같은 짙은 초록, 버튼은 연두 둥근 알약 */
.cb-band { background: var(--f-gd) !important; border-bottom: 1px solid rgba(201,230,110,.35) !important; }
.cb-band .cb-msg strong { color: var(--f-lime) !important; }
.cb-band .cb-msg span { color: #D4DED8 !important; }
.cb-band .cb-cta, a.cb-num.cb-cta { background: var(--f-lime) !important; color: var(--f-gd) !important; border-radius: 999px !important; box-shadow: none !important; }
.cb-band .cb-cta * { color: var(--f-gd) !important; }

/* 전화 버튼 공통: 연두 둥근 알약(번호는 작은 보조 줄) */
a.tel-btn:not(.riho-site-header__call):not(.riho-footer__call), .rc-side-call__btn {
  background: var(--f-lime) !important; color: var(--f-gd) !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
  min-height: 64px; padding: 10px 28px !important; align-content: center; }
a.tel-btn .tel-l, a.tel-btn b { color: var(--f-gd) !important; font-weight: 900; font-size: 18px; }
a.tel-btn .tel-n, a.tel-btn small { color: var(--f-gd) !important; opacity: .8; font-weight: 700; font-size: 13px; }

/* 보조 버튼: 흰 테두리 알약(어두운 바탕) / 짙은 초록 테두리 알약(밝은 바탕) */
.h2-hero .h2-btn, .local-hero .ghost, .article-hero a.h2-btn { min-height: 64px; border-radius: 999px !important; border: 1.5px solid rgba(255,255,255,.75) !important;
  background: transparent !important; color: #fff !important; padding: 0 28px !important; display: inline-flex !important; align-items: center; font-weight: 800; }

/* ---------- 홈 ---------- */
.h2--scene .h2-hero h1 { font-weight: 800 !important; font-size: clamp(40px, 5vw, 72px) !important; line-height: 1.2 !important; }
.h2--scene .h2-hero h1 em { color: var(--f-lime) !important; -webkit-text-fill-color: var(--f-lime) !important; }
.h2--scene .h2-hero .h2-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--f-lime) !important; letter-spacing: .04em; }
.h2--scene .h2-hero .h2-kicker::before { content: ""; width: 36px; height: 1.5px; background: var(--f-lime); }
.h2--scene .h2-hero .h2-actions { flex-direction: row-reverse; justify-content: flex-end; }
.h2--scene .h2-signals { gap: 26px !important; }
.h2--scene .h2-signals li { background: transparent !important; border: 0 !important; padding: 0 !important; color: #DCE6E0 !important; }
.h2--scene .h2-signals b { color: var(--f-lime) !important; }

/* 지역 찾기: 크림 바탕, 명조 제목 */
.rr-finder { background: linear-gradient(180deg, var(--f-gd) 0, var(--f-gd) 50%, #fff 50%, #fff 100%) !important; }
.rr-finder h2, .rr-finder h2 em { color: var(--f-gd) !important; }
.rr-finder .rr-kicker { color: var(--f-g) !important; }
.rr-finder__form { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.rr-finder__form button { background: var(--f-gd) !important; color: #fff !important; border-radius: 12px !important; min-height: 56px; height: 56px; margin-top: 0 !important; }

/* 구간 머리: 2열(제목 | 설명), 명조 */
.h2--scene .h2-sec { padding-block: clamp(72px, 8vw, 110px) !important; }
.h2--scene .h2-head h2 { color: var(--f-gd) !important; font-size: clamp(30px, 3.2vw, 46px) !important; line-height: 1.3 !important; }
.h2--scene .h2-head p { color: var(--f-mut) !important; }
.h2--scene .h2-kicker { color: var(--f-g) !important; font-weight: 800; }

/* 서비스 카드: 흰 바탕, 세로 사진, 명조 이름 */
.h2--scene .sc-cards { background: #fff !important; }
.h2--scene .sc-cards .h2-card { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.h2--scene .sc-cards .h2-card__img img { aspect-ratio: 4 / 5 !important; object-fit: cover; border-radius: 4px !important; }
.h2--scene .sc-cards .h2-card__body { padding: 16px 0 0 !important; background: transparent !important; }
.h2--scene .sc-cards .h2-card__body strong { font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif; font-size: 23px !important; color: var(--f-gd) !important; }
.h2--scene .sc-cards .h2-card__body span { color: var(--f-mut) !important; }
.h2--scene .sc-cards .h2-card__body i { color: var(--f-g) !important; }

/* 진행 순서: 짙은 초록, 큰 연두 명조 번호 */
.h2--scene .sc-band { background: var(--f-gd) !important; color: #E7EEEA !important; }
.h2--scene .sc-band h2, .h2--scene .sc-band .h2-kicker { color: #fff !important; }
.h2--scene .sc-band .h2-kicker { color: var(--f-lime) !important; }
.h2--scene .h2-steps li { background: transparent !important; border: 0 !important; border-top: 1px solid rgba(255,255,255,.2) !important; border-radius: 0 !important; padding: 28px 24px 0 0 !important; }
.h2--scene .h2-steps b { font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif; font-size: 52px !important; line-height: 1; color: var(--f-lime) !important; background: none !important; width: auto !important; height: auto !important; }
.h2--scene .h2-steps strong { color: #fff !important; font-size: 21px !important; }
.h2--scene .h2-steps span { color: #C9D6CF !important; }

/* 범위: 크림, 두 열 줄 목록 */
.h2--scene .sc-scope { background: var(--f-cream) !important; }
.h2--scene .h2-scope__box { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.h2--scene .h2-scope__box h3 { font-size: 24px !important; color: var(--f-gd) !important; padding-bottom: 14px; border-bottom: 2px solid var(--f-gd); }
.h2--scene .h2-scope__box li { padding: 16px 0 !important; border-bottom: 1px solid var(--f-line) !important; background: none !important; font-size: 18px; }
.h2--scene .h2-scope__box--line li { color: #6A766F !important; }

/* FAQ: 흰 바탕, 줄 구분 */
.rr-faq { background: #fff !important; }
.rr-faq__title, .rr-faq h2 { color: var(--f-gd) !important; }
.rr-faq details { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--f-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.rr-faq summary { color: var(--f-gd) !important; font-weight: 800; }

/* 마지막 상담: 짙은 초록 */
.h2--scene .h2-final { background: var(--f-gd) !important; color: #fff !important; }
.h2--scene .h2-final h2 { color: #fff !important; }
.h2--scene .h2-final p { color: #DCE6E0 !important; }

/* 바닥글: 가장 짙은 초록 */
.riho-footer { background: var(--f-gx) !important; color: #AFC1B7 !important; }
.riho-footer a { color: #DCE6E0 !important; }
.riho-footer .cb-footcol summary, .riho-footer .cb-footcol > p { color: var(--f-lime) !important; }
.riho-footer__call, .cb-footcall a { background: var(--f-lime) !important; color: var(--f-gd) !important; border-radius: 999px !important; }
.riho-footer__call *, .cb-footcall a * { color: var(--f-gd) !important; }

@media (max-width: 820px) {
  .h2--scene .h2-hero .h2-actions { flex-direction: column-reverse; align-items: stretch; }
  .h2--scene .h2-hero .h2-actions > a { width: 100%; justify-content: center; }
  .h2--scene .h2-signals { flex-direction: column; gap: 6px !important; }
  .h2--scene .sc-cards .h2-card__body strong { font-size: 19px !important; }
  .h2--scene .h2-steps b { font-size: 40px !important; }
}
/* 1차 보정(10-27) */
main.h2--scene section.rr-faq { background: var(--f-cream) !important; color: var(--f-ink) !important; }
main.h2--scene section.rr-faq .rr-kicker { color: var(--f-g) !important; }
main.h2--scene section.rr-faq h2, main.h2--scene section.rr-faq h2 em { color: var(--f-gd) !important; -webkit-text-fill-color: var(--f-gd) !important; }
main.h2--scene section.rr-faq details { border-color: var(--f-line) !important; }
main.h2--scene section.rr-faq summary { color: var(--f-gd) !important; font-size: 19px; }
main.h2--scene section.rr-faq summary span, main.h2--scene section.rr-faq summary b { color: var(--f-g) !important; }
main.h2--scene section.rr-faq details p { color: var(--f-mut) !important; }
main.h2--scene .h2-scope__box li { color: var(--f-ink) !important; padding-left: 0 !important; }
main.h2--scene .h2-scope__box li::before { display: none !important; }
main.h2--scene .h2-scope__box--line li { color: #6A766F !important; }
main.h2--scene .h2-steps li { text-align: left !important; }
main.h2--scene .h2-steps li > * { text-align: left !important; justify-self: start; }
main.h2--scene section.sc-ex { background: #fff !important; }
main.h2--scene section.sc-ex .h2-head h2 { color: var(--f-gd) !important; }
main.h2--scene section.sc-ex a[class] { border-radius: 4px !important; box-shadow: none !important; border: 1px solid var(--f-line) !important; }
.rr-footer { background: var(--f-gx) !important; color: #AFC1B7 !important; }
.rr-footer a { color: #DCE6E0 !important; }
.rr-footer .cb-footcol summary, .rr-footer .cb-footcall > p { color: var(--f-lime) !important; }
/* 2차 보정(10-27) */
main.h2--scene section.rr-faq { box-shadow: 0 0 0 100vmax var(--f-cream) !important; clip-path: inset(0 -100vmax) !important; padding-block: clamp(72px, 8vw, 110px) !important; }
main.h2--scene .h2-scope__cols { margin-top: 40px !important; }
/* 3차 보정(10-27) */
@media (min-width: 1280px) and (max-width: 1919px) {
  main.h2--scene .h2-hero--scene .h2-hero__photo::before { background: linear-gradient(90deg, rgba(6,37,27,.94) 0%, rgba(6,37,27,.84) 40%, rgba(6,37,27,.4) 60%, rgba(6,37,27,0) 76%), linear-gradient(0deg, rgba(6,37,27,.7) 0%, rgba(6,37,27,0) 24%) !important; }
}
/* 전 템플릿(10-27) */
main h1, main h2, main h3, .php-scene h1, .php-scene h2, .php-scene h3 { font-family: 'Noto Serif KR', 'Nanum Myeongjo', 'Batang', serif !important; letter-spacing: -.01em; }
main .h2-card__body strong, main .rg-hub-card strong { font-family: 'Noto Serif KR', 'Nanum Myeongjo', 'Batang', serif; }
/* 404 안내문 17px(10-27) */
.riho-not-found__copy p:not(.riho-not-found__eyebrow) { font-size: 17px !important; line-height: 1.7; }
.riho-not-found__copy h1 em { color: var(--f-g) !important; font-style: normal; }
/* 지역 찾기 카드 보정(10-27 사장님 캡처) */
.rr-finder .rr-finder__layout { background: var(--f-cream) !important; border: 1px solid var(--f-line) !important; border-radius: 12px !important; box-shadow: 0 18px 40px rgba(6,37,27,.12) !important; align-items: end; }
.rr-finder__form label { gap: 8px !important; color: var(--f-gd) !important; font-weight: 700; }
.rr-finder__form select { height: 56px !important; min-height: 56px; border-radius: 12px !important; border: 1px solid #CFC8B5 !important; background-color: #fff !important; }
.rr-finder__form { align-items: end !important; }
/* 버튼 찌그러짐·넘침 보정(10-27 사장님 캡처) */
a.tel-btn:not(.riho-site-header__call):not(.riho-footer__call) { flex: 0 0 auto !important; white-space: nowrap !important; min-width: max-content !important; width: auto; aspect-ratio: auto !important; }
a.tel-btn .tel-l, a.tel-btn .tel-n { display: block; white-space: nowrap; }
.h2-hero .h2-actions { flex-wrap: wrap !important; }
.h2-hero .h2-btn { flex: 0 0 auto !important; white-space: nowrap; }
@media (max-width: 820px) { a.tel-btn:not(.riho-site-header__call):not(.riho-footer__call) { min-width: 0 !important; } }

main .h2-more { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; min-height: 48px; padding: 0 22px !important;
  border: 1.5px solid var(--f-gd) !important; border-radius: 999px !important; background: transparent !important; color: var(--f-gd) !important;
  font-weight: 800; white-space: nowrap; text-indent: 0 !important; overflow: visible !important; }
main .h2-more:hover { background: var(--f-gd) !important; color: #fff !important; }

.riho-guide-v4__library-link { display: inline-flex !important; align-items: center; gap: 10px; min-height: 56px; padding: 0 26px !important;
  border-radius: 999px !important; background: var(--f-lime) !important; color: var(--f-gd) !important; font-weight: 900; border: 0 !important; box-shadow: none !important; width: auto !important; }
.riho-guide-v4__library-link span, .riho-guide-v4__library-link * { color: var(--f-gd) !important; }
.riho-guide-v4__topics { padding: 24px !important; border-radius: 12px !important; background: rgba(6,37,27,.92) !important; border: 1px solid rgba(201,230,110,.25) !important; position: relative !important; inset: auto !important; transform: none !important; margin-top: 28px !important; }
.riho-guide-v4__topics header, .riho-guide-v4__topics ul { padding-left: 0 !important; padding-right: 0 !important; }
.riho-guide-v4__topics a { padding-left: 4px !important; padding-right: 4px !important; }

.rc-side-call__btn { display: flex !important; align-items: center; gap: 10px; width: 100% !important; min-width: 0 !important; aspect-ratio: auto !important;
  border-radius: 16px !important; padding: 12px 14px !important; white-space: normal !important; box-sizing: border-box; }
.rc-side-call__btn img { flex: 0 0 28px; width: 28px; height: 28px; }
.rc-side-call__btn > span { display: grid; min-width: 0; }
.rc-side-call__btn small { white-space: normal; font-size: 14px !important; line-height: 1.3; color: var(--f-gd) !important; font-weight: 800; }
.rc-side-call__btn b { white-space: nowrap; font-size: 15px !important; color: var(--f-gd) !important; }
/* 글 옆 칸 넓히기(10-27) */
@media (min-width: 1024px) { .article-body-grid { grid-template-columns: minmax(0, 240px) minmax(0, 760px) !important; } }
.rc-side-call { padding: 16px 12px !important; }
/* 가이드 목록 히어로 버튼 폭·설명 문구 위치(10-27) */
.riho-guide-v4__library-link { justify-self: start !important; align-self: start; width: max-content !important; max-width: 100%; }
.riho-guide-v4__hero--scene .scene-note { top: 14px !important; bottom: auto !important; right: 16px !important; }
/* 가이드 전체 보기 알약(10-27, 카드 규칙보다 강하게) */
main.h2--scene section.sc-ex a.h2-more { border: 1.5px solid var(--f-gd) !important; border-radius: 999px !important; background: transparent !important; color: var(--f-gd) !important; }
main.h2--scene section.sc-ex a.h2-more:hover { background: var(--f-gd) !important; color: #fff !important; }
/* 상담 배너 v1: imagegen 배경(10-27 사장님) */
.h2--scene .h2-final, main .article-cta.article-cta {
  position: relative; overflow: hidden; box-sizing: border-box; border-radius: 24px !important; color: #fff !important;
  background: linear-gradient(90deg, rgba(6,37,27,.97) 0%, rgba(6,37,27,.93) 40%, rgba(6,37,27,.62) 60%, rgba(6,37,27,.10) 100%),
              #06251B url(/assets/scene/riho-band-v1-1600.webp) right center / cover no-repeat !important; }
.h2--scene .h2-final { width: min(1200px, calc(100% - 48px)); margin: 64px auto 96px !important; padding: 80px 56px !important; }
.h2--scene .h2-final .h2-final__in { display: block !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.h2--scene .h2-final .h2-final__in > div { max-width: 600px; }
main .article-cta.article-cta { padding: 72px 56px !important; margin-bottom: 64px !important; }
main .article-cta.article-cta > * { max-width: 600px; }
.h2--scene .h2-final h2, main .article-cta.article-cta h2 { color: #fff !important; }
.h2--scene .h2-final p, main .article-cta.article-cta p:not(.section-label), main .article-cta.article-cta > small { color: #DCE6E0 !important; }
.h2--scene .h2-final a.tel-btn, main .article-cta.article-cta a.tel-btn { display: inline-flex !important; flex-direction: column; justify-content: center; align-items: flex-start;
  min-height: 76px; padding: 14px 36px !important; margin-top: 28px; border-radius: 999px !important; }
.h2--scene .h2-final a.tel-btn .tel-l, main .article-cta.article-cta a.tel-btn .tel-l { font-size: 19px !important; }
@media (max-width: 820px) {
  .h2--scene .h2-final, main .article-cta.article-cta {
    background: linear-gradient(180deg, rgba(6,37,27,1) 0%, rgba(6,37,27,1) 54%, rgba(6,37,27,.45) 64%, rgba(6,37,27,0) 76%),
                #06251B url(/assets/scene/riho-band-v1-m-820.webp) center bottom / 100% auto no-repeat !important;
    padding: 48px 24px calc((100vw - 32px) * .76 + 8px) !important; }
  .h2--scene .h2-final { width: calc(100% - 32px); margin: 48px auto 64px !important; }
  .h2--scene .h2-final a.tel-btn, main .article-cta.article-cta a.tel-btn { display: flex !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box; padding: 14px 24px !important; }
}
