diff --git a/src/_data/featureCatalog.yaml b/src/_data/featureCatalog.yaml
index 2b6ebcb08a..d46186d767 100644
--- a/src/_data/featureCatalog.yaml
+++ b/src/_data/featureCatalog.yaml
@@ -954,22 +954,22 @@ sections:
buttons:
cloud:
+ - cta: Request a Quote
+ url: /pricing/request-quote/
+ onclick: "capture('cta-request-quote', {'position': 'secondary'}, {'plan': 'cloud-enterprise'})"
- cta: TRY FOR FREE
url: sign-up-url
- onclick: "capture('cta-join', {'position': 'secondary'}, {'plan': 'cloud-starter'})"
+ onclick: "capture('cta-join', {'position': 'secondary'}, {'plan': 'cloud-pro'})"
- cta: TRY FOR FREE
url: sign-up-url
- onclick: "capture('cta-join', {'position': 'secondary'}, {'plan': 'cloud-pro'})"
+ onclick: "capture('cta-join', {'position': 'secondary'}, {'plan': 'cloud-starter'})"
+ selfHosted:
- cta: Request a Quote
url: /pricing/request-quote/
onclick: "capture('cta-request-quote', {'position': 'secondary'}, {'plan': 'sh-enterprise'})"
- selfHosted:
- - cta: INSTALL NOW
- url: https://flowfuse.com/docs/install/introduction/
- onclick: "capture('cta-install', {'position': 'secondary'}, {'plan': 'sh-starter'})"
- cta: CONTACT US
url: /contact-us
onclick: "capture('cta-contact-us', {'position': 'secondary'}, {'plan': 'sh-team'})"
- - cta: Request a Quote
- url: /pricing/request-quote/
- onclick: "capture('cta-request-quote', {'position': 'secondary'}, {'plan': 'sh-enterprise'})"
+ - cta: INSTALL NOW
+ url: https://flowfuse.com/docs/install/introduction/
+ onclick: "capture('cta-install', {'position': 'secondary'}, {'plan': 'sh-starter'})"
diff --git a/src/_includes/feature_lists/features-table-base.njk b/src/_includes/feature_lists/features-table-base.njk
index 5d36c8e293..d125ebd5eb 100644
--- a/src/_includes/feature_lists/features-table-base.njk
+++ b/src/_includes/feature_lists/features-table-base.njk
@@ -2,16 +2,16 @@
-
+ Enterprise
+ Pro
+
Starter
- Pro
- Enterprise
{% set hostingKey = 'selfHosted' if hosting == 'self-hosted' else 'cloud' %}
- {% set tiers = ['starter', 'pro', 'enterprise'] %}
+ {% set tiers = ['enterprise', 'pro', 'starter'] %}
{% for section in featureCatalog.sections %}
@@ -45,7 +45,7 @@
{% elif cell and cell.value === 'addon' %}
{% include "components/feature-addon.svg" %}
{% elif cell and cell.value === 'contact' %}
- Contact Us
+ Contact Us
{% elif cell and cell.value === 'list' %}
{% for opt in cell.options %}{{ opt }}{% if not loop.last %} {% endif %}{% endfor %}
{% elif cell and cell.value %}
@@ -53,7 +53,7 @@
{% elif cell and cell.tag %}
{% if cell.tagPrefix %}{{ cell.tagPrefix }} {% endif %}{{ cell.tag }}
{% else %}
-
+ —
{% endif %}
{% endfor %}
@@ -75,7 +75,7 @@
{% if button.url == 'sign-up-url' %}
{% set buttonUrl %}{% include "sign-up-url.njk" %}{% endset %}
{% endif %}
- {{ button.cta }}
+ {{ button.cta }}
{% endfor %}
diff --git a/src/css/style.css b/src/css/style.css
index 3073d10f8e..6ba6fba72c 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -1274,6 +1274,7 @@ h4:hover .header-anchor::before {
display: grid;
grid-template-columns: 270px 1fr 1fr 1fr;
align-items: center;
+ column-gap: 0.5rem;
@apply bg-indigo-50/30;
}
@@ -1349,6 +1350,7 @@ h4:hover .header-anchor::before {
.ff-feature-table-section li.ff-feature--column-buttons {
background-color: white;
padding: 0;
+ column-gap: 0.75rem;
}
.ff-feature-table-section li.ff-feature--column-buttons label {
text-align: center;
@@ -1370,7 +1372,7 @@ h4:hover .header-anchor::before {
}
.ff-feature-table-section li:not(.ff-feature--column-header):not(.ff-feature--column-buttons) label {
- border-right: 1px solid theme(colors.indigo.100);
+ border-right: none;
}
.ff-feature-table-section li:not(.ff-feature--column-header):nth-child(even) label {
@@ -1447,6 +1449,32 @@ h4:hover .header-anchor::before {
@apply rounded-bl-lg;
}
+ /* Enterprise column highlight border */
+ .ff-feature-table-section li > :nth-child(2) {
+ border-left: 2px solid theme(colors.indigo.200);
+ border-right: 2px solid theme(colors.indigo.200);
+ }
+
+ /* Column header Enterprise label: top border + rounded top */
+ .ff-feature-table-section li.ff-feature--column-header > :nth-child(2) {
+ border-top: 2px solid theme(colors.indigo.200);
+ border-radius: 12px 12px 0 0;
+ margin: 0;
+ }
+
+ /* Bottom border + rounded corners on last data section */
+ .ff-feature-table > ul:nth-last-child(2) li:last-child > :nth-child(2) {
+ border-bottom: 2px solid theme(colors.indigo.200);
+ border-bottom-left-radius: 12px;
+ border-bottom-right-radius: 12px;
+ }
+
+ /* No highlight on buttons row */
+ .ff-feature-table-section li.ff-feature--column-buttons > :nth-child(2) {
+ border-left: none;
+ border-right: none;
+ }
+
.ff-features-key {
display: flex;
justify-content: center;
@@ -1605,7 +1633,7 @@ h4:hover .header-anchor::before {
flex-shrink: 0;
width: auto;
align-items: center;
- animation: 30s slide infinite linear;
+ animation: 60s slide infinite linear;
}
.social-proof-carousel div img,
diff --git a/src/css/style.page.css b/src/css/style.page.css
index 09da550661..eea6070fb3 100644
--- a/src/css/style.page.css
+++ b/src/css/style.page.css
@@ -164,7 +164,11 @@
flex-direction: column;
@apply max-w-sm;
}
-
+
+ .pricing-tile--enterprise {
+ background: linear-gradient(theme(colors.indigo.200), theme(colors.indigo.100) 40%, rgba(255, 255, 255, 0));
+ }
+
.pricing-tile-background {
position: relative;
width: calc(100% - 4px);
diff --git a/src/handbook/engineering/product/features.njk b/src/handbook/engineering/product/features.njk
index 2e9618f360..fd0ed827bc 100644
--- a/src/handbook/engineering/product/features.njk
+++ b/src/handbook/engineering/product/features.njk
@@ -6,7 +6,7 @@ navTitle: Feature Catalog
Complete reference of all FlowFuse features across Cloud and Self-Hosted deployments. Not all features are shown on the public pricing page — this is the full list.
-{% set tiers = ['starter', 'pro', 'enterprise'] %}
+{% set tiers = ['enterprise', 'pro', 'starter'] %}
{% set solutions = ['mes', 'scada', 'uns', 'edge-connectivity', 'it-ot-middleware', 'data-integration'] %}