// ─── Infographic View — 솔루션 한눈에 보기 (시안: SpamOut) ───────────────── // 제품 데이터 기반 세로 1장 인포그래픽 모달. PDF 브로셔 대체. const InfographicView = ({ open, onClose, lang }) => { const isKo = lang !== 'en'; if (!open) return null; const BLUE='#2563EB', NAVY='#0F1E3C', NAVY2='#13294F', CYAN='#06B6D4', MINT='#10B981', RED='#F87171', AMBER='#FBBF24'; const d = isKo ? { product:'SpamOut', tag:'이메일 보안 게이트웨이', tagline:'메일 서버 앞단에서 위협을 먼저 차단합니다', probT:'왜 필요한가', probs:[['🎯','표적 피싱','AI 사칭 메일이 기존 필터 우회'],['📎','악성 첨부','클릭 한 번에 랜섬웨어 감염'],['⏱️','운영 부담','스팸 분류·오탐 복구에 시간 소모']], flowT:'동작 방식', flow:['수신 메일','7단계 다단계 검사','위협 차단·격리','정상 메일만 전달'], featT:'핵심 기능', feats:[['🛡️','다단계 스팸 필터링'],['🎣','피싱·사칭 탐지'],['🦠','악성 첨부 검사'],['🔗','URL 실시간 분석'],['⚙️','정책 기반 제어'],['📊','대시보드·리포트']], numT:'처리 현황 (구성 예시)', nums:[['37.2%','게이트웨이 차단율'],['184,320','일일 수신 검사'],['7단계','다단계 검사'],['99.9%','서비스 가용성']], planT:'도입 방식', plans:[['Cloud','10 사용자부터'],['구축형 SMB','50~900명'],['구축형 Enterprise','1,000명 이상']], note:'* 수치는 대시보드 구성 예시입니다. 실제 값은 고객 환경에 따라 다릅니다.', cta:'도입 상담하기', save:'이미지로 저장', close:'닫기', } : { product:'SpamOut', tag:'Email Security Gateway', tagline:'Stop threats in front of your mail server', probT:'Why it matters', probs:[['🎯','Targeted Phishing','AI-written mail bypasses filters'],['📎','Malicious Attachments','One click triggers ransomware'],['⏱️','Ops Load','Time lost to spam handling']], flowT:'How it works', flow:['Inbound Mail','7-Stage Inspection','Block & Quarantine','Clean Delivery'], featT:'Key Features', feats:[['🛡️','Multi-layer Filtering'],['🎣','Phishing Detection'],['🦠','Attachment Inspection'],['🔗','Real-time URL Analysis'],['⚙️','Policy Control'],['📊','Dashboard & Reports']], numT:'Processing (illustrative)', nums:[['37.2%','Gateway block rate'],['184,320','Daily inbound inspected'],['7 stages','Inspection pipeline'],['99.9%','Availability']], planT:'Deployment', plans:[['Cloud','from 10 users'],['On-Prem SMB','50–900 users'],['On-Prem Ent.','1,000+ users']], note:'* Illustrative figures. Actual values vary by environment.', cta:'Talk to Sales', save:'Save as Image', close:'Close', }; const secK = { fontSize:11, fontWeight:800, letterSpacing:'0.14em', color:BLUE, marginBottom:12, textTransform:'uppercase' }; return (