/* IGI — Individual Product Pages (Home, Travel, Health, Marine, Fire, Engineering, Liability, Crop, Corporate) */ /* ─── Shared Helpers ─────────────────────────────────────── */ function ProductHero({ navigate, badge, icon: Icon, title, italic, desc, stats, imgLabel }) { return (
navigate('home')} style={{ cursor: 'pointer' }}>Home / navigate('home')} style={{ cursor: 'pointer' }}>Products / {badge}
{badge}

{title}
{italic}

{desc}

{stats.map(([n, l]) => (
{n}
{l}
))}
[ illustration: {imgLabel} ]
); } function ProductTabs({ tabs, tab, setTab }) { return (
{tabs.map(t => ( ))}
); } function CoverageTab({ covered, notCovered }) { return (
What's covered

The cover, in plain language.

{covered.map(c => (
{c.t}
{c.d}
))}
Not covered
{notCovered.map(n => (
{n}
))}
); } function PlansTab({ navigate, plans, note }) { return (
Plans & pricing

Pick the plan that fits.

{note &&

{note}

}
{plans.map(p => (
{p.featured && ( MOST POPULAR )}
{p.name}
PKR {p.price} /year
{p.highlights.map(h => (
{h}
))}
))}
); } function AddonsTab({ addons }) { return (
Optional add-ons

Tailor it to your needs.

{addons.map(a => (
{a.p}
{a.t}
{a.d}
))}
); } function ClaimsTab({ navigate, steps }) { return (
How claims work

Simple, transparent, fast.

{steps.map((s, i) => (
{s.d}
{s.t}
{s.dx}
0{i + 1}
))}
); } function DocsTab({ docs }) { return (
Documents

Everything in writing.

{docs.map(d => (
{d}
PDF · ~140 KB
))}
); } const DEFAULT_CLAIMS_STEPS = [ { d: 'Day 1', t: 'Report the claim', dx: 'Call 021-111-308-308 or submit online. Provide photos and incident details.' }, { d: 'Day 1–2', t: 'Surveyor assigned', dx: 'A qualified surveyor is dispatched within 4 working hours.' }, { d: 'Day 3–5', t: 'Assessment & approval', dx: 'Survey report reviewed and approved by our claims team.' }, { d: 'Day 5–7', t: 'Settlement', dx: 'Payment transferred directly to your bank account or repair facility.' }, ]; const STANDARD_TABS = [ { id: 'coverage', label: "What's covered" }, { id: 'plans', label: 'Plans & pricing' }, { id: 'addons', label: 'Add-ons' }, { id: 'claims', label: 'How claims work' }, { id: 'docs', label: 'Documents' }, ]; /* ─── Home & Property ─────────────────────────────────────── */ function HomeProp({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Fire & explosion', d: 'Damage from fire, lightning, explosion, including self-ignition and short-circuits.' }, { t: 'Burglary & theft', d: 'Theft of contents, electronics, jewellery and other valuables.' }, { t: 'Flood & storm damage', d: 'Damage from flooding, storms, cyclones, rainwater ingress and inundation.' }, { t: 'Earthquake', d: 'Structural and contents damage caused by seismic events.' }, { t: 'Third-party liability', d: 'Accidental injury to guests or neighbours occurring on your property.' }, { t: 'Riot & malicious damage', d: 'Damage to building and contents caused by civil unrest or vandalism.' }, ]; const notCovered = [ 'Wear & tear, gradual deterioration', 'Damage caused by war or nuclear risk', 'Intentional damage by the insured', 'Cash or negotiable instruments above stated limit', ]; const plans = [ { name: 'Houseowner', price: '8,500', highlights: ['Building structure cover', 'Fire, lightning & explosion', 'Flood & earthquake', 'Third-party liability'], color: 'var(--ink-200)' }, { name: 'Householder', price: '12,000', highlights: ['All Houseowner benefits', 'Contents & valuables', 'Burglary & theft cover', 'Electronics protection'], featured: true, color: 'var(--blue-600)' }, { name: 'All Risk', price: '19,500', highlights: ['All Householder benefits', 'Accidental all-risk cover', 'Personal effects worldwide', 'High-value jewellery limit'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.Zap, t: 'Electrical appliance breakdown', p: '+2,500/yr', d: 'Repair or replacement of home appliances after sudden breakdown.' }, { i: I.User, t: 'Domestic worker accident', p: '+1,000/yr', d: 'Personal accident cover for household staff employed full-time.' }, { i: I.Globe, t: 'Worldwide personal effects', p: '+3,200/yr', d: 'Extends jewellery & valuables cover globally while travelling.' }, { i: I.ShieldCheck, t: 'Enhanced malicious damage', p: '+800/yr', d: 'Broader cover for deliberate damage by third parties.' }, ]; const docs = [ 'Policy wording — Houseowner', 'Policy wording — Householder', 'Claim form — Property', 'Schedule of rates & sums insured guide', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Travel ──────────────────────────────────────────────── */ function Travel({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Emergency medical expenses', d: 'Hospitalization and treatment abroad with cashless facility at network hospitals.' }, { t: 'Medical evacuation & repatriation', d: 'Emergency air evacuation and repatriation of mortal remains if required.' }, { t: 'Trip cancellation & curtailment', d: 'Reimbursement of non-refundable travel costs for covered cancellation reasons.' }, { t: 'Baggage loss & delay', d: 'Compensation for lost, stolen or delayed checked-in baggage.' }, { t: 'Flight delay & missed connection', d: 'Daily allowance for delays over 6 hours; rebooking costs for missed connections.' }, { t: 'Personal accident', d: 'Accidental death and permanent disability cover throughout the trip.' }, ]; const notCovered = [ 'Pre-existing conditions (unless declared & accepted)', 'Travel to FCDO-advised countries without endorsement', 'Self-inflicted injury or substance-related incidents', 'Losses not reported to local authorities within 24 hours', ]; const plans = [ { name: 'Basic', price: '2,800', highlights: ['Emergency medical up to $30,000', 'Baggage loss up to $500', 'Flight delay cover', 'Personal accident'], color: 'var(--ink-200)' }, { name: 'Standard', price: '5,500', highlights: ['Emergency medical up to $100,000', 'Trip cancellation cover', 'Baggage loss up to $1,500', 'Medical evacuation'], featured: true, color: 'var(--blue-600)' }, { name: 'Gold', price: '9,200', highlights: ['Emergency medical up to $500,000', 'Cancel for any reason (50%)', 'Baggage loss up to $3,000', 'Concierge & legal assist'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.Zap, t: 'Adventure sports cover', p: '+1,800/yr', d: 'Extends cover for skiing, scuba diving, trekking and other adventure activities.' }, { i: I.Car, t: 'Rental car excess waiver', p: '+900/yr', d: 'Covers the excess charged by rental companies in case of damage or theft.' }, { i: I.Anchor, t: 'Cruise cover', p: '+1,500/yr', d: 'Missed port departure, cabin confinement and itinerary change protection.' }, { i: I.Globe, t: 'Annual multi-trip plan', p: '+12,000/yr', d: 'Cover unlimited trips up to 30 days each — ideal for frequent travellers.' }, ]; const docs = [ 'Policy wording — Travel Insurance', 'Claim form — Travel', 'Schedule of benefits (all plans)', 'Emergency contact card', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Health ──────────────────────────────────────────────── */ function Health({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Inpatient hospitalisation', d: 'Room, board, nursing, surgery and all in-hospital treatment costs.' }, { t: 'Surgical procedures', d: 'All elective and emergency surgeries by a qualified surgeon at a panel hospital.' }, { t: 'Maternity cover', d: 'Normal and Caesarean delivery costs, including pre- and post-natal care.' }, { t: 'Outpatient (OPD)', d: 'GP visits, specialist consultations, diagnostics and pharmacy under OPD plans.' }, { t: 'Cashless treatment', d: 'Direct billing at 450+ panel hospitals nationwide — no out-of-pocket at admission.' }, { t: 'Emergency ambulance', d: 'Ground ambulance charges for emergency transport to a panel hospital.' }, ]; const notCovered = [ 'Cosmetic or aesthetic procedures', 'Pre-existing conditions (12-month waiting period)', 'Self-inflicted injury or substance abuse treatment', 'Experimental or unregistered treatments', ]; const plans = [ { name: 'Silver', price: '35,000', highlights: ['Inpatient cover up to PKR 1M', 'Surgical cover included', '450+ cashless hospitals', 'Emergency ambulance'], color: 'var(--ink-200)' }, { name: 'Gold', price: '65,000', highlights: ['Inpatient cover up to PKR 3M', 'Maternity cover (PKR 150K)', 'OPD up to PKR 50K', 'Dental emergencies'], featured: true, color: 'var(--blue-600)' }, { name: 'Platinum', price: '1,20,000', highlights: ['Inpatient cover up to PKR 7M', 'Maternity (PKR 300K)', 'Full OPD & dental', 'International emergency cover'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.Heart, t: 'Critical illness rider', p: '+8,000/yr', d: 'Lump-sum payment on diagnosis of cancer, heart attack or stroke.' }, { i: I.Eye, t: 'Vision care', p: '+3,500/yr', d: 'Spectacles, contact lenses and annual eye examination costs.' }, { i: I.ShieldCheck, t: 'Dental care', p: '+4,200/yr', d: 'Fillings, extractions, root canals and annual check-up at panel clinics.' }, { i: I.Users, t: 'Family floater add-on', p: '+25,000/yr', d: 'Extend cover to spouse and up to 3 dependent children on one policy.' }, ]; const docs = [ 'Policy wording — Health Insurance', 'Panel hospital list (PDF)', 'Claim form — Health', 'Pre-authorisation form', 'OPD reimbursement form', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Marine ──────────────────────────────────────────────── */ function Marine({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Import & export cargo', d: 'All-risk cover for goods in transit by sea, air or land (Institute Cargo Clauses A).' }, { t: 'Inland transit', d: 'Goods in transit by road or rail within Pakistan, including loading and unloading.' }, { t: 'General average', d: 'Proportional contribution to extraordinary expenses incurred for the common safety of the voyage.' }, { t: 'Natural perils', d: 'Loss or damage caused by storms, flooding, stranding, sinking or capsizing.' }, { t: 'Theft & pilferage', d: 'Loss of cargo due to theft, pilferage or non-delivery at destination.' }, { t: 'War & strikes (marine)', d: 'Available as a separate endorsement under Institute War Clauses.' }, ]; const notCovered = [ 'Inherent vice or nature of goods', 'Improper packaging by the shipper', 'Delay, loss of market or consequential loss', 'Wilful misconduct of the insured', ]; const plans = [ { name: 'ICC "C" — Basic', price: 'On enquiry', highlights: ['Major casualties only', 'Stranding, sinking, fire', 'General average', 'Best for bulk commodities'], color: 'var(--ink-200)' }, { name: 'ICC "B" — Standard', price: 'On enquiry', highlights: ['All ICC C perils', 'Earthquake & volcanic eruption', 'Washing overboard', 'Entry of sea water'], featured: true, color: 'var(--blue-600)' }, { name: 'ICC "A" — All Risk', price: 'On enquiry', highlights: ['All risks of loss or damage', 'Theft & pilferage', 'War & strikes (optional)', 'Refrigerated cargo available'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.ShieldCheck, t: 'War & strikes cover', p: 'Rate on line', d: 'Extends cover under Institute War Clauses and Strikes Clauses (Cargo).' }, { i: I.Sparkles, t: 'Refrigerated cargo', p: 'Rate on value', d: 'Temperature excursion monitoring and spoilage cover for perishable goods.' }, { i: I.Building, t: 'Storage extension', p: '+As agreed', d: 'Extends cover during storage at intermediate warehouses for up to 60 days.' }, { i: I.Anchor, t: 'Hull & machinery', p: 'Rate on hull value', d: 'Cover for vessels, barges and watercraft against marine perils and collision.' }, ]; const docs = [ 'Policy wording — Marine Cargo (ICC A)', 'Policy wording — Marine Cargo (ICC B & C)', 'Claim form — Marine', 'Open cover declaration form', 'Surveyor panel list (ports)', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Fire & Allied Perils ────────────────────────────────── */ function Fire({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Fire & lightning', d: 'Direct loss or damage caused by fire, lightning or thunderbolt.' }, { t: 'Explosion', d: 'Explosion of boilers, gas cylinders or other pressure vessels (non-industrial boilers).' }, { t: 'Riot, strike & malicious damage', d: 'Physical loss or damage caused by rioters, strikers or malicious persons.' }, { t: 'Flood, storm & inundation', d: 'Damage caused by rising water, storm, tempest or overflowing of water bodies.' }, { t: 'Earthquake & volcanic eruption', d: 'Structural damage and contents loss caused by seismic or volcanic events.' }, { t: 'Impact damage', d: 'Damage caused by impact from vehicles, aircraft or falling trees.' }, ]; const notCovered = [ 'Spontaneous heating, fermentation or self-ignition of goods', 'Damage caused by war or nuclear risk', 'Consequential loss / loss of profit (separate BI policy needed)', 'Gradual deterioration or inherent defect', ]; const plans = [ { name: 'Standard Fire', price: 'On enquiry', highlights: ['Fire & lightning', 'Explosion cover', 'Third-party liability', 'Debris removal costs'], color: 'var(--ink-200)' }, { name: 'Fire + Allied Perils', price: 'On enquiry', highlights: ['All Standard Fire perils', 'RSMD cover', 'Flood & storm', 'Earthquake & eruption'], featured: true, color: 'var(--blue-600)' }, { name: 'Industrial All Risk', price: 'On enquiry', highlights: ['All Allied Perils cover', 'Machinery breakdown', 'Business interruption option', 'Tailored for large plants'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.TrendingUp, t: 'Business interruption / Loss of profit', p: 'Rate on gross profit', d: 'Covers ongoing fixed costs and lost profit during the indemnity period following a fire loss.' }, { i: I.Wrench, t: 'Machinery breakdown', p: 'Rate on plant value', d: 'Sudden and unforeseen mechanical or electrical breakdown of insured machinery.' }, { i: I.Zap, t: 'Boiler & pressure vessel', p: 'Rate on vessel value', d: 'Explosion of boilers, economisers and pressure vessels used in industrial processes.' }, { i: I.Building, t: 'Advance loss of profit (ALOP)', p: 'On enquiry', d: 'Delays in commencement of operations at a new project due to an insured peril.' }, ]; const docs = [ 'Policy wording — Fire & Allied Perils', 'Business interruption — policy wording', 'Claim form — Fire & Property', 'Risk inspection checklist', 'Approved fire-safety standards guide', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Engineering ─────────────────────────────────────────── */ function Engineering({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: "Contractor's All Risk (CAR)", d: 'Loss or damage to contract works, plant & equipment, and third-party liability during construction.' }, { t: 'Erection All Risk (EAR)', d: 'All-risk cover during erection, testing and commissioning of mechanical and electrical plant.' }, { t: 'Machinery Breakdown (MB)', d: 'Sudden and unforeseen mechanical or electrical breakdown of installed machinery.' }, { t: 'Electronic Equipment Insurance', d: 'Loss, damage or breakdown of computers, medical equipment and electronic systems.' }, { t: 'Boiler & Pressure Vessel', d: 'Explosion and collapse of boilers, steam vessels and pressure equipment.' }, { t: 'Deterioration of Stock (DOS)', d: 'Loss of stock in cold storage following breakdown of refrigeration plant.' }, ]; const notCovered = [ 'Faulty design (professional indemnity covers this separately)', 'Wear & tear, gradual deterioration', 'War, nuclear or radioactive contamination', 'Loss of use / consequential loss (unless BI extension added)', ]; const plans = [ { name: 'CAR / EAR', price: 'On enquiry', highlights: ['Contract works cover', 'Construction plant & equipment', 'Third-party liability', 'Testing period included'], color: 'var(--ink-200)' }, { name: 'Machinery Breakdown', price: 'On enquiry', highlights: ['All installed machinery', 'Electrical & mechanical failure', 'OT & emergency repair costs', 'Expediting expenses'], featured: true, color: 'var(--blue-600)' }, { name: 'Engineering All Lines', price: 'On enquiry', highlights: ['CAR / EAR combined', 'Machinery breakdown', 'Electronic equipment', 'BI / advanced loss of profit'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.TrendingUp, t: 'Advanced Loss of Profit (ALOP)', p: 'On enquiry', d: 'Delay in project revenue caused by an insured loss during construction or erection.' }, { i: I.Sparkles, t: 'Extended Maintenance Period', p: 'On enquiry', d: 'Continues cover during the maintenance period after project completion and hand-over.' }, { i: I.Users, t: "Employer's liability extension", p: 'On enquiry', d: 'Covers legal liability to employees injured during the construction or erection period.' }, { i: I.Globe, t: 'Cross-border project cover', p: 'On enquiry', d: 'Extends CAR / EAR policy to cover materials and equipment temporarily moved abroad.' }, ]; const docs = [ 'Policy wording — CAR Insurance', 'Policy wording — EAR Insurance', 'Policy wording — Machinery Breakdown', 'Policy wording — Electronic Equipment', 'Claim form — Engineering', 'Risk inspection questionnaire', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Liability ───────────────────────────────────────────── */ function Liability({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Public liability', d: 'Legal liability for bodily injury or property damage caused to third parties by your business operations.' }, { t: 'Product liability', d: 'Claims arising from personal injury or property damage caused by products you manufacture or supply.' }, { t: 'Professional indemnity', d: 'Legal defence costs and damages arising from errors, omissions or negligent professional advice.' }, { t: "Employer's liability / Workmen's Comp", d: 'Statutory and common law liability to employees injured or killed during the course of employment.' }, { t: 'Directors & Officers (D&O)', d: 'Personal liability of directors and officers for wrongful acts in managing the company.' }, { t: 'Cyber liability', d: 'First- and third-party losses arising from data breaches, ransomware and cyber incidents.' }, ]; const notCovered = [ 'Criminal fines, penalties or punitive damages', 'Intentional or fraudulent acts of the insured', 'Contractual liability (unless specifically endorsed)', 'War, terrorism or nuclear contamination', ]; const plans = [ { name: 'Public Liability', price: 'On enquiry', highlights: ['Third-party BI & PD cover', 'Legal defence costs included', 'On-site & off-site activities', 'Suitable for SMEs'], color: 'var(--ink-200)' }, { name: 'Professional Indemnity', price: 'On enquiry', highlights: ['Errors & omissions cover', 'Legal defence costs', 'Worldwide jurisdiction (optional)', 'Run-off cover available'], featured: true, color: 'var(--blue-600)' }, { name: 'Corporate Liability Suite', price: 'On enquiry', highlights: ['D&O + EPL combined', 'Product & public liability', 'Cyber liability included', 'Tailored for corporates'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.Globe, t: 'Worldwide jurisdiction endorsement', p: 'On enquiry', d: 'Extends PI or PL cover to include claims filed in USA / Canada jurisdictions.' }, { i: I.ShieldCheck, t: 'Cyber liability extension', p: 'On enquiry', d: 'Data breach response, ransomware, business interruption and third-party cyber claims.' }, { i: I.Users, t: 'Employment practices liability (EPL)', p: 'On enquiry', d: 'Claims by employees for wrongful dismissal, harassment or discrimination.' }, { i: I.FileText, t: 'Legal expenses insurance', p: 'On enquiry', d: 'Covers legal costs for commercial contract disputes, not just liability claims.' }, ]; const docs = [ 'Policy wording — Public Liability', 'Policy wording — Professional Indemnity', 'Policy wording — Directors & Officers', 'Claim form — Liability', 'Proposal form — PI / D&O', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Crop ────────────────────────────────────────────────── */ function Crop({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Drought & rainfall deficit', d: 'Triggered when cumulative rainfall falls below a pre-agreed index threshold during the crop season.' }, { t: 'Flood & excess rainfall', d: 'Loss triggered by excess rainfall causing waterlogging or crop submergence beyond the index trigger.' }, { t: 'Pest & disease outbreak', d: 'Yield shortfall linked to verified pest or disease outbreaks under Multi-Peril Crop Insurance (MPCI).' }, { t: 'Temperature extremes (frost / heat)', d: 'Weather-index trigger for temperature excursions damaging crops at critical growth stages.' }, { t: 'Hailstorm damage', d: 'Named-peril cover for direct physical crop damage from hailstorms.' }, { t: 'Area yield index cover', d: 'Payout triggered when area-level average yield falls below the guaranteed threshold.' }, ]; const notCovered = [ 'Losses due to farmer negligence or poor agronomic practice', 'Theft or pilferage of harvested produce', 'Equipment or irrigation system breakdown', 'Price risk or commodity market losses', ]; const plans = [ { name: 'Weather Index', price: 'On enquiry', highlights: ['Objective weather triggers', 'Fast parametric payouts', 'Drought & excess rain', 'Transparent index design'], color: 'var(--ink-200)' }, { name: 'Area Yield Index', price: 'On enquiry', highlights: ['Yield-based trigger', 'Covers multiple perils', 'Based on official crop-cut data', 'Wheat, cotton, sugarcane & rice'], featured: true, color: 'var(--blue-600)' }, { name: 'MPCI (Multi-Peril)', price: 'On enquiry', highlights: ['Broadest crop protection', 'All major perils covered', 'Yield shortfall compensation', 'Suitable for large farms & banks'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.Sparkles, t: 'Livestock cover', p: 'On enquiry', d: 'Mortality and accident cover for cattle, poultry and other farm animals.' }, { i: I.Building, t: 'Farm structure cover', p: 'On enquiry', d: 'Physical damage to farm buildings, grain stores and irrigation infrastructure.' }, { i: I.TrendingUp, t: 'Input cost cover', p: 'On enquiry', d: 'Protects fertiliser, seed and pesticide investment if the crop fails before harvest.' }, { i: I.Globe, t: 'Export crop endorsement', p: 'On enquiry', d: 'Extended cover for quality deterioration affecting export-grade produce.' }, ]; const docs = [ 'Policy wording — Weather Index Crop Insurance', 'Policy wording — MPCI', 'Area yield guarantee tables (by district)', 'Claim form — Crop', 'Index trigger methodology note', 'Customer service charter', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } /* ─── Corporate / Group ───────────────────────────────────── */ function Corporate({ navigate }) { const [tab, setTab] = React.useState('coverage'); const covered = [ { t: 'Group health insurance', d: 'Cashless inpatient, OPD, maternity and dental cover for your entire workforce and their families.' }, { t: 'Group personal accident', d: 'Accidental death and permanent total / partial disability for all enrolled employees.' }, { t: 'Key man insurance', d: 'Life and disability cover for key executives whose loss would materially impact the business.' }, { t: 'Corporate fleet motor', d: 'Comprehensive cover for company vehicles with priority repair at 180+ approved workshops.' }, { t: 'Marine cargo (open cover)', d: 'Automatic open cover for all import / export shipments declared throughout the policy year.' }, { t: 'Trade credit insurance', d: 'Protection against non-payment by buyers due to insolvency or protracted default.' }, ]; const notCovered = [ 'Individual health claims for employees excluded from group roster', 'Consequential losses not covered under the specific sub-policy', 'Director loans or inter-company transactions under trade credit', 'Personal use of company vehicles (unless specifically endorsed)', ]; const plans = [ { name: 'SME Package', price: 'On enquiry', highlights: ['5–50 employees', 'Group health + GPA', 'Fleet motor cover', 'Dedicated relationship manager'], color: 'var(--ink-200)' }, { name: 'Business', price: 'On enquiry', highlights: ['51–200 employees', 'All SME covers', 'Marine open cover', 'Directors & Officers', 'Quarterly claims report'], featured: true, color: 'var(--blue-600)' }, { name: 'Enterprise', price: 'On enquiry', highlights: ['200+ employees', 'All Business covers', 'Key man insurance', 'Trade credit', 'Bespoke underwriting'], color: 'var(--navy-800)' }, ]; const addons = [ { i: I.Heart, t: 'Group life (via IGI Life)', p: 'On enquiry', d: 'Term life cover for all employees with sum assured linked to salary multiples.' }, { i: I.Globe, t: 'Group travel', p: 'On enquiry', d: 'Annual multi-trip travel policy covering all employee business travel worldwide.' }, { i: I.ShieldCheck, t: 'Cyber liability', p: 'On enquiry', d: 'Data breach, ransomware and business interruption cover for corporate digital risks.' }, { i: I.Users, t: 'Directors & Officers (D&O)', p: 'On enquiry', d: 'Personal liability protection for board members against wrongful acts in their managerial roles.' }, ]; const docs = [ 'Group health — master policy wording', 'Group personal accident — policy wording', 'Corporate fleet — fleet schedule template', 'Trade credit — proposal form', 'Claim form — Group health', 'Employee enrolment form template', ]; return ( <> {tab === 'coverage' && } {tab === 'plans' && } {tab === 'addons' && } {tab === 'claims' && } {tab === 'docs' && } ); } Object.assign(window, { HomeProp, Travel, Health, Marine, Fire, Engineering, Liability, Crop, Corporate });