/* 히어로 디자인 2 (문구중심) — css/hero-design-2.css. 루트: #jr-hero-design-2 */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source {
  position: relative;
  isolation: isolate;
  overflow: clip;
  /* 본문 크기는 index.html #jr-hero-design2-typography-match-d1 과 디자인1 인라인과 동기화 */
  --jr-crime-subtitle-size: clamp(18px, 1.3vw, 49px);
  background: transparent none !important;
  padding-bottom: clamp(4rem, 11vh, 7.5rem);
  overflow: visible;
}

/* 디자인2 노출 시 히어로 스택이 고정 GNB(24h전문상담 등)를 덮어 모달·다른 영역이 눌리지 않게 */
main.pclayout:has(#jr-hero-design-2.jr-hero-layout-hooks-2:not([hidden])) .header {
  z-index: 300;
  border-bottom: 1px solid var(--jr-header-border) !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source {
  background-color: #0d1210 !important;
  background-image: url("/images/design2/main_visual.png?v=20260526-school-hero-design-2-reference-bg") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-bg-layer {
  display: none !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse 110% 105% at 50% 45%, rgba(0, 0, 0, 0) 72%, rgba(0, 0, 0, 0.04) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.016) 0%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.024) 100%);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-watermark {
  display: block;
  position: absolute;
  top: clamp(0.75rem, 2.2vh, 1.75rem);
  left: max(0.35rem, calc(50% - 24rem - min(260px, 38vw) - clamp(0.35rem, 1.2vw, 1rem) - 130px));
  width: min(260px, 38vw);
  aspect-ratio: 12 / 22;
  height: auto;
  max-height: min(48vh, 420px);
  z-index: 1;
  pointer-events: none;
  background: url("/images/CI_symbol.svg") no-repeat left top / contain;
  opacity: 0.1;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero__inner {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  /* 고정 헤더에 제목이 겹치지 않도록 */
  margin-top: clamp(4.5rem, 10vh, 7rem);
  min-height: calc(100svh - clamp(5.5rem, 14vh, 9rem));
  max-width: 100%;
  padding-left: clamp(1.5rem, 4vw, 5rem) !important;
  padding-right: clamp(1.5rem, 4vw, 5rem) !important;
  box-sizing: border-box;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .vs_hero.jr-hero__grid {
  align-items: stretch;
  /* center면 카피·버튼이 뷰포트 아래쪽으로 밀려 보임 → 위에서부터 쌓기 */
  justify-content: flex-start;
  min-height: 0;
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .slogan_wrap.jr-hero__copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  text-align: left;
  max-width: 100%;
  width: 100%;
  /* 가로 +7ch, 세로: +13ch 기준 부제 3줄 ↑ 후 2줄 ↓(= 1.38×글자크기×1만큼 순이동) */
  transform: translate(7ch, calc(13ch - 1.38 * var(--jr-crime-subtitle-size)));
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title {
  align-self: stretch !important;
  width: 100% !important;
  /* 부제는 오른쪽까지 길게 — h1은 아래에서 별도 max-width */
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  text-align: left;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 {
  max-width: min(36rem, 100%);
  margin-left: 0;
  margin-right: 0;
  font-family: "Pretendard", "Pretendard Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* 글자 크기: index #jr-hero-design2-typography-match-d1 (디자인1과 동일) */
  font-size: clamp(40px, 2.7vw, 108px);
  line-height: 1.12;
  font-weight: 800;
  margin-bottom: 1.5rem;
  letter-spacing: -0.1rem;
  color: #fafcfb !important;
  text-shadow:
    0 2px 42px rgba(0, 0, 0, 0.72),
    0 2px 8px rgba(0, 0, 0, 0.85),
    0 0 1px rgba(0, 0, 0, 0.9);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 .jr-hero-line--2,
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 .jr-hero-headline-row {
  font-family: inherit;
  font-weight: 800;
  letter-spacing: inherit;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 .jr-hero-line--2 {
  display: flex;
  flex-direction: column;
  gap: 0.14em;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 .jr-hero-headline-row {
  display: block;
  white-space: nowrap;
  text-wrap: nowrap;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt {
  width: 100%;
  max-width: 100%;
  margin: 0;
  font-size: var(--jr-crime-subtitle-size) !important;
  font-weight: 400;
  line-height: 1.38;
  letter-spacing: -0.1rem;
  text-align: left !important;
  color: rgba(252, 253, 252, 0.96) !important;
  text-shadow:
    0 1px 12px rgba(32, 22, 16, 0.32),
    0 1px 2px rgba(0, 0, 0, 0.28);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt.jr-hero-subtxt-block {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  white-space: normal;
  overflow: visible;
  text-align: left;
  box-sizing: border-box;
  padding-inline: 0;
  font-size: var(--jr-crime-subtitle-size) !important;
  line-height: 1.38;
  /* 두 부제 줄·줄바꿈 대비 최소만 — 과도한 min-height는 버튼과 마지막 줄 사이 빈칸을 만듦 */
  min-height: calc(3 * 1.38em);
  padding-bottom: 0;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt.jr-hero-subtxt-block .jr-hero-line--3 {
  display: block;
  white-space: normal;
  max-width: 100%;
  font-size: var(--jr-crime-subtitle-size) !important;
  line-height: 1.38 !important;
  letter-spacing: -0.1rem;
  word-break: keep-all;
  line-break: strict;
  animation-duration: 0.42s;
  animation-timing-function: ease-out;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .jr-hero-subline {
  display: block;
  width: 100%;
  /* nowrap이면 JSON \\n이 공백 처리되며 한 줄로 길어지고, 줄바꿈 시 높이가 갑자기 늘어남 → pre-wrap */
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: keep-all;
  font-size: var(--jr-crime-subtitle-size) !important;
  line-height: 1.38 !important;
  /* 빈 타이핑 줄도 한 줄 높이 확보 (index 줄간격과 동일) */
  min-height: 1.38em;
  letter-spacing: inherit;
  text-shadow:
    0 1px 12px rgba(32, 22, 16, 0.32),
    0 1px 2px rgba(0, 0, 0, 0.28);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .jr-hero-typewriter {
  display: inline;
  white-space: pre-wrap;
  font-size: var(--jr-crime-subtitle-size) !important;
  line-height: 1.38 !important;
  letter-spacing: inherit;
  text-shadow: inherit;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
  padding: 0;
  letter-spacing: 0.12em;
  font-size: clamp(18px, 1.3vw, 49px);
  font-weight: 700;
  line-height: 1.25;
  isolation: isolate;
  background: none;
  border: none;
  box-shadow: none;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow .jr-hero-line--1 {
  display: inline-block;
  background-image: linear-gradient(
    118deg,
    #dbeafe 0%,
    var(--jr-hero-kicker, #7dd3fc) 18%,
    var(--jr-brand-accent, #38bdf8) 48%,
    var(--jr-brand-primary, #2563eb) 88%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.28));
}

@media (prefers-reduced-motion: no-preference) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow {
    transition: transform 0.35s ease;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow:hover {
    transform: translateY(-1px);
  }
}

@keyframes jrCrimeHeroLineReveal {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-line {
  display: block;
  opacity: 0;
  transform: translateY(0.6em);
  animation: jrCrimeHeroLineReveal 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-line--1 {
  animation-delay: 0.06s;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-line--2 {
  animation-delay: 0.24s;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-line--2 .jr-hero-headline-row {
  display: block;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-line--3 {
  animation-delay: 0.42s;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group {
  align-self: stretch;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 2rem;
  /* 둘째 부제 바로 아래, 본문과 같은 왼쪽 기준 */
  padding-top: clamp(0.5rem, 0.9vh, 0.85rem);
  margin-top: 0;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv {
  color: var(--jr-cta-primary-text, #fff) !important;
  border: none !important;
  background: var(--jr-gradient-cta) !important;
  box-shadow: var(--jr-shadow-cta, 0 10px 32px rgba(30, 64, 175, 0.28));
  font-weight: 600 !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv:hover {
  filter: brightness(1.06);
  transform: translateY(-2px);
  background: var(--jr-gradient-cta) !important;
  box-shadow: var(--jr-shadow-cta-hover, 0 14px 40px rgba(30, 64, 175, 0.34));
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv i {
  filter: brightness(0) invert(1) !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnCall {
  display: flex !important;
  background-color: transparent !important;
  color: var(--jr-hero-subtitle) !important;
  border: 1px solid var(--jr-hero-border) !important;
  box-shadow: none;
  backdrop-filter: blur(8px);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnCall:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: var(--jr-hero-title) !important;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .slogan_wrap
  .btn_group
  .btnCall.btncs
  .btn-hint.jr-hero-call-hint,
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .slogan_wrap
  .btn_group
  .btnRsv.btncs
  .btn-hint.jr-hero-rsv-hint {
  bottom: auto;
  top: calc(100% + 0.6rem);
  width: max-content;
  max-width: calc(100vw - 1.25rem);
  box-sizing: border-box;
  padding: 0.55rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3em;
  line-height: 1.35;
  font-size: clamp(1rem, 2.85vw, 1.3rem) !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnCall .btn-hint.jr-hero-call-hint::after {
  top: auto;
  bottom: 100%;
  border: 6px solid transparent;
  border-bottom-color: rgba(58, 46, 38, 0.94);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv.btncs .btn-hint.jr-hero-rsv-hint {
  background: rgba(58, 46, 38, 0.94) !important;
  border: 1px solid rgba(255, 245, 235, 0.32);
  box-shadow: 0 4px 24px rgba(32, 22, 16, 0.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 8px;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv.btncs .btn-hint.jr-hero-rsv-hint::after {
  top: auto;
  bottom: 100%;
  border: 6px solid transparent;
  border-bottom-color: rgba(58, 46, 38, 0.94);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnCall .jr-hero-call-hint__line,
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv.btncs .jr-hero-rsv-hint__line {
  display: block;
  white-space: nowrap;
  text-align: center;
}

/* 디자인2 카피 영역: 전화상담(a)·상담신청(/24h-consult 링크) 본문 글자 크기·줄간격 동일 (타이포 인라인과 동일 clamp) */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .slogan_wrap
  .btn_group
  a.btnCall.btncs,
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .slogan_wrap
  .btn_group
    .btnRsv.btncs {
  font-size: clamp(14.4px, 1.04vw, 39.2px) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  font-family: "Pretendard", "Pretendard Variable", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif !important;
}

@media (max-width: 899px) {
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .slogan_wrap
    .btn_group
    a.btnCall.btncs,
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .slogan_wrap
    .btn_group
    .btnRsv.btncs {
    font-size: clamp(9.6px, 1.56vw, 12.8px) !important;
  }
}

@media (min-width: 900px) {
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .slogan_wrap
    .btn_group
    a.btnCall.btncs,
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .slogan_wrap
    .btn_group
    .btnRsv.btncs {
    padding: 0.8rem 4.5rem !important;
    min-height: 4.3rem;
    min-width: clamp(10.75rem, 12vw, 11.2rem);
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
  }

  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .slogan_wrap
    .btn_group
    a.btnCall.btncs
    i,
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .slogan_wrap
    .btn_group
    .btnRsv.btncs
    i {
    width: 2.2rem;
    height: 2.2rem;
  }
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: auto;
  overflow: visible;
  padding-top: clamp(3.25rem, 7vh, 5rem);
  padding-bottom: clamp(0.5rem, 1.5vh, 1rem);
  padding-left: clamp(0.65rem, 2.5vw, 1.25rem);
  padding-right: clamp(0.65rem, 2.5vw, 1.25rem);
  box-sizing: border-box;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__kicker {
  margin: 0 0 clamp(0.65rem, 1.5vh, 0.85rem) 0;
  text-align: center;
  font-size: clamp(1.12rem, 1rem + 0.35vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #c4b8a8;
  text-shadow: 0 1px 14px rgba(32, 22, 16, 0.45);
}

@media (hover: none) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__kicker-hint-hover {
    display: none;
  }
}

/* 6칸 그리드와 동일한 가로 폭(100%) — 위에 한 줄 전폭 버튼 */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__band {
  position: relative;
  z-index: 0;
  width: 100%;
  margin: 0 0 clamp(0.35rem, 1vw, 0.55rem) 0;
  box-sizing: border-box;
}

/* 전폭(곽윤서) 호버 시 큰 사진이 6칸 줄 위에 보이도록 */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__band:has(a.jr-hero-hook--lawyer) {
  z-index: 3;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__list {
  position: relative;
  z-index: 2;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  flex-wrap: nowrap;
  align-items: stretch;
  gap: clamp(0.25rem, 0.9vw, 0.5rem);
  width: 100%;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__list > li {
  margin: 0;
  padding: 0;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  position: relative;
  z-index: 0;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.18em;
  width: 100%;
  flex: 1 1 auto;
  min-height: clamp(4.25rem, 3.5rem + 2.5vw, 6.5rem);
  padding: 0.45rem clamp(0.15rem, 0.5vw, 0.4rem);
  box-sizing: border-box;
  font-size: clamp(11px, 0.95vw, 16px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.2;
  text-align: center;
  color: var(--jr-hero-hook-color) !important;
  text-decoration: none !important;
  border-radius: clamp(10px, 1.5vw, 16px);
  border: 1px solid var(--jr-hero-hook-border);
  background: var(--jr-hero-hook-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px rgba(10, 22, 40, 0.22);
  transition:
    background 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease,
    color 0.22s ease;
}

/* 하단 6분야 그리드만 글자 120% (전폭 밴드는 .jr-hero-hooks__band 쪽 규칙 유지) */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__list a.jr-hero-hook {
  font-size: calc(1.2 * clamp(11px, 0.95vw, 16px));
}

/* 전폭 1줄: 아래 6칸과 같은 너비, 훅과 동일 호버(곽윤서 플로트) */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__band a.jr-hero-hooks__full-row.jr-hero-hook {
  width: 100%;
  min-height: clamp(3.35rem, 3rem + 1.2vw, 5.25rem);
  padding: 0.5rem clamp(1rem, 3vw, 1.75rem);
  font-size: clamp(12px, 1.05vw, 17px);
  background: rgba(58, 46, 38, 0.45);
  border-color: rgba(228, 217, 204, 0.28);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks__band
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer {
  overflow: visible;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook.jr-hero-hook--lawyer {
  z-index: 6;
  transform: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__float {
  position: absolute;
  bottom: calc(100% + 0.35rem);
  left: 50%;
  z-index: 2;
  width: max-content;
  max-width: min(11rem, 42vw);
  pointer-events: none;
  isolation: isolate;
  transform: translate3d(-50%, clamp(1.1rem, 4vw, 1.85rem), 0);
  opacity: 0;
  visibility: hidden;
  /* 1번: 호버 해제 — 짧은 제자리 페이드(opacity만 ~0.14s), transform·visibility는 페이드 끝에 적용 */
  transition:
    opacity 0.14s ease-out,
    transform 0s linear 0.14s,
    visibility 0s linear 0.14s;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook.jr-hero-hook--lawyer .jr-hero-hook__float {
  transform: translate3d(-50%, 0, 0);
  opacity: 1;
  visibility: visible;
  /* 호버 진입: 더 천천히 등장 */
  transition:
    opacity 0.88s cubic-bezier(0.22, 0.65, 0.28, 1),
    transform 0.95s cubic-bezier(0.18, 0.82, 0.22, 1),
    visibility 0s;
  max-width: min(16.5rem, 63vw);
}

/* 전폭(곽윤서) 버튼: 호버 사진 위치 + 넓은 이미지용 (가로 오프셋 +45ch) */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float {
  transform: translate3d(calc(-50% + 45ch), 0, 0);
  max-width: min(96vw, 560px);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__float-img {
  display: block;
  width: clamp(76px, 22vw, 112px);
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center top;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 호버(담당 변호사 노출) 시 사진 1.5배 — 기본 width 대비 */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook.jr-hero-hook--lawyer .jr-hero-hook__float-img {
  width: clamp(114px, 33vw, 168px);
}

/* 전폭(곽윤서): 위 호버 크기 대비 약 3배 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-img {
  width: clamp(342px, 99vw, 504px);
  max-width: min(96vw, 504px);
}

/* 곽윤서(전폭): 디자인1과 동일 pill 배지 — 얼굴 오른쪽·눈높이 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float {
  overflow: visible;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook
  .jr-hero-hook__float-stack {
  position: relative;
  display: inline-block;
  line-height: 1;
  vertical-align: top;
  overflow: visible;
}

/* 강상용(상간소송): 곽윤서형 primary 배지 + 하단 체크리스트(우측 정렬, 배경 없음) */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook
  .jr-hero-hook__float-stack--kang {
  position: relative;
  display: inline-block;
  line-height: 0;
  vertical-align: top;
  overflow: visible;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook
  .jr-hero-hook__float-stack--kang
  .jr-hero-hook__kang-float-footer {
  /* 두 배지(가사전문 / 상간소송 pro) 글자 크기·최소 높이 공통 */
  --jr-kang-badge-fs: clamp(0.82rem, 1.75vw, 1.12rem);
  --jr-kang-badge-min-h: clamp(2.38rem, 5.25vw, 3.15rem);
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  gap: clamp(0.22rem, 1.2vw, 0.4rem);
  padding-bottom: clamp(0.35rem, 1.5vw, 0.55rem);
  pointer-events: none;
  box-sizing: border-box;
  transform: translateX(5ch);
  line-height: 1.2;
}

/* 호버 배지: 글자·최소 높이 130% — 상간소송·재산분할·위자료·친권양육·파생형사·이혼조정 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook:is(
    [href="/members/kang-sangyong.html"],
    [href="/members/kim-sangnam.html"],
    [href="/members/park-soonbeom.html"],
    [href="/members/kimseunghyun.html"],
    [href="/members/jangsoyoung.html"],
    [href="/members/leesangyoung.html"]
  )
  .jr-hero-hook__float-stack--kang
  .jr-hero-hook__kang-float-footer {
  --jr-kang-badge-fs: calc(clamp(0.82rem, 1.75vw, 1.12rem) * 1.3);
  --jr-kang-badge-min-h: calc(clamp(2.38rem, 5.25vw, 3.15rem) * 1.3);
  /* 강상용과 동일: 기본 5ch + 2ch로 배지를 카드 오른쪽에 맞춤 */
  transform: translateX(calc(5ch + 2ch));
}

/* 이혼전략총괄(전폭 곽윤서): 호버 시 하단 배지 스택(대한변협×2 + 센터장) 150%, 가로 35%·오른쪽 정렬 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang
  .jr-hero-hook__kang-float-footer--kwak-scale {
  /* 전폭(센터장): 호버 130% 변수 대신 scale(1.5)만 — 이혼 곽윤서와 동일 */
  --jr-kang-badge-fs: clamp(0.82rem, 1.75vw, 1.12rem);
  --jr-kang-badge-min-h: clamp(2.38rem, 5.25vw, 3.15rem);
  transform: translateX(5ch) scale(1.5);
  transform-origin: right bottom;
  align-items: flex-end;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer--kwak-scale
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right,
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer--kwak-scale
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge {
  width: 35%;
  max-width: 35%;
}

/* 강상용: 디자인1 곽윤서형 대한변협·가사전문변호사 배지 (index 절대위치 무효 + 호버 카드 스케일) */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer
  .jr-hero-hook__kang-kbar-stack.jr-hero-primary-badge-right-stack {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
  align-self: flex-end;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right {
  align-self: flex-end;
  width: 70%;
  max-width: 70%;
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  min-height: var(--jr-kang-badge-min-h);
  padding: 0.28rem 0.75rem 0.28rem 0.38rem;
  gap: 0.38rem;
  box-sizing: border-box;
  border-radius: 9999px;
  background: var(--jr-hero-primary-badge-bg);
  border: 1px solid var(--jr-hero-primary-badge-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 2px 8px rgba(15, 40, 30, 0.14);
  color: var(--jr-hero-primary-badge-color);
  font-size: var(--jr-kang-badge-fs);
  font-weight: 800;
  letter-spacing: -0.025em;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5),
    0 1px 2px rgba(30, 50, 42, 0.12);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right__medal {
  flex: 0 0 clamp(1.75rem, 4vw, 2.5rem);
  width: clamp(1.75rem, 4vw, 2.5rem);
  height: clamp(1.75rem, 4vw, 2.5rem);
  object-fit: contain;
  box-sizing: border-box;
  padding: 0.1rem;
  border-radius: 50%;
  background: var(--jr-hero-primary-badge-icon-ring-bg);
  border: 1px solid var(--jr-hero-primary-badge-icon-ring-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 2px 8px rgba(30, 60, 48, 0.1);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.08rem;
  line-height: 1.22;
  color: inherit;
  flex: 1 1 auto;
  min-width: 0;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right__l1,
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right__l2 {
  font-size: 1em;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--jr-hero-primary-badge-color);
  white-space: nowrap;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5),
    0 1px 2px rgba(30, 50, 42, 0.12);
}

/* 전문 분야: 학폭 블루 마커 하이라이트 */
.jr-hero-primary-badge-right__l2 .jr-hero-primary-badge-right__spec-highlight {
  position: relative;
  display: inline-block;
  z-index: 0;
  color: #0f2847;
  font-weight: 900;
  letter-spacing: -0.032em;
  padding: 0 0.04em;
  margin: 0 -0.02em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-shadow: 0 0.04em 0 rgba(239, 248, 255, 0.45);
}

.jr-hero-primary-badge-right__l2 .jr-hero-primary-badge-right__spec-highlight::before,
.jr-hero-primary-badge-right__l2 .jr-hero-primary-badge-right__spec-highlight::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.jr-hero-primary-badge-right__l2 .jr-hero-primary-badge-right__spec-highlight::before {
  z-index: -1;
  left: -0.12em;
  right: -0.14em;
  top: 36%;
  bottom: -0.06em;
  transform: rotate(-1.6deg) skewX(-6deg);
  transform-origin: 50% 70%;
  background: var(--jr-hero-hook-badge-highlight, rgba(56, 189, 248, 0.52));
  clip-path: polygon(
    0% 35%,
    8% 12%,
    38% 2%,
    72% 0%,
    96% 14%,
    100% 42%,
    94% 78%,
    76% 96%,
    42% 100%,
    14% 92%,
    0% 70%
  );
  box-shadow: -1px 2px 0 var(--jr-hero-hook-badge-highlight-shadow, rgba(30, 64, 175, 0.28));
}

.jr-hero-primary-badge-right__l2 .jr-hero-primary-badge-right__spec-highlight::after {
  z-index: -2;
  left: -0.04em;
  right: -0.06em;
  top: 48%;
  bottom: -0.1em;
  transform: rotate(0.8deg) skewX(-3deg);
  background: rgba(56, 189, 248, 0.36);
  clip-path: polygon(3% 0%, 100% 18%, 95% 100%, 0% 82%);
  opacity: 0.95;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  margin: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  align-items: center;
  align-self: flex-end;
  width: 70%;
  max-width: 70%;
  box-sizing: border-box;
  font-size: var(--jr-kang-badge-fs);
  font-weight: 800;
  letter-spacing: -0.025em;
  min-height: var(--jr-kang-badge-min-h);
  padding: 0.28rem 0.75rem 0.28rem 0.38rem;
  gap: 0.38rem;
  border-radius: 9999px;
  background: var(--jr-hero-primary-badge-bg);
  border: 1px solid var(--jr-hero-primary-badge-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 2px 8px rgba(15, 40, 30, 0.14);
  color: var(--jr-hero-primary-badge-color);
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5),
    0 1px 2px rgba(30, 50, 42, 0.12);
  white-space: nowrap;
}

/* 상간소송·재산분할 등: 배지 가로 120% — flex-end로 우측 끝 고정, 추가 폭은 왼쪽(얼굴 쪽)으로만 확장 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer:is(
    [href="/members/kang-sangyong.html"],
    [href="/members/kim-sangnam.html"],
    [href="/members/park-soonbeom.html"],
    [href="/members/kimseunghyun.html"],
    [href="/members/jangsoyoung.html"],
    [href="/members/leesangyoung.html"]
  )
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right,
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer:is(
    [href="/members/kang-sangyong.html"],
    [href="/members/kim-sangnam.html"],
    [href="/members/park-soonbeom.html"],
    [href="/members/kimseunghyun.html"],
    [href="/members/jangsoyoung.html"],
    [href="/members/leesangyoung.html"]
  )
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge {
  width: calc(70% * 1.2);
  max-width: calc(70% * 1.2);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge::before {
  width: clamp(1.75rem, 4vw, 2.5rem);
  height: clamp(1.75rem, 4vw, 2.5rem);
  flex: 0 0 clamp(1.75rem, 4vw, 2.5rem);
  background: var(--jr-hero-primary-badge-icon-ring-bg);
  border: 1px solid var(--jr-hero-primary-badge-icon-ring-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 2px 8px rgba(30, 60, 48, 0.1);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge::after {
  left: 0.35rem;
  width: clamp(1.75rem, 4vw, 2.5rem);
  height: clamp(1.75rem, 4vw, 2.5rem);
  transform: translateY(-50%);
  background: var(--jr-hero-primary-badge-icon-fill);
  -webkit-mask-image: url("/images/CI_symbol.svg");
  mask-image: url("/images/CI_symbol.svg");
  -webkit-mask-size: auto 68%;
  mask-size: auto 68%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: contrast(1.04) saturate(1.02)
    drop-shadow(0 0 0.35px rgba(22, 48, 38, 0.35))
    drop-shadow(0 0.45px 0.55px rgba(22, 48, 38, 0.2));
  opacity: 0.94;
}

/* 위자료·친권·파생·이혼조정: 상단 배지 — 이혼전문변호사 단일 문구 + JR 마크(하단 pro pill과 동일) */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack--kbar-jr-logo
  .jr-hero-primary-badge-right--jr-icon {
  position: relative;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack--kbar-jr-logo
  .jr-hero-primary-badge-right__inner--jr-single {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  line-height: 1.2;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack--kbar-jr-logo
  .jr-hero-primary-badge-right--jr-icon::before {
  content: "";
  display: inline-block;
  width: clamp(1.75rem, 4vw, 2.5rem);
  height: clamp(1.75rem, 4vw, 2.5rem);
  flex: 0 0 clamp(1.75rem, 4vw, 2.5rem);
  border-radius: 50%;
  background: var(--jr-hero-primary-badge-icon-ring-bg);
  border: 1px solid var(--jr-hero-primary-badge-icon-ring-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 2px 8px rgba(30, 60, 48, 0.1);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack--kbar-jr-logo
  .jr-hero-primary-badge-right--jr-icon::after {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 50%;
  width: clamp(1.75rem, 4vw, 2.5rem);
  height: clamp(1.75rem, 4vw, 2.5rem);
  transform: translateY(-50%);
  pointer-events: none;
  background: var(--jr-hero-primary-badge-icon-fill);
  -webkit-mask-image: url("/images/CI_symbol.svg");
  mask-image: url("/images/CI_symbol.svg");
  -webkit-mask-size: auto 68%;
  mask-size: auto 68%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: contrast(1.04) saturate(1.02)
    drop-shadow(0 0 0.35px rgba(22, 48, 38, 0.35))
    drop-shadow(0 0.45px 0.55px rgba(22, 48, 38, 0.2));
  opacity: 0.94;
}

/* 곽윤서: 메인 배지 + 하단 4개 — 통합 카드로 상·하위 시각 연결 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack
  .jr-hero-hook__kwak-badge-cluster {
  position: absolute;
  left: 100%;
  top: calc(26% - 10ch);
  margin: 0 0 0 clamp(0.28rem, 1vw, 0.55rem);
  z-index: 25;
  transform: translate(calc(-7ch), -50%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  max-width: min(92vw, 40rem);
  box-sizing: border-box;
  pointer-events: none;
  overflow: hidden;
  padding: clamp(0.32rem, 0.9vw, 0.48rem);
  /* 사진 위에 얹힌 느낌 완화: 반투명 + 블러로 배경(초상)과 혼합 */
  background: linear-gradient(
    155deg,
    rgba(255, 252, 245, 0.52) 0%,
    rgba(245, 232, 208, 0.44) 48%,
    rgba(232, 214, 182, 0.4) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: clamp(0.88rem, 2.1vw, 1.12rem);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    inset 0 0 0 1px rgba(176, 140, 55, 0.12),
    0 12px 40px rgba(42, 34, 28, 0.1),
    0 4px 16px rgba(42, 34, 28, 0.06);
  backdrop-filter: blur(14px) saturate(1.12);
  -webkit-backdrop-filter: blur(14px) saturate(1.12);
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .jr-hero-hooks
    a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
    .jr-hero-hook__float-stack
    .jr-hero-hook__kwak-badge-cluster {
    background: linear-gradient(
      155deg,
      rgba(255, 252, 245, 0.9) 0%,
      rgba(245, 232, 208, 0.86) 48%,
      rgba(232, 214, 182, 0.82) 100%
    );
  }
}

@media (prefers-reduced-transparency: reduce) {
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .jr-hero-hooks
    a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
    .jr-hero-hook__float-stack
    .jr-hero-hook__kwak-badge-cluster {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: linear-gradient(
      155deg,
      rgba(255, 252, 245, 0.94) 0%,
      rgba(248, 236, 210, 0.9) 50%,
      rgba(240, 224, 190, 0.88) 100%
    );
  }
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack
  .jr-hero-hook__kwak-badge-cluster
  .jr-hero-hook__kwak-eye-badge.jr-hero-primary-badge {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  margin: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  align-self: stretch;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  font-size: clamp(1.008rem, 2.17vw, 1.47rem);
  min-height: clamp(3.08rem, 7vw, 4.34rem);
  padding: 0.28rem 1.008rem 0.28rem 0.42rem;
  gap: 0.532rem;
  border-radius: clamp(0.62rem, 1.5vw, 0.85rem);
  background: linear-gradient(
    165deg,
    rgba(255, 252, 245, 0.55) 0%,
    rgba(250, 236, 205, 0.42) 55%,
    rgba(238, 218, 175, 0.38) 100%
  );
  border: 1px solid rgba(176, 140, 55, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 1px 2px rgba(40, 28, 5, 0.05);
  color: #5a4515;
  text-shadow: 0 1px 1px rgba(255, 248, 230, 0.45);
}

/* 카드 하단: 상단과 같은 유리 질감 — 흰 박스 나열 대신 한 블록 리스트 */
#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__kwak-sub-pills {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(0.35rem, 1vw, 0.48rem) clamp(0.38rem, 1vw, 0.52rem) clamp(0.32rem, 0.95vw, 0.42rem);
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 250, 240, 0.08) 100%);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__kwak-mini-pill {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  width: 100%;
  padding: 0.38rem 0.5rem 0.38rem 0.2rem;
  font-family: "Pretendard", "Pretendard Variable", system-ui, sans-serif;
  font-size: clamp(0.76rem, 1.55vw, 0.98rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: rgba(72, 48, 18, 0.92);
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  white-space: nowrap;
  border-bottom: 1px solid rgba(176, 140, 55, 0.14);
  text-shadow: 0 1px 1px rgba(255, 252, 245, 0.35);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__kwak-mini-pill:last-child {
  border-bottom: none;
  padding-bottom: 0.28rem;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__kwak-mini-pill::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  margin-left: 0.05rem;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(212, 178, 74, 0.95) 0%, rgba(166, 124, 0, 0.9) 55%, rgba(122, 89, 0, 0.88) 100%);
  box-shadow: 0 0 0 1px rgba(255, 252, 245, 0.55);
  opacity: 0.92;
}

@media (max-width: 520px) {
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .jr-hero-hooks
    a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
    .jr-hero-hook__kwak-mini-pill {
    white-space: normal;
    text-align: left;
  }
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack
  .jr-hero-hook__kwak-eye-badge.jr-hero-primary-badge::before {
  width: clamp(2.45rem, 5.74vw, 3.57rem);
  height: clamp(2.45rem, 5.74vw, 3.57rem);
  flex: 0 0 clamp(2.45rem, 5.74vw, 3.57rem);
  background: linear-gradient(
    155deg,
    rgba(255, 252, 245, 0.82) 0%,
    rgba(242, 226, 188, 0.62) 50%,
    rgba(228, 206, 148, 0.52) 100%
  );
  border: 1px solid rgba(168, 130, 45, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 2px 8px rgba(100, 75, 25, 0.07);
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack
  .jr-hero-hook__kwak-eye-badge.jr-hero-primary-badge::after {
  left: 0.42rem;
  width: clamp(2.45rem, 5.74vw, 3.57rem);
  height: clamp(2.45rem, 5.74vw, 3.57rem);
  transform: translateY(-50%);
  /* 역할 배지(무궁화·저울) 대신 법무법인 JR 심볼 */
  background: linear-gradient(
    155deg,
    #c9a33a 0%,
    #a67c00 35%,
    #7a5900 65%,
    #4a3206 100%
  );
  -webkit-mask-image: url("/images/CI_symbol.svg");
  mask-image: url("/images/CI_symbol.svg");
  -webkit-mask-size: auto 68%;
  mask-size: auto 68%;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  filter: contrast(1.04) saturate(1.02)
    drop-shadow(0 0 0.35px rgba(28, 18, 4, 0.4))
    drop-shadow(0 0.45px 0.55px rgba(28, 18, 4, 0.22));
  opacity: 0.94;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__float-img:not([src]),
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__float-img[src=""] {
  display: none;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__main {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__sub {
  display: block;
  white-space: normal;
  max-width: 100%;
  font-size: 0.85em;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #c4b8a8 !important;
  text-shadow: 0 1px 12px rgba(32, 22, 16, 0.3);
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook.jr-hero-hook--lawyer .jr-hero-hook__main {
  white-space: normal;
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook.jr-hero-hook--lawyer .jr-hero-hook__sub {
  white-space: normal;
  font-size: 0.85em;
  line-height: 1.25;
  max-width: 100%;
}

/* 곽윤서 전폭 밴드: 한 줄 문구, 기존 main 대비 130% */
#jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hooks__full-row.jr-hero-hook--lawyer .jr-hero-hook__kwak-bar-line {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.03em;
  white-space: normal;
}

@media (max-width: 900px) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(0.15rem, 0.6vw, 0.35rem);
  }
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook {
    min-height: clamp(3.5rem, 12vw, 5rem);
    font-size: clamp(9px, 2.1vw, 12px);
    padding: 0.35rem 0.1rem;
  }
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__list a.jr-hero-hook {
    font-size: calc(1.2 * clamp(9px, 2.1vw, 12px));
  }
}

@media (max-width: 480px) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding-left: clamp(0.5rem, 2vw, 1rem);
    padding-right: clamp(0.5rem, 2vw, 1rem);
  }
  /* 좁은 화면에서 6칸과 같은 스크롤 폭 */
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__band {
    min-width: min(520px, 160vw);
  }
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks__list {
    min-width: min(520px, 160vw);
    grid-template-columns: repeat(6, minmax(72px, 1fr));
  }
}

@media (hover: hover) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source a.jr-hero-hook:hover {
    color: #fffefb !important;
    background: rgba(58, 46, 38, 0.88);
    border-color: rgba(228, 217, 204, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(32, 22, 16, 0.28), 0 0 0 1px rgba(228, 217, 204, 0.12);
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks a.jr-hero-hook.jr-hero-hook--lawyer:hover {
    transform: none !important;
  }
}

#jrMember.visual #jr-hero-design-2.jr-hero-crime-source a.jr-hero-hook:focus-visible {
  outline: 2px solid rgba(228, 217, 204, 0.9);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-watermark {
    left: max(
      0.35rem,
      calc(50% - min(22rem, 42vw) - min(240px, 40vw) - clamp(0.25rem, 1vw, 0.75rem) - 130px)
    );
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero__inner {
    padding-left: clamp(1.15rem, 4vw, 1.75rem) !important;
    padding-right: clamp(1.15rem, 4vw, 1.75rem) !important;
    min-height: clamp(420px, 72vh, 720px);
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .slogan_wrap {
    text-align: left !important;
    margin-left: 0 !important;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-top: 1.5rem;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .slogan_wrap.jr-hero__copy {
    align-items: stretch !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt {
    text-align: left !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 {
    max-width: none;
    /* 모바일 글자 크기: index #jr-hero-design2-typography-match-d1 */
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt.jr-hero-subtxt-block {
    width: 100%;
    max-width: 100%;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 .jr-hero-headline-row {
    white-space: nowrap;
    text-wrap: nowrap;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group {
    justify-content: flex-start !important;
    align-items: stretch;
    width: 100%;
    gap: 1rem;
    padding-top: 0.65rem !important;
    margin-top: 0 !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btncs {
    padding: 0.8rem 2rem !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow {
    max-width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 0.12em;
    letter-spacing: 0.08em;
    box-sizing: border-box;
  }
}

@media (max-width: 600px) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source {
    --jr-hero-bg-pos: 82% center;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-watermark {
    width: min(200px, 42vw);
    max-height: 40vh;
    opacity: 0.09;
    left: max(0.25rem, calc(50% - min(20rem, 46vw) - min(200px, 42vw) - 0.35rem - 130px));
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnCall.btncs,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .btn_group .btnRsv.btncs {
    width: 100%;
    max-width: 22rem;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt,
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title .subtxt.jr-hero-subtxt-block {
    text-align: left !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .title h1 .jr-hero-headline-row {
    white-space: normal;
    text-wrap: balance;
  }
}

@media (prefers-reduced-motion: reduce) {
  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-line {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-hooks .jr-hero-hook__float {
    transition: opacity 0.12s ease-out;
    transform: translate3d(-50%, 0, 0) !important;
  }

  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .jr-hero-hooks
    a.jr-hero-hook.jr-hero-hook--lawyer
    .jr-hero-hook__float {
    transition: opacity 0.22s ease;
  }

  /* 전폭(곽윤서) 플로트 위치는 일반 규칙과 동일하게 유지(배지·사진이 화면 밖으로 가지 않도록) */
  #jrMember.visual
    #jr-hero-design-2.jr-hero-crime-source
    .jr-hero-hooks
    .jr-hero-hooks__band
    a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
    .jr-hero-hook__float {
    transform: translate3d(calc(-50% + 45ch), 0, 0) !important;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow {
    transition: none;
  }

  #jrMember.visual #jr-hero-design-2.jr-hero-crime-source .jr-hero-eyebrow:hover {
    transform: none;
  }
}

/* ── 학폭 히어로: 이혼 design-2 동기화 보정 (5칸·전폭·형사 배경) ── */
#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source:not([hidden]) {
  display: block !important;
  background: transparent !important;
  overflow: visible !important;
  /* 상단 padding이 있으면 inner margin-top 접힘이 깨져 훅·플로트가 ~70px 내려감 */
  padding-top: 0 !important;
}

/* 이혼 design-2: inner margin-top(접힘) — padding-top 쓰면 카피가 ~70px 아래로 밀림 */
#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source .jr-hero__inner {
  margin-top: clamp(4.5rem, 10vh, 7rem) !important;
  padding-top: 0 !important;
}

/* 훅·호버 변호사: design-2와 동일한 세로 위치(그리드↔훅 간격 0) */
#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source .jr-hero-hooks {
  padding-top: clamp(3.25rem, 7vh, 5rem) !important;
  margin-top: auto !important;
}

/* 카피만 design-2와 동일 세로 위치 — vs_hero 안 padding이라 훅(margin-top:auto)은 하단 고정 */
@media (min-width: 900px) {
  #jrMember.visual
    #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source
    .vs_hero.jr-hero__grid
    .slogan_wrap.jr-hero__copy.visual_left {
    padding-top: clamp(4.5rem, 10vh, 7rem) !important;
    margin-top: 0 !important;
  }
}

#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks__list.jr-hero-hooks__list--five {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* crime1.css 말미 — 훅은 100vw 풀블리드 유지(100%로 덮지 않음) */
#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks__list,
#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks__band {
  width: 100% !important;
  max-width: none !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks__list {
  margin: 0 !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks {
  display: block !important;
  padding-top: clamp(3.25rem, 7vh, 5rem) !important;
}

#jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 .jr-hero-hooks a.jr-hero-hook {
  color: var(--jr-hero-hook-color) !important;
  border-color: var(--jr-hero-hook-border) !important;
  background: var(--jr-hero-hook-bg) !important;
}

/* crime1 롤링용 배지(!important) 무력화 — 훅 플로트는 이혼 design-2 배지 스케일(가로 120%·130% 타이포) */
#jrMember.visual
  #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer:is(
    [href="/members/kang-sangyong.html"],
    [href="/members/kim-sangnam.html"],
    [href="/members/park-soonbeom.html"],
    [href="/members/kimseunghyun.html"],
    [href="/members/jangsoyoung.html"],
    [href="/members/leesangyoung.html"]
  )
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right,
#jrMember.visual
  #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer:is(
    [href="/members/kang-sangyong.html"],
    [href="/members/kim-sangnam.html"],
    [href="/members/park-soonbeom.html"],
    [href="/members/kimseunghyun.html"],
    [href="/members/jangsoyoung.html"],
    [href="/members/leesangyoung.html"]
  )
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge {
  width: calc(70% * 1.2) !important;
  max-width: calc(70% * 1.2) !important;
  min-height: var(--jr-kang-badge-min-h) !important;
  font-size: var(--jr-kang-badge-fs) !important;
  padding: 0.28rem 0.75rem 0.28rem 0.38rem !important;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer--kwak-scale
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right,
#jrMember.visual
  #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hooks__full-row.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-float-footer--kwak-scale
  .jr-hero-hook__kang-role-badge.jr-hero-primary-badge {
  width: 35% !important;
  max-width: 35% !important;
  font-size: var(--jr-kang-badge-fs) !important;
  min-height: var(--jr-kang-badge-min-h) !important;
}

#jrMember.visual
  #jr-hero-design-2.jr-hero-layout-hooks-2.jr-hero-crime-source
  .jr-hero-hooks
  a.jr-hero-hook.jr-hero-hook--lawyer
  .jr-hero-hook__float-stack--kang.jr-hero-fixed--primary
  .jr-hero-hook__kang-kbar-stack
  .jr-hero-primary-badge-right__medal {
  width: clamp(1.75rem, 4vw, 2.5rem) !important;
  height: clamp(1.75rem, 4vw, 2.5rem) !important;
  max-height: none !important;
}

@media (hover: hover) {
  #jrMember.visual #jr-hero-design-2.jr-hero-layout-hooks-2 a.jr-hero-hook:hover {
    background: var(--jr-hero-hook-hover-bg) !important;
    border-color: var(--jr-hero-hook-hover-border) !important;
  }
}
