.elementor-8556 .elementor-element.elementor-element-b519294 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-8556 .elementor-element.elementor-element-677c8d69{margin-top:100px;margin-bottom:0px;}@media(max-width:1024px){.elementor-8556 .elementor-element.elementor-element-45154b4{margin-top:50px;margin-bottom:0px;}.elementor-8556 .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 */