/* Lucide icons (ISC-licensed) — copied paths, 24×24, 2px stroke, round caps. Single source for all marketing-page iconography so stroke weight stays consistent. */ function Svg({ size = 24, stroke = 'currentColor', sw = 1.8, children, ...rest }) { return ( {children} ); } const IconFuel = (p) => (); const IconRoute = (p) => (); const IconBus = (p) => (); const IconShield = (p) => (); const IconEuro = (p) => (); const IconLock = (p) => (); const IconUserCheck = (p) => (); const IconGauge = (p) => (); const IconArrowRight = (p) => (); const IconStar = (p) => (); const IconCheck = (p) => (); const IconMenu = (p) => (); const IconPin = (p) => (); const IconClock = (p) => (); const IconLeaf = (p) => (); const IconCalendar = (p) => (); Object.assign(window, { IconFuel, IconRoute, IconBus, IconShield, IconEuro, IconLock, IconUserCheck, IconGauge, IconArrowRight, IconStar, IconCheck, IconMenu, IconPin, IconClock, IconLeaf, IconCalendar, }); /* Shared line-art car — clean outlined crossover used across the whole site. */ if (typeof document !== 'undefined' && !document.getElementById('linecar-kf')) { const s = document.createElement('style'); s.id = 'linecar-kf'; s.textContent = '@keyframes lineWheel{to{transform:rotate(360deg)}}'; document.head.appendChild(s); } function LineCar({ width = 150, moving = false, style }) { const B = 'var(--blue)'; const G = 'rgba(40,159,252,0.08)'; const h = Math.round(width * 116 / 208); const Wheel = ({ cx, cy }) => ( {/* bold tyre + rim ring + 10 spokes + hub (matches reference) */} {Array.from({ length: 10 }).map((_, i) => { const a = (i * 36) * Math.PI / 180; return ( ); })} ); return ( {/* ── chunky rounded hatchback body ── */} {/* greenhouse: two windows + pillar */} {/* beltline + lower crease */} {/* door split */} {/* handles */} {/* headlight + taillight */} {/* wheels */} ); } window.LineCar = LineCar; /* Filled blue van with waving passengers — count = how many passengers show (1–4). 3/4 front view, brand-blue body, friendly flat illustration. */ function CarpoolVan({ width = 240, count = 4, moving = false }) { const NAVY = 'var(--navy-800)'; const BLUE = 'var(--blue)'; const DK = '#0B63B8'; // darker blue shadow side const GLASS = '#CFE6FF'; const h = Math.round(width * 150 / 230); const skin = ['#F1C9A5', '#E8B68C', '#F3D2B3', '#D89B6E']; const hair = ['#2A2A33', '#4A3327', '#1F1F26', '#5C4630']; // passenger slots inside the cabin (x,y of head centre) const seatsXY = [ { x: 78, y: 50 }, // front-left (driver) waving { x: 110, y: 44 }, // back, arm up { x: 138, y: 50 }, // mid { x: 165, y: 52 }, // right ]; const Passenger = ({ x, y, i, wave }) => ( {/* waving arm (only some) */} {wave && ( )} {/* body */} {/* head */} {/* hair */} ); return ( {/* ground line + motion dashes */} {/* white roof glow behind */} {/* ── van body (rounded MPV, 3/4) ── */} {/* lower shadow band */} {/* window band */} {/* window pillars */} {/* passengers (clipped to window region) */} {seatsXY.slice(0, Math.max(1, count)).map((s, i) => ( ))} {/* headlight + accent */} {/* wheels */} {[74, 178].map((cx) => ( {[0,60,120].map(a => { const r = a * Math.PI/180; return ; })} ))} ); } window.CarpoolVan = CarpoolVan;