/**
 * /docker/temple 전용: 딥블루 메인 컬러, 히어로 배경 이미지 제거
 * common.css의 :root 토큰을 블루 팔레트로 재정의하고 구역별 대비 보정
 */
:root {
  --jrwhite: #f8fafc;
  --jrsoftwhite: #e8eef7;
  --jrblack: #030712;
  /* 기존 brown* 토큰명 유지 → 블루 계열로 매핑 (링크·배지·본문에 연쇄 적용) */
  --brown50: #eef4fc;
  --brown100: #d4e4fb;
  --brown200: #a8c9f5;
  --brown300: #7eb3f0;
  --brown400: #4d94e8;
  --brown500: #2563eb;
  --brown600: #1d4ed8;
  --brown700: #1e40af;
  --brown800: #1e3a8a;
  --brown900: #172554;
  /* 히어로·푸터 공통 배경 (동일 톤 유지) */
  --temple-hero-bg: linear-gradient(
    155deg,
    rgba(3, 11, 20, 0.88) 0%,
    rgba(10, 31, 56, 0.74) 38%,
    rgba(19, 47, 85, 0.66) 72%,
    rgba(12, 33, 56, 0.84) 100%
  );
  --temple-hero-photo-url: url("/images/hero-school-classroom.png");
  /* 섹션·카드용 딥블루 팔레트 (브라운 톤 대체) */
  --temple-deep: #0a1628;
  --temple-deep-2: #0f2847;
  --temple-surface: #e8f0fc;
  --temple-surface-2: #dce8f8;
  --temple-card: #ffffff;
  --temple-card-muted: #f0f6ff;
  --temple-border: rgba(30, 64, 175, 0.22);
  --temple-border-strong: rgba(56, 189, 248, 0.35);
  --temple-accent: #38bdf8;
  --temple-accent-2: #2563eb;
  --temple-text: #0f172a;
  --temple-text-muted: #334e68;
  --temple-chip-bg: #dbeafe;
  --temple-chip-text: #1e3a8a;
  /* index.min 등 로컬 변수 덮어쓰기 */
  --jr-surface-risk-bg: linear-gradient(180deg, #e8f0fc 0%, #dce8f8 50%, #d0e0f4 100%);
  --jr-surface-review-bg: linear-gradient(180deg, #e4edf9 0%, #d8e4f4 100%);
  /* 본문 섹션 교차: 밝은 면(CI 워터마크) / 진한 면(로고 없음) */
  --temple-strip-bg-light: linear-gradient(180deg, #f2f7fd 0%, #e8f1fb 42%, #ddeaf8 100%);
  --temple-strip-bg-deep: linear-gradient(180deg, #b8cce8 0%, #a3bfe0 48%, #8eb3d8 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 {
    /* 모바일 히어로는 오버레이를 옅게 해서 배경 사진 노출 강화 */
    --temple-hero-bg: linear-gradient(
      155deg,
      rgba(3, 11, 20, 0.72) 0%,
      rgba(10, 31, 56, 0.56) 38%,
      rgba(19, 47, 85, 0.48) 72%,
      rgba(12, 33, 56, 0.66) 100%
    );
  }
}

::selection {
  background: #2563eb;
  color: #fff;
}
::-moz-selection {
  background: #2563eb;
  color: #fff;
}

/* 헤더: 딥블루 (기존 순흑 대체) */
.header {
  background: linear-gradient(180deg, #0a1628 0%, #071422 100%) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.12);
}
.header .gnb_menu .gnb_list > li > a::after,
.header .gnb_menu .gnb_list > li > a.current::after {
  background: #38bdf8 !important;
}
.header .logo:focus-visible,
.header .gnb_menu ul a:focus-visible {
  outline-color: rgba(56, 189, 248, 0.85) !important;
}

/* 히어로: 배경 사진 제거 → 딥블루 그라데이션 (--temple-hero-bg) */
.visual,
#jrMember.visual,
#jrMobileBackupHero.visual,
#jrMobileBackupHero {
  background-image: var(--temple-hero-bg), var(--temple-hero-photo-url) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center center, center center !important;
  background-size: cover, cover !important;
  background-attachment: scroll, scroll !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 .subtxt {
  color: #f1f5ff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.visual .title .subtxt,
#jrMember.visual .title .subtxt,
#jrMobileBackupHero .title .subtxt {
  color: #c7d7f5 !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: #93c5fd !important;
    font-weight: 500;
  }
  .footer .center_lst a:hover {
    color: #bfdbfe !important;
  }
  .footer .center_lst .footer-legal-btn {
    color: #93c5fd !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: #bfdbfe !important;
  }
  /* 구형 푸터(ft_jrinfo) 개인정보·면책 버튼 */
  .footer .ft_jrinfo button.new-popup-btn {
    color: #93c5fd !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: #bfdbfe !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: #93c5fd !important;
  }
  .footer .center_lst a:hover,
  .footer .center_lst .footer-legal-btn:hover,
  .footer .ft_jrinfo button.new-popup-btn:hover {
    color: #dbeafe !important;
  }
}
.footer .footer-region-list a {
  color: var(--brown200) !important;
}

/* 히어로 우측 배지: 크림·금색 → 사이트 딥블루 톤 (PC 우측 대형 + 모바일 롤링 사진 위) */
.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 rgba(56, 189, 248, 0.38) !important;
  background: 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 rgba(255, 255, 255, 0.55),
    0 2px 10px rgba(15, 40, 71, 0.14) !important;
  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: linear-gradient(155deg, #f0f9ff 0%, #dbeafe 48%, #bfdbfe 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.4) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 2px 8px rgba(15, 40, 71, 0.12) !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: linear-gradient(
    155deg,
    #7dd3fc 0%,
    #38bdf8 28%,
    #2563eb 55%,
    #1e3a8a 85%,
    #0f2847 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: #7dd3fc !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: #f1f5ff !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,
#jrPress.jr-press-section,
#jrInstagram.jr-instagram-section,
#faq.jr-faq-section {
  position: relative;
  overflow: hidden;
}

/* CI 워터마크: 밝은 스트립 전용(WHY JR은 아래 별도 규칙) */
#jrRiskUrgency.jr-risk-section::before,
#jrNaverReviews.jr-naver-reviews-section::before,
#jrPress.jr-press-section::before,
#jrInstagram.jr-instagram-section::before,
#faq.jr-faq-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,
  #jrPress.jr-press-section::before,
  #jrInstagram.jr-instagram-section::before,
  #faq.jr-faq-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,
#jrPress.jr-press-section > .innerWrap,
#jrPress.jr-press-section > .ll-inner.innerWrap,
#jrInstagram.jr-instagram-section > .innerWrap,
#faq.jr-faq-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: rgba(15, 23, 42, 0.22);
  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: rgba(15, 23, 42, 0.22);
  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: rgba(37, 99, 235, 0.45);
  outline: none;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.25);
}
#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);
}

#jrPress.jr-press-section {
  background: var(--temple-strip-bg-light) !important;
}
#jrInstagram.jr-instagram-section {
  background: var(--temple-strip-bg-light) !important;
}
#faq.jr-faq-section {
  background: var(--temple-strip-bg-light) !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,
.jr-broadcast-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,
.jr-broadcast-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;
}
#jrBroadcast.jr-broadcast-section,
.jr-broadcast-section {
  background: var(--temple-strip-bg-deep) !important;
}
#jrBlog.jr-blog-section,
.jr-blog-section {
  background: var(--temple-strip-bg-deep) !important;
}
#jrBroadcast.jr-broadcast-section > .innerWrap,
#jrBlog.jr-blog-section > .innerWrap,
.jr-broadcast-section > .innerWrap,
.jr-blog-section > .innerWrap {
  background: var(--temple-strip-bg-deep) !important;
  position: relative;
  z-index: 1;
}
#jrReview.jr-naver-reviews-section,
#jrReview.jr-naver-reviews-section > .innerWrap {
  background: var(--temple-strip-bg-deep) !important;
}
#jrLocation.section3 {
  background: var(--temple-strip-bg-deep) !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: linear-gradient(135deg, #0f2847 0%, #0a1f38 50%, #071422 100%) !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: #f1f5ff !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 rgba(0, 0, 0, 0.45));
}
.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 rgba(255, 255, 255, 0.35))
    drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35))
    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%,
    #000 0%,
    #000 45%,
    transparent 78%
  );
  mask-image: radial-gradient(
    ellipse 75% 85% at 55% 45%,
    #000 0%,
    #000 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%,
    #000 55%,
    transparent 80%
  );
  mask-image: radial-gradient(
    ellipse 90% 90% at 40% 50%,
    transparent 35%,
    #000 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: #2563eb #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, #38bdf8 0%, #1d4ed8 55%, #1e3a8a 100%);
  border-radius: 999px;
  border: 2px solid #0b1729;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #7dd3fc 0%, #2563eb 100%);
}

/* 모달·내부 스크롤 영역 */
.jr-press-modal-body,
.jr-lawyer-modal-body,
.modal-overlay .modal-content,
[class*="modal"] [style*="overflow"] {
  scrollbar-color: #3b82f6 #e8f0fc;
  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: #e2e8f0;
  border-radius: 6px;
}
.jr-press-modal-body::-webkit-scrollbar-thumb,
.jr-lawyer-modal-body::-webkit-scrollbar-thumb {
  background: #2563eb;
  border-radius: 6px;
}

/* 메인 래퍼: 쿨 블루 그레이 베이스 */
main#target > .contents {
  background: linear-gradient(180deg, #dbeafe 0%, #e8f0fc 35%, #eef4fc 100%);
}
main#target,
main#target .contents {
  --jr-surface-risk-bg: linear-gradient(180deg, #e8f0fc 0%, #dce8f8 50%, #d0e0f4 100%);
  --jr-surface-review-bg: linear-gradient(180deg, #e4edf9 0%, #d8e4f4 100%);
  --temple-strip-bg-light: linear-gradient(180deg, #f2f7fd 0%, #e8f1fb 42%, #ddeaf8 100%);
  --temple-strip-bg-deep: linear-gradient(180deg, #b8cce8 0%, #a3bfe0 48%, #8eb3d8 100%);
}

/* 서브페이지: members.html 등 body#target + .contents (main 없음) — 본문 배경 동일 */
body#target.subpage > .contents,
body.subpage > .contents {
  background: linear-gradient(180deg, #dbeafe 0%, #e8f0fc 35%, #eef4fc 100%);
  --jr-surface-risk-bg: linear-gradient(180deg, #e8f0fc 0%, #dce8f8 50%, #d0e0f4 100%);
  --jr-surface-review-bg: linear-gradient(180deg, #e4edf9 0%, #d8e4f4 100%);
  --temple-strip-bg-light: linear-gradient(180deg, #f2f7fd 0%, #e8f1fb 42%, #ddeaf8 100%);
  --temple-strip-bg-deep: linear-gradient(180deg, #b8cce8 0%, #a3bfe0 48%, #8eb3d8 100%);
}

/* ========== RISK 섹션 카드·타이포 ========== */
#jrRiskUrgency .jr-risk-head h2,
#jrRiskUrgency .jr-risk-head p {
  color: var(--temple-text) !important;
}
#jrRiskUrgency .jr-risk-badge {
  background: var(--temple-deep-2) !important;
  color: #e0f2fe !important;
  border: 1px solid var(--temple-border-strong) !important;
}
.jr-risk-card {
  background: var(--temple-card) !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 20px rgba(15, 40, 71, 0.08) !important;
}
.jr-risk-card:hover {
  border-color: rgba(56, 189, 248, 0.45) !important;
  box-shadow: 0 10px 28px rgba(30, 64, 175, 0.12) !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, #1e40af 0%, #38bdf8 100%) !important;
  opacity: 0.9 !important;
}
.jr-why-core-cards article:hover {
  border-color: rgba(56, 189, 248, 0.4) !important;
  box-shadow: 0 12px 28px rgba(30, 64, 175, 0.12) !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: #1e40af !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 {
  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: rgba(56, 189, 248, 0.45) !important;
  box-shadow: 0 14px 32px rgba(30, 64, 175, 0.14) !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: #2563eb !important;
}
.jr-play-btn svg {
  fill: #38bdf8 !important;
}

.jr-press-card,
.jr-blog-card {
  border-color: var(--temple-border) !important;
  box-shadow: 0 4px 16px rgba(15, 40, 71, 0.06) !important;
}
.jr-press-card:hover {
  border-color: rgba(56, 189, 248, 0.4) !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: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: clamp(10px, 1.2vw, 14px) !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.05),
    0 6px 18px rgba(15, 23, 42, 0.06) !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 rgba(15, 23, 42, 0.06),
    0 12px 28px rgba(15, 23, 42, 0.1) !important;
  background: #fff !important;
}

main#target #jrPress .jr-press-card:hover .jr-press-card-left {
  background: #f1f5f9 !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 rgba(37, 99, 235, 0.45) !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: #f8fafc !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 #e8ecf1 !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: #fff !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 rgba(15, 23, 42, 0.12) !important;
}
main#target #jrPress .jr-press-card[data-category="online"] .jr-press-cat {
  background: #1d4ed8 !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: #334155 !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: #fff !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: #475569 !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 #e8ecf1 !important;
  border-left: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #fff !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 #e8ecf1 !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: #64748b !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 rgba(37, 99, 235, 0.25) !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 #e8ecf1 !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, #1d4ed8 0%, #0f2847 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.38) !important;
  color: #f8fafc !important;
}
.jr-section-more-btn:hover {
  background: linear-gradient(180deg, #2563eb 0%, #172554 100%) !important;
  border-color: #7dd3fc !important;
  color: #fff !important;
}
.jr-why-credibility-link {
  background: linear-gradient(180deg, #1e40af 0%, #172554 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  color: #f8fafc !important;
}
.jr-why-credibility-link:hover {
  background: linear-gradient(180deg, #2563eb 0%, #1e3a8a 100%) !important;
  border-color: #7dd3fc !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, #f8fafc 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, #2563eb 0%, #1e40af 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: #fff !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: #fff !important;
  border: 1px solid var(--temple-border) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-keyword-icon {
  color: #64748b !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: #2563eb !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, #eef4fc 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: #fff !important;
  border: 1px solid var(--temple-border) !important;
  box-shadow: 0 4px 14px rgba(15, 40, 71, 0.08) !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 rgba(30, 64, 175, 0.14) !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, #2563eb 0%, #1e3a8a 100%) !important;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-categories {
  scrollbar-color: #2563eb #e2e8f0;
}

section.sect.lawyer-search-wrap.lawyer-match .lawyer-match-categories::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #38bdf8 0%, #2563eb 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: #2563eb !important;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%) !important;
}
.jr-lawyer-search-result--card {
  border-color: var(--temple-border) !important;
  background: var(--temple-card) !important;
}

/* ========== 하드코딩 브라운·골드 (#2d2419, #c5a67d 등) ========== */
.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: #1d4ed8 !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: #2563eb !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: #fff;
}

.jr-press-url-iframe-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

.footer .footer-region-links,
.footer .footer-region-links a {
  color: #93c5fd !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: #f1f5ff;
    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: #f1f5ff !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: #dbe7fb;
    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: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    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: #f8fbff;
    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 #d8e6ff;
    border-bottom: 2px solid #d8e6ff;
    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 rgba(255, 255, 255, 0.18);
    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: #ffffff !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: #ffffff !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: #f8fafc !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: #ffffff !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: #dbe7fb !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: #dbe7fb !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: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    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: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    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: #f8fbff !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: #f8fbff !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 #d8e6ff;
    border-bottom: 2px solid #d8e6ff;
    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 #d8e6ff;
    border-bottom: 2px solid #d8e6ff;
    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 rgba(255, 255, 255, 0.18);
    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);
    max-height: min(55vh, 22rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: left !important;
    font-size: 1.38rem !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: -0.01em !important;
    z-index: 5;
  }
  .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 {
    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 rgba(15, 40, 71, 0.08) !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 rgba(30, 64, 175, 0.14) !important;
  border-color: rgba(56, 189, 248, 0.45) !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, #1e40af 0%, #172554 100%) !important;
  color: #f8fafc !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !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: #e0f2fe !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, #1e40af 0%, #172554 100%) !important;
  border-color: rgba(56, 189, 248, 0.45) !important;
  color: #f8fafc !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: thin;
    scroll-padding-inline: 0.75rem;
  }

  #jrConsultCases .jr-consult-cases-dots::-webkit-scrollbar {
    height: 5px;
  }
  #jrConsultCases .jr-consult-cases-dots::-webkit-scrollbar-thumb {
    background: rgba(15, 23, 42, 0.22);
    border-radius: 999px;
  }

  #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: #1e40af;
  }

  #jrConsultCases .jr-consult-cases-dot:focus-visible {
    outline: 3px solid rgba(56, 189, 248, 0.85);
    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 5열일 때 트랙 간격·카드 상단 여백(칩·제목 겹침 방지) */
@media (min-width: 1200px) {
  main#target #jrConsultCases .jr-cases-preview-viewport .jr-cases-preview-track {
    gap: 0.55rem !important;
    column-gap: 0.55rem !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, #64748b) !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: #f1f5ff !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 rgba(45, 36, 24, 0.1) !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: #fff !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: #e0f2fe !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: #1e40af !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 rgba(15, 40, 71, 0.06) !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, #1e40af 0%, #172554 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !important;
  color: #f8fafc !important;
  box-shadow: 0 4px 14px rgba(15, 40, 71, 0.22) !important;
}
.jr-faq-cta:hover {
  background: linear-gradient(180deg, #2563eb 0%, #1e3a8a 100%) !important;
  border-color: #7dd3fc !important;
  box-shadow: 0 8px 22px rgba(15, 40, 71, 0.28) !important;
  color: #f8fafc !important;
}
.jr-faq-cta:focus-visible {
  outline: 2px solid #38bdf8 !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 .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(--temple-deep-2) !important;
  color: #e0f2fe !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  box-shadow: 0 8px 18px rgba(15, 40, 71, 0.18) !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: #7dd3fc;
  --jr-hero-h2: #f8fbff;
  --jr-hero-body: #cbd5e1;
  --jr-hero-muted: #94a3b8;
  --jr-hero-cta-bg: linear-gradient(180deg, #1e40af 0%, #172554 100%);
  --jr-hero-cta-border: rgba(56, 189, 248, 0.38);
}

/* 롤링 카드: ①분류(역할/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 rgba(0, 0, 0, 0.45) !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 rgba(0, 0, 0, 0.45) !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;
}

/* 프로필 더보기: 브라운형 → 딥블루 CTA 톤 */
#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-cta-bg) !important;
  border: 1px solid var(--jr-hero-cta-border) !important;
  color: #f8fafc !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: #7dd3fc !important;
  color: #fff !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 {
  background: linear-gradient(180deg, rgba(30, 64, 175, 0.95) 0%, rgba(15, 40, 71, 0.98) 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !important;
  color: #e0f2fe !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !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) {
  border-color: #7dd3fc !important;
  color: #fff !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;
}

/* 롤링 카드(테두리/배경): 홈페이지 딥블루 팔레트 통일 */
#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, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide {
  border: 1px solid rgba(125, 211, 252, 0.26) !important;
  border-radius: 14px !important;
  background: 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:hover,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide:focus-within, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:focus-within , .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:hover,
#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide:focus-within, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide:focus-within {
  border-color: rgba(125, 211, 252, 0.52) !important;
  background: linear-gradient(
    180deg,
    rgba(30, 64, 175, 0.34) 0%,
    rgba(15, 40, 71, 0.4) 100%
  ) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .swiper-slide.swiper-slide-active, .jr-response-team-hero.visual #jr-hero-design-response-team .jr-baseline-static-wrapper .swiper-slide.swiper-slide-active {
  border-color: rgba(125, 211, 252, 0.68) !important;
  background: 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 rgba(0, 0, 0, 0.45) !important;
}

#jrMember.visual #jr-hero-design-1 .jr-baseline-static-wrapper .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-h1) !important;
  margin-top: 0 !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: #dc2626 !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, #714923);
  font-size: 1.15rem;
  padding: 1rem 3rem;
  font-weight: 600;
  color: #fff;
  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, #f8fbff 0%, #edf4ff 100%);
  color: #1e3a8a;
  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: rgba(37, 99, 235, 0.45);
}

#jrRiskSelfCheckModal .jr-risk-role-btn.is-active {
  border-color: rgba(37, 99, 235, 0.62);
  background: linear-gradient(180deg, #2563eb 0%, #1e40af 100%);
  color: #f8fafc;
  box-shadow: 0 8px 18px rgba(30, 64, 175, 0.22);
}

#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: #172554 !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: #4f6482 !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: #1d4ed8;
}

@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: #fffbfb;
  --jr-risk-result-bg2: #fff1f3;
  --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: #fff1f2;
  --jr-risk-result-bg2: #ffe4e6;
  --jr-risk-result-shadow: 0 5px 18px rgba(239, 68, 68, 0.26);
  --jr-risk-banner-side: #b91c1c;
  --jr-risk-banner-mid: #dc2626;
  --jr-risk-title: #991b1b;
  --jr-risk-stage: #dc2626;
  --jr-risk-text: #450a0a;
  --jr-risk-guide-color: #991b1b;
  --jr-risk-guide-bg: rgba(254, 242, 242, 0.96);
  --jr-risk-guide-border: #ef4444;
  --jr-risk-submit-1: #ef4444;
  --jr-risk-submit-2: #b91c1c;
  --jr-risk-submit-border: #fca5a5;
}

#jrRiskSelfCheckModal[data-risk-result-tier="3"] {
  --jr-risk-border-w: 3px;
  --jr-risk-result-border: #991b1b;
  --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: #7f1d1d;
  --jr-risk-banner-mid: #991b1b;
  --jr-risk-title: #7f1d1d;
  --jr-risk-stage: #991b1b;
  --jr-risk-text: #450a0a;
  --jr-risk-guide-color: #7f1d1d;
  --jr-risk-guide-bg: rgba(254, 226, 226, 0.98);
  --jr-risk-guide-border: #991b1b;
  --jr-risk-submit-1: #dc2626;
  --jr-risk-submit-2: #7f1d1d;
  --jr-risk-submit-border: #f87171;
}

#jrRiskSelfCheckModal[data-risk-result-tier="4"] {
  --jr-risk-border-w: 3px;
  --jr-risk-result-border: #450a0a;
  --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 rgba(255, 255, 255, 0.35);
  --jr-risk-banner-side: #450a0a;
  --jr-risk-banner-mid: #7f1d1d;
  --jr-risk-title: #450a0a;
  --jr-risk-stage: #450a0a;
  --jr-risk-text: #2a0505;
  --jr-risk-guide-color: #450a0a;
  --jr-risk-guide-bg: rgba(254, 202, 202, 0.97);
  --jr-risk-guide-border: #7f1d1d;
  --jr-risk-submit-1: #991b1b;
  --jr-risk-submit-2: #450a0a;
  --jr-risk-submit-border: #991b1b;
}

#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, #dc2626);
  background: linear-gradient(
    180deg,
    var(--jr-risk-result-bg1, #fff1f2) 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: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  background: linear-gradient(
    90deg,
    var(--jr-risk-banner-side, #b91c1c) 0%,
    var(--jr-risk-banner-mid, #dc2626) 50%,
    var(--jr-risk-banner-side, #b91c1c) 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, #991b1b);
}

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

#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, #b91c1c);
}

#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, #991b1b);
  background: var(--jr-risk-guide-bg, rgba(254, 242, 242, 0.95));
  border: 2px dashed var(--jr-risk-guide-border, #dc2626);
  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, #1e40af 0%, #172554 100%);
  color: #f8fafc;
  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, #dc2626) 0%,
    var(--jr-risk-submit-2, #991b1b) 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: #1e3a5f;
  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: #1e3a5f;
  color: #fff;
  border-color: #1e3a5f;
}
#jrInstagram .jr-instagram-nav:focus-visible {
  outline: 2px solid #2563eb;
  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: thin;
    scroll-padding-inline: 0.75rem;
    min-height: 0;
  }

  #jrInstagram .jr-instagram-dots::-webkit-scrollbar {
    height: 5px;
  }
  #jrInstagram .jr-instagram-dots::-webkit-scrollbar-thumb {
    background: rgba(15, 23, 42, 0.22);
    border-radius: 999px;
  }

  #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: #1e40af;
    box-shadow: none;
    transform: none;
  }

  #jrInstagram .jr-instagram-dot:focus-visible {
    outline: 3px solid rgba(56, 189, 248, 0.85);
    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: #fff;
  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 rgba(15, 23, 42, 0.12);
  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, #2563eb 0%, #1e40af 38%, #0f172a 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: #fff;
  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: #e0f2fe;
  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, #1f1711) !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, #1d4ed8 0%, #0f2847 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.42) !important;
  color: #f8fafc !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, #2563eb 0%, #172554 100%) !important;
  border-color: #7dd3fc !important;
  color: #fff !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, #2563eb, rgba(37, 99, 235, 0.2)) !important;
}
body#target.subpage .jr-members-section .jr-divorce-info-title {
  color: #172554 !important;
}
body#target.subpage .jr-members-section .jr-divorce-info-desc {
  color: #4f6482 !important;
  white-space: normal !important;
  overflow: visible !important;
}

body#target.subpage .jr-members-section .member-intro-wrap {
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.08) 0%, rgba(37, 99, 235, 0.02) 100%) !important;
  border-left-color: var(--temple-accent-2) !important;
  box-shadow: 0 2px 12px rgba(15, 40, 71, 0.06) !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: #ffffff !important;
  border: 2px solid rgba(51, 65, 85, 0.35) !important;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.12),
    0 12px 28px rgba(15, 23, 42, 0.14),
    0 28px 56px rgba(30, 64, 175, 0.12) !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, #64748b 0%, #475569 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: #f1f5f9 !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: #0f172a !important;
  font-weight: 800 !important;
}
body#target.subpage .jr-members-section .member-card .member-card__name-wrap .member-card__title {
  color: #334e68 !important;
  font-weight: 600 !important;
}
body#target.subpage .jr-members-section .member-card .member-card__badge {
  color: #e0f2fe !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: #1e40af !important;
  color: #f8fafc !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: #172554 !important;
}
body#target.subpage .jr-members-section .lawyer-search-head .lawyer-search-desc {
  color: #4f6482 !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: #0f172a !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat:hover {
  background: var(--temple-deep-2) !important;
  color: #e0f2fe !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: #2563eb !important;
  color: #0f172a !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: #0f172a !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: #1e3a8a !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: #e0f2fe !important;
}
body#target.subpage .jr-members-section .lawyer-match-categories button.lawyer-match-cat.is-active .lawyer-match-cat__icon {
  background: rgba(30, 64, 175, 0.14) !important;
  color: #0f172a !important;
}
body#target.subpage .jr-members-section .lawyer-match-cat__hint {
  color: #4f6482 !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: #334e68 !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: #1e3a8a !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: #1e3a8a !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 rgba(15, 40, 71, 0.08) !important;
}
body#target.subpage .jr-members-section .lm-results-dock a.jr-lawyer-search-result--card:hover {
  border-color: rgba(56, 189, 248, 0.45) !important;
  box-shadow: 0 10px 28px rgba(30, 64, 175, 0.12) !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: #1e40af !important;
}
body#target.subpage .jr-members-section .lm-results-dock .jr-lawyer-search-result-cta-arrow {
  color: #2563eb !important;
}
body#target.subpage .jr-members-section .lm-results-dock a.jr-lawyer-search-result--card:hover .jr-lawyer-search-result-cta-arrow {
  color: #1d4ed8 !important;
}
body#target.subpage .jr-members-section .lawyer-match-shell .lawyer-search-empty {
  color: #4f6482 !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: #fff !important;
    border: 1px solid var(--temple-border, #e2e8f0) !important;
    box-shadow: 0 4px 14px rgba(15, 40, 71, 0.08) !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%, #dbeafe 55%, #eff6ff 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.65),
      0 1px 2px rgba(15, 23, 42, 0.06) !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, #0f172a) !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, #64748b) !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: #172554 !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: #4f6482 !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: #172554 !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: #4f6482 !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%, #dbeafe 55%, #eff6ff 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.65),
    0 1px 2px rgba(15, 23, 42, 0.06) !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: #1d4ed8;
    --jr-loc-mo-blue-title: #1e40af;
    --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: #fff;
    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: #fff;
    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;
  }
}
