@charset "utf-8";
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
── Common ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */
/* ----------------------------------------------------------------------------------------------------------------
-- basic ------------------------------------------------------------------------------------------------------- */
input[type=text],
input[type=password],
input[type=submit],
textarea{-webkit-transition:all 0.30s ease-in-out;-moz-transition:all 0.30s ease-in-out;-ms-transition:all 0.30s ease-in-out;-o-transition:all 0.30s ease-in-out;outline:none;}
input[type=text]:focus,
input[type=password]:focus,
textarea:focus,
select:focus{-webkit-box-shadow: 0 0 5px #9ed4ff;-moz-box-shadow: 0 0 5px #9ed4ff;box-shadow:0 0 5px #9ed4ff;border:1px solid #558ab7 !important;}
.placeholdersjs{ color:#aaa !important; }
/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}
/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}
/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;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;background:url('../../../images/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('../../../images/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:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../images/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../images/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}
/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.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:20%;font-weight:bold}
.cke_sc_def dd {width:30%}
/* 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}
/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;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}
a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;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;padding:7px;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:right} /* 서식단계 진행 */
.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:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}
/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafafa}
.tbl_head01 a:hover {text-decoration:underline}
.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.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, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}
/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}
.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}
/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}
/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}
/* 필수입력 */
.required, textarea.required {background-image:url('../images/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}
/* 테이블 항목별 정의 */
.td_board {width:80px;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:110px;text-align:center}
.td_group {width:80px;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:#ccc}
.txt_rdy {color:#8abc2a}
/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.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 .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 .frm_info {font-size:0.92em;color:#919191}
.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 {margin:20px 0;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 .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .btn_close {height:45px;width:60px;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 5px 3px;line-height:18px;margin:0 2px}
/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}
/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-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;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}
/* 페이징 */
.pg_wrap {clear:both;float:left;display:block;margin:20px auto 50px;}
.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('../images/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../images/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../images/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../images/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}
/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}
/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
── Layout ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */
/* -- motion ------------------------------------------- */
.motion02{-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-o-transition:all 0.2s linear;-ms-transition:all 0.2s linear;transition:all 0.2s linear;}
.motion10{-webkit-transition:all 1s linear;-moz-transition:all 1s linear;-o-transition:all 1s linear;-ms-transition:all 1s linear;transition:all 1s linear;}
/* -- common ------------------------------------------- */
/* warp */
#wrap{position:relative;left:0;top:0;min-width:100%;min-height:100%;z-index:5;}
/* container */
#container{margin:0 auto;min-height:100vh;}
#contents{}
	/* sub title */
#stitle{}
#stitle h2{}
#stitle p{}
	/* snb */
#snbwrap{}
#snbwrap{}
#snbwrap > .inner{}
#snbwrap .snb_ul{margin-left:1px;}
#snbwrap .snb_ul:after{clear:both;display:block;content:"";}
#snbwrap .snb_li{float:left;position:relative;left:0;top:0;margin-left:-1px;}
#snbwrap .snb_li .snb_bc{display:block;position:relative;left:0;top:0;padding:0 40px;padding-right:50px;height:30px;line-height:30px;border-left:solid 1px #ccc;border-right:solid 1px #ccc;}
#snbwrap .snb_li .snb_bc .icon{display:block;position:absolute;right:5px;top:12px;width:10px;height:7px;background:url("../images/common/icon15.png") no-repeat center center;background-size:10px 7px;opacity:0.3;}
#snbwrap .snb_li_home .snb_bc{overflow:hidden;padding:0;width:50px;background:url("../images/common/icon_home.png") no-repeat center center;background-size:auto 20px;text-indent:-1000em;}
#snbwrap .snb_li_home .snb_bc .icon{display:none;}
#snbwrap .snb_li > div{position:absolute;left:0;top:30px;min-width:100%;white-space:nowrap;}
#snbwrap .snb_li ul{display:none;border:solid 1px #ccc;}
#snbwrap .snb_li ul li{border-bottom:solid 1px #ccc;}
#snbwrap .snb_li ul li:last-child{border-bottom:none;}
#snbwrap .snb_li ul a{display:block;padding:10px 20px;background:#fff;font-size:13px;font-size:0.8125em;}
#snbwrap .snb_li:hover .snb_bc .icon{transform:rotate(180deg);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);opacity:0.5;}
#snbwrap .snb_li:hover ul{display:block;}
#snbwrap .snb_li ul a:hover{background:#333;color:#fff !important;}
#snbwrap .snb_li ul a.active a{background:#0c365b;color:#fff;}
	/* content */
#content{}
#content img{max-width:100%;height:auto}
/* quick */
#quick{}
	/* button top */
#quick .btn_top{display:none;overflow:hidden;position:fixed;right:40px;bottom:40px;width:60px;height:60px;background:#000;border-radius:50%;color:#fff;z-index:999;box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);}
#quick .btn_top span{display:block;position:absolute;left:50%;top:50%;}
#quick .btn_top .icon{margin-top:-3px;}
#quick .btn_top .icon > span{width:20px;height:5px;background:#fff;border-radius:5px;}
#quick .btn_top .icon1{margin-left:-4px;transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);} 
#quick .btn_top .icon2{margin-left:-15px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);}
#quick .btn_top .txt{display:none;left:0;margin-top:3px;width:100%;font-size:13px;text-align:center;}
#quick .btn_top:focus,
#quick .btn_top:hover{background:#333;color:#fff !important;}
.scrollBody #quick .btn_top{display:block;}
/* etc */
.clear{display:block;float:none;clear:both;width:100%;height:0;font-size:0 !important;line-height:0 !important;overflow:hidden;margin:0 !important;padding:0 !important;}
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
── Animate ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */
@keyframes zoomoutWidth{
	from{width:120%;}
	50%{width:100%;}
	to{width:120%;}
}
@keyframes zoomoutHeight{
	from{height:120%;}
	50%{height:100%;}
	to{height:120%;}
}
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
── Main ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */
.body_index #contents{padding:0;}
.body_index #content{margin:0 auto;width:100%;max-width:100%;}
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
── Contents ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */
.ctt_admin{position:fixed;left:0;top:50%;margin-top:-15px;}
.ctt_admin a{padding:0 10px;height:30px;line-height:30px;}
/* ----------------------------------------------------------------------------------------------------------------
-- about ------------------------------------------------------------------------------------------------------- */
/* about us */
/* location */
/* hostory */
/* organization */
/* recruit */
/* partners */
/* ----------------------------------------------------------------------------------------------------------------
-- board ------------------------------------------------------------------------------------------------------- */
.content_qa{margin:0 auto;width:93.75%;max-width:1400px;}
/* ----------------------------------------------------------------------------------------------------------------
-- member ------------------------------------------------------------------------------------------------------ */
.content_register,
.content_register_form,
.content_register_result{margin:50px auto;width:93.75%;max-width:800px;}
/* ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
── Media Queries ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── */

/* ────────────────────────────────────────────────────────────────
── WhaleBridge Main (prototype v27) ──────────────────────────────
──────────────────────────────────────────────────────────────── */
:root{--ink:#0A1020;--navy:#07182F;--blue:#1769FF;--mist:#F4F7FB;--line:#DDE3EC;--muted:#7C8798;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:#fff;letter-spacing:-.012em}a{color:inherit;text-decoration:none}.wrap{width:min(1280px,calc(100% - 56px));margin:0 auto}
header{position:fixed;inset:0 0 auto;height:76px;z-index:50;display:flex;align-items:center;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,227,236,.72)}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px}.logo-ph{width:138px;height:30px;border:1px dashed #97A3B6;display:grid;place-items:center;font-size:10px;color:#6F7A8A;letter-spacing:.08em}.menu{display:flex;gap:32px;font-size:13px;font-weight:700;color:#4F5B6C}.actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:800;background:#fff}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}h1,h2,p{margin-top:0}
.hero{min-height:100vh;padding-top:76px;display:grid;align-items:center;overflow:hidden}.hero-grid{width:min(1280px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:center;padding:70px 0 60px}.hero h1{font-size:clamp(56px,6vw,92px);line-height:.97;letter-spacing:-.045em;margin-bottom:28px}.hero-copy p{font-size:17px;line-height:1.75;color:var(--muted);max-width:480px;margin-bottom:28px}
.hero-image{position:relative;height:700px;margin-right:-130px}.hero-frame{position:absolute;inset:20px 0;background:linear-gradient(145deg,#8392A7,#C6CFDA);border:1px dashed rgba(255,255,255,.75);display:grid;place-items:center;overflow:hidden}.hero-frame:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 36%,rgba(255,255,255,.24),transparent 28%),linear-gradient(125deg,transparent 0 58%,rgba(255,255,255,.14) 58% 59%,transparent 59%)}.ph-label{position:relative;z-index:2;padding:10px 14px;border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(7,24,47,.28);font-size:11px;letter-spacing:.1em}.ph-note{position:absolute;right:28px;bottom:28px;z-index:3;max-width:380px;padding:16px 18px;background:rgba(255,255,255,.94);border:1px solid rgba(221,227,236,.9);font-size:11px;line-height:1.65;color:#566172}.ph-note b{display:block;color:var(--ink);margin-bottom:4px}
.behind{position:relative;min-height:1000px;background:var(--navy);color:#fff;overflow:hidden}.behind-inner{width:min(1280px,calc(100% - 56px));margin:0 auto;min-height:1000px;position:relative;padding:120px 0}.behind-copy{position:relative;z-index:4;max-width:620px}.behind h2,.flow h2,.philosophy h2,.cta h2{font-size:clamp(46px,5.2vw,78px);line-height:1.02;letter-spacing:-.042em;margin-bottom:22px}.behind-copy p{color:#AAB6C9;font-size:17px;line-height:1.75;max-width:470px}
.layer-stack{position:absolute;right:-40px;top:165px;width:720px;height:650px;perspective:1400px}.layer{position:absolute;width:540px;height:350px;border:1px dashed rgba(255,255,255,.42);background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.03));display:grid;place-items:center;color:#D9E2F0;font-size:10px;letter-spacing:.12em}.layer:nth-child(1){right:20px;top:40px;transform:translateZ(120px) rotateY(-8deg)}.layer:nth-child(2){right:65px;top:100px;transform:translateZ(60px) rotateY(-8deg);opacity:.82}.layer:nth-child(3){right:110px;top:160px;transform:translateZ(0) rotateY(-8deg);opacity:.65}.layer:nth-child(4){right:155px;top:220px;transform:translateZ(-60px) rotateY(-8deg);opacity:.45}.behind-word{position:absolute;left:0;right:0;bottom:40px;font-size:clamp(90px,16vw,240px);line-height:.82;font-weight:900;letter-spacing:-.045em;color:rgba(255,255,255,.035);white-space:nowrap}
.flow{min-height:900px;display:grid;align-items:center;overflow:hidden}.flow-inner{width:min(1280px,calc(100% - 56px));margin:0 auto;padding:120px 0}.flow-copy{max-width:680px}.flow-copy p{font-size:14px;color:#8B95A4;letter-spacing:.1em;text-transform:uppercase}.flow-stage{margin-top:90px;height:320px;position:relative}.flow-line{position:absolute;left:-12%;right:-12%;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--blue) 18%,#6EA0FF 50%,var(--blue) 82%,transparent)}.wave{position:absolute;left:10%;right:10%;top:35%;height:110px}.wave svg{width:100%;height:100%}.flow-caption{position:absolute;bottom:0;left:0;font-size:11px;line-height:1.6;color:#7A8493;max-width:360px;border-left:1px solid var(--line);padding-left:14px}
.works{background:var(--mist);padding:120px 0 140px}.works-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:72px}.works-head h2{font-size:clamp(44px,4.4vw,68px);margin:0;line-height:1;letter-spacing:-.038em}.works-head span{font-size:12px;color:#8490A1;letter-spacing:.12em}.works-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:110px 56px;align-items:start}.work:nth-child(3){grid-column:1 / span 2;width:72%}.work-visual{border:1px dashed #9EABBC;background:linear-gradient(145deg,#C9D2DE,#AAB8C8);display:grid;place-items:center;color:#fff;font-size:11px;letter-spacing:.1em}.work-visual:after{content:"IMAGE PLACEHOLDER";padding:9px 12px;border:1px solid rgba(255,255,255,.65);background:rgba(7,24,47,.2)}.work.large .work-visual{aspect-ratio:16/10}.work.small .work-visual{aspect-ratio:4/5}.work.wide .work-visual{aspect-ratio:16/8}.work-meta{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-size:12px;color:#5B6574}.work-meta b{font-size:15px;color:var(--ink)}.work-note{margin-top:8px;font-size:11px;color:#8A94A3;max-width:520px;line-height:1.6}
.philosophy{min-height:820px;background:#060B14;color:#fff;display:grid;align-items:center;position:relative;overflow:hidden}.philosophy .wrap{position:relative;z-index:3}.philosophy p{color:#93A0B4;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.wordmark-ph{margin-top:74px;width:100%;height:210px;border:1px dashed rgba(255,255,255,.3);display:grid;place-items:center;color:#A9B4C6;font-size:12px;letter-spacing:.18em}.philosophy:before{content:"";position:absolute;width:820px;height:820px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-180px;top:-180px;box-shadow:0 0 0 110px rgba(255,255,255,.02),0 0 0 220px rgba(255,255,255,.015)}
.cta{min-height:680px;background:var(--blue);color:#fff;display:grid;align-items:center}.cta .wrap{padding:100px 0}.cta p{font-size:17px;color:#DCE6FF;margin-bottom:30px}.cta .btn{background:#fff;color:var(--ink);border-color:#fff}
footer{background:#060B14;color:#fff;padding:34px 0 44px}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.footer-logo{width:130px;height:26px;border:1px dashed rgba(255,255,255,.35);display:grid;place-items:center;color:#8D98A8;font-size:9px;letter-spacing:.1em}.footer-links{display:flex;gap:20px;font-size:11px;color:#8995A6}
@media(max-width:1000px){.menu{display:none}.hero-grid{grid-template-columns:1fr;gap:40px;padding-top:110px}.hero-image{margin-right:0;height:560px}.layer-stack{right:-200px;opacity:.74}.works-grid{grid-template-columns:1fr}.work:nth-child(3){grid-column:auto;width:100%}}
@media(max-width:720px){.wrap{width:min(100% - 28px,1280px)}header{height:68px}.hero{padding-top:68px}.hero-grid{width:min(100% - 28px,1280px);padding-top:58px}.hero h1{font-size:46px}.hero-image{height:420px}.ph-note{left:16px;right:16px;bottom:16px;max-width:none}.behind-inner{width:min(100% - 28px,1280px);min-height:780px;padding-top:88px}.layer-stack{right:-330px;top:250px;transform:scale(.78);transform-origin:top left}.flow-inner{width:min(100% - 28px,1280px);padding:88px 0}.flow-stage{height:250px}.works{padding:88px 0}.works-head{display:block}.works-head span{display:block;margin-top:10px}.works-grid{gap:70px}.work.large .work-visual,.work.small .work-visual,.work.wide .work-visual{aspect-ratio:4/3}.philosophy{min-height:650px}.wordmark-ph{height:150px}.cta{min-height:560px}.footer-grid{flex-direction:column}}

.flow{min-height:1020px}
.flow-inner{padding:150px 0 130px}
.flow-top{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:100px;
  align-items:end;
}
.flow-copy{max-width:720px}
.flow-message{
  max-width:520px;
  padding-bottom:8px;
}
.flow-message .lead{
  margin:0 0 20px;
  font-size:24px;
  line-height:1.45;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.018em;
}
.flow-message .body{
  margin:0;
  font-size:16px;
  line-height:1.9;
  color:#687384;
  letter-spacing:-.008em;
}
.flow-stage{margin-top:120px;height:390px}
.flow-points{
  position:absolute;
  left:7%;
  right:7%;
  top:58%;
  display:flex;
  justify-content:space-between;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  color:#7F8A9A;
}
.flow-points span:nth-child(2){transform:translateY(-54px)}
.flow-caption{
  max-width:430px;
  line-height:1.8;
}
@media(max-width:1000px){
  .flow-top{grid-template-columns:1fr;gap:42px}
  .flow-message{max-width:620px}
}
@media(max-width:720px){
  .flow-inner{padding:100px 0 88px}
  .flow-message .lead{font-size:21px}
  .flow-message .body{font-size:15px}
  .flow-stage{margin-top:80px;height:300px}
  .flow-points{left:0;right:0;font-size:9px;letter-spacing:.12em}
}


/* v4 overrides */
header{
  height:72px;
  background:rgba(6,11,20,.28);
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#fff;
}
header .logo-ph{
  border-color:rgba(255,255,255,.35);
  color:rgba(255,255,255,.72);
}
header .btn{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.34);
}
.nav{justify-content:space-between}
.menu{display:none!important}

.hero.hero-bg{
  min-height:100vh;
  padding-top:72px;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#08162A;
  color:#fff;
}
.hero-bg-placeholder{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 24%,rgba(88,145,255,.20),transparent 30%),
    radial-gradient(circle at 20% 78%,rgba(30,111,255,.12),transparent 28%),
    linear-gradient(180deg,#0B1C34 0%,#07182F 52%,#050B15 100%);
}
.hero-bg-placeholder:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-radial-gradient(ellipse at 55% 110%,rgba(255,255,255,.06) 0 1px,transparent 1px 34px);
  opacity:.18;
  transform:scale(1.45);
}
.hero-bg-placeholder:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,7,14,.72) 0%,rgba(2,7,14,.42) 42%,rgba(2,7,14,.08) 100%);
}
.hero-bg-label{
  position:absolute;
  z-index:2;
  right:36px;
  bottom:36px;
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.58);
  border:1px dashed rgba(255,255,255,.28);
  padding:8px 10px;
}
.hero-bg-note{
  position:absolute;
  z-index:2;
  right:36px;
  top:110px;
  width:min(420px,34vw);
  font-size:10px;
  line-height:1.7;
  letter-spacing:.04em;
  color:rgba(255,255,255,.5);
  text-align:right;
}
.hero-content{
  position:relative;
  z-index:3;
  padding:0 0 10vh;
}
.hero-kicker{
  margin-bottom:28px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  color:rgba(255,255,255,.66);
  text-transform:uppercase;
}
.hero.hero-bg h1{
  max-width:1100px;
  margin:0 0 36px;
  font-size:clamp(62px,7.2vw,112px);
  line-height:1.02;
  letter-spacing:-.025em;
  font-weight:800;
}
.hero.hero-bg p{
  margin:0 0 38px;
  max-width:560px;
  color:rgba(255,255,255,.72);
  font-size:20px;
  line-height:1.75;
  letter-spacing:-.005em;
}
.hero-link{
  display:inline-flex;
  gap:12px;
  align-items:center;
  font-size:14px;
  font-weight:800;
  letter-spacing:.03em;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.48);
}
.hero-link span{font-size:16px}

.behind h2,.flow h2,.philosophy h2{
  letter-spacing:-.026em;
}
.behind-copy p,.flow-message .body{
  letter-spacing:0;
}
.flow-message .lead{
  letter-spacing:-.008em;
}

.contact{
  background:var(--blue);
  color:#fff;
  padding:140px 0 130px;
}
.contact-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:110px;
  align-items:start;
}
.contact-copy h2{
  margin:0 0 26px;
  font-size:clamp(48px,5vw,76px);
  line-height:1.04;
  letter-spacing:-.025em;
}
.contact-copy p{
  margin:0;
  max-width:430px;
  color:#DCE6FF;
  font-size:16px;
  line-height:1.8;
  letter-spacing:0;
}
.contact-form{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.contact-form label{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.contact-form label>span{
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.76);
  letter-spacing:.01em;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.34);
  background:transparent;
  color:#fff;
  padding:14px 0 16px;
  outline:none;
  border-radius:0;
  font:inherit;
  font-size:15px;
  letter-spacing:0;
}
.contact-form textarea{
  resize:vertical;
  min-height:150px;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(255,255,255,.46);
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-bottom-color:#fff;
}
.privacy{
  flex-direction:row!important;
  align-items:center;
  gap:10px!important;
  font-size:12px;
}
.privacy input{
  width:16px;
  height:16px;
  padding:0;
  border:1px solid rgba(255,255,255,.55);
}
.contact-submit{
  align-self:flex-start;
  border:0;
  background:#fff;
  color:var(--ink);
  height:52px;
  padding:0 24px;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
}
.contact-submit span{margin-left:8px}

footer{
  padding-top:30px;
}

@media(max-width:1000px){
  .hero-content{padding-bottom:8vh}
  .hero.hero-bg h1{font-size:clamp(58px,9vw,88px)}
  .contact-grid{grid-template-columns:1fr;gap:64px}
}

@media(max-width:720px){
  header{height:64px}
  .hero.hero-bg{padding-top:64px;min-height:92vh}
  .hero-content{padding-bottom:64px}
  .hero.hero-bg h1{
    font-size:46px;
    line-height:1.08;
    letter-spacing:-.018em;
  }
  .hero.hero-bg p{
    font-size:16px;
    line-height:1.7;
  }
  .hero-bg-note{display:none}
  .hero-bg-label{right:16px;bottom:16px;font-size:8px}
  .contact{padding:96px 0 88px}
  .field-row{grid-template-columns:1fr}
  .contact-copy h2{font-size:44px}
}


/* v5 overrides */
header .actions{
  display:flex;
  align-items:center;
  gap:10px;
}
header .login-btn{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.28);
}
header .consult-btn{
  background:#fff;
  color:#08111f;
  border-color:#fff;
  padding-inline:20px;
}

.hero.hero-bg{
  align-items:center;
}
.hero-content{
  padding:7vh 0 0;
  align-self:center;
}
.hero.hero-bg h1{
  max-width:1120px;
  margin-bottom:34px;
}
.hero.hero-bg p{
  margin-bottom:34px;
}
.hero-bg-label{
  bottom:28px;
}

.contact{
  background:#0B55E8;
  padding:0;
}
.contact-head{
  display:grid;
  grid-template-columns:180px 1.15fr .85fr;
  gap:54px;
  align-items:start;
  padding-top:126px;
  padding-bottom:88px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.contact-label{
  padding-top:10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(255,255,255,.60);
}
.contact-title h2{
  margin:0;
  font-size:clamp(50px,5vw,76px);
  line-height:1.04;
  letter-spacing:-.022em;
}
.contact-intro{
  padding-top:9px;
  max-width:430px;
}
.contact-intro p{
  margin:0 0 12px;
  color:#fff;
  font-size:17px;
  line-height:1.75;
  letter-spacing:0;
}
.contact-intro span{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.6;
  letter-spacing:0;
}
.contact-body{
  padding-top:72px;
  padding-bottom:120px;
}
.contact-form{
  display:block;
}
.contact-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:54px;
  row-gap:34px;
}
.contact-form label{
  gap:8px;
}
.contact-form .field-label{
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.72);
  letter-spacing:0;
}
.contact-form input,
.contact-form textarea{
  padding:12px 0 17px;
  font-size:16px;
  line-height:1.5;
  border-bottom:1px solid rgba(255,255,255,.38);
}
.message-field{
  grid-column:1 / -1;
  margin-top:10px;
}
.contact-form textarea{
  min-height:132px;
}
.contact-action{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:38px;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.18);
}
.contact-action .privacy{
  margin:0;
}
.contact-submit{
  flex:0 0 auto;
  min-width:148px;
  height:54px;
  padding:0 24px;
}

@media(max-width:1000px){
  .hero-content{
    padding-top:5vh;
  }
  .contact-head{
    grid-template-columns:140px 1fr;
    gap:36px;
  }
  .contact-intro{
    grid-column:2;
  }
}

@media(max-width:720px){
  header .consult-btn{
    height:40px;
    padding-inline:15px;
  }
  header .login-btn{
    height:40px;
  }
  .hero-content{
    padding-top:28px;
  }
  .contact-head{
    display:block;
    padding-top:88px;
    padding-bottom:58px;
  }
  .contact-label{
    margin-bottom:24px;
    padding-top:0;
  }
  .contact-title h2{
    font-size:43px;
  }
  .contact-intro{
    margin-top:28px;
    max-width:none;
  }
  .contact-body{
    padding-top:48px;
    padding-bottom:82px;
  }
  .contact-fields{
    grid-template-columns:1fr;
    gap:28px;
  }
  .message-field{
    grid-column:auto;
  }
  .contact-action{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* v6 overrides */

/* Keep Moving visual */
.flow{
  min-height:980px;
}
.flow-inner{
  padding-top:140px;
  padding-bottom:120px;
}
.flow-stage{
  margin-top:110px;
  height:390px;
  position:relative;
}
.flow-visual{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.flow-visual svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.flow-path{
  fill:none;
  vector-effect:non-scaling-stroke;
}
.flow-path-back{
  stroke:#DCE7FF;
  stroke-width:10;
  opacity:.38;
  filter:blur(9px);
}
.flow-path-main{
  stroke:url(#flowGradient);
  stroke-width:2.4;
}
.flow-node{
  fill:#1769FF;
}
.flow-glow{
  fill:#1769FF;
  opacity:.075;
}
.flow-orbit{
  position:absolute;
  border:1px solid rgba(23,105,255,.10);
  border-radius:50%;
  pointer-events:none;
}
.orbit-a{
  width:300px;
  height:300px;
  left:25%;
  top:1%;
}
.orbit-b{
  width:420px;
  height:420px;
  right:7%;
  bottom:-38%;
}
.flow-caption,
.flow-points,
.flow-line,
.wave{
  display:none!important;
}

/* Contact alignment */
.contact{
  background:#0B55E8;
}
.contact-shell{
  padding-top:126px;
  padding-bottom:120px;
}
.contact-header{
  display:grid;
  grid-template-columns:160px minmax(0,1.05fr) minmax(320px,.75fr);
  column-gap:56px;
  align-items:start;
  padding-bottom:72px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.contact-label{
  padding-top:12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(255,255,255,.58);
}
.contact-heading h2{
  margin:0;
  max-width:720px;
  font-size:clamp(50px,5vw,74px);
  line-height:1.05;
  letter-spacing:-.02em;
}
.contact-desc{
  padding-top:12px;
  max-width:390px;
}
.contact-desc p{
  margin:0 0 12px;
  font-size:16px;
  line-height:1.75;
  letter-spacing:0;
  color:#fff;
}
.contact-desc span{
  display:block;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.58);
}
.contact-form{
  display:block;
  margin-left:216px;
  padding-top:64px;
}
.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:56px;
  row-gap:34px;
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.form-field-full{
  grid-column:1 / -1;
  margin-top:8px;
}
.field-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  color:rgba(255,255,255,.70);
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.34);
  background:transparent;
  color:#fff;
  border-radius:0;
  outline:none;
  padding:11px 0 17px;
  font:inherit;
  font-size:16px;
  line-height:1.5;
  letter-spacing:0;
}
.contact-form textarea{
  min-height:132px;
  resize:vertical;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(255,255,255,.42);
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-bottom-color:#fff;
}
.contact-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.16);
}
.contact-footer .privacy{
  flex-direction:row!important;
  align-items:center;
  gap:10px!important;
  margin:0;
}
.contact-footer .privacy input{
  width:16px;
  height:16px;
  padding:0;
}
.contact-submit{
  min-width:148px;
  height:54px;
  padding:0 24px;
}

@media(max-width:1100px){
  .contact-header{
    grid-template-columns:130px 1fr;
    row-gap:34px;
  }
  .contact-desc{
    grid-column:2;
    padding-top:0;
  }
  .contact-form{
    margin-left:186px;
  }
}

@media(max-width:720px){
  .flow{
    min-height:760px;
  }
  .flow-inner{
    padding-top:96px;
    padding-bottom:82px;
  }
  .flow-stage{
    margin-top:72px;
    height:270px;
  }
  .orbit-a{
    width:190px;
    height:190px;
    left:10%;
    top:10%;
  }
  .orbit-b{
    width:260px;
    height:260px;
    right:-12%;
    bottom:-35%;
  }

  .contact-shell{
    padding-top:88px;
    padding-bottom:82px;
  }
  .contact-header{
    display:block;
    padding-bottom:48px;
  }
  .contact-label{
    padding-top:0;
    margin-bottom:24px;
  }
  .contact-heading h2{
    font-size:42px;
  }
  .contact-desc{
    margin-top:28px;
    max-width:none;
  }
  .contact-form{
    margin-left:0;
    padding-top:46px;
  }
  .contact-form-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .form-field-full{
    grid-column:auto;
  }
  .contact-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* v7 contact refinements */
.contact{
  background:#0B55E8;
  padding:128px 0;
}
.contact-layout{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(560px,1.18fr);
  gap:88px;
  align-items:start;
}
.contact-copy{
  position:sticky;
  top:120px;
  padding-top:8px;
}
.contact-copy .contact-label{
  margin-bottom:34px;
  padding:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(255,255,255,.58);
}
.contact-copy h2{
  margin:0 0 28px;
  font-size:clamp(48px,4.4vw,68px);
  line-height:1.08;
  letter-spacing:-.018em;
  color:#fff;
}
.contact-copy p{
  margin:0;
  max-width:420px;
  font-size:15px;
  line-height:1.85;
  letter-spacing:0;
  color:rgba(255,255,255,.72);
}

.contact-card{
  background:#fff;
  color:var(--ink);
  padding:52px 52px 44px;
  border-radius:18px;
}
.contact-card .contact-form{
  margin:0;
  padding:0;
}
.contact-card .contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px 38px;
}
.contact-card .form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.contact-card .form-field-full{
  grid-column:1 / -1;
  margin-top:6px;
}
.contact-card .field-label{
  color:#596474;
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
}
.contact-card input,
.contact-card textarea{
  width:100%;
  border:0;
  border-bottom:1px solid #CBD3DF;
  background:transparent;
  color:var(--ink);
  border-radius:0;
  outline:none;
  padding:12px 0 16px;
  font:inherit;
  font-size:15px;
  line-height:1.5;
  letter-spacing:0;
}
.contact-card textarea{
  min-height:130px;
  resize:vertical;
}
.contact-card input::placeholder,
.contact-card textarea::placeholder{
  color:#A4ADBA;
}
.contact-card input:focus,
.contact-card textarea:focus{
  border-bottom-color:var(--blue);
}
.contact-card .contact-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  margin-top:32px;
  padding-top:26px;
  border-top:1px solid #E4E9F0;
}
.contact-card .privacy{
  flex-direction:row!important;
  align-items:center;
  gap:9px!important;
  margin:0;
}
.contact-card .privacy span{
  color:#717C8C;
  font-size:12px;
}
.contact-card .privacy input{
  width:16px;
  height:16px;
  padding:0;
}
.contact-card .contact-submit{
  min-width:146px;
  height:52px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  font-weight:800;
}

@media(max-width:1000px){
  .contact-layout{
    grid-template-columns:1fr;
    gap:54px;
  }
  .contact-copy{
    position:static;
    max-width:700px;
  }
}
@media(max-width:720px){
  .contact{
    padding:90px 0;
  }
  .contact-copy h2{
    font-size:42px;
  }
  .contact-card{
    padding:34px 24px 28px;
    border-radius:14px;
  }
  .contact-card .contact-form-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .contact-card .form-field-full{
    grid-column:auto;
  }
  .contact-card .contact-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* v8 refinements */

/* Behind oversized wordmark centered */
.behind-word{
  left:50%!important;
  right:auto!important;
  width:max-content;
  transform:translateX(-50%);
  text-align:center;
  white-space:nowrap;
}

/* Contact: calmer visual tone */
.contact{
  background:#08172C;
  color:#fff;
}
.contact-copy .contact-label{
  color:rgba(255,255,255,.48);
}
.contact-copy h2{
  color:#fff;
}
.contact-copy p{
  color:rgba(255,255,255,.66);
}

.contact-card{
  background:#F5F7FA;
  color:var(--ink);
  box-shadow:0 24px 80px rgba(0,0,0,.16);
}
.contact-card .field-label{
  color:#596474;
}
.contact-card input,
.contact-card textarea{
  border-bottom-color:#C9D1DD;
  color:#101827;
}
.contact-card input::placeholder,
.contact-card textarea::placeholder{
  color:#9BA5B3;
}
.contact-card input:focus,
.contact-card textarea:focus{
  border-bottom-color:#1769FF;
}
.contact-card .contact-footer{
  border-top-color:#DEE4EC;
}
.contact-card .privacy span{
  color:#6E7887;
}
.contact-card .contact-submit{
  background:#1769FF;
  color:#fff;
}


/* v9 footer */
.site-footer{
  background:#050B14;
  color:#fff;
  padding:78px 0 30px;
}
.footer-main{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:90px;
  padding-bottom:70px;
}
.footer-brand{
  max-width:560px;
}
.footer-brand .footer-logo{
  width:168px;
  height:34px;
  border:1px dashed rgba(255,255,255,.28);
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.56);
  font-size:10px;
  letter-spacing:.12em;
  margin-bottom:34px;
}
.footer-brand p{
  margin:0;
  font-size:clamp(30px,3.3vw,50px);
  line-height:1.12;
  letter-spacing:-.018em;
  color:#fff;
  font-weight:700;
}
.footer-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start;
  padding-top:4px;
}
.footer-block{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-kicker{
  margin-bottom:8px;
  color:rgba(255,255,255,.38);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.footer-block a{
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.5;
  letter-spacing:0;
  transition:color .2s ease;
}
.footer-block a:hover{
  color:#fff;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer-meta{
  display:flex;
  align-items:center;
  gap:20px;
  color:rgba(255,255,255,.38);
  font-size:11px;
  letter-spacing:0;
}
.footer-meta span:first-child{
  color:rgba(255,255,255,.64);
  font-weight:700;
}
.footer-legal{
  display:flex;
  gap:20px;
}
.footer-legal a{
  color:rgba(255,255,255,.42);
  font-size:11px;
  letter-spacing:0;
}
.footer-legal a:hover{
  color:rgba(255,255,255,.8);
}

@media(max-width:900px){
  .footer-main{
    grid-template-columns:1fr;
    gap:54px;
  }
  .footer-info{
    max-width:520px;
  }
}
@media(max-width:720px){
  .site-footer{
    padding:60px 0 26px;
  }
  .footer-main{
    padding-bottom:50px;
  }
  .footer-brand p{
    font-size:34px;
  }
  .footer-info{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-meta{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}


/* v10 footer refinement */
.footer-main{
  grid-template-columns:1.15fr .85fr;
  align-items:start;
  min-height:170px;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:150px;
}
.footer-brand .footer-logo{
  margin-bottom:0;
}
.footer-domain{
  color:rgba(255,255,255,.34);
  font-size:12px;
  letter-spacing:.04em;
}
.footer-info{
  padding-top:0;
}
@media(max-width:900px){
  .footer-brand{
    min-height:auto;
    gap:38px;
  }
}


/* v11 footer cleanup */
.site-footer{
  padding-top:68px;
}
.footer-main{
  grid-template-columns:1.2fr .8fr;
  min-height:0;
  padding-bottom:58px;
}
.footer-brand{
  min-height:0;
  display:block;
}
.footer-brand .footer-logo{
  margin:0;
}
.footer-domain{
  display:none!important;
}
.footer-info{
  justify-self:end;
  width:min(100%,420px);
}
.footer-bottom{
  padding-top:22px;
}
@media(max-width:900px){
  .footer-info{
    justify-self:start;
    width:100%;
  }
}


/* v12 Keep Moving development */
.flow-v12{
  min-height:1080px;
  background:
    radial-gradient(circle at 76% 32%,rgba(23,105,255,.05),transparent 27%),
    linear-gradient(180deg,#FFFFFF 0%,#FAFCFF 100%);
  overflow:hidden;
}
.flow-v12 .flow-inner{
  width:min(1280px,calc(100% - 56px));
  margin:0 auto;
  padding:150px 0 120px;
}
.flow-v12 .flow-top{
  display:grid;
  grid-template-columns:1.03fr .97fr;
  gap:110px;
  align-items:end;
  position:relative;
  z-index:2;
}
.flow-v12 .flow-copy h2{
  margin-bottom:0;
}
.flow-v12 .flow-message{
  max-width:520px;
  padding-bottom:8px;
}
.flow-v12 .flow-message .lead{
  margin:0 0 18px;
  font-size:24px;
  line-height:1.48;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.008em;
}
.flow-v12 .flow-message .body{
  margin:0;
  font-size:16px;
  line-height:1.9;
  color:#687384;
  letter-spacing:0;
}

.flow-canvas{
  position:relative;
  height:500px;
  margin-top:100px;
}
.flow-canvas svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.flow-soft{
  fill:none;
  stroke:url(#softFlowV12);
  stroke-width:1.1;
  opacity:.55;
  vector-effect:non-scaling-stroke;
}
.flow-soft-2{
  opacity:.34;
}
.flow-glow-path{
  fill:none;
  stroke:#1769FF;
  stroke-width:18;
  opacity:.13;
  filter:url(#blurGlowV12);
  vector-effect:non-scaling-stroke;
}
.flow-main-path{
  fill:none;
  stroke:url(#mainFlowV12);
  stroke-width:2.6;
  vector-effect:non-scaling-stroke;
}
.flow-echo-path{
  fill:none;
  stroke:#9CBFFF;
  stroke-width:1;
  opacity:.36;
  vector-effect:non-scaling-stroke;
}
.flow-node-group circle{
  fill:#1769FF;
}
.pulse-rings circle{
  fill:none;
  stroke:#1769FF;
  stroke-width:1;
  opacity:.10;
  vector-effect:non-scaling-stroke;
}

.flow-halo{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(23,105,255,.08);
  background:radial-gradient(circle,rgba(23,105,255,.035) 0%,rgba(23,105,255,0) 68%);
  pointer-events:none;
}
.halo-a{
  width:270px;height:270px;
  left:30%;
  top:1%;
}
.halo-b{
  width:390px;height:390px;
  left:55%;
  bottom:-14%;
}
.halo-c{
  width:300px;height:300px;
  right:2%;
  top:8%;
}

@media(max-width:1000px){
  .flow-v12 .flow-top{
    grid-template-columns:1fr;
    gap:42px;
  }
  .flow-v12 .flow-message{
    max-width:640px;
  }
  .flow-canvas{
    margin-top:80px;
    height:420px;
  }
}
@media(max-width:720px){
  .flow-v12{
    min-height:850px;
  }
  .flow-v12 .flow-inner{
    width:min(100% - 28px,1280px);
    padding:96px 0 80px;
  }
  .flow-v12 .flow-message .lead{
    font-size:21px;
  }
  .flow-v12 .flow-message .body{
    font-size:15px;
  }
  .flow-canvas{
    margin-top:58px;
    height:300px;
    margin-left:-42px;
    margin-right:-42px;
  }
  .halo-a{width:180px;height:180px;left:22%}
  .halo-b{width:240px;height:240px}
  .halo-c{width:190px;height:190px;right:-10%}
}


/* v13 Keep Moving redesign */
.flow-v13{
  min-height:auto;
  background:#F8FAFD;
  overflow:hidden;
  border-top:1px solid #EEF2F7;
  border-bottom:1px solid #EEF2F7;
}
.flow-v13 .flow-wrap{
  width:min(1280px,calc(100% - 56px));
  margin:0 auto;
  padding:150px 0 110px;
}
.flow-v13 .flow-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:120px;
  align-items:end;
}
.flow-v13 .eyebrow{
  margin-bottom:28px;
}
.flow-v13 .flow-title h2{
  margin:0;
  max-width:760px;
  font-size:clamp(58px,5.7vw,86px);
  line-height:1.02;
  letter-spacing:-.022em;
  font-weight:800;
}
.flow-copy-v13{
  padding-bottom:8px;
  max-width:500px;
}
.flow-lead{
  margin:0 0 24px;
  font-size:25px;
  line-height:1.48;
  letter-spacing:-.01em;
  font-weight:750;
  color:#111827;
}
.flow-body{
  margin:0;
  font-size:16px;
  line-height:1.9;
  letter-spacing:0;
  color:#6B7686;
}

.flow-field{
  position:relative;
  height:430px;
  margin-top:105px;
  margin-left:-8vw;
  margin-right:-8vw;
}
.flow-field svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}
.flow-lines-v13 path{
  fill:none;
  stroke:url(#flowLineSoft);
  stroke-width:1.15;
  vector-effect:non-scaling-stroke;
}
.flow-lines-v13 .strong{
  stroke:url(#flowLineStrong);
  stroke-width:2.15;
}
.flow-glow-v13{
  fill:none;
  stroke:#1769FF;
  stroke-width:22;
  opacity:.08;
  filter:url(#softGlow);
  vector-effect:non-scaling-stroke;
}
.flow-fade{
  position:absolute;
  top:0;
  bottom:0;
  width:18%;
  pointer-events:none;
}
.flow-fade-left{
  left:0;
  background:linear-gradient(90deg,#F8FAFD 0%,rgba(248,250,253,0) 100%);
}
.flow-fade-right{
  right:0;
  background:linear-gradient(270deg,#F8FAFD 0%,rgba(248,250,253,0) 100%);
}

@media(max-width:1000px){
  .flow-v13 .flow-head{
    grid-template-columns:1fr;
    gap:48px;
  }
  .flow-copy-v13{
    max-width:650px;
  }
  .flow-field{
    margin-top:78px;
    height:360px;
  }
}
@media(max-width:720px){
  .flow-v13 .flow-wrap{
    width:min(100% - 28px,1280px);
    padding:96px 0 72px;
  }
  .flow-v13 .flow-title h2{
    font-size:46px;
    line-height:1.08;
  }
  .flow-lead{
    font-size:21px;
  }
  .flow-body{
    font-size:15px;
  }
  .flow-field{
    height:260px;
    margin-top:56px;
    margin-left:-30vw;
    margin-right:-30vw;
  }
}


/* v14 global desktop content width */
:root{
  --content-max:1280px;
}
.wrap,
.hero-grid,
.behind-inner,
.flow-inner,
.flow-v12 .flow-inner,
.flow-v13 .flow-wrap{
  width:min(var(--content-max),calc(100% - 56px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Keep full-bleed visual treatments independent from content width */
.flow-v13 .flow-field{
  margin-left:-8vw;
  margin-right:-8vw;
}
.hero.hero-bg .hero-content{
  width:min(var(--content-max),calc(100% - 56px))!important;
}
@media(max-width:720px){
  .wrap,
  .hero-grid,
  .behind-inner,
  .flow-inner,
  .flow-v12 .flow-inner,
  .flow-v13 .flow-wrap,
  .hero.hero-bg .hero-content{
    width:min(100% - 28px,var(--content-max))!important;
  }
}


/* v15 footer simplified */
.site-footer{
  padding:56px 0 26px;
}
.footer-main{
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:start;
  padding-bottom:42px;
}
.footer-brand{
  min-height:0;
}
.footer-brand .footer-logo{
  width:168px;
  height:34px;
}
.footer-info{
  display:block;
  width:auto;
  min-width:240px;
  justify-self:end;
  padding-top:0;
}
.footer-block{
  gap:10px;
}
.footer-kicker{
  margin-bottom:10px;
}
.footer-block a{
  font-size:13px;
}
.footer-bottom{
  padding-top:20px;
}
.footer-meta{
  gap:16px;
}
@media(max-width:720px){
  .site-footer{
    padding:48px 0 24px;
  }
  .footer-main{
    grid-template-columns:1fr;
    gap:38px;
    padding-bottom:36px;
  }
  .footer-info{
    justify-self:start;
    min-width:0;
  }
}


/* v16 footer redesign */
.footer-v16{
  background:#050B14;
  color:#fff;
  padding:0;
}
.footer-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:80px;
  align-items:end;
  min-height:250px;
  padding-top:74px;
  padding-bottom:64px;
}
.footer-brand-area{
  display:flex;
  align-items:flex-end;
}
.footer-logo-large{
  width:300px;
  height:64px;
  border:1px dashed rgba(255,255,255,.28);
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.52);
  font-size:11px;
  letter-spacing:.14em;
}
.footer-contact-area{
  min-width:320px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.footer-contact-area .footer-kicker{
  margin:0 0 14px;
  color:rgba(255,255,255,.34);
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
}
.footer-mail{
  color:#fff;
  font-size:18px;
  line-height:1.4;
  letter-spacing:-.005em;
}
.footer-contact-link{
  margin-top:8px;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.5;
  transition:color .2s ease;
}
.footer-contact-link:hover,
.footer-mail:hover{
  color:#8FB2FF;
}

.footer-bottom-v16{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  min-height:78px;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer-copyright{
  display:flex;
  align-items:center;
  gap:20px;
  color:rgba(255,255,255,.34);
  font-size:11px;
  line-height:1.5;
}
.footer-copyright strong{
  color:rgba(255,255,255,.68);
  font-weight:700;
}
.footer-legal-v16{
  display:flex;
  align-items:center;
  gap:22px;
}
.footer-legal-v16 a{
  color:rgba(255,255,255,.38);
  font-size:11px;
  line-height:1.5;
  transition:color .2s ease;
}
.footer-legal-v16 a:hover{
  color:rgba(255,255,255,.78);
}

@media(max-width:900px){
  .footer-top{
    grid-template-columns:1fr;
    gap:48px;
    align-items:start;
  }
  .footer-contact-area{
    min-width:0;
  }
}
@media(max-width:720px){
  .footer-top{
    min-height:auto;
    padding-top:56px;
    padding-bottom:46px;
    gap:40px;
  }
  .footer-logo-large{
    width:220px;
    height:52px;
  }
  .footer-mail{
    font-size:16px;
  }
  .footer-bottom-v16{
    min-height:auto;
    padding-top:20px;
    padding-bottom:22px;
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }
  .footer-copyright{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}


/* v17 footer redesign — brand/legal only */
.footer-v17{
  background:#050B14;
  color:#fff;
  padding:0;
}
.footer-brand-row{
  min-height:176px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.footer-logo-wide{
  width:260px;
  height:52px;
  border:1px dashed rgba(255,255,255,.26);
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.48);
  font-size:10px;
  letter-spacing:.14em;
}
.footer-brand-name{
  color:rgba(255,255,255,.16);
  font-size:clamp(44px,5vw,72px);
  line-height:1;
  font-weight:750;
  letter-spacing:-.025em;
}
.footer-rule{
  height:1px;
  background:rgba(255,255,255,.10);
}
.footer-meta-row{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.footer-copyright-v17{
  color:rgba(255,255,255,.34);
  font-size:11px;
  line-height:1.5;
  letter-spacing:0;
}
.footer-legal-v17{
  display:flex;
  align-items:center;
  gap:22px;
}
.footer-legal-v17 a{
  color:rgba(255,255,255,.38);
  font-size:11px;
  line-height:1.5;
  transition:color .2s ease;
}
.footer-legal-v17 a:hover{
  color:rgba(255,255,255,.76);
}

@media(max-width:720px){
  .footer-brand-row{
    min-height:140px;
    align-items:flex-start;
    justify-content:center;
    flex-direction:column;
    gap:24px;
    padding-top:38px;
    padding-bottom:34px;
  }
  .footer-logo-wide{
    width:210px;
    height:46px;
  }
  .footer-brand-name{
    font-size:38px;
  }
  .footer-meta-row{
    min-height:auto;
    padding-top:20px;
    padding-bottom:22px;
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }
}


/* v18 footer — brand closing scene */
.footer-v18{
  position:relative;
  overflow:hidden;
  background:#050B14;
  color:#fff;
  padding:0;
}
.footer-hero{
  min-height:210px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:72px;
  align-items:center;
}
.footer-wordmark{
  min-width:0;
}
.footer-wordmark-placeholder{
  width:min(100%,560px);
  height:82px;
  border:1px dashed rgba(255,255,255,.24);
  display:flex;
  align-items:center;
  padding:0 24px;
  color:rgba(255,255,255,.42);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}
.footer-flow{
  width:100%;
  opacity:.7;
}
.footer-flow svg{
  width:100%;
  height:130px;
  display:block;
}
.footer-flow path{
  fill:none;
  stroke:rgba(123,166,255,.24);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.footer-flow path:last-child{
  stroke:rgba(255,255,255,.08);
}

.footer-divider{
  height:1px;
  background:rgba(255,255,255,.09);
}

.footer-meta-v18{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.footer-copy{
  color:rgba(255,255,255,.34);
  font-size:11px;
  line-height:1.5;
  letter-spacing:0;
}
.footer-legal-v18{
  display:flex;
  align-items:center;
  gap:24px;
}
.footer-legal-v18 a{
  color:rgba(255,255,255,.38);
  font-size:11px;
  line-height:1.5;
  transition:color .2s ease;
}
.footer-legal-v18 a:hover{
  color:rgba(255,255,255,.78);
}

@media(max-width:900px){
  .footer-hero{
    grid-template-columns:1fr;
    gap:32px;
    min-height:auto;
    padding-top:58px;
    padding-bottom:46px;
  }
  .footer-flow{
    width:min(100%,520px);
  }
}
@media(max-width:720px){
  .footer-wordmark-placeholder{
    width:100%;
    height:62px;
    padding:0 18px;
  }
  .footer-flow{
    display:none;
  }
  .footer-meta-v18{
    min-height:auto;
    padding-top:20px;
    padding-bottom:22px;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
}


/* v19 footer — benchmark-informed signature footer */
.footer-v19{
  position:relative;
  background:#050B14;
  color:#FFFFFF;
  overflow:hidden;
  padding:0;
  border-top:1px solid rgba(255,255,255,.04);
}

.footer-signature{
  min-height:240px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:64px;
  padding-top:48px;
  padding-bottom:48px;
}

.footer-brand-lockup{
  min-width:0;
  display:flex;
  align-items:center;
}

.footer-brand-text{
  display:block;
  font-size:clamp(66px,7.2vw,104px);
  line-height:.94;
  font-weight:760;
  letter-spacing:-.048em;
  color:#FFFFFF;
  white-space:nowrap;
}

.footer-top-link{
  flex:0 0 auto;
  width:124px;
  height:124px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:rgba(255,255,255,.58);
  text-decoration:none;
  font-size:11px;
  letter-spacing:.01em;
  transition:
    border-color .25s ease,
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.footer-top-arrow{
  font-size:19px;
  line-height:1;
  color:rgba(255,255,255,.9);
  transition:transform .25s ease;
}

.footer-top-link:hover{
  border-color:rgba(23,105,255,.72);
  background:rgba(23,105,255,.08);
  color:#FFFFFF;
  transform:translateY(-2px);
}

.footer-top-link:hover .footer-top-arrow{
  transform:translateY(-3px);
}

.footer-separator{
  height:1px;
  background:rgba(255,255,255,.10);
}

.footer-utility{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

.footer-copyright-v19{
  margin:0;
  color:rgba(255,255,255,.34);
  font-size:11px;
  line-height:1.5;
  letter-spacing:0;
}

.footer-legal-v19{
  display:flex;
  align-items:center;
  gap:26px;
}

.footer-legal-v19 a{
  position:relative;
  color:rgba(255,255,255,.42);
  font-size:11px;
  line-height:1.5;
  text-decoration:none;
  transition:color .2s ease;
}

.footer-legal-v19 a + a::before{
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:2px;
  height:2px;
  margin-top:-1px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
}

.footer-legal-v19 a:hover{
  color:#FFFFFF;
}

@media(max-width:900px){
  .footer-signature{
    min-height:210px;
  }
  .footer-brand-text{
    font-size:clamp(58px,9vw,84px);
  }
  .footer-top-link{
    width:104px;
    height:104px;
  }
}

@media(max-width:720px){
  .footer-signature{
    min-height:auto;
    padding-top:50px;
    padding-bottom:42px;
    flex-direction:column;
    align-items:flex-start;
    gap:36px;
  }

  .footer-brand-text{
    white-space:normal;
    font-size:54px;
    letter-spacing:-.042em;
  }

  .footer-top-link{
    width:auto;
    height:auto;
    border:0;
    border-radius:0;
    flex-direction:row;
    justify-content:flex-start;
    gap:10px;
    background:transparent;
  }

  .footer-top-link:hover{
    background:transparent;
    transform:none;
  }

  .footer-utility{
    min-height:auto;
    padding-top:20px;
    padding-bottom:24px;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .footer-legal-v19{
    gap:24px;
  }
}


/* v20 footer — reduced, content-aligned */
.footer-v20{
  background:#050B14;
  color:#fff;
  padding:0;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-inner-v20{
  min-height:104px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:40px;
}

.footer-logo-v20{
  justify-self:start;
  width:154px;
  height:30px;
  display:flex;
  align-items:center;
  color:rgba(255,255,255,.56);
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
  white-space:nowrap;
}

.footer-copyright-v20{
  justify-self:center;
  color:rgba(255,255,255,.30);
  font-size:10px;
  line-height:1.5;
  white-space:nowrap;
}

.footer-legal-v20{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:22px;
}

.footer-legal-v20 a{
  color:rgba(255,255,255,.40);
  font-size:10px;
  line-height:1.5;
  text-decoration:none;
  transition:color .2s ease;
}

.footer-legal-v20 a:hover{
  color:rgba(255,255,255,.82);
}

@media(max-width:820px){
  .footer-inner-v20{
    grid-template-columns:1fr auto;
    min-height:auto;
    padding-top:26px;
    padding-bottom:24px;
    gap:18px 28px;
  }

  .footer-copyright-v20{
    grid-column:1/-1;
    grid-row:2;
    justify-self:start;
  }
}

@media(max-width:560px){
  .footer-inner-v20{
    grid-template-columns:1fr;
    gap:15px;
  }

  .footer-logo-v20,
  .footer-copyright-v20,
  .footer-legal-v20{
    justify-self:start;
  }

  .footer-copyright-v20{
    grid-column:auto;
    grid-row:auto;
    order:3;
  }

  .footer-legal-v20{
    gap:18px;
  }
}


/* v21 footer — contact continuation */
.footer-v21{
  background:#08172C;
  color:#fff;
  padding:0;
}

.footer-inner-v21{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  border-top:1px solid rgba(255,255,255,.10);
}

.footer-logo-v21{
  flex:0 0 auto;
  width:154px;
  height:30px;
  display:flex;
  align-items:center;
  color:rgba(255,255,255,.56);
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
  white-space:nowrap;
}

.footer-meta-v21{
  display:flex;
  align-items:center;
  gap:30px;
  min-width:0;
}

.footer-legal-v21{
  display:flex;
  align-items:center;
  gap:20px;
}

.footer-legal-v21 a{
  color:rgba(255,255,255,.48);
  font-size:10px;
  line-height:1.5;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease;
}

.footer-legal-v21 a:hover{
  color:rgba(255,255,255,.86);
}

.footer-copy-v21{
  margin:0;
  padding-left:30px;
  border-left:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.28);
  font-size:10px;
  line-height:1.5;
  white-space:nowrap;
}

@media(max-width:760px){
  .footer-inner-v21{
    min-height:auto;
    padding-top:24px;
    padding-bottom:24px;
    align-items:flex-start;
    flex-direction:column;
    gap:20px;
  }

  .footer-meta-v21{
    width:100%;
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }

  .footer-copy-v21{
    padding-left:0;
    border-left:0;
  }
}



/* ── WhaleBridge main : 고정 헤더 오프셋 ── */
#container{padding-top:72px;}
.body_index #container{padding-top:0;}

/* ── WhaleBridge 테마 통합 보정 ── */
/* 1) 로고 워드마크 (이미지 교체 전 임시) */
header .logo-ph{width:auto;height:auto;border:0;font-size:20px;font-weight:800;letter-spacing:-.02em;}
.footer-logo-v21{width:auto;height:auto;font-size:18px;font-weight:800;}
/* 6) 헤더 버튼: 구 테마 a.btn 규칙 상쇄 */
header .actions .btn{height:46px;padding:0 18px;font-size:13px;font-weight:800;line-height:1;border-width:1px;border-style:solid;}
/* 4) 비-index: 솔리드 화이트 헤더로 대비 확보 */
body:not(.body_index) header{background:#fff;border-bottom:1px solid var(--line);color:var(--ink);}
body:not(.body_index) header .logo-ph{color:var(--ink);}
body:not(.body_index) header .actions .login-btn{background:transparent;color:var(--ink);border-color:var(--line);}
body:not(.body_index) header .actions .consult-btn{background:var(--ink);color:#fff;border-color:var(--ink);}

/* 문의 폼 허니팟 */
.wb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;opacity:0;}
