@charset "UTF-8";

/* ===== 헤더 오버라이드 ===== */
#header{height: 90px; display: flex; align-items: center;}
#header > .width{height: 100%; display: flex; align-items: center;}
#header .head_menu{width: 100%; align-items: center; justify-content: space-between;}
#header .head_menu .main_menu{display: none;}
#header .menu_bar{margin-left: auto; display: inline-flex; align-items: center; color: #fff; padding: 10px 0; transition: .3s all;}
#header .menu_bar .menu_bar_text{width: auto; height: auto; background: transparent; display: inline-block; margin: 0; font-family: "Inter", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .22em; line-height: 1; white-space: nowrap; color: inherit;}

/* ===== 메뉴 오버레이 ===== */
.menu_open.m1_menu{background: rgba(20, 18, 15, 0.97); z-index: 9999;}
.m1_menu .m1_menu_header{position: absolute; top: 0; left: 0; right: 0; z-index: 100;}
.m1_menu .m1_menu_header .width{height: 90px; display: flex; align-items: center;}
#header .menu_open .m1_menu_close{margin-left: auto; display: inline-flex; align-items: center; justify-content: center; padding: 10px 0; color: #fff; font-family: "Inter", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .22em; line-height: 1; text-transform: uppercase; border: none; background: transparent; transition: .3s all;}
#header .menu_open .m1_menu_close:hover{color: #fff; opacity: .7;}
.m1_menu .m1_menu_nav{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; gap: 28px; text-align: center;}
.m1_menu .m1_menu_item{font-family: "Fraunces", serif; font-weight: 300; font-size: 64px; letter-spacing: -0.02em; color: rgba(246,239,226,.85); line-height: 1; transition: .3s all;}
.m1_menu .m1_menu_item:hover{color: #fff;}
#header.scroll .menu_bar:not(.m1_menu_close),
#header.sub_page .menu_bar:not(.m1_menu_close){color: #111;}

/* ===== m1 메인 커버 ===== */
.m1_cover{position: relative; height: 100vh; overflow: hidden; color: #f6efe2;}
.m1_cover .m1_cover_bg{position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat;}
.m1_cover .m1_cover_dim{position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.6)); z-index: 1;}
.m1_cover .m1_cover_label{position: absolute; top: 110px; left: 30px; writing-mode: vertical-rl; font-size: 11px; letter-spacing: .15em; color: rgba(246,239,226,.7); z-index: 2; line-height: 100%;}
.m1_cover .m1_cover_center{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 2; width: 100%;}
.m1_cover .m1_cover_kicker{font-size: 13px; letter-spacing: .2em; color: rgba(246,239,226,.9); margin-bottom: 32px; line-height: 150%;}
.m1_cover .m1_cover_logo{width: 280px; margin: 0 auto 32px;}
.m1_cover .m1_cover_logo img{width: 100%; filter: invert(1) brightness(1.1);}
.m1_cover .m1_cover_chip{display: inline-flex; align-items: center; gap: 20px; background: rgba(246,239,226,.95); color: #1a1a1a; border-radius: 100px; padding: 8px 14px 8px 32px; font-family: "Fraunces", serif; font-weight: 400; font-size: var(--fs20); line-height: 100%;}
.m1_cover .m1_cover_arrow{width: 44px; aspect-ratio: 1; border-radius: 100px; background: #1a1a1a; color: #f6efe2; display: inline-flex; align-items: center; justify-content: center; line-height: 1;}
.m1_cover .m1_cover_arrow i{font-size: 20px; line-height: 1;}
.m1_cover .m1_cover_quote{position: absolute; bottom: 70px; left: 50%; transform: translateX(-50%); width: auto; max-width: none; text-align: center; z-index: 2; white-space: nowrap;}
.m1_cover .m1_cover_quote_text{font-family: "Fraunces", serif; font-weight: 300; font-size: var(--fs22); color: rgba(246,239,226,.95); letter-spacing: -0.01em; line-height: 150%; white-space: nowrap;}

/* ===== 반응형 ===== */
/* ===== 공통 ===== */
.label{display: inline-block; font-family: "Inter", sans-serif; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #7d7c78; font-weight: 500; line-height: 150%; margin-bottom: 14px;}

/* ===== a1 About 페이지 ===== */
.a1_intro{background: #f3f2ef; padding-top: 160px;}
.a1_intro .a1_intro_wrap{display: flex; justify-content: space-between; gap: 5%;}
.a1_intro .a1_intro_left{width: 42%;}
.a1_intro .a1_intro_right{width: 53%;}
.a1_intro .label{display: block;}
.a1_intro h2{font-family: "Fraunces", serif; font-weight: 300; font-size: 52px; letter-spacing: -0.03em; line-height: 110%; color: #0e0e0d;}
.a1_intro h2 em{font-style: normal; color: #111110;}
.a1_intro p{font-size: var(--fs18); line-height: 150%; color: #2a2a28; letter-spacing: -0.01em; margin-bottom: 20px;}
.a1_intro p:last-child{margin-bottom: 0;}

.common.a1_pillars{background: #f3f2ef; padding-top: 0;}
.a1_pillars .box_wrap{display: flex; flex-wrap: wrap; border-top: 1px solid #c9c8c3; border-left: 1px solid #c9c8c3;}
.a1_pillars .box{width: 50%; box-sizing: border-box; padding: 32px; border-right: 1px solid #c9c8c3; border-bottom: 1px solid #c9c8c3; background: #f3f2ef; transition: background .35s ease; display: flex; flex-direction: column; justify-content: space-between;}
.a1_pillars .box:hover{background: #f8f7f4;}
.a1_pillars .a1_pillars_top{display: flex; align-items: flex-start;}
.a1_pillars .a1_pillars_top .num{font-family: "Fraunces", serif; font-weight: 300; font-size: 38px; color: #111110; line-height: 100%;}
.a1_pillars .box h3{font-family: "Fraunces", serif; font-weight: 300; font-size: 30px; line-height: 110%; letter-spacing: -0.02em; margin: 20px 0 16px; color: #0e0e0d;}
.a1_pillars .box h3 em{font-style: normal;}
.a1_pillars .box > p{font-size: 14px; line-height: 165%; color: #2a2a28; letter-spacing: -0.01em; margin-bottom: 12px;}
.a1_pillars .box ul{list-style: none; padding: 0; margin: 8px 0 0;}
.a1_pillars .box ul li{padding: 8px 0; font-size: 13.5px; color: #2a2a28; line-height: 150%; letter-spacing: -0.01em;}

/* ===== 포트폴리오 게시판 (gallery 스킨 오버라이드) ===== */
body:has(#bo_gall),
body:has(#bo_v),
body:has(#bo_list){background: #f3f2ef;}
body:has(#bo_gall) .a1_intro,
body:has(#bo_v) .a1_intro,
body:has(#bo_list) .a1_intro{padding-bottom: 40px;}
body #bo_gall,
body #bo_list{background: #f3f2ef; padding-top: 0;}
body #bo_gall #bo_btn_top{display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-bottom: 40px; padding: 0;}
body #bo_gall #bo_btn_top #bo_list_total{display: none;}
body #bo_gall #bo_btn_top .btn_bo_user{display: flex; gap: 8px; list-style: none; padding: 0; margin: 0;}
.board_title{margin-bottom: 0 !important;}
.btn_bo_user > li{list-style: none; background: transparent !important; width: auto !important; float: none !important; margin: 0 !important;}
.btn_bo_user .btn_bo_sch,
.btn_bo_user > li:has(.btn_bo_sch){display: none !important;}
body #bo_gall #bo_btn_top .btn{display: inline-flex; align-items: center; justify-content: center; padding: 9px 18px; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 12px; font-weight: 500; color: #333; background: #fff; border: 1px solid #c9c8c3; border-radius: 8px; transition: .2s all; line-height: 1;}
body #bo_gall #bo_btn_top .btn:hover{border-color: #111; color: #111;}
body #bo_gall #bo_btn_top .btn_sch_icon,
body #bo_gall #bo_btn_top .btn_more_opt{width: 36px; padding: 9px 0;}
body #bo_gall #bo_btn_top .btn_sch_icon i,
body #bo_gall #bo_btn_top .btn_more_opt i{font-size: 13px;}
body #bo_gall #gall_ul{display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 48px 28px; list-style: none; padding: 0; margin: 0;}
body #bo_gall .gall_li{width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; list-style: none; border: none !important; background: none !important;}
body #bo_gall .gall_box{padding: 0 !important; border: none !important; background: none !important;}
body #bo_gall .gall_con{display: block;}
body #bo_gall .gall_img{aspect-ratio: 4/5; max-height: none !important; height: auto !important; background: #ebeae6; border: 1px solid #c9c8c3; position: relative; overflow: hidden; transition: transform .4s ease; margin: 0 !important;}
body #bo_gall .gall_li:hover .gall_img{transform: translateY(-4px);}
body #bo_gall .gall_img a{display: block; position: absolute; inset: 0;}
body #bo_gall .gall_img img{width: 100%; height: 100%; object-fit: cover; display: block;}
body #bo_gall .gall_img .no_image{position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;}
body #bo_gall .gall_img .no_image img{width: 40%; height: auto; object-fit: contain;}
body #bo_gall .gall_text_href{display: block; padding: 0 !important; margin-top: 14px;}
body #bo_gall .gall_text_href .bo_tit{font-family: "Fraunces", serif; font-weight: 300; font-size: 20px; letter-spacing: -0.015em; line-height: 130%; color: #0e0e0d; padding: 0 !important; min-height: 0 !important; text-align: left !important; margin-bottom: 4px !important;}
body #bo_gall .bo_tit .new_icon{display: inline-flex; align-items: center; justify-content: center; width: 18px; aspect-ratio: 1; margin-left: 8px; font-family: "Inter", sans-serif; font-size: 9px; font-weight: 600; letter-spacing: 0; color: #fff; background: #0e0e0d; border-radius: 50%; line-height: 1; vertical-align: middle; text-indent: 0.5px;}
body #bo_gall .gall_text_href .gdate,
body #bo_gall .gall_text_href .gname,
body #bo_gall .gall_info,
body #bo_gall .gall_option{display: none;}
body #bo_gall .empty_list{grid-column: 1 / -1; padding: 120px 0; text-align: center; color: #7d7c78;}

/* ===== 포트폴리오 상세 (2-컬럼 전시 레이아웃) ===== */
body #bo_v{background: #f3f2ef; padding-top: 70px; padding-bottom: 120px; display: grid; grid-template-columns: 260px 1fr; column-gap: 80px; align-items: start;}
body #bo_v #bo_v_atc{display: contents;}

/* 기본: 좌측 컬럼 */
body #bo_v > *,
body #bo_v #bo_v_atc > *{grid-column: 1;}

/* 우측 컬럼: 이미지 그리드 (모든 row 스팬) */
body #bo_v #bo_v_img{grid-column: 2; grid-row: 1 / span 99; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; padding: 0;}
body #bo_v #bo_v_img a{display: block; overflow: hidden;}
body #bo_v #bo_v_img img{width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;}

/* 타이틀 */
body #bo_v header{grid-row: 1; margin: 0 0 20px; padding: 0 0 20px; text-align: left; border-bottom: 1px solid #c9c8c3;}
body #bo_v #bo_v_title{margin: 0;}
body #bo_v #bo_v_title .bo_v_tit{display: block; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; line-height: 130%; color: #0e0e0d; text-align: left; max-width: none; margin: 0; padding: 0; border-top: none;}

/* 본문 (스펙 리스트) */
body #bo_v #bo_v_con{grid-row: 2; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; line-height: 200%; color: #333; letter-spacing: -0.01em; text-align: left; max-width: none; margin: 0; padding: 0;}
body #bo_v #bo_v_con:empty{display: none;}
body #bo_v #bo_v_con p{margin: 0;}
body #bo_v #bo_v_con img{display: none;}

/* 상단 버튼 바 (목록/답변/글쓰기/수정/삭제) */
body #bo_v .bo_v_topcon{grid-row: 3; display: block; margin: 32px 0 0; padding: 0; border: none; text-align: left;}
body #bo_v .bo_v_cate{display: none;}
body #bo_v .btn_bo_user{list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start;}
body #bo_v .btn_bo_user li{list-style: none;}
body #bo_v .btn_bo_user li:has(a[title="답변"]){display: none;}
body #bo_v .btn_bo_user .btn{display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 12px; font-weight: 500; color: #333; border: 1px solid #c9c8c3; border-radius: 8px; background: #fff; text-transform: none; letter-spacing: 0; transition: .3s all; line-height: 1;}
body #bo_v .btn_bo_user .btn:hover{border-color: #111; color: #111;}
body #bo_v .btn_bo_user .view_btn{display: inline;}

/* 숨김 */
body #bo_v #bo_v_info,
body #bo_v #bo_v_act,
body #bo_v .bo_v_nb{display: none;}
body #bo_v .bo_v_file_wrap{grid-row: 4;}
body #bo_v .bo_v_file_wrap:empty{display: none;}

/* a1 스펙 리스트 (view) */
body #bo_v .a1_spec_list{list-style: none; padding: 0; margin: 0 0 20px;}
body #bo_v .a1_spec_list li{padding: 0; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; color: #333; line-height: 220%; letter-spacing: -0.01em;}

/* ===== c1 Contact (상담신청) ===== */
body:has(.c1_contact){background: #f3f2ef;}
body:has(.c1_contact) .a1_intro{padding-bottom: 40px;}
.c1_contact,
#formmail-write{background: #f3f2ef; padding: 0 0 120px;}
.c1_contact .c1_contact_wrap{display: grid; grid-template-columns: 1fr 1fr; column-gap: 80px; align-items: start;}

/* 좌측: 회사 정보 */
.c1_contact .c1_contact_info{padding: 20px 0;}
.c1_contact .c1_contact_head{margin-bottom: 48px;}
.c1_contact .c1_contact_head .label{display: block; margin-bottom: 16px;}
.c1_contact .c1_contact_head h2{font-family: "Fraunces", serif; font-weight: 300; font-size: 60px; letter-spacing: -0.03em; line-height: 105%; color: #0e0e0d; margin: 0;}
.c1_contact .c1_contact_company,
.c1_contact .c1_contact_addr,
.c1_contact .c1_contact_sns{padding: 24px 0; border-top: 1px solid #c9c8c3;}
.c1_contact .c1_contact_sns{border-bottom: 1px solid #c9c8c3;}
.c1_contact .c1_contact_company h3{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 18px; font-weight: 700; color: #0e0e0d; letter-spacing: -0.02em; margin: 0 0 14px;}
.c1_contact dl{display: grid; grid-template-columns: 100px 1fr; row-gap: 8px; margin: 0;}
.c1_contact dt{font-family: "Inter", sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: #7d7c78; line-height: 170%; margin: 0;}
.c1_contact dd{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 14px; color: #2a2a28; line-height: 170%; letter-spacing: -0.01em; margin: 0;}

/* 우측: 상담신청 폼 */
.c1_contact .c1_contact_form{background: #faf9f6; padding: 48px; border: 1px solid #ebeae6;}
.c1_contact .c1_contact_form_title{font-family: "Fraunces", serif; font-weight: 300; font-size: 32px; letter-spacing: -0.02em; line-height: 120%; color: #0e0e0d; margin: 0 0 6px;}
.c1_contact .c1_contact_form_title em{font-style: normal; font-weight: 300; color: #0e0e0d;}
.c1_contact .c1_contact_form_sub{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; color: #8a8a84; margin: 0 0 32px;}
.c1_contact .c1_field{display: flex; flex-direction: column; margin-bottom: 24px;}
.c1_contact .c1_field label{display: flex; align-items: baseline; gap: 6px; margin: 0 0 10px; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; font-weight: 700; color: #0e0e0d; letter-spacing: -0.01em; text-transform: none;}
.c1_contact .c1_field label .en{font-family: "Inter", sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .22em; color: #8a8a84; text-transform: uppercase;}
.c1_contact .c1_field input[type="text"]{width: 100%; padding: 10px 0; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 14px; color: #111; border: none; border-bottom: 1px solid #c9c8c3; background: transparent; outline: none; transition: border-color .2s; box-sizing: border-box;}
.c1_contact .c1_field input[type="text"]::placeholder{color: #b7b6b0;}
.c1_contact .c1_field input[type="text"]:focus{border-bottom-color: #0e0e0d;}
.c1_contact .c1_field textarea{width: 100%; padding: 12px 0; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 14px; color: #111; border: none; border-bottom: 1px solid #c9c8c3; background: transparent; outline: none; transition: border-color .2s; box-sizing: border-box; resize: vertical; min-height: 120px; line-height: 170%;}
.c1_contact .c1_field textarea::placeholder{color: #b7b6b0;}
.c1_contact .c1_field textarea:focus{border-bottom-color: #0e0e0d;}
.c1_contact .c1_field_captcha{align-items: flex-start;}
.c1_contact .c1_field_captcha > div{width: 100%; margin: 0;}
.c1_contact .check-list{display: inline-block; margin-bottom: 16px; padding: 6px 14px; font-size: 11px; background: #f3f2ef; border-radius: 4px; color: #333;}
.c1_contact .privacy-of-use{margin-top: 24px; padding: 16px; max-height: 180px; overflow-y: auto; background: #f8f7f4; border: 1px solid #ebeae6; font-size: 12px; line-height: 170%; color: #555;}
.c1_contact .privacy-of-use-check{margin-top: 12px; font-size: 12px; color: #555;}
.c1_contact .privacy-of-use-check label{display: inline-flex; align-items: center; gap: 6px; cursor: pointer;}
.c1_contact .c1_contact_submit{margin-top: 32px;}
.c1_contact .c1_contact_btn{display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 18px; font-family: "Pretendard Variable", Pretendard, "Inter", sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .05em; color: #fff; background: #0e0e0d; border: none; border-radius: 0; cursor: pointer; transition: background .2s;}
.c1_contact .c1_contact_btn:hover{background: #333;}

/* 반응형 */
@media (max-width: 1024px){
    .c1_contact .c1_contact_wrap{grid-template-columns: 1fr; row-gap: 60px;}
    .c1_contact .c1_contact_head h2{font-size: 44px;}
    .c1_contact .c1_contact_form{padding: 32px;}
    .c1_contact dl{grid-template-columns: 80px 1fr;}
}
@media (max-width: 768px){
    .c1_contact .c1_contact_head h2{font-size: 32px;}
    .c1_contact .c1_contact_form{padding: 24px 20px;}
    .c1_contact .c1_contact_form_title{font-size: 24px;}
}

/* ===== c1 Contact 리스트 (list) ===== */
body:has(#bo_list){background: #f3f2ef;}
body #bo_list{background: transparent; padding-top: 0;}
body #bo_list .tbl_wrap{margin: 0; padding: 0; border: none; background: transparent; overflow-x: auto;}
body #bo_list table{width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #ebeae6; border-radius: 4px; overflow: hidden;}
body #bo_list thead tr{background: transparent; border-bottom: 1px solid #c9c8c3;}
body #bo_list thead th{padding: 18px 16px; font-family: "Inter", sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: #7d7c78; text-align: left; border: none;}
body #bo_list thead th.all_chk{width: 48px; text-align: center;}
body #bo_list tbody tr{border-bottom: 1px solid #ebeae6; transition: background .2s;}
body #bo_list tbody tr:last-child{border-bottom: none;}
body #bo_list tbody tr:hover{background: #f8f7f4;}
body #bo_list tbody td{padding: 18px 16px; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 14px; color: #2a2a28; border: none; letter-spacing: -0.01em; line-height: 150%;}
body #bo_list tbody td.td_num2{width: 80px; color: #7d7c78; font-size: 12px; font-family: "Inter", sans-serif; letter-spacing: .05em;}
body #bo_list tbody td.td_chk{width: 48px; text-align: center;}
body #bo_list tbody td.td_name{width: 140px; color: #7d7c78; font-size: 13px;}
body #bo_list tbody td.td_subject{padding: 18px 16px;}
body #bo_list .bo_tit a{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 14px; color: #0e0e0d; font-weight: 500; letter-spacing: -0.01em; transition: color .2s;}
body #bo_list .bo_tit a:hover{color: #555;}
body #bo_list .empty_table{padding: 120px 0 !important; text-align: center; color: #7d7c78; font-size: 14px;}
body #bo_list .notice_icon{display: inline-block; padding: 3px 10px; font-family: "Inter", sans-serif; font-size: 10px; font-weight: 600; letter-spacing: .15em; color: #fff; background: #0e0e0d; border-radius: 4px;}
body #bo_list .bo_current{display: inline-block; padding: 3px 10px; font-family: "Inter", sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .1em; color: #7d7c78; border: 1px solid #c9c8c3; border-radius: 4px;}
body #bo_list .bo_cate_link{display: inline-block; margin-right: 10px; padding: 2px 8px; font-family: "Inter", sans-serif; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: #7d7c78; background: #f3f2ef; border-radius: 4px; text-decoration: none;}
body #bo_list .bo_fx{margin-top: 20px; display: flex; justify-content: flex-end;}
body #bo_list .write_pages{margin-top: 32px; display: flex; justify-content: center; gap: 4px;}

/* ===== c1 Contact 상세 (view) ===== */
body:has(.c1_contact_view){background: #f3f2ef;}
body:has(.c1_contact_view) .a1_intro{padding-bottom: 40px;}
body .c1_contact_view{background: #f3f2ef; max-width: 880px; margin: 0 auto; padding: 40px 0 120px;}

.c1_contact_view .c1_view_head{padding: 0 0 40px; margin: 0 0 40px; border-bottom: 1px solid #c9c8c3;}
.c1_contact_view .c1_view_head .label{display: block; margin-bottom: 14px;}
.c1_contact_view .c1_view_title{font-family: "Fraunces", serif; font-weight: 300; font-size: 40px; letter-spacing: -0.025em; line-height: 120%; color: #0e0e0d; margin: 0;}
.c1_contact_view .c1_view_date{font-family: "Inter", sans-serif; font-size: 12px; letter-spacing: .15em; color: #7d7c78; margin: 14px 0 0;}

.c1_contact_view .c1_view_body{background: #fff; padding: 40px; border: 1px solid #ebeae6; border-radius: 4px;}
.c1_contact_view .c1_view_info{display: grid; grid-template-columns: 120px 1fr; row-gap: 14px; margin: 0 0 32px; padding: 0 0 28px; border-bottom: 1px solid #ebeae6;}
.c1_contact_view .c1_view_info dt{font-family: "Inter", sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: #7d7c78; line-height: 170%; margin: 0; padding-top: 3px;}
.c1_contact_view .c1_view_info dd{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 15px; color: #0e0e0d; line-height: 170%; letter-spacing: -0.01em; margin: 0;}

.c1_contact_view .c1_view_content .label{display: block; margin-bottom: 14px; color: #7d7c78;}
.c1_contact_view .c1_view_message{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 15px; line-height: 180%; color: #2a2a28; letter-spacing: -0.01em; white-space: pre-wrap;}

.c1_contact_view .c1_view_btns{margin-top: 40px;}
.c1_contact_view .c1_view_btns .btn_bo_user{display: flex; gap: 8px; list-style: none; padding: 0; margin: 0;}
.c1_contact_view .c1_view_btns .btn{display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 12px; font-weight: 500; color: #333; border: 1px solid #c9c8c3; border-radius: 8px; background: #fff; transition: .3s all; line-height: 1;}
.c1_contact_view .c1_view_btns .btn:hover{border-color: #111; color: #111;}

@media (max-width: 768px){
    body .c1_contact_view{padding: 20px 0 80px;}
    .c1_contact_view .c1_view_title{font-size: 28px;}
    .c1_contact_view .c1_view_body{padding: 28px 20px;}
    .c1_contact_view .c1_view_info{grid-template-columns: 90px 1fr;}
}

/* ===== 포트폴리오 작성 (write.skin.php) - 스펙 필드 헤더 ===== */
body #bo_w .a1_spec_head{font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 14px; font-weight: 700; color: #111; letter-spacing: -0.015em; margin: 20px 0 8px; padding: 10px 20px; background: #f3f2ef; border: 1px solid #ccc;}

/* ===== Footer ===== */
#ft{background: #111110; color: rgba(246,239,226,.7); padding: 90px 0 40px;}
#ft .ft_inner{display: flex; flex-direction: column; gap: 50px;}
#ft .ft_top{display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; padding-bottom: 50px; border-bottom: 1px solid rgba(246,239,226,.15);}
#ft .ft_logo{display: block; width: 180px;}
#ft .ft_logo img{width: 100%;}
#ft .ft_tagline{font-family: "Fraunces", serif; font-weight: 300; font-size: var(--fs22); color: #f6efe2; letter-spacing: -0.01em; line-height: 140%; max-width: 480px; margin: 0; text-align: right;}
#ft .ft_bottom{display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap;}
#ft .ft_info{display: grid; grid-template-columns: 140px auto; column-gap: 24px; row-gap: 10px; margin: 0; justify-content: start;}
#ft .ft_info dt{font-family: "Inter", sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: rgba(246,239,226,.45); line-height: 150%; margin: 0; text-align: left;}
#ft .ft_info dd{font-size: 13px; color: rgba(246,239,226,.85); line-height: 150%; margin: 0; letter-spacing: -0.01em; text-align: left;}
#ft .ft_copy{font-family: "Inter", sans-serif; font-size: 11px; letter-spacing: .18em; color: rgba(246,239,226,.45); line-height: 150%;}

@media (max-width: 1600px){
    .m1_cover .m1_cover_logo{width: 220px;}
}
@media (max-width: 1024px){
    #header{height: 60px;}
    .m1_menu .m1_menu_header .width{height: 60px;}
    .m1_cover .m1_cover_logo{width: 200px;}
    .m1_cover .m1_cover_label{top: 60px; right: 24px;}
    .a1_intro .a1_intro_wrap{flex-direction: column; gap: 40px;}
    .a1_intro .a1_intro_left,
    .a1_intro .a1_intro_right{width: 100%;}
    .a1_intro h2{font-size: 40px;}
    .a1_pillars .box{padding: 28px;}
    #ft .ft_top{flex-direction: column;}
    #ft .ft_tagline{text-align: left;}
    #ft .ft_info{grid-template-columns: auto 1fr;}
    body #bo_gall #gall_ul{grid-template-columns: repeat(2, 1fr); gap: 32px 20px;}
    body #bo_v{grid-template-columns: 1fr; column-gap: 0; row-gap: 40px;}
    body #bo_v #bo_v_img{grid-column: 1 !important; grid-row: auto !important; grid-template-columns: repeat(2, 1fr);}
    body #bo_v header{order: 1;}
    body #bo_v #bo_v_con{order: 2;}
    body #bo_v #bo_v_img{order: 3;}
    body #bo_v .bo_v_topcon{order: 4;}
    body #bo_v .bo_v_file_wrap{order: 5;}
}
@media (max-width: 768px){
    .m1_cover .m1_cover_logo{width: 160px; margin-bottom: 24px;}
    .m1_cover .m1_cover_kicker{margin-bottom: 20px; font-size: 12px;}
    .m1_cover .m1_cover_quote{bottom: 40px;}
    .m1_cover .m1_cover_quote_text{font-size: var(--fs18);}
    .m1_cover .m1_cover_quote_text::after{width: 32px; margin-top: 16px;}
    .m1_cover .m1_cover_label{font-size: 10px;}
    .m1_cover .m1_cover_chip{font-size: var(--fs18); padding: 12px 12px 12px 26px; gap: 16px;}
    .m1_cover .m1_cover_arrow{width: 38px; font-size: 16px;}
    .m1_menu .m1_menu_item{font-size: 44px;}
    .m1_menu .m1_menu_close{top: 20px; right: 24px; font-size: 22px;}
    .m1_menu .m1_menu_nav{gap: 20px;}
    .a1_intro h2{font-size: 32px;}
    .a1_pillars .box{width: 100%; padding: 28px;}
    .a1_pillars .box h3{font-size: var(--fs22);}
    .a1_pillars .a1_pillars_top .num{font-size: 30px;}
    body #bo_gall #gall_ul{grid-template-columns: 1fr;}
    body #bo_v #bo_v_img{grid-template-columns: 1fr; gap: 4px;}
}