@charset "utf-8";



/* ==========================================================================
   공용 Form (견적문의17, 상시채용19, GEO 진단22)
   ========================================================================== */
.com_form_box {background-color: #fff; padding: 6rem; border-radius: 2.5rem;}
.com_form_box .form_tit_box .desc {font-size: var(--p4); font-weight: 600; color: var(--point01);}
.com_form_box .form_tit_box .tit {font-size: var(--h8); font-weight: 700; margin-top: 1.5rem;}


.com_form_box .form_tit_box{margin-bottom: var(--contMt4);}
.com_form_box .form_tit_box.mb_none{margin-bottom: 0;}
.com_form_box > .form_box + .form_box {margin-top: 7rem; padding-top: 5rem; border-top: 1px solid var(--black);}
.com_form_box > .form_box > .inp_wrap {display: flex; flex-wrap: wrap; gap: 3.5rem 1.6rem;}

.com_form_box .form_box .inp_cont {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 3.5rem 4rem;}
.com_form_box .form_box .inp_cont .inp_wrap.area {grid-column: 1 / 3;}
.com_form_box .form_box .inp_wrap .field_box {flex: 1;}
.com_form_box .form_box .inp_wrap .field_box.full {width: 100%; flex: none;}

.com_form_box .form_box > .tit {font-size: var(--h8); font-weight: 700; margin-bottom: 2rem;}
.com_form_box .form_box .inp_cont .inp_wrap .tit {font-size: var(--p4); font-weight: 600; margin-bottom: 10px; display: block;}

.com_form_box .form_box .agree_box .tit,
.com_form_box .form_box .inp_wrap .field_box .inp_tit {font-size: var(--p6); font-weight: 600; margin-bottom: 10px; display: block;}

.com_form_box .form_box .inp_cont .inp_wrap .tit .req,
.com_form_box .form_box .agree_box .tit .req,
.com_form_box .form_box .inp_wrap .field_box .inp_tit .req {color: var(--point01);}


/* h, 여백 동일 */
.com_form_box .form_box .inp_wrap .field_box input,
.com_form_box .form_box .inp_wrap .inp_box input:not([type="file"]),
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox,
.com_form_box .inp_cont .inp_wrap .select_box .box .select,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box.file .file_btn{height: 6.2rem; padding: 0 2.5rem; border-radius: 1rem; }
/* ---------- */


.com_form_box .form_box .inp_wrap .field_box input,
.com_form_box .form_box .inp_wrap .inp_box input:not([type="file"]) {width: 100%; font-size: var(--p3); border: 1px solid #CED3D9;}

.com_form_box .form_box .inp_wrap .field_box input::placeholder,
.com_form_box .form_box .inp_wrap .inp_box input:not([type="file"])::placeholder {opacity: 0.5;}
.com_form_box .form_box .inp_wrap .inp_box input:disabled { background-color: #f2f3f5;color: #999; cursor: not-allowed;}

.com_form_box .form_box .inp_wrap .inp_box textarea {width: 100%; height: 15rem; min-height: 15rem; max-width: 100%; box-sizing: border-box; padding: 2.5rem; font-size: var(--p3); border: 1px solid #CED3D9; border-radius: 1rem; resize: none; overflow-y: auto;}
.com_form_box .form_box .inp_wrap .inp_box textarea::-webkit-scrollbar { display: inherit; width: 7px; }
.com_form_box .form_box .inp_wrap .inp_box textarea::-webkit-scrollbar-thumb { background: #b8b8b8; border-right: 4px solid #fff; border-radius: 3px; border-top-right-radius: 10px 3px; border-bottom-right-radius: 10px 3px; }
.com_form_box .form_box .inp_wrap .inp_box textarea::-webkit-scrollbar-track { background: #fff; margin-block: 5px;}
.com_form_box .form_box .inp_cont .inp_wrap.area .inp_box {height: 20rem; min-height: 0; overflow: hidden;}
.com_form_box .form_box .inp_cont .inp_wrap.area .inp_box textarea {height: 100%; min-height: 0; overflow-y: auto;}

.com_form_box .form_box .inp_cont .inp_wrap .inp_box.file {display: flex; align-items: center; justify-content: flex-start; border: 0; overflow: visible;}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox {position: relative; display: flex; align-items: center; justify-content: flex-end; width: 100%; border: 1px solid #CED3D9; overflow: hidden;}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox input[type="file"] {position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; clip: rect(0, 0, 0, 0);}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #ex_fileView,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #po_fileView {overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; color: var(--gray40);}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #ex_fileView,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #po_fileView {display: flex; align-items: center; flex: 1 1 auto; width: auto; min-width: 0; text-overflow: clip;}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #ex_fileView .file,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #po_fileView .file {flex: 0 1 auto; max-width: 85%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #ex_fileView .ext,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #po_fileView .ext {flex: 0 0 auto; white-space: nowrap;}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #ex_fileView.active,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox #po_fileView.active {color: var(--black);}

.com_form_box .form_box .inp_wrap .ex_txt{font-size: var(--p7); margin-top: 0.5em; color: var(--gray30);}

.com_form_box .form_box .inp_cont .inp_wrap .inp_box.file .file_btn {width: 10rem; padding: 0 !important; 
    margin-left: 1rem; flex-shrink: 0; background-color: var(--point01); color: #fff; font-weight: 700; transition: 0.3s ease;}
.com_form_box .form_box .inp_cont .inp_wrap .inp_box #ex_fileBtn,
.com_form_box .form_box .inp_cont .inp_wrap .inp_box #po_fileBtn {display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: var(--p4); text-align: center; cursor: pointer; color: #fff;}
.com_form_box .chk_cont {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 3.5rem;}
.com_form_box .chk_box {font-size: var(--p3); font-weight: 500; display: flex; align-items: center;}
.com_form_box .chk_box label {display: flex; align-items: center; justify-content: flex-start; cursor: pointer;}
.com_form_box .chk_box label .txt {flex-shrink: 0;}
.com_form_box .chk_box .ico {display: flex; align-items: center; justify-content: center; margin-right: 0.5em; font-size: 1em;}
.com_form_box .chk_box .ico svg {width: 2.2rem; height: 2.2rem;}
.com_form_box .chk_box .ico .y {display: none;}
.com_form_box .chk_box input:checked + label .y {display: block;}
.com_form_box .chk_box input:checked + label .n {display: none;}
.com_form_box .chk_box .txt span {color: var(--point01);}

/* 17번 문의 폼은 19번 채용 폼과 같은 심볼 아이콘만 표시한다. */
.inquiry_page .chk_cont.type4 .ico svg > path {display: none;}


.com_form_box .priv_agree {margin-top: var(--contMt3); padding-top: 4rem; border-top: 1px solid var(--black);}
.com_form_box .priv_agree .chk_box {font-size: var(--p4);}


.com_form_box .form_box .agree_box {margin-top: 3.5rem; background-color: #F9F9F9; border: 1px solid #CED3D9; padding: 2rem 2.5rem; border-radius: 1rem; font-size: var(--p3);}
.com_form_box .form_box .agree_box + .agree_box{margin-top: 1rem;}
.com_form_box .form_box .agree_box .tit {margin-bottom: 2rem;}
.com_form_box .form_box .agree_box label {display: flex; align-items: center; cursor: pointer;}
.com_form_box .form_box .agree_box .ico {width: 2.2rem; height: 2.2rem; position: relative; background: url('data:image/svg+xml,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.75" y="0.75" width="23.5" height="23.5" rx="2.25" fill="%23F9F9F9"/><rect x="0.75" y="0.75" width="23.5" height="23.5" rx="2.25" stroke="%23B3B4B9" stroke-width="1.5"/></svg>') no-repeat center / contain;}
.com_form_box .form_box .agree_box input:checked + label .ico {background: url('data:image/svg+xml,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.75" y="0.75" width="23.5" height="23.5" rx="2.25" fill="%231A1A1C"/><rect x="0.75" y="0.75" width="23.5" height="23.5" rx="2.25" stroke="%231A1A1C" stroke-width="1.5"/><path d="M7.89551 12.4999L10.9613 15.5657L17.1038 9.43408" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center / contain;}
.com_form_box .form_box .agree_box .txt {margin-left: 1.2rem;}

.com_form_box .form_box .agree_box .view_btn,
.com_form_box .priv_agree .view_btn {margin-left: 5px; font-weight: 600; transition: 0.3s ease-in-out; font-size: 0.5em; background-color: rgba(0,0,0,0.07); padding: 0.7em 1.1em; border-radius: 10em; color: rgba(0,0,0,0.35);}

.com_form_box .com_submit_btn_box {margin-top: 4rem; display: flex; justify-content: center;}
.com_form_box .com_submit_btn_box .submit_btn {background-color: var(--black); color: #fff; font-size: var(--p2); padding: 1.2em 1.5em; font-weight: 700; display: flex; align-items: center; border-radius: 1rem; overflow: hidden;}
.com_form_box .com_submit_btn_box .submit_btn svg {width: 1em; height: auto; margin-left: 2rem; transform: translateX(0); transition: transform 0.3s ease;}


/* 이메일 및 전화번호 스타일 변경 03.20*/
.com_form_box .inp_cont .inp_wrap .inp_box.call {display: flex; align-items: center; overflow: visible}
.com_form_box .inp_cont .inp_wrap .inp_box.call .cont {flex: 1; }
.com_form_box .inp_cont .inp_wrap .inp_box.call span {margin: 0 10px}

.com_form_box .inp_cont .inp_wrap .inp_box.email {display: flex; align-items: center; overflow: visible; }
.com_form_box .inp_cont .inp_wrap .inp_box.email .cont {flex: 1; }
.com_form_box .inp_cont .inp_wrap .inp_box.email .cont + .cont {margin-left: 1rem}
.com_form_box .inp_cont .inp_wrap .inp_box.email span {margin: 0 10px}
.com_form_box .inp_cont .inp_cont_wrap {display: flex; flex-direction: row; flex-wrap: nowrap; gap: 1rem; align-items: flex-end; min-width: 0;}
.com_form_box .inp_cont .inp_cont_wrap .inp_wrap {flex: 1 1 0; min-width: 0;}


/*셀렉트 박스*/
.com_form_box .inp_cont .inp_wrap .select_box .box { position: relative; cursor: pointer; }
.com_form_box .inp_cont .inp_wrap .select_box .box .select {position: relative; display: flex; align-items: center; justify-content: flex-start; width: 100%; box-sizing: border-box; border: 1px solid #CED3D9; border-radius: 1rem;}
.com_form_box .inp_cont .inp_wrap .select_box .box .select i { position:absolute; right: 0.78125vw; right: 0.8em; top: 50%; display:block; color: #1a1a1c; width: 1em; height: 1em; transform: translateY(-50%); transform-origin:center center; transition: transform .3s;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 320 512"><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>') no-repeat center / contain;
}
.com_form_box .inp_cont .inp_wrap .select_box.on .box .select i { transform: translateY(-50%) rotate(180deg); transition: transform .3s; }
.com_form_box .inp_cont .inp_wrap .select_box.on .box .select {}

.com_form_box .inp_cont .inp_wrap .list {display: none; position: absolute; left: 0; bottom: 1px; width: 100%; border: 1px solid #CED3D9; box-sizing: border-box; background-color: #fff; border-radius: 1rem; transform: translateY(100%); overflow-y: auto; overflow: hidden; z-index: 10;}
.com_form_box .inp_cont .inp_wrap .list::-webkit-scrollbar { width: 0.5em; height: 0; }
.com_form_box .inp_cont .inp_wrap .list::-webkit-scrollbar-button:start:decrement,
.com_form_box .inp_cont .inp_wrap .list::-webkit-scrollbar-button:end:increment { display: block; height: 0; }
.com_form_box .inp_cont .inp_wrap .list::-webkit-scrollbar-track { background: rgba(0, 0, 0, .05); -webkit-border-radius: 0.5em; border-radius: 0.930625vw; }
.com_form_box .inp_cont .inp_wrap .list::-webkit-scrollbar-thumb { height: 1.953125vw; width: 1.953125vw; background: rgba(0, 0, 0, .2); -webkit-border-radius: 5px; border-radius: 5px; }
.com_form_box .inp_cont .inp_wrap .list > li { box-sizing: border-box; padding: 0.78125vw 1em; width: 100%; cursor: pointer; }

.com_form_box .chk_cont.type2 {grid-template-columns: minmax(0,max-content) minmax(0,max-content); }
.com_form_box .chk_cont.type4 {grid-template-columns: repeat(4, minmax(0, 1fr));}
.com_form_box .chk_cont.path {grid-template-columns: repeat(4, minmax(0, 1fr));}
.com_form_box .chk_cont.path .chk_box label .txt {flex-shrink: 1; white-space: normal; word-break: keep-all;}

/* 문의 경로 기타 직접입력 */
.com_form_box .etc_inp_box {margin-top: 4rem; width: 40rem; max-width: 100%;}
.com_form_box .etc_inp_box[hidden] {display: none;}
.com_form_box .etc_inp_box .tit {display: block; margin-bottom: 2rem; font-size: var(--p2); font-weight: 600;}
.com_form_box .etc_inp_box .tit .req{color: var(--point01);}

.com_form_box .agree + .agree {margin-top: 10px}
.com_form_box .chk_box label .sm_txt {font-size: var(--p4); flex-shrink: 0; margin-left: 0.5em}
.com_form_box .chk_box .view_btn {margin-left: 15px;font-weight: 600; transition: 0.3s ease-in-out; font-size: 0.5em; background-color: rgba(0,0,0,0.07); padding: 0.7em 1.1em; border-radius: 10em; color: rgba(0,0,0,0.35); }

.com_form_box .com_btn1_box {margin-top: 10rem;}
.com_form_box #projectBtn:disabled {opacity: 0.55; cursor: wait;}

/* 견적문의 첨부파일 목록 */
.inquiry_page .com_form_box .form_box .inp_cont .inquiry_attachments .tit {display: flex; align-items: center; justify-content: space-between; gap: 1em;}
.inquiry_page .inquiry_attachments .attachment_count {display: none; font-size: var(--p8); font-weight: 400; color: var(--gray60); white-space: nowrap;}
.inquiry_page .inquiry_attachments .attachment_list {margin-top: 1rem;}
.inquiry_page .inquiry_attachments .attachment_list[hidden] {display: none;}
.inquiry_page .inquiry_attachments .attachment_item {display: flex; align-items: center; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line);}
.inquiry_page .inquiry_attachments .attachment_icon {width: 1.3em; height: 1.3em; flex-shrink: 0; color: var(--gray50);}
.inquiry_page .inquiry_attachments .attachment_info {flex: 1; min-width: 0;}
.inquiry_page .inquiry_attachments .attachment_filename {display: flex; align-items: baseline; font-size: var(--p5);}
.inquiry_page .inquiry_attachments .attachment_basename {min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.inquiry_page .inquiry_attachments .attachment_ext {flex-shrink: 0;}
.inquiry_page .inquiry_attachments .attachment_size {display: block; margin-top: 0.1em; font-size: var(--p7); color: var(--gray60);}
.inquiry_page .inquiry_attachments .attachment_remove {display: flex; align-items: center; justify-content: center; gap: 0.3em; flex-shrink: 0; 
    width: 1.3em; height: 1.3em; 
    background-color: rgba(0,0,0,0.5); color: #fff; border-radius: 50%;
    font-size: var(--p4); color: var(--gray60);}
.inquiry_page .inquiry_attachments .attachment_remove svg {width: 70%; height: 70%; color: #fff;}

.inquiry_page .inquiry_attachments .attachment_remove:disabled {opacity: 0.5; cursor: default;}
.inquiry_page .com_form_box .form_box .inp_cont .inquiry_attachments .inp_box.file .file_btn.attachment_disabled {opacity: 0.5; background-color: var(--point01);}
.inquiry_page .com_form_box .form_box .inp_cont .inquiry_attachments .inp_box #ex_fileBtn:disabled {cursor: default;}


/* ==========================================================================
   커뮤니티 (새소식14 ,FAQ16 ,뉴스레터15 , 상시채용19)
   ========================================================================== */
.inquiry_sect,
.community { 
    /* --in2: 148rem; */
    --grayBg1:#F6F6F6;
}

/* 공용 서브탑 */
.com_sub_top { padding: calc(var(--hdH) + 7rem) 0 8rem; text-align: center; }
.com_sub_top .top_tit { display: flex; flex-direction: column; align-items: center; gap: 3rem; color: var(--point01); }
.com_sub_top .top_tit .en { font-family: var(--en2), var(--en), sans-serif; font-size: 11rem; font-weight: 700; line-height: 1; }
.com_sub_top .top_tit .ko { font-size: var(--h5); font-weight: 700; line-height: 1.2; }

/* 커뮤니티 공용 탭 (sub_tab_top 공용) */
.community .sub_tab_top{margin-bottom: var(--contMt2);}

.community .sub_tab_top .tab_box { width: 85rem; max-width: 90%; }
.community .sub_tab_top .tab { display: flex; justify-content: center; align-items: center; flex: 1; min-width: fit-content; vertical-align: middle;}
.community .sub_tab_top .tab + .tab { margin-left: 0; }

.sub_tab_top .tab_box { overflow-x: auto; overflow-y: hidden; cursor: grab; touch-action: pan-x; scrollbar-width: none; }
.sub_tab_top .tab_box::-webkit-scrollbar { display: none; }
.sub_tab_top .tab_box.is-dragging { cursor: grabbing; user-select: none; }

.community a:focus-visible, 
.community button:focus-visible { outline: 3px solid var(--point01); outline-offset: 4px; }
.community [hidden] { display: none !important; }

/* 커뮤니티 공용 여백 */
.news_page .news_sect,
.faq_page .faq_sect2,
.career_page .inquiry_sect,
.newsletter_page .newsletter_sect,
.inquiry_page .inquiry_sect{padding: var(--pd3) 0; background-color: var(--grayBg1);}

/* 공용 form page (견적문의, 상시채용)*/
.career_page .com_form_box,
.inquiry_page .com_form_box{margin-top: var(--contMt3);}
.career_page .career_icon_defs{position: absolute; width: 0; height: 0; overflow: hidden;}

.career_page .inquiry_sect,
.inquiry_page .inquiry_sect{padding-top: var(--pd4);}


.com_submit_btn_box {margin-top: 4rem; display: flex; justify-content: center;}
.com_submit_btn_box .submit_btn {background-color: var(--black); color: #fff; font-size: var(--p2); padding: 1.2em 1.5em; font-weight: 700; display: flex; align-items: center; border-radius: 1rem; overflow: hidden;}
.com_submit_btn_box .submit_btn svg {width: 1em; height: 0.9em; margin-left: 2rem; transform: translateX(0); transition: transform 0.3s ease;}


/* ==========================================================================
   커뮤니티_새소식 (14)
   ========================================================================== */

/* --- 목록/갤러리 섹션 --------------------------------------------------- */
.news_page .news_sect { padding-bottom: var(--pd4); }
/* 탭 전환 후 스크롤할 때 고정 헤더 아래에 탭이 오도록 한다(뉴스레터 .newsletter_tab 과 동일). */
.news_page .news_tab { scroll-margin-top: calc(var(--hdH) + 2rem); }

/* --- 목록 --------------------------------------------------------------- */
.news_page .news_list { display: flex; flex-direction: column; gap: 1.5rem; }

.news_page .news_item { display: flex; align-items: center; gap: 3rem; padding: 3.2rem 5rem; border-radius: 1.7rem; background-color: #fff; color: var(--black); transition: box-shadow 0.3s ease-in-out; }
.news_page .news_item .txt_box { display: flex; flex: 1 1 0; flex-direction: column; gap: 2rem; min-width: 0; }
.news_page .news_item .cate { font-size: var(--p3); font-weight: 600; line-height: 1; letter-spacing: -0.02em; color: var(--point01); }
.news_page .news_item .tit { overflow: hidden; font-size: var(--h8); font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; text-overflow: ellipsis; white-space: nowrap; transition: color 0.3s ease-in-out; }

.news_page .news_item .info_box { display: flex; flex-shrink: 0; align-items: center; justify-content: flex-end; gap: 5rem; }
.news_page .news_item .info_box .award_logo { display: flex; align-items: center; gap: 2rem; height: 7.6rem; }
.news_page .news_item .info_box .award_logo.nawards { height: 5.2rem; }
.news_page .news_item .info_box .award_logo.iawards { height: 7rem; }
.news_page .news_item .info_box .award_logo img { width: auto; height: 100%; }

.news_page .news_item .info_box .date { width: 6em; font-size: var(--p6); line-height: 1; letter-spacing: -0.02em; text-align: right; }

/* --- 더보기 버튼(공용 .list_more_btn 재사용) ---------------------------- */
/* 공용 규칙은 width:auto + 좌우 padding 으로 내용을 감싸서 justify-content 가 필요 없다.
   시안대로 폭을 150px 로 고정하면 내용이 왼쪽에 붙으므로 가운데 정렬을 함께 지정한다. */
/* .news_page .list_more_btn .btn { justify-content: center; width: 15rem; height: 6rem; padding: 0; font-size: 2rem; }
.news_page .list_more_btn .btn .ico { width: 2.4rem; height: 2.4rem; margin-left: 1rem; } */

/* --- 상태(로딩 · 없음 · 오류) ------------------------------------------ */
.news_page .news_status { margin-top: 6rem; color: #6B6B6B; font-size: var(--p2); text-align: center; }
.news_page .news_status[data-state="idle"] { display: none; }
.news_page .news_status button { margin-left: 1.5rem; color: var(--point01); font-weight: 700; text-decoration: underline; text-underline-offset: 0.3em; }

/* --- SNS 갤러리 --------------------------------------------------------- */
.news_page .sns_group + .sns_group { margin-top: 10rem; }
.news_page .sns_id { display: inline-block; color: var(--point01); font-family: var(--en2), var(--en), sans-serif; font-size: 3rem; font-weight: 700; line-height: 1.3; }
.news_page .sns_grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem; margin: var(--contMt4) 0 0; padding: 0; list-style: none; }
.news_page .sns_grid .item { display: block; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 2rem; background-color: #EEEEEE; }
.news_page .sns_grid img, .news_page .sns_grid video { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease-in-out; }



/* --- 기타 서비스(공용 .other_services_sect) ---------------------- */
.news_page .other_services_sect { padding-bottom: var(--pd2); }


/* ==========================================================================
   상세 페이지
   ========================================================================== */
.news-page a:focus-visible { outline: 3px solid var(--point01); outline-offset: 4px; }

.detail_page { padding: calc(var(--hdH) + 5rem) 0 14rem; }

.detail_header { padding: 0 0 4rem; border-bottom: 1px solid var(--black); text-align: center; }
.detail_header .detail_title { max-width: 90%; margin: 0 auto; color: var(--black); font-size: var(--h4); font-weight: 700; line-height: 1.4; word-break: keep-all; }
.detail_header .detail_meta { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-top: 2.4rem; font-size: var(--p5); color: var(--gray40);}

/* 공유버튼 */
.list_view_share { margin-top: var(--contMt4); }
.list_view_share .inner { display: flex; align-items: center; justify-content: center; width: 100%; }
.list_view_share a { display: flex; justify-content: center; align-items: center; width: 5rem; height: 5rem; background-color: #eee; border-radius: 100%; fill: #151515; transition: background-color 0.3s, fill 0.3s; flex-shrink: 0}
.list_view_share a + a { margin-left: 0.9375vw; }
.list_view_share a svg { height: 40%; }
.list_view_share a.share svg { height: 35%; }

.detail_body { margin: 0; padding: 6rem 0 0; overflow-wrap: anywhere; line-height: 1.8;}
.detail_body > :first-child { margin-top: 0; }
.detail_body > :last-child { margin-bottom: 0; }
.detail_body img, 
.detail_body video { max-width: 100%; height: auto; }
.detail_body table { width: 100%; border-collapse: collapse; }
.detail_body th, .detail_body td { padding: 1rem; border: 1px solid var(--gray20); }
.detail_body a { color: var(--point01); text-decoration: underline; text-underline-offset: .2em; }
.detail_body.ck-content img {
    height: auto !important;
    max-height: fit-content;
}

.detail_empty { color: var(--gray40); text-align: center; }

.detail_body:not(.se-viewer) {width: 100%; max-width: 100%; font-size: var(--p3); }
.detail_body:not(.se-viewer) p, 
.detail_body:not(.se-viewer) figure, 
.detail_body:not(.se-viewer) blockquote, 
.detail_body:not(.se-viewer) ul, 
.detail_body:not(.se-viewer) ol, 
.detail_body:not(.se-viewer) table {margin-top: 2rem; margin-bottom: 2rem;}
.detail_body:not(.se-viewer) img {display: block; margin-right: auto; margin-left: auto;}
.detail_body:not(.se-viewer) table {display: block; width: 100%; overflow-x: auto;}


.detail_attachments { width: 92rem; max-width: 100%; margin: 5rem auto 0; padding: 2.4rem; border: 1px solid var(--gray20); border-radius: 1.2rem; }
.detail_attachments h2 { margin: 0 0 1.5rem; font-size: 1.8rem; }
.detail_attachments ul { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.detail_attachments a { display: flex; gap: 2rem; align-items: center; justify-content: space-between; padding: 1.4rem 1.6rem; border-radius: .8rem; background: var(--grayBg1); color: var(--black); font-size: 1.5rem; }

/* 상세 공용 목록 버튼 및 이전/다음 */
.detail_actions {display: flex; justify-content: center; margin-top: 7rem; padding-top: 7rem; border-top: 1px solid var(--black);}

.detail_navigation {display: flex; justify-content: space-between; gap: 4rem; margin-top: 10rem;}
.detail_navigation_item {display: flex; flex: 1 1 50%; flex-direction: column; gap: 1.5rem; min-width: 0; font-size: var(--h6);}
.detail_navigation_item.next {align-items: flex-end; text-align: right;}
.detail_navigation_item.none{pointer-events: none; opacity: 0.5;}

.detail_navigation_label {display: inline-flex; align-items: center; gap: 1.5rem; color: var(--black); 
    font-family: var(--en2), sans-serif; font-size: var(--h4); font-weight: 700; line-height: 1;}
 
.detail_navigation_item {color: var(--black); text-decoration: none;}
.detail_navigation_title, 
.detail_navigation_empty {max-width: 100%; overflow: hidden; color: var(--black); font-size: var(--p5); font-weight: 500; text-overflow: ellipsis; white-space: nowrap;}
.detail_navigation_empty {color: var(--gray40);}

.detail_navigation_label .ico {position: relative; display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; flex: 0 0 4rem; border: 1px solid var(--black); border-radius: 50%; transition: background-color .3s ease, background-image .3s ease;}
.detail_navigation_label .ico {background-color: #fff; background-image: none !important;}
.detail_navigation_label .ico svg {display: block; width: 30%; height: 30%; fill: #3C3C3C;}

.detail_navigation_item.prev .detail_navigation_label .ico svg {transform: rotate(180deg);}


/* 목록보기_게시판상세, 포트폴리오 상세 */
.detail_list_link,
.portfolio_view_container .sub_btn .btn {display: inline-flex; align-items: center; justify-content: center; gap: 3.5rem; width: 17.2rem; height: 6rem; border-radius: 99rem; background: var(--point01); color: #fff; font-size: var(--p2); font-weight: 700; transition: background-color .3s ease;}
.detail_list_link .ico,
.portfolio_view_container .sub_btn .btn .ico{width: 1.8rem; height: 1.8rem; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="%23fff"><path d="M0 32l128 0 0 128L0 160 0 32zM0 192l128 0 0 128L0 320 0 192zM128 352l0 128L0 480 0 352l128 0zM160 32l128 0 0 128-128 0 0-128zM288 192l0 128-128 0 0-128 128 0zM160 352l128 0 0 128-128 0 0-128zM448 32l0 128-128 0 0-128 128 0zM320 192l128 0 0 128-128 0 0-128zM448 352l0 128-128 0 0-128 128 0z"/></svg>') center/contain no-repeat;}


/* === 상세_새소식 === */
.news-detail__category { margin: 0 0 1.5rem; color: var(--point01); font-size: var(--p3); font-weight: 700; }
.news-detail .detail_body { min-height: 28rem; font-size: 1.8rem;  }
.news-detail .detail_body:not(.se-viewer) { width: 100%; max-width: none; }

/* === 상세_뉴스레터 === */
.newsletter-detail__series {margin: 0 0 1.5rem; font-size: 1.5rem; font-weight: 700;}
.newsletter-detail__series span {display: inline-flex; margin-right: .8rem; padding: .45rem 1.2rem; 
    border-radius: 99rem; background: var(--point01); color: #fff; font-size: var(--p8);}
.newsletter-detail__series {display: flex; align-items: center; justify-content: center;}

/* 본문은 글마다 링크되는 스마트에디터 CSS(/_File/post/{key}/css/*.css, headerCommon.php data-newsletter-entry-style)가 담당한다.
   폭·글자·표·링크를 여기서 덮으면 라이브(soijeong.com)와 달라지므로 .se-viewer 에는 컨테이너 폭과 넘침 방지만 주고,
   일반 HTML 본문(:not(.se-viewer))에만 기본 타이포를 준다. */
.newsletter-detail .detail_body.se-viewer {position: relative; contain: layout paint; isolation: isolate;}




/* ==========================================================================
   커뮤니티_FAQ (16)
   ========================================================================== */
.faq_page .faq_sect2 .faq_list {display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--black);}
.faq_page .faq_sect2 .faq_list li {display: block; opacity: 0; transform: translateY(100px); transition: 0.6s ease-in-out; position: relative;}
.faq_page .faq_sect2.active .faq_list li {opacity: 1; transform: translateY(0);}

.faq_page .faq_sect2 .que_box {display: flex; align-items: center; justify-content: space-between; gap: 2rem; width: 100%; border-bottom: 1px solid var(--black); text-decoration: none; color: inherit;}
.faq_page .faq_sect2 .que_box .txt {display: flex; align-items: center; flex: 0 1 auto; min-width: 0; min-height: 10rem; padding: 0 4rem; 
    background-color: transparent !important; font-size: var(--p1); font-weight: 600; line-height: 1.4; color: #1a1a1c; text-align: left; 
    word-break: keep-all; transition: flex-grow 0.3s ease-in-out, background 0.3s ease-in-out, border-radius 0.3s ease;}
.faq_page .faq_sect2 .que_box .btn {position: relative; display: flex; align-items: center; justify-content: center; background-color: transparent !important; cursor: pointer; 
    transition: background 0.3s ease-in-out;}

.faq_page .faq_sect2 .answer_box{display: none; position: relative; top: 0; width: 100%; padding: 4rem; background-color: #fff; border: 0; border-bottom: 1px solid var(--gray90); border-radius: 0;}
.faq_page .faq_sect2 .answer_box .desc {font-size: var(--p3); font-weight: 400; line-height: 1.7; color: #333; word-break: keep-all;}

.faq_page .faq_sect2 .cont_box{width: 100%;}
.faq_page .faq_sect2 .que_box .txt:before{content: 'Q'; position: relative; margin-right: 0.5em; font-size: var(--h8); font-weight: 600;}

.faq_page .faq_sect2 .answer_box .desc{ background-color: transparent; font-size: var(--p3);}
.faq_page .faq_sect2 .answer_box .desc:before{content: 'A'; position: absolute; left: 4rem; font-size: var(--h8); font-weight: 600; opacity: 0; transition: 0.5s; }
.faq_page .faq_sect2 .answer_box .desc .desc_cont {padding-top: 0.3em; padding-left: 3.5rem;}
.faq_page .faq_sect2 .faq_list li.active .answer_box .desc:before {opacity: 1;} 
.faq_page .faq_sect2 .answer_box .desc .desc_cont strong{font-weight: normal;}

.faq_page .faq_sect2 .que_box .btn .arr { display: inline-block; width: 2em; height: 2em; transform: rotate(90deg); transition: transform 0.3s, background 0.3s; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="%23151515"><path d="M328 96l24 0 0 24 0 240 0 24-48 0 0-24 0-182.1L81 401l-17 17L30.1 384l17-17 223-223L88 144l-24 0 0-48 24 0 240 0z"/></svg>')center/contain no-repeat; }
.faq_page .faq_sect2 .faq_list li.active .btn .arr { transform: rotate(0); background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="%23ff6714"><path d="M328 96l24 0 0 24 0 240 0 24-48 0 0-24 0-182.1L81 401l-17 17L30.1 384l17-17 223-223L88 144l-24 0 0-48 24 0 240 0z"/></svg>')center/contain no-repeat; }

.faq_page .faq_sect2 .faq_more_btn {display:flex; align-items: center; justify-content: center; width: 7em; height: 6.5rem; margin: 3rem auto 0 auto; border: 0; border-radius: 1rem; background: #fff; color: #1a1a1c; font-size: var(--p3); font-weight: 700; cursor: pointer; transition: background 0.3s ease-in-out;}



/* ==========================================================================
   커뮤니티_뉴스레터 (15)
   ========================================================================== *
/* --- 목록 섹션 --------------------------------------------------------- */
.newsletter_page .newsletter_sect {padding-bottom:var(--pd4);}

/* 공용 .sub_tab_top 을 재사용하고 치수만 뉴스레터 폭에 맞춘다. 탭은 시리즈 링크(a)라 정렬을 직접 준다.
   scroll-margin-top: 탭 전환 후 스크롤할 때 고정 헤더 아래에 탭이 오도록 한다. */
.newsletter_page .newsletter_tab {scroll-margin-top: calc(var(--hdH) + 2rem);}
.newsletter_page .newsletter_tab.is-loading .tab {pointer-events: none;}


/* --- 카드 그리드 ------------------------------------------------------- */
.newsletter_page .newsletter_list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem;}
.newsletter_page .newsletter_item {min-width: 0;}
.newsletter_page .newsletter_item .link {display: flex; flex-direction: column; gap: 4rem; height: 100%; padding: 4rem; border-radius: var(--radius); background-color: #fff; color: var(--black); transition: box-shadow 0.3s ease-in-out;}

.newsletter_page .newsletter_item .img_box {width: 16rem; height: 16rem; overflow: hidden; border-radius: 2rem; background-color: #F6F6F6;}
.newsletter_page .newsletter_item .img_box img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease-in-out;}
.newsletter_page .newsletter_item .img_box .no_img {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-family: var(--en2), sans-serif; font-size: var(--p6); font-weight: 700; letter-spacing: 0.12em; color: var(--gray30);}

.newsletter_page .newsletter_item .txt_box {display: flex; flex: 1 1 auto; flex-direction: column; gap: 3.5rem; width: 100%; min-width: 0; }
.newsletter_page .newsletter_item .series_box {display: flex; align-items: center; gap: 1rem; min-width: 0;}
.newsletter_page .newsletter_item .series_box .badge {display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; 
    padding: 0.4rem 1.5rem; border-radius: 5rem; background-color: var(--point01); font-size: var(--p8); font-weight: 700; color: #fff; white-space: nowrap;}
.newsletter_page .newsletter_item .series_box .series {overflow: hidden; font-size: var(--p4); font-weight: 500; text-overflow: ellipsis; white-space: nowrap;}

.newsletter_page .newsletter_item .txt_cont {display: flex; flex-direction: column; gap: 1.5rem; width: 100%; word-break: keep-all;}
.newsletter_page .newsletter_item .txt_cont .tit {display: -webkit-box; overflow: hidden; font-size: var(--h8); font-weight: 700; -webkit-box-orient: vertical; -webkit-line-clamp: 2; transition: color 0.3s ease-in-out;}
.newsletter_page .newsletter_item .txt_cont .desc {display: -webkit-box; overflow: hidden; font-size: var(--p6); font-weight: 500; color: #6f7380; -webkit-box-orient: vertical; -webkit-line-clamp: 4;}

.newsletter_page .newsletter_item .info_box {display: flex; align-items: center; gap: 1rem; margin-top: auto; font-size: var(--p7); font-weight: 500; line-height: 1.5; color: #6f7380; white-space: nowrap;}
.newsletter_page .newsletter_item .info_box .writer + .date {display: inline-flex; align-items: center; gap: 1rem;}
.newsletter_page .newsletter_item .info_box .writer + .date::before {content: ''; width: 0.4rem; height: 0.4rem; border-radius: 50%; background-color: #A9A9A9;}

/* --- 상태(로딩 · 없음 · 오류) ------------------------------------------ */
.newsletter_page .newsletter_status {margin-top: var(--contMt3); color: #6f7380; font-size: var(--p2); text-align: center;}
.newsletter_page .newsletter_status[data-state="idle"] {display: none;}
.newsletter_page .newsletter_status[data-state="empty"] {padding: var(--pd4) 0;}
.newsletter_page .newsletter_status button {margin-left: 1.5rem; color: var(--point01); font-weight: 700; text-decoration: underline; text-underline-offset: 0.3em;}

/* --- 기타 서비스(공용 .other_services_sect) ---------------------- */
.newsletter_page .other_services_sect {margin-top: 0; padding: var(--pd) 0;}

@media (prefers-reduced-motion: reduce) {
    .newsletter_page .newsletter_item .link, .newsletter_page .newsletter_item .img_box img, .newsletter_page .newsletter_item .txt_cont .tit, .newsletter_page .list_more_btn .btn {transition: none;}
    .newsletter_page .newsletter_item .link:hover .img_box img {transform: none;}
}








/* ==========================================================================
   GEO 진단 22
   ========================================================================== */
.geo_page .geo_sect {background-color: #F6F6F6; padding: var(--pd4) 0 var(--pd2);}

.geo_page .eyebrow,
.geo_page .form_kicker {font-family: var(--en2); font-size: 1.4rem; font-weight: 700; color: var(--point01); letter-spacing: 0.08em; text-transform: uppercase;}


.geo_page .geo_intro .cont_box {margin-top: var(--contMt1);}
.geo_page .geo_intro .cont_box .cont_tit {font-size: var(--p4); font-weight: 600; color: var(--point01);}

.geo_page .geo_intro .cont_box .list_box {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; margin-top: 3rem;}
.geo_page .geo_intro .cont_box .list_box li {padding: 3.5rem;  border-radius: 2.5rem; background-color: #F9F9F9;}

.geo_page .geo_intro .list_box .num,
.geo_page .geo_value .list_box .num { font-size: var(--p6); font-weight: 700; color: var(--point01); display: block;}
.geo_page .geo_value .list_box .num { text-align: right;}
.geo_page .geo_intro .list_box .tit,
.geo_page .geo_value .list_box .tit,
.geo_page .geo_build .list_box .tit {display: block; margin-top: 3.4rem; font-size: var(--p1); font-weight: 700;}
.geo_page .geo_intro .list_box p,
.geo_page .geo_value .list_box p,
.geo_page .geo_build .list_box p {margin-top:1.5rem; font-size: var(--p6); }

.geo_page .geo_hero {margin-top: var(--contMt3);}

.geo_page .geo_hero .criteria_box {background-color: #EEF8FF; border-radius: 1.2rem; padding: 3rem 5rem 3rem 10rem; display: flex; margin-top: 4rem;}
.geo_page .geo_hero .criteria_box .left_box {width: 40%; display: flex; flex-direction: column;}
.geo_page .geo_hero .criteria_box .left_box .img {width: 14rem; height: auto; margin-bottom: 2rem;}
.geo_page .geo_hero .criteria_box .left_box .img img {width: 100%;}
.geo_page .geo_hero .criteria_box .left_box .txt {font-size: var(--p1); font-weight: 700; margin-top: auto;}
.geo_page .geo_hero .criteria_box .right_box {flex: 1; min-width: 0;}
.geo_page .geo_hero .criteria_box .right_box .list {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem;}
.geo_page .geo_hero .criteria_box .right_box .list li {display: flex; align-items: center; font-size: var(--p3)}
.geo_page .geo_hero .criteria_box .right_box .list li .ico_box {width:2.4em; height: 2.4em; flex-shrink: 0; background-color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center;}
.geo_page .geo_hero .criteria_box .right_box .list li .ico_box svg {width: 40%; height: auto;}
.geo_page .geo_hero .criteria_box .right_box .list li .txt {font-size: var(--p4); font-weight: 600; margin-left: 15px;}

.geo_optimization {margin-top: var(--pd2);}
.geo_page .cont_tit_box .txt {font-size: var(--p3); font-weight: 500; margin-top: 4rem; max-width: 60%;}

.geo_page .geo_value .list_box,
.geo_page .geo_build .list_box,
.sub_cont_table06{margin-top: var(--contMt2);}


.sub_cont_table06 { --borderRadius: 3rem ; --centerW: 25rem; padding: 0 5.5rem;}
.sub_cont_table06 .top_tit { display: grid; grid-template-columns: 1fr var(--centerW) 1fr; text-align: center;}
.sub_cont_table06 .top_tit > div { grid-column: 1; }
.sub_cont_table06 .top_tit > div.color { grid-column: 3; }
.sub_cont_table06 .top_tit .tit{font-size:var(--h8); background: #AFB0B5; color: #fff; text-align: center; font-weight: 600; padding: 0.8em 0; 
    border-radius:var(--borderRadius) var(--borderRadius) 0 0; border: 0.5rem solid #A2A2A2; border-bottom: none; box-shadow: 20px 30px 30px 0 rgba(0, 0, 0, 0.15);}
.sub_cont_table06 .top_tit .tit.color {background: var(--point01); border: 5px solid var(--point01); border-bottom: none;}

.sub_cont_table06 .cont_box {background-color: #F8F8F8; border-radius: 0 0 var(--borderRadius) var(--borderRadius);}
.sub_cont_table06 .cont_box .txt {font-weight: 600; font-size:var(--p2); color: #8A8A8A; padding: 3rem 3rem 2rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; position: relative; background-color: #fff; z-index: 6;background-color: #fff;box-shadow: 20px 30px 30px 0 rgba(0, 0, 0, 0.15);}
.sub_cont_table06 .cont_box .txt p {display: flex; flex-direction: column; align-items: center; justify-content: flex-start; width: 100%; position: relative;}
.sub_cont_table06 .cont_box .txt.color{color: var(--black);}
.sub_cont_table06 .cont_box .txt .ico {width: 1em; height:1em; margin-bottom: 1rem; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25" fill="none"><rect width="25" height="25" rx="12.5" fill="%23AFB0B5"/><path d="M18.1549 8.92236L10.1341 16.4224L6.48828 13.0133" stroke="white" stroke-width="3"/></svg>') no-repeat center / contain}
.sub_cont_table06 .cont_box .txt.color .ico {background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25" fill="none"><rect width="25" height="25" rx="12.5" fill="%23FF5E10"/><path d="M18.1549 8.92236L10.1341 16.4224L6.48828 13.0133" stroke="white" stroke-width="3"/></svg>') no-repeat center / contain}

.sub_cont_table06 .cont_box .row{display:grid; grid-template-columns:1fr var(--centerW) 1fr; text-align: center;}
.sub_cont_table06 .cont_box .row .txt:first-child {border-left: 0.5rem solid #A2A2A2; border-right: 0.5rem solid #A2A2A2;}
.sub_cont_table06 .cont_box .row .txt:last-child {border-left: 0.5rem solid var(--point01); border-right: 0.5rem solid var(--point01);}

.sub_cont_table06 .cont_box .row:last-child .txt:first-child {border-radius:  0 0 var(--borderRadius) var(--borderRadius); border-bottom: 0.5rem solid #A2A2A2; }
.sub_cont_table06 .cont_box .row:last-child .txt:last-child {border-radius:  0 0 var(--borderRadius) var(--borderRadius); border-bottom: 0.5rem solid var(--point01)}

.sub_cont_table06 .cont_box .row:last-child .txt:first-child,
.sub_cont_table06 .cont_box .row:last-child .txt:last-child{padding-bottom: 5rem;}
.sub_cont_table06 .cont_box .row:last-child .value {margin-bottom: 5rem;}


 
.sub_cont_table06 .cont_box .row > .txt::before {content: ""; border-top: 1px solid rgba(0, 0, 0, 0.15); position: absolute; 
    left: 50%; bottom: 0; transform: translateX(-50%) ;width: calc(100% - 8.6rem); height: 1px; z-index: 1;}
.sub_cont_table06 .cont_box .row:last-child > .txt::before{display: none;}
.sub_cont_table06 .cont_box .row > .txt.color::before {border-top: 1px solid rgba(0, 0, 0, 0.15);}
.sub_cont_table06 .cont_box .row .value {font-size: var(--p4); font-weight: 600; z-index: 5; display: flex; align-items: flex-end; padding-bottom: 2rem; justify-content: center; position: relative;}
.sub_cont_table06 .cont_box .row .value::before {content: ""; border-bottom: 1px solid rgba(0, 0, 0, 0.15); position: absolute; left: 50%; bottom: 0; transform: translateX(-50%) ;width: calc(100% - 6rem); height: 1px; z-index: 1;}
/* .sub_cont_table06 .cont_box .row:not(:first-child) .value{border-top: 1px solid #ddd;} */
.sub_cont_table06 .cont_box .row .num_list li + li{margin-top: 1.6rem;}
.sub_cont_table06 .cont_box .row .num_list .num{display: inline-flex; align-items: center; justify-content: center; margin-right: 0.5em; font-size: var(--tinyTxt); width: 2.5rem; height: 2.5rem; border-radius: 50%; color: #fff; background-color: #000;}
.sub_cont_table06 .cont_box .row .num_list .tit{display: flex; align-items: center; justify-content: center; font-weight: var(--txt); font-weight: 700;}
.sub_cont_table06 .cont_box .row .num_list .txt{font-weight: 500; margin-top: 0.8rem;}


.geo_page .geo_value {margin-top: var(--pd2);}
.geo_page .geo_value .list_box {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; }
.geo_page .geo_value .list_box li {padding: 3.8rem 3.2rem; background: #f9f9f9; border-radius: 2.5rem; min-height: 24rem;}

.geo_page .geo_build {margin-top: var(--pd2);}
.geo_page .geo_build .list_box {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.geo_page .geo_build .list_box li {padding: 4rem; background: #1a1a1c; border-radius: 2.5rem;}
.geo_page .geo_build .list_box .icon {display: inline-flex; width: 3.4rem; height: 3.4rem;}
.geo_page .geo_build .list_box .icon img {width: 100%;}
.geo_page .geo_build .list_box strong {margin-top: 5.5rem;}
.geo_page .geo_build .list_box strong,
.geo_page .geo_build .list_box p {color: #fff; }
.geo_page .geo_build .list_box p {font-weight: 700;}
.geo_page .geo_build .list_box .num {text-align: right;}

.geo_page .geo_answer {position: relative; margin-top: var(--pd2);}
.geo_page .geo_answer .cont_tit_box {color: var(--point01);}

.geo_page .geo_answer .cta_box { padding: 5rem 8rem 3rem; background: var(--point01); border-radius: 2rem; color: #fff;}
.geo_page .geo_answer .cta_box .brand {font-family: var(--en2); font-size: var(--p3); font-weight: 700; }
.geo_page .geo_answer .cta_box .tit {margin-top: 2rem; font-size: var(--h6); font-weight: 700;}
 
.geo_page .geo_answer .cta_box .btn_wrap {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4.3rem; margin-top: 4rem;}
.geo_page .geo_answer .cta_box .btn_wrap .btn {display: inline-flex; align-items: center; justify-content: center; height: 3.5em; border-radius: 1rem; font-size: var(--p2); font-weight: 700;}
.geo_page .geo_answer .cta_box .btn_wrap .btn svg {width: 1em; height: auto; margin-left: 2rem; transition: 0.3s ease;}
.geo_page .geo_answer .cta_box .btn_wrap .dark_btn {background: #1a1a1c; color: #fff;}
.geo_page .geo_answer .cta_box .btn_wrap .light_btn {background: #fff; color: var(--point01);}

.geo_page .geo_answer .visual_box {display: flex; justify-content: flex-end; align-items: flex-end; margin-top: -27rem;}
.geo_page .geo_answer .visual_box img {width: 100%;}
.geo_page .geo_answer .visual_box .sasha {width: 58rem; transform: translateX(20%);}
.geo_page .geo_answer .visual_box .acer {width: 28rem; transform: translate(20%,-10%);}

.geo_page .geo-report,
.geo_page .geo_scope,
.geo_page .geo-foot {max-width: 118rem; margin-left: auto; margin-right: auto;}
.geo_page .geo-report {padding-top: var(--pd2);}
.geo_page .geo_scope {padding-top: var(--pd2);}
.geo_page .geo-foot {padding-bottom: 0;}












/* ===== 호버 ===== */
@media screen and (min-width: 1241px){
    .news_page .news_item:hover { box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.1); }
    .geo_page .geo_answer .cta_box .btn_wrap .btn:hover svg { transform: translateX(0.8rem);}

    .com_form_box .form_box .inp_cont .inp_wrap .inp_box.file .file_btn:hover{background-color: var(--black);}

    .list_view_share a:hover { fill: #fff;background-color: var(--point01);}

    .com_form_box .chk_box .view_btn:hover {color: #fff; background-color: #000}
    .com_form_box .form_box .submit_btn_box .submit_btn:hover svg {transform: translateX(0.8rem);}
    .com_form_box .com_submit_btn_box .submit_btn:hover svg {transform: translateX(0.8rem);}

    .com_submit_btn_box .submit_btn:hover svg {transform: translateX(0.8rem);}

    .news_page .sns_grid .item:hover img, 
    .news_page .sns_grid .item:hover video { transform: scale(1.04); }

    .detail_list_link:hover,
    .portfolio_view_container .sub_btn .btn:hover{background-color: var(--black);}
    .detail_navigation_item:hover .detail_navigation_label .ico{background-color: var(--black);}
    .detail_navigation_item:hover .detail_navigation_label .ico svg{fill: #fff;}
    .detail_navigation_item:hover .detail_navigation_label .ico::after {display: none;}

    .faq_page .faq_sect2 .faq_more_btn:hover {background: #FFCAB0 !important;}

    .newsletter_page .newsletter_item .link:hover {box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.1);}
    .newsletter_page .newsletter_item .link:hover .img_box img {transform: scale(1.04);}
    .newsletter_page .newsletter_item .link:hover .txt_cont .tit {color: var(--point01);}

}





/* ===== 반응형 ===== */
@media screen and (max-width: 1640px){
    .faq_page .faq_sect2 .que_box .txt{min-height: 10rem;}
    .faq_page .faq_sect2 .answer_box .desc{font-size: var(--p3);}
}


@media screen and (max-width: 1440px){

    .com_sub_top {padding: calc(var(--hdH) + 6rem) 0 8rem;}
    .com_sub_top .top_tit .en{font-size: 8rem;}
    .com_sub_top .top_tit .ko{font-size: var(--h5);}
    .com_sub_top .top_tit{gap: 3rem;}
    
    
    .sub_tab_top{margin-bottom: var(--contMt3); }
    .sub_tab_top .tab,
    .community .sub_tab_top .tab{font-size: var(--p1);}

    .news_page .news_sect,
    .faq_page .faq_sect2,
    .newsletter_page .newsletter_sect{padding-top: var(--pd4);}

    .news_page .news_item .tit{font-size: var(--h7);}
    .news_page .news_item .txt_box{gap: 1.7rem;}



}


@media screen and (max-width: 1240px){


    .com_sub_top {padding: calc(var(--hdH) + 7rem) 0 8rem;}
    .com_sub_top .top_tit .en{font-size: 7rem;}
    .com_sub_top .top_tit .ko{font-size: var(--h8);}
    .com_sub_top .top_tit{gap: 2.5rem;}
    

    /* 새소식 */
    .news_page .news_item{padding: 3rem 4rem;}
    .news_page .news_item .info_box{gap: 3rem;}
    .news_page .news_item .tit{font-size: var(--p1);}



    /* 뉴스레터 */
    .newsletter_page .newsletter_top_tit {gap: 3rem;}
    .newsletter_page .newsletter_top_tit .en {font-size: 12rem;}
    .newsletter_page .newsletter_list {gap: 2.5rem;}
    .newsletter_page .newsletter_item .link {gap: 3rem; padding: 3rem;}
    .newsletter_page .newsletter_item .txt_box {gap: 2.5rem;}

    /* 견적 문의 */
    /* .inquiry_page .inquiry_sect .cont_tit_box {margin-bottom: 10rem;} */
    .com_form_box .form_box > .tit {margin-bottom: 5rem;}
    .com_form_box .inp_cont {gap: 6rem 4rem;}
    .com_form_box .chk_cont,
    .com_form_box .chk_cont.path {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 3rem;}
}




@media screen and (max-width: 1040px){


    .newsletter_page .newsletter_item .series_box .series {font-size: var(--p4);}
    .newsletter_page .newsletter_item .series_box .badge {font-size: var(--p8);}
    .newsletter_page .newsletter_item .txt_cont .tit {font-size: var(--h8);}
    .newsletter_page .newsletter_item .txt_cont .desc {font-size: var(--p4);}
    .newsletter_page .newsletter_item .info_box {font-size: var(--p7);}

    .faq_page .faq_sect2 .que_box .txt {font-size:  var(--p2);}



    /* 견적 문의 — 입력 1열 */
    .com_form_box {font-size: var(--p4);}
    .com_form_box{padding: 4rem 3rem;}
    .com_form_box .form_box .inp_cont{gap: 3.5rem 3rem;}

    .com_form_box .form_box .inp_wrap .field_box input,
    .com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox,
    .com_form_box .form_box .inp_wrap .inp_box input:not([type="file"]),
    .com_form_box .inp_cont .inp_wrap .select_box .box .select{padding: 0 1.5rem;}

    .com_form_box .form_box .agree_box{padding: 2rem 1.5rem;}

    .com_form_box .form_box + .form_box {margin-top: 6rem; padding-top: 5rem;}
    .com_form_box .inp_cont {grid-template-columns: minmax(0, 1fr); gap: 4rem;}
    .com_form_box .inp_cont .inp_wrap .tit {margin-bottom: 1.5rem;}
    .com_form_box .inp_cont .inp_wrap.area {grid-column: auto;}
    .com_form_box .inp_cont .inp_wrap.area .inp_box {height: 200px; min-height: 0;}
    .com_form_box .chk_cont,
    .com_form_box .chk_cont.type4,
    .com_form_box .chk_cont.path {grid-template-columns: repeat(3, minmax(0, 1fr));}
    .com_form_box .chk_cont.type2 {grid-template-columns: minmax(0, 1fr); gap: 2rem;}
    .com_form_box .chk_box label .sm_txt {flex-shrink: 1; width: 100%; }


    /* GEO 진단 — 카드 그리드 축소 */
    .geo_page .geo_hero .criteria_box{padding: 3rem 5rem;}
    .geo_page .geo_hero .criteria_box .left_box{width: auto; margin-right: 3rem;}
    .geo_page .geo_hero .criteria_box .right_box{flex: unset; margin-left: auto;}
    .geo_page .geo_hero .criteria_box .right_box .list{gap: 2rem 3rem; }

    .geo_page .geo_intro .cont_box .list_box{margin-top: 2rem;}

    .geo_page .geo_value .list_box {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .geo_page .geo_build .list_box p br{display: none;}

    .com_form_box .com_submit_btn_box .submit_btn{font-size: var(--p3);}

    .geo_page .cont_tit_box .txt{max-width: 54%;}
    .geo_page .cont_tit_box .txt br{display: none;}
    .geo_page .geo_answer .visual_box {margin-top: -17rem;}
    .geo_page .geo_answer .visual_box .sasha {width: 58rem; max-width: 42%; transform: none;}
    .geo_page .geo_answer .visual_box .acer {width: 28rem; max-width: 25%; transform: translate(0, -20%);}


}


@media screen and (max-width: 768px){
    .com_sub_top { padding: calc(var(--hdH) + 5rem) 0 6rem;}
    .com_sub_top .top_tit{gap: 2rem;}
    .com_sub_top .top_tit .en{font-size: var(--d1);}
    .com_sub_top .top_tit .ko{font-size: var(--h8);}


    .sub_tab_top .tab,
    .community .sub_tab_top .tab { height: 2.5em; font-size: var(--p2); padding: 0 1.2em;}
    .community .sub_tab_top { margin-bottom: var(--contMt3);}
    

    /* 새소식 */
    .news_page .news_item .txt_box{gap: 10px;}
    .news_page .news_item .cate{font-size: var(--p6);}
    .news_page .news_item .tit { font-size: var(--p2); }

    .news_page .sns_grid{gap: 15px;}

    .faq_page .faq_sect2 .que_box .txt{padding: 0 2rem;}
    .faq_page .faq_sect2 .answer_box{padding: 3rem 2rem;}
    .faq_page .faq_sect2 .answer_box .desc:before{left: 2rem;}
    .faq_page .faq_sect2 .que_box .btn .arr{width: 1.8em; height: 1.8em;}


    /* 뉴스레터 — 카드 2열 */
    .newsletter_page .newsletter_list {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .newsletter_page .newsletter_list {gap: 15px;}
    .newsletter_page .newsletter_item .link {gap: 20px; padding: 20px;}
    .newsletter_page .newsletter_item .img_box {width: 16rem; height: 16rem; border-radius: 1.5rem;}
    .newsletter_page .newsletter_item .txt_box {gap: 15px;}
    .newsletter_page .newsletter_item .txt_cont .desc {-webkit-line-clamp: 3;}

    
    /* 게시판 상세 */
    .detail_navigation{margin-top: 5rem;}
    .detail_navigation_label{font-size: var(--h3);}
    .detail_navigation_title, .detail_navigation_empty{font-size: var(--p4);}

    /* 견적 문의 */
    .com_form_box{padding: 4rem 3rem;}
    .com_form_box .form_tit_box .tit{margin-top: 1rem;}
    .com_form_box .form_box .inp_cont .inp_wrap .inp_box.file .file_btn{margin-left: 1rem;}
    
    .com_form_box .inp_cont .inp_wrap .select_box .box .select,
    .com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox, 
    .com_form_box .form_box .inp_cont .inp_wrap .inp_box.file .file_btn, 
    .com_form_box .form_box .inp_wrap .field_box input, 
    .com_form_box .form_box .inp_wrap .inp_box input:not([type="file"]){border-radius: 5px; padding: 0 12px; height: 48px;}


    .com_form_box .form_box .agree_box{margin-top:25px; padding: 15px 12px; border-radius: 5px;}
    .com_form_box .form_box .agree_box + .agree_box{margin-top: 10px;}

    .com_form_box .form_box .inp_wrap .inp_box textarea{padding: 2rem;}
    .com_form_box .form_box .inp_wrap.file_wrap{grid-column: span 2;}

    .com_form_box .form_box > .tit {margin-bottom: 30px; font-size: var(--h6);}
    .com_form_box .inp_cont {gap: 30px;}
    .com_form_box .inp_cont .inp_wrap .tit{font-size: var(--p3);}

    .com_form_box .inp_cont .inp_wrap .inp_box.call span,
    .com_form_box .inp_cont .inp_wrap .inp_box.email span {margin: 0 6px;}
    .com_form_box .inp_cont .inp_wrap .inp_box.email .cont + .cont {margin-left: 10px;}
    .com_form_box .inp_cont .inp_wrap .inp_box.file .file_btn {width: auto; min-width: 90px; margin-left: 5px; padding: 0 10px;}
    .com_form_box .inp_cont .inp_wrap .inp_box #ex_fileBtn {line-height: 1;}
    .com_form_box .inp_cont .inp_wrap .list > li {padding: 10px 1em;}
    .com_form_box .chk_cont,
    .com_form_box .chk_cont.type4,
    .com_form_box .chk_cont.path {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 10px;}
    .com_form_box .etc_inp_box {margin-top: 20px; max-width: none;}
    .com_form_box .etc_inp_box .tit {margin-bottom: 10px;}
    .com_form_box .etc_inp_box .inp_box input {height: 56px;}
    .com_form_box .chk_box {font-size: var(--p2);}
    .com_form_box .chk_box label .txt {flex-shrink: 1; white-space: normal; word-break: keep-all;}
    .com_form_box .priv_agree {margin-top: 30px; padding-top: 30px;}
    .com_form_box .priv_agree .chk_box {flex-wrap: wrap; gap: 8px 0;}
    .com_form_box .com_btn1_box {margin-top: 50px;}



    /* GEO */
    .geo_page .geo_hero .criteria_box{padding: 20px 30px;}

    /* 비교표 */
    .sub_cont_table06 {padding: 0; }
    .sub_cont_table06 .top_tit,
    .sub_cont_table06 .cont_box .row {grid-template-columns: minmax(0, 41%) minmax(0, 18%) minmax(0, 41%);}

    .sub_cont_table06 .cont_box .row {position: relative; align-items: stretch;}
    .sub_cont_table06 .cont_box .row .txt:first-child {grid-column: 1;}
    .sub_cont_table06 .cont_box .row .value {grid-column: 2; grid-row: 1;  padding: 0 0.3rem 2rem; font-size: var(--p6);}

    .sub_cont_table06 .cont_box .row .txt:last-child {grid-column: 3;}
    .sub_cont_table06 .cont_box .row .value::before{width: 85%;}

    .sub_cont_table06 .cont_box .txt{font-size: var(--p2); padding-top: 2.5rem;}


    
    
}




@media screen and (max-width: 600px){
    .com_sub_top {padding: calc(var(--hdH) + 25px) 0 30px;}
    .com_sub_top .top_tit .en{font-size: 45px;}
    .com_sub_top .top_tit .ko{font-size: var(--p1);}
    .com_sub_top .top_tit{gap: 1rem;}


    /* 공용 폼 */
    .com_form_box{border-radius: 15px; padding: 25px 15px 30px;}
    .com_form_box .form_tit_box .tit { margin-top: 0.6rem;}

    .com_form_box .form_box .inp_cont{grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 2.5rem 0;}
    .com_form_box > .form_box > .inp_wrap{gap: 2.5rem 0;}
    .com_form_box .form_box .inp_wrap .field_box{width: 100%; flex:unset}
    .com_form_box .form_box .inp_cont .inp_wrap.area,
    .com_form_box .form_box .inp_cont .inp_wrap.file_wrap{grid-column: auto;}
        
    .com_form_box .inp_cont .inp_wrap .select_box .box .select,
    .com_form_box .form_box .inp_cont .inp_wrap .inp_box .filebox, 
    .com_form_box .form_box .inp_cont .inp_wrap .inp_box.file .file_btn, 
    .com_form_box .form_box .inp_wrap .field_box input, 
    .com_form_box .form_box .inp_wrap .inp_box input:not([type="file"]) {height: 40px;}

    .com_form_box .com_submit_btn_box .submit_btn{font-size: var(--p4);}
    .com_form_box .chk_box label .sm_txt{font-size: var(--p8);}

    .com_form_box .form_box .agree_box .tit{margin-bottom: 10px;}
    .com_form_box .form_box .agree_box .txt{font-size: 11px;}
    .com_form_box .form_box .agree_box .ico {width: 2rem; height: 2rem;}
    .com_form_box .form_box .agree_box .txt{margin-left: 5px;}


    /* 뉴스레터 */
    .newsletter_page .newsletter_item .link {gap: 15px; padding: 12px; border-radius: 1rem;}
    .newsletter_page .newsletter_item .img_box {width: 9rem; height: 9rem; border-radius: 1rem;}
    .newsletter_page .newsletter_item .txt_box {gap: 15px;}
    .newsletter_page .newsletter_item .txt_cont {gap: 7px;}
    .newsletter_page .newsletter_item .series_box{gap:5px;}
    .newsletter_page .newsletter_item .series_box .series {font-size: 9px;}
    .newsletter_page .newsletter_item .series_box .badge {font-size: 9px;  padding: 0.4rem 1rem;}
    .newsletter_page .newsletter_item .txt_cont .tit {font-size: var(--p3);}
    .newsletter_page .newsletter_item .txt_cont .desc {font-size: var(--p6);}
    .newsletter_page .newsletter_item .info_box {font-size: 9px; gap: 5px;}
    .newsletter_page .newsletter_item .info_box .writer + .date {gap: 5px;}
    .newsletter_page .newsletter_item .info_box .writer + .date::before {width: 0.35em; height: 0.35em;}

    .sub_tab_top,
    .community .sub_tab_top{width: calc(100% + var(--inPd) * 2); margin-left: calc(var(--inPd) * -1); }
    .sub_tab_top .tab_box,
    .community .sub_tab_top .tab_box{width: 100%; max-width: unset; border-radius: 0;}
    .sub_tab_top .tab{min-width: fit-content;}

    .news_page .news_sect, 
    .faq_page .faq_sect2, 
    .newsletter_page .newsletter_sect { padding-top: 50px;}


    /* 새소식 */
    .news_page .news_item{display: grid; grid-template-columns: minmax(0, 1fr) auto; 
        grid-template-rows: auto auto; column-gap: 2rem; row-gap: 1.5rem; align-items: center;  padding: 20px 15px; border-radius:10px}
    .news_page .news_item .txt_box{grid-column: 1; grid-row: 1; align-self: start; gap: 8px;}
    .news_page .news_item .info_box{display: contents;}
    .news_page .news_item .info_box .award_logo{grid-column: 2; grid-row: 1 / 3; align-self: center;}
    .news_page .news_item .info_box .date{position: static; grid-column: 1; grid-row: 2; justify-self: start; width: auto; font-size: var(--p7); text-align: left;}

    .news_page .news_item .info_box .award_logo{height: 6rem;}
    .news_page .news_item .info_box .award_logo.nawards{height: 4rem;}
    .news_page .news_item .info_box .award_logo.iawards{height: 5rem;}

    .news_page .sns_grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
    .news_page .sns_grid .item{border-radius: 1rem; border-radius: 10px;}

    /* FAQ */
    .faq_page .faq_sect2 .que_box .txt{ min-height: 9rem; padding: 15px; line-height: 1.5;}
    .faq_page .faq_sect2 .que_box .btn .arr {width: 16px;height: 16px;}
    .faq_page .faq_sect2 .answer_box { padding: 15px;}
    .faq_page .faq_sect2 .que_box .txt:before{margin-right: 0.7em;}
    .faq_page .faq_sect2 .answer_box .desc { font-size: var(--p4);}


    /* 뉴스레터 — 카드 1열, 탭 가로 스크롤 */
    .newsletter_page .newsletter_item .img_box {width: 6rem; height: 6rem;}

    /* 견적 문의 */
    .com_form_box .inp_cont .inp_cont_wrap { gap: 10px;}
    .com_form_box .inp_cont .inp_cont_wrap .inp_wrap {position: relative;}

    .com_form_box .inp_cont .inp_cont_wrap .inp_wrap .tit[for="position"] {position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden;}
    .com_form_box .inp_cont .inp_wrap .inp_box input {padding: 0 0.6em;}
    .com_form_box .inp_cont .inp_wrap .inp_box.call span {margin: 0 4px;}
    .com_form_box .inp_cont .inp_wrap .inp_box.email {flex-wrap: wrap; gap: 10px 0;}
    .com_form_box .inp_cont .inp_wrap .inp_box.email .cont {flex: 1 1 0; min-width: 0;}
    .com_form_box .inp_cont .inp_wrap .inp_box.email .cont + .cont {margin-left: 0;}
    .com_form_box .inp_cont .inp_wrap .inp_box.email .select_box {flex: 0 0 100%; width: 100%;}
    .com_form_box .chk_box {font-size: var(--p4);}
    .com_form_box .chk_box .view_btn {margin-left: 8px; font-size: 0.6em; padding: 0.55em 0.8em;}


    /* 견적문의, 상시채용 */
    .com_form_box .inp_cont .inp_wrap .inp_box input,
    .com_form_box .inp_cont .inp_wrap .select_box .box .select,
    .com_form_box .inp_cont .inp_wrap .inp_box .filebox{border-width: 1px;}

    /* 견적문의_원하는 서비스 */
    .com_form_box .chk_cont, .com_form_box .chk_cont.type_mo2{grid-template-columns: 120px 1fr;}

    .detail_lower_wrap {display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--black); margin-top: 40px; padding-top: 40px;}
    .detail_lower_wrap .detail_actions {order: 2; flex: 0 0 auto; margin-top: 0; padding-top: 0; border-top: 0;}
    .detail_lower_wrap .detail_navigation {display: contents;}
    .detail_lower_wrap .detail_navigation_item {display: flex; align-items: center; justify-content: center; width: 6rem; height: 6rem; flex: 0 0 6rem; margin: 0;}
    .detail_lower_wrap .detail_navigation_label {font-size: 0;}
    .detail_lower_wrap .detail_navigation_label .ico {display: flex;}
    .detail_lower_wrap .detail_navigation_title,
    .detail_lower_wrap .detail_navigation_empty {display: none;}
    .detail_lower_wrap .detail_navigation_item.prev {order: 1;}
    .detail_lower_wrap .detail_navigation_item.next {order: 3;}



    /* GEO 600 */
    .geo_page .cont_tit_box .txt br{display: none;}
    .geo_page .geo_intro .cont_box .list_box{grid-template-columns: minmax(0, 1fr); gap: 1rem;}

    .geo_page .geo_hero .criteria_box {padding: 2rem; border-radius: 1.2rem;}
    .geo_page .geo_hero .criteria_box .left_box{margin-right: 10px; flex-direction: row; align-items: center; gap: 20px;}
    .geo_page .geo_hero .criteria_box .left_box .txt{margin-top: 5px; font-size: var(--p2);}
    .geo_page .geo_hero .criteria_box .right_box{margin-left: 0;}
    .geo_page .geo_hero .criteria_box .right_box .list{gap: 10px 5px;}
    .geo_page .geo_hero .criteria_box .right_box .list li .txt{font-size: 11px; margin-left: 5px;}
    .geo_page .geo_hero .criteria_box .right_box .list li .ico_box{width: 25px; height: 25px;}

    .geo_page .geo_hero .criteria_box .left_box .img{width: 12rem;}

    .geo_page .geo_intro .cont_box .list_box li,
    .geo_page .geo_value .list_box li,
    .geo_page .geo_build .list_box li {padding: 2.5rem 2rem; border-radius: 10px; min-height: 0;}

    .geo_page .geo_intro .list_box .tit,
    .geo_page .geo_value .list_box .tit {margin-top: 2rem;}

    

    .sub_cont_table06 { --borderRadius:  1.5rem ;}
    .sub_cont_table06 .top_tit .tit,
    .sub_cont_table06 .cont_box .txt{box-shadow: none;}
    .sub_cont_table06 .cont_box .txt{font-size: var(--p4); padding: 10px 10px 12px;}

    .sub_cont_table06 .cont_box .row > .txt::before{width: calc(100% - 20px);}
    .sub_cont_table06 .cont_box .txt .ico{margin-bottom: 0.5rem;}

    .sub_cont_table06 .top_tit .tit {font-size: var(--p2); padding: 10px 5px; border-width: 2px;}
    
    .sub_cont_table06 .cont_box .row:last-child .txt:last-child,
    .sub_cont_table06 .cont_box .row:last-child .txt:first-child{ border-width: 2px;}
    .sub_cont_table06 .cont_box .row .txt:first-child {border-width: 2px;}
    .sub_cont_table06 .cont_box .row .txt:last-child {border-width: 2px;}
    .sub_cont_table06 .cont_box .row .num_list .txt {line-height: 1.4;}

    .sub_cont_table06 .cont_box .row:last-child .txt:first-child,
    .sub_cont_table06 .cont_box .row:last-child .txt:last-child{padding-bottom: 20px;}
    .sub_cont_table06 .cont_box .row .value{padding-bottom: 12px; font-size: 11px;} 
    .sub_cont_table06 .cont_box .row:last-child .value {margin-bottom: 20px;}


    /* GEO_기준 */
    .geo_page .geo_value .list_box{gap: 1rem; display: flex; overflow-x:auto; width: calc(100% + var(--inPd) * 2); margin-left: calc(var(--inPd) * -1); padding: 0 var(--inPd);
    -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; scroll-padding-left:var(--inPd); overscroll-behavior-x:contain; scroll-behavior:smooth;}
    .geo_page .geo_value .list_box::-webkit-scrollbar{display: none;}
    .geo_page .geo_value .list_box li{width: 60%; flex-shrink: 0; min-width: 180px; scroll-snap-align:start; scroll-snap-stop:always;}
    .geo_page .geo_value .list_box .tit{font-size: var(--p2); }

    /* GEO_설계 */
    .geo_page .geo_build .list_box{grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px;}
    .geo_page .geo_build .list_box li{display: flex; align-items: center; padding: 2.5rem;}
    .geo_page .geo_build .list_box .icon{width: 35px; height: 30px;}
    .geo_page .geo_build .list_box .txt_box{margin-left: 15px;}
    .geo_page .geo_build .list_box .tit{margin-top: 0;}
    .geo_page .geo_build .list_box p{font-weight: 400; margin-top: 6px;}


    .geo_page .geo_answer .cta_box {padding: 3rem 2rem 2rem;}
    .geo_page .geo_answer .cta_box .brand{font-size: var(--p8);}
    .geo_page .geo_answer .cta_box .btn_wrap {grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 2.5rem;}
    .geo_page .cont_tit_box .txt{max-width: 100%;}
    .geo_page .geo_answer .visual_box {margin-top: 2rem; overflow: hidden;}
    .geo_page .geo_answer .visual_box .sasha {max-width: 55%; transform: none; transform: translate(-10%, 0);}
    .geo_page .geo_answer .visual_box .acer {max-width: 30%; transform: translate(0, -10%);}


    .geo_page .geo_hero .criteria_box{display: block;}

    .com_form_box .form_tit_box .tit {font-size: var(--p2);}




}







/* ----- 포트폴리오 상세 기존사이트꺼 가져옴 (임시) ------ */
.btn_type {display: inline-block; padding: 0 20px; height: 80px; border: 2px solid #a87e6e; margin-bottom: 80px;}
.portfolio_txt .btn_type {padding: 0 23px; height: 53px; border: 1px solid #333;}
.portfolio_txt .btn_type span {line-height: 53px; font-size: 17px; color: #333;}
.portfolio_txt .btn_type span i {color: #333;}
.btn_type span {line-height: 80px;}

.btn_type.btn_request,
.btn_type.btn_submit {position: relative; z-index: 333; transition: .5s; font-size: 25px;}

.btn_type span,
.btn_type span i {color: #a87e6e;}
.btn_type span i {padding-left: 60px;}



@keyframes right-arrow {
    0% {
        opacity: 1;
        transform:translateX(0px) translateY(2px) scale(1);
    }
    40% {
        opacity: 0;
        transform:translateX(10px) translateY(2px) scale(0.9);
    }
    41% {
        opacity: 0;
        transform:translateX(-10px) translateY(2px) scale(0.9);
    }
    100% {
        opacity: 1;
        transform: translateX(0px) translateY(2px) scale(1);
    }
}

.portfolio_txt .btn_area.left {margin-top: 40px;}
.portfolio_view_container .sub_btn {display: flex; justify-content: center; position: relative; margin-top: 0; padding-bottom: 8vw; background: #fff; z-index: 10;}



@media screen and (min-width: 1241px){
    .btn_type.btn_request:hover,
    .btn_type.btn_submit:hover {background: rgba(177,137,120); transition: .5s; border: 2px solid #a87e6e;}

    .btn_type.btn_request:hover span,
    .btn_type.btn_submit:hover span {color: #fff; transition: .5s;}

    .btn_type.btn_request:hover svg,
    .btn_type.btn_submit:hover svg {animation: right-arrow .7s linear; fill: #fff;}


    
.portfolio_txt .btn_type.btn_request:hover,
.portfolio_txt .btn_type.btn_submit:hover {background: #333; border: 1px solid #333; color: #fff;}

}


@media only screen and (max-width: 800px){
    .w_bl {display: inline-block;}
    .pp_vjr {height:100vw;}
    .pp_vjr_pc { display:none; }
    .pp_vjr_mo { display:block; background-attachment:local !important;}

    .portfolio_area .portfolio_top .portfolio {
        margin-top: 0px;
        min-height: 300px;
    }
    .port_empty {
        margin: 99px 0 0;
    }
    .portfolio_zone .pt_box .txt {font-size: 18px;margin-bottom: 20px;}
    .portfolio_zone .pt_box .tit {font-size: 30px;margin-bottom: 20px;}
    .portfolio_zone .pt_box .s_txt {font-size: 15px;line-height: 1.5em;}

    .pt_bottom_txt .txt {font-size:22px;}
    .pt_bottom_txt a {margin-top:30px; font-size:16px; padding:15px 25px}

    .portfolio_txt  { /*padding:25px 15px;*/padding:0; }
    .portfolio_txt h3 {font-size:18px; margin-bottom:20px; font-weight:600}

    .portfolio_txt .pp_txt_00 {font-size:25px; padding-bottom:0; font-weight:600}
    .portfolio_txt .pp_txt_01 {font-size:18px; padding-bottom:10px; font-weight:600}
    .portfolio_txt .pp_txt_02 {font-size:18px; padding-bottom:10px; font-weight:600}

    .portfolio_view_container .portfolio_top { font-size:11px; }
    .portfolio_view_container .portfolio_top span { font-size: 14px; line-height: 1.6; font-weight: 400; }
    .portfolio_top_sub {  }
    .portfolio_view_container .portfolio_top .left {width:100%; float:none; display:block; font-size:14px}
    .portfolio_view_container .portfolio_top .left .nw_box {margin-bottom:0;}
    .portfolio_view_container .portfolio_top .right {width:100%; float:none; display:block; margin:20px 0;}
    .portfolio_txt .t_txt, .portfolio_txt .b_txt { font-size: 14px; line-height: 1.7;}
    .portfolio_view_container .portfolio_top .right p strong, .portfolio_view_container .portfolio_top .right p span {font-size:14px;}
    .portfolio_view_container .portfolio_top .right strong {font-weight:600;}

    .tit-award-logo { display: flex; margin-right: 0; top: 0; margin-bottom: 10px; }

    .maker span {font-size:25px; padding-bottom: 10px;}
    .pp_icon span.img {width:60px; margin: 0 6px;}

    /* .about .bg_area {
        height: auto;
    }
    .about .bg_area .sub_detail {
        padding-bottom: 20%;
    } */
    .checkbox-wrap {flex-basis: 50%;}
    .contact_us .request_form .request_info .request_tit span {
        display: block;
        margin-top: 10px;
        margin-left: 0;
        font-size:14px;
    }
    .portfolio_top_sub .board-gallery {
        width:50%;
    }

    .portfolio_top_main .board-gallery {
        width:calc(50vw - 40px);
    }
    .board-gallery .overlay-zoom .project_title {
    }
    .btn_type.btn_request, .btn_type.btn_submit {
        height: 40px;
    }
    .portfolio_txt .btn_type.btn_request, .portfolio_txt .btn_type.btn_submit {
        height:40px;
    }
    .portfolio_view > div:not(.medi_sect, .dualsonic_container, .noselip_container, .kicc_container, .dorco_container, .counter_container, .u2b_container, .my_sland_container, .hiending_container, .mo_cont_pd){
        padding-top: 30px !important;
        padding-bottom: 30px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .portfolio_view > .vtov-3 {padding-bottom:0 !important}
    .portfolio_view > div.textInfoArea {
        padding-top:60px !important;
        padding-bottom: 0px !important;
    }
    .portfolio_view > div.ppImgArea {
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .portfolio_view > div.ppImgArea.img_setPd {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .portfolio_view > div.ppImgArea.imgAreaBgY {

    }
    .li_box > p {
        margin-bottom: 15px;
    }

    .li_box > p > strong {height: calc(14px * 1.6); display: flex; align-items: center}

    .pp_mouse {
        display:none;
    }
    .btn_type.btn_request span, .btn_type.btn_submit span {
        font-size: 14px;
        line-height:45px;
        transform: translateY(-2px);
        position: relative;
        display: inline-block;
    }
    .portfolio_txt .btn_type.btn_request span, 
    .portfolio_txt .btn_type.btn_submit span {
        font-size: 14px;
        line-height:45px;
    }
    .portfolio_txt .btn_type span i {
        padding-left: 24px;
    }
    /* .location .map_api #daumRoughmapContainer1603167801046 {
        height: 230px;
    }

    .daily .daily_visual_area .visual_img img, .daily .daily_visual_area .daily_visual img {
        width: 70%;
    }
    .daily.members .daily_visual_area .visual_img img, .daily.members .daily_visual_area .daily_visual img {
        width: 80%;
    }
    .contact_us.careers .daily_visual_area .visual_img img, .contact_us.careers .daily_visual_area .daily_visual img {
        width: 80%;
    }
    .daily .instar .instar_list li {
        margin: 0px 0 6% 0;
    }
    .about .sub_visual .visual_img {
        height:auto;
        margin-top: 50px;
        position:static;
        transform:none;
        min-width:0;
    }
    .about .sub_visual .contents_inner {
        height:auto;
        min-height:0;
    } */
    .portfolio_area .contents_inner {
        padding-top: 80px;
    }
    .portfolio_area .contents_inner .sub_desc {
        line-height: 1.8;
        margin-bottom: 70px;
    }
    /* .maker em {
        margin: 0 auto 26px auto;
    }
    .office_info_video {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
    }
    .office_info_video_pc {
        display:none;
    }
    .office_info_video_mo {
        display:block;
    } */


}

@media only screen and (max-width:600px){
    .portfolio_area .contents_inner .sub_detail {
        margin-bottom: 20px !important;
        font-size: 30px !important;
    }
    .portfolio_area .contents_inner .sub_desc {
        margin-top: 20px;
    }
    /* .about .sub_visual .visual_inner .sub_desc {
        padding-top: 100px;
        padding-bottom: 20px;
    }
    .about .sub_visual .visual_inner .sub_detail {
        margin-bottom: 0 !important;
    }
    .about .bg_area .sub_detail {
        padding-bottom: 30%;
    }
    .sub_visual .visual_inner .sub_detail > strong,
    .about .bg_area .sub_detail > strong, */
    .portfolio_area .contents_inner .sub_detail > strong {
        font-size: 30px !important;
    }


    .portfolio_view_container .sub_btn{margin-bottom: 40px;}
}