@charset "utf-8";

:root{
    --cs-primary:#0f2341;
    --cs-primary-2:#1a335b;
    --cs-accent:#b08b57;
    --cs-bg:#f8f6f2;
    --cs-bg-2:#f2ede4;
    --cs-line:#e7e0d5;
    --cs-text:#222;
    --cs-muted:#666;
    --cs-white:#fff;
    --cs-shadow:0 18px 42px rgba(15,35,65,.08);
    --cs-danger:#8b2e2e;
    --cs-success:#2e6542;
}

.cs_skin *{box-sizing:border-box;}
.cs_skin a{text-decoration:none;}
.cs_skin img{max-width:100%;height:auto;}
.cs_container{width:100%;max-width:1400px;margin:0 auto;padding:0 20px;}
.cs_section{margin-top:34px;}

.cs_sub_visual{position:relative;width:100%;height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:28px;}
.cs_sub_visual_bg{position:absolute;inset:0;background-repeat:no-repeat;background-position:center center;background-size:cover;transform:scale(1.02);}
.cs_sub_visual_overlay{position:absolute;inset:0;background:rgba(10,20,38,.48);z-index:1;}
.cs_sub_visual_inner{position:relative;z-index:2;width:100%;max-width:1400px;padding:0 20px;text-align:center;color:#fff;}
.cs_sub_label{display:inline-block;margin-bottom:14px;font-size:14px;font-weight:800;letter-spacing:.12em;color:#d7b98a;}
.cs_sub_title{margin:0 0 16px;font-family:'Noto Serif KR',serif;font-size:48px;line-height:1.3;font-weight:700;letter-spacing:-.04em;color:#fff;}
.cs_sub_desc{max-width:820px;margin:0 auto;font-size:18px;line-height:1.85;color:rgba(255,255,255,.88);}

.cs_intro_box{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;padding:34px;border:1px solid var(--cs-line);border-radius:28px;background:var(--cs-white);box-shadow:var(--cs-shadow);}
.cs_box_label{display:inline-block;margin-bottom:14px;font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--cs-accent);text-transform:uppercase;}
.cs_intro_title{margin:0 0 14px;font-family:'Noto Serif KR',serif;font-size:36px;line-height:1.45;color:#111;}
.cs_intro_desc{margin:0;font-size:16px;line-height:1.9;color:var(--cs-muted);}
.cs_intro_meta{padding:28px;border-radius:22px;background:linear-gradient(180deg,#f7f4ef,#efe9df);border:1px solid #eadfce;display:flex;flex-direction:column;justify-content:center;}
.cs_intro_meta strong{display:block;font-size:28px;line-height:1.4;color:#111;font-family:'Noto Serif KR',serif;}
.cs_intro_meta p{margin:12px 0 0;font-size:15px;line-height:1.8;color:#666;}
.cs_inline_tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.cs_inline_tags span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:5px;background:#f5f6f9;color:var(--cs-primary);font-size:13px;font-weight:700;border:1px solid #d8dde7;}

.cs_filter{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;border:1px solid var(--cs-line);border-radius:22px;background:var(--cs-white);box-shadow:var(--cs-shadow);}
.cs_result{font-size:16px;color:var(--cs-muted);}
.cs_actions,.cs_box_btns,.cs_search_box{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.cs_btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:5px;border:1px solid var(--cs-primary);background:var(--cs-primary);color:#fff;font-size:15px;font-weight:700;transition:all .2s ease;cursor:pointer;}
.cs_btn:hover{background:var(--cs-primary-2);border-color:var(--cs-primary-2);color:#fff;}
.cs_btn.outline{background:#fff;color:var(--cs-primary);}
.cs_btn.outline:hover{background:#f5f7fb;}
.cs_select,.cs_input{height:48px;border:1px solid var(--cs-line);border-radius:5px;padding:0 18px;background:#fff;color:#333;font-size:15px;}
.cs_input{min-width:240px;}

.cs_cate_wrap{padding:0;}
.cs_cate_nav{padding:18px 22px;border:1px solid var(--cs-line);border-radius:22px;background:#fff;box-shadow:var(--cs-shadow);}
.cs_cate_nav ul,.cs_cate_nav #bo_cate_ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0;}
.cs_cate_nav li{margin:0;padding:0;display:inline-block;}
.cs_cate_nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:5px;background:#fff;border:1px solid var(--cs-line);color:var(--cs-primary);font-size:15px;font-weight:700;transition:all .2s ease;}
.cs_cate_nav a:hover,.cs_cate_nav #bo_cate_on,.cs_cate_nav .on a,.cs_cate_nav a#bo_cate_on{background:var(--cs-primary);border-color:var(--cs-primary);color:#fff;}

.cs_card_grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.cs_card{display:flex;flex-direction:column;min-height:100%;border:1px solid var(--cs-line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--cs-shadow);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.cs_card:hover{transform:translateY(-6px);border-color:#d7c4a1;box-shadow:0 22px 48px rgba(15,35,65,.12);}
.cs_card_head{padding:24px 24px 0;}
.cs_state_badge{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;}
.cs_state_wait{background:#7c6433;}
.cs_state_done{background:var(--cs-success);}
.cs_state_secret{background:#6a6f79;}
.cs_card_body{display:flex;flex-direction:column;gap:14px;padding:18px 24px 30px;flex:1;}
.cs_meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:#888;}
.cs_meta span{display:inline-flex;align-items:center;gap:6px;padding-right:10px;position:relative;}
.cs_meta span:not(:last-child):after{content:"";position:absolute;right:0;top:50%;width:1px;height:10px;background:#ddd;transform:translateY(-50%);}
.cs_subject{margin:0;font-family:'Noto Serif KR',serif;font-size:24px;line-height:1.5;font-weight:700;letter-spacing:-.03em;color:#111;}
.cs_subject a{color:#111;}
.cs_subject a:hover{color:var(--cs-primary);}
.cs_excerpt{margin:0;font-size:15px;line-height:1.9;color:var(--cs-muted);}
.cs_more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-size:15px;font-weight:700;color:var(--cs-primary);}
.cs_empty{padding:70px 24px;text-align:center;border:1px solid var(--cs-line);border-radius:24px;background:#fff;box-shadow:var(--cs-shadow);font-size:17px;color:var(--cs-muted);}
.cs_paginate{text-align:center;margin:36px 0 0;}
.cs_paginate .pg_page,.cs_paginate .pg_current{display:inline-flex;min-width:42px;height:42px;padding:0 12px;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--cs-line);background:#fff;color:var(--cs-primary);margin:0 4px;box-shadow:var(--cs-shadow);}
.cs_paginate .pg_current{background:var(--cs-primary);border-color:var(--cs-primary);color:#fff;font-weight:700;}

.cs_view_head,.cs_view_content,.cs_related_nav,.cs_write_wrap,.cs_privacy_box,.cs_cta_box{padding:42px 44px;border:1px solid var(--cs-line);border-radius:28px;background:#fff;box-shadow:var(--cs-shadow);}
.cs_view_head_top{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;}
.cs_view_title{margin:18px 0 14px;font-family:'Noto Serif KR',serif;font-size:42px;line-height:1.4;font-weight:700;letter-spacing:-.04em;color:#111;}
.cs_view_lead{margin:0;font-size:16px;line-height:1.85;color:var(--cs-muted);}
.cs_view_meta{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:#777;}
.cs_view_meta span{display:inline-flex;align-items:center;gap:6px;}
.cs_view_content{line-height:1.95;font-size:17px;color:#333;word-break:keep-all;}
.cs_answer_box{margin-top:28px;padding:28px 30px;border-radius:22px;background:#f7fbf8;border:1px solid #d8eadb;}
.cs_answer_label{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:34px;padding:0 14px;border-radius:999px;background:var(--cs-success);color:#fff;font-size:12px;font-weight:700;}
.cs_answer_box h4{margin:16px 0 12px;font-family:'Noto Serif KR',serif;font-size:28px;color:#111;}
.cs_privacy_box{background:#eef4fb;}
.cs_cta_box{background:#fff3e0;}
.cs_box_title{margin:0 0 16px;font-family:'Noto Serif KR',serif;font-size:32px;line-height:1.45;color:#111;}
.cs_box_desc{margin:0;font-size:16px;line-height:1.9;color:var(--cs-muted);}
.cs_cta_wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.cs_related_row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:22px 0;border-top:1px solid #efebe3;align-items:center;}
.cs_related_row:first-child{border-top:none;padding-top:0;}
.cs_related_label{font-weight:700;color:var(--cs-primary);}
.cs_related_link{color:#222;}
.cs_related_link:hover{text-decoration:underline;}
.cs_board_btns{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.cs_board_btns .left,.cs_board_btns .right{display:flex;gap:10px;flex-wrap:wrap;}
.cs_last_btns{margin-bottom:50px;}

.cs_help_box{margin-bottom:24px;padding:22px 24px;border-radius:22px;background:#f7f4ef;border:1px solid #ebdfcc;}
.cs_help_box strong{display:block;margin-bottom:10px;font-size:18px;color:#111;}
.cs_help_box p{margin:0;font-size:15px;line-height:1.85;color:#666;}
.cs_write .tbl_frm01 table{width:100%;border-top:1px solid #d8d2c7;border-collapse:collapse;}
.cs_write .tbl_frm01 th,.cs_write .tbl_frm01 td{padding:16px 18px;border-bottom:1px solid #ece7de;vertical-align:top;}
.cs_write .tbl_frm01 th{width:180px;background:#faf8f4;color:#222;text-align:left;font-weight:700;}
.cs_write .frm_input,.cs_write .full_input,.cs_write .frm_file,.cs_write textarea,.cs_write .cs_select{width:100%;max-width:100%;border:1px solid #ddd6c9;border-radius:14px;padding:14px 16px;font-size:15px;background:#fff;}
.cs_write textarea{min-height:220px;}
.cs_file_now{margin-top:10px;color:#666;font-size:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.cs_option_row{display:flex;flex-wrap:wrap;gap:18px;}
.cs_option_row label{display:inline-flex;align-items:center;gap:6px;color:#333;}
.cs_notice_box{margin-top:20px;padding:20px 22px;border-radius:18px;background:#fcfaf7;border:1px solid #ece1cf;color:#645846;font-size:14px;line-height:1.8;}

.cs_section_foot{margin-bottom:40px;}



@media (max-width:1200px){
    .cs_intro_box,.cs_cta_wrap,.cs_card_grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .cs_intro_box{grid-template-columns:1fr;}
}
@media (max-width:992px){
    .cs_cta_wrap,.cs_card_grid{grid-template-columns:1fr;}
    .cs_sub_title{font-size:40px;}
}
@media (max-width:768px){
    .cs_container{padding:0 16px;}
    .cs_sub_visual{height:280px;}
    .cs_sub_title{font-size:32px;}
    .cs_sub_desc{font-size:16px;}
    .cs_section{margin-top:24px;}
    .cs_intro_box,.cs_filter,.cs_view_head,.cs_view_content,.cs_related_nav,.cs_write_wrap,.cs_privacy_box,.cs_cta_box{padding:26px 22px;border-radius:22px;}
    .cs_subject{font-size:22px;}
    .cs_view_title{font-size:30px;}
    .cs_box_title,.cs_intro_title{font-size:26px;}
    .cs_related_row{grid-template-columns:1fr;gap:8px;}
    .cs_write .tbl_frm01 th,.cs_write .tbl_frm01 td{display:block;width:100%;padding:12px 12px;}
    .cs_input,.cs_search_box,.cs_actions,.cs_box_btns,.cs_board_btns .left,.cs_board_btns .right{width:100%;}
    .cs_btn{width:100%;}
    .cs_cate_nav a{min-height:42px;padding:0 16px;font-size:14px;}
}
/* Consultation write additions */
.cs_field_help{
    margin:8px 0 0;
    font-size:14px;
    line-height:1.7;
    color:#777;
}

.cs_check_label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:15px;
    font-weight:700;
    color:#222;
}

.cs_call_schedule{
    display:none;
    margin-top:16px;
    padding:18px;
    border:1px solid #eadfce;
    border-radius:18px;
    background:#fcfaf7;
}

.cs_call_grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.cs_small_label{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:700;
    color:#5f523c;
}

.cs_inline_tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:20px 0 0;
}

.cs_inline_tags span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 14px;
    border-radius:5px;
    background:#f5f6f9;
    color:var(--cs-primary);
    font-size:13px;
    font-weight:700;
    border:1px solid #ccc;
}

@media (max-width:768px){
    .cs_call_grid{
        grid-template-columns:1fr;
    }
}

/* consult write fixed */
.cs_write textarea.frm_textbox{width:100%;min-height:260px;border:1px solid #ddd6c9;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.8;background:#fff;resize:vertical;}
.cs_field_help{margin:8px 0 0;font-size:13px;line-height:1.7;color:#777;}
.cs_check_label{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#222;}
.cs_call_schedule{display:none;margin-top:14px;padding:18px;border-radius:16px;background:#f8f6f2;border:1px solid #e7e0d5;}
.cs_call_grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.cs_small_label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#0f2341;}
.cs_notice_box{margin-top:18px;padding:18px 20px;border-radius:18px;background:#f7f4ef;border:1px solid #ebdfcc;font-size:14px;line-height:1.8;color:#666;}
@media(max-width:768px){.cs_call_grid{grid-template-columns:1fr;}}

/* Q/A answer post layout */
.cs_qa_box{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:42px 44px;border:1px solid var(--cs-line);border-radius:28px;background:#fff;box-shadow:var(--cs-shadow)}
.cs_question_box{background:#fff}.cs_answer_box{background:#f7fbf8;border-color:#d8eadb}
.cs_qa_label{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cs-primary);color:#fff;font-size:24px;font-weight:800;font-family:'Noto Serif KR',serif}
.cs_answer_box .cs_qa_label{background:var(--cs-success)}
.cs_qa_body h3{margin:0 0 18px;font-family:'Noto Serif KR',serif;font-size:30px;line-height:1.4;color:#111}
.cs_view_content_inner{font-size:17px;line-height:1.95;color:#333;word-break:keep-all}
.cs_answer_head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.cs_answer_head h3{margin-bottom:0}.cs_answer_head span{font-size:14px;color:#777}
.cs_answer_wait_box{padding:34px 38px;border:1px dashed #d8c9af;border-radius:24px;background:#fcfaf7;box-shadow:var(--cs-shadow)}
.cs_answer_wait_box strong{display:block;margin-bottom:10px;font-size:22px;color:#111;font-family:'Noto Serif KR',serif}.cs_answer_wait_box p{margin:0 0 18px;color:#666;line-height:1.8}
.cs_consult_meta_box{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:16px 18px;border-radius:16px;background:#f8f6f2;border:1px solid #e7e0d5}
.cs_consult_meta_box span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #e1dacd;color:#555;font-size:13px;font-weight:700}
@media (max-width:768px){.cs_qa_box{grid-template-columns:1fr;padding:26px 22px;border-radius:22px}.cs_qa_label{width:48px;height:48px;font-size:20px}.cs_qa_body h3{font-size:24px}}

/* Comment answer mode */
.cs_comment_section{margin-top:34px;}
.cs_comment_wrap{padding:42px 44px;border:1px solid var(--cs-line);border-radius:28px;background:#fff;box-shadow:var(--cs-shadow);}
.cs_comment_title_box{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #eee7dd;}
.cs_comment_title_box h3{margin:0 0 8px;font-family:'Noto Serif KR',serif;font-size:30px;line-height:1.4;color:#111;}
.cs_comment_title_box p{margin:0;font-size:15px;line-height:1.8;color:var(--cs-muted);}
.cs_notice_box{padding:24px 28px;border:1px solid #eadfce;border-radius:22px;background:#f7f4ef;box-shadow:var(--cs-shadow);}
.cs_notice_box strong{display:block;margin-bottom:10px;font-size:18px;color:#111;}
.cs_notice_box p{margin:0;font-size:15px;line-height:1.8;color:#666;}
.cs_contact_info{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;}
.cs_contact_info span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid #d9d2c7;border-radius:999px;background:#faf8f4;color:#333;font-size:14px;font-weight:600;}

/* Gnuboard comment skin basic refinement */
.cs_comment_wrap #bo_vc{margin:0;padding:0;border:0;}
.cs_comment_wrap #bo_vc h2{font-size:0;line-height:0;overflow:hidden;}
.cs_comment_wrap .cmt_contents{line-height:1.85;color:#333;}
.cs_comment_wrap #bo_vc_w{margin-top:28px;padding-top:24px;border-top:1px solid #eee7dd;}
.cs_comment_wrap #bo_vc_w textarea{width:100%;min-height:150px;border:1px solid #ddd6c9;border-radius:16px;padding:16px;font-size:15px;line-height:1.8;box-sizing:border-box;}
.cs_comment_wrap .btn_submit{background:var(--cs-primary);border-color:var(--cs-primary);color:#fff;}

@media (max-width:768px){
    .cs_comment_wrap{padding:26px 22px;border-radius:22px;}
    .cs_comment_title_box h3{font-size:24px;}
}

/* Comment answer area */
.cs_comment_section .cs_comment_wrap{
    padding:42px 44px;
    border:1px solid var(--cs-line);
    border-radius:28px;
    background:#fff;
    box-shadow:var(--cs-shadow);
}
.cs_comment_title_box{margin-bottom:24px;}
.cs_comment_title_box h3,
.cs_comment_h2,
.cs_comment_write_title{
    margin:0 0 10px;
    font-family:'Noto Serif KR',serif;
    font-size:30px;
    line-height:1.4;
    color:#111;
}
.cs_comment_title_box p,
.cs_comment_write_desc{
    margin:0;
    color:var(--cs-muted);
    font-size:15px;
    line-height:1.8;
}
.cs_comment_list{margin-top:12px;}
.cs_comment_item{
    margin-top:16px;
    padding:24px 26px;
    border:1px solid #e7e0d5;
    border-radius:20px;
    background:#f9fbf8;
}
.cs_comment_item.reply{margin-left:28px;background:#fbfaf7;}
.cs_comment_head{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}
.cs_comment_name{font-size:16px;color:#111;}
.cs_comment_date{font-size:13px;color:#888;}
.cs_comment_content{
    font-size:16px;
    line-height:1.9;
    color:#333;
    word-break:keep-all;
}
.cs_comment_btns{
    display:flex;
    gap:8px;
    margin-top:16px;
}
.cs_comment_btn{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:5px;
    background:#fff;
    border:1px solid #d8d2c7;
    color:var(--cs-primary);
    font-size:13px;
    font-weight:700;
}
.cs_comment_btn.danger{color:#8b2e2e;}
.cs_comment_empty{
    margin-top:16px;
    padding:24px;
    border:1px dashed #d8d2c7;
    border-radius:18px;
    background:#fcfaf7;
    color:#777;
    font-size:15px;
    line-height:1.8;
}
.cs_comment_empty.admin_notice{border-color:#d7b98a;color:#5f523c;}
.cs_comment_write{
    margin-top:28px;
    padding:28px 30px;
    border:1px solid #d8eadb;
    border-radius:22px;
    background:#f7fbf8;
}
.cs_comment_guest_grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}
.cs_comment_guest_grid label span{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:700;
    color:#555;
}
.cs_comment_write textarea{
    width:100%;
    min-height:150px;
    margin-top:18px;
    padding:16px 18px;
    border:1px solid #cfdccd;
    border-radius:16px;
    background:#fff;
    font-size:15px;
    line-height:1.8;
    resize:vertical;
}
.cs_comment_captcha{margin-top:14px;}
.cs_comment_submit{
    display:flex;
    justify-content:flex-end;
    margin-top:16px;
}
@media(max-width:768px){
    .cs_comment_section .cs_comment_wrap{padding:26px 22px;border-radius:22px;}
    .cs_comment_h2,.cs_comment_write_title,.cs_comment_title_box h3{font-size:24px;}
    .cs_comment_item{padding:20px;}
    .cs_comment_item.reply{margin-left:12px;}
    .cs_comment_guest_grid{grid-template-columns:1fr;}
    .cs_comment_submit .cs_btn{width:100%;}
}
