/* 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 (
{badge}
{title}
{italic}
{desc}
{stats.map(([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.
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.
);
}
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.
);
}
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 });