/* joongpa — 중파회 공통 (PC 1800px 기준) */

/* Pretendard: 동적 서브셋(unicode-range) → 사용 글자 청크만 로드
   @font-face 선언은 /fonts/pretendard/pretendard-dynamic.css 에서 로드 (header에서 링크) */

/* 폰트 로딩 전/후 레이아웃 흔들림(FOUT) 완화 — 시스템 폰트 메트릭을 Pretendard에 맞춤 */
@font-face {
    font-family: 'Pretendard Fallback';
    src: local('Apple SD Gothic Neo'), local('Malgun Gothic'), local('맑은 고딕');
    ascent-override: 92.7%;
    descent-override: 24.4%;
    line-gap-override: 0%;
    size-adjust: 100.6%;
}

:root {
    --epc-brand: #0c5eea;
    --epc-brand-dark: #0a4ec4;
    --epc-brand-light: #3d7eef;
    --epc-text: #222;
    --epc-text-muted: #666;
    --epc-border: #e0e6ee;
    --epc-content-width: 1800px;
    --epc-radius: 12px;
    --epc-font: 'Pretendard', 'Pretendard Fallback', -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}

body,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body label,
body input,
body button,
body textarea,
body select {
    font-family: var(--epc-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    padding: 0;
    color: var(--epc-text);
    background: #fff;
}

html {
    overflow-x: clip;
}

body.epc-feature-modal-open {
    overflow: hidden;
}

.car-list-page {
    --clf-brand: #333;
    --clf-accent: var(--epc-brand);
    --clf-danger: #e53935;
}

/* ---- 이미지 슬롯 (이미지 미등록 시 placeholder) ---- */
.epc-img-slot {
    display: block;
    position: relative;
    overflow: hidden;
    background: #edf2f8;
    border: 1px dashed #c5d0de;
}

.epc-img-slot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
}

.epc-img-slot:has(img[src*="?"]:not([src=""])),
.epc-img-slot img:not([src=""]) {
    border: 0;
}

.epc-header-logo-link {
    position: relative;
    display: block;
    width: 200px;
    height: 64px;
    line-height: 0;
    overflow: hidden;
}

.epc-header-logo-link img {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    height: 64px;
    object-fit: contain;
    object-position: left center;
}

/* ---- PC / 모바일 분기 ---- */
.epc-header-pc {
    display: block;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.epc-header-mo {
    display: none;
}

@media screen and (max-width: 1199px) {
    body.epc-layout-responsive {
        overflow-x: hidden;
    }

    body.epc-layout-responsive .epc-header-pc {
        display: none;
    }

    body.epc-layout-responsive .epc-header-mo {
        display: block;
    }
}

body.epc-layout-responsive .epc-header-mo {
    width: 100%;
    border-bottom: 2px solid var(--epc-brand-light);
    background: #fff;
}

body.epc-layout-responsive .epc-mo-top {
    width: 100%;
    height: 48px;
    padding: 0 12px;
    box-sizing: border-box;
    overflow: hidden;
}

body.epc-layout-responsive .epc-mo-logo {
    float: left;
    line-height: 0;
}

body.epc-layout-responsive .epc-mo-logo img {
    display: block;
    height: 48px;
    width: auto;
    max-width: 160px;
}

body.epc-layout-responsive .epc-mo-tel {
    float: right;
    line-height: 0;
    margin-top: 4px;
}

body.epc-layout-responsive .epc-mo-tel img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

body.epc-layout-responsive .epc-mo-nav {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    line-height: 0;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid #e8e8e8;
}

body.epc-layout-responsive .epc-mo-nav-item {
    display: inline-block;
    vertical-align: top;
    line-height: 0;
}

body.epc-layout-responsive .epc-mo-nav-item img {
    display: block;
    width: 117px;
    height: 38px;
    border: 0;
}

/* ---- PC 헤더 ---- */
.epc-header-wrap {
    width: 100%;
    min-width: var(--epc-content-width);
    background: #fff;
    border-bottom: 1px solid var(--epc-border);
    transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.epc-header-inner {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 40px;
    width: var(--epc-content-width);
    max-width: 100%;
    margin: 0 auto;
    padding: 22px 0 14px 60px;
    box-sizing: border-box;
}

.epc-header-logo {
    display: flex;
    align-items: center;
    height: auto;
    overflow: visible;
}

.epc-header-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    height: auto;
}

.epc-nav-list {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.epc-nav-item {
    display: flex;
    align-items: center;
}

.epc-nav-item a {
    display: flex;
    align-items: center;
    min-height: 48px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    color: var(--epc-text);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
}

.epc-nav-item a:hover,
.epc-nav-item.is-current a {
    color: var(--epc-brand);
}

.epc-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    height: auto;
}

.epc-header-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 300px;
    height: 48px;
    padding: 0 16px 0 42px;
    border: 0;
    border-radius: 999px;
    background: #f2f4f7;
    box-sizing: border-box;
}

.epc-header-search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa3b2;
    line-height: 0;
    pointer-events: none;
}

.epc-header-search-input {
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 15px;
    line-height: 1;
    color: var(--epc-text);
    outline: none;
}

.epc-header-search-input::placeholder {
    color: #9aa3b2;
}

.epc-header-sell-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: 8px;
    background-color: #0c5eea;
    background-image: linear-gradient(to right, #004dd1 0%, #0c5eea 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 128, 200, 0.25);
    transition: filter 0.2s ease;
}

.epc-header-sell-btn:hover {
    filter: brightness(1.06);
    color: #fff;
}

/* ---- 중파회 2단 헤더 (로고+검색+전화 / 메인 메뉴) ---- */
.epc-header-top {
    width: 100%;
    min-width: var(--epc-content-width);
    background: #fff;
    border-bottom: 1px solid var(--epc-border);
}

.epc-header-top-inner {
    display: flex;
    align-items: center;
    gap: 32px;
    width: var(--epc-content-width);
    max-width: 100%;
    margin: 0 auto;
    padding: 20px 0 20px 60px;
    box-sizing: border-box;
}

.epc-header-top-inner .epc-header-logo {
    flex: 0 0 auto;
}

.epc-header-top-inner .epc-header-search {
    flex: 0 0 340px;
}

.epc-header-contact {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-left: auto;
    padding-right: 60px;
    white-space: nowrap;
}

.epc-header-contact-label {
    font-size: 14px;
    color: #7c8698;
}

.epc-header-contact-tel {
    font-size: 22px;
    font-weight: 800;
    color: var(--epc-brand);
    text-decoration: none;
}

.epc-header-gnb {
    width: 100%;
    min-width: var(--epc-content-width);
    background: #0f2a63;
}

.epc-header-gnb .epc-header-nav {
    width: var(--epc-content-width);
    max-width: 100%;
    margin: 0 auto;
    padding-left: 60px;
    box-sizing: border-box;
}

.epc-header-gnb .epc-nav-item a {
    color: #eef2fb;
}

.epc-header-gnb .epc-nav-item a:hover,
.epc-header-gnb .epc-nav-item.is-current a {
    color: #7ec8ff;
}

.epc-nav-item--has-children {
    position: relative;
}

.epc-nav-sub {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    display: none;
    flex-direction: column;
    min-width: 140px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 12px 24px rgba(15, 42, 99, 0.18);
}

.epc-nav-item--has-children:hover .epc-nav-sub {
    display: flex;
}

.epc-nav-sub a {
    display: block;
    padding: 10px 18px;
    font-size: 15px;
    color: var(--epc-text);
    text-decoration: none;
    white-space: nowrap;
}

.epc-nav-sub a:hover {
    background: #f2f6ff;
    color: var(--epc-brand);
}

/* ---- 공통 버튼 ---- */
.epc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 24px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 0;
    transition: background 0.2s, color 0.2s;
}

.epc-btn--primary {
    background: var(--epc-brand);
    color: #fff;
}

.epc-btn--primary:hover {
    background: var(--epc-brand-dark);
    color: #fff;
}

.epc-btn--outline {
    background: #fff;
    color: var(--epc-brand);
    border: 1px solid var(--epc-brand);
}

.epc-btn--cta {
    background: var(--epc-brand);
    color: #fff;
    min-width: 140px;
}

.epc-btn--cta:hover {
    background: var(--epc-brand-dark);
}

/* ── 우측 고정 퀵메뉴 ── */
.epc-right-quick {
    position: fixed;
    top: 50%;
    right: 24px;
    z-index: 900;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    transform: translateY(-50%);
    pointer-events: none;
}

.epc-right-quick-panel,
.epc-right-quick-top {
    pointer-events: auto;
}

.epc-right-quick-panel {
    width: 148px;
    padding: 18px 0 6px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

.epc-right-quick-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-align: center;
    color: var(--epc-brand);
}

.epc-right-quick-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.epc-right-quick-list > li {
    margin: 0;
}

.epc-right-quick-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid #eceff3;
    text-decoration: none;
    color: #333;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.02em;
    transition: color 0.15s ease;
}

.epc-right-quick-link:hover {
    color: var(--epc-brand);
}

.epc-right-quick-link img {
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    object-fit: contain;
}

.epc-right-quick-top {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--epc-brand);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(12, 94, 234, 0.35);
    transition: background 0.15s ease, transform 0.15s ease;
}

.epc-right-quick-top:hover {
    background: var(--epc-brand-dark);
    transform: translateY(-2px);
}

.epc-right-quick-top-icon {
    display: block;
    width: 12px;
    height: 12px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(-45deg) translateY(2px);
}

@media (max-width: 1600px) {
    .epc-right-quick {
        display: none !important;
    }
}

/* 매물 상세(엔카 스킨) — PC 기본 1200px */
.encar-detail-page.epc-car-detail-page {
    max-width: 1200px;
}

/* 우측 고정 패널이 고정 헤더에 가려지지 않도록 sticky top 보정 */
.epc-car-detail-page .encar-detail-aside {
    top: 100px;
}

.epc-car-detail-page .encar-detail-block {
    scroll-margin-top: 100px;
}

/* 매물 목록 카드 그리드 — 홈 카드와 동일, 목록 페이지 반응형 */
.epc-car-list-page .epc-car-grid--home {
    margin-top: 20px;
}

@media (max-width: 1200px) {
    .epc-car-list-page .epc-car-grid--home {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .epc-car-list-page .epc-car-grid--home {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .epc-car-list-page .epc-car-grid--home {
        gap: 12px;
    }
}

/* 목록 하단 여백 — 페이징과 푸터 사이 간격 */
.epc-car-list-page {
    padding-bottom: 60px;
}

.epc-car-list-page .car-list-pagination {
    margin-bottom: 20px;
}

/* =========================================================
   차로차 검색 필터 — easyplancar 모던 리스타일
   ========================================================= */

.epc-car-list-page .charocha-list-title {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #14181f;
    text-align: center;
    margin: 44px 0 26px;
}

.epc-car-list-page .search-tabs-container {
    background: transparent;
}

/* 탭 헤더 */
.epc-car-list-page .search-tabs-header {
    gap: 8px;
    margin-bottom: 22px;
    border-bottom: 1px solid #eef1f6;
}

.epc-car-list-page .search-tab-btn {
    padding: 12px 22px;
    font-size: 16px;
    font-weight: 600;
    color: #97a0ad;
    border-bottom: 2.5px solid transparent;
    margin-bottom: -1px;
}

.epc-car-list-page .search-tab-btn.active {
    color: var(--epc-brand);
    border-bottom-color: var(--epc-brand);
    font-weight: 700;
}

/* 캐스케이드 테이블 */
.epc-car-list-page .car-search-table {
    border: 1px solid #eef1f6;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(20, 40, 80, 0.05);
    overflow: hidden;
    background: #fff;
}

.epc-car-list-page .table-header-wrapper {
    background: #f7f9fc;
    border-bottom: 1px solid #e8ecf3;
}

.epc-car-list-page .table-header-cell {
    padding: 15px 10px;
    font-size: 13.5px;
    font-weight: 700;
    color: #44506a;
    letter-spacing: -0.1px;
    border-bottom: none;
    border-right: 1px solid #eef1f6;
}

.epc-car-list-page .table-body-wrapper {
    height: 244px;
}

.epc-car-list-page .brand-column-wrapper {
    border-right: 1px solid #eef1f6;
    padding: 6px;
}

.epc-car-list-page .brand-cell {
    padding: 12px 10px;
    font-size: 14px;
    font-weight: 500;
    color: #3a4150;
    border-bottom: none;
    border-radius: 10px;
    margin-bottom: 2px;
}

.epc-car-list-page .brand-cell:hover {
    background: #f1f5fd;
    color: var(--epc-brand);
}

.epc-car-list-page .brand-cell.selected {
    background: linear-gradient(135deg, var(--epc-brand), var(--epc-brand-light));
    color: #fff;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(12, 94, 234, 0.28);
}

.epc-car-list-page .select-cell {
    background: #fff;
    padding: 8px;
    border-right: 1px solid #f2f4f8;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.epc-car-list-page .select-placeholder {
    color: #b6bdc8;
    font-size: 13.5px;
    line-height: 1.7;
}

.epc-car-list-page .select-columns-wrapper {
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.epc-car-list-page .select-cell .list {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    overflow-y: auto;
}

.epc-car-list-page .select-cell .list li a {
    padding: 11px 12px;
    font-size: 14px;
    color: #3a4150;
    border-radius: 10px;
    margin-bottom: 2px;
    font-weight: 500;
}

.epc-car-list-page .select-cell .list li a:hover {
    background: #f1f5fd;
    color: var(--epc-brand);
}

.epc-car-list-page .select-cell .list li.on a {
    background: linear-gradient(135deg, var(--epc-brand), var(--epc-brand-light));
    color: #fff;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(12, 94, 234, 0.28);
}

/* 상세검색 열기/닫기 토글 */
.epc-car-list-page .charocha-detail-toggle-wrap {
    margin: 18px 0;
}

.epc-car-list-page .charocha-detail-toggle-btn {
    width: 100%;
    padding: 14px;
    background: #fff;
    border: 1px solid #e4e9f0;
    border-radius: 12px;
    color: #5a6472;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.epc-car-list-page .charocha-detail-toggle-btn:hover {
    border-color: var(--epc-brand);
    color: var(--epc-brand);
    background: #f8faff;
}

/* 상세 검색 조건 박스 */
.epc-car-list-page #carselectbox.charocha-detail-box,
.epc-car-list-page #carselectbox {
    background: #fff;
    border: 1px solid #eef1f6;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(20, 40, 80, 0.05);
    padding: 26px 28px;
}

.epc-car-list-page .search-detail-title {
    font-size: 15px;
    font-weight: 700;
    color: #14181f;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f2f4f8;
}

.epc-car-list-page .sale_text {
    font-size: 13.5px;
    font-weight: 600;
    color: #5a6472;
    min-width: 52px;
}

.epc-car-list-page .sale_select,
.epc-car-list-page #carselectbox input[type="text"] {
    padding: 11px 34px 11px 14px;
    border: 1px solid #e4e9f0;
    border-radius: 10px;
    font-size: 14px;
    color: #2a3038;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2397a0ad' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
}

.epc-car-list-page #carselectbox input[type="text"],
.epc-car-list-page .charocha-keyword {
    background-image: none;
    padding: 11px 14px;
}

.epc-car-list-page .sale_select:focus,
.epc-car-list-page #carselectbox input[type="text"]:focus {
    border-color: var(--epc-brand);
    box-shadow: 0 0 0 3px rgba(12, 94, 234, 0.12);
}

/* 검색/초기화 버튼 */
.epc-car-list-page .charocha-search-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin: 22px 0;
}

.epc-car-list-page .charocha-btn-search {
    padding: 14px 44px;
    background: linear-gradient(135deg, var(--epc-brand), var(--epc-brand-light));
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-right: 0;
    box-shadow: 0 6px 16px rgba(12, 94, 234, 0.28);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.epc-car-list-page .charocha-btn-search:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(12, 94, 234, 0.34);
}

.epc-car-list-page .charocha-btn-reset {
    padding: 14px 28px;
    background: #fff;
    border: 1px solid #e4e9f0;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #5a6472;
    transition: border-color 0.2s, color 0.2s;
}

.epc-car-list-page .charocha-btn-reset:hover {
    border-color: #c7cfda;
    color: #2a3038;
}

/* 차종별 검색 — 차량 사진 카드 */
.epc-car-list-page .charocha-type-search-inner {
    padding: 8px 2px;
}

.epc-car-list-page .charocha-type-buttons {
    gap: 14px;
}

.epc-car-list-page .charocha-list-page .filter-btn,
.epc-car-list-page.charocha-list-page .filter-btn {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 14px 14px;
    min-width: 132px;
    border: 1px solid #eef1f6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(20, 40, 80, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.epc-car-list-page .charocha-type-buttons .filter-btn:hover {
    transform: translateY(-3px);
    border-color: #cfe0fb;
    box-shadow: 0 10px 24px rgba(12, 94, 234, 0.14);
    color: var(--epc-brand);
}

.epc-car-list-page .charocha-type-buttons .filter-btn img {
    width: 96px;
    height: auto;
    margin: 0;
}

.epc-car-list-page .charocha-type-buttons .filter-btn span {
    margin-left: 0;
    font-size: 15px;
    font-weight: 600;
    color: #3a4150;
}

.epc-car-list-page .charocha-type-buttons .filter-btn.active {
    background: #f4f8ff;
    border-color: var(--epc-brand);
    box-shadow: 0 8px 20px rgba(12, 94, 234, 0.18);
}

.epc-car-list-page .charocha-type-buttons .filter-btn.active span {
    color: var(--epc-brand);
}

/* 정렬 바 */
.epc-car-list-page .car-list-sort-bar,
.epc-car-list-page .car-list-sort {
    margin-top: 6px;
}

@media (max-width: 900px) {
    .epc-car-list-page .charocha-btn-search {
        flex: 1;
        text-align: center;
    }
}

/* easyplancar 메인·푸터 */

.epc-page-shell {
    position: relative;
    min-width: var(--epc-content-width, 1800px);
}

.epc-home-pc,
.epc-bottom-pc {
    display: block;
}

@media screen and (max-width: 1199px) {
    body.epc-layout-responsive .epc-home-pc,
    body.epc-layout-responsive .epc-bottom-pc {
        display: none;
    }
}

.epc-home-wrap {
    width: var(--epc-content-width, 1800px);
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 80px;
    box-sizing: border-box;
}

/* ---- 히어로 배너 ---- */
.epc-hero {
    position: relative;
    min-width: var(--epc-content-width, 1800px);
    margin-bottom: 300px;
}

.epc-hero-slideshow {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
    background: #e8eef5;
}

.epc-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.epc-hero-slide.is-active {
    opacity: 1;
    z-index: 1;
}

.epc-hero-slide-copy {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: var(--epc-content-width, 1800px);
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 0 60px;
    box-sizing: border-box;
    left: 50%;
    transform: translate(-50%, -50%);
}

.epc-hero-slide-title {
    margin: 0 0 20px;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.4;
    color: #1a2233;
}

.epc-hero-slide-title strong {
    color: var(--epc-brand);
}

.epc-hero-slide-desc {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #4b5566;
}

/* ---- 스마트 검색 ---- */
.epc-smart-search-wrap {
    position: absolute;
    left: 50%;
    bottom: -160px;
    z-index: 2;
    transform: translateX(-50%);
    width: 1200px;
    max-width: calc(100% - 40px);
    padding: 24px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 30, 80, 0.14);
}

.epc-smart-search {
    display: flex;
    align-items: flex-start;
    gap: 48px;
}

.epc-smart-search-head {
    flex: 0 0 220px;
}

.epc-smart-search-title {
    margin: 0 0 10px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--epc-brand-dark);
}

.epc-smart-search-desc {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--epc-text-muted);
}

.epc-smart-search-grid {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    align-items: end;
}

.epc-smart-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.epc-smart-field-label {
    font-size: 14px;
    font-weight: 600;
    color: #4b5563;
}

.epc-smart-field select {
    width: 100%;
    height: 48px;
    padding: 0 36px 0 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239AA3B2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
    font-size: 15px;
    color: var(--epc-text);
    outline: none;
    appearance: none;
    box-sizing: border-box;
}

.epc-smart-search-btn {
    border: 0;
    padding: 10px 20px;
    border-radius: 8px;
    background-color: #0c5eea;
    background-image: linear-gradient(to right, #004dd1 0%, #0c5eea 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: filter 0.2s ease;
}

.epc-smart-search-btn:hover {
    filter: brightness(1.06);
}

/* ---- 스마트 검색 하단 카드 ---- */
.epc-smart-features {
    position: absolute;
    left: 50%;
    top: calc(100% + 180px);
    z-index: 2;
    transform: translateX(-50%);
    display: flex;
    gap: 18.8px;
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.epc-smart-feature {
    flex: 0 0 225px;
    width: 225px;
}

.epc-smart-feature-btn {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    line-height: 0;
}

.epc-smart-feature img {
    display: block;
    width: 225px;
    height: 100px;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    will-change: transform;
}

.epc-smart-feature:hover img {
    transform: translateY(-8px);
    box-shadow: 0 12px 20px rgba(12, 94, 234, 0.14);
}

/* ---- 스마트 검색 서비스 상담 팝업 ---- */
.epc-feature-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
}

.epc-feature-modal[hidden] {
    display: none;
}

.epc-feature-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 24, 65, 0.55);
}

.epc-feature-modal__dialog {
    position: relative;
    z-index: 1;
    width: 520px;
    max-width: 100%;
    padding: 32px 32px 28px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.18);
    box-sizing: border-box;
}

.epc-feature-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: #888;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.epc-feature-modal__close:hover {
    color: #222;
}

.epc-feature-modal__head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
    padding-right: 28px;
}

.epc-feature-modal__icon {
    flex: 0 0 auto;
    display: block;
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.epc-feature-modal__category {
    margin: 0 0 4px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.4px;
    color: #222;
}

.epc-feature-modal__category:empty {
    display: none;
    margin: 0;
}

.epc-feature-modal__title {
    margin: 0 0 6px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.6px;
    color: var(--epc-brand);
}

.epc-feature-modal__desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #666;
}

.epc-feature-modal__form .epc-cta-field + .epc-cta-field {
    margin-top: 14px;
}

/* ---- 섹션 공통 ---- */
.epc-section {
    padding: 64px 0;
}

.epc-section-title {
    margin: 0 0 16px;
    font-size: 28px;
    font-weight: 700;
    color: var(--epc-text);
    line-height: 1.4;
}

.epc-section-title--brand {
    font-size: 36px;
    color: var(--epc-brand);
    letter-spacing: 0.02em;
}

.epc-section-title--center {
    text-align: center;
}

.epc-section-desc {
    margin: 0;
    font-size: 15px;
    color: var(--epc-text-muted);
    line-height: 1.7;
}

.epc-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 32px;
}

.epc-section-head .epc-section-title {
    margin-bottom: 0;
}

.epc-section-head .epc-section-title--center {
    flex: 1;
    text-align: center;
}

.epc-section-link {
    font-size: 14px;
    color: var(--epc-brand);
    text-decoration: none;
    white-space: nowrap;
}

.epc-section-more {
    margin-top: 32px;
    text-align: center;
}

/* ---- 소개 ---- */
.epc-about {
    padding: 64px 0;
    overflow: hidden;
}

.epc-about-inner {
    width: var(--epc-content-width, 1800px);
    max-width: 100%;
    margin-left: auto;
    margin-right: 0;
    box-sizing: border-box;
}

.epc-about-figure {
    position: relative;
    width: 1716px;
    max-width: 100%;
    margin: 0 0 0 auto;
    line-height: 0;
}

.epc-about-visual {
    display: block;
    width: 100%;
    height: auto;
}

.epc-about-cta {
    position: absolute;
    left: 9.09%;
    top: 77.74%;
    width: 8.74%;
    height: 8.51%;
    border-radius: 8px;
}

/* ---- TV/유튜브 ---- */
.epc-section.epc-tv {
    padding: 80px 0;
    border-top: none;
    background-color: #f5f8fe;
    background-image: linear-gradient(to bottom, #fff 0%, #f5f8fe 100%);
}

.epc-tv-inner {
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

.epc-tv-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    margin: 0 auto 40px;
}

.epc-tv-copy {
    flex: 0 1 520px;
    min-width: 0;
}

.epc-tv-title {
    margin: 0 0 20px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--epc-text);
    letter-spacing: -0.02em;
}

.epc-tv-title-accent {
    color: var(--epc-brand);
}

.epc-tv-desc {
    margin: 0 0 32px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--epc-text);
}

.epc-tv-checkpoint-label {
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 700;
    color: var(--epc-brand);
}

.epc-tv-checklist {
    margin: 0;
    padding: 0;
    list-style: none;
}

.epc-tv-checklist li {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--epc-text);
}

.epc-tv-check-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--epc-brand);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.epc-tv-broadcast {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.epc-tv-broadcast-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    overflow: hidden;
    background: #111;
}

.epc-tv-broadcast-frame iframe,
.epc-tv-broadcast-frame img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    z-index: 1;
}

.epc-tv-badge,
.epc-tv-youtube-label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: inline-block;
    padding: 10px;
    border-radius: 6px;
    background-color: #0c5eea;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    transform: translateY(-50%);
}

.epc-tv-play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    pointer-events: none;
}

.epc-tv-play::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 10px 0 10px 16px;
    border-color: transparent transparent transparent var(--epc-brand);
}

.epc-tv-play--sm {
    width: 44px;
    height: 44px;
}

.epc-tv-play--sm::after {
    border-width: 7px 0 7px 12px;
}

.epc-tv-youtube {
    margin: 75px auto 0;
}

.epc-tv-youtube-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18.8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.epc-tv-youtube-card {
    position: relative;
}

.epc-tv-youtube-card-inner {
    position: relative;
    aspect-ratio: 320 / 460;
    border-radius: 20px;
    overflow: hidden;
    background: transparent;
}

.epc-tv-youtube-card-inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---- 추천 차량 ---- */
.epc-cars {
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 72px;
    box-sizing: border-box;
}

.epc-cars-head {
    margin-bottom: 28px;
}

.epc-cars-title {
    margin: 0 0 20px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--epc-text);
    letter-spacing: -0.02em;
}

.epc-cars-title-accent {
    color: var(--epc-brand);
}

.epc-cars-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.epc-cars-more-link {
    flex: 0 0 auto;
    font-size: 14px;
    color: var(--epc-text-muted);
    text-decoration: none;
    white-space: nowrap;
}

.epc-cars-more-btn-mo {
    display: none;
}

.epc-cars-more-link:hover {
    color: var(--epc-brand);
}

.epc-car-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.epc-car-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid var(--epc-border);
    background: #fff;
    color: var(--epc-text-muted);
    font-size: 15px;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.epc-car-tab.is-active,
.epc-car-tab:hover {
    border-color: var(--epc-brand);
    background: var(--epc-brand);
    color: #fff;
}

.epc-car-grid--home {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.epc-car-card--home {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.epc-car-card--home:hover {
    box-shadow: 0 8px 24px rgba(12, 94, 234, 0.12);
    transform: translateY(-2px);
}

.epc-car-card--home .epc-car-card-thumb {
    position: relative;
    aspect-ratio: 280 / 180;
    background: #dfe6ef;
    overflow: hidden;
}

.epc-car-card-thumb--placeholder {
    background: linear-gradient(135deg, #d8e0ea 0%, #c5d0de 100%);
}

.epc-car-card-inspect {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 6px;
    background: rgba(12, 94, 234, 0.92);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.epc-car-card-inspect-icon {
    display: block;
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    max-width: 12px;
    max-height: 12px;
    object-fit: contain;
}

.epc-car-card--home .epc-car-card-body {
    padding: 16px 16px 18px;
}

.epc-car-card-service {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 10px;
    padding: 4px 8px;
    border-radius: 4px;
    background: #e8f7ee;
    color: #1f9d55;
    font-size: 12px;
    font-weight: 700;
}

.epc-car-card-service-icon {
    display: block;
    flex: 0 0 auto;
    width: 15px;
    height: 14px;
    object-fit: contain;
}

.epc-car-card--home .epc-car-card-title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
}

.epc-car-card-meta {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--epc-text-muted);
}

.epc-car-card-total,
.epc-car-card-monthly {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    font-size: 14px;
}

.epc-car-card-total {
    margin-bottom: 6px;
}

.epc-car-card-total-label,
.epc-car-card-monthly-label {
    color: var(--epc-text-muted);
}

.epc-car-card-total strong {
    font-size: 18px;
    font-weight: 700;
    color: var(--epc-text);
}

.epc-car-card-monthly strong {
    font-size: 18px;
    font-weight: 700;
    color: var(--epc-brand);
}

.epc-car-card-monthly-term {
    font-size: 12px;
    color: var(--epc-text-muted);
}

.epc-car-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 28px;
}

.epc-car-pager-track {
    flex: 1 1 auto;
    height: 2px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
}

.epc-car-pager-bar {
    display: block;
    height: 100%;
    background: var(--epc-brand);
    border-radius: inherit;
    transition: width 0.25s ease, margin-left 0.25s ease;
}

.epc-car-pager-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.epc-car-pager-btn {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--epc-text);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.epc-car-pager-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

.epc-car-pager-status {
    min-width: 48px;
    text-align: center;
    font-size: 14px;
    color: var(--epc-text-muted);
}

.epc-car-section-placeholder {
    padding: 48px;
    text-align: center;
    background: #f8fafc;
    border: 1px dashed var(--epc-border);
    border-radius: var(--epc-radius);
    color: var(--epc-text-muted);
}

.epc-car-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.epc-car-card {
    border: 1px solid var(--epc-border);
    border-radius: var(--epc-radius);
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.2s;
}

.epc-car-card:hover {
    box-shadow: 0 4px 16px rgba(0, 30, 80, 0.1);
}

.epc-car-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.epc-car-card-thumb {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #f0f4f8;
    overflow: hidden;
}

.epc-car-card-thumb .epc-car-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.epc-car-card-body {
    padding: 14px 16px 18px;
}

.epc-car-card-title {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.epc-car-card-meta {
    margin: 0 0 8px;
    font-size: 13px;
    color: var(--epc-text-muted);
}

.epc-car-card-price {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--epc-brand);
}

.epc-car-card-spec {
    margin: 0;
    font-size: 13px;
}

.epc-car-card-spec-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

.epc-car-card-spec dt {
    margin: 0;
    color: var(--epc-text-muted);
}

.epc-car-card-spec dd {
    margin: 0;
    text-align: right;
}

.epc-car-card-spec-month {
    color: var(--epc-brand);
    font-weight: 600;
}

/* ---- 구매 절차 ---- */
.epc-process {
    scroll-margin-top: 96px;
    padding-top: 150px;
    padding-bottom: 72px;
}

.epc-process-inner {
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    box-sizing: border-box;
}

.epc-process-layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
}

.epc-process-copy {
    flex: 0 0 auto;
    min-width: 0;
    padding-top: 4px;
}

.epc-process-title {
    margin: 0 0 14px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--epc-text);
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.epc-process-title-accent {
    color: var(--epc-brand);
}

.epc-process-desc {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--epc-text-muted);
}

.epc-process-grid {
    flex: 0 0 760px;
    width: 760px;
    display: grid;
    grid-template-columns: repeat(3, 240px);
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.epc-process-card {
    width: 240px;
    margin: 0;
    line-height: 0;
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    transition-delay: var(--epc-process-delay, 0s);
}

.epc-process.is-inview .epc-process-card {
    opacity: 1;
    transform: translateY(0);
}

.epc-process-card-img {
    display: block;
    width: 240px;
    height: 240px;
    border-radius: 12px;
    filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.06));
    transition: transform 0.28s ease;
}

.epc-process-card:hover .epc-process-card-img {
    transform: translateY(-6px);
}

/* ---- 고객 후기 ---- */
.epc-reviews {
    width: 100%;
    padding: 80px 0;
    overflow: hidden;
    background: #f7f9fc;
    box-sizing: border-box;
}

.epc-reviews-head {
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0 auto 40px;
    text-align: center;
}

.epc-reviews-title {
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: -0.9px;
    text-align: center;
    color: #061841;
}

.epc-review-marquee {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.epc-review-marquee-row {
    overflow: hidden;
}

.epc-review-marquee-row:hover .epc-review-marquee-track {
    animation-play-state: paused;
}

.epc-review-marquee-track {
    display: flex;
    width: max-content;
    will-change: transform;
}

.epc-review-marquee-row--left .epc-review-marquee-track {
    animation: epc-review-marquee-left 42s linear infinite;
}

.epc-review-marquee-row--right .epc-review-marquee-track {
    animation: epc-review-marquee-right 42s linear infinite;
}

.epc-review-marquee-set {
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    padding-right: 16px;
}

.epc-review-slide-card {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 0 0 auto;
    width: 400px;
    padding: 16px 18px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    color: inherit;
    box-sizing: border-box;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.epc-review-slide-card:hover {
    box-shadow: 0 8px 24px rgba(12, 94, 234, 0.12);
    transform: translateY(-2px);
}

.epc-review-slide-thumb {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    background: #e8edf3;
}

.epc-review-slide-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.epc-review-slide-thumb-empty {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #d8e0ea 0%, #c5d0de 100%);
}

.epc-review-slide-body {
    flex: 1 1 auto;
    min-width: 0;
}

.epc-review-slide-quote {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.55;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.epc-review-slide-name {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 700;
    color: #111;
}

.epc-review-slide-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 13px;
    line-height: 1;
}

.epc-review-slide-stars {
    color: #f5b301;
    letter-spacing: 0.04em;
}

.epc-review-slide-score {
    font-weight: 700;
    color: #111;
}

@keyframes epc-review-marquee-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes epc-review-marquee-right {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .epc-review-marquee-row--left .epc-review-marquee-track,
    .epc-review-marquee-row--right .epc-review-marquee-track {
        animation: none;
    }
}

/* ---- 하단 CTA ---- */
.epc-cta-banner {
    position: relative;
    width: 100%;
    min-height: 360px;
    overflow: hidden;
    background: #061841;
    box-sizing: border-box;
}

.epc-cta-bg {
    position: absolute;
    inset: 0;
    border: 0;
}

.epc-cta-bg.epc-img-slot {
    border: 0;
    background: transparent;
}

.epc-cta-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.epc-cta-bg-mo {
    display: none;
}

.epc-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    width: 1200px;
    max-width: calc(100% - 40px);
    min-height: 360px;
    margin: 0 auto;
    padding: 56px 0 48px;
    box-sizing: border-box;
}

.epc-cta-copy {
    flex: 0 1 auto;
    min-width: 0;
    padding-top: 8px;
}

.epc-cta-title {
    margin: 0 0 16px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.9px;
    color: #fff;
}

.epc-cta-desc {
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
}

.epc-cta-form-card {
    flex: 0 0 520px;
    width: 520px;
    max-width: 100%;
    padding: 32px 32px 28px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
}

.epc-cta-field + .epc-cta-field {
    margin-top: 16px;
}

.epc-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #111;
}

.epc-cta-input {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 14px;
    color: #222;
    outline: none;
    transition: border-color 0.2s ease;
}

.epc-cta-input::placeholder {
    color: #9aa3b2;
}

.epc-cta-input:focus {
    border-color: var(--epc-brand);
}

.epc-cta-policy {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 18px;
}

.epc-cta-policy input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--epc-brand);
}

.epc-cta-policy-label {
    font-size: 13px;
    line-height: 1.5;
    color: #444;
}

.epc-cta-policy-link {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: var(--epc-brand);
    cursor: pointer;
}

.epc-cta-policy-link:hover {
    text-decoration: underline;
}

.epc-cta-policy [data-epc-privacy-tooltip] {
    vertical-align: baseline;
}

.epc-cta-submit {
    width: 100%;
    min-height: 56px;
    margin-top: 20px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(to right, #004dd1 0%, #0c5eea 100%);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.epc-cta-submit:hover {
    opacity: 0.92;
}

.epc-cta-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ---- 푸터 ---- */
.epc-site-footer {
    min-width: var(--epc-content-width, 1800px);
    background: #061841;
    color: #aab4c0;
}

.epc-site-footer-inner {
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding: 48px 0 28px;
    box-sizing: border-box;
}

.epc-site-footer-main {
    display: grid;
    grid-template-columns: minmax(540px, 1.4fr) auto minmax(260px, 1fr);
    align-items: center;
    gap: 24px 32px;
    margin-bottom: 28px;
}

.epc-site-footer-brand {
    min-width: 540px;
    max-width: 100%;
    justify-self: start;
}

.epc-footer-logo-link {
    display: block;
    margin-bottom: 20px;
    line-height: 0;
}

.epc-footer-logo-link img {
    display: block;
    width: 200px;
    height: 40px;
    object-fit: contain;
}

.epc-site-footer-info {
    font-size: 13px;
    line-height: 1.7;
    color: #9aa8ba;
    word-break: keep-all;
}

.epc-site-footer-info .site-footer-html,
.epc-site-footer-info .site-footer-html p,
.epc-site-footer-line {
    margin: 0 0 4px;
    font-size: 13px;
    line-height: 1.7;
    color: #9aa8ba;
    white-space: normal;
}

.epc-site-footer-info .site-footer-html p:last-child,
.epc-site-footer-line:last-child {
    margin-bottom: 0;
}

.epc-site-footer-contact {
    justify-self: center;
    align-self: center;
    text-align: center;
}

.epc-site-footer-tel {
    display: block;
    margin-bottom: 10px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.5px;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.epc-site-footer-tel:hover {
    color: var(--epc-brand-light);
}

.epc-site-footer-hours {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #9aa8ba;
    white-space: nowrap;
}

.epc-site-footer-award {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    justify-self: end;
    align-self: center;
}

.epc-site-footer-award-box {
    display: block;
    line-height: 0;
}

.epc-site-footer-award-box img {
    display: block;
    width: 280px;
    max-width: 100%;
    height: auto;
}

.epc-img-slot--footer-award {
    border: 0;
    background: transparent;
}

.epc-site-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.epc-site-footer-copy {
    margin: 0;
    font-size: 12px;
    color: #6f7d92;
}

.epc-site-footer-links {
    display: flex;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.epc-site-footer-links a {
    font-size: 12px;
    color: #9aa8ba;
    text-decoration: none;
}

.epc-site-footer-links a:hover {
    color: #fff;
}

/* —— 중파회 커스텀 (회사소개 텍스트형 / 채널 링크) —— */
.epc-about--joongpa {
    background: linear-gradient(135deg, #eef4ff 0%, #f7fafe 100%);
}

.epc-about-inner--text {
    max-width: 760px;
    margin: 0 auto;
    padding: 64px 24px;
    text-align: center;
}

.epc-about-logo {
    margin-bottom: 20px;
}

.epc-about-title {
    font-size: 30px;
    font-weight: 800;
    color: #0f2a63;
    margin: 0 0 16px;
    line-height: 1.4;
}

.epc-about-desc {
    font-size: 16px;
    line-height: 1.7;
    color: #445573;
    margin: 0 0 28px;
}

.epc-about-cta--joongpa {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 999px;
    background: linear-gradient(135deg, #38bdf8 0%, #1d4ed8 100%);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.epc-about-cta--joongpa:hover {
    opacity: 0.92;
}

.epc-tv--joongpa {
    text-align: center;
}

.epc-tv-copy--center {
    max-width: 640px;
    margin: 0 auto 32px;
}

.epc-channel-links {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

.epc-channel-btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 999px;
    background: #0f2a63;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: opacity .15s ease;
}

.epc-channel-btn:hover {
    opacity: 0.85;
}

/* easyplancar 서브페이지 (상담신청·소개) */

.epc-subpage-shell {
    overflow-x: hidden;
}

/* 서브페이지(상담·소개·커뮤니티): 좌우 플로팅 숨김 */
.epc-subpage-minimal .epc-side-left,
.epc-subpage-minimal .epc-side-right {
    display: none !important;
}

body.epc-subpage-minimal:not(.epc-has-bottom-bar) {
    padding-bottom: 0;
}

.epc-subpage {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* —— 고객상담신청 (클린 디자인) —— */
.epc-counsel-page--clean {
    max-width: 640px;
    padding: 56px 20px 72px;
}

.epc-counsel-lead {
    text-align: center;
    margin-bottom: 32px;
}

.epc-counsel-eyebrow {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #0080c8;
}

.epc-counsel-heading {
    margin: 0 0 12px;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.03em;
    color: #1a2b3c;
}

.epc-counsel-subhead {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #6a7686;
}

.epc-counsel-card {
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(20, 40, 80, 0.12);
    overflow: hidden;
}

.epc-counsel-tabs {
    display: flex;
    gap: 0;
    background: #eef2f7;
    padding: 8px;
}

.epc-counsel-tab {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    border-radius: 12px;
    background: transparent;
    color: #7a8698;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: -0.02em;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.epc-counsel-tab.is-on {
    background: #0080c8;
    color: #fff;
    box-shadow: 0 6px 16px rgba(0, 128, 200, 0.28);
}

.epc-counsel-tab:not(.is-on):hover {
    color: #0080c8;
}

.epc-counsel-card-body {
    padding: 32px 32px 36px;
}

.epc-counsel-card-head {
    margin-bottom: 24px;
    text-align: center;
}

.epc-counsel-card-title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #1a2b3c;
}

.epc-counsel-card-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #7a8698;
}

.epc-counsel-field {
    margin-bottom: 16px;
}

.epc-counsel-label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #33404f;
}

.epc-counsel-req {
    color: #ff5a5a;
}

.epc-counsel-field input[type="text"],
.epc-counsel-field textarea {
    width: 100%;
    padding: 0 16px;
    border: 1px solid #dbe2ea;
    border-radius: 12px;
    font-size: 15px;
    color: #1a2b3c;
    box-sizing: border-box;
    background: #f8fafc;
    font-family: inherit;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.epc-counsel-field input[type="text"] {
    height: 52px;
}

.epc-counsel-field textarea {
    padding: 14px 16px;
    line-height: 1.6;
    resize: vertical;
    min-height: 96px;
}

.epc-counsel-field input[type="text"]:focus,
.epc-counsel-field textarea:focus {
    outline: none;
    border-color: #0080c8;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 128, 200, 0.12);
}

.epc-counsel-field input::placeholder,
.epc-counsel-field textarea::placeholder {
    color: #a6b0bd;
}

.epc-counsel-policy {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 20px 0 22px;
    font-size: 14px;
    line-height: 1.5;
    color: #4a5566;
}

.epc-counsel-policy [data-epc-privacy-tooltip] {
    margin: 0 2px;
    padding: 0;
    border: 0;
    background: none;
    color: #0080c8;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
    vertical-align: baseline;
}

.epc-counsel-policy input[type="checkbox"] {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    accent-color: #0080c8;
    flex-shrink: 0;
}

.epc-counsel-submit {
    width: 100%;
    height: 60px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #0090e0, #0066cc);
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.02em;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 128, 200, 0.3);
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.epc-counsel-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 128, 200, 0.38);
}

.epc-counsel-submit:disabled {
    opacity: 0.65;
    cursor: wait;
    transform: none;
}

/* —— 게시판 (상단 배너·사이드메뉴 — 스킨과 분리) —— */
.epc-community-top-banner {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    line-height: 0;
    overflow: hidden;
    background: #0080c8;
}

/* 운영 AS5: 1920 배너를 1000px 창 가운데 크롭 (margin-left:-459px 와 동일) */
.epc-community-banner-img {
    display: block;
    width: 1920px;
    max-width: none;
    height: auto;
    margin-left: calc(50% - 960px);
    transform: none;
}

.epc-community-layout {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    padding: 36px 0 56px;
    max-width: 1000px;
    margin: 0 auto;
}

.epc-community-side {
    flex: 0 0 186px;
    padding-top: 4px;
}

.epc-community-side-head {
    margin: 0 0 18px;
    padding: 0 6px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    color: #0080c8;
    letter-spacing: 0.02em;
}

.epc-community-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.epc-community-menu li {
    margin-bottom: 8px;
}

.epc-community-menu li:last-child {
    margin-bottom: 0;
}

.epc-community-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #c8c8c8;
    border-radius: 50px;
    background: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    color: #666;
    text-align: center;
    text-decoration: none;
    letter-spacing: -0.03em;
    box-sizing: border-box;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.epc-community-menu a:hover {
    color: #0080c8;
    border-color: #5eb8e0;
    box-shadow: 0 2px 8px rgba(0, 128, 200, 0.1);
}

.epc-community-menu li.is-on a {
    color: #0080c8;
    border-color: #0080c8;
    font-weight: 700;
    box-shadow: 0 2px 10px rgba(0, 128, 200, 0.14);
}

.epc-community-main {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    padding-top: 2px;
    box-sizing: border-box;
}

.epc-community-skin {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.epc-community-title {
    margin: 0 0 22px;
    padding: 0 0 14px 2px;
    border-bottom: 2px solid #0080c8;
    font-size: 22px;
    font-weight: 700;
    color: #1a2b3c;
    letter-spacing: -0.03em;
    position: relative;
}

.epc-community-title::after {
    content: '';
    position: absolute;
    left: 2px;
    bottom: -2px;
    width: 48px;
    height: 2px;
    background: #00b1eb;
}

/* —— 게시판 차로차식 풀폭 레이아웃 (사이드 대신 가로 탭) —— */
.epc-subpage.epc-community-page--charocha {
    max-width: 1240px;
}

.epc-community-page--charocha .epc-community-wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 44px 20px 64px;
    box-sizing: border-box;
}

.epc-community-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}

.epc-community-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border: 1px solid #d5dbe3;
    border-radius: 50px;
    background: #fff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    color: #666;
    text-decoration: none;
    letter-spacing: -0.02em;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.epc-community-tab:hover {
    color: #0080c8;
    border-color: #5eb8e0;
    box-shadow: 0 2px 8px rgba(0, 128, 200, 0.1);
}

.epc-community-tab.is-on {
    color: #fff;
    background: #0080c8;
    border-color: #0080c8;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(0, 128, 200, 0.22);
}

.epc-community-review-head {
    margin: 0 0 36px;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.03em;
    color: #1a2b3c;
}

.epc-community-page--charocha .epc-community-title {
    margin-bottom: 32px;
}

@media (max-width: 768px) {
    .epc-community-page--charocha .epc-community-wrap {
        padding: 28px 16px 48px;
    }

    .epc-community-tabs {
        gap: 8px;
        margin-bottom: 24px;
    }

    .epc-community-tab {
        min-height: 40px;
        padding: 0 16px;
        font-size: 14px;
    }

    .epc-community-review-head {
        margin-bottom: 26px;
        font-size: 22px;
    }
}

/* —— 개인정보처리방침 · 이용약관 —— */
.epc-legal-page {
    max-width: 1000px;
    margin: 0 auto;
    padding: 28px 16px 48px;
    box-sizing: border-box;
}

.epc-legal-title {
    margin: 0 0 20px;
    padding: 0 0 14px 2px;
    border-bottom: 2px solid #0080c8;
    font-size: 22px;
    font-weight: 700;
    color: #1a2b3c;
    letter-spacing: -0.03em;
}

.epc-legal-body-wrap {
    border: 1px solid #dce8ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0, 100, 160, 0.06);
    overflow: hidden;
}

.epc-legal-body {
    padding: 24px 28px 32px;
    font-size: 14px;
    line-height: 1.75;
    color: #2c3e50;
    word-break: break-word;
    white-space: normal;
}

.site-legal-html p {
    margin: 0 0 1em;
}

.site-legal-html p:last-child {
    margin-bottom: 0;
}

.site-legal-html h1,
.site-legal-html h2,
.site-legal-html h3,
.site-legal-html h4 {
    margin: 1.25em 0 0.6em;
    line-height: 1.4;
    color: #1a2b3c;
}

.site-legal-html ul,
.site-legal-html ol {
    margin: 0 0 1em;
    padding-left: 1.4em;
}

.site-legal-html li {
    margin-bottom: 0.35em;
}

.epc-legal-body img {
    max-width: 100%;
    height: auto;
    white-space: normal;
}

.epc-legal-empty {
    margin: 0;
    padding: 48px 24px;
    text-align: center;
    font-size: 15px;
    color: #64748b;
}

.epc-layout-mobile .epc-legal-page {
    padding: 20px 12px 36px;
}

.epc-layout-mobile .epc-legal-title {
    font-size: 18px;
    margin-bottom: 16px;
}

.epc-layout-mobile .epc-legal-body {
    padding: 18px 16px 24px;
    font-size: 13px;
}

/* —— 중파회 회사소개 (풀폭 모던) —— */
.epc-intro {
    width: 100%;
}

/* 스크롤 리빌 공통 */
.epc-intro [data-epc-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: opacity, transform;
}

.epc-intro [data-epc-reveal].is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .epc-intro [data-epc-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* 상단 배너 */
.epc-intro-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #0a1832;
    line-height: 0;
}

.epc-intro-hero-img {
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1.06);
    animation: epc-intro-hero-zoom 7s ease-out forwards;
}

@keyframes epc-intro-hero-zoom {
    to {
        transform: scale(1);
    }
}

/* 본문 섹션 공통 */
.epc-intro-section {
    padding: 80px 0;
}

.epc-intro-inner {
    width: 1200px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
}

.epc-intro-head {
    text-align: center;
    margin-bottom: 44px;
}

.epc-intro-head--left {
    text-align: left;
}

.epc-intro-eyebrow {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: -0.45px;
    text-align: left;
    color: #0c5eea;
}

.epc-intro-heading {
    margin: 0 0 14px;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #061841;
}

.epc-intro-subhead {
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
    color: var(--epc-text-muted);
}

/* 브랜드 스토리 상단 (좌 제목 / 우 본문) */
.epc-intro-story {
    padding-top: 120px;
}

.epc-intro-story-head {
    display: flex;
    align-items: flex-start;
    gap: 26px;
    margin-bottom: 44px;
}

.epc-intro-story-head-left {
    flex: 0 0 587px;
    max-width: 587px;
}

.epc-intro-story-title {
    margin: 10px 0 0;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: -0.03em;
    color: #061841;
}

.epc-intro-story-desc {
    flex: 0 0 587px;
    max-width: 587px;
    margin: 0;
    padding-top: 2px;
    font-size: 18px;
    line-height: 1.95;
    letter-spacing: -0.02em;
    color: #333;
}

/* 브랜드 스토리 카드 */
.epc-intro-story-cards {
    display: flex;
    justify-content: center;
    gap: 26px;
}

.epc-intro-story-card {
    flex: 0 1 587px;
    max-width: 587px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.epc-intro-story-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
}

.epc-intro-story-card.is-revealed:hover {
    transform: translateY(-6px);
}

/* 핵심 경쟁력 카드 */
.epc-intro-service {
    background: #f5f8fd;
}

.epc-intro-service-cards {
    display: flex;
    justify-content: center;
    gap: 24px;
}

.epc-intro-service-card {
    flex: 0 1 384px;
    max-width: 384px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.epc-intro-service-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
}

.epc-intro-service-card.is-revealed:hover {
    transform: translateY(-8px);
}

/* 수상 이력 */
.epc-intro-award-figure {
    width: 100%;
    line-height: 0;
}

.epc-intro-award-figure img {
    display: block;
    width: 100%;
    max-width: 1200px;
    height: auto;
    margin: 0 auto;
}

/* 오프라인 라운지 (지도 + 연락처 카드) */
.epc-intro-map {
    width: 100%;
    height: 380px;
    margin-bottom: 24px;
    border-radius: 20px;
    overflow: hidden;
    background: #eef2f7;
    box-shadow: 0 6px 24px rgba(12, 94, 234, 0.06);
}

.epc-intro-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.epc-intro-contact-cards {
    display: flex;
    justify-content: center;
    gap: 24px;
}

.epc-intro-contact-card {
    flex: 1 1 0;
    max-width: 588px;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 32px 40px;
    background: #fff;
    border: 1px solid #e5ecf6;
    border-radius: 20px;
    box-shadow: 0 6px 24px rgba(12, 94, 234, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    box-sizing: border-box;
}

.epc-intro-contact-card.is-revealed:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(12, 94, 234, 0.12);
}

.epc-intro-contact-body {
    flex: 1 1 auto;
    min-width: 0;
}

.epc-intro-contact-icon {
    flex: 0 0 auto;
    margin-left: auto;
    line-height: 0;
}

.epc-intro-contact-icon img {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.epc-intro-contact-label {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    color: var(--epc-brand);
}

.epc-intro-contact-value {
    display: block;
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: -0.02em;
    color: #555;
    text-decoration: none;
}

.epc-intro-contact-tel {
    font-size: 24px;
    font-weight: 700;
    color: #4d95ff;
}

a.epc-intro-contact-tel:hover {
    color: var(--epc-brand);
}

.epc-intro-contact-sub {
    margin: 8px 0 0;
    font-size: 14px;
    color: var(--epc-text-muted);
}

/* —— 담소카 소개 (레이아웃·사이드는 .epc-community-* 공통) —— */
.epc-intro-body {
    overflow: hidden;
    border: 1px solid #dce8ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0, 100, 160, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
}

.epc-intro-body img {
    display: block;
    width: 820px;
    max-width: 100%;
    height: auto;
}

/* —— 헛걸음/매도가 보장제 등 단일 이미지 서브페이지 —— */
.epc-subpage-page {
    padding: 0 0 56px;
}

.epc-subpage-page .epc-subpage-body img {
    display: block;
    width: auto;
    max-width: 1000px;
    height: auto;
}

@media (max-width: 768px) {
    .epc-counsel-page--clean {
        padding: 36px 16px 56px;
    }

    .epc-counsel-heading {
        font-size: 26px;
    }

    .epc-counsel-subhead {
        font-size: 14px;
    }

    .epc-counsel-tab {
        height: 48px;
        font-size: 15px;
    }

    .epc-counsel-card-body {
        padding: 24px 18px 28px;
    }

    .epc-counsel-card-title {
        font-size: 19px;
    }

    .epc-community-banner-img {
        width: 100%;
        max-width: 100%;
        margin: 0;
        margin-left: 0;
        transform: none;
    }

    .epc-community-layout {
        flex-direction: column;
        gap: 20px;
        padding: 20px 12px 36px;
    }

    .epc-community-side {
        flex: none;
        width: 100%;
        padding-top: 0;
    }

    .epc-community-side-head {
        margin-bottom: 14px;
        font-size: 22px;
    }

    .epc-community-menu {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .epc-community-menu li {
        margin: 0;
        flex: 1 1 calc(50% - 4px);
    }

    .epc-community-menu a {
        min-height: 40px;
        padding: 0 10px;
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .epc-community-main {
        width: 100%;
        max-width: 100%;
        flex: none;
    }

    .epc-intro-hero {
        height: auto;
    }

    .epc-intro-section {
        padding: 48px 0;
    }

    .epc-intro-head {
        margin-bottom: 28px;
    }

    .epc-intro-heading {
        font-size: 24px;
    }

    .epc-intro-subhead {
        font-size: 14px;
    }

    .epc-intro-story-head {
        flex-direction: column;
        gap: 16px;
        margin-bottom: 24px;
    }

    .epc-intro-story-head-left {
        flex: none;
        max-width: 100%;
    }

    .epc-intro-story-title {
        font-size: 22px;
    }

    .epc-intro-story-desc {
        flex: none;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.8;
        padding-top: 0;
    }

    .epc-intro-story {
        padding-top: 48px;
    }

    .epc-intro-story-card img {
        border-radius: 0;
    }

    .epc-intro-story-cards {
        flex-direction: column;
        gap: 16px;
    }

    .epc-intro-story-card {
        flex: none;
        max-width: 100%;
    }

    .epc-intro-service-cards {
        flex-direction: column;
        gap: 16px;
    }

    .epc-intro-service-card {
        flex: none;
        max-width: 100%;
    }

    .epc-intro-map {
        height: 260px;
        margin-bottom: 16px;
    }

    .epc-intro-contact-cards {
        flex-direction: column;
        gap: 14px;
    }

    .epc-intro-contact-card {
        max-width: 100%;
        gap: 16px;
        padding: 22px 20px;
    }

    .epc-intro-contact-icon img {
        width: 56px;
        height: 56px;
    }

    .epc-intro-contact-value {
        font-size: 17px;
    }

}

/* 파복회/회파중 고객후기 페이징 (pabokhoe_album) */
.epc-community-skin--pabokhoe_album {
    --pbs-accent: var(--epc-site-main, var(--clf-brand, #147dc2));
    --pbs-accent-soft: var(--epc-site-main-light, color-mix(in srgb, var(--pbs-accent) 10%, #fff));
}

body.site-simwooin88 .epc-community-skin--pabokhoe_album {
    --pbs-accent: #30b7f3;
    --pbs-accent-soft: #e8f7fe;
}

body.site-simwooin21 .epc-community-skin--pabokhoe_album {
    --pbs-accent: #147dc2;
    --pbs-accent-soft: #e8f3fa;
}

body.site-simwooin91 .epc-community-skin--pabokhoe_album {
    --pbs-accent: var(--epc-site-main, #ef7000);
    --pbs-accent-soft: #fff3e6;
}

body.site-simwooin24 .epc-community-skin--pabokhoe_album {
    --pbs-accent: #5470ff;
    --pbs-accent-soft: #eef1ff;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    margin: 24px 0 8px;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__nums {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__num,
.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #444;
    text-decoration: none;
    box-sizing: border-box;
    transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__num:hover,
.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__nav:not(.is-disabled):hover {
    border-color: var(--pbs-accent, #30b7f3);
    color: var(--pbs-accent, #30b7f3);
    background: var(--pbs-accent-soft, #e8f7fe);
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__num.is-current {
    border-color: var(--pbs-accent, #30b7f3);
    background: var(--pbs-accent, #30b7f3);
    color: #fff;
    font-weight: 700;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 34px;
    color: #999;
    font-size: 14px;
    letter-spacing: 0.08em;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__nav--prev,
.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__nav--next {
    min-width: 52px;
    font-size: 13px;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging__nav.is-disabled {
    border-color: #ececec;
    background: #f7f7f7;
    color: #c4c4c4;
    cursor: default;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging--mo {
    gap: 4px;
    margin: 16px 0 6px;
    padding: 0 8px;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging--mo .pabokhoe-bbs-paging__num,
.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging--mo .pabokhoe-bbs-paging__nav {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 13px;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging--mo .pabokhoe-bbs-paging__nav--prev,
.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging--mo .pabokhoe-bbs-paging__nav--next {
    min-width: 36px;
    font-size: 18px;
    font-weight: 700;
}

.epc-community-skin--pabokhoe_album .pabokhoe-bbs-paging--mo .pabokhoe-bbs-paging__nums {
    gap: 3px;
}

/* 고객후기 상세 — 본문 이미지·표 넘침 방지 */
.epc-community-skin--pabokhoe_album .sw21-bbs-view {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.epc-community-skin--pabokhoe_album .sw21-bbs-view-content {
    line-height: 1.7;
    font-size: 16px;
    overflow-wrap: anywhere;
    word-break: break-word;
    overflow: hidden;
}

.epc-community-skin--pabokhoe_album .sw21-bbs-view-content img,
.epc-community-skin--pabokhoe_album .sw21-bbs-view-content table,
.epc-community-skin--pabokhoe_album .sw21-bbs-view-content iframe,
.epc-community-skin--pabokhoe_album .sw21-bbs-view-content video {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
}

.epc-community-skin--pabokhoe_album .sw21-bbs-view-content table {
    display: block;
    overflow-x: auto;
}

