/* index.html page-specific styles */

      
/* 메인 비주얼: 왼쪽 슬로건+나머지 변호사 슬라이더, 오른쪽 곽윤서 고정 */

      
.visual .visual_two_col {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 2rem;
        box-sizing: border-box;
      }

      
.visual .visual_left {
        flex: 1 1 54%;
        min-width: 0;
      }

      
.visual .visual_right {
        flex: 0 0 auto;
        width: 100%;
      }

      
@media (min-width: 900px) {
  .visual .visual_two_col {
          display: grid !important;
          /* 좌측 롤링 열 비중↑·우측 히어로 max 살짝 축소 — PC에서 슬라이드 가로 여유 */
          grid-template-columns: minmax(0, 1.15fr) minmax(300px, 600px);
          /* 디자인 1 히어로: +20% 적용분 대비 세로 10% 축소(=원본 대비 약 +8%) */
          grid-template-rows: minmax(clamp(calc(58rem * 1.08), calc(70vh * 1.08), calc(82rem * 1.08)), auto);
          align-items: end;
          align-content: stretch;
          gap: 0 1rem;
          min-height: clamp(calc(58rem * 1.08), calc(70vh * 1.08), calc(82rem * 1.08));
        }
  .visual .visual_left_stack {
          grid-column: 1;
          grid-row: 1;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          align-items: stretch;
          align-self: stretch;
          min-width: 0;
          width: 100%;
          min-height: 100%;
          overflow-x: visible;
        }
  .visual .visual_left {
          flex: 0 0 auto;
          min-width: 0;
          padding-bottom: 0;
        }
  .visual .visual_right {
          grid-column: 2;
          grid-row: 1;
          width: 100%;
          max-width: 600px;
          min-width: 0;
          justify-self: end;
          align-self: end;
          overflow: visible;
        }
  .visual .lawyer-slider-container {
          flex: 0 0 auto;
          min-width: 0;
          width: 100%;
          max-width: 100%;
          box-sizing: border-box;
          margin-top: 0;
        }
  .visual .lawyer-slider-container .swiper {
          width: 100%;
          max-width: 100%;
          margin-left: auto;
          margin-right: auto;
          overflow: hidden;
          padding-top: 0;
          padding-bottom: 0;
          margin-bottom: 0;
        }
  .visual .lawyer-slider-container.lawyer-slider-others {
          padding-bottom: 0;
          margin-bottom: 0;
        }
  #jrMember.visual .visual_left_stack > .lawyer-slider-container.lawyer-slider-others {
          --jr-lawyer-bleed-l: clamp(3rem, 9vw, 11rem);
          --jr-lawyer-bleed-r: clamp(0.75rem, 1.8vw, 2rem);
          margin-left: calc(-1 * var(--jr-lawyer-bleed-l));
          margin-right: calc(-1 * var(--jr-lawyer-bleed-r));
          width: calc(100% + var(--jr-lawyer-bleed-l) + var(--jr-lawyer-bleed-r));
          max-width: none;
          box-sizing: border-box;
        }
  #jrMember.visual .lawyer-slider-container {
          overflow-x: hidden;
          scrollbar-width: none;
          -ms-overflow-style: none;
        }
  #jrMember.visual .lawyer-slider-container::-webkit-scrollbar {
          display: none;
          width: 0;
          height: 0;
        }
  #jrMember.visual .lawyer-slider-container .swiper {
          padding-left: 0;
          padding-right: 0;
          box-sizing: border-box;
          overflow: hidden;
        }
  .visual .lawyer-slider-others .swiper-slide {
          box-sizing: border-box;
        }
  .visual .title .subtxt .jr-subtxt-nowrap-pc {
          white-space: nowrap;
        }
  .visual .title .subtxt .jr-subtxt-nowrap-pc .jr-subtxt-br-mo {
          display: none;
        }
}

      
.visual .lawyer-slider-container.lawyer-slider-others {
        position: relative;
      }

      

      

      
/* PC: 뷰포트 90% 폭(가운데) + 슬라이드 5등분(cqi=swiper) — 5장 정확히, 양끝 걸침 없음 */

      

      

      
/* 파트너 교체 시 과한 확대 없이 우측에서 밀려 들어오는 느낌 */

      

      

      
/* 들어오는 방향(오른쪽) 체감 강화를 위해 파트너 프레임 안에서 슬라이드 */

      

      
/* scale(1.3)·transform-origin bottom 시 상단이 잘리지 않게 */

      

      

      

      
/* 디자인4: 첨부 시안처럼 듀오만 고정 크게 노출 (롤링 없음) */

      

      

      

      

      

      

      

      
/* 디자인4: 요청사항 - 상단 문구/설명/버튼 제거 */

      

      

      

      

      

      

      

      

      

      
/* 디자인4: 좌측 5명 라인업은 비표시, 듀오 컨테이너에 전원을 동일 카드로 배치 */

      

      

      

      

      

      

      

      

      

      

      

      

      
/* style.css 구 슬라이더 규칙(음수 마진·active bottom) 해제 — 롤링 하단 정렬 */

      
.visual .lawyer-slider-others .swiper-slide {
        margin-bottom: 0 !important;
      }

      
.visual .lawyer-slider-others .swiper-slide img {
        margin-bottom: 0 !important;
      }

      
@media (max-width: 899px) {
  .visual .visual_left_stack {
          display: contents;
        }
  .visual .title .subtxt .jr-subtxt-nowrap-pc .jr-subtxt-br-mo {
          display: block;
          content: "";
        }
  .visual .visual_two_col {
          flex-direction: column;
          align-items: stretch !important;
          gap: 0 !important;
          row-gap: 0 !important;
        }
  .visual .jr-hero-fixed {
          margin-top: 0 !important;
        }
  .visual .innerWrap {
          padding-left: 0 !important;
        }
  .visual .slogan_wrap {
          text-align: center !important;
          margin-left: 0 !important;
          width: 100%;
          display: flex;
          flex-direction: column;
          align-items: center;
        }
  .visual .title {
          margin-left: 0 !important;
          width: 100%;
          text-align: center !important;
        }
  .visual .title h1,
        .visual .title .subtxt {
          text-align: center !important;
        }
  .visual .btn_group {
          gap: 1rem;
          padding-top: 1.2rem !important;
        }
  .visual .btn_group .btncs {
          padding: 0.8rem 2rem !important;
        }
  .visual .lawyer-slider-container {
          order: 3;
          background: #f5f2ee;
          width: 100vw;
          max-width: 100vw;
          margin-left: calc(50% - 50vw);
          margin-right: calc(50% - 50vw);
          padding: 1.5rem max(1rem, env(safe-area-inset-right, 0px))
            max(0.25rem, env(safe-area-inset-bottom, 0px))
            max(1rem, env(safe-area-inset-left, 0px));
          box-sizing: border-box;
          overflow-x: hidden;
        }
}

      
.jr-hero-fixed {
        position: relative;
        text-align: right;
        margin-top: 2rem;
      }

      
.jr-hero-fixed {
        cursor: pointer;
        outline: none;
        border: none;
      }

      
.jr-hero-fixed:focus {
        outline: none;
      }

      
.jr-hero-fixed .hero-fixed-img {
        width: 100%;
        max-width: 420px;
        height: auto;
        min-height: 280px;
        display: block;
        margin-left: auto;
        object-fit: cover;
        object-position: center top;
        border-radius: 0 0 8px 8px;
        transition: transform 0.3s ease;
      }

      
@media (min-width: 900px) {
  .jr-hero-fixed {
          margin-top: 0;
        }
  .jr-hero-fixed .hero-fixed-img {
          max-width: min(420px, 100%);
          max-height: min(72vh, 640px);
          min-height: 0;
          width: 100%;
          object-fit: cover;
          object-position: center 8%;
        }
}

      
/* 곽윤서 히어로: 배경 그라데이션 없음 — 글자는 그림자로 대비 */

      
.jr-hero-fixed {
        overflow: visible;
      }

      
.jr-hero-fixed.jr-hero-fixed--primary {
        --jr-hero-primary-badge-w: calc(min(18rem, 42vw) * 0.8);
      }

      
.jr-hero-fixed--primary .jr-hero-primary-badge {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.56rem;
        width: var(--jr-hero-primary-badge-w);
        max-width: var(--jr-hero-primary-badge-w);
        min-height: 4rem;
        padding: 0.34rem 1.12rem 0.34rem 0.38rem;
        border: 1px solid rgba(176, 140, 55, 0.42);
        border-radius: 999px;
        background: linear-gradient(
          165deg,
          rgba(255, 252, 245, 0.98) 0%,
          rgba(250, 236, 205, 0.96) 55%,
          rgba(238, 218, 175, 0.94) 100%
        );
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 2px 8px rgba(90, 65, 20, 0.08);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        color: #6e5418;
        font-size: 1.24rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.02em;
        text-shadow: 0 1px 0 rgba(255, 236, 200, 0.55), 0 1px 2px rgba(40, 28, 5, 0.12);
        white-space: nowrap;
        box-sizing: border-box;
      }

      
/* 역할 배지: 원형 배경 + ::after에서 hero-role-badge 실루엣만 금색 그라데이션(메달 pill과 통일) */

      
.jr-hero-fixed--primary .jr-hero-primary-badge::before {
        content: "";
        display: inline-block;
        width: 3.18rem;
        height: 3.18rem;
        flex: 0 0 3.18rem;
        border-radius: 999px;
        background: linear-gradient(155deg, #fffcf5 0%, #f2e2bc 50%, #e4ce94 100%);
        border: 1px solid rgba(168, 130, 45, 0.38);
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.55),
          0 2px 8px rgba(100, 75, 25, 0.12);
      }

      
.jr-hero-fixed--primary .jr-hero-primary-badge::after {
        content: "";
        position: absolute;
        left: 0.38rem;
        top: 50%;
        width: 3.18rem;
        height: 3.18rem;
        transform: translateY(-50%);
        pointer-events: none;
        background: linear-gradient(
          155deg,
          #c9a33a 0%,
          #a67c00 35%,
          #7a5900 65%,
          #4a3206 100%
        );
        -webkit-mask-image: url("/images/CI_symbol.svg");
        -webkit-mask-size: 76%;
        -webkit-mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-image: url("/images/CI_symbol.svg");
        mask-size: 76%;
        mask-position: center;
        mask-repeat: no-repeat;
        filter: contrast(1.14) saturate(1.1)
          drop-shadow(0 0 0.55px rgba(28, 18, 4, 0.65))
          drop-shadow(0 0.6px 0.8px rgba(28, 18, 4, 0.4));
      }

      
/* 사진 오른쪽: 금메달 배지 + 그 아래 역할 배지(세로 스택) */

      
.jr-hero-fixed--primary .jr-hero-primary-badge-right-stack {
        position: absolute;
        left: 100%;
        top: 2.25rem;
        margin-left: 0.45rem;
        transform: translate(-90px, -100px);
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.42rem;
        pointer-events: none;
      }

      
.jr-hero-fixed--primary .jr-hero-primary-badge-right {
        position: static;
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 0.56rem;
        width: var(--jr-hero-primary-badge-w);
        max-width: var(--jr-hero-primary-badge-w);
        min-height: 4rem;
        padding: 0.34rem 1.12rem 0.34rem 0.38rem;
        border: 1px solid rgba(176, 140, 55, 0.42);
        border-radius: 999px;
        background: linear-gradient(
          165deg,
          rgba(255, 252, 245, 0.98) 0%,
          rgba(250, 236, 205, 0.96) 55%,
          rgba(238, 218, 175, 0.94) 100%
        );
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 2px 8px rgba(90, 65, 20, 0.08);
        color: #6e5418;
        font-size: 1.24rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        text-shadow: 0 1px 0 rgba(255, 236, 200, 0.55), 0 1px 2px rgba(40, 28, 5, 0.12);
        box-sizing: border-box;
      }

      
.jr-hero-fixed--primary .jr-hero-primary-badge-right__medal {
        width: auto;
        height: 3.75rem;
        max-height: 4.5rem;
        display: block;
        flex: 0 0 auto;
        object-fit: contain;
      }

      
.jr-hero-fixed--primary .jr-hero-primary-badge-right__inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 0.1rem;
        line-height: 1.18;
        flex: 1 1 auto;
        min-width: 0;
      }

      
.jr-hero-fixed--primary .jr-hero-primary-badge-right__l1,
      .jr-hero-fixed--primary .jr-hero-primary-badge-right__l2 {
        font-size: inherit;
        font-weight: 700;
        letter-spacing: inherit;
        white-space: nowrap;
      }

      
.jr-hero-fixed--primary.jr-hero-primary--no-kbar-cert .jr-hero-primary-badge-right {
        display: none !important;
      }

      
.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right__medal {
        display: none !important;
      }

      
.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right {
        position: relative;
        padding-left: calc(0.38rem + 3.18rem + 0.65rem);
      }

      
.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::before {
        content: "";
        position: absolute;
        left: 0.38rem;
        top: 50%;
        width: 3.18rem;
        height: 3.18rem;
        transform: translateY(-50%);
        border-radius: 999px;
        background: linear-gradient(155deg, #fffcf5 0%, #f2e2bc 50%, #e4ce94 100%);
        border: 1px solid rgba(168, 130, 45, 0.38);
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.55),
          0 2px 8px rgba(100, 75, 25, 0.12);
        pointer-events: none;
      }

      
.jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::after {
        content: "";
        position: absolute;
        left: 0.38rem;
        top: 50%;
        width: 3.18rem;
        height: 3.18rem;
        transform: translateY(-50%);
        pointer-events: none;
        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;
      }

      
.jr-hero-fixed .lawyer-info {
        position: absolute;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        box-sizing: border-box;
        width: 100%;
        opacity: 1;
        background: none;
        border-radius: 0 0 8px 8px;
        padding: 2rem 0 4rem max(20px, env(safe-area-inset-left, 0px));
        margin: 0;
        text-align: left;
      }

      
/* 태블릿: 좌우 여백 유지 */

      
@media (max-width: 1024px) and (min-width: 900px) {
  .jr-hero-fixed .lawyer-info {
          align-items: stretch !important;
          width: 100% !important;
          left: 0 !important;
          right: 0 !important;
          padding: 1.5rem 0 3.25rem max(20px, env(safe-area-inset-left, 0px)) !important;
          border-radius: 0 0 8px 8px;
        }
  .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: none !important;
          align-self: center !important;
        }
}

      
/* 모바일: 밴드 가로 끝, 텍스트는 왼쪽 20px(+safe-area)만 */

      
@media (max-width: 899px) {
  .jr-hero-fixed.jr-hero-fixed--primary {
          --jr-hero-primary-badge-w: calc(min(18rem, calc(100vw - 2rem)) * 0.8);
        }
  .jr-hero-fixed--primary .jr-hero-primary-badge {
          min-height: 3.5rem;
          gap: 0.42rem;
          font-size: 1.08rem;
          padding: 0.28rem 0.88rem 0.28rem 0.34rem;
          width: var(--jr-hero-primary-badge-w);
          max-width: var(--jr-hero-primary-badge-w);
        }
  .jr-hero-fixed--primary .jr-hero-primary-badge::before {
          width: 2.78rem;
          height: 2.78rem;
          flex-basis: 2.78rem;
        }
  .jr-hero-fixed--primary .jr-hero-primary-badge::after {
          left: 0.34rem;
          width: 2.78rem;
          height: 2.78rem;
        }
  .jr-hero-fixed--primary .jr-hero-primary-badge-right-stack {
          left: auto;
          right: 0;
          top: 1rem;
          transform: translate(-90px, -100px);
          margin-left: 0;
          margin-right: 0;
        }
  .jr-hero-fixed--primary .jr-hero-primary-badge-right {
          width: var(--jr-hero-primary-badge-w);
          max-width: var(--jr-hero-primary-badge-w);
          font-size: 1.08rem;
          min-height: 3.5rem;
          padding: 0.28rem 0.75rem 0.28rem 0.34rem;
          gap: 0.42rem;
        }
  .jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right {
          padding-left: calc(0.34rem + 2.78rem + 0.55rem);
        }
  .jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::before,
        .jr-hero-fixed--primary.jr-hero-primary--upper-plain .jr-hero-primary-badge-right::after {
          left: 0.34rem;
          width: 2.78rem;
          height: 2.78rem;
        }
  .jr-hero-fixed--primary .jr-hero-primary-badge-right__medal {
          height: 3.1rem;
          max-height: 3.4rem;
        }
  .jr-hero-fixed .lawyer-info {
          align-items: stretch !important;
          width: 100% !important;
          left: 0 !important;
          right: 0 !important;
          padding: 1.35rem 0 3rem max(20px, env(safe-area-inset-left, 0px)) !important;
          border-radius: 0 !important;
        }
  .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: none !important;
          align-self: center !important;
        }
}

      
/* 와이드 PC만 좌측 타이포 오프셋(ch) 유지 */

      
@media (min-width: 1025px) {
  .jr-hero-fixed .lawyer-info {
          top: auto !important;
          bottom: 0 !important;
          padding: 1.4rem 0 1.2rem max(20px, env(safe-area-inset-left, 0px)) !important;
          background: none !important;
        }
  .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          transform: translateX(-2ch) !important;
        }
}

      
.jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
        position: static;
        left: auto;
        top: auto;
        transform: translateX(-5ch);
        align-self: center;
        margin: 0 0 0.55rem 0;
        padding: 0.75rem 1.5rem;
        background: rgba(58, 46, 38, 0.88);
        backdrop-filter: blur(6px);
        color: #fffaf6;
        font-size: 1.5rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        line-height: 1.3;
        border-radius: 10px;
        border: 1px solid rgba(255, 245, 235, 0.32);
        box-shadow: 0 4px 20px rgba(48, 36, 28, 0.22);
        text-shadow: 0 1px 2px rgba(32, 22, 16, 0.35);
        white-space: nowrap;
        opacity: 1;
        transition: box-shadow 0.28s ease;
        pointer-events: auto;
        cursor: pointer;
        z-index: auto;
      }

      
@media (max-width: 899px) {
  .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
          font-size: 1.35rem;
          padding: 0.65rem 1.3rem;
        }
}

      
.jr-hero-fixed .lawyer-info > p {
        align-self: stretch;
        text-align: left;
        /* rem으로 통일 — 5ch는 제목(큰 글자)과 경력(작은 글자)마다 폭이 달라 이탈이 생김 */
        padding-left: 2.75rem;
        box-sizing: border-box;
      }

      
.jr-hero-fixed .lawyer-info > p:first-of-type {
        font-size: 2.4rem;
        color: #fffefb !important;
        margin: 0 0 0.3rem 0;
        font-weight: 600;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85), 0 0 20px rgba(0, 0, 0, 0.45), 0 2px 12px rgba(20, 14, 10, 0.55);
      }

      
.jr-hero-fixed .lawyer-info h3 {
        font-size: 1.8rem;
        font-weight: 700;
        color: #fffefb;
        margin: 0 0 0.35rem 0;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82), 0 0 16px rgba(0, 0, 0, 0.42);
      }

      
.jr-hero-fixed .lawyer-info h3 + p,
      .jr-hero-fixed .lawyer-info p:last-of-type {
        font-size: 1.4rem;
        color: rgba(255, 250, 244, 0.98);
        margin: 0;
        font-weight: 500;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 14px rgba(0, 0, 0, 0.4);
      }

      
/* PC에서도 전화상담/상담신청 버튼 모두 노출 */

      
@media (min-width: 951px) {
  .visual .btn_group .btnCall {
          display: flex !important;
        }
}

      
/* 롤링: 슬라이드 하단 정렬(히어로 베이스라인) + 활성 시 아래 고정·위로만 확대 */

      
.visual .lawyer-slider-others .swiper-wrapper {
        align-items: flex-end !important;
      }

      
/* 5명 사진: 비율 박스 유지, 이미지는 프레임 하단 기준 */

      
.visual .lawyer-slider-others .swiper-slide {
        min-height: 200px;
        min-width: 0;
        flex-shrink: 0;
        align-self: flex-end;
        position: relative;
        box-sizing: border-box;
        /* 카드: 어두운 갈색 + 높은 투명도 — 뒤 배경이 비치며 전체 톤 유지 */
        background: rgba(42, 34, 28, 0.12) !important;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 250, 245, 0.16);
        box-shadow: 0 4px 18px rgba(40, 32, 26, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
        border-radius: 12px;
        overflow: hidden;
        cursor: pointer;
        transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
      }

      
.visual .lawyer-slider-others .swiper-slide-active {
        bottom: auto !important;
        background: rgba(48, 38, 32, 0.2) !important;
        border-color: rgba(255, 252, 248, 0.22);
        box-shadow: 0 6px 22px rgba(40, 32, 26, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
      }

      
.visual .lawyer-slider-others .swiper-slide::before {
        content: "";
        display: block;
        padding-top: 143%;
        width: 100%;
      }

      
.visual .lawyer-slider-others .swiper-slide img {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        width: 100%;
        height: 100% !important;
        min-height: 0;
        object-fit: cover;
        object-position: center bottom;
        transform: scale(0.9);
        transform-origin: bottom center;
        filter: opacity(55%) brightness(0.9);
        transition: transform 0.35s ease, filter 0.35s ease;
      }

      
.visual .lawyer-slider-others .swiper-slide-active img {
        filter: grayscale(0%) brightness(1);
        transform: scale(calc(1.12 * 0.9));
        transform-origin: bottom center !important;
      }

      
/* PC: contain 여백도 동일 반투명 톤 */

      
@media (min-width: 900px) {
  #jrMember.visual .lawyer-slider-others .swiper-slide {
          background: rgba(42, 34, 28, 0.12) !important;
        }
  #jrMember.visual .lawyer-slider-others .swiper-slide-active {
          background: rgba(48, 38, 32, 0.2) !important;
        }
  #jrMember.visual .lawyer-slider-others .swiper-slide::before {
          padding-top: 95%;
        }
  #jrMember.visual .lawyer-slider-others .swiper-slide img {
          object-fit: contain;
          object-position: bottom center;
          transform: scale(1);
          transform-origin: bottom center;
        }
  #jrMember.visual .lawyer-slider-others .swiper-slide-active img {
          transform: scale(1);
          transform-origin: bottom center !important;
        }
}

      
/* 텍스트 밴드: 배경·그라데이션 없음 — text-shadow로만 대비(활성 동일) */

      
.visual .lawyer-slider-others .lawyer-info {
        position: absolute;
        left: 50%;
        right: auto;
        bottom: 0;
        top: auto;
        transform: translateX(-50%);
        width: max-content;
        max-width: 92%;
        min-height: 0;
        height: auto;
        padding: 0.45rem 1rem 0.55rem;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
        background: transparent !important;
        background-image: none !important;
        opacity: 1;
        transition: opacity 0.3s ease;
      }

      
.visual .lawyer-slider-others .lawyer-info::before,
      .visual .lawyer-slider-others .lawyer-info::after {
        display: none !important;
        content: none !important;
      }

      
.visual .lawyer-slider-others .swiper-slide-active .lawyer-info {
        padding: 0.75rem 1.15rem 0.65rem;
        border-radius: 0;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none;
      }

      
/* 비활성: 글자만 그림자로 대비 */

      
.visual .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info {
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 1px rgba(0, 0, 0, 0.8);
      }

      
.visual .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info h3 {
        visibility: hidden;
        opacity: 0;
        height: 0;
        overflow: hidden;
        margin: 0;
        padding: 0;
        font-size: 0;
        line-height: 0;
      }

      
/* 대기 상태: pro 한 줄만 — 좁은 박스에 맞게 보정 */

      
.visual .lawyer-slider-others .swiper-slide:not(.swiper-slide-active) .lawyer-info p:first-child {
        margin-top: -1em !important;
      }

      
.visual .lawyer-slider-others .lawyer-info p,
      .visual .lawyer-slider-others .lawyer-info h3 {
        padding-left: 0;
        overflow: visible;
        white-space: normal;
        color: #c4b8a8 !important; /* 어두운 따뜻한 베이지 */
        font-weight: 600;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
        text-align: center;
      }

      
.visual .lawyer-slider-others .swiper-slide-active .lawyer-info p,
      .visual .lawyer-slider-others .swiper-slide-active .lawyer-info h3 {
        color: #f2ebe3 !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
      }

      
.visual .lawyer-slider-others .swiper-slide-active .lawyer-info p:first-child {
        color: #fff !important;
        text-align: center;
        margin-top: 0;
      }

      
.visual .lawyer-slider-others .lawyer-info p:first-child {
        color: #c4b8a8 !important;
        font-size: 2rem !important;
        font-weight: 600;
        text-align: center;
        margin-top: 0;
      }

      
/* pro 아래 과거 경력 한 줄 (각 프로필 페이지와 맞춤) */

      
.visual .lawyer-slider-others .jr-lawyer-career-one {
        font-size: clamp(0.88rem, 2vw, 1.08rem) !important;
        font-weight: 500 !important;
        margin: 0.2rem 0 0 !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        color: #aea090 !important;
        text-align: center;
      }

      
.visual .lawyer-slider-others .swiper-slide-active .jr-lawyer-career-one {
        color: #e4d9cc !important;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
      }

      
/* 효과(활성) 시: 경력 한 줄을 이름(h3) 아래로 */

      
.visual .lawyer-slider-others .swiper-slide-active .lawyer-info > p:first-of-type {
        order: 1;
      }

      
.visual .lawyer-slider-others .swiper-slide-active .lawyer-info > h3 {
        order: 2;
        margin-top: 0.25rem !important;
        margin-bottom: 0 !important;
      }

      
.visual .lawyer-slider-others .swiper-slide-active .lawyer-info > .jr-lawyer-career-one {
        order: 3;
        margin-top: 0.35rem !important;
      }

      
.visual .lawyer-slider-others .lawyer-info h3 {
        font-size: 1.4rem; /* pro와 크기 맞바꿈 */
        text-align: center;
      }

      
.visual .lawyer-slider-others .lawyer-info h3 + p,
      .visual .lawyer-slider-others .lawyer-info p:last-of-type {
        color: #b5a898 !important; /* 더 어두운 베이지 */
        font-weight: 500;
        font-size: 1.05rem;
        text-align: center;
      }

      
/* 디자인1 활성 카드: 컬러 강조 + 이름/경력 노출 */

      

      

      

      

      

      

      
/* 요청사항: 맨 왼쪽(active) 카드 단독 강조 제거 */

      
#jrMember.visual .lawyer-slider-others .swiper-slide-active {
        background: rgba(42, 34, 28, 0.12) !important;
        border-color: rgba(255, 250, 245, 0.16) !important;
        box-shadow: 0 4px 18px rgba(40, 32, 26, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
      }

      
#jrMember.visual .lawyer-slider-others .swiper-slide-active img {
        filter: opacity(55%) brightness(0.9) !important;
        transform: scale(0.9) !important;
      }

      
#jrMember.visual .lawyer-slider-others .swiper-slide-active .lawyer-info {
        padding: 0.45rem 1rem 0.55rem !important;
      }

      
#jrMember.visual .lawyer-slider-others .swiper-slide-active .lawyer-info h3 {
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
      }

      
#jrMember.visual .lawyer-slider-others .swiper-slide-active .jr-lawyer-career-one {
        display: block !important;
        color: #aea090 !important;
        text-shadow: none !important;
      }

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      
/* 디자인1: 현재 active인 카드는 누구든 동일하게 컬러 강조 */

      

      

      

      

      

      

      
@media (max-width: 899px) {
  .visual .lawyer-slider-others .jr-lawyer-career-one {
          color: rgba(255, 255, 255, 0.88) !important;
        }
  .visual .lawyer-slider-others .lawyer-info p,
        .visual .lawyer-slider-others .lawyer-info h3 {
          color: #fff !important; /* 모바일: 학폭전략센터장과 동일 */
        }
  .visual .lawyer-slider-others .lawyer-info p:first-child,
        .visual .lawyer-slider-others .lawyer-info h3 + p,
        .visual .lawyer-slider-others .lawyer-info p:last-of-type {
          color: #fff !important;
        }
}

      
/* 디자인1 카드 경력 문구: 항상 한 줄 + 말줄임 */

      

      
/* 방송 출연 영상 섹션 - 다른 섹션과 동일한 높이감 */

      
.jr-broadcast-section { min-height: 50vh; }

      
.jr-broadcast-section .innerWrap { gap: var(--jr-section-head-content-gap) !important; }

      
.jr-broadcast-header { text-align: center; margin-bottom: 0; margin-top: 0; }

      
.jr-broadcast-header .jr-broadcast-title { margin-bottom: 0.35rem; }

      
.jr-broadcast-header .jr-broadcast-desc { margin: 0; }

      
.jr-broadcast-badge { display: inline-block; padding: 0.4rem 1rem; border-radius: 6px; background: #050505; color: #fff; font-size: 1.1rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.8rem; }

      
.jr-broadcast-title { font-size: var(--jr-type-title); font-weight: 700; color: #050505; }

      
.jr-broadcast-desc { font-size: var(--jr-type-section-desc); color: var(--brown700, #050505); font-weight: 400; }

      
/* 섹션 desc 공통: PC는 한 줄 흐름, 모바일·태블릿(≤1199px)에서만 br 표시 */

      
.jr-broadcast-desc br.jr-desc-br-mo,
      .jr-press-desc br.jr-desc-br-mo,
      .jr-blog-desc br.jr-desc-br-mo,
      .jr-instagram-desc br.jr-desc-br-mo,
      .jr-naver-reviews-desc br.jr-desc-br-mo {
        display: none;
      }

      
@media (max-width: 1199px) {
  .jr-broadcast-desc br.jr-desc-br-mo,
        .jr-press-desc br.jr-desc-br-mo,
        .jr-blog-desc br.jr-desc-br-mo,
        .jr-instagram-desc br.jr-desc-br-mo,
        .jr-naver-reviews-desc br.jr-desc-br-mo {
          display: block;
        }
}

      
.jr-media-width { max-width: 1200px; width: 100%; margin-left: auto; margin-right: auto; }

      
.jr-broadcast-section .jr-media-width { margin-top: 0 !important; padding-top: 0; margin-bottom: 2rem; }

      
.jr-broadcast-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; width: 100%; }

      
@media (min-width: 768px) {
  .jr-broadcast-grid { grid-template-columns: repeat(2, 1fr); }
}

      
@media (min-width: 1024px) {
  .jr-broadcast-grid { grid-template-columns: repeat(3, 1fr); }
}

      
.jr-broadcast-card { background: #fff; border: 1px solid transparent; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; cursor: pointer; text-align: left; }

      
.jr-broadcast-card:hover { transform: translateY(-6px); box-shadow: 0 14px 28px rgba(0,0,0,0.12), 0 0 0 2px rgba(255, 140, 0, 0.45); border-color: rgba(255, 140, 0, 0.6); }

      
.jr-video-wrap { position: relative; aspect-ratio: 16/9; background: #e5e7eb; overflow: hidden; border-radius: 12px 12px 0 0; }

      
.jr-video-thumb { position: absolute; inset: 0; }

      
.jr-video-thumb img { width: 100%; height: 100%; object-fit: cover; }

      
.jr-channel-badge { position: absolute; left: 0.75rem; top: 0.75rem; padding: 0.3rem 0.6rem; border-radius: 4px; background: #000000; color: #fff; font-size: 1.1rem; font-weight: 600; letter-spacing: 0.02em; }

      
.jr-duration-badge { position: absolute; right: 0.75rem; bottom: 0.75rem; padding: 0.25rem 0.5rem; border-radius: 4px; background: #000000; color: #fff; font-size: 1.1rem; }

      
.jr-play-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 6.5rem; height: 6.5rem; min-width: 6.5rem; min-height: 6.5rem; border-radius: 50%; background: rgba(51, 51, 51, 0.65); border: 3px solid #B87C48; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, border-width 0.3s ease; }

      
.jr-play-btn svg { width: 2.6rem; height: 2.6rem; fill: #B87C48; transition: fill 0.3s ease; margin-left: 0.15rem; }

      
.jr-broadcast-card:hover .jr-play-btn { background: #333333; border: 5px solid #CD834E; transform: translate(-50%, -50%) scale(1.06); }

      
.jr-broadcast-card:hover .jr-play-btn svg { fill: #CD834E; }

      
.jr-video-iframe-wrap { position: absolute; inset: 0; }

      
.jr-video-iframe-wrap iframe { width: 100%; height: 100%; border: 0; }

      
.jr-broadcast-card-body { padding: 0 1rem 1rem 1rem; display: flex; flex-direction: column; gap: 0.25rem; }

      
.jr-broadcast-card-body h3 { font-size: 1.6rem; font-weight: 700; color: #000000; margin: 0; line-height: 1.3; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color 0.3s ease; }

      
.jr-broadcast-card:hover .jr-broadcast-card-body h3 { color: #000000; }

      
.jr-broadcast-card-body p { font-size: 1.4rem; color: #000000; margin: 0; line-height: 1.4; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

      
.jr-broadcast-meta { display: flex; align-items: center; justify-content: space-between; font-size: 1.2rem; color: #666666; margin-top: auto; gap: 0.5rem; flex-wrap: wrap; }

      
.jr-broadcast-meta .jr-meta-date { display: inline-flex; align-items: center; gap: 0.35rem; }

      
.jr-broadcast-meta .jr-meta-views { display: inline-flex; align-items: center; gap: 0.35rem; }

      
.jr-broadcast-meta svg { width: 1.4rem; height: 1.4rem; flex-shrink: 0; }

      
.jr-section-more-wrap { margin-top: var(--jr-section-head-content-gap); display: flex; justify-content: center; width: 100%; }

      
/* 하단 여백은 #target .sect padding-bottom으로만 확보 — 더보기 아래 15em은 비대칭·과다 여백 유발 */
.jr-press-section .jr-section-more-wrap { margin-bottom: 0; }

      
.jr-section-more-btn { display: inline-flex; align-items: center; gap: 0.75rem 1rem; padding: 0.85rem 1.75rem; border-radius: 9999px; background: #3d352b; border: 1px solid #6b5d52; color: #fff; font-size: 1.35rem; font-weight: 500; text-decoration: none; transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease; }

      
.jr-section-more-btn:hover { background: #4a4035; border-color: #8b7355; color: #fff; transform: translateY(-1px); }

      
.jr-section-more-btn svg { width: 1.35rem; height: 1.35rem; flex-shrink: 0; stroke: currentColor; fill: none; }

      
/* 신문/온라인 보도 섹션 - 방송 섹션과 동일한 제목·표 간격 */

      
.jr-press-section .jr-media-width { margin-top: var(--jr-section-head-content-gap) !important; }

      
.jr-press-section .innerWrap { gap: 0 !important; }

      
.jr-press-header { text-align: center; margin-bottom: 0; }

      
.jr-press-header .jr-press-desc { margin: 0; }

      
/* 메인 #jrPress: 모바일(≤899px)만 최대 3건 — PC(≥900px)는 5건 */

      
@media (max-width: 899px) {
  #jrPress .jr-press-list > .jr-press-card:nth-child(n + 4) {
          display: none !important;
        }
}

      
.jr-press-badge { display: inline-flex; align-items: center; padding: 0.4rem 1rem; border-radius: 9999px; background: var(--brown200, #e8c7a7); color: var(--brown800); font-size: 1.2rem; font-weight: 600; margin-bottom: 0.8rem; }

      
.jr-press-title { font-size: var(--jr-type-title); color: var(--brown900); margin-bottom: 0.5rem; }

      
.jr-press-desc { font-size: var(--jr-type-section-desc); color: var(--brown700); }

      
.jr-press-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; width: 100%; }

      
.jr-press-card { display: flex; flex-wrap: wrap; border: 1px solid #eee; border-radius: 10px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.06); overflow: hidden; transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s; }

      
.jr-press-card:hover { transform: translateY(-2px); border-color: var(--brown800); box-shadow: 0 10px 15px rgba(0,0,0,0.08); }

      
.jr-press-card { cursor: pointer; }

      
.jr-press-card.hidden { display: none !important; }

      
.jr-press-card-left { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 1rem 1.25rem; min-width: 0; width: 100%; background: #fafaf9; border-bottom: 1px solid #eee; }

      
@media (min-width: 640px) {
  .jr-press-card-left { flex-direction: column; align-items: flex-start; min-width: 12rem; width: auto; border-bottom: none; border-right: 1px solid var(--gray100); }
}

      
.jr-press-cat { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.9rem; border-radius: 9999px; background: #66BB6A; color: #fff; font-size: 1.2rem; font-weight: 600; width: fit-content; }

      
.jr-press-cat svg { width: 1.05rem; height: 1.05rem; flex-shrink: 0; stroke: #fff; fill: none; }

      
.jr-press-source { font-size: 1.35rem; color: #333; font-weight: 500; text-align: left; }

      
.jr-press-card-center { flex: 1; padding: 1rem; min-width: 0; text-align: left; }

      
.jr-press-section .jr-press-card-center h3 { font-size: 2.3rem; font-weight: 600; color: var(--brown900); margin: 0 0 0.75rem 0 !important; text-align: left; }

      
.jr-press-section .jr-press-card-center p { font-size: 1.4rem; color: var(--brown700); margin: 0; margin-top: 0.75rem !important; line-height: 1.4; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: left; }

      
.jr-press-card-right { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 1rem 1.25rem; border-top: 1px solid #eee; width: 100%; }

      
@media (min-width: 640px) {
  .jr-press-card-right { flex-direction: column; align-items: stretch; justify-content: center; border-top: none; border-left: 1px solid var(--gray100); min-width: 12rem; width: auto; }
}

      
@media (min-width: 640px) {
  .jr-press-card-right .jr-press-date { text-align: left; }
}

      
@media (min-width: 640px) {
  .jr-press-card-right .jr-press-link { align-self: flex-end; }
}

      
.jr-press-date { font-size: 1.2rem; color: #333; }

      
.jr-press-link { font-size: 1.4rem; color: var(--brown700); background: none; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.25rem; padding: 0; }

      
.jr-press-link:hover { color: var(--brown500); }

      
.jr-press-empty { text-align: center; padding: 2rem; color: var(--gray600); font-size: 1.4rem; }

      
/* 기사 보기 모달 */

      
.jr-modal-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.7); padding: 1rem; }

      
.jr-modal-content { position: relative; width: 100%; max-width: 56rem; max-height: 90vh; background: transparent; }

      
.jr-modal-close { position: absolute; right: 0.75rem; top: 0.75rem; z-index: 10; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: rgba(0,0,0,0.7); color: #fff; border: none; font-size: 2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }

      
.jr-modal-close:hover { background: #000; }

      
.jr-modal-iframe-wrap { position: relative; width: 100%; height: 70vh; background: #fff; border-radius: 12px; overflow: hidden; }

      
.jr-modal-iframe-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

      
.jr-modal-caption { margin-top: 0.75rem; color: #fff; font-size: 1.4rem; }

      
.jr-modal-title { font-weight: 600; margin: 0 0 0.25rem 0; }

      
.jr-modal-meta { margin: 0; font-size: 1.2rem; color: rgba(255,255,255,0.8); }

      
.jr-press-modal-panel { width: 100%; max-height: 80vh; background: #fff; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }

      
.jr-press-modal-caption { margin: 0; padding: 1rem 1.25rem 0.75rem; color: #2d2419; border-bottom: 1px solid #eee; background: #fff; }

      
.jr-press-modal-title { font-weight: 700; margin: 0.5rem 0 0; font-size: 1.7rem; line-height: 1.35; color: #2d2419; }

      
.jr-press-modal-meta { margin: 0; font-size: 1.2rem; color: #666; }

      
.jr-press-modal-body { padding: 1rem 1.25rem; overflow-y: auto; color: #2d2419; font-size: 1.35rem; line-height: 1.75; background: #fff; }

      
.jr-press-modal-image-wrap { margin-bottom: 1rem; border-radius: 10px; overflow: hidden; background: #f5f5f5; }

      
.jr-press-modal-image { width: 100%; height: auto; display: block; }

      
.jr-press-modal-body p { margin: 0.75rem 0 0; }

      
.jr-press-modal-footer { padding: 0.85rem 1.25rem 1rem; border-top: 1px solid #eee; font-size: 1.2rem; color: #666; background: #fff; }

      
.jr-press-modal-source-link { color: #B87C48; word-break: break-all; text-decoration: none; }

      
.jr-press-modal-source-link:hover { text-decoration: underline; }

      
/* 네이버 학폭 블로그 (Downloads index 동기화) */

      

      
.jr-blog-section .jr-media-width { margin-top: var(--jr-section-head-content-gap) !important; }

      
.jr-blog-section .innerWrap { gap: 0 !important; }

      
.jr-blog-header { text-align: center; margin-bottom: 0; margin-top: 0; }

      
.jr-blog-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: #2d2419;
        color: #fff;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        width: fit-content;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0.8rem;
        text-transform: uppercase;
      }

      
.jr-blog-title { font-size: var(--jr-type-title); font-weight: 700; color: var(--brown900, #050505); margin: 0; }

      
.jr-blog-desc { font-size: var(--jr-type-section-desc); color: var(--brown700, #050505); font-weight: 400; margin-top: 0.45rem; }

      
.jr-blog-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; width: 100%; }

      
@media (min-width: 768px) {
  .jr-blog-grid { grid-template-columns: repeat(2, 1fr); }
}

      
@media (min-width: 1024px) and (max-width: 1199px) {
  .jr-blog-grid { grid-template-columns: repeat(3, 1fr); }
}

      
@media (min-width: 1200px) {
  .jr-blog-grid { grid-template-columns: repeat(4, 1fr); }
}

      
.jr-blog-card { background: #fff; border: none; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 10px rgba(45,36,25,0.07); transition: transform 0.3s ease, box-shadow 0.3s ease; text-decoration: none; color: inherit; appearance: none; -webkit-appearance: none; display: block; width: 100%; text-align: left; cursor: pointer; padding: 0; }

      
.jr-blog-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(0,0,0,0.12); }

      
.jr-blog-thumb { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #f1ece6; }

      
.jr-blog-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

      
.jr-blog-body { padding: 0.9rem 1rem 1rem; }

      
.jr-blog-body h3 { margin: 0; font-size: 1.55rem; color: #1f1711; line-height: 1.35; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.1rem; }

      
.jr-blog-date { margin-top: 0.6rem; font-size: 1.2rem; color: #6d6357; }

      
.jr-blog-empty { text-align: center; padding: 2rem; color: #6d6357; font-size: 1.4rem; }

      
/* crime index.html 동일 마크업 — 정적 카드(키워드·썸네일 16:9) */

      
#jrBlog .jr-blog-grid--static .jr-blog-card {
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
        text-align: left;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__thumb {
        position: relative;
        aspect-ratio: 16 / 9;
        background: #f1ece6;
        overflow: hidden;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__thumb img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__body {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.9rem 1rem 1rem;
        flex: 1 1 auto;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__keywords {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.35rem 0.4rem;
        margin: 0;
        line-height: 1.3;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__keyword {
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--brown700, #6d4c32);
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__keyword-sep {
        color: #a89888;
        font-weight: 400;
        font-size: 1.2rem;
        user-select: none;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__title {
        margin: 0;
        font-size: 1.55rem;
        font-weight: 700;
        color: #1f1711;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }

      
#jrBlog .jr-blog-grid--static .jr-blog-card__desc {
        margin: 0;
        font-size: 1.35rem;
        color: var(--brown700, #4e4438);
        line-height: 1.45;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }

      
/* JR 맞춤 변호사 매칭 — 미니멀 · 전문 톤 */

section.lawyer-search-wrap.lawyer-match {
  background: #f4f6f8;
}

section.lawyer-search-wrap .innerWrap {
  gap: var(--jr-section-head-content-gap) !important;
}

.lawyer-search-wrap.lawyer-match .lawyer-search-head {
  text-align: center;
  margin-bottom: 0;
}

.lawyer-search-wrap.lawyer-match .lawyer-search-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0.6rem;
  padding: 0.32rem 0.9rem;
  border-radius: 4px;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.lawyer-match-title-em {
  color: #1e3a5f;
  font-weight: 800;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.lawyer-search-wrap.lawyer-match .lawyer-search-desc {
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
  color: #64748b;
  font-weight: 500;
}

.lawyer-match-outer {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}

.lawyer-match-shell.lawyer-search-sect {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  padding: 0;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
}

.lawyer-match-shell.lawyer-search-sect::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #1e3a5f;
  border-radius: 12px 0 0 12px;
  pointer-events: none;
}

.lawyer-match-shell-inner {
  padding: clamp(0.85rem, 2.2vw, 1.2rem) clamp(1.1rem, 2.5vw, 1.5rem);
  padding-left: calc(clamp(1.1rem, 2.5vw, 1.5rem) + 3px);
}

.lawyer-match-stepper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin-bottom: 0.75rem;
  padding: 0;
}

.lawyer-match-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  flex: 0 0 auto;
}

.lawyer-match-step__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  background: #1e3a5f;
  line-height: 1;
}

.lawyer-match-step__lab {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lawyer-match-stepper__line {
  flex: 1 1 2rem;
  min-width: 1.25rem;
  max-width: 3.5rem;
  height: 2px;
  margin-top: 1rem;
  background: #e2e8f0;
  border: none;
  align-self: flex-start;
}

.lawyer-match-body {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lawyer-match-panel {
  border-radius: 0;
  padding: 0;
  box-sizing: border-box;
}

.lawyer-match-panel--cats {
  background: transparent;
  border: none;
  padding-bottom: 0.65rem;
  margin-bottom: 0.65rem;
  border-bottom: 1px solid #f1f5f9;
}

.lawyer-match-panel--refine {
  background: transparent;
  border: none;
  padding-bottom: 0;
}

.lawyer-match-panel-kicker {
  margin: 0 0 0.45rem;
  font-size: clamp(1.22rem, 1.08rem + 0.3vw, 1.32rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.lawyer-match-optional {
  font-weight: 500;
  font-size: 0.88em;
  color: #94a3b8;
  letter-spacing: 0;
  text-transform: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lawyer-match-categories {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 0.4rem;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  padding-bottom: 0.2rem;
  scrollbar-width: thin;
}

.lawyer-match-categories::-webkit-scrollbar {
  height: 4px;
}

.lawyer-match-categories::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

.lawyer-match-categories button.lawyer-match-cat {
  appearance: none;
  -webkit-appearance: none;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  width: auto;
  min-width: 7.5rem;
  max-width: 10.5rem;
  min-height: 0;
  margin: 0;
  padding: 0.4rem 0.5rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fafbfc;
  color: #0f172a;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  box-sizing: border-box;
  scroll-snap-align: start;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.lawyer-match-categories button.lawyer-match-cat:hover {
  border-color: #cbd5e1;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

.lawyer-match-categories button.lawyer-match-cat.is-active {
  border-color: #1e3a5f;
  background: #fff;
  box-shadow: 0 0 0 1px #1e3a5f;
}

.lawyer-match-categories button.lawyer-match-cat:focus-visible {
  outline: 2px solid #1e3a5f;
  outline-offset: 2px;
}

.lawyer-match-cat__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0;
  margin-right: 0.4rem;
  border-radius: 6px;
  background: #f1f5f9;
  color: #1e3a5f;
}

.lawyer-match-cat__icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.lawyer-match-cat__main {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  min-width: 0;
  flex: 1 1 auto;
}

.lawyer-match-cat__title {
  font-size: clamp(1.05rem, 0.98rem + 0.2vw, 1.18rem);
  font-weight: 700;
  line-height: 1.2;
  color: #0f172a;
  word-break: keep-all;
}

.lawyer-match-cat__hint {
  font-size: clamp(0.88rem, 0.82rem + 0.15vw, 0.98rem);
  font-weight: 500;
  color: #94a3b8;
  line-height: 1.2;
}

.lawyer-match-refine-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  align-items: stretch;
}

@media (max-width: 520px) {
  .lawyer-match-refine-row {
    grid-template-columns: 1fr;
  }
}

/* FINAL width override (must be last) */
section.lawyer-search-wrap.lawyer-match > .innerWrap {
  width: min(210rem, calc(100vw - 4rem)) !important;
  max-width: none !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-outer {
  width: min(100%, 150rem) !important;
  max-width: 150rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect {
  width: 100% !important;
  max-width: none !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-refine-row {
  width: min(100%, 120rem) !important;
  max-width: 120rem !important;
}
@media (max-width: 767px) {
  section.lawyer-search-wrap.lawyer-match > .innerWrap {
    width: calc(100vw - 2rem) !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  section.lawyer-search-wrap.lawyer-match .lawyer-match-outer,
  section.lawyer-search-wrap.lawyer-match .lawyer-match-refine-row {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ===== Lawyer Match UX Refresh (high readability) ===== */
section.lawyer-search-wrap.lawyer-match {
  background: #f6f4f1 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-search-head h2 {
  color: #2f2923 !important;
  letter-spacing: -0.015em !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-search-desc {
  color: #6a6158 !important;
  font-weight: 600 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect {
  background: #ffffff !important;
  border: 1px solid #ddd6cd !important;
  box-shadow: 0 8px 18px rgba(50, 42, 33, 0.06) !important;
  border-radius: 14px !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-label {
  color: #4a4138 !important;
  font-weight: 800 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell select {
  background: #fff !important;
  border: 1px solid #d3cbc1 !important;
  color: #2f2923 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-keyword {
  background: #fff !important;
  border: 1px solid #d3cbc1 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell input[type="search"],
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell input[type="text"] {
  color: #2f2923 !important;
  font-weight: 600 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell input::placeholder {
  color: #8a8074 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell select:focus,
section.lawyer-search-wrap.lawyer-match .lawyer-match-keyword:focus-within {
  border-color: #9b7a56 !important;
  box-shadow: 0 0 0 3px rgba(155, 122, 86, 0.14) !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-results.lawyer-search-results {
  border-top: 1px solid #e7dfd5 !important;
  margin-top: 1.15rem !important;
  padding-top: 1.1rem !important;
  background: #faf8f5 !important;
  border-radius: 10px !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-results-title {
  color: #2f2923 !important;
  font-size: clamp(1.85rem, 1.35vw, 2.05rem) !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-results-list.lawyer-search-results-list {
  gap: 1rem !important;
}
section.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  background: #fff !important;
  border: 1px solid #ddd4c8 !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 10px rgba(50, 42, 33, 0.07) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}
section.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result:hover {
  transform: translateY(-2px) !important;
  border-color: #b89b78 !important;
  box-shadow: 0 8px 16px rgba(82, 66, 47, 0.12) !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  border: 2px solid #e2d8cb !important;
  box-shadow: 0 2px 6px rgba(50, 42, 33, 0.1) !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-name {
  color: #2a241e !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-role {
  color: #6f6457 !important;
}

/* Search result compact horizontal style (photo + name only) */
section.lawyer-search-wrap.lawyer-match .lawyer-match-results-list.lawyer-search-results-list {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 0.8rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 0.3rem !important;
}
section.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  width: auto !important;
  min-width: 16.5rem !important;
  max-width: 24rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  padding: 0.6rem 0.85rem !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-media {
  width: 4.6rem !important;
  height: 4.6rem !important;
  border-right: 0 !important;
  background: transparent !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
  min-height: 4.6rem !important;
  height: 4.6rem !important;
  padding: 0 !important;
  align-items: center !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  width: 4.6rem !important;
  height: 4.6rem !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-body {
  padding: 0 !important;
  min-width: 0 !important;
  gap: 0 !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-name {
  font-size: 1.45rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  margin: 0 !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-tag,
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-blurb,
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-cta {
  display: none !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-results.lawyer-search-results {
  padding-top: 1rem !important;
}

/* Result readability upgrade: 2x photo + title/field line */
section.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  min-width: 26rem !important;
  max-width: 34rem !important;
  gap: 1rem !important;
  padding: 0.9rem 1.05rem !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-media {
  width: 9.2rem !important;
  height: 9.2rem !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
  min-height: 9.2rem !important;
  height: 9.2rem !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  width: 9.2rem !important;
  height: 9.2rem !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-body {
  gap: 0.28rem !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-name {
  font-size: 1.7rem !important;
  font-weight: 800 !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-role {
  display: block !important;
  font-size: 1.28rem !important;
  font-weight: 600 !important;
  color: #6e5c4b !important;
  line-height: 1.35 !important;
}
@media (max-width: 767px) {
  section.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result {
    min-width: 22rem !important;
    max-width: 30rem !important;
  }
  section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-media,
  section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo,
  section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
    width: 7.2rem !important;
    height: 7.2rem !important;
    min-height: 7.2rem !important;
  }
}

/* Final hard override: readability/UI fix */
section.lawyer-search-wrap.lawyer-match .lawyer-search-desc {
  text-align: center !important;
  max-width: 86rem !important;
  margin: 0 auto 2rem !important;
  font-size: clamp(1.34rem, 1.05vw, 1.5rem) !important;
  line-height: 1.65 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect {
  max-width: 147rem !important;
  margin: 0 auto !important;
  padding: 2.2rem 2.4rem !important;
  border: 1px solid #e4dbcf !important;
  border-radius: 12px !important;
  background: #f6f3ee !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-refine-row {
  width: min(100%, 117rem) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.2rem !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-field {
  width: 100% !important;
  min-width: 0 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-label {
  display: block !important;
  text-align: center !important;
  margin-bottom: 0.5rem !important;
  font-size: clamp(1.45rem, 1.15vw, 1.62rem) !important;
  font-weight: 700 !important;
  color: #5d5042 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell select,
section.lawyer-search-wrap.lawyer-match .lawyer-match-keyword {
  width: 100% !important;
  height: 4.6rem !important;
  min-height: 4.6rem !important;
  border-radius: 9px !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-results-title {
  text-align: center !important;
  margin: 0 0 1.1rem !important;
  font-size: clamp(1.76rem, 1.4vw, 2rem) !important;
  font-weight: 800 !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-results-list.lawyer-search-results-list {
  width: min(100%, 62rem) !important;
  margin: 0 auto !important;
  grid-template-columns: 1fr !important;
  gap: 1rem !important;
}
section.lawyer-search-wrap.lawyer-match a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  border-radius: 12px !important;
  border: 1px solid #ddd2c4 !important;
  box-shadow: 0 4px 12px rgba(53, 41, 26, 0.07) !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-body {
  padding: 1.2rem 1.15rem !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result--card .jr-lawyer-search-result-name {
  font-size: clamp(1.55rem, 1.3vw, 1.78rem) !important;
  color: #2e2419 !important;
}
section.lawyer-search-wrap.lawyer-match .jr-lawyer-search-result-blurb {
  font-size: 1.2rem !important;
  line-height: 1.5 !important;
  color: #5c4f42 !important;
}
@media (max-width: 767px) {
  section.lawyer-search-wrap.lawyer-match .lawyer-match-refine-row {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    width: 100% !important;
  }
  section.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect {
    padding: 1.35rem 1.1rem !important;
  }
  section.lawyer-search-wrap.lawyer-match .lawyer-match-shell select,
  section.lawyer-search-wrap.lawyer-match .lawyer-match-keyword {
    height: 4.3rem !important;
    min-height: 4.3rem !important;
  }
}

/* Hard width expansion including parent wrapper */
section.lawyer-search-wrap.lawyer-match > .innerWrap {
  width: min(210rem, calc(100vw - 4rem)) !important;
  max-width: none !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-shell.lawyer-search-sect {
  width: 100% !important;
  max-width: none !important;
}
section.lawyer-search-wrap.lawyer-match .lawyer-match-refine-row {
  width: min(100%, 160rem) !important;
}
@media (max-width: 767px) {
  section.lawyer-search-wrap.lawyer-match > .innerWrap {
    width: calc(100vw - 2rem) !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Lawyer match readability + UX upgrade */
.lawyer-search-wrap.lawyer-match .lawyer-search-desc {
  text-align: center;
}
.lawyer-match-refine-row {
  width: min(100%, 76rem);
  gap: 1.2rem;
}
.lawyer-match-field,
.lawyer-match-field--keyword {
  width: 100%;
  min-width: 0;
}
.lawyer-match-select-wrap,
.lawyer-match-keyword {
  width: 100%;
  box-sizing: border-box;
}
.lawyer-match-shell select,
.lawyer-match-keyword {
  height: 4.6rem;
}
.lawyer-match-shell select {
  border-radius: 9px;
  line-height: 1.2;
}
.lawyer-match-keyword {
  border-radius: 9px;
}
.lawyer-match-results-title {
  margin-bottom: 1.1rem;
  font-weight: 800;
}
.lawyer-match-results-list.lawyer-search-results-list {
  width: min(100%, 58rem);
  margin: 0 auto;
  grid-template-columns: 1fr;
  gap: 0.9rem;
}
a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  border-radius: 12px;
  border-color: #dfd5c8;
  box-shadow: 0 3px 10px rgba(55, 43, 29, 0.06);
}
.jr-lawyer-search-result-media {
  width: 10.8rem;
  background: #f9f5ef;
  border-right: 1px solid #ece3d7;
}
.jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
  min-height: 10rem;
  padding: 0.75rem 0.5rem 0;
}
.jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 10px;
  border-color: #e2d7c9;
}
.jr-lawyer-search-result-body {
  gap: 0.28rem;
  padding: 1.15rem 1.15rem 1.2rem;
}
.jr-lawyer-search-result-tag {
  font-size: 1.05rem;
  color: #5d5041;
  background: #efe7dc;
}
.jr-lawyer-search-result-role {
  font-size: 1.18rem;
  color: #7d6c5b;
}
.jr-lawyer-search-result--card .jr-lawyer-search-result-name {
  font-size: clamp(1.55rem, 1.35rem + 0.35vw, 1.76rem);
  color: #2f2418;
}
.jr-lawyer-search-result-blurb {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #5c4f42;
  margin-top: 0.16rem;
}
.jr-lawyer-search-result-cta {
  font-size: 1.14rem;
  margin-top: 0.35rem;
  color: #7e4f1f;
}
@media (max-width: 767px) {
  .lawyer-match-refine-row {
    width: 100%;
    gap: 0.75rem;
  }
  .lawyer-match-shell select,
  .lawyer-match-keyword {
    height: 4.3rem;
  }
  .lawyer-match-results-list.lawyer-search-results-list {
    width: 100%;
  }
  .jr-lawyer-search-result-media {
    width: 9.6rem;
  }
  .jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
    min-height: 8.8rem;
  }
  .jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
    width: 6.4rem;
    height: 6.4rem;
  }
}

/* Lawyer match section fine tuning */
.lawyer-search-wrap.lawyer-match .lawyer-search-head h2 {
  font-size: clamp(3rem, 2.35vw, 3.45rem);
  line-height: 1.24;
  margin-bottom: 0.5rem;
}
.lawyer-search-wrap.lawyer-match .lawyer-search-desc {
  font-size: clamp(1.28rem, 1.02vw, 1.45rem);
  line-height: 1.55;
  margin-bottom: 2rem;
}
.lawyer-match-shell.lawyer-search-sect {
  padding: 2.25rem 2.4rem 2.1rem;
  border-radius: 11px;
}
.lawyer-match-shell-inner {
  width: 100%;
}
.lawyer-match-refine-row {
  width: min(100%, 70rem);
  gap: 1.15rem;
  align-items: end;
}
.lawyer-match-field {
  width: 100%;
}
.lawyer-match-label {
  margin-bottom: 0.52rem;
  line-height: 1.3;
}
.lawyer-match-shell select,
.lawyer-match-keyword {
  height: 4.55rem;
}
.lawyer-match-shell select {
  border-radius: 9px;
  font-size: clamp(1.33rem, 1.02vw, 1.48rem);
}
.lawyer-match-shell input[type="search"],
.lawyer-match-shell input[type="text"] {
  font-size: clamp(1.33rem, 1.02vw, 1.48rem);
}
.lawyer-match-results.lawyer-search-results {
  margin-top: 1.45rem;
}
@media (max-width: 767px) {
  .lawyer-search-wrap.lawyer-match .lawyer-search-head h2 {
    font-size: clamp(2.35rem, 6.3vw, 2.8rem);
  }
  .lawyer-search-wrap.lawyer-match .lawyer-search-desc {
    font-size: clamp(1.22rem, 3.4vw, 1.36rem);
    margin-bottom: 1.4rem;
  }
  .lawyer-match-shell.lawyer-search-sect {
    padding: 1.35rem 1.1rem 1.25rem;
  }
  .lawyer-match-refine-row {
    width: 100%;
    gap: 0.7rem;
  }
  .lawyer-match-label {
    margin-bottom: 0.4rem;
    font-size: clamp(1.32rem, 3.6vw, 1.46rem);
  }
  .lawyer-match-shell select,
  .lawyer-match-keyword {
    height: 4.25rem;
  }
}

.lawyer-match-field {
  margin-bottom: 0;
}

.lawyer-match-select-wrap {
  position: relative;
  height: 100%;
}

.lawyer-match-select-wrap::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-right: 1.5px solid #94a3b8;
  border-bottom: 1.5px solid #94a3b8;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}

.lawyer-match-shell select {
  width: 100%;
  height: 100%;
  min-height: 3em;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: clamp(1.18rem, 1.05rem + 0.3vw, 1.32rem);
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  box-sizing: border-box;
  appearance: none;
  cursor: pointer;
}

.lawyer-match-shell select:focus {
  outline: none;
  border-color: #1e3a5f;
  box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.12);
}

.lawyer-match-keyword {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 3em;
  padding: 0 0.75rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-sizing: border-box;
}

.lawyer-match-keyword:focus-within {
  border-color: #1e3a5f;
  box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.1);
}

.lawyer-match-keyword-icon {
  flex-shrink: 0;
  color: #94a3b8;
}

.lawyer-match-shell input[type="search"],
.lawyer-match-shell input[type="text"] {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: #0f172a;
  font-size: clamp(1.18rem, 1.05rem + 0.3vw, 1.32rem);
}

.lawyer-match-shell input::placeholder {
  color: #cbd5e1;
}

.lawyer-match-shell input:focus {
  outline: none;
}

.lawyer-match-results.lawyer-search-results {
  padding: clamp(1.1rem, 2.2vw, 1.4rem) clamp(1.1rem, 2.2vw, 1.4rem) clamp(1.2rem, 2.2vw, 1.5rem);
  padding-left: calc(clamp(1.1rem, 2.2vw, 1.4rem) + 3px);
  border-top: 1px solid #f1f5f9;
  background: #fafbfc;
}

.lawyer-match-results-title {
  margin: 0 0 0.85rem;
  font-size: clamp(1.28rem, 1.15rem + 0.35vw, 1.45rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.lawyer-match-results-list.lawyer-search-results-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: 0.75rem;
}

.lawyer-match-results-list[data-count="1"] {
  grid-template-columns: minmax(0, 36rem);
  max-width: 36rem;
  margin: 0 auto;
}

.lawyer-search-results-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lawyer-search-results-list li {
  margin: 0;
}

.lawyer-search-results-empty-wrap {
  grid-column: 1 / -1;
  text-align: center;
}

a.jr-lawyer-search-result--card.jr-lawyer-search-result {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  max-width: none;
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.jr-lawyer-search-result--card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.07);
}

a.jr-lawyer-search-result--card:focus-visible {
  outline: 2px solid #1e3a5f;
  outline-offset: 2px;
}

.jr-lawyer-search-result-media {
  flex-shrink: 0;
  width: 9rem;
  background: #f8fafc;
  border-right: 1px solid #f1f5f9;
}

.jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
  min-height: 9.5rem;
  padding: 0.6rem 0.45rem 0;
}

.jr-lawyer-search-result--card .jr-lawyer-search-result-photo img {
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 8px;
  object-fit: contain;
  object-position: center top;
  border: 1px solid #e2e8f0;
}

.jr-lawyer-search-result-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.18rem;
  padding: 0.95rem 1rem 1rem;
  min-width: 0;
}

.jr-lawyer-search-result-tag {
  display: inline-block;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.98rem;
  font-weight: 700;
  color: #334155;
  background: #f1f5f9;
  border: none;
}

.jr-lawyer-search-result-role {
  font-size: clamp(1.05rem, 0.95rem + 0.25vw, 1.15rem);
  font-weight: 600;
  color: #64748b;
}

.jr-lawyer-search-result--card .jr-lawyer-search-result-name {
  font-size: clamp(1.32rem, 1.18rem + 0.35vw, 1.48rem);
  font-weight: 800;
  color: #0f172a;
}

.jr-lawyer-search-result-blurb {
  margin: 0.12rem 0 0.28rem;
  font-size: clamp(1.08rem, 0.98rem + 0.25vw, 1.18rem);
  line-height: 1.4;
  color: #475569;
}

.jr-lawyer-search-result-cta {
  margin-top: auto;
  font-size: clamp(1.05rem, 0.95rem + 0.22vw, 1.12rem);
  font-weight: 600;
  color: #1e3a5f;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.jr-lawyer-search-result-cta-arrow {
  color: #64748b;
  transition: transform 0.15s ease;
}

a.jr-lawyer-search-result--card:hover .jr-lawyer-search-result-cta-arrow {
  transform: translateX(3px);
  color: #1e3a5f;
}

@media (max-width: 480px) {
  a.jr-lawyer-search-result--card.jr-lawyer-search-result {
    flex-direction: column;
  }
  .jr-lawyer-search-result-media {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #f1f5f9;
  }
  .jr-lawyer-search-result--card .jr-lawyer-search-result-photo {
    min-height: 7.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lawyer-match-categories button.lawyer-match-cat,
  a.jr-lawyer-search-result--card,
  .jr-lawyer-search-result-cta-arrow {
    transition: none;
  }
}

.lawyer-match-shell .lawyer-search-empty {
  font-size: clamp(1.15rem, 1.05rem + 0.28vw, 1.28rem);
  color: #64748b;
  margin: 0;
}

/* 맞춤변호사 검색 섹션 하단 CTA (Downloads jr-why-credibility-next) — .sect 패딩은 건드리지 않음 */

      
.lawyer-search-wrap .jr-why-credibility-next {
        margin-top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.65rem;
      }

      
.lawyer-search-wrap .jr-why-credibility-next-tagline {
        margin: 0;
        max-width: 36rem;
        color: #34291f;
        font-size: 1.52rem;
        font-weight: 600;
        line-height: 1.55;
      }

      
.lawyer-search-wrap .jr-why-credibility-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: auto;
        max-width: 100%;
        padding: 0.88rem 1.55rem;
        border-radius: 999px;
        background: #2f251a;
        color: #fff;
        border: 1px solid #2f251a;
        box-shadow: 0 10px 22px rgba(45, 36, 25, 0.22);
        font-size: 1.38rem;
        font-weight: 700;
        text-decoration: none;
        transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
      }

      
.lawyer-search-wrap .jr-why-credibility-link:hover {
        transform: translateY(-1px);
        background: #3b3024;
        box-shadow: 0 12px 26px rgba(45, 36, 25, 0.28);
      }

      
@media (max-width: 767px) {
  .lawyer-search-wrap .jr-why-credibility-next {
          gap: 0.55rem;
        }
  .lawyer-search-wrap .jr-why-credibility-next-tagline {
          font-size: 1.42rem;
          padding: 0 0.5rem;
        }
  .lawyer-search-wrap .jr-why-credibility-link {
          width: 100%;
          max-width: 26rem;
        }
}

      
.footer .footer-region-links { font-size: 0.075em; color: #c5a67d; text-align: right; width: 100%; margin-top: 0.5rem; }

      
.footer .footer-region-links a { font-size: 1em; color: #c5a67d; }



/* moved from #jr-broadcast-spacing-override */

      
/* 방송: 섹션 제목과 영상 카드 행 간격 */

      
section.jr-broadcast-section .innerWrap { gap: var(--jr-section-head-content-gap) !important; }

      
section.jr-broadcast-section .jr-media-width { margin-top: 0 !important; }

      
/* 방송 카드: 영상-제목 간격 최소화 */

      
section.jr-broadcast-section .jr-broadcast-card .jr-broadcast-card-body {
        padding: 0 1rem 1rem 1rem !important;
        gap: 0.25rem !important;
      }



/* moved from #jr-visual-mobile-left */

      
@media screen and (max-width: 950px) {
  section.visual .visual_two_col { align-items: stretch !important; }
  section.visual .jr-hero-fixed {
          margin-top: 0 !important;
        }
  section.visual .visual_left {
          margin-bottom: 0 !important;
        }
  section.visual .innerWrap { padding-left: 0 !important; }
  section.visual .visual_left { padding-left: 0 !important; margin-left: 0 !important; max-width: 100% !important; }
  section.visual .slogan_wrap { padding-left: 0 !important; margin-left: 0 !important; text-align: center !important; width: 100%; display: flex; flex-direction: column; align-items: center; }
  section.visual .title { margin-left: 0 !important; padding-left: 0 !important; width: 100%; text-align: center !important; }
  section.visual .title h1,
        section.visual .title .subtxt { text-align: center !important; }
  .visual .btn_group .btnCall.btncs,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn {
          margin: 0 !important;
          padding: 0.78rem 1.9rem !important;
          font-size: 1.55rem !important;
          min-height: 4.3rem;
        }
  .visual .btn_group .btnCall.btncs i,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn i {
          width: 1.9rem;
          height: 1.9rem;
        }
}

      
@media screen and (max-width: 640px) {
  .visual .btn_group {
          gap: 0.8rem !important;
          padding-top: 0.8rem !important;
        }
  .visual .btn_group .btnCall.btncs,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn {
          padding: 0.72rem 1.45rem !important;
          font-size: 1.4rem !important;
          min-height: 4rem;
        }
  .visual .btn_group .btnCall.btncs i,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn i {
          width: 1.7rem;
          height: 1.7rem;
        }
}

      
@media screen and (max-width: 480px) {
  .visual .btn_group {
          gap: 0.65rem !important;
          padding-top: 0.65rem !important;
        }
  .visual .btn_group .btnCall.btncs,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn {
          padding: 0.65rem 1.2rem !important;
          font-size: 1.28rem !important;
          min-height: 3.6rem;
          border-radius: 999px;
        }
  .visual .btn_group .btnCall.btncs i,
        .visual .btn_group .btnRsv.btncs.modal-trigger-btn i {
          width: 1.5rem;
          height: 1.5rem;
        }
}


      
/* —— RISK CHECK (#jrRiskUrgency) —— 다운로드판 index.html 동기화 */

      
#jrRiskUrgency .innerWrap {
        gap: 0 !important;
      }

      
.jr-risk-head {
        text-align: center;
        margin-bottom: var(--jr-section-head-content-gap);
      }

      
.jr-risk-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: #2d2419;
        color: #fff;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 0.8rem;
      }

      
.jr-risk-head h2 {
        margin: 0;
        color: #2d2419;
        font-size: clamp(2.2rem, 1.6rem + 1.8vw, 3.2rem);
        line-height: 1.3;
      }

      
/* h2 줄바꿈: 모바일·태블릿만 (데스크톱은 한 줄) */

      
.jr-risk-head h2 br.jr-risk-title-br-mo {
        display: none;
      }

      
@media (max-width: 1199px) {
  .jr-risk-head h2 br.jr-risk-title-br-mo {
          display: block;
        }
}

      
.jr-risk-head p {
        margin: 0.6rem 0 0;
        color: #555;
        font-size: 1.55rem;
        line-height: 1.75;
      }

      
.jr-risk-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.45rem;
        counter-reset: riskCard;
      }

      
.jr-risk-card {
        background: #fff;
        border: 1px solid #b0a090;
        border-radius: 12px;
        padding: 2.2rem 1.8rem;
        text-align: left;
        box-shadow: 0 2px 10px rgba(45, 36, 24, 0.07);
        position: relative;
        display: flex;
        flex-direction: column;
        height: 100%;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }

      
.jr-risk-card:hover {
        border-color: #9a8a78;
        box-shadow: 0 8px 20px rgba(45, 36, 24, 0.1);
        transform: translateY(-1px);
      }

      
.jr-risk-card::before {
        content: none;
      }

      
.jr-risk-card h3 {
        margin: 0 0 1.05rem;
        color: #2d2419;
        font-size: clamp(1.62rem, 1.28rem + 0.82vw, 2.05rem);
        line-height: 1.38;
        letter-spacing: -0.01em;
        display: flex;
        align-items: center;
        gap: 0.75rem;
      }

      
.jr-risk-card h3::before {
        counter-increment: riskCard;
        content: "0" counter(riskCard);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 3.2rem;
        height: 2.2rem;
        padding: 0 0.7rem;
        border-radius: 999px;
        background: #f4ede4;
        color: #8a6a49;
        font-size: 1.15rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        flex-shrink: 0;
      }

      
.jr-risk-card p {
        margin: 0;
        color: #534a43;
        font-size: clamp(1.62rem, 1.45rem + 0.36vw, 1.8rem);
        line-height: 1.82;
        letter-spacing: -0.01em;
        word-break: keep-all;
      }

      
.jr-risk-card .jr-risk-scenario {
        margin-top: auto;
        padding: 1.05rem 1.1rem;
        border-radius: 8px;
        background: #faf6f0;
        border: 1px solid #efe5d8;
        color: #6a5d50;
        font-size: clamp(1.56rem, 1.4rem + 0.32vw, 1.72rem);
        line-height: 1.84;
      }


      
#jrRiskUrgency.jr-risk-section,
      #jrWhyCredibility.jr-why-credibility-section,
      #jrNaverReviews.jr-naver-reviews-section,
      #jrInstagram.jr-instagram-section,
      #faq.jr-faq-section {
        position: relative;
        overflow: hidden;
        background: var(--jr-surface-risk-bg) !important;
      }

      
/* RISK CHECK와 동일: CI 심볼 워터마크 */
#jrRiskUrgency.jr-risk-section::before,
      #jrWhyCredibility.jr-why-credibility-section::before,
      #jrNaverReviews.jr-naver-reviews-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.045;
        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;
      }

      
#jrRiskUrgency.jr-risk-section .innerWrap,
      #jrWhyCredibility.jr-why-credibility-section .innerWrap,
      #jrNaverReviews.jr-naver-reviews-section .innerWrap,
      #jrInstagram.jr-instagram-section .innerWrap,
      #faq.jr-faq-section .innerWrap.jr-faq-inner {
        position: relative;
        z-index: 1;
      }


      
@media (max-width: 1100px) {
  .jr-risk-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
  .jr-why-core-cards {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}

      
@media (max-width: 767px) {
  .jr-risk-grid {
          grid-template-columns: 1fr;
          gap: 0.9rem;
        }
  .jr-risk-head p br {
          display: none;
        }
  #jrRiskUrgency.jr-risk-section::before,
        #jrWhyCredibility.jr-why-credibility-section::before,
        #jrNaverReviews.jr-naver-reviews-section::before,
        #jrInstagram.jr-instagram-section::before,
        #faq.jr-faq-section::before {
          opacity: 0.035;
          background-position: 92% 12%, 4% 92%;
          background-size: clamp(72px, 28vw, 140px) auto, clamp(48px, 16vw, 88px) auto;
        }
}


      
/* 의뢰인 후기(#jrReview)와 동일 면 — 맞춤변호사 검색·업무사례·방송 출연·NAVER BLOG */
section.sect.lawyer-search-wrap,
#jrCasesPreview.jr-cases-preview-section,
#jrConsultCases.jr-cases-preview-section,
#jrBroadcast.jr-broadcast-section,
#jrBlog.jr-blog-section,
#jrReview.jr-naver-reviews-section {
        position: relative;
        overflow: hidden;
        background: var(--jr-surface-review-bg) !important;
      }

      
section.sect.lawyer-search-wrap .innerWrap,
#jrCasesPreview.jr-cases-preview-section .innerWrap,
#jrConsultCases.jr-cases-preview-section .innerWrap,
#jrBroadcast.jr-broadcast-section .innerWrap,
#jrBlog.jr-blog-section .innerWrap,
#jrReview.jr-naver-reviews-section .innerWrap {
        position: relative;
        z-index: 1;
        background: transparent !important;
      }


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


      
/* RISK 섹션: 다운로드판과 동일한 제목·본문 스케일 */

      
:root {
        --jr-type-title: clamp(2.52rem, 1.92rem + 1.45vw, 3.4rem);
        /* 방송/보도/블로그 섹션 설명: 최소 ~17px, 본문 스케일과 동일 계열 */
        --jr-type-section-desc: clamp(1.7rem, 1.52rem + 0.38vw, 1.9rem);
        --jr-type-subtitle: clamp(1.72rem, 1.52rem + 0.38vw, 1.9rem);
        --jr-type-card-title: clamp(1.92rem, 1.72rem + 0.52vw, 2.2rem);
        --jr-type-body: clamp(1.62rem, 1.48rem + 0.32vw, 1.78rem);
        /* RISK CHECK #jrRiskUrgency .jr-risk-head — 헤더(제목·리드) 아래 ↔ 카드·본문 블록 상단 */
        --jr-section-head-content-gap: 4.8rem;
        /* RISK CHECK .jr-risk-section — 섹션 위·아래 바깥 여백(= style.css .sect clamp 대체) */
        --jr-section-vert-pad: 8rem;
        --jr-section-vert-pad-sm: 6rem;
        /* RISK CHECK #jrRiskUrgency 면 — 아래 카드형 섹션과 동일 배경에 사용 */
        --jr-surface-risk-bg: linear-gradient(180deg, #fcfcfc 0%, #f7f7f6 50%, #f5f5f4 100%);
        /* 의뢰인 후기 #jrReview 면 — 맞춤변호사·업무사례·방송·블로그와 통일 */
        --jr-surface-review-bg: linear-gradient(180deg, #f9f5ef 0%, #f5efe7 100%);
      }

      
/* 메인 #target: 모든 .sect의 상·하 패딩을 RISK CHECK와 동일하게 (위 공백·아래 공백 통일) */
#target.pclayout .contents > section.sect {
        padding-top: var(--jr-section-vert-pad);
        padding-bottom: var(--jr-section-vert-pad);
      }

      
@media (max-width: 767px) {
  #target.pclayout .contents > section.sect {
          padding-top: var(--jr-section-vert-pad-sm);
          padding-bottom: var(--jr-section-vert-pad-sm);
        }
}

      
/* html 62.5% 기준: 히어로(#jrMember) 아래 섹션은 상속만이면 ~10px로 과소해 보임 — 본문 스케일 고정 */
#target.pclayout .contents > section:not(#jrMember) {
        font-size: var(--jr-type-body);
        line-height: 1.65;
      }

      
#jrRiskUrgency .jr-risk-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }

      
#jrRiskUrgency .jr-risk-head p {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin-top: 0.45rem !important;
      }

      
#jrRiskUrgency .jr-risk-card h3 {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }

      
#jrRiskUrgency .jr-risk-card p,
      #jrRiskUrgency .jr-risk-card .jr-risk-scenario {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }


      
/* 맞춤변호사 검색: 제목·설명은 RISK CHECK(.jr-risk-head)와 동일 스케일 */

      
.lawyer-search-wrap .lawyer-search-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
        font-weight: 700;
      }

      
.lawyer-search-wrap .lawyer-search-head .lawyer-search-desc {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin: 0.45rem 0 0 !important;
      }


      
/* —— WHY JR (#jrWhyCredibility) —— Downloads index 동기화 */

      
/* 배경·워터마크는 상단 #jrWhyCredibility 그룹과 RISK CHECK 공통 규칙 사용 */
.jr-why-credibility-section .innerWrap {
        position: relative;
        z-index: 1;
        gap: 0 !important;
      }

      
.jr-why-credibility-head {
        text-align: center;
        max-width: 88rem;
        margin: 0 auto;
      }

      
.jr-why-credibility-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.42rem 1.1rem;
        border-radius: 999px;
        background: rgba(45, 36, 25, 0.92);
        color: #fffdf8;
        border: 1px solid rgba(255, 255, 255, 0.35);
        box-shadow: 0 10px 20px rgba(45, 36, 25, 0.14);
        font-size: 1.12rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        margin-bottom: 0.8rem;
      }

      
.jr-why-credibility-head h2 {
        margin: 0;
        color: #1f1711;
        font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
        line-height: 1.2;
        letter-spacing: -0.02em;
        text-wrap: balance;
      }

      
.jr-why-credibility-head p {
        margin: 1.35rem 0 0;
        color: #4e4438;
        font-size: 1.62rem;
        line-height: 1.85;
      }

      
.jr-why-credibility-head .jr-why-mobile-break {
        display: none;
      }

      
.jr-why-core-cards {
        margin-top: var(--jr-section-head-content-gap);
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
        counter-reset: whyCore;
      }

      
.jr-why-core-cards article {
        position: relative;
        overflow: hidden;
        background: #fff;
        border: 1px solid #b0a090;
        border-radius: 14px;
        padding: 1.95rem 1.65rem 1.75rem;
        box-shadow: 0 2px 10px rgba(45, 36, 25, 0.07), 0 1px 0 rgba(255, 255, 255, 0.6) inset;
        transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
      }

      
.jr-why-core-cards article::before {
        counter-increment: whyCore;
        content: "0" counter(whyCore);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 3rem;
        height: 2.2rem;
        padding: 0 0.7rem;
        margin-bottom: 0.85rem;
        border-radius: 999px;
        background: #f3ebe1;
        color: #7f5f3f;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.03em;
      }

      
.jr-why-core-cards article::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 3px;
        background: linear-gradient(90deg, #8e6a45 0%, #c9a86a 100%);
        opacity: 0.78;
      }

      
.jr-why-core-cards article:hover {
        transform: translateY(-3px);
        border-color: #9a8a78;
        box-shadow: 0 10px 22px rgba(45, 36, 25, 0.11);
      }

      
.jr-why-core-cards h3 {
        margin: 0;
        color: #2d2419;
        font-size: clamp(1.62rem, 1.28rem + 0.82vw, 2.05rem);
        letter-spacing: -0.01em;
      }

      
.jr-why-core-cards p {
        margin: 0.7rem 0 0;
        color: #4b4035;
        font-size: 1.4rem;
        line-height: 1.78;
      }

      
.jr-why-core-cards p strong {
        color: #7a5833;
        font-weight: 800;
      }


      
#jrWhyCredibility .jr-why-credibility-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }

      
#jrWhyCredibility .jr-why-credibility-head p {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin-top: 0.45rem !important;
      }

      
#jrWhyCredibility .jr-why-core-cards h3 {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }

      
#jrWhyCredibility .jr-why-core-cards p {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }


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


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


      
/* 업무사례 미리보기 #jrCasesPreview / JR 학폭상담사례 #jrConsultCases — Downloads index 동기화 */

      
#jrCasesPreview.jr-cases-preview-section--paused {
        display: none !important;
      }

      
/* 배경은 상단 --jr-surface-review-bg 공통 블록 */
#jrCasesPreview.jr-cases-preview-section .innerWrap,
#jrConsultCases.jr-cases-preview-section .innerWrap {
        position: relative;
        z-index: 1;
      }

      
#jrCasesPreview.jr-cases-preview-section .innerWrap {
        gap: var(--jr-section-head-to-cards-gap) !important;
      }

      
#jrConsultCases.jr-cases-preview-section .innerWrap {
        gap: var(--jr-section-head-to-cards-gap) !important;
      }

      
#jrCasesPreview .jr-why-credibility-head h2,
#jrConsultCases .jr-why-credibility-head h2 {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }

      
#jrCasesPreview .jr-why-credibility-head p,
#jrConsultCases .jr-why-credibility-head p {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
        margin-top: 0.45rem !important;
      }

      
#jrCasesPreview .jr-cases-preview-card-title,
#jrConsultCases .jr-cases-preview-card-title {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }

      
#jrCasesPreview .jr-cases-preview-card-summary,
#jrConsultCases .jr-cases-preview-card-summary {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }

      
#jrCasesPreview .jr-section-more-btn,
#jrConsultCases .jr-section-more-btn {
        display: inline-flex !important;
        width: 24rem !important;
        min-width: 24rem !important;
        max-width: 24rem !important;
        min-height: 4.5rem !important;
        padding: 0.85rem 1.35rem !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.6rem !important;
        box-sizing: border-box !important;
      }

      
#jrCasesPreview .jr-section-more-btn span,
#jrConsultCases .jr-section-more-btn span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      
#jrCasesPreview .jr-section-more-btn svg,
#jrConsultCases .jr-section-more-btn svg {
        width: 1.35rem !important;
        height: 1.35rem !important;
        flex-shrink: 0 !important;
      }

      
/* 업무사례: innerWrap gap만으로 카드↔전체보기 간격 통일(중복 margin 제거) */
#jrCasesPreview.jr-cases-preview-section .jr-section-more-wrap,
#jrConsultCases.jr-cases-preview-section .jr-section-more-wrap {
        margin-top: 0 !important;
      }

      
#jrCasesPreview .jr-why-credibility-badge,
#jrConsultCases .jr-why-credibility-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.42rem 1.1rem !important;
        border-radius: 999px !important;
        font-size: 1.12rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        line-height: 1 !important;
        margin-bottom: 0.8rem !important;
      }

      
@media (max-width: 767px) {
  #jrCasesPreview .jr-cases-preview-track-wrap,
  #jrConsultCases .jr-cases-preview-track-wrap {
          width: min(100%, calc(100vw - 2.4rem)) !important;
          max-width: min(100%, calc(100vw - 2.4rem)) !important;
          margin-left: auto !important;
          margin-right: auto !important;
          padding: 0.75rem 0 1.1rem !important;
          box-sizing: border-box;
        }
  #jrCasesPreview .jr-cases-preview-card,
  #jrConsultCases .jr-cases-preview-card {
          flex: 0 0 100% !important;
          width: 100% !important;
          max-width: 100% !important;
        }
  #jrCasesPreview .jr-cases-preview-btn--prev,
  #jrConsultCases .jr-cases-preview-btn--prev {
          left: -0.4rem !important;
        }
  #jrCasesPreview .jr-cases-preview-btn--next,
  #jrConsultCases .jr-cases-preview-btn--next {
          right: -0.4rem !important;
        }
}

      
@media (max-width: 1199px) and (min-width: 951px) {
  #jrCasesPreview .jr-cases-preview-track,
  #jrConsultCases .jr-cases-preview-track {
          gap: 1.6rem;
        }
  #jrCasesPreview .jr-cases-preview-card {
          flex: 0 0 calc((100% - 3.2rem) / 3) !important;
          width: calc((100% - 3.2rem) / 3) !important;
          max-width: calc((100% - 3.2rem) / 3) !important;
        }
  #jrCasesPreview .jr-cases-preview-btn--prev,
  #jrConsultCases .jr-cases-preview-btn--prev {
          left: -0.4rem !important;
        }
  #jrCasesPreview .jr-cases-preview-btn--next,
  #jrConsultCases .jr-cases-preview-btn--next {
          right: -0.4rem !important;
        }
}

      
@supports (width: 1cqw) {
        @media (max-width: 1199px) and (min-width: 951px) {
          #jrCasesPreview .jr-cases-preview-card {
            flex: 0 0 calc((100cqw - 3.2rem) / 3) !important;
            width: calc((100cqw - 3.2rem) / 3) !important;
            max-width: calc((100cqw - 3.2rem) / 3) !important;
          }
        }
      }

      
@media (max-width: 390px) {
  #jrCasesPreview .jr-cases-preview-track-wrap,
  #jrConsultCases .jr-cases-preview-track-wrap {
          padding: 0.6rem 0 1rem !important;
        }
  #jrCasesPreview .jr-cases-preview-btn,
  #jrConsultCases .jr-cases-preview-btn {
          width: 3.2rem;
          height: 3.2rem;
          font-size: 1.55rem;
        }
  #jrCasesPreview .jr-cases-preview-btn--prev,
  #jrConsultCases .jr-cases-preview-btn--prev {
          left: -0.4rem !important;
        }
  #jrCasesPreview .jr-cases-preview-btn--next,
  #jrConsultCases .jr-cases-preview-btn--next {
          right: -0.4rem !important;
        }
}


      
/* 네이버 플레이스 방문자 후기 — 뷰포트 + 가로 슬라이드 (Downloads index 동기화) */

      
.jr-naver-reviews-section .jr-naver-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: #2d2419;
        color: #fff;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        width: fit-content;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1.2rem;
        margin-bottom: 0.8rem;
        text-transform: uppercase;
      }

      
.jr-naver-reviews-section .innerWrap {
        gap: 0;
      }

      
.jr-naver-reviews-section > .innerWrap > h2:first-of-type {
        margin-top: 0;
        margin-bottom: 0;
        line-height: 1.2;
        text-align: center;
      }

      
.jr-naver-reviews-section .jr-naver-reviews-desc {
        font-size: clamp(1.1rem, 1rem + 0.25vw, 1.35rem);
        color: var(--brown700);
        line-height: 1.55;
        max-width: 38rem;
        margin: 0.35rem auto 0;
        text-align: center;
      }

      
.jr-naver-reviews-section .innerWrap > .cont {
        margin-top: var(--jr-section-head-content-gap);
      }

      
.jr-naver-reviews-section .cont.jr-naver-reviews-stage-wrap {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
      }

      
.jr-naver-reviews-stage {
        position: relative;
        width: 100%;
        max-width: calc(1200px + 7rem);
        padding: 0 clamp(2.75rem, 4vw, 3.5rem);
        box-sizing: border-box;
      }

      
.jr-naver-reviews-fade-root {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
      }

      
.jr-naver-reviews-viewport {
        overflow: hidden;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding-bottom: 2px;
        margin-bottom: -2px;
      }

      
.jr-naver-reviews-grid {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: clamp(1.25rem, 2.5vw, 2rem);
        width: max-content;
        min-width: 100%;
        max-width: none;
        margin: 0;
        transition: transform 0.42s cubic-bezier(0.25, 0.1, 0.25, 1);
        will-change: transform;
      }

      
.jr-naver-reviews-grid.jr-naver-slide--no-trans {
        transition: none;
      }

      
.jr-naver-reviews-grid--single {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        min-width: 0;
        max-width: 28rem;
        margin: 0 auto;
        transition: none;
        will-change: auto;
      }

      
.jr-naver-grid-cell {
        display: flex;
        min-width: 0;
        min-height: 0;
        flex: 0 0 var(--jr-naver-cell, min(100%, 320px));
        box-sizing: border-box;
      }

      
.jr-naver-reviews-grid--single .jr-naver-grid-cell {
        flex: 1 1 auto;
        max-width: 100%;
      }

      
.jr-naver-grid-cell--empty {
        visibility: hidden;
        pointer-events: none;
      }

      
.jr-naver-fade-controls {
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        justify-content: space-between;
        align-items: center;
        pointer-events: none;
        z-index: 3;
        margin: 0;
      }

      
.jr-naver-fade-btn {
        pointer-events: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(3rem, 5vw, 3.5rem);
        height: clamp(3rem, 5vw, 3.5rem);
        border-radius: 50%;
        border: 1px solid rgba(45, 36, 24, 0.12);
        background: rgba(255, 255, 255, 0.96);
        color: var(--brown800);
        box-shadow: 0 4px 14px rgba(45, 36, 24, 0.1);
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }

      
.jr-naver-fade-btn:hover {
        background: var(--brown800);
        color: #fff;
        border-color: var(--brown800);
        box-shadow: 0 6px 20px rgba(45, 36, 24, 0.18);
        transform: scale(1.05);
      }

      
.jr-naver-fade-btn svg {
        flex-shrink: 0;
      }

      
@media (max-width: 767px) {
  .jr-naver-grid-cell--empty {
          display: none;
        }
}

      
#jrNaverReviews .review-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        transform: none !important;
        opacity: 1 !important;
        height: 100%;
        display: flex;
        flex-direction: column;
        border: 1px solid #b0a090;
        border-radius: 16px;
        box-shadow: 0 2px 10px rgba(45, 36, 25, 0.06);
      }

      
#jrNaverReviews .review-card__profile {
        flex-shrink: 0;
      }

      
#jrNaverReviews .review-card__profile .jr-naver-review-idline {
        margin-top: 0;
        margin-bottom: 0.5rem;
      }

      
#jrNaverReviews .review-card__body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        text-align: left;
      }

      
#jrNaverReviews .review-card__text {
        color: #7d6e65;
        font-size: 2rem;
        line-height: 1.65;
        text-align: left;
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        padding-bottom: 0.12em;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        line-clamp: 5;
        overflow: hidden;
      }

      
.jr-naver-reviews-grid--single .review-card__text {
        display: block;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        overflow: visible;
      }

      
#jrNaverReviews .jr-naver-place-link {
        margin-top: auto;
        padding-top: 1rem;
        flex-shrink: 0;
        display: inline-block;
        align-self: center;
        font-size: 1.45rem;
        font-weight: 600;
        color: #03a84d;
        text-decoration: none;
      }

      
#jrNaverReviews .jr-naver-place-link:hover {
        text-decoration: underline;
        color: #038a3d;
      }

      
#jrNaverReviews .jr-section-more-wrap {
        margin-top: var(--jr-section-head-content-gap);
        margin-bottom: 0;
      }


      
#jrNaverReviews.jr-naver-reviews-section .innerWrap,
      #jrInstagram.jr-instagram-section .innerWrap {
        background: transparent !important;
      }

      
#jrNaverReviews > .innerWrap > h2:first-of-type,
      #jrReview > .innerWrap > h2:first-of-type,
      #jrInstagram .jr-instagram-title {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
        margin: 0 !important;
      }

      
#jrNaverReviews .jr-naver-reviews-desc,
      #jrReview .jr-naver-reviews-desc,
      #jrInstagram .jr-instagram-desc {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
      }

      
#jrNaverReviews .review-card__name {
        font-size: var(--jr-type-card-title) !important;
        line-height: 1.4;
      }

      
#jrNaverReviews .jr-naver-badge,
      #jrNaverReviews .review-card__category,
      #jrNaverReviews .review-card__text,
      #jrNaverReviews .jr-naver-place-link {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }

      
#jrNaverReviews .jr-section-more-btn {
        display: inline-flex !important;
        width: 24rem !important;
        min-width: 24rem !important;
        max-width: 24rem !important;
        min-height: 4.5rem !important;
        padding: 0.85rem 1.35rem !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.6rem !important;
        box-sizing: border-box !important;
      }

      
#jrNaverReviews .jr-section-more-btn span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      
#jrNaverReviews .jr-section-more-btn svg {
        width: 1.35rem !important;
        height: 1.35rem !important;
        flex-shrink: 0 !important;
      }

      
#jrNaverReviews .jr-naver-badge,
      #jrReview .jr-naver-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.42rem 1.1rem !important;
        border-radius: 999px !important;
        font-size: 1.12rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        line-height: 1 !important;
        margin-bottom: 0.8rem !important;
        margin-top: 0 !important;
      }


      
@media (max-width: 767px) {
  #jrNaverReviews .jr-naver-reviews-stage {
          padding: 0 !important;
        }
  #jrNaverReviews .jr-naver-reviews-viewport {
          width: min(100%, calc(100vw - 2.4rem)) !important;
          max-width: min(100%, calc(100vw - 2.4rem)) !important;
          margin-left: auto !important;
          margin-right: auto !important;
        }
  #jrNaverReviews .jr-naver-fade-controls {
          left: -0.8rem !important;
          right: -0.8rem !important;
        }
}

      
@media (max-width: 390px) {
  #jrNaverReviews .jr-naver-reviews-stage {
          padding: 0 !important;
        }
  #jrNaverReviews .jr-naver-fade-btn {
          width: 3.2rem;
          height: 3.2rem;
        }
}


      
/* JR 인스타그램 (#jrInstagram) */

      
.jr-instagram-section .jr-media-width {
        margin-top: var(--jr-section-head-content-gap) !important;
      }

      
.jr-instagram-header {
        text-align: center;
        margin-bottom: 0;
        margin-top: 0;
      }

      
.jr-instagram-badge {
        display: inline-flex;
        align-items: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: #2d2419;
        color: #fff;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 0.8rem;
      }

      
.jr-instagram-title {
        font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
        font-weight: 700;
        color: #050505;
        margin: 0;
      }

      
.jr-instagram-desc {
        font-size: clamp(1.1rem, 1rem + 0.2vw, 1.25rem);
        color: #050505;
        font-weight: 400;
        margin-top: 0.45rem;
      }

      
#jrInstagram .innerWrap {
        gap: clamp(1.2rem, 2.2vw, 2rem) !important;
      }

      
.jr-instagram-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.25rem;
        width: 100%;
      }

      
@media (min-width: 640px) {
  .jr-instagram-grid {
          grid-template-columns: repeat(2, 1fr);
        }
}

      
@media (min-width: 1024px) and (max-width: 1199px) {
  .jr-instagram-grid {
          grid-template-columns: repeat(3, 1fr);
        }
}

      
@media (min-width: 1200px) {
  .jr-instagram-grid {
          grid-template-columns: repeat(4, 1fr);
        }
}

      
/* 모바일: 인스타 그리드(기본) 3열 — 가로 스크롤 모드(.jr-instagram-grid--scroll)는 temple-theme 에서 덮음 */

      
@media (max-width: 899px) {
  .jr-instagram-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: clamp(0.45rem, 2.2vw, 0.85rem);
        }
}

      
.jr-instagram-card {
        display: block;
        text-decoration: none;
        color: inherit;
        background: #fff;
        border: 1px solid #b0a090;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 2px 10px rgba(45, 36, 25, 0.07);
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
      }

      
.jr-instagram-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
        border-color: rgba(184, 124, 72, 0.45);
      }

      
.jr-instagram-thumb {
        position: relative;
        width: 100%;
        aspect-ratio: 1 / 1;
        background: #f1ece6;
        overflow: hidden;
      }

      
.jr-instagram-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        display: block;
      }

      
.jr-instagram-card p {
        margin: 0;
        padding: 0.85rem 0.95rem 1rem;
        font-size: 1.25rem;
        color: #2d2419;
        line-height: 1.5;
        text-align: left;
        min-height: 4.8rem;
      }

      
#jrInstagram .jr-instagram-card p {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }

      
.jr-instagram-card .jr-instagram-card-text {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
        word-break: keep-all;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.62;
        min-height: calc(1.62em * 2 + 0.12em);
      }

      
#jrInstagram .jr-instagram-card .jr-instagram-card-text {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        white-space: normal !important;
        word-break: keep-all;
        overflow: hidden !important;
        text-overflow: ellipsis;
        line-height: 1.62 !important;
        min-height: calc(1.62em * 2 + 0.12em) !important;
      }

      
.jr-instagram-empty {
        text-align: center;
        padding: 2rem;
        color: #6d6357;
        font-size: 1.4rem;
      }

      
.jr-section-more-btn .jr-instagram-more-icon {
        width: 1.35rem;
        height: 1.35rem;
        flex-shrink: 0;
        object-fit: contain;
      }


      
/* —— 학폭전략센터 FAQ (#faq) —— Downloads index 동기화 */

      
/* 본문 섹션 상단 구분선 — 의뢰인 후기(#jrReview)와 FAQ(#faq) 사이와 동일 (히어로 직후 RISK CHECK부터 적용) */
#target.pclayout .contents > section.sect {
        border-top: 1px solid rgba(176, 160, 144, 0.33);
      }

      
.jr-faq-section {
        position: relative;
        text-align: left;
      }

      
.jr-faq-section .jr-faq-inner {
        gap: var(--jr-section-head-content-gap) !important;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
      }

      
.jr-faq-head {
        text-align: center;
      }

      
.jr-faq-badge {
        display: inline-flex;
        align-items: center;
        padding: 0.4rem 1rem;
        border-radius: 6px;
        background: #2d2419;
        color: #fff;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        margin-bottom: 0.85rem;
      }

      
.jr-faq-title {
        font-size: clamp(2rem, 1.308rem + 3.08vw, 3.5rem);
        font-weight: 700;
        color: #050505;
        margin: 0;
        letter-spacing: -0.02em;
        line-height: 1.2;
      }

      
.jr-faq-lead {
        margin: 1rem auto 0;
        max-width: 40rem;
        font-size: clamp(1.15rem, 1.02rem + 0.35vw, 1.3rem);
        line-height: 1.65;
        color: #3d352b;
        text-align: center;
      }

      
.jr-faq-lead strong {
        color: #1f1711;
        font-weight: 700;
      }

      
.jr-faq-body {
        display: grid;
        gap: 2.5rem;
      }

      
@media (min-width: 900px) {
  .jr-faq-body {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 2.25rem 2.5rem;
          align-items: start;
        }
}

      
.jr-faq-cat-title {
        font-size: clamp(1.35rem, 1.1rem + 0.6vw, 1.55rem);
        font-weight: 700;
        color: #1f1711;
        margin: 0 0 1rem;
        padding-bottom: 0.65rem;
        border-bottom: 2px solid rgba(45, 36, 25, 0.12);
        letter-spacing: -0.02em;
      }

      
.jr-faq-list {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
      }

      
.jr-faq-item {
        border: 1px solid #b0a090;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 10px rgba(45, 36, 25, 0.06);
        overflow: hidden;
      }

      
.jr-faq-trigger {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 3.5rem;
        padding: 1.15rem 1.2rem 1.15rem 1.35rem;
        margin: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        text-align: left;
        font: inherit;
        color: inherit;
        -webkit-tap-highlight-color: transparent;
        transition: background-color 0.2s ease;
      }

      
.jr-faq-trigger:hover,
      .jr-faq-trigger:focus-visible {
        background: rgba(245, 239, 230, 0.55);
      }

      
.jr-faq-trigger:focus-visible {
        outline: 2px solid rgba(205, 131, 78, 0.65);
        outline-offset: -2px;
      }

      
.jr-faq-q {
        font-size: clamp(1.28rem, 1.15rem + 0.35vw, 1.48rem);
        font-weight: 700;
        color: #15100c;
        line-height: 1.45;
        flex: 1;
        min-width: 0;
      }

      
.jr-faq-icon {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 50%;
        background: rgba(45, 36, 25, 0.06);
        color: #2d2419;
      }

      
.jr-faq-icon svg {
        display: block;
        transition: transform 0.35s ease;
      }

      
.jr-faq-item.is-open .jr-faq-icon svg {
        transform: rotate(180deg);
      }

      
.jr-faq-panel-inner {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.45s ease;
      }

      
.jr-faq-item.is-open .jr-faq-panel-inner {
        max-height: 48rem;
      }

      
.jr-faq-answer {
        padding: 0 1.35rem 1rem;
        border-top: 1px solid rgba(176, 160, 144, 0.35);
        background: linear-gradient(180deg, rgba(250, 248, 245, 0.9) 0%, #fff 40%);
      }

      
.jr-faq-answer p {
        margin: 0;
        font-size: clamp(1.32rem, 1.18rem + 0.35vw, 1.48rem);
        line-height: 1.65;
        color: #2d2419;
      }

      
.jr-faq-answer p + p {
        margin-top: 0.85rem;
      }

      
.jr-faq-cta {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin: 1rem 1.35rem 1.25rem;
        padding: 0.75rem 1.2rem;
        border-radius: 9999px;
        background: linear-gradient(180deg, #4a4035 0%, #2d2419 100%);
        color: #fff !important;
        font-size: clamp(1.22rem, 1.1rem + 0.3vw, 1.35rem);
        font-weight: 600;
        text-decoration: none !important;
        line-height: 1.35;
        box-shadow: 0 4px 14px rgba(45, 36, 25, 0.18);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }

      
.jr-faq-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(45, 36, 25, 0.22);
        color: #fff !important;
      }

      
.jr-faq-cta:focus-visible {
        outline: 2px solid #cd834e;
        outline-offset: 3px;
      }

      
@media (prefers-reduced-motion: reduce) {
  .jr-faq-panel-inner,
        .jr-faq-icon svg,
        .jr-faq-cta {
          transition: none !important;
        }
  .jr-faq-item.is-open .jr-faq-panel-inner {
          max-height: none;
        }
}

      
#faq .jr-faq-title {
        font-size: var(--jr-type-title) !important;
        line-height: 1.32;
        letter-spacing: -0.02em;
        color: var(--brown900) !important;
      }

      
#faq .jr-faq-lead,
      #faq .jr-faq-cat-title,
      #faq .jr-faq-q {
        font-size: var(--jr-type-subtitle) !important;
        line-height: 1.68;
        letter-spacing: -0.006em;
        color: var(--brown700) !important;
      }

      
#faq .jr-faq-lead strong {
        color: var(--brown700) !important;
      }

      
#faq .jr-faq-answer p {
        font-size: var(--jr-type-body) !important;
        line-height: 1.72;
        letter-spacing: -0.004em;
      }

      
#faq .jr-faq-trigger--soft .jr-faq-q {
        font-size: clamp(1.54rem, 1.38rem + 0.34vw, 1.72rem) !important;
        font-weight: 500 !important;
        color: var(--brown900) !important;
      }



/* 히어로: ~899px 이하만 세로 풀뷰포트 — 900px 이상은 .visual_two_col 그리드 유지 */


@media screen and (max-width: 899px) {
  #jrMember .visual_two_col {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 0 !important;
  }
  #jrMember .visual_left {
    width: 100% !important;
    max-width: 100% !important;
    order: 1;
  }
  #jrMember .lawyer-slider-container.lawyer-slider-others,
  #jrMember .lawyer-slider-container {
    order: 3;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 1.5rem max(1rem, env(safe-area-inset-right, 0px))
      max(0.25rem, env(safe-area-inset-bottom, 0px))
      max(1rem, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box !important;
    background: #f5f2ee !important;
    overflow-x: hidden !important;
    position: relative;
    z-index: 2;
  }
  #jrMember .lawyer-slider-container .swiper {
    max-width: 100% !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  #jrMember .visual_right {
    order: 2;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
  }
  #jrMember .visual_right .jr-hero-fixed.jr-lawyer-profile-trigger,
  #jrMember .visual_right .jr-hero-fixed {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    /* 모바일: 좌측 공백 제거(translate 제거로 풀블리드에 맞춤) */
    transform: translateX(0) !important;
    transition: transform 0.3s ease !important;
  }
  #jrMember .visual_right .jr-hero-fixed .hero-fixed-img {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
  }
  #jrMember .slogan_wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  #jrMember .slogan_wrap > .title {
    align-self: center !important;
    width: 100% !important;
    max-width: min(36rem, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  #jrMember .slogan_wrap > .title h1,
  #jrMember .slogan_wrap > .title .subtxt {
    text-align: left !important;
  }
  #jrMember .btn_group,
  .visual .btn_group {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center !important;
    align-items: center !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative;
    left: auto;
    box-sizing: border-box !important;
    transform: none !important;
    padding-left: max(0px, env(safe-area-inset-left, 0px));
    padding-right: max(0px, env(safe-area-inset-right, 0px));
  }
}



/* 다운로드판 index 동기화: #jrMember 슬로건·버튼 (모바일) */


@media screen and (max-width: 899px) {
  #jrMember .visual_two_col {
    gap: 0 !important;
  }
  #jrMember .visual_left {
    margin-bottom: 0 !important;
  }
  #jrMember .slogan_wrap {
    padding: calc(clamp(5.6rem, 9vw, 6.7rem) + env(safe-area-inset-top, 0px)) 1rem 0.65rem 1rem !important;
    text-align: left !important;
    align-items: center !important;
  }
  #jrMember .slogan_wrap > .title {
    align-self: center !important;
    width: 100% !important;
    max-width: min(36rem, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
  }
  #jrMember .title,
  #jrMember .title h1,
  #jrMember .title .subtxt {
    text-align: left !important;
  }
  #jrMember .btn_group {
    margin-top: 2em;
    margin-top: 2lh;
  }
  #jrMember .btn_group .btnCall.btncs,
  #jrMember .btn_group .btnRsv.btncs.modal-trigger-btn {
    font-size: clamp(1.42rem, 4.1vw, 1.82rem) !important;
    min-height: 4.55rem;
    padding: 0.82rem 2rem !important;
  }
  #jrMember .btn_group .btnCall.btncs i,
  #jrMember .btn_group .btnRsv.btncs.modal-trigger-btn i {
    width: 2rem;
    height: 2rem;
  }
  #jrMember .visual_right {
    margin-bottom: 0;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
  }
  #jrMember .visual_right .jr-hero-fixed {
    overflow: hidden !important;
    position: relative !important;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 0;
  }
  #jrMember .visual_right .jr-hero-fixed .hero-fixed-img {
    position: relative;
    z-index: 0;
    display: block;
    vertical-align: bottom;
    margin-bottom: 0;
    max-width: none;
    width: 100%;
    border-radius: 0;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info {
    position: absolute !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    line-height: 1.45 !important;
    border-radius: 0 !important;
    width: 100% !important;
    padding: 1rem max(20px, env(safe-area-inset-right, 0px))
      calc(3.5rem + env(safe-area-inset-bottom, 0px))
      max(20px, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    background: none !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info > p:first-of-type {
    margin-bottom: 0.2rem !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85), 0 0 20px rgba(0, 0, 0, 0.45), 0 2px 12px rgba(20, 14, 10, 0.55) !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info p:last-of-type {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 14px rgba(0, 0, 0, 0.4) !important;
  }
  #jrMember .visual_right .jr-hero-fixed .lawyer-info .jr-hero-profile-hint {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    align-self: center !important;
    margin: 0 auto 0.5rem auto !important;
    width: fit-content !important;
    max-width: calc(100% - 0.5rem) !important;
    text-align: center !important;
    z-index: auto !important;
  }
}



/* index 히어로 lawyer-info: 태블릿·모바일 뷰포트 가로 풀사이즈 (그리드 컬럼·innerWrap 밖으로) */


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



/* 독립 레이어: 디자인3 전용(듀오 + 파트너 교체) */



































/* 독립 레이어: 디자인4 전용(정적 전원 배치) */

































/* 초소형 모바일: 히어로 슬로건·버튼 정렬 (다운로드판) */


@media (max-width: 390px) {
  #jrMember .visual_left {
    transform: translateX(-2rem) !important;
  }
  #jrMember .btn_group {
    transform: translateX(2rem) !important;
  }
  #jrMember .slogan_wrap > .title {
    max-width: min(30.5rem, 100%) !important;
  }
  #jrMember .title h1 {
    word-break: keep-all;
    line-break: strict;
    text-wrap: balance;
    line-height: 1.22 !important;
  }
  #jrMember .title h1.jr-hero-title-line2-off {
    text-wrap: wrap;
  }
  #jrMember .title .subtxt {
    word-break: keep-all;
    line-break: strict;
    line-height: 1.55 !important;
  }
  #jrMember .title .subtxt > br,
  #jrMember .title .subtxt .jr-subtxt-br-mo {
    display: none;
  }
}



/* 히어로 제목: lawfirmjr 참고 — Pretendard ExtraBold(800) + 브라운
   common.css * { font-weight:400 } 가 h1 내부 span 에 적용되어 굵기가 사라짐 → h1·span 모두 800 고정 */


#jrMember .title h1 {
  font-weight: 800 !important;
  color: #4a3c31;
}


#jrMember .title h1 span#jr-hero-l1,
#jrMember .title h1 span#jr-hero-l2 {
  font-weight: 800 !important;
  color: inherit;
}

/* 둘째 줄 전체를 한 덩어리로(‘알려드립니다.’ 등이 음절 단위로 끊기지 않게) */
#jrMember .title h1 [data-hero-role="line2"],
#jrMember .title h1 span[id^="jr-hero-l2"] {
  white-space: nowrap;
  letter-spacing: -0.04em;
}
@media (max-width: 520px) {
  #jrMember .title h1 [data-hero-role="line2"],
  #jrMember .title h1 span[id^="jr-hero-l2"] {
    font-size: clamp(0.78em, 3.2vw + 0.45rem, 1em);
    letter-spacing: -0.06em;
  }
}

/* line2 비어 있을 때(한 줄 제목): 줄바꿈 br 숨김 */
#jrMember .title h1.jr-hero-title-line2-off > br {
  display: none;
}



/* 고정 헤더(64px)·노치: 앵커·스크롤 스냅 시 히어로 h1이 가려지지 않게 */


#jrMember.visual {
  scroll-margin-top: calc(64px + env(safe-area-inset-top, 0px));
  overflow-x: hidden;
}


/* PC: 롤링 네거티브 마진·확장 폭이 섹션에서 잘리지 않게 */


@media (min-width: 900px) {
  #jrMember.visual {
    overflow-x: visible;
  }
}


/* 디자인1 큰 사진 최종 고정값: 다른 중간 규칙 간섭 차단 */





/* 메인 학폭 히어로 롤링: 카드 프레임에 사진 비율 유지·잘림 없음(contain) — 텍스트는 위 레이어 */

/* Lawyer match section override (match screenshot #2) */
section.lawyer-search-wrap.lawyer-match {
  background: #f5f5f5;
}
.lawyer-search-wrap.lawyer-match .lawyer-search-badge,
.lawyer-match-stepper,
.lawyer-match-panel--cats,
.lawyer-match-panel-kicker {
  display: none !important;
}
.lawyer-search-wrap.lawyer-match .lawyer-search-head h2 {
  font-size: clamp(3.2rem, 2.6vw, 3.8rem);
  font-weight: 800;
  color: #4a3928;
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
}
.lawyer-search-wrap.lawyer-match .lawyer-search-desc {
  max-width: 74rem;
  margin: 0 auto 1.8rem;
  color: #857463;
  font-weight: 500;
  font-size: clamp(1.35rem, 1.18vw, 1.55rem);
}
.lawyer-match-outer {
  max-width: 96rem;
}
.lawyer-match-shell.lawyer-search-sect {
  overflow: visible;
  padding: 2rem 2.2rem;
  border-radius: 10px;
  border: 1px solid #e5ddd0;
  background: #f6f3ee;
  box-shadow: none;
}
.lawyer-match-shell.lawyer-search-sect::before {
  display: none;
}
.lawyer-match-shell-inner {
  padding: 0;
}
.lawyer-match-refine-row {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  max-width: 62rem;
  margin: 0 auto;
}
.lawyer-match-label {
  display: block;
  margin: 0 0 0.42rem;
  font-size: clamp(1.45rem, 1.2vw, 1.65rem);
  color: #5f5042;
  font-weight: 700;
  text-align: center;
}
.lawyer-match-select-wrap::after {
  right: 1rem;
  width: 0.48rem;
  height: 0.48rem;
  border-right: 1.5px solid #7f7368;
  border-bottom: 1.5px solid #7f7368;
}
.lawyer-match-shell select {
  min-height: 4rem;
  padding: 0.5rem 2rem 0.5rem 1rem;
  font-size: clamp(1.35rem, 1.15vw, 1.55rem);
  border: 1px solid #d8d0c4;
  color: #4f4337;
  text-align: center;
  text-align-last: center;
}
.lawyer-match-shell select:focus {
  border-color: #ba8348;
  box-shadow: 0 0 0 2px rgba(186, 131, 72, 0.14);
}
.lawyer-match-keyword {
  min-height: 4rem;
  padding: 0 0.85rem;
  border: 1px solid #d8d0c4;
}
.lawyer-match-keyword:focus-within {
  border-color: #ba8348;
  box-shadow: 0 0 0 2px rgba(186, 131, 72, 0.14);
}
.lawyer-match-keyword-icon {
  color: #a79a8c;
}
.lawyer-match-shell input[type="search"],
.lawyer-match-shell input[type="text"] {
  color: #4f4337;
  font-size: clamp(1.35rem, 1.15vw, 1.55rem);
}
.lawyer-match-shell input::placeholder {
  color: #9d8f80;
}
.lawyer-match-results.lawyer-search-results {
  padding: 1.35rem 0 0;
  border-top: 1px solid #e5ddd0;
  background: transparent;
}
.lawyer-match-results-title {
  margin: 0 0 0.9rem;
  font-size: clamp(1.7rem, 1.35vw, 1.95rem);
  color: #4a3928;
  text-align: center;
}
@media (max-width: 520px) {
  .lawyer-match-refine-row {
    grid-template-columns: 1fr;
  }
}
