@charset "utf-8";

/* ==========================================================================
   1. 그누보드 기본 레이아웃 초기화 & 풀스크린 강제 해제
   ========================================================================== */
#hd, #aside, #ft, .sound_only { display: none !important; }

/* ❌ [마케팅 빌드] 지저분한 순정 접속자집계(방문자 수) 모듈 전역에서 완전히 흔적도 없이 삭제 */
#visit, .visit, #visit_wr, .visit_wr { display: none !important; visibility: hidden !important; }

#wrapper { 
    padding: 0 !important; 
    margin: 0 !important; 
    width: 100% !important; 
    max-width: 100% !important; 
    min-width: 100% !important; 
    box-sizing: border-box !important;
}
#container_wr {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
#container { 
    padding: 0 !important; 
    margin: 0 !important; 
    width: 100% !important; 
    max-width: 100% !important; 
    min-width: 100% !important; 
}
#container_title { display: none !important; }
.container { width: 100% !important; max-width: 100% !important; padding: 0 !important; }

/* 그누보드 기본 .inner 클래스 무력화 및 우리 전용 울타리 고정 */
main#landing_page .inner {
    width: 100% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    display: block !important;
}
.mo-br {
    display: none !important;
}
/* ==========================================================================
   2. 글로벌 폰트 및 공통 스타일 설정
   ========================================================================== */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.font-myeongjo {
  font-family: 'Nanum Myeongjo', serif;
}

/* ==========================================================================
   3. 헤더 및 네비게이션 (GNB) - PC 초기 노출 및 스크롤 체인지 완전 보정
   ========================================================================== */
#landing_header {
    position: fixed;
    top: 0; 
    left: 0; 
    width: 100%;
    z-index: 99999 !important;
    transition: background 0.3s ease, box-shadow 0.3s ease, height 0.3s ease;
}
#landing_header.scrolled {
    background: #002c4a !important; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    padding:6px 0;
}

.header_inner {
    width: 100%;
    max-width: 1600px; 
    padding: 0 40px; 
    margin: 0 auto;
    box-sizing: border-box;
}
.header_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    transition: height 0.3s ease;
}
#landing_header.scrolled .header_flex {
    height: 80px; 
}

.header_inner .logo a {
    display: block;
}
.header_inner .logo img {
    display: block;
    max-height: 40px;
    width: auto;
}
.gnb.pc_gnb {
    display: block;
}
.gnb.pc_gnb ul {
    display: flex;
    list-style: none;
    gap: clamp(15px, 2.5vw, 65px);
    margin: 0; 
    padding: 0;
    align-items: center;
}
.gnb.pc_gnb a {
    text-decoration: none;
    color: #ffffff !important;
    font-weight: 500;
    font-size: clamp(15px, 1.2vw, 20px);
    transition: color 0.3s ease;
    white-space: nowrap;
    display: inline-block;
}
.gnb.pc_gnb a:hover {
    color: #ececec !important;
}

/* 모바일 전용 햄버거 토글 버튼 서식 (PC 모드 기본 숨김) */
.m_menu_toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 26px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 10001;
}
.m_menu_toggle .m_bar {
    width: 100%;
    height: 2px;
    background-color: #ffffff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* 모바일 전용 풀스크린 우측 슬라이드 메뉴 레이어 박스 서식 */
.m_menu_container {
    position: fixed;
    top: 0;
    right: -100%; 
    width: 100%;
    max-width: 300px;
    height: 100vh;
    background-color: #021a30;
    box-shadow: -5px 0 25px rgba(0,0,0,0.5);
    z-index: 999999;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
    transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.m_menu_container.open {
    right: 0; 
}
.m_menu_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 20px;
}
.m_menu_header .m_logo img {
    max-height: 28px;
    width: auto;
}
.m_menu_close {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}
.m_gnb ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.m_gnb a {
    text-decoration: none;
    color: #ffffff;
    font-size: 17px;
    font-weight: 500;
    display: block;
    padding: 5px 0;
    transition: color 0.3s;
}

/* ==========================================================================
   4. [섹션] 메인 비주얼 슬라이더 (#sec_visual)
   ========================================================================== */
#sec_visual {
    margin-top: 0;
    width: 100%;
    height: 100vh;
    color: #fff;
    overflow: hidden;
}
.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center;
}
.visual_text_box {
    text-align: center;
    width: 100%;
}
.visual_text_box h2 {
    font-size: 54px; 
    margin-bottom: 35px; 
    line-height: 1.3;
    letter-spacing: -3px;
    font-weight: 700;
}
.visual_text_box h2 span { color: #bebebe; }
.visual_text_box p { font-size: 20px; line-height: 1.6; opacity: 0.9; margin-bottom: 45px; }

.btn_consult {
    display: inline-block;
    padding: 15px 70px;
    border: 2px solid #fff;
    color: #fff;
    text-decoration: none;
    border-radius: 60px;
    font-size: 20px;
    transition: all 0.3s;
    font-weight: bold;
}
.btn_consult:hover {
    background: #fff;
    color: #0b2240;
}

.swiper-slide.slide_01 { background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/pc_slide_01.jpg') no-repeat center center / cover; }
.swiper-slide.slide_02 { background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/pc_slide_02.jpg') no-repeat center center / cover; }
.swiper-slide.slide_03 { background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/pc_slide_03.jpg') no-repeat center center / cover; }

.swiper-pagination { display: none !important; }
.swiper-button-prev::after, .swiper-button-next::after { display: none; }
.swiper-button-prev, .swiper-button-next {
    width: 50px;
    height: 50px;
    background-image: url('../img/ico-arrow.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.swiper-button-prev { left: 30px !important; opacity: 0.6; }
.swiper-button-next { right: 30px !important; transform: scaleX(-1); opacity: 0.6; }

/* ==========================================================================
   5. [섹션] 옛날 체크리스트 섹션 (#sec_checklist)
   ========================================================================== */
#sec_checklist {
    background: #fdfdfd;
    padding: 120px 0;
}
#sec_checklist .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 50px;
}
#sec_checklist .sec_title { width: 35%; }
#sec_checklist .sec_title span {
    font-size: 16px;
    color: #4e8df5;
    font-weight: 600;
    display: block;
    margin-bottom: 15px;
}
#sec_checklist .sec_title h3 {
    font-size: 32px;
    color: #222;
    line-height: 1.4;
    font-weight: 400;
}
#sec_checklist .sec_title h3 strong { font-weight: 700; color: #0b2240; }
#sec_checklist .check_grid {
    width: 60%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
#sec_checklist .check_card {
    background: #0b2240;
    padding: 40px 30px;
    border-radius: 12px;
    min-height: 140px;
    display: flex;
    align-items: center;
    box-shadow: 0 4px 15px rgba(11, 34, 64, 0.15);
}
#sec_checklist .check_card p {
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    word-break: keep-all;
    margin: 0;
}

/* ==========================================================================
   6. [섹션] 신규 구제 상황 체크 섹션 (.situation-section)
   ========================================================================== */
.situation-section {
  width: 100%;
  padding: 150px 0;
  background-color: #ffffff;
}
.situation-section .situation-container {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 100px;
}
.content-left {
  flex: 0 0 480px;
  width: 480px;
}
.content-left .sub-title {
  display: block;
  font-size: 16px;
  color: #666666;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
}
.content-left .main-title {
  font-size: 40px;
  line-height: 1.45;
  color: #999999;
  font-weight: 700;
  margin-bottom: 40px;
  letter-spacing: -1px;
}
.content-left .main-title span { color: #333; }
.content-left .main-title strong { color: #000000; font-weight: 700; }

.btn-consult {
  display: inline-block;
  padding: 14px 45px;
  border: 1px solid #333333;
  border-radius: 30px;
  color: #333333;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.btn-consult:hover { background-color: #333333; color: #ffffff; }

.card-right {
  flex: 1;
  max-width: 900px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.card-item {
  border-radius: 16px;
  padding: 40px 30px;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease;
}
.card-item:hover { box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
.card-item p {
  color: #ffffff;
  font-size: 24px;
  line-height: 1.55;
  font-family: 'Nanum Myeongjo', serif;
  font-weight: 600;
  letter-spacing: -0.5px;
  word-break: keep-all;
}
.card-item span { color: #b7f1ff; font-family: 'Nanum Myeongjo', serif; }

.card-dark-blue { background: linear-gradient(135deg, #072a4d, #0d3863); }
.card-blue { background: linear-gradient(135deg, #114b7a, #165b94); }
.card-deep-dark { background: linear-gradient(135deg, #021a30, #062847); }

/* ==========================================================================
   7. [정밀 교정 완료] 3대 솔루션 섹션 (.solution-section) 스타일 보정
   ========================================================================== */
.solution-section {
  width: 100%;
  padding: 120px 0;
  background: #002c4a url('../img/sec3_backg.png') no-repeat right center / cover;
  position: relative;
  overflow: hidden;
}
.solution-section .solution-container {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  justify-content: flex-start;
}
.solution-left {
  flex: 0 0 810px;
  width: 810px;
  color: #ffffff;
}
.solution-left .corp-name {
  display: block;
  font-size: 14px;
  color: #728ca3;
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}
.solution-left .sol-title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 35px;
  letter-spacing: -1px;
}
.solution-left .sol-title strong { font-weight: 700; color: #fffd37; }
.solution-left .sol-desc {
  font-size: 17px;
  line-height: 1.65;
  color: #cbdbe6;
  margin-bottom: 60px;
  font-weight: 400;
}
.sol-list-wrap h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 25px;
  letter-spacing: -0.5px;
}

/* ─────────────────────────────────────────────────────────
   ■ 3대 솔루션 리스트 카드 정렬 인스턴스 (핵심 가동 구역)
   ───────────────────────────────────────────────────────── */
.sol-list-container { 
    display: flex; 
    flex-direction: column; 
    gap: 16px; /* 카드와 카드 사이의 일정한 수직 마진 공간 배정 */
}

.sol-item {
    display: flex !important;
    align-items: stretch !important; /* ◀ 왼쪽 숫자방과 우측 텍스트방의 높이를 상시 100% 동일하게 고정 */
    width: 100% !important;
    background: #ffffff !important; /* ◀ 박스 전체에 명확한 백색 베이스 스킨 주입 */
    
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
}

.sol-num {
    flex: 0 0 65px !important; /* 숫자 방의 고정 가로 폭 확보 */
    background-color: #001421 !important; /* 내부 스페셜 다크 블랙스킨 매핑 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

.sol-text { 
    flex: 1 !important;
    font-size: 18px !important; 
    line-height: 1.55 !important; 
    color: #222222 !important; /* 폰트 색상을 선명한 흑색으로 복구 */
    font-weight: 400 !important; 
    padding: 20px 25px !important; /* ◀ 강제 height 대신 상하좌우 부드러운 유동 패딩룸으로 변경 (글자 터짐 원천 방어) */
    display: flex !important;
    align-items: center !important;
    word-break: keep-all !important;
}

.sol-text strong { 
    font-weight: 700 !important; 
    color: #002c4a !important; /* 타이틀 핵심 키워드는 정갈한 브랜드 네이비 핏으로 동기화 */
    display: inline-block !important; 
    margin-right: 6px !important; 
}

/* ==========================================================================
   9. [신규 섹션] 세금 면책 사례 탭 섹션 (.case-tab-section)
   ========================================================================== */
.case-tab-section { width: 100%; padding: 120px 0; background-color: #ffffff; }
.case-tab-inner { max-width: 1600px; margin: 0 auto; padding: 0 60px; }
.case-main-title { text-align: center; margin-bottom: 40px; }
.case-main-title .corp-name { display: block; font-size: 14px; color: #999999; letter-spacing: 1px; margin-bottom: 10px; }
.case-main-title h2 { font-size: 46px; font-weight: 700; color: #333333; }
.case-tab-nav { display: flex; justify-content: center; gap: 12px; margin-bottom: 60px; }
.case-nav-btn { padding: 14px 45px; background-color: #ffffff; border: 1px solid #002c4a; color: #002c4a; font-size: 16px; font-weight: 700; border-radius: 55px; cursor: pointer; transition: all 0.3s ease; }
.case-nav-btn.active, .case-nav-btn:hover { background-color: #002c4a; color: #ffffff; box-shadow: 0 6px 20px rgba(0, 44, 74, 0.2); }
.case-content-container { width: 100%; position: relative; }
.case-tab-content { display: none; width: 100%; justify-content: space-between; align-items: flex-start; gap: 80px; }
.case-tab-content.active { display: flex; }
.case-file-left { flex: 0 0 450px; width: 450px; }
.case-file-left .img-frame { width: 100%; overflow: hidden; }
.case-file-left .img-frame img { display: block; width: 100%; height: auto; object-fit: cover; }
.case-text-right { flex: 1; }
.case-subject { font-size: 34px; font-weight: 700; color: #444444; margin-bottom: 50px; padding-bottom: 25px; letter-spacing: -1px; border-bottom:1px solid #e1e1e1; }
.case-divider { border: none; border-top: 1px solid #e1e7ed; margin-bottom: 35px; }
.case-info-list { display: flex; flex-direction: column; gap: 30px; }
.info-item { display: flex; flex-direction: column; gap: 8px; }
.info-label { font-size: 20px; font-weight: 700; color: #333333; }
.info-val { font-size: 20px; color: #888888; line-height: 1.65; word-break: keep-all; }

/* ==========================================================================
   11. [신규 섹션] 진행 절차 4단 프로세스 섹션 (.process-step-section) 
   ========================================================================== */
.process-step-section { width: 100%; padding: 120px 0; background-color: #f2f6f9; }
.step-inner { max-width: 1600px; margin: 0 auto; padding: 0 20px; }
.step-title-wrap { text-align: center; margin-bottom: 70px; }
.step-title-wrap .corp-name { display: block; font-size: 14px; color: #8fa0af; letter-spacing: 1px; margin-bottom: 12px; }
.step-title-wrap h2 { font-size: 46px; font-weight: 700; color: #333333; margin-bottom: 20px; }
.step-title-wrap p { font-size: 20px; color: #666666; line-height: 1.6; }
.step-card-container { display: flex; justify-content: center; align-items: stretch; gap: 40px; flex-wrap: wrap; }
.step-card-item { width: 350px; max-width: 100%; background-color: #ffffff; padding: 50px 30px 45px 30px; border-radius: 24px; text-align: center; position: relative; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02); transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
.step-badge { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); background-color: #002c4a; color: #ffffff; font-size: 17px; font-weight: 700; padding: 12px 26px; border-radius: 40px; letter-spacing: 0.5px; border: 6px solid #f2f6f9; }
.step-icon { width: 100%; height: 140px; display: flex; justify-content: center; align-items: center; margin-bottom: 25px; margin-top: 5px; }
.step-icon img { width: auto; height: 100%; max-width: 100%; object-fit: contain; filter: drop-shadow(0 8px 15px rgba(14, 37, 101, 0.08)); transition: transform 0.3s ease; }
.step-card-item:hover .step-icon img { transform: scale(1.08); }
.step-card-title { font-size: 24px; font-weight: 700; color: #222222; margin-bottom: 17px; letter-spacing: -1px; }
.step-card-desc { font-size: 20px; color: #888888; line-height: 1.3;  letter-spacing: -0.7px; }
.step-card-item:hover { transform: translateY(-10px); box-shadow: 0 22px 45px rgba(14, 37, 101, 0.14); }

/* ==========================================================================
   12. [시안 반영] 가로 슬림형 빠른 상담문의 바 (.quick-dark-consult-section)
   ========================================================================== */
.quick-dark-consult-section { width: 100%; padding: 17px 0; background-color: #0b3275; border-top: 1px solid rgba(255, 255, 255, 0.1); border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.dark-consult-inner { max-width: 1600px; margin: 0 auto; padding: 0 40px; }
.dark-consult-flex { display: flex; justify-content: flex-start; align-items: center; width: 100%; }
.dark-consult-title { margin-right: auto; }
.dark-consult-title h3 { font-size: 22px; font-weight: 700; color: #ffffff; white-space: nowrap; letter-spacing: -1px; }
.dark-form-group { flex: unset; }
.dark-form-group.input-w1 { width: 200px; margin-right: 8px; } 
.dark-form-group.input-w2 { width: 280px; margin-right: clamp(15px, 2vw, 40px); } 
.dark-form-group.btn-w { width: 160px; }
.dark-consult-input { width: 100%; height: 48px; background-color: #ffffff; border: none; border-radius: 4px; padding: 0 15px; font-size: 15px; color: #222222; outline: none; }
.dark-consult-input::placeholder { color: #999999; }
.dark-agree-group { display: flex; align-items: center; gap: 5px; white-space: nowrap; margin-right: auto; }
.dark-agree-label { display: inline-flex; align-items: center; cursor: pointer; font-size: 15px; color: #ffffff; user-select: none; }
.dark-agree-label input[type="checkbox"] { margin-right: 8px; width: 16px; height: 16px; accent-color: #002c4a; }
.dark-agree-text { font-weight: 500; letter-spacing: -0.5px; }
.btn-dark-privacy { background: none; border: none; color: #ffffff; font-size: 15px; font-weight: 500; cursor: pointer; padding: 0; text-decoration: underline; }
.dark-submit-btn { width: 100%; height: 48px; background-color: #ffffff; color: #0b3275; font-size: 22px; font-weight: 700; border: none; border-radius: 4px; cursor: pointer; transition: all 0.3s ease; }
.dark-submit-btn:hover { background-color: #f5f7fa; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }

/* 모달 오버레이 팝업 코어 스타일 */
.privacy-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 100000; display: none; justify-content: center; align-items: center; padding: 20px; box-sizing: border-box; }
.privacy-modal-content { background-color: #ffffff; width: 100%; max-width: 650px; max-height: 80vh; border-radius: 16px; box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3); display: flex; flex-direction: column; overflow: hidden; animation: privacyModalFadeIn 0.35s ease; }
@keyframes privacyModalFadeIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.privacy-modal-header { padding: 24px 28px; border-bottom: 1px solid #edf2f7; display: flex; justify-content: space-between; align-items: center; }
.privacy-modal-header h3 { font-size: 20px; font-weight: 700; color: #1a202c; margin: 0; }
.privacy-modal-close { background: none; border: none; font-size: 30px; color: #a0aec0; cursor: pointer; }
.privacy-modal-body { padding: 28px; overflow-y: auto; font-size: 14px; color: #4a5568; line-height: 1.65; text-align: left; background-color: #fafbfc; }
.privacy-summary { font-weight: 500; color: #2d3748; margin-bottom: 20px; }
.privacy-section-item { margin-bottom: 20px; }
.privacy-section-item h4 { font-size: 15px; font-weight: 700; color: #1a202c; margin-bottom: 6px; }
.privacy-modal-footer { padding: 18px 28px; border-top: 1px solid #edf2f7; display: flex; justify-content: flex-end; }
.btn-modal-confirm { background-color: #002c4a; color: #ffffff; border: none; padding: 10px 30px; font-weight: 700; border-radius: 4px; cursor: pointer; }

/* ==========================================================================
   ■ PC 버전 우측 세로형 둥근 플로팅 퀵바 및 탑버튼 상시 디자인 선언
   ========================================================================== */
.d-pc-only { display: flex !important; }
.d-mo-only { display: none !important; }

.fixed-quick-menu {
    position: fixed !important;
    right: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important; /* 화면 세로 정중앙 고정 */
    width: 95px !important;
    background: #0b3275 !important; /* 해인 시그니처 딥네이비 컬러 고정 */
    border-radius: 55px !important;
    box-shadow: 0 10px 35px rgba(0, 44, 74, 0.25) !important;
    flex-direction: column !important;
    overflow: visible !important; /* ◀ TOP 버튼이 퀵바 최하단에 자연스럽게 묶여 표출되도록 탈출 통로 개방 */
    z-index: 9999 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 20px 0 15px 0 !important; /* 하단 둥근 핏 마감 패딩 밸런스 조정 */
}

.quick-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    position: relative !important;
    padding: 15px 0 !important;
}

/* ⚡ [요청사항 1 & 2] 가로 구분선 폭 60% 축소 및 맨 마지막 선 원천 소멸 통제선 */
.quick-item::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 50% !important;
    transform: translateX(-50%) !important; /* 가로 가운뎃점 정렬 축 고정 */
    width: 60% !important; /* ◀ 기존 100%에서 60%로 슬림 축소 마감 */
    height: 1px !important;
    background: rgba(255, 255, 255, 0.22) !important; /* 은은한 흰색 투명 가라선 배정 */
}
/* ◀ 맨 마지막 '오시는길' 하단부에는 선이 절대 나오지 않도록 완전 은닉 */
.quick-item:last-of-type::after {
    display: none !important;
    content: none !important;
}
.quick-custom-icon { width: 32px; height: 32px; object-fit: contain; margin-bottom: 6px; transition: transform 0.2s ease; }
.quick-item span { font-size: 12px; font-weight: 500; letter-spacing: -0.5px; color: #ffffff !important;padding-top:6px; }
.quick-item:hover .quick-custom-icon { transform: scale(1.12); }
.quick-item:hover span { color: #f5f5f5 !important; }

.quick-top-btn {
    position: fixed !important;
    right: 36px !important; /* ◀ 우측 퀵바 정렬 축과 자로 잰 듯이 센터 라인을 동기화합니다 */
    bottom: 210px !important;
    width: 83px !important;
    height: 83px !important;
    background: transparent !important; /* 배경을 투명하게 하여 테두리 링 효과 극대화 */
    border: none !important;
    padding: 0 !important;
    cursor: pointer;
    z-index: 9998 !important;
    outline: none !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* 시안의 원형 입체 링 구조를 구현하는 내부 코어 핵심 래퍼 */
.top-btn-circle-border {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    background: #0b3275 !important; /* 해인 시그니처 딥네이비 컬러 고정 */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    box-shadow: 0 8px 25px rgba(0, 44, 74, 0.3) !important;
    transition: all 0.3s ease !important;
}

/* ⚡ [핵심 연출] image_1bb306.png 특유의 투명 화이트 보더 외곽 링 생성 */


/* 상단 쉐브론 화살표 아이콘 정밀 센터 피팅 */
.top-btn-circle-border i {
    font-size: 13px !important;
    color: #ffffff !important;
    margin-bottom: 2px !important;
    transition: transform 0.3s ease !important;
}

/* 영문 대문자 'TOP' 자간 및 폰트 두께 매칭 */
.top-btn-circle-border span {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
    font-family: "Pretendard Variable", sans-serif !important;
}

/* ─────────────────────────────────────────────────────────
   ■ 마우스 호버(Hover) 시 고급 기획 모션 가동
   ───────────────────────────────────────────────────────── */
.quick-top-btn:hover {
    transform: translateY(-5px) !important; /* 마우스 오버 시 위로 5px 점프 인터랙션 */
}
.quick-top-btn:hover .top-btn-circle-border {
    background: #0b3275 !important; /* 호버 시 은은하고 활력 있는 스카이 블루 하이라이트 */
    box-shadow: 0 12px 30px rgba(0, 44, 74, 0.45) !important;
}
.quick-top-btn:hover .top-btn-circle-border i {
    transform: translateY(-3px) !important; /* 화살표 아이콘만 위로 튕기는 위트 모션 */
}
.quick-top-btn:hover { background: #111111; transform: translateY(-4px); }

/* 기본 순정 푸터 규격 상치 배치 */
#landing_footer { background:#111; padding:90px 20px; }
.footer_inner { max-width:1520px; margin:0 auto; display:flex; align-items:center; gap:60px; }
.footer_logo { flex-shrink:0; }
.footer_logo img { width:190px; display:block; }
.footer_info { color:rgba(255,255,255,0.75); font-size:16px; line-height:1.2; word-break:keep-all; }
.footer_info p { margin:0 0 6px; }
.footer_info .copyright { margin-top:6px; color:rgba(255,255,255,0.45); font-size:15px; }

/* ==========================================================================
   ■ [팝업 통제] 그누보드 순정 팝업 레이어를 최상위 레이어로 강제 격상
   ========================================================================== */
.hd_pops, .hd_pops_content, [id^="hd_pops_"] {
    z-index: 9999999 !important; /* ◀ 상단 헤더 메뉴(99999)보다 더 높은 울트라 레벨 배정 */
}
/* ==========================================================================
   8. 통합 반응형 레이아웃 통제 구역 (MEDIA QUERIES) - 최종 마감 완결본
   ========================================================================== */

/* 💻 [구간 1] 데스크탑 소형 해상도 (~ 1600px) */
@media (max-width: 1600px) {
.solution-section {
        background-position: 90% center !important;
    }
.quick-top-btn {
    position: fixed !important;
    right: 36px !important;
    bottom: 190px !important;
}
}
/* 💻 [구간 1] 데스크탑 소형 해상도 (~ 1400px) */
@media (max-width: 1400px) {
   
   .step-card-desc { font-size: 20px;}
   .solution-section {
        /* ⚡ 핵심 치트키: center center를 깨트리고 x축을 우측(85%~90%)으로 강제 유도합니다. 
           왼쪽 흰색 캡슐 카드들과 인물 실루엣이 자연스럽게 분리되어 텍스트 가독성이 극대화됩니다!
        */
       background-size: cover !important;
        background-position: 85% center !important;
    }
   
}

/* 💻 [구간 2] 노트북 및 대형 태블릿 (~ 1200px) */
@media (max-width: 1200px) {
    .situation-section .situation-container { gap: 50px; }
    .step-card-container { gap: 16px; }
    .step-card-item { width: calc(25% - 12px); padding: 45px 20px; }
    .step-card-title { font-size: 19px; }
    .step-card-desc { font-size: 14px; }
    .case-tab-inner { padding: 0 23px;word-break:keep-all; }
    .case-tab-content { gap: 40px; }
    .case-file-left { flex: 0 0 380px; width: 380px; }
    .case-subject { font-size: 26px; }
}

/* 💻 [구간 3] 일반 태블릿 및 노트북 하강 구간 (~ 1024px) */
@media (max-width: 1024px) {
.quick-dark-consult-section {
padding: 45px 0;
}
.step-badge{ padding: 11px 20px;}
.mo-br {
        display: block !important;
        content: "" !important;}
	.visual_text_box h2{font-size: 46px;}
    .header_flex { height: 75px; }
    .gnb.pc_gnb { display: none !important; }
    .m_menu_toggle { display: flex; }
    .header_inner { padding: 0 25px; }

    /* [체크리스트 섹션 모바일 전환 기본선 보존] */
    #sec_checklist .inner {
        flex-direction: column;
        gap: 40px;
    }
    #sec_checklist .sec_title, 
    #sec_checklist .check_grid {
        width: 100%;
    }
    #sec_checklist .check_grid {
        grid-template-columns: 1fr;
    }
    .solution-section {
        /* ⚡ 핵심 스펙: 이미지가 잘리지 않도록 크기를 가로폭 비율에 자동 동기화(contain)하고, 
           나머지 뚫리는 여백 영역은 브랜드 고유 네이비 컬러(#002c4a)가 빈틈없이 꽉 채우도록 바인딩 */
        background-color: #002c4a !important;
        background-image: url('../img/bg_law.png') !important;
        background-repeat: no-repeat !important;
        background-position: center bottom !important; /* 인물 PNG가 바닥면에 안정적으로 안착 */
        background-size: contain !important; /* ◀ 배경 이미지가 해상도에 맞춰 짤림 없이 100% 비율 리사이징 */
        padding: 130px 0 170px 0 !important;
    }
	.solution-section img{width:100%;}
    .solution-section .solution-container {
        padding: 0 20px !important; word-break:keep-all;
    }

    .solution-left {
        flex: 0 0 100%;
        width: 100%;
        text-align: center;
        max-width: 100% !important; /* 가로폭 제한 빗장 완전 해제 */
    }
	/* [텍스트 콘텐츠 통합 방] 내부 패딩룸 정돈 */
    .sol-text {
        flex: unset !important;
        width: 100% !important;
        height: auto !important; /* 고정 높이를 완벽 차단하여 텍스트 겹침현상 원천 방어 */
        padding: 24px 22px !important;
        display: flex !important;
        flex-direction: column !important; /* ◀ 타이틀과 내용을 위아래 수직으로 분리 적재 */
        align-items: flex-start !important; /* 글씨 시작선을 왼쪽 정렬로 통일 */
        text-align: left !important;
        word-break: keep-all !important;
    }
    /* [01번 숫자 방] 가로로 길쭉하던 형태를 상단 띠 배너 형태로 정형화 */
    .sol-num {
        flex: unset !important;
        width: 100% !important;
        height: 38px !important; /* 위쪽을 정갈하게 막아주는 두께감 배정 */
        background-color: #001421 !important;
        font-size: 15px !important;
        letter-spacing: 0.5px !important;
        padding: 0 !important;
    }
    
    .sol-list-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .sol-item {
        display: flex !important;
        flex-direction: column !important; /* ◀ 가로 정렬을 파괴하고 수직 3단 적재 구조로 변환 */
        align-items: stretch !important;
        background: #ffffff !important;
        border-radius: 12px !important; /* 모바일 장치에 맞춘 라운딩 볼륨감 업 */
        overflow: hidden !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
    }
	
	/* [요청사항 매핑] 중앙에 위치할 '타이틀' 독립 배치선 */
    .sol-text strong {
        display: block !important; /* ◀ inline 속성을 block으로 찢어서 다음 문장이 무조건 아래로 떨어지게 강제 조치 */
        font-size: 20px !important; /* 타이틀 글씨 크기 볼드 스케일업 */
        color: #002c4a !important;
        margin-right: 0 !important;
        margin-bottom: 10px !important; /* 타이틀 아래 내용과의 간격 쿠션 마진 배정 */
        font-weight: 700 !important;
    }

    /* [요청사항 매핑] 맨 마지막에 위치할 실제 '설명 내용' 문장 정돈선 */
    .sol-text strong + text, 
    .sol-text {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #555555 !important; /* 본문 텍스트는 가독성이 편안한 소프트 다크 그레이 핏 배정 */
        font-weight: 400 !important;
    }
	.case-nav-btn {font-size:15px;}
    .dark-consult-flex {
        display: flex !important;
        flex-direction: column !important; /* 세로 정렬 */
        align-items: center !important;    /* 자식 요소들 가로축 정중앙 배치 */
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
        padding: 0 20px !important;       /* 양옆 여백 가드선 */
        box-sizing: border-box !important;
    }

    /* 2. 타이틀 구역 마진 정리 */
    .dark-consult-title {
        width: 100% !important;
        margin-bottom: 15px !important;
        text-align: center !important;
    }

    /* 3. 이름, 전화번호, 상담신청 버튼 감싸는 방 크기를 동일하게 맞춰 정렬선을 맞춥니다. */
    .dark-form-group.input-w1,
    .dark-form-group.input-w2,
    .dark-form-group.btn-w {
        width: 100% !important;
        max-width: 1200px !important; /* 모바일에서 가장 보기 좋은 정갈한 폼 너비 */
        margin: 8px 0 !important;   /* 위아래 일정한 간격 유지 */
    }

    /* 4. 인풋창과 버튼 자체의 넓이를 100%로 꽉 채워 삐뚤어짐을 원천 차단합니다. */
    .dark-consult-input,
    .dark-submit-btn {
        width: 100% !important;
        text-align: center !important; /* 인풋 안의 placeholder 및 텍스트도 가운데 정렬 */
        box-sizing: border-box !important;
    }

    /* 5. 개인정보 동의 영역도 정중앙 정렬 정돈 */
    .dark-agree-group {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important; /* 내부 체크박스와 텍스트를 가운데로 모음 */
        align-items: center !important;
        margin: 10px 0 !important;
        font-size: 13px !important;
    }
	    .case-main-title h2 {font-size:28px;}
}

/* [구간 4] 소형 태블릿 및 가로 모바일 전용 대파괴 방어구간 (~ 991px) */

@media (max-width: 991px) {
    /* ⚡ [우선순위 최종 마감] 모바일 진입 시 PC 플로팅바 무조건 소멸 및 모바일바 강제 주출 */
    .d-pc-only { display: none !important; visibility: hidden !important; }
    .d-mo-only { display: flex !important; }
    body { padding-bottom: 62px !important; }
	.visual_text_box h2{font-size: 42px;}
    .mobile-sticky-bar {
        position: fixed !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 92px !important;
        background: #0b3275 !important;
        box-shadow: 0 -4px 20px rgba(0, 44, 74, 0.3) !important;
        z-index: 99998 !important; /* 최고 레벨로 올려 순정 접속자 집계를 찍어 누름 */
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .mo-bar-item {
        flex: 1;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none !important;
        color: #ffffff !important;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: -0.5px;
        border-right: 1px solid rgba(255, 255, 255, 0.08);
    }
    .mo-bar-item:last-child { border-right: none; }
    .mo-custom-icon { width: 22px; height: 22px; object-fit: contain; margin-bottom: 3px; }
    .mo-bar-item:active { background: rgba(255, 255, 255, 0.07); }

    .situation-section .situation-container { flex-direction: column; text-align: center; gap: 50px; padding: 0 30px; }
    .content-left { max-width: 100%; flex: unset; width: 100%; }
    .consult-form-flex { flex-direction: column; gap: 12px; }
    .form-group.size-name, .form-group.size-hp, .form-group.size-money, .form-group.size-submit { max-width: 100%; width: 100%; }
    .consult-input, .consult-submit-btn { height: 54px; font-size: 15px; }
    .consult-agree-wrap { flex-wrap: wrap; }
    .privacy-modal-content { max-height: 85vh; }
    .privacy-modal-body { padding: 20px; }

    .step-title-wrap h2 { font-size: 32px; }
    .step-card-item { width: calc(50% - 12px); }
    
    .case-tab-content.active { flex-direction: column; align-items: center; }
    .case-file-left { flex: unset; width: 100%; max-width: 450px; margin-bottom: 20px; }
    .case-text-right { width: 100%; }
   
}

/* 💻 [구간 4-2] 기본 푸터 반응형 브레이크 크로스 (768px) */
@media screen and (max-width: 768px){
	.visual_text_box h2{font-size: 28px; letter-spacing:-2.6px;word-break:keep-all;}
	.visual_text_box p{font-size:17px;word-break:keep-all;}
	.btn_consult{border:1px solid #fff;}
	.solution-left .sol-title {font-size:28px;}
	#sec_visual {height: 85vh;}
	.situation-section {padding: 120px 0;}
	.card-item p {font-size:18px;letter-spacing:-1px;word-break:keep-all;}
	.content-left .main-title {
    font-size: 28px;word-break:keep-all;}
	.solution-left .sol-desc {word-break:keep-all;}
	.case-nav-btn { padding: 5px 22px; font-size: 13px; }
    #landing_footer { padding:60px 24px 120px 24px; text-align:center;}
    .footer_inner { flex-direction:column; gap:24px; }
    .footer_logo img { width:160px; }
    .footer_info { font-size:13px; line-height:1.8; }
    .footer_info .copyright { font-size:12px; }
	.swiper-button-prev{display:none;}
	.swiper-button-next{display:none;}
    .case-tab-nav {gap:8px;}
}

/* 📱 [구간 5] 스마트폰 모바일 (~ 640px) */
@media (max-width: 640px) {
    .card-right { grid-template-columns: 1fr; }
    
    .sol-num { flex: 0 0 50px; width: 50px; font-size: 14px; }
    .sol-text { font-size: 14px; padding: 12px 15px; }
  
    .case-subject { font-size: 22px; }
    .info-label { font-size: 16px; }
    .info-val { font-size: 14px; }
    .process-step-section { padding: 80px 0; }
    .step-title-wrap h2 { font-size: 26px; }
    .step-title-wrap p { font-size: 15px; }
    .step-card-item { width: 100%; max-width: 377px; margin: 10px auto; }
}