@charset "utf-8";

/* 색 설정 — 디자인 수정안 2차(딥네이비/브라운) 기준 */
:root {
    --main-color: #3B3A50;   /* 레이블-메인 */
    --navy-color: #2c2b3d;
    --brown-color: #473E35;
    --beige-color: #C1A78E;  /* 포인트(밝은 베이지) */
    --gold-color: #917962;   /* 포인트(브라운골드) */
    --black-color: #222;
    --white-color: #fff;
    --light-purple: #BFBDEA;
}

/* size */
@media screen and (max-width: 1250px) { } /* tablet */
@media screen and (max-width: 960px) { } /* 중간 */
@media screen and (max-width: 650px) { } /* mobile */

/* 스크롤바 / 드래그 블록 커스텀 */
html::-webkit-scrollbar { width: 8px; }
html::-webkit-scrollbar-thumb { background-color: var(--main-color); border-radius: 10px; }
::selection { background-color: var(--main-color); color: #fff; }

/* default — 폰트/색은 부모에서 상속 */
* {
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color: inherit;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: normal;
}
body{ color: var(--white-color); background: var(--main-color); font-family: 'Pretendard', sans-serif; font-weight: 400; font-size: 16px; letter-spacing: -0.04em; }
section{ display: block; }
a, a:hover{ color: inherit; text-decoration: none; }
p{ word-break: keep-all; }
b{ font-weight: 600; }
img{ max-width: 100%; }
.main{ overflow-x: hidden; }
/* 레이아웃 컨테이너 */
.inner{ width: 1200px; margin: 0 auto; }
@media screen and (max-width: 1250px) { .inner{ width: 100%; padding: 0 2vw; } }
@media screen and (max-width: 650px) { .inner{ padding: 0 4vw; } }

/* 포인트색 */
.gold{ color: var(--gold-color); }
.beige{ color: var(--beige-color); }

/* select 화살표 커스텀 */
select{ -webkit-appearance: none; -moz-appearance: none; appearance: none; background: url('../img/common/select-icon.png') no-repeat 98% 50% #fff; }
select::-ms-expand{ display: none; }


/* header */
header{ position: fixed; top: 0; left: 0; width: 100%; height: 80px; z-index: 200; background: rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(255, 255, 255, 0.4); transition: background 0.3s ease, border-color 0.3s ease; }
header.on{ background: var(--navy-color); border-bottom-color: transparent; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); }
header .inner{ width: 100%; max-width: 1920px; height: 100%; padding: 0 35px; display: flex; align-items: center; justify-content: space-between; }
/* 로고 */
header .logo{ flex: 1; display: flex; justify-content: flex-start;}
header .logo-inner{display: flex; flex-direction: column; align-items: center; gap: 5px; }
header .logo .brand{ display: flex; align-items: center; gap: 7px; }
header .logo .brand span{ font-size: 22px; font-weight: 600; color: #fff; letter-spacing: 1.32px; }
header .logo .brand .mark{ width: 12px; height: 12px; }
header .logo .sub{ font-size: 10px; letter-spacing: 4.7px; color: #fff; }
/* 메인 메뉴 */
header nav{ flex: 1; display: flex; justify-content: center; }
header .menu-list{ display: flex; align-items: center; gap: 38px; }
header .menu-list li{ position: relative; }
header .menu-list li + li::before{ content: ''; position: absolute; left: -20px; top: 50%; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 50%; background: rgba(255, 255, 255, 0.5); }
header .menu-list a{ font-size: 16px; font-weight: 500; color: #fff; letter-spacing: -0.64px; transition: color 0.2s; }
header .menu-list a:hover{ color: var(--beige-color); }
/* 전화 버튼 */
.tel-wrap{flex: 1; justify-content: flex-end; display: flex; align-items: center; gap: 13px; }
.tel-btn{ height: 32px; padding: 0 13px; border-radius: 4px; background: #292929; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 18px; font-weight: 600; color: #fff; letter-spacing: -0.36px; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); text-decoration: none; white-space: nowrap; line-height: 1; }
.tel-btn:hover,
.tel-btn:focus{ color: #fff; text-decoration: none; }
.tel-btn.seoul{ border: 1px solid var(--gold-color); }
.tel-btn.gyeonggi{ border: 1px solid #7a75a1; }
.tel-btn .ico,
.tel-btn .ico-rable{ display: block; flex-shrink: 0; object-fit: contain; }
.tel-btn .ico{ width: 20px; height: 20px; max-width: 20px; max-height: 20px; }
.tel-btn .ico-rable{ width: auto; height: 16px; max-width: 80px; max-height: 16px;}
.tel-btn span{ font-size: 18px; font-weight: 600; color: #fff; letter-spacing: -0.36px; line-height: 1; }
/* 모바일 메뉴 버튼 */
header .menu-btn{ display: none; background: none; border: 0; color: #fff; padding: 0; cursor: pointer; }
@media  screen and (max-width: 1920px) {
    header nav{ flex: 2;}
}
@media  screen and (max-width: 1500px) {
    header .logo{flex: auto;}
    header nav{flex: auto; justify-content: flex-end;}
    .tel-wrap{ display: none;}
}
@media screen and (max-width: 1250px) {
    header nav, header .tel-wrap{ display: none; }
    header .menu-btn{ display: block; }
    header .menu-btn svg{width: 32px; height: 32px;}
    header .inner{ padding: 0 20px; }
    .tel-wrap{ display: flex;}
}


/* .aside-section (모바일 메뉴) */
.aside-section{ position: fixed; inset: 0; z-index: 300; visibility: hidden; }
.aside-section.active{ visibility: visible; }
.aside-section .close-bg{ position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity 0.3s; }
.aside-section.active .close-bg{ opacity: 1; }
.aside-section .menu-div{ z-index: 99; position: absolute; top: 0; right: 0; width: 280px; max-width: 80%; height: 100%; background: var(--navy-color); padding: 20px; transform: translateX(100%); transition: transform 0.3s; }
.aside-section.active .menu-div{ transform: translateX(0); }
.aside-section .btn-wrap{ text-align: right; }
.aside-section .close-btn{ background: none; border: 0; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.aside-section .menu .item{ display: block; padding: 16px 4px; font-size: 18px; font-weight: 500; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.aside-section .menu{ margin: 0; padding: 0; list-style: none; }
.aside-section .tel-wrap{ flex-direction: column; align-items: stretch; margin-top: 24px; gap: 10px; width: 100%; }
.aside-section .tel-wrap .tel-btn{ display: flex; flex-direction: row; align-items: center; justify-content: center; width: 100%; min-width: 0; height: 32px; overflow: hidden; }
.aside-section .tel-wrap .tel-btn img{ max-width: none; }


/* .main .visual-section (Hero) */
.main .visual-section{position: relative; background-image: url('../../img/rable/main/visual/background.jpg'); position: relative; height: 100vh; display: flex; justify-content: center; align-items: center; background-size: cover; background-repeat: no-repeat; background-position: center; }
.main .visual-section .inner{ width: 1200px; }
/* 상단 카피 + 파트너 카드 */
.main .visual-section .visual-head{ display: flex; justify-content: center; align-items: flex-start; gap: 30px; }
.main .visual-section .main-title{ text-align: center; word-break: keep-all; font-size: 32px; font-weight: 400; line-height: 1.4; color: #fff; text-shadow: 3px 6px 9px rgba(0, 0, 0, 0.25); }
.main .visual-section .partner-card{ flex: 0 0 407px; height: 90px; border: 1px solid #7f7f7f; border-radius: 10px; background: rgba(0, 0, 0, 0.1); backdrop-filter: blur(33px); display: flex; align-items: center; justify-content: center; gap: 22px; }
.main .visual-section .partner-card .p-item{ display: flex; align-items: center; gap: 8px; }
.main .visual-section .partner-card .hanseol .symbol{ width: 29px; height: 30px; }
.main .visual-section .partner-card .hanseol .word{ width: 104px; height: 14px; }
.main .visual-section .partner-card .x{ font-size: 16px; color: #fff; }
.main .visual-section .partner-card .x img{ vertical-align: center; }
.main .visual-section .partner-card .rable .word{ height: 40px; width: auto; }
/* 배너 */
.main .visual-section .visual-banner{width: 100%; position: relative; margin-top: 80px; display: flex; align-items: center; justify-content: center; }
/* .main .visual-section .visual-banner::before{content: ' '; position: absolute; top: 0; left: 0; height: 10px; width: 100%; background-color: var(--gold-color);}  */
/* .main .visual-section .visual-banner::after{content: 'Intellectual Property Center'; width: 100%; position: absolute; bottom: -20px; left: 50%; transform: translate(-50%); color: rgba(255, 255, 255, 0.03);text-align: center;font-family: "PT Serif";font-size: 96px;font-style: italic;letter-spacing: 1.92px;} */
/* .main .visual-section .visual-banner .bg-img{ position: absolute; top: 0; height: 100%; width: auto; opacity: 0.4; object-fit: cover; } */
/* .main .visual-section .visual-banner .bg-img.left{ left: 0; -webkit-mask-image: linear-gradient(90deg, #000 20%, transparent); mask-image: linear-gradient(90deg, #000 20%, transparent); } */
/* .main .visual-section .visual-banner .bg-img.right{ right: 0; -webkit-mask-image: linear-gradient(270deg, #000 20%, transparent); mask-image: linear-gradient(270deg, #000 20%, transparent);} */
.main .visual-section .visual-banner .banner-title{width: 100%; position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; font-size: 52px; font-weight: 600; color: var(--beige-color); letter-spacing: 2.08px; text-shadow: 3px 6px 9px rgba(0, 0, 0, 0.25); }
.main .visual-section .visual-banner .banner-title .brand-label{ display: flex; align-items: center; justify-content: center;}
.main .visual-section .visual-banner .banner-title .brand-label .txt,
.main .visual-section .visual-banner .banner-title span{ font-size: 18px; font-weight: 500; color: #Fff;}
.main .visual-section .visual-banner .banner-title .line{width: 50%; height: 1px;background: linear-gradient(90deg, rgba(193, 167, 142, 0.00) 0%, #C1A78E 50%, rgba(193, 167, 142, 0.00) 100%);}
.main .visual-section .visual-banner .banner-title .line.top{margin: 10px 0 40px 0;}
.main .visual-section .visual-banner .banner-title .line.bottom{margin: 40px 0 10px 0;}
.main .visual-section .visual-banner .bracket{ width: 20px; height: auto; }
.main .visual-section .visual-banner .bracket.l{ align-self: flex-start; }
.main .visual-section .visual-banner .bracket.r{ transform: rotate(180deg); align-self: flex-end; }
/* 질문 카피 */
.main .visual-section .visual-q{ text-align: center; margin-top: 100px; }
.main .visual-section .visual-q .q-title{ font-size: 32px; font-weight: 600; color: #fff; text-shadow: 3px 6px 9px rgba(0, 0, 0, 0.25); }
.main .visual-section .visual-q .q-title br{display: none;}
.main .visual-section .visual-q .q-sub{ margin-top: 14px; font-size: 18px; color: #fff; }
/* 3단계 카드 */
.main .visual-section .step-cards{ position: relative; margin-top: 30px; display: flex; gap: 20px; }
.main .visual-section .step-card{ flex: 1; height: 140px; padding: 0 20px; border-radius: 10px; background: #302f37; backdrop-filter: blur(33px); display: flex; align-items: center; gap: 18px; }
.main .visual-section .step-card .ico{ width: 100px; height: 100px; border-radius: 50%; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); display: flex; align-items: center; justify-content: center; }
.main .visual-section .step-card .ico img{ width: 56px; height: auto; }
.main .visual-section .step-card .txt .t{ font-size: 24px; font-weight: 700; color: #fff; letter-spacing: -0.96px; }
.main .visual-section .step-card .txt .d{ margin-top: 12px; font-size: 18px; line-height: 1.28; color: #bcbcbc; letter-spacing: -0.72px; }
.main .visual-section .step-card .txt .d b{ color: #fff; font-weight: 400; }
/* .main .visual-section .step-card .txt.center{ text-align: center; } */
/* 스크롤 다운 */
.main .visual-section .scroll-down{position: absolute; bottom: 50px; text-align: center; color: #fff; }
.main .visual-section .scroll-down p{ font-size: 16px; font-weight: 700; letter-spacing: -0.64px; }
.main .visual-section .scroll-down .chevrons{ display: flex; flex-direction: column; align-items: center; gap: 0; margin-top: 8px; animation: scrollChevron 1.4s ease-in-out infinite; }
.main .visual-section .scroll-down .chevron{ display: block; width: 10px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.main .visual-section .scroll-down .chevron + .chevron{ margin-top: 0px; }
.main .visual-section .scroll-down .chevron:nth-child(1){ opacity: 1; }
.main .visual-section .scroll-down .chevron:nth-child(2){ opacity: 0.7; }
.main .visual-section .scroll-down .chevron:nth-child(3){ opacity: 0.4; }
@keyframes scrollChevron { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
@media screen and (max-width: 1920px) {
    .main .visual-section .visual-banner{margin-top: 30px;}
    .main .visual-section .visual-q{margin-top: 50px;}
}
@media screen and (max-width: 1250px) {
    .main .visual-section .main-title{font-size: 28px; width: 100%;}
    .main .visual-section .visual-head{ flex-direction: column; }
    .main .visual-section .visual-q .q-title{font-size: 28px;}
    .main .visual-section .partner-card{ width: 100%; flex: none; }
    /* .main .visual-section .visual-banner::after{font-size: 72px;} */
    .main .visual-section .visual-banner .banner-title{ font-size: 38px;}
    .main .visual-section .visual-banner .banner-title .line.top{margin: 10px 0 30px 0;}
    .main .visual-section .visual-banner .banner-title .line.bottom{margin: 30px 0 10px 0;}
    .main .visual-section .visual-banner .banner-title .brand-label .txt{ font-size: 14px; }
    .main .visual-section .visual-banner .banner-title span{font-size: 14px;}
    .main .visual-section .step-card .ico{ width: 60px; height:60px; flex-shrink: 0; }
    .main .visual-section .step-card .ico img{ width: 30px; }
    .main .visual-section .step-card{ padding:15px; }
    .main .visual-section .step-card .txt .t{ font-size: 20px; }
    .main .visual-section .step-card .txt .d{ line-height: 1.5em; margin-top: 5px; font-size: 16px; }
    .main .visual-section .visual-q .q-title br{display: none;}
}
@media screen and (max-width: 960px) {
    .main .visual-section{ padding: 120px 0 50px; }
    .main .visual-section .main-title{ font-size: 22px; }
    .main .visual-section .partner-card{ flex-direction: column; height: auto; gap: 12px; padding: 16px; }
     /* .main .visual-section .visual-banner::after{font-size: 52px;} */
    .main .visual-section .visual-banner .banner-title{ font-size: 28px;}
    .main .visual-section .visual-banner .bracket{ width: 14px; }
    .main .visual-section .visual-q .q-title{ font-size: 20px;font-weight: 500; }
    .main .visual-section .visual-q .q-sub{ font-size: 15px; }
    .main .visual-section .step-cards{ flex-direction: column; }
    .main .visual-section .step-card{ height: unset; padding: 20px; }
    .main .visual-section .step-card .ico{ flex:unset; flex-shrink: 0; width: 70px; height: 70px; }
    .main .visual-section .step-card .ico img{ width: 40px; }

    .main .visual-section .step-card .txt .t{ font-size: 18px; }
    .main .visual-section .step-card .txt .d{ margin-top: 5px; font-size: 16px; line-height: 1.5em; }
}
@media screen and (max-width: 960px) {
    .main .visual-section {height: auto;}
    .main .visual-section .visual-q .q-sub{display: none;}
    .main .visual-section .step-cards{gap: 10px;}
    .main .visual-section .scroll-down{display: none;}
}
@media screen and (max-width: 650px){
    .main .visual-section .visual-q .q-title br{display: block;}
    .main .visual-section .step-cards{margin-top: 20px;}
}
/* .main .intro-section (인트로 배너 / sec2) */
.main .intro-section{ position: relative; padding: 100px 0; background: #000; overflow: hidden; text-align: center; }
.main .intro-section .bg{ position: absolute; inset: 0; z-index: 0; }
.main .intro-section .bg img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.2; }
.main .intro-section .inner{ position: relative; z-index: 1; }
.main .intro-section .label{ display: inline-block; padding: 6px 18px; border-radius: 3px; background: rgba(94, 93, 126, 0.8); font-size: 18px; font-weight: 500; color: #fff; }
.main .intro-section .main-title{ margin-top: 20px; font-size: 52px; font-weight: 600; line-height: 1.25; color: var(--beige-color); letter-spacing: -1.04px; text-shadow: 3px 5px 8px rgba(0, 0, 0, 0.25); }
.main .intro-section .main-content{ margin-top: 30px; font-size: 24px; font-weight: 500; line-height: 1.4; color: #fff; }
.main .intro-section .design-btn{ font-family: 'Pyeong Chang'; display: inline-flex; align-items: center; gap: 10px; margin-top: 80px; padding: 0 32px; height: 64px; border-radius: 14px; border: 1px solid #868391; background: rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); font-size: 20px; color: #fff; }
.main .intro-section .design-btn b{ font-weight: 700; }
.main .intro-section .design-btn .ico{ width: 30px; height: 32px; object-fit: contain; }
.main .intro-section::after{ content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 5px; background: linear-gradient(90deg, var(--gold-color), #7472a0); }
.main .intro-section .mo-br{ display: none; }
@media screen and (max-width: 1250px){
    .main .intro-section{padding: 80px 0;}
    .main .intro-section .design-btn{margin-top: 60px; font-size: 18px;}
    .main .intro-section .main-title{font-size: 36px;}
    .main .intro-section .main-content{font-size: 22px;}
}
@media screen and (max-width: 960px) {
    .main .intro-section{padding: 60px 0;}
    .main .intro-section .main-title{ font-size: 32px; }
    .main .intro-section .main-content{ font-size: 20px; }
    .main .intro-section .design-btn{margin-top: 40px;}
}
@media screen and (max-width: 650px) {
    .main .intro-section{ height: auto; padding: 40px 0; }
    .main .intro-section .label{ line-height: 1.5em; }
    .main .intro-section .main-title{ line-height: 1.5em; font-size: 28px; }
    .main .intro-section .main-content{ line-height: 1.5em; font-size: 18px; }
    .main .intro-section .design-btn{ font-size: 16px; height: 56px; padding: 0 22px; }
    .main .intro-section .mo-br{ display: inline-block; }
}


/* .main .oneline-section (한 줄 메시지 / sec3) */
.main .oneline-section{ padding: 100px 0; background: #2a2a2a; display: flex; align-items: center; }
.main .oneline-section .mo-br{ display: none; } 
.main .oneline-section .inner{ text-align: center; }
.main .oneline-section .quote-title{ position: relative; display: inline-block; padding: 0 60px; }
.main .oneline-section .quote-title .q-mark{ position: absolute; top: -10px; font-size: 64px; line-height: 1; color: rgba(193, 167, 142, 0.3); font-weight: 700; }
.main .oneline-section .quote-title .q-mark.l{ left: 0; }
.main .oneline-section .quote-title .q-mark.r{ right: 0; transform: rotate(180deg); top: 0; }
.main .oneline-section .main-title{ word-break: keep-all; font-size: 42px; font-weight: 500; line-height: 1.2; color: #fff; letter-spacing: -0.84px; }
.main .oneline-section .main-title b{ font-weight: 700; }
.main .oneline-section .divider-label{ display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 10px; }
.main .oneline-section .divider-label .line{ width: 80px; height: 1px; background: var(--gold-color); }
.main .oneline-section .divider-label .txt{ font-size: 20px; font-weight: 700; color: #fff; }
.main .oneline-section .sub{ margin-top: 14px; font-size: 16px; font-weight: 500; line-height: 1.44; color: #fff; }
@media screen and (max-width: 1250px) {
.main .oneline-section{padding: 80px 0;}
.main .oneline-section .main-title,
.main .oneline-section .main-title b{font-size: 32px;}
}
@media screen and (max-width: 960px) {
    .main .oneline-section{padding: 60px 0;}
    .main .oneline-section .main-title,
    .main .oneline-section .main-title b{ font-size: 24px; }
    .main .oneline-section .divider-label .txt{font-size: 18px;}
}
@media screen and (max-width: 650px) {
    .main .oneline-section{ height: auto; padding: 40px 0; }
    .main .oneline-section .main-title,
    .main .oneline-section .main-title b{ line-height: 1.5em; font-size: 22px; }
    .main .oneline-section .quote-title{ padding: 0 30px; }
    .main .oneline-section .quote-title .q-mark{ font-size: 40px; }
    .main .oneline-section .divider-label .line{ display: none;}
    .main .oneline-section .divider-label .txt{ line-height: 1.5em; font-size: 16px; }
    .main .oneline-section .mo-br{ display: inline-block; }
}


/* .main .sec-head (공통: 섹션 헤더 바) */
.main .sec-head{ background-color: #282531; border-radius: 4px; display: flex; align-items: center; gap: 20px; height: 86px; padding: 0 30px; border-radius: 4px; }
.main .sec-head .brand{ display: flex; align-items: center; gap: 9px; }
.main .sec-head .brand .logo{ width: 220px; height: 45px; object-fit: contain;}
.main .sec-head .brand .word{ width: 156px; height: 21px; }
.main .sec-head .brand .wordmark{ height: 25px; width: auto; object-fit: contain;}
.main .sec-head .bar{ width: 40px; height: 1px; background: #d9d9d9; }
.main .sec-head .label{ font-size: 20px; font-weight: 700; letter-spacing: -0.8px; color: #C1A78E; }
@media screen and (max-width: 960px) {
    .main .sec-head .brand .logo{width: 200px; height: 40px;}
}
@media screen and (max-width: 650px) {
    .main .sec-head .brand .logo{width: 160px; height: 30px;}
    .main .sec-head .brand .wordmark{width: 180px; height: 30px;}
    .main .sec-head{ height: auto; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 20px; }
    .main .sec-head .bar{ display: none; }
}


/* .main .lawyer-section (변호사 소개 / sec4) */
.main .lawyer-section{ position: relative; padding: 50px 0 100px; background: #111; overflow: hidden; }
.main .lawyer-section::before{content: 'HANSEOL'; line-height: normal; position: absolute; bottom: 0px; left: 30px; font-size: 160px; font-weight: 500; color: rgba(255, 255, 255, 0.08); font-family: "Noto Serif", serif;}
.main .lawyer-section .bg img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.1; }
.main .lawyer-section .inner{ position: relative; z-index: 1; }
.main .lawyer-section .sec-head{ background: #36393c; }
.main .lawyer-section .sub-head{ display: flex; align-items: center; gap: 14px; margin-top: 30px; font-size: 24px; font-weight: 500; color: #fff; }
.main .lawyer-section .sub-head .ico{ width: 34px; height: 34px; object-fit: contain; }
/* 변호사 카드 */
.main .lawyer-section .lawyer-card{ display: flex; align-items: center; gap: 40px; margin-top: 30px; padding: 30px 40px; border-radius: 10px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(5px); }
.main .lawyer-section .lawyer-card .photo{ flex: 0 0 340px; text-align: center; }
.main .lawyer-section .lawyer-card .img-wrap{ position: relative; width: 300px; height: 300px; margin: 0 auto; }
.main .lawyer-section .lawyer-card .img-wrap .frame{ position: absolute; left: 50%; top: 48%; transform: translate(-50%, -50%); width: 252px; height: 261px; z-index: 0; opacity: 0.9; }
.main .lawyer-section .lawyer-card .img-wrap .portrait{ position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
.main .lawyer-section .lawyer-card .badge{ position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 8px; width: 340px; height: 52px; margin: -6px auto 0; background: #222; border-radius: 4px; }
.main .lawyer-section .lawyer-card .badge .br{ color: var(--beige-color); font-size: 20px; }
.main .lawyer-section .lawyer-card .badge .name{ font-size: 22px; font-weight: 500; color: var(--beige-color); letter-spacing: -0.88px; }
.main .lawyer-section .lawyer-card .badge .role{ font-size: 16px; font-weight: 500; color: #fff; }
.main .lawyer-section .lawyer-card .caption{ margin-top: 14px; font-size: 20px; font-weight: 500; color: #fff; }
.main .lawyer-section .lawyer-card .points{ flex: 1; display: flex; flex-direction: column; gap: 22px; }
.main .lawyer-section .lawyer-card .points li{ display: flex; gap: 14px; }
.main .lawyer-section .lawyer-card .points .ico{ flex: 0 0 22px; width: 22px; height: 27px; margin-top: 6px; object-fit: contain; }
.main .lawyer-section .lawyer-card .points .t{ font-size: 28px; font-weight: 600; color: #fff; line-height: 1.4; }
.main .lawyer-section .lawyer-card .points .d{ margin-top: 8px; font-size: 18px; line-height: 1.4; color: #d9d9d9; }
@media screen and (max-width: 1250px) {
    .main .lawyer-section::before{font-size: 120px;}
    .main .lawyer-section .lawyer-card{ gap: 24px; }
    .main .lawyer-section .lawyer-card .points .t{font-size: 22px;}
    .main .lawyer-section .lawyer-card .points .d br{ display: none; }
}
@media screen and (max-width: 960px) {
    .main .lawyer-section::before{font-size: 100px;}
    .main .lawyer-section .lawyer-card{ flex-direction: column; }
    .main .lawyer-section .lawyer-card .photo{ flex: none; }
    .main .lawyer-section .lawyer-card .points .d{ font-size: 16px; }
}
@media screen and (max-width: 650px) {
    .main .lawyer-section .sub-head .ico{width: 24px; height: 24px;}
    .main .lawyer-section::before{display: none;}
    .main .lawyer-section .sub-head{ font-size: 17px; align-items: flex-start; }
    .main .lawyer-section .lawyer-card{ padding: 30px 20px; }
    .main .lawyer-section .lawyer-card .points .ico{ width: 15px; height: 20px; }
    .main .lawyer-section .lawyer-card .points .t{ font-size: 20px; }
    .main .lawyer-section .lawyer-card .points .d{ font-size: 15px; }
}


/* .main .vari-section (변리사 소개 / sec5) */
.main .vari-section{position: relative; padding: 50px 0 100px; background-color: #2f2e40; overflow: hidden; }
.main .vari-section::before{content: 'R.able'; line-height: normal; position: absolute; bottom: 0px; left: 30px; font-size: 160px; font-weight: 500; color: rgba(255, 255, 255, 0.08); font-family: "Noto Serif", serif;}
.main .vari-section .bg{ position: absolute; inset: 0; z-index: 0; }
.main .vari-section .bg img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.06; }
.main .vari-section .inner{ position: relative; z-index: 1; }
.main .vari-section .sec-head .label{ color: #fff; }
.main .vari-section .vari-grid{ display: flex; flex-direction: column; gap: 24px; margin-top: 60px; }
.main .vari-section .vari-card{ padding: 30px; border-radius: 10px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(5px); }
.main .vari-section .vari-card > .t{ display: flex; align-items: center; gap: 10px; font-size: 28px; font-weight: 700; color: #fff; line-height: 1.4; }
.main .vari-section .vari-card > .t .ico{ flex: 0 0 27px; width: 27px; height: 27px; object-fit: contain; }
.main .vari-section .vari-card .body{ display: flex; flex-direction: row; align-items: stretch; gap: 40px; margin-top: 28px; }
.main .vari-section .vari-card .photo{ display: flex; flex-direction: column; align-items: center; flex: 0 0 340px; text-align: center; }
.main .vari-section .vari-card .img-wrap{ position: relative; flex-shrink: 0; width: 300px; height: 300px; margin: 0 auto; }
.main .vari-section .vari-card .img-wrap .frame{ position: absolute; left: 50%; top: 40px; transform: translateX(-50%); width: 240px; height: auto; z-index: 0; opacity: 0.4; pointer-events: none; object-fit: contain; }
.main .vari-section .vari-card .img-wrap .portrait{ position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
.main .vari-section .vari-card .badge{ position: relative; z-index: 2; display: inline-flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 8px; width: auto; max-width: 100%; min-height: 52px; padding: 8px 14px; margin: auto auto 0; background: #222; border-radius: 4px; white-space: nowrap; }
.main .vari-section .vari-card .badge .br{ color: var(--beige-color); font-size: 16px; line-height: 0; flex-shrink: 0; }
.main .vari-section .vari-card .badge .start-end-icon{ display: block; width: auto; height: 14px; flex-shrink: 0; }
.main .vari-section .vari-card .badge .name{ font-size: 22px; font-weight: 500; color: var(--beige-color); letter-spacing: -0.88px; white-space: nowrap; flex-shrink: 0; }
.main .vari-section .vari-card .badge .role{ font-size: 16px; font-weight: 500; color: #fff; letter-spacing: -0.64px; line-height: 1; white-space: nowrap; flex-shrink: 0; }
.main .vari-section .vari-card .points{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 24px; padding-top: 4px; }
.main .vari-section .vari-card .points li{ display: flex; align-items: flex-start; gap: 14px; }
.main .vari-section .vari-card .points > li > .ico{ flex: 0 0 22px; width: 22px; height: 27px; margin-top: 4px; object-fit: contain; }
.main .vari-section .vari-card .points .txt .t{ font-size: 24px; font-weight: 600; color: #fff; line-height: 1.4; word-break: keep-all; }
.main .vari-section .vari-card .points .txt .d{ margin-top: 8px; font-size: 18px; line-height: 1.5; color: #d9d9d9; word-break: keep-all; }
@media screen and (max-width: 1250px) {
    .main .vari-section .vari-card > .t{ align-items: flex-start; font-size: 24px; }
    .main .vari-section .vari-card > .t .ico{ margin-top: 5px; }
    .main .vari-section .vari-card .body{ gap: 32px; }
    .main .vari-section .vari-card .points .txt .t{ font-size: 22px; }
    .main .vari-section::before{font-size: 120px;}
}
@media screen and (max-width: 960px) {
    .main .vari-section .vari-card .body{flex-direction: column;}
    .main .vari-section .vari-card .points .txt .d{font-size: 16px;}
    .main .vari-section .vari-card .points .txt .d br{display: none;}
    .main .vari-section::before{font-size: 100px;}
}
@media screen and (max-width: 768px) {
    .main .vari-section .vari-card .body{ gap: 28px; }
}
@media screen and (max-width: 650px) {
    .main .vari-section .vari-grid{margin-top: 40px;}
    .main .vari-section .vari-card{ padding: 24px 20px; }
    .main .vari-section .vari-card > .t{ font-size: 20px; }
    .main .vari-section .vari-card .body{ flex-direction: column; align-items: stretch; gap: 24px; }
    .main .vari-section::before{display: none;}
    .main .vari-section .vari-card .photo{ flex: none; width: 100%; margin: 0 auto; }
    .main .vari-section .vari-card .badge{ margin: -6px auto 0; }
    .main .vari-section .vari-card .img-wrap{ width: 260px; height: 260px; }
    .main .vari-section .vari-card .img-wrap .frame{ width: 150px; top: 30px; }
    .main .vari-section .vari-card .badge{ gap: 6px; padding: 8px 12px; }
    .main .vari-section .vari-card .badge .name{ font-size: 18px; }
    .main .vari-section .vari-card .badge .role{ font-size: 14px; }
    .main .vari-section .vari-card .points{ padding-top: 0; gap: 18px; }
    .main .vari-section .vari-card .points > li > .ico{ width: 15px; height: 20px; }
    .main .vari-section .vari-card .points .txt .t{ font-size: 20px; }
    .main .vari-section .vari-card .points .txt .d{ font-size: 15px; }
    .main .vari-section .vari-card .points .txt .d br{ display: none; }
}


/* .main .value-section (전담센터 가치 비교 / sec6) */
.main .value-section{ padding: 100px 0; background: #d9d9dd; color: #333; text-align: center; }
.main .value-section .mo-br{ display: none; }
.main .value-section .value-head .brand-label{ display: flex; align-items: center; justify-content: center; gap: 16px; color: #69688E; }
.main .value-section .value-head .brand-label .line{ width: 39px; height: 1px; background-color: #69688E; }
.main .value-section .value-head .brand-label .txt{ font-size: 16px; font-weight: 500; color: #69688E; letter-spacing: -0.32px; }
.main .value-section .value-head .main-title{ margin-top:10px; font-size: 36px; font-weight: 700; color: #333; letter-spacing: -0.7px; }
.main .value-section .value-head .sub{ margin-top: 10px; font-size: 18px; font-weight: 500; color: #333; }
.main .value-section .value-head .mo-br{ display: none; }
.main .value-section .compare-wrap{ display: flex; gap: 20px; margin-top: 46px; text-align: left; }
.main .value-section .compare-col.normal{ flex: 0 0 488px; }
.main .value-section .compare-col.ours{ flex: 1; }
.main .value-section .col-head{ height: 56px; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #f4f4f4; }
.main .value-section .compare-col.normal .col-head{ background: #3b3a50; font-weight: 500; }
.main .value-section .compare-col.ours .col-head{ background: #282531; font-weight: 700; color: #edcfb2; }
.main .value-section .col-body{ height: 497px; box-shadow: 10px 19px 19px rgba(0, 0, 0, 0.15); }
.main .value-section .compare-col.normal .col-body{ background: #fffaf5; display: flex; flex-direction: column; }
.main .value-section .compare-col.ours .col-body{ background: #dedede; padding: 23px 30px; display: flex; flex-direction: column; }
/* 왼쪽: 일반 진행 방식 */
.main .value-section .normal .row{ flex: 1; display: flex; align-items: center; justify-content: center; gap: 20px; border-bottom: 1px solid #a4a4b0; }
.main .value-section .normal .row:last-child{ border-bottom: 0; }
.main .value-section .normal .step,
.main .value-section .normal .result{ display: flex; align-items: center; justify-content: center; height: 48px; border-radius: 10px; color: #fff; font-size: 16px; font-weight: 500; }
.main .value-section .normal .step{ width: 120px; background: #3b3a50; }
.main .value-section .normal .result{ width: 148px; background: #939393; }
.main .value-section .normal .arrow{ width: 18px; height: 18px; }
/* 오른쪽: 우리 진행 방식 */
.main .value-section .ours .flow{ display: flex; flex-direction: column; gap: 12px; }
.main .value-section .ours .flow li{ position: relative; height: 65px; display: flex; align-items: center; justify-content: center; gap: 10px; background: #282531; border-radius: 10px; font-size: 20px; font-weight: 500; color: var(--beige-color); }
.main .value-section .ours .flow li .ico{ width: 22px; height: 22px; object-fit: contain; }
.main .value-section .ours .flow li:not(:last-child)::after{ content: ''; position: absolute; left: 50%; bottom: -11px; transform: translateX(-50%) rotate(90deg); width: 16px; height: 16px; background: url('../img/main/value/arrow-d.svg') no-repeat center / contain; z-index: 2; }
.main .value-section .ours .flow-foot{ margin-top: 30px; text-align: center; font-size: 22px; font-weight: 600; color: #333; }
.main .value-section .ours .flow-foot b{ font-weight: 700; }
.main .value-section .value-foot{ margin-top: 40px; font-size: 32px; font-weight: 700; color: #333; }
@media screen and (max-width: 1250px) {
    .main .value-section{padding: 80px 0;}
    .main .value-section .value-head .main-title{font-size: 30px;}
    .main .value-section .value-foot{font-size: 28px;}
}
@media screen and (max-width: 960px) {
    .main .value-section{padding: 60px 0;}
    .main .value-section .value-head .main-title{font-size: 26px;}
    .main .value-section .compare-wrap{ flex-direction: column; }
    .main .value-section .compare-col.normal{ flex: none; }
    .main .value-section .value-foot{ font-size: 24px; }
}
@media screen and (max-width: 650px) {
    .main .value-section{padding: 40px 0;}
    .main .value-section .mo-br{ display: inline-block; }
    .main .value-section .value-head .main-title{ font-size: 22px; }
    .main .value-section .value-head .brand-label .line{width: 24px;}
    .main .value-section .value-head .sub { font-size: 16px; line-height: 1.5em; }
    .main .value-section .value-head .mo-br{ display: inline-block; }
    .main .value-section .compare-col.normal{ flex: none; width: 100%; }
    .main .value-section .compare-col.ours .col-body{ height: auto; }
    .main .value-section .normal .row{ gap: 10px; }
    .main .value-section .value-foot{ line-height: 1.5em; font-size: 20px; }
    .main .value-section .ours .flow li{ font-size: 16px; height: auto; padding: 15px 10px; }
    .main .value-section .ours .flow-foot{ font-size: 16px; margin-top: 20px; }
}


/* .main .solution-section (맞춤 솔루션 / sec7) */
.main .solution-section{ padding: 100px 0; background: #333; }
.main .solution-section .mo-br{ display: none; }
.main .solution-section .sol-head{ text-align: center; }
.main .solution-section .sol-head .q-mark{ display: block; font-size: 64px; line-height: 0.6; font-weight: 700; color: var(--beige-color); }
.main .solution-section .sol-head .main-title{ margin-top: 30px; font-size: 36px; font-weight: 600; color: var(--beige-color); letter-spacing: -0.72px; }
.main .solution-section .sol-head .sub{ margin-top: 20px; font-size: 16px; font-weight: 500; line-height: 1.44; color: #fff; }
/* 상황 선택 패널 */
.main .solution-section .sol-select{ display: flex; gap: 40px; /*align-items: center;*/ margin-top: 44px; padding: 40px 58px; border-radius: 10px; background: #222; }
.main .solution-section .sol-select .left{ flex: 1; }
.main .solution-section .sol-select .left .s1{ font-size: 18px; font-weight: 500; color: #fff; }
.main .solution-section .sol-select .left .s2{ margin-top: 14px; font-size: 28px; font-weight: 600; color: #fff; }
.main .solution-section .sol-select .right{ flex: 0 0 540px; display: flex; flex-direction: column; gap: 25px; }
.main .solution-section .sol-select .opt{ display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.main .solution-section .sol-select .opt .q{ font-size: 18px; color: #fff; }
.main .solution-section .sol-select .opt.active .q{ color: var(--beige-color); font-weight: 500; }
.main .solution-section .sol-select .opt-btn{ flex: 0 0 183px; height: 45px; border-radius: 4px; border: 1px solid transparent; font-size: 16px; font-weight: 500; color: #fff; cursor: pointer; background: #707070; transition: background 0.3s, border-color 0.3s, color 0.3s; }
.main .solution-section .sol-select .opt.active .opt-btn{ background: #222; border-color: #edcfb2; color: #edcfb2; }
/* TYPE A 내용 */
.main .solution-section .sol-contents{ margin-top: 50px; }
.main .solution-section .sol-content{ display: none; }
.main .solution-section .sol-content.active{ display: block; animation: solFade 0.5s ease; }
@keyframes solFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.main .solution-section .type-head{ display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.main .solution-section .type-title{ display: flex; align-items: flex-end; gap: 14px; }
.main .solution-section .type-title .tt{ font-size: 26px; font-weight: 700; color: #fff; letter-spacing: -1.04px; line-height: 1.2; }
.main .solution-section .type-badge{ display: inline-flex; align-items: flex-end; gap: 4px; color: var(--gold-color); font-weight: 700; }
.main .solution-section .type-badge .label{ font-size: 15.5px; letter-spacing: -0.62px; padding-bottom: 4px; }
.main .solution-section .type-badge .letter{ font-size: 46px; line-height: 0.8; letter-spacing: -1.82px; }
.main .solution-section .type-info .td{ margin-top: 12px; font-size: 20px; font-weight: 700; color: var(--beige-color); letter-spacing: -0.8px; }
.main .solution-section .bubbles{ flex-shrink: 0; display: flex; gap: 14px; }
.main .solution-section .bubble{ position: relative; padding: 15px 25px; border-radius: 10px; background:rgba(255, 255, 255, 0.1); font-size: 16px; font-weight: 500; color: #bcbcbc; letter-spacing: -0.64px; white-space: nowrap; }
.main .solution-section .bubble::after{content:'';   width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 10px solid rgba(255, 255, 255, 0.1); background-position: center; position: absolute; right: 20px; bottom: -10px; }
.main .solution-section .type-cards{ display: flex; gap: 18px; margin-top: 30px; }
.main .solution-section .t-card{flex: 1; border-radius: 5px; background: #222; padding: 20px;}
.main .solution-section .t-card .icon{width: 60px; height: 60px; border-radius: 10px; background: rgba(193, 167, 142, 0.10); display: flex; justify-content: center; align-items: center;}
.main .solution-section .t-card .icon img{width: 38px; height: 38px; object-fit: contain;}
.main .solution-section .t-card .title{color: #FFF; font-size: 18px; font-weight: 500; margin: 20px 0; word-break: keep-all;}
.main .solution-section .t-card .bar{background: #C1A78E; width: 120px; height: 1px;}
.main .solution-section .t-card .desc{color: #DDD; font-size: 16px; margin-top: 20px;}
@media screen and (max-width: 1250px) {
    .main .solution-section{padding: 80px 0;}
    .main .solution-section .sol-select{ flex-direction: column; align-items: stretch; gap: 24px; }
    .main .solution-section .sol-select .right{ flex: none; }
    .main .solution-section .type-head{ flex-direction: column; gap: 20px; align-items: flex-start;}
    .main .solution-section .bubbles{ flex-wrap: wrap; margin-left: auto;}
    .main .solution-section .type-cards{gap: 10px;}
    .main .solution-section .t-card .title br{display: none;}
    .main .solution-section .t-card .desc{font-size: 15px; word-break: keep-all;}
    .main .solution-section .t-card .desc br{display: none;}
    .main .solution-section .sol-head .main-title{font-size: 30px;}
}
@media screen and (max-width: 960px) {
    .main .solution-section{padding: 60px 0;}
    .main .solution-section .sol-select{padding: 20px;}
    .main .solution-section .type-cards{ flex-direction: column; }
    .main .solution-section .bubble{padding: 15px 10px;}
    .main .solution-section .t-card{ height: 200px; }
    .main .solution-section .sol-head .main-title{font-size: 26px;}
}
@media screen and (max-width: 650px) {
    .main .solution-section{ padding: 40px 0; }
    .main .solution-section .mo-br{ display: inline-block; }
    .main .solution-section .sol-head .main-title{ font-size: 22px; }
    .main .solution-section .sol-select{ padding: 26px 22px; }
    .main .solution-section .sol-select .left .s1{ line-height: 1.5em; font-size: 16px; }
    .main .solution-section .sol-select .left .s2{ margin-top: 5px; font-size: 20px;}
    .main .solution-section .sol-select .opt{ flex-direction: column; align-items: flex-start; gap: 10px; }
    .main .solution-section .sol-select .opt .q{ font-size: 16px;} 
    .main .solution-section .sol-select .opt-btn{ flex: none; width: 100%; }
    .main .solution-section .type-head{ gap: 16px; }
    .main .solution-section .type-title .tt{ font-size: 20px; }
    .main .solution-section .type-info .td{ font-size: 16px; }
    .main .solution-section .bubbles{ flex-direction: column; width: 100%; }
    .main .solution-section .bubble{ white-space: normal; }
}


/* .main .cost-section (비용구조 / sec8) */
.main .cost-section{ position: relative; padding: 86px 0 80px; background: radial-gradient(ellipse 70% 50% at 50% 0%, #34323f 0%, #1c1a22 55%); background-image: url('../../img/rable/main/cost/background.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center; overflow: hidden; }
.main .cost-section .inner{ position: relative; z-index: 1; }
.main .cost-section .cost-head{ text-align: center; }
.main .cost-section .cost-head .label{ font-size: 16px; font-weight: 500; color: var(--beige-color); }
.main .cost-section .cost-head .main-title{ margin-top: 10px; font-size: 36px; font-weight: 700; color: #fff; letter-spacing: -0.72px; }
.main .cost-section .cost-head .sub{ margin-top: 20px; font-size: 16px; font-weight: 400; line-height: 1.44; color: #d9d9d9; }
.main .cost-section .cost-head .sub b{font-size: 18px; font-weight: 600;}
/* 패널 */
.main .cost-section .cost-panel{ display: flex; margin-top: 40px; padding: 30px; border-radius: 10px; }
.main .cost-section .cost-panel.typeA{ background: #3b3a50; }
.main .cost-section .cost-panel.typeB{ background: #353449; }
.main .cost-section .cost-panel.typeC{ background: #2a2939; }
.main .cost-section .cost-panel .side{ position: relative; flex: 0 0 370px; }
.main .cost-section .cost-panel .type-badge{ display: inline-flex; align-items: flex-end; gap: 4px; color: var(--gold-color); font-weight: 700; }
.main .cost-section .cost-panel .type-badge .label{ font-size: 15.5px; padding-bottom: 4px; letter-spacing: -0.62px; }
.main .cost-section .cost-panel .type-badge .letter{ font-size: 46px; line-height: 0.9; letter-spacing: -1.82px; }
.main .cost-section .cost-panel .side .title{ margin-top: 10px; font-size: 28px; font-weight: 700; color: #fff; }
.main .cost-section .cost-panel .side .watermark{ position: absolute; left: 4px; bottom: 4px; opacity: 0.4; pointer-events: none; }
.main .cost-section .cost-panel .side .watermark.rable{ width: 294px; height: auto; }
.main .cost-section .cost-panel .side .watermark.hanseol{ width: 142px; height: 147px; }
/* 그룹 영역 */
.main .cost-section .cost-panel .main-area{ flex: 1; display: flex; flex-direction: column; }
.main .cost-section .cost-panel .groups{ display: flex; gap: 24px; flex: 1; align-items: stretch; }
.main .cost-section .cost-panel .groups.cols2 .group{ flex: 1; }
.main .cost-section .cost-panel .groups.pairs{ flex-direction: column; gap: 11px; }
.main .cost-section .cost-panel .groups.pairs .pair-row{ display: flex; gap: 24px; align-items: stretch; }
.main .cost-section .cost-panel .groups.pairs .pair-row .item{ flex: 1; }
.main .cost-section .cost-panel .groups.pair-groups{ flex-direction: column; gap: 11px; width: 100%; }
.main .cost-section .cost-panel .groups.pair-groups .pair-group{ display: flex; gap: 24px; align-items: stretch; }
.main .cost-section .cost-panel .groups.pair-groups .pair-group > .item.cat{ flex: 1; }
.main .cost-section .cost-panel .groups.pair-groups .group-items{ flex: 1; display: flex; flex-direction: column; gap: 11px; }
/* 공통 보드 (A·B) */
.main .cost-section .cost-panel .cost-board{
    display: flex;
    flex-direction: column;
    gap: 11px;
    width: 100%;
    flex: 1;
    padding: 12px 15px;
    background: #383b3e;
    border-radius: 4px;
    box-sizing: border-box;
}
.main .cost-section .cost-panel .cost-board.cols2{ flex-direction: row; gap: 24px; align-items: stretch; }
.main .cost-section .cost-panel .cost-board.cols2 .group{ flex: 1; background: transparent; }
.main .cost-section .cost-panel .cost-board.pairs .pair-row{ display: flex; flex-direction: row; gap: 24px; align-items: stretch; }
.main .cost-section .cost-panel .cost-board.pairs .pair-row > .item.cat,
.main .cost-section .cost-panel .cost-board.pairs .pair-row > .item{ flex: 1; min-width: 0;}
/* TYPE C — pair-group + text-wrap + group-items */
.main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group{ display: flex; flex-direction: row; gap: 24px; align-items: flex-start; width: 100%; }
.main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .text-wrap{ flex-direction: column; flex: 1; min-width: 0; display: flex; }
.main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .text-wrap .item{width: 100%; }
.main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .group-items{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 11px; }
.main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .group-items .item{ width: 100%; }
.main .cost-section .cost-panel .item.cat{ background: #333; border-color: transparent; font-weight: 700; color: var(--beige-color);}
.main .cost-section .cost-panel .g-head{ background: #333; border-color: transparent; font-weight: 700; color: var(--beige-color); }
.main .cost-section .cost-panel .group{ display: flex; flex-direction: column; background: #383b3e; border-radius: 4px; overflow: hidden; }
.main .cost-section .cost-panel .group.full{ grid-column: 1 / -1; }
.main .cost-section .cost-panel .g-head{ flex-shrink: 0; height: 45px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 10px; font-size: 16px; }
.main .cost-section .cost-panel .g-items{ flex: 1; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.main .cost-section .cost-panel .g-items.row{ flex-direction: row; }
.main .cost-section .cost-panel .g-items.row .item{ flex: 1; }
.main .cost-section .cost-panel .item{ word-break: keep-all; display: flex; align-items: center; justify-content: center; padding: 8px 10px; border: 1px solid var(--gold-color); border-radius: 5px; font-size: 16px; font-weight: 500; line-height: 1.3; color: #fff; text-align: center; letter-spacing: -0.64px; }
.main .cost-section .cost-panel .item.w{height: 55px;}
.main .cost-section .cost-panel .item.cat.w{height: 55px;}
.main .cost-section .cost-panel .item em{ font-size: 14px; font-style: normal; }
.main .cost-section .cost-panel .item.col{ flex-direction: column; gap: 2px; }
.main .cost-section .cost-panel .price{ margin-top: 24px; height: 60px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #59586e; }
.main .cost-section .cost-panel .price-inner{display: flex; align-items: flex-end;gap: 4px;}
.main .cost-section .cost-panel .price b{ font-size: 30px; font-weight: 700; color: #fff; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25); }
.main .cost-section .cost-panel .price span{ font-size: 20px; color: #bababa; }
.main .cost-section .cost-panel.typeA .cost-board{background-color: transparent;}
.main .cost-section .cost-panel.typeA .cost-board .group{background: #383B3E;}
.main .cost-section .cost-panel.typeA .cost-board .group .g-items{margin: 20px;}
@media screen and (max-width: 1250px) {
    .main .cost-section .cost-panel{ flex-direction: column; gap: 24px; }
    .main .cost-section .cost-panel .side{ flex: none; display: flex; align-items: center; gap: 16px; }
    .main .cost-section .cost-panel .side .title{ margin-top: 0; font-size: 24px;}
    .main .cost-section .cost-panel .side .watermark{ display: none; }
    .main .cost-section .cost-panel .price b{font-size: 26px;}
}
@media screen and (max-width: 960px) {
    .main .cost-section .cost-panel .side .title{font-size: 20px;}
    .main .cost-section .cost-panel .groups{ flex: none; }
    .main .cost-section .cost-panel .cost-board.cols2{ flex-direction: column; gap: 12px;}
    .main .cost-section .cost-panel .cost-board.pairs .pair-row{ flex-direction: column; gap: 5px;}
    .main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group{ flex-direction: column; gap: 5px; }
    .main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .text-wrap{ width: 100%; }
    .main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .group-items{ width: 100%; }
    .main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .group-items .item{ width: 100%; height: auto;}
        .main .cost-section .cost-panel.typeC .cost-board.pairs .pair-group .group-items .item br{display: none;}
    .main .cost-section .cost-panel .group{ width: 100%; }
    .main .cost-section .cost-panel .g-items{ flex: none; }
    .main .cost-section .cost-panel .g-items.row{ flex-direction: column; }
    .main .cost-section .cost-panel .price b{font-size: 24px;}
}
@media screen and (max-width: 650px) {
    .main .cost-section .cost-panel.typeA .cost-board .group .g-items{margin: 10px;}
    .main .cost-section .cost-panel .cost-board{padding: 10px;}
    .main .cost-section .cost-panel.typeA .cost-board{padding: 0;}
    .main .cost-section .cost-head .main-title{ font-size: 26px; }
    .main .cost-section .cost-panel{ padding: 24px 20px; }
    .main .cost-section .cost-head .sub .mo-none{ display: none; }
    .main .cost-section .cost-panel .side .title{ font-size: 18px; }
    .main .cost-section .cost-panel .item{ padding: 10px; }
    .main .cost-section .cost-panel .price{height: 40px;}
    .main .cost-section .cost-panel .price b{ font-size: 20px; }
    .main .cost-section .cost-panel .price span{ font-size: 16px; }
}


/* .main .minimize-section (비용 최소화 배너) */
.main .minimize-section{ position: relative; padding: 71px 0; background: #353148; text-align: center; }
/* .main .minimize-section::before,
.main .minimize-section::after{ content: ''; position: absolute; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, #917962 0%, #7472A0 100%); }
.main .minimize-section::before{ top: 0; }
.main .minimize-section::after{ bottom: 0; } */
.main .minimize-section .main-title{ font-size: 42px; font-weight: 700; color: #fff; letter-spacing: -0.84px; text-shadow: 3px 5px 8px rgba(0, 0, 0, 0.25); }
.main .minimize-section .sub{ margin-top: 16px; font-size: 18px; font-weight: 500; color: #fff; }
.main .minimize-section .mo-br{ display: none; }
@media screen and (max-width: 1250px){
    .main .minimize-section .main-title{font-size: 32px;}
}
@media screen and (max-width: 960px){
    .main .minimize-section .main-title{font-size: 28px;}
}
@media screen and (max-width: 650px) {
    .main .minimize-section{ padding: 48px 0; }
    .main .minimize-section .main-title{ font-size: 24px; letter-spacing: -0.44px; }
    .main .minimize-section .sub{font-size: 15px; margin-top: 12px; font-size: 16px; line-height: 1.5; }
    .main .minimize-section .mo-br{ display: inline-block; }
}


/* .main .check-section (자가진단) */
.main .check-section{ position: relative; padding: 100px 0; overflow: hidden; background: #1C1A22;}
.main .check-section .bg{ position: absolute; inset: 0; z-index: 0; background: #1c1a22; }
.main .check-section .bg img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.35; }
.main .check-section .inner{ position: relative; z-index: 1; }
.main .check-section .check-card{box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4); }
/* 카드 헤더 */
.main .check-section .card-head{ border-radius: 20px 20px 0 0;  position: relative; height: 149px; padding-top: 20px; background: linear-gradient(90deg, #353148, #5e4636); text-align: center; }
.main .check-section .card-head .combo-badge{ padding: 5px; position: absolute; top: -40px; right: 48px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 92px; height: 92px; border-radius: 50%; background: #2b2b2b; font-size: 22px; font-weight: 500; line-height: 1.18; letter-spacing: -0.88px; color: #fff; }
.main .check-section .card-head .combo-badge span{ width:100%; height: 100%; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.main .check-section .check-card.track-apply .combo-badge{ background: #1F1A36; }
.main .check-section .check-card.track-general.step-1 .card-head{ background: linear-gradient(90deg, #353148 0%, #5E4636 100%); }
.main .check-section .check-card.track-general:not(.step-1) .card-head{ background: linear-gradient(90deg, #2A2A2A 0%, #555 100%); }
.main .check-section .check-card.track-general:not(.step-1) .card-head .desc{ display: none; }
.main .check-section .check-card.track-respond .card-head{ background: linear-gradient(90deg, #3B3A50 0%, #6D6B91 100%); }
.main .check-section .check-card.track-respond .combo-badge{ background: #66482C; }
.main .check-section .check-card.step-1 .combo-badge{ display: none; }
.main .check-section .card-head .q-mark{ display: block; font-size: 64px; line-height: 0.5; color: #fff; font-weight: 700; }
.main .check-section .card-head .title{ margin-top: 10px; font-size: 36px; font-weight: 500; color: #fff; letter-spacing: -0.72px; }
.main .check-section .card-head .desc{ margin-top: 10px; font-size: 16px; font-weight: 500; color: #fff; }
/* 카드 바디 */
.main .check-section .card-body{ border-radius: 0 0 20px 20px; background: #fff; padding: 20px 30px 40px; }
.main .check-section .card-body .start{ display: inline-flex; align-items: center; justify-content: center; height: 39px; border-radius: 100px; font-size: 16px; font-weight: 500; color: #fff; }
.main .check-section .check-step[data-step="1"] .start{ width: 100px; background: var(--gold-color); }
.main .check-section .check-step:not([data-step="1"]) .start{ padding: 0 20px; background: #353148; }
.main .check-section .card-body .b-title{ margin-top: 46px; font-size: 36px; font-weight: 700; color: #222; }
.main .check-section .card-body .b-sub{ margin-top: 14px; font-size: 16px; font-weight: 500; color: #7f7f7f; }
/* 스텝 전환 */
.main .check-section .check-step{ display: none; }
.main .check-section .check-step.active{ display: block; animation: solFade 0.4s ease; }
/* STEP1 : 상황 선택 (라디오) */
.main .check-section .check-options{ margin-top: 26px; display: flex; flex-direction: column; gap: 21px; }
.main .check-section .check-options li{ list-style: none; }
.main .check-section .check-options .opt{ position: relative; display: flex; align-items: center; gap: 25px; padding: 21px; border-radius: 10px; background: #f7f7f7; border: 2px solid transparent; cursor: pointer; transition: border-color 0.2s; }
.main .check-section .check-options .opt input{ position: absolute; opacity: 0; width: 0; height: 0; }
.main .check-section .check-options .opt:hover,
.main .check-section .check-options .opt:has(input:checked){ border-color: var(--gold-color); }
.main .check-section .check-options .mark{ flex: 0 0 70px; width: 70px; height: 70px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #edebe9; font-size: 45px; font-weight: 700; color: var(--gold-color); letter-spacing: -1.82px; }
.main .check-section .check-options .txt .t{ font-size: 20px; font-weight: 700; color: #353148; }
.main .check-section .check-options .opt:has(input:checked) .txt .t{ color: var(--gold-color); }
.main .check-section .check-options .txt .d{ margin-top: 8px; font-size: 16px; font-weight: 500; color: #222; }
/* 출원 트랙 선택지 — 2단 그리드(세로 채움) */
.main .check-section .reg-options,
.main .check-section .disclose-options,
.main .check-section .resp-options{ display: grid; grid-auto-flow: column; grid-template-columns: repeat(2, 1fr); gap: 14px 26px; }
.main .check-section .reg-options,
.main .check-section .resp-options{ grid-template-rows: repeat(3, auto); }
.main .check-section .disclose-options{ grid-template-rows: repeat(2, auto); }
/* STEP2 : 무료 1:1 상담 신청 폼 */
.main .check-section .check-step .step-back{ display: flex; width: fit-content; align-items: center; gap: 7px; margin-bottom: 16px; padding: 0; border: 0; background: none; font-size: 15px; font-weight: 500; color: #7f7f7f; cursor: pointer; }
.main .check-section .check-step .step-back .ico{ width: 7px; height: auto; }
.main .check-section .check-step .step-back:hover{ color: var(--gold-color); }
.main .check-section .form-title{ text-align: center; font-size: 32px; font-weight: 700; color: #222; }
.main .check-section .form-sub{ margin-top: 8px; text-align: center; font-size: 16px; font-weight: 500; color: #7f7f7f; }
.main .check-section .check-form{ margin-top: 30px; }
.main .check-section .check-form .form-row{ display: flex; gap: 16px; }
.main .check-section .check-form .field{ flex: 1; margin-bottom: 20px; }
.main .check-section .check-form .field.full{ flex-basis: 100%; }
.main .check-section .check-form .field label{ display: block; margin-bottom: 8px; font-size: 16px; font-weight: 700; color: #222; }
.main .check-section .check-form .field .req{ color: #eb5757; }
.main .check-section .check-form input,
.main .check-section .check-form select,
.main .check-section .check-form textarea{ width: 100%; height: 52px; padding: 0 16px; border: 1px solid #e0e0e0; box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.15); border-radius: 6px; background: #fff; font-size: 16px; color: #222; }
.main .check-section .check-form input::placeholder,
.main .check-section .check-form textarea::placeholder{ color: #b5b5b5; }
.main .check-section .check-form select{ -webkit-appearance: none; appearance: none; cursor: pointer; color: #777; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center #fff; }
.main .check-section .check-form textarea{ height: 120px; padding: 14px 16px; resize: none; }
.main .check-section .check-form .agree{ display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.5; color: #555; cursor: pointer; }
.main .check-section .check-form .agree input{ width: 18px; height: 18px; margin-top: 1px; flex-shrink: 0; accent-color: var(--gold-color); }
.main .check-section .check-form .form-submit{ display: block; width: 100%; max-width: 480px; height: 60px; margin: 32px auto 0; border: 0; border-radius: 100px; background: #353148; font-size: 18px; font-weight: 700; color: #fff; cursor: pointer; transition: background 0.2s; }
.main .check-section .check-form .form-submit:hover{ background: var(--gold-color); }
/* STEP2 : 진단 결과(제안) */
.main .check-section .result-body{ display: none; }
.main .check-section .result-body.active{ display: block; animation: solFade 0.4s ease; }
.main .check-section .result-title{ text-align: center; margin-top: 18px; font-size: 36px; font-weight: 700; color: #222; letter-spacing: -1.44px; }
.main .check-section .result-sub{ text-align: center; margin-top: 12px; font-size: 16px; font-weight: 500; color: #7f7f7f; }
.main .check-section .propose{ margin: 24px 0 0; padding: 30px 40px; border-left: 4px solid #5e4636; border-radius: 4px; background: #f4f3f1; }
.main .check-section .check-step[data-step="3"] .form-title{ margin-top: 40px; padding-top: 40px; border-top: 1px solid #f0efed; }
.main .check-section .why-team{ display: grid; grid-template-columns: 230px 1fr; gap: 30px; margin-top: 30px; }
.main .check-section .why-team .wt-head{ font-size: 24px; font-weight: 700; color: #222; letter-spacing: -0.96px; }
.main .check-section .why-team .wt-body{ font-size: 16px; font-weight: 700; line-height: 1.45; color: #222; }
.main .check-section .why-team .wt-body p{line-height: 1.4;}
.main .check-section .why-team .wt-body .hl{ color: var(--gold-color); }
.main .check-section .propose .p-head{ font-size: 20px; font-weight: 700; color: var(--gold-color); margin-bottom: 20px; }
.main .check-section .propose .p-list{ display: flex; flex-wrap: wrap; gap: 14px 36px; }
.main .check-section .propose .p-list li{ position: relative; flex: 0 0 auto; max-width: 100%; padding-left: 32px; font-size: 18px; font-weight: 500; line-height: 1.4; color: #333; white-space: nowrap; }
.main .check-section .propose .p-list li::before{ content: ''; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: #8a7560 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9'%3E%3Cpath d='M1 4.5L4.5 8 11 1' stroke='white' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center; }
.main .check-section .result-body[data-for="general"] .propose .p-list,
.main .check-section .result-body[data-for="A-yes"] .propose .p-list,
.main .check-section .result-body[data-for="A-no"] .propose .p-list{ display: grid; grid-template-columns: repeat(2, 1fr); }
.main .check-section .result-body[data-for="general"] .propose .p-list li,
.main .check-section .result-body[data-for="A-yes"] .propose .p-list li,
.main .check-section .result-body[data-for="A-no"] .propose .p-list li{ flex: unset; max-width: none; white-space: normal; }
.main .check-section .to-form{ display: block; width: 100%; max-width: 480px; height: 60px; margin: 0 auto; border: 0; border-radius: 100px; background: #353148; font-size: 18px; font-weight: 700; color: #fff; cursor: pointer; transition: background 0.2s; }
.main .check-section .to-form:hover{ background: var(--gold-color); }
/* 트랙 질문 (STEP) */
.main .check-section .q-title{ margin-top: 24px; font-size: 36px; font-weight: 700; color: #222; }
.main .check-section .q-sub{ margin-top: 12px; font-size: 16px; font-weight: 500; color: #7f7f7f; }
.main .check-section .yn-options{ margin-top: 26px; display: flex; flex-direction: column; gap: 16px; }
.main .check-section .yn-options .yn{ position: relative; display: flex; align-items: center; gap: 25px; padding: 21px; border: 2px solid transparent; border-radius: 10px; background: #f7f7f7; cursor: pointer; text-align: left; transition: border-color 0.2s; }
.main .check-section .yn-options .yn input{ position: absolute; opacity: 0; width: 0; height: 0; }
.main .check-section .yn-options .yn:hover,
.main .check-section .yn-options .yn:has(input:checked){ border-color: var(--gold-color); }
.main .check-section .yn-options .yn .mark{ flex: 0 0 70px; width: 70px; height: 70px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #edebe9; font-size: 45px; font-weight: 700; color: var(--gold-color); letter-spacing: -1.82px; }
.main .check-section .yn-options .yn .label{ font-size: 20px; font-weight: 700; color: #353148; }
.main .check-section .yn-options .yn:hover .label,
.main .check-section .yn-options .yn:has(input:checked) .label{ color: var(--gold-color); }
@media screen and (max-width: 1250px){
    .main .check-section .card-head .title{ font-size: 30px; }
    .main .check-section .card-body .b-title{font-size: 30px;}
}
@media screen and (max-width: 960px){
    .main .check-section .card-head .title,
    .main .check-section .card-body .b-title{ font-size: 26px; }
}
@media screen and (max-width: 650px) {
    .main .check-section{ padding: 60px 0; }
    .main .check-section .card-head .title{ font-size: 22px; }
    .main .check-section .card-body{ padding: 20px; }
    .main .check-section .card-body .b-title{ font-size: 22px; }
    .main .check-section .q-title{ font-size: 24px; }
    .main .check-section .result-title{ font-size: 24px; }
    .main .check-section .reg-options,
    .main .check-section .disclose-options,
    .main .check-section .resp-options{ grid-auto-flow: row; grid-template-columns: 1fr; grid-template-rows: none; gap: 14px; }
    .main .check-section .why-team{ grid-template-columns: 1fr; gap: 12px; }
    .main .check-section .why-team .wt-head{ font-size: 20px; }
    .main .check-section .result-body[data-for="general"] .propose .p-list,
    .main .check-section .result-body[data-for="A-yes"] .propose .p-list,
    .main .check-section .result-body[data-for="A-no"] .propose .p-list{ grid-template-columns: 1fr; gap: 14px; }
    .main .check-section .card-head .combo-badge{ width: 62px; height: 62px; top: 14px; right: 16px; font-size: 15px; }
    .main .check-section .check-step[data-step="3"] .form-title{ margin-top: 30px; padding-top: 30px; }
    .main .check-section .check-options .opt{ gap: 14px; padding: 10px; }
    .main .check-section .check-options .mark{ flex: 0 0 40px; width: 40px; height: 40px; font-size: 26px; }
    .main .check-section .check-options .txt .t{ font-size: 16px; }
    .main .check-section .check-options .txt .d{ font-size: 14px; }
    .main .check-section .yn-options .yn{ padding: 16px; gap: 14px; }
    .main .check-section .yn-options .yn .mark{ flex: 0 0 50px; width: 50px; height: 50px; font-size: 30px; }
    .main .check-section .yn-options .yn .label{ font-size: 16px; }
    .main .check-section .form-title{ font-size: 24px; }
    .main .check-section .check-form .form-row{ flex-direction: column; gap: 0; }
}


/* .main .enforce-section (추심·집행 CTA) */
.main .enforce-section{ position: relative; padding: 60px 0 96px; overflow: hidden; background: #1c1a22; }
.main .enforce-section .bg{ position: absolute; inset: 0; z-index: 0; }
.main .enforce-section .bg img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.45; }
.main .enforce-section .inner{ position: relative; z-index: 1; }
.main .enforce-section .enforce-card{ display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; padding: 56px 48px 72px; border-radius: 12px; background: rgba(26, 26, 29, 0.88); backdrop-filter: blur(24px); box-shadow: 0 8px 40px rgba(0, 0, 0, 0.35); text-align: center; }
.main .enforce-section .enforce-card .title{ font-size: 34px; font-weight: 700; line-height: 1.35; color: #fff; letter-spacing: -0.68px; }
.main .enforce-section .enforce-card .desc{ margin-top: 24px; font-size: 18px; font-weight: 500; line-height: 1.55; color: #d9d9d9; word-break: keep-all; }
.main .enforce-section .enforce-card .hl-box{ display: block; margin-top: 28px; padding: 20px 24px; border-radius: 8px; background: rgba(34, 34, 34, 0.95); font-size: 20px; font-weight: 500; line-height: 1.5; color: #fff; word-break: keep-all; }
.main .enforce-section .enforce-card .go-btn{ font-family: 'Pyeong Chang'; position: absolute; left: 50%; bottom: -32px; transform: translateX(-50%); display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 64px; padding: 0 40px; border-radius: 14px; background: var(--gold-color); font-size: 20px; font-weight: 500; color: #fff; white-space: nowrap; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); transition: background 0.2s; }
.main .enforce-section .enforce-card .go-btn b{ font-weight: 700; }
.main .enforce-section .enforce-card .go-btn .ico{ flex-shrink: 0; width: 19px; height: 19px; }
.main .enforce-section .enforce-card .go-btn:hover{ background: #a68b74; }
@media screen and (max-width: 960px) {
    .main .enforce-section .enforce-card{ padding: 44px 32px 64px; }
    .main .enforce-section .enforce-card .title{ font-size: 28px; }
}
@media screen and (max-width: 650px) {
    .main .enforce-section{ padding: 48px 0 80px; }
    .main .enforce-section .enforce-card{ padding: 36px 20px 56px; border-radius: 10px; }
    .main .enforce-section .enforce-card .title{ font-size: 20px; letter-spacing: -0.44px; }
    .main .enforce-section .enforce-card .desc{ margin-top: 18px; font-size: 15px; line-height: 1.5; }
    .main .enforce-section .enforce-card .hl-box{ margin-top: 20px; padding: 16px 18px; font-size: 16px; }
    .main .enforce-section .enforce-card .go-btn{ bottom: -28px; height: 56px; padding: 0 28px; font-size: 16px; }
    .main .enforce-section .enforce-card .go-btn .ico{ width: 16px; height: 16px; }
}


/* .main .apply-section (상담신청 폼) */
.main .apply-section{ position: relative; padding: 100px 0 110px; overflow: hidden; background: #1a1a1a; }
.main .apply-section .bg{ position: absolute; inset: 0; z-index: 0; }
.main .apply-section .bg::after{ content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.main .apply-section .bg img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.main .apply-section .inner{ position: relative; z-index: 1; }
.main .apply-section .apply-head{ text-align: center; }
.main .apply-section .apply-head .q-mark{ display: block; font-size: 64px; line-height: 0.5; font-weight: 700; color: #fff; }
.main .apply-section .apply-head .main-title{ margin-top: 30px; font-size: 42px; font-weight: 700; color: #fff; letter-spacing: -0.84px; }
.main .apply-section .apply-head .sub{ margin-top: 20px; font-size: 18px; font-weight: 500; color: #d9d9d9; word-break: keep-all; }
/* 폼 카드 */
.main .apply-section .apply-form{width: 80%; margin: 0 auto; position: relative; margin-top: 100px; padding: 48px 56px 44px; border-radius: 8px; background: rgba(38, 34, 32, 0.92); overflow: hidden; backdrop-filter: blur(16px); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); }
.main .apply-section .apply-form::before{ content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 10px; border-radius: 5px 5px 0 0; background: linear-gradient(90deg, #3B3A50 0%, #917962 100%); pointer-events: none; }
.main .apply-section .apply-form > *{ position: relative; z-index: 1; }
.main .apply-section .form-row{ display: flex; flex-wrap: wrap; gap: 28px 36px; margin-bottom: 28px; }
.main .apply-section .form-row:last-of-type{ margin-bottom: 0; }
.main .apply-section .field{ flex: 1 1 calc(50% - 18px); min-width: 0; }
.main .apply-section .field.full{ flex: 1 1 100%; }
.main .apply-section .field label{ display: block; margin-bottom: 10px; font-size: 16px; font-weight: 500; color: #fff; }
.main .apply-section .field label.radio{ display: flex; align-items: center; gap: 5px; }  
.main .apply-section .field .req{ color: #ff5a5a; }
.main .apply-section .field input:not([type="radio"]):not([type="checkbox"]),
.main .apply-section .field textarea{ width: 100%; padding: 14px 16px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 8px; background: rgba(0, 0, 0, 0.32); font-size: 16px; font-weight: 400; color: #fff; transition: border-color 0.2s; }
.main .apply-section .field input:not([type="radio"]):not([type="checkbox"]):focus,
.main .apply-section .field textarea:focus{ outline: none; border-color: rgba(193, 167, 142, 0.6); }
.main .apply-section .field input:not([type="radio"]):not([type="checkbox"])::placeholder,
.main .apply-section .field textarea::placeholder{ color: rgba(255, 255, 255, 0.38); }
.main .apply-section .field textarea{ height: 140px; resize: none; }
.main .apply-section .radio-group{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; min-height: 50px; padding: 12px 0; }
.main .apply-section .radio{ display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; font-weight: 400; color: #fff; cursor: pointer; white-space: nowrap; }
.main .apply-section .radio input{ flex-shrink: 0; position: relative; width: 16px; height: 16px; margin: 0; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 50%; background: transparent; appearance: none; -webkit-appearance: none; cursor: pointer; transition: border-color 0.2s; }
.main .apply-section .radio input:checked{ border-color: var(--beige-color); }
.main .apply-section .radio input:checked::before{ content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 8px; height: 8px; border-radius: 50%; background: var(--beige-color); }
.main .apply-section .form-foot{ margin-top: 28px; }
.main .apply-section .agree{ display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 400; color: #d9d9d9; cursor: pointer; }
.main .apply-section .agree input{ width: 18px; height: 18px; margin: 0; accent-color: var(--beige-color); }
.main .apply-section .submit-btn{ display: block; width: 320px; max-width: 100%; height: 58px; margin: 32px auto 0; border: 0; border-radius: 100px; background: rgba(86, 85, 108, 1); font-size: 20px; font-weight: 700; color: #fff; cursor: pointer; transition: background 0.2s; }
.main .apply-section .submit-btn:hover{ background: #8a88b5; }
@media screen and (max-width: 1250px){
    .main .apply-section .apply-form{margin-top: 80px;}
    .main .apply-section .apply-head .main-title{font-size: 32px;}
}
@media screen and (max-width: 960px) {
    .main .apply-section .apply-form{margin-top: 60px; padding: 40px 36px 36px; width: 100%;}
    .main .apply-section .field{ flex: 1 1 100%; }
    .main .apply-section .apply-head .main-title{font-size: 28px;}
}
@media screen and (max-width: 650px) {
    .main .apply-section{ padding: 60px 0 72px; }
    .main .apply-section .apply-head .q-mark{ font-size: 48px; }
    .main .apply-section .apply-head .main-title{ font-size: 22px; letter-spacing: -0.52px; }
    .main .apply-section .apply-head .sub{ margin-top: 14px; font-size: 15px; line-height: 1.5; }
    .main .apply-section .apply-form{ margin-top: 40px; padding: 28px 20px 32px; border-radius: 12px; }
    .main .apply-section .form-row{ gap: 20px; margin-bottom: 20px; }
    .main .apply-section .radio-group{ gap: 12px 18px; padding: 4px 0; }
    .main .apply-section .radio{ font-size: 14px; white-space: normal; }
    .main .apply-section .submit-btn{ width: 100%; height: 52px; margin-top: 24px; font-size: 18px; }
}


/* footer */
footer{ position: relative; padding: 60px 0; background: #222; border-top: 10px solid var(--main-color); }
footer .foot-cols{ display: flex; gap: 60px; padding-bottom: 30px; }
footer .foot-col{ flex: 1; }
footer .foot-logo{ margin-bottom: 30px;}
footer .foot-logo.hanseol img{height: 60px; object-fit: contain; width: auto; opacity: 0.2;}
footer .foot-logo.rable img{height: 55px; width: auto; object-fit: contain;}
/* footer .foot-logo.hanseol{ display: flex; align-items: center; gap: 12px; }
footer .foot-logo.hanseol .symbol{ width: 50px; height: 52px; }
footer .foot-logo.hanseol .word{ width: 200px; height: 27px; }
footer .foot-logo.rable img{ height: 50px; width: auto; } */
footer dl{ display: flex; flex-direction: column; gap: 14px; }
footer .info{ display: flex; gap: 20px; }
footer .info dt{ flex: 0 0 130px; font-size: 18px; font-weight: 700; color: #fff; }
footer .info dd{ font-size: 15px; color: #fff; }
footer .copy-right{ padding-top: 30px; border-top: 1px solid rgba(217, 217, 217, 0.4); font-size: 15px; letter-spacing: -0.75px; color: rgba(255, 255, 255, 0.3); }
@media screen and (max-width: 1250px) {
    footer .foot-logo.hanseol img{height: 50px;}
    footer .foot-logo.rable img{height: 45px;}
}
@media screen and (max-width: 960px) {
    footer .foot-cols{flex-direction: column;}
    footer .foot-logo.hanseol img{height: 45px;}
    footer .foot-logo.rable img{height: 40px;}
}
@media screen and (max-width: 650px) {
    footer{padding: 40px 0;}
    footer .foot-logo.hanseol img{height: 40px;}
    footer .foot-logo.rable img{height: 35px;}
    footer .info dt{font-size: 16px;}
    footer .info dd{font-size: 14px;}
}

/* .quick-menu-section (우측 플로팅 — 흰 원형) */
.quick-menu-section{ position: fixed; right: 24px; bottom: 50px; z-index: 150; }
.quick-menu-section .menu-div{ display: flex; flex-direction: column; gap: 18px; align-items: center; }
.quick-menu-section .menu-list{ display: flex; flex-direction: column; gap: 18px; }
.quick-menu-section .item .circle{ position: relative; width: 74px; height: 74px; border-radius: 50%; background: #fff; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.quick-menu-section .item .ico{ width: auto; height: 28px; max-width: 48px; object-fit: contain; }
.quick-menu-section .item .text{ font-size: 11px; font-weight: 600; line-height: 1.1; text-align: center; white-space: nowrap; }
.quick-menu-section .item.navy .text{ color: #3b3a50; }
.quick-menu-section .item.gold .text{ color: var(--gold-color); }
.quick-menu-section .item.bg .circle{ background-image: url('../img/floating/background.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center; }
.quick-menu-section .item.wide .circle{ justify-content: flex-start; padding-top: 14px; }
.quick-menu-section .item.wide .text{ position: absolute; bottom: 6px; padding: 5px 12px; border-radius: 4px; background: #fff; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); }
.quick-menu-section .top-btn{ display: none; width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(0, 0, 0, 0.3); color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
@media screen and (max-width: 1250px) {
    .quick-menu-section{ right: 12px; }
    .quick-menu-section .item .text{ display: none; }
    .quick-menu-section .item .circle{ width: 56px; height: 56px; }
    .quick-menu-section .item.wide .circle{ justify-content: center; padding-top: 0; }
}
@media screen and (max-width: 650px) {
    .quick-menu-section{ right: 14px; bottom: 14px; top: auto; transform: none; }
    .quick-menu-section .menu-list{ display: none; }
    .quick-menu-section .top-btn{ width: 44px; height: 44px; }
}

/* 동의 텍스트(개인정보 처리방침 팝업 트리거) */
.agree-text{ text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.main .apply-section .agree .agree-text{ color: var(--beige-color); }
.main .check-section .check-form .agree .agree-text{ color: var(--gold-color); }

/* 개인정보 처리방침 팝업 */
.privacy-modal{ position: fixed; inset: 0; z-index: 1000; display: none; }
.privacy-modal.open{ display: block; }
.privacy-modal .pm-dim{ position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.privacy-modal .pm-panel{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; width: 92%; max-width: 680px; max-height: 84vh; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4); animation: pmFade 0.25s ease; }
@keyframes pmFade{ from{ opacity: 0; transform: translate(-50%, -46%); } to{ opacity: 1; transform: translate(-50%, -50%); } }
.privacy-modal .pm-head{ display: flex; align-items: center; justify-content: space-between; padding: 22px 28px; border-bottom: 1px solid #eee; }
.privacy-modal .pm-title{ font-size: 22px; font-weight: 700; color: #222; }
.privacy-modal .pm-close{ width: 36px; height: 36px; border: 0; background: none; font-size: 28px; line-height: 1; color: #888; cursor: pointer; }
.privacy-modal .pm-close:hover{ color: #222; }
.privacy-modal .pm-body{ padding: 24px 28px; overflow-y: auto; color: #555; font-size: 14px; line-height: 1.7; }
.privacy-modal .pm-body h4{ margin: 20px 0 6px; font-size: 15px; font-weight: 700; color: #222; }
.privacy-modal .pm-body > p:first-child{ margin-bottom: 4px; }
.privacy-modal .pm-body ul{ padding-left: 18px; list-style: disc; }
.privacy-modal .pm-body ul li + li{ margin-top: 2px; }
.privacy-modal .pm-body .pm-note{ margin-top: 22px; padding-top: 14px; border-top: 1px dashed #e0e0e0; font-size: 12.5px; color: #999; }
.privacy-modal .pm-foot{ padding: 16px 28px; border-top: 1px solid #eee; text-align: center; }
.privacy-modal .pm-confirm{ min-width: 140px; height: 48px; border: 0; border-radius: 100px; background: var(--main-color); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.2s; }
.privacy-modal .pm-confirm:hover{ background: var(--gold-color); }
body.modal-open{ overflow: hidden; }

@media screen and (max-width: 650px) {
    .privacy-modal .pm-head{ padding: 18px 20px; }
    .privacy-modal .pm-title{ font-size: 19px; }
    .privacy-modal .pm-body{ padding: 20px; font-size: 13.5px; }
    .privacy-modal .pm-foot{ padding: 14px 20px; }
}



/* .main .case-section (실제 사건·실제 결과) */
.main .case-section{ padding: 100px 0; background: #2b2b2b; }
.main .case-section .case-head{ text-align: center; }
.main .case-section .case-head .q-mark{ display: inline-block; line-height: 0; }
/* .main .case-section .case-head .q-mark .ico{ width: auto; height: 34px; } */
.main .case-section .case-title{ margin-top: 30px; font-size: 32px; font-weight: 700; color: #fff; letter-spacing: -0.64px; }
.main .case-section .case-sub{ margin-top: 15px; font-size: 18px; font-weight: 500; color: #ccb197; }
.main .case-section .case-desc{ margin-top: 20px; font-size: 16px; font-weight: 400; line-height: 1.6; color: #bbb; }
.main .case-section .case-grid{ margin-top: 50px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.main .case-section .case-card{ display: flex; flex-direction: column; background: #191919; border-top: 10px solid var(--gold-color); border-radius: 10px; overflow: hidden; }
.main .case-section .case-card .card-inner{ flex-grow: 1; padding: 30px; }
.main .case-section .case-card .tag-row{ display: flex; align-items: center; gap: 14px; }
.main .case-section .case-card .tag{ flex-shrink: 0; padding: 5px 12px; border-radius: 100px; background: rgba(59, 58, 80, 0.45); font-size: 12px; font-weight: 700; color: #9b99ca; letter-spacing: -0.2px; }
.main .case-section .case-card .tag-row .tag-line{ flex-grow: 1; height: 1px; background: rgba(255, 255, 255, 0.08); }
.main .case-section .case-card .card-title{ margin-top: 22px; word-break: keep-all; font-size: 24px; font-weight: 700; line-height: 1.3; color: #fff; }
.main .case-section .case-card .step-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.main .case-section .case-card .step-list li{ display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.45; color: #bbb; }
.main .case-section .case-card .step-list .num{ flex-shrink: 0; width: 20px; height: 20px; margin-top: 1px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--gold-color); font-size: 10px; font-weight: 700; color: #fff; }
.main .case-section .case-card .review{ margin-top: auto; padding: 22px 30px 26px; background: linear-gradient(180deg, rgba(155, 153, 202, 0.06), rgba(155, 153, 202, 0.12)); border-top: 1px solid rgba(155, 153, 202, 0.12); display: flex; gap: 10px;}
.main .case-section .case-card .review .qq{ display: block; font-family: 'Times New Roman', serif; font-size: 32px;color: #9b99ca; }
.main .case-section .case-card .review .r-text{font-size: 15px; line-height: 1.7; color: rgba(255, 255, 255, 0.82); }
.main .case-section .case-card .review .r-by{ margin-top: 10px; font-size: 12px; color: #bbb; }
@media screen and (max-width: 1250px){
    .main .case-section{padding: 80px 0;}
    .main .case-section .case-card .card-title{font-size: 22px;}
}
@media screen and (max-width: 960px) {
    .main .case-section{padding: 60px 0;}
    .main .case-section .case-card .card-title{ font-size: 20px; }
}
@media screen and (max-width: 650px) {
    .main .case-section{ padding: 40px 0; }
    .main .case-section .case-title{ font-size: 24px; }
    .main .case-section .case-sub{ font-size: 15px; margin-top: 5px;}
    .main .case-section .case-desc{ font-size: 14px; margin-top: 10px; }
    .main .case-section .case-grid{ grid-template-columns: 1fr; gap: 20px; margin-top: 36px; }
    .main .case-section .case-card .card-inner{ padding: 24px 20px; }
    .main .case-section .case-card .card-title{ font-size: 18px; }
    .main .case-section .case-card .review{ padding: 20px; }
}


/* .main .faq-section (자주 묻는 질문) */
.main .faq-section{ padding: 100px 0; background: #f0f0f0; }
.main .faq-section .faq-head{ text-align: center; }
.main .faq-section .faq-head .badge{ display: inline-block; padding: 7px 16px; border-radius: 10px; background: rgba(145, 121, 98, 0.1); font-size: 15px; font-weight: 500; color: var(--gold-color); letter-spacing: -0.6px; }
.main .faq-section .faq-head .faq-title{ margin-top: 18px; font-size: 32px; font-weight: 700; color: #222; letter-spacing: -1.28px; }
.main .faq-section .faq-head .faq-sub{ margin-top: 12px; font-size: 15px; font-weight: 400; color: #7f7f7f; }
.main .faq-section .faq-list{ max-width: 1000px; margin: 40px auto 0;}
.main .faq-section .faq-item{ border-bottom: 1px solid #cacaca; }
.main .faq-section .faq-q{ width: 100%; display: flex; align-items: center; gap: 18px; padding: 26px 4px; background: none; border: 0; cursor: pointer; text-align: left; }
.main .faq-section .faq-q .qno{ flex-shrink: 0; font-size: 14px; font-weight: 700; color: var(--gold-color); }
.main .faq-section .faq-q .qtext{ flex-grow: 1; font-size: 16px; font-weight: 600; line-height: 1.4; color: #222; }
.main .faq-section .faq-q .arrow{ flex-shrink: 0; width: 14px; height: auto; color: #888; transition: transform 0.3s; }
.main .faq-section .faq-item.open .faq-q .arrow{ transform: rotate(180deg); color: var(--gold-color); }
.main .faq-section .faq-item.open .faq-q .qtext{ color: var(--gold-color); }
.main .faq-section .faq-a{ display: none; padding: 0 4px 28px 46px; font-size: 15px; line-height: 1.7; color: #444; }
.main .faq-section .faq-item.open .faq-a{ display: block; animation: solFade 0.3s ease; }
.main .faq-section .faq-cta{ max-width: 1000px; margin: 30px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 28px 44px; border-radius: 10px; background: linear-gradient(135deg, var(--navy-color) 0%, var(--main-color) 100%); }
.main .faq-section .faq-cta .c-txt .t1{ font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.72px; }
.main .faq-section .faq-cta .c-txt .t2{ margin-top: 6px; font-size: 15px; font-weight: 400; color: #9b99ca; }
.main .faq-section .faq-cta .c-btn{ flex-shrink: 0; padding: 11px 22px; border-radius: 4px; background: var(--gold-color); font-size: 16px; font-weight: 500; color: #fff; transition: background 0.2s; }
.main .faq-section .faq-cta .c-btn:hover{ background: #a68a6f; }

@media screen and (max-width: 650px) {
    .main .faq-section{ padding: 60px 0; }
    .main .faq-section .faq-head .faq-title{ font-size: 26px; }
    .main .faq-section .faq-q{ gap: 12px; padding: 20px 2px; }
    .main .faq-section .faq-q .qtext{ font-size: 15px; }
    .main .faq-section .faq-a{ padding: 0 2px 22px 34px; font-size: 14px; }
    .main .faq-section .faq-cta{ flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px 22px; }
    .main .faq-section .faq-cta .c-btn{ align-self: stretch; text-align: center; }
}