@charset "utf-8";
/* style.css : SLB 성범죄 랜딩(기본형) - 전체 페이지 공통 스타일시트 */
/* 작성 규칙 : 레이아웃은 flex/grid + margin/padding 우선(position:absolute 지양), 높이 고정 대신 padding, 데이터 이미지는 background-image */
/* 폰트 가중치 : font.css 기준 디자인 굵기 +100 (Light=400, Regular=500, Medium=600, SemiBold=700, Bold=800) */

/* 색 설정 */
:root {
    --main-color: #11423f;
    --deep-green: #0d322f;
    --green: #17423a;
    --slate: #2e413f;
    --gold: #c9a96a;
    --ink: #1b2220;
    --gray: #6d6e6f;
    --gray-green: #5b6663;
    --accent-green: #1f7a5c;
    --bright-green: #9bbfae;
    --black-color : #222;
    --white-color : #fff;
}

/* size */
@media screen and (max-width: 1250px) { } /* tablet */
@media screen and (max-width: 650px) { } /* mobile */

/* 스크롤 커스텀 */
html::-webkit-scrollbar {width: 8px;}
html::-webkit-scrollbar-thumb {background-color: var(--main-color); border-radius: 10px;}

/* 드래그 블록 커스텀 */
::selection { background-color:var(--main-color); color:#fff; }


/* default */
*{
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color : inherit;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: inherit;
}

body{ font-family: 'Pretendard', sans-serif; font-weight:500; font-size: 16px; letter-spacing: -0.04em; color:#222; }
section{ display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration: none; color: inherit;  }
button{ font-family:inherit; letter-spacing:inherit; border:0; background:none; cursor:pointer; padding:0; }

.inner{ width:1200px; margin:0 auto;  }

.paging_box{ margin-top: 20px; padding:10px 0; display:flex; align-items: center; justify-content: center; }
.paging_box .pg_page{ background-color:#FFF; border:1px solid #e6e6e6; }
.paging_box .pg_current{ background-color: #0F1C2E; color:#fff; border:1px solid #0F1C2E; }

select{
    -webkit-appearance: none; -moz-appearance: none;  appearance: none;
    background: url('../../img/sexcrimes/common/select-icon.png') no-repeat 98% 50% #fff;
}
select::-ms-expand{ display:none; }
p{ word-break: keep-all; }

@media screen and (max-width: 1250px) {
    .inner{ width:100%; padding:0 10px; }
} /* tablet */
@media screen and (max-width: 650px) {
    .paging_box{ font-size: 13px; }
} /* mobile */


/* common : 전체 페이지 공통 - 등장 애니메이션 (animation.css 키프레임 사용, .on은 common_jp.js가 부여) */
.ani{ opacity:0; }
.ani.on{ animation: fadeIn .8s ease-out forwards; }
.ani.leftIn.on{ animation-name: fadeInLeft; }
.ani.delay1.on{ animation-delay:.15s; }
.ani.delay2.on{ animation-delay:.3s; }

/* common : 전체 페이지 공통 - 섹션 라벨/타이틀/설명 */
.sec_label{ display:block; font-size:20px; font-weight:800; color:var(--gray); letter-spacing:-0.1em; }
.sec_label.gold{ color:var(--gold); }
.sec_label.mint{ color:#9bbfae; text-align:center; }
.sec_head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.sec_tit{ margin-top:16px; font-size:42px; font-weight:800; color:var(--green); letter-spacing:-0.033em; line-height:1.33; }
.sec_desc{ flex-shrink:0; padding-bottom:4px; font-size:16px; font-weight:600; color:var(--gray); letter-spacing:-0.025em; line-height:1.75; text-align:right; }

/* common : 전체 페이지 공통 - 모바일 전용 줄바꿈 (650 이하에서만 표시) */
br.mo{ display:none; }


/* index.html : 성범죄 랜딩 - 헤더 (투명 → 스크롤 시 header.on 배경) */
header{ position:fixed; top:0; left:0; width:100%; z-index:100; transition:background .3s, box-shadow .3s; }
header.on{ background:rgba(23,31,30,0.92); box-shadow:0 6px 16px rgba(0,0,0,0.12); backdrop-filter:blur(6px); }
header .inner{ display:flex; align-items:center; padding:20px 0; }
.logo_box a{ display:flex; align-items:center; gap:10px; }
.logo_box img{ display:block; width:120px; }
.logo_desc{ padding-top:4px; font-size:13px; font-weight:700; color:#fff; letter-spacing:-0.02em; white-space:nowrap; }
header .gnb{ display:flex; align-items:center; gap:50px; margin-left:81px; }
header .gnb a{ font-size:18px; font-weight:800; color:#fff; letter-spacing:-0.02em; white-space:nowrap; transition:color .3s; }
header .gnb a:hover{ color:var(--gold); }
.header_btn{ display:flex; align-items:center; justify-content:center; gap:10px; margin-left:auto; padding:6px 22px; border-radius:100px; border:1px solid transparent; background:linear-gradient(#3a3b3b, #3a3b3b) padding-box, linear-gradient(135deg, #1f4a3a, #6a9fc7) border-box; transition:transform .3s; }
.header_btn:hover{ transform:translateY(-2px); }
.header_btn img{ display:block; width:15px; }
.header_btn span{ font-size:20px; font-weight:800; color:#fff; letter-spacing:-0.02em; white-space:nowrap; }

/* index.html : 성범죄 랜딩 - 헤더 모바일 햄버거 + 드로어 메뉴 */
.hamburger_btn{ display:none; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:36px; height:36px; margin-left:14px; }
.hamburger_btn span{ display:block; width:24px; height:2px; background:#fff; border-radius:2px; }
.mm_overlay{ position:fixed; inset:0; z-index:115; background:rgba(0,0,0,0.5); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
.mobile_menu{ position:fixed; top:0; right:0; z-index:120; display:flex; flex-direction:column; width:280px; max-width:82vw; height:100%; padding:20px 30px 40px; background:var(--deep-green); transform:translateX(100%); transition:transform .35s ease; }
.mm_close{ align-self:flex-end; width:32px; height:32px; margin-bottom:24px; background:linear-gradient(45deg, transparent 46%, #fff 46%, #fff 54%, transparent 54%) no-repeat center / 22px 22px, linear-gradient(-45deg, transparent 46%, #fff 46%, #fff 54%, transparent 54%) no-repeat center / 22px 22px; }
.mobile_menu nav{ display:flex; flex-direction:column; }
.mobile_menu nav a{ padding:16px 2px; font-size:18px; font-weight:700; color:#fff; letter-spacing:-0.02em; border-bottom:1px solid rgba(255,255,255,0.12); }
.mm_btn{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:32px; padding:10px 0; border:1px solid var(--gold); border-radius:100px; }
.mm_btn img{ display:block; width:15px; }
.mm_btn span{ font-size:18px; font-weight:800; color:#fff; letter-spacing:-0.02em; }
body.mm_open .mobile_menu{ transform:translateX(0); }
body.mm_open .mm_overlay{ opacity:1; visibility:visible; }


/* index.html : 성범죄 랜딩 - 퀵메뉴 (우측 하단 고정) */
.quick_menu{ position:fixed; right:30px; bottom:48px; z-index:96; display:flex; flex-direction:column; gap:20px; }
.quick_item{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:66px; height:66px; border-radius:50%; background:rgba(46,65,63,0.9); box-shadow:0 4px 10px rgba(0,0,0,0.25); backdrop-filter:blur(4px); transition:transform .3s, background .3s; }
.quick_item:hover, .quick_item.on{ transform:translateY(-3px); background:var(--slate); }
.qi_icon{ display:block; width:20px; height:20px; background:no-repeat center / contain; }
.qi_icon.home{ background-image:url('../../img/sexcrimes/main/quick-home.svg'); width:24px; height:24px; }
.qi_icon.naver{ background-image:url('../../img/sexcrimes/main/quick-naver.png'); width:25px; height:29px; }
.qi_icon.talktalk{ background-image:url('../../img/sexcrimes/main/quick-talktalk.png'); width:27px; height:31px; }
.qi_icon.kakao{ background-image:url('../../img/sexcrimes/main/quick-kakao.png'); width:28px; height:25px; }
.qi_icon.blog{ background-image:url('../../img/sexcrimes/main/quick-blog.svg'); width:30px; height:28px; }
.qi_txt{ font-size:12px; font-weight:500; color:#fff; text-align:center; line-height:1.15; letter-spacing:-0.05em; }

/* index.html : 성범죄 랜딩 - 퀵메뉴 사무소 선택 팝업 (네이버예약/톡톡상담/카카오톡 상담 공용, 세로 위치는 script.js에서 클릭한 버튼 기준 계산) */
.pop_dim{ position:fixed; inset:0; z-index:93; background:rgba(255,255,255,0.72); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
.pop_dim.on{ opacity:1; visibility:visible; }
.office_popup{ position:fixed; right:139px; bottom:48px; z-index:95; width:307px; overflow:hidden; background:#fff; border:1px solid rgba(46,65,63,0.3); border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,0.2); opacity:0; visibility:hidden; transform:translateY(16px); transition:opacity .3s, transform .3s, visibility .3s; }
.office_popup.on{ opacity:1; visibility:visible; transform:none; }
.office_popup .pop_head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:13px 10px 14px; background:#285c4c; }
.office_popup .pop_label{ display:block; font-style:normal; font-size:16px; font-weight:600; color:#e5cf87; line-height:1.2; }
.office_popup .pop_txt p{ margin-top:5px; font-size:20px; font-weight:600; color:#fff; line-height:1.2; letter-spacing:-0.05em; }
.office_popup .pop_close{ flex-shrink:0; width:16px; height:16px; margin-top:2px; background:linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%), linear-gradient(-45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%); }
.office_popup ul{ padding:0 10px; }
.office_popup li + li{ border-top:1px solid rgba(46,65,63,0.3); }
.office_popup li a{ display:flex; align-items:center; gap:10px; padding:14px 0; }
.office_popup li i{ display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border-radius:50%; background:rgba(201,169,106,0.9); box-shadow:0 2px 4px rgba(0,0,0,0.15); font-style:normal; font-size:12px; font-weight:700; color:#fff; }
.office_popup li span{ flex:1; font-size:18px; font-weight:700; color:#333; }
.office_popup li a::after{ content:''; flex-shrink:0; width:17px; height:10px; background:url('../../img/sexcrimes/main/pop-arrow.svg') no-repeat center / contain; }
.office_popup li a:hover span{ color:var(--main-color); }


/* index.html : 성범죄 랜딩 - 히어로 */
/* [개발 참고] hero-bg.jpg는 피그마 마스크 그룹(331:519) 통째 export — 사진 좌우반전 + 어두운 그라데이션 3겹이 이미지에 포함됨 */
.hero{ display:flex; align-items:center; height:100vh; min-height:700px; padding:140px 0 60px; background:#2a2b2b url('../../img/sexcrimes/main/hero-bg.jpg') no-repeat center / cover; }
.hero_top{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:23px; border-top:1px solid rgba(255,255,255,0.3); }
.hero_eyebrow{ font-size:15px; font-weight:700; color:rgba(255,255,255,0.72); letter-spacing:5px; }
.hero_tags{ display:flex; align-items:center; font-size:15px; font-weight:600; color:rgba(255,255,255,0.6); letter-spacing:-0.013em; }
.hero_tags span + span::before{ content:'·'; margin:0 9px; }
.hero_tit{ margin-top:42px; font-size:52px; font-weight:800; color:#fff; letter-spacing:-0.035em; line-height:1.46; }
.hero_keywords{ display:flex; flex-wrap:wrap; align-items:center; margin-top:24px; }
.hero_keywords li{ display:flex; align-items:center; font-size:15px; font-weight:600; color:rgba(255,255,255,0.68); letter-spacing:-0.013em; }
.hero_keywords li + li::before{ content:''; width:3px; height:3px; margin:0 10px 0 11px; border-radius:50%; background:rgba(255,255,255,0.45); }
.hero_bottom{ display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:58px; padding-top:38px; border-top:1px solid rgba(255,255,255,0.3); }
.hero_desc{ font-size:17px; font-weight:500; color:rgba(255,255,255,0.85); letter-spacing:-0.024em; line-height:1.76; }
.hero_desc b{ font-weight:800; color:#fff; }
.hero_btns{ display:flex; gap:20px; flex-shrink:0; }
.hero_btn{ display:flex; align-items:center; justify-content:center; gap:10px; width:175px; padding:15px 10px; border-radius:2px; font-size:16px; font-weight:800; color:#fff; letter-spacing:-0.02em; box-shadow:0 4px 10px rgba(0,0,0,0.2); transition:transform .3s, background .3s, color .3s; }
.hero_btn:hover{ transform:translateY(-2px); color:var(--bright-green); }
.hero_btn.solid{ background:var(--slate); }
.hero_btn.solid:hover{ background:#24524a; }
.hero_btn.line{ background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.4); }
.hero_btn.line:hover{ background:rgba(255,255,255,0.16); }
.hb_icon{ display:block; flex-shrink:0; background:no-repeat center / contain; }
.hb_icon.chat{ width:20px; height:20px; background-image:url('../../img/sexcrimes/main/icon-chat.png'); }
.hb_icon.tel{ width:15px; height:15px; background-image:url('../../img/sexcrimes/main/icon-tel.png'); }


/* index.html : 성범죄 랜딩 - 강점 (Strength) */
.strength{ padding:100px 0 91px; background:#f6f6f6 url('../../img/sexcrimes/main/strength-bg.jpg') no-repeat center / cover; }
.strength .sec_head{ padding-bottom:66px; border-bottom:1px solid rgba(27,34,32,0.16); }
.strength_list{ display:flex; padding:35px 0 42px; border-bottom:1px solid rgba(27,34,32,0.16); }
.strength_list li{ flex:1; display:flex; flex-direction:column; min-width:0; }
.strength_list li:first-child{ flex:0 0 405px; padding-right:30px; }
.strength_list li + li{ padding-left:30px; border-left:1px solid rgba(27,34,32,0.2); }
.strength_list li:nth-child(2){ flex:0 0 410px; padding-right:30px; }
.sl_num{ font-size:46px; font-weight:800; color:rgba(23,66,58,0.2); letter-spacing:-0.033em; line-height:1.2; }
.sl_label{ margin-top:21px; font-size:13px; font-weight:700; color:var(--green); letter-spacing:2.5px; }
.sl_tit{ margin-top:10px; font-size:24px; font-weight:800; color:var(--ink); letter-spacing:-0.033em; line-height:1.5; }
.sl_desc{ margin-top:20px; font-size:15px; font-weight:600; color:var(--gray); letter-spacing:-0.02em; line-height:1.73; }
.sl_keyword{ margin-top:auto; padding-top:12px; }
.sl_keyword{ display:flex; align-items:center; gap:13px; font-size:14px; font-weight:700; color:rgba(23,66,58,0.75); letter-spacing:-0.014em; }
.sl_keyword::before{ content:''; flex-shrink:0; width:3px; height:16px; background:var(--gold); }


/* index.html : 성범죄 랜딩 - 구성원 (Member) */
.member{ padding:100px 0; background:#1f3533 url('../../img/sexcrimes/main/member-bg.jpg') no-repeat center / cover; }
.member .inner{ display:flex; align-items:flex-start; justify-content:space-between; gap:60px; }
.member_info{ flex-shrink:0; width:420px; padding-top:18px; }
.mi_label_box{ width:396px; max-width:100%; text-align:center; }
.mi_emblem{ display:flex; align-items:center; gap:73px; margin-top:11px; height:34px; background:url('../../img/sexcrimes/main/member-title-emblem.svg') no-repeat center / 27px 34px; }
.mi_emblem::before, .mi_emblem::after{ content:''; flex:1; height:1px; background:var(--gold); }
.mi_tit{ margin-top:45px; font-size:46px; font-weight:400; color:#fff; letter-spacing:-0.043em; line-height:1.13; }
.mi_desc{ margin-top:19px; font-size:16px; font-weight:500; color:#fff; letter-spacing:-0.03em; line-height:1.44; }
.mi_line{ display:block; width:1px; height:149px; margin:17px 0 16px 6px; background:linear-gradient(180deg, rgba(255,255,255,0), #fff); }
.mi_catch{ padding-left:9px; font-size:26px; font-weight:800; color:var(--gold); letter-spacing:-0.03em; line-height:1.23; }
.member_cards{ display:flex; flex-direction:column; align-items:center; gap:16px; width:712px; }
.member_row{ display:flex; justify-content:center; gap:20px; width:100%; }
/* 카드 : 그라데이션 배경 + 워터마크 엠블럼 + 골드 그라데이션 테두리 / 사진·이름·로제트는 grid 한 칸에 겹쳐 배치 (absolute 미사용) */
.member_card{ display:grid; overflow:hidden; width:224px; border:1px solid transparent; border-radius:4px; background:
    url('../../img/sexcrimes/main/member-emblem-lg.svg') no-repeat center 14% / 80% auto padding-box,
    linear-gradient(212deg, #15514c 0%, #051413 100%) padding-box,
    linear-gradient(180deg, #c9a96a, #635334) border-box; }
.member_card > *{ grid-area:1 / 1; }
.mc_photo{ display:block; padding-top:135.7%; background-repeat:no-repeat; }
/* 시안 기준 인물별 사진 크기/위치 보정 (피그마 마스크 좌표 환산) */
.member_row:nth-child(1) li:nth-child(1) .mc_photo{ background-size:126.3% auto; background-position:50.8% 3.3%; }
.member_row:nth-child(1) li:nth-child(2) .mc_photo{ background-size:136.6% auto; background-position:57.3% 3.2%; }
.member_row:nth-child(1) li:nth-child(3) .mc_photo{ background-size:107.1% auto; background-position:50% -12.5%; }
.member_row:nth-child(2) li:nth-child(1) .mc_photo{ background-size:106.3% auto; background-position:21.4% 200%; }
.member_row:nth-child(2) li:nth-child(2) .mc_photo{ background-size:130.8% auto; background-position:49.3% -9.5%; }
.mc_rosette{ align-self:end; justify-self:end; width:25px; height:26px; margin:0 11px 41px 0; background:url('../../img/sexcrimes/main/member-rosette.svg') no-repeat center / contain; }
.mc_name{ align-self:end; justify-self:center; padding-bottom:13px; font-size:20px; font-weight:800; color:#fff; letter-spacing:-0.02em; text-shadow:0 4px 6px rgba(0,0,0,0.3); white-space:nowrap; }
.mc_name span{ margin-left:2px; font-size:14px; font-weight:500; color:var(--gold); }


/* index.html : 성범죄 랜딩 - 프로세스 (Process) */
.process{ padding:100px 0; background:#f7f7f7; }
.process .sec_tit{ color:var(--deep-green); letter-spacing:-0.029em; }
.process .sec_desc{ padding-bottom:50px; font-size:15px; color:var(--gray-green); letter-spacing:0; }
.process_steps{ display:grid; grid-template-columns:repeat(5, 1fr); gap:0 10px; margin-top:38px; padding-left: 0;}
/* PC 등장 애니메이션 : 섹션 진입 시 .process_steps.show가 붙으면서 01~05가 좌→우 순서로 페이드인 (script.js initProcessSteps, 최초 1회) */
.ps_item{ display:flex; flex-direction:column; min-width:0; cursor:pointer; opacity:0; transform:translateX(-30px); transition:opacity .5s ease, transform .5s ease; }
.ps_item:nth-child(1){ transition-delay:0s; }
.ps_item:nth-child(2){ transition-delay:.12s; }
.ps_item:nth-child(3){ transition-delay:.24s; }
.ps_item:nth-child(4){ transition-delay:.36s; }
.ps_item:nth-child(5){ transition-delay:.48s; }
.process_steps.show .ps_item{ opacity:1; transform:translateX(0); }
.ps_num{ font-size:34px; font-weight:800; color:rgba(13,50,47,0.26); letter-spacing:-0.041em; line-height:1.2; transition:color .3s; }
/* 진행바 : 단계별 구간(카드폭+gap) 3px 선 + 좌측 눈금 */
.ps_line{ display:block; width:calc(100% + 10px); height:17px; margin-top:14px; border-left:2px solid rgba(13,50,47,0.3); background:linear-gradient(rgba(13,50,47,0.1), rgba(13,50,47,0.1)) no-repeat left center / 100% 3px; transition:border-color .3s, background .3s; }
.ps_item:last-child .ps_line{ width:100%; }
.ps_card{ flex:1; margin-top:10px; padding:28px 18px 21px; border-radius:10px; background:rgba(255,255,255,0.62); box-shadow:0 6px 16px rgba(13,50,47,0.05); transition:background .3s, box-shadow .3s; }
.ps_tit{ font-size:18px; font-weight:800; color:var(--ink); letter-spacing:-0.017em; transition:color .3s; }
.ps_desc{ margin-top:7px; font-size:13px; font-weight:600; color:var(--gray-green); letter-spacing:0; line-height:1.6; }
.ps_item.done .ps_line, .ps_item.on .ps_line{ border-left-color:var(--deep-green); background-image:linear-gradient(var(--deep-green), var(--deep-green)); }
.ps_item.on .ps_num{ color:var(--deep-green); }
.ps_item.on .ps_card{ background:rgba(255,255,255,0.94); box-shadow:0 10px 24px rgba(13,50,47,0.12); }
.ps_item.on .ps_tit{ color:#a88440; }

/* index.html : 성범죄 랜딩 - 업무분야 (Practice Area) */
.practice{ margin-top:28px; padding-top:23px; border-top:1px solid rgba(13,50,47,0.16); }
.practice_head{ display:flex; justify-content:space-between; align-items:center; gap:20px; }
.ph_label{ font-size:12px; font-weight:700; color:var(--green); letter-spacing:3px; }
.ph_desc{ font-size:13px; font-weight:600; color:var(--gray-green); letter-spacing:0; }
.practice_list{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px 20px; margin-top:26px; }
.practice_list li{ padding:15px 20px 18px; background:rgba(255,255,255,0.4); border:1px solid rgba(13,50,47,0.11); transition:background .3s, border-color .3s; }
.practice_list li:hover{ background:#fff; border-color:rgba(13,50,47,0.3); }
.practice_list span{ display:block; font-size:11px; font-weight:700; color:rgba(23,66,58,0.45); letter-spacing:1.5px; }
.practice_list p{ margin-top:6px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:15px; font-weight:700; color:var(--ink); letter-spacing:-0.013em; }


/* index.html : 성범죄 랜딩 - 성공사례 (Case) */
.case{ overflow:hidden; padding:100px 0; background:#f2f2f2; }
.case .sec_label{ color:#3a3b3b; }
.case_tit{ margin-top:12px; font-size:46px; font-weight:400; color:#3a3b3b; letter-spacing:-0.043em; line-height:1.13; }
.case_tit b{ font-weight:800; color:var(--green); }
.case_slider{ margin-top:49px; overflow:visible; }
.case_slider .swiper-wrapper{ display:flex; }
.case_slider .swiper-slide{ width:387px; }
.case_card{ padding:10px 20px 20px 16px; background:rgba(255,255,255,0.8); backdrop-filter:blur(5px); border:1px solid #cccdce; border-radius:20px; }
.cc_tit, .cc_sub{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:24px; font-weight:700; color:#222; letter-spacing:-0.02em; line-height:44px; }
.cc_tit span{ padding:0 5px; background:linear-gradient(rgba(31,74,58,0.3), rgba(31,74,58,0.3)) no-repeat left bottom 9px / 100% 16px; }
.cc_sub{ margin-top:10px; }
.cc_img{ display:block; width:158px; margin:10px auto 19px; padding-top:222px; border-radius:5px; background:no-repeat center / cover; }
.cc_info{ padding:0 0 0 11px; }
.cc_info li{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.cc_info li + li{ border-top:1px solid rgba(58,59,59,0.3); }
.cc_info .ci_label{ display:flex; align-items:center; gap:8px; flex-shrink:0; font-size:18px; font-weight:700; color:#222; }
.cc_info .ci_label::before{ content:''; width:18px; height:18px; background:url('../../img/sexcrimes/main/icon-case-check.svg') no-repeat center / contain; }
.cc_info .ci_value{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin-left:12px; font-size:18px; font-weight:700; color:#222; }
.cc_more{ display:inline-flex; align-items:center; justify-content:center; margin:6px 0 0 11px; padding:9px 28px; border-radius:100px; background:#3a3b3b; font-size:16px; font-weight:600; color:#eef0f1; letter-spacing:-0.02em; transition:background .3s, color .3s; }
.cc_more:hover{ background:var(--green); color:var(--bright-green); }


/* index.html : 성범죄 랜딩 - 오시는 길 / 상담신청 (Location) */
.location{ padding:100px 0 149px; background:#17423a url('../../img/sexcrimes/main/location-bg.jpg') no-repeat center / cover; }
.location_grid{ display:flex; gap:20px; margin-top:50px; }
.location_info{ flex:1; min-width:0; }
.office_tabs{ display:flex; gap:50px; }
.office_tab{ padding-bottom:7px; border-bottom:5px solid transparent; font-size:28px; font-weight:600; color:#a9a9a9; letter-spacing:-0.02em; transition:all .3s; }
.office_tab.on{ font-weight:800; color:#fff; border-bottom-color:#fff; }
.office_panel{ display:none; }
.office_panel.on{ display:block; }
.office_map{ overflow:hidden; margin-top:30px; width:100%; aspect-ratio:590/339; border-radius:10px; background:#fff; }
.office_map iframe{ display:block; width:100%; height:100%; border:0; }
.office_detail{ margin-top:50px; }
.od_label{ padding-bottom:18px; border-bottom:2px solid #ddd; font-size:20px; font-weight:700; color:#ddd; letter-spacing:-0.02em; }
.od_contact{ display:flex; align-items:center; gap:56px; padding:20px 2px 0; }
.od_contact + .od_label{ margin-top:30px; }
.od_contact li{ display:flex; align-items:center; gap:18px; min-width:0; }
.od_icon{ display:block; flex-shrink:0; width:28px; height:28px; background:no-repeat center / contain; }
.od_contact li.tel .od_icon{ background-image:url('../../img/sexcrimes/main/icon-phone.svg'); }
.od_contact li.mail .od_icon{ width:39px; height:26px; background-image:url('../../img/sexcrimes/main/icon-mail.svg'); }
.od_contact li.addr .od_icon{ width:20px; height:28px; margin-right:18px; background-image:url('../../img/sexcrimes/main/icon-pin.svg'); }
.od_contact li a, .od_contact li .od_addr_txt{ font-size:20px; font-weight:500; color:#ddd; letter-spacing:-0.02em; }

/* index.html : 성범죄 랜딩 - 상담신청 카드 (step1 기본정보 → step2 자가진단) */
.consult_card{ flex-shrink:0; align-self:flex-start; width:590px; margin-top:12px; padding:20px 27px 30px 32px; background:#fff; border-radius:10px; box-shadow:8px 10px 14px rgba(0,0,0,0.25); }
.consult_step{ display:none; }
.consult_step.on{ display:block; }
.cs_page{ text-align:right; font-size:18px; font-weight:600; color:#999; letter-spacing:-0.05em; }
.cs_page b{ color:#1a1d1b; font-weight:600; }
.cs_form{ margin-top:18px; }
.cs_form li + li{ margin-top:20px; }
.cs_label{ font-size:16px; font-weight:500; color:#222; letter-spacing:-0.04em; }
.cs_label span{ color:#eb5757; }
.cs_label.big{ margin-top:4px; font-size:18px; font-weight:600; }
.cs_form .cs_label{ margin-bottom:6px; }
.cs_ipt{ width:100%; padding:12px; background:#fbfbfb; border:1px solid #e1e1e1; border-radius:2px; font-size:14px; font-weight:500; color:#222; letter-spacing:-0.04em; line-height:1.3; outline:none; }
.cs_ipt:focus{ border-color:var(--accent-green); }
.cs_ipt::placeholder{ color:#c9c9c9; }
.cs_textarea{ display:block; height:124px; resize:none; line-height:1.4; }
.cs_radio_box{ display:flex; align-items:center; gap:24px; padding-top:10px; }
.cs_radio{ display:flex; align-items:center; gap:10px; cursor:pointer; }
.cs_radio input{ display:none; }
.cr_icon{ display:block; width:18px; height:18px; background:url('../../img/sexcrimes/main/icon-radio-off.svg') no-repeat center / contain; }
.cs_radio input:checked ~ .cr_icon{ background-image:url('../../img/sexcrimes/main/icon-radio-on.svg'); }
.cr_txt{ font-size:16px; font-weight:500; color:#999; }
.cs_radio input:checked ~ .cr_txt{ color:#000; }
.cs_btn{ display:block; width:285px; margin:44px auto 0; padding:13px 0; border-radius:26px; background:var(--main-color); font-size:14px; font-weight:800; color:#fff; letter-spacing:-0.04em; transition:background .3s; }
.cs_btn:hover{ background:var(--deep-green); }
.cs_diagnosis{ margin-top:16px; }
.cd_group + .cd_group{ margin-top:20px; }
.cd_btns{ display:flex; flex-wrap:wrap; gap:10px; max-width:400px; margin-top:9px; }
.cd_btn{ width:120px; padding:7px 0; background:#fbfbfb; border:1px solid #e1e1e1; border-radius:3px; font-size:16px; font-weight:600; color:#999; letter-spacing:-0.02em; transition:all .2s; }
.cd_btn.on{ border-color:var(--accent-green); color:var(--accent-green); }
.cd_checks{ display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:12px; }
.cd_check{ display:flex; align-items:center; gap:8px; cursor:pointer; }
.cd_check input{ display:none; }
.cc_icon{ display:block; width:18px; height:18px; background:url('../../img/sexcrimes/main/icon-check-off.svg') no-repeat center / contain; }
.cd_check input:checked ~ .cc_icon{ background-image:url('../../img/sexcrimes/main/icon-check-on.svg'); }
.cc_txt{ font-size:16px; font-weight:500; color:#999; letter-spacing:-0.04em; }
.cd_check input:checked ~ .cc_txt{ color:#222; }
.cs_agree{ display:flex; align-items:center; gap:8px; margin-top:26px; cursor:pointer; }
.cs_agree input{ display:none; }
.ca_icon{ display:block; width:16px; height:15px; background:url('../../img/sexcrimes/main/icon-checkbox.svg') no-repeat center / contain; opacity:.35; }
.cs_agree input:checked ~ .ca_icon{ opacity:1; }
.ca_txt{ font-size:12px; font-weight:500; color:#7f7f7f; letter-spacing:-0.04em; }
.ca_txt b{ font-weight:500; cursor:pointer; }
.step2 .cs_btn{ margin-top:30px; }


/* index.html : 성범죄 랜딩 - 푸터 */
footer{ padding:88px 0 63px; background:#222; }
footer .inner{ display:flex; justify-content:space-between; gap:40px; }
.footer_logo_box{ display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:30px; width:254px; flex-shrink:0; }
.footer_logo_box img{ display:block; width:135px; }
.footer_copy{ font-size:14px; font-weight:500; color:rgba(255,255,255,0.28); letter-spacing:-0.05em; white-space:nowrap; }
.footer_info{ width:793px; min-width:0; }
.fi_row{ display:grid; grid-template-columns:131px 1fr; gap:0; padding:14px 0 16px; border-bottom:1px solid #353535; line-height:1.4; letter-spacing:-0.05em; }
.fi_row:last-child{ border-bottom:0; padding-bottom:0; }
.fi_row.top{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 48px; padding-top:0; padding-bottom:10px; border-bottom-color:rgba(217,217,217,0.4); }
.fi_name{ font-size:18px; font-weight:800; color:#fff; }
.fi_item{ display:flex; align-items:baseline; gap:8px; }
.fi_item span, .fi_row dt{ font-size:15px; font-weight:500; color:rgba(255,255,255,0.5); }
.fi_item b, .fi_row dd{ font-size:18px; font-weight:800; color:#fff; }


/* index.html : 성범죄 랜딩 - 반응형 태블릿 (1250 이하) */
@media screen and (max-width: 1250px) {
    .inner{ padding:0 20px; }
    header .inner{ padding:18px 20px; }
    header .gnb{ gap:28px; margin-left:40px; }
    header .gnb a{ font-size:16px; }
    .header_btn span{ font-size:17px; }
    .quick_menu{ right:14px; bottom:20px; transform:scale(0.85); transform-origin:bottom right; }
    .office_popup{ right:100px; }
    .hero{ padding:120px 0 50px; min-height:680px; }
    .hero_bottom{ flex-direction:column; align-items:flex-start; }
    .strength_list li:first-child, .strength_list li:nth-child(2){ flex:1; }
    .member .inner{ flex-direction:column; align-items:center; gap:60px; }
    .member_info{ width:100%; max-width:420px; padding-top:0; text-align:center; }
    .mi_label_box{ margin:0 auto; }
    .mi_line{ margin:17px auto 16px; }
    .mi_catch{ padding-left:0; }
    .member_cards{ width:100%; max-width:712px; }
    .location_grid{ flex-direction:column; }
    .consult_card{ width:100%; margin-top:20px; }
    footer .inner{ flex-direction:column-reverse; align-items:flex-start; }
    .footer_logo_box{ width:auto; flex-direction:row; align-items:center; }
    .footer_logo_box img{ width:100px; }
    .footer_info{ width:100%; }
} /* tablet */

/* index.html : 성범죄 랜딩 - 반응형 작은 태블릿 (960 이하) */
@media screen and (max-width: 960px) {
    header .gnb{ display:none; }
    .hamburger_btn{ display:flex; }
    .sec_head{ flex-direction:column; align-items:flex-start; gap:18px; }
    .sec_desc{ text-align:left; }
    .process .sec_desc{ padding-bottom:0; }
    .sec_tit{ font-size:34px; }
    .hero_tit{ font-size:42px; }
    .hero_top{ flex-direction:column; align-items:flex-start; gap:10px; }
    .strength_list{ flex-direction:column; padding:0; }
    .strength_list li, .strength_list li:first-child, .strength_list li:nth-child(2){ flex:none; padding:30px 0; }
    .strength_list li + li{ padding-left:0; border-left:0; border-top:1px solid rgba(27,34,32,0.2); }
    .mi_tit{ font-size:38px; }
    .case_tit{ font-size:38px; }
    /* 프로세스 : 세로 타임라인으로 전환 (번호 | 카드). PC 좌→우 페이드인은 사용 안 함 → 항상 보이는 상태로 고정, 모바일은 .on 순차 애니메이션만 사용 */
    .process_steps{ grid-template-columns:1fr; gap:10px;}
    .ps_item{ display:grid; grid-template-columns:64px 1fr; align-items:center; opacity:1; transform:none; transition:none; }
    .ps_line{ display:none; }
    .ps_card{ margin-top:0; padding:20px 18px; }
    .practice_list{ grid-template-columns:repeat(2, 1fr); gap:10px; }
    .od_contact{ flex-wrap:wrap; gap:14px 40px; }
    .footer_logo_box{ flex-direction:column; align-items:flex-start; gap:14px; }
} /* small tablet */

/* index.html : 성범죄 랜딩 - 업무분야 카드 : 650~960 구간만 3열 4행 (960 이하 기본 2열을 이 구간에서만 재정의, 650 이하는 다시 2열) */
@media screen and (min-width: 651px) and (max-width: 960px) {
    .practice_list{ grid-template-columns:repeat(3, 1fr); }
}

/* index.html : 성범죄 랜딩 - 반응형 모바일 (650 이하, 폰트 하한 15px) */
@media screen and (max-width: 650px) {
    body{ font-size:15px; }
    br.mo{ display:block; }
    .inner{ padding:0 16px; }
    header .inner{ padding:14px 16px; }
    .logo_box img{ width:84px; }
    .logo_desc{ display:block; font-size:9px; letter-spacing:-0.03em; }
    .header_btn{ padding:5px 12px; gap:6px; }
    .header_btn span{ font-size:14px; }
    .quick_menu{ right:10px; bottom:14px; transform:scale(0.72); gap:14px; }
    .office_popup{ right:72px; width:260px; }
    .office_popup .pop_txt p{ font-size:16px; }
    .office_popup .pop_label{ font-size:15px; }
    .office_popup li i{ width:34px; height:34px; }
    .office_popup li span{ font-size:16px; }
    .office_popup li a{ padding:11px 0; gap:8px; }
    .sec_label{ font-size:16px; }
    .sec_tit{ margin-top:10px; font-size:26px; }
    .sec_desc{ font-size:15px; }
    .hero{ padding:100px 0 30px; min-height:620px; background-position:72% center; }
    .hero_eyebrow{ font-size:12px; letter-spacing:3px; }
    .hero_tags, .hero_keywords li{ font-size:15px; }
    .hero_tit{ margin-top:30px; font-size:28px; }
    .hero_desc{ font-size:15px; }
    .hero_bottom{ margin-top:36px; padding-top:28px; }
    .hero_btns{ flex-direction:column; gap:10px; width:100%; }
    .hero_btn{ width:100%; padding:13px 10px; font-size:15px; }
    .strength{ padding:70px 0 60px; }
    .strength .sec_head{ padding-bottom:40px; }
    .strength_list li, .strength_list li:first-child, .strength_list li:nth-child(2){ padding:26px 0; }
    .sl_num{ font-size:36px; }
    .sl_label{ margin-top:12px; }
    .sl_tit{ font-size:21px; }
    .sl_desc{ margin-top:12px; font-size:15px; }
    .sl_keyword{ padding-top:14px; font-size:15px; }
    .member{ padding:70px 0; }
    .mi_tit{ margin-top:30px; font-size:30px; }
    .mi_desc{ font-size:15px; }
    .mi_line{ height:80px; }
    .mi_catch{ font-size:20px; }
    .member_cards{ gap:10px; }
    .member_row{ gap:10px; }
    .member_card{ width:calc(33.333% - 7px); }
    .mc_rosette{ width:14px; height:15px; margin:0 6px 30px 0; }
    .mc_name{ padding-bottom:8px; font-size:15px; }
    .mc_name span{ display:none; }
    .process{ padding:70px 0; }
    .process_steps{ margin-top:30px; }
    .ps_item{ grid-template-columns:48px 1fr; }
    .ps_num{ font-size:26px; }
    .ps_card{ padding:16px; }
    .ps_tit{ font-size:17px; }
    .ps_desc{ font-size:15px; }
    .practice_head{ flex-direction:column; align-items:flex-start; gap:8px; }
    .ph_label{ font-size:13px; }
    .ph_desc{ font-size:15px; }
    .practice_list{ gap:8px; margin-top:18px; }
    .practice_list li{ padding:12px 14px; }
    .practice_list span{ font-size:12px; }
    .practice_list p{ white-space:normal; font-size:15px; }
    .case{ padding:70px 0; }
    .case_tit{ font-size:26px; }
    .case_slider{ margin-top:28px; }
    .case_slider .swiper-slide{ width:290px; }
    .case_card{ padding:8px 16px 18px 12px; border-radius:16px; }
    .cc_tit, .cc_sub{ font-size:19px; line-height:36px; }
    .cc_tit span{ background-size:100% 12px; background-position:left bottom 7px; }
    .cc_sub{ margin-top:4px; }
    .cc_img{ width:130px; padding-top:183px; }
    .cc_info{ padding-left:6px; }
    .cc_info .ci_label, .cc_info .ci_value{ font-size:15px; }
    .cc_more{ margin-left:6px; padding:8px 22px; font-size:15px; }
    .location{ padding:70px 0; }
    .location_grid{ margin-top:30px; }
    .office_tabs{ gap:30px; }
    .office_tab{ padding-bottom:6px; border-bottom-width:3px; font-size:20px; }
    .office_map{ margin-top:20px; }
    .office_detail{ margin-top:30px; }
    .od_label{ padding-bottom:12px; font-size:17px; }
    .od_contact{ flex-direction:column; align-items:flex-start; gap:14px; padding-top:16px; }
    .od_contact li{ gap:12px; }
    .od_contact li a, .od_contact li .od_addr_txt{ font-size:16px; }
    .od_contact li.tel .od_icon{ width:22px; height:22px; }
    .od_contact li.mail .od_icon{ width:24px; height:20px; }
    .od_contact li.addr .od_icon{ width:16px; height:22px; margin-right:6px; }
    .consult_card{ padding:16px 18px 28px; }
    .cs_page, .cs_label, .cs_ipt, .cr_txt, .cc_txt, .ca_txt, .cs_btn{ font-size:15px; }
    .cs_radio_box{ flex-wrap:wrap; gap:12px 24px; }
    .cd_btn{ width:calc(33.333% - 7px); min-width:88px; font-size:15px; }
    .cd_checks{ gap:12px 16px; }
    .cs_btn{ width:100%; max-width:285px; }
    footer{ padding:50px 0 40px; }
    .fi_row{ grid-template-columns:100px 1fr; }
    .fi_row.top{ flex-direction:column; gap:6px; }
    .fi_item span, .fi_row dt, .footer_copy{ font-size:15px; }
    .fi_item b, .fi_row dd{ font-size:15px; }
    .footer_copy{ white-space:normal; }
    .paging_box{ font-size: 13px; }
} /* mobile */
