
/* =========================================================
   Source: /css/pretendard.css
   ========================================================= */
@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Thin.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Thin.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Thin.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-ExtraLight.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-ExtraLight.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-ExtraLight.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Light.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Light.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Light.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Regular.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Regular.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Regular.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Medium.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Medium.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Medium.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-SemiBold.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-SemiBold.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-SemiBold.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Bold.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Bold.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Bold.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-ExtraBold.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-ExtraBold.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-ExtraBold.otf') format('opentype');
}
@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Black.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Black.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/fonts-archive/Pretendard/Pretendard-Black.otf') format('opentype');
}

/* =========================================================
   Source: /css/common.css
   ========================================================= */
/* JIS 최초 */
/* Reset */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif;
  font-weight: 400;
}
html,
body {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch;
}
body,
th,
td,
input,
select,
textarea,
button {
  font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif;
  line-height: 1.5;
}
html,
div,
body,
span,
article,
canvas,
img,
header,
footer,
section,
blockquote,
hr,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
dl,
dt,
dd,
table,
th,
tr,
td,
form,
fieldset,
legend,
input,
textarea,
button,
nav {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: middle;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
a {
  cursor: pointer;
}
a,
a:hover {
  text-decoration: none;
}
img {
  border: none;
  margin: 0;
  padding: 0;
}
blockquote {
  font-weight: bold;
  margin: 0;
  padding: 0;
}
ul,
li {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}
address {
  font-style: normal;
}
section,
nav,
article,
aside,
hgroup,
footer,
header {
  display: block;
}

input,
textarea,
select,
button,
table {
  font-size: inherit;
  font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif;
  line-height: inherit;
}
button {
  cursor: pointer;
  overflow: visible;
  background-color: transparent;
}
button,
select {
  text-transform: none;
}
textarea,
input,
select {
  background: none;
  -webkit-apprearance: none;
}
textarea {
  resize: none;
}
label {
  cursor: pointer;
}
legend,
caption {
  display: none;
  clear: both;
}
fieldset {
  border: none;
}
i {
  font-style: normal;
}
*:focus,
*:hover {
  outline: none !important;
}
hr {
  border-top: 1px solid #ccc;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
}

:root {
  --pretendard: "Pretendard", serif;
  --jrwhite: var(--jr-bg-card);
  --jrsoftwhite: #fcfcfd;
  --jrblack: var(--jr-text-press);
  --brown50: #eff8f5;
  --brown100: #f0d9c3;
  --brown200: #e8c7a7;
  --brown300: #dead7e;
  --brown400: #d79d65;
  --brown500: var(--jr-lawyer-warm-gold);
  --brown600: #bb7939;
  --brown700: #925e2d;
  --brown800: var(--jr-lawyer-warm-brown);
  --brown900: #56381a;
  --gray100: #ebebeb;
  --gray200: #c1c1c1;
  --gray300: #d2d2d2;
  --gray600: #aeaeae;
  --gray800: #424245;
}

/* drag bg */
::selection {
  color: white;
  background: var(--jr-lawyer-warm-gold);
}
::-moz-selection {
  color: white;
  background: var(--jr-lawyer-warm-gold);
}

.block {
  display: block !important;
}
.inline {
  display: inline-block;
}
.hidden {
  display: none;
  font-size: 0;
}

/* animation_effects */

@-webkit-keyframes close_spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes close_spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* 1. 스크롤바 전체 너비 설정 */
::-webkit-scrollbar {
  width: 10px;  /* 세로 스크롤바 두께 */
  height: 10px; /* 가로 스크롤바 두께 */
}

/* 2. 스크롤바 트랙 (바탕) */
::-webkit-scrollbar-track {
  background: #ebebeb; /* 아주 연한 회색 */
  border-radius: 10px;
}

/* 3. 스크롤바 막대 (움직이는 부분) */
::-webkit-scrollbar-thumb {
  background: #56381a ;/* 법무법인 메인 갈색 */
  border-radius: 10px;
}
/* 4. 마우스 올렸을 때 막대 색상 변경 */
::-webkit-scrollbar-thumb:hover {
  background: var(--jr-neutral-800); /* 조금 더 진한 색으로 변경 */
}

/* 업무사례 메뉴 숨김 — 복구: /js/jr-nav-visibility.js 에서 JR_SHOW_CASES_NAV = true */
html:not(.jr-show-cases-nav) li:has(> a[href="/cases.html"]),
html:not(.jr-show-cases-nav) li:has(> a[href$="/cases.html"]) {
  display: none !important;
}

/* =========================================================
   Source: /css/style.css
   ========================================================= */
main {
  background: var(--jr-bg-card);
  scroll-behavior: smooth;
  overflow-x: hidden;
  border-top: none;
}
.contents {
  border-top: none;
}

.lawyer-slider-container {
  width: 100%;
  position: relative;
  z-index: 2;
}
.visual .swiper {
  padding-top: 50px;
}
.swiper {
  width: 100%;
  height: 100%;
}
.visual .swiper-slide {
  margin-bottom: -2rem;
}
.swiper-slide {
  width: 100%;
  height: auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transition: all 0.4s ease;
}
.swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  transform: scale(0.85);
  filter: opacity(50%);
  transition: all 0.4s ease;
  object-fit: cover;
  margin-bottom: -2rem;
}
.swiper-slide-active {
  z-index: 10;
  bottom: 2rem;
}
.swiper-slide-active img {
  transform: scale(1.3);
  filter: grayscale(0%) brightness(100%);
}
.lawyer-info {
  position: absolute;
  bottom: 0;
  left: -4rem;
  right: -4rem;
  width: auto;
  height: auto;
  padding: 2rem;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  text-align: left;
  color: var(--jr-bg-card);
  opacity: 0;
  transition: 0.3s;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(
    180deg,
    rgba(146, 94, 45, 0) 0%,
    rgba(25, 25, 25, 0.8) 100%
  );
}
.swiper-slide-active .lawyer-info {
  opacity: 1;
}
.lawyer-info p {
  color: var(--brown100);
  font-size: 1.6rem;
}
.lawyer-info h3 {
  color: var(--jrwhite);
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
.lawyer-info h3 + p {
  font-size: 1.4rem;
  color: #aeaeae;
}
/* 변호사 슬라이더: pro 라인만 3배 크기 (이름 1.4rem×3) */
.visual .lawyer-slider-others .lawyer-info p:first-child {
  font-size: 4.2rem !important;
}
/* 후기 */
.review-card {
  background: var(--jr-bg-card);
  border-radius: 20px;
  padding: 40px 30px;
  transition: all 0.3s ease;
  transform: scale(0.9);
  opacity: 0.8;
}
.section2 .swiper {
  overflow: visible;
}
.swiper-slide-active .review-card {
  transform: scale(1.1);
  opacity: 1;
  z-index: 2;
}
.review-card__profile {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.review-card__img-box {
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 15px;
  background-color: var(--brown100);
}
.review-card__img-box img {
  transform: scale(1.1);
}
.review-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-card__name {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--brown900);
  margin-bottom: 5px;
}
.review-card__category {
  display: block;
  font-size: 1.8rem;
  color: var(--brown800);
}
.review-card__body {
  border-top: 1px solid var(--brown200);
  padding-top: 20px;
}
.review-card__text {
  font-size: 1.6rem;
  word-break: keep-all;
  color: var(--brown800);
  line-height: 1.4;
  letter-spacing: -0.04rem;
}
.review-btn {
  display: none;
  width: 4.5rem;
  height: 4.5rem;
  background-color: var(--jr-bg-card);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  color: var(--brown800);
  transition: all 0.3s ease;
}
.mobilelayout .review-btn {
  display: inherit;
}
.review-btn::after {
  font-size: 20px;
  font-weight: bold;
  display: block;
  margin-top: 1.2rem;
}
.review-btn:hover {
  background-color: var(--brown800);
  color: var(--jr-bg-card);
  transform: scale(1.1);
}
.review-btn--prev {
  left: 20px;
}
.review-btn--next {
  right: 20px;
}

/* 변호사 롤링 슬라이더 양쪽 화살표 — 홈페이지 갈색 톤과 통일, 사진 중앙 정렬 */
.visual .lawyer-slider-btn {
  position: absolute !important;
  z-index: 20;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  top: 58%;
  transform: translateY(-50%);
  background: rgba(86, 56, 26, 0.88);
  border: 1px solid var(--jr-border-inverse);
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(56, 36, 18, 0.35);
  color: var(--jr-bg-card);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.visual .lawyer-slider-btn::after {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--jr-bg-card);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.visual .lawyer-slider-btn:hover:not(.swiper-button-disabled) {
  background: var(--brown900);
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 20px rgba(56, 36, 18, 0.45);
  transform: translateY(-50%) scale(1.05);
}
.visual .lawyer-slider-btn:active:not(.swiper-button-disabled) {
  transform: translateY(-50%) scale(0.97);
}
.visual .lawyer-slider-btn.swiper-button-disabled {
  opacity: 1;
  cursor: pointer;
  transform: translateY(-50%);
  pointer-events: auto;
}
.visual .lawyer-slider-btn--prev {
  left: 12px;
}
.visual .lawyer-slider-btn--next {
  right: 12px;
}

main {
  position: relative;
}
.innerWrap {
  margin: 0 auto;
  width: 140rem;
  padding: 0 5rem;
}
.header {
  height: 64px;
  transition: all 0.4s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: var(--jr-bg-section-dark);
  width: 100%;
  border: none;
  box-sizing: border-box;
}
.header::before,
.header::after {
  display: none !important;
  content: none !important;
}
.header .innerWrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header .logo {
  transition: color 0.25s ease, opacity 0.25s ease;
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.2em;
  line-height: 64px;
  color: var(--jrwhite);
  font-weight: 800;
  text-decoration: none;
}
.header .logo-title {
  font-size: 24px;
  letter-spacing: -0.1rem;
  font-weight: 800;
}
.header .logo-tagline {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  opacity: 0.94;
  white-space: nowrap;
}
.header .logo .logo-subtext {
  font-weight: 700;
}
@media screen and (max-width: 899px) {
  .header .logo-tagline {
    font-size: clamp(0.99rem, 4.89vw + 0.26rem, 1.69rem);
    letter-spacing: -0.06em;
  }
}
.header .logo:hover {
  color: var(--jrwhite);
  opacity: 0.9;
}
.header .logo:focus-visible {
  outline: 2px solid rgba(201,162,39,0.8);
  outline-offset: 4px;
  border-radius: 2px;
}
.header .logo i {
  display: inline;
  margin-right: 0.5rem;
}
.header .gnb_menu {
  transition: all 0.4s ease-in-out;
  line-height: 64px;
}
.header .gnb_menu ul {
  display: flex;
}
.header .gnb_menu .gnb_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.header .gnb_menu .gnb_list > li {
  position: relative;
}
/* 메뉴: rem 대신 px로 고정해 메인/서브 동일 렌더링 */
.header .gnb_menu ul a {
  font-size: 16px;
  color: var(--jr-header-text, var(--jr-bg-soft));
  font-weight: 300;
  padding: 0 12px;
  height: 100%;
  line-height: 64px;
  display: block;
  transition: color 0.25s ease;
  position: relative;
  text-decoration: none;
}
/* 메뉴 링크 하단 라인 호버 */
.header .gnb_menu .gnb_list > li > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 15px;
  width: 0;
  height: 2px;
  background: #c9a227;
  transition: width 0.25s ease, left 0.25s ease;
}
.header .gnb_menu .gnb_list > li > a:hover {
  color: var(--jr-bg-card);
  font-weight: 700;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.22);
}
.header .gnb_menu .gnb_list > li > a:hover::after {
  width: calc(100% - 24px);
  left: 12px;
}
.header .gnb_menu .gnb_list > li > a.current {
  color: var(--jr-bg-card);
  font-weight: 500;
}
.header .gnb_menu .gnb_list > li > a.current::after {
  width: calc(100% - 24px);
  left: 12px;
  background: #c9a227;
}
.header .gnb_menu ul a:focus-visible {
  outline: 2px solid rgba(201,162,39,0.8);
  outline-offset: 2px;
  border-radius: 2px;
}
.gnb_seo {
  position: relative;
}
.gnb_seo_label {
  font-size: 16px;
  color: var(--jr-header-text, var(--jr-bg-soft));
  font-weight: 300;
  padding: 0 12px 0 12px;
  line-height: 64px;
  cursor: pointer;
  display: block;
  transition: color 0.25s ease;
  position: relative;
  user-select: none;
}
.gnb_seo_label::after {
  content: "";
  display: inline-block;
  margin-left: 0.4rem;
  vertical-align: 0.2em;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform 0.25s ease;
}
.gnb_seo:hover .gnb_seo_label {
  color: var(--jr-bg-card);
}
.gnb_seo:hover .gnb_seo_label::after {
  transform: rotate(180deg);
}
.gnb_seo_list {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 200px;
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
  z-index: 200;
}
.gnb_seo:hover .gnb_seo_list {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.gnb_seo_list li { display: block; }
.gnb_seo_list a {
  font-size: 14px;
  padding: 6px 12px !important;
  line-height: 1.4 !important;
  display: block;
  white-space: nowrap;
  color: rgba(255,255,255,0.9);
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}
/* 메뉴바 오른쪽 끝: 검색·햄버거 메뉴 */
.gnb_util {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 0.5rem;
}
.gnb_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: var(--jr-header-text, var(--jr-bg-soft));
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: color 0.25s ease, background 0.25s ease;
  text-decoration: none;
}
.gnb_btn::after { display: none !important; }
.gnb_btn:hover {
  color: var(--jr-bg-card);
  background: rgba(255,255,255,0.1);
}
.gnb_btn:focus-visible {
  outline: 2px solid rgba(201,162,39,0.8);
  outline-offset: 2px;
}
.gnb_btn svg {
  display: block;
  color: currentColor;
}
.gnb_seo_list a:hover {
  background: rgba(255,255,255,0.08);
  color: var(--jr-bg-card);
  padding-left: 14px !important;
}
.gnb_seo_list a:focus-visible {
  outline: 2px solid rgba(201,162,39,0.6);
  outline-offset: -2px;
}
.gnb_seo_list li:first-child a {
  border-radius: 10px 10px 0 0;
}
.gnb_seo_list li:last-child a {
  border-radius: 0 0 10px 10px;
}

/* ===== 검색 오버레이 (페이지 내 검색) ===== */
.jr-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  background: #1e1e1e;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}
.jr-search-overlay.is-open {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.jr-search-overlay .jr-search-form {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: 600px;
  margin: 0 auto;
  width: 100%;
}
.jr-search-overlay .jr-search-input {
  flex: 1;
  padding: 0.75rem 1rem;
  font-size: 1.5rem;
  border: none;
  border-radius: 10px;
  background: var(--jr-neutral-800);
  color: var(--jr-bg-card);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.jr-search-overlay .jr-search-input::placeholder {
  color: #aaaaaa;
}
.jr-search-overlay .jr-search-input:focus {
  border-color: #C97F3D;
}
.jr-search-overlay .jr-search-btn {
  padding: 0.75rem 1.25rem;
  font-size: 1.5rem;
  font-weight: 500;
  color: #1e1e1e;
  background: #C97F3D;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}
.jr-search-overlay .jr-search-btn:hover {
  background: #d48f4d;
  color: #1e1e1e;
}
.jr-search-overlay .jr-search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: rgba(255,255,255,0.9);
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
  flex-shrink: 0;
}
.jr-search-overlay .jr-search-close:hover {
  color: var(--jr-bg-card);
  background: rgba(255,255,255,0.1);
}
/* 검색 결과 영역: 밝은 배경 + 진한 글자로 가독성 확보 */
.jr-search-overlay .jr-search-results-area {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 0.75rem;
  background: #faf9f7;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  padding: 1rem 1.25rem;
  max-height: 70vh;
  overflow-y: auto;
}
.jr-search-overlay .jr-search-result {
  font-size: 1.6rem;
  font-weight: 600;
  color: #2d2018;
  text-align: center;
  margin-bottom: 0.75rem;
  padding: 0.75rem 0;
  line-height: 1.45;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5em;
}
.jr-search-overlay .jr-search-result.jr-search-no-result {
  color: #8b4513;
  font-weight: 500;
}
.jr-search-overlay .jr-search-other-wrap {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(45,32,24,0.12);
}
.jr-search-overlay .jr-search-other-heading {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #2d2018;
  margin-bottom: 0.6rem;
  letter-spacing: -0.02em;
}
.jr-search-overlay .jr-search-results-list {
  max-height: 45vh;
  overflow-y: auto;
  background: var(--jr-bg-card);
  border-radius: 10px;
  padding: 0.35rem 0;
  list-style: none;
  margin: 0;
  border: 1px solid rgba(45,32,24,0.08);
}
.jr-search-overlay .jr-search-results-list li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(45,32,24,0.06);
}
.jr-search-overlay .jr-search-results-list li:last-child {
  border-bottom: none;
}
.jr-search-overlay .jr-search-results-list a {
  display: block;
  padding: 0.9rem 1rem;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.4;
  transition: background 0.2s ease, color 0.2s ease;
  border-radius: 6px;
  margin: 0 0.25rem;
}
.jr-search-overlay .jr-search-results-list a:hover {
  background: rgba(201,127,61,0.12);
  color: #1a1a1a;
}
.jr-search-overlay .jr-search-results-list .jr-search-result-title {
  font-weight: 600;
  color: #1a1a1a;
  display: block;
}
.jr-search-overlay .jr-search-results-list .jr-search-result-url {
  font-size: 0.64rem;
  color: #6b5b4f;
  margin-top: 0.25rem;
  display: block;
}

/* ===== 햄버거 메뉴 — 학교폭력전략센터(딥블루·라이트 블루 톤) ===== */
.jr-side-menu-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(10, 22, 40, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.jr-side-menu-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}
.jr-side-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: min(340px, 88vw);
  max-width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #f5f9ff 0%, var(--jr-brand-accent-softer) 48%, #e8f1fb 100%);
  box-shadow: -16px 0 48px rgba(15, 40, 71, 0.22), -4px 0 0 var(--jr-form-focus-ring);
  z-index: 9999;
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.jr-side-menu.is-open {
  transform: translateX(0);
}
.jr-side-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 1.25rem 1.25rem 1.5rem;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
  background: linear-gradient(135deg, var(--jr-text-heading) 0%, #0a2a63 100%);
}
.jr-side-menu-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--jr-divider);
  background: transparent;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.jr-side-menu-close:hover {
  background: rgba(255, 255, 255, 0.12);
  color: var(--jr-bg-card);
  transform: scale(1.02);
}
.jr-side-menu-close:active {
  transform: scale(0.98);
  background: var(--jr-border-inverse);
}
.jr-side-menu-close svg {
  display: block;
}
.jr-side-menu-body {
  padding: 1.25rem 0 2.5rem;
  flex: 1;
  background: transparent;
}
.jr-side-menu-all {
  margin: 0;
  padding: 0;
  font-size: 2.35rem;
  font-weight: 700;
  color: var(--jr-bg-soft);
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.jr-side-menu-all a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.jr-side-menu-all a:hover {
  color: var(--jr-section-number);
}
.jr-side-menu .jr-side-menu-section {
  padding: 0 1.25rem 1.5rem 1.5rem;
  margin-bottom: 0.75rem;
}
.jr-side-menu .jr-side-menu-section:last-child {
  margin-bottom: 0;
  padding-bottom: 1.5rem;
}
/* 섹션 제목: 좌측 악센트(블루) + 옅은 블루 배경 */
.jr-side-menu .jr-side-menu-title {
  position: relative;
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--jr-text-main);
  margin: 0 0 0.9rem 0;
  padding: 0.75rem 1rem 0.75rem 1.25rem;
  letter-spacing: -0.02em;
  line-height: 1.3;
  background: rgba(37, 99, 235, 0.1);
  border-radius: 10px;
  border-bottom: none;
}
.jr-side-menu .jr-side-menu-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 70%;
  min-height: 1.2em;
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-secondary) 100%);
  border-radius: 0 3px 3px 0;
}
.jr-side-menu-subheading {
  margin: 0.35rem 0 0.5rem 0;
  padding: 0 1.25rem 0 1.5rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--jr-neutral-slate);
  letter-spacing: -0.02em;
}
.jr-side-menu .jr-side-menu-list--sub {
  margin-bottom: 0.9rem;
  margin-left: 0.5rem;
}
.jr-side-menu .jr-side-menu-list--sub li {
  padding-left: 1.75rem;
}
/* 리스트: 블릿(::before) */
.jr-side-menu .jr-side-menu-list {
  list-style: none !important;
  margin: 0;
  padding: 0;
  padding-left: 0;
}
.jr-side-menu .jr-side-menu-list li {
  margin: 0 0 0.35rem 0;
  padding: 0;
  position: relative;
  padding-left: 1.5rem;
}
.jr-side-menu .jr-side-menu-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--jr-brand-primary);
  font-size: 1.15em;
  font-weight: 700;
  line-height: 1;
}
.jr-side-menu .jr-side-menu-list a {
  display: block;
  padding: 0.85rem 1rem 0.85rem 0;
  font-size: 1.575rem;
  font-weight: 500;
  color: var(--jr-text-main);
  text-decoration: none;
  border-radius: 12px;
  transition: background 0.2s ease, color 0.2s ease;
  line-height: 1.4;
}
.jr-side-menu .jr-side-menu-list a:hover {
  background: rgba(37, 99, 235, 0.1);
  color: #0a2a63;
}
.jr-side-menu .jr-side-menu-list a:focus-visible {
  outline: 2px solid var(--jr-overlay-brand-medium);
  outline-offset: 2px;
}
.jr-side-menu .jr-side-menu-list a:active {
  background: rgba(37, 99, 235, 0.14);
}

.breadcrumb {
  padding: 0.8rem 0;
  margin: 7rem auto 0;
  max-width: 140rem;
  padding-left: 5rem;
  padding-right: 5rem;
  font-size: 1.35rem;
  color: var(--brown700, #8b6914);
}
.breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.breadcrumb li:not(:last-child)::after {
  content: ">";
  margin-left: 0.4rem;
  color: #999;
}
.breadcrumb a {
  color: var(--brown800, var(--jr-lawyer-warm-brown));
  text-decoration: none;
}
.breadcrumb a:hover { text-decoration: underline; }
.sect {
  padding: clamp(5rem, 3.269rem + 7.69vw, 10rem) 0;
}
.visual {
  margin-top: 64px;
  background: url("/images/main_visual.png") 50% no-repeat;
  background-size: cover;
  width: 100%;
  background-attachment: fixed;
}
.visual .innerWrap {
  margin-top: 0;
  padding: 0;
}
.slogan_wrap {
  text-align: center;
  padding: 7rem 0 1.5rem 0;
}
.visual .title {
  text-align: left;
  margin-left: 10rem;
}
.visual .title h1 {
  font-size: clamp(2.5rem, 1.808rem + 3.08vw, 4.5rem);
  line-height: 1.2;
  color: var(--brown900);
  margin-bottom: 1.5rem;
  letter-spacing: -0.1rem;
}
.visual .title .subtxt {
  font-size: clamp(1.6rem, 1.392rem + 0.92vw, 2.2rem);
  color: var(--brown800);
  letter-spacing: -0.1rem;
  line-height: 1.4;
  text-align: left;
}
.visual .btn_group {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding-top: clamp(1rem, 0.308rem + 3.08vw, 3rem);
}
.visual .btn_group .btnRsv {
  color: var(--jrwhite);
  border: 1px solid var(--jrwhite);
}
.visual .btn_group .btnRsv i {
  filter: brightness(0) invert(1);
}
.visual .btn_group .btnCall {
  display: none !important;
  background-color: var(--brown500);
  color: var(--jrwhite);
  
}
.visual .btn_group .btncs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 4.5rem;
  font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem);
  border-radius: 100rem;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
  cursor: pointer;
  position: relative;
}
.visual .btn_group .btnCall:hover {
  background-color: var(--brown700, #8b5a2b) !important;
  color: var(--jrwhite);
  transform: translateY(-2px);
}
.visual .btn_group .btnRsv:hover {
  background-color: var(--brown900);
  color: var(--jrwhite);
  border-color: var(--brown900);
  transform: translateY(-2px);
}
.visual .btn_group .btncs i {
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
}
.sect {
  text-align: center;
}
.sect h2 {
  font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
  color: var(--brown900);
  line-height: 1.2;
}
.sect .innerWrap {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 1.269rem + 7.69vw, 8rem);
}
/* 업무사례 미리보기 캐러셀 (메인 #jrCasesPreview — Downloads index.html / 섹션 배경은 index.css #jrCasesPreview) */
/* index.html만 트랙·버튼 사이에 .jr-cases-preview-viewport — 한 줄 트랙이 이 박스 너비(뷰포트) 기준으로 잘림 */
.jr-cases-preview-viewport {
  overflow: hidden;
  width: 100%;
  min-width: 0;
  container-type: inline-size;
  container-name: jr-cases-preview;
}
.jr-cases-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
}
.jr-cases-preview-head h2 {
  text-align: left;
}
.jr-cases-preview-nav {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.jr-cases-preview-btn {
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  border: 1px solid rgba(86, 56, 26, 0.28);
  background: var(--jr-bg-card);
  color: var(--brown900);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.jr-cases-preview-btn:hover {
  background: var(--brown900);
  color: var(--jr-bg-card);
}
.jr-cases-preview-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.jr-cases-preview-track-wrap {
  overflow: hidden;
  width: 100%;
  position: relative;
  /* 호버 시 translateY(-2px)·그림자·확대로 상·하단 테두리가 잘리지 않도록 여유 */
  padding: 0.9rem 5.2rem 1.6rem;
  box-sizing: border-box;
}
.jr-cases-preview-section .jr-cases-preview-track-wrap {
  margin-top: -1.4rem;
}
.jr-cases-preview-btn--prev,
.jr-cases-preview-btn--next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}
.jr-cases-preview-btn--prev {
  left: 0.6rem;
}
.jr-cases-preview-btn--next {
  right: 0.6rem;
}
.jr-cases-preview-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.6rem;
  will-change: transform;
  transition: transform 0.35s ease;
  padding-top: 0.15rem;
  padding-bottom: 0.35rem;
}
.jr-cases-preview-card {
  /* 폴백: 트랙=뷰포트 너비일 때 4열 — 지원 브라우저는 아래 @supports에서 cqw로 덮음 */
  flex: 0 0 calc((100% - 4.8rem) / 4);
  max-width: calc((100% - 4.8rem) / 4);
  display: block;
  text-decoration: none;
  color: inherit;
  background: var(--jr-bg-card)df9;
  border: 1px solid var(--jr-lawyer-warm-tan);
  border-radius: 2.2rem;
  /* 변호사 사진 호버 확대가 카드 밖으로 보이도록 (칩은 absolute 유지) */
  overflow: visible;
  min-height: 33rem;
  padding: 1.8rem 1.6rem 1.75rem;
  position: relative;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@supports (width: 1cqw) {
  .jr-cases-preview-card {
    flex: 0 0 calc((100cqw - 4.8rem) / 4);
    max-width: calc((100cqw - 4.8rem) / 4);
  }
}
.jr-cases-preview-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}
.jr-cases-preview-card-chip {
  position: absolute;
  top: 0;
  right: 1.2rem;
  z-index: 4;
  background: #8b6b49;
  color: var(--jr-bg-card);
  border-radius: 0 0 1.2rem 1.2rem;
  padding: 0.65rem 1.2rem 0.55rem;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}
.jr-cases-preview-card-body {
  text-align: left;
  padding-top: 4.2rem;
}
.jr-cases-preview-card-cat {
  display: none;
}
.jr-cases-preview-card-title {
  font-size: 3rem;
  font-weight: 800;
  color: var(--jr-lawyer-warm-dark);
  line-height: 1.45;
  letter-spacing: -0.02em;
  margin: 0;
  min-height: 8.8rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.jr-cases-preview-card-summary {
  margin-top: 1.3rem;
  color: #5a4b3d;
  font-size: 2rem;
  line-height: 1.65;
  min-height: 10.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.jr-cases-preview-card-result {
  margin-top: 0.9rem;
  display: inline-flex;
  align-items: center;
  background: #f1e8da;
  color: #6b5235;
  border: 1px solid #d8c5a8;
  border-radius: 999px;
  padding: 0.35rem 0.95rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.jr-cases-preview-lawyers {
  margin-top: 1.5rem;
  display: flex;
  gap: 1.4rem;
  position: relative;
  z-index: 1;
}
.jr-cases-preview-lawyer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
}
a.jr-cases-preview-lawyer {
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 2;
  cursor: pointer;
}
.jr-cases-preview-lawyer img {
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 1rem;
  object-fit: contain;
  object-position: center top;
  background: #f2efe9;
  border: 1px solid #ddd7cc;
  transform-origin: center bottom;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
  will-change: transform;
}
a.jr-cases-preview-lawyer:hover img,
a.jr-cases-preview-lawyer:focus-visible img {
  transform: scale(1.18);
  box-shadow: 0 6px 16px rgba(45, 36, 25, 0.12);
  z-index: 2;
  position: relative;
}
@media (prefers-reduced-motion: reduce) {
  .jr-cases-preview-lawyer img {
    transition: none;
  }
  a.jr-cases-preview-lawyer:hover img,
  a.jr-cases-preview-lawyer:focus-visible img {
    transform: none;
  }
}
.jr-cases-preview-lawyer span {
  font-size: 1.25rem;
  color: #4b4035;
}
.jr-cases-preview-empty {
  font-size: 1.6rem;
  color: var(--brown700);
  margin-top: 1.4rem;
}
.jr-cases-preview-section .jr-section-more-wrap {
  margin-top: -2.8rem;
}

.section1 {
  background-color: #f9f7f2;
}
.section1 .cont {
  display: flex;
  align-items: stretch;
  gap: 1rem;
}
.section1 .cont .lst {
  width: calc(100% / 3);
  display: flex;
  flex-direction: column;
  align-items: center;
  border-right: 1px solid var(--brown100);
  padding: 0 2rem;
  gap: 0.5rem;
}
.section1 .cont .lst:last-child {
  border-right: none;
}
.section1 .cont .lst .icon-scale {
  transition: all 0.4s ease-in-out;
  display: inline-block;
  width: 5rem;
  height: 5rem;
  background: url("/images/icon_judgements.svg") no-repeat;
  background-size: contain;
}
.section1 .cont .lst .jr_result {
  background-color: var(--brown500);
  font-weight: 700;
  color: var(--jrwhite);
  font-size: clamp(1.8rem, 1.731rem + 0.31vw, 2rem);
  padding: 0.5rem 2rem;
  border-radius: 2rem;
}
.section1 .cont .lst .jr_category {
  font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem);
  font-weight: 500;
  color: var(--brown900);
}
.section1 .cont .lst .desc_txt {
  font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem);
  color: var(--brown700);
}

.section2 {
  background-color: #f5efe6;
}
.section2 .innerWrap {
  overflow: hidden;
}

.section3 {
  background-color: #f9f7f2;
}
.section3 .cont {
  padding: 3rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 2rem;
  display: flex;
  gap: 5rem;
  align-items: center;
}
.section3 .cont .add_info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  text-align: left;
  padding: 3rem clamp(1.5rem, 0.981rem + 2.31vw, 3rem);
  background-color: var(--brown500);
  color: var(--jrwhite);
  border-radius: 1.5rem;
}
.section3 .cont .add_info hr {
  border-color: var(--brown600);
}
.section3 .cont .add_info .jrinfo {
  font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem);
}
.section3 .cont .add_info .jrinfo .add {
  font-weight: 300;
}
.section3 .cont .add_info .name {
  font-size: clamp(1.8rem, 1.385rem + 1.85vw, 3rem);
  font-weight: 700;
}
.section3 .cont .add_info .location_wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.section3 .cont .add_info .location_wrap li {
  flex-direction: column;
  font-size: clamp(1.4rem, 1.331rem + 0.31vw, 1.6rem);
  display: flex;
  gap: 1rem;
}
.section3 .cont .add_info .location_wrap span {
  align-items: center;
  display: flex;
  gap: 0.8rem;
  border-radius: 2rem;
  width: fit-content;
  background-color: rgba(255, 255, 255, 0.2);
  font-weight: 500;
  padding: 0.4rem 1.5rem;
}
.section3 .cont .add_info .location_wrap i {
  width: 2rem;
  height: 2rem;
  display: inline-block;
}
.section3 .cont .add_info .map_wrap {
  display: flex;
}
.section3 .cont .add_info .map_wrap li {
  margin-right: 2rem;
}
.section3 .cont .add_info .map_wrap li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--jrwhite);
}
.section3 .cont .add_info .map_wrap li a img {
  width: clamp(4rem, 3.308rem + 3.08vw, 6rem);
  height: clamp(4rem, 3.308rem + 3.08vw, 6rem);
}
.section3 .cont .map img {
  max-width: 100%;
}

.footer {
  background-color: var(--jr-lawyer-warm-accent);
  color: var(--jrwhite);
}
.footer .innerWrap:not(.footer-inner--grid) {
  display: flex;
  justify-content: space-between;
  padding-top: clamp(5rem, 3.269rem + 7.69vw, 10rem);
  padding-bottom: clamp(5rem, 3.269rem + 7.69vw, 10rem);
}
.footer .float_left {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.footer .ft_info {
  font-size: clamp(1.4rem, 1.331rem + 0.31vw, 1.6rem);
  color: var(--brown100);
  letter-spacing: -0.1rem;
}
.footer .ft_info .jrci {
  font-size: clamp(2rem, 1.654rem + 1.54vw, 3rem);
  font-weight: 700;
  margin-bottom: 2rem;
  color: var(--jrwhite);
}
.footer .ft_info .jrci img {
  width: 1.5rem;
  display: inline-block;
  margin-right: 0.5rem;
}
.footer .ft_info p {
  font-weight: 300;
}
.footer .ft_jrinfo {
  color: var(--jr-bg-card);
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  font-size: 0;
  font-weight: 200;
}
.footer .ft_jrinfo span {
  font-size: clamp(1rem, 0.9rem + 0.35vw, 1.4rem);
  font-weight: 200;
}
.footer .ft_jrinfo .ft_sep {
  margin: 0;
  padding: 0 1rem;
}
.footer .ft_jrinfo button {
  font-size: clamp(1rem, 0.9rem + 0.35vw, 1.4rem);
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  font-weight: 200;
  color: var(--jrsoftwhite);
}
.footer .ft_jrinfo button b{
  font-weight: inherit;
}
.footer .btnFt_rsv {
  background-color: var(--brown800);
  color: var(--jrwhite);
  padding: 1rem 3rem;
  font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem);
  font-weight: 500;
  border-radius: 0.5rem;
}
.footer .center_lst {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  font-size: 1.8rem;
  color: var(--jr-bg-card); /* footer bg 기준 대비(약 2.24) */
}
.footer .center_lst a {
  color: inherit;
  font-weight: 500;
  font-size: inherit;
}
.footer .center_lst span {
  font-size: inherit;
  font-weight: 500;
  color: inherit;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  vertical-align: middle;
}
.footer .float_right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.5rem;
}
.footer .copyright {
  margin-top: 2rem;
  font-size: 1.4rem;
  color: var(--brown200);
}
.footer .copyright-row {
  margin-top: 0;
  padding-bottom: 1.5rem;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  flex-wrap: nowrap;
  white-space: nowrap;
  font-size: clamp(1.2rem, 0.95vw, 1.4rem);
}
.footer .copyright-row .copyright {
  margin-top: 0;
  white-space: nowrap;
}
.footer .copyright-prefix,
.footer .copyright-suffix {
  display: inline;
}
.footer .footer-region-accordion {
  min-width: 0;
  max-width: none;
  margin: 0;
}
@media (min-width: 951px) {
  .footer .copyright-prefix {
    display: none;
  }
  .footer .copyright-suffix {
    order: 1;
    white-space: nowrap;
  }
  .footer .copyright-suffix::before {
    content: "Copyright ";
  }
  .footer .footer-region-accordion {
    order: 2;
  }
}
.footer .footer-region-accordion > summary {
  cursor: pointer;
  list-style: none;
  user-select: none;
  border: 0;
  border-radius: 0.7rem;
  padding: 0;
  font-size: 1.25rem;
  color: var(--brown200);
  line-height: 1.5;
  white-space: nowrap;
}
.footer .footer-region-accordion > summary::-webkit-details-marker {
  display: none;
}
.footer .footer-region-accordion[open] > summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.footer .footer-region-list {
  margin: 0;
  padding: 0.4rem 0.6rem 0.45rem 1rem;
  border: 0;
  border-bottom-left-radius: 0.7rem;
  border-bottom-right-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.08);
  font-size: 40%;
  line-height: 1.55;
}
.footer .footer-region-list li {
  margin: 0.125rem 0;
  color: var(--brown200);
}
.footer .footer-region-list a {
  font-size: inherit;
  color: var(--brown200);
  text-decoration: none;
}
.footer .footer-region-list a:hover {
  text-decoration: underline;
}
.footer .sns {
  display: flex;
  gap: 2rem;
}
.footer .footer-region-links {
  font-size: 0.075em;
  color: var(--jr-lawyer-warm-accent);
  text-align: right;
  width: 100%;
  margin-top: 0.5rem;
}
.footer .footer-region-links a {
  font-size: 1em;
  color: var(--jr-lawyer-warm-accent);
}

/* Grid footer: synced from style.min.css (index loads .min; subpages use this file only) */
.footer .innerWrap.footer-inner--grid{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(2.25rem,1.15rem+3.2vw,4.5rem);row-gap:2.75rem;align-items:start;padding-top:clamp(5rem,3.269rem+7.69vw,10rem);padding-bottom:clamp(5rem,3.269rem+7.69vw,10rem);justify-content:initial}.footer .footer-inner--grid .sns.sns--footer-top{grid-column:2;grid-row:1;justify-self:end;align-self:start}.footer .footer-inner--grid .footer__grid-left-copy{grid-column:1;grid-row:2}.footer .footer-inner--grid .footer__grid-right-links{grid-column:2;grid-row:2;justify-self:end;max-width:100%}.footer .footer-inner--grid .footer__grid-left-copy>p:first-of-type{margin-top:0}.footer .footer-inner--grid .footer__grid-right-links .center_lst{margin-top:0}.footer .innerWrap.footer-inner--grid .footer__grid-right-links{gap:.75rem !important}.footer .innerWrap.footer-inner--grid .footer__grid-right-links>.copyright-row{margin-top:0 !important;transform:none !important;box-sizing:border-box !important;padding-top:calc(2 * 0.8 * 1.72 * 1.62rem * 1.3) !important}.footer .innerWrap.footer-inner--grid .footer__grid-bottom-line{margin-top:0 !important;box-sizing:border-box !important;padding-top:calc(2 * 0.8 * 1.72 * 1.62rem * 1.3) !important}.footer .innerWrap.footer-inner--grid .footer__grid-bottom-line .copyright-row{margin-top:0 !important;padding-top:0 !important;transform:none !important}.footer .innerWrap:not(.footer-inner--grid){column-gap:clamp(2rem,1.25rem+2.4vw,4.25rem)}.footer .innerWrap:not(.footer-inner--grid) .float_left{gap:0;max-width:min(100%,52rem)}.footer .innerWrap:not(.footer-inner--grid) .ft_info .jrci{margin-bottom:clamp(1.35rem,1.1rem+0.85vw,2rem)}.footer .innerWrap:not(.footer-inner--grid) .ft_info>p:not(.jrci){font-size:80%;line-height:1.72;margin:.38em 0}.footer .innerWrap:not(.footer-inner--grid) .float_right{padding-top:clamp(0.25rem,0.1rem+0.45vw,0.65rem);gap:clamp(1.35rem,1.05rem+1vw,1.95rem)}.footer .innerWrap:not(.footer-inner--grid) .float_right .sns{gap:clamp(1.85rem,1.55rem+0.95vw,2.35rem)}.footer .innerWrap:not(.footer-inner--grid) .float_right .center_lst{justify-content:flex-end;gap:.45rem .7rem;line-height:1.58}.footer .innerWrap:not(.footer-inner--grid) .float_right .center_lst span{color:rgba(255,255,255,0.78);font-weight:300}.footer .innerWrap:not(.footer-inner--grid) .float_right .center_lst .new-popup-btn{background:0;border:0;padding:0;margin:0;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;line-height:inherit;color:var(--jrwhite);vertical-align:baseline}.footer .innerWrap:not(.footer-inner--grid) .float_right .center_lst .new-popup-btn b{font-weight:700}.footer .innerWrap:not(.footer-inner--grid) .copyright-row{margin-top:.45rem;width:100%;justify-content:flex-end;transform:none}.footer .innerWrap:not(.footer-inner--grid) .float_right .copyright-inline{margin:0;text-align:right;font-size:inherit;font-weight:300;color:var(--jrwhite);line-height:1.58;letter-spacing:-.03em;max-width:52rem;margin-left:auto}.footer .ft_info .jrci,.footer .footer-inner--grid>.jrci{font-size:150%;font-weight:700;margin-bottom:2rem;color:var(--jrwhite);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;line-height:1.25}.footer .ft_info .jrci .jrsymbol,.footer .footer-inner--grid>.jrci .jrsymbol{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}.footer .footer-inner--grid>.jrci{grid-column:1;grid-row:1;margin-bottom:0}.footer .ft_info .jrci img,.footer .footer-inner--grid>.jrci img{display:block;height:1em;width:auto;max-height:1em;margin:0;object-fit:contain}.footer .footer__grid-left-copy p{font-size:80%;line-height:1.72;margin:.28em 0}.footer .center_lst.footer-nav-line{display:block;width:100%;text-align:right;line-height:1.45;word-break:keep-all}.footer .center_lst.footer-nav-line .footer-nav-line__primary{display:inline-block;white-space:nowrap;max-width:min(100%,max-content);overflow-x:auto;vertical-align:baseline;-webkit-overflow-scrolling:touch;scrollbar-width:thin;word-break:normal}.footer .center_lst.footer-nav-line>a,.footer .center_lst.footer-nav-line .footer-nav-line__primary a,.footer .center_lst.footer-nav-line>.footer-legal-btn{display:inline;vertical-align:baseline;font-size:inherit;font-weight:500;line-height:1.45;color:var(--jrwhite);text-decoration:none}.footer .center_lst.footer-nav-line .footer-nav-line__primary a{white-space:nowrap}.footer .center_lst.footer-nav-line>.footer-legal-btn{background:0;border:0;padding:0;margin:0;cursor:pointer;font-family:inherit;font-style:inherit;-webkit-appearance:none;appearance:none}.footer .center_lst.footer-nav-line>.ft_sep{display:inline;font-weight:300;opacity:.95;color:var(--jrwhite);font-size:inherit;line-height:1.45}.footer .center_lst.footer-nav-line>.ft_sep.ft_sep--footer-mob-only{display:none}.footer .center_lst.footer-nav-line>a:hover,.footer .center_lst.footer-nav-line>a:focus-visible,.footer .center_lst.footer-nav-line .footer-nav-line__primary a:hover,.footer .center_lst.footer-nav-line .footer-nav-line__primary a:focus-visible,.footer .center_lst.footer-nav-line>.footer-legal-btn:hover,.footer .center_lst.footer-nav-line>.footer-legal-btn:focus-visible{text-decoration:underline}.footer .footer-legal-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end;width:100%;white-space:normal;font-size:inherit;line-height:1.5;color:var(--jrwhite)}.footer .footer-legal-row>span:not(.ft_sep){font-weight:400}.footer .footer-legal-row .ft_sep{font-weight:300;opacity:.95}.footer .footer-legal-row .footer-legal-btn{background:0;border:0;padding:0;margin:0;cursor:pointer;font:inherit;font-size:inherit;font-weight:700;color:var(--jrwhite)}.footer .footer-legal-row .footer-legal-btn:hover,.footer .footer-legal-row .footer-legal-btn:focus-visible{text-decoration:underline}.footer .float_right:has(.sns--footer-top){gap:2rem;padding-top:max(1.25rem,calc(clamp(4.25rem, 2.75rem + 3.2vw, 6.35rem) - 4.5rem))}.footer .sns.sns--footer-top{width:100%;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:2rem}.footer .footer-right-links-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;width:100%;margin-top:0;box-sizing:border-box}.footer .copyright-inline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:.55rem .85rem;width:100%;font-size:inherit;color:rgba(255,255,255,0.92);line-height:1.62}.footer .copyright-lead,.footer .copyright-tail{margin:0;font-weight:300;font-size:80%;color:var(--brown100);line-height:1.72;letter-spacing:-.08rem;white-space:nowrap}.footer .footer-region-accordion--inline{display:inline-block;vertical-align:baseline}.footer .footer-region-accordion>summary{cursor:pointer;list-style:none;user-select:none;border:0;border-radius:.7rem;padding:0;font-size:80%;font-weight:300;color:var(--brown100);line-height:1.72;letter-spacing:-.08rem;white-space:nowrap}.footer .footer-region-accordion[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.footer .footer-region-list{margin:0;padding:.4rem .6rem .45rem 1rem;border:0;border-bottom-left-radius:.7rem;border-bottom-right-radius:.7rem;background:rgba(255,255,255,0.08);text-align:left;max-height:22rem;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:40%;font-weight:300;line-height:1.55;letter-spacing:-.08rem}.footer .footer-region-list li{margin:.25rem 0;color:var(--brown200);text-align:left;font-size:inherit}.footer .footer-region-list a{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:var(--brown200);text-decoration:none;display:inline-block;text-align:left}.footer .footer-region-list a:hover{text-decoration:underline}

.ico_consult {
  background: url("/images/icon_pencil.svg") no-repeat;
  background-size: contain;
}
.ico_call {
  
  background: url("/images/icon_phone.svg") no-repeat;
  background-size: contain;
}
.ico_bus {
  background: url("/images/icon_bus.svg") no-repeat;
  background-size: contain;
}
.ico_car {
  background: url("/images/icon_car.svg") no-repeat;
  background-size: contain;
}
.icon_ctaWrite {
  background: url("/images/icon_cs.svg") no-repeat;
  background-size: contain;
}
.icon_ctakakao {
  background: url("/images/icon_chat.svg") no-repeat;
  background-size: contain;
}
.icon_ctanaver {
  background: url("/images/icon_reservation.svg") no-repeat;
  background-size: contain;
}
.icon_ctacall {
  background: url("/images/icon_call.svg") no-repeat;
  background-size: contain;
}

.ctaWrap {
  width: 8rem;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  position: fixed;
  z-index: 9999;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
}
.ctaWrap .ctaCs {
  width: 100%;
  background-color: var(--jrwhite);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  border-radius: 10rem;
  display: flex;
  padding-bottom: 2rem;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  align-self: stretch;
}
.ctaWrap .ctaCs .jrcall {
  background-color: var(--brown700);
  display: flex;
  border-radius: 50%;
  width: 7.35rem;
  height: 7.35rem;
  min-height: 7.35rem;
  max-width: calc(100% - 0.35rem);
  margin: -4.65rem auto 0.35rem;
  padding: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: center;
  flex-shrink: 0;
  box-shadow: 0 6px 18px rgba(45, 36, 25, 0.38);
  position: relative;
  z-index: 2;
}
.ctaWrap .ctaCs .jrcall p {
  color: var(--jrwhite);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
}
.ctaWrap .ctaCs .jrcall a.jrcall-tel .callnum {
  white-space: nowrap;
  line-height: 1.1;
}
.ctaWrap .ctaCs .jrcall a.jrcall-tel {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0.85rem 0.4rem;
  box-sizing: border-box;
  border-radius: 50%;
}
.ctaWrap .ctaCs li {
  display: block;
  width: 100%;
}
.ctaWrap .ctaCs a {
  width: 100%;
  height: 100%;
  display: flex;
  padding: 5px 0;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  align-self: stretch;
  text-align: center;
  color: var(--gray800);
  font-size: 1.4rem;
  font-weight: 600;
}
.ctaWrap .ctaCs a i {
  display: inline-block;
  width: 3rem;
  height: 3rem;
}
.ctaWrap .btntop {
  display: flex;
  width: 5rem;
  height: 5rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 10rem;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  font-size: 0;
}
.ctaWrap .btntop i {
  background: url("/images/icon_top.svg") no-repeat;
  background-size: contain;
  font-size: 0;
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
}
.naviTabbar {
  display: none;
  z-index: 100;
  width: 100%;
  bottom: 0;
  position: fixed;
  border-top: 1px solid var(--brown100);
  background-color: var(--jrwhite);
}
.naviTabbar .ctaCs {
  display: flex;
  align-items: center;
  align-self: stretch;
}
.naviTabbar .ctaCs li {
  width: calc(100% / 4);
}
.naviTabbar .ctaCs a {
  width: 100%;
  height: 100%;
  display: flex;
  padding: 10px 0;
  flex-direction: column;
  align-items: center;
  flex: 1 0 0;
  align-self: stretch;
  color: var(--gray800);
  font-size: 1.4rem;
  font-weight: 600;
  gap: 5px;
}
.naviTabbar .ctaCs a i {
  display: inline-block;
  width: 3rem;
  height: 3rem;
}

.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--jr-overlay-dark-medium);
  backdrop-filter: blur(4px);
  z-index: 1000;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  box-sizing: border-box;
}
.modal-content {
  padding: 4rem;
  border-radius: 1.2rem;
  position: relative;
  text-align: center;
  animation: slideDown 0.3s ease-out;
}
.close-btn {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  font-size: 1.75rem;
  cursor: pointer;
  color: var(--jr-neutral-600);
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.2s, background 0.2s;
}
.close-btn:hover {
  color: var(--brown800, var(--jr-lawyer-warm-brown));
  background: rgba(113, 73, 35, 0.08);
}
.csModal,.termModal {
  width: 50rem;
  max-width: 100%;
  box-sizing: border-box;
}
.csModal {
  background: #faf8f5;
  border: 1px solid rgba(113, 73, 35, 0.15);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}
.termModal {
  background: rgba(29, 29, 31, 0.9);
  border: 1px solid #797979;
}
.csModal h2,.termModal h2 {
  font-size: clamp(1.8rem, 1.662rem + 0.62vw, 2.2rem);
  font-weight: 700;
  margin: 0 0 0.5rem 0;
}
.csModal h2 {
  color: var(--brown900, #4a3520);
}
.termModal h2 {
  color: var(--jrwhite);
}
.csModal header p {
  color: #5c4a3a;
  font-size: 1.35rem;
  line-height: 1.5;
  margin: 0.35rem 0;
}
.csModal .csModal-header {
  margin-bottom: 0.5rem;
}
.csModal .subinfo {
  margin: 0.5rem 0 1rem 0;
  color: #c44;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.csModal .csModal-desc {
  margin-top: 0.25rem;
}

/* 상담 모달 안내: 모바일(≤899px)에서 두 줄, 넓은 화면은 한 문장처럼 이어짐 */
.csModal-desc__part {
  display: inline;
}

.csModal-desc__part + .csModal-desc__part::before {
  content: " ";
}

@media (max-width: 899px) {
  .csModal .csModal-desc__part + .csModal-desc__part::before {
    content: none;
  }

  .csModal .csModal-desc__part {
    display: block;
  }

  .csModal .csModal-desc__part + .csModal-desc__part {
    margin-top: 0.15em;
  }
}
.csModal .csForm p {
  width: 100%;
  margin: 0;
}
.csModal .csForm textarea {
  font-size: 1.05rem;
  width: 100%;
  margin: 0 0 1rem 0;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  border: 1px solid rgba(113, 73, 35, 0.25);
  background: var(--jr-bg-card);
  color: var(--jr-neutral-800);
  min-height: 5rem;
  resize: vertical;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.csModal .csForm textarea:focus {
  outline: none;
  border-color: var(--brown500, #a67c52);
  box-shadow: 0 0 0 3px rgba(113, 73, 35, 0.12);
}
.csModal .csForm textarea::placeholder {
  color: #999;
}
.csModal .csForm input {
  font-size: 1.05rem;
  width: 100%;
  margin: 0 0 1rem 0;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  border: 1px solid rgba(113, 73, 35, 0.25);
  background: var(--jr-bg-card);
  color: var(--jr-neutral-800);
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.csModal .csForm input:focus {
  outline: none;
  border-color: var(--brown500, #a67c52);
  box-shadow: 0 0 0 3px rgba(113, 73, 35, 0.12);
}
.csModal .csForm input::placeholder {
  color: #999;
}
.csModal .csForm {
  margin: 1.75rem 0 1.5rem 0;
  text-align: left;
}
.csModal .submit {
  border-radius: 12px;
  background: var(--brown800, var(--jr-lawyer-warm-brown));
  font-size: 1.15rem;
  padding: 1rem 3rem;
  font-weight: 600;
  color: var(--jr-bg-card);
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  box-shadow: 0 4px 14px rgba(113, 73, 35, 0.3);
}
.csModal .submit:hover {
  background: var(--brown900, #4a3520);
  transform: translateY(-1px);
}
.csModal .submit:active {
  transform: translateY(0);
}
.termModal .submit {
  border-radius: 4rem;
  background: var(--jrsoftwhite);
  font-size: 1.6rem;
  padding: 0.8rem 5rem;
  font-weight: 700;
  color: var(--gray800);
  border: none;
  cursor: pointer;
}
.modal-content.termModal {padding:4rem 2rem;} 
.termModal h2 {padding-bottom: 2rem;}
.termModal .txt_area {height:50vh; overflow-y: auto;
color:var(--gray300); font-size: 1.4rem; font-weight: 300;; text-align: left;
}
.termModal .txt_area b{font-size: 1.6rem; font-weight: 500;;}

@keyframes slideDown {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/*mobile 950*/
.mobilelayout .brMo {
  display: block;
}
.mobilelayout .header {
  height: 64px;
  overflow: hidden;
}
.mobilelayout .header .innerWrap {
  min-height: 0;
  height: 100%;
}
.mobilelayout .header .gnb_menu {
  line-height: 64px;
}
.mobilelayout .header .logo {
  line-height: 64px;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobilelayout .header .logo-title {
  font-size: 1.8rem;
}
.mobilelayout .naviTabbar {
  display: inherit;
}
.mobilelayout .ctaWrap {
  display: none;
}
.mobilelayout .contents {
  /* 고정 하단 탭바 높이만큼 여유를 둬 footer 하단이 가려지지 않게 */
  padding-bottom: calc(7.2rem + env(safe-area-inset-bottom));
}
.mobilelayout .csModal {
  width: 100%;
  margin: auto 2rem;
}

@media screen and (max-width: 1500px) {
  .innerWrap {
    width: 100%;
    padding: 0 5rem;
  }
}

@media screen and (max-width: 1200px) {
  .innerWrap {
    padding: 0 2rem;
  }
  .header .innerWrap {
    gap: 1rem;
  }
  .header .logo {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .header .logo-title {
    font-size: 2rem;
    letter-spacing: -0.06rem;
  }
  .header .gnb_menu ul a {
    font-size: 14px;
    padding: 0 8px;
  }
}

@media screen and (max-width: 950px) {
  .innerWrap {
    width: 100%;
    padding: 0 1rem;
  }
  .header .logo {
    max-width: calc(100vw - 8.5rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .header .logo-title {
    font-size: 1.7rem;
    line-height: 64px;
    letter-spacing: -0.04rem;
  }
  .visual .btn_group .btnCall {
    display: flex !important;
  }
  .visual {
    margin-top: 64px;
  }
  /* 모바일: 메뉴 링크·전문분야는 숨기고, 돋보기·햄버거만 표시 */
  .header .gnb_menu {
    display: flex !important;
  }
  .header .gnb_menu .gnb_list > li:not(.gnb_util) {
    display: none !important;
  }
  .header .gnb_menu .gnb_list {
    display: flex !important;
    align-items: center;
    gap: 0.25rem;
  }
  .visual .btn_group .btncs i {
    height: 2rem;
    width: 2rem;
  }
  .visual .innerWrap {
    margin-top: 0;
    padding-left: 0;
  }
  .visual .title {
    margin-left: 0;
  }
  .section1 .cont .lst .icon-scale {
    width: 3rem;
    height: 3rem;
  }
  .section3 .cont {
    flex-direction: column;
  }
  .footer .innerWrap:not(.footer-inner--grid) {
    display: flex;
    flex-direction: column;
    padding-bottom: 6rem;
  }
  .footer .innerWrap:not(.footer-inner--grid) .float_left,
  .footer .innerWrap:not(.footer-inner--grid) .float_right {
    display: contents;
  }
  .footer .innerWrap:not(.footer-inner--grid) .ft_info { order: 1; }
  .footer .innerWrap:not(.footer-inner--grid) .copyright-row { order: 2; }
  .footer .innerWrap:not(.footer-inner--grid) .ft_jrinfo { order: 3; }
  .footer .innerWrap:not(.footer-inner--grid) .center_lst { order: 4; }
  .footer .innerWrap:not(.footer-inner--grid) .sns { order: 5; }
  .footer .innerWrap:not(.footer-inner--grid) .copyright-row,
  .footer .innerWrap:not(.footer-inner--grid) .ft_jrinfo,
  .footer .innerWrap:not(.footer-inner--grid) .center_lst,
  .footer .innerWrap:not(.footer-inner--grid) .sns {
    margin-top: 0.4rem;
  }
  .footer .innerWrap:not(.footer-inner--grid) .center_lst {
    width: 100%;
    font-size: clamp(1rem, 2.2vw, 1.8rem);
    gap: 0;
    column-gap: 0;
    row-gap: 0;
    margin-bottom: 0.8rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .footer .innerWrap:not(.footer-inner--grid) .center_lst a {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: 400;
  }
  .footer .innerWrap:not(.footer-inner--grid) .center_lst span {
    font-size: inherit;
    font-weight: 400;
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }
  .footer .innerWrap:not(.footer-inner--grid) .center_lst::-webkit-scrollbar {
    display: none;
  }
  .footer .innerWrap:not(.footer-inner--grid) .copyright-row {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.6rem;
    white-space: nowrap;
    font-size: clamp(1rem, 2.2vw, 1.2rem);
    margin-bottom: 1rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .footer .innerWrap:not(.footer-inner--grid) .copyright-row::-webkit-scrollbar {
    display: none;
  }
  .footer .innerWrap:not(.footer-inner--grid) .copyright-row .copyright {
    white-space: nowrap;
    margin: 0;
    font-size: inherit;
    line-height: 1.35;
  }
  .footer .innerWrap:not(.footer-inner--grid) .copyright-row .footer-region-accordion > summary {
    font-size: inherit;
    line-height: 1.35;
  }
  .footer .ft_jrinfo .ft_sep {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .footer .ft_jrinfo,
  .footer .ft_jrinfo span,
  .footer .ft_jrinfo button {
    font-size: 1rem;
  }
  .footer .float_left {
    gap: 2rem;
    margin-bottom: 2rem;
  }
  /* 그리드 푸터: 구형 float 푸터용 모바일 규칙과 분리 (style.min 과 동기) */
  .footer .innerWrap.footer-inner--grid {
    grid-template-columns: 1fr;
    row-gap: 2.75rem;
    padding-top: clamp(0.85rem, 0.45rem + 1.8vw, 2.5rem) !important;
    padding-bottom: clamp(3.5rem, 8vw, 6.5rem) !important;
  }

  /* 학폭 아코디언 2개: 모바일 한 줄 50:50 (temple-theme 미포함 페이지) */
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.55rem !important;
    align-items: stretch !important;
    width: 100%;
    box-sizing: border-box;
  }
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  /* 학폭 아코디언 요약줄: Family site 아코디언과 동일 (temple-theme 미포함 페이지) */
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline > summary {
    list-style: none;
    cursor: pointer;
    position: relative;
    padding: 1.08rem 1.28rem !important;
    font-size: 1.64rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    color: var(--jr-neutral-blue-tint-4) !important;
  }
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline > summary::-webkit-details-marker {
    display: none;
  }
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline > summary::after {
    content: "";
    position: absolute;
    right: 1.7rem;
    top: 50%;
    width: 0.85rem;
    height: 0.85rem;
    border-right: 2px solid var(--jr-neutral-blue-tint);
    border-bottom: 2px solid var(--jr-neutral-blue-tint);
    transform: translateY(-60%) rotate(45deg);
  }
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline[open] > summary::after {
    transform: translateY(-35%) rotate(225deg);
  }

  .footer .innerWrap.footer-inner--grid > .jrci {
    grid-column: 1;
    grid-row: 2;
    margin-top: calc(1.44rem * 1.35) !important;
  }
  .footer .innerWrap.footer-inner--grid .footer__grid-left-copy {
    grid-column: 1;
    grid-row: 3;
  }
  .footer .innerWrap.footer-inner--grid .footer__grid-right-links {
    grid-column: 1;
    grid-row: 4;
    align-items: flex-end;
    justify-self: stretch;
  }
  .footer .innerWrap.footer-inner--grid .footer__grid-right-links .center_lst.footer-nav-line {
    text-align: right;
  }
  .footer .innerWrap.footer-inner--grid .footer-right-links-stack {
    margin-top: 0;
  }
  .footer .innerWrap.footer-inner--grid .center_lst.footer-nav-line {
    overflow-x: visible;
    text-align: left;
    line-height: 1.5;
  }
  .footer .innerWrap.footer-inner--grid .center_lst.footer-nav-line .footer-nav-line__br {
    display: none;
  }
  .footer .innerWrap.footer-inner--grid .center_lst.footer-nav-line > .ft_sep.ft_sep--footer-mob-only {
    display: inline;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.85rem;
    flex-wrap: wrap;
    white-space: normal;
    overflow-x: visible;
  }
  .footer .innerWrap.footer-inner--grid .copyright-inline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.5rem 0.65rem !important;
    width: 100%;
    text-align: left !important;
  }
  .footer .innerWrap.footer-inner--grid .copyright-one-line {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: clamp(0.9rem, 0.42rem + 3.85vw, 1.28rem) !important;
    line-height: 1.35 !important;
    letter-spacing: -0.045em !important;
    color: var(--jr-neutral-blue-tint-2) !important;
    white-space: nowrap !important;
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion--inline > summary,
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion:not(.footer-region-accordion--inline) > summary {
    text-align: left;
    white-space: normal;
  }

  .footer .sns img {
    width: 3rem;
  }
  .visual .btn_group .btncs {
    padding: 0.8rem 3rem;
  }
  .section1 .cont {
    flex-direction: column;
    gap: 0;
  }
  .jr-cases-preview-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .jr-cases-preview-track {
    gap: 1.2rem;
  }
  .jr-cases-preview-track-wrap {
    padding: 0.85rem 4.2rem 1.4rem;
  }
  .jr-cases-preview-card {
    flex: 0 0 100%;
    max-width: 100%;
    min-height: 0;
    padding-bottom: 0.1rem;
  }
  .jr-cases-preview-card-body {
    padding-top: 2.6rem;
  }
  .jr-cases-preview-card-title {
    font-size: 2.2rem;
    min-height: 6.9rem;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
  .jr-cases-preview-card-summary {
    margin-top: 0.45rem;
    font-size: 1.8rem;
    min-height: 6.2rem;
  }
  .jr-cases-preview-card-result {
    margin-top: 1.95rem;
  }
  .jr-cases-preview-lawyers {
    margin-top: 0.55rem;
    gap: 1rem;
  }
  .jr-cases-preview-lawyer {
    gap: 0.2rem;
  }
  .jr-cases-preview-btn {
    width: 3.6rem;
    height: 3.6rem;
    font-size: 1.7rem;
  }
  .jr-cases-preview-btn--prev {
    left: 0.2rem;
  }
  .jr-cases-preview-btn--next {
    right: 0.2rem;
  }
  .section1 .cont .lst {
    width: 100%;
    border-right: none;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 2rem;
  }
  .swiper-slide-active .review-card {
    transform: scale(1);
  }
  .swiper-wrapper {
    align-items: flex-start;
  }
  .ctaWrap {
    display: none;
  }
  .modal-content {
    padding: 4rem 2rem;
  }
  .section1 .cont .lst:last-child {
    border-bottom: none;
  }
}

/* 고정 헤더(64px)와 서브 히어로 간격 통일 */
.subpage .page-hero {
  margin-top: 64px !important;
}

@media screen and (max-width: 640px) {
  .header .logo-title {
    font-size: 1.45rem;
    letter-spacing: -0.02rem;
  }
  .header .logo {
    max-width: calc(100vw - 7rem);
  }
}

@media screen and (max-width: 480px) {
  .header .logo-title {
    font-size: 1.28rem;
  }
  .header .logo {
    max-width: calc(100vw - 6.75rem);
  }
}

@media screen and (max-width: 380px) {
  .header .logo-tagline {
    font-size: clamp(0.88rem, 4.16vw + 0.16rem, 1.35rem);
    letter-spacing: -0.07em;
  }
}

/* =========================================================
   Source: /css/index.css
   ========================================================= */
/* index.html page-specific styles */
      /* 메인 비주얼: 왼쪽 슬로건+나머지 변호사 슬라이더, 오른쪽 곽윤서 고정 */
      .visual .visual_two_col {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 2rem;
        box-sizing: border-box;
      }
      .visual .visual_left {
        flex: 1 1 54%;
        min-width: 0;
      }
      .visual .visual_right {
        flex: 0 0 auto;
        width: 100%;
      }
      @media (min-width: 900px) {
        .visual .visual_two_col {
          display: grid !important;
          grid-template-columns: 1fr minmax(280px, 400px);
          grid-template-rows: auto auto;
          align-items: end;
          gap: 1rem 1.75rem;
          min-height: clamp(68rem, 76vh, 84rem);
        }
        .visual .visual_left {
          grid-column: 1;
          grid-row: 1;
          min-width: 0;
        }
        .visual .visual_right {
          grid-column: 2;
          grid-row: 1 / -1;
          width: 100%;
          max-width: 400px;
          min-width: 0;
          justify-self: end;
          align-self: end;
          overflow: visible;
        }
        /* 5명 슬라이더: 1번 컬럼만 사용해 곽윤서(2번 컬럼)와 겹치지 않음 */
        .visual .lawyer-slider-container {
          grid-column: 1;
          grid-row: 2;
          min-width: 0;
          width: 100%;
          max-width: 100%;
          box-sizing: border-box;
        }
        .visual .lawyer-slider-container .swiper {
          width: 100%;
          max-width: min(100%, 72rem);
          margin-left: auto;
          margin-right: auto;
          overflow: hidden;
          padding-top: 28px;
        }
        .visual .lawyer-slider-others .swiper-slide {
          box-sizing: border-box;
        }
        .visual .title .subtxt .jr-subtxt-nowrap-pc {
          white-space: nowrap;
        }
        .visual .title .subtxt .jr-subtxt-nowrap-pc .jr-subtxt-br-mo {
          display: none;
        }
      }
      @media (max-width: 899px) {
        .visual .title .subtxt .jr-subtxt-nowrap-pc .jr-subtxt-br-mo {
          display: block;
          content: "";
        }
        .visual .visual_two_col {
          flex-direction: column;
          align-items: stretch !important;
          gap: 0 !important;
          row-gap: 0 !important;
        }
        .visual .jr-hero-fixed {
          margin-top: 0 !important;
        }
        .visual .innerWrap {
          padding-left: 0 !important;
        }
        .visual .slogan_wrap {
          text-align: center !important;
          margin-left: 0 !important;
          width: 100%;
          display: flex;
          flex-direction: column;
          align-items: center;
        }
        .visual .title {
          margin-left: 0 !important;
          width: 100%;
          text-align: center !important;
        }
        .visual .title h1,
        .visual .title .subtxt {
          text-align: center !important;
        }
        /* 풀블리드·마진은 max-width:1024px 공통 규칙 참고 — 여기서는 좁은 화면 전용 간격만 */
        .visual .btn_group {
          gap: 1rem;
          padding-top: 1.2rem !important;
        }
        .visual .btn_group .btncs {
          padding: 0.8rem 2rem !important;
        }
        .visual .lawyer-slider-container {
          order: 3;
          background: #f5f2ee;
          width: 100vw;
          max-width: 100vw;
          margin-left: calc(50% - 50vw);
          margin-right: calc(50% - 50vw);
          padding: 1.5rem max(1rem, env(safe-area-inset-right, 0px)) 2rem
            max(1rem, env(safe-area-inset-left, 0px));
          box-sizing: border-box;
          overflow-x: hidden;
        }
      }
      .jr-hero-fixed {
        position: relative;
        text-align: right;
        margin-top: 2rem;
      }
      .jr-hero-fixed {
        cursor: pointer;
        outline: none;
        border: none;
      }
      .jr-hero-fixed:focus {
        outline: none;
      }
      .jr-hero-fixed .hero-fixed-img {
        width: 100%;
        max-width: 420px;
        height: auto;
        min-height: 280px;
        display: block;
        margin-left: auto;
        object-fit: cover;
        object-position: center top;
        border-radius: 0 0 8px 8px;
        transition: transform 0.3s ease;
      }
      @media (min-width: 900px) {
        .jr-hero-fixed {
          margin-top: 0;
        }
        .jr-hero-fixed .hero-fixed-img {
          max-width: min(380px, 100%);
          max-height: min(66vh, 580px);
          min-height: 0;
          width: 100%;
          object-fit: cover;
          object-position: center 8%;
        }
      }
      /* 곽윤서 히어로: 그라데이션 밴드 안에 프로필 더보기 + 텍스트(하단 정렬) */
      .jr-hero-fixed {
        overflow: visible;
      }
      .jr-hero-fixed .lawyer-info {
        position: absolute;
        top: 50%;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        box-sizing: border-box;
        width: 100%;
        opacity: 1;
        background: linear-gradient(
          180deg,
          rgba(0, 0, 0, 0) 0%,
          rgba(58, 38, 26, 0.92) 58%,
          rgba(28, 18, 12, 0.98) 100%
        );
        border-radius: 0 0 8px 8px;
        padding: 2rem 0 4rem max(20px, env(safe-area-inset-left, 0px));
        margin: 0;
        text-align: left;
      }
      /* 태블릿: 좌우 여백 유지 */
      @media (max-width: 1024px) and (min-width: 900px) {
        .jr-hero-fixed .lawyer-info {
          align-items: stretch !important;
          width: 100% !important;
          left: 0 !important;
          right: 0 !important;
          padding: 1.5rem 0 3.25rem max(20px, env(safe-area-inset-left, 0px)) !important;
          border-radius: 0 0 8px 8px;
        }
        .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: none !important;
          align-self: center !important;
        }
      }
      /* 모바일: 밴드 가로 끝, 텍스트는 왼쪽 20px(+safe-area)만 */
      @media (max-width: 899px) {
        .jr-hero-fixed .lawyer-info {
          align-items: stretch !important;
          width: 100% !important;
          left: 0 !important;
          right: 0 !important;
          padding: 1.35rem 0 3rem max(20px, env(safe-area-inset-left, 0px)) !important;
          border-radius: 0 !important;
        }
        .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: none !important;
          align-self: center !important;
        }
      }
      /* 와이드 PC만 좌측 타이포 오프셋(ch) 유지 */
      @media (min-width: 1025px) {
        .jr-hero-fixed .lawyer-info {
          top: auto !important;
          bottom: 0 !important;
          padding: 1.4rem 0 1.2rem max(20px, env(safe-area-inset-left, 0px)) !important;
          background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(48, 31, 21, 0.78) 38%,
            rgba(28, 18, 12, 0.94) 100%
          ) !important;
        }
        .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: translateX(-2ch) !important;
        }
      }
      .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
        position: static;
        left: auto;
        top: auto;
        transform: translateX(-5ch);
        align-self: center;
        margin: 0 0 0.55rem 0;
        padding: 0.75rem 1.5rem;
        background: rgba(38, 26, 18, 0.94);
        backdrop-filter: blur(8px);
        color: #f8f6f4;
        font-size: 1.5rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        line-height: 1.3;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 4px 16px var(--jr-overlay-dark-soft);
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
        white-space: nowrap;
        opacity: 1;
        transition: box-shadow 0.28s ease;
        pointer-events: auto;
        cursor: pointer;
        z-index: auto;
      }
      @media (max-width: 899px) {
        .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          font-size: 1.35rem;
          padding: 0.65rem 1.3rem;
        }
      }
      .jr-hero-fixed .lawyer-info > p {
        align-self: stretch;
        text-align: left;
      }
      .jr-hero-fixed .lawyer-info > p:first-of-type {
        font-size: 2.4rem;
        color: var(--jr-bg-card) !important;
        margin: 0 0 0.3rem 0;
        font-weight: 600;
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
      }
      .jr-hero-fixed .lawyer-info h3 {
        font-size: 1.8rem;
        font-weight: 700;
        color: var(--jr-bg-card);
        margin: 0 0 0.35rem 0;
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
      }
      .jr-hero-fixed .lawyer-info h3 + p,
      .jr-hero-fixed .lawyer-info p:last-of-type {
        font-size: 1.4rem;
        color: var(--jr-bg-card);
        margin: 0;
        font-weight: 500;
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
      }
      /* PC에서도 전화상담/상담신청 버튼 모두 노출 */
      @media (min-width: 951px) {
        .visual .btn_group .btnCall {
          display: flex !important;
        }
      }
      /* 5명 사진 크기 축소, 잘리지 않도록 높이·비율 통일. 슬라이드 전체 클릭 영역 */
      .visual .lawyer-slider-others .swiper-slide {
        min-height: 200px;
        min-width: 0;
        flex-shrink: 0;
        position: relative;
        background: transparent !important;
        box-shadow: none !important;
        overflow: hidden;
        cursor: pointer;
      }
      .visual .lawyer-slider-others .swiper-slide::before {
        content: "";
        display: block;
        padding-top: 143%;
        width: 100%;
      }
      .visual .lawyer-slider-others .swiper-slide img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100% !important;
        min-height: 0;
        object-fit: cover;
        object-position: center top;
        filter: opacity(55%) brightness(0.9);
        transition: transform 0.3s ease, filter 0.3s ease;
      }
      .visual .lawyer-slider-others .swiper-slide-active img {
        filter: grayscale(0%) brightness(1);
        transform: scale(1.04);
      }
      .visual .lawyer-slider-others .lawyer-info {
        left: 0;
        right: 0;
        width: 100%;
        padding: 0.65rem 0.6rem;
        box-sizing: border-box;
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(45, 28, 14, 0.85) 40%, rgba(35, 22, 12, 0.95) 100%) !important;
        opacity: 0.65; /* 대기 상태: 정보 영역도 살짝 흐릿하게 */
        transform: translateY(26%); /* 대기 상태: 정보 영역을 더 아래로 내려 얼굴이 충분히 보이게 */
        transition: opacity 0.3s ease, transform 0.3s ease;
      }
      /* 대기 상태만: pro·이름 텍스트 한 칸 위로, 이름은 비표시 */
      .visual .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info {
        transform: translateY(16%);
      }
      .visual .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info h3 {
        visibility: hidden;
        opacity: 0;
        height: 0;
        overflow: hidden;
        margin: 0;
        padding: 0;
        font-size: 0;
        line-height: 0;
      }
      /* 대기 상태: 이름 숨김으로 내려간 pro 라인을 위로 보정 */
      .visual .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info p:first-child {
        margin-top: -3em !important;
      }
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info {
        opacity: 1;              /* 활성 슬라이드: 또렷하게 */
        transform: translateY(0); /* 활성 슬라이드: 원래 위치로 복귀 */
      }
      .visual .lawyer-slider-others .lawyer-info p,
      .visual .lawyer-slider-others .lawyer-info h3 {
        padding-left: 0;
        overflow: visible;
        white-space: normal;
        color: #c4b8a8 !important; /* 어두운 따뜻한 베이지 */
        font-weight: 600;
        text-shadow: 0 1px 1px var(--jr-overlay-dark-soft);
        text-align: center;
      }
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info p,
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info h3 {
        color: #d2c6b6 !important; /* 활성만 살짝 더 밝게 */
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft), 0 0 1px rgba(0, 0, 0, 0.4);
      }
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info p:first-child {
        color: var(--jr-bg-card) !important; /* 확대 시 pro 라인: 모바일과 동일, 강조 효과 유지 */
        text-align: center;
        margin-top: -1.5em; /* 위로 한 칸 */
      }
      .visual .lawyer-slider-others .lawyer-info p:first-child {
        color: #c4b8a8 !important;
        font-size: 2rem !important; /* pro 라인 3배 (이름 1.4rem×3), 확실히 적용 */
        font-weight: 600;
        text-align: center;
        margin-top: -1.5em; /* 위로 한 칸 */
      }
      .visual .lawyer-slider-others .lawyer-info h3 {
        font-size: 1.4rem; /* pro와 크기 맞바꿈 */
        text-align: center;
      }
      .visual .lawyer-slider-others .lawyer-info h3 + p,
      .visual .lawyer-slider-others .lawyer-info p:last-of-type {
        color: #b5a898 !important; /* 더 어두운 베이지 */
        font-weight: 500;
        font-size: 1.05rem;
        text-align: center;
      }
      /* 슬라이더: 프로필 더보기 – 대기 시 숨김, 확대(활성) 슬라이드에서만 표시. pro 라인 위 */
      .visual .lawyer-slider-others .jr-slider-profile-hint {
        position: absolute;
        left: 50%;
        top: 0%;
        transform: translate(-50%, calc(-50% - 3.75rem - 5px)); /* pro 라인·힌트 사이 간격 ~5px */
        padding: 0.4rem 0.85rem;
        background: rgba(55, 38, 26, 0.9);
        backdrop-filter: blur(8px);
        color: #c9bfb0;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        line-height: 1.3;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        box-shadow: 0 4px 14px var(--jr-overlay-dark-soft);
        text-shadow: 0 1px 1px var(--jr-overlay-dark-soft);
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.28s ease, visibility 0.28s ease, box-shadow 0.28s ease, background 0.2s ease;
        pointer-events: none;
        cursor: pointer;
        z-index: 3;
      }
      .visual .lawyer-slider-others .swiper-slide-active .jr-slider-profile-hint,
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info .jr-slider-profile-hint {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
      }
      .visual .lawyer-slider-others .jr-slider-profile-hint:hover {
        background: rgba(55, 40, 30, 0.96);
      }
      /* 프로필 더보기: pro 라인 위에 배치 */
      .visual .lawyer-slider-others .lawyer-info .jr-slider-profile-hint {
        position: absolute !important;
        left: 50% !important;
        top: 0% !important;
        transform: translate(-50%, calc(-50% - 3.75rem - 5px)) !important; /* pro 라인·힌트 사이 간격 ~5px */
        margin-top: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
      }
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info .jr-slider-profile-hint {
        margin-top: 0 !important;
      }
      @media (max-width: 899px) {
        .visual .lawyer-slider-others .lawyer-info p,
        .visual .lawyer-slider-others .lawyer-info h3 {
          color: var(--jr-bg-card) !important; /* 모바일: 학폭전략센터장과 동일 */
        }
        .visual .lawyer-slider-others .lawyer-info p:first-child,
        .visual .lawyer-slider-others .lawyer-info h3 + p,
        .visual .lawyer-slider-others .lawyer-info p:last-of-type {
          color: var(--jr-bg-card) !important;
        }
        .visual .lawyer-slider-others .jr-slider-profile-hint {
          font-size: 1.08rem;
          padding: 0.5rem 1rem;
          color: var(--jr-bg-card);
        }
        .visual .lawyer-slider-others .swiper-slide-active .jr-slider-profile-hint,
        .visual .lawyer-slider-others .swiper-slide-active .lawyer-info .jr-slider-profile-hint {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
          cursor: pointer;
        }
      }
      /* 방송 출연 영상 섹션 - 다른 섹션과 동일한 높이감 */
      .jr-broadcast-section { padding: 8rem 0; background: transparent; min-height: 50vh; }
      .jr-broadcast-section .innerWrap { gap: 5.5rem !important; }
      .jr-broadcast-header { text-align: center; margin-bottom: 0; margin-top: 0; }
      .jr-broadcast-header .jr-broadcast-title { margin-bottom: 0.35rem; }
      .jr-broadcast-header .jr-broadcast-desc { margin: 0; }
      .jr-broadcast-badge { display: inline-block; padding: 0.4rem 1rem; border-radius: 6px; background: var(--jr-text-press); color: var(--jr-bg-card); font-size: 1.1rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.8rem; }
      .jr-broadcast-title { font-size: var(--jr-type-title); font-weight: 700; color: var(--jr-text-press); }
      .jr-broadcast-desc { font-size: var(--jr-type-section-desc); color: var(--brown700, var(--jr-text-press)); font-weight: 400; }
      /* 섹션 desc 공통: PC는 한 줄 흐름, 모바일·태블릿(≤1199px)에서만 br 표시 */
      .jr-broadcast-desc br.jr-desc-br-mo,
      .jr-press-desc br.jr-desc-br-mo,
      .jr-blog-desc br.jr-desc-br-mo,
      .jr-instagram-desc br.jr-desc-br-mo,
      .jr-naver-reviews-desc br.jr-desc-br-mo {
        display: none;
      }
      @media (max-width: 1199px) {
        .jr-broadcast-desc br.jr-desc-br-mo,
        .jr-press-desc br.jr-desc-br-mo,
        .jr-blog-desc br.jr-desc-br-mo,
        .jr-instagram-desc br.jr-desc-br-mo,
        .jr-naver-reviews-desc br.jr-desc-br-mo {
          display: block;
        }
      }
      .jr-media-width { max-width: 1200px; width: 100%; margin-left: auto; margin-right: auto; }
      .jr-broadcast-section .jr-media-width { margin-top: 0 !important; padding-top: 0; margin-bottom: 2rem; }
      .jr-broadcast-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; width: 100%; }
      @media (min-width: 768px) { .jr-broadcast-grid { grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 1024px) { .jr-broadcast-grid { grid-template-columns: repeat(3, 1fr); } }
      .jr-broadcast-card { background: var(--jr-bg-card); border: 1px solid transparent; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; cursor: pointer; text-align: left; }
      .jr-broadcast-card:hover { transform: translateY(-6px); box-shadow: 0 14px 28px rgba(0,0,0,0.12), 0 0 0 2px rgba(255, 140, 0, 0.45); border-color: rgba(255, 140, 0, 0.6); }
      .jr-video-wrap { position: relative; aspect-ratio: 16/9; background: #e5e7eb; overflow: hidden; border-radius: 12px 12px 0 0; }
      .jr-video-thumb { position: absolute; inset: 0; }
      .jr-video-thumb img { width: 100%; height: 100%; object-fit: cover; }
      .jr-channel-badge { position: absolute; left: 0.75rem; top: 0.75rem; padding: 0.3rem 0.6rem; border-radius: 4px; background: var(--jr-neutral-900); color: var(--jr-bg-card); font-size: 1.1rem; font-weight: 600; letter-spacing: 0.02em; }
      .jr-duration-badge { position: absolute; right: 0.75rem; bottom: 0.75rem; padding: 0.25rem 0.5rem; border-radius: 4px; background: var(--jr-neutral-900); color: var(--jr-bg-card); font-size: 1.1rem; }
      .jr-play-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 6.5rem; height: 6.5rem; min-width: 6.5rem; min-height: 6.5rem; border-radius: 50%; background: rgba(51, 51, 51, 0.65); border: 3px solid #B87C48; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, border-width 0.3s ease; }
      .jr-play-btn svg { width: 2.6rem; height: 2.6rem; fill: #B87C48; transition: fill 0.3s ease; margin-left: 0.15rem; }
      .jr-broadcast-card:hover .jr-play-btn { background: var(--jr-neutral-800); border: 5px solid #CD834E; transform: translate(-50%, -50%) scale(1.06); }
      .jr-broadcast-card:hover .jr-play-btn svg { fill: #CD834E; }
      .jr-video-iframe-wrap { position: absolute; inset: 0; }
      .jr-video-iframe-wrap iframe { width: 100%; height: 100%; border: 0; }
      .jr-broadcast-card-body { padding: 0 1rem 1rem 1rem; display: flex; flex-direction: column; gap: 0.25rem; }
      .jr-broadcast-card-body h3 { font-size: 1.6rem; font-weight: 700; color: var(--jr-neutral-900); margin: 0; line-height: 1.3; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color 0.3s ease; }
      .jr-broadcast-card:hover .jr-broadcast-card-body h3 { color: var(--jr-neutral-900); }
      .jr-broadcast-card-body p { font-size: 1.4rem; color: var(--jr-neutral-900); margin: 0; line-height: 1.4; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; white-space: normal; word-break: break-word; }
      .jr-broadcast-meta { display: flex; align-items: center; justify-content: space-between; font-size: 1.2rem; color: var(--jr-neutral-600); margin-top: auto; gap: 0.5rem; flex-wrap: wrap; }
      .jr-broadcast-meta .jr-meta-date { display: inline-flex; align-items: center; gap: 0.35rem; }
      .jr-broadcast-meta .jr-meta-views { display: inline-flex; align-items: center; gap: 0.35rem; }
      .jr-broadcast-meta svg { width: 1.4rem; height: 1.4rem; flex-shrink: 0; }
      .jr-section-more-wrap { margin-top: 2.5rem; display: flex; justify-content: center; width: 100%; }
      /* 블로그·인스타 등과 동일: 섹션 하단은 .jr-press-section padding 으로만 잡음 */
      .jr-press-section .jr-section-more-wrap { margin-bottom: 0; }
      .jr-section-more-btn { display: inline-flex; align-items: center; gap: 0.75rem 1rem; padding: 0.85rem 1.75rem; border-radius: 9999px; background: #3d352b; border: 1px solid #6b5d52; color: var(--jr-bg-card); font-size: 1.35rem; font-weight: 500; text-decoration: none; transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease; }
      .jr-section-more-btn:hover { background: #4a4035; border-color: #8b7355; color: var(--jr-bg-card); transform: translateY(-1px); }
      .jr-section-more-btn svg { width: 1.35rem; height: 1.35rem; flex-shrink: 0; stroke: currentColor; fill: none; }
      /* 신문/온라인 보도 섹션 - 방송 섹션과 동일한 제목·표 간격 */
      .jr-press-section { padding: 5rem 0; }
      .jr-press-section .jr-media-width { margin-top: 4rem !important; }
      .jr-press-section .innerWrap { gap: 0 !important; }
      .jr-press-header { text-align: center; margin-bottom: 0; }
      .jr-press-header .jr-press-desc { margin: 0; }
      /* 메인 #jrPress: 모바일(≤899px)만 최대 3건 — PC(≥900px)는 5건(스크립트 slice와 동일 기준) */
      @media (max-width: 899px) {
        #jrPress .jr-press-list > .jr-press-card:nth-child(n + 4) {
          display: none !important;
        }
      }
      .jr-press-badge { display: inline-flex; align-items: center; padding: 0.4rem 1rem; border-radius: 9999px; background: var(--brown200, #e8c7a7); color: var(--brown800); font-size: 1.2rem; font-weight: 600; margin-bottom: 0.8rem; }
      .jr-press-title { font-size: var(--jr-type-title); color: var(--brown900); margin-bottom: 0.5rem; }
      .jr-press-desc { font-size: var(--jr-type-section-desc); color: var(--brown700); }
      .jr-press-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; width: 100%; }
      .jr-press-card { display: flex; flex-wrap: wrap; border: 1px solid var(--jr-neutral-border); border-radius: 10px; background: var(--jr-bg-card); box-shadow: 0 1px 3px rgba(0,0,0,0.06); overflow: hidden; transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s; }
      .jr-press-card:hover { transform: translateY(-2px); border-color: var(--brown800); box-shadow: var(--jr-shadow-card); }
      .jr-press-card { cursor: pointer; }
      .jr-press-card.hidden { display: none !important; }
      .jr-press-card-left { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 1rem 1.25rem; min-width: 0; width: 100%; background: #fafaf9; border-bottom: 1px solid var(--jr-neutral-border); }
      @media (min-width: 640px) { .jr-press-card-left { flex-direction: column; align-items: flex-start; min-width: 12rem; width: auto; border-bottom: none; border-right: 1px solid var(--gray100); } }
      .jr-press-cat { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.9rem; border-radius: 9999px; background: #66BB6A; color: var(--jr-bg-card); font-size: 1.2rem; font-weight: 600; width: fit-content; }
      .jr-press-cat svg { width: 1.05rem; height: 1.05rem; flex-shrink: 0; stroke: var(--jr-bg-card); fill: none; }
      .jr-press-source { font-size: 1.35rem; color: var(--jr-neutral-800); font-weight: 500; text-align: left; }
      .jr-press-card-center { flex: 1; padding: 1rem; min-width: 0; text-align: left; }
      .jr-press-section .jr-press-card-center h3 { font-size: 2.3rem; font-weight: 600; color: var(--brown900); margin: 0 0 0.75rem 0 !important; text-align: left; }
      .jr-press-section .jr-press-card-center p { font-size: 1.4rem; color: var(--brown700); margin: 0; margin-top: 0.75rem !important; line-height: 1.4; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: left; }
      .jr-press-card-right { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 1rem 1.25rem; border-top: 1px solid var(--jr-neutral-border); width: 100%; }
      @media (min-width: 640px) { .jr-press-card-right { flex-direction: column; align-items: stretch; justify-content: center; border-top: none; border-left: 1px solid var(--gray100); min-width: 12rem; width: auto; } }
      @media (min-width: 640px) { .jr-press-card-right .jr-press-date { text-align: left; } }
      @media (min-width: 640px) { .jr-press-card-right .jr-press-link { align-self: flex-end; } }
      .jr-press-date { font-size: 1.2rem; color: var(--jr-neutral-800); }
      .jr-press-link { font-size: 1.4rem; color: var(--brown700); background: none; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.25rem; padding: 0; }
      .jr-press-link:hover { color: var(--brown500); }
      .jr-press-empty { text-align: center; padding: 2rem; color: var(--gray600); font-size: 1.4rem; }
      /* 기사 보기 모달 */
      .jr-modal-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.7); padding: 1rem; }
      .jr-modal-content { position: relative; width: 100%; max-width: 56rem; max-height: 90vh; background: transparent; }
      .jr-modal-close { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 10; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: rgba(0,0,0,0.7); color: var(--jr-bg-card); border: none; font-size: 2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
      .jr-modal-close:hover { background: var(--jr-neutral-900); }
      .jr-modal-iframe-wrap { position: relative; width: 100%; height: 70vh; background: var(--jr-bg-card); border-radius: 12px; overflow: hidden; }
      .jr-modal-iframe-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
      .jr-modal-caption { margin-top: 0.75rem; color: var(--jr-bg-card); font-size: 1.4rem; }
      .jr-modal-title { font-weight: 600; margin: 0 0 0.25rem 0; }
      .jr-modal-meta { margin: 0; font-size: 1.2rem; color: rgba(255,255,255,0.8); }
      .jr-press-modal-panel { width: 100%; max-height: 80vh; background: var(--jr-bg-card); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
      .jr-press-modal-caption { margin: 0; padding: 1rem 1.25rem 0.75rem; color: var(--jr-lawyer-warm-dark); border-bottom: 1px solid var(--jr-neutral-border); background: var(--jr-bg-card); }
      .jr-press-modal-title { font-weight: 700; margin: 0.5rem 0 0; font-size: 1.7rem; line-height: 1.35; color: var(--jr-lawyer-warm-dark); }
      .jr-press-modal-meta { margin: 0; font-size: 1.2rem; color: var(--jr-neutral-600); }
      .jr-press-modal-body { padding: 1rem 1.25rem; overflow-y: auto; color: var(--jr-lawyer-warm-dark); font-size: 1.35rem; line-height: 1.75; background: var(--jr-bg-card); }
      .jr-press-modal-image-wrap { margin-bottom: 1rem; border-radius: 10px; overflow: hidden; background: #f5f5f5; }
      .jr-press-modal-image { width: 100%; height: auto; display: block; }
      .jr-press-modal-body p { margin: 0.75rem 0 0; }
      .jr-press-modal-footer { padding: 0.85rem 1.25rem 1rem; border-top: 1px solid var(--jr-neutral-border); font-size: 1.2rem; color: var(--jr-neutral-600); background: var(--jr-bg-card); }
      .jr-press-modal-source-link { color: #B87C48; word-break: break-all; text-decoration: none; }
      .jr-press-modal-source-link:hover { text-decoration: underline; }
      /* 네이버 학폭 블로그 (Downloads index 동기화) */
      .jr-blog-section { padding: 5rem 0; }
      .jr-blog-section .jr-media-width { margin-top: 4rem !important; }
      .jr-blog-section .innerWrap { gap: 0 !important; }
      .jr-blog-header { text-align: center; margin-bottom: 0; margin-top: 0; }
      .jr-blog-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: var(--jr-lawyer-warm-dark);
        color: var(--jr-bg-card);
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        width: fit-content;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0.8rem;
        text-transform: uppercase;
      }
      .jr-blog-title { font-size: var(--jr-type-title); font-weight: 700; color: var(--brown900, var(--jr-text-press)); margin: 0; }
      .jr-blog-desc { font-size: var(--jr-type-section-desc); color: var(--brown700, var(--jr-text-press)); font-weight: 400; margin-top: 0.45rem; }
      .jr-blog-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; width: 100%; }
      @media (min-width: 768px) { .jr-blog-grid { grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 1024px) and (max-width: 1199px) { .jr-blog-grid { grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 1200px) { .jr-blog-grid { grid-template-columns: repeat(4, 1fr); } }
      .jr-blog-card { background: var(--jr-bg-card); border: none; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 10px rgba(45,36,25,0.07); transition: transform 0.3s ease, box-shadow 0.3s ease; text-decoration: none; color: inherit; appearance: none; -webkit-appearance: none; display: block; width: 100%; text-align: left; cursor: pointer; padding: 0; }
      .jr-blog-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(0,0,0,0.12); }
      .jr-blog-thumb { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: var(--jr-lawyer-warm-surface); }
      .jr-blog-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .jr-blog-body { padding: 0.9rem 1rem 1rem; }
      .jr-blog-body h3 { margin: 0; font-size: 1.55rem; color: var(--jr-lawyer-warm-mid); line-height: 1.35; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.1rem; }
      .jr-blog-date { margin-top: 0.6rem; font-size: 1.2rem; color: var(--jr-lawyer-warm-tan); }
      .jr-blog-empty { text-align: center; padding: 2rem; color: var(--jr-lawyer-warm-tan); font-size: 1.4rem; }
      /* crime index.html 동일 마크업 — 정적 카드(키워드·썸네일 16:9) */
      #jrBlog .jr-blog-grid--static .jr-blog-card {
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
        text-align: left;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__thumb {
        position: relative;
        aspect-ratio: 16 / 9;
        background: var(--jr-lawyer-warm-surface);
        overflow: hidden;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__thumb img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__body {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.9rem 1rem 1rem;
        flex: 1 1 auto;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__keywords {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.35rem 0.4rem;
        margin: 0;
        line-height: 1.3;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__keyword {
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--brown700, #6d4c32);
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__keyword-sep {
        color: #a89888;
        font-weight: 400;
        font-size: 1.2rem;
        user-select: none;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__title {
        margin: 0;
        font-size: 1.55rem;
        font-weight: 700;
        color: var(--jr-lawyer-warm-mid);
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      #jrBlog .jr-blog-grid--static .jr-blog-card__desc {
        margin: 0;
        font-size: 1.35rem;
        color: var(--brown700, #4e4438);
        line-height: 1.45;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      /* 상황별 맞춤변호사 검색 (메인 히어로 아래) */
      /* .sect .innerWrap 기본 gap 덮어쓰기: 헤드 · 검색박스 · CTA 사이 30px */
      section.lawyer-search-wrap .innerWrap {
        gap: 30px !important;
      }
      .lawyer-search-wrap .lawyer-search-head {
        text-align: center;
        margin-bottom: 0;
      }
      .lawyer-search-sect {
        margin-bottom: 0;
        min-height: 180px;
        box-sizing: border-box;
        padding: 1.25rem 1.25rem;
        background: linear-gradient(135deg, #faf8f5 0%, #f3f0eb 100%);
        border-radius: 12px;
        border: 1px solid rgba(184,115,51,0.2);
        box-shadow: 0 2px 12px rgba(45,36,24,0.06);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
      }
      .lawyer-search-sect .lawyer-search-controls {
        display: flex;
        flex-wrap: wrap;
        gap: 0.6rem 0.85rem;
        align-items: flex-end;
        justify-content: center;
        width: 100%;
      }
      .lawyer-search-sect .lawyer-search-controls label { font-size: clamp(1.55rem, 2.2vw, 1.9rem); font-weight: 600; color: #4a4035; display: block; margin-bottom: 0.35rem; }
      .lawyer-search-sect .lawyer-search-wrap { flex: 0 1 280px; min-width: 0; max-width: 100%; }
      .lawyer-search-sect select, .lawyer-search-sect input[type="text"] { width: 100%; padding: 0.65rem 1rem; font-size: clamp(1.55rem, 2.2vw, 1.9rem); border: 1px solid rgba(45,36,24,0.25); border-radius: 8px; background: var(--jr-bg-card); color: #1a1612; box-sizing: border-box; text-align: center; }
      .lawyer-search-sect input[type="text"]::placeholder { text-align: center; }
      .lawyer-search-sect select:focus, .lawyer-search-sect input[type="text"]:focus { outline: none; border-color: #B87333; box-shadow: 0 0 0 2px rgba(184,115,51,0.2); }
      .lawyer-search-sect .lawyer-search-results {
        margin-top: 0.85rem;
        padding-top: 0.85rem;
        border-top: 1px solid rgba(45,36,24,0.1);
        width: 100%;
        text-align: center;
      }
      .lawyer-search-sect .lawyer-search-results h3 { font-size: clamp(1.55rem, 2.2vw, 1.9rem); font-weight: 600; color: var(--jr-lawyer-warm-dark); margin: 0 0 0.6rem 0; }
      .lawyer-search-sect .lawyer-search-results-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.5rem;
      }
      .lawyer-search-results-list { list-style: none; margin: 0; padding: 0; }
      .lawyer-search-results-list li { margin-bottom: 0.5rem; }
      .lawyer-search-results-list a { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; background: var(--jr-bg-card); border: 1px solid rgba(184,115,51,0.3); border-radius: 8px; color: #B87333; font-weight: 600; text-decoration: none; font-size: clamp(1.55rem, 2.2vw, 1.9rem); transition: background 0.2s, border-color 0.2s, color 0.2s; }
      .lawyer-search-results-list a:hover { background: #B87333; color: var(--jr-bg-card); border-color: #A06528; }
      .lawyer-search-sect .lawyer-search-empty { font-size: clamp(1.55rem, 2.2vw, 1.9rem); color: #6b5b4f; margin: 0; }
      /* 맞춤변호사 검색 섹션 하단 CTA (Downloads jr-why-credibility-next) — .sect 패딩은 건드리지 않음 */
      .lawyer-search-wrap .jr-why-credibility-next {
        margin-top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.65rem;
      }
      .lawyer-search-wrap .jr-why-credibility-next-tagline {
        margin: 0;
        max-width: 36rem;
        color: #34291f;
        font-size: 1.52rem;
        font-weight: 600;
        line-height: 1.55;
      }
      .lawyer-search-wrap .jr-why-credibility-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: auto;
        max-width: 100%;
        padding: 0.88rem 1.55rem;
        border-radius: 999px;
        background: #2f251a;
        color: var(--jr-bg-card);
        border: 1px solid #2f251a;
        box-shadow: 0 10px 22px rgba(45, 36, 25, 0.22);
        font-size: 1.38rem;
        font-weight: 700;
        text-decoration: none;
        transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
      }
      .lawyer-search-wrap .jr-why-credibility-link:hover {
        transform: translateY(-1px);
        background: #3b3024;
        box-shadow: 0 12px 26px rgba(45, 36, 25, 0.28);
      }
      @media (max-width: 767px) {
        .lawyer-search-wrap .jr-why-credibility-next {
          gap: 0.55rem;
        }
        .lawyer-search-wrap .jr-why-credibility-next-tagline {
          font-size: 1.42rem;
          padding: 0 0.5rem;
        }
        .lawyer-search-wrap .jr-why-credibility-link {
          width: 100%;
          max-width: 26rem;
        }
      }
      .footer .footer-region-links { font-size: 0.075em; color: var(--jr-lawyer-warm-accent); text-align: right; width: 100%; margin-top: 0.5rem; }
      .footer .footer-region-links a { font-size: 1em; color: var(--jr-lawyer-warm-accent); }

/* moved from #jr-broadcast-spacing-override */
      /* 방송: 섹션 제목과 영상 카드 행 간격 */
      section.jr-broadcast-section .innerWrap { gap: 5.5rem !important; }
      section.jr-broadcast-section .jr-media-width { margin-top: 0 !important; }
      /* 방송 카드: 영상-제목 간격 최소화 */
      section.jr-broadcast-section .jr-broadcast-card .jr-broadcast-card-body {
        padding: 0 1rem 1rem 1rem !important;
        gap: 0.25rem !important;
      }

/* moved from #jr-visual-mobile-left */
      @media screen and (max-width: 950px) {
        section.visual .visual_two_col { align-items: stretch !important; }
        /* 세로로 쌓일 때(899px 이하)만 visual_left·visual_right 사이 여백 제거 — 그리드(900px~) 가로 gap 은 유지 */
        section.visual .jr-hero-fixed {
          margin-top: 0 !important;
        }
        section.visual .visual_left {
          margin-bottom: 0 !important;
        }
        section.visual .innerWrap { padding-left: 0 !important; }
        section.visual .visual_left { padding-left: 0 !important; margin-left: 0 !important; max-width: 100% !important; }
        section.visual .slogan_wrap { padding-left: 0 !important; margin-left: 0 !important; text-align: center !important; width: 100%; display: flex; flex-direction: column; align-items: center; }
        section.visual .title { margin-left: 0 !important; padding-left: 0 !important; width: 100%; text-align: center !important; }
        section.visual .title h1,
        section.visual .title .subtxt { text-align: center !important; }
        .visual .btn_group .btnCall.btncs,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn {
          margin: 0 !important;
          padding: 0.78rem 1.9rem !important;
          font-size: 1.55rem !important;
          min-height: 4.3rem;
        }
        .visual .btn_group .btnCall.btncs i,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn i {
          width: 1.9rem;
          height: 1.9rem;
        }
      }
      @media screen and (max-width: 640px) {
        .visual .btn_group {
          gap: 0.8rem !important;
          padding-top: 0.8rem !important;
        }
        .visual .btn_group .btnCall.btncs,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn {
          padding: 0.72rem 1.45rem !important;
          font-size: 1.4rem !important;
          min-height: 4rem;
        }
        .visual .btn_group .btnCall.btncs i,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn i {
          width: 1.7rem;
          height: 1.7rem;
        }
      }
      @media screen and (max-width: 480px) {
        .visual .btn_group {
          gap: 0.65rem !important;
          padding-top: 0.65rem !important;
        }
        .visual .btn_group .btnCall.btncs,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn {
          padding: 0.65rem 1.2rem !important;
          font-size: 1.28rem !important;
          min-height: 3.6rem;
          border-radius: 999px;
        }
        .visual .btn_group .btnCall.btncs i,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn i {
          width: 1.5rem;
          height: 1.5rem;
        }
      }

      /* —— RISK CHECK (#jrRiskUrgency) —— 다운로드판 index.html 동기화 */
      .jr-risk-section {
        padding: 8rem 0;
      }
      #jrRiskUrgency .innerWrap {
        gap: 0 !important;
      }
      .jr-risk-head {
        text-align: center;
        margin-bottom: 4.8rem;
      }
      .jr-risk-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: var(--jr-lawyer-warm-dark);
        color: var(--jr-bg-card);
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 0.8rem;
      }
      .jr-risk-head h2 {
        margin: 0;
        color: var(--jr-lawyer-warm-dark);
        font-size: clamp(2.2rem, 1.6rem + 1.8vw, 3.2rem);
        line-height: 1.3;
      }
      /* h2 줄바꿈: 모바일·태블릿만 (데스크톱은 한 줄) */
      .jr-risk-head h2 br.jr-risk-title-br-mo {
        display: none;
      }
      @media (max-width: 1199px) {
        .jr-risk-head h2 br.jr-risk-title-br-mo {
          display: block;
        }
      }
      .jr-risk-head p {
        margin: 0.6rem 0 0;
        color: #555;
        font-size: 1.55rem;
        line-height: 1.75;
      }
      .jr-risk-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.45rem;
        counter-reset: riskCard;
      }
      .jr-risk-card {
        background: var(--jr-bg-card);
        border: 1px solid var(--jr-lawyer-warm-tan);
        border-radius: 12px;
        padding: 2.2rem 1.8rem;
        text-align: left;
        box-shadow: 0 2px 10px rgba(45, 36, 24, 0.07);
        position: relative;
        display: flex;
        flex-direction: column;
        height: 100%;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }
      .jr-risk-card:hover {
        border-color: #9a8a78;
        box-shadow: 0 8px 20px var(--jr-overlay-dark-soft);
        transform: translateY(-1px);
      }
      .jr-risk-card::before {
        content: none;
      }
      .jr-risk-card h3 {
        margin: 0 0 1.05rem;
        color: var(--jr-lawyer-warm-dark);
        font-size: clamp(1.62rem, 1.28rem + 0.82vw, 2.05rem);
        line-height: 1.38;
        letter-spacing: -0.01em;
        display: flex;
        align-items: center;
        gap: 0.75rem;
      }
      .jr-risk-card h3::before {
        counter-increment: riskCard;
        content: "0" counter(riskCard);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 3.2rem;
        height: 2.2rem;
        padding: 0 0.7rem;
        border-radius: 999px;
        background: #f4ede4;
        color: #8a6a49;
        font-size: 1.15rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        flex-shrink: 0;
      }
      .jr-risk-card p {
        margin: 0;
        color: #534a43;
        font-size: clamp(1.62rem, 1.45rem + 0.36vw, 1.8rem);
        line-height: 1.82;
        letter-spacing: -0.01em;
        word-break: keep-all;
      }
      .jr-risk-card .jr-risk-scenario {
        margin-top: auto;
        padding: 1.05rem 1.1rem;
        border-radius: 8px;
        background: #faf6f0;
        border: 1px solid #efe5d8;
        color: #6a5d50;
        font-size: clamp(1.56rem, 1.4rem + 0.32vw, 1.72rem);
        line-height: 1.84;
      }

      /* RISK 면·워터마크: home-daechi-section-stripes.css (--dae-bg-pattern-1) */
      #jrRiskUrgency.jr-risk-section {
        position: relative;
        overflow: hidden;
        background: transparent !important;
      }
      #jrRiskUrgency.jr-risk-section .innerWrap {
        position: relative;
        z-index: 1;
      }

      @media (max-width: 1100px) {
        .jr-risk-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .jr-why-core-cards {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      @media (max-width: 767px) {
        .jr-risk-section {
          padding: 6rem 0;
        }
        .jr-risk-grid {
          grid-template-columns: 1fr;
          gap: 0.9rem;
        }
        .jr-risk-head p br {
          display: none;
        }
        #jrRiskUrgency.jr-risk-section::before {
          opacity: 0.035;
          background-position: 92% 12%, 4% 92%;
          background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto;
        }
      }

      @media (max-width: 390px) {
        #jrRiskUrgency .innerWrap {
          width: min(100%, calc(100vw - 2.4rem));
          margin-left: auto;
          margin-right: auto;
        }
        #jrRiskUrgency .jr-risk-grid {
          gap: 0.7rem;
        }
      }

      /* RISK 섹션: 다운로드판과 동일한 제목·본문 스케일 */
      :root {
        --jr-type-title: clamp(2.42rem, 1.87rem + 1.45vw, 3.32rem);
        /* 방송/보도/블로그 섹션 설명: 최소 16px(1.6rem), 본문 스케일과 동일 계열 */
        --jr-type-section-desc: clamp(1.6rem, 1.45rem + 0.34vw, 1.82rem);
        --jr-type-subtitle: clamp(1.62rem, 1.45rem + 0.34vw, 1.82rem);
        --jr-type-card-title: clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem);
        --jr-type-body: clamp(1.53rem, 1.41rem + 0.29vw, 1.69rem);
      }
      #jrRiskUrgency .jr-risk-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }
      #jrRiskUrgency .jr-risk-head p {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin-top: 0.45rem !important;
      }
      #jrRiskUrgency .jr-risk-card h3 {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }
      #jrRiskUrgency .jr-risk-card p,
      #jrRiskUrgency .jr-risk-card .jr-risk-scenario {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }

      /* 맞춤변호사 검색: 제목·설명은 RISK CHECK(.jr-risk-head)와 동일 스케일 */
      .lawyer-search-wrap .lawyer-search-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
        font-weight: 700;
      }
      .lawyer-search-wrap .lawyer-search-head .lawyer-search-desc {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin: 0.45rem 0 0 !important;
      }

      /* —— WHY JR (#jrWhyCredibility) —— Downloads index 동기화 */
      .jr-why-credibility-section {
        position: relative;
        overflow: hidden;
        padding: 7.6rem 0;
        background: linear-gradient(180deg, #f9f5ef 0%, #f5efe7 100%);
      }
      .jr-why-credibility-section::before,
      .jr-why-credibility-section::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        pointer-events: none;
      }
      .jr-why-credibility-section::before {
        width: 34rem;
        height: 34rem;
        right: -10rem;
        top: -10rem;
        background: radial-gradient(circle, rgba(201, 168, 106, 0.24) 0%, rgba(201, 168, 106, 0) 70%);
      }
      .jr-why-credibility-section::after {
        width: 26rem;
        height: 26rem;
        left: -9rem;
        bottom: -10rem;
        background: radial-gradient(circle, rgba(45, 36, 25, 0.09) 0%, rgba(45, 36, 25, 0) 72%);
      }
      .jr-why-credibility-section .innerWrap {
        position: relative;
        z-index: 1;
        gap: 0 !important;
      }
      .jr-why-credibility-head {
        text-align: center;
        max-width: 88rem;
        margin: 0 auto;
      }
      .jr-why-credibility-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.42rem 1.1rem;
        border-radius: 999px;
        background: rgba(45, 36, 25, 0.92);
        color: var(--jr-bg-card)df8;
        border: 1px solid var(--jr-overlay-light-soft);
        box-shadow: 0 10px 20px rgba(45, 36, 25, 0.14);
        font-size: 1.12rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        margin-bottom: 0.8rem;
      }
      .jr-why-credibility-head h2 {
        margin: 0;
        color: var(--jr-lawyer-warm-mid);
        font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
        line-height: 1.2;
        letter-spacing: -0.02em;
        text-wrap: balance;
      }
      .jr-why-credibility-head p {
        margin: 1.35rem 0 0;
        color: #4e4438;
        font-size: 1.62rem;
        line-height: 1.85;
      }
      .jr-why-credibility-head .jr-why-mobile-break {
        display: none;
      }
      .jr-why-core-cards {
        margin-top: 3rem;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
        counter-reset: whyCore;
      }
      .jr-why-core-cards article {
        position: relative;
        overflow: hidden;
        background: var(--jr-bg-card);
        border: 1px solid var(--jr-lawyer-warm-tan);
        border-radius: 14px;
        padding: 1.95rem 1.65rem 1.75rem;
        box-shadow: 0 2px 10px rgba(45, 36, 25, 0.07), 0 1px 0 rgba(255, 255, 255, 0.6) inset;
        transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
      }
      .jr-why-core-cards article::before {
        counter-increment: whyCore;
        content: "0" counter(whyCore);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 3rem;
        height: 2.2rem;
        padding: 0 0.7rem;
        margin-bottom: 0.85rem;
        border-radius: 999px;
        background: #f3ebe1;
        color: #7f5f3f;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.03em;
      }
      .jr-why-core-cards article::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 3px;
        background: linear-gradient(90deg, #8e6a45 0%, #c9a86a 100%);
        opacity: 0.78;
      }
      .jr-why-core-cards article:hover {
        transform: translateY(-3px);
        border-color: #9a8a78;
        box-shadow: 0 10px 22px rgba(45, 36, 25, 0.11);
      }
      .jr-why-core-cards h3 {
        margin: 0;
        color: var(--jr-lawyer-warm-dark);
        font-size: clamp(1.62rem, 1.28rem + 0.82vw, 2.05rem);
        letter-spacing: -0.01em;
      }
      .jr-why-core-cards p {
        margin: 0.7rem 0 0;
        color: #4b4035;
        font-size: 1.4rem;
        line-height: 1.78;
      }
      .jr-why-core-cards p strong {
        color: #7a5833;
        font-weight: 800;
      }

      #jrWhyCredibility .jr-why-credibility-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }
      #jrWhyCredibility .jr-why-credibility-head p {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin-top: 0.45rem !important;
      }
      #jrWhyCredibility .jr-why-core-cards h3 {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }
      #jrWhyCredibility .jr-why-core-cards p {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }

      @media (max-width: 767px) {
        #jrWhyCredibility.jr-why-credibility-section {
          padding: 5.6rem 0;
        }
        #jrWhyCredibility .jr-why-credibility-head p br:not(.jr-why-mobile-break) {
          display: none;
        }
        #jrWhyCredibility .jr-why-credibility-head .jr-why-mobile-break {
          display: inline;
        }
        #jrWhyCredibility .jr-why-credibility-head h2 {
          font-size: clamp(2.35rem, 2rem + 0.8vw, 2.95rem) !important;
          line-height: 1.24;
        }
        #jrWhyCredibility .jr-why-credibility-head p {
          font-size: 1.48rem !important;
          line-height: 1.78;
        }
        #jrWhyCredibility .jr-why-core-cards {
          grid-template-columns: 1fr;
          margin-top: 1.45rem;
          gap: 0.95rem;
        }
        #jrWhyCredibility .jr-why-core-cards article {
          padding: 1.45rem 1.2rem 1.2rem;
          border-radius: 12px;
          box-shadow: 0 4px 14px rgba(45, 36, 25, 0.08);
          text-align: left;
        }
        #jrWhyCredibility .jr-why-core-cards article::before {
          content: none;
        }
        #jrWhyCredibility .jr-why-core-cards h3 {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          gap: 0.55rem;
          font-size: 1.92rem !important;
          line-height: 1.35;
        }
        #jrWhyCredibility .jr-why-core-cards h3::before {
          counter-increment: whyCore;
          content: "0" counter(whyCore);
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 2.9rem;
          height: 2rem;
          padding: 0 0.65rem;
          border-radius: 999px;
          background: #f3ebe1;
          color: #7f5f3f;
          font-size: 1.08rem;
          font-weight: 700;
          letter-spacing: 0.03em;
          flex-shrink: 0;
        }
        #jrWhyCredibility .jr-why-core-cards p {
          margin-top: 0.6rem;
          font-size: 1.36rem !important;
          line-height: 1.62;
          color: #4e4338;
        }
      }

      @media (max-width: 390px) {
        #jrWhyCredibility .jr-why-core-cards article {
          padding: 1.05rem 0.95rem 0.95rem;
        }
      }

      /* 업무사례 미리보기 #jrCasesPreview / JR 학폭상담사례 #jrConsultCases — Downloads index 동기화 */
      #jrCasesPreview.jr-cases-preview-section--paused {
        display: none !important;
      }
      /* 업무사례 면: home-daechi-section-stripes.css (B = --dae-bg-pattern-2) */
      #jrCasesPreview.jr-cases-preview-section,
      #jrConsultCases.jr-cases-preview-section {
        position: relative;
        overflow: hidden;
        background: transparent !important;
      }
      #jrCasesPreview.jr-cases-preview-section .innerWrap,
      #jrConsultCases.jr-cases-preview-section .innerWrap {
        position: relative;
        z-index: 1;
      }
      /* 업무사례·JR 학폭상담사례: RISK CHECK 부제↔카드와 동일 토큰(--jr-section-head-to-cards-gap, temple-theme) */
      #jrCasesPreview.jr-cases-preview-section .innerWrap,
      #jrConsultCases.jr-cases-preview-section .innerWrap {
        gap: var(--jr-section-head-to-cards-gap, clamp(2.25rem, 5vw, 3.75rem)) !important;
      }
      /* flex gap만 사용 — 전역 .jr-section-more-wrap margin-top 과 중복되면 카드↔버튼만 과하게 벌어짐 */
      #jrCasesPreview.jr-cases-preview-section .jr-section-more-wrap,
      #jrConsultCases.jr-cases-preview-section .jr-section-more-wrap {
        margin-top: 0 !important;
      }
      #jrCasesPreview .jr-why-credibility-head h2,
      #jrConsultCases .jr-why-credibility-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }
      #jrCasesPreview .jr-why-credibility-head p,
      #jrConsultCases .jr-why-credibility-head p {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin-top: 0.45rem !important;
      }
      #jrCasesPreview .jr-cases-preview-card-title,
      #jrConsultCases .jr-cases-preview-card-title {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }
      #jrCasesPreview .jr-cases-preview-card-summary,
      #jrConsultCases .jr-cases-preview-card-summary {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }
      #jrCasesPreview .jr-section-more-btn,
      #jrConsultCases .jr-section-more-btn {
        display: inline-flex !important;
        width: 24rem !important;
        min-width: 24rem !important;
        max-width: 24rem !important;
        min-height: 4.5rem !important;
        padding: 0.85rem 1.35rem !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.6rem !important;
        box-sizing: border-box !important;
      }
      #jrCasesPreview .jr-section-more-btn span,
      #jrConsultCases .jr-section-more-btn span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #jrCasesPreview .jr-section-more-btn svg,
      #jrConsultCases .jr-section-more-btn svg {
        width: 1.35rem !important;
        height: 1.35rem !important;
        flex-shrink: 0 !important;
      }
      #jrCasesPreview .jr-why-credibility-badge,
      #jrConsultCases .jr-why-credibility-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.42rem 1.1rem !important;
        border-radius: 999px !important;
        font-size: 1.12rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        line-height: 1 !important;
        margin-bottom: 0.8rem !important;
      }
      @media (max-width: 767px) {
        #jrCasesPreview.jr-cases-preview-section::before,
        #jrConsultCases.jr-cases-preview-section::before {
          opacity: 0.035;
          background-position: 92% 12%, 4% 92%;
          background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto;
        }
        #jrCasesPreview .jr-cases-preview-track-wrap,
        #jrConsultCases .jr-cases-preview-track-wrap {
          width: min(100%, calc(100vw - 2.4rem)) !important;
          max-width: min(100%, calc(100vw - 2.4rem)) !important;
          margin-left: auto !important;
          margin-right: auto !important;
          padding: 0.75rem 0 1.1rem !important;
          box-sizing: border-box;
        }
        #jrCasesPreview .jr-cases-preview-card,
        #jrConsultCases .jr-cases-preview-card {
          flex: 0 0 100% !important;
          width: 100% !important;
          max-width: 100% !important;
        }
        #jrCasesPreview .jr-cases-preview-btn--prev,
        #jrConsultCases .jr-cases-preview-btn--prev {
          left: -0.4rem !important;
        }
        #jrCasesPreview .jr-cases-preview-btn--next,
        #jrConsultCases .jr-cases-preview-btn--next {
          right: -0.4rem !important;
        }
      }
      @media (max-width: 1199px) and (min-width: 951px) {
        /* 태블릿: 업무사례만 3열 고정 — 상담사례(#jrConsultCases)는 JS가 폭 지정 */
        #jrCasesPreview .jr-cases-preview-track,
        #jrConsultCases .jr-cases-preview-track {
          gap: 1.6rem;
        }
        #jrCasesPreview .jr-cases-preview-card {
          flex: 0 0 calc((100% - 3.2rem) / 3) !important;
          width: calc((100% - 3.2rem) / 3) !important;
          max-width: calc((100% - 3.2rem) / 3) !important;
        }
        #jrCasesPreview .jr-cases-preview-btn--prev,
        #jrConsultCases .jr-cases-preview-btn--prev {
          left: -0.4rem !important;
        }
        #jrCasesPreview .jr-cases-preview-btn--next,
        #jrConsultCases .jr-cases-preview-btn--next {
          right: -0.4rem !important;
        }
      }
      @supports (width: 1cqw) {
        @media (max-width: 1199px) and (min-width: 951px) {
          #jrCasesPreview .jr-cases-preview-card {
            flex: 0 0 calc((100cqw - 3.2rem) / 3) !important;
            width: calc((100cqw - 3.2rem) / 3) !important;
            max-width: calc((100cqw - 3.2rem) / 3) !important;
          }
        }
      }
      @media (max-width: 390px) {
        #jrCasesPreview .jr-cases-preview-track-wrap,
        #jrConsultCases .jr-cases-preview-track-wrap {
          padding: 0.6rem 0 1rem !important;
        }
        #jrCasesPreview .jr-cases-preview-btn,
        #jrConsultCases .jr-cases-preview-btn {
          width: 3.2rem;
          height: 3.2rem;
          font-size: 1.55rem;
        }
        #jrCasesPreview .jr-cases-preview-btn--prev,
        #jrConsultCases .jr-cases-preview-btn--prev {
          left: -0.4rem !important;
        }
        #jrCasesPreview .jr-cases-preview-btn--next,
        #jrConsultCases .jr-cases-preview-btn--next {
          right: -0.4rem !important;
        }
      }

      /* 네이버 플레이스 방문자 후기 — 뷰포트 + 가로 슬라이드 (Downloads index 동기화) */
      .jr-naver-reviews-section {
        padding-top: clamp(3rem, 2vw, 5rem);
        padding-bottom: clamp(4rem, 5vw, 6rem);
      }
      .jr-naver-reviews-section .jr-naver-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: var(--jr-lawyer-warm-dark);
        color: var(--jr-bg-card);
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        width: fit-content;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1.2rem;
        margin-bottom: 0.8rem;
        text-transform: uppercase;
      }
      .jr-naver-reviews-section .innerWrap {
        gap: 0;
      }
      .jr-naver-reviews-section > .innerWrap > h2:first-of-type {
        margin-top: 0;
        margin-bottom: 0;
        line-height: 1.2;
        text-align: center;
      }
      .jr-naver-reviews-section .jr-naver-reviews-desc {
        font-size: clamp(1.1rem, 1rem + 0.25vw, 1.35rem);
        color: var(--brown700);
        line-height: 1.55;
        max-width: 38rem;
        margin: 0.35rem auto 0;
        text-align: center;
      }
      .jr-naver-reviews-section .innerWrap > .cont {
        margin-top: clamp(2.5rem, 3.5vw, 5rem);
      }
      .jr-naver-reviews-section .cont.jr-naver-reviews-stage-wrap {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
      }
      .jr-naver-reviews-stage {
        position: relative;
        width: 100%;
        max-width: calc(1200px + 7rem);
        padding: 0 clamp(2.75rem, 4vw, 3.5rem);
        box-sizing: border-box;
      }
      .jr-naver-reviews-fade-root {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
      }
      .jr-naver-reviews-viewport {
        overflow: hidden;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding-bottom: 2px;
        margin-bottom: -2px;
      }
      .jr-naver-reviews-grid {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: clamp(1.25rem, 2.5vw, 2rem);
        width: max-content;
        min-width: 100%;
        max-width: none;
        margin: 0;
        transition: transform 0.42s cubic-bezier(0.25, 0.1, 0.25, 1);
        will-change: transform;
      }
      .jr-naver-reviews-grid.jr-naver-slide--no-trans {
        transition: none;
      }
      .jr-naver-reviews-grid--single {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        min-width: 0;
        max-width: 28rem;
        margin: 0 auto;
        transition: none;
        will-change: auto;
      }
      .jr-naver-grid-cell {
        display: flex;
        min-width: 0;
        min-height: 0;
        flex: 0 0 var(--jr-naver-cell, min(100%, 320px));
        box-sizing: border-box;
      }
      .jr-naver-reviews-grid--single .jr-naver-grid-cell {
        flex: 1 1 auto;
        max-width: 100%;
      }
      .jr-naver-grid-cell--empty {
        visibility: hidden;
        pointer-events: none;
      }
      .jr-naver-fade-controls {
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        justify-content: space-between;
        align-items: center;
        pointer-events: none;
        z-index: 3;
        margin: 0;
      }
      .jr-naver-fade-btn {
        pointer-events: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(3rem, 5vw, 3.5rem);
        height: clamp(3rem, 5vw, 3.5rem);
        border-radius: 50%;
        border: 1px solid rgba(45, 36, 24, 0.12);
        background: rgba(255, 255, 255, 0.96);
        color: var(--brown800);
        box-shadow: 0 4px 14px var(--jr-overlay-dark-soft);
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }
      .jr-naver-fade-btn:hover {
        background: var(--brown800);
        color: var(--jr-bg-card);
        border-color: var(--brown800);
        box-shadow: 0 6px 20px rgba(45, 36, 24, 0.18);
        transform: scale(1.05);
      }
      .jr-naver-fade-btn svg {
        flex-shrink: 0;
      }
      @media (max-width: 767px) {
        .jr-naver-grid-cell--empty {
          display: none;
        }
      }
      #jrNaverReviews .review-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        transform: none !important;
        opacity: 1 !important;
        height: 100%;
        display: flex;
        flex-direction: column;
        border: 1px solid var(--jr-lawyer-warm-tan);
        border-radius: 16px;
        box-shadow: 0 2px 10px var(--jr-overlay-dark-soft);
      }
      #jrNaverReviews .review-card__profile {
        flex-shrink: 0;
      }
      #jrNaverReviews .review-card__profile .jr-naver-review-idline {
        margin-top: 0;
        margin-bottom: 0.5rem;
      }
      #jrNaverReviews .review-card__body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        text-align: left;
      }
      #jrNaverReviews .review-card__text {
        color: #7d6e65;
        font-size: 2rem;
        line-height: 1.65;
        text-align: left;
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        padding-bottom: 0.12em;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        line-clamp: 5;
        overflow: hidden;
      }
      .jr-naver-reviews-grid--single .review-card__text {
        display: block;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        overflow: visible;
      }
      #jrNaverReviews .jr-naver-place-link {
        margin-top: auto;
        padding-top: 1rem;
        flex-shrink: 0;
        display: inline-block;
        align-self: center;
        font-size: 1.45rem;
        font-weight: 600;
        color: #03a84d;
        text-decoration: none;
      }
      #jrNaverReviews .jr-naver-place-link:hover {
        text-decoration: underline;
        color: #038a3d;
      }
      #jrNaverReviews .jr-section-more-wrap {
        margin-top: 2.5rem;
        margin-bottom: 0;
      }

      #jrNaverReviews.jr-naver-reviews-section,
      #jrNaverReviews.jr-naver-reviews-section .innerWrap,
      #jrReview.jr-naver-reviews-section,
      #jrReview.jr-naver-reviews-section .innerWrap,
      #jrInstagram.jr-instagram-section,
      #jrInstagram.jr-instagram-section .innerWrap {
        background: linear-gradient(180deg, #f9f5ef 0%, #f5efe7 100%) !important;
      }
      #jrNaverReviews > .innerWrap > h2:first-of-type,
      #jrReview > .innerWrap > h2:first-of-type,
      #jrInstagram .jr-instagram-title {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }
      #jrNaverReviews .jr-naver-reviews-desc,
      #jrReview .jr-naver-reviews-desc,
      #jrInstagram .jr-instagram-desc {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
      }
      #jrNaverReviews .review-card__name {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }
      #jrNaverReviews .jr-naver-badge,
      #jrNaverReviews .review-card__category,
      #jrNaverReviews .review-card__text,
      #jrNaverReviews .jr-naver-place-link {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }
      #jrNaverReviews .jr-section-more-btn {
        display: inline-flex !important;
        width: 24rem !important;
        min-width: 24rem !important;
        max-width: 24rem !important;
        min-height: 4.5rem !important;
        padding: 0.85rem 1.35rem !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.6rem !important;
        box-sizing: border-box !important;
      }
      #jrNaverReviews .jr-section-more-btn span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #jrNaverReviews .jr-section-more-btn svg {
        width: 1.35rem !important;
        height: 1.35rem !important;
        flex-shrink: 0 !important;
      }
      #jrNaverReviews .jr-naver-badge,
      #jrReview .jr-naver-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.42rem 1.1rem !important;
        border-radius: 999px !important;
        font-size: 1.12rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        line-height: 1 !important;
        margin-bottom: 0.8rem !important;
        margin-top: 0 !important;
      }

      @media (max-width: 767px) {
        #jrNaverReviews .jr-naver-reviews-stage {
          padding: 0 !important;
        }
        #jrNaverReviews .jr-naver-reviews-viewport {
          width: min(100%, calc(100vw - 2.4rem)) !important;
          max-width: min(100%, calc(100vw - 2.4rem)) !important;
          margin-left: auto !important;
          margin-right: auto !important;
        }
        #jrNaverReviews .jr-naver-fade-controls {
          left: -0.8rem !important;
          right: -0.8rem !important;
        }
      }
      @media (max-width: 390px) {
        #jrNaverReviews .jr-naver-reviews-stage {
          padding: 0 !important;
        }
        #jrNaverReviews .jr-naver-fade-btn {
          width: 3.2rem;
          height: 3.2rem;
        }
      }
      /* 모바일: 이전·다음 화살표를 스테이지 세로 중앙이 아니라 별점·날짜 메타 줄(.review-card__category)에 맞춤 */
      @media (max-width: 899px) {
        #jrNaverReviews .jr-naver-reviews-stage > .jr-naver-fade-controls {
          top: calc(
            var(--jr-risk-card-pad-y, 2.2rem)
            + (var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) * 1.4)
            + 0.5rem
            + (var(--jr-type-body, clamp(1.53rem, 1.41rem + 0.29vw, 1.69rem)) * 0.86)
          );
          transform: translateY(-50%);
        }
      }

      /* JR 인스타그램 (#jrInstagram) */
      .jr-instagram-section {
        padding: 6rem 0;
      }
      .jr-instagram-section .jr-media-width {
        margin-top: 4rem !important;
      }
      .jr-instagram-header {
        text-align: center;
        margin-bottom: 0;
        margin-top: 0;
      }
      .jr-instagram-badge {
        display: inline-flex;
        align-items: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: var(--jr-lawyer-warm-dark);
        color: var(--jr-bg-card);
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 0.8rem;
      }
      .jr-instagram-title {
        font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
        font-weight: 700;
        color: var(--jr-text-press);
        margin: 0;
      }
      .jr-instagram-desc {
        font-size: clamp(1.1rem, 1rem + 0.2vw, 1.25rem);
        color: var(--jr-text-press);
        font-weight: 400;
        margin-top: 0.45rem;
      }
      #jrInstagram .innerWrap {
        gap: clamp(1.2rem, 2.2vw, 2rem) !important;
      }
      .jr-instagram-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.25rem;
        width: 100%;
      }
      @media (min-width: 640px) {
        .jr-instagram-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      @media (min-width: 1024px) and (max-width: 1199px) {
        .jr-instagram-grid {
          grid-template-columns: repeat(3, 1fr);
        }
      }
      @media (min-width: 1200px) {
        .jr-instagram-grid {
          grid-template-columns: repeat(4, 1fr);
        }
      }
      .jr-instagram-card {
        display: block;
        text-decoration: none;
        color: inherit;
        background: var(--jr-bg-card);
        border: 1px solid var(--jr-lawyer-warm-tan);
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 2px 10px rgba(45, 36, 25, 0.07);
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
      }
      .jr-instagram-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
        border-color: rgba(184, 124, 72, 0.45);
      }
      .jr-instagram-thumb {
        position: relative;
        width: 100%;
        aspect-ratio: 1 / 1;
        background: var(--jr-lawyer-warm-surface);
        overflow: hidden;
      }
      .jr-instagram-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        display: block;
      }
      .jr-instagram-card p {
        margin: 0;
        padding: 0.85rem 0.95rem 1rem;
        font-size: 1.25rem;
        color: var(--jr-lawyer-warm-dark);
        line-height: 1.5;
        text-align: left;
        min-height: 4.8rem;
      }
      #jrInstagram .jr-instagram-card p {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }
      .jr-instagram-card .jr-instagram-card-text {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
        word-break: keep-all;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.62;
        min-height: calc(1.62em * 2 + 0.12em);
      }
      #jrInstagram .jr-instagram-card .jr-instagram-card-text {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        white-space: normal !important;
        word-break: keep-all;
        overflow: hidden !important;
        text-overflow: ellipsis;
        line-height: 1.62 !important;
        min-height: calc(1.62em * 2 + 0.12em) !important;
      }
      .jr-instagram-empty {
        text-align: center;
        padding: 2rem;
        color: var(--jr-lawyer-warm-tan);
        font-size: 1.4rem;
      }
      .jr-section-more-btn .jr-instagram-more-icon {
        width: 1.35rem;
        height: 1.35rem;
        flex-shrink: 0;
        object-fit: contain;
      }

      /* —— 학폭전략센터 FAQ (#faq) —— Downloads index 동기화 */
      #jrReview.section2,
      #jrInstagram.jr-instagram-section,
      #jrLocation.section3,
      #faq.jr-faq-section {
        border-top: 1px solid rgba(176, 160, 144, 0.33);
      }
      .jr-faq-section {
        position: relative;
        padding: clamp(4rem, 5vw, 7rem) 0;
        background: linear-gradient(180deg, #faf8f5 0%, #f3ece4 100%) !important;
        text-align: left;
      }
      .jr-faq-section .jr-faq-inner {
        gap: clamp(2.25rem, 5vw, 3.75rem) !important;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
      }
      .jr-faq-head {
        text-align: center;
      }
      .jr-faq-badge {
        display: inline-flex;
        align-items: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: var(--jr-lawyer-warm-dark);
        color: var(--jr-bg-card);
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        margin-bottom: 0.85rem;
      }
      .jr-faq-title {
        font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
        font-weight: 700;
        color: var(--jr-text-press);
        margin: 0;
        letter-spacing: -0.02em;
        line-height: 1.2;
      }
      .jr-faq-lead {
        margin: 1rem auto 0;
        max-width: 40rem;
        font-size: clamp(1.15rem, 1.02rem + 0.35vw, 1.3rem);
        line-height: 1.65;
        color: #3d352b;
        text-align: center;
      }
      .jr-faq-lead strong {
        color: var(--jr-lawyer-warm-mid);
        font-weight: 700;
      }
      .jr-faq-body {
        display: grid;
        gap: 2.5rem;
      }
      @media (min-width: 900px) {
        .jr-faq-body {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 2.25rem 2.5rem;
          align-items: start;
        }
      }
      .jr-faq-cat-title {
        font-size: clamp(1.35rem, 1.1rem + 0.6vw, 1.55rem);
        font-weight: 700;
        color: var(--jr-lawyer-warm-mid);
        margin: 0 0 1rem;
        padding-bottom: 0.65rem;
        border-bottom: 2px solid rgba(45, 36, 25, 0.12);
        letter-spacing: -0.02em;
      }
      .jr-faq-list {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
      }
      .jr-faq-item {
        border: 1px solid var(--jr-lawyer-warm-tan);
        border-radius: 12px;
        background: var(--jr-bg-card);
        box-shadow: 0 2px 10px var(--jr-overlay-dark-soft);
        overflow: hidden;
      }
      .jr-faq-trigger {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 3.5rem;
        padding: 1.15rem 1.2rem 1.15rem 1.35rem;
        margin: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        text-align: left;
        font: inherit;
        color: inherit;
        -webkit-tap-highlight-color: transparent;
        transition: background-color 0.2s ease;
      }
      .jr-faq-trigger:hover,
      .jr-faq-trigger:focus-visible {
        background: rgba(245, 239, 230, 0.55);
      }
      .jr-faq-trigger:focus-visible {
        outline: 2px solid rgba(205, 131, 78, 0.65);
        outline-offset: -2px;
      }
      .jr-faq-q {
        font-size: clamp(1.28rem, 1.15rem + 0.35vw, 1.48rem);
        font-weight: 700;
        color: #15100c;
        line-height: 1.45;
        flex: 1;
        min-width: 0;
      }
      .jr-faq-icon {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 50%;
        background: var(--jr-overlay-dark-soft);
        color: var(--jr-lawyer-warm-dark);
      }
      .jr-faq-icon svg {
        display: block;
        transition: transform 0.35s ease;
      }
      .jr-faq-item.is-open .jr-faq-icon svg {
        transform: rotate(180deg);
      }
      .jr-faq-panel-inner {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.45s ease;
      }
      .jr-faq-item.is-open .jr-faq-panel-inner {
        max-height: 48rem;
      }
      .jr-faq-answer {
        padding: 0 1.35rem 1rem;
        border-top: 1px solid rgba(176, 160, 144, 0.35);
        background: linear-gradient(180deg, rgba(250, 248, 245, 0.9) 0%, var(--jr-bg-card) 40%);
      }
      .jr-faq-answer p {
        margin: 0;
        font-size: clamp(1.32rem, 1.18rem + 0.35vw, 1.48rem);
        line-height: 1.65;
        color: var(--jr-lawyer-warm-dark);
      }
      .jr-faq-answer p + p {
        margin-top: 0.85rem;
      }
      .jr-faq-cta {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin: 1rem 1.35rem 1.25rem;
        padding: 0.75rem 1.2rem;
        border-radius: 9999px;
        background: linear-gradient(180deg, #4a4035 0%, var(--jr-lawyer-warm-dark) 100%);
        color: var(--jr-bg-card) !important;
        font-size: clamp(1.22rem, 1.1rem + 0.3vw, 1.35rem);
        font-weight: 600;
        text-decoration: none !important;
        line-height: 1.35;
        box-shadow: 0 4px 14px rgba(45, 36, 25, 0.18);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }
      .jr-faq-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(45, 36, 25, 0.22);
        color: var(--jr-bg-card) !important;
      }
      .jr-faq-cta:focus-visible {
        outline: 2px solid var(--jr-lawyer-warm-gold);
        outline-offset: 3px;
      }
      @media (prefers-reduced-motion: reduce) {
        .jr-faq-panel-inner,
        .jr-faq-icon svg,
        .jr-faq-cta {
          transition: none !important;
        }
        .jr-faq-item.is-open .jr-faq-panel-inner {
          max-height: none;
        }
      }
      #faq .jr-faq-title {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
      }
      #faq .jr-faq-lead,
      #faq .jr-faq-cat-title,
      #faq .jr-faq-q {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
      }
      #faq .jr-faq-lead strong {
        color: var(--brown700) !important;
      }
      #faq .jr-faq-answer p {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }
      #faq .jr-faq-trigger--soft .jr-faq-q {
        font-size: clamp(1.46rem, 1.31rem + 0.31vw, 1.64rem) !important;
        font-weight: 500 !important;
        color: var(--brown900) !important;
      }

/* 히어로 버튼: ~1024px 이하 — 풀뷰포트 브레이크아웃 + 가운데 (index 히어로 단일 정의) */
@media screen and (max-width: 1024px) {
  /* 태블릿·모바일: 그리드 2컬럼 해제 → 곽윤서 히어로 가로 풀뷰포트 */
  #jrMember .visual_two_col {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 0 !important;
  }
  #jrMember .visual_left {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* 변호사 슬라이더: 베이지 배경을 뷰포트 가로 끝까지 (태블릿에서 우측 main_visual 비침 방지) */
  #jrMember .lawyer-slider-container.lawyer-slider-others,
  #jrMember .lawyer-slider-container {
    order: 3;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 1.5rem max(1rem, env(safe-area-inset-right, 0px)) 2rem
      max(1rem, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box !important;
    background: #f5f2ee !important;
    overflow-x: hidden !important;
    position: relative;
    z-index: 2;
  }
  #jrMember .lawyer-slider-container .swiper {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  #jrMember .visual_right {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
  }
  #jrMember .visual_right .jr-hero-fixed.jr-lawyer-profile-trigger,
  #jrMember .visual_right .jr-hero-fixed {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
  /* 태블릿·모바일: PC용 max-width/max-height(380px·66vh) 제거 → 컨테이너 너비에 맞게 비율 유지 */
  #jrMember .visual_right .jr-hero-fixed .hero-fixed-img {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
  #jrMember .slogan_wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  /* 슬로건 블록은 가로 가운데 배치, 글자만 왼쪽 정렬 */
  #jrMember .slogan_wrap > .title {
    align-self: center !important;
    width: 100% !important;
    max-width: min(36rem, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  #jrMember .slogan_wrap > .title h1,
  #jrMember .slogan_wrap > .title .subtxt {
    text-align: left !important;
  }
  #jrMember .btn_group,
  .visual .btn_group {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center !important;
    align-items: center !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative;
    left: auto;
    box-sizing: border-box !important;
    transform: none !important;
    padding-left: max(0px, env(safe-area-inset-left, 0px));
    padding-right: max(0px, env(safe-area-inset-right, 0px));
  }
}

/* 다운로드판 index 동기화: #jrMember 슬로건·버튼 (모바일) */
@media screen and (max-width: 899px) {
  #jrMember .visual_two_col {
    gap: 0 !important;
  }
  #jrMember .visual_left {
    margin-bottom: 0 !important;
  }
  /* 고정 헤더(64px) + 노치 safe-area — 상단 패딩에 합산 */
  #jrMember .slogan_wrap {
    padding: calc(clamp(5.6rem, 9vw, 6.7rem) + env(safe-area-inset-top, 0px)) 1rem 0.65rem 1rem !important;
    text-align: left !important;
    align-items: center !important;
  }
  #jrMember .slogan_wrap > .title {
    align-self: center !important;
    width: 100% !important;
    max-width: min(36rem, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
  }
  #jrMember .title,
  #jrMember .title h1,
  #jrMember .title .subtxt {
    text-align: left !important;
  }
  #jrMember .btn_group {
    margin-top: 2em;
    margin-top: 2lh;
  }
  #jrMember .btn_group .btnCall.btncs,
  #jrMember .btn_group .btnRsv.btncs.modal-trigger-btn {
    font-size: clamp(1.42rem, 4.1vw, 1.82rem) !important;
    min-height: 4.55rem;
    padding: 0.82rem 2rem !important;
  }
  #jrMember .btn_group .btnCall.btncs i,
  #jrMember .btn_group .btnRsv.btncs.modal-trigger-btn i {
    width: 2rem;
    height: 2rem;
  }
  /* 히어로 곽윤서: innerWrap 패딩 무시하고 뷰포트 가로 끝까지 */
  #jrMember .visual_right {
    margin-bottom: 0;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
  }
  #jrMember .visual_right .jr-hero-fixed {
    overflow: hidden !important;
    position: relative !important;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 0;
  }
  #jrMember .visual_right .jr-hero-fixed .hero-fixed-img {
    position: relative;
    z-index: 0;
    display: block;
    vertical-align: bottom;
    margin-bottom: 0;
    max-width: none;
    width: 100%;
    border-radius: 0;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info {
    position: absolute !important;
    top: 44% !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    line-height: 1.45 !important;
    border-radius: 0 !important;
    width: 100% !important;
    /* 좌우 대칭 패딩 → 힌트·텍스트 flex 가운데 정렬이 화면과 일치 */
    padding: 1rem max(20px, env(safe-area-inset-right, 0px))
      calc(3.5rem + env(safe-area-inset-bottom, 0px))
      max(20px, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(58, 38, 26, 0.92) 56%,
      rgba(28, 18, 12, 0.98) 100%
    ) !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info > p:first-of-type {
    margin-bottom: 0.2rem !important;
    text-shadow: 0 1px 2px var(--jr-overlay-dark-soft) !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info p:last-of-type {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    align-self: center !important;
    margin: 0 auto 0.5rem auto !important;
    width: fit-content !important;
    max-width: calc(100% - 0.5rem) !important;
    text-align: center !important;
    z-index: auto !important;
  }
}

/* index 히어로 lawyer-info 그라데이션: 태블릿·모바일 뷰포트 가로 풀사이즈 (그리드 컬럼·innerWrap 밖으로) */
@media screen and (max-width: 1024px) {
  #jrMember .visual_right .jr-hero-fixed {
    overflow-x: visible !important;
    overflow-y: hidden !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: auto !important;
    /* 부모(.jr-hero-fixed) 기준 뷰포트 가로 풀블리드 — 그라데이션 좌·우 끝 정렬 */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: max(20px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(20px, env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
    transform: none !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: fit-content !important;
    max-width: calc(100% - 0.5rem) !important;
    text-align: center !important;
  }
}

/* 초소형 모바일: 히어로 슬로건·버튼 정렬 (다운로드판) */
@media (max-width: 390px) {
  /* visual_right 는 100vw 풀블리드 유지 — translate 시 화면 끝 정렬이 어긋남 */
  #jrMember .visual_left {
    transform: translateX(-2rem) !important;
  }
  /* visual_left 좌측 이동만큼 btn_group 을 되돌려 화면 기준 가운데 정렬 유지 */
  #jrMember .btn_group {
    transform: translateX(2rem) !important;
  }
  #jrMember .slogan_wrap > .title {
    max-width: min(30.5rem, 100%) !important;
  }
  #jrMember .title h1 {
    word-break: keep-all;
    line-break: strict;
    text-wrap: balance;
    line-height: 1.22 !important;
  }
  #jrMember .title h1 > br {
    display: none;
  }
  #jrMember .title .subtxt {
    word-break: keep-all;
    line-break: strict;
    line-height: 1.55 !important;
  }
  #jrMember .title .subtxt > br,
  #jrMember .title .subtxt .jr-subtxt-br-mo {
    display: none;
  }
}

/* 고정 헤더(64px)·노치: 앵커·스크롤 스냅 시 히어로 h1이 가려지지 않게 */
#jrMember.visual {
  scroll-margin-top: calc(64px + env(safe-area-inset-top, 0px));
}

/* =========================================================
   Source: /css/mobile-backup-hero.css
   ========================================================= */
/* divorce 메인: 모바일(<=899px) #jrMobileBackupHero 전용 — 전역 min 과 분리 */
@media (max-width: 899px) {
#jrMobileBackupHero .lawyer-slider-container {
  width: 100%;
  position: relative;
  z-index: 2;
}

#jrMobileBackupHero .swiper {
  padding-top: 50px;
}
#jrMobileBackupHero .swiper {
  width: 100%;
  height: 100%;
}
#jrMobileBackupHero .swiper-slide {
  margin-bottom: -2rem;
}
#jrMobileBackupHero .swiper-slide {
  width: 100%;
  height: auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transition: all 0.4s ease;
}
#jrMobileBackupHero .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  transform: scale(0.51);
  filter: opacity(50%);
  transition: all 0.4s ease;
  object-fit: cover;
  margin-bottom: -2rem;
}
#jrMobileBackupHero .swiper-slide-active {
  z-index: 10;
  bottom: 2rem;
}
#jrMobileBackupHero .swiper-slide-active img {
  transform: scale(0.78);
  filter: grayscale(0%) brightness(100%);
}
#jrMobileBackupHero .lawyer-info {
  position: absolute;
  bottom: 0;
  left: -4rem;
  right: -4rem;
  width: auto;
  height: auto;
  padding: 2rem;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  text-align: left;
  color: var(--jr-bg-card);
  opacity: 0;
  transition: 0.3s;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(
    180deg,
    rgba(146, 94, 45, 0) 0%,
    rgba(25, 25, 25, 0.8) 100%
  );
}
#jrMobileBackupHero .swiper-slide-active .lawyer-info {
  opacity: 1;
}
#jrMobileBackupHero .lawyer-info p {
  color: var(--brown100);
  font-size: 1.6rem;
}
#jrMobileBackupHero .lawyer-info h3 {
  color: var(--jrwhite);
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
#jrMobileBackupHero .lawyer-info h3 + p {
  font-size: 1.4rem;
  color: #aeaeae;
}
/* 변호사 슬라이더: pro 라인만 3배 크기 (이름 1.4rem×3) */
#jrMobileBackupHero .lawyer-slider-others .lawyer-info p:first-child {
  font-size: 4.2rem !important;
}

#jrMobileBackupHero .lawyer-slider-btn {
  position: absolute !important;
  z-index: 20;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  top: 58%;
  transform: translateY(-50%);
  background: rgba(29, 78, 216, 0.88);
  border: 1px solid var(--jr-border-inverse);
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(15, 40, 71, 0.35);
  color: var(--jr-bg-card);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
#jrMobileBackupHero .lawyer-slider-btn::after {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--jr-bg-card);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
#jrMobileBackupHero .lawyer-slider-btn:hover:not(.swiper-button-disabled) {
  background: var(--brown900);
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 20px rgba(56, 36, 18, 0.45);
  transform: translateY(-50%) scale(1.05);
}
#jrMobileBackupHero .lawyer-slider-btn:active:not(.swiper-button-disabled) {
  transform: translateY(-50%) scale(0.97);
}
#jrMobileBackupHero .lawyer-slider-btn.swiper-button-disabled {
  opacity: 1;
  cursor: pointer;
  transform: translateY(-50%);
  pointer-events: auto;
}
#jrMobileBackupHero .lawyer-slider-btn--prev {
  left: 12px;
}
#jrMobileBackupHero .lawyer-slider-btn--next {
  right: 12px;
}

/* index.html page-specific styles */
      /* 메인 비주얼: 왼쪽 슬로건+나머지 변호사 슬라이더, 오른쪽 곽윤서 고정 */
      #jrMobileBackupHero .visual_two_col {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 2rem;
        box-sizing: border-box;
      }
      #jrMobileBackupHero .visual_left {
        flex: 1 1 54%;
        min-width: 0;
      }
      #jrMobileBackupHero .visual_right {
        flex: 0 0 auto;
        width: 100%;
      }
      
      @media (max-width: 899px) {
        #jrMobileBackupHero .title .subtxt .jr-subtxt-nowrap-pc .jr-subtxt-br-mo {
          display: block;
          content: "";
        }
        #jrMobileBackupHero .visual_two_col {
          flex-direction: column;
          align-items: stretch !important;
          gap: 0 !important;
          row-gap: 0 !important;
        }
        #jrMobileBackupHero .jr-hero-fixed {
          margin-top: 0 !important;
        }
        #jrMobileBackupHero .innerWrap {
          padding-left: 0 !important;
        }
        #jrMobileBackupHero .slogan_wrap {
          text-align: center !important;
          margin-left: 0 !important;
          width: 100%;
          display: flex;
          flex-direction: column;
          align-items: center;
        }
        #jrMobileBackupHero .title {
          margin-left: 0 !important;
          width: 100%;
          text-align: left !important;
          padding-left: 0 !important;
          box-sizing: border-box;
        }
        #jrMobileBackupHero .title h1,
        #jrMobileBackupHero .title h2,
        #jrMobileBackupHero .title .subtxt {
          text-align: left !important;
          padding-left: 0 !important;
          padding-right: 0 !important;
          margin-left: 0 !important;
          text-indent: 0 !important;
          box-sizing: border-box;
          position: static !important;
          left: auto !important;
          width: 100% !important;
        }
        #jrMobileBackupHero .title h1,
        #jrMobileBackupHero .title h2 {
          padding-left: 1ch !important;
          padding-right: 1ch !important;
        }
        #jrMobileBackupHero .title .subtxt {
          padding-left: 2ch !important;
          padding-right: 2ch !important;
        }
        /* 풀블리드·마진은 max-width:1024px 공통 규칙 참고 — 여기서는 좁은 화면 전용 간격만 */
        #jrMobileBackupHero .btn_group {
          gap: 1rem;
          padding-top: 2.2rem !important;
        }
        #jrMobileBackupHero .btn_group .btncs {
          padding: 1.1rem 2rem !important;
          font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem) !important;
          line-height: 1.35 !important;
        }
        #jrMobileBackupHero .lawyer-slider-container {
          order: 3;
          background: var(--jr-bg-card) !important;
          width: 100vw;
          max-width: 100vw;
          margin-left: calc(50% - 50vw);
          margin-right: calc(50% - 50vw);
          padding: 0 max(1rem, env(safe-area-inset-right, 0px)) 2rem
            max(1rem, env(safe-area-inset-left, 0px));
          box-sizing: border-box;
          overflow-x: hidden;
        }
      }
      #jrMobileBackupHero .jr-hero-fixed {
        position: relative;
        text-align: right;
        margin-top: 2rem;
      }
      #jrMobileBackupHero .jr-hero-fixed {
        cursor: pointer;
        outline: none;
        border: none;
      }
      #jrMobileBackupHero .jr-hero-fixed:focus {
        outline: none;
      }
      #jrMobileBackupHero .jr-hero-fixed .hero-fixed-img {
        width: 100%;
        max-width: 420px;
        height: auto;
        min-height: 280px;
        display: block;
        margin-left: auto;
        object-fit: cover;
        object-position: center top;
        border-radius: 0 0 8px 8px;
        transition: transform 0.3s ease;
      }
      
      /* 곽윤서 히어로: 그라데이션 밴드 안에 프로필 더보기 + 텍스트(하단 정렬) */
      #jrMobileBackupHero .jr-hero-fixed {
        overflow: visible;
      }
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info {
        position: absolute;
        top: 50%;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        box-sizing: border-box;
        width: 100%;
        opacity: 1;
        background: linear-gradient(
          180deg,
          rgba(0, 0, 0, 0) 0%,
          rgba(58, 38, 26, 0.92) 58%,
          rgba(28, 18, 12, 0.98) 100%
        );
        border-radius: 0 0 8px 8px;
        padding: 2rem 0 4rem max(20px, env(safe-area-inset-left, 0px));
        margin: 0;
        text-align: left;
      }
      /* 태블릿: 좌우 여백 유지 */
      
      /* 모바일: 밴드 가로 끝, 텍스트는 왼쪽 20px(+safe-area)만 */
      @media (max-width: 899px) {
        #jrMobileBackupHero .jr-hero-fixed .lawyer-info {
          align-items: stretch !important;
          width: 100% !important;
          left: 0 !important;
          right: 0 !important;
          padding: 1.35rem 0 3rem max(20px, env(safe-area-inset-left, 0px)) !important;
          border-radius: 0 !important;
        }
        #jrMobileBackupHero .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: none !important;
          align-self: center !important;
        }
      }
      /* 와이드 PC만 좌측 타이포 오프셋(ch) 유지 */
      
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
        position: static;
        left: auto;
        top: auto;
        transform: translateX(-5ch);
        align-self: center;
        margin: 0 0 0.55rem 0;
        padding: 0.75rem 1.5rem;
        background: rgba(38, 26, 18, 0.94);
        backdrop-filter: blur(8px);
        color: #f8f6f4;
        font-size: 1.5rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        line-height: 1.3;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 4px 16px var(--jr-overlay-dark-soft);
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
        white-space: nowrap;
        opacity: 1;
        transition: box-shadow 0.28s ease;
        pointer-events: auto;
        cursor: pointer;
        z-index: auto;
      }
      @media (max-width: 899px) {
        #jrMobileBackupHero .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          font-size: 1.35rem;
          padding: 0.65rem 1.3rem;
        }
      }
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info > p {
        align-self: stretch;
        text-align: left;
      }
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info > p:first-of-type {
        font-size: 2.4rem;
        color: var(--jr-bg-card) !important;
        margin: 0 0 0.3rem 0;
        font-weight: 600;
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
      }
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info h3 {
        font-size: 1.8rem;
        font-weight: 700;
        color: var(--jr-bg-card);
        margin: 0 0 0.35rem 0;
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
      }
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info h3 + p,
      #jrMobileBackupHero .jr-hero-fixed .lawyer-info p:last-of-type {
        font-size: 1.4rem;
        color: var(--jr-bg-card);
        margin: 0;
        font-weight: 500;
        text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
      }
      /* PC에서도 전화상담/상담신청 버튼 모두 노출 */
      
      /* 5명 사진 크기 축소, 잘리지 않도록 높이·비율 통일. 슬라이드 전체 클릭 영역 */
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide {
        min-height: 200px;
        min-width: 0;
        flex-shrink: 0;
        position: relative;
        background: var(--jr-bg-card) !important;
        border: 1px solid var(--jr-card-border);
        border-radius: 16px;
        box-shadow: 0 10px 26px rgba(15, 40, 71, 0.14) !important;
        overflow: hidden;
        cursor: pointer;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide::before {
        content: "";
        display: block;
        padding-top: 143%;
        width: 100%;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100% !important;
        min-height: 0;
        object-fit: cover;
        object-position: center top;
        filter: opacity(78%) brightness(0.98);
        transition: transform 0.3s ease, filter 0.3s ease;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active img {
        filter: grayscale(0%) brightness(1.04);
        transform: scale(1.06);
      }
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info {
        left: 0;
        right: 0;
        width: 100%;
        padding: 0.85rem 0.8rem;
        box-sizing: border-box;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.86) 24%, rgba(255,255,255,0.98) 100%) !important;
        border-top: 1px solid rgba(30, 64, 175, 0.1);
        opacity: 0.92;
        transform: translateY(18%);
        transition: opacity 0.3s ease, transform 0.3s ease;
      }
      /* 대기 상태만: pro·이름 텍스트 한 칸 위로, 이름은 비표시 */
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info {
        transform: translateY(16%);
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info h3 {
        visibility: hidden;
        opacity: 0;
        height: 0;
        overflow: hidden;
        margin: 0;
        padding: 0;
        font-size: 0;
        line-height: 0;
      }
      /* 대기 상태: 이름 숨김으로 내려간 pro 라인을 위로 보정 */
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info p:first-child {
        margin-top: -3em !important;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info {
        opacity: 1;              /* 활성 슬라이드: 또렷하게 */
        transform: translateY(0); /* 활성 슬라이드: 원래 위치로 복귀 */
      }
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info p,
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 {
        padding-left: 0;
        overflow: visible;
        white-space: normal;
        color: var(--jr-brand-primary-deep) !important;
        font-weight: 700;
        text-shadow: none;
        text-align: center;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info p,
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info h3 {
        color: var(--jr-brand-primary-darker) !important;
        text-shadow: none;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info p:first-child {
        color: var(--jr-brand-secondary) !important;
        text-align: center;
        margin-top: -1.2em;
      }
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info p:first-child {
        color: var(--jr-brand-primary) !important;
        font-size: 1.75rem !important;
        font-weight: 700;
        text-align: center;
        margin-top: -1.2em;
      }
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 {
        font-size: 1.75rem;
        line-height: 1.3;
        text-align: center;
      }
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 + p,
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info p:last-of-type {
        color: var(--jr-neutral-slate-700) !important;
        font-weight: 600;
        font-size: 1.18rem;
        text-align: center;
      }
      /* 슬라이더: 프로필 더보기 – 대기 시 숨김, 확대(활성) 슬라이드에서만 표시. pro 라인 위 */
      #jrMobileBackupHero .lawyer-slider-others .jr-slider-profile-hint {
        position: absolute;
        left: 50%;
        top: 0%;
        transform: translate(-50%, calc(-50% - 3.75rem - 5px)); /* pro 라인·힌트 사이 간격 ~5px */
        padding: 0.4rem 0.85rem;
        background: rgba(15, 40, 71, 0.92);
        backdrop-filter: blur(8px);
        color: var(--jr-neutral-blue-tint-5);
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        line-height: 1.3;
        border-radius: 10px;
        border: 1px solid rgba(147, 197, 253, 0.45);
        box-shadow: 0 4px 14px var(--jr-overlay-dark-soft);
        text-shadow: 0 1px 1px var(--jr-overlay-dark-soft);
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.28s ease, visibility 0.28s ease, box-shadow 0.28s ease, background 0.2s ease;
        pointer-events: none;
        cursor: pointer;
        z-index: 3;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .jr-slider-profile-hint,
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info .jr-slider-profile-hint {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
      }
      #jrMobileBackupHero .lawyer-slider-others .jr-slider-profile-hint:hover {
        background: rgba(29, 78, 216, 0.96);
      }
      /* 프로필 더보기: pro 라인 위에 배치 */
      #jrMobileBackupHero .lawyer-slider-others .lawyer-info .jr-slider-profile-hint {
        position: absolute !important;
        left: 50% !important;
        top: 0% !important;
        transform: translate(-50%, calc(-50% - 3.75rem - 5px)) !important; /* pro 라인·힌트 사이 간격 ~5px */
        margin-top: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
      }
      #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info .jr-slider-profile-hint {
        margin-top: 0 !important;
      }
      @media (max-width: 899px) {
        #jrMobileBackupHero .lawyer-slider-others .lawyer-info p,
        #jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 {
          color: var(--jr-brand-primary-darker) !important;
        }
        #jrMobileBackupHero .lawyer-slider-others .lawyer-info p:first-child {
          color: var(--jr-brand-secondary) !important;
        }
        #jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 + p,
        #jrMobileBackupHero .lawyer-slider-others .lawyer-info p:last-of-type {
          color: var(--jr-neutral-slate-700) !important;
        }
        #jrMobileBackupHero .lawyer-slider-others .jr-slider-profile-hint {
          font-size: 1.08rem;
          padding: 0.5rem 1rem;
          color: var(--jr-bg-card);
        }
        #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .jr-slider-profile-hint,
        #jrMobileBackupHero .lawyer-slider-others .swiper-slide-active .lawyer-info .jr-slider-profile-hint {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
          cursor: pointer;
        }
      }

#jrMobileBackupHero {
  margin-top: 64px;
  background: url("/images/main_visual.png") 50% no-repeat;
  background-size: cover;
  width: 100%;
  background-attachment: fixed;
}
#jrMobileBackupHero .innerWrap {
  margin-top: 0;
  padding: 0;
}
.slogan_wrap {
  text-align: center;
  padding: 4rem 0 1.5rem 0;
}
#jrMobileBackupHero .title {
  text-align: left;
  margin-left: 10rem;
}
#jrMobileBackupHero .title h1,
#jrMobileBackupHero .title h2 {
  font-size: clamp(2.5rem, 1.808rem + 3.08vw, 4.5rem);
  line-height: 1.2;
  color: var(--brown900);
  margin-bottom: 1.5rem;
  letter-spacing: -0.1rem;
}
#jrMobileBackupHero .title .subtxt {
  font-size: clamp(1.6rem, 1.392rem + 0.92vw, 2.2rem);
  color: var(--brown800);
  letter-spacing: -0.1rem;
  line-height: 1.4;
  text-align: left;
}
#jrMobileBackupHero .btn_group {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding-top: clamp(1rem, 0.308rem + 3.08vw, 3rem);
}
#jrMobileBackupHero .btn_group .btnRsv {
  color: var(--jrwhite);
  border: 1px solid var(--jrwhite);
}
#jrMobileBackupHero .btn_group .btnRsv i {
  filter: brightness(0) invert(1);
}
#jrMobileBackupHero .btn_group .btnCall {
  display: flex !important;
  background-color: var(--brown500);
  color: var(--jrwhite);
  
}
#jrMobileBackupHero .btn_group .btncs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 4.5rem;
  font-size: clamp(1.6rem, 1.531rem + 0.31vw, 1.8rem);
  border-radius: 100rem;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
  cursor: pointer;
  position: relative;
}
#jrMobileBackupHero .btn_group .btnCall:hover {
  background-color: var(--brown700, #8b5a2b) !important;
  color: var(--jrwhite);
  transform: translateY(-2px);
}
#jrMobileBackupHero .btn_group .btnRsv:hover {
  background-color: var(--brown900);
  color: var(--jrwhite);
  border-color: var(--brown900);
  transform: translateY(-2px);
}
#jrMobileBackupHero .btn_group .btncs i {
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
}

/* Mobile rolling redesign: attached reference style */
#jrMobileBackupHero .lawyer-slider-container {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.96) 100%),
    repeating-linear-gradient(-45deg, rgba(148,163,184,0.06) 0 2px, transparent 2px 10px) !important;
  position: relative;
  padding-bottom: 48px !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide {
  background: #e5e7eb !important;
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  bottom: 0 !important;
  margin-bottom: 0 !important;
  transition: transform 0.28s ease, opacity 0.28s ease, filter 0.28s ease;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide::before {
  content: none !important;
  display: none !important;
  padding-top: 0 !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide img {
  position: static !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  max-height: 30.8rem;
  object-fit: contain !important;
  object-position: center bottom !important;
  background: #e5e7eb;
  border-radius: 0 !important;
  filter: grayscale(0.2) brightness(0.88) !important;
  transform: scale(1) !important;
  transition: none !important;
  margin: 0 !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide-active {
  opacity: 1;
  transform: none;
  bottom: 0 !important;
  margin-bottom: 0 !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) {
  opacity: 1 !important;
  transform: none !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide-active img {
  filter: grayscale(0) brightness(1) !important;
  transform: scale(1) !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) img {
  transform: scale(1) !important;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info {
  position: static !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 1rem 0.2rem 1.2rem calc(0.2rem + 1ch) !important;
  background: var(--jr-bg-card) !important;
  border-top: 1px solid rgba(148, 163, 184, 0.25) !important;
  opacity: 1 !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info h3 {
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info p,
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info h3,
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info p:last-of-type {
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}
#jrMobileBackupHero .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info p:first-child {
  margin-top: 0 !important;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info p:first-child {
  order: 2;
  margin: 0.2rem 0 0.55rem 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #6b7280 !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  text-shadow: none !important;
  text-align: left !important;
  display: block !important;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 {
  order: 1;
  margin: 0 0 0.45rem 0 !important;
  font-size: 2.1rem !important;
  line-height: 1.22 !important;
  color: #111827 !important;
  font-weight: 800 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
  text-align: left !important;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 .jr-mobile-role-title {
  font-size: 0.8em !important;
  font-weight: 700 !important;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 .jr-mobile-role-pro {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: var(--jr-brand-primary) !important;
  letter-spacing: -0.01em;
  text-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-left: 0.12em;
  white-space: nowrap;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info .jr-mobile-strength-list {
  order: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.45rem 0;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info .jr-mobile-strength-btn {
  border: 1px solid rgba(37, 99, 235, 0.32);
  background: var(--jr-neutral-blue-tint-5);
  color: var(--jr-brand-secondary);
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  font-size: 1.34rem;
  line-height: 1.45;
  font-weight: 600;
  white-space: nowrap;
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info::after {
  content: "";
  order: 4;
  display: block;
  width: 100%;
  margin: 0.05rem 0 0.42rem 0;
  border-bottom: 1px solid rgba(156, 163, 175, 0.28);
}
#jrMobileBackupHero .lawyer-slider-others .lawyer-info h3 + p,
#jrMobileBackupHero .lawyer-slider-others .lawyer-info p:last-of-type {
  order: 5;
  color: #2f333b !important;
  font-size: 1.34rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  margin: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  min-height: 0;
  width: 100%;
  white-space: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
#jrMobileBackupHero .lawyer-slider-others .jr-slider-profile-hint {
  display: none !important;
}
#jrMobileBackupHero .lawyer-slider-btn {
  display: flex !important;
  position: absolute !important;
  z-index: 30 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 4.2rem;
  height: 4.2rem;
  top: 33%;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(148, 163, 184, 0.5) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.16) !important;
}
#jrMobileBackupHero .lawyer-slider-btn::after {
  font-size: 1.5rem;
  color: var(--jr-neutral-slate-700) !important;
}
#jrMobileBackupHero .lawyer-slider-btn--prev {
  left: 10px;
}
#jrMobileBackupHero .lawyer-slider-btn--next {
  right: 10px;
}
#jrMobileBackupHero .lawyer-slider-btn.swiper-button-disabled {
  opacity: 1 !important;
  visibility: visible !important;
}
#jrMobileBackupHero .lawyer-slider-pagination {
  display: block !important;
  position: static !important;
  margin-top: 0.9rem;
  text-align: center;
}
#jrMobileBackupHero .lawyer-slider-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 4px !important;
  background: #c4c4c4;
  opacity: 1;
}
#jrMobileBackupHero .lawyer-slider-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 999px;
  background: #a59a7c;
}

/* 모바일 롤링: 사진 우상단 PC와 동일 계열 pro·직함 배지 스택 */
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap {
  position: relative;
  width: 100%;
  flex-shrink: 0;
}
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap > .jr-hero-primary-badge-right-stack {
  position: absolute;
  top: 0.48rem;
  right: 0.42rem;
  left: auto;
  margin: 0;
  transform: none;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.28rem;
  pointer-events: none;
}
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap .jr-hero-primary-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.36rem;
  width: auto;
  max-width: min(11.6rem, 54vw);
  min-height: 2.52rem;
  padding: 0.16rem 0.62rem 0.16rem 0.2rem;
  border-radius: 999px;
  font-size: clamp(0.86rem, 2.85vw, 1.02rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  white-space: nowrap;
  box-sizing: border-box;
}
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap .jr-hero-primary-badge::before {
  content: "";
  display: inline-block;
  width: 2.08rem;
  height: 2.08rem;
  flex: 0 0 2.08rem;
  border-radius: 999px;
}
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap .jr-hero-primary-badge::after {
  content: "";
  position: absolute;
  left: 0.2rem;
  top: 50%;
  width: 2.08rem;
  height: 2.08rem;
  transform: translateY(-50%);
  pointer-events: none;
  -webkit-mask-image: url("/images/CI_symbol.svg");
  -webkit-mask-size: 58%;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("/images/CI_symbol.svg");
  mask-size: 58%;
  mask-position: center;
  mask-repeat: no-repeat;
  filter: contrast(1.06) saturate(1.08)
    drop-shadow(0 0 0.45px rgba(15, 23, 42, 0.35))
    drop-shadow(0 0.5px 0.7px rgba(15, 23, 42, 0.26));
}

#jrMobileBackupHero .jr-mobile-lawyer-reco {
  display: none !important;
}
}

/* =========================================================
   Source: /css/temple-theme.css
   ========================================================= */
/**
 * /docker/temple 전용: 딥블루 메인 컬러, 히어로 배경 이미지 제거
 * common.css의 :root 토큰을 블루 팔레트로 재정의하고 구역별 대비 보정
 */
:root {
  --jrwhite: var(--jr-bg-soft);
  --jrsoftwhite: #e8eef7;
  --jrblack: var(--jr-text-dark);
  /* 기존 brown* 토큰명 유지 → 블루 계열로 매핑 (링크·배지·본문에 연쇄 적용) */
  --brown50: var(--jr-brand-accent-softer);
  --brown100: var(--jr-brand-accent-soft);
  --brown200: var(--jr-brand-accent-soft);
  --brown300: var(--jr-brand-primary-light);
  --brown400: var(--jr-brand-primary-light);
  --brown500: var(--jr-brand-primary);
  --brown600: var(--jr-brand-secondary);
  --brown700: var(--jr-brand-primary-dark);
  --brown800: var(--jr-brand-primary-deep);
  --brown900: var(--jr-brand-primary-darker);
  /* 히어로·푸터 공통 배경 — 팔레트 jr-hero-bg 연동 */
  --temple-hero-bg: var(--jr-hero-bg);
  --temple-hero-photo-url: url("/images/hero-school-classroom.png");
  /* 섹션·카드용 딥블루 팔레트 (브라운 톤 대체) */
  --temple-deep: var(--jr-bg-section-dark);
  --temple-deep-2: var(--jr-text-heading);
  --temple-surface: var(--jr-bg-section);
  --temple-surface-2: var(--jr-bg-section-alt);
  --temple-card: var(--jr-bg-card);
  --temple-card-muted: var(--jr-card-bg-soft);
  --temple-border: var(--jr-border-default);
  --temple-border-strong: var(--jr-border-strong);
  --temple-accent: var(--jr-brand-accent);
  --temple-accent-2: var(--jr-brand-primary);
  --temple-text: var(--jr-text-main);
  --temple-text-muted: var(--jr-text-sub);
  --temple-chip-bg: var(--jr-brand-accent-soft);
  --temple-chip-text: var(--jr-brand-primary-deep);
  /* index.min 등 로컬 변수 덮어쓰기 */
  --jr-surface-risk-bg: var(--jr-bg-risk);
  --jr-surface-review-bg: var(--jr-bg-review-gradient);
  /* 본문 섹션 교차 — 팔레트 strip 토큰 연동 */
  --temple-strip-bg-light: linear-gradient(
    180deg,
    var(--jr-bg-strip-light-start) 0%,
    var(--jr-bg-strip-light-mid) 42%,
    var(--jr-bg-strip-light-end) 100%
  );
  --temple-strip-bg-deep: linear-gradient(
    180deg,
    var(--jr-bg-strip-deep-start) 0%,
    var(--jr-bg-strip-deep-mid) 48%,
    var(--jr-bg-strip-deep-end) 100%
  );
}

/* 홈 main#target: RISK CHECK(#jrRiskUrgency) 리듬 — 세로 패딩·헤더↔본문·카드 안쪽 (index.css / index.min 분기·섹션별 margin 덮어쓰기용) */
main#target {
  --jr-section-head-to-cards-gap: 4.8rem;
  --jr-section-head-content-gap: var(--jr-section-head-to-cards-gap);
  /* .sect 상·하: 기본 8/6rem 대비 1lh 줄인 뒤 반줄(0.5lh) 복구 */
  --jr-section-vert-pad: max(4.5rem, calc(8rem - 0.5lh));
  --jr-section-vert-pad-sm: max(3.75rem, calc(6rem - 0.5lh));
  /* .jr-risk-card padding: 2.2rem 1.8rem */
  --jr-risk-card-pad-y: 2.2rem;
  --jr-risk-card-pad-x: 1.8rem;
}

/* 본문 .sect: PC·모바일 공통으로 RISK 와 동일 상·하 패딩 (모바일은 index.min 미로드 시에도 적용) */
main#target .contents > section.sect {
  padding-top: var(--jr-section-vert-pad) !important;
  padding-bottom: var(--jr-section-vert-pad) !important;
}
@media (max-width: 767px) {
  main#target .contents > section.sect {
    padding-top: var(--jr-section-vert-pad-sm) !important;
    padding-bottom: var(--jr-section-vert-pad-sm) !important;
  }
}

/* RISK CHECK: 헤더 → 자가진단 CTA → 카드 — CTA는 위로 두고, CTA 위·아래 여백은 1줄(1lh)만 */
main#target #jrRiskUrgency.jr-risk-section > .innerWrap {
  gap: 0 !important;
}
main#target #jrRiskUrgency .jr-risk-head {
  margin-bottom: 0 !important;
}
main#target #jrRiskUrgency .jr-section-more-wrap {
  margin-top: 1lh !important;
  margin-bottom: 1lh !important;
  max-width: 100% !important;
}

main#target #jrRiskUrgency .jr-risk-card {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  box-sizing: border-box !important;
}

/* WHY JR: gap:0 + 카드 margin-top 이 RISK 와 달라지는 것 방지 */
main#target #jrWhyCredibility.jr-why-credibility-section > .innerWrap {
  gap: var(--jr-section-head-to-cards-gap) !important;
}
main#target #jrWhyCredibility .jr-why-core-cards {
  margin-top: 0 !important;
}
main#target #jrWhyCredibility .jr-why-core-cards article {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  box-sizing: border-box !important;
}

/* style.css .sect .innerWrap 기본 gap(clamp 3~8rem) 이 배지·제목·부제 사이에도 들어가 과해짐 → 홈 본문은 RISK 스케일로 통일, 예외만 별도 */
main#target .contents > section.sect > .innerWrap {
  gap: var(--jr-section-head-to-cards-gap) !important;
}

/* 네이버·의뢰인 후기: 형제 나열(span,h2,p,…) — gap 끄고 본문·더보기만 한 번씩 */
main#target #jrNaverReviews > .innerWrap,
main#target #jrReview > .innerWrap {
  gap: 0 !important;
}
main#target #jrNaverReviews > .innerWrap > .cont,
main#target #jrReview > .innerWrap > .cont {
  margin-top: var(--jr-section-head-to-cards-gap) !important;
}
main#target #jrNaverReviews > .innerWrap > .jr-section-more-wrap,
main#target #jrReview > .innerWrap > .jr-section-more-wrap {
  margin-top: var(--jr-section-head-to-cards-gap) !important;
}

/* 언론보도: 평면 나열 — gap 0 + 미디어 블록만 부제↔리스트 */
main#target #jrPress > .ll-inner.innerWrap {
  gap: 0 !important;
}
main#target #jrPress .jr-media-width {
  margin-top: var(--jr-section-head-to-cards-gap) !important;
}

/* 블로그·인스타: <header> + .jr-media-width 2단 — innerWrap gap 만 (margin-top 이중 금지) */
main#target #jrBlog > .innerWrap,
main#target #jrInstagram > .innerWrap {
  gap: var(--jr-section-head-to-cards-gap) !important;
}
main#target #jrBlog .jr-media-width,
main#target #jrInstagram .jr-media-width {
  margin-top: 0 !important;
}

/* 방송: innerWrap gap 5.5rem 등 → RISK 스케일 */
main#target section.jr-broadcast-section .innerWrap {
  gap: var(--jr-section-head-to-cards-gap) !important;
}
main#target section.jr-broadcast-section .jr-broadcast-card .jr-broadcast-card-body {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  box-sizing: border-box !important;
}

main#target #jrBlog .jr-blog-grid--static .jr-blog-card__body {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  box-sizing: border-box !important;
}

/* 네이버·의뢰인 후기 카드 면 — style.css 40px/scale 과 RISK 2.2rem/1.8rem 통일 */
main#target #jrNaverReviews .review-card,
main#target #jrReview .review-card {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  box-sizing: border-box !important;
  transform: none !important;
  opacity: 1 !important;
}
main#target #jrReview .swiper-slide-active .review-card,
main#target #jrNaverReviews .swiper-slide-active .review-card {
  transform: none !important;
}

/* FAQ: 헤더↔본문 + 리드 상단 여백을 RISK 헤드와 맞춤 */
main#target .jr-faq-section .jr-faq-inner {
  gap: var(--jr-section-head-to-cards-gap) !important;
}
main#target .jr-faq-section .jr-faq-lead {
  margin-top: 0.45rem !important;
}

@media (max-width: 899px) {
  :root {
    /* 모바일 히어로 — 팔레트 jr-hero-bg-mobile 또는 jr-hero-bg */
    --temple-hero-bg: var(--jr-hero-bg-mobile, var(--jr-hero-bg));
  }
}

::selection {
  background: var(--jr-brand-primary);
  color: var(--jr-text-inverse);
}
::-moz-selection {
  background: var(--jr-brand-primary);
  color: var(--jr-text-inverse);
}

/* 헤더: 팔레트 헤더 배경 (이혼·학폭 공통 var(--jr-text-press) 단색) */
.header {
  background: var(--jr-header-bg, #050505) !important;
  border-bottom: 1px solid var(--jr-header-border);
}
.header .gnb_menu .gnb_list > li > a,
.header .gnb_menu ul a,
.header .gnb_seo_label,
.header .gnb_btn,
.header .gnb_btn svg {
  color: var(--jr-header-text, var(--jr-bg-soft)) !important;
}
.header .gnb_menu .gnb_list > li > a::after,
.header .gnb_menu .gnb_list > li > a.current::after {
  background: var(--jr-header-active) !important;
}
.header .logo:focus-visible,
.header .gnb_menu ul a:focus-visible {
  outline-color: var(--jr-overlay-brand-medium) !important;
}

/* 히어로: 팔레트 사진 URL (학폭: classroom 오버레이 / 이혼·테스트: main_visual) */
.visual,
#jrMember.visual,
#jrMobileBackupHero.visual,
#jrMobileBackupHero {
  background-color: transparent !important;
  background-image: var(--temple-hero-bg), var(--temple-hero-photo-url) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center center, 50% center !important;
  background-size: cover, cover !important;
  background-attachment: scroll, fixed !important;
}

/* 히어로 위 어두운 배경 위 가독성 */
.visual .title h1,
.visual .title .subtxt,
#jrMember.visual .title h1,
#jrMember.visual .title .subtxt,
#jrMember.visual .visual_left .title h1,
#jrMember.visual .visual_left .title .subtxt,
#jrMobileBackupHero .title h1,
#jrMobileBackupHero .title h2,
#jrMobileBackupHero .title .subtxt {
  color: var(--jr-hero-title) !important;
  text-shadow: 0 1px 2px var(--jr-overlay-dark-soft);
}
.visual .title .subtxt,
#jrMember.visual .title .subtxt,
#jrMobileBackupHero .title .subtxt {
  color: var(--jr-hero-subtitle) !important;
}

/* 홈 히어로 복구: PC=#jrMember · 모바일=#jrMobileBackupHero 전환(다른 규칙 간섭 시에도 표시) */
@media (min-width: 900px) {
  /* absolute 레이어(#jr-hero-design-1)만 있을 때 섹션 높이가 0으로 붕괴되지 않게(히어로가 문서 전체 높이로 늘어나는 현상 방지) */
  main#target .contents #jrMember.visual,
  #jrMember.visual {
    display: block !important;
    visibility: visible !important;
    position: relative;
    min-height: min(80.4vh, 720px);
    overflow-y: visible !important;
  }
  /*
   * hero-design-1.min.css 에서 #jr-hero-design-1 이 .hero-fixed-img 규칙과 잘못 같은 블록으로 묶여
   * 이미지용 height/max-height(~80.4vh)가 래퍼에까지 적용되며 하단 변호사 롤링이 잘리는 문제 보정
   */
  #jrMember.visual #jr-hero-design-1 {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  #jrMobileBackupHero,
  #jrMobileBackupHero.visual {
    display: none !important;
  }
}
@media (max-width: 899px) {
  /*
   * PC용 동적 히어로(#jrMember)만 숨김. 프로필(/members/*.html) 등은 id가 같아도
   * #jrMobileBackupHero가 없으므로 전역 #jrMember 숨김을 쓰면 히어로가 통째로 사라짐.
   * 홈: main#target > .contents. 랜딩: .contents 직계 자식으로 백업 섹션이 앞에 있고 그 뒤에 #jrMember.
   */
  main#target .contents #jrMember.visual,
  body:not(.profile-page) .contents > #jrMobileBackupHero ~ #jrMember.visual {
    display: none !important;
  }
  #jrMobileBackupHero,
  #jrMobileBackupHero.visual {
    display: block !important;
  }
}

/* 맞춤 변호사(상담 앵커): 고정 헤더에 가리지 않게 */
#lawyerSearchSect {
  scroll-margin-top: calc(64px + env(safe-area-inset-top, 0px));
}

/* 푸터: 히어로와 동일 배경 */
.footer {
  background: var(--temple-hero-bg) !important;
  color: var(--jrwhite) !important;
}
.footer .ft_info {
  color: var(--brown100) !important;
}
/* 푸터 링크색: PC와 모바일을 분리해 상호 영향 방지 */
@media (min-width: 900px) {
  .footer .center_lst a {
    color: var(--jr-footer-link) !important;
    font-weight: 500;
  }
  .footer .center_lst a:hover {
    color: var(--jr-footer-link-hover) !important;
  }
  .footer .center_lst .footer-legal-btn {
    color: var(--jr-footer-link) !important;
    font-weight: 500;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font: inherit !important;
    font-size: inherit !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }
  .footer .center_lst .footer-legal-btn:hover {
    color: var(--jr-neutral-blue-tint-6) !important;
  }
  /* 구형 푸터(ft_jrinfo) 개인정보·면책 버튼 */
  .footer .ft_jrinfo button.new-popup-btn {
    color: var(--jr-section-number) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font: inherit !important;
    cursor: pointer !important;
  }
  .footer .ft_jrinfo button.new-popup-btn:hover {
    color: var(--jr-neutral-blue-tint-6) !important;
  }
  /* 모바일 전용 Family site 아코디언은 PC에서 미표시 */
  .footer .footer-mobile-family-site {
    display: none !important;
  }
  .footer .footer-mobile-legal-row {
    display: none !important;
  }
  .footer .footer-hakpok-accordions-wrap--mobile-only {
    display: none !important;
  }
}

@media (max-width: 899px) {
  .footer .footer-hakpok-accordion--desktop-only {
    display: none !important;
  }
  .footer .center_lst,
  .footer .center_lst a,
  .footer .center_lst .footer-legal-btn,
  .footer .ft_jrinfo,
  .footer .ft_jrinfo span,
  .footer .ft_jrinfo button.new-popup-btn {
    color: var(--jr-section-number) !important;
  }
  .footer .center_lst a:hover,
  .footer .center_lst .footer-legal-btn:hover,
  .footer .ft_jrinfo button.new-popup-btn:hover {
    color: var(--jr-brand-accent-soft) !important;
  }
}
.footer .footer-region-list a {
  color: var(--brown200) !important;
}

/* 히어로 우측 배지: 팔레트 토큰 (학폭=블루 / 테스트·이혼=웜 골드) */
.jr-hero-fixed--primary .jr-hero-primary-badge,
.jr-hero-fixed--primary .jr-hero-primary-badge-right,
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap .jr-hero-primary-badge {
  border: 1px solid var(--jr-hero-primary-badge-border, var(--jr-border-strong)) !important;
  background: var(
    --jr-hero-primary-badge-bg,
    linear-gradient(
      165deg,
      rgba(238, 248, 255, 0.98) 0%,
      rgba(218, 235, 252, 0.96) 52%,
      rgba(199, 224, 248, 0.94) 100%
    )
  ) !important;
  box-shadow:
    inset 0 1px 0 var(--jr-overlay-light-soft),
    0 2px 10px rgba(15, 40, 71, 0.14) !important;
  color: var(--jr-hero-primary-badge-color, var(--temple-deep-2)) !important;
  text-shadow: none !important;
}

.jr-hero-fixed--primary .jr-hero-primary-badge::before,
.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::before,
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap .jr-hero-primary-badge::before {
  background: var(
    --jr-hero-primary-badge-icon-ring-bg,
    linear-gradient(155deg, #f0f9ff 0%, var(--jr-brand-accent-soft) 48%, var(--jr-neutral-blue-tint-6) 100%)
  ) !important;
  border: 1px solid var(--jr-hero-primary-badge-icon-ring-border, var(--jr-border-strong)) !important;
  box-shadow:
    inset 0 1px 0 var(--jr-overlay-light-soft),
    0 2px 8px var(--jr-shadow-sm) !important;
}

.jr-hero-fixed--primary .jr-hero-primary-badge::after,
.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::after,
#jrMobileBackupHero .lawyer-slider-others .jr-mobile-slide-img-wrap .jr-hero-primary-badge::after {
  background: var(
    --jr-hero-primary-badge-icon-fill,
    linear-gradient(155deg, var(--jr-header-text-hover) 0%, var(--jr-brand-accent) 28%, var(--jr-brand-primary) 55%, var(--jr-brand-primary-deep) 85%, var(--jr-text-heading) 100%)
  ) !important;
  filter: contrast(1.06) saturate(1.08)
    drop-shadow(0 0 0.5px rgba(15, 23, 42, 0.35))
    drop-shadow(0 0.6px 0.85px rgba(15, 23, 42, 0.28)) !important;
}

.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::after {
  left: 0.38rem !important;
}

/* 모바일 백업 히어로 고정 프로필: 역할·이름 (PC #jrMember 는 아래 별도 팔레트) */
#jrMobileBackupHero .jr-hero-fixed .lawyer-info > p:first-of-type .jr-hero-role-line {
  color: var(--jr-header-text-hover) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55) !important;
}

#jrMobileBackupHero .jr-hero-fixed .lawyer-info > p:first-of-type .jr-hero-name-line {
  color: var(--jr-neutral-blue-tint-3) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}

/* 홈 본문 섹션: CI 워터마크(밝음) ↔ 진한 단색(로고 없음) 교차 */
#jrRiskUrgency.jr-risk-section,
#jrWhyCredibility.jr-why-credibility-section,
#jrNaverReviews.jr-naver-reviews-section,
#jrBroadcast.jr-broadcast-section,
#jrInstagram.jr-instagram-section {
  position: relative;
  overflow: hidden;
}

/* CI 워터마크: 밝은 스트립 전용(WHY JR은 아래 별도 규칙) */
#jrRiskUrgency.jr-risk-section::before,
#jrNaverReviews.jr-naver-reviews-section::before,
#jrBroadcast.jr-broadcast-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.05;
  background-image: url("/images/CI_symbol_dark.svg"), url("/images/CI_symbol_dark.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: 90% 18%, 6% 88%;
  background-size: clamp(100px, 18vw, 200px) auto, clamp(64px, 11vw, 120px) auto;
}

@media (max-width: 767px) {
  #jrRiskUrgency.jr-risk-section::before,
  #jrNaverReviews.jr-naver-reviews-section::before,
  #jrBroadcast.jr-broadcast-section::before {
    opacity: 0.038;
    background-position: 92% 12%, 4% 92%;
    background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto;
  }
  #jrWhyCredibility.jr-why-credibility-section::before {
    opacity: 0.038 !important;
    background-position: 92% 12%, 4% 92% !important;
    background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto !important;
  }
}

/* 밝은 스트립 + 워터마크가 보이도록 내부 래퍼 배경 투명 */
#jrNaverReviews.jr-naver-reviews-section > .innerWrap,
#jrBroadcast.jr-broadcast-section > .innerWrap,
#jrPress.jr-press-section > .innerWrap,
#jrPress.jr-press-section > .ll-inner.innerWrap,
#jrInstagram.jr-instagram-section > .innerWrap {
  background: transparent !important;
  position: relative;
  z-index: 1;
}

/* WHY JR: 워터마크(::before) + 은은한 광원(::after) */
#jrWhyCredibility.jr-why-credibility-section {
  background: var(--temple-strip-bg-light) !important;
}
#jrWhyCredibility.jr-why-credibility-section::before {
  width: auto !important;
  height: auto !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  border-radius: 0 !important;
  opacity: 0.05 !important;
  background-image: url("/images/CI_symbol_dark.svg"), url("/images/CI_symbol_dark.svg") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: 90% 18%, 6% 88% !important;
  background-size: clamp(100px, 18vw, 200px) auto, clamp(64px, 11vw, 120px) auto !important;
}
#jrWhyCredibility.jr-why-credibility-section::after {
  content: "" !important;
  width: auto !important;
  height: auto !important;
  inset: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  border-radius: 0 !important;
  background-image: radial-gradient(
      closest-side at 88% 6%,
      rgba(37, 99, 235, 0.18) 0%,
      transparent 100%
    ),
    radial-gradient(closest-side at 8% 94%, rgba(15, 40, 71, 0.1) 0%, transparent 100%) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: 100% 100%, 100% 100% !important;
  z-index: 0;
  pointer-events: none;
}

#jrRiskUrgency.jr-risk-section {
  background: var(--temple-strip-bg-light) !important;
}
#jrNaverReviews.jr-naver-reviews-section {
  background: var(--temple-strip-bg-light) !important;
}

/* 네이버 플레이스 후기: 스테이지 래퍼가 row flex면 도트 nav가 우측 좁은 열로 가며 점만 세로로 줄바꿈됨 → 카드 아래 한 줄 */
#jrNaverReviews .jr-naver-reviews-stage-wrap {
  flex-direction: column;
  align-items: stretch;
}

/* 네이버 플레이스 후기: 카드 묶음 아래 점(페이지) 네비 — 가운데 정렬, 점 많으면 가로 스크롤 */
#jrNaverReviews .jr-naver-reviews-dots {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  gap: clamp(0.45rem, 1.85vw, 1.05rem);
  margin: clamp(1.25rem, 2.8vw, 2rem) 0 0;
  padding: 0.5rem clamp(0.5rem, 2.25vw, 2.75rem) 0.2rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scroll-padding-inline: 0.75rem;
  list-style: none;
}
#jrNaverReviews .jr-naver-reviews-dots.jr-naver-reviews-dots--many {
  justify-content: center;
  gap: clamp(0.38rem, 1.1vw, 0.55rem);
}
#jrNaverReviews .jr-naver-reviews-dots::-webkit-scrollbar {
  height: 5px;
}
#jrNaverReviews .jr-naver-reviews-dots::-webkit-scrollbar-thumb {
  background: var(--jr-section-border);
  border-radius: 999px;
}
#jrNaverReviews .jr-naver-dot {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: var(--jr-section-border);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
#jrNaverReviews .jr-naver-dot:hover,
#jrNaverReviews .jr-naver-dot:focus-visible {
  background: var(--jr-overlay-brand-medium);
  outline: none;
  box-shadow: 0 0 0 2px var(--jr-form-focus-ring);
}
#jrNaverReviews .jr-naver-dot--active {
  background: rgba(37, 99, 235, 0.95);
  transform: scale(1.15);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

#jrBroadcast.jr-broadcast-section {
  background: var(--temple-strip-bg-light) !important;
}
#jrInstagram.jr-instagram-section {
  background: var(--temple-strip-bg-deep) !important;
}
#faq.jr-faq-section {
  background: var(--temple-strip-bg-deep) !important;
}

/* 업무사례 미리보기 일시 숨김 — 재표시 시 index.html 에서 --paused 제거 */
#jrCasesPreview.jr-cases-preview-section--paused {
  display: none !important;
}

/* 진한 스트립(로고 없음): 워터마크 제거 */
section.sect.lawyer-search-wrap::before,
#jrCasesPreview.jr-cases-preview-section::before,
#jrConsultCases.jr-cases-preview-section::before,
#jrPress.jr-press-section::before,
.jr-blog-section::before,
#jrReview.jr-naver-reviews-section::before,
#jrLocation.section3::before {
  content: none !important;
  display: none !important;
}

/* 서브페이지 본문(.jr-subpage-body-surface): 홈 RISK CHECK와 동일 CI 워터마크 — lawyer-search-wrap 제거 규칙 복구 */
.subpage section.sect.lawyer-search-wrap.jr-subpage-body-surface::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.05;
  background-image: url("/images/CI_symbol_dark.svg"), url("/images/CI_symbol_dark.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: 90% 18%, 6% 88%;
  background-size: clamp(100px, 18vw, 200px) auto, clamp(64px, 11vw, 120px) auto;
}
@media (max-width: 767px) {
  .subpage section.sect.lawyer-search-wrap.jr-subpage-body-surface::before {
    opacity: 0.038;
    background-position: 92% 12%, 4% 92%;
    background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto;
  }
}

section.sect.lawyer-search-wrap,
#jrCasesPreview.jr-cases-preview-section,
#jrConsultCases.jr-cases-preview-section,
#jrPress.jr-press-section,
.jr-blog-section,
#jrReview.jr-naver-reviews-section,
#jrReview.jr-naver-reviews-section > .innerWrap,
#jrLocation.section3 {
  position: relative;
  overflow: hidden;
}

/* 서브 jr-subpage-body-surface(구성원 등)는 제외 — 아래 body#target.subpage에서 RISK 밝은 면 */
section.sect.lawyer-search-wrap:not(.jr-subpage-body-surface) {
  background: var(--temple-strip-bg-deep) !important;
}
#jrCasesPreview.jr-cases-preview-section,
#jrConsultCases.jr-cases-preview-section {
  background: var(--temple-strip-bg-deep) !important;
}
#jrPress.jr-press-section {
  background: var(--temple-strip-bg-deep) !important;
}
#jrBlog.jr-blog-section,
.jr-blog-section {
  background: var(--temple-strip-bg-light) !important;
}
#jrBroadcast.jr-broadcast-section > .innerWrap,
.jr-broadcast-section > .innerWrap {
  background: transparent !important;
  position: relative;
  z-index: 1;
}
#jrPress.jr-press-section > .innerWrap,
#jrPress.jr-press-section > .ll-inner.innerWrap {
  background: transparent !important;
  position: relative;
  z-index: 1;
}
#jrBlog.jr-blog-section > .innerWrap,
.jr-blog-section > .innerWrap {
  background: transparent !important;
  position: relative;
  z-index: 1;
}
#jrReview.jr-naver-reviews-section,
#jrReview.jr-naver-reviews-section > .innerWrap {
  background: var(--temple-strip-bg-light) !important;
}
#jrLocation.section3 {
  background: var(--temple-strip-bg-light) !important;
}

.jr-why-credibility-badge {
  background: rgba(15, 40, 71, 0.95) !important;
  border-color: rgba(125, 211, 252, 0.35) !important;
  box-shadow: 0 10px 20px rgba(15, 40, 71, 0.2) !important;
}

/* 서브페이지 히어로 (members 등) 베이지 패턴 제거 → 딥블루 */
.subpage .page-hero {
  background: var(--jr-gradient-footer) !important;
}
.subpage .page-hero::before,
.subpage .page-hero::after {
  display: none !important;
}
.subpage .page-hero .hero-pattern {
  display: none !important;
}
.subpage .page-hero .page-hero__title,
.subpage .page-hero h1 {
  color: var(--jr-neutral-blue-tint-3) !important;
}
.subpage .page-hero .page-hero__lead,
.subpage .page-hero p {
  color: #c7d7f5 !important;
}

/* 서브 히어로 로고: 어두운 CI 대신 밝은 심볼 + 외곽선으로 선명도 */
.subpage .page-hero .page-hero__logo {
  filter: drop-shadow(0 2px 8px var(--jr-overlay-dark-medium));
}
.subpage .page-hero .page-hero__logo img {
  display: block;
  width: clamp(2.75rem, 5.5vw, 3.5rem) !important;
  height: auto !important;
  filter: drop-shadow(0 0 1px var(--jr-overlay-light-soft))
    drop-shadow(0 1px 2px var(--jr-overlay-dark-soft))
    drop-shadow(0 0 18px rgba(56, 189, 248, 0.22)) !important;
}

/* 서브페이지 히어로 오른쪽 JR 심볼 워터마크 (members.html과 동일) */
.subpage .page-hero .page-hero__jr-watermark {
  position: absolute;
  z-index: 1;
  right: clamp(-4rem, -2vw, -1rem);
  top: 50%;
  transform: translateY(-50%) rotate(-10deg);
  width: min(42vw, 22rem);
  max-width: none;
  pointer-events: none;
  opacity: 0.09;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(
    ellipse 75% 85% at 55% 45%,
    var(--jr-neutral-900) 0%,
    var(--jr-neutral-900) 45%,
    transparent 78%
  );
  mask-image: radial-gradient(
    ellipse 75% 85% at 55% 45%,
    var(--jr-neutral-900) 0%,
    var(--jr-neutral-900) 45%,
    transparent 78%
  );
}
.subpage .page-hero .page-hero__jr-watermark img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 0 2.5rem rgba(56, 189, 248, 0.2));
}
.subpage .page-hero .page-hero__jr-watermark--ghost {
  right: clamp(-5rem, 2vw, 2rem);
  width: min(52vw, 28rem);
  transform: translateY(-48%) rotate(-18deg) scale(1.08);
  opacity: 0.045;
  mix-blend-mode: soft-light;
  -webkit-mask-image: radial-gradient(
    ellipse 90% 90% at 40% 50%,
    transparent 35%,
    var(--jr-neutral-900) 55%,
    transparent 80%
  );
  mask-image: radial-gradient(
    ellipse 90% 90% at 40% 50%,
    transparent 35%,
    var(--jr-neutral-900) 55%,
    transparent 80%
  );
}
@media (max-width: 768px) {
  .subpage .page-hero .page-hero__jr-watermark {
    width: min(58vw, 14rem);
    opacity: 0.065;
    right: -2.5rem;
  }
  .subpage .page-hero .page-hero__jr-watermark--ghost {
    display: none;
  }
}

/* ========== 전역 스크롤바 (딥블루) ========== */
html {
  scrollbar-color: var(--jr-brand-primary) #0b1729;
  scrollbar-width: thin;
  background: var(--temple-deep);
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: #0b1729;
  border-radius: 999px;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--jr-brand-accent) 0%, var(--jr-brand-secondary) 55%, var(--jr-brand-primary-deep) 100%);
  border-radius: 999px;
  border: 2px solid #0b1729;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
  background: var(--jr-gradient-brand);
}

/* 모달·내부 스크롤 영역 */
.jr-press-modal-body,
.jr-lawyer-modal-body,
.modal-overlay .modal-content,
[class*="modal"] [style*="overflow"] {
  scrollbar-color: #3b82f6 var(--jr-bg-section);
  scrollbar-width: thin;
}
.jr-press-modal-body::-webkit-scrollbar,
.jr-lawyer-modal-body::-webkit-scrollbar {
  width: 8px;
}
.jr-press-modal-body::-webkit-scrollbar-track,
.jr-lawyer-modal-body::-webkit-scrollbar-track {
  background: var(--jr-divider);
  border-radius: 6px;
}
.jr-press-modal-body::-webkit-scrollbar-thumb,
.jr-lawyer-modal-body::-webkit-scrollbar-thumb {
  background: var(--jr-brand-primary);
  border-radius: 6px;
}

/* 메인 래퍼: 팔레트 토큰 연동 (main#target 스코프가 :root 팔레트를 덮어쓰지 않도록) */
main#target > .contents {
  background: var(--jr-bg-page, var(--jr-bg-card));
}
main#target,
main#target .contents {
  --jr-surface-risk-bg: var(--jr-bg-risk);
  --jr-surface-review-bg: var(--jr-bg-review-gradient);
  --temple-strip-bg-light: linear-gradient(
    180deg,
    var(--jr-bg-strip-light-start) 0%,
    var(--jr-bg-strip-light-mid) 42%,
    var(--jr-bg-strip-light-end) 100%
  );
  --temple-strip-bg-deep: linear-gradient(
    180deg,
    var(--jr-bg-strip-deep-start) 0%,
    var(--jr-bg-strip-deep-mid) 48%,
    var(--jr-bg-strip-deep-end) 100%
  );
}

/* 서브페이지: members.html 등 body#target + .contents (main 없음) */
body#target.subpage > .contents,
body.subpage > .contents {
  background: var(--jr-bg-page, var(--jr-bg-card));
  --jr-surface-risk-bg: var(--jr-bg-risk);
  --jr-surface-review-bg: var(--jr-bg-review-gradient);
  --temple-strip-bg-light: linear-gradient(
    180deg,
    var(--jr-bg-strip-light-start) 0%,
    var(--jr-bg-strip-light-mid) 42%,
    var(--jr-bg-strip-light-end) 100%
  );
  --temple-strip-bg-deep: linear-gradient(
    180deg,
    var(--jr-bg-strip-deep-start) 0%,
    var(--jr-bg-strip-deep-mid) 48%,
    var(--jr-bg-strip-deep-end) 100%
  );
}

/* ========== RISK 섹션 카드·타이포 ========== */
#jrRiskUrgency .jr-risk-head h2,
#jrRiskUrgency .jr-risk-head p {
  color: var(--temple-text) !important;
}
#jrRiskUrgency .jr-risk-badge {
  background: var(--jr-risk-badge-bg, var(--brown900)) !important;
  color: var(--jr-risk-badge-text, var(--jrwhite)) !important;
  border: 1px solid var(--jr-border-strong) !important;
}
.jr-risk-card {
  background: var(--temple-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 20px var(--jr-shadow-xs) !important;
}
.jr-risk-card:hover {
  border-color: var(--jr-overlay-brand-medium) !important;
  box-shadow: 0 10px 28px var(--jr-section-border) !important;
}
.jr-risk-card h3 {
  color: var(--temple-text) !important;
}
.jr-risk-card h3::before {
  background: var(--temple-chip-bg) !important;
  color: var(--temple-chip-text) !important;
}
.jr-risk-card p {
  color: var(--temple-text-muted) !important;
}
.jr-risk-card .jr-risk-scenario {
  background: var(--temple-card-muted) !important;
  border: 1px solid var(--temple-border) !important;
  color: var(--temple-text-muted) !important;
}

/* ========== WHY JR 코어 카드 ========== */
.jr-why-credibility-head h2 {
  color: var(--temple-text) !important;
}
.jr-why-credibility-head p {
  color: var(--temple-text-muted) !important;
}
.jr-why-core-cards article {
  background: var(--temple-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 18px rgba(15, 40, 71, 0.07) !important;
}
.jr-why-core-cards article::before {
  background: var(--temple-chip-bg) !important;
  color: var(--temple-chip-text) !important;
}
.jr-why-core-cards article::after {
  background: linear-gradient(90deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-accent) 100%) !important;
  opacity: 0.9 !important;
}
.jr-why-core-cards article:hover {
  border-color: var(--jr-border-strong) !important;
  box-shadow: 0 12px 28px var(--jr-section-border) !important;
}
.jr-why-core-cards h3 {
  color: var(--temple-text) !important;
}
.jr-why-core-cards p {
  color: var(--temple-text-muted) !important;
}
.jr-why-core-cards p strong {
  color: var(--jr-brand-primary-dark) !important;
}

/* ========== 방송 / 보도 / 블로그 섹션 배경·카드 ========== */
/* 방송·블로그 섹션 배경은 상단 «교차 스트립»에서 처리 */
.jr-broadcast-title,
.jr-broadcast-card-body h3 {
  color: var(--temple-text) !important;
}
.jr-broadcast-desc,
.jr-broadcast-card-body p {
  color: var(--temple-text-muted) !important;
}
.jr-broadcast-card-body p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  word-break: break-word !important;
}
.jr-broadcast-card {
  background: var(--temple-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 16px rgba(15, 40, 71, 0.07) !important;
}
.jr-broadcast-card:hover {
  border-color: var(--jr-overlay-brand-medium) !important;
  box-shadow: 0 14px 32px var(--jr-card-border) !important;
}
.jr-broadcast-card:hover .jr-play-btn {
  border-color: var(--temple-accent) !important;
}
.jr-broadcast-card:hover .jr-play-btn svg {
  fill: var(--temple-accent) !important;
}
.jr-play-btn {
  border-color: var(--jr-brand-primary) !important;
}
.jr-play-btn svg {
  fill: var(--jr-brand-accent) !important;
}

.jr-press-card,
.jr-blog-card {
  border-color: var(--temple-border) !important;
  box-shadow: 0 4px 16px var(--jr-shadow-xs) !important;
}
.jr-press-card:hover {
  border-color: var(--jr-border-strong) !important;
}
.jr-press-card-left {
  background: var(--temple-card-muted) !important;
  border-bottom-color: var(--temple-border) !important;
}

/* 메인 index #jrPress: 기사별 분리 카드(행마다 독립 박스, 목록은 gap만) */
main#target #jrPress .jr-press-list {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.7rem, 1.5vw, 1.05rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  list-style: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

main#target #jrPress .jr-press-empty {
  font-size: calc(1.4rem * 1.1) !important;
}

/* 각 행 = 하나의 카드 */
main#target #jrPress .jr-press-card {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
  background: var(--jr-bg-card) !important;
  border: 1px solid var(--jr-divider) !important;
  border-radius: clamp(10px, 1.2vw, 14px) !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.05),
    0 6px 18px var(--jr-shadow-xs) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease !important;
}

@media (min-width: 640px) {
  main#target #jrPress .jr-press-card {
    display: grid !important;
    grid-template-columns: 12rem minmax(0, 1fr) max-content !important;
    grid-template-rows: auto !important;
    align-items: stretch !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
  }
}

main#target #jrPress .jr-press-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(148, 163, 184, 0.85) !important;
  box-shadow:
    0 2px 4px var(--jr-shadow-xs),
    0 12px 28px rgba(15, 23, 42, 0.1) !important;
  background: var(--jr-bg-card) !important;
}

main#target #jrPress .jr-press-card:hover .jr-press-card-left {
  background: var(--jr-bg-muted) !important;
}

main#target #jrPress .jr-press-card:hover .jr-press-card-center,
main#target #jrPress .jr-press-card:hover .jr-press-card-right {
  background: #fafbfc !important;
}

main#target #jrPress .jr-press-card:focus-within {
  outline: 2px solid var(--jr-overlay-brand-medium) !important;
  outline-offset: 2px !important;
  position: relative !important;
  z-index: 1 !important;
}

main#target #jrPress .jr-press-card-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: clamp(1.15rem, 1rem + 0.45vw, 1.65rem) clamp(1rem, 0.88rem + 0.4vw, 1.35rem) !important;
  min-width: 0 !important;
  width: 100% !important;
  background: var(--jr-bg-soft) !important;
  border: none !important;
  box-sizing: border-box !important;
  transition: background-color 0.18s ease !important;
}

@media (min-width: 640px) {
  main#target #jrPress .jr-press-card-left {
    align-self: stretch !important;
    border-right: 1px solid var(--jr-neutral-surface) !important;
  }
}

main#target #jrPress .jr-press-cat {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.32rem !important;
  padding: 0.26rem 0.68rem !important;
  border-radius: 999px !important;
  background: #166534 !important;
  color: var(--jr-bg-card) !important;
  font-size: calc(1.08rem * 1.1) !important;
  font-weight: 600 !important;
  width: fit-content !important;
  line-height: 1.2 !important;
  box-shadow: 0 1px 0 var(--jr-faq-border) !important;
}
main#target #jrPress .jr-press-card[data-category="online"] .jr-press-cat {
  background: var(--jr-brand-secondary) !important;
}
main#target #jrPress .jr-press-card[data-category="broadcast"] .jr-press-cat {
  background: #6d28d9 !important;
}
main#target #jrPress .jr-press-cat svg {
  width: calc(1.05rem * 1.1) !important;
  height: calc(1.05rem * 1.1) !important;
}
main#target #jrPress .jr-press-source {
  font-size: calc(1.2rem * 1.1) !important;
  color: var(--jr-neutral-slate-700) !important;
  font-weight: 600 !important;
  text-align: left !important;
  line-height: 1.25 !important;
  width: 100% !important;
}

/* 모바일·태블릿(≤899px): 신문 + 매체명 한 줄, 세로 여백 최소화 */
@media (max-width: 899px) {
  main#target #jrPress .jr-press-card-left {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.35rem 0.5rem !important;
    justify-content: flex-start !important;
  }
  main#target #jrPress .jr-press-source {
    width: auto !important;
    min-width: 0 !important;
  }
}

main#target #jrPress .jr-press-card-center {
  padding: clamp(1.2rem, 1rem + 0.45vw, 1.75rem) clamp(1rem, 0.88rem + 0.4vw, 1.45rem) !important;
  min-width: 0 !important;
  text-align: left !important;
  background: var(--jr-bg-card) !important;
  transition: background-color 0.18s ease !important;
}

@media (min-width: 640px) {
  main#target #jrPress .jr-press-card-center {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: stretch !important;
  }
}

main#target #jrPress .jr-press-card-center h3 {
  font-size: calc(1.1 * clamp(1.65rem, 1.35rem + 0.45vw, 1.95rem)) !important;
  font-weight: 700 !important;
  color: #020617 !important;
  margin: 0 0 clamp(0.45rem, 0.35rem + 0.25vw, 0.65rem) 0 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

main#target #jrPress .jr-press-card-center p {
  font-size: calc(1.28rem * 1.1) !important;
  color: var(--jr-neutral-slate) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  line-clamp: 2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-align: left !important;
}

main#target #jrPress .jr-press-card-right {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.65rem !important;
  padding: clamp(1.15rem, 0.95rem + 0.45vw, 1.65rem) clamp(1rem, 0.88rem + 0.4vw, 1.35rem) !important;
  border-top: 1px solid var(--jr-neutral-surface) !important;
  border-left: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--jr-bg-card) !important;
  transition: background-color 0.18s ease !important;
}

@media (min-width: 640px) {
  main#target #jrPress .jr-press-card-right {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 0.55rem !important;
    border-top: none !important;
    border-left: 1px solid var(--jr-neutral-surface) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    align-self: stretch !important;
  }

  main#target #jrPress .jr-press-card-right .jr-press-date {
    text-align: right !important;
    width: auto !important;
  }

  main#target #jrPress .jr-press-card-right .jr-press-link {
    align-self: flex-end !important;
  }
}

main#target #jrPress .jr-press-date {
  font-size: calc(1.12rem * 1.1) !important;
  color: var(--jr-text-muted) !important;
  line-height: 1.25 !important;
  font-variant-numeric: tabular-nums !important;
  flex-shrink: 0 !important;
}

main#target #jrPress .jr-press-link {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  font-size: calc(1.22rem * 1.1) !important;
  color: #0c3480 !important;
  font-weight: 600 !important;
  gap: 0.35rem !important;
  line-height: 1.25 !important;
  padding: 0.42rem 0.75rem !important;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  cursor: pointer !important;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}

main#target #jrPress .jr-press-link:hover {
  color: #082654 !important;
  background: rgba(37, 99, 235, 0.12) !important;
  border-color: rgba(37, 99, 235, 0.35) !important;
}

main#target #jrPress .jr-press-link:focus-visible {
  color: #082654 !important;
  background: rgba(37, 99, 235, 0.14) !important;
  border-color: rgba(37, 99, 235, 0.55) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px var(--jr-form-focus-ring) !important;
}

main#target #jrPress .jr-press-link svg {
  width: 1.05em !important;
  height: 1.05em !important;
  flex-shrink: 0 !important;
}

@media (max-width: 639px) {
  main#target #jrPress .jr-press-card-center h3 {
    font-size: calc(1.58rem * 1.1) !important;
    line-height: 1.38 !important;
  }

  main#target #jrPress .jr-press-card-center {
    padding: clamp(1.1rem, 0.95rem + 0.5vw, 1.65rem) clamp(0.95rem, 0.88rem + 0.35vw, 1.15rem) !important;
    border-top: 1px solid var(--jr-neutral-surface) !important;
  }

  main#target #jrPress .jr-press-card-left {
    padding: clamp(1.1rem, 0.95rem + 0.5vw, 1.65rem) clamp(0.95rem, 0.88rem + 0.35vw, 1.15rem) !important;
  }

  main#target #jrPress .jr-press-card-right {
    padding: clamp(1.05rem, 0.9rem + 0.5vw, 1.55rem) clamp(0.95rem, 0.88rem + 0.35vw, 1.15rem) !important;
  }
}

/* 모바일(≤899px): 홈 언론 목록 최대 3건 — 위 .jr-press-card display:flex!important 가 index.css nth-child 숨김을 덮어쓰지 않도록 */
@media (max-width: 899px) {
  main#target #jrPress .jr-press-list > .jr-press-card:nth-child(n + 4) {
    display: none !important;
  }
}

.jr-blog-thumb,
.jr-blog-card .jr-blog-thumb {
  background: var(--temple-surface-2) !important;
}

/* ========== CTA 버튼 (브라운 계열 → 딥블루) ========== */
.jr-section-more-btn {
  background: linear-gradient(180deg, var(--jr-brand-secondary) 0%, var(--jr-text-heading) 100%) !important;
  border: 1px solid var(--jr-border-strong) !important;
  color: var(--jr-bg-soft) !important;
}
.jr-section-more-btn:hover {
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-darker) 100%) !important;
  border-color: var(--jr-header-text-hover) !important;
  color: var(--jr-bg-card) !important;
}
.jr-why-credibility-link {
  background: linear-gradient(180deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-primary-darker) 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  color: var(--jr-bg-soft) !important;
}
.jr-why-credibility-link:hover {
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-deep) 100%) !important;
  border-color: var(--jr-header-text-hover) !important;
}
.lawyer-search-wrap .jr-why-credibility-next-tagline {
  color: var(--temple-text-muted) !important;
}

/* ========== 맞춤 변호사 검색 UI ========== */
.lawyer-search-wrap {
  background: var(--temple-strip-bg-deep) !important;
}

/* index.min 베이지 «Lawyer Match UX Refresh» 덮어쓰기 — 구성원(.jr-subpage-body-surface)은 제외 */
section.sect.lawyer-search-wrap.lawyer-match:not(.jr-subpage-body-surface) {
  background: var(--temple-strip-bg-deep) !important;
}

/* 구성원·서브: 메인 RISK CHECK와 동일 밝은 스트립(index.min section.sect.lawyer-search-wrap 면보다 우선) */
body#target.subpage section.sect.lawyer-search-wrap.jr-subpage-body-surface {
  background: var(--temple-strip-bg-light) !important;
}

/* JR Lawyer Search: 부제↔검색 박스 — RISK CHECK·WHY JR과 동일 토큰(PC) */
@media (min-width: 900px) {
  main#target .contents > section.sect.lawyer-search-wrap.lawyer-match > .innerWrap {
    gap: var(--jr-section-head-to-cards-gap) !important;
  }
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head h2,
section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head .lawyer-search-desc {
  color: var(--temple-text) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head .lawyer-search-desc {
  color: var(--temple-text-muted) !important;
  font-weight: 600 !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect {
  background: linear-gradient(180deg, var(--jr-bg-soft) 0%, #f0f7ff 55%, #e8f2fc 100%) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 8px 24px rgba(15, 40, 71, 0.1) !important;
  border-radius: 14px !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect::before {
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-dark) 100%) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-panel--cats {
  border-bottom-color: var(--temple-border) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-panel-kicker {
  color: var(--temple-text) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-optional {
  color: var(--temple-text-muted) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-label {
  color: var(--temple-text) !important;
  font-weight: 700 !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell select {
  background: var(--jr-bg-card) !important;
  border: 1px solid var(--temple-border) !important;
  color: var(--temple-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-keyword {
  background: var(--jr-bg-card) !important;
  border: 1px solid var(--temple-border) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-keyword-icon {
  color: var(--jr-text-muted) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell input[type="search"],
section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell input[type="text"] {
  color: var(--temple-text) !important;
  font-weight: 600 !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell input::placeholder {
  color: var(--temple-text-muted) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell select:focus,
section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-keyword:focus-within {
  border-color: var(--jr-brand-primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.22) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-results.lawyer-search-results {
  border-top: 1px solid var(--temple-border) !important;
  background: linear-gradient(180deg, var(--jr-brand-accent-softer) 0%, #e2ebf8 100%) !important;
  border-radius: 10px !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-results-title {
  color: var(--temple-text) !important;
}

section.sect.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  background: var(--jr-bg-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 14px var(--jr-shadow-xs) !important;
}

section.sect.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result:hover {
  border-color: rgba(56, 189, 248, 0.55) !important;
  box-shadow: 0 10px 22px var(--jr-card-border) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  /* 테두리는 미디어 원에 두고, img 테두리는 원 안쪽 갭(깨진 링)을 만들지 않도록 제거 */
  border: none !important;
  box-shadow: none !important;
}

section.sect.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-name {
  color: var(--temple-text) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-role {
  color: var(--temple-text-muted) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-step__lab {
  color: var(--temple-text-muted) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-stepper__line {
  background: var(--temple-border) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-step__num {
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-deep) 100%) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-categories {
  scrollbar-color: var(--jr-brand-primary) var(--jr-divider);
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-categories::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--jr-brand-accent) 0%, var(--jr-brand-primary) 100%) !important;
}

.lawyer-search-head h2,
.lawyer-search-sect .lawyer-search-results h3 {
  color: var(--temple-text) !important;
}
.lawyer-search-head .lawyer-search-desc {
  color: var(--temple-text-muted) !important;
}
.lawyer-match-cat {
  border-color: var(--temple-border) !important;
  background: var(--temple-card) !important;
}
.lawyer-match-cat.is-active,
.lawyer-match-cat[aria-pressed="true"] {
  border-color: var(--jr-brand-primary) !important;
  background: linear-gradient(180deg, var(--jr-neutral-blue-tint-5) 0%, var(--jr-brand-accent-soft) 100%) !important;
}
.jr-lawyer-search-result--card {
  border-color: var(--temple-border) !important;
  background: var(--temple-card) !important;
}

/* ========== 하드코딩 브라운·골드 (var(--jr-lawyer-warm-dark), var(--jr-lawyer-warm-accent) 등) ========== */
.jr-press-modal-caption,
.jr-press-modal-title,
.jr-press-modal-body {
  color: var(--temple-text) !important;
  background: #f0f7ff !important;
  border-color: var(--temple-border) !important;
}
.jr-press-modal-source-link {
  color: var(--jr-brand-secondary) !important;
}
.jr-press-iframe-help {
  margin-top: 10px;
  text-align: right;
}
#jrPressModalBody .jr-modal-iframe-wrap {
  height: 70vh !important;
  min-height: 520px;
}
#jrPressModalBody .jr-modal-iframe-wrap iframe {
  width: 100%;
  height: 100%;
}
.jr-press-link:hover {
  color: var(--jr-brand-primary) !important;
}

.jr-press-url-modal-content {
  width: min(1080px, 96vw) !important;
  max-height: 90vh !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.jr-press-url-modal-caption {
  padding-bottom: 0.8rem !important;
}

.jr-press-url-iframe-wrap {
  position: relative;
  width: 100%;
  height: 72vh;
  min-height: 520px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--jr-bg-card);
}

.jr-press-url-iframe-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--jr-bg-card);
}

.footer .footer-region-links,
.footer .footer-region-links a {
  color: var(--jr-section-number) !important;
}

@media (max-width: 899px) {
  .footer .footer-policy-inline {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    margin-top: 2rem;
    margin-bottom: 0.2rem;
    color: var(--jr-neutral-blue-tint-3);
    font-size: 1.42rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.2;
    text-align: center;
  }
  .footer .footer-policy-inline .footer-legal-btn {
    color: var(--jr-neutral-blue-tint-3) !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit !important;
    cursor: pointer;
    text-decoration: none !important;
  }
  .footer .footer-policy-inline .footer-legal-btn:hover,
  .footer .footer-policy-inline .footer-legal-btn:focus-visible {
    text-decoration: underline !important;
  }
  .footer .footer-policy-inline span {
    color: var(--jr-neutral-blue-tint-2);
    font-weight: 500;
  }

  /* 상단 링크 줄은 모바일에서 Family site 아코디언으로 대체 */
  .footer .footer-nav-line.footer-nav-line--hide-below-900 {
    display: none !important;
  }

  /* 모바일 푸터 아코디언 UI 복구 (내용 텍스트는 비워둠) */
  .footer .footer-mobile-link-accordion {
    display: block;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin-top: 0.2rem;
    margin-bottom: 2rem;
    border-radius: 12px;
    background: var(--jr-border-inverse);
    border: 1px solid var(--jr-border-inverse);
    overflow: visible;
    position: relative;
    z-index: 10;
  }
  .footer .footer-mobile-link-accordion > summary {
    list-style: none;
    cursor: pointer;
    padding: 1.08rem 1.28rem;
    font-size: 1.64rem;
    font-weight: 700;
    color: var(--jr-neutral-blue-tint-4);
    position: relative;
    letter-spacing: -0.01em;
  }
  .footer .footer-mobile-link-accordion > summary::-webkit-details-marker {
    display: none;
  }
  .footer .footer-mobile-link-accordion > summary::after {
    content: "";
    position: absolute;
    right: 1.7rem;
    top: 50%;
    width: 0.85rem;
    height: 0.85rem;
    border-right: 2px solid var(--jr-neutral-blue-tint);
    border-bottom: 2px solid var(--jr-neutral-blue-tint);
    transform: translateY(-60%) rotate(45deg);
  }
  .footer .footer-mobile-link-accordion[open] > summary::after {
    transform: translateY(-35%) rotate(225deg);
  }
  .footer .footer-mobile-link-panel {
    position: absolute;
    left: -1px;
    right: -1px;
    top: calc(100% - 1px);
    padding: 0.95rem 1.6rem 1.25rem;
    border: 1px solid var(--jr-border-inverse);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: linear-gradient(180deg, rgba(90, 109, 132, 0.96) 0%, rgba(79, 98, 122, 0.97) 100%);
    box-shadow: 0 10px 26px rgba(8, 24, 44, 0.34);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  }
  .footer .footer-mobile-link-accordion[open] .footer-mobile-link-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .footer .footer-mobile-link-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
  }
  .footer .footer-mobile-link-list a {
    display: inline-block;
    color: #e6f0ff !important;
    text-decoration: none !important;
    font-size: 1.52rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: -0.01em;
  }
  .footer .footer-mobile-link-list a:hover,
  .footer .footer-mobile-link-list a:focus-visible {
    text-decoration: underline !important;
    color: var(--jr-bg-card) !important;
  }
  .footer .footer-mobile-link-list .footer-mobile-link-list__btn {
    display: inline-block;
    width: 100%;
    text-align: left;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit !important;
    font-size: 1.52rem !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    color: #e6f0ff !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }
  .footer .footer-mobile-link-list .footer-mobile-link-list__btn:hover,
  .footer .footer-mobile-link-list .footer-mobile-link-list__btn:focus-visible {
    text-decoration: underline !important;
    color: var(--jr-bg-card) !important;
  }

  /* 법적 고지(면책·개인정보) → Family site → SNS → CI → 사업자정보 → 링크·저작권 */
  .footer .innerWrap.footer-inner--grid > .footer-mobile-legal-row {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
    /* 면책공고 줄 위 여백 ≈ 본문 1줄 (1.44rem × 줄간격 1.35) */
    padding: calc(1.44rem * 1.35) 0 0.15rem 0;
    margin: 0;
  }
  .footer .footer-mobile-legal-row__btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-size: 1.44rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.35 !important;
    color: var(--jr-bg-soft) !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-decoration: none !important;
    -webkit-appearance: none;
    appearance: none;
  }
  .footer .footer-mobile-legal-row__btn:hover,
  .footer .footer-mobile-legal-row__btn:focus-visible {
    color: var(--jr-bg-card) !important;
    text-decoration: underline !important;
    text-underline-offset: 0.18em;
  }
  .footer .footer-mobile-legal-row__dot {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.42);
    flex-shrink: 0;
  }

  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only {
    grid-column: 1;
    grid-row: 2;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.55rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .footer .innerWrap.footer-inner--grid > .footer-mobile-link-accordion.footer-mobile-family-site {
    grid-column: 1;
    grid-row: 3 !important;
    /* 학폭 아코디언 간 gap(0.65rem)과 동일하게: 그리드 row-gap 보정 */
    margin-top: calc(0.65rem - 1.65rem) !important;
    margin-bottom: 0 !important;
    width: 100%;
  }
  .footer .innerWrap.footer-inner--grid .footer__grid-left-copy {
    grid-row: 5;
  }
  .footer .innerWrap.footer-inner--grid .footer__grid-right-links {
    grid-row: 6;
  }

  /* 모바일 푸터 좌우 동일 패딩(잘림 방지) */
  .footer .innerWrap.footer-inner--grid {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    row-gap: 1.65rem !important;
    padding-top: clamp(1.35rem, 0.9rem + 1.9vw, 2.6rem) !important;
    padding-bottom: calc(clamp(2.6rem, 5.4vw, 4.2rem) + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: clamp(1.6rem, 4.2vw, 2.4rem) !important;
    padding-right: clamp(1.6rem, 4.2vw, 2.4rem) !important;
    overflow: visible !important;
  }

  /* Family site 등 상단 아코디언 다음 본문 1줄 높이만큼 추가 간격 */
  .footer .innerWrap.footer-inner--grid > .jrci {
    grid-row: 4;
    margin-top: calc(1.44rem * 1.35) !important;
    margin-bottom: 0 !important;
    font-size: 2rem !important;
    line-height: 1.3 !important;
  }

  .footer .innerWrap.footer-inner--grid .footer__grid-left-copy p {
    font-size: 1.52rem !important;
    line-height: 1.78 !important;
    letter-spacing: -0.01em !important;
    color: var(--jr-neutral-blue-tint-2) !important;
  }

  .footer .innerWrap.footer-inner--grid .footer__grid-right-links {
    align-items: flex-start !important;
    justify-self: stretch !important;
    width: 100% !important;
  }
  .footer .innerWrap.footer-inner--grid .footer-right-links-stack {
    gap: 0.35rem !important;
  }
  .footer .innerWrap.footer-inner--grid .footer__grid-right-links > .copyright-row,
  .footer .innerWrap.footer-inner--grid .copyright-row {
    margin-top: 0.35rem !important;
    padding-top: 0 !important;
    transform: none !important;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row {
    width: 100% !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0.65rem !important;
  }
  .footer .innerWrap.footer-inner--grid .copyright-inline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.5rem 0.65rem !important;
    width: 100% !important;
    text-align: left !important;
  }
  /* 한 줄 유지하면서 뷰포트 폭에 맞춰 글자 크기 확대(가로를 더 채움) */
  .footer .innerWrap.footer-inner--grid .copyright-one-line {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: clamp(0.9rem, 0.42rem + 3.85vw, 1.28rem) !important;
    line-height: 1.35 !important;
    letter-spacing: -0.045em !important;
    color: var(--jr-neutral-blue-tint-2) !important;
    white-space: nowrap !important;
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Family site(region) 아코디언: PC는 그대로 두고 모바일만 카드형 복구 */
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion.footer-region-accordion--inline {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    vertical-align: unset !important;
    border-radius: 12px;
    background: var(--jr-border-inverse);
    border: 1px solid var(--jr-border-inverse);
    overflow: visible;
    position: relative;
    z-index: 8;
  }

  /* 모바일 학폭 아코디언 2열: 각 50% (플렉스 균등 분할) */
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline {
    display: block !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    vertical-align: unset !important;
    border-radius: 12px;
    background: var(--jr-border-inverse);
    border: 1px solid var(--jr-border-inverse);
    overflow: visible;
    position: relative;
    z-index: 8;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion.footer-region-accordion--inline[open],
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline[open] {
    z-index: 24;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion.footer-region-accordion--inline > summary {
    list-style: none;
    cursor: pointer;
    position: relative;
    padding: 1.08rem 2.6rem 1.08rem 1.28rem !important;
    font-size: 1.58rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    color: var(--jr-neutral-blue-tint-4) !important;
    white-space: normal !important;
    border-radius: 12px;
  }

  /* 학폭 2열 아코디언: Family site(.footer-mobile-link-accordion > summary)와 동일 타이포·패딩 */
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion.footer-region-accordion--inline > summary {
    list-style: none;
    cursor: pointer;
    position: relative;
    padding: 1.08rem 1.28rem !important;
    font-size: 1.64rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    color: var(--jr-neutral-blue-tint-4) !important;
    white-space: normal !important;
    border-radius: 12px;
    box-sizing: border-box !important;
  }
  .footer .innerWrap.footer-inner--grid
    .copyright-row
    .footer-region-accordion.footer-region-accordion--inline
    > summary::-webkit-details-marker,
  .footer .innerWrap.footer-inner--grid
    > .footer-hakpok-accordions-wrap--mobile-only
    .footer-region-accordion.footer-region-accordion--inline
    > summary::-webkit-details-marker {
    display: none;
  }
  .footer .innerWrap.footer-inner--grid
    .copyright-row
    .footer-region-accordion.footer-region-accordion--inline
    > summary::after {
    content: "";
    position: absolute;
    right: 1.45rem;
    top: 50%;
    width: 0.85rem;
    height: 0.85rem;
    border-right: 2px solid var(--jr-neutral-blue-tint);
    border-bottom: 2px solid var(--jr-neutral-blue-tint);
    transform: translateY(-55%) rotate(45deg);
  }

  .footer .innerWrap.footer-inner--grid
    > .footer-hakpok-accordions-wrap--mobile-only
    .footer-region-accordion.footer-region-accordion--inline
    > summary::after {
    content: "";
    position: absolute;
    right: 1.7rem;
    top: 50%;
    width: 0.85rem;
    height: 0.85rem;
    border-right: 2px solid var(--jr-neutral-blue-tint);
    border-bottom: 2px solid var(--jr-neutral-blue-tint);
    transform: translateY(-60%) rotate(45deg);
  }
  .footer .innerWrap.footer-inner--grid
    .copyright-row
    .footer-region-accordion.footer-region-accordion--inline[open]
    > summary,
  .footer .innerWrap.footer-inner--grid
    > .footer-hakpok-accordions-wrap--mobile-only
    .footer-region-accordion.footer-region-accordion--inline[open]
    > summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .footer .innerWrap.footer-inner--grid
    .copyright-row
    .footer-region-accordion.footer-region-accordion--inline[open]
    > summary::after {
    transform: translateY(-30%) rotate(225deg);
  }

  .footer .innerWrap.footer-inner--grid
    > .footer-hakpok-accordions-wrap--mobile-only
    .footer-region-accordion.footer-region-accordion--inline[open]
    > summary::after {
    transform: translateY(-35%) rotate(225deg);
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion > .footer-region-list,
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion > .footer-region-list {
    position: absolute;
    left: -1px;
    right: -1px;
    top: calc(100% - 1px);
    margin: 0 !important;
    padding: 0.95rem 1.35rem 1.15rem !important;
    border: 1px solid var(--jr-border-inverse);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: linear-gradient(180deg, rgba(90, 109, 132, 0.96) 0%, rgba(79, 98, 122, 0.97) 100%);
    box-shadow: 0 10px 26px rgba(8, 24, 44, 0.34);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: left !important;
    font-size: 1.38rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: -0.01em !important;
    z-index: 5;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion > .footer-region-list {
    max-height: min(55vh, 22rem);
  }
  /* 모바일 학폭 2열 아코디언: 목록 6줄만 노출 후 스크롤 */
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-accordion > .footer-region-list {
    max-height: calc(2.1rem + 6lh) !important;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-list li,
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-list li {
    margin: 0.2rem 0 !important;
    color: #e8f1ff !important;
  }
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-list a,
  .footer .innerWrap.footer-inner--grid > .footer-hakpok-accordions-wrap--mobile-only .footer-region-list a {
    color: #e6f0ff !important;
    font-size: inherit !important;
    font-weight: inherit !important;
  }

  /* 상단 관련 링크 줄: 모바일에서 가로 스크롤·잘림 방지 */
  .footer .innerWrap.footer-inner--grid .center_lst.footer-nav-line {
    text-align: left !important;
    overflow-x: visible !important;
    overflow-wrap: anywhere;
    word-break: keep-all;
    line-height: 1.58 !important;
  }
  .footer .innerWrap.footer-inner--grid .center_lst.footer-nav-line .footer-nav-line__primary {
    display: inline !important;
    white-space: normal !important;
    max-width: 100% !important;
    overflow-x: visible !important;
  }
  .footer .innerWrap.footer-inner--grid .center_lst.footer-nav-line .footer-nav-line__primary a {
    white-space: normal !important;
  }

  /* 저작권 줄의 학폭 아코디언은 상단 스택과 중복 — 카드형 규칙보다 우선 숨김 */
  .footer .innerWrap.footer-inner--grid .copyright-row .footer-region-accordion.footer-hakpok-accordion--desktop-only {
    display: none !important;
  }
}

/* 업무사례·학폭상담사례 미리보기 섹션 (style.css 브라운·크림 → 딥블루 팔레트) */
#jrCasesPreview .jr-cases-preview-card,
#jrConsultCases .jr-cases-preview-card {
  background: var(--temple-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 18px var(--jr-shadow-xs) !important;
}
/* 상담 카드: 한 줄에서 가장 높은 카드 기준으로 세로 맞춤 */
main#target #jrConsultCases .jr-cases-preview-viewport .jr-cases-preview-track {
  display: flex !important;
  align-items: stretch !important;
}

#jrCasesPreview .jr-cases-preview-card:hover,
#jrConsultCases .jr-cases-preview-card:hover {
  box-shadow: 0 10px 26px var(--jr-card-border) !important;
  border-color: var(--jr-overlay-brand-medium) !important;
}

/* 업무사례 일반 카드: RISK CHECK .jr-risk-card 와 동일 안쪽 패딩 */
main#target #jrCasesPreview .jr-cases-preview-card:not(.jr-consult-case-card) {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  box-sizing: border-box !important;
}

#jrConsultCases .jr-cases-preview-card.jr-consult-case-card:hover {
  transform: none !important;
}

#jrConsultCases .jr-cases-preview-card.jr-consult-case-card {
  padding: var(--jr-risk-card-pad-y) var(--jr-risk-card-pad-x) !important;
  cursor: default !important;
  /* 칩이 absolute라 플로우 높이는 inner만 담당 — min-height:0 은 flex 1 1 0 과 만나 카드 세로 붕괴 유발, 기본 카드 min-height(33rem 등) 유지 */
  min-height: unset !important;
}

#jrCasesPreview .jr-cases-preview-card-chip,
#jrConsultCases .jr-cases-preview-card-chip {
  background: linear-gradient(180deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-primary-darker) 100%) !important;
  color: var(--jr-bg-soft) !important;
  border: 1px solid var(--jr-border-strong) !important;
}

#jrCasesPreview .jr-cases-preview-card-title,
#jrConsultCases .jr-cases-preview-card-title {
  color: var(--temple-text) !important;
}

#jrCasesPreview .jr-cases-preview-card-summary,
#jrConsultCases .jr-cases-preview-card-summary {
  color: var(--temple-text-muted) !important;
}

#jrCasesPreview .jr-cases-preview-card-result,
#jrConsultCases .jr-cases-preview-card-result {
  background: var(--temple-chip-bg) !important;
  color: var(--temple-chip-text) !important;
  border: 1px solid var(--temple-border) !important;
}

#jrCasesPreview .jr-cases-preview-lawyer img,
#jrConsultCases .jr-cases-preview-lawyer img {
  background: var(--temple-card-muted) !important;
  border: 1px solid var(--temple-border) !important;
}

#jrCasesPreview a.jr-cases-preview-lawyer:hover img,
#jrCasesPreview a.jr-cases-preview-lawyer:focus-visible img,
#jrConsultCases a.jr-cases-preview-lawyer:hover img,
#jrConsultCases a.jr-cases-preview-lawyer:focus-visible img {
  box-shadow: 0 6px 16px rgba(30, 64, 175, 0.18) !important;
}

#jrCasesPreview .jr-cases-preview-lawyer span,
#jrConsultCases .jr-cases-preview-lawyer span {
  color: var(--temple-text) !important;
}

#jrCasesPreview .jr-cases-preview-empty {
  color: var(--temple-text-muted) !important;
}

#jrCasesPreview .jr-why-credibility-badge,
#jrConsultCases .jr-why-credibility-badge {
  background: var(--temple-deep-2) !important;
  color: var(--jr-faq-bg) !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
}

#jrCasesPreview .jr-cases-preview-btn,
#jrConsultCases .jr-cases-preview-btn {
  border-color: var(--temple-border) !important;
  background: var(--temple-card) !important;
  color: var(--temple-text) !important;
}

#jrCasesPreview .jr-cases-preview-btn:hover:not(:disabled),
#jrConsultCases .jr-cases-preview-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-primary-darker) 100%) !important;
  border-color: var(--jr-overlay-brand-medium) !important;
  color: var(--jr-bg-soft) !important;
}

/* JR 학폭상담사례: 모바일은 좌우 화살표 대신 하단 점 네비(JS가 900px 미만에서 점 표시) */
@media (max-width: 899px) {
  #jrConsultCases .jr-cases-preview-btn {
    display: none !important;
  }

  main#target #jrConsultCases .jr-consult-cases-dots:not([hidden]) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: clamp(0.45rem, 1.85vw, 1.05rem);
    /* 카드 하단과 점 네비 간격 추가 축소 */
    margin: clamp(0.28rem, 0.92vw, 0.58rem) 0 0;
    padding: 0.14rem clamp(0.5rem, 2.25vw, 2.75rem) 0.12rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-padding-inline: 0.75rem;
  }

  #jrConsultCases .jr-consult-cases-dots::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  #jrConsultCases .jr-consult-cases-dot {
    box-sizing: border-box;
    width: 1rem;
    height: 1rem;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 9999px;
    background: rgba(30, 64, 175, 0.32);
    cursor: pointer;
    flex-shrink: 0;
    transition:
      width 0.2s ease,
      background 0.2s ease,
      opacity 0.2s ease;
  }

  #jrConsultCases .jr-consult-cases-dot.is-active {
    width: 2.7rem;
    background: var(--jr-brand-primary-dark);
  }

  #jrConsultCases .jr-consult-cases-dot:focus-visible {
    outline: 3px solid var(--jr-overlay-brand-medium);
    outline-offset: 3px;
  }
}

/* 업무사례 미리보기: 한 줄 2장 보조(cqw). 상담사례(#jrConsultCases) 폭은 JS syncConsultCaseCardWidths가 지정 */
@supports (width: 1cqw) {
  @media (min-width: 951px) {
    main#target #jrCasesPreview.jr-cases-preview-section .jr-cases-preview-viewport .jr-cases-preview-track > .jr-cases-preview-card {
      flex: 0 0 calc(50cqw - 0.8rem) !important;
      flex-grow: 0 !important;
      flex-shrink: 0 !important;
      width: calc(50cqw - 0.8rem) !important;
      max-width: calc(50cqw - 0.8rem) !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      min-height: auto !important;
    }
  }
}

/* JR 학폭상담사례: PC 4열(consult-cases-layout.css) — 트랙 간격·카드 상단 여백 */
@media (min-width: 1200px) {
  main#target #jrConsultCases .jr-cases-preview-viewport .jr-cases-preview-track {
    gap: 1.2rem !important;
    column-gap: 1.2rem !important;
  }
  main#target #jrConsultCases .jr-consult-case-card-inner {
    padding-top: 1.55rem !important;
  }
  main#target #jrConsultCases .jr-consult-recommended-lawyers {
    margin-top: auto !important;
    padding-top: clamp(1.05rem, 0.78rem + 0.85vw, 1.55rem) !important;
  }
  main#target #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"]::after,
  main#target #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::before,
  main#target #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::after {
    top: clamp(1.55rem, 1.25rem + 0.85vw, 2.25rem) !important;
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  main#target #jrConsultCases .jr-cases-preview-viewport .jr-cases-preview-track {
    gap: 0.85rem !important;
    column-gap: 0.85rem !important;
  }
  main#target #jrConsultCases .jr-consult-case-card-inner {
    padding-top: 1.62rem !important;
  }
}

/* JR 학폭상담사례: 카드 내부 타이포 — 메인 :root 토큰과 동일 계열(과대 확대 해제) */
main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
  font-size: var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) !important;
  line-height: 1.28 !important;
  margin: 0 !important;
  padding-bottom: clamp(0.75rem, 0.55rem + 0.55vw, 1.1rem) !important;
  box-sizing: border-box !important;
  min-height: 5.05rem !important;
}
@supports (height: 1lh) {
  main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
    min-height: calc(2lh + clamp(0.75rem, 0.55rem + 0.55vw, 1.1rem)) !important;
  }
}
main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-summary {
  font-size: var(--jr-type-body, clamp(1.53rem, 1.41rem + 0.29vw, 1.69rem)) !important;
  line-height: 1.42 !important;
  margin-top: clamp(0.55rem, 0.42rem + 0.45vw, 0.95rem) !important;
  display: block !important;
  -webkit-box-orient: unset !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
main#target #jrConsultCases .jr-consult-case-card > .jr-cases-preview-card-chip {
  font-size: clamp(1.56rem, 1.4rem + 0.64vw, 2rem) !important;
  padding: 0.44rem 1.05rem !important;
  line-height: 1.05 !important;
}
main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__result-badge.jr-cases-preview-card-result {
  font-size: clamp(0.74rem, 0.66rem + 0.3vw, 0.9rem) !important;
  padding: 0.26rem 0.52rem !important;
  margin-bottom: 0.3rem !important;
}
main#target #jrConsultCases .jr-consult-lawyers-head {
  font-size: clamp(1.2rem, 1.08rem + 0.42vw, 1.425rem) !important;
  margin: 0 !important;
}
main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer span {
  font-size: var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  font-style: normal !important;
  word-break: keep-all !important;
}
main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer img {
  width: clamp(4.35rem, 3.6rem + 2.2vw, 5.35rem) !important;
  height: clamp(4.35rem, 3.6rem + 2.2vw, 5.35rem) !important;
}

@media (max-width: 899px) {
  main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
    font-size: var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    padding-bottom: clamp(0.75rem, 0.55rem + 0.55vw, 1.1rem) !important;
    box-sizing: border-box !important;
    min-height: 5.05rem !important;
  }
  @supports (height: 1lh) {
    main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
      min-height: calc(2lh + clamp(0.75rem, 0.55rem + 0.55vw, 1.1rem)) !important;
    }
  }
  main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-summary {
    font-size: var(--jr-type-body, clamp(1.53rem, 1.41rem + 0.29vw, 1.69rem)) !important;
    line-height: 1.42 !important;
    margin-top: clamp(0.55rem, 0.42rem + 0.45vw, 0.95rem) !important;
    display: block !important;
    -webkit-box-orient: unset !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
  main#target #jrConsultCases .jr-consult-case-card > .jr-cases-preview-card-chip {
    font-size: clamp(1.44rem, 1.28rem + 0.76vw, 1.84rem) !important;
    padding: 0.4rem 0.95rem !important;
  }
  main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__result-badge.jr-cases-preview-card-result {
    font-size: clamp(0.68rem, 0.62rem + 0.32vw, 0.86rem) !important;
  }
  main#target #jrConsultCases .jr-consult-lawyers-head {
    font-size: clamp(1.08rem, 0.99rem + 0.48vw, 1.32rem) !important;
  }
  /* 모바일: 구분선(추천변호사) ↔ 사진 사이 여유 + 사진·이름 150% 확대 */
  main#target #jrConsultCases .jr-consult-recommended-lawyers {
    gap: clamp(1.05rem, 0.78rem + 1.2vw, 1.55rem) !important;
    padding-top: clamp(1.25rem, 0.92rem + 1vw, 1.85rem) !important;
  }
  main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers.jr-cases-preview-lawyers {
    padding-top: 0.5rem !important;
  }
  main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer img {
    width: clamp(6.525rem, 5.4rem + 3.3vw, 8.025rem) !important;
    height: clamp(6.525rem, 5.4rem + 3.3vw, 8.025rem) !important;
  }
  main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer span {
    font-size: var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    font-style: normal !important;
    word-break: keep-all !important;
  }
}

/* 학폭상담사례: 제목 3줄 높이 고정 후 소폭 패딩 → 요약 시작 위치 통일 */
#jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
  display: block !important;
  -webkit-box-orient: unset !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  overflow: visible !important;
  margin: 0 !important;
  padding-bottom: clamp(0.75rem, 0.55rem + 0.55vw, 1.1rem) !important;
  box-sizing: border-box !important;
  min-height: 5.05rem !important;
  word-break: keep-all !important;
}
@supports (height: 1lh) {
  #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
    min-height: calc(2lh + clamp(0.75rem, 0.55rem + 0.55vw, 1.1rem)) !important;
  }
}
#jrConsultCases .jr-consult-case-card .jr-cases-preview-card-summary {
  display: block !important;
  -webkit-box-orient: unset !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  min-height: 0 !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: keep-all !important;
  margin-top: clamp(0.55rem, 0.42rem + 0.45vw, 0.95rem) !important;
}

/* 학폭상담사례: 카드 세로 플렉스·inner·본문 확장 → 추천변호사 블록은 하단 고정 */
#jrConsultCases .jr-consult-case-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: stretch !important;
}
#jrConsultCases .jr-consult-case-card-inner {
  display: flex !important;
  flex-direction: column !important;
  /* flex-basis:0 + 세로 불확정이면 inner 높이 0으로 붕괴(칩은 absolute) — auto로 본문·변호사 높이 반영 */
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  /* 카드 외곽을 RISK 패딩으로 키웠으므로 칩 아래 여백은 inner 에서만 유지 */
  padding-top: clamp(1.42rem, 1.18rem + 0.75vw, 1.88rem) !important;
  box-sizing: border-box !important;
}
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__copy.jr-cases-preview-card-body,
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__copy {
  flex: 1 1 auto !important;
  padding-top: 0 !important;
  min-height: 0 !important;
}
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__result-badge.jr-cases-preview-card-result {
  margin-top: 0 !important;
  margin-bottom: 0.3rem !important;
  align-self: flex-start !important;
}
#jrConsultCases .jr-consult-recommended-lawyers {
  margin-top: auto !important;
  width: 100% !important;
  flex-shrink: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: clamp(0.7rem, 0.5rem + 0.55vw, 1.05rem) !important;
  padding-top: clamp(1.1rem, 0.82rem + 0.8vw, 1.65rem) !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}
#jrConsultCases .jr-consult-lawyers-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.83rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: var(--temple-text-muted, var(--jr-text-muted)) !important;
}
#jrConsultCases .jr-consult-lawyers-head span {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
#jrConsultCases .jr-consult-lawyers-head::before,
#jrConsultCases .jr-consult-lawyers-head::after {
  content: "" !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(100, 116, 139, 0.45), transparent) !important;
}
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers.jr-cases-preview-lawyers {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: grid !important;
  gap: 0.35rem 0.45rem !important;
  justify-items: center !important;
  align-items: start !important;
  width: 100% !important;
  position: relative !important;
}
/* 추천변호사 2·3열일 때 사진 열 사이 구분 점 (현재는 1명 고정으로 비표시) */
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"]::after,
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::before,
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::after {
  content: "" !important;
  position: absolute !important;
  width: 0.48rem !important;
  height: 0.48rem !important;
  border-radius: 50% !important;
  background: rgba(71, 85, 105, 0.58) !important;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.22) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  top: 2.25rem !important;
  transform: translate(-50%, -50%) !important;
}
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"]::after {
  left: 50% !important;
}
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::before {
  left: calc(100% / 3) !important;
}
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::after {
  left: calc(200% / 3) !important;
}
@media (max-width: 899px) {
  #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"]::after,
  #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::before,
  #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"]::after {
    top: clamp(3.45rem, 2.85rem + 2.4vw, 4.65rem) !important;
  }
}
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="1"] {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 11rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
#jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer {
  width: 100% !important;
  max-width: 100% !important;
}
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer img {
  width: 8.4rem !important;
  height: 8.4rem !important;
  max-width: 100% !important;
}
#jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer span {
  font-size: var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  font-style: normal !important;
  word-break: keep-all !important;
  max-width: 100% !important;
  text-align: center !important;
}
@media (max-width: 520px) {
  #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer img {
    width: min(8rem, 22vw) !important;
    height: min(8rem, 22vw) !important;
  }
  #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer span {
    font-size: var(--jr-type-card-title, clamp(1.82rem, 1.63rem + 0.51vw, 2.11rem)) !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
  }
}

/* 인라인/클래스 혼합: 자주 쓰이는 다크 브라운 블록 */
.jr-broadcast-badge,
.jr-channel-badge,
.jr-duration-badge {
  background: var(--temple-deep-2) !important;
  color: var(--jr-neutral-blue-tint-3) !important;
  border: 1px solid rgba(56, 189, 248, 0.2) !important;
}

/* 의뢰인 후기 슬라이드: SVG 아이콘 사용 시 */
#jrReview .review-card__img-box .review-card__img--symbol {
  object-fit: contain !important;
  padding: 1.2rem;
  box-sizing: border-box;
  transform: none !important;
}

/* Thanks 고객 후기: 첨부 아바타 PNG(원형 프레임에 맞게 채움) */
#jrReview .review-card__img-box .review-card__img--thanks {
  object-fit: cover !important;
  padding: 0 !important;
  transform: none !important;
}

/* 고객후기(#jrReview) 모바일: 네이버 플레이스(.jr-naver-fade-btn)와 동일 원형·쉐브론 + 이름 아래 카테고리(제목) 줄 높이에 좌우 배치 */
@media (max-width: 768px) {
  #jrReview .review-slider-container.swiper .swiper-button-prev::after,
  #jrReview .review-slider-container.swiper .swiper-button-next::after,
  #jrReview .review-slider-container.swiper .review-btn::after {
    display: none !important;
    content: none !important;
  }

  #jrReview .review-slider-container.swiper .review-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: clamp(3rem, 5vw, 3.5rem) !important;
    height: clamp(3rem, 5vw, 3.5rem) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(45, 36, 24, 0.12) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: var(--brown800, #5c4c3f) !important;
    box-shadow: 0 4px 14px var(--jr-overlay-dark-soft) !important;
    cursor: pointer !important;
    transition:
      background 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease,
      box-shadow 0.2s ease,
      transform 0.2s ease !important;
    /* 카테고리(.review-card__category) 줄 세로 중앙: 패딩 + 아바타(8rem) + 여백 + 이름(2rem) + 이름 하단 + 카테고리 반줄 */
    top: calc(
      var(--jr-risk-card-pad-y, 2.2rem) + 8rem + 0.94rem + (2rem * 1.32) + 0.35rem + (1.8rem * 0.52)
    ) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }

  #jrReview .review-slider-container.swiper .review-btn:hover:not(.swiper-button-disabled) {
    background: var(--brown800, #5c4c3f) !important;
    color: var(--jr-bg-card) !important;
    border-color: var(--brown800, #5c4c3f) !important;
    box-shadow: 0 6px 20px rgba(45, 36, 24, 0.18) !important;
    transform: translateY(-50%) scale(1.05) !important;
  }

  #jrReview .review-slider-container.swiper .review-btn.swiper-button-disabled {
    opacity: 0.35 !important;
    pointer-events: none !important;
  }

  #jrReview .review-slider-container.swiper .review-btn svg {
    flex-shrink: 0 !important;
    display: block !important;
  }

  #jrReview .review-slider-container.swiper .review-btn--prev {
    left: -0.35rem !important;
    right: auto !important;
  }

  #jrReview .review-slider-container.swiper .review-btn--next {
    right: -0.35rem !important;
    left: auto !important;
  }
}

@media (max-width: 390px) {
  #jrReview .review-slider-container.swiper .review-btn {
    width: 3.2rem !important;
    height: 3.2rem !important;
  }
}

/* 고객 후기 부제: 어절 단위 줄바꿈으로 「확인하세」/「요」처럼 끊기지 않게 */
#jrReview.jr-naver-reviews-section > .innerWrap > .jr-naver-reviews-desc {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  max-width: min(100%, 52rem) !important;
}

/* FAQ 섹션 */
#jrReview.section2,
#jrInstagram.jr-instagram-section,
#jrLocation.section3,
#faq.jr-faq-section {
  border-top-color: rgba(56, 189, 248, 0.22) !important;
}
.jr-faq-badge {
  background: var(--temple-deep-2) !important;
  color: var(--jr-faq-bg) !important;
  border: 1px solid rgba(56, 189, 248, 0.25) !important;
}
.jr-faq-title,
#faq .jr-faq-title {
  color: var(--temple-text) !important;
}
.jr-faq-lead,
#faq .jr-faq-lead {
  color: var(--temple-text-muted) !important;
}
.jr-faq-lead strong,
#faq .jr-faq-lead strong {
  color: var(--jr-brand-primary-dark) !important;
}
.jr-faq-cat-title,
#faq .jr-faq-cat-title {
  color: var(--temple-text) !important;
  border-bottom-color: var(--temple-border) !important;
}
.jr-faq-item {
  border-color: var(--temple-border) !important;
  box-shadow: 0 4px 14px var(--jr-shadow-xs) !important;
}
.jr-faq-q,
#faq .jr-faq-q {
  color: var(--temple-text) !important;
}
.jr-faq-answer p,
#faq .jr-faq-answer p {
  color: var(--temple-text-muted) !important;
}
.jr-faq-cta {
  background: linear-gradient(180deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-primary-darker) 100%) !important;
  border: 1px solid var(--jr-border-strong) !important;
  color: var(--jr-bg-soft) !important;
  box-shadow: 0 4px 14px rgba(15, 40, 71, 0.22) !important;
}
.jr-faq-cta:hover {
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-deep) 100%) !important;
  border-color: var(--jr-header-text-hover) !important;
  box-shadow: 0 8px 22px rgba(15, 40, 71, 0.28) !important;
  color: var(--jr-bg-soft) !important;
}
.jr-faq-cta:focus-visible {
  outline: 2px solid var(--jr-brand-accent) !important;
  outline-offset: 3px !important;
}

/* 블로그 카드 타이포 */
.jr-blog-body h3,
.jr-blog-title {
  color: var(--temple-text) !important;
}
.jr-blog-desc {
  color: var(--temple-text-muted) !important;
}

/* 보도 섹션 헤더 뱃지: 하단 main#target 섹션 키커 통일 규칙으로 스타일 처리 */

/* ========== 섹션 키커 뱃지·CTA 통일 (#jrCasesPreview 업무사례 라인 기준) ========== */
main#target #jrRiskUrgency .jr-risk-badge,
main#target #jrWhyCredibility .jr-why-credibility-badge,
main#target #jrCasesPreview .jr-why-credibility-badge,
main#target #jrConsultCases .jr-why-credibility-badge,
main#target .jr-naver-reviews-section .jr-naver-badge,
main#target #jrNaverReviews .jr-naver-badge,
main#target #jrReview .jr-naver-badge,
main#target #jrReview .jr-review-spotlight__header .jr-naver-badge,
main#target .jr-broadcast-header .jr-broadcast-badge,
main#target #jrBroadcast .jr-broadcast-header .jr-broadcast-badge,
main#target .jr-press-header .jr-press-badge,
main#target #jrPress .jr-press-header .jr-press-badge,
main#target .jr-blog-header .jr-blog-badge,
main#target #jrBlog .jr-blog-header .jr-blog-badge,
main#target .jr-instagram-header .jr-instagram-badge,
main#target #jrInstagram .jr-instagram-header .jr-instagram-badge,
main#target #faq .jr-faq-head .jr-faq-badge,
main#target #jrLocation > .innerWrap > .jr-naver-badge,
main#target .jr-faq-section .jr-faq-head .jr-faq-badge,
main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head .jr-lawyer-search-kicker-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.42rem 1.1rem !important;
  border-radius: 999px !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  background: var(--jr-risk-badge-bg, var(--temple-deep-2)) !important;
  color: var(--jr-risk-badge-text, var(--jrwhite)) !important;
  border: 1px solid var(--jr-border-strong) !important;
  box-shadow: var(--jr-shadow-sm) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0.8rem !important;
  width: fit-content !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* JR 인스타그램만: 배지↔「JR 인스타그램」제목 사이 한 줄 여백 제거 */
main#target #jrInstagram .jr-instagram-header > .jr-instagram-badge {
  margin-bottom: 0 !important;
}

/* RISK CHECK 배지만: inline-flex면 margin auto가 먹지 않아 왼쪽에 붙음 → 블록 레벨 flex로 가로 중앙 */
main#target #jrRiskUrgency .jr-risk-badge {
  display: flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

main#target .lawyer-search-wrap .lawyer-search-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

main#target a.jr-section-more-btn,
main#target .jr-section-more-wrap a.jr-section-more-btn,
main#target .jr-press-more-wrap a.jr-section-more-btn {
  display: inline-flex !important;
  width: min(100%, 24rem) !important;
  min-width: min(100%, 24rem) !important;
  max-width: min(100%, 24rem) !important;
  min-height: 4.5rem !important;
  padding: 0.85rem 1.35rem !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.6rem !important;
  box-sizing: border-box !important;
  border-radius: 9999px !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

main#target a.jr-section-more-btn > span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

main#target a.jr-section-more-btn svg,
main#target a.jr-section-more-btn .jr-instagram-more-icon {
  width: 1.35rem !important;
  height: 1.35rem !important;
  flex-shrink: 0 !important;
}

/* RISK CHECK: 자가진단 CTA 버튼 — 가로 전체(위 블록에서 .jr-section-more-wrap 여백·max-width 처리) */
main#target #jrRiskUrgency .jr-section-more-wrap a.jr-section-more-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

main#target .lawyer-search-wrap .jr-why-credibility-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.6rem !important;
  width: min(100%, 24rem) !important;
  min-width: 0 !important;
  max-width: min(100%, 24rem) !important;
  min-height: 4.5rem !important;
  padding: 0.85rem 1.35rem !important;
  box-sizing: border-box !important;
  border-radius: 9999px !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ========== PC #jrMember 히어로: 딥블루 팔레트 계층 (롤링 + 우측 대형) ========== */
#jrMember.visual,
.jr-response-team-hero.visual {
  --jr-hero-h1: var(--jr-header-text-hover);
  --jr-hero-h2: var(--jr-neutral-blue-tint-4);
  --jr-hero-body: var(--jr-form-input-border);
  --jr-hero-muted: var(--jr-text-muted);
  --jr-hero-cta-bg: linear-gradient(180deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-primary-darker) 100%);
  --jr-hero-cta-border: var(--jr-border-strong);
}

/* 롤링 카드: ①분류(역할/pro) ②이름(호버) ③경력(前) */
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide .lawyer-info .jr-lawyer-rolling-tagline, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide .lawyer-info .jr-lawyer-rolling-tagline {
  color: var(--jr-hero-h1) !important;
  -webkit-text-fill-color: var(--jr-hero-h1) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  margin: 0 0 0.15rem !important;
  font-size: clamp(1.68rem, 1.53rem + 0.48vw, 2.01rem) !important;
  line-height: 1.26 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: 0 1px 2px var(--jr-overlay-dark-medium) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide .lawyer-info .jr-lawyer-career-one, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide .lawyer-info .jr-lawyer-career-one {
  color: var(--jr-hero-body) !important;
  margin: 0 !important;
  font-size: clamp(1.47rem, 1.38rem + 0.27vw, 1.68rem) !important;
  line-height: 1.28 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide .lawyer-info .jr-lawyer-rolling-name, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide .lawyer-info .jr-lawyer-rolling-name {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: clamp(1.68rem, 1.53rem + 0.54vw, 2.04rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--jr-hero-h2) !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-0.12em);
  transition: max-height 0.34s ease, opacity 0.28s ease, margin 0.34s ease, transform 0.28s ease;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.72),
    0 0 1px rgba(0, 0, 0, 0.9),
    0 0 12px rgba(15, 23, 42, 0.55),
    0 0 18px rgba(147, 197, 253, 0.22) !important;
  -webkit-text-fill-color: var(--jr-hero-h2) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide:hover .lawyer-info .jr-lawyer-rolling-name,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:hover .lawyer-info .jr-lawyer-rolling-name,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide:focus-within .lawyer-info .jr-lawyer-rolling-name,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:focus-within .lawyer-info .jr-lawyer-rolling-name,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide.swiper-slide-active .lawyer-info .jr-lawyer-rolling-name,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide.swiper-slide-active .lawyer-info .jr-lawyer-rolling-name {
  max-height: 4.2em;
  opacity: 1;
  margin: 0.22rem 0 0.22rem !important;
  transform: translateY(0);
  color: var(--jr-hero-h2) !important;
  -webkit-text-fill-color: var(--jr-hero-h2) !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.74),
    0 0 1px rgba(0, 0, 0, 0.92),
    0 0 12px rgba(15, 23, 42, 0.58),
    0 0 20px rgba(191, 219, 254, 0.28) !important;
}

/* index.min의 h3 색상 규칙을 확실히 덮어쓰기 */
#jrMember.visual .lawyer-slider-others .swiper-slide .lawyer-info h3.jr-lawyer-rolling-name,
.jr-response-team-hero.visual .lawyer-slider-others .swiper-slide .lawyer-info h3.jr-lawyer-rolling-name,
#jrMember.visual .lawyer-slider-others .swiper-slide-active .lawyer-info h3.jr-lawyer-rolling-name,
.jr-response-team-hero.visual .lawyer-slider-others .swiper-slide-active .lawyer-info h3.jr-lawyer-rolling-name,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide .lawyer-info h3.jr-lawyer-rolling-name,
.jr-response-team-hero.visual #jr-hero-design-response-team .lawyer-slider-others .swiper-slide .lawyer-info h3.jr-lawyer-rolling-name,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide-active .lawyer-info h3.jr-lawyer-rolling-name,
.jr-response-team-hero.visual #jr-hero-design-response-team .lawyer-slider-others .swiper-slide-active .lawyer-info h3.jr-lawyer-rolling-name {
  color: var(--jr-hero-h2) !important;
  -webkit-text-fill-color: var(--jr-hero-h2) !important;
}

/* 우측 대형: 동일 계층 — ①역할 ②이름 ③경력 본문 */
#jrMember.visual .jr-hero-fixed--primary .jr-hero-role-line, .jr-response-team-hero.visual .jr-hero-fixed--primary .jr-hero-role-line {
  color: var(--jr-hero-h1) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 3px var(--jr-overlay-dark-medium) !important;
}

#jrMember.visual .jr-hero-fixed--primary .jr-hero-name-line, .jr-response-team-hero.visual .jr-hero-fixed--primary .jr-hero-name-line {
  color: var(--jr-hero-h2) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.72),
    0 0 1px rgba(0, 0, 0, 0.9),
    0 0 12px rgba(15, 23, 42, 0.55),
    0 0 20px rgba(191, 219, 254, 0.24) !important;
}

#jrMember.visual .jr-hero-fixed--primary .jr-hero-career-block, .jr-response-team-hero.visual .jr-hero-fixed--primary .jr-hero-career-block {
  color: var(--jr-hero-body) !important;
  line-height: 1.65 !important;
  font-size: clamp(1.02rem, 0.96rem + 0.2vw, 1.16rem) !important;
  font-weight: 500 !important;
}

/* 프로필 더보기: 팔레트 토큰 */
#jrMember.visual .jr-hero-fixed--primary .lawyer-info .jr-hero-profile-hint,
#jrMember.visual .jr-hero-fixed--primary .jr-hero-primary-photo-shell .jr-hero-profile-hint,
.jr-response-team-hero.visual .jr-hero-fixed--primary .lawyer-info .jr-hero-profile-hint,
.jr-response-team-hero.visual .jr-hero-fixed--primary .jr-hero-primary-photo-shell .jr-hero-profile-hint {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.55rem !important;
  padding: 0.42rem 0.95rem !important;
  border-radius: 999px !important;
  background: var(--jr-hero-profile-hint-bg, var(--jr-hero-cta-bg)) !important;
  border: 1px solid var(--jr-hero-profile-hint-border, var(--jr-hero-cta-border)) !important;
  color: var(--jr-hero-profile-hint-color, var(--jr-bg-soft)) !important;
  font-size: clamp(1.02rem, 0.95rem + 0.2vw, 1.14rem) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
  box-shadow: 0 4px 14px rgba(15, 40, 71, 0.35) !important;
}

#jrMember.visual .jr-hero-fixed--primary .lawyer-info .jr-hero-profile-hint:hover,
#jrMember.visual .jr-hero-fixed--primary .jr-hero-primary-photo-shell .jr-hero-profile-hint:hover,
.jr-response-team-hero.visual .jr-hero-fixed--primary .lawyer-info .jr-hero-profile-hint:hover,
.jr-response-team-hero.visual .jr-hero-fixed--primary .jr-hero-primary-photo-shell .jr-hero-profile-hint:hover {
  border-color: var(--jr-hero-border, var(--jr-header-text-hover)) !important;
  color: var(--jr-hero-profile-hint-color, var(--jr-bg-card)) !important;
  box-shadow: 0 6px 18px rgba(30, 64, 175, 0.4) !important;
}

/* 롤링 좌우 화살표: 팔레트 토큰 */
#jrMember.visual #jr-hero-design-1 .lawyer-slider-btn,
.jr-response-team-hero.visual #jr-hero-design-response-team .lawyer-slider-btn,
.visual .lawyer-slider-btn {
  background: var(--jr-hero-slider-btn-bg, linear-gradient(180deg, rgba(30, 64, 175, 0.95) 0%, rgba(15, 40, 71, 0.98) 100%)) !important;
  border: 1px solid var(--jr-hero-slider-btn-border, var(--jr-border-strong)) !important;
  color: var(--jr-hero-slider-btn-color, var(--jr-faq-bg)) !important;
  box-shadow: 0 2px 10px var(--jr-overlay-dark-soft) !important;
}

#jrMember.visual #jr-hero-design-1 .lawyer-slider-btn:hover:not(.swiper-button-disabled),
.jr-response-team-hero.visual #jr-hero-design-response-team .lawyer-slider-btn:hover:not(.swiper-button-disabled),
.visual .lawyer-slider-btn:hover:not(.swiper-button-disabled) {
  background: var(--jr-hero-slider-btn-hover-bg, var(--brown900)) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: var(--jr-bg-card) !important;
}

#jrMember.visual #jr-hero-design-1 .lawyer-slider-btn.swiper-button-disabled,
.jr-response-team-hero.visual #jr-hero-design-response-team .lawyer-slider-btn.swiper-button-disabled {
  opacity: 0.35 !important;
}

/* 롤링 카드: 팔레트 토큰 (baseline + lawyer-slider-others) */
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper {
  gap: 1px !important;
  column-gap: 1px !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide {
  border: 1px solid var(--jr-hero-carousel-slide-border, rgba(125, 211, 252, 0.26)) !important;
  border-radius: 14px !important;
  background: var(--jr-hero-carousel-slide-bg, linear-gradient(180deg, rgba(15, 40, 71, 0.42) 0%, rgba(12, 33, 56, 0.32) 100%)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 6px 18px rgba(2, 6, 23, 0.22) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide.swiper-slide-active,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide-active,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide.swiper-slide-active {
  border-color: var(--jr-hero-carousel-slide-active-border, rgba(125, 211, 252, 0.68)) !important;
  background: var(
    --jr-hero-carousel-slide-active-bg,
    linear-gradient(180deg, rgba(37, 99, 235, 0.26) 0%, rgba(15, 40, 71, 0.46) 100%)
  ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 10px 26px rgba(15, 23, 42, 0.34) !important;
}

/* index.min «베이지·비활성 h3 숨김» 덮어쓰기 — 롤링만 딥블루 계층 유지 */
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .lawyer-info p,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .lawyer-info h3, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .lawyer-info h3 , .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .lawyer-info p,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .lawyer-info h3, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .lawyer-info h3 {
  text-align: center !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide:not(.swiper-slide-active) .lawyer-info h3.jr-lawyer-rolling-name, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:not(.swiper-slide-active) .lawyer-info h3.jr-lawyer-rolling-name {
  visibility: visible !important;
  height: auto !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(1.12rem, 1.02rem + 0.36vw, 1.36rem) !important;
  line-height: 1.35 !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info p,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info h3, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info h3 , .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info p,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info h3, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info h3 {
  text-shadow: 0 1px 2px var(--jr-overlay-dark-medium) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info p:first-child,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide-active .lawyer-info p:first-child,
.jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info p:first-child {
  color: var(--jr-hero-carousel-role-color, var(--jr-hero-title)) !important;
  margin-top: 0 !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide-active .lawyer-info h3,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide-active .lawyer-info h3,
#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide-active .lawyer-info h3.jr-lawyer-rolling-name {
  color: var(--jr-hero-carousel-name-color, var(--jr-neutral-blue-tint-4)) !important;
}

#jrMember.visual #jr-hero-design-1 .lawyer-slider-others .swiper-slide-active .jr-lawyer-career-one {
  color: var(--jr-hero-carousel-career-color, #f0dfca) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide:not(.swiper-slide-active) .lawyer-info p:first-child, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:not(.swiper-slide-active) .lawyer-info p:first-child {
  margin-top: 0 !important;
}

/* RISK 자가진단 모달: 체크박스 레이아웃/결과 영역 */
#jrRiskSelfCheckModal .csModal,
#jrRiskContactGateModal .csModal {
  max-width: 62rem !important;
}

#jrRiskSelfCheckModal .csModal-header h2,
#jrRiskContactGateModal .csModal-header h2 {
  font-size: clamp(2.2rem, 1.9rem + 0.55vw, 2.8rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

#jrRiskSelfCheckModal .csModal-header,
#jrRiskContactGateModal .csModal-header {
  text-align: center !important;
}

#jrRiskSelfCheckModal .csModal-header .subinfo,
#jrRiskContactGateModal .csModal-header .subinfo {
  font-size: clamp(1.5rem, 3.825vw + 0.48rem, 2.07rem) !important;
  font-weight: 700 !important;
  color: var(--jr-semantic-danger-bright) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.04em !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 899px) {
  #jrRiskSelfCheckModal .csModal-header .subinfo,
  #jrRiskContactGateModal .csModal-header .subinfo {
    font-size: clamp(1.32rem, 3.525vw + 0.42rem, 1.725rem) !important;
    letter-spacing: -0.05em !important;
  }
}

@media (max-width: 360px) {
  #jrRiskSelfCheckModal .csModal-header .subinfo,
  #jrRiskContactGateModal .csModal-header .subinfo {
    font-size: clamp(1.23rem, 3.15vw + 0.33rem, 1.575rem) !important;
  }
}

#jrRiskSelfCheckModal .csForm,
#jrRiskContactGateModal .csForm {
  margin-top: 0.8rem;
}

/* 게이트 「다음」— .submit 미사용(전역 submit 바인딩과 분리), 스타일은 .csModal .submit 과 동일 계열 */
#jrRiskContactGateModal .jr-risk-gate-next {
  border-radius: 12px;
  background: var(--brown800, var(--jr-lawyer-warm-brown));
  font-size: 1.15rem;
  padding: 1rem 3rem;
  font-weight: 600;
  color: var(--jr-bg-card);
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  box-shadow: 0 4px 14px rgba(113, 73, 35, 0.3);
}
#jrRiskContactGateModal .jr-risk-gate-next:hover {
  background: var(--brown900, #4a3520);
  transform: translateY(-1px);
}
#jrRiskContactGateModal .jr-risk-gate-next:active {
  transform: translateY(0);
}
#jrRiskContactGateModal .jr-risk-gate-next:disabled {
  opacity: 0.75;
  cursor: not-allowed;
  transform: none;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-role {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 0.95rem;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-role[hidden] {
  display: none !important;
}

#jrRiskSelfCheckModal .jr-risk-role-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4.6rem;
  padding: 0.6rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(29, 78, 216, 0.24);
  background: linear-gradient(180deg, var(--jr-neutral-blue-tint-4) 0%, #edf4ff 100%);
  color: var(--jr-brand-primary-deep);
  font-size: 1.52rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

#jrRiskSelfCheckModal .jr-risk-role-btn:hover {
  transform: translateY(-1px);
  border-color: var(--jr-overlay-brand-medium);
}

#jrRiskSelfCheckModal .jr-risk-role-btn.is-active {
  border-color: rgba(37, 99, 235, 0.62);
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-dark) 100%);
  color: var(--jr-bg-soft);
  box-shadow: 0 8px 18px var(--jr-border-default);
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-list {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.2rem;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-list[hidden] {
  display: none !important;
}

/* ========== 섹션 제목/부제목 타이포 통일 (업무사례 기준) ========== */
main#target #jrRiskUrgency .jr-risk-head h2,
main#target #jrWhyCredibility .jr-why-credibility-head h2,
main#target #jrCasesPreview .jr-why-credibility-head h2,
main#target #jrConsultCases .jr-why-credibility-head h2,
main#target #jrNaverReviews > .innerWrap > h2,
main#target #jrReview > .innerWrap > h2,
main#target #jrBroadcast .jr-broadcast-title,
main#target #jrPress .jr-press-title,
main#target #jrBlog .jr-blog-title,
main#target #jrInstagram .jr-instagram-title,
main#target #faq .jr-faq-title,
main#target #jrLocation > .innerWrap > h2,
main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head h2 {
  font-size: var(--jr-type-title, clamp(2.42rem, 1.87rem + 1.45vw, 3.32rem)) !important;
  line-height: 1.32 !important;
  letter-spacing: -0.02em !important;
  color: var(--jr-brand-primary-darker) !important;
  font-weight: 700 !important;
}

main#target #jrRiskUrgency .jr-risk-head p,
main#target #jrWhyCredibility .jr-why-credibility-head p,
main#target #jrCasesPreview .jr-why-credibility-head p,
main#target #jrConsultCases .jr-why-credibility-head p,
main#target #jrNaverReviews .jr-naver-reviews-desc,
main#target #jrReview .jr-naver-reviews-desc,
main#target #jrBroadcast .jr-broadcast-desc,
main#target #jrPress .jr-press-desc,
main#target #jrBlog .jr-blog-desc,
main#target #jrInstagram .jr-instagram-desc,
main#target #faq .jr-faq-lead,
main#target #jrLocation > .innerWrap > .jr-naver-reviews-desc,
main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head .lawyer-search-desc {
  font-size: var(--jr-type-subtitle, clamp(1.62rem, 1.45rem + 0.34vw, 1.82rem)) !important;
  line-height: 1.68 !important;
  letter-spacing: -0.006em !important;
  color: var(--jr-text-sub) !important;
  font-weight: 500 !important;
}

/* 본문 섹션: 제목·부제 가운데 (PC·모바일 공통) — 방송·JR언론은 헤더 블록을 세로 스택으로 통일 */
main#target #jrBroadcast .jr-broadcast-header,
main#target #jrPress .jr-press-header {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  align-items: center !important;
}

main#target #jrRiskUrgency .jr-risk-head,
main#target #jrWhyCredibility .jr-why-credibility-head,
main#target #jrCasesPreview .jr-why-credibility-head,
main#target #jrConsultCases .jr-why-credibility-head,
main#target #jrBlog .jr-blog-header,
main#target #jrInstagram .jr-instagram-header,
main#target #faq .jr-faq-head {
  text-align: center !important;
  align-items: center !important;
}

main#target #jrRiskUrgency .jr-risk-head h2,
main#target #jrWhyCredibility .jr-why-credibility-head h2,
main#target #jrCasesPreview .jr-why-credibility-head h2,
main#target #jrConsultCases .jr-why-credibility-head h2,
main#target #jrNaverReviews > .innerWrap > h2:first-of-type,
main#target #jrReview > .innerWrap > h2:first-of-type,
main#target #jrBroadcast .jr-broadcast-title,
main#target #jrPress .jr-press-title,
main#target #jrBlog .jr-blog-title,
main#target #jrInstagram .jr-instagram-title,
main#target #faq .jr-faq-title,
main#target #jrLocation > .innerWrap > h2 {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

main#target #jrRiskUrgency .jr-risk-head p,
main#target #jrWhyCredibility .jr-why-credibility-head p,
main#target #jrCasesPreview .jr-why-credibility-head p,
main#target #jrConsultCases .jr-why-credibility-head p,
main#target #jrNaverReviews > .innerWrap > .jr-naver-reviews-desc,
main#target #jrReview > .innerWrap > .jr-naver-reviews-desc,
main#target #jrBroadcast .jr-broadcast-desc,
main#target #jrPress .jr-press-desc,
main#target #jrBlog .jr-blog-desc,
main#target #jrInstagram .jr-instagram-desc,
main#target #faq .jr-faq-lead,
main#target #jrLocation > .innerWrap > .jr-naver-reviews-desc {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 네이버 플레이스 부제만 좁은 폭 — Thanks 등은 아래 한 줄 규칙 */
main#target #jrNaverReviews > .innerWrap > .jr-naver-reviews-desc {
  max-width: 38rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* 홈 Thanks: 부제 한 줄 고정(index #target) — 가로 스크롤바(파란 막대로 보일 수 있음) 방지는 오시는 길과 분리 */
main#target #jrReview > .innerWrap > .jr-naver-reviews-desc {
  white-space: nowrap !important;
  width: max-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

/* 오시는 길: 부제는 패딩 폭 안에서 줄바꿈(한·영 혼합 긴 문장) */
main#target #jrLocation > .innerWrap > .jr-naver-reviews-desc {
  white-space: normal !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}

main#target #jrNaverReviews > .innerWrap > .jr-naver-badge,
main#target #jrPress > .ll-inner.innerWrap > .jr-press-header .jr-press-badge,
main#target #jrReview > .innerWrap > .jr-naver-badge,
main#target #jrLocation > .innerWrap > .jr-naver-badge {
  text-align: center !important;
}

/* RISK CHECK 헤더: PC/모바일 카피 span — 이 파일이 index.css·index.min.css 이후 로드되어 전환·타이포를 최종 확정 */
main#target #jrRiskUrgency .jr-risk-head h2 .jr-risk-head-title-pc,
main#target #jrRiskUrgency .jr-risk-head h2 .jr-risk-head-title-mo {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

main#target #jrRiskUrgency .jr-risk-head p .jr-risk-head-lead-pc,
main#target #jrRiskUrgency .jr-risk-head p .jr-risk-head-lead-mo {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

@media (max-width: 899px) {
  main#target #jrRiskUrgency .jr-risk-head-title-pc,
  main#target #jrRiskUrgency .jr-risk-head-lead-pc {
    display: none !important;
  }

  main#target #jrRiskUrgency .jr-risk-head-title-mo,
  main#target #jrRiskUrgency .jr-risk-head-lead-mo {
    display: block !important;
  }
}

@media (min-width: 900px) {
  main#target #jrRiskUrgency .jr-risk-head-title-mo,
  main#target #jrRiskUrgency .jr-risk-head-lead-mo {
    display: none !important;
  }

  main#target .lawyer-search-desc-mo {
    display: none !important;
  }
}

/* RISK CHECK 우선 적용: 딥블루 팔레트 */

#jrRiskSelfCheckModal .jr-risk-selfcheck-list label {
  display: grid;
  grid-template-columns: 1.6rem 1fr;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 1.42rem;
  line-height: 1.5;
  color: #1f2937;
  text-align: left;
  cursor: pointer;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-list input[type="checkbox"] {
  width: 1.35rem !important;
  height: 1.35rem !important;
  margin-top: 0.1rem;
  accent-color: var(--jr-brand-secondary);
}

@keyframes jr-risk-submit-pulse-1 {
  0%,
  100% {
    box-shadow: 0 5px 18px rgba(244, 63, 94, 0.42), 0 0 0 0 rgba(251, 113, 133, 0.35);
  }
  50% {
    box-shadow: 0 7px 24px rgba(244, 63, 94, 0.52), 0 0 0 9px rgba(251, 113, 133, 0);
  }
}

@keyframes jr-risk-submit-pulse-2 {
  0%,
  100% {
    box-shadow: 0 6px 22px rgba(220, 38, 38, 0.52), 0 0 0 0 rgba(239, 68, 68, 0.4);
  }
  50% {
    box-shadow: 0 8px 28px rgba(220, 38, 38, 0.62), 0 0 0 10px rgba(239, 68, 68, 0);
  }
}

@keyframes jr-risk-submit-pulse-3 {
  0%,
  100% {
    box-shadow: 0 6px 24px rgba(127, 29, 29, 0.55), 0 0 0 0 rgba(185, 28, 28, 0.48);
  }
  50% {
    box-shadow: 0 9px 30px rgba(127, 29, 29, 0.68), 0 0 0 11px rgba(185, 28, 28, 0);
  }
}

@keyframes jr-risk-submit-pulse-4 {
  0%,
  100% {
    box-shadow: 0 8px 26px rgba(69, 10, 10, 0.62), 0 0 0 0 rgba(127, 29, 29, 0.52);
  }
  50% {
    box-shadow: 0 12px 36px rgba(69, 10, 10, 0.78), 0 0 0 14px rgba(127, 29, 29, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #jrRiskSelfCheckModal .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn {
    animation: none !important;
    box-shadow: 0 6px 20px rgba(185, 28, 28, 0.45);
  }
}

/* 1단계(연한 레드) → 4단계(찐한 적·거의 적흑): data-risk-result-tier 는 jr-risk-selfcheck.js 에서 설정 */
#jrRiskSelfCheckModal[data-risk-result-tier="1"] {
  --jr-risk-border-w: 2px;
  --jr-risk-result-border: #fb7185;
  --jr-risk-result-bg1: var(--jr-bg-card)bfb;
  --jr-risk-result-bg2: var(--jr-bg-card)1f3;
  --jr-risk-result-shadow: 0 4px 14px rgba(251, 113, 133, 0.22);
  --jr-risk-banner-side: #e11d48;
  --jr-risk-banner-mid: #f43f5e;
  --jr-risk-title: #9f1239;
  --jr-risk-stage: #be123c;
  --jr-risk-text: #500724;
  --jr-risk-guide-color: #9f1239;
  --jr-risk-guide-bg: rgba(255, 251, 251, 0.98);
  --jr-risk-guide-border: #fb7185;
  --jr-risk-submit-1: #fb7185;
  --jr-risk-submit-2: #e11d48;
  --jr-risk-submit-border: #fecdd3;
}

#jrRiskSelfCheckModal[data-risk-result-tier="2"] {
  --jr-risk-border-w: 2px;
  --jr-risk-result-border: #ef4444;
  --jr-risk-result-bg1: var(--jr-bg-card)1f2;
  --jr-risk-result-bg2: #ffe4e6;
  --jr-risk-result-shadow: 0 5px 18px rgba(239, 68, 68, 0.26);
  --jr-risk-banner-side: var(--jr-semantic-danger-alt);
  --jr-risk-banner-mid: var(--jr-semantic-danger-bright);
  --jr-risk-title: var(--jr-semantic-danger);
  --jr-risk-stage: var(--jr-semantic-danger-bright);
  --jr-risk-text: var(--jr-semantic-danger-bg);
  --jr-risk-guide-color: var(--jr-semantic-danger);
  --jr-risk-guide-bg: rgba(254, 242, 242, 0.96);
  --jr-risk-guide-border: #ef4444;
  --jr-risk-submit-1: #ef4444;
  --jr-risk-submit-2: var(--jr-semantic-danger-alt);
  --jr-risk-submit-border: #fca5a5;
}

#jrRiskSelfCheckModal[data-risk-result-tier="3"] {
  --jr-risk-border-w: 3px;
  --jr-risk-result-border: var(--jr-semantic-danger);
  --jr-risk-result-bg1: #ffe4e6;
  --jr-risk-result-bg2: #fecdd3;
  --jr-risk-result-shadow: 0 6px 22px rgba(153, 27, 27, 0.32);
  --jr-risk-banner-side: var(--jr-semantic-danger-dark);
  --jr-risk-banner-mid: var(--jr-semantic-danger);
  --jr-risk-title: var(--jr-semantic-danger-dark);
  --jr-risk-stage: var(--jr-semantic-danger);
  --jr-risk-text: var(--jr-semantic-danger-bg);
  --jr-risk-guide-color: var(--jr-semantic-danger-dark);
  --jr-risk-guide-bg: rgba(254, 226, 226, 0.98);
  --jr-risk-guide-border: var(--jr-semantic-danger);
  --jr-risk-submit-1: var(--jr-semantic-danger-bright);
  --jr-risk-submit-2: var(--jr-semantic-danger-dark);
  --jr-risk-submit-border: #f87171;
}

#jrRiskSelfCheckModal[data-risk-result-tier="4"] {
  --jr-risk-border-w: 3px;
  --jr-risk-result-border: var(--jr-semantic-danger-bg);
  --jr-risk-result-bg1: #fecaca;
  --jr-risk-result-bg2: #f87171;
  --jr-risk-result-shadow:
    0 8px 28px rgba(69, 10, 10, 0.38),
    inset 0 1px 0 var(--jr-overlay-light-soft);
  --jr-risk-banner-side: var(--jr-semantic-danger-bg);
  --jr-risk-banner-mid: var(--jr-semantic-danger-dark);
  --jr-risk-title: var(--jr-semantic-danger-bg);
  --jr-risk-stage: var(--jr-semantic-danger-bg);
  --jr-risk-text: #2a0505;
  --jr-risk-guide-color: var(--jr-semantic-danger-bg);
  --jr-risk-guide-bg: rgba(254, 202, 202, 0.97);
  --jr-risk-guide-border: var(--jr-semantic-danger-dark);
  --jr-risk-submit-1: var(--jr-semantic-danger);
  --jr-risk-submit-2: var(--jr-semantic-danger-bg);
  --jr-risk-submit-border: var(--jr-semantic-danger);
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result {
  margin-top: 1rem;
  padding: 0;
  border-radius: 12px;
  border-style: solid;
  border-width: var(--jr-risk-border-w, 2px);
  border-color: var(--jr-risk-result-border, var(--jr-semantic-danger-bright));
  background: linear-gradient(
    180deg,
    var(--jr-risk-result-bg1, var(--jr-bg-card)1f2) 0%,
    var(--jr-risk-result-bg2, #ffe4e6) 100%
  );
  box-shadow: var(--jr-risk-result-shadow, 0 4px 18px rgba(185, 28, 28, 0.18));
  overflow: hidden;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-urgent-banner {
  margin: 0;
  padding: 0.55rem 1rem;
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--jr-bg-card);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  background: linear-gradient(
    90deg,
    var(--jr-risk-banner-side, var(--jr-semantic-danger-alt)) 0%,
    var(--jr-risk-banner-mid, var(--jr-semantic-danger-bright)) 50%,
    var(--jr-risk-banner-side, var(--jr-semantic-danger-alt)) 100%
  );
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-body {
  padding: 0.85rem 1rem 1rem;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-title {
  margin: 0 0 0.4rem;
  font-size: 1.32rem;
  font-weight: 800;
  color: var(--jr-risk-title, var(--jr-semantic-danger));
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-text {
  margin: 0;
  font-size: 1.32rem;
  line-height: 1.58;
  font-weight: 600;
  color: var(--jr-risk-text, var(--jr-semantic-danger-bg));
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-stage {
  margin: 0 0 0.45rem;
  font-size: 1.26rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--jr-risk-stage, var(--jr-semantic-danger-alt));
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-guide {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.75rem;
  font-size: 1.38rem;
  line-height: 1.52;
  font-weight: 800;
  color: var(--jr-risk-guide-color, var(--jr-semantic-danger));
  background: var(--jr-risk-guide-bg, rgba(254, 242, 242, 0.95));
  border: 2px dashed var(--jr-risk-guide-border, var(--jr-semantic-danger-bright));
  border-radius: 10px;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-result-btn {
  margin-top: 0.9rem;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-submit {
  margin-top: 1rem;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-width: 14rem;
  min-height: 4.6rem;
  padding: 0.72rem 1.4rem;
  border: 2px solid #fecaca;
  border-radius: 14px;
  background: linear-gradient(180deg, var(--jr-brand-primary-dark) 0%, var(--jr-brand-primary-darker) 100%);
  color: var(--jr-bg-soft);
  font-size: 1.58rem;
  font-weight: 800;
  box-shadow: 0 6px 16px rgba(15, 40, 71, 0.24);
  cursor: pointer;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn {
  min-width: min(100%, 18rem);
  min-height: 5.1rem;
  padding: 0.85rem 1.35rem;
  border-color: var(--jr-risk-submit-border, #fca5a5);
  font-size: 1.72rem;
  letter-spacing: -0.02em;
  background: linear-gradient(
    180deg,
    var(--jr-risk-submit-1, var(--jr-semantic-danger-bright)) 0%,
    var(--jr-risk-submit-2, var(--jr-semantic-danger)) 100%
  );
  animation: jr-risk-submit-pulse-2 2s ease-in-out infinite;
}

#jrRiskSelfCheckModal[data-risk-result-tier="1"] .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn {
  animation-name: jr-risk-submit-pulse-1;
}

#jrRiskSelfCheckModal[data-risk-result-tier="3"] .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn {
  animation-name: jr-risk-submit-pulse-3;
}

#jrRiskSelfCheckModal[data-risk-result-tier="4"] .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn {
  animation-name: jr-risk-submit-pulse-4;
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn:hover {
  filter: brightness(1.06);
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn:active {
  filter: brightness(0.95);
}

#jrRiskSelfCheckModal .jr-risk-selfcheck-submit.jr-risk-selfcheck-btn:disabled {
  animation: none;
  opacity: 0.72;
}

#jrRiskSelfCheckModal .jr-risk-submit-main {
  display: block;
  line-height: 1.2;
}

#jrRiskSelfCheckModal .jr-risk-submit-sub {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  opacity: 0.95;
}

/* hidden 속성은 기본 display:none 인데, 위 .jr-risk-selfcheck-btn 의 inline-flex 가 덮어씀 */
#jrRiskSelfCheckModal .jr-risk-selfcheck-btn[hidden] {
  display: none !important;
}

/* ─── JR 인스타그램: IG 스타일 카드 + 모바일 점·스와이프 / 데스크톱 좌우 네비(트랙 스크롤바 숨김) ─── */
#jrInstagram .jr-instagram-grid.jr-instagram-grid--scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 0.25rem;
  grid-template-columns: initial;
  gap: 0;
  overflow: visible;
  box-sizing: border-box;
}

#jrInstagram .jr-instagram-carousel-shell {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  width: 100%;
  min-width: 0;
  margin-top: 0.15rem;
}

#jrInstagram .jr-instagram-carousel-track-wrap {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: clamp(0.35rem, 1.2vw, 0.65rem);
  width: 100%;
  min-width: 0;
}

/* 스크롤 영역 + 모바일 스와이프 힌트(카드 위에 겹침) */
#jrInstagram .jr-instagram-clip-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

#jrInstagram .jr-instagram-scroll-clip {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 2px 0 4px;
  box-sizing: border-box;
  container-type: inline-size;
  container-name: jrig;
}
#jrInstagram .jr-instagram-scroll-clip::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

#jrInstagram .jr-instagram-nav {
  flex-shrink: 0;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(2.35rem, 5vw, 2.85rem);
  height: clamp(2.35rem, 5vw, 2.85rem);
  margin: 0;
  padding: 0;
  border: 1px solid rgba(45, 36, 24, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.98);
  color: var(--jr-neutral-blue-gray);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
#jrInstagram .jr-instagram-nav:hover {
  background: var(--jr-neutral-blue-gray);
  color: var(--jr-bg-card);
  border-color: var(--jr-neutral-blue-gray);
}
#jrInstagram .jr-instagram-nav:focus-visible {
  outline: 2px solid var(--jr-brand-primary);
  outline-offset: 2px;
}

/* 모바일·태블릿(≤899px): 학폭상담사례(#jrConsultCases)와 동일 — 좌우 화살표 숨김·하단 점 네비 */
@media (max-width: 899px) {
  #jrInstagram .jr-instagram-nav {
    display: none !important;
  }

  main#target #jrInstagram .jr-instagram-carousel-track-wrap,
  #jrInstagram .jr-instagram-carousel-track-wrap {
    width: min(100%, calc(100vw - 2.4rem)) !important;
    max-width: min(100%, calc(100vw - 2.4rem)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0.75rem 0 1.1rem !important;
    box-sizing: border-box;
  }

  main#target #jrInstagram .jr-instagram-grid.jr-instagram-grid--scroll,
  #jrInstagram .jr-instagram-grid.jr-instagram-grid--scroll {
    padding: 0 !important;
  }

  main#target #jrInstagram .jr-instagram-scroll-clip,
  #jrInstagram .jr-instagram-scroll-clip {
    padding: 0 !important;
  }

  main#target #jrInstagram .jr-instagram-dots:not([hidden]),
  #jrInstagram .jr-instagram-dots:not([hidden]) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: clamp(0.45rem, 1.85vw, 1.05rem);
    margin: clamp(0.28rem, 0.92vw, 0.58rem) 0 0;
    padding: 0.14rem clamp(0.5rem, 2.25vw, 2.75rem) 0.12rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-padding-inline: 0.75rem;
    min-height: 0;
  }

  #jrInstagram .jr-instagram-dots::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  #jrInstagram .jr-instagram-dot {
    box-sizing: border-box;
    width: 1rem;
    height: 1rem;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 9999px;
    background: rgba(30, 64, 175, 0.32);
    cursor: pointer;
    flex-shrink: 0;
    transition:
      width 0.2s ease,
      background 0.2s ease,
      opacity 0.2s ease;
  }

  #jrInstagram .jr-instagram-dot:hover {
    background: rgba(30, 64, 175, 0.5);
  }

  #jrInstagram .jr-instagram-dot.is-active {
    width: 2.7rem;
    background: var(--jr-brand-primary-dark);
    box-shadow: none;
    transform: none;
  }

  #jrInstagram .jr-instagram-dot:focus-visible {
    outline: 3px solid var(--jr-overlay-brand-medium);
    outline-offset: 3px;
  }
}

@media (min-width: 900px) {
  #jrInstagram .jr-instagram-dots {
    display: none !important;
  }
}

#jrInstagram .jr-instagram-dots {
  display: none;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 0;
}

#jrInstagram .jr-instagram-scroll-clip .jr-instagram-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  --jr-ig-gap: clamp(0.85rem, 2.2vw, 1.35rem);
  gap: var(--jr-ig-gap);
  width: max-content;
  box-sizing: border-box;
}

/* 기본(좁은 트랙·모바일): 스크롤 클립 폭에 맞춰 한 장만 보이게(옆 카드 피크·세로 길쭉함 완화) */
#jrInstagram .jr-instagram-scroll-clip .jr-instagram-card {
  flex: 0 0 100cqi;
  scroll-snap-align: start;
  max-width: 100cqi;
  box-sizing: border-box;
}

/* cqi 미지원 브라우저: 뷰포트 기준 한 장 폭(모바일은 화살표 제거로 여백 축소) */
@supports not (width: 100cqi) {
  @media (max-width: 899px) {
    #jrInstagram .jr-instagram-scroll-clip .jr-instagram-card {
      flex: 0 0 calc(100vw - 2.4rem);
      max-width: calc(100vw - 2.4rem);
    }
  }
}

/* 640px 이상 트랙: 3열 */
@container jrig (min-width: 640px) {
  #jrInstagram .jr-instagram-scroll-clip .jr-instagram-card {
    flex: 0 0 calc((100cqi - 2 * var(--jr-ig-gap)) / 3);
    max-width: none;
  }
}

/* 900px 이상 트랙: 정확히 4열 */
@container jrig (min-width: 900px) {
  #jrInstagram .jr-instagram-scroll-clip .jr-instagram-card {
    flex: 0 0 calc((100cqi - 3 * var(--jr-ig-gap)) / 4);
    max-width: none;
  }
}

/* IG형 카드 본문 */
#jrInstagram a.jr-instagram-card {
  /* 제목 2줄 블록 높이 + 아래(구분선 직전) 여백 — index.css p 패딩과 충돌 시에도 잘리지 않게 */
  --jr-ig-caption-line-block: calc(1.55rem * 1.35 * 2);
  --jr-ig-caption-pad-y: 0.55rem;
  /* 툴바~제목: 아래쪽보다 살짝 더 넓게 */
  --jr-ig-caption-pad-top: calc(var(--jr-ig-caption-pad-y) + 0.15rem);
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: #262626;
  background: var(--jr-bg-card);
  border: 1px solid #dbdbdb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}
#jrInstagram a.jr-instagram-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px var(--jr-faq-border);
  border-color: rgba(30, 58, 95, 0.22);
}

#jrInstagram .jr-instagram-card__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 0.9rem;
  border-bottom: 1px solid #efefef;
  min-height: 0;
  box-sizing: border-box;
}

#jrInstagram .jr-instagram-card__avatar {
  width: calc(2.45rem * 1.5);
  height: calc(2.45rem * 1.5);
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(145deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-dark) 38%, var(--jr-text-main) 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.28);
}
#jrInstagram .jr-instagram-card__avatar-initials {
  font-size: calc(0.74rem * 1.5);
  font-weight: 800;
  color: var(--jr-bg-card);
  letter-spacing: -0.02em;
  line-height: 1;
}

#jrInstagram .jr-instagram-card__user {
  flex: 1;
  min-width: 0;
  font-size: calc(0.98rem * 1.5);
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#jrInstagram .jr-instagram-card__follow {
  font-size: calc(0.78rem * 1.5);
  font-weight: 600;
  color: #0095f6;
  border: 1px solid rgba(0, 149, 246, 0.45);
  border-radius: 5px;
  padding: 0.36rem 0.68rem;
  line-height: 1.2;
  flex-shrink: 0;
}

#jrInstagram .jr-instagram-card__more {
  font-size: calc(1.1rem * 1.5);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #262626;
  line-height: 1;
  padding: 0 0.1rem;
  flex-shrink: 0;
}

#jrInstagram .jr-instagram-card__media {
  position: relative;
  width: 100%;
  /* 세로 릴 비율(9:16) 대비 미디어 블록 세로 높이 약 80% — 9:(16×0.8) = 45:64 */
  aspect-ratio: 45 / 64;
  background: #0f0f0f;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 모바일: 4:5 대비 세로 높이 약 80% — 4:(5×0.8) = 1:1 */
@media (max-width: 767px) {
  #jrInstagram .jr-instagram-card__media {
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
  }
}
#jrInstagram .jr-instagram-card__media img {
  display: block;
  width: 80% !important;
  max-width: 80%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  /* 프레임 높이에 맞춤 늘림 — 가로는 80%로 왜곡 완화 */
  object-fit: fill !important;
  object-position: center !important;
}
/* 모바일 스와이프 힌트 — 배경 없음, SVG 이중 쉐브론만 */
#jrInstagram .jr-instagram-next-hint {
  display: none;
  position: absolute;
  z-index: 3;
  top: 41%;
  right: max(0.25rem, env(safe-area-inset-right));
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  align-items: center;
  justify-content: center;
  line-height: 0;
  pointer-events: none;
  color: var(--jr-faq-bg);
  transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
}

@media (max-width: 899px) {
  #jrInstagram .jr-instagram-next-hint:not([hidden]) {
    display: inline-flex;
  }
}

#jrInstagram .jr-instagram-carousel-shell.jr-instagram--hint-dismissed .jr-instagram-next-hint {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) scale(0.96);
}

@keyframes jr-ig-next-hint-chev {
  0%,
  100% {
    transform: translateX(0);
    opacity: 1;
  }
  50% {
    transform: translateX(0.55rem);
    opacity: 0.88;
  }
}

#jrInstagram .jr-instagram-next-hint__chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  line-height: 0;
  animation: jr-ig-next-hint-chev 1.15s ease-in-out infinite;
}

#jrInstagram .jr-instagram-next-hint__chev .jr-ig-hint-chevron-svg {
  display: block;
  width: clamp(3.1rem, 11.5cqi, 3.85rem);
  height: auto;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.55)) drop-shadow(0 0 14px rgba(56, 189, 248, 0.55));
}

#jrInstagram .jr-instagram-card__toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  padding: 0.35rem 0.75rem 0.12rem;
  color: #262626;
}
#jrInstagram .jr-instagram-card__toolbar .jr-ig-ico {
  display: block;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
}
#jrInstagram .jr-instagram-card__toolbar-spacer {
  flex: 1;
  min-width: 0;
}

#jrInstagram .jr-instagram-card__body {
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  /* 툴바 바로 아래 본문 — 제목 위 간격(아래 여백보다 살짝 넓음) */
  padding-top: var(--jr-ig-caption-pad-top);
  padding-left: var(--jr-risk-card-pad-x);
  padding-right: var(--jr-risk-card-pad-x);
  padding-bottom: 0;
  /* 본문 기준: 학폭 블로그 카드 `.jr-blog-body h3` 와 동일 (1.55rem / 1.35) */
  font-size: 1.55rem;
  line-height: 1.35;
  text-align: left;
}

#jrInstagram .jr-instagram-card__caption {
  margin: 0;
  box-sizing: border-box;
  /* 제목 2줄 + 아래 패딩(구분선 직전 여백) — index .jr-instagram-card p 패딩은 !important 블록에서 제거 */
  flex: 0 0 auto;
  min-height: calc(var(--jr-ig-caption-line-block) + var(--jr-ig-caption-pad-y));
  max-height: calc(var(--jr-ig-caption-line-block) + var(--jr-ig-caption-pad-y));
  word-break: break-word;
}
/* index.css 의 `.jr-instagram-card p` 무력화 — 캡션은 2줄 고정 + 하단 패딩이 max-height 안에서 보이도록 */
#jrInstagram a.jr-instagram-card .jr-instagram-card__caption {
  box-sizing: border-box !important;
  min-height: calc(var(--jr-ig-caption-line-block) + var(--jr-ig-caption-pad-y)) !important;
  max-height: calc(var(--jr-ig-caption-line-block) + var(--jr-ig-caption-pad-y)) !important;
  padding: 0 !important;
  padding-bottom: var(--jr-ig-caption-pad-y) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
#jrInstagram a.jr-instagram-card .jr-instagram-card__reaction-hint {
  min-height: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
/* 학폭 대응 전략 블로그 카드 제목 `.jr-blog-body h3` 와 동일 타이포 (index.min.css + 본 테마 색) */
#jrInstagram .jr-instagram-card__caption-txt {
  font-family: "Pretendard", "Pretendard Variable", ui-sans-serif, system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  margin: 0;
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--temple-text, var(--jr-lawyer-warm-mid)) !important;
  line-height: 1.35;
  letter-spacing: normal;
  font-feature-settings: "kern" 1;
  -webkit-font-smoothing: antialiased;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: anywhere;
}

#jrInstagram .jr-instagram-card__reaction-hint {
  flex-shrink: 0;
  --jr-ig-reaction-inner-gap: 0.42rem;
  /* 제목~선 간격은 캡션 padding-bottom 으로 통일 */
  margin: 0;
  padding: var(--jr-ig-reaction-inner-gap) 0 var(--jr-ig-reaction-inner-gap);
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  font-family: "Pretendard", "Pretendard Variable", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.184rem, 3.84cqi, 1.408rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: #4b5563;
  text-align: left;
}
#jrInstagram .jr-instagram-card__reaction-hint-ico {
  margin-right: 0.28rem;
  color: #e11d48;
  font-size: 0.92em;
  vertical-align: 0.05em;
}

#jrInstagram .jr-instagram-tag {
  color: #0c4a6e;
  font-weight: 400;
  letter-spacing: -0.03em;
}

/* JR 인스타: 하단 «인스타그램 바로가기» CTA — 딥블루 (#ll-main 랜딩·서브페이지 동일) */
#jrInstagram .jr-section-more-wrap a.jr-section-more-btn,
.jr-instagram-section .jr-section-more-wrap a.jr-section-more-btn,
#ll-main #jrInstagram .jr-section-more-wrap a.jr-section-more-btn {
  background: linear-gradient(180deg, var(--jr-brand-secondary) 0%, var(--jr-text-heading) 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.42) !important;
  color: var(--jr-bg-soft) !important;
}
#jrInstagram .jr-section-more-wrap a.jr-section-more-btn:hover,
.jr-instagram-section .jr-section-more-wrap a.jr-section-more-btn:hover,
#ll-main #jrInstagram .jr-section-more-wrap a.jr-section-more-btn:hover {
  background: linear-gradient(180deg, var(--jr-brand-primary) 0%, var(--jr-brand-primary-darker) 100%) !important;
  border-color: var(--jr-header-text-hover) !important;
  color: var(--jr-bg-card) !important;
}

/* 컨테이너 쿼리 미지원: 대략 4열 */
@supports not (container-type: inline-size) {
  @media (min-width: 1024px) {
    #jrInstagram .jr-instagram-scroll-clip .jr-instagram-card {
      flex: 0 0 calc(23.5% - 0.5rem);
      max-width: none;
    }
  }
}

/* ========== JR 학폭상담사례 (#jrConsultCases): 부제↔카드 — FAQ .jr-faq-inner gap 과 동일 + PC에서 track-wrap 음수 margin 제거 ========== */
main#target #jrConsultCases.jr-cases-preview-section > .innerWrap {
  gap: var(--jr-section-head-to-cards-gap) !important;
}
main#target #jrConsultCases .jr-cases-preview-track-wrap {
  margin-top: 0 !important;
}

@media (min-width: 900px) {
  main#target #jrWhyCredibility.jr-why-credibility-section > .innerWrap,
  main#target #jrCasesPreview.jr-cases-preview-section > .innerWrap,
  main#target #jrConsultCases.jr-cases-preview-section > .innerWrap {
    gap: var(--jr-section-head-to-cards-gap) !important;
  }
}

/* ========== 오시는 길 (#jrLocation): inner — 대치 랜딩(.jr-local-daechi #ll-main #jrLocation)과 동일 최대폭·좌우 패딩 ========== */
main#target #jrLocation > .innerWrap.jr-location-inner {
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0 !important;
  padding-left: max(1.25rem, env(safe-area-inset-left));
  padding-right: max(1.25rem, env(safe-area-inset-right));
}

main#target #jrLocation > .innerWrap > .jr-naver-reviews-desc {
  margin-top: 0.12rem !important;
}

main#target #jrLocation > .innerWrap > .cont.jr-location-cont {
  margin-top: calc(var(--jr-section-head-to-cards-gap) - clamp(1.35rem, 1.1rem + 0.65vw, 1.7rem)) !important;
}

@media (min-width: 900px) {
  main#target #jrLocation > .innerWrap.jr-location-inner {
    max-width: min(1120px, calc(100% - 3rem));
    padding-left: max(1.5rem, env(safe-area-inset-left));
    padding-right: max(1.5rem, env(safe-area-inset-right));
  }
}

@media (min-width: 1200px) {
  main#target #jrLocation > .innerWrap.jr-location-inner {
    max-width: min(1180px, calc(100% - 4rem));
  }
}

/* 주소 2줄 + 복사 버튼: 첫 줄에서 522, 두 칸 뒤 인라인 */
#jrLocation .jrinfo .jr-location-address-row {
  display: block !important;
}
#jrLocation .jrinfo .jr-location-address-text {
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  vertical-align: top !important;
}
#jrLocation .jrinfo .jr-location-copy-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  line-height: 1 !important;
  -webkit-tap-highlight-color: transparent;
}
#jrLocation .jrinfo .jr-location-copy-btn img {
  display: block !important;
  width: clamp(1.6rem, 1.4rem + 0.5vw, 2rem) !important;
  height: auto !important;
}

/* 약도 이미지: 높이 120% 확장 + 가운데 기준 130% 확대 · 테두리 크롭 */
#jrLocation .jr-location-map-figure {
  overflow: hidden !important;
  position: relative !important;
  min-height: clamp(20.8rem, 52vw, 36rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#jrLocation .jr-location-map-figure img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  transform: scale(1.5) !important;
  transform-origin: center center !important;
  flex-shrink: 0 !important;
}

/* ========== 오시는 길 (#jrLocation): 하단 Location CTA · 여백 · 가독성 ========== */
#jrLocation.jr-location-section {
  /* 섹션 하단 본문 약 2줄 분량 여백(푸터 전) */
  padding-bottom: clamp(3rem, 2rem + 2.5vw, 5rem);
}

#jrLocation .jr-location-more-wrap {
  margin-top: clamp(1.25rem, 0.75rem + 1.5vw, 2rem);
  display: flex;
  justify-content: center;
  width: 100%;
}

#jrLocation .jr-location-add-info {
  gap: 1.75rem !important;
  /* style.css .add_info 상단 3rem + .jrinfo padding-top 이 겹쳐 과함 → 상단만 한 줄 분량 축소 */
  padding-top: clamp(1.85rem, 1.35rem + 1.15vw, 2.45rem) !important;
  /* 좌우: .section3 .cont .add_info 가로 패딩과 동일 → 좌측 치우침 보정, 좌측만 +10px */
  padding-left: calc(clamp(1.5rem, 0.981rem + 2.31vw, 3rem) + 10px) !important;
  padding-right: clamp(1.5rem, 0.981rem + 2.31vw, 3rem) !important;
  /* 하단: 지도 라벨 아래 한 줄(1lh) 제거 → 한 줄 타이트 */
  padding-bottom: clamp(2.25rem, 1.75rem + 1.25vw, 3rem) !important;
}

#jrLocation .jr-location-add-info > .jrinfo {
  padding-top: 0;
}

#jrLocation .jr-location-hr {
  /* 텍스트 블록 폭에 맞춤: 카드 내부 가로 전체 */
  width: 100% !important;
  max-width: 100%;
  margin: 0.45rem 0 !important;
  opacity: 0.88;
  box-sizing: border-box;
}

#jrLocation .jr-location-transport {
  gap: 1.5rem !important;
}

#jrLocation .jr-location-transport li {
  gap: 0.65rem !important;
  align-items: flex-start;
}

#jrLocation .jr-location-transport li > p {
  margin: 0;
  padding-left: 0.15rem;
  line-height: 1.62;
  max-width: 40rem;
}

#jrLocation .jr-location-map-apps {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: flex-start;
  gap: 1.25rem 1.75rem;
  width: 100%;
  padding: 0.35rem 0 0.35rem;
  margin: 0 auto;
  list-style: none;
}

#jrLocation .jr-location-map-apps li {
  margin-right: 0 !important;
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

#jrLocation .jr-location-map-apps li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: flex-start;
  gap: 0.45rem;
  width: 100%;
  max-width: 12rem;
  margin-left: auto;
  margin-right: auto;
  /* style.css 1.4rem 기준 80% × 70% — 카드 내 텍스트 전체 축소 */
  font-size: calc(1.4rem * 0.8 * 0.7) !important;
  line-height: 1.45 !important;
}

/* 홈(main#target): 파란 카드 본문·법무법인명·지도 라벨 — 텍스트 70% 스케일 */
main#target #jrLocation .jr-location-add-info .jrinfo,
main#target #jrLocation .jr-location-add-info .jrinfo .add,
main#target #jrLocation .jr-location-add-info .jrinfo .jr-location-address-text,
main#target #jrLocation .jr-location-add-info .jrinfo .tel,
main#target #jrLocation .jr-location-transport li,
main#target #jrLocation .jr-location-transport li > span,
main#target #jrLocation .jr-location-transport li > p {
  font-size: calc(1.76rem * 1.2 * 0.7) !important;
  line-height: 1.75 !important;
}

main#target #jrLocation .jr-location-add-info .jrinfo .name {
  font-weight: 700 !important;
  font-size: calc(1.76rem * 1.2 * 1.2 * 0.7) !important;
  line-height: 1.75 !important;
}

main#target #jrLocation .jr-location-map-apps li a {
  font-size: calc(1.76rem * 1.2 * 0.8 * 0.7) !important;
  line-height: 1.45 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  gap: 0.45rem !important;
}

main#target #jrLocation .jr-location-map-apps li a img {
  display: block !important;
  margin: 0 auto !important;
  flex-shrink: 0 !important;
}

#jrLocation .jr-location-map-apps li a img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  flex-shrink: 0;
}

@media (min-width: 900px) {
  #jrLocation .jr-location-map-apps {
    gap: 1.75rem 2.5rem;
  }
}

@media (max-width: 599px) {
  #jrLocation .jr-location-map-apps {
    justify-content: center !important;
    gap: 1rem 1.5rem;
  }

  #jrLocation .jr-location-map-apps li {
    flex: 0 0 auto;
    max-width: none;
  }

  #jrLocation .jr-location-map-apps li a {
    width: auto;
  }
}

/* ========== 구성원 members.html: RISK CHECK(#jrRiskUrgency) 면·타이포·카드 톤 동기 ========== */
body#target.subpage .jr-members-section .jr-divorce-info-header {
  border-bottom: none !important;
  padding-bottom: 1rem !important;
}
body#target.subpage .jr-members-section .jr-divorce-info-eyebrow {
  color: var(--temple-chip-text) !important;
}
body#target.subpage .jr-members-section .jr-divorce-info-eyebrow::before {
  background: linear-gradient(90deg, var(--jr-brand-primary), rgba(37, 99, 235, 0.2)) !important;
}
body#target.subpage :is(
  .jr-members-section,
  .jr-broadcast-section,
  .jr-press-section,
  .jr-divorce-info-section
) .jr-divorce-info-title {
  color: var(--jr-brand-primary-darker) !important;
}
body#target.subpage .jr-members-section .jr-divorce-info-desc {
  color: var(--jr-text-sub) !important;
  white-space: normal !important;
  overflow: visible !important;
}

body#target.subpage .jr-members-section .member-intro-wrap {
  background: linear-gradient(90deg, var(--jr-overlay-brand-soft) 0%, rgba(37, 99, 235, 0.02) 100%) !important;
  border-left-color: var(--temple-accent-2) !important;
  box-shadow: 0 2px 12px var(--jr-shadow-xs) !important;
}
body#target.subpage .jr-members-section .member-intro-list li {
  color: var(--temple-text-muted) !important;
}
body#target.subpage .jr-members-section .member-intro-list li strong {
  color: var(--temple-text) !important;
}

body#target.subpage .jr-members-section .member-card:focus-visible {
  outline-color: rgba(37, 99, 235, 0.75) !important;
}
body#target.subpage .jr-members-section .member-card {
  border-radius: 16px !important;
  overflow: hidden !important;
  background: var(--jr-bg-card) !important;
  border: 2px solid rgba(51, 65, 85, 0.35) !important;
  box-shadow:
    0 1px 3px var(--jr-faq-border),
    0 12px 28px rgba(15, 23, 42, 0.14),
    0 28px 56px var(--jr-section-border) !important;
}
body#target.subpage .jr-members-section .member-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(37, 99, 235, 0.55) !important;
  box-shadow:
    0 4px 8px rgba(15, 23, 42, 0.1),
    0 18px 40px rgba(15, 23, 42, 0.16),
    0 36px 72px rgba(30, 64, 175, 0.18) !important;
}
/* 사진이 cover로 영역을 채우므로 배경만으론 대비 불가 → 슬레이트 매트(패딩)로 프레임 노출 */
body#target.subpage .jr-members-section .member-card .member-card__img-wrap {
  padding: 10px 10px 0 !important;
  background: linear-gradient(180deg, var(--jr-text-muted) 0%, var(--jr-neutral-slate) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  box-sizing: border-box !important;
}
body#target.subpage .jr-members-section .member-card .member-card__img-wrap > img {
  border-radius: 10px 10px 0 0 !important;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.25) !important;
}
body#target.subpage .jr-members-section .member-card:hover .member-card__img-wrap {
  box-shadow: none !important;
  border-color: transparent !important;
}
body#target.subpage .jr-members-section .member-card .member-card__text {
  background: var(--jr-bg-muted) !important;
  border: none !important;
  border-top: 2px solid rgba(71, 85, 105, 0.45) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body#target.subpage .jr-members-section .member-card .member-card__name-wrap h3 {
  color: var(--jr-text-main) !important;
  font-weight: 800 !important;
}
body#target.subpage .jr-members-section .member-card .member-card__name-wrap .member-card__title {
  color: var(--jr-text-sub) !important;
  font-weight: 600 !important;
}
body#target.subpage .jr-members-section .member-card .member-card__badge {
  color: var(--jr-faq-bg) !important;
  background: var(--temple-deep-2) !important;
  border: 1px solid var(--temple-border-strong) !important;
  text-shadow: none !important;
}
body#target.subpage .jr-members-section .member-card:hover .member-card__badge {
  background: var(--jr-brand-primary-dark) !important;
  color: var(--jr-bg-soft) !important;
  border-color: rgba(56, 189, 248, 0.55) !important;
  box-shadow: 0 4px 14px rgba(30, 64, 175, 0.2) !important;
}

body#target.subpage .jr-members-section .member-cta-wrap {
  border-top-color: rgba(30, 64, 175, 0.18) !important;
}

body#target.subpage .jr-members-section .lawyer-search-head h2 {
  color: var(--jr-brand-primary-darker) !important;
}
body#target.subpage .jr-members-section .lawyer-search-head .lawyer-search-desc {
  color: var(--jr-text-sub) !important;
}
body#target.subpage .jr-members-section .lawyer-search-wrap.lawyer-match .lawyer-search-badge {
  color: var(--temple-chip-text) !important;
  border-bottom-color: var(--temple-accent-2) !important;
}

body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat {
  border: 2px solid rgba(30, 64, 175, 0.32) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: var(--jr-text-main) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat:hover {
  background: var(--temple-deep-2) !important;
  color: var(--jr-faq-bg) !important;
  box-shadow: none !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat.is-active {
  background: var(--temple-chip-bg) !important;
  border-color: var(--jr-brand-primary) !important;
  color: var(--jr-text-main) !important;
  box-shadow: 0 4px 14px rgba(30, 64, 175, 0.15) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat.is-active:hover {
  color: var(--jr-text-main) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat:focus-visible {
  outline-color: rgba(37, 99, 235, 0.55) !important;
}
body#target.subpage .jr-members-section .lawyer-match-cat__icon {
  background: rgba(30, 64, 175, 0.1) !important;
  color: var(--jr-brand-primary-deep) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat:hover .lawyer-match-cat__icon {
  background: rgba(224, 242, 254, 0.2) !important;
  color: var(--jr-faq-bg) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat.is-active .lawyer-match-cat__icon {
  background: var(--jr-card-border) !important;
  color: var(--jr-text-main) !important;
}
body#target.subpage .jr-members-section .lawyer-match-cat__hint {
  color: var(--jr-text-sub) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat:hover .lawyer-match-cat__hint {
  color: rgba(224, 242, 254, 0.9) !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat.is-active .lawyer-match-cat__hint {
  color: var(--jr-text-sub) !important;
}

body#target.subpage .jr-members-section .lawyer-match-shell select {
  border-color: var(--temple-border) !important;
}
body#target.subpage .jr-members-section .lawyer-match-keyword {
  border-color: var(--temple-border) !important;
}
body#target.subpage .jr-members-section .lawyer-match-select-wrap::after {
  border-right-color: rgba(30, 64, 175, 0.45) !important;
  border-bottom-color: rgba(30, 64, 175, 0.45) !important;
}
body#target.subpage .jr-members-section .lawyer-match-keyword-icon {
  color: rgba(30, 64, 175, 0.45) !important;
}
body#target.subpage .jr-members-section .lawyer-match-shell input::placeholder {
  color: rgba(51, 78, 104, 0.55) !important;
}

body#target.subpage .jr-members-section .lawyer-search-results.lawyer-match-results {
  border-top-color: var(--temple-border) !important;
}
body#target.subpage .jr-members-section .lawyer-match-results-title {
  color: var(--jr-brand-primary-deep) !important;
  letter-spacing: 0.12em !important;
}

body#target.subpage .jr-members-section .lawyer-match-results.lawyer-search-results.lm-results-dock {
  background: transparent !important;
  color: var(--temple-text) !important;
  box-shadow: none !important;
}
body#target.subpage .jr-members-section .lm-results-dock .lawyer-match-results-title {
  color: var(--jr-brand-primary-deep) !important;
}
body#target.subpage .jr-members-section .lm-results-dock a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  background: var(--temple-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 20px var(--jr-shadow-xs) !important;
}
body#target.subpage .jr-members-section .lm-results-dock a.jr-lawyer-search-result--card:hover {
  border-color: var(--jr-overlay-brand-medium) !important;
  box-shadow: 0 10px 28px var(--jr-section-border) !important;
}
body#target.subpage .jr-members-section .lm-results-dock .jr-lawyer-search-result-media {
  background: var(--temple-card-muted) !important;
  border-right-color: var(--temple-border) !important;
}
body#target.subpage .jr-members-section .lm-results-dock .jr-lawyer-search-result-cta {
  color: var(--jr-brand-primary-dark) !important;
}
body#target.subpage .jr-members-section .lm-results-dock .jr-lawyer-search-result-cta-arrow {
  color: var(--jr-brand-primary) !important;
}
body#target.subpage .jr-members-section .lm-results-dock a.jr-lawyer-search-result--card:hover .jr-lawyer-search-result-cta-arrow {
  color: var(--jr-brand-secondary) !important;
}
body#target.subpage .jr-members-section .lawyer-match-shell .lawyer-search-empty {
  color: var(--jr-text-sub) !important;
}

@media (max-width: 899px) {
  /* 모바일에서도 '상황별 맞춤변호사 검색'은 PC와 동일한 단순 검색 레이아웃 유지 */
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-stepper,
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-panel--cats {
    display: none !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell-inner {
    padding: 1.6rem 1.6rem 1.2rem !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-body {
    display: block !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-panel--refine {
    border: 0 !important;
    padding: 0 !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-refine-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.2rem !important;
    align-items: end !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-label {
    font-size: 1.7rem !important;
    margin-bottom: 0.35rem !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell select,
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell input[type="search"],
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell input[type="text"] {
    font-size: 1.7rem !important;
    height: 5.2rem !important;
  }
  #target.pclayout section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-shell input::placeholder {
    font-size: 1.6rem !important;
  }

  /* Force PC-like layout on mobile for lawyer search */
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-stepper,
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-panel--cats,
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-panel-kicker,
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-optional {
    display: none !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-shell.lawyer-search-sect {
    padding: 1.8rem !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-shell-inner {
    padding: 0 !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-body {
    display: block !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-panel--refine {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-refine-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.2rem !important;
    align-items: end !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-field {
    min-width: 0 !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-label {
    display: block !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.4rem !important;
    text-align: center !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-shell select,
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-shell input[type="search"],
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-shell input[type="text"] {
    height: 5.2rem !important;
    min-height: 5.2rem !important;
    font-size: 1.7rem !important;
  }
  main#target.pclayout section.sect.lawyer-search-wrap.lawyer-match #lawyerSearchSect .lawyer-match-keyword-icon {
    width: 2rem !important;
    height: 2rem !important;
  }

  /* Fallback: broaden selectors to beat legacy mobile rules */
  #target .lawyer-match-stepper,
  #target .lawyer-match-panel--cats,
  #target .lawyer-match-panel-kicker,
  #target .lawyer-match-optional {
    display: none !important;
  }
  #target #lawyerSearchSect .lawyer-match-refine-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: end !important;
  }
  #target #lawyerSearchSect .lawyer-match-field,
  #target #lawyerSearchSect .lawyer-match-field--keyword {
    min-width: 0 !important;
    width: 100% !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell select,
  #target #lawyerSearchSect .lawyer-match-shell input[type="search"],
  #target #lawyerSearchSect .lawyer-match-shell input[type="text"] {
    width: 100% !important;
    height: 4.8rem !important;
    min-height: 4.8rem !important;
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell input::placeholder {
    font-size: 1.35rem !important;
  }
}

@media (max-width: 899px) {
  /* 헤더(배지·제목·소제목) ↔ 본문 블록 간격 — 맞춤변호사 검색 innerWrap 기준으로 모든 본문 섹션 통일 */
  main#target {
    --jr-head-to-body-gap: clamp(2.65rem, 2rem + 1.9vw, 3.55rem);
    /* 카드·폼 내부: 소제목(h3/라벨) ↔ 본문(p/필드) — RISK .jr-risk-card h3 margin-bottom과 동일 */
    --jr-card-title-body-gap: 1.05rem;
    /* RISK CHECK 부제↔카드와 동일 스케일 — 전 카드형 섹션·index.min --jr-section-head-content-gap 과 동기 */
    --jr-section-head-to-cards-gap: var(--jr-head-to-body-gap);
    --jr-section-head-content-gap: var(--jr-section-head-to-cards-gap);
  }
  main#target .contents > section.sect > .innerWrap {
    gap: var(--jr-head-to-body-gap) !important;
  }

  /*
   * 네이버 플레이스·의뢰인 후기·JR 언론보도: innerWrap flex gap 이 제목↔부제 사이에도 들어가 한 줄처럼 벌어짐.
   * → gap:0. JR 언론은 방송과 동일한 .jr-press-header 블록으로 헤더 정렬; 카드 블록(.jr-media-width) 간격은 temple 기본 margin-top.
   */
  main#target #jrNaverReviews > .innerWrap,
  main#target #jrReview > .innerWrap,
  main#target #jrPress > .ll-inner.innerWrap,
  main#target #jrLocation > .innerWrap.jr-location-inner {
    gap: 0 !important;
  }
  main#target #jrNaverReviews > .innerWrap > .jr-naver-reviews-desc,
  main#target #jrReview > .innerWrap > .jr-naver-reviews-desc {
    margin-top: 0.35rem !important;
  }
  main#target #jrLocation > .innerWrap > .jr-naver-reviews-desc {
    margin-top: 0.12rem !important;
  }
  main#target #jrNaverReviews > .innerWrap > .cont,
  main#target #jrReview > .innerWrap > .cont {
    margin-top: var(--jr-head-to-body-gap) !important;
  }
  main#target #jrLocation > .innerWrap > .cont.jr-location-cont {
    margin-top: calc(var(--jr-head-to-body-gap) - clamp(1.35rem, 1.1rem + 0.65vw, 1.7rem)) !important;
  }
  main#target #jrNaverReviews > .innerWrap > .jr-section-more-wrap,
  main#target #jrReview > .innerWrap > .jr-section-more-wrap {
    margin-top: var(--jr-head-to-body-gap) !important;
  }
  /* JR 학폭상담사례: 네이버 플레이스와 동일 — innerWrap gap 끄고 카드↔점↔더보기 간격을 margin 으로만(점 상단 = .jr-naver-reviews-dots 와 동일) */
  main#target #jrConsultCases.jr-cases-preview-section > .innerWrap {
    gap: 0 !important;
  }
  main#target #jrConsultCases > .innerWrap > .jr-cases-preview-track-wrap {
    margin-top: var(--jr-head-to-body-gap) !important;
  }
  main#target #jrConsultCases > .innerWrap > .jr-section-more-wrap {
    margin-top: var(--jr-head-to-body-gap) !important;
  }

  /* JR 인스타그램: 학폭상담사례와 동일 — innerWrap gap 0, 헤더↔캐러셀·더보기 간격 */
  main#target #jrInstagram.jr-instagram-section > .innerWrap {
    gap: 0 !important;
  }
  main#target #jrInstagram > .innerWrap > .jr-media-width {
    margin-top: var(--jr-head-to-body-gap) !important;
  }
  main#target #jrInstagram > .innerWrap > .jr-section-more-wrap {
    margin-top: var(--jr-head-to-body-gap) !important;
  }

  /*
   * index.css 패턴: innerWrap gap:0 + 헤더 margin-bottom / 첫 블록 margin-top 으로 간격 생성
   * → flex gap 과 누적되어 섹션마다 간격이 달라짐. 모바일은 margin 끄고 gap만 사용.
   */
  main#target #jrRiskUrgency .jr-risk-head {
    margin-bottom: 0 !important;
  }
  main#target #jrWhyCredibility .jr-why-core-cards {
    margin-top: 0 !important;
  }
  main#target .jr-blog-section .jr-media-width {
    margin-top: 0 !important;
  }

  /* 카드·폼 내부 간격 통일 (style.css / index.css에 흩어진 margin·gap 덮어쓰기) */
  main#target .jr-risk-card h3 {
    margin-bottom: var(--jr-card-title-body-gap) !important;
  }
  /* #jrWhyCredibility 767px 블록의 p { margin-top:0.6rem } 보다 구체적으로 */
  main#target #jrWhyCredibility .jr-why-core-cards article > p:first-of-type {
    margin-top: var(--jr-card-title-body-gap) !important;
  }
  main#target #jrCasesPreview .jr-cases-preview-card-summary,
  main#target #jrConsultCases .jr-cases-preview-card-summary {
    margin-top: var(--jr-card-title-body-gap) !important;
  }
  /* style.css: .jr-cases-preview-section .jr-cases-preview-track-wrap { margin-top: -1.4rem } 가 innerWrap gap 을 깎아 먹음 — 업무사례(#jrCasesPreview)만 0 유지 */
  main#target #jrCasesPreview .jr-cases-preview-track-wrap {
    margin-top: 0 !important;
  }
  main#target .jr-broadcast-card-body,
  main#target section.jr-broadcast-section .jr-broadcast-card .jr-broadcast-card-body {
    gap: var(--jr-card-title-body-gap) !important;
  }
  main#target #jrBlog .jr-blog-grid--static .jr-blog-card__body {
    gap: var(--jr-card-title-body-gap) !important;
  }
  /* 모바일/태블릿: 변호사 검색을 PC 기능형 UI로 강제 고정 */
  #target #lawyerSearchSect .lawyer-match-stepper,
  #target #lawyerSearchSect .lawyer-match-panel--cats,
  #target #lawyerSearchSect .lawyer-match-panel-kicker,
  #target #lawyerSearchSect .lawyer-match-optional {
    display: none !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell.lawyer-search-sect {
    padding: 1.6rem !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell-inner {
    padding: 0 !important;
  }
  #target #lawyerSearchSect .lawyer-match-panel--refine {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  #target #lawyerSearchSect .lawyer-match-refine-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.9rem !important;
    align-items: end !important;
  }
  #target #lawyerSearchSect .lawyer-match-field,
  #target #lawyerSearchSect .lawyer-match-field--keyword {
    min-width: 0 !important;
    width: 100% !important;
  }
  #target #lawyerSearchSect .lawyer-match-label {
    display: block !important;
    text-align: center !important;
    font-size: 1.95rem !important;
    font-weight: 700 !important;
    margin-bottom: var(--jr-card-title-body-gap) !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell select,
  #target #lawyerSearchSect .lawyer-match-shell input[type="search"],
  #target #lawyerSearchSect .lawyer-match-shell input[type="text"] {
    width: 100% !important;
    height: 5rem !important;
    min-height: 5rem !important;
    font-size: 1.65rem !important;
    line-height: 1.25 !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell select {
    font-size: 1.45rem !important;
    line-height: 1.2 !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell select option {
    font-size: 1.35rem !important;
    line-height: 1.25 !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell select {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  #target #lawyerSearchSect .lawyer-match-keyword {
    display: block !important;
    position: relative !important;
    height: 5rem !important;
    min-height: 5rem !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell input[type="search"],
  #target #lawyerSearchSect .lawyer-match-shell input[type="text"] {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0.95rem 0 3.2rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 1.5rem !important;
    line-height: 1.1 !important;
    text-align: left !important;
  }
  #target #lawyerSearchSect .lawyer-match-shell input::placeholder {
    font-size: 1.45rem !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
  }
  #target #lawyerSearchSect .lawyer-match-keyword-icon {
    position: absolute !important;
    left: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 2.2rem !important;
    height: 2.2rem !important;
    pointer-events: none !important;
  }
  #target #lawyerSearchSect .lawyer-match-results.lawyer-search-results {
    display: block !important;
    min-height: 0 !important;
    padding: 1.1rem 1rem !important;
  }
  #target #lawyerSearchSect .lawyer-match-results-list,
  #target #lawyerSearchSect #lawyerSearchResultsList {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.8rem !important;
    margin: 0 !important;
  }
  #target #lawyerSearchSect .lawyer-match-results-list li,
  #target #lawyerSearchSect #lawyerSearchResultsList li {
    margin: 0 !important;
  }
  #target #lawyerSearchSect a.jr-lawyer-search-result--card.jr-lawyer-search-result {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    min-height: 10.5rem !important;
    padding: 0.85rem 1rem !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    background: var(--jr-bg-card) !important;
    border: 1px solid var(--temple-border, var(--jr-divider)) !important;
    box-shadow: 0 4px 14px var(--jr-shadow-xs) !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-media {
    flex: 0 0 9.25rem !important;
    width: 9.25rem !important;
    height: 9.25rem !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border: 1px solid rgba(148, 163, 184, 0.45) !important;
    background: linear-gradient(165deg, #e8f1fb 0%, var(--jr-brand-accent-soft) 55%, var(--jr-neutral-blue-tint-5) 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.65),
      0 1px 2px var(--jr-shadow-xs) !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-photo {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    overflow: hidden !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center 18% !important;
    transform: none !important;
    transform-origin: center center !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-body {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-tag,
  #target #lawyerSearchSect .jr-lawyer-search-result-blurb,
  #target #lawyerSearchSect .jr-lawyer-search-result-cta {
    display: none !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-name {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: var(--temple-text, var(--jr-text-main)) !important;
  }
  #target #lawyerSearchSect .jr-lawyer-search-result-role {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 1.28rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--temple-text-muted, var(--jr-text-muted)) !important;
  }

  /* 모바일 본문 섹션 헤더: 배지·제목·부제 가운덌 정렬 */
  #target #jrRiskUrgency .jr-risk-head,
  #target #jrWhyCredibility .jr-why-credibility-head,
  #target #jrCasesPreview .jr-why-credibility-head,
  #target #jrConsultCases .jr-why-credibility-head,
  #target #jrBroadcast .jr-broadcast-header,
  #target #jrPress .jr-press-header,
  #target #jrBlog .jr-blog-header,
  #target #jrInstagram .jr-instagram-header,
  #target #faq .jr-faq-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* innerWrap gap(--jr-head-to-body-gap)만 사용 — 여기 margin-bottom 을 두면 gap 과 합쳐져 간격이 2배로 보임 */
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  #target #jrRiskUrgency .jr-risk-badge,
  #target #jrWhyCredibility .jr-why-credibility-head > .jr-why-credibility-badge,
  #target #jrCasesPreview .jr-why-credibility-head > .jr-why-credibility-badge,
  #target #jrConsultCases .jr-why-credibility-head > .jr-why-credibility-badge,
  #target #jrNaverReviews > .innerWrap > .jr-naver-badge,
  #target #jrReview > .innerWrap > .jr-naver-badge,
  #target #jrBroadcast .jr-broadcast-header > .jr-broadcast-badge,
  #target #jrPress .jr-press-header > .jr-press-badge,
  #target #jrBlog .jr-blog-header > .jr-blog-badge,
  #target #jrInstagram .jr-instagram-header > .jr-instagram-badge,
  #target #faq .jr-faq-head > .jr-faq-badge,
  #target #jrLocation > .innerWrap > .jr-naver-badge,
  #target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head > .jr-lawyer-search-kicker-badge {
    align-self: center !important;
    display: flex !important;
    width: fit-content !important;
    max-width: calc(100% - 0.1px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #target #jrRiskUrgency .jr-risk-head h2,
  #target #jrWhyCredibility .jr-why-credibility-head h2,
  #target #jrCasesPreview .jr-why-credibility-head h2,
  #target #jrConsultCases .jr-why-credibility-head h2,
  #target #jrNaverReviews > .innerWrap > h2,
  #target #jrReview > .innerWrap > h2,
  #target #jrBroadcast .jr-broadcast-title,
  #target #jrPress .jr-press-title,
  #target #jrBlog .jr-blog-title,
  #target #jrInstagram .jr-instagram-title,
  #target #faq .jr-faq-title,
  #target #jrLocation > .innerWrap > h2 {
    font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif !important;
    font-size: var(--jr-type-title, clamp(2.42rem, 1.87rem + 1.45vw, 3.32rem)) !important;
    line-height: 1.32 !important;
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
    color: var(--jr-brand-primary-darker) !important;
    text-align: center !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #target #jrRiskUrgency .jr-risk-head p,
  #target #jrWhyCredibility .jr-why-credibility-head p,
  #target #jrCasesPreview .jr-why-credibility-head p,
  #target #jrConsultCases .jr-why-credibility-head p,
  /* 네이버·의뢰인 부제 margin-top 은 위 .jr-naver-reviews-desc 규칙(0.35rem) — JR 언론은 .jr-press-desc(0.45rem) */
  #target #jrBroadcast .jr-broadcast-desc,
  #target #jrPress .jr-press-desc,
  #target #jrBlog .jr-blog-desc,
  #target #jrInstagram .jr-instagram-desc,
  #target #faq .jr-faq-lead {
    font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif !important;
    font-size: var(--jr-type-subtitle, clamp(1.62rem, 1.45rem + 0.34vw, 1.82rem)) !important;
    line-height: 1.68 !important;
    letter-spacing: -0.006em !important;
    font-weight: 500 !important;
    color: var(--jr-text-sub) !important;
    text-align: center !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0.45rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }

  /* 오시는 길: 제목에 더 붙이고(타 섹션 부제 0.45rem과 분리) */
  #target #jrLocation > .innerWrap > .jr-naver-reviews-desc {
    margin-top: 0.12rem !important;
  }

  /* 맞춤변호사 검색(모바일): 제목·부제 가운데 — 부제는 모바일 전용 문구(.lawyer-search-desc-mo) — 섹션 간격은 위 --jr-head-to-body-gap 공통 적용 */
  main#target .lawyer-search-wrap .lawyer-search-head {
    align-items: center !important;
  }

  main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head {
    text-align: center !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head h2 {
    font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif !important;
    font-size: var(--jr-type-title, clamp(2.42rem, 1.87rem + 1.45vw, 3.32rem)) !important;
    line-height: 1.32 !important;
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
    color: var(--jr-brand-primary-darker) !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-head .lawyer-search-desc {
    font-family: "Pretendard", "Malgun Gothic", "맑은 고딕", sans-serif !important;
    font-size: var(--jr-type-subtitle, clamp(1.62rem, 1.45rem + 0.34vw, 1.82rem)) !important;
    line-height: 1.68 !important;
    letter-spacing: -0.006em !important;
    font-weight: 500 !important;
    color: var(--jr-text-sub) !important;
    text-align: center !important;
    padding: 0 !important;
    margin-top: 0.45rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    max-width: none !important;
    width: 100% !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-desc .lawyer-search-desc-pc {
    display: none !important;
  }

  main#target section.sect.lawyer-search-wrap.lawyer-match .lawyer-search-desc .lawyer-search-desc-mo {
    display: block !important;
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  /* 의뢰인 후기: 부제 ↔ 슬라이드 카드 사이 한 줄 정도 여백 */
  main#target #jrReview > .innerWrap > .jr-naver-reviews-desc {
    margin-bottom: 1.5rem !important;
  }

  /* 오시는 길: 부제↔카드는 본문 margin-top으로만 간격(부제 하단 여백 제거) */
  main#target #jrLocation > .innerWrap > .jr-naver-reviews-desc {
    margin-bottom: 0 !important;
  }

  /* FAQ: 카테고리 제목(학교폭력위원회·심의 등) 왼쪽 여백 — 화면 가장자리와 간격 */
  main#target #faq .jr-faq-cat-title,
  #faq .jr-faq-cat-title {
    padding-left: 0.5em !important;
    box-sizing: border-box;
  }

  /* 오시는 길: 제목↔부제 타이트(부제를 위로) */
  main#target #jrLocation > .innerWrap > h2 {
    margin-bottom: 0 !important;
  }

  /* (구) 대치 ll-h2--line 전용 타이포 제거 — 섹션 제목은 상위 @media(899px) 규칙으로 통일 */
}

@media (max-width: 899px) {
  /* 모바일 전용 강제 적용: 오시는 길 약도 높이 확대 + 중앙 강확대 */
  main#target #jrLocation .jr-location-map-figure,
  body#target #jrLocation .jr-location-map-figure,
  main#target #jrLocation.section3 .cont .map,
  body#target #jrLocation.section3 .cont .map {
    overflow: hidden !important;
    position: relative !important;
    height: clamp(30rem, 75vw, 52rem) !important;
    min-height: clamp(30rem, 75vw, 52rem) !important;
  }

  main#target #jrLocation .jr-location-map-figure img,
  body#target #jrLocation .jr-location-map-figure img,
  main#target #jrLocation.section3 .cont .map img,
  body#target #jrLocation.section3 .cont .map img {
    display: block !important;
    width: 170% !important;
    max-width: 170% !important;
    height: 150% !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin-left: -10% !important;
    margin-top: -25% !important;
    transform: none !important;
  }
}

/* 추천변호사 검색 — 프로필: 원형 프레임 통일 + 과확대 제거(상단 갭/깨진 원 방지) */
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-media,
section.sect.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-media {
  position: relative !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border: 1px solid rgba(148, 163, 184, 0.45) !important;
  background: linear-gradient(165deg, #e8f1fb 0%, var(--jr-brand-accent-soft) 55%, var(--jr-neutral-blue-tint-5) 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.65),
    0 1px 2px var(--jr-shadow-xs) !important;
}

section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo,
section.sect.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
  border-radius: 50% !important;
  overflow: hidden !important;
}

section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img,
section.sect.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center 18% !important;
  transform: none !important;
  transform-origin: center center !important;
}

/* PC(≥900px): 추천변호사 카드 프로필 더 크게 — index.min 기본(9.2rem) 덮어쓰기 */
@media (min-width: 900px) {
  #lawyerSearchSect.lawyer-match-outer .jr-lawyer-search-result-media {
    width: 10.75rem !important;
    height: 10.75rem !important;
  }
  #lawyerSearchSect.lawyer-match-outer .jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
    min-height: 10.75rem !important;
    height: 10.75rem !important;
  }
  #lawyerSearchSect.lawyer-match-outer .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
    width: 10.75rem !important;
    height: 10.75rem !important;
  }
}

/* —— 모바일(≤899px) 공통: 가로 스크롤·노치·터치 —— */
@media (max-width: 899px) {
  body {
    overflow-x: clip;
  }

  .header .innerWrap {
    box-sizing: border-box;
    padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  }

  .header .gnb_menu .gnb_list > li.gnb_util {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    flex-shrink: 0;
  }

  .header .gnb_menu .gnb_list > li.gnb_util .gnb_btn {
    box-sizing: border-box;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .header .logo {
    align-items: center;
    min-width: 0;
  }
}

/* ========== 오시는 길(#jrLocation): 모바일(≤899px) 통합 안내 박스·지도 버튼·하단 도식 ========== */
main#target #jrLocation .jr-location-mo-layout {
  display: none;
}

@media (max-width: 899px) {
  main#target #jrLocation.section3 .cont.jr-location-cont {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 0 !important;
  }

  main#target #jrLocation .jr-location-mo-layout {
    --jr-loc-mo-pad: 0.85rem;
    --jr-loc-mo-gap: 0.4rem;
    --jr-loc-mo-radius: 18px;
    --jr-loc-mo-border: 1px solid #e8eaed;
    --jr-loc-mo-vline: #e2e5ea;
    --jr-loc-mo-blue: var(--jr-brand-secondary);
    --jr-loc-mo-blue-title: var(--jr-brand-primary-dark);
    --jr-loc-mo-text: #111827;
    --jr-loc-mo-muted: #6b7280;
    /* 오시는 길 부제(.jr-naver-reviews-desc)와 동일 계단 */
    --jr-loc-mo-type: var(--jr-type-subtitle, clamp(1.62rem, 1.45rem + 0.34vw, 1.82rem));

    display: flex !important;
    flex-direction: column;
    width: 100%;
    gap: var(--jr-loc-mo-gap);
    box-sizing: border-box;
  }

  main#target #jrLocation .jr-location-add-info,
  main#target #jrLocation .jr-location-map-figure {
    display: none !important;
  }

  main#target #jrLocation .jr-loc-mo-card {
    background: var(--jr-bg-card);
    border: var(--jr-loc-mo-border);
    border-radius: var(--jr-loc-mo-radius);
    padding: var(--jr-loc-mo-pad);
    box-sizing: border-box;
    box-shadow: none;
  }

  /* 주소·교통·주차 한 박스: 동일 아이콘 거터 + 구분선 + 본문, 구간은 가로 구분선 */
  main#target #jrLocation .jr-loc-mo-card--bundle {
    padding: 0.875rem 0.8125rem 0.8125rem;
    border-radius: var(--jr-loc-mo-radius);
  }

  main#target #jrLocation .jr-loc-mo-card--bundle .jr-loc-mo-row {
    display: grid;
    grid-template-columns: 2.5rem 1px minmax(0, 1fr);
    column-gap: 0.65rem;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
  }

  main#target #jrLocation .jr-loc-mo-card--bundle .jr-loc-mo-row + .jr-loc-mo-row {
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--jr-loc-mo-vline);
  }

  main#target #jrLocation .jr-loc-mo-vrule {
    width: 1px;
    align-self: stretch;
    min-height: 2.125rem;
    background: var(--jr-loc-mo-vline);
    justify-self: center;
  }

  main#target #jrLocation .jr-loc-mo-card--bundle .jr-loc-mo-row--address .jr-loc-mo-vrule {
    min-height: 2.5rem;
  }

  main#target #jrLocation .jr-loc-mo-card__icons {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    color: var(--jr-loc-mo-blue);
    justify-self: center;
  }

  main#target #jrLocation .jr-loc-mo-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  main#target #jrLocation .jr-loc-mo-ico svg {
    display: block;
  }

  main#target #jrLocation .jr-loc-mo-iconcircle {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #e8f1ff;
    color: var(--jr-loc-mo-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  main#target #jrLocation .jr-loc-mo-card--bundle .jr-loc-mo-iconcircle {
    width: 2.35rem;
    height: 2.35rem;
    justify-self: center;
  }

  main#target #jrLocation .jr-loc-mo-iconcircle svg {
    display: block;
  }

  main#target #jrLocation .jr-loc-mo-card__body {
    min-width: 0;
    text-align: left;
  }

  main#target #jrLocation .jr-loc-mo-card--bundle .jr-loc-mo-ico svg {
    width: 1.3125rem;
    height: 1.3125rem;
  }

  main#target #jrLocation .jr-loc-mo-card--bundle .jr-loc-mo-iconcircle svg {
    width: 1.125rem;
    height: 1.125rem;
  }

  main#target #jrLocation .jr-loc-mo-addr-line1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    margin: 0;
    font-weight: 700;
    font-size: var(--jr-loc-mo-type);
    line-height: 1.38;
    letter-spacing: -0.006em;
    color: var(--jr-loc-mo-blue-title);
    word-break: keep-all;
  }

  main#target #jrLocation .jr-loc-mo-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
    -webkit-tap-highlight-color: transparent;
  }

  main#target #jrLocation .jr-loc-mo-copy img {
    display: block;
    width: 1em;
    height: auto;
    opacity: 0.75;
  }

  main#target #jrLocation .jr-loc-mo-addr-subline {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.35em;
    margin: 0.2rem 0 0;
    min-width: 0;
    font-size: var(--jr-loc-mo-type);
    line-height: 1.38;
    letter-spacing: -0.006em;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  main#target #jrLocation .jr-loc-mo-addr-subline::-webkit-scrollbar {
    display: none;
  }

  main#target #jrLocation .jr-loc-mo-addr-floor {
    flex: 0 0 auto;
    font-weight: 500;
    color: var(--jr-loc-mo-muted);
    white-space: nowrap;
    word-break: keep-all;
  }

  main#target #jrLocation .jr-loc-mo-tel-inline.jr-loc-mo-info-title {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.22em;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  main#target #jrLocation .jr-loc-mo-tel-emoji {
    font-style: normal;
    line-height: 1;
    flex-shrink: 0;
  }

  main#target #jrLocation .jr-loc-mo-info-title {
    margin: 0 0 0.1rem;
    font-size: var(--jr-loc-mo-type);
    font-weight: 700;
    line-height: 1.38;
    letter-spacing: -0.006em;
    color: var(--jr-loc-mo-blue-title);
  }

  main#target #jrLocation .jr-loc-mo-info-desc {
    margin: 0;
    font-size: var(--jr-loc-mo-type);
    font-weight: 500;
    line-height: 1.38;
    color: var(--jr-loc-mo-muted);
    word-break: keep-all;
  }

  main#target #jrLocation .jr-loc-mo-map-shell {
    width: 100%;
    margin: 0;
    padding: 0.2rem 0 0;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
  }

  main#target #jrLocation .jr-loc-mo-map-links {
    margin: 0;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.28em 0.42em;
    max-width: 100%;
    font-size: calc(0.88 * var(--jr-loc-mo-type));
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -0.02em;
    color: var(--jr-loc-mo-muted);
  }

  main#target #jrLocation .jr-loc-mo-map-sep {
    color: #c4cad4;
    font-weight: 400;
    user-select: none;
    padding: 0 0.06em;
  }

  main#target #jrLocation .jr-loc-mo-maplink {
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    color: var(--jr-loc-mo-blue);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
  }

  main#target #jrLocation .jr-loc-mo-maplink__ico {
    display: block;
    width: 1.05em;
    height: 1.05em;
    object-fit: contain;
    flex-shrink: 0;
  }

  main#target #jrLocation .jr-loc-mo-maplink:hover,
  main#target #jrLocation .jr-loc-mo-maplink:focus-visible {
    text-decoration: none;
  }

  main#target #jrLocation .jr-loc-mo-maplink:hover .jr-loc-mo-maplink__txt,
  main#target #jrLocation .jr-loc-mo-maplink:focus-visible .jr-loc-mo-maplink__txt {
    text-decoration: underline;
    text-underline-offset: 0.12em;
  }

  main#target #jrLocation .jr-loc-mo-route-wrap {
    position: relative;
    margin: 0;
    border-radius: var(--jr-loc-mo-radius);
    overflow: hidden;
    border: var(--jr-loc-mo-border);
    background: var(--jr-bg-card);
    box-shadow: none;
  }

  main#target #jrLocation .jr-loc-mo-route-wrap .jr-loc-mo-route {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
    background: transparent;
  }

  main#target #jrLocation .jr-loc-mo-route-wrap .jr-loc-mo-route img {
    display: block;
    width: 100%;
    height: auto;
  }
}

@media (min-width: 900px) {
  main#target #jrLocation .jr-location-mo-layout {
    display: none !important;
  }
}

/* ---------- /members/*.html 프로필: 모바일 히어로 좌우 여백 = 본문 .sect·breadcrumb(1.5rem) ---------- */
@media (max-width: 899px) {
  body.profile-page #jrMember.visual > .innerWrap.visual_two_col {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box;
  }
  body.profile-page #jrMember.visual .visual_left {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.profile-page #jrMember.visual .slogan_wrap {
    padding-left: 0 !important;
  }
  /* 상단 칩·인용 블록도 동일 gutter (페이지 인라인 3rem·0 과 엇갈림 방지) */
  body.profile-page .jr-intro > .innerWrap {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box;
  }
}

/* =========================================================
   Source: /css/home-daechi-section-stripes.css
   ========================================================= */
/**
 * 홈(index) 본문: 대치 랜딩과 동일 A/B 면 (단일 팔레트, 최종 확정).
 * A = --dae-bg-pattern-1 + CI 워터마크
 * B = --dae-bg-pattern-2 (워터마크 없음)
 * ※ B에 temple --temple-strip-bg-deep(진한 블루) 쓰지 않음 — daechi-ui-enhance 주석과 동일 토큰.
 * index.css / temple-theme / index.min 의 섹션 background 는 본 파일이 덮어씀.
 */

main#target.pclayout > .contents {
  --dae-section-pad-y: max(1.6rem, calc(clamp(2.75rem, 6vw, 4rem) - 0.5lh));
  --dae-inner-pad-y: max(1.25rem, calc(max(1lh, 1.75rem) + 0.5lh));
  --dae-inset-sep: inset 0 22px 30px -20px rgba(86, 56, 26, 0.065);
  /* 팔레트 연동 — 이혼 메인은 --jr-surface-risk-bg 단일 면 */
  --dae-bg-pattern-1: var(--jr-surface-risk-bg);
  --dae-bg-pattern-2: var(--jr-surface-review-bg);
}

main#target.pclayout > .contents > #jrMember ~ section {
  border-top: none !important;
  box-shadow: var(--dae-inset-sep);
  padding-top: var(--dae-section-pad-y) !important;
  padding-bottom: var(--dae-section-pad-y) !important;
}

/* ── A면 (이혼 index.min: RISK·WHY·네이버·인스타·FAQ) ── */
main#target.pclayout > .contents > #jrRiskUrgency,
main#target.pclayout > .contents > #jrWhyCredibility,
main#target.pclayout > .contents > #jrNaverReviews,
main#target.pclayout > .contents > #jrInstagram,
main#target.pclayout > .contents > #faq {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: var(--dae-bg-pattern-1) !important;
  background-image: var(--dae-bg-pattern-1) !important;
}

/* ── B면 (이혼 index.min: 맞춤변호사·업무사례·방송·블로그·보도·상담사례) ── */
main#target.pclayout > .contents > section.lawyer-search-wrap,
main#target.pclayout > .contents > #jrCasesPreview,
main#target.pclayout > .contents > #jrConsultCases,
main#target.pclayout > .contents > #jrBroadcast,
main#target.pclayout > .contents > #jrBlog,
main#target.pclayout > .contents > #jrPress {
  position: relative !important;
  isolation: isolate !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  background: var(--dae-bg-pattern-2) !important;
  background-image: var(--dae-bg-pattern-2) !important;
}

/* A면 CI 워터마크 */
main#target.pclayout > .contents > #jrRiskUrgency::before,
main#target.pclayout > .contents > #jrWhyCredibility::before,
main#target.pclayout > .contents > #jrNaverReviews::before,
main#target.pclayout > .contents > #jrInstagram::before,
main#target.pclayout > .contents > #faq::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.05 !important;
  background-image: url("/images/CI_symbol_dark.svg"), url("/images/CI_symbol_dark.svg") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: 90% 18%, 6% 88% !important;
  background-size: clamp(100px, 18vw, 200px) auto, clamp(64px, 11vw, 120px) auto !important;
}

@media (max-width: 767px) {
  main#target.pclayout > .contents > #jrRiskUrgency::before,
  main#target.pclayout > .contents > #jrWhyCredibility::before,
  main#target.pclayout > .contents > #jrNaverReviews::before,
  main#target.pclayout > .contents > #jrInstagram::before,
  main#target.pclayout > .contents > #faq::before {
    opacity: 0.038 !important;
    background-position: 92% 12%, 4% 92% !important;
    background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto !important;
  }
}

/* B면: 워터마크·index.css/temple-theme 밝은 면 ::before 제거 */
main#target.pclayout > .contents > section.lawyer-search-wrap::before,
main#target.pclayout > .contents > #jrCasesPreview::before,
main#target.pclayout > .contents > #jrConsultCases::before,
main#target.pclayout > .contents > #jrBroadcast::before,
main#target.pclayout > .contents > #jrBlog::before,
main#target.pclayout > .contents > #jrPress::before {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

main#target.pclayout > .contents > #jrMember ~ section > .innerWrap,
main#target.pclayout > .contents > #jrMember ~ section > .ll-inner,
main#target.pclayout > .contents > #jrPress > .ll-inner.innerWrap {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
  background-image: none !important;
  padding-top: var(--dae-inner-pad-y) !important;
  padding-bottom: var(--dae-inner-pad-y) !important;
}

main#target.pclayout > .contents > #jrWhyCredibility.jr-why-credibility-section::after {
  content: none !important;
  display: none !important;
}

main#target #jrPress > .ll-inner.innerWrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  row-gap: 0 !important;
  padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
  padding-right: max(1.25rem, env(safe-area-inset-right)) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: min(1120px, calc(100% - 3rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 900px) {
  main#target #jrPress > .ll-inner.innerWrap {
    max-width: min(1120px, calc(100% - 3rem)) !important;
    padding-left: max(1.5rem, env(safe-area-inset-left)) !important;
    padding-right: max(1.5rem, env(safe-area-inset-right)) !important;
  }
}

@media (min-width: 1200px) {
  main#target #jrPress > .ll-inner.innerWrap {
    max-width: min(1180px, calc(100% - 4rem)) !important;
  }
}

main#target #jrPress > .ll-inner.innerWrap > .jr-media-width {
  margin-top: var(--jr-section-head-to-cards-gap, 4.8rem) !important;
}

/* =========================================================
   Source: /css/consult-cases-layout.css
   ========================================================= */
/**
 * JR 학폭상담사례 — PC 4열·전체 텍스트 노출(말줄임·line-clamp 없음, 높이는 콘텐츠·동기화로 확장)
 * temple-theme.css 이후 로드
 */

@media (min-width: 900px) {
  main#target #jrConsultCases .jr-cases-preview-viewport .jr-cases-preview-track {
    gap: 1.2rem !important;
    column-gap: 1.2rem !important;
    align-items: stretch !important;
  }

  main#target #jrConsultCases .jr-consult-case-card.jr-cases-preview-card {
    height: auto !important;
    min-height: unset !important;
  }

  main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title,
  #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
    display: block !important;
    min-height: unset !important;
    max-height: none !important;
    padding-bottom: 0.65rem !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    word-break: keep-all !important;
  }

  @supports (height: 1lh) {
    main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title,
    #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-title {
      min-height: unset !important;
    }
  }

  main#target #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-summary,
  #jrConsultCases .jr-consult-case-card .jr-cases-preview-card-summary {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    word-break: keep-all !important;
    margin-top: 0.45rem !important;
  }

  main#target #jrConsultCases .jr-consult-case-card-inner {
    padding-top: 1.35rem !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__copy {
    flex: 0 1 auto !important;
    min-height: 0 !important;
  }

  main#target #jrConsultCases .jr-consult-recommended-lawyers {
    padding-top: 0.85rem !important;
    flex-shrink: 0 !important;
  }
}

/* 추천 변호사 블록 — 카드 하단 가운데 정렬 */
main#target #jrConsultCases .jr-consult-recommended-lawyers {
  align-items: center !important;
  width: 100% !important;
}

main#target #jrConsultCases .jr-consult-lawyers-head {
  width: 100% !important;
  justify-content: center !important;
}

main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers.jr-cases-preview-lawyers {
  --jr-lawyer-row-gap: clamp(3rem, 2.35rem + 2.2vw, 4.25rem);
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: var(--jr-lawyer-row-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-inline: clamp(0.5rem, 0.25rem + 0.8vw, 1rem) !important;
  box-sizing: border-box !important;
}

/* 사진 — 점 — 사진: 구분 점 주변 여백 */
main#target #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"] .jr-cases-preview-lawyer {
  padding-inline: clamp(0.5rem, 0.35rem + 0.6vw, 0.85rem) !important;
}

/* 2명일 때 사진 사이 구분 점 — flex 가운데 배치 기준 */
main#target #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"]::after {
  top: calc(clamp(6.8rem, 5.8rem + 2.8vw, 8.4rem) / 2) !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

main#target #jrConsultCases .jr-consult-case-card__lawyers[data-lawyer-cols="2"]::before {
  display: none !important;
}

/* 변호사 프로필 — 원형 프레임 + 얼굴 영역 확대(zoom) */
main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  gap: 0.6rem !important;
}

main#target #jrConsultCases .jr-consult-lawyer-photo {
  --jr-lawyer-photo: clamp(6.8rem, 5.8rem + 2.8vw, 8.4rem);
  --jr-lawyer-bg-size: auto 178%;
  --jr-lawyer-bg-x: 50%;
  --jr-lawyer-bg-y: 12%;
  position: relative;
  display: block;
  width: var(--jr-lawyer-photo);
  height: var(--jr-lawyer-photo);
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background-color: var(--jr-bg-muted);
  background-repeat: no-repeat;
  background-size: var(--jr-lawyer-bg-size);
  background-position: var(--jr-lawyer-bg-x) var(--jr-lawyer-bg-y);
  border: 2px solid var(--jr-bg-card);
  box-shadow: 0 2px 10px var(--jr-faq-border);
  transition: background-size 0.25s ease;
}

main#target #jrConsultCases .jr-consult-lawyer-photo.jr-lawyer-face--jang {
  --jr-lawyer-bg-x: 50%;
  --jr-lawyer-bg-y: 11%;
}

main#target #jrConsultCases .jr-consult-lawyer-photo.jr-lawyer-face--kim-sh {
  --jr-lawyer-bg-x: 50%;
  --jr-lawyer-bg-y: 12%;
}

main#target #jrConsultCases .jr-consult-lawyer-photo.jr-lawyer-face--kang {
  --jr-lawyer-bg-x: 50%;
  --jr-lawyer-bg-y: 12%;
}

main#target #jrConsultCases .jr-consult-lawyer-photo.jr-lawyer-face--kim-sn,
main#target #jrConsultCases .jr-consult-lawyer-photo.jr-lawyer-face--lee,
main#target #jrConsultCases .jr-consult-lawyer-photo.jr-lawyer-face--park {
  --jr-lawyer-bg-x: 50%;
  --jr-lawyer-bg-y: 12%;
}

main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer .jr-consult-lawyer-photo img,
main#target #jrConsultCases .jr-consult-lawyer-photo img {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  max-width: none !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  transform: none !important;
  object-fit: none !important;
}

main#target #jrConsultCases a.jr-cases-preview-lawyer:hover .jr-consult-lawyer-photo,
main#target #jrConsultCases a.jr-cases-preview-lawyer:focus-visible .jr-consult-lawyer-photo {
  --jr-lawyer-bg-size: auto 188%;
}

main#target #jrConsultCases .jr-consult-lawyer-name,
main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers .jr-cases-preview-lawyer > span:not(.jr-consult-lawyer-photo) {
  font-size: clamp(1.55rem, 1.42rem + 0.4vw, 1.88rem) !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

@media (max-width: 899px) {
  main#target #jrConsultCases .jr-consult-case-card .jr-consult-case-card__lawyers.jr-cases-preview-lawyers {
    --jr-lawyer-row-gap: clamp(2rem, 1.35rem + 4vw, 2.85rem);
    padding-inline: 0.35rem !important;
  }

  main#target #jrConsultCases .jr-consult-lawyer-photo {
    --jr-lawyer-photo: clamp(7rem, 18vw, 8.4rem);
  }

  main#target #jrConsultCases .jr-consult-lawyer-photo {
    --jr-lawyer-bg-size: auto 182%;
    --jr-lawyer-bg-y: 9%;
  }

  main#target #jrConsultCases a.jr-cases-preview-lawyer:hover .jr-consult-lawyer-photo,
  main#target #jrConsultCases a.jr-cases-preview-lawyer:focus-visible .jr-consult-lawyer-photo {
    --jr-lawyer-bg-size: auto 192%;
  }

  main#target #jrConsultCases .jr-consult-lawyer-name {
    font-size: clamp(1.55rem, 1.4rem + 0.55vw, 1.95rem) !important;
  }
}

/* =========================================================
   Source: /css/jr-thanks-reviews.css
   ========================================================= */
/* 고객 후기(#jrReview) — 카드 더미 스택 + 중앙 히어로 */

main#target #jrReview.jr-thanks-reviews-section.jr-review-spotlight {
  --jr-thanks-navy: var(--jr-text-heading);
  --jr-thanks-blue: var(--jr-review-accent);
  --rs-hero-w: 388px;
  --rs-hero-pad: 32px;
  --rs-hero-name-size: 22px;
  --rs-hero-type-size: 15px;
  --rs-hero-body-size: 17px;
  --rs-hero-body-lh: 1.74;
  --rs-hero-body-color: var(--jr-text-body-review);
  --rs-hero-star-size: 22px;
  --rs-stage-h: 640px;
  --rs-pill-bg: var(--jr-bg-glass);
  --rs-pill-border: var(--jr-border-soft);
  --rs-pill-shadow: var(--jr-shadow-review-pill);
  --rs-bg-card-shadow: 0 6px 20px rgba(15, 40, 71, 0.12);
  --rs-bg-card-surface: var(--rs-pill-bg);
  --rs-bg-card-border: var(--rs-pill-border);
  --rs-bg-card-border-hover: var(--jr-card-border-hover);
  --rs-hero-card-border: var(--jr-border-card);
  --rs-hero-card-ring: var(--jr-overlay-light-soft);
  background: var(--jr-bg-review-section) !important;
  overflow: visible;
}

main#target #jrReview.jr-thanks-reviews-section > .innerWrap {
  background: transparent !important;
  overflow: visible;
}

main#target #jrReview.jr-thanks-reviews-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.055;
  background-image: url("/images/CI_symbol_dark.svg"), url("/images/CI_symbol_dark.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: 2% 38%, 98% 36%;
  background-size: clamp(140px, 18vw, 240px) auto, clamp(100px, 14vw, 180px) auto;
}

/* ── 스택 무대 ── */
main#target #jrReview .jr-review-stack {
  position: relative;
  width: 100%;
  max-width: 1200px;
  min-height: var(--rs-stage-h);
  margin: 0 auto;
  overflow: hidden;
}

main#target #jrReview .jr-review-stack__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

/* ── 배경 카드 더미 ── */
main#target #jrReview .jr-review-stack__card {
  position: absolute;
  left: 0;
  top: 0;
  width: 168px;
  margin: 0;
  transform-origin: center center;
  will-change: transform, opacity;
  pointer-events: auto;
  cursor: pointer;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  transition: none;
}

main#target #jrReview .jr-review-stack__card--ghost {
  pointer-events: auto;
  cursor: pointer;
}

main#target #jrReview .jr-review-stack__card--hero-active,
main#target #jrReview .jr-review-stack__card.is-active-hero {
  width: var(--rs-hero-w);
  max-width: calc(100vw - 120px);
  pointer-events: auto;
  cursor: default;
  animation: none !important;
  z-index: 50 !important;
  opacity: 1 !important;
}

main#target #jrReview .jr-review-stack__card.is-swapping-in,
main#target #jrReview .jr-review-stack__card.is-swapping-out {
  animation: none !important;
  z-index: 49 !important;
  transition:
    transform 0.55s cubic-bezier(0.22, 0.9, 0.32, 1),
    width 0.55s ease,
    opacity 0.4s ease !important;
}

main#target #jrReview .jr-review-stack__card.is-flying-in {
  animation: none !important;
  z-index: 55 !important;
  transition: none !important;
  filter: drop-shadow(0 10px 28px rgba(15, 40, 71, 0.22));
  isolation: isolate;
}

main#target #jrReview .jr-review-stack__card:not(.is-active-hero):hover .jr-review-stack__card-face {
  box-shadow: 0 8px 24px rgba(15, 40, 71, 0.14);
}

main#target #jrReview .jr-review-stack__card.is-spawn-landed {
  z-index: 38 !important;
}

/* 클릭·교체 애니메이션: bg 레이어에서 이동(클릭 위치 → 히어로 슬롯) */
main#target #jrReview .jr-review-stack__bg > .jr-review-stack__card.is-swapping-in,
main#target #jrReview .jr-review-stack__bg > .jr-review-stack__card.is-swapping-out {
  z-index: 60 !important;
  pointer-events: none;
}

main#target #jrReview .jr-review-stack__card-inner--hero {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: var(--rs-hero-pad);
  border-radius: 20px;
  background: var(--rs-pill-bg);
  border: 2px solid var(--rs-hero-card-border);
  box-shadow:
    var(--rs-pill-shadow),
    0 0 0 1px var(--rs-hero-card-ring);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  position: relative;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__quote {
  position: absolute;
  top: 14px;
  right: 20px;
  font-size: 42px;
  line-height: 1;
  color: rgba(59, 111, 212, 0.1);
  font-family: Georgia, serif;
  pointer-events: none;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-head {
  gap: 14px;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-avatar {
  width: 64px;
  height: 64px;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-name {
  font-size: var(--rs-hero-name-size);
  font-weight: 800;
  color: var(--jr-thanks-navy);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-type {
  display: block;
  font-size: var(--rs-hero-type-size);
  font-weight: 600;
  line-height: 1.4;
  color: var(--jr-review-muted);
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-text {
  margin-top: 20px;
  font-size: var(--rs-hero-body-size);
  font-weight: 500;
  line-height: var(--rs-hero-body-lh);
  letter-spacing: -0.01em;
  color: var(--rs-hero-body-color);
  word-break: keep-all;
  overflow-wrap: break-word;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__stars {
  margin-top: 20px;
  gap: 5px;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__star {
  width: var(--rs-hero-star-size);
  height: var(--rs-hero-star-size);
}

@media (prefers-reduced-motion: reduce) {
  main#target #jrReview .jr-review-stack__card:not(.is-active-hero) {
    transition: opacity 0.3s ease;
  }
}

/* 배경 카드용 — 히어로(.jr-review-stack__card-inner--hero)와 동일 특이도이므로 :not() 필수(뒤에 두면 pill 스타일이 전부 transparent/0으로 덮임) */
main#target #jrReview .jr-review-stack__card-inner:not(.jr-review-stack__card-inner--hero) {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

main#target #jrReview .jr-review-stack__card-face {
  background: var(--rs-pill-bg);
  border-radius: 14px;
  padding: 11px 13px 13px;
  border: none;
  box-shadow: var(--rs-bg-card-shadow);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: box-shadow 0.2s ease;
}

main#target #jrReview .jr-review-stack__card-body {
  transition: opacity 0.35s ease;
}

main#target #jrReview .jr-review-stack__card--ghost .jr-review-stack__card-face {
  box-shadow: 0 4px 12px var(--jr-shadow-xs);
  background: rgba(255, 255, 255, 0.88);
}

main#target #jrReview .jr-review-stack__card-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

main#target #jrReview .jr-review-stack__card-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

main#target #jrReview .jr-review-stack__card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main#target #jrReview .jr-review-stack__card-name {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--jr-thanks-navy);
}

main#target #jrReview .jr-review-stack__card-type {
  font-size: 10px;
  color: #6b7f99;
}

main#target #jrReview .jr-review-stack__card-text {
  margin: 6px 0 5px;
  font-size: 10px;
  line-height: 1.42;
  color: #4a5f7a;
}

main#target #jrReview .jr-review-stack__stars {
  display: flex;
  gap: 2px;
}

main#target #jrReview .jr-review-stack__star {
  width: 11px;
  height: 11px;
}

main#target #jrReview .jr-review-stack__star.is-on {
  color: var(--jr-review-star-on);
}

main#target #jrReview .jr-review-stack__star.is-off {
  color: var(--jr-review-star-off);
}

/* ── 헤더 ── */
main#target #jrReview .jr-review-spotlight__header {
  position: relative;
  z-index: 10;
  text-align: center;
  padding-top: 8px;
  pointer-events: none;
}

/* REVIEWS 키커: .jr-naver-badge — temple-theme.css 섹션 뱃지 통일 규칙 적용 */

main#target #jrReview .jr-review-spotlight__title {
  margin-top: 14px;
  font-size: 32px;
  font-weight: 800;
  color: var(--jr-thanks-navy);
  letter-spacing: -0.03em;
}

main#target #jrReview .jr-review-spotlight__desc {
  color: var(--jr-section-subtitle);
  font-size: 13px;
  margin-top: 10px;
}

/* ── 히어로 슬롯 + 고정 힌트 ── */
main#target #jrReview .jr-review-spotlight__main {
  position: relative;
  z-index: 30;
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: calc(var(--rs-hero-w) + 4.5rem);
  margin-top: 0;
  padding-bottom: 5.9rem;
  pointer-events: none;
}

main#target #jrReview .jr-review-spotlight__hero-slot {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  min-height: calc(var(--rs-hero-w) + 1.5rem);
  padding-top: 2.8rem;
  box-sizing: border-box;
  pointer-events: none;
}

main#target #jrReview .jr-review-spotlight__hint {
  position: absolute;
  z-index: 35;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  margin: 0;
  padding: 10px 20px 10px 18px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--jr-text-heading);
  text-align: center;
  letter-spacing: -0.02em;
  pointer-events: none;
  white-space: nowrap;
  border-radius: 999px;
  background: var(--rs-pill-bg);
  border: 1px solid var(--rs-pill-border);
  box-shadow: var(--rs-pill-shadow);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

main#target #jrReview .jr-review-spotlight__hint::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -3px 8px 0 0;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b6fd4' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M3 6h18M3 12h12M3 18h8'/%3E%3Ccircle cx='17' cy='12' r='2.5' fill='%233b6fd4' stroke='none'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

main#target #jrReview .jr-review-spotlight__hero-slot > .jr-review-stack__card--hero-active,
main#target #jrReview .jr-review-spotlight__hero-slot > .is-active-hero {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin: 0 auto !important;
  flex-shrink: 0;
  pointer-events: auto;
  isolation: isolate;
}

main#target #jrReview .jr-review-spotlight__quote {
  position: absolute;
  top: 18px;
  right: 22px;
  font-size: 48px;
  line-height: 1;
  color: rgba(59, 111, 212, 0.12);
  font-family: Georgia, serif;
}

main#target #jrReview .jr-review-spotlight__hero-head {
  display: flex;
  align-items: center;
  gap: 16px;
}

main#target #jrReview .jr-review-spotlight__hero-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

main#target #jrReview .jr-review-spotlight__hero-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main#target #jrReview .jr-review-spotlight__hero-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

main#target #jrReview .jr-review-spotlight__hero-name {
  display: block;
  font-size: var(--rs-hero-name-size);
  font-weight: 800;
  color: var(--jr-thanks-navy);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

main#target #jrReview .jr-review-spotlight__hero-type {
  display: block;
  font-size: var(--rs-hero-type-size);
  font-weight: 600;
  line-height: 1.4;
  color: var(--jr-review-muted);
}

main#target #jrReview .jr-review-spotlight__hero-text {
  margin-top: 20px;
  font-size: var(--rs-hero-body-size);
  font-weight: 500;
  line-height: var(--rs-hero-body-lh);
  letter-spacing: -0.01em;
  color: var(--rs-hero-body-color);
  word-break: keep-all;
  overflow-wrap: break-word;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__stars,
main#target #jrReview .jr-review-spotlight__main .jr-review-spotlight__stars {
  margin-top: 20px;
  gap: 5px;
}

main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__star,
main#target #jrReview .jr-review-spotlight__main .jr-review-spotlight__star {
  width: var(--rs-hero-star-size);
  height: var(--rs-hero-star-size);
}

main#target #jrReview .jr-review-spotlight__stars {
  display: flex;
  gap: 4px;
  margin-top: 16px;
}

main#target #jrReview .jr-review-spotlight__star {
  width: 18px;
  height: 18px;
}

main#target #jrReview .jr-review-spotlight__star.is-on {
  color: var(--jr-review-star-on);
}

main#target #jrReview .jr-review-spotlight__star.is-off {
  color: var(--jr-review-star-off);
}

main#target #jrReview .jr-review-spotlight__nav {
  display: none !important;
}

main#target #jrReview .jr-review-spotlight__dots {
  display: none !important;
}

/* 레거시 스트림/스포트라이트 숨김 */
main#target #jrReview .jr-spotlight,
main#target #jrReview .jr-review-stream-card {
  display: none !important;
}

@media (max-width: 1023px) {
  main#target #jrReview.jr-thanks-reviews-section.jr-review-spotlight {
    --rs-stage-h: 520px;
    --rs-hero-w: 340px;
    --rs-hero-pad: 28px;
    --rs-hero-name-size: 21px;
    --rs-hero-type-size: 14px;
    --rs-hero-body-size: 16px;
    --rs-hero-star-size: 20px;
  }

  main#target #jrReview .jr-review-stack__card {
    width: 150px;
  }
}

@media (max-width: 899px) {
  /* 히어로 카드 교체 시 배경(bg) 높이 흔들림 방지 — 스택 높이 고정 */
  main#target #jrReview .jr-review-stack {
    height: var(--rs-stage-h);
    min-height: var(--rs-stage-h);
  }
}

@media (max-width: 767px) {
  main#target #jrReview.jr-thanks-reviews-section.jr-review-spotlight {
    --rs-stage-h: 580px;
    --rs-main-fixed-h: 440px;
    --rs-hero-slot-h: 350px;
    --rs-hero-w: min(300px, calc(100vw - 72px));
    --rs-hero-pad: 24px;
    --rs-hero-name-size: 20px;
    --rs-hero-type-size: 14px;
    --rs-hero-body-size: 15.5px;
    --rs-hero-body-lh: 1.72;
    --rs-hero-star-size: 19px;
  }

  main#target #jrReview .jr-review-stack__card {
    width: 132px;
  }

  main#target #jrReview .jr-review-spotlight__main {
    margin-top: 0;
    height: var(--rs-main-fixed-h);
    min-height: var(--rs-main-fixed-h);
    max-height: var(--rs-main-fixed-h);
    padding-bottom: 5.65rem;
    box-sizing: border-box;
  }

  main#target #jrReview .jr-review-spotlight__hero-slot {
    height: var(--rs-hero-slot-h);
    min-height: var(--rs-hero-slot-h);
    max-height: var(--rs-hero-slot-h);
    box-sizing: border-box;
  }

  main#target #jrReview .jr-review-stack__card-inner--hero .jr-review-spotlight__hero-text {
    min-height: 5.25em;
  }

  main#target #jrReview .jr-review-spotlight__hint {
    bottom: 0;
    max-width: none;
    padding: 8px 16px 8px 14px;
    font-size: 11.2px;
    white-space: nowrap;
  }

  main#target #jrReview .jr-review-spotlight__hint::before {
    width: 16px;
    height: 16px;
    margin: -2px 6px 0 0;
  }
}
