From c4395eb245b7418265ebf3557da9998364f8263a Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 25 Apr 2026 00:23:54 +0200 Subject: [PATCH] feat(design): card motion + Pricing MID tier hierarchy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DualValueProps: 110ms staggered rise-in on load (cubic-bezier ease), reduced-motion users see cards pre-populated, no animation. - All card sections (DualValueProps, HowItWorks, WhyUs, Pricing) gain a subtle hover lift: -translate-y-0.5, amber/40 border, soft amber drop shadow. 200ms ease-out — tactile but not noisy. - Pricing MID tier now looks like the highlighted option: ring-2 accent, amber-tinted drop shadow, lg:-translate-y-2 (sits above the others), and a 'MOST POPULAR' ribbon pill. The 1px border swap was invisible. --- src/components/sections/DualValueProps.astro | 26 ++++++++++++++++++-- src/components/sections/HowItWorks.astro | 2 +- src/components/sections/PricingTeaser.astro | 17 ++++++++++--- src/components/sections/WhyUs.astro | 4 +-- 4 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/components/sections/DualValueProps.astro b/src/components/sections/DualValueProps.astro index 8812437..d1d4580 100644 --- a/src/components/sections/DualValueProps.astro +++ b/src/components/sections/DualValueProps.astro @@ -27,8 +27,11 @@ const tiles: Tile[] = [
- {tiles.map((tile) => ( -
+ {tiles.map((tile, i) => ( +

{tile.outcome}

@@ -38,3 +41,22 @@ const tiles: Tile[] = [
+ + diff --git a/src/components/sections/HowItWorks.astro b/src/components/sections/HowItWorks.astro index fb92927..6e8c198 100644 --- a/src/components/sections/HowItWorks.astro +++ b/src/components/sections/HowItWorks.astro @@ -33,7 +33,7 @@ const steps: Step[] = [
    {steps.map((step) => ( -
  1. +
  2. {step.n}

    {step.title}

    {step.body}

    diff --git a/src/components/sections/PricingTeaser.astro b/src/components/sections/PricingTeaser.astro index 220bf0d..d23a65a 100644 --- a/src/components/sections/PricingTeaser.astro +++ b/src/components/sections/PricingTeaser.astro @@ -54,11 +54,22 @@ const tiers: Tier[] = [ See full comparison →

    -
    +
    {tiers.map((tier) => ( -
    +
    + {tier.highlight && ( + + + MOST POPULAR + + )}
    -
    {tier.name.toUpperCase()}
    +
    {tier.name.toUpperCase()}
    {tier.price}

    {tier.sub}

    diff --git a/src/components/sections/WhyUs.astro b/src/components/sections/WhyUs.astro index 4bd521e..68463be 100644 --- a/src/components/sections/WhyUs.astro +++ b/src/components/sections/WhyUs.astro @@ -11,7 +11,7 @@
    -
    +

    Generic APMs do not understand Camel. Cameleer does.

    Most monitoring tools see your app as a Java process and a pile of HTTP calls. Cameleer understands that you are running a Camel app — choices, splits, multicasts, error handlers, and every other EIP pattern as first-class citizens. @@ -20,7 +20,7 @@ So when you ask "why did this exchange fail?", you get an answer, not a log tail. And you can reach back into a running app to replay a message, deep-trace a correlation ID, or toggle recording — observability that does things, not just shows them.

    -
    +

    Built by people who know what 3 AM looks like.

    We spent years building integration monitoring for banks, insurers, and logistics operators — the kind of shops where a stuck exchange at 3 AM means someone's phone is ringing. We know what integration teams actually need then, and what they never use.