/* ==========================================================================
   BUSINESS 묶음 전용 스타일 (business*.php)
   공통 컴포넌트는 kingmaker.css 를 쓰고, 여기에는 이 묶음에만 필요한 것만 둔다.
   ========================================================================== */

/* 색 있는 섹션 바로 뒤의 흰 섹션도 위 여백을 유지 (kingmaker.css 는 연속 섹션의 위 여백을 없앤다) */
.km_section.km_pt { padding-top: 110px; }
@media (max-width: 991px) { .km_section.km_pt { padding-top: 70px; } }

/* ---------- LHBS 소개: 문제 제기 ---------- */
.km_biz_problem { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.km_biz_problem .km_media { position: sticky; top: 110px; aspect-ratio: 4 / 5; }
.km_biz_problem .km_media figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 28px 24px; color: #fff; font-size: 15px;
  background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.km_biz_problem .km_desc p { margin-bottom: 1.1em; }
.km_biz_problem .km_quote { margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--km-line); }
@media (max-width: 991px) {
  .km_biz_problem { grid-template-columns: 1fr; gap: 36px; }
  .km_biz_problem .km_media { position: relative; top: 0; aspect-ratio: 16 / 11; }
}

/* 굴뚝 사진 와이드 배너 */
.km_biz_banner { position: relative; border-radius: var(--km-radius); overflow: hidden; min-height: 360px; display: flex; align-items: flex-end; }
.km_biz_banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.km_biz_banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,30,15,.75), rgba(5,30,15,.1)); }
.km_biz_banner_in { position: relative; z-index: 1; padding: 50px; max-width: 720px; }
.km_biz_banner_in .km_quote { color: #fff; margin: 0; font-size: 32px; }
@media (max-width: 767px) { .km_biz_banner { min-height: 260px; } .km_biz_banner_in { padding: 28px 22px; } .km_biz_banner_in .km_quote { font-size: 22px; } }

/* 기술명 표기 */
.km_biz_name { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 26px; }
.km_biz_name strong { font-size: 40px; color: var(--km-deep-2); line-height: 1.2; }
.km_biz_name span { font-size: 17px; color: #777; letter-spacing: .02em; }
@media (max-width: 575px) { .km_biz_name strong { font-size: 30px; } }

/* 체크형 불릿 (LHBS 기술은 …) */
.km_checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.km_checks li { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--km-line); border-radius: 12px; padding: 18px 22px; font-size: 17px; line-height: 1.6; word-break: keep-all; }
.km_checks li i { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--km-soft); color: var(--km-deep-2); display: inline-flex; align-items: center; justify-content: center; font-size: 15px; margin-top: -3px; }
.km_checks li strong { color: var(--km-deep-2); }

/* 저온 폐열: 비율 막대 */
.km_lowheat { display: grid; grid-template-columns: 300px 1fr; gap: 50px; align-items: center; }
.km_lowheat_ring { width: 260px; height: 260px; border-radius: 50%; margin: 0 auto; position: relative;
  background: conic-gradient(var(--accent-color) 0 60%, rgba(255,255,255,.15) 60% 100%); display: flex; align-items: center; justify-content: center; }
.km_lowheat_ring::before { content: ""; position: absolute; inset: 26px; border-radius: 50%; background: var(--km-deep); }
.km_lowheat_ring div { position: relative; text-align: center; color: #fff; }
.km_lowheat_ring strong { display: block; font-size: 52px; line-height: 1; color: #fff; }
.km_lowheat_ring small { font-size: 14px; opacity: .8; }
.km_bg_dark .km_list li { color: rgba(255,255,255,.88); font-size: 18px; }
@media (max-width: 991px) { .km_lowheat { grid-template-columns: 1fr; gap: 36px; } .km_lowheat_ring { width: 220px; height: 220px; } }

/* 성과 숫자 카드 */
.km_kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.km_kpi { background: #fff; border: 1px solid var(--km-line); border-radius: var(--km-radius); padding: 30px 24px; display: flex; flex-direction: column; gap: 10px; }
.km_kpi_icon { color: var(--accent-color); font-size: 24px; }
.km_kpi_num { font-size: 44px; font-weight: 700; color: var(--km-deep-2); line-height: 1.05; }
.km_kpi_num small { font-size: 18px; color: var(--accent-color); font-weight: 700; margin-left: 2px; }
.km_kpi_label { font-size: 16px; color: var(--heading-color); font-weight: 600; word-break: keep-all; line-height: 1.5; }
.km_kpi_sub { font-size: 14px; color: #888; word-break: keep-all; margin-top: auto; }
.km_flow { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 14px; margin-top: 26px; padding: 22px; border-radius: var(--km-radius); background: var(--km-soft); font-weight: 600; color: var(--heading-color); }
.km_flow span { background: #fff; border-radius: 30px; padding: 8px 18px; border: 1px solid var(--km-line); }
.km_flow i { color: var(--accent-color); }
@media (max-width: 991px) { .km_kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .km_kpis { gap: 10px; } .km_kpi { padding: 20px 16px; } .km_kpi_num { font-size: 32px; } .km_flow { flex-direction: column; } .km_flow i { transform: rotate(90deg); } }

/* ---------- 기술 원리 ---------- */
.km_principle_body h3 { font-size: 26px; margin: 40px 0 14px; color: var(--heading-color); word-break: keep-all; }
.km_principle_body h3:first-child { margin-top: 0; }
.km_process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; counter-reset: proc; position: relative; }
.km_process_step { background: #fff; border: 1px solid var(--km-line); border-radius: var(--km-radius); padding: 34px 28px 30px; position: relative; }
.km_process_step:not(:last-child)::after { content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: -19px; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px; border-radius: 50%; background: var(--accent-color); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; z-index: 1; }
.km_process_no { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--km-deep); color: #fff; font-weight: 700; font-size: 18px; margin-bottom: 18px; }
.km_process_step h4 { font-size: 21px; margin-bottom: 6px; }
.km_process_step h4 + strong { display: block; color: var(--km-deep-2); font-size: 16px; margin-bottom: 14px; word-break: keep-all; }
.km_process_step p { margin: 0; line-height: 1.75; word-break: keep-all; }
.km_cycle_note { margin-top: 26px; display: flex; align-items: center; gap: 14px; padding: 20px 24px; border-radius: 12px; background: var(--km-soft); font-size: 17px; word-break: keep-all; }
.km_cycle_note i { font-size: 26px; color: var(--accent-color); }
@media (max-width: 991px) {
  .km_process { grid-template-columns: 1fr; gap: 30px; }
  .km_process_step:not(:last-child)::after { right: 50%; top: auto; bottom: -27px; transform: translateX(50%) rotate(90deg); }
}
.km_patent_bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 30px 36px; border-radius: var(--km-radius); background: var(--km-deep); color: #fff; }
.km_patent_bar p { margin: 0; font-size: 19px; font-weight: 600; color: #fff; display: flex; align-items: center; gap: 12px; }
.km_patent_bar p i { color: var(--accent-color); font-size: 24px; }
.km_patent_bar .km_btn { background: #fff; color: var(--km-deep); border-color: #fff; }
.km_patent_bar .km_btn:hover { background: var(--accent-color); border-color: var(--accent-color); color: #fff; }

/* ---------- 차별성: 인용 카드 ---------- */
.km_qcard { display: flex; flex-direction: column; }
.km_qcard .km_qcard_mark { font-size: 54px; line-height: .8; color: var(--accent-color); font-family: Georgia, serif; margin-bottom: 8px; }
.km_qcard h3 { font-size: 22px; line-height: 1.5; color: var(--km-deep); }
.km_qcard p { margin-bottom: .6em; line-height: 1.75; }
.km_qcard ul { list-style: none; padding: 14px 18px; margin: 8px 0 14px; background: var(--km-soft); border-radius: 10px; }
.km_qcard ul li { padding: 3px 0 3px 18px; position: relative; word-break: keep-all; }
.km_qcard ul li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent-color); }

/* ---------- 차별성: 비교표 (관리자 편집 HTML) ---------- */
.km_cmp_block + .km_cmp_block { margin-top: 56px; }
.km_cmp_title { font-size: 24px; margin-bottom: 18px; padding-left: 14px; border-left: 4px solid var(--accent-color); word-break: keep-all; }
.km_cmp_wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--km-radius); border: 1px solid var(--km-line); }
.km_cmp { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; font-size: 16px; background: #fff; }
.km_cmp th, .km_cmp td { padding: 20px 22px; vertical-align: top; text-align: left; border-bottom: 1px solid var(--km-line); border-right: 1px solid var(--km-line); word-break: keep-all; line-height: 1.7; }
.km_cmp tr > *:last-child { border-right: 0; }
.km_cmp tbody tr:last-child > * { border-bottom: 0; }
.km_cmp thead th { background: #f6f7f5; color: var(--heading-color); font-weight: 700; text-align: center; vertical-align: middle; padding: 14px 16px; }
.km_cmp thead .km_cmp_group { background: #eceeea; color: #666; font-size: 14px; letter-spacing: .04em; font-weight: 600; }
.km_cmp thead .km_cmp_head { width: 110px; }
.km_cmp .km_cmp_row { background: #f6f7f5; color: var(--heading-color); font-weight: 700; text-align: center; vertical-align: middle; width: 110px; }
.km_cmp .km_cmp_row small { display: block; font-weight: 500; font-size: 12px; color: #888; margin-top: 4px; line-height: 1.4; }
.km_cmp td { width: 28%; color: #555; }
.km_cmp td p { margin: 0 0 8px; padding-left: 12px; position: relative; }
.km_cmp td p:last-child { margin-bottom: 0; }
.km_cmp td p::before { content: "-"; position: absolute; left: 0; color: #aaa; }
.km_cmp .km_cmp_lhbs { background: rgba(91, 214, 86, .09); color: var(--heading-color); border-left: 2px solid var(--accent-color); border-right: 2px solid var(--accent-color); width: 34%; }
.km_cmp thead .km_cmp_lhbs_head { background: var(--km-deep); color: #fff; font-size: 18px; line-height: 1.35; border-top: 2px solid var(--accent-color); }
.km_cmp tbody tr:last-child .km_cmp_lhbs { border-bottom: 2px solid var(--accent-color); }
.km_cmp_badge { display: inline-block; background: var(--accent-color); color: #fff; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 20px; margin-bottom: 10px; }
.km_cmp .km_cmp_bad { color: #d5482f; font-weight: 700; }
.km_cmp .km_cmp_good { color: var(--km-deep-2); font-weight: 700; background: linear-gradient(transparent 60%, rgba(91, 214, 86, .3) 60%); }
.km_cmp_hint { display: none; font-size: 13px; color: #999; margin-top: 8px; }
@media (max-width: 991px) { .km_cmp_hint { display: block; } .km_cmp { font-size: 15px; } .km_cmp th, .km_cmp td { padding: 14px 14px; } }

/* ---------- 설치효과 ---------- */
.km_effects { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.km_effect { background: #fff; border: 1px solid var(--km-line); border-radius: var(--km-radius); padding: 30px 20px 26px; text-align: center; position: relative; transition: transform .3s, box-shadow .3s; }
.km_effect:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(5, 69, 23, .08); }
.km_effect_no { position: absolute; left: 18px; top: 14px; font-weight: 700; color: var(--accent-color); font-size: 15px; letter-spacing: .05em; }
.km_effect_icon { width: 74px; height: 74px; border-radius: 50%; margin: 10px auto 18px; display: flex; align-items: center; justify-content: center; font-size: 28px; color: #fff;
  background: radial-gradient(circle at 30% 30%, #7ee27a, var(--km-deep-2)); }
.km_effect h3 { font-size: 19px; margin: 0; word-break: keep-all; }
@media (max-width: 1199px) { .km_effects { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { .km_effects { grid-template-columns: repeat(2, 1fr); gap: 10px; } .km_effect { padding: 26px 10px 20px; } .km_effect h3 { font-size: 16px; } }
.km_effect_stats { margin-top: 30px; border-radius: var(--km-radius); background: var(--km-deep); padding: 34px 36px; display: grid; grid-template-columns: 200px repeat(3, 1fr); gap: 20px; align-items: center; color: #fff; }
.km_effect_stats > strong { font-size: 20px; color: var(--accent-color); }
.km_effect_stat { border-left: 1px solid rgba(255,255,255,.2); padding-left: 24px; }
.km_effect_stat b { display: block; font-size: 34px; line-height: 1.1; color: #fff; }
.km_effect_stat b small { font-size: 16px; color: var(--accent-color); margin-left: 2px; }
.km_effect_stat span { font-size: 15px; color: rgba(255,255,255,.75); }
@media (max-width: 991px) { .km_effect_stats { grid-template-columns: 1fr; padding: 26px 24px; } .km_effect_stat { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding: 14px 0 0; } }
.km_site_photos { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.km_site_photos figure { margin: 0; }
.km_site_photos .km_media { aspect-ratio: 4 / 3; }
.km_site_photos .km_media:first-child { grid-row: span 2; aspect-ratio: auto; }
@media (max-width: 767px) { .km_site_photos { grid-template-columns: 1fr 1fr; gap: 10px; } .km_site_photos .km_media:first-child { grid-column: span 2; grid-row: auto; aspect-ratio: 16 / 10; } }

/* ---------- 대상고객 ---------- */
.km_target_cards .km_card h3 { margin-bottom: 8px; }
.km_fit { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 22px 26px; border-radius: var(--km-radius); background: var(--km-deep); color: #fff; }
.km_fit > strong { color: var(--accent-color); margin-right: 6px; font-size: 17px; }
.km_fit span { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 30px; padding: 7px 16px; font-weight: 600; }

/* 설치옵션 */
.km_option_no { display: inline-flex; width: 40px; height: 40px; border-radius: 50%; background: var(--km-deep); color: #fff; align-items: center; justify-content: center; font-weight: 700; margin-bottom: 16px; }
.km_option h3 small { display: block; font-size: 15px; color: #888; font-weight: 500; margin-top: 4px; }
.km_option .km_option_big { font-size: 30px; font-weight: 700; color: var(--km-deep-2); line-height: 1.2; margin: 6px 0 4px; }
/* BOT 흐름도 */
.km_bot_flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: stretch; margin-top: 22px; }
.km_bot_step { background: var(--km-soft); border-radius: 12px; padding: 18px 14px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.km_bot_step i { font-size: 24px; color: var(--km-deep-2); }
.km_bot_step strong { font-size: 15px; color: var(--heading-color); word-break: keep-all; line-height: 1.45; }
.km_bot_step small { font-size: 13px; color: #888; word-break: keep-all; }
.km_bot_arrow { display: flex; align-items: center; color: var(--accent-color); }
@media (max-width: 575px) { .km_bot_flow { grid-template-columns: 1fr; } .km_bot_arrow { justify-content: center; transform: rotate(90deg); } }

/* ---------- 자가진단 ---------- */
.km_diag { background: var(--km-soft); }
.km_diag_steps { justify-content: center; }
@media (max-width: 767px) { .km_diag_steps { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; } .km_diag_steps li { white-space: nowrap; padding: 8px 14px; font-size: 14px; } }
.km_diag_cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.km_diag_card { position: relative; display: block; cursor: pointer; margin: 0; }
.km_diag_card input { position: absolute; opacity: 0; pointer-events: none; }
.km_diag_card_in { display: flex; gap: 18px; align-items: flex-start; height: 100%; background: #fff; border: 2px solid var(--km-line); border-radius: var(--km-radius); padding: 26px 24px; transition: all .2s; }
.km_diag_card_in > i { flex: 0 0 52px; height: 52px; border-radius: 50%; background: var(--km-soft); color: var(--km-deep-2); display: flex; align-items: center; justify-content: center; font-size: 22px; transition: all .2s; }
.km_diag_card_in strong { display: block; font-size: 19px; color: var(--heading-color); margin-bottom: 4px; word-break: keep-all; }
.km_diag_card_in small { font-size: 15px; color: #777; word-break: keep-all; line-height: 1.5; display: block; }
.km_diag_card_in::after { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: 16px; top: 16px; width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--km-line); color: transparent; font-size: 12px; display: flex; align-items: center; justify-content: center; transition: all .2s; }
.km_diag_card:hover .km_diag_card_in { border-color: var(--accent-color); }
.km_diag_card input:checked + .km_diag_card_in { border-color: var(--km-deep-2); box-shadow: 0 14px 30px rgba(5, 69, 23, .1); }
.km_diag_card input:checked + .km_diag_card_in > i { background: var(--km-deep-2); color: #fff; }
.km_diag_card input:checked + .km_diag_card_in::after { background: var(--km-deep-2); border-color: var(--km-deep-2); color: #fff; }
.km_diag_card input:focus-visible + .km_diag_card_in { outline: 3px solid var(--accent-color); outline-offset: 2px; }
@media (max-width: 991px) { .km_diag_cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .km_diag_cards { grid-template-columns: 1fr; gap: 10px; } .km_diag_card_in { padding: 18px 46px 18px 18px; } .km_diag_card_in strong { font-size: 17px; } }

.km_diag_panel { background: #fff; border-radius: var(--km-radius); padding: 40px; margin-top: 30px; border: 1px solid var(--km-line); animation: kmFade .4s ease; }
.km_diag_panel[hidden] { display: none; }
.km_diag_panel > h3 { font-size: 24px; margin-bottom: 6px; }
.km_diag_panel > p.km_diag_lead { color: #777; margin-bottom: 26px; }
.km_diag_group { margin-top: 26px; padding-top: 26px; border-top: 1px dashed var(--km-line); }
.km_diag_group h4 { font-size: 15px; letter-spacing: .08em; color: var(--accent-color); margin-bottom: 16px; }
.km_diag_q { padding: 16px 0; }
.km_diag_q[hidden] { display: none; }
.km_diag_q > p { font-weight: 700; color: var(--heading-color); font-size: 18px; margin-bottom: 12px; word-break: keep-all; }
.km_diag_q > p em { font-style: normal; color: var(--accent-color); margin-right: 8px; }
.km_diag_q .km_radio_group span { word-break: keep-all; }
.km_diag_q .km_radio_group label:last-child span { border-style: dashed; color: #777; }
.km_diag_q .km_radio_group label:last-child input:checked + span { color: #fff; border-style: solid; }
.km_diag_input { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.km_diag_input[hidden] { display: none; }
.km_form .km_diag_input input[type=text] { width: 160px; border: 1px solid var(--km-line); border-radius: 10px; padding: 10px 14px; font-size: 16px; outline: none; }
.km_form .km_diag_input input:focus { border-color: var(--accent-color); }
.km_form .km_diag_input.km_dims input[type=text] { width: 80px; }
.km_diag_input span { color: #777; font-size: 15px; }
.km_diag_actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 30px; }
.km_diag_actions .km_note { margin: 0; }
.km_diag_msg { color: #d5482f; font-weight: 600; margin: 0; }

/* 결과 */
.km_diag_result { border-radius: var(--km-radius); padding: 40px; background: var(--km-deep); color: rgba(255,255,255,.88); position: relative; overflow: hidden; }
.km_diag_result::before { content: attr(data-grade); position: absolute; right: 30px; top: -30px; font-size: 220px; font-weight: 800; line-height: 1; color: rgba(255,255,255,.06); }
.km_diag_result_grade { display: inline-flex; align-items: center; gap: 10px; background: var(--accent-color); color: #fff; border-radius: 30px; padding: 6px 18px; font-weight: 700; margin-bottom: 14px; }
.km_diag_result h3 { color: #fff; font-size: 32px; margin-bottom: 10px; word-break: keep-all; position: relative; }
.km_diag_result p { position: relative; word-break: keep-all; }
.km_diag_result .km_diag_extra { background: rgba(91, 214, 86, .18); border-left: 4px solid var(--accent-color); padding: 12px 16px; border-radius: 8px; color: #fff; font-weight: 600; }
.km_diag_result .km_diag_final { font-size: 13px; color: rgba(255,255,255,.6); margin: 14px 0 0; }
.km_diag_result .km_btns { position: relative; margin-top: 24px; }
.km_diag_result .km_btn { background: #fff; color: var(--km-deep); border-color: #fff; }
.km_diag_result .km_btn:hover { background: var(--accent-color); border-color: var(--accent-color); color: #fff; }
.km_diag_result .km_btn.km_btn_line { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.km_diag_result .km_btn.km_btn_line:hover { background: #fff; color: var(--km-deep); }
.km_diag_result.km_grade_A { background: linear-gradient(135deg, var(--km-deep), var(--km-deep-2)); }
.km_diag_result.km_grade_C { background: #2c3a33; }
@media (max-width: 575px) { .km_diag_result { padding: 28px 22px; } .km_diag_result h3 { font-size: 24px; } .km_diag_result::before { font-size: 150px; } }
.km_diag_summary { margin: 0; display: grid; grid-template-columns: 140px 1fr; gap: 10px 18px; font-size: 15px; }
.km_diag_summary dt { color: var(--km-deep-2); font-weight: 700; }
.km_diag_summary dd { margin: 0; word-break: keep-all; }
@media (max-width: 575px) { .km_diag_summary { grid-template-columns: 1fr; gap: 2px; } .km_diag_summary dd { margin-bottom: 10px; } }
.km_diag_request { border: 1px dashed var(--accent-color); border-radius: 12px; padding: 20px 24px; background: #fff; margin-bottom: 26px; }
.km_diag_request strong { color: var(--heading-color); display: block; margin-bottom: 10px; }
.km_diag_request .km_tag { background: var(--km-soft); }
.km_diag_request p { margin: 8px 0 0; }
.km_diag_form .km_diag_summary_box { background: var(--km-soft); border-radius: 12px; padding: 20px 22px; }
.km_diag_done { text-align: center; padding: 50px 20px; }
.km_diag_done i { font-size: 54px; color: var(--accent-color); margin-bottom: 18px; }
.km_hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
