diff --git a/client/src/App.jsx b/client/src/App.jsx
index d91590d..40987d0 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -9,7 +9,6 @@ import Contact from './pages/Contact'
import RemoteSensing from './pages/RemoteSensing'
import Communications from './pages/Communications'
import Trainings from './pages/Trainings'
-import ProjectManagement from './pages/ProjectManagement'
const THEME_COOKIE = 'graphyma-theme'
@@ -93,7 +92,6 @@ function AnimatedRoutes() {
} />
} />
} />
- } />
)
diff --git a/client/src/assets/services/communications-dark.png b/client/src/assets/services/communications-dark.png
index f2540c7..1d79b46 100644
Binary files a/client/src/assets/services/communications-dark.png and b/client/src/assets/services/communications-dark.png differ
diff --git a/client/src/assets/services/communications-light.png b/client/src/assets/services/communications-light.png
index af2e3a3..4c43bd3 100644
Binary files a/client/src/assets/services/communications-light.png and b/client/src/assets/services/communications-light.png differ
diff --git a/client/src/assets/services/index.js b/client/src/assets/services/index.js
index b29f722..f129d42 100644
--- a/client/src/assets/services/index.js
+++ b/client/src/assets/services/index.js
@@ -4,8 +4,6 @@ import communicationsImgLight from './communications-light.png'
import communicationsImgDark from './communications-dark.png'
import trainingsImgLight from './trainings-light.png'
import trainingsImgDark from './trainings-dark.png'
-import projectManagementImgLight from './project-management-light.png'
-import projectManagementImgDark from './project-management-dark.png'
export {
remoteSensingImgLight,
@@ -14,6 +12,4 @@ export {
communicationsImgDark,
trainingsImgLight,
trainingsImgDark,
- projectManagementImgLight,
- projectManagementImgDark,
}
\ No newline at end of file
diff --git a/client/src/assets/services/project-management-dark.png b/client/src/assets/services/project-management-dark.png
deleted file mode 100644
index 1d79b46..0000000
Binary files a/client/src/assets/services/project-management-dark.png and /dev/null differ
diff --git a/client/src/assets/services/project-management-light.png b/client/src/assets/services/project-management-light.png
deleted file mode 100644
index 4c43bd3..0000000
Binary files a/client/src/assets/services/project-management-light.png and /dev/null differ
diff --git a/client/src/pages/Communications.jsx b/client/src/pages/Communications.jsx
index 65f5a4e..f766756 100644
--- a/client/src/pages/Communications.jsx
+++ b/client/src/pages/Communications.jsx
@@ -10,10 +10,30 @@ const page = {
}
const CHANNELS = [
- { title: 'Stakeholder Mapping', detail: 'Prioritize audiences, incentives, and adoption blockers.' },
- { title: 'Narrative Design', detail: 'Translate EO complexity into human-ready stories.' },
- { title: 'Campaign Orchestration', detail: 'Multi-channel delivery and feedback loops.' },
- { title: 'Impact Measurement', detail: 'Usage analytics and adoption KPIs.' },
+ {
+ step: 'Mapping',
+ title: 'Stakeholder Mapping',
+ detail: 'Prioritize audiences, incentives, and adoption blockers to focus effort where it matters most.',
+ duration: 2.8,
+ },
+ {
+ step: 'Narrative',
+ title: 'Narrative Design',
+ detail: 'Translate EO complexity into human-ready stories that resonate with decision-makers.',
+ duration: 3.05,
+ },
+ {
+ step: 'Campaign',
+ title: 'Campaign Orchestration',
+ detail: 'Multi-channel delivery with continuous feedback loops to maximise reach and relevance.',
+ duration: 3.3,
+ },
+ {
+ step: 'Impact',
+ title: 'Impact Measurement',
+ detail: 'Usage analytics and adoption KPIs that prove the value of every communication effort.',
+ duration: 3.55,
+ },
]
export default function Communications() {
@@ -74,7 +94,7 @@ export default function Communications() {
transition={{ duration: 0.65, delay: 0.12 }}
className="comms-hero-copy"
>
- We turn Earth Observation insights into business actions, making the value obvious at every level.
+ We turn Earth Observation insights into business actions, making the value obvious at every level.
{/* Rotating belt around the central node */}
@@ -198,7 +218,7 @@ export default function Communications() {
-
+
to adoption
-
- We design the communication flow as a system: every touchpoint drives momentum, every insight gets turned into accessible value for your users.
-
+
+ {/*
+ We build communication systems that flow — every interaction drives results, and every insight creates real value for our users.
+ */}
+
-
- Programmes delivered
- with precision
-
-
- We guide EO initiatives from concept to completion across public and private stakeholders. Our management approach ensures clarity, governance, and on-time delivery.
-
-
- Plan a Programme
- Delivery Framework
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Delivery System
-
-
- Structured governance
- with momentum
-
-
- Our project management model blends agile execution with public-sector compliance, giving you full visibility while keeping delivery velocity high.
-
-
- {GOVERNANCE.map((item) => (
-
-
-
-
- )
-}
-
diff --git a/client/src/pages/RemoteSensing.jsx b/client/src/pages/RemoteSensing.jsx
index 041e69c..0615ad8 100644
--- a/client/src/pages/RemoteSensing.jsx
+++ b/client/src/pages/RemoteSensing.jsx
@@ -11,26 +11,36 @@ const page = {
const CAPABILITIES = [
{
- title: 'Understand Your Needs',
- detail: 'Aligning Earth Observation solutions with your objectives.',
+ step: 'Acquisition',
+ title: 'Acquisition Strategy',
+ detail: 'Choose the right sensors, providers and datasets for your specific use case and budget.',
+ duration: 2.8,
},
{
+ step: 'Identify',
title: 'Identify the Right EO Data',
- detail: 'Selecting the most suitable satellite data and platforms.',
+ detail: 'Prepare and organise Earth Observation data from the most relevant platforms and archives.',
+ duration: 3.05,
},
{
+ step: 'Analyse',
title: 'Analyse & Interpret',
- detail: 'Transforming satellite data into meaningful insights.',
+ detail: 'Extract meaningful insights using advanced processing techniques and domain expertise.',
+ duration: 3.3,
},
{
+ step: 'Deliver',
title: 'Deliver Actionable Insights',
- detail: 'Clear reports, dashboards, and decision-ready outputs.',
+ detail: 'Verify results, ensure quality and produce decision-ready outputs for your team.',
+ duration: 3.55,
},
{
+ step: 'Support',
title: 'Support & Capacity Building',
- detail: 'Training teams for confident Earth Observation adoption.',
+ detail: 'Train and upskill your team for confident, long-term Earth Observation adoption.',
+ duration: 3.8,
},
-];
+]
function SatelliteGraphic() {
return (
@@ -234,7 +244,7 @@ export default function RemoteSensing() {
-
+
built for clarity
-
- We deliver fast, high-quality insights using a proven process. Most importantly, we adapt our workflow to fit your business decisions, not the other way around.
-
+
+ {/*
+ We deliver fast, high-quality insights using a proven process — adapted to fit your decisions, not the other way around.
+ */}
+
diff --git a/client/src/pages/Trainings.jsx b/client/src/pages/Trainings.jsx
index e2c6bd2..aeea073 100644
--- a/client/src/pages/Trainings.jsx
+++ b/client/src/pages/Trainings.jsx
@@ -10,10 +10,30 @@ const page = {
}
const MODULES = [
- { title: 'EO Fundamentals', detail: 'Satellite systems, sensors, and data types.' },
- { title: 'GIS Platforms', detail: 'QGIS, ArcGIS, and web-based mapping stacks.' },
- { title: 'Analytics', detail: 'Indices, ML pipelines, and evaluation.' },
- { title: 'Operational Delivery', detail: 'Dashboards, APIs, and deployment workflows.' },
+ {
+ step: 'Fundamentals',
+ title: 'EO Fundamentals',
+ detail: 'Satellite systems, sensors, and data types — the foundation every practitioner needs.',
+ duration: 2.8,
+ },
+ {
+ step: 'GIS',
+ title: 'GIS Platforms',
+ detail: 'QGIS, ArcGIS, and web-based mapping stacks with hands-on lab exercises.',
+ duration: 3.05,
+ },
+ {
+ step: 'Analytics',
+ title: 'Analytics & ML',
+ detail: 'Indices, machine learning pipelines, and rigorous evaluation frameworks.',
+ duration: 3.3,
+ },
+ {
+ step: 'Delivery',
+ title: 'Operational Delivery',
+ detail: 'Dashboards, APIs, and deployment workflows your team can use from day one.',
+ duration: 3.55,
+ },
]
export default function Trainings() {
@@ -176,7 +196,7 @@ export default function Trainings() {
-
+
that scale
-
- Choose standalone modules or build a multi-week programme. Every module includes exercises, datasets, and applied deliverables that your team can use immediately.
-
+
+ {/*
+ Choose standalone modules or build a multi-week programme. Every module includes exercises, datasets, and applied deliverables your team can use immediately.
+ */}
+