// Home.jsx — photographic homepage: HeroPhoto, BenefitBar, Partners, ServicesGrid, Process // ---- Hero (full-bleed photo) ---------------------------------------- function HeroPhoto() { return (
{/* base grid texture (fallback) */}
{/* hero photograph */}
{/* legibility scrim — left dark → right clear */}
GIBRALTAR · BUSINESS SECURITY

Smart security.
Real protection.
Total peace of mind.

Fortify delivers reliable, proactive security for businesses across Gibraltar — CCTV, access control and monitoring, designed and maintained by one local team.

Get a quote
); } function VideoModal({ onClose }) { React.useEffect(() => { const onKey = e => e.key === 'Escape' && onClose(); window.addEventListener('keydown', onKey); return () => window.removeEventListener('keydown', onKey); }, []); return (
e.stopPropagation()} style={{ position: 'relative', width: 'min(960px,100%)', aspectRatio: '16 / 9', borderRadius: 16, overflow: 'hidden', border: '1px solid rgba(255,255,255,.12)', boxShadow: '0 40px 80px rgba(0,0,0,.5)' }}>
); } // ---- Benefit bar ----------------------------------------------------- function BenefitBar() { const items = [ { icon: 'shield-alert', title: 'Deter crime', body: 'Visible security that discourages threats.' }, { icon: 'radar', title: 'Detect early', body: 'Advanced systems that identify risks.' }, { icon: 'package', title: 'Protect assets', body: 'Safeguarding what matters most.' }, { icon: 'shield-check', title: 'Prevent issues', body: 'Proactive cover before things happen.' }, { icon: 'headset', title: '24/7 support', body: 'Round-the-clock peace of mind.' } ]; return (
{items.map((it, i) => (
{it.title}
{it.body}
))}
); } // ---- Partners -------------------------------------------------------- function Partners() { const partners = [ { name: 'Hikvision', src: 'assets/partner-hikvision.png' }, { name: 'Axis', src: 'assets/partner-axis.png' }, { name: 'HID', src: 'assets/partner-hid.png' }, { name: 'Honeywell', src: 'assets/partner-honeywell.png' }, { name: 'Paxton', src: 'assets/partner-paxton.png' } ]; return (
Partnered with the brands you trust
{partners.map(p => ( {p.name} ))}
); } // ---- Services grid (photo cards) ------------------------------------ const FY_SERVICES = [ { id: 'cctv', icon: 'cctv', title: 'CCTV Systems', body: 'HD & 4K surveillance designed around your premises, with secure remote viewing on any device.', src: 'assets/hero-cctv-gibraltar.png' }, { id: 'access', icon: 'key-round', title: 'Access Control', body: 'Control who enters, when and where — with HID, Paxton and Honeywell entry systems.', src: 'assets/access-control.png' }, { id: 'monitor', icon: 'monitor', title: '24/7 Monitoring', body: 'Round-the-clock visibility with real-time alerts and recorded footage you can retrieve anytime.', src: 'assets/monitoring.png' }, { id: 'assess', icon: 'shield-check', title: 'Security Assessments', body: 'A thorough audit of your premises with clear, prioritised recommendations you can act on.', src: 'assets/security-assessments.png' }, { id: 'intruder', icon: 'bell-ring', title: 'Intruder Alarms', body: 'Advanced intrusion detection that protects your premises and alerts you the moment it matters.', src: 'assets/intruder-alarms.png' }, { id: 'fire', icon: 'flame', title: 'Fire Systems', body: 'Fire alarms, extinguishers and emergency lighting — installed, tested and maintained to keep your premises compliant and safe.', src: 'assets/fire-systems.png' }, { id: 'integrate', icon: 'smartphone', title: 'Smart Integration', body: 'Cameras, doors and alarms in one app — manage and control your security from anywhere.', src: 'assets/smart-integration.png' } ]; function PhotoServiceCard({ id, icon, title, body, src }) { const [hov, setHov] = React.useState(false); return ( setHov(true)} onMouseLeave={() => setHov(false)} style={{ display: 'flex', flexDirection: 'column', background: 'var(--surface)', border: '1px solid var(--border)', borderRadius: 16, overflow: 'hidden', height: '100%', boxShadow: hov ? 'var(--shadow-md)' : 'var(--shadow-xs)', transform: hov ? 'translateY(-3px)' : 'none', transition: 'box-shadow .25s var(--ease), transform .25s var(--ease)' }}>

{title}

{body}

Learn more
); } function ServicesGrid() { return (
OUR SERVICES

Complete security solutions.

From advanced CCTV to access control and 24/7 monitoring, we tailor solutions to protect what matters most to your business.

{FY_SERVICES.map(s => )}
); } // ---- Process / How it works ----------------------------------------- function Process() { const steps = [ { n: '01', icon: 'clipboard-check', title: 'Site assessment', body: 'We visit your premises, understand the risks and map every entry point, blind spot and asset worth protecting.' }, { n: '02', icon: 'pen-tool', title: 'Tailored design', body: 'You get a clear, itemised proposal — the right cameras and access hardware for your site, with no upsell.' }, { n: '03', icon: 'wrench', title: 'Professional install', body: 'Our engineers fit and commission everything cleanly, then walk you through using it with confidence.' }, { n: '04', icon: 'radio-tower', title: 'Monitor & maintain', body: 'Remote monitoring, alerts and scheduled maintenance keep your system reliable for years, not months.' } ]; return (
HOW IT WORKS

A clear path from risk to protected.

No jargon, no surprises. Four straightforward steps — and one team accountable for all of them.

{steps.map(s => (
{s.n}

{s.title}

{s.body}

))}
); } Object.assign(window, { HeroPhoto, VideoModal, BenefitBar, Partners, ServicesGrid, PhotoServiceCard, FY_SERVICES, Process });