/* ============================================================
PRAVI — SHARED CHROME (Nav · Footer · CTA · marks · Polaroid)
Extracted from the Home page so About / Services / future pages
share one identical source of truth. Direction: BROADSHEET.
============================================================ */
const { useState: useStateK, useEffect: useEffectK, useRef: useRefK } = React;
const P = window.PRAVI;
const SECTORS = [
{ slug: 'business', title: 'Business', description: 'Strategic support tailored for organizations of all scales, from emerging startups to established enterprises.' },
{ slug: 'government', title: 'Government & Public Sector', description: 'We support central and state governments in shaping evidence-based policies, strengthening institutional capacity, and driving high-impact development programs.' },
{ slug: 'development', title: 'Development Sector', description: 'Partnering with NGOs and global foundations to amplify impact, optimize delivery, and drive measurable outcomes.' },
];
/* ---- The distilled >P chevron mark ---- */
function ChevronMark({ size = 16, color = "var(--pravi-orange)", style = {} }) {
return (
);
}
function ChevronTrails() {
return (
);
}
/* ===================================================================
REVEAL — IntersectionObserver, same behaviour as Home
=================================================================== */
function useRevealObserver(stageRef) {
useEffectK(() => {
if (!stageRef.current) return;
const els = stageRef.current.querySelectorAll('.reveal, .reveal-l, .reveal-r');
const io = new IntersectionObserver((entries) => {
entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('in'); });
}, { threshold: 0.12, rootMargin: "0px 0px -60px 0px" });
els.forEach(el => {
const r = el.getBoundingClientRect();
if (r.top < window.innerHeight * 0.95) el.classList.add('in');
io.observe(el);
});
const safety = setTimeout(() => els.forEach(el => {
el.classList.add('in'); el.style.transition = 'none'; el.style.opacity = '1'; el.style.transform = 'none';
}), 1100);
return () => { io.disconnect(); clearTimeout(safety); };
}, []);
}
function useHashScroll() {
useEffectK(() => {
const handleHash = () => {
const hash = window.location.hash;
if (hash && hash !== '#top') {
const id = decodeURIComponent(hash.slice(1));
let count = 0;
const checkAndScroll = () => {
const element = document.getElementById(id);
if (element) {
element.scrollIntoView({ behavior: 'smooth', block: 'start' });
} else if (count < 15) {
count++;
setTimeout(checkAndScroll, 100);
}
};
checkAndScroll();
}
};
handleHash();
window.addEventListener('hashchange', handleHash);
return () => window.removeEventListener('hashchange', handleHash);
}, []);
}
const PRAVI_CAT_FILE = {
'strategy-advisory': 'strategy-and-advisory.html',
'execution-delivery': 'execution-and-delivery.html',
'insight-intelligence': 'insight-and-intelligence.html',
'digital-systems': 'digital-and-systems.html',
};
/* ===================================================================
LINKEDIN POST CARDS — custom card UI (no iframes)
=================================================================== */
const LINKEDIN_POSTS = [
{
text: "India's infrastructure development is evolving from building roads to creating integrated connectivity systems. The Ganga Expressway — a 594 km corridor from Meerut to Prayagraj — represents more than just improved mobility. It reflects a broader shift towards developing connected infrastructure ecosystems.",
docTitle: "Dashboard to War Rooms: How Infra Projects Scale",
docSub: "Infrastructure · Pravi Research",
bg: "linear-gradient(135deg, #0f2d6b 0%, #1a4fb9 100%)",
postUrl: "https://www.linkedin.com/posts/pravi-research_ganga-expressway-activity-7458153193127108609-c1Ew",
reactions: 412,
},
{
text: "As India's cities expand, fragmented transport systems and vehicle-centric planning are driving congestion, inequality, and rising emissions. Rethinking urban mobility with integrated solutions is no longer optional — it's essential. From seamless connectivity to climate-first design.",
docTitle: "Integrated Multimodal Transport Systems for Urban India",
docSub: "Urban Mobility · Pravi Research",
bg: "linear-gradient(135deg, #0d3b2e 0%, #1b6b5a 100%)",
postUrl: "https://www.linkedin.com/company/pravi-research",
reactions: 286,
},
{
text: "India's Open Government Data: Democratising Access, Accelerating Insight. As the world pivots to data-led decision making, India has taken a bold step — making vast repositories of government data open and accessible. It is a catalyst for innovation, accountability, and evidence-based governance.",
docTitle: "India's Open Government Data Platform",
docSub: "Governance & Data · Pravi Research",
bg: "linear-gradient(135deg, #7a1a08 0%, #c04a1a 100%)",
postUrl: "https://www.linkedin.com/posts/pravi-research_indias-open-government-data-platform-activity-7335587985469427713-eSQe",
reactions: 318,
},
{
text: "Urban heat islands are intensifying across India's dense cities. Thoughtful urban design — tree canopy strategies, reflective surfaces, wind corridors — can meaningfully reduce temperatures in the most vulnerable neighbourhoods. A look at what works and what doesn't.",
docTitle: "Cooling India's Cities: Urban Design for Heat Resilience",
docSub: "Urban Policy · Pravi Research",
bg: "linear-gradient(135deg, #2d1a5e 0%, #5a2d9e 100%)",
postUrl: "https://www.linkedin.com/company/pravi-research",
reactions: 240,
},
{
text: "The government's consideration of allowing joint ventures with Chinese companies marks a significant policy inflection point. The implications span national security, technology transfer, and India's strategic positioning in global value chains — and deserve careful, evidence-based scrutiny.",
docTitle: "Implications of Allowing JVs with Chinese Companies",
docSub: "Policy & Trade · Pravi Research",
bg: "linear-gradient(135deg, #1e3a5f 0%, #1a6ba0 100%)",
postUrl: "https://www.linkedin.com/company/pravi-research",
reactions: 540,
},
{
text: "The Panchayati Advancement Index offers a rare glimpse into rural governance metrics. What does it actually measure, and what does it miss? Our analysis unpacks the methodology and its implications for bottom-up governance reform across India's 2.5 lakh gram panchayats.",
docTitle: "Panchayati Advancement Index: Lessons on Rural Metrics",
docSub: "Rural Governance · Pravi Research",
bg: "linear-gradient(135deg, #0d3d1e 0%, #1a6b3a 100%)",
postUrl: "https://www.linkedin.com/company/pravi-research",
reactions: 195,
},
];
function LinkedInCard({ post }) {
const [expanded, setExpanded] = React.useState(false);
const SHORT = 155;
const isLong = post.text.length > SHORT;
const shown = expanded || !isLong ? post.text : post.text.slice(0, SHORT);
return (