.elementor-8566 .elementor-element.elementor-element-b519294 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-8566 .elementor-element.elementor-element-677c8d69{margin-top:100px;margin-bottom:0px;}@media(max-width:1024px){.elementor-8566 .elementor-element.elementor-element-45154b4{margin-top:50px;margin-bottom:0px;}.elementor-8566 .elementor-element.elementor-element-1aa0e1d.elementor-column{width:100%;}}/* Start custom CSS for html, class: .elementor-element-b519294 */* 1. 기본 레이아웃 및 폰트 설정 */
.kms-product-page, .kms-precision-series, #kms-spec-table-section, .kms-premium-cta {
    font-family: 'Pretendard', -apple-system, sans-serif;
    color: #1d1d1f;
    line-height: 1.6;
    overflow: hidden;
}

.kms-container, .km-container, .spec-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
}

/* 2. 히어로 섹션 (Section 1) */
.kms-hero { padding: 100px 0; background: #fff; }
.kms-info { flex: 1; }
.kms-visual { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; }

.kms-badge-group { display: flex; gap: 10px; margin-bottom: 20px; }
.kms-badge { padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 700; }
.kms-badge.gold { background: #f5f5f7; color: #b8860b; border: 1px solid #e5e5e7; }
.kms-badge-outline { padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 700; border: 1px solid #d2d2d7; color: #86868b; }

.kms-m-title { font-size: 64px; font-weight: 800; line-height: 1.1; margin: 20px 0; letter-spacing: -2px; }
.kms-m-title small { display: block; font-size: 20px; font-weight: 500; color: #86868b; letter-spacing: -0.5px; }
.kms-m-title span { color: #0066cc; }

.kms-m-desc { font-size: 19px; color: #424245; margin-bottom: 40px; word-break: keep-all; }

.kms-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; margin-bottom: 50px; }
.f-item { border-left: 2px solid #0066cc; padding-left: 15px; }
.f-item strong { display: block; font-size: 20px; color: #1d1d1f; }
.f-item span { font-size: 14px; color: #86868b; }

.btn-main.single-cta {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 280px; height: 64px; background: #0066cc; color: #fff;
    border-radius: 32px; font-size: 18px; font-weight: 700; text-decoration: none;
    transition: all 0.3s ease; box-shadow: 0 10px 20px rgba(0,102,204,0.15);
}
.btn-main.single-cta:hover { background: #005bb8; transform: translateY(-3px); box-shadow: 0 15px 30px rgba(0,102,204,0.25); }

.main-img { max-width: 100%; height: auto; z-index: 2; transition: transform 0.5s; }
.main-img:hover { transform: scale(1.03); }

/* 3. 뷰파인더 섹션 (Section 2) */
.precision-row { padding: 120px 0; }
.precision-row.bg-soft { background: #f5f5f7; border-radius: 50px; margin: 0 20px; }
.precision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.precision-grid.rev .precision-viewer { order: 2; }

.focus-frame {
    position: relative; width: 100%; height: 500px; background: #fff; border-radius: 30px;
    overflow: hidden; border: 1px solid #eee; display: flex; justify-content: center; align-items: center;
}
.focus-frame img { width: 100%; transition: 0.6s cubic-bezier(0.2, 1, 0.3, 1); }

.corner-guide { position: absolute; width: 40px; height: 40px; border: 3px solid #0066cc; z-index: 10; opacity: 0.5; }
.tl { top: 40px; left: 40px; border-right: 0; border-bottom: 0; }
.tr { top: 40px; right: 40px; border-left: 0; border-bottom: 0; }
.bl { bottom: 40px; left: 40px; border-right: 0; border-top: 0; }
.br { bottom: 40px; right: 40px; border-left: 0; border-top: 0; }

.p-label { color: #0066cc; font-weight: 800; font-size: 13px; letter-spacing: 2px; display: block; margin-bottom: 15px; }
.precision-text h3 { font-size: 38px; font-weight: 800; margin-bottom: 25px; letter-spacing: -1px; }
.precision-text p { font-size: 18px; color: #424245; line-height: 1.8; word-break: keep-all; }
.t-blue { color: #0066cc; } .t-bold { font-weight: 700; }

/* 4. 스펙시트 섹션 (Section 3) */
#kms-spec-table-section { padding: 100px 0; background: #fff; }
.spec-title { font-size: 32px; font-weight: 800; text-align: center; margin-bottom: 60px; }
.spec-table-wrapper { display: flex; flex-direction: column; gap: 40px; max-width: 900px; margin: 0 auto; }
.spec-table { width: 100%; border-collapse: collapse; border-top: 2px solid #1d1d1f; }
.spec-table th { background: #f5f5f7; padding: 20px; text-align: left; font-size: 16px; font-weight: 700; border-bottom: 1px solid #d2d2d7; }
.spec-table td { padding: 20px; border-bottom: 1px solid #f2f2f7; font-size: 15px; }
.spec-table td.label { width: 35%; background: #fafafa; color: #86868b; font-weight: 600; }
.spec-table td.value { width: 65%; color: #1d1d1f; font-weight: 500; }

/* 5. 프리미엄 CTA (Section 4) */
.kms-premium-cta { position: relative; padding: 140px 0; background: #fbfbfd; text-align: center; }
.cta-watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 200px; font-weight: 900; color: rgba(0,0,0,0.02); white-space: nowrap; z-index: 1; letter-spacing: -5px; }
.cta-inner { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; }
.cta-trust-badge { color: #0066cc; font-weight: 700; font-size: 14px; letter-spacing: 2px; margin-bottom: 20px; display: block; }
.cta-content h2 { font-size: 42px; font-weight: 800; margin-bottom: 25px; letter-spacing: -1.5px; }
.cta-content p { font-size: 19px; color: #424245; margin-bottom: 50px; }
.btn-premium { display: inline-flex; align-items: center; gap: 12px; background: #1d1d1f; color: #fff; padding: 22px 50px; border-radius: 45px; text-decoration: none; font-size: 18px; font-weight: 700; transition: 0.3s; }
.btn-premium:hover { background: #0066cc; transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,102,204,0.3); }
.cta-footer-info { margin-top: 50px; display: flex; justify-content: center; gap: 20px; font-size: 14px; color: #86868b; }
.divider { opacity: 0.3; }

/* 6. 모바일 대응 */
@media (max-width: 1024px) {
    .kms-container, .precision-grid { flex-direction: column; text-align: center; gap: 50px; }
    .kms-m-title { font-size: 48px; }
    .precision-grid.rev .precision-viewer { order: 0; }
    .focus-frame { height: 350px; }
    .cta-watermark { font-size: 100px; }
    .kms-feature-grid { grid-template-columns: 1fr; text-align: left; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-dbaf2fd */.kms-giant-features { background: #fff; overflow: hidden; }
.giant-row { padding: 120px 0; border-bottom: 1px solid #f2f2f7; position: relative; }
.giant-row.bg-light { background: #fafafa; }

.kms-giant-features .km-container { 
    max-width: 1100px; 
    margin: 0 auto; 
    display: flex; 
    align-items: center; /* 숫자와 텍스트의 높이 중앙 정렬 */
    gap: 80px; 
}

/* 자이언트 숫자 스타일: 압도적인 크기와 시각적 깊이 */
.giant-num { 
    font-size: 160px; /* 크기를 대폭 키웠습니다 */
    font-weight: 900; 
    color: #e5e5e7; /* 배경과 조화로운 연한 회색 */
    font-family: 'Inter', 'Arial Black', sans-serif;
    line-height: 1;
    letter-spacing: -5px;
    flex-shrink: 0;
    transition: all 0.4s ease;
}

/* 마우스를 올리면 숫자가 파란색으로 변하며 강조됨 */
.giant-row:hover .giant-num {
    color: #0066cc;
    opacity: 0.15;
    transform: scale(1.05);
}

.giant-body { flex: 1; }
.giant-body .p-label { 
    display: block; 
    font-size: 14px; 
    font-weight: 700; 
    color: #0066cc; 
    letter-spacing: 2px; 
    margin-bottom: 15px; 
}

.giant-body h3 { 
    font-size: 38px; 
    font-weight: 800; 
    color: #1d1d1f; 
    margin-bottom: 25px; 
    letter-spacing: -1px;
}

.giant-body p { 
    font-size: 19px; 
    color: #424245; 
    line-height: 1.8; 
    margin: 0; 
    word-break: keep-all; 
}

.t-blue { color: #0066cc; font-weight: 700; }
.t-bold { font-weight: 700; color: #1d1d1f; }

/* 모바일 대응: 숫자를 위로 배치 */
@media (max-width: 900px) {
    .kms-giant-features .km-container { flex-direction: column; gap: 20px; text-align: left; }
    .giant-num { font-size: 100px; }
    .giant-body h3 { font-size: 28px; }
    .giant-row { padding: 70px 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c56ceda *//* 레이아웃 불균형 해결을 위한 전용 스타일 */
#kms-detailed-spec-fixed { 
    padding: 100px 0; 
    background: #fff; 
}

.spec-container-v2 { 
    max-width: 1000px; 
    margin: 0 auto; 
    padding: 0 20px;
    display: flex;
    flex-direction: column; /* 세로 방향 정렬로 고정 */
    align-items: flex-start;
}

.spec-v2-title { 
    font-size: 32px; 
    font-weight: 800; 
    color: #1d1d1f; 
    margin-bottom: 40px; 
    width: 100%; /* 제목이 전체 폭을 차지하도록 설정 */
    text-align: left;
    border-left: 6px solid #0066cc;
    padding-left: 20px;
}

.spec-v2-wrapper { 
    width: 100%; /* 테이블 박스가 전체 폭을 차지하도록 설정 */
}

.spec-v2-table { 
    width: 100%; 
    border-collapse: collapse; 
    border-top: 2px solid #1d1d1f;
}

.spec-v2-table th { 
    background: #f5f5f7; 
    padding: 20px; 
    text-align: left; 
    font-size: 16px; 
    font-weight: 700; 
    border-bottom: 1px solid #d2d2d7; 
}

.spec-v2-table td { 
    padding: 18px 20px; 
    border-bottom: 1px solid #f2f2f7; 
    font-size: 15px; 
}

.spec-v2-table td.label { width: 35%; background: #fafafa; color: #86868b; font-weight: 600; }
.spec-v2-table td.value { font-weight: 500; color: #1d1d1f; }
.spec-v2-table td.res { text-align: right; color: #0066cc; font-weight: 600; }

@media (max-width: 768px) {
    .spec-v2-title { font-size: 24px; }
    .spec-v2-table td.res { display: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d47282 *//* 센서 테이블 전용 보조 스타일 */
.sensor-detail-v2 th:nth-child(1) { width: 25%; }
.sensor-detail-v2 th:nth-child(2) { width: 30%; }
.sensor-detail-v2 th:nth-child(3) { width: 15%; }
.sensor-detail-v2 th:nth-child(4) { width: 30%; }

.group-head td { 
    background: #f9f9fb !important; 
    font-weight: 700 !important; 
    color: #0066cc !important; 
    font-size: 13px !important; 
    padding: 10px 20px !important;
}

.spec-v2-table td.res, .spec-v2-table td.acc { 
    color: #424245; 
    font-size: 14px; 
}

@media (max-width: 768px) {
    .acc, .res-head { display: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3fcc6dd *//* 프리미엄 CTA 스타일: 허전함을 고급스러움으로 승화 */
.kms-premium-cta {
    position: relative;
    padding: 140px 0;
    background: #fbfbfd;
    overflow: hidden;
    text-align: center;
    font-family: 'Pretendard', sans-serif;
}

/* 배경 워터마크: 아주 연한 텍스트로 공간감을 채움 */
.cta-watermark {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 220px;
    font-weight: 900;
    color: rgba(0,0,0,0.025);
    white-space: nowrap;
    pointer-events: none;
    letter-spacing: -5px;
}

.cta-inner { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; padding: 0 20px; }

.cta-trust-badge {
    display: inline-block;
    color: #0066cc;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 2px;
    margin-bottom: 25px;
}

.cta-content h2 {
    font-size: 44px !important;
    font-weight: 800 !important;
    color: #1d1d1f !important;
    margin-bottom: 25px !important;
    line-height: 1.25 !important;
    letter-spacing: -1.5px !important;
}

.cta-content p {
    font-size: 19px !important;
    color: #424245 !important;
    line-height: 1.7 !important;
    margin-bottom: 55px !important;
    word-break: keep-all;
}

/* 버튼 디자인: 신뢰의 블랙 & 호버 시 신뢰의 블루 */
.btn-premium {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #1d1d1f;
    color: #fff;
    padding: 24px 60px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 19px;
    font-weight: 700;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}

.btn-premium svg { width: 22px; height: 22px; transition: transform 0.3s ease; }

.btn-premium:hover {
    background: #0066cc;
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(0,102,204,0.3);
}

.btn-premium:hover svg { transform: translateX(6px); }

/* 하단 정보 영역 디테일 */
.cta-footer-info {
    margin-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
}

.info-item { display: flex; align-items: center; gap: 8px; }
.info-label { font-size: 14px; color: #86868b; font-weight: 500; }
.info-value { font-size: 14px; color: #1d1d1f; font-weight: 600; }
.cta-footer-info .divider { margin: 0 25px; color: #d2d2d7; }

/* 모바일 대응 */
@media (max-width: 768px) {
    .kms-premium-cta { padding: 90px 20px; }
    .cta-content h2 { font-size: 30px !important; }
    .cta-content p { font-size: 16px !important; }
    .cta-watermark { font-size: 100px; }
    .btn-premium { width: 100%; justify-content: center; padding: 20px; font-size: 17px; }
    .cta-footer-info { flex-direction: column; gap: 12px; }
    .cta-footer-info .divider { display: none; }
}/* End custom CSS */