@charset "utf-8";

/* 초기화 */
html {overflow-y:scroll;height:100%;min-width:320px}
body {margin:0;padding:0;font-size:0.75em;background:#f8f8f8;height:100%;font-family:'Malgun Gothic', dotum, sans-serif}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle}
input, button {margin:0;padding:0;font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
button {cursor:pointer}
input[type=text], input[type=password], input[type=submit], input[type=image], button {font-size:1em;-webkit-appearance:none}
textarea, select {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
textarea {border-radius:0;-webkit-appearance:none;font-family:'Malgun Gothic', dotum, sans-serif}
select {margin:0;background:none;font-family:'Malgun Gothic', dotum, sans-serif}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#000;text-decoration:none}
ul,li,dl,dt,dd {padding:0;margin:0}
ul {list-style:none}

*,:after,:before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;width:100%;height:0}
#hd_pop h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%;height:auto}
.hd_pops_con {}
.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right}
.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff}

/* 상단 레이아웃 */
#hd {position:relative;background:#212020}
#hd:after {display:block;visibility:hidden;clear:both;content:""}
#hd_h1 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}

#logo {padding:10px 10px;height:60px;text-align:center}
#logo img {vertical-align:middle;margin-top:5px;max-height:100%;width:auto}
#gnb_open {position:absolute;top:10px;left:10px;padding:0 10px;height:40px;width:40px;border:0;background-size:70%;color:#fff;background:none;font-size:2em}
#gnb {display:none;background:#efefef;position:fixed;top:0;left:0;z-index:99999;width:100%;max-width:400px;height:100%;overflow-y:auto;
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
box-shadow:0 0 5px rgba(55,55,5,0.4)}

#gnb_1dul {background:#fff}
#gnb_1dul a {display:block;color:#000}
.gnb_1dli {position:relative;line-height:40px}
.gnb_1dli button {position:absolute;top:5px;right:0;width:40px;height:40px;overflow:hidden;border:0;font-size:1.2em;background:#fff;background:url(../img/mobile/gnb_bg2.png) no-repeat 50% 50%;text-indent:-9999px}
.gnb_1dli button.btn_gnb_cl {background:url(../img/mobile/gnb_bg.png) no-repeat 50% 50%}
.gnb_1da {padding:5px 20px;border-bottom:1px solid #eee;font-weight:bold;font-size:1.2em;}
.gnb_2dul {display:none;background:#fafafa}
.gnb_2da {padding-left:30px}
#gnb_close {display:block;position:absolute;right:8px;top:10px;z-index:99;font-weight:bold;margin:0;height:40px;width:40px;border:0;color:#bfb8b2;font-size:2em;background:transparent}

#gnb_empty {padding:20px 0;color:#fff;text-align:center;line-height:2em}
#gnb_empty a {display:inline;text-decoration:underline}

#hd_sch {text-align:center;padding:12px 55px 12px 15px;background:#212020}
#hd_sch h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
#hd_sch form {position:relative;padding-right:40px}
#hd_sch #sch_stx {width:100%;height:38px;margin-left:40px;background:#464646;border:0;color:#fff}
#hd_sch #sch_submit {position:absolute;top:0;left:0;width:40px;height:38px;border:0;border-radius:3px;cursor:pointer;color:#a6a5a5;background:#464646;font-size:1.25em}

#user_btn {position:absolute;top:10px;right:10px;padding:0 10px;height:40px;width:40px;border:0;color:#fff;font-size:1.8em;background:none;letter-spacing:-0.1em}
#user_menu {display:none;position:fixed;top:0;right:0;width:100%;height:100%;overflow-y:auto;z-index:9999;background:#efefef;text-align:center}
#user_close {display:block;position:absolute;right:8px;top:10px;z-index:99;font-weight:bold;margin:0;height:40px;width:40px;border:0;color:#bfb8b2;font-size:1.8em;background:transparent}

#snb_cnt span {display:inline-block;float:right;padding:0 7px;height:18px;margin-top:3px;line-height:18px;font-size:12px;background:#da22f5;border-radius:20px;color:#fff}

#hd_nb {background:#fff;margin-top:10px;border-bottom:1px solid #e1e1e1}
#hd_nb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_nb li {width:50%;float:left;text-align:center;line-height:25px;font-size:1.083em;font-weight:bold}
#hd_nb li a {display:block;color:#717171;text-align:left;padding:10px 15px}
#hd_nb li i {font-size:14px;margin-right:10px;color:#a5a8ac}
#hd_nb .hd_nb1 {border-right:1px solid #efefef;border-bottom:1px solid #efefef}
#hd_nb .hd_nb2 {border-bottom:1px solid #efefef}
#hd_nb .hd_nb3 {border-right:1px solid #efefef}

/* 텍스트 크기 조절 */
#text_size {margin:10px 0;text-align:center;display:inline-block;padding:7px 20px;background:#e6e7e9;border-radius:25px;height:48px}
#text_size button {margin:0 5px;border:0;background:none;height:35px;width:35px;border-radius:50%}
#text_size button.select {background:#fff;border-bottom:1px solid #bbb;
-webkit-box-shadow:0 0 5px rgba(100,80,100,0.2);
-moz-box-shadow:0 0 5px rgba(100,100,100,0.2);
box-shadow:0 0 5px rgba(100,100,100,0.2)}
.ts_up {font-size:1.167em !important}
.ts_up2 {font-size:1.3em !important}

/* 중간 레이아웃 */
#wrapper {}
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
#container {position:relative;min-height:300px}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px 15px;line-height:30px;background:#fff;color:#333;
-webkit-box-shadow:0 0 10px rgba(181, 181, 181, 0.4);
-moz-box-shadow:0 0 10px rgba(181, 181, 181, 0.4);
box-shadow:0 0 10px rgba(181, 181, 181, 0.4);
}
#container_title a {display:inline-block;margin-right:5px}
.top {position:relative}
.btn_top {position:absolute;top:0px;right:10px;z-index:999;padding:8px 0}
.btn_top li {display:inline-block}
.btn_top a,.btn_top button,.btn_top .btn_submit {}
.btn_top .btn_cancel,.btn_top .btn_b01 {border:1px solid #aaa;background:none;color:#666;line-height:28px;background:#fff}
.fixed {position:fixed;top:0;right:0;z-index:999}
.fixed.btn_bo_user {right:10px}
#container_title.fixed {width:100%}

/* 하단 레이아웃 */
#ft {background:#222;padding:0px 20px 20px}
#ft h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#ft p {margin:0;padding:10px 0;line-height:1.8em}

#ft_copy {padding:10px;line-height:2em;text-align:center;color:#777}
#ft_copy #ft_company {text-align:center}
#ft_copy #ft_company a {display:inline-block;padding:0 10px;line-height:1em;border-left:1px solid #333;color:#fff}
#ft_copy #ft_company a:first-child {border:0}
.ft_cnt {font-weight:normal;color:#e3e3e3;line-height:2em;text-align:center}
.ft_cnt h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#ft_copy b {color:inherit}
#ft_copy a {color:inherit;text-decoration:none}

#top_btn {position:fixed;bottom:10px;right:15px;width:50px;height:50px;line-height:36px;border:2px solid #d2d2d2;border-radius:50%;background:#fff;color:#d2d2d2;text-align:center;font-size:15px;z-index:99;
-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
-moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)}
#top_btn i {font-size:1.4em}
#top_btn:hover {background:#3b8afb;border-color:#3b8afb;color:#fff}
#device_change {display:block;line-height:40px;border-radius:5px;background:#302e2e;color:#777;font-size:1em;text-decoration:none;text-align:center}

/* 게시물 선택복사 선택이동 */
#copymove {}
.copymove_current {float:right;color:#ff3061}
.copymove_currentbg {background:#f4f4f4}
#copymove .tbl_head01 {margin-top:10px}
#copymove td {background:#fff}
#copymove .win_btn {margin:10px}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;width:0;height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0 !important;line-height:0 !important;overflow:hidden}

/* 본문 바로가기 */
.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}

/* 이미지 등비율 리사이징 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:0;vertical-align:top}
#captcha #captcha_info {display:block;margin:3px 0 5px;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px}

/* 구글리캡챠 크기 조정 scale */
#captcha.recaptcha {width:213px;height:55px;overflow:hidden}
#rc-imageselect, .g-recaptcha {transform:scale(0.7);-webkit-transform:scale(0.7);transform-origin:0 0;-webkit-transform-origin:0 0}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/*단축키일람 */
.cke_sc {text-align:right}
.btn_cke_sc {background:#333;color:#fff;padding:5px;border:none}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:50%;font-weight:bold}
.cke_sc_def dd {width:50%}
.btn_cke_sc_close {background:#333;padding:5px;border:none;color:#fff}

/* 버튼 */
.btn {display:inline-block;padding:0 5px;height:30px;line-height:30px;border-radius:3px}
a.btn01 {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:center} /* 서식단계 진행 */

.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#2375eb}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;border:0;background:#fff;border:1px solid #3a8afd;color:#3a8afd;letter-spacing:-0.1em;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
button.btn_frmline {font-size:1em}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;background:#3a8afd;color:#fff;border-radius:3px;padding:10px;border:0;text-decoration:none;vertical-align:middle}
.btn_b01:hover, .btn_b01:hover {}
a.btn_b02, .btn_b02 {display:inline-block;background:transparent;color:#fff;border:0;border-radius:3px;padding:10px;text-decoration:none;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {}
a.btn_b03, .btn_b03 {display:inline-block;line-height:28px;border:0;background:transparent;color:#bababa;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {}
a.btn_admin {display:inline-block;color:#d13f4a;font-size:1.4em;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
a.btn_admin:focus, a.btn_admin:hover {}
.fix_btn {position:fixed;z-index:99;bottom:65px;right:15px;background:#3a8afd;width:50px;height:50px;color:#fff;text-align:center;border-radius:50% !important;font-size:1.8em;line-height:50px !important;-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
-moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)}
a.btn,.btn {line-height:35px;width:30px;height:35px;padding:0 5px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}


/* 기본테이블 */
.tbl_wrap {margin:0 10px 10px}
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_wrap caption {padding:10px 0;color:#4b8b99;font-weight:bold;text-align:left}

.tbl_head01 {}
.tbl_head01 caption {padding:0 0 10px;color:#777;text-align:left}
.tbl_head01 thead th {padding:12px 0;border:1px solid #d8dbdf;background:#f7f7f9;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head01 thead a {color:#383838}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff}
.tbl_head01 tfoot td {border-color:#e3e3e5;background:#484848;color:#fff;font-weight:bold;text-align:center}
.tbl_head01 tbody {text-align:left}
.tbl_head01 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
.tbl_head01 td {padding:5px;border:1px solid #e7e9ec;border-top:0;line-height:1.5em;word-break:break-all}

.tbl_head02 {}
.tbl_head02 caption {padding:0 0 10px;color:#777;text-align:left}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff}
.tbl_head02 tfoot td {background:#484848;color:#fff;font-weight:bold;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all}

/* 기본리스트 */
.list_01 ul {}
.list_01 li {border-bottom:1px solid #e5ecee;padding:15px}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.all_chk {padding:15px;border-bottom:1px solid #e8eaee;background:#fff}

/* 기본폼 */
.form_01 .write_div {margin-bottom:10px;position:relative}
.form_01 li {margin:0 0 10px;position:relative;list-style:none}
.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;padding:5px;border-radius:0;box-shadow:none}
.form_01 textarea {width:100%;height:100px}
.frm_input {height:45px}
.full_input {width:100%} 
.form_01 .frm_file {display:block;margin-bottom:5px;width:100%}
.form_01 select {height:40px;background-color:#fff}
.form_01 .frm_info {font-size:0.92em;color:#3a8afd;text-align:left;margin:3px 0 10px;display:block;line-height:1.3em}

/* 자료 없는 목록 */
.empty_table {padding:100px 0 !important;color:#777;text-align:center}
.empty_list {padding:20px 0 !important;text-align:center}

/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat  !important;background-position:right top !important}

/* 테이블 항목별 정의 */
.td_board {width:120px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:150px;text-align:center}
.td_group {width:100px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#999}
.txt_rdy {color:#8abc2a}

/* 새창 기본 스타일 */
.new_win {position:relative;background:#fff}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win_con {}

.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}

.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}

.new_win .win_btn {clear:both;padding:10px 0 30px;text-align:center}
.new_win .win_btn a {display:inline-block;height:45px;line-height:40px;font-weight:bold}
.new_win .cert_btn {text-align:center}
.new_win .btn_close {width:60px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 검색결과 색상 */
.sch_word {color:#fff;background:#ff005a;padding:2px 4px;margin:0 2px}

/* 사이드뷰 */
.sv_wrap {display:inline-block;position:relative;font-weight:normal;line-height:20px}
.sv_wrap .sv {z-index:1000;width:100px;display:none;margin:5px 0 0;font-size:0.92em;background:#333;text-align:left;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;width:100px;margin:0;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333;font-weight:bold}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {clear:both;display:block;padding:10px 0;text-align:center}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}


/* ============================================================
 * BK파트너스 — 모바일 메인페이지 (Figma 시안 매칭)
 * 베이스: iPhone 14/15 (390×844)
 *
 * 메인페이지에서만 활성화 (body.is-bk-main-mobile 클래스)
 * 게시판 등 다른 페이지는 위쪽 gnuboard 기본 모바일 룰 그대로 사용
 * ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@700&display=swap');

@font-face {
  font-family: 'BookkMyungjo';
  src: url('../img/fonts/Bookk-Myungjo-Bd.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'BookkMyungjo';
  src: url('../img/fonts/Bookk-Myungjo-Lt.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* ─── 메인 모바일 활성 시 기본 gnuboard 모바일 레이아웃 숨김 ─── */
#bkm_header,
#bkm_drawer,
#bkm_drawer_backdrop,
#bkm_quick,
#bkm_cta_consult { display: none; }

@media (max-width: 768px) {
body.is-bk-mobile-shell #hd,
body.is-bk-mobile-shell #ft,
body.is-bk-mobile-shell #poll,
body.is-bk-mobile-shell #visit,
body.is-bk-mobile-shell #header,
body.is-bk-mobile-shell .mobile_menu,
body.is-bk-mobile-shell #cnt_float,
body.is-bk-mobile-shell #cnt_quick,
body.is-bk-mobile-shell #footer { display: none !important; }
body.is-bk-main-mobile #wrapper { padding: 0; max-width: none; min-width: 0; }
body.is-bk-main-mobile #container { padding: 0; min-width: 0; }
body.is-bk-mobile-shell { background: #f8f8f8 !important; }
body.is-bk-main-mobile { background: #0d0a08 !important; }

body.is-bk-mobile-shell {
  margin: 0; padding: 0;
  font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
body.is-bk-main-mobile { color: #fff; }

/* ─── 변수 ─── */
.is-bk-mobile-shell {
  --bkm-pad: 24px;
  --bkm-header-h: 64px;
  --bkm-quick-h: 86px;
  --bkm-gold: #B89557;
  --bkm-bg: #0d0a08;
  --bkm-text: #FFFFFF;
  --bkm-text-mute: #AAA9A9;
}

body.is-bk-mobile-shell:not(.is-bk-main-mobile) #wrapper {
  min-width: 0;
  padding-top: var(--bkm-header-h);
  padding-bottom: calc(var(--bkm-quick-h) + 80px);
}

body.is-bk-mobile-shell:not(.is-bk-main-mobile) #container {
  min-width: 0;
}

body.is-bk-mobile-shell:not(.is-bk-main-mobile) #container_title.fixed {
  top: var(--bkm-header-h);
}
}

/* ─── 자체 헤더 ─── */
#bkm_header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--bkm-header-h);
  padding: 0 var(--bkm-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255,255,255,0.95);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: 1150; /* 드로어(1100) 위에 노출 */
  box-shadow: 0 1px 0 rgba(0,0,0,0.06);
}
body.bkm-drawer-open #bkm_header {
  background: #1a0d02;
  box-shadow: none;
}
#bkm_header .bkm_logo { display: inline-flex; align-items: center; }
#bkm_header .bkm_logo img { height: 24px; width: auto; }
#bkm_header #bkm_menu_open {
  background: none; border: none; padding: 8px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative;
}
#bkm_header #bkm_menu_open img { display: block; }
#bkm_header #bkm_menu_open .bkm_ico_close { display: none; }
body.bkm-drawer-open #bkm_header #bkm_menu_open .bkm_ico_open { display: none; }
body.bkm-drawer-open #bkm_header #bkm_menu_open .bkm_ico_close { display: block; }

/* ─── 드로어 (풀스크린, 블랙) ─── */
#bkm_drawer {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw; max-width: none;
  height: 100%;
  background: #000;
  z-index: 1100;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex; flex-direction: column;
  padding: calc(var(--bkm-header-h) + 86px) 10px 40px;
  box-sizing: border-box;
}
#bkm_drawer[aria-hidden="false"] { transform: translateX(0); }
#bkm_drawer_backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1050;
  opacity: 0; pointer-events: none;
  transition: opacity .3s ease;
}
body.bkm-drawer-open #bkm_drawer_backdrop { opacity: 1; pointer-events: auto; }
.bkm_drawer_top { display: flex; justify-content: flex-end; margin-bottom: 30px; }
.bkm_drawer_top button { background: none; border: none; padding: 8px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.bkm_drawer_nav {
  max-height: calc(100vh - var(--bkm-header-h) - var(--bkm-quick-h) - 245px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.bkm_drawer_nav::-webkit-scrollbar { display: none; }
.bkm_drawer_nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.bkm_drawer_item {
  border-bottom: 1px solid rgba(255,255,255,0.58);
}
.bkm_drawer_item:last-child {
  border-bottom: 0;
}
.bkm_drawer_item.is-open {
  padding: 0 35px 16px;
  background: #282828;
  border-bottom-color: rgba(255,255,255,0.58);
}
.bkm_drawer_toggle {
  width: 100%;
  height: 89px;
  padding: 0 35px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  background: transparent;
  border: 0;
  color: #fff;
  font: 400 20px/1.25 'Pretendard Variable', 'Pretendard', sans-serif;
  letter-spacing: 0;
  text-align: left;
}
.bkm_drawer_item.is-open .bkm_drawer_toggle {
  height: 49px;
  padding: 0;
  color: rgba(255,255,255,0.58);
}
.bkm_drawer_toggle img {
  width: 13px;
  height: 8px;
  flex: 0 0 auto;
  transition: transform .22s ease;
}
.bkm_drawer_item.is-open .bkm_drawer_toggle img {
  opacity: .7;
  transform: rotate(180deg);
}
.bkm_drawer_sub {
  display: none;
  padding: 0;
}
.bkm_drawer_item.is-open .bkm_drawer_sub {
  display: flex;
  flex-direction: column;
}
.bkm_drawer_sub a {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0;
}
/* 드로어 하단 SNS — 화면 하단에서 100px 위쪽 */
.bkm_drawer_socials {
  position: absolute;
  left: 24px;
  right: auto;
  bottom: calc(var(--bkm-quick-h) + 43px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}
.bkm_drawer_soc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px; height: 46px;
  text-decoration: none;
}
.bkm_drawer_soc img { width: 46px; height: 46px; display: block; }

/* ─── 메인 컨테이너 ─── */
#bkm_main {
  padding-top: var(--bkm-header-h);
  padding-bottom: var(--bkm-quick-h);
  background: var(--bkm-bg);
}
.bkm_section {
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

/* ── SECTION 1 : 히어로 ── */
.bkm_section_hero {
  height: calc(100vh - var(--bkm-header-h) - var(--bkm-quick-h));
  min-height: 560px;
  display: flex; align-items: center; justify-content: center;
  background-color: #0d0a08;
}
.bkm_section_hero .bkm_hero_video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 1;
}
.bkm_section_hero .bkm_hero_inner {
  position: relative; z-index: 3;
  width: 100%;
  padding: 0 var(--bkm-pad);
  text-align: center;
  color: #fff;
}
.bkm_hero_tagline {
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.6em; padding-left: 0.6em;
  color: #fff; margin-bottom: 24px;
}
.bkm_hero_emotional {
  font-size: 15px; font-weight: 300;
  letter-spacing: 0.3em; padding-left: 0.3em;
  color: rgba(255,255,255,0.95);
  margin-bottom: 16px;
}
.bkm_hero_title {
  font-family: 'BookkMyungjo', 'Noto Serif KR', serif;
  font-size: 34px; font-weight: 700;
  line-height: 1.4;
  color: #fff;
  margin: 0;
  text-shadow: 0 2px 16px rgba(0,0,0,0.5);
}

/* ── SECTION 2 : 변호사 ── */
.bkm_section_lawyer {
  height: calc(100vh - var(--bkm-header-h) - var(--bkm-quick-h));
  min-height: 560px;
  background: #1a120c;
}
.bkm_lw_bg_stage { position: absolute; inset: 0; z-index: 0; }
.bkm_lw_bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; transform: scale(1.04);
  transition: opacity .8s ease, transform 1.5s ease;
}
.bkm_lw_bg.is-active { opacity: 1; transform: scale(1); }
.bkm_lw_inner {
  position: absolute;
  top: 28px; left: 0; right: 0;
  padding: 0 var(--bkm-pad);
  z-index: 2;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,0.6);
}
.bkm_lw_title {
  font-size: 22px; font-weight: 700;
  line-height: 1.4;
  margin: 0 0 28px;
  word-break: keep-all;
}
.bkm_lw_name_row { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; }
.bkm_lw_logo { display: inline-flex; }
.bkm_lw_name { font-size: 19px; font-weight: 700; color: #fff; }
.bkm_lw_name .js-bkm-lw-name { letter-spacing: 0.4em; padding-right: 0.4em; }
.bkm_lw_suffix { font-size: 19px; font-weight: 700; color: #fff; }
.bkm_lw_role {
  font-size: 13px; font-weight: 400;
  color: rgba(255,255,255,0.8);
  margin-left: 40px; margin-bottom: 22px;
}
.bkm_lw_more {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,0.5);
  border-radius: 4px;
  color: #fff; text-decoration: none;
  font-size: 12px;
  margin-left: 40px;
}
.bkm_lw_next {
  position: absolute;
  bottom: 80px; right: var(--bkm-pad);
  width: 40px; height: 40px;
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 50%;
  z-index: 3;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0;
}
.bkm_lw_next img { width: 18px; height: 18px; }

/* ── SECTION 3 : 법조가문 ── */
.bkm_section_family {
  background-color: #0d0a08;
  padding: 30px 0 40px;
  display: flex; flex-direction: column; gap: 30px;
}
.bkm_fm_marquee { width: 100%; height: 110px; overflow: hidden; }
.bkm_fm_track {
  display: flex; gap: 8px; height: 100%;
  animation: bkmFmScroll 35s linear infinite;
  width: max-content;
}
.bkm_fm_track_reverse { animation: bkmFmScrollRev 35s linear infinite; }
.bkm_fm_cell {
  flex: 0 0 auto;
  width: 160px; height: 100%;
  overflow: hidden; background: #1a120c;
}
.bkm_fm_cell img { width: 100%; height: 100%; object-fit: cover; }
@keyframes bkmFmScroll    { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes bkmFmScrollRev { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }

.bkm_fm_center { text-align: center; padding: 10px var(--bkm-pad); }
.bkm_fm_names {
  font-size: 12px;
  letter-spacing: 0.3em; padding-left: 0.3em;
  color: #fff; margin-bottom: 14px;
}
.bkm_fm_title {
  font-family: 'BookkMyungjo', 'Noto Serif KR', serif;
  font-size: 28px; font-weight: 700;
  line-height: 1.4; color: #fff; margin: 0;
}
.bkm_fm_title .gold { color: var(--bkm-gold); }

/* ── SECTION 4 : 데이터 ── */
.bkm_section_stats {
  background-color: #0a0806;
  padding: 60px var(--bkm-pad);
}
.bkm_st_head { text-align: center; margin-bottom: 36px; }
.bkm_st_title { font-size: 24px; font-weight: 700; color: #D4AF6A; margin: 0 0 10px; }
.bkm_st_sub { font-size: 14px; color: #fff; margin: 0; }
.bkm_st_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 24px; }
.bkm_st_card { border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 20px; }
.bkm_st_card:last-child { border-bottom: none; }
.bkm_st_row { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.bkm_st_numwrap { display: flex; align-items: baseline; gap: 2px; }
.bkm_st_num {
  position: relative;
  display: inline-block;
  transform-origin: center 58%;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}
.bkm_st_num.is-counting {
  animation: bkmCountCharge 1.6s ease-in-out infinite alternate;
}
.bkm_st_num.is-count-impact {
  animation: bkmCountImpact .92s cubic-bezier(.16,1,.3,1);
}
.bkm_st_num.is-count-impact-small {
  animation: bkmCountImpactSmall 1.05s cubic-bezier(.16,1,.3,1);
}
.bkm_st_unit { font-size: 22px; font-weight: 700; color: #fff; }
.bkm_st_label { font-size: 13px; color: #fff; text-align: right; }
.bkm_st_desc { font-size: 13px; line-height: 1.5; color: var(--bkm-text-mute); margin: 0; }
.bkm_st_desc strong { color: var(--bkm-text-mute); font-weight: 400; }

@keyframes bkmCountCharge {
  0% {
    transform: scale(1);
    text-shadow: 0 0 0 rgba(212,175,106,0);
  }
  100% {
    transform: scale(1.014);
    text-shadow: 0 0 14px rgba(212,175,106,.26), 0 0 34px rgba(184,149,87,.13);
  }
}

@keyframes bkmCountImpact {
  0% {
    transform: scale(1.035);
    filter: brightness(1);
    text-shadow: 0 0 18px rgba(212,175,106,.38);
  }
  28% {
    transform: scale(1.24);
    filter: brightness(1.25);
    text-shadow: 0 0 10px rgba(255,255,255,.55), 0 0 32px rgba(212,175,106,.82), 0 0 74px rgba(184,149,87,.42);
  }
  58% {
    transform: scale(1.08);
    filter: brightness(1.08);
    text-shadow: 0 0 28px rgba(212,175,106,.55), 0 0 86px rgba(184,149,87,.22);
  }
  100% {
    transform: scale(1);
    filter: brightness(1);
    text-shadow: none;
  }
}

@keyframes bkmCountImpactSmall {
  0% {
    transform: scale(1.04);
    filter: brightness(1);
    text-shadow: 0 0 18px rgba(212,175,106,.38);
  }
  22% {
    transform: scale(1.34);
    filter: brightness(1.35);
    text-shadow: 0 0 14px rgba(255,255,255,.68), 0 0 42px rgba(212,175,106,.95), 0 0 104px rgba(184,149,87,.52);
  }
  42% {
    transform: scale(1.1);
    filter: brightness(1.18);
    text-shadow: 0 0 36px rgba(212,175,106,.72), 0 0 120px rgba(184,149,87,.35);
  }
  100% {
    transform: scale(1);
    filter: brightness(1);
    text-shadow: none;
  }
}

/* ── SECTION 5 : 우수 승소사례 ── */
.bkm_section_success {
  background-color: #0d0a08;
  padding: 50px var(--bkm-pad) 60px;
}
.bkm_sc_head { text-align: center; margin-bottom: 24px; }
.bkm_sc_title { font-size: 24px; font-weight: 700; color: #fff; margin: 0 0 10px; }
.bkm_sc_sub { font-size: 14px; color: #fff; margin: 0; line-height: 1.5; }
.bkm_sc_tabs { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0 0 18px; }
.bkm_sc_tab {
  flex: 1; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.15);
  color: #fff; border-radius: 6px;
  font-size: 13px; font-weight: 700;
  cursor: pointer;
}
.bkm_sc_tab.is-active[data-tab="criminal"] { background: #172341; }
.bkm_sc_tab.is-active[data-tab="divorce"]  { background: #604B42; }
.bkm_sc_tab.is-active[data-tab="civil"]    { background: #105050; }
.bkm_sc_pane { display: none; }
.bkm_sc_pane.is-active { display: flex; flex-direction: column; gap: 12px; }
.bkm_sc_card {
  display: flex; flex-direction: column;
  padding: 18px;
  background: #fff; color: #1A1A1A;
  border-radius: 12px; text-decoration: none;
  box-shadow: 0 6px 16px -8px rgba(0,0,0,0.3);
}
.bkm_sc_tag {
  display: inline-block; align-self: flex-start;
  padding: 3px 10px; margin-bottom: 12px;
  font-size: 12px; font-weight: 600;
  color: #fff; border-radius: 4px;
}
.bkm_sc_tag_navy  { background: #172341; }
.bkm_sc_tag_brown { background: #604B42; }
.bkm_sc_tag_green { background: #105050; }
.bkm_sc_name {
  font-size: 16px; font-weight: 700; line-height: 1.4;
  color: #1A1A1A; margin: 0 0 8px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.bkm_sc_excerpt {
  font-size: 13px; line-height: 1.5; color: #1A1A1A;
  margin: 0 0 12px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.bkm_sc_foot {
  display: flex; justify-content: space-between;
  font-size: 11px; color: var(--bkm-text-mute);
  padding-top: 10px;
  border-top: 1px solid #ECECEC;
}
.bkm_sc_more {
  display: flex; align-items: center; justify-content: center;
  height: 44px; margin-top: 24px;
  background: rgba(255,255,255,0.15); border-radius: 22px;
  color: #fff; text-decoration: none;
  font-size: 14px; font-weight: 700;
}

/* ── SECTION 6 : 미디어센터 ── */
.bkm_section_media {
  background-color: #0d0a08;
  padding: 50px var(--bkm-pad);
}
.bkm_md_block { margin-bottom: 40px; }
.bkm_md_block:last-child { margin-bottom: 0; }
.bkm_md_btitle {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 22px; font-weight: 700;
  color: #fff; text-decoration: none;
  margin-bottom: 8px;
}
.bkm_md_bsub {
  font-size: 13px; color: #fff;
  margin: 0 0 18px; line-height: 1.5;
}
.bkm_md_yt_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.bkm_md_yt_card {
  position: relative; display: block;
  aspect-ratio: 16/9;
  border-radius: 6px; overflow: hidden;
  background: #1a120c;
}
.bkm_md_yt_card img { width: 100%; height: 100%; object-fit: cover; }
.bkm_md_yt_play {
  position: absolute;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
}
.bkm_md_news_list { display: flex; flex-direction: column; gap: 12px; }
.bkm_md_news_card {
  display: grid; grid-template-columns: 100px 1fr;
  gap: 12px;
  background: #1a120c;
  border-radius: 6px; overflow: hidden;
  text-decoration: none; color: #fff;
}
.bkm_md_news_thumb { aspect-ratio: 1/1; overflow: hidden; }
.bkm_md_news_thumb img { width: 100%; height: 100%; object-fit: cover; }
.bkm_md_news_title {
  font-size: 13px; font-weight: 500; line-height: 1.5;
  color: #fff;
  margin: 0; padding: 10px 12px 10px 0;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── SECTION 7 : FAQ ── */
.bkm_section_faq {
  background-color: #0d0a08;
  padding: 50px var(--bkm-pad) 60px;
}
.bkm_fq_head { text-align: center; margin-bottom: 24px; }
.bkm_fq_title { font-size: 24px; font-weight: 700; color: #fff; margin: 0 0 10px; }
.bkm_fq_sub { font-size: 14px; color: #fff; margin: 0; line-height: 1.5; }
.bkm_fq_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.bkm_fq_item { background: #fff; border-radius: 12px; overflow: hidden; }
.bkm_fq_q {
  display: flex; align-items: center; gap: 10px;
  width: 100%;
  padding: 16px 18px;
  background: transparent; border: none;
  cursor: pointer; text-align: left;
}
.bkm_fq_q_icon {
  font-size: 18px; font-weight: 700; color: #B89557;
  width: 20px; flex-shrink: 0;
}
.bkm_fq_q_text {
  flex: 1;
  font-size: 14px; font-weight: 600;
  color: #1A1A1A; line-height: 1.4;
}
.bkm_fq_q_toggle {
  position: relative;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(196,180,164,0.20);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background .25s ease, transform .35s ease;
}
.bkm_fq_q_toggle img {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity .2s ease;
  width: 14px; height: 14px;
}
.bkm_fq_toggle_open { opacity: 0; }
.bkm_fq_item.is-open .bkm_fq_q_toggle {
  background: #B89557;
  transform: rotate(180deg);
}
.bkm_fq_item.is-open .bkm_fq_toggle_closed { opacity: 0; }
.bkm_fq_item.is-open .bkm_fq_toggle_open   { opacity: 1; }
.bkm_fq_a {
  max-height: 0; overflow: hidden;
  padding: 0 18px 0 50px;
  font-size: 13px; line-height: 1.6; color: #555;
  transition: max-height .35s ease, padding .35s ease;
}
.bkm_fq_item.is-open .bkm_fq_a {
  max-height: 300px; padding: 0 18px 16px 50px;
}
.bkm_fq_more {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 44px; margin-top: 20px;
  background: rgba(255,255,255,0.15); border-radius: 22px;
  color: #fff; text-decoration: none;
  font-size: 14px; font-weight: 700;
}

/* ── SECTION 8 : Contact (모바일 푸터) ── */
.bkm_section_contact {
  background-color: #1A1A1A;
  padding: 50px var(--bkm-pad) 40px;
}
.bkm_ct_title {
  font-size: 22px; font-weight: 700; color: #fff;
  margin: 0 0 24px;
  letter-spacing: 0.05em;
}
.bkm_ct_tel { display: flex; flex-direction: column; gap: 4px; margin-bottom: 24px; }
.bkm_ct_tel span { font-size: 13px; color: var(--bkm-text-mute); }
.bkm_ct_tel a { text-decoration: none; }
.bkm_ct_tel strong { font-size: 26px; font-weight: 700; color: #fff; }
.bkm_ct_addr { font-size: 13px; line-height: 1.7; color: #fff; margin: 0 0 24px; }
.bkm_ct_social { display: flex; gap: 12px; margin-bottom: 28px; }
.bkm_ct_social a { width: 44px; height: 44px; display: inline-flex; }
.bkm_ct_copy { font-size: 11px; color: var(--bkm-text-mute); margin: 0; }

/* ── 하단 고정 퀵메뉴 ── */
/* === bkm_quick : cnt_quick 모바일과 동일 동작 — 굴러가는 골드 트랜스 === */
#bkm_quick {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
  width: 100%;
  background-color: #f3f3f3;
  border-radius: 30px 30px 0 0;
  display: block;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  padding: 0 6.2857vw;
}
#bkm_quick .quick_wrap > ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 10px;
  position: relative;
  margin: 0;
  list-style: none;
}
#bkm_quick .quick_wrap > ul .trans {
  display: flex;
  width: 50px; height: 50px;
  border-radius: 100px;
  border: 4px solid #fff;
  background-color: #8E693D;
  background: linear-gradient(120deg, rgba(142, 105, 61, 1) 0%, rgba(219, 180, 136, 1) 50%);
  box-shadow: 4px 5px 8px rgba(0, 0, 0, 0.25);
  position: absolute;
  top: -10px;
  transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  pointer-events: none;
}
#bkm_quick .quick_wrap > ul > li {
  position: relative;
  z-index: 1;
  flex: 1;
  text-align: center;
  list-style: none;
}
#bkm_quick .quick_wrap > ul > li > a {
  display: block;
  text-decoration: none;
}
#bkm_quick .quick_wrap > ul > li .icon_box {
  position: relative;
  height: 32px;
}
#bkm_quick .quick_wrap > ul > li .icon_box::before {
  content: '';
  display: block;
  width: 24px; height: 24px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #5E5E5E;
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
  transition: 0.3s ease;
}
#bkm_quick .quick_wrap > ul > li.on .icon_box::before {
  top: -10px;
  transform: translateX(-50%) scale(1.1);
  background-color: #FFFFFF;
}
#bkm_quick .quick_wrap > ul > li .menu_title {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #5E5E5E;
  padding-top: 3px;
  letter-spacing: -0.02em;
  transition: color 0.3s ease;
}
#bkm_quick .quick_wrap > ul > li.on .menu_title {
  color: #8e693d;
}

/* ── 플로팅 CTA ── */
#bkm_cta_consult {
  position: fixed;
  right: 16px;
  bottom: calc(var(--bkm-quick-h) + 16px);
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 20px;
  background: var(--bkm-gold);
  color: #fff;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px; font-weight: 700;
  box-shadow: 0 8px 24px -4px rgba(184,149,87,0.5);
  z-index: 1200; /* 드로어(1100) 위로 떠 있도록 */
}
#bkm_cta_consult img { width: 22px; height: 22px; }

/* ── 폰트 유틸 ── */
.is-bk-main-mobile .font-bukku {
  font-family: 'BookkMyungjo', 'Noto Serif KR', serif;
  font-weight: 700;
}
.is-bk-main-mobile .gold { color: var(--bkm-gold); }

/* ============================================================
 * BK파트너스 모바일 메인 - Figma 390px 시안 오버라이드
 * 아래 룰은 body.is-bk-main-mobile 에서만 적용된다.
 * ============================================================ */
body.is-bk-main-mobile {
  --bkm-header-h: 65px;
  --bkm-quick-h: 86px;
  --bkm-bottom-safe: calc(var(--bkm-quick-h) + 18px);
  --bkm-pad: 20px;
  --bkm-brown: #2E1700;
  --bkm-gold: #B89557;
  --bkm-point: #D4AF6A;
  --bkm-black: #000;
  --bkm-copy: #1A1A1A;
  --bkm-muted: #AAA9A9;
  background: #000 !important;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}

html.is-bk-main-mobile-root {
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}

body.is-bk-main-mobile #wrapper,
body.is-bk-main-mobile #container,
body.is-bk-main-mobile #container_wr,
body.is-bk-main-mobile #contents {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

#bkm_main {
  padding-top: 0;
  padding-bottom: var(--bkm-quick-h);
  background: #000;
  min-height: 100dvh;
  overflow: visible;
}

#bkm_header {
  height: var(--bkm-header-h);
  padding: 0 20px;
  background: rgba(46, 23, 0, 0.5);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#bkm_header .bkm_logo img {
  width: 100px;
  height: auto;
  max-height: 20px;
  object-fit: contain;
}

#bkm_header #bkm_menu_open {
  width: 32px;
  height: 32px;
  padding: 6px 0 6px 8px;
}

#bkm_header #bkm_menu_open img {
  filter: brightness(0) invert(1);
}

.bkm_section {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
  color: #fff;
  background-color: #000;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  box-sizing: border-box;
}

.bkm_section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  pointer-events: none;
}

.bkm_section::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 250px;
  background: linear-gradient(90deg, rgba(46, 23, 0, 0.8) 13.47%, rgba(46, 23, 0, 0) 84.62%);
  z-index: 2;
  pointer-events: none;
}

.bkm_section > * {
  position: relative;
  z-index: 3;
}

body.is-bk-main-mobile .bkm_section::before,
body.is-bk-main-mobile .bkm_section:not(.bkm_section_hero)::after {
  display: none !important;
}

.bkm_section_hero {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background-image: none !important;
  background-color: #000;
}

.bkm_section_hero .bkm_hero_video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.bkm_section_hero .bkm_hero_video_cover {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  opacity: 1;
  transition: opacity .78s ease, visibility .78s ease;
  pointer-events: none;
}

.bkm_section_hero .bkm_hero_video_cover::before {
  content: "";
  position: absolute;
  inset: -6%;
  background: url('../img/main/hero_logo_watermark.png') center / cover no-repeat;
  transform: scale(1.05);
  animation: bkmHeroCoverDrift 5.4s cubic-bezier(.22,.61,.36,1) forwards;
}

.bkm_section_hero.is-video-ready .bkm_hero_video_cover {
  opacity: 0;
  visibility: hidden;
}

.bkm_section_hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  z-index: 2;
  background:
    radial-gradient(
      ellipse 86% 42% at 50% 48%,
      rgba(0, 0, 0, 0.34) 0%,
      rgba(0, 0, 0, 0.22) 34%,
      rgba(0, 0, 0, 0.10) 58%,
      rgba(0, 0, 0, 0) 88%
    );
  pointer-events: none;
}

@keyframes bkmHeroCoverDrift {
  0% { transform: scale(1.05) translate3d(0, 0, 0); filter: brightness(.96); }
  58% { transform: scale(1.12) translate3d(-1.1%, -.7%, 0); filter: brightness(1.03); }
  100% { transform: scale(1.15) translate3d(-1.6%, -1%, 0); filter: brightness(1.06); }
}

.bkm_section_hero .bkm_hero_inner {
  width: 276px;
  padding: 0;
  transform: translateY(max(-48px, -12.308vw));
  text-shadow:
    0 2px 10px rgba(0, 0, 0, 0.55),
    0 8px 28px rgba(0, 0, 0, 0.45);
}

.bkm_hero_tagline {
  margin: 0 0 25px;
  font-size: 6.5px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.8em;
  padding-left: 0.8em;
  text-transform: uppercase;
}

.bkm_hero_emotional {
  margin: 0 0 5px;
  font-size: 11.5px;
  line-height: 1.4;
  letter-spacing: 0.4em;
  padding-left: 0.4em;
  white-space: nowrap;
}

.bkm_hero_title {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.bkm_section_lawyer {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
}

.bkm_section_lawyer .bkm_lw_bg_stage {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.bkm_section_lawyer::before {
  background: rgba(0, 0, 0, 0.2);
}

.bkm_section_lawyer::after {
  display: none;
}

.bkm_lw_bg {
  background-position: center bottom;
  background-size: cover;
}

.bkm_lw_inner {
  top: 120px;
  left: 30px;
  right: auto;
  width: 100%;
  padding: 0;
  text-shadow: none;
}

.bkm_section_lawyer .bkm_lw_inner {
  max-height: calc(100svh - var(--bkm-header-h) - var(--bkm-bottom-safe));
}

.bkm_lw_title {
  width: 100%;
  margin: 0 0 30px;
  font-size: 25px;
  line-height: 1.4;
  color: #fff;
}

.bkm_lw_title_regular {
  font-weight: 400;
}

.bkm_lw_name_row {
  gap: 6px;
  margin: 0 0 5px;
}

.bkm_lw_logo img {
  width: 23px;
  height: auto;
}

.bkm_lw_name,
.bkm_lw_suffix {
  font-size: 18px;
  line-height: 1.4;
}

.bkm_lw_name .js-bkm-lw-name {
  letter-spacing: 0.25em;
  padding-right: 0.1em;
}

.bkm_lw_role {
  margin: 0 0 15px 30px;
  font-size: 12px;
  line-height: 1.3;
  color: #fff;
}

.bkm_lw_more {
  height: 23px;
  margin-left: 0;
  padding: 4px 12px;
  gap: 2px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  border-color: #fff;
}

.bkm_lw_more img {
  filter: brightness(0) invert(1);
}

.bkm_lw_next {
  display: none;
}

.bkm_section_family {
  min-height: 0;
  min-height: 100dvh;
  height: auto;
  padding: 0;
  gap: 0;
  overflow: hidden;
  --bkm-family-scale: 1;
}

.bkm_fm_stage {
  position: absolute;
  top: 0;
  left: 50%;
  width: 390px;
  height: 844px;
  transform: translateX(-50%) scale(var(--bkm-family-scale));
  transform-origin: top center;
  z-index: 3;
}

.bkm_section_family::before {
  background: #000;
}

.bkm_section_family::after {
  width: 100%;
  background:
    linear-gradient(90deg, rgba(46, 23, 0, 0.8), rgba(46, 23, 0, 0) 45%, rgba(46, 23, 0, 0.8)),
    linear-gradient(180deg, rgba(0, 0, 0, 0), #000 38%, #000 62%, rgba(0, 0, 0, 0));
}

.bkm_fm_marquee {
  position: absolute;
  left: -70px;
  width: 680px;
  height: 170px;
  z-index: 2;
}

.bkm_fm_top {
  top: 88px;
  left: -20px;
}

.bkm_fm_bot {
  bottom: 159px;
  left: -20px;
}

.bkm_fm_track {
  gap: 10px;
}

.bkm_fm_cell {
  width: 150px;
  height: 170px;
}

.bkm_fm_center {
  position: absolute;
  top: 386.5px;
  left: 50%;
  width: 262px;
  height: 137px;
  padding: 0;
  transform: translate(-50%, -50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.bkm_fm_names {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 20px;
  padding: 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;
}

.bkm_fm_name,
.bkm_fm_sep {
  display: inline-block;
}

.bkm_fm_name {
  transform: translateY(8px);
  opacity: 0;
  filter: blur(5px);
}

.bkm_fm_sep {
  color: rgba(212, 175, 106, 0.82);
  opacity: 0;
  transform: scale(0.6);
}

.bkm_fm_family_name {
  display: inline-block;
  color: inherit;
  transform: translateY(0) scale(1);
}

.bkm_section_family.is-in-view .bkm_fm_name {
  animation: bkmFmNameReveal .9s cubic-bezier(.16,1,.3,1) both;
}

.bkm_section_family.is-in-view .bkm_fm_name:nth-child(1) { animation-delay: .16s; }
.bkm_section_family.is-in-view .bkm_fm_name:nth-child(3) { animation-delay: .32s; }
.bkm_section_family.is-in-view .bkm_fm_name:nth-child(5) { animation-delay: .48s; }

.bkm_section_family.is-in-view .bkm_fm_sep {
  animation: bkmFmSepReveal .6s ease-out both;
}

.bkm_section_family.is-in-view .bkm_fm_sep:nth-child(2) { animation-delay: .26s; }
.bkm_section_family.is-in-view .bkm_fm_sep:nth-child(4) { animation-delay: .42s; }

.bkm_section_family.is-in-view .bkm_fm_family_name {
  animation: bkmFmFamilyNameMark 1.12s cubic-bezier(.16,1,.3,1) both;
}

.bkm_section_family.is-in-view .bkm_fm_name:nth-child(1) .bkm_fm_family_name { animation-delay: .88s; }
.bkm_section_family.is-in-view .bkm_fm_name:nth-child(3) .bkm_fm_family_name { animation-delay: 1.1s; }
.bkm_section_family.is-in-view .bkm_fm_name:nth-child(5) .bkm_fm_family_name { animation-delay: 1.32s; }

@keyframes bkmFmNameReveal {
  0% { opacity: 0; transform: translateY(8px); filter: blur(5px); }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes bkmFmSepReveal {
  0% { opacity: 0; transform: scale(0.6); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes bkmFmFamilyNameMark {
  0% { color: #FFFFFF; text-shadow: none; transform: translateY(0) scale(1); }
  42% {
    color: #F3D99E;
    text-shadow:
      0 0 10px rgba(212, 175, 106, 0.48),
      0 0 22px rgba(212, 175, 106, 0.24);
    transform: translateY(-1px) scale(1.08);
  }
  100% {
    color: #D4AF6A;
    text-shadow: 0 0 12px rgba(212, 175, 106, 0.28);
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bkm_fm_name,
  .bkm_fm_sep,
  .bkm_fm_family_name {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .bkm_fm_family_name { color: #D4AF6A; }
}

.bkm_fm_title {
  font-size: 29px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 0 0 #fff;
}

@media (max-height: 830px) {
  .bkm_section_family { --bkm-family-scale: 0.983; }
}

@media (max-height: 812px) {
  .bkm_section_family { --bkm-family-scale: 0.962; }
}

@media (max-height: 800px) {
  .bkm_section_family { --bkm-family-scale: 0.948; }
}

@media (max-height: 780px) {
  .bkm_section_family { --bkm-family-scale: 0.924; }
}

@media (max-height: 760px) {
  .bkm_section_family { --bkm-family-scale: 0.9; }
}

@media (max-height: 740px) {
  .bkm_section_family { --bkm-family-scale: 0.877; }
}

@media (max-height: 700px) {
  .bkm_section_family { --bkm-family-scale: 0.829; }
}

.bkm_section_stats {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
  padding: 100px 37px var(--bkm-bottom-safe);
  background-image: none !important;
  box-sizing: border-box;
  overflow: hidden;
  --bkm-content-scale: clamp(0.86, calc(100dvh / 812), 1.14);
}

.bkm_section_stats::before {
  background: #000;
}

.bkm_section_stats::after {
  display: none;
}

.bkm_st_inner {
  width: 313.5px;
  max-width: calc(100vw - 74px);
  margin: 0 auto;
  transform: scale(var(--bkm-content-scale));
  transform-origin: top center;
}

.bkm_st_head {
  margin-bottom: 40px;
}

.bkm_st_title {
  margin: 0 0 10px;
  font-size: 25px;
  line-height: 1.4;
  color: #fff;
}

.bkm_st_sub {
  font-size: 15px;
  line-height: 1.3;
}

.bkm_st_list {
  gap: 45px;
}

.bkm_st_card {
  min-height: 82px;
  height: auto;
  padding: 10px 5px 0;
  border-top: 0.57px solid var(--bkm-point);
  border-bottom: 0;
}

.bkm_st_row {
  align-items: center;
  margin-bottom: 17px;
}

.bkm_st_num,
.bkm_st_unit {
  font-size: 25px;
  line-height: 1.4;
}

.bkm_st_desc {
  font-size: 16px;
  line-height: 1.3;
}

.bkm_st_label {
  position: relative;
  color: var(--bkm-point);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 600;
  text-align: right;
  filter: brightness(1.12);
  text-shadow: 0 0 12px rgba(212,175,106,.34);
  animation: bkmStatLabelGlow 3.8s ease-in-out infinite;
  word-break: keep-all;
}

@keyframes bkmStatLabelGlow {
  0%, 100% {
    filter: brightness(1.08);
    text-shadow: 0 0 8px rgba(212,175,106,.26);
  }
  50% {
    filter: brightness(1.18);
    text-shadow: 0 0 15px rgba(212,175,106,.42);
  }
}

.bkm_st_desc {
  color: #C2C0BD;
  font-weight: 300;
  word-break: keep-all;
}

.bkm_st_desc strong {
  color: rgba(255, 255, 255, 0.86);
  font-weight: 400;
}

.bkm_st_desc span {
  display: none;
}

.bkm_section_success {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
  padding: 120px 0 var(--bkm-bottom-safe);
  background-position: 69% center;
  box-sizing: border-box;
  overflow: hidden;
  --bkm-content-scale: clamp(0.86, calc(100dvh / 812), 1.14);
}

.bkm_section_success::before {
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(7.5px);
  backdrop-filter: blur(7.5px);
}

.bkm_section_success::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 13.47%, rgba(0, 0, 0, 0) 84.62%);
}

.bkm_sc_inner {
  width: 354px;
  max-width: calc(100vw - 28px);
  margin: 0 auto;
  transform: scale(var(--bkm-content-scale));
  transform-origin: top center;
}

.bkm_sc_head {
  margin-bottom: 34px;
}

.bkm_sc_title,
.bkm_md_btitle,
.bkm_fq_title,
.bkm_ct_title {
  font-size: 28px;
  line-height: 1.4;
}

.bkm_sc_sub,
.bkm_md_bsub,
.bkm_fq_sub,
.bkm_ct_sub {
  font-size: 12px;
  line-height: 1.3;
}

.bkm_sc_tabs {
  width: 330px;
  height: 30px;
  margin: 0 auto 22px;
  gap: 0;
  overflow: hidden;
  border-radius: 4px;
}

.bkm_sc_tab {
  height: 30px;
  padding: 5px 0;
  border-radius: 0;
  font-size: 14px;
  line-height: 1.3;
  background: rgba(255, 255, 255, 0.15);
  border-right: 0.3px solid #fff;
}

.bkm_sc_tab:last-child {
  border-right: 0;
}

.bkm_sc_pane_wrap {
  position: relative;
  --bkm-sc-pane-w: 330px;
  --bkm-sc-card-w: 248px;
  --bkm-sc-gap: 14px;
  width: var(--bkm-sc-pane-w);
  height: 338px;
  margin: 0 auto;
  display: none;
}

.bkm_sc_pane_wrap.is-active {
  display: block;
}

.bkm_sc_pane.is-active {
  width: var(--bkm-sc-pane-w);
  height: 338px;
  margin: 0;
  padding-inline: calc((var(--bkm-sc-pane-w) - var(--bkm-sc-card-w)) / 2);
  display: flex;
  flex-direction: row;
  gap: var(--bkm-sc-gap);
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: calc((var(--bkm-sc-pane-w) - var(--bkm-sc-card-w)) / 2);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  box-sizing: border-box;
}

.bkm_sc_pane.is-active::-webkit-scrollbar {
  display: none;
}

.bkm_sc_card {
  display: grid;
  --bkm-sc-copy-h: 138px;
  --bkm-sc-doc-h: 152px;
  --bkm-sc-foot-h: 48px;
  grid-template-rows: var(--bkm-sc-copy-h) var(--bkm-sc-doc-h) var(--bkm-sc-foot-h);
  flex: 0 0 var(--bkm-sc-card-w);
  width: var(--bkm-sc-card-w);
  height: calc(var(--bkm-sc-copy-h) + var(--bkm-sc-doc-h) + var(--bkm-sc-foot-h));
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 1.5px 1.5px 3px rgba(0, 0, 0, 0.15), 3px 3px 3px rgba(0, 0, 0, 0.25);
  scroll-snap-align: start;
  filter: blur(1.5px);
  opacity: 0.85;
}

.bkm_sc_card.is-title-one-line {
  --bkm-sc-copy-h: 114px;
}

.bkm_sc_card.is-title-one-line .bkm_sc_name {
  height: 25px;
}

.bkm_sc_card.is-focused {
  filter: none;
  opacity: 1;
}

.bkm_sc_copy {
  min-height: 0;
  padding: 12px 17px 6px;
  box-sizing: border-box;
  overflow: hidden;
}

.bkm_sc_tag {
  min-width: 74px;
  height: 18px;
  padding: 2px 8px;
  margin: 0 0 8px;
  border-radius: 10px;
  font-size: 11px;
  line-height: 14px;
  text-align: center;
}

.bkm_sc_name {
  height: 50px;
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.4;
  -webkit-line-clamp: 2;
}

.bkm_sc_rule {
  display: block;
  width: 20px;
  height: 1px;
  margin-bottom: 7px;
  background: #1A1A1A;
}

.bkm_sc_excerpt {
  height: 22px;
  margin: 0;
  font-size: 8px;
  line-height: 1.4;
  -webkit-line-clamp: 2;
}

.bkm_sc_foot {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
  min-height: 0;
  padding: 6px 20px 10px;
  border-top: 0;
  font-size: 10.5px;
  line-height: 1.25;
  box-sizing: border-box;
}

.bkm_sc_by {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bkm_sc_by .lawyer-avatar-stack {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.bkm_sc_by .lawyer-avatar-stack img {
  position: relative;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid #fff;
  box-sizing: border-box;
}

.bkm_sc_by .lawyer-avatar-stack img:first-child {
  z-index: 2;
}

.bkm_sc_by .lawyer-avatar-stack img + img {
  margin-left: -10px;
  z-index: 1;
}

.bkm_sc_next {
  position: absolute;
  right: calc((var(--bkm-sc-pane-w) - var(--bkm-sc-card-w)) / 2 - 18px);
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  border: 0;
  padding: 0;
  background: transparent;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
  z-index: 8;
}

.bkm_sc_next img {
  width: 22px;
  height: 22px;
  filter: brightness(0) saturate(100%) invert(38%) sepia(0%) saturate(0%) hue-rotate(201deg) brightness(91%) contrast(88%);
}

.bkm_sc_doc {
  min-height: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-sizing: border-box;
}

.bkm_sc_doc img {
  border-radius: 10px;
  width: auto;
  max-width: 140px;
  max-height: 150px;
  object-fit: contain;
  object-position: center;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.24);

}

.bkm_sc_doc span {
  color: var(--bkm-muted);
  font-size: 12px;
}

.bkm_sc_more {
  width: 155px;
  height: 26px;
  margin: 20px auto 0;
  border: 0.5px solid #fff;
  border-radius: 999px;
  box-shadow: 0 2px 2px #000;
  font-size: 12px;
}

.bkm_section_media {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
  padding: 120px 18px var(--bkm-bottom-safe);
  background-position: center;
  box-sizing: border-box;
  overflow: hidden;
  --bkm-content-scale: clamp(0.86, calc(100dvh / 812), 1.08);
}

body.is-bk-main-mobile .bkm_section_media::before,
body.is-bk-main-mobile .bkm_section_media::after,
body.is-bk-main-mobile .bkm_section_contact::before,
body.is-bk-main-mobile .bkm_section_contact::after {
  display: block !important;
}

.bkm_section_media::before,
.bkm_section_faq::before,
.bkm_section_contact::before {
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(7.5px);
  backdrop-filter: blur(7.5px);
}

.bkm_section_media::after,
.bkm_section_contact::after {
  width: 100%;
  background:
    linear-gradient(90deg, rgba(46, 23, 0, 0.5), rgba(46, 23, 0, 0) 45%),
    linear-gradient(270deg, rgba(46, 23, 0, 0.5), rgba(46, 23, 0, 0) 45%);
}

.bkm_md_inner {
  width: 354px;
  max-width: calc(100vw - 36px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  transform: scale(var(--bkm-content-scale));
  transform-origin: top center;
}

.bkm_md_block {
  margin-bottom: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 17px;
}

.bkm_md_btitle {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--bkm-gold);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.bkm_md_btitle img {
  filter: brightness(0) saturate(100%) invert(76%) sepia(29%) saturate(512%) hue-rotate(2deg) brightness(90%) contrast(89%);
}

.bkm_md_bsub {
  width: 280px;
  margin: -7px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  line-height: 1.35;
  white-space: nowrap;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.42);
}

.bkm_md_carousel {
  position: relative;
  width: 354px;
  max-width: 100%;
  margin: 0 auto;
}

.bkm_md_carousel_yt {
  height: 146px;
}

.bkm_md_carousel_news {
  height: 191px;
}

.bkm_md_stage {
  position: relative;
  width: 354px;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
}

.bkm_md_card {
  height: 129px;
  position: absolute;
  top: 17px;
  left: 50%;
  display: block;
  width: 230px;
  overflow: hidden;
  border-radius: 0;
  background: #1a120c;
  border: 0;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.24);
  opacity: 0;
  pointer-events: none;
  text-decoration: none;
  transform: translateX(-50%) scale(0.6826);
  transform-origin: center top;
  transition: left .28s ease, transform .28s ease, opacity .28s ease, filter .28s ease, box-shadow .28s ease;
  z-index: 1;
}

.bkm_md_card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    inset 0 -18px 30px rgba(0, 0, 0, 0.18);
  pointer-events: none;
  z-index: 2;
}

.bkm_md_news_card {
  height: 174px;
}

.bkm_md_card.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(-5px) scale(1.035);
  filter: none;
  box-shadow:
    0 22px 44px rgba(0, 0, 0, 0.48),
    0 8px 18px rgba(0, 0, 0, 0.28);
  z-index: 3;
}

.bkm_md_card.is-prev,
.bkm_md_card.is-next {
  top: 0;
  opacity: 0.56;
  pointer-events: auto;
  filter: brightness(0.5) saturate(0.86);
  z-index: 2;
}

.bkm_md_card.is-prev {
  left: 78.5px;
}

.bkm_md_card.is-next {
  left: 275.5px;
}

.bkm_md_card img,
.bkm_md_news_thumb,
.bkm_md_news_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bkm_md_nav {
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8));
  z-index: 4;
}

.bkm_md_carousel_yt .bkm_md_nav {
  top: 81.5px;
}

.bkm_md_carousel_news .bkm_md_nav {
  top: 104px;
}

.bkm_md_prev {
  left: 18px;
}

.bkm_md_next {
  right: 18px;
}

.bkm_md_nav img {
  width: 30px;
  height: 30px;
  filter: brightness(0) invert(1);
}

.bkm_md_yt_card {
  height: 129px;
}

.bkm_md_news_title {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
  bottom: 0;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  margin: 0;
  padding: 0 8px;
  background: linear-gradient(180deg, rgba(15, 42, 68, 0.94), rgba(9, 24, 39, 0.98));
  color: #fff;
  font-size: 19px;
  line-height: 52px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

.bkm_section_faq {
  min-height: 844px;
  min-height: max(844px, 100dvh);
  height: auto;
  padding: 120px 28px var(--bkm-bottom-safe);
  background-position: 75% center;
  box-sizing: border-box;
  overflow: hidden;
  --bkm-content-scale: clamp(0.86, calc(100dvh / 812), 1.14);
}

.bkm_section_faq::after {
  display: none;
}

.bkm_fq_inner {
  width: 334px;
  max-width: calc(100vw - 56px);
  margin: 0 auto;
  transform: scale(var(--bkm-content-scale));
  transform-origin: top center;
}

.bkm_fq_head {
  margin-bottom: 40px;
}

.bkm_fq_sub {
  margin-top: 10px;
}

.bkm_fq_list {
  gap: 15px;
}

.bkm_fq_item {
  border-radius: 9px;
}

.bkm_fq_q {
  min-height: 58px;
  padding: 18px 20px;
  gap: 7px;
}

.bkm_fq_q_icon {
  width: 19px;
  height: 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bkm_fq_q_icon img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}

.bkm_fq_q_text {
  font-size: 14px;
  line-height: 1.35;
}

.bkm_fq_q_toggle {
  width: 24px;
  height: 24px;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  flex-shrink: 0;
}

.bkm_fq_q_toggle img {
  width: 24px;
  height: 24px;
}

.bkm_fq_item.is-open .bkm_fq_q {
  align-items: flex-start;
}

.bkm_fq_item.is-open .bkm_fq_a {
  max-height: 230px;
  padding: 0 20px 26px 46px;
}

.bkm_fq_a {
  font-size: 14px;
  line-height: 1.42;
  color: #000;
  padding-left: 46px;
}

.bkm_fq_more {
  width: 176px;
  height: 28px;
  margin: 30px auto 0;
  border: 0.6px solid #fff;
  border-radius: 999px;
  font-size: 11px;
}

.bkm_section_contact {
  min-height: 844px;
  height: auto;
  padding: 0 0 var(--bkm-bottom-safe);
  background-image: url("../img/main/section_7_bg.jpg");
  background-size: cover;
  background-position: center;
}

.bkm_ct_top {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-top: 100px;
  text-align: center;
}

.bkm_ct_title {
  margin: 0 0 10px;
}

.bkm_ct_sub {
  margin: 0 0 15px;
}

.bkm_ct_info {
  width: 303px;
  max-width: calc(100vw - 40px);
  margin: 0 auto 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.bkm_ct_info_item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 20px;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.3;
}

.bkm_ct_info_item img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.bkm_ct_info_addr {
  grid-column: 1 / -1;
  justify-content: center;
  gap: 12px;
}

.bkm_ct_info_addr .bkm_ct_loc_icon {
  width: 18px;
  height: 20px;
  flex: 0 0 18px;
}

.bkm_ct_info_addr span {
  white-space: nowrap;
  font-size: 10.8px;
  letter-spacing: -0.02em;
}

.bkm_ct_map {
  width: 100%;
  height: 237px;
  background: #e8ecef;
}

.bkm_ct_inner {
  position: relative;
  z-index: 3;
  min-height: 360px;
  padding: 25px 20px 36px;
  background: #1A1A1A;
  box-sizing: border-box;
}

.bkm_ct_logo {
  display: block;
  width: 125px;
  height: auto;
  margin-bottom: 30px;
}

.bkm_ct_links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.bkm_ct_links a {
  color: var(--bkm-muted);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  text-decoration: none;
}

.bkm_ct_links a:first-child {
  color: #fff;
}

.bkm_ct_tel {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.bkm_ct_tel span {
  color: #fff;
  font-size: 13px;
}

.bkm_ct_tel a {
  color: #fff;
  text-decoration: none;
}

.bkm_ct_tel span::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  vertical-align: -3px;
  background: url("../img/icon_call_w.png") center/contain no-repeat;
}

.bkm_ct_tel strong {
  font-size: 25px;
  line-height: 1.4;
}

.bkm_ct_addr {
  width: 349px;
  max-width: 100%;
  margin: 0 0 30px;
  color: var(--bkm-muted);
  font-size: 9.6px;
  line-height: 1.3;
}

.bkm_ct_social {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
}

.bkm_ct_social a,
.bkm_ct_social img {
  width: 36px;
  height: 36px;
}

.bkm_ct_copy {
  color: #5E5E5E;
  font-size: 10px;
  line-height: 1.3;
}

/* (기존 bkm_quick.bkm_quick_item nth-child(3) 골드원 디자인은 cnt_quick 스타일의 트랜스 굴러가는 방식으로 대체됨) */

#bkm_cta_consult {
  right: 25px;
  bottom: calc(var(--bkm-quick-h) + 43px);
  width: 138px;
  height: 46px;
  padding: 9px 10px;
  gap: 8px;
  border-radius: 5px;
  border: 1.55px solid #fff;
  box-shadow: none;
  font-size: 12px;
  line-height: 1.3;
  box-sizing: border-box;
}

#bkm_cta_consult img {
  width: 29px;
  height: 28px;
}

@media (max-width: 374px) {
  .bkm_section {
    min-height: 760px;
  }

  .bkm_section_hero,
  .bkm_section_lawyer,
  .bkm_section_family,
  .bkm_section_stats,
  .bkm_section_success,
  .bkm_section_media,
  .bkm_section_faq {
    min-height: 760px;
  }

  .bkm_sc_inner,
  .bkm_md_inner,
  .bkm_fq_inner {
    max-width: calc(100vw - 28px);
  }
}

/* 390px Figma 기준을 유지하면서 더 작은 폰에서는 같은 비율로 축소 */
@media (max-width: 390px) {
  #bkm_header {
    padding-inline: min(20px, 5.128vw);
  }

  #bkm_header .bkm_logo img {
    width: min(100px, 25.641vw);
  }

  .bkm_section_hero .bkm_hero_inner {
    width: min(276px, 70.769vw);
    transform: translateY(max(-48px, -12.308vw));
  }

  .bkm_hero_tagline {
    margin-bottom: min(25px, 6.41vw);
    font-size: min(6.5px, 1.667vw);
    letter-spacing: min(5.2px, 1.333vw);
    padding-left: min(5.2px, 1.333vw);
  }

  .bkm_hero_emotional {
    font-size: min(11.5px, 2.949vw);
    letter-spacing: min(4.6px, 1.179vw);
    padding-left: min(4.6px, 1.179vw);
  }

  .bkm_hero_title,
  .bkm_fm_title {
    font-size: min(29px, 7.692vw);
  }

  .bkm_lw_inner {
    top: min(120px, 30.769vw);
    left: min(30px, 7.692vw);
    right: 18px;
    width: auto;
  }

  .bkm_lw_title {
    width: 100%;
    margin-bottom: min(30px, 7.692vw);
    font-size: clamp(20px, 6vw, 25px);
    line-height: 1.45;
  }

  .bkm_lw_logo img {
    width: clamp(21px, 5.897vw, 23px);
  }

  .bkm_lw_name,
  .bkm_lw_suffix {
    font-size: clamp(17px, 4.615vw, 18px);
  }

  .bkm_lw_role {
    font-size: clamp(11.5px, 3.077vw, 12px);
  }

  .bkm_sc_more,
  .bkm_ct_sub,
  .bkm_ct_info_item,
  #bkm_quick .bkm_quick_item,
  #bkm_cta_consult {
    font-size: min(12px, 3.077vw);
  }

  .bkm_lw_more {
    height: min(23px, 5.897vw);
    padding: min(4px, 1.026vw) min(12px, 3.077vw);
    font-size: min(11px, 2.821vw);
  }

  .bkm_fm_names {
    font-size: min(16px, 4.103vw);
  }

  .bkm_st_title,
  .bkm_fq_title,
  .bkm_ct_title,
  .bkm_st_num,
  .bkm_st_unit,
  .bkm_ct_tel strong {
    font-size: min(25px, 6.41vw);
  }

  .bkm_st_sub,
  .bkm_sc_sub,
  .bkm_fq_sub,
  .bkm_ct_links a {
    font-size: min(12px, 3.077vw);
  }

  .bkm_st_sub {
    font-size: min(15px, 3.846vw);
  }

  .bkm_st_desc {
    font-size: min(16px, 4.103vw);
  }

  .bkm_st_label {
    font-size: min(15px, 3.846vw);
  }

  .bkm_sc_inner {
    width: min(354px, 90.769vw);
  }

  .bkm_sc_tabs {
    width: min(330px, 84.615vw);
  }

  .bkm_sc_pane_wrap {
    --bkm-sc-pane-w: min(330px, 84.615vw);
    --bkm-sc-card-w: min(248px, 63.59vw);
    --bkm-sc-gap: min(14px, 3.59vw);
  }

  .bkm_sc_pane.is-active {
    width: var(--bkm-sc-pane-w);
    padding-inline: calc((var(--bkm-sc-pane-w) - var(--bkm-sc-card-w)) / 2);
    gap: var(--bkm-sc-gap);
  }

  .bkm_sc_card {
    flex-basis: var(--bkm-sc-card-w);
    width: var(--bkm-sc-card-w);
  }

  .bkm_sc_tag {
    min-width: min(74px, 18.974vw);
    font-size: min(11px, 2.821vw);
  }

  .bkm_sc_name,
  .bkm_md_news_title {
    font-size: min(18px, 4.615vw);
  }

  .bkm_sc_excerpt {
    font-size: min(8px, 2.051vw);
  }

  .bkm_sc_foot {
    font-size: min(10.5px, 2.692vw);
  }

  .bkm_md_inner {
    width: min(354px, 90.769vw);
  }

  .bkm_md_carousel,
  .bkm_md_stage {
    width: min(354px, 90.769vw);
  }

  .bkm_md_card {
    width: min(230px, 58.974vw);
  }

  .bkm_md_card.is-prev {
    left: min(78.5px, 20.128vw);
  }

  .bkm_md_card.is-next {
    left: min(275.5px, 70.641vw);
  }

  .bkm_md_prev {
    left: min(18px, 4.615vw);
  }

  .bkm_md_next {
    right: min(18px, 4.615vw);
  }

  .bkm_fq_inner {
    width: min(334px, 85.641vw);
  }

  .bkm_ct_info {
    width: min(303px, 77.692vw);
    gap: min(10px, 2.564vw);
  }

  .bkm_ct_logo {
    width: min(125px, 32.051vw);
  }

  .bkm_ct_addr,
  .bkm_ct_copy {
    font-size: min(10px, 2.564vw);
  }

  #bkm_quick .bkm_quick_item img {
    width: min(21px, 5.385vw);
    height: min(20px, 5.128vw);
  }

  #bkm_quick .bkm_quick_item:nth-child(3) img {
    width: min(40px, 10.256vw);
    height: min(40px, 10.256vw);
    padding: min(10px, 2.564vw);
  }

  #bkm_cta_consult {
    right: min(25px, 6.41vw);
    width: min(138px, 35.385vw);
    height: min(46px, 11.795vw);
    padding: min(9px, 2.308vw) min(10px, 2.564vw);
    gap: min(8px, 2.051vw);
    white-space: nowrap;
  }

  #bkm_cta_consult img {
    width: min(29px, 7.436vw);
    height: min(28px, 7.179vw);
  }
}

/* 높이가 짧은 모바일에서는 상단 위치만 살짝 보정하고, 크기는 dvh 기반 스케일에 맡긴다. */

@media (max-height: 760px) {
  .bkm_section_stats { padding-top: 82px; }
  .bkm_section_success,
  .bkm_section_faq { padding-top: 98px; }
  .bkm_section_media {
    padding-top: 92px;
  }
}

@media (max-height: 740px) {
  .bkm_section_stats { padding-top: 76px; }
  .bkm_section_success,
  .bkm_section_faq { padding-top: 90px; }
  .bkm_section_media {
    padding-top: 84px;
  }
}

@media (max-height: 700px) {
  .bkm_section_stats { padding-top: 68px; }
  .bkm_section_success,
  .bkm_section_faq { padding-top: 82px; }
  .bkm_section_media {
    padding-top: 76px;
  }
}

@media (min-width: 769px) {
  #bkm_header,
  #bkm_drawer,
  #bkm_drawer_backdrop,
  #bkm_quick,
  #bkm_cta_consult {
    display: none !important;
  }
}
