/* =========================================================
   (주)감정평가법인 삼일 경북지사 — 통합 스타일시트 (데스크톱 + 모바일)
   기존 index.css / index_m.css 를 대체합니다. 클래스 이름은 그대로 유지.
   ========================================================= */

/* ---------- 폰트 ---------- */
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('/garage/font/noto-sans-kr-v8-korean_latin-300.woff2') format('woff2'), url('/garage/font/noto-sans-kr-v8-korean_latin-300.woff') format('woff'); }
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/garage/font/noto-sans-kr-v8-korean_latin-regular.woff2') format('woff2'), url('/garage/font/noto-sans-kr-v8-korean_latin-regular.woff') format('woff'); }
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/garage/font/noto-sans-kr-v8-korean_latin-500.woff2') format('woff2'), url('/garage/font/noto-sans-kr-v8-korean_latin-500.woff') format('woff'); }
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/garage/font/noto-sans-kr-v8-korean_latin-700.woff2') format('woff2'), url('/garage/font/noto-sans-kr-v8-korean_latin-700.woff') format('woff'); }

/* ---------- 디자인 토큰 ---------- */
:root {
  --navy-900: #071a33;
  --navy-800: #0b2a4f;
  --navy-700: #0f3a6e;
  --navy-600: #1b4f8f;
  --navy-500: #2864aa;
  --accent: #d9a441;        /* 포인트(골드) */
  --accent-dark: #b8862b;
  --ink: #1b2430;
  --ink-2: #47536a;
  --ink-3: #7b8699;
  --line: #e5e9f0;
  --bg: #ffffff;
  --bg-soft: #f4f6fa;
  --bg-softer: #f9fafc;
  --radius: 14px;
  --radius-sm: 8px;
  --shadow-sm: 0 1px 2px rgba(7, 26, 51, .06), 0 2px 8px rgba(7, 26, 51, .06);
  --shadow: 0 8px 24px rgba(7, 26, 51, .10), 0 2px 6px rgba(7, 26, 51, .06);
  --shadow-lg: 0 20px 50px rgba(7, 26, 51, .16);
  --container: 1200px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- 기본 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  font-size: 15px; line-height: 1.7; font-weight: 400;
  -webkit-font-smoothing: antialiased; word-break: keep-all;
}
img { border: 0; padding: 0; margin: 0; max-width: 100%; vertical-align: middle; }
a { text-decoration: none; color: inherit; transition: color .2s var(--ease); }
input, button, textarea, select { font: inherit; color: inherit; }
::selection { background: rgba(40, 100, 170, .18); }

.wrap { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
.clear { clear: both; }
.no_dis { display: none; }
.i_cus { cursor: pointer; }
.p_dis { display: none; }
.flt_l { float: left; }
.flt_r { float: right; }
.t_red { color: #c0392b; }

/* =========================================================
   헤더
   ========================================================= */
.header_main {
  position: sticky; top: 0; z-index: 900;
  display: flex; align-items: center; flex-wrap: wrap;
  width: min(var(--container), calc(100% - 48px)); margin: 0 auto;
  min-height: 88px; padding: 10px 0; background: transparent;
}
body { position: relative; }
body::before { /* 헤더 바탕 (sticky 전체 폭 흰 배경) */
  content: ''; position: fixed; top: 0; left: 0; right: 0; height: 88px;
  background: rgba(255, 255, 255, .94); backdrop-filter: saturate(180%) blur(10px); -webkit-backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--line); z-index: 800; pointer-events: none;
}
.header_main_logo { order: 1; display: flex; align-items: center; height: 68px; }
div.header_main_logo img { height: 52px; width: auto; }

.header_main_go { order: 3; margin-left: 28px; font-size: 12.5px; color: var(--ink-3); letter-spacing: .02em; white-space: nowrap; }
div.header_main_go a, div.header_main_go span { color: var(--ink-3); padding: 6px 10px; border-radius: 999px; border: 1px solid var(--line); background: #fff; transition: all .2s var(--ease); }
div.header_main_go a:hover, div.header_main_go span:hover { color: var(--navy-600); border-color: var(--navy-500); }

.header_main_menu { order: 2; margin-left: auto; display: flex; align-items: center; gap: 4px; height: 68px; }
.header_main_menu.p_dis { display: none; }
.header_main_m {
  position: relative; padding: 10px 16px; font-size: 16px; font-weight: 500; color: var(--ink); cursor: pointer;
  border-radius: 10px; transition: color .2s var(--ease), background .2s var(--ease);
}
.header_main_m::after {
  content: ''; position: absolute; left: 16px; right: 16px; bottom: 4px; height: 2px; border-radius: 2px;
  background: var(--navy-500); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease);
}
.header_main_m:hover { color: var(--navy-600); }
.header_main_m:hover::after { transform: scaleX(1); }
.header_main > .clear { flex-basis: 100%; height: 0; }

/* 로그인 박스 */
.header_login {
  display: none; position: fixed; top: 100px; right: max(24px, calc(50% - var(--container) / 2)); z-index: 950;
  width: 420px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); text-align: center; font-size: 13px; color: var(--ink-2);
}
.ipt_header_login { width: 140px; height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg-softer); outline: none; transition: border-color .2s; }
.ipt_header_login:focus { border-color: var(--navy-500); background: #fff; }
.bt_header_login { height: 40px; padding: 0 18px; border: 0; border-radius: var(--radius-sm); background: var(--navy-700); color: #fff; font-weight: 500; cursor: pointer; }
.bt_header_login:hover { background: var(--navy-600); }

/* 메가 메뉴 (마우스 오버 시 표시) */
.header_site {
  display: none; position: absolute; left: 0; right: 0; top: 88px; z-index: 850;
  background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 24px 40px -20px rgba(7, 26, 51, .25);
}
.header_site_in {
  width: min(var(--container), calc(100% - 48px)); margin: 0 auto; display: flex; justify-content: flex-end; gap: 8px; padding: 26px 0 30px;
}
.header_site_m, .header_site_m2, .header_site_m3 { width: 150px; padding: 0 8px 0 16px; line-height: 2.1; font-size: 14px; color: var(--ink-2); border-left: 1px solid var(--line); }
.header_site_in > div::before { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--navy-500); }
.header_site_in > div:nth-child(1)::before { content: '회사소개'; }
.header_site_in > div:nth-child(2)::before { content: '업무영역'; }
.header_site_in > div:nth-child(3)::before { content: '평가의뢰'; }
.header_site_in > div:nth-child(4)::before { content: '모의계산'; }
.header_site_in > div:nth-child(5)::before { content: '평가 사례'; }
.header_site_in > div:nth-child(6)::before { content: '공지사항'; }
div.header_site a { color: var(--ink-2); text-shadow: none; display: inline-block; }
div.header_site a:hover { color: var(--navy-600); transform: translateX(2px); transition: transform .2s var(--ease); }
.header_hidden { display: none; position: absolute; left: 0; right: 0; top: 300px; height: 160px; z-index: 840; }

/* =========================================================
   메인 히어로
   ========================================================= */
.idx_bg {
  position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; align-content: center; gap: 0 16px;
  min-height: 600px; padding: 90px 24px 110px;
  background-image: linear-gradient(180deg, rgba(7, 26, 51, .35) 0%, rgba(7, 26, 51, .55) 70%, rgba(7, 26, 51, .75) 100%), url('/garage/images/header_main.jpg');
  background-size: cover; background-position: center; color: #fff; text-shadow: none;
}
.header_main_text {
  flex-basis: 100%; padding: 0 0 36px; text-align: center; font-size: 42px; line-height: 1.4; font-weight: 700; letter-spacing: -.02em;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .35);
}
.header_main_bt {
  display: inline-flex; align-items: center; justify-content: center; min-width: 220px; height: 54px; padding: 0 28px; margin: 0;
  border: 1.5px solid rgba(255, 255, 255, .85); border-radius: 999px; font-size: 17px; font-weight: 500; color: #fff; cursor: pointer;
  box-shadow: none; backdrop-filter: blur(4px); transition: all .25s var(--ease);
}
.header_main_bt:first-of-type { background: var(--accent); border-color: var(--accent); color: var(--navy-900); }
.header_main_bt:first-of-type:hover { background: #e4b452; box-shadow: 0 10px 24px rgba(217, 164, 65, .35); transform: translateY(-2px); }
.header_main_bt:hover { background: rgba(255, 255, 255, .14); box-shadow: 0 10px 24px rgba(0, 0, 0, .2); transform: translateY(-2px); }

/* 수수료 계산기 (히어로 하단에 겹침) */
.idx_calculator {
  position: relative; z-index: 2; display: flex; width: min(860px, calc(100% - 48px)); margin: -46px auto 0;
  background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); overflow: hidden;
}
.idx_calculator_ipt { flex: 1; min-width: 0; }
.ipt_idx_calculator { width: 100%; height: 92px; padding: 0 28px; border: 0; outline: none; font-size: 22px; color: var(--ink); background: #fff; }
.ipt_idx_calculator::placeholder { color: #aab2c0; font-size: 18px; }
.idx_calculator_bt {
  display: flex; align-items: center; justify-content: center; width: 200px; padding: 0 18px; line-height: 1.3;
  background: var(--navy-700); color: #fff; font-size: 17px; font-weight: 500; text-align: center; cursor: pointer; transition: background .2s;
}
.idx_calculator_bt:hover { background: var(--navy-600); }
.idx_calculator_result { display: none; width: min(860px, calc(100% - 48px)); margin: 16px auto 0; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }

/* 섹션 타이틀 (업무영역 / 사람들 / 의뢰하기) */
.idx_area_t { float: left; clear: left; margin: 84px 0 0; font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--navy-500); }
.idx_area_t_show { float: left; clear: left; position: static; z-index: auto; margin: 2px 0 0; font-family: 'Noto Sans KR', sans-serif; font-size: 34px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); line-height: 1.3; }
.idx_area_t_more {
  float: right; display: inline-flex; align-items: center; height: 38px; width: auto; margin: 100px 0 0; padding: 0 18px;
  border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-2); font-size: 13px; line-height: 1; cursor: pointer; transition: all .2s var(--ease);
}
.idx_area_t_more::after { content: '→'; margin-left: 8px; transition: transform .2s var(--ease); }
.idx_area_t_more:hover { border-color: var(--navy-500); color: var(--navy-600); }
.idx_area_t_more:hover::after { transform: translateX(3px); }
.idx_lef .idx_area_t, .idx_rig .idx_area_t { margin-top: 72px; }
.idx_lef .idx_area_t_more { margin-top: 88px; }

/* 업무영역 카드 (5열) */
.idx_area {
  float: left; width: calc((100% - 64px) / 5); height: 230px; margin: 28px 16px 0 0;
  border-radius: var(--radius); background-color: var(--bg-soft); background-size: cover; background-position: center;
  overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.idx_area:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.idx_area_s {
  display: flex; align-items: flex-end; width: 100%; height: 100%; padding: 18px 20px; line-height: 1.3;
  background-image: linear-gradient(180deg, rgba(7, 26, 51, 0) 35%, rgba(7, 26, 51, .78) 100%); color: #fff; font-size: 19px; font-weight: 500; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); cursor: pointer; transition: background .3s;
}
.idx_area_s:hover { background-image: linear-gradient(180deg, rgba(7, 26, 51, .05) 20%, rgba(7, 26, 51, .85) 100%); text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }

.idx_lef { float: left; width: calc(100% - 340px); }
.idx_rig { float: right; width: 300px; }

/* 사람들 */
.idx_people { float: left; width: calc((100% - 40px) / 3); margin: 24px 20px 0 0; border-radius: var(--radius); overflow: hidden; background: #fff; border: 1px solid var(--line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.idx_people:hover { transform: translateY(-4px); box-shadow: var(--shadow); cursor: pointer; }
.idx_people_p { width: 100%; height: 340px; background-size: cover; background-position: center top; }
.idx_people_c { height: 72px; line-height: 72px; font-family: 'Noto Sans KR', sans-serif; font-size: 14px; color: var(--ink-3); text-align: center; }
div.idx_people_c span { font-family: 'Noto Sans KR', sans-serif; font-size: 22px; font-weight: 700; color: var(--ink); }

/* 의뢰하기 패널 */
.idx_rig .idx_area_t_show { font-size: 28px; }
.idx_request { margin: 28px 0 20px; padding: 22px; border-radius: var(--radius); background: var(--bg-soft); font-size: 15px; line-height: 1.75; color: var(--ink-2); }
.idx_request_down, .app_request_down {
  display: flex; align-items: center; margin: 0 0 10px; padding: 0 20px; height: 56px; line-height: 1.2;
  border: 0; border-radius: var(--radius-sm); background: var(--navy-700); color: #fff; font-size: 15px; font-weight: 500; cursor: pointer; transition: all .2s var(--ease);
}
.idx_request_down::before, .app_request_down::before { content: '⬇'; margin-right: 12px; font-size: 14px; opacity: .8; }
.idx_request_down:hover, .app_request_down:hover { background: var(--navy-600); transform: translateY(-1px); box-shadow: var(--shadow-sm); }
div.idx_request_down a, div.app_request_down a { color: #fff; }
.idx_request_adr { margin-top: 24px; padding: 4px 0 0; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
div.idx_request_adr span { display: inline-block; margin-top: 12px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; color: var(--accent-dark); }
div.idx_request_adr span:first-child { margin-top: 0; }

/* =========================================================
   서브 메뉴 바
   ========================================================= */
.submenu {
  position: relative; z-index: 700; display: flex; align-items: stretch; height: 54px; line-height: 54px; font-size: 14px;
  width: min(var(--container), calc(100% - 48px)); padding: 0; margin: 10px auto 0; background: #fff; color: var(--ink);
  border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-sm);
}
.submenu > .clear { display: none; }
.submenu_home {
  float: none; width: 54px; height: 52px; border-right: 1px solid var(--line); cursor: pointer; border-radius: 12px 0 0 12px;
  background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 18px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f3a6e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11l9-8 9 8'/><path d='M5 10v10h14V10'/></svg>");
}
.submenu_home:hover { background-color: var(--bg-soft); }
.submenu_cate, .submenu_cate_s, .submenu_cate2, .submenu_cate2_s, .submenu_cate2_long, .submenu_cate2_s_long {
  float: none; width: 170px; padding: 0 36px 0 20px; font-weight: 500; cursor: pointer; border-right: 1px solid var(--line);
  background-color: transparent; background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; transition: background-color .2s;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2347536a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
}
.submenu_cate_s, .submenu_cate2_s, .submenu_cate2_s_long {
  display: none; background-color: var(--bg-soft);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2347536a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 15l-6-6-6 6'/></svg>");
}
.submenu_cate2_long, .submenu_cate2_s_long { width: 220px; }
.submenu_cate:hover, .submenu_cate_s:hover, .submenu_cate2:hover, .submenu_cate2_s:hover, .submenu_cate2_long:hover, .submenu_cate2_s_long:hover { background-color: var(--bg-soft); }

.submenu_list, .submenu_list_long {
  display: none; position: absolute; top: calc(100% + 6px); left: 54px; float: none; width: 200px; margin: 0; padding: 8px;
  line-height: 2.4; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); z-index: 710;
}
.submenu_list_long { width: 230px; }
#sub_intro, #sub_area, #sub_request, #sub_calc, #sub_cs, #sub_bbs { left: 224px; }
div.submenu_list a, div.submenu_list_long a { display: block; padding: 2px 12px; border-radius: 8px; color: var(--ink-2); }
div.submenu_list a:hover, div.submenu_list_long a:hover { background: var(--bg-soft); color: var(--navy-600); }
div.submenu_list br, div.submenu_list_long br { display: none; }

/* =========================================================
   서브 페이지 공통 타이틀
   ========================================================= */
.member_t { position: relative; margin: 64px 0 0; padding: 0 0 18px; font-size: 32px; font-weight: 700; letter-spacing: -.02em; line-height: 1.3; }
.member_t::after { content: ''; position: absolute; left: 0; bottom: 0; width: 44px; height: 4px; border-radius: 4px; background: var(--accent); }
.area_t { position: relative; margin: 0 0 24px; padding: 0 0 18px; font-size: 32px; font-weight: 700; letter-spacing: -.02em; line-height: 1.3; }
.area_t::after { content: ''; position: absolute; left: 0; bottom: 0; width: 44px; height: 4px; border-radius: 4px; background: var(--accent); }

/* 업무영역 / 평가의뢰 / 모의계산 — 2단 */
.area_lef { float: left; width: calc(100% - 460px); margin: 64px 0 0; }
.area_rig { float: right; width: 420px; height: 560px; margin: 128px 0 0; border-radius: var(--radius); background-size: cover; background-position: center; box-shadow: var(--shadow); }
.area_tab_w { display: flex; gap: 8px; width: auto; height: auto; padding: 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-softer); line-height: 1; font-size: 14px; }
.area_tab_s, .area_tab { float: none; padding: 10px 18px; border-radius: 999px; cursor: pointer; }
.area_tab_s { background: var(--navy-700); color: #fff; font-weight: 500; }
.area_tab { color: var(--ink-2); }
.area_tab:hover { background: #fff; color: var(--navy-600); }
div.area_tab a { color: inherit; }
div.area_tab_s a { color: #fff; }
.area_tab_w > .clear { display: none; }
.area_detail_t { margin: 40px 0 0; padding: 0 0 10px; border-bottom: 2px solid var(--navy-700); font-size: 20px; font-weight: 700; color: var(--ink); line-height: 1.4; }
.area_detail { padding: 22px 0 8px; font-size: 15.5px; line-height: 1.9; color: var(--ink-2); }
div.area_detail span { display: inline-block; margin-top: 4px; text-decoration: none; font-weight: 700; color: var(--navy-700); }
.area_detail table { border-collapse: separate; border-spacing: 0; font-size: 13.5px; line-height: 1.5 !important; overflow: hidden; border-radius: 12px; border: 1px solid var(--line); }
.area_detail th, .area_detail td { padding: 12px 8px; border-bottom: 1px solid var(--line); }
.area_detail tr:last-child td { border-bottom: 0; }
.sp_txt { margin: 8px 0 10px; font-weight: 700; color: var(--ink); }
.sp_txt02 { margin: 18px 0 0; padding: 16px 18px; border-radius: var(--radius-sm); background: var(--bg-soft); font-size: 14px; }
.com_list_txt { margin: 0; padding: 0 0 0 4px; list-style: none; font-size: 14.5px; }
.com_list_txt li { padding: 3px 0; }

/* 인사말 */
.greeting {
  width: 100%; height: auto; min-height: 480px; margin: 36px 0 0; padding: 220px 64px 64px; border-radius: var(--radius);
  background-image: linear-gradient(180deg, rgba(7, 26, 51, .05) 0%, rgba(7, 26, 51, .72) 100%), url('/garage/images/intro.jpg');
  background-size: cover; background-position: center; color: #fff; font-size: 34px; line-height: 1.55; font-weight: 700; letter-spacing: -.01em; text-shadow: 0 2px 16px rgba(0, 0, 0, .3); box-shadow: var(--shadow);
}

/* 구성원 */
.member_w { float: left; width: calc((100% - 56px) / 3); margin: 36px 28px 0 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.member_w:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.member_w:nth-of-type(3n) { margin-right: 0; }
.member_ct { padding: 18px 24px 0; font-size: 14px; color: var(--ink-3); line-height: 1.4; margin: 0 0 14px; }
div.member_ct span { font-size: 24px; font-weight: 700; color: var(--ink); }
.member_p { width: 100%; height: 400px; background-position: center top; background-size: cover; border-radius: 0; }
.member_p_mini { width: calc(100% - 48px); height: 320px; margin: 0 24px; border-radius: var(--radius-sm); background-position: center top; background-size: cover; }
.member_c, .member_c_mini { margin: 0; padding: 22px 24px 26px; }
.member_cc { height: auto; min-height: 0; padding: 0 0 16px; font-size: 14.5px; line-height: 1.8; color: var(--ink-2); border-bottom: 1px dashed var(--line); }
.member_tr { margin: 16px 0 0; padding: 0; border-left: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--navy-500); line-height: 1.4; }
.member_tc { padding: 8px 0 0; font-size: 14px; line-height: 1.9; color: var(--ink-2); }
div.member_tc span { color: var(--navy-600); font-weight: 700; }

/* 위치 안내 */
.intro_map { padding: 24px 0 20px; font-size: 15.5px; line-height: 2; color: var(--ink-2); }
.intro_map_box { width: 100%; max-width: 100%; }
.intro_map_box img.map { width: 100%; height: auto; border-radius: var(--radius); border: 1px solid var(--line) !important; }

/* =========================================================
   게시판 공통
   ========================================================= */
.bbs_list { min-height: 420px; height: auto; }
.adm_count { height: auto; line-height: 1.5; margin: 28px 0 18px; color: var(--ink-3); font-size: 14px; }
div.adm_count span { font-size: 18px; font-weight: 700; color: var(--navy-600); }

.adm_tt { height: 48px; line-height: 48px; border-top: 2px solid var(--navy-700); border-bottom: 1px solid var(--line); background: var(--bg-softer); text-align: center; font-size: 13.5px; font-weight: 500; color: var(--ink-2); }
.adm_tb { height: 56px; line-height: 56px; border-bottom: 1px solid var(--line); text-align: center; font-size: 14.5px; transition: background .15s; }
.adm_tb:hover { background: var(--bg-softer); }
.adm_td10 { float: left; width: 10%; color: var(--ink-3); font-size: 13.5px; }
.adm_td70 { float: left; width: 70%; text-align: left; padding: 0 16px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.adm_td70 a { color: var(--ink); font-weight: 500; }
.adm_td70 a:hover { color: var(--navy-600); }
.adm_tt .adm_td70 { text-align: center; }

.pagenate { display: flex; justify-content: center; gap: 6px; padding: 36px 0 24px; font-size: 13px; }
.pagenate > .clear { display: none; }
.pagenate_m, .pagenate_m_s {
  float: none; display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; margin: 0;
  border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-2); cursor: pointer; transition: all .2s var(--ease);
}
.pagenate_m:hover { border-color: var(--navy-500); color: var(--navy-600); }
.pagenate_m_s { background: var(--navy-700); border-color: var(--navy-700); color: #fff; font-weight: 500; }

.bbs_bt_write {
  float: left; display: inline-flex; align-items: center; height: 44px; padding: 0 22px; margin: 0 8px 0 0; line-height: 1;
  border-radius: var(--radius-sm); background: var(--navy-700); color: #fff; font-size: 14px; font-weight: 500; cursor: pointer; transition: all .2s var(--ease);
}
.bbs_bt_write:hover { background: var(--navy-600); transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.bbs_bt_view, .bbs_view_bt {
  float: right; display: inline-flex; align-items: center; height: 44px; padding: 0 22px; margin: 0; line-height: 1;
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink-2); font-size: 14px; cursor: pointer; transition: all .2s var(--ease);
}
.bbs_bt_view:hover, .bbs_view_bt:hover { border-color: var(--navy-500); color: var(--navy-600); }

/* 글 보기 */
.bbs_view { padding: 36px 0 32px; min-height: 320px; }
.bbs_view_t { padding: 0 0 14px; border-bottom: 1px solid var(--line); line-height: 1.4; font-size: 26px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.bbs_view_tc { padding: 12px 0 0; line-height: 1.6; text-align: left; font-size: 13.5px; color: var(--ink-3); }
.bbs_view_c { padding: 32px 0 0; font-size: 15.5px; line-height: 1.9; color: var(--ink-2); overflow-wrap: anywhere; }
.bbs_view_c img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.bbs_attach_down {
  float: left; display: inline-flex; align-items: center; height: 40px; padding: 0 16px; margin: 0 8px 10px 0; line-height: 1;
  border: 1px solid var(--line); border-radius: 999px; background: var(--bg-softer); color: var(--ink-2); font-size: 13.5px; cursor: pointer; transition: all .2s var(--ease);
}
.bbs_attach_down::before { content: '📎'; margin-right: 8px; font-size: 13px; }
.bbs_attach_down:hover { border-color: var(--navy-500); color: var(--navy-600); background: #fff; }
.bbs_attach_picture { margin: 0 0 16px; }
.bbs_attach_picture img { max-width: 100%; border-radius: var(--radius-sm); }

/* 글쓰기 폼 */
.bbs_line { display: flex; align-items: flex-start; gap: 16px; padding: 14px 0; line-height: 1.6; border-bottom: 1px solid var(--line); }
.bbs_vl { float: none; flex: 0 0 150px; padding-top: 8px; font-size: 13.5px; font-weight: 500; color: var(--ink-2); }
.bbs_vr { float: none; flex: 1; width: auto; min-width: 0; font-size: 14px; color: var(--ink-2); }
.bbs_line > .clear { display: none; }
.ipt_bbs { width: min(640px, 100%); height: 44px; padding: 0 14px; margin: 0; line-height: normal; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg-softer); outline: none; transition: border-color .2s, background .2s; }
.ipt_bbs:focus { border-color: var(--navy-500); background: #fff; }
.bbs_vr input[type=file] { padding: 8px 0; font-size: 13px; }
.bbs_vr input[type=radio] { accent-color: var(--navy-600); margin-right: 4px; }
.bbs_vr a { color: var(--navy-600); }
.bbs_body { margin: 28px 0; }
.bbs_view form .bbs_line:first-of-type { border-top: 2px solid var(--navy-700); }

/* 평가 사례 카드 */
.cs_bg {
  display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: auto; min-height: 220px; margin: 24px 0 8px; padding: 48px 24px;
  border-radius: var(--radius); color: #fff; text-align: center; font-size: 34px; font-weight: 700; letter-spacing: -.02em; line-height: 1.3;
  background-image: linear-gradient(180deg, rgba(7, 26, 51, .45), rgba(7, 26, 51, .75)), url('/garage/images/header_main.jpg'); background-size: cover; background-position: center;
}
div.cs_bg span { display: inline-block; margin-top: 10px; font-size: 14px; font-weight: 400; color: rgba(255, 255, 255, .85); letter-spacing: .02em; }
div.cs_bg span span { margin: 0; font-weight: 700; color: var(--accent); }

.cs_w {
  position: relative; float: left; width: calc((100% - 72px) / 4); height: 320px; margin: 24px 24px 0 0; padding: 20px 20px 52px;
  border: 0; border-radius: var(--radius); overflow: hidden; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .4);
  background-color: var(--navy-800); background-size: cover; background-position: center; box-shadow: var(--shadow-sm); cursor: pointer;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.cs_w::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 26, 51, .25) 0%, rgba(7, 26, 51, .78) 100%); transition: opacity .3s; }
.cs_w:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.cs_w:nth-child(4n) { margin-right: 0; }
.cs_w > div:not(.cs_name) { position: relative; }
.cs_t { height: auto; line-height: 1.4; margin: 0; font-size: 12.5px; color: rgba(255, 255, 255, .85); }
.cs_t .flt_r { padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .18); backdrop-filter: blur(4px); font-weight: 500; }
.cs_t a { color: #fff; text-decoration: underline; margin-right: 6px; }
.cs_title { width: 100%; height: auto; max-height: 3em; margin: 30px 0 10px; font-size: 18px; font-weight: 700; line-height: 1.45; text-align: left; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
div.cs_title a { color: #fff; }
.cs_text { width: 100%; height: auto; margin: 0; font-size: 13.5px; line-height: 1.6; text-align: left; color: rgba(255, 255, 255, .85); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.cs_name { position: absolute; left: 20px; right: 20px; bottom: 18px; text-align: left; font-size: 13px; font-weight: 500; color: rgba(255, 255, 255, .9); }
.cs_name:not(:empty)::before { content: ''; display: inline-block; width: 18px; height: 2px; margin: 0 8px 4px 0; background: var(--accent); }

/* =========================================================
   수수료 계산 결과 / 모의계산 페이지
   ========================================================= */
.calcul { display: flex; flex-wrap: wrap; gap: 10px; padding: 18px; background: var(--bg-soft); }
.calcul > .clear { display: none; }
.calcul_com { float: none; flex: 1 1 100%; padding: 14px; border: 0; border-radius: var(--radius-sm); background: #fff; text-align: center; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
div.calcul_com span { font-size: 24px; font-weight: 700; color: var(--navy-700); }
.calcul_low, .calcul_high { float: none; flex: 1 1 calc(50% - 5px); padding: 12px; border-radius: var(--radius-sm); background: #fff; text-align: center; font-size: 13.5px; line-height: 1.5; }
.calcul_low { color: #2c7fb8; }
.calcul_high { color: #b23a3a; }
div.calcul_low span, div.calcul_high span { display: block; font-size: 17px; font-weight: 700; color: var(--ink); }

.calc_calculator { display: flex; height: auto; line-height: normal; margin: 8px 0 0; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; background: #fff; }
.calc_calculator > .clear { display: none; }
.calc_calculator_ipt { float: none; flex: 1; width: auto; height: auto; line-height: normal; min-width: 0; }
.ipt_calc_calculator { width: 100%; height: 84px; padding: 0 24px; margin: 0; border: 0; outline: none; font-size: 21px; background: #fff; }
.ipt_calc_calculator::placeholder { color: #aab2c0; font-size: 16px; }
.calc_calculator_bt { float: none; display: flex; align-items: center; justify-content: center; width: 180px; height: auto; padding: 0 16px; line-height: 1.3; background: var(--navy-700); color: #fff; font-size: 16px; font-weight: 500; text-align: center; cursor: pointer; transition: background .2s; }
.calc_calculator_bt:hover { background: var(--navy-600); }
.calc_calculator_result { display: none; width: 100%; margin: 14px 0 0; border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }

.app_request_down { width: min(360px, 100%); }

/* =========================================================
   푸터
   ========================================================= */
.footer { display: none; width: 100%; height: auto; margin: 96px 0 0; padding: 48px 24px 40px; background: var(--navy-900); color: rgba(255, 255, 255, .72); text-align: left; font-size: 13.5px; line-height: 1.8; }
.footer_in { width: min(var(--container), 100%); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-start; }
.footer_brand { flex: 0 0 300px; }
.footer_brand strong { display: block; font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.footer_brand em { font-style: normal; color: var(--accent); font-size: 13px; }
.footer_info { flex: 1 1 360px; }
.footer_info span { color: rgba(255, 255, 255, .45); margin: 0 10px; }
.footer_copy { flex-basis: 100%; margin-top: 10px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 12.5px; color: rgba(255, 255, 255, .45); }
div.footer span.footer_dot { color: rgba(255, 255, 255, .3); }

/* =========================================================
   반응형
   ========================================================= */
@media (max-width: 1100px) {
  .idx_lef { width: 100%; }
  .idx_rig { float: none; width: 100%; clear: both; }
  .idx_rig .idx_request { max-width: 640px; }
  .area_lef { width: 100%; }
  .area_rig { float: none; clear: both; width: 100%; height: 320px; margin: 36px 0 0; }
}

@media (max-width: 1023px) {
  body::before { height: 0; display: none; }
  .header_main { position: static; width: 100%; min-height: 0; padding: 0; background: #fff; border-bottom: 1px solid var(--line); }
  .header_main_logo { order: 1; width: 100%; justify-content: center; height: 64px; }
  div.header_main_logo img { height: 40px; max-width: 240px; }
  .header_main_go { order: 3; position: static; width: 100%; margin: 0; padding: 0 0 12px; text-align: center; font-size: 12px; }
  div.header_main_go a, div.header_main_go span { padding: 4px 10px; }
  .header_main_menu.m_dis { display: none; }
  .header_main_menu.p_dis { order: 2; display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; height: auto; margin: 0; padding: 0; gap: 0; background: var(--navy-800); }
  .header_main_menu.p_dis .header_main_m { padding: 0; height: 48px; line-height: 48px; text-align: center; font-size: 14.5px; color: #fff; border-radius: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); border-right: 1px solid rgba(255, 255, 255, .1); }
  .header_main_menu.p_dis .header_main_m:nth-child(3n) { border-right: 0; }
  .header_main_menu.p_dis .header_main_m::after { display: none; }
  .header_main_menu.p_dis .header_main_m:hover { background: var(--navy-700); color: #fff; }
  .header_main_menu.p_dis > .clear { display: none; }
  .header_site, .header_hidden { display: none !important; }
  .header_login { top: 84px; right: 16px; width: calc(100% - 32px); }
  .ipt_header_login { width: calc(50% - 60px); }

  .idx_bg { min-height: 440px; padding: 64px 20px 80px; }
  .header_main_text { font-size: 26px; padding-bottom: 24px; }
  .header_main_bt { min-width: 0; height: 46px; padding: 0 20px; font-size: 15px; margin: 6px 4px; }
  .idx_calculator { flex-direction: column; margin-top: -36px; }
  .ipt_idx_calculator { height: 64px; padding: 0 20px; font-size: 18px; }
  .idx_calculator_bt { width: 100%; height: 56px; }
  .idx_calculator_bt br { display: none; }

  .idx_area_t { margin-top: 56px; }
  .idx_area_t_show { font-size: 26px; }
  .idx_area_t_more { margin-top: 68px; }
  .idx_area { width: calc((100% - 12px) / 2); height: 160px; margin: 12px 12px 0 0; }
  .idx_area:nth-child(2n+1 of .idx_area) { margin-right: 0; }
  .idx_people { width: calc((100% - 12px) / 2); margin: 12px 12px 0 0; }
  .idx_people:nth-of-type(2n+1) { margin-right: 0; }
  .idx_people_p { height: 240px; }
  .idx_people_c { height: 56px; line-height: 56px; }

  .submenu { width: calc(100% - 32px); height: 48px; line-height: 48px; font-size: 13.5px; }
  .submenu_home { height: 46px; width: 46px; }
  .submenu_cate, .submenu_cate_s, .submenu_cate2, .submenu_cate2_s { width: 140px; padding: 0 30px 0 14px; }
  .submenu_cate2_long, .submenu_cate2_s_long { width: 170px; padding: 0 30px 0 14px; }
  .submenu_list, .submenu_list_long { left: 46px; }
  #sub_intro, #sub_area, #sub_request, #sub_calc, #sub_cs, #sub_bbs { left: 186px; }

  .member_t, .area_t { font-size: 24px; margin-top: 40px; }
  .area_lef { margin-top: 40px; }
  .area_rig { height: 240px; }
  .greeting { min-height: 360px; padding: 150px 28px 36px; font-size: 22px; }
  .member_w { width: 100%; margin: 20px 0 0; }
  .member_p { height: 320px; }
  .cs_w { width: calc((100% - 16px) / 2); height: 280px; margin: 16px 16px 0 0; }
  .cs_w:nth-child(4n) { margin-right: 16px; }
  .cs_w:nth-child(2n) { margin-right: 0; }
  .cs_bg { font-size: 26px; min-height: 180px; padding: 36px 20px; }
  .bbs_line { flex-direction: column; gap: 6px; }
  .bbs_vl { flex-basis: auto; padding-top: 0; }
  .adm_td10:nth-child(3) { display: none; }
  .adm_td70 { width: 70%; }
  .bbs_view_t { font-size: 20px; }
  .footer { margin-top: 64px; padding: 36px 20px 28px; }
  .footer_brand { flex-basis: 100%; }
}

@media (max-width: 600px) {
  .wrap { width: calc(100% - 32px); }
  .header_main_text { font-size: 22px; }
  .idx_area { width: 100%; margin-right: 0; height: 150px; }
  .idx_people { width: 100%; margin-right: 0; }
  .cs_w { width: 100%; margin-right: 0; }
  .cs_w:nth-child(4n) { margin-right: 0; }
  .calc_calculator { flex-direction: column; }
  .calc_calculator_bt { width: 100%; height: 54px; }
  .calc_calculator_bt br { display: none; }
  .ipt_calc_calculator { height: 64px; font-size: 18px; }
  .area_detail table { font-size: 11.5px; }
  .area_detail th, .area_detail td { padding: 8px 4px; }
  .adm_td70 { width: 60%; }
  .adm_td10 { width: 20%; }
  .header_login { padding: 18px; }
}

/* =========================================================
   메인 리뉴얼: 투명 헤더 / 히어로 슬라이더 / 바로가기 / 소식 밴드 / 스크롤 등장
   ========================================================= */

/* 투명 헤더 (메인 최상단에서만) */
body.home:not(.scrolled)::before { background: linear-gradient(180deg, rgba(7, 26, 51, .55), rgba(7, 26, 51, 0)); border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.home:not(.scrolled) .header_main_m { color: #fff; }
body.home:not(.scrolled) .header_main_m::after { background: #fff; }
body.home:not(.scrolled) div.header_main_logo img { filter: brightness(0) invert(1); }
body.home:not(.scrolled) div.header_main_go a, body.home:not(.scrolled) div.header_main_go span { color: #fff; background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); }
body.home .idx_bg { margin-top: -88px; padding-top: 150px; }
body::before, .header_main_m, div.header_main_logo img { transition: all .35s var(--ease); }

/* 히어로 슬라이더 */
.idx_bg { background-image: none; background-color: var(--navy-900); overflow: hidden; min-height: 680px; }
.hero_slides { position: absolute; inset: 0; z-index: 0; }
.hero_slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transform: scale(1.02); transition: opacity 1.4s ease; will-change: transform, opacity; }
.hero_slide.is-active { opacity: 1; animation: heroZoom 9s ease-out forwards; }
@keyframes heroZoom { from { transform: scale(1.02); } to { transform: scale(1.12); } }
.hero_slides::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 26, 51, .45) 0%, rgba(7, 26, 51, .35) 45%, rgba(7, 26, 51, .78) 100%); }
.hero_in { position: relative; z-index: 2; flex-basis: 100%; text-align: center; }
.hero_eyebrow { margin: 0 0 16px; font-size: 13px; font-weight: 500; letter-spacing: .28em; color: rgba(255, 255, 255, .8); animation: fadeUp .9s var(--ease) both; }
.hero_in .header_main_text { padding-bottom: 14px; animation: fadeUp .9s .12s var(--ease) both; }
.hero_captions { position: relative; height: 32px; margin: 0 0 30px; font-size: 17px; color: rgba(255, 255, 255, .85); animation: fadeUp .9s .24s var(--ease) both; }
.hero_caption { position: absolute; left: 0; right: 0; top: 0; opacity: 0; transform: translateY(8px); transition: opacity .8s ease, transform .8s var(--ease); }
.hero_caption.is-active { opacity: 1; transform: none; }
.hero_btns { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; animation: fadeUp .9s .36s var(--ease) both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }

.hero_ctrl { position: absolute; left: 0; right: 0; bottom: 84px; z-index: 3; display: flex; justify-content: center; align-items: center; gap: 8px; }
.hero_dots { display: flex; gap: 8px; }
.hero_dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .45); cursor: pointer; transition: all .3s var(--ease); }
.hero_dot.is-active { width: 28px; background: var(--accent); }
.hero_pause { width: 28px; height: 28px; margin-left: 6px; padding: 0; border: 1px solid rgba(255, 255, 255, .5); border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.hero_pause::before { content: ''; width: 8px; height: 10px; border-left: 2.5px solid #fff; border-right: 2.5px solid #fff; }
.hero_pause.is-paused::before { width: 0; height: 0; border: 0; border-left: 9px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; margin-left: 3px; }
.hero_scroll { position: absolute; left: max(24px, calc(50% - var(--container) / 2)); bottom: 84px; z-index: 3; display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: .2em; color: rgba(255, 255, 255, .7); }
.hero_scroll::after { content: ''; width: 1px; height: 36px; background: linear-gradient(180deg, #fff, transparent); animation: scrollLine 1.8s ease-in-out infinite; }
@keyframes scrollLine { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* 바로가기 */
.quick { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: 44px; }
.quick_item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 118px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; font-size: 14px; font-weight: 500; color: var(--ink); cursor: pointer; transition: all .25s var(--ease); }
.quick_item svg { width: 30px; height: 30px; stroke: var(--navy-600); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s var(--ease); }
.quick_item:hover { border-color: var(--navy-500); box-shadow: var(--shadow); transform: translateY(-3px); color: var(--navy-700); }
.quick_item:hover svg { transform: scale(1.12); }

/* 섹션 공통 */
.sec_head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
.sec_eyebrow { display: block; margin: 0 0 4px; font-size: 12.5px; font-weight: 700; letter-spacing: .14em; color: var(--navy-500); }
.sec_title { margin: 0; font-size: 30px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; color: var(--ink); }
.sec_more { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; color: var(--ink-2); white-space: nowrap; transition: all .2s var(--ease); }
.sec_more::after { content: '→'; margin-left: 8px; transition: transform .2s var(--ease); }
.sec_more:hover { border-color: var(--navy-500); color: var(--navy-600); }
.sec_more:hover::after { transform: translateX(3px); }

/* 소식 밴드 (공지 + 평가 사례) */
.news_band { position: relative; margin: 88px 0 0; padding: 84px 0 92px; background: var(--navy-800); color: #fff; overflow: hidden; }
.news_band::before { content: ''; position: absolute; inset: 0; background: radial-gradient(900px 400px at 10% 0%, rgba(40, 100, 170, .45), transparent 60%), radial-gradient(700px 400px at 95% 100%, rgba(217, 164, 65, .18), transparent 60%); pointer-events: none; }
.news_in { position: relative; width: min(var(--container), calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: 1fr 1.25fr; gap: 56px; }
.news_band .sec_eyebrow { color: var(--accent); }
.news_band .sec_title { color: #fff; }
.news_band .sec_more { color: rgba(255, 255, 255, .85); border-color: rgba(255, 255, 255, .3); }
.news_band .sec_more:hover { border-color: #fff; color: #fff; background: rgba(255, 255, 255, .08); }
.notice_list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .18); }
.notice_list li { border-bottom: 1px solid rgba(255, 255, 255, .12); }
.notice_list a { display: flex; align-items: center; gap: 16px; padding: 16px 6px; color: rgba(255, 255, 255, .92); transition: padding .2s var(--ease), color .2s; }
.notice_list a:hover { padding-left: 12px; color: #fff; }
.notice_list .n_title { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 15.5px; }
.notice_list .n_date { flex: none; font-size: 12.5px; color: rgba(255, 255, 255, .55); letter-spacing: .02em; }
.notice_list .n_empty { padding: 28px 6px; color: rgba(255, 255, 255, .55); font-size: 14px; }
.case_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.case_card { position: relative; display: block; min-height: 150px; padding: 20px 20px 18px; border-radius: var(--radius); background-color: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #fff; overflow: hidden; background-size: cover; background-position: center; transition: transform .3s var(--ease), border-color .3s; }
.case_card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 42, 79, .35), rgba(11, 42, 79, .9)); }
.case_card > * { position: relative; }
.case_card:hover { transform: translateY(-4px); border-color: rgba(255, 255, 255, .35); }
.case_type { display: inline-block; margin-bottom: 12px; padding: 3px 10px; border-radius: 999px; background: rgba(217, 164, 65, .2); color: var(--accent); font-size: 12px; font-weight: 700; }
.case_title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 15.5px; font-weight: 500; line-height: 1.5; }
.case_date { margin-top: 12px; font-size: 12px; color: rgba(255, 255, 255, .55); }
.case_empty { grid-column: 1 / -1; padding: 28px 6px; color: rgba(255, 255, 255, .55); font-size: 14px; }

/* 스크롤 등장 */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.reveal_stagger > * { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal_stagger.in > * { opacity: 1; transform: none; }
.reveal_stagger.in > *:nth-child(2) { transition-delay: .08s; }
.reveal_stagger.in > *:nth-child(3) { transition-delay: .16s; }
.reveal_stagger.in > *:nth-child(4) { transition-delay: .24s; }
.reveal_stagger.in > *:nth-child(5) { transition-delay: .32s; }
.reveal_stagger.in > *:nth-child(6) { transition-delay: .40s; }
.reveal_stagger.in > *:hover { transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal_stagger > * { opacity: 1; transform: none; transition: none; }
  .hero_slide.is-active { animation: none; }
}

/* 메인 섹션 레이아웃 (grid) */
.idx_sec { margin-top: 84px; }
.idx_sec .sec_head { margin-bottom: 26px; }
.idx_area_row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.idx_area_row .idx_area { float: none; width: auto; margin: 0; }
.idx_two { display: grid; grid-template-columns: 1fr 300px; gap: 48px; margin-top: 84px; }
.idx_two .idx_lef, .idx_two .idx_rig { float: none; width: auto; }
.idx_two .idx_request { margin-top: 0; }
.idx_people_wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.idx_people_wrap .idx_people { float: none; width: auto; margin: 0; }

@media (max-width: 1023px) {
  body.home .idx_bg { margin-top: 0; padding-top: 64px; }
  body.home:not(.scrolled) div.header_main_logo img { filter: none; }
  body.home:not(.scrolled) div.header_main_go a, body.home:not(.scrolled) div.header_main_go span { color: var(--ink-3); background: #fff; border-color: var(--line); }
  .idx_bg { min-height: 520px; }
  .hero_ctrl { bottom: 70px; }
  .hero_scroll { display: none; }
  .hero_captions { font-size: 14px; height: auto; min-height: 44px; }
  .quick { grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 32px; }
  .quick_item { height: 96px; font-size: 13px; gap: 8px; }
  .quick_item svg { width: 24px; height: 24px; }
  .sec_title { font-size: 24px; }
  .news_band { margin-top: 56px; padding: 56px 0; }
  .news_in { grid-template-columns: 1fr; gap: 40px; }
  .idx_sec { margin-top: 56px; }
  .idx_area_row { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .idx_area_row .idx_area { height: 160px; }
  .idx_people_wrap { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .idx_two { grid-template-columns: 1fr; gap: 40px; margin-top: 56px; }
}
@media (max-width: 600px) {
  .quick { grid-template-columns: repeat(2, 1fr); }
  .case_grid { grid-template-columns: 1fr; }
  .idx_area_row { grid-template-columns: 1fr; }
  .idx_people_wrap { grid-template-columns: 1fr; }
  .header_main_text { font-size: 24px; }
}

/* 메인 계산기 카드 등장 */
body.home .idx_calculator { animation: fadeUp .9s .5s var(--ease) both; }

/* 푸터 유틸 링크 (HOME / 관리자) — 모바일에서만 표시, 데스크톱은 헤더에 있음 */
.footer_util { display: none; }
@media (max-width: 1023px) {
  .header_main_go { display: none; }
  .footer_util { display: flex; justify-content: center; gap: 8px; flex-basis: 100%; margin-top: 4px; }
  .footer_util a, .footer_util span { padding: 7px 16px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; font-size: 12.5px; color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .06); }
  .footer_util a:hover, .footer_util span:hover { color: #fff; border-color: rgba(255, 255, 255, .5); }
  .header_login { top: 50%; transform: translateY(-50%); }
}

/* 관리자 모드 바 (로그인 시 모든 페이지 상단) */
.admin_bar { position: relative; z-index: 890; background: var(--accent); color: var(--navy-900); font-size: 13.5px; }
.admin_bar_in { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; padding: 8px 0; }
.admin_bar_t { font-weight: 700; margin-right: 8px; letter-spacing: .02em; }
.admin_bar a { padding: 5px 12px; border-radius: 999px; background: rgba(7, 26, 51, .12); color: var(--navy-900); font-weight: 500; transition: background .2s; }
.admin_bar a:hover { background: rgba(7, 26, 51, .24); }
.admin_bar .admin_bar_out { margin-left: auto; background: var(--navy-900); color: #fff; }
.admin_bar .admin_bar_out:hover { background: var(--navy-700); }
body.home .admin_bar { position: sticky; top: 88px; }
@media (max-width: 1023px) {
  .admin_bar_in { width: calc(100% - 32px); font-size: 12.5px; }
  .admin_bar .admin_bar_out { margin-left: 0; }
  body.home .admin_bar { position: static; }
}
