@charset "utf-8";
/* AI 모의해킹 (/sec/hacking) PC 전용 스타일 */

/* 섹션 공통 */
.hacking.aipt #sub2 { padding-bottom: 0; }
.hacking.aipt .target .type1,
.hacking.aipt #sub3 .type1 { padding-bottom: 70px; }
.hacking.aipt .type1 .tit,
.hacking.aipt #sub3 .type1 .tit { padding: 70px 0 24px; }
.hacking.aipt .type1 .tit { font-weight: 400; color: #222; }
.aipt .aipt_lead { font-size: 18px; font-weight: 400; color: #4a4a4a; line-height: 1.6; text-align: center; margin-bottom: 60px; word-break: keep-all; }
.aipt .aipt_lead strong { font-weight: 600; color: #06a9b7; }
.aipt h4 { font-size: 20px; font-weight: 600; color: #222; line-height: 1.4; word-break: keep-all; }
.aipt ul li p,
.aipt ol li p { font-size: 16px; font-weight: 400; color: #4a4a4a; line-height: 1.65; word-break: keep-all; }

/* 필요성: 3열 */
.aipt .aipt_cols { display: flex; border-top: 2px solid #222; }
.aipt .aipt_cols li { flex: 1; padding: 36px 36px 0; }
.aipt .aipt_cols li + li { border-left: 1px solid #eee; }
.aipt .aipt_cols li .ico { display: block; width: 52px; height: 52px; line-height: 52px; text-align: center; border-radius: 14px; background: #fff; border: 1px solid #d5eef0; color: #06a9b7; font-size: 21px; margin-bottom: 20px; }
.aipt .aipt_cols li h4 { margin-bottom: 10px; }
.aipt .aipt_answer { margin-top: 60px; text-align: center; font-size: 20px; font-weight: 400; color: #444; }
.aipt .aipt_answer strong { font-weight: 600; color: #06a9b7; }
.aipt .aipt_answer i { color: #f5b301; margin-right: 10px; }

/* 공격 경로 예시 */
.aipt .aipt_flow { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 24px; background: #fff; border: 1px solid #e6eaee; border-radius: 16px; padding: 26px 36px; }
.aipt .aipt_flow .label { flex: none; font-size: 15px; font-weight: 600; color: #222; }
.aipt .aipt_flow ol { flex: 1; display: flex; justify-content: center; gap: 20px; }
.aipt .aipt_flow ol li { position: relative; font-size: 16px; color: #3d3d3d; white-space: nowrap; }
.aipt .aipt_flow ol li:not(:last-child):after { content: "\f105"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #c5ccd2; margin-left: 20px; }
.aipt .aipt_flow ol li.danger { color: #e5484d; font-weight: 600; }
.aipt .aipt_flow ol li i { color: #06a9b7; margin-right: 7px; }
.aipt .aipt_flow ol li.danger i { color: #e5484d; }

/* 진단 범위: 숫자 + 검증 흐름 */


/* 진단절차 */
.aipt .aipt_step { display: flex; }
.aipt .aipt_step li { flex: 1; position: relative; text-align: center; padding: 0 10px; }
.aipt .aipt_step li:before { content: ""; position: absolute; top: 32px; left: 50%; width: 100%; height: 2px; background: #c9eaed; }
.aipt .aipt_step li:last-child:before { display: none; }
.aipt .aipt_step li .circle { position: relative; display: block; width: 64px; height: 64px; line-height: 64px; margin: 0 auto 16px; border-radius: 50%; background: #06a9b7; color: #fff; font-size: 24px; box-shadow: 0 0 0 8px #f9fafc; }
.aipt .aipt_step li .week { display: inline-block; font-size: 13px; font-weight: 600; color: #06a9b7; background: #e6f6f7; border-radius: 50px; padding: 3px 12px; margin-bottom: 10px; }
.aipt .aipt_step li h4 { font-size: 18px; margin-bottom: 6px; }
.aipt .aipt_step li p { font-size: 15px; }

/* 가격(상단 요약) */
.hacking.aipt #sub1 { padding: 70px 0; }
.aipt .aipt_hero { background: #fff; border: 1px solid #e6eaee; border-radius: 16px; padding: 48px 64px 0; }
.aipt .aipt_hero .hero_top { display: flex; align-items: stretch; gap: 40px; }
.aipt .aipt_hero .info { flex: 1; }
.aipt .aipt_hero .eyebrow { display: block; font-size: 15px; font-weight: 600; letter-spacing: 0; color: #06a9b7; margin-bottom: 14px; }
.aipt .aipt_hero h3 { font-size: 40px; font-weight: 700; color: #222; line-height: 1.2; margin-bottom: 18px; }
.aipt .aipt_hero .desc { font-size: 18px; font-weight: 400; color: #3d3d3d; line-height: 1.7; margin-bottom: 0; word-break: keep-all; }
.aipt .aipt_hero .price_box { flex: none; width: 400px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-left: 56px; border-left: 1px solid #eef1f3; }
.aipt .aipt_hero .price_box .label { display: block; font-size: 15px; color: #6b6b6b; margin-bottom: 6px; }
.aipt .aipt_hero .price_row { display: flex; align-items: center; gap: 24px; }
.aipt .aipt_hero .price { font-size: 30px; font-weight: 700; color: #222; line-height: 1.2; }
.aipt .aipt_hero a.btn_inquiry,
.aipt .aipt_hero a.btn_inquiry:link,
.aipt .aipt_hero a.btn_inquiry:visited { display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 32px; border-radius: 50px; background: #06a9b7; color: #fff; font-size: 16px; font-weight: 500; transition: background 0.2s; }
.aipt .aipt_hero a.btn_inquiry:hover { background: #058f9b; }
.aipt .aipt_hero a.btn_inquiry i { font-size: 13px; }
.aipt .aipt_hero .points { display: flex; margin: 32px -64px 0; border-top: 1px solid #eef1f3; }
.aipt .aipt_hero .points li { flex: 1; display: flex; gap: 16px; align-items: flex-start; padding: 24px 40px; }
.aipt .aipt_hero .points li + li { border-left: 1px solid #eef1f3; }
.aipt .aipt_hero .points li i { flex: none; width: 46px; height: 46px; line-height: 46px; text-align: center; border-radius: 12px; background: #e6f6f7; color: #06a9b7; font-size: 19px; }
.aipt .aipt_hero .points li h4 { font-size: 18px; margin-bottom: 4px; }




/* 진단 범위: 6개 영역 */
.aipt .aipt_scope { display: flex; flex-wrap: wrap; gap: 20px; }
.aipt .aipt_scope li { width: calc((100% - 40px) / 3); box-sizing: border-box; display: flex; gap: 20px; align-items: center; background: #fff; border: 1px solid #e6eaee; border-radius: 16px; padding: 30px 28px; }
.aipt .aipt_scope li .ico { flex: none; width: 56px; height: 56px; line-height: 56px; text-align: center; border-radius: 50%; background: #e6f6f7; color: #06a9b7; font-size: 22px; }
.aipt .aipt_scope li strong { display: block; font-size: 30px; font-weight: 700; color: #06a9b7; line-height: 1; margin-bottom: 8px; }
.aipt .aipt_scope li strong em { font-style: normal; font-size: 15px; font-weight: 500; color: #3d3d3d; margin-left: 3px; }
.aipt .aipt_scope li h4 { font-size: 18px; margin-bottom: 4px; }
.aipt .aipt_scope li p { font-size: 15px; }


/* 진단 대상 */
.aipt .aipt_targets { display: flex; align-items: center; justify-content: center; gap: 20px; margin: -20px 0 40px; }
.aipt .aipt_targets .label { font-size: 15px; font-weight: 600; color: #222; }
.aipt .aipt_targets ul { display: flex; gap: 10px; }
.aipt .aipt_targets ul li { font-size: 15px; color: #3d3d3d; background: #fff; border: 1px solid #dfe3e7; border-radius: 50px; padding: 8px 18px; }
.aipt .aipt_targets ul li i { color: #06a9b7; margin-right: 8px; }


/* 마무리 문구 */
.aipt .aipt_closing { display: flex; align-items: center; justify-content: space-between; margin-top: 40px; background: #24313a; border-radius: 16px; gap: 40px; padding: 40px 56px; }
.aipt .aipt_closing p { font-size: 26px; font-weight: 400; color: #c9d3da; line-height: 1.45; word-break: keep-all; }
.aipt .aipt_closing p.sub { margin-top: 14px; font-size: 16px; color: #9fb0bc; line-height: 1.65; }
.aipt .aipt_closing a.btn_inquiry { flex: none; }
.aipt .aipt_closing p strong { font-weight: 700; color: #fff; }
.aipt .aipt_closing a.btn_inquiry,
.aipt .aipt_closing a.btn_inquiry:link,
.aipt .aipt_closing a.btn_inquiry:visited { display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 30px; border-radius: 50px; background: #06a9b7; color: #fff; font-size: 16px; font-weight: 500; }
.aipt .aipt_closing a.btn_inquiry:hover { background: #058f9b; }


/* 기대효과: 가로 한 줄 */
.aipt .aipt_effect { display: flex; background: #fff; border: 1px solid #e6eaee; border-radius: 16px; }
.aipt .aipt_effect li { flex: 1; text-align: center; padding: 36px 16px; }
.aipt .aipt_effect li + li { border-left: 1px solid #eef1f3; }
.aipt .aipt_effect li i { font-size: 28px; color: #06a9b7; margin-bottom: 16px; }
.aipt .aipt_effect li h4 { font-size: 20px; margin-bottom: 6px; }
.aipt .aipt_effect li p { font-size: 16px; }

/* 진단절차 아래 안전장치 한 줄 */
.aipt .aipt_safe { display: flex; align-items: center; justify-content: center; gap: 28px; margin-top: 56px; background: #fff; border: 1px solid #e6eaee; border-radius: 14px; padding: 20px 30px; }
.aipt .aipt_safe .label { flex: none; font-size: 16px; font-weight: 600; color: #222; }
.aipt .aipt_safe .label i { color: #06a9b7; margin-right: 8px; }
.aipt .aipt_safe ul { display: flex; gap: 24px; }
.aipt .aipt_safe ul li { font-size: 15px; color: #3d3d3d; }
.aipt .aipt_safe ul li i { color: #06a9b7; margin-right: 7px; }

/* 결과물 3종 */
.aipt .aipt_docs { display: flex; gap: 24px; }
.aipt .aipt_docs li { flex: 1; background: #fff; border: 1px solid #e6eaee; border-radius: 16px; padding: 36px 32px; text-align: center; }
.aipt .aipt_docs li i { display: block; width: 56px; height: 56px; line-height: 56px; text-align: center; border-radius: 14px; background: #e6f6f7; color: #06a9b7; font-size: 22px; margin: 0 auto 20px; }
.aipt .aipt_docs li .tag { display: inline-block; font-size: 12px; font-weight: 600; color: #06a9b7; border: 1px solid #b8e4e8; border-radius: 50px; padding: 2px 10px; margin-bottom: 10px; }
.aipt .aipt_docs li h4 { font-size: 20px; margin-bottom: 6px; }
.aipt .aipt_minitit { margin: 64px 0 20px; text-align: center; font-size: 24px; font-weight: 600; color: #222; }

/* 투트랙 진단 */
.aipt .aipt_tracks { display: flex; gap: 24px; }
.aipt .aipt_tracks .track { flex: 1; position: relative; background: #fff; border: 1px solid #e6eaee; border-top: 4px solid #24313a; border-radius: 16px; padding: 40px 40px 36px; }
.aipt .aipt_tracks .track.ai { border-top-color: #06a9b7; }
.aipt .aipt_tracks .no { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 1px; color: #fff; background: #24313a; border-radius: 50px; padding: 4px 14px; margin-bottom: 20px; }
.aipt .aipt_tracks .track.ai .no { background: #06a9b7; }
.aipt .aipt_tracks .head { display: flex; gap: 18px; align-items: flex-start; padding-bottom: 22px; margin-bottom: 18px; border-bottom: 1px solid #eef1f3; }
.aipt .aipt_tracks .head .ico { flex: none; width: 60px; height: 60px; line-height: 60px; text-align: center; border-radius: 14px; background: #eceff1; color: #24313a; font-size: 26px; }
.aipt .aipt_tracks .track.ai .head .ico { background: #e6f6f7; color: #06a9b7; }
.aipt .aipt_tracks .head h4 { font-size: 22px; margin-bottom: 6px; }
.aipt .aipt_tracks .head p { font-size: 16px; color: #4a4a4a; line-height: 1.6; word-break: keep-all; }
.aipt .aipt_tracks ul li { position: relative; padding: 7px 0 7px 26px; font-size: 16px; color: #3d3d3d; word-break: keep-all; }
.aipt .aipt_tracks ul li:before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 9px; font-size: 13px; color: #24313a; }
.aipt .aipt_tracks .track.ai ul li:before { color: #06a9b7; }
.aipt .aipt_merge { position: relative; display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; background: #24313a; border-radius: 16px; padding: 26px 36px; }
.aipt .aipt_merge .ico { flex: none; width: 44px; height: 44px; line-height: 44px; text-align: center; border-radius: 50%; background: #06a9b7; color: #fff; font-size: 18px; }
.aipt .aipt_merge p { font-size: 17px; color: #d5dde3; word-break: keep-all; }
.aipt .aipt_merge p strong { font-weight: 700; color: #fff; margin-right: 12px; }

/* 투트랙 헤더 보조문구 */
.aipt .aipt_tracks .head h4 em { font-style: normal; font-size: 14px; font-weight: 500; color: #5a5a5a; margin-left: 6px; }
.aipt .aipt_tracks + .aipt_merge + .aipt_minitit { margin-top: 56px; }

/* 진단 범위: 전문가 트랙 안내 */
.aipt .aipt_track_note { margin-top: 24px; text-align: center; font-size: 16px; color: #3d3d3d; background: #fff; border: 1px dashed #c9d3da; border-radius: 14px; padding: 20px 24px; }
.aipt .aipt_track_note i { color: #24313a; margin-right: 10px; }
.aipt .aipt_track_note strong { color: #24313a; }

/* 상단 비주얼: 시안 카피(라벨·헤드라인·약속·CTA) */
#subVisual.idc_visual.vpn_visual.aipt_visual { height: auto; }
#subVisual.aipt_visual .inner2 { min-height: 520px; box-sizing: border-box; padding: 120px 0 60px; background-position: right top; }
#subVisual.aipt_visual .hero_copy { width: 680px; text-align: left; }
#subVisual.aipt_visual .service_label { display: inline-block; margin: 0; font-size: 15px; font-weight: 600; letter-spacing: 1px; color: #06a9b7; background: #e6f6f7; border-radius: 50px; padding: 5px 14px; line-height: 1.4; }
#subVisual.aipt_visual h2 { margin-top: 18px; font-size: 40px; font-weight: 700; line-height: 1.3; color: #222; word-break: keep-all; }
#subVisual.aipt_visual h2 span { display: block; font-weight: 700; }
#subVisual.aipt_visual .hero_promise { margin-top: 14px; font-size: 22px; font-weight: 600; line-height: 1.4; color: #06a9b7; }
#subVisual.aipt_visual .hero_actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
#subVisual.aipt_visual .hero_actions a,
#subVisual.aipt_visual .hero_actions a:link,
#subVisual.aipt_visual .hero_actions a:visited { display: inline-flex; align-items: center; height: 50px; padding: 0 28px; border-radius: 50px; font-size: 16px; font-weight: 500; box-sizing: border-box; transition: background 0.2s; }
#subVisual.aipt_visual .hero_actions a.primary { background: #06a9b7; color: #fff; }
#subVisual.aipt_visual .hero_actions a.primary:hover { background: #058f9b; }
#subVisual.aipt_visual .hero_actions a.secondary { background: #fff; color: #24313a; border: 1px solid #c9d3da; }
#subVisual.aipt_visual .hero_actions a.secondary:hover { border-color: #06a9b7; color: #06a9b7; }
#subVisual.aipt_visual .hero_strength { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; font-size: 15px; line-height: 1.5; }
#subVisual.aipt_visual .hero_strength b { font-weight: 600; color: #24313a; }
#subVisual.aipt_visual .hero_strength b:before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #06a9b7; margin-right: 7px; font-size: 13px; }
#subVisual.aipt_visual .permission { margin-top: 12px; font-size: 14px; line-height: 1.5; color: #6b6b6b; }

/* 보조 안내문(예시·조건) */
.aipt .aipt_note { margin-top: 16px; text-align: center; font-size: 14px; color: #6b6b6b; line-height: 1.6; word-break: keep-all; }
.aipt .aipt_lead small { display: inline-block; margin-top: 6px; font-size: 14px; color: #6b6b6b; }
.aipt .aipt_notice { margin-top: 24px; background: #fff; border: 1px solid #e6eaee; border-left: 4px solid #06a9b7; border-radius: 12px; padding: 22px 28px; font-size: 15px; color: #4a4a4a; line-height: 1.75; word-break: keep-all; }
.aipt .aipt_notice b { font-weight: 600; color: #222; }
.aipt .aipt_source { margin-top: 14px; text-align: center; font-size: 13px; color: #6b6b6b; }
.aipt .aipt_source a,
.aipt .aipt_source a:link,
.aipt .aipt_source a:visited { color: #5a5a5a; text-decoration: underline; }
.aipt .aipt_source a:hover { color: #06a9b7; }
.aipt .aipt_answer + .aipt_source + .aipt_flow { margin-top: 32px; }

/* 보고서 샘플 */
.hacking.aipt .aipt_report_sec { padding: 70px 0; }
.aipt .aipt_sample .sample_head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.aipt .aipt_sample .sample_head h3 { font-size: 30px; font-weight: 700; color: #222; line-height: 1.3; }
.aipt .aipt_sample .sample_badge { flex: none; font-size: 13px; color: #8a5a00; background: #fff6e0; border: 1px solid #f1d58f; border-radius: 10px; padding: 8px 14px; line-height: 1.5; text-align: right; }
.aipt .aipt_sample .sample_layout { display: flex; gap: 40px; align-items: flex-start; }
.aipt .aipt_sample .sample_copy { flex: 0 0 380px; }
.aipt .aipt_sample .sample_message { font-size: 22px; font-weight: 600; color: #222; line-height: 1.5; margin-bottom: 22px; word-break: keep-all; }
.aipt .aipt_sample .sample_copy ul li { padding: 14px 0; border-top: 1px solid #e6eaee; }
.aipt .aipt_sample .sample_copy ul li b { display: block; font-size: 17px; font-weight: 600; color: #24313a; margin-bottom: 4px; }
.aipt .aipt_sample .sample_copy ul li p { font-size: 15px; }
.aipt .aipt_sample a.sample_link,
.aipt .aipt_sample a.sample_link:link,
.aipt .aipt_sample a.sample_link:visited { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 16px; font-weight: 600; color: #06a9b7; }
.aipt .aipt_sample a.sample_link:hover { color: #058f9b; }
.aipt .aipt_sample .sample_paper { flex: 1; min-width: 0; padding: 20px 24px; border: 1px solid #dfe3e7; box-shadow: 0 10px 30px rgba(36, 49, 58, 0.08); }
.aipt .aipt_sample .sample_paper .rp_watermark { top: 190px; font-size: 110px; }
.aipt .aipt_sample .sample_paper .rp_head { padding-bottom: 14px; }
.aipt .aipt_sample .sample_paper .rp_head small { margin-bottom: 4px; }
.aipt .aipt_sample .sample_paper .rp_head h3 { font-size: 19px; margin-bottom: 2px; }
.aipt .aipt_sample .sample_paper .rp_kpi { gap: 8px; margin: 14px 0 0; }
.aipt .aipt_sample .sample_paper .rp_kpi li { padding: 9px 12px; }
.aipt .aipt_sample .sample_paper .rp_kpi li b { margin: 2px 0 0; font-size: 22px; }
.aipt .aipt_sample .sample_paper .rp_sec { margin-top: 16px; }
.aipt .aipt_sample .sample_paper .rp_sec h4 { margin-bottom: 10px; font-size: 16px; }
.aipt .aipt_sample .sample_paper .rp_charts { gap: 8px; }
.aipt .aipt_sample .sample_paper .rp_card { padding: 10px 12px; }
.aipt .aipt_sample .sample_paper .rp_card .card_tit { margin-bottom: 6px; }
.aipt .aipt_sample .sample_paper .rp_donut_wrap { gap: 12px; }
.aipt .aipt_sample .sample_paper .rp_donut { width: 84px; height: 84px; }
.aipt .aipt_sample .sample_paper .rp_donut span { inset: 14px; font-size: 11px; }
.aipt .aipt_sample .sample_paper .rp_donut span b { font-size: 18px; }
.aipt .aipt_sample .sample_paper .rp_legend li { padding: 1px 0; font-size: 12px; }
.aipt .aipt_sample .sample_paper .rp_bars li { gap: 6px; padding: 2px 0; font-size: 12px; }
.aipt .aipt_sample .sample_paper .rp_bars li span { flex-basis: 104px; letter-spacing: -0.3px; }
.aipt .aipt_sample .sample_paper .rp_bars li b { flex-basis: 18px; }
.aipt .aipt_sample .sample_paper .rp_disclaimer { margin-top: 10px; }

.aipt .aipt_sample .sample_pop_btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; margin-right: 18px; padding: 12px 20px; font-size: 16px; font-weight: 600; color: #fff; background: #24313a; border: 0; border-radius: 8px; cursor: pointer; }
.aipt .aipt_sample .sample_pop_btn:hover { background: #06a9b7; }

/* 보고서 샘플 팝업 */
html.aipt_pop_open, html.aipt_pop_open body { overflow: hidden; }
.aipt_report_pop { display: none; position: fixed; inset: 0; z-index: 10000; }
.aipt_report_pop.on { display: flex; align-items: center; justify-content: center; }
.aipt_report_pop .pop_dim { position: absolute; inset: 0; background: rgba(15, 22, 28, 0.72); }
.aipt_report_pop .pop_box { position: relative; display: flex; flex-direction: column; width: min(1160px, calc(100% - 48px)); max-height: calc(100vh - 60px); background: #eef1f4; border-radius: 14px; overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); outline: none; }
.aipt_report_pop .pop_bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 20px 14px 28px; background: #24313a; }
.aipt_report_pop .pop_bar p { font-size: 14px; color: #c9d3da; }
.aipt_report_pop .pop_bar p b { display: inline-block; margin-right: 10px; padding: 3px 10px; font-size: 13px; font-weight: 600; color: #8a5a00; background: #fff6e0; border-radius: 20px; }
.aipt_report_pop .pop_close { width: 36px; height: 36px; font-size: 20px; color: #fff; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.aipt_report_pop .pop_close:hover { background: rgba(255, 255, 255, 0.12); }
.aipt_report_pop .pop_scroll { flex: 1; overflow-y: auto; padding: 24px; }
.aipt_report_pop .pop_foot { display: flex; justify-content: center; gap: 10px; padding: 14px 20px; background: #fff; border-top: 1px solid #dfe3e7; }
.aipt_report_pop .pop_foot a.btn_download,
.aipt_report_pop .pop_foot a.btn_download:link,
.aipt_report_pop .pop_foot a.btn_download:visited { display: inline-flex; align-items: center; gap: 10px; padding: 12px 26px; font-size: 16px; font-weight: 600; color: #fff; background: #24313a; border-radius: 8px; }
.aipt_report_pop .pop_foot a.btn_download:hover { background: #3a4b57; }
.aipt_report_pop .pop_foot a.btn_inquiry,
.aipt_report_pop .pop_foot a.btn_inquiry:link,
.aipt_report_pop .pop_foot a.btn_inquiry:visited { display: inline-flex; align-items: center; gap: 10px; padding: 12px 26px; font-size: 16px; font-weight: 600; color: #fff; background: #06a9b7; border-radius: 8px; }
.aipt_report_pop .pop_foot a.btn_inquiry:hover { background: #058f9b; }

.rp_doc { position: relative; padding: 32px 36px; background: #fff; border-radius: 12px; overflow: hidden; color: #333; }
.rp_doc .rp_watermark { position: absolute; top: 340px; left: 50%; transform: translateX(-50%) rotate(-24deg); font-size: 160px; font-weight: 800; letter-spacing: 20px; color: rgba(36, 49, 58, 0.04); pointer-events: none; }
.rp_doc .rp_head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 20px; border-bottom: 2px solid #24313a; }
.rp_doc .rp_head small { display: block; font-size: 13px; font-weight: 600; letter-spacing: 1.5px; color: #06a9b7; margin-bottom: 6px; }
.rp_doc .rp_head h3 { font-size: 24px; font-weight: 700; color: #1d2830; margin-bottom: 6px; }
.rp_doc .rp_head p { font-size: 13px; color: #7a858d; }
.rp_doc .rp_stamp { flex: none; padding: 6px 12px; font-size: 13px; font-weight: 700; letter-spacing: 1.5px; color: #d93a3a; border: 2px solid #d93a3a; border-radius: 6px; transform: rotate(-4deg); }

.rp_doc .rp_kpi { display: flex; gap: 12px; margin: 22px 0 6px; }
.rp_doc .rp_kpi li { flex: 1; padding: 16px 18px; background: #f6f8f9; border: 1px solid #e6eaee; border-top: 4px solid #9aa5ad; border-radius: 10px; }
.rp_doc .rp_kpi li span { display: block; font-size: 13px; color: #6b7780; }
.rp_doc .rp_kpi li b { display: block; margin: 4px 0 2px; font-size: 30px; font-weight: 700; line-height: 1.2; color: #1d2830; }
.rp_doc .rp_kpi li em { font-style: normal; font-size: 12px; color: #8a959d; }
.rp_doc .rp_kpi li.grade { background: #fdeeee; border-color: #f4c9c9; border-top-color: #d93a3a; }
.rp_doc .rp_kpi li.grade b,
.rp_doc .rp_kpi li.crit b { color: #d93a3a; }
.rp_doc .rp_kpi li.crit { border-top-color: #d93a3a; }
.rp_doc .rp_kpi li.high { border-top-color: #f08a24; }
.rp_doc .rp_kpi li.high b { color: #e07a12; }
.rp_doc .rp_kpi li.pen { border-top-color: #06a9b7; }
.rp_doc .rp_kpi li.pen b { color: #06a9b7; }

.rp_doc .rp_sec { position: relative; margin-top: 30px; }
.rp_doc .rp_sec h4 { padding-left: 12px; margin-bottom: 14px; font-size: 18px; font-weight: 700; color: #1d2830; border-left: 4px solid #06a9b7; line-height: 1.2; }
.rp_doc .rp_sec h4 span { font-size: 14px; font-weight: 400; color: #8a959d; }
.rp_doc .rp_desc { margin: -6px 0 14px; font-size: 14px; color: #6b7780; }
.rp_doc .rp_summary li { position: relative; padding: 10px 0 10px 18px; font-size: 14px; line-height: 1.65; color: #4a4a4a; border-bottom: 1px dashed #e6eaee; word-break: keep-all; }
.rp_doc .rp_summary li:before { content: ""; position: absolute; left: 2px; top: 18px; border: 5px solid transparent; border-left-color: #06a9b7; }
.rp_doc .rp_summary li b { margin-right: 8px; color: #1d2830; }

.rp_doc .rp_charts { display: flex; gap: 14px; }
.rp_doc .rp_sec .rp_kpi { margin-top: 0; }
.rp_doc .rp_sec .rp_kpi + .rp_charts { margin-top: 14px; }
.rp_doc .rp_more { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding: 16px 20px; background: #f0fafb; border: 1px solid #c9eaed; border-radius: 10px; }
.rp_doc .rp_more > i { flex: none; font-size: 26px; color: #d93a3a; }
.rp_doc .rp_more p { font-size: 13px; line-height: 1.6; color: #4a4a4a; }
.rp_doc .rp_more p b { display: block; margin-bottom: 2px; font-size: 14px; color: #1d2830; }
.rp_doc .rp_card { flex: 1; min-width: 0; padding: 18px 20px; border: 1px solid #e6eaee; border-radius: 10px; }
.rp_doc .rp_card .card_tit { margin-bottom: 14px; font-size: 14px; font-weight: 600; color: #24313a; }
.rp_doc .rp_donut_wrap { display: flex; align-items: center; gap: 22px; }
.rp_doc .rp_donut { position: relative; flex: none; width: 124px; height: 124px; border-radius: 50%; background: conic-gradient(#d93a3a 0 44.8%, #f08a24 44.8% 100%); }
.rp_doc .rp_donut span { position: absolute; inset: 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 12px; color: #6b7780; background: #fff; border-radius: 50%; }
.rp_doc .rp_donut span b { font-size: 24px; font-weight: 700; line-height: 1.1; color: #1d2830; }
.rp_doc .rp_legend { flex: 1; }
.rp_doc .rp_legend li { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 13px; color: #4a4a4a; }
.rp_doc .rp_legend li b { margin-left: auto; font-weight: 600; color: #1d2830; }
.rp_doc .rp_legend i { width: 10px; height: 10px; border-radius: 3px; }
.rp_doc .c_crit { background: #d93a3a; }
.rp_doc .c_high { background: #f08a24; }
.rp_doc .c_med { background: #e8c21b; }
.rp_doc .c_low { background: #3b82c4; }
.rp_doc .c_info { background: #9aa5ad; }
.rp_doc .rp_bars li { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 13px; color: #4a4a4a; }
.rp_doc .rp_bars li span { flex: 0 0 112px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp_doc .rp_bars li div { flex: 1; height: 10px; background: #eef1f4; border-radius: 5px; overflow: hidden; }
.rp_doc .rp_bars li div i { display: block; height: 100%; background: #06a9b7; border-radius: 5px; }
.rp_doc .rp_bars li b { flex: 0 0 24px; text-align: right; font-weight: 600; color: #1d2830; }

.rp_doc .rp_chain { margin-bottom: 14px; padding: 16px 18px 18px; background: #f6f8f9; border: 1px solid #e6eaee; border-radius: 10px; }
.rp_doc .rp_chain .chain_tit { margin-bottom: 14px; font-size: 14px; font-weight: 600; color: #1d2830; }
.rp_doc .rp_chain .chain_tit b { margin-right: 8px; padding: 2px 8px; font-size: 12px; color: #fff; background: #24313a; border-radius: 4px; }
.rp_doc .rp_chain .chain_tit span { margin-left: 8px; font-size: 13px; font-weight: 400; color: #d93a3a; }
.rp_doc .rp_chain ol { display: flex; gap: 30px; align-items: stretch; }
.rp_doc .rp_chain ol li { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.rp_doc .rp_chain ol li:last-child { flex: 1.6; }
.rp_doc .rp_chain ol li:not(:last-child):after { content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: -23px; top: calc(50% + 2px); font-size: 15px; color: #9ccfd4; }
.rp_doc .rp_chain ol li:not(:last-child) .node { margin: auto 0; }
.rp_doc .rp_chain small { font-size: 12px; font-weight: 600; color: #6b7780; }
.rp_doc .rp_chain .node { padding: 10px 12px; background: #fff; border: 2px solid #9aa5ad; border-radius: 8px; }
.rp_doc .rp_chain .node.crit { border-color: #d93a3a; }
.rp_doc .rp_chain .node.high { border-color: #f08a24; }
.rp_doc .rp_chain .node b { display: block; font-size: 13px; font-weight: 600; color: #1d2830; line-height: 1.4; word-break: keep-all; }
.rp_doc .rp_chain .node em { font-style: normal; font-size: 12px; color: #8a959d; }
.rp_doc .rp_chain .more { font-size: 12px; color: #6b7780; text-align: center; }

.rp_doc .rp_table { width: 100%; table-layout: fixed; border-collapse: collapse; border-top: 2px solid #24313a; }
.rp_doc .rp_table th,
.rp_doc .rp_table td { padding: 11px 12px; font-size: 13px; line-height: 1.5; text-align: left; vertical-align: top; border-bottom: 1px solid #eef1f3; word-break: keep-all; }
.rp_doc .rp_table thead th { font-weight: 600; color: #24313a; background: #f6f8f9; }
.rp_doc .rp_table td:first-child { color: #8a959d; text-align: center; }
.rp_doc .rp_table td:last-child { color: #6b7780; word-break: break-all; }
.rp_doc .rp_table td b { display: block; font-weight: 600; color: #1d2830; }
.rp_doc .rp_table td p { margin-top: 2px; color: #6b7780; }
.rp_doc .rp_table .sev { display: inline-block; padding: 3px 8px; font-size: 11px; font-weight: 700; color: #fff; border-radius: 4px; white-space: nowrap; }
.rp_doc .rp_table .sev.crit { background: #d93a3a; }
.rp_doc .rp_table .sev.high { background: #f08a24; }

.rp_doc .rp_criteria { margin-top: 26px; padding: 16px 20px; background: #f0fafb; border: 1px solid #c9eaed; border-radius: 10px; }
.rp_doc .rp_criteria b { display: block; margin-bottom: 4px; font-size: 14px; color: #1d2830; }
.rp_doc .rp_criteria p { font-size: 13px; line-height: 1.6; color: #4a4a4a; }
.rp_doc .rp_disclaimer { margin-top: 14px; font-size: 12px; line-height: 1.6; color: #8a8a8a; }

/* 수행 방식: AI·전문가 역할 표 */
.aipt .aipt_role_table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid #e6eaee; border-radius: 16px; overflow: hidden; }
.aipt .aipt_role_table th,
.aipt .aipt_role_table td { padding: 18px 24px; font-size: 16px; line-height: 1.55; text-align: left; border-bottom: 1px solid #eef1f3; word-break: keep-all; }
.aipt .aipt_role_table tbody tr:last-child th,
.aipt .aipt_role_table tbody tr:last-child td { border-bottom: 0; }
.aipt .aipt_role_table thead th { font-weight: 600; color: #fff; background: #24313a; }
.aipt .aipt_role_table thead th.ai { background: #06a9b7; }
.aipt .aipt_role_table tbody th { width: 20%; font-weight: 600; color: #222; background: #f6f8f9; }
.aipt .aipt_role_table td { width: 40%; color: #4a4a4a; }

/* 검증 결과: 3가지 질문 */
.aipt .aipt_answer_grid { display: flex; gap: 24px; margin-bottom: 24px; }
.aipt .aipt_answer_grid li { flex: 1; background: #fff; border: 1px solid #e6eaee; border-top: 4px solid #06a9b7; border-radius: 16px; padding: 30px 32px; }
.aipt .aipt_answer_grid li small { display: block; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; color: #06a9b7; margin-bottom: 10px; }
.aipt .aipt_answer_grid li h4 { margin-bottom: 8px; }
