// Residential page const { motion: motionR } = Motion; const EASE_R = [0.22, 1, 0.36, 1]; const RESIDENTIAL = [ { id: 'maurya-greens', name: 'Maurya Greens', tag: 'Luxury Township', one: 'A measured luxury — courtyards, light, and low horizons.', blurb: 'Gated luxury township on Pakhowal Road, Ludhiana. 32 acres, 200–500 sq.yd. plots, 52% open space, PUDA/GLADA approved.', variant: 2, img: '/images/maurya-greens.jpg', }, { id: 'palm-garden', name: 'Palm Garden', tag: 'Mega Township', one: 'A self-contained township shaped around shaded walks and quiet greens.', blurb: '110-acre mega township on GT Road, Sahnewal — home to 500+ families. 1,000+ residential plots, villas, D-Mart, and immediate possession.', variant: 4, img: '/images/palm-garden-03.jpg', }, { id: 'palm-city-2', name: 'Palm City', tag: 'Township', one: 'A PUDA-approved township where community and convenience meet on Chandigarh Road.', blurb: '46.09 acres in Village Kohara, Chandigarh Road, Ludhiana. Affordable plots, ample greens, essential amenities — bank loans available.', variant: 1, img: '/images/palm-city-1.jpg', }, { id: 'palm-enclave', name: 'Palm Enclave', tag: 'Residential Colony', one: 'A Punjab Government-approved colony — quiet streets, green belts, secure living.', blurb: '9.98-acre colony on Sidhwan Canal Road, Sangowal. Well-planned plots with lush green belts and a guarded, serene environment.', variant: 2, img: '/images/palm-enclave-1.jpg', }, { id: 'palm-city-ph-ii', name: 'Palm City Ph II', tag: 'Residential Township', one: 'A 45-acre gated residential township — plots, villas, and community living.', blurb: 'PUDA & RERA approved. 150–400 sq.yd. plots, independent villas, and group housing on Sidhwan Canal Road.', variant: 3, img: '/images/palm-city-ph-ii.jpg', }, ]; const ResidentialHero = ({ setPage }) => (
Portfolio · Residential

A slower
kind of skyline.

); const ResidentialList = ({ setPage }) => (
{RESIDENTIAL.map((p, i) => { const open = () => { if (setPage) { setPage(p.id); window.scrollTo(0,0); } }; const fromX = i % 2 === 0 ? -44 : 44; return ( *:first-child]:order-2' : ''}`} initial={{ opacity: 0, y: 50 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true, amount: 0.12 }} transition={{ duration: 0.72, delay: i * 0.08, ease: EASE_R }} >
{p.tag}

{p.name}

{p.one}

{p.blurb}

Walkable greens Multi-typology
); })}
); function ResidentialPage({ setPage }) { useReveal(); return (
); } window.ResidentialPage = ResidentialPage;